PXF2977-CANopen现场总线

Shanghai Passiontech Tech, 021-51870017, sales@51Lm.cn

     
     
     

CANopen现场总线


型号: PXF2977


简介:CANopen现场总线从设备软件的开发和测试,阐述了测试系统的软硬件结构和测试实例等。CANopen是一种开放的现场总线协议,于1995年,由位于德国的CAN自动化协会(CiA)提出并1 CANopen现场总线和协议制订,目前成为欧洲嵌入式网络的主要标准协议CANopen的通讯结构参考ISO/OSI模型,如图(EN50325-4)。CANopen最初...
品牌 ixxat ixxat
产地德国
型号PXF2977
折扣其他电询

 

CANopen现场总线

 

从设备软件的开发和测试,阐述了测试系统的软硬件结构和测试实例等。 

 CANopen是一种开放的现场总线协议,于1995年,由位于德国的CAN自动化协会(CiA)提出并1 CANopen现场总线和协议制订,目前成为欧洲嵌入式网络的主要标准协议CANopen的通讯结构参考ISO/OSI模型,如图(EN50325-4)。CANopen最初主要用于嵌入式工业1所示,应用层是由CANopen设备协议和通讯协议控制系统,因其协议精练、透明、便于理解,又具等构成;数据链路层和物理层是基于CAN芯片和协有较高的实时性和可靠性、数据传输速率高,组网议,遵守ISO 11898标准。成本低等优点,近年来,在公共交通、楼宇自动化、医疗设备以及海事电子、食品加工、汽车工业等领域获得大量应用[1]。CANopen采用CAN芯片作为物理层和数据链路层的硬件,其协议可以从CiA协会的网站免费下载,控制设备制造商可以自行开发CANopen设备,此时会涉及到产品的协议一致性(Conformance)测试问题,即所开发产品是否完全符合CANopen协议。目前CANopen设备的测试和认证由CiA协会完成,测试价格昂贵,技术交流不方便,因此,有必要研究开发一种具有中国自主知识产权的CANopen从设备协议一致性测试系统。图1 CANopen参考模型本文所研究的CANopen测试系统主要用于支CANopen网络是主从站(Master-Slave)结构,持CANopen从设备的软件开发和测试。同时,也可整个网络只有一个主站。主站控制网络的运行,主以利用系统提供的接口函数,开发出CANopen主站站可以对127个从设备进行控制

制造业自动化

图2 CANopen网络在CANopen通讯协议中,设备之间的通讯是通过交换通讯对象即COB(Communication Object)来实现。如图3所示,这些COB被封装在一个或多个CAN通讯报文中的数据段(Data0.....Data7)中。每个COB带有预先定义的标识符即COB_Identifier。 CANopen协议将CAN标识符ID(ID10.....ID7...ID0)分成Function Code(ID10...ID7)和Node_ID(ID6....ID0)两部分,Function Code部分决定COB的优先级,而Node_ID部分在相同功能的设备间进行区分。

图3 CANopen设备应用层之间的通讯根据CiA制定的标准协议DS301 V4.01 (CANopen application layer and communicationprofile),总共指定了4种通讯对象 [2]:

PDO(Process Data Object):过程数据对象,用于实时传递设备控制参数变量,例如开关量、传感器信号等;
 SDO(Service Data Object):服务数据对象,用于传送组态数据,对设备进行配置;
网络管理对象(Network Management Object):包括节点保护对象和NMT对象,主要用于对设备状态进行管理、控制、及时发现设备故障;
特殊功能对象:同步、应急指示和时间标记对象。同步对象用于为网络提供一个基本的网络时钟;应急指示对象用于提供中断类型的报警信号;时间标记对象用于提供给设备一个参考通用时间帧。

在CANopen协议中,EDS(Electronic DataSheet)文件用于描述设备特征,包括通讯数据格式和通讯对象分类以及设备制造商标识等。一般来说,EDS文件是由设备厂商来提供。对从设备的测试依据是该设备的EDS文件。

2 CANopen从设备协议一致性测试

内容

对一个CANopen从设备协议一致性的测试内容主要如下:

(1)依据设备的EDS文件通过发送和接收SDO通讯对象,测试设备是否符合它所提供的EDS文件,通讯如图4所示;

图4 SDO通讯

    1. 通过发送NMT通讯对象对设备状态进行管理,测试设备是否响应NMT管理,通讯如图5所示。

       

    2. 图5 NMT通讯

  1. 通过发送和接收PDO通讯对象,测试设备是否响应PDO控制,通讯如图6所示,其中控制变量可以是开关量、I/O端口值等;

     

图6 PDO通讯通过对从设备上述内容的测试,确认从设备协议是否符合CANopen协议。 3 系统构成系统软件结构如图7所示。

 


制造业自动化

图7 系统结构图 系统有如下功能模块

  1. 初始化和建网模块。主要对系统网络进行初始化,包括主站的CAN芯片端口地址设置、通讯速率设置以及节点设置。

     

  2. (2) NMT(网络管理)模块。用于节点初始化、预运行、节点启动、节点关闭的测试。本系统采用字符和图标显示设备运行状态。

     

  3. (3) SDO(服务数据对象)模块。用于在预操作状态依据EDS文件对各个节点组态测试。

     

  4. (4) PDO(过程数据对象)模块。用于对节点控制变量实时访问读写,例如:设备的速度、位置、I/O端口以及D/A或A/D转换值等,测试PDO的通讯。

     

  5. 设备状态判断模块。为了及时监视设备状态,在设备没有进行心跳监视时,系统周期性对设备进行节点监视,周期为500毫秒,然后对设备应答的信息和系统存储的设备状态的控制信息比较,来判断设备是否有故障,如有故障则系统显示提示信息,并且设备状态图标改变。

     

  6. 节点心跳和节点监视模块。用于监视各节点状态,设备出现故障则系统显示提示信息,将故障设备复位。

     

  7. 信息处理和显示模块。用于将接收和发送的信息进行处理并显示。

     

  8. (8) EDS编辑模块。用于为设备开发商提供编辑EDS文件的平台。

     

  9. (9) EDS列表模块。用于将EDS文件转换成功能列表。

     

(10) EDS文件导入模块。用于将设备的EDS文

件导入系统中。系统采用Visual Basic 6.0作为用户界面开发的

平台,采用Windows图形界面,操作方便,采用树型的拓扑结构管理被测试设备。驱动程序采用VisualC++作为开发平台,将驱动程序封装成DLL形式,便于整个系统的扩展和升级,用户可以根据实际应用来调用系统提供的函数。

4 测试实例

作者以德国Frenzel+berg 公司开发的I/O设备C0411A-FL作为测试对象进行测试,对所开发的软件进行调试和验证。

设备如下:

主站:飞利浦公司标准CAN芯片sja1000。

从站:C0411A-FL,遵守CANopen通讯协议,用于汽车和工业场合,适合在复杂的I/O系统中作为传感器的接口。

测试系统结构如图8所示,测试界面如图9所示。

图8 测试系统结构

图9 测试界面测试实例证明作者所开发的CANopen现场总线从设备协议一致性测试系统,操作方便、运行可靠,具有较强的开放性和通用性,有助于国内CANopen设备的开发和应用,具有广阔的应用前景。

 


url: http://www.51lm.cn/p/templates/cn/show.php?cid=0&aid=2977

 

电话400-878-1895, 传真:021-51561359 邮箱:sales@51LM.cn
sales@51LM.cn 上海徐汇区斜土路2601号嘉汇广场T1-11B