+86-1478258894512522120
葩星12522120 淘宝旺旺passiontechinc

pt@ptinfous.com

+86-14782588945

  加载中,请稍候...
浏览历史

 


基于-CANopen协议的主节点通讯实现

关键词:


简介:基于 CANopen协议的主节点通讯实现摘要 :在对CAN2.0协议和CANopen协议研究分析的基础上 ,构建了基于CANopen协议的数据结构 ,应用该数据结构实现了国内的基于CAN2.0协议的USB-CAN适配器和国外的基于CAN open协议的控制器间的通讯控制。并通过构建的实验平台和基于该数据结构编制的软件测试了二者的通讯性能。...
品 牌 ixxat ixxat
产 地 德国
型 号 PXF3001
折 扣 其他电询
咨询专家:

黄工-工业总线-工业自动化-实时仿真

黄工-工业总线-工业自动化-实时仿真 ID:2937

   机电电子工程专业硕士,机械设计制造及其自动化/计算机双学士,高级工程师

    具有丰富的从业、管理经验,曾在机电工程公司,资深设计代理公司工作。历任组织、经理等岗位,同时具有深厚的理论基础和项目项目研发经历。...

[MORE]

赵工-总线系统-嵌入式系统-工业自动化

赵工-总线系统-嵌入式系统-工业自动化 ID:2940

    机械电子工程,嵌入式系统专家,高级工程师

    嵌入式项目开发,ARM,Freescale,Infilion等系列单片机系统开发,DSP嵌入式系统开发,FPGA系统开发,项目经验丰富。


...

[MORE]

产品说明:

CANOpen协议的主节点通讯实现

要 :在对 CAN2.0协议和 CANOpen协议研究分析的基础上 ,构建了基于 CANOpen协议的数据结构 ,应用该数据结构实现了国内的基于 CAN2.0协议的USB-CAN适配器和国外的基于 CAN open协议的控制器间的通讯控制。并通过构建的实验平台和基于该数据结构编制的软件测试了二者的通讯性能。关键词 : CAN总线 CANOpen议 ;主节点 ;通讯测试中图分类号 : TP271文献标识码 :B

CAN总线由于具有实时性和可靠性高 ,组网成本低等优点,近年来 ,在汽车工业、楼宇自动化、工厂自动化、机器人控制等领域得到大量应用。国内大多数的 CAN总线应用系统仍然是基于 CAN2.0协议开发的 ,一些研究机构从国外引进了一些基于 CANOpen协议的产品 ,这些产品在和上位机相连组成网络控制系统时 ,需要一块上位机和 CAN总线相连的适配器。但是,国外的基于 CANOpen协议的产品往往仅提供动态链接库支持某些知名大公司的 CAN适配器。这样不仅增加了经济成本 ,而且不利于国内 CAN网络产品的发展。在应用过程中 ,笔者选用了国外的基于 CANOpen协议的控制器和国内某公司生产的价格较便宜的 USB-CAN适配器 ,由于该控制器仅提供动态链接库支持德国 ixxat公司的 CAN适配器。这样就只能遵循 CANOpen协议从底层实现通讯和控制。

CANOpen协议简

CiA (CAN in Automation)组织在 1995年发布了完整版 CANOpen协议 ,不久它就得到了广泛应用 ,成为了全欧洲最重要的嵌入式网络标准。 CANOpen协议是基于 CAN串行总线系统和应用层 CAL的高层协议 ,以通讯规范 DS-301为基础 ,还为可编程系统、不同器件、接口等设备定义了大量的行规 (DSP-4××)。

CANOpen协议对象字典是 CANOpen设备的重要组成部分,定义了设备参数、各个通讯参数 ,描述了设备的全部应用对象。通过对对象字典的访问可以得到各节点的状态 ,确定网络的通信模式 ,选择相应的网络管理。对象字典是一个预先确定的,可通过网络访问的有序的对象组 ,每个对象采用一个 16

邓遵义 :助教硕士基金项目 :河南省科技攻关项目 :中央空调风道清洁机器人系统研究 (0624260024)颁发部门 :河南省科技厅 的索引值来寻址 ,为了允许访问数据结构中的单个元素 ,同时定义了一个 8位的子索引。

CANOpen协议规定有 4类通讯对象 ,分别是服务数据对象 (SDO)、过程数据对象 (PDO)、网络管理 (NMT)和特殊功能对象。SDO通过访问对象字典 ,对通讯和控制参数进行配置 ;PDO用于传输实时数据 ;NMT用于网络中的主节点对从节点的监控和管理 ;特殊功能对象包括同步对象 (SYNC)、时间标识对象 (Time Stamp)、紧急对象 (Emergency),用于配合以上 3类对象进行通讯和网络管理。

CANOpen通讯对象报文格

2.1服务数据对象 (SD0)

SDO必需的传送有机制有两种 :(1)分段传送 :如果数据大于 4个字节 ,就必须采用分段的方式传输 ,发送 SDO的第一个报文后 ,其余的每个段中都包含7个字节的数据。 (2)加速传送 :如果传输的数据小于或等于 4个字节 ,可以采用加速传送方式 ,数据可以在开始的一个报文里直接完成。两种传送机制的 SDO报文的数据帧格式如图 1和图 2所示 :

2.2过程数据对象 (PDO)

PDO报文有发送 -PDO和接收 -PDO两种形式 ,分别用于读取和写入实时控制参数 ,PDO报文传输的数据不能大于 8个字节。用接收 -PDO向从节点写数据和通过远程帧用发送 -PDO从从节点读数据时 ,报文格式如图 3和图 4所示 :

嵌入式网络技术应用

3于 canopen协议的数据结构

在组建的 CAN网络中 ,USB-CAN适配器和 PC机一起作为主节点 ,基于 CANOpen协议的控制器作为从节点。为了从底层实现主从节点间的通讯 ,在对CAN2.0协议和 CANOpen协议的各类通讯对象深入研究分析的基础上 ,构建出了直接适用于 CANOpen协议的通讯对象的数据结构 ,包括 SDO数据结构、PDO数据结构、NMT数据结构和紧急对象数据结构。SDO和 NMT数据结构如下所示 ,其它的数据结构因篇幅所限 ,不再一一赘述。新构建的数据结构可用于所有的基于 CAN2.0的 CAN适配器和遵循 CANOpen协议的产品间的通讯。

typedefstruct _vci_SDO_OBJ { UINTCOB-ID; USHORTIndex; BYTE SubIndex; BYTE SDOCommandSpecifier; BYTE Data[4]; BYTE Reserved[3];

}VCI_SDO_OBJ,*PVCI_SDO_OBJ;参数说明 : COB-ID通讯对象标识 ; Index对象字典中数据对象的索引 ; SubIndex对象字典中数据对象的子索引 ;SDOCommandSpecifier SDO命令字 ,代表该帧是发送帧 ,

还是接收帧 ;是正常分段发送 ,还是加速发送 ;以及发送数据的

长度。 Data报文发送的数据 ; Reserved系统保留 ;

typedefstruct_VCI_NMT_OBJ { UINTCOB-ID; BYTE NMTCommandSpecifier; BYTE Data[1]; BYTE Reserved[3]; }VCI_PDO_OBJ,*PVCI_ NMT_OBJ; 参数说明 : COB-ID通讯对象标识 ,NMT报文 COB-ID=0。 NMTCommandSpecifier NMT命令字 ,代表 NMT服务类型。 Data[1]报文发送的数据 ,代表节点号。Reserved系统保留 ;

CANOpen通讯实现和测

4.1测试实验平台

为了测试新构建的基于 CANOpen协议的数据结构能否实现基于 CAN2.0的 CAN适配器和遵循 CANOpen协议设备间的通讯功能 ,建立了一个由 PC机、USB-CAN适配器和基于 CANOpen协议的国外某公司的控制器组成的测试实验系统 ,如图 7所示 :

4.2测试软件实现

在 Visual C++6.0环境下 ,利用新构建的基于 canopen协议的数据结构和 USB-CAN适配器自带的动态链接库函数来完成通讯测试软件编制。软件设计采用模块化设计 ,由初始化模块、通讯模块、错误处理和通讯数据显示模块组成。初始化模块包括对 USB-CAN适配器的验收码、屏蔽码、滤波方式、定时周期等参数进行初始化 ,程序流程如图 8所示 ;通讯模块实现通讯报文的发送和接收 ;错误处理模块对通讯过程中出现的错误进行处理 ;通讯数据显示模块把总线上发送和接收的数据显示出来。

4.3通讯实验

对 CAN主节点和基于 canopen协议的控制器间的通讯测试实验主要包括如下内容 :

*依据控制器的对象字典 ,通过发送和接收 SDO报文 ,测

试 SDO报文。测试内容包括 CAN主节点通过 SDO报文访问控 (下转第 55)

嵌入式系统应用

VMC向外设传送的指令由一个地址字节、一些可选的数据字节与一个校验和字节构成。发送指令后 ,外设应答 VMC的通信块可以由一个数据块和一个字节组成 ,或者一个应答字节 ,或者一个无应答字节。如果外设应答数据块的话 ,VMC将通过一个应答字节、无应答字节或重发字节应答外设传回的数据。

5控制模块的设计

控制模块由以下四个部分组成 :

  1. 预设售货价格系统。自动售货机售出的同类商品可分若干品种 ,其售前设定价格须预先贮存在控制系统内。售货机的价格设置系统由按键和存储器组成。通过按键选择被设价商品的种类及价格 ,并将价格写入存贮器 ,该存储器本身具有掉电保护功能。

     

  2. 金额累计、可售指示和退币系统。控制系统的核心 CPU对识币、退币、无货检测及购货信号进行巡回检查 ,当有识币信号后 ,将金额数值送入金额累计存储器中进行累计 ,并通过串行扩展口进行显示 ,同时将金额累计存储器中的数值与预设价格存储器中的数值进行比较 ,如金额累计数值等于或大于预设价格数值 ,则通过串行接口使可售指示灯亮 ,提示购货。此时可按下购货按钮 ,由 CPU检测到购货信号后 ,如金额累计存储器中数值与预设价格相等 ,则通过并行扩展接口驱动电磁阀或微电机驱动出商品 ,并将金额累计存储器清零 ,完成一次售货过程;如累计金额大于预设价格时 ,驱动商品后 ,相减差额由信号驱动退币 ,实现售货和退币找零功能。

     

  3. 售完检测系统。在自动售货机商品贮存存道下方按照有接触行程开关 ,当贮存道内有商品时 ,压下行程开关 ,售货机正常工作 ;当商品出售完毕时 ,行程开关被释放 ,向 CPU发出无货信号 ,经检测通过串行扩展接口向相应的售完指示灯发出信号,使机身外部 “售完 ”指示灯亮 ,此种商品自动停售。

     

  4. 售出累计及自测功能系统。该机 CPU在每次售出商品后 ,向售出累计存储器中累计售出数据 ,通过售货机内部的按键可在金额显示窗中读到累计结果。此外 ,在按下自测功能键后,出现自测功能信号 ,由外部按键操作 ,可检测各商品存储道的驱动商品功能。
CAN主节点通过发送 NMT通讯对象对控制器状态进行管理 ,测试其是否响应 NMT管理 ,包括启动和停止设备、通讯复位和设备复位等内容。
*通过发送和接收
PDO通讯对象 ,测试控制器是否响应 PDO控制 ,是否能够传输实时数据 ,其中控制变量是 I/O端口值、传感器值等。

通过对 CAN总线主节点和控制器间的通讯测试 ,证明构建的基于 CANOpen协议的数据结构能够成功地完成国内的基于 CAN2.0协议的 USB-CAN适配器和国外的基于 CAN open协议的控制器间的通讯 ,并且通讯效果稳定可靠。


canopenvciixxat
参数资料:
基于-CANopen协议的主节点通讯实现
该文章系原厂商文章翻译,不通之处请参考原文
价格列表: 基于-CANopen协议的主节点通讯实现
葩星订货号 订货号 产品名称 报价 品牌  
PXO_2725400W,CABLE 3M400W,CABLE 3M233~298etherrt
相关产品: 基于-CANopen协议的主节点通讯实现
  咨询历史: