型号: PXF2977
从设备软件的开发和测试,阐述了测试系统的软硬件结构和测试实例等。
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]:
在CANopen协议中,EDS(Electronic DataSheet)文件用于描述设备特征,包括通讯数据格式和通讯对象分类以及设备制造商标识等。一般来说,EDS文件是由设备厂商来提供。对从设备的测试依据是该设备的EDS文件。
2 CANopen从设备协议一致性测试
对一个CANopen从设备协议一致性的测试内容主要如下:
(1)依据设备的EDS文件通过发送和接收SDO通讯对象,测试设备是否符合它所提供的EDS文件,通讯如图4所示;
图4 SDO通讯
图5 NMT通讯
图6 PDO通讯通过对从设备上述内容的测试,确认从设备协议是否符合CANopen协议。 3 系统构成系统软件结构如图7所示。
制造业自动化
图7 系统结构图 系统有如下功能模块:
(10) EDS文件导入模块。用于将设备的EDS文
件导入系统中。系统采用Visual Basic 6.0作为用户界面开发的
平台,采用Windows图形界面,操作方便,采用树型的拓扑结构管理被测试设备。驱动程序采用VisualC++作为开发平台,将驱动程序封装成DLL形式,便于整个系统的扩展和升级,用户可以根据实际应用来调用系统提供的函数。
作者以德国Frenzel+berg 公司开发的I/O设备C0411A-FL作为测试对象进行测试,对所开发的软件进行调试和验证。
设备如下:
●主站:飞利浦公司标准CAN芯片sja1000。
●从站:C0411A-FL,遵守CANopen通讯协议,用于汽车和工业场合,适合在复杂的I/O系统中作为传感器的接口。
测试系统结构如图8所示,测试界面如图9所示。
图8 测试系统结构
图9 测试界面测试实例证明作者所开发的CANopen现场总线从设备协议一致性测试系统,操作方便、运行可靠,具有较强的开放性和通用性,有助于国内CANopen设备的开发和应用,具有广阔的应用前景。