|
邀请回答
马上注册,享受更多特权
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
CANopen是一个应用层协议,它为应用程序提供了一个统一的接口,使得不同的设备与应用程序之间有统一的访问方式。
CANopen协议有3个主要部分:PDO、SDO和对象字典OD。
(1)PDO过程数据对象,可以理解为在通信过程中,需要周期性、实时传输的数据。
(2)SDO服务数据对象,可以理解为在通信过程中,非周期性传输、实时性要求不高的数据,例如网络配置命令、偶尔要传输的数据等。
(3)OD对象字典。什么是对象字典?对象字典就是很多对象的集合。那么什么又是对象呢?一个对象可以理解为一个参数。假设有一个设备,该设备有很多参数,CANopen通过给每个参数一个编号来区分参数,这个编号就叫做索引(Index),这个索引用一个16bit的数字表示。如果这个参数又包含了很多子参数,那么CANopen又会给这些子参数分别分配一个子索引(SubIndex),用一个8bit的数字来表示。因此一个索引和一个子索引就能明确地标识出一个参数。
一个参数除了具有索引和子索引信息外,还应该有参数的数据类型(如8bit还是16bit,有符号还是无符号)、访问类型(可读的、可写的,还是可读写的)、默认值等。因此一个参数需要有很多属性来描述,所以一个参数也就成了一个对象(object),所有对象的集合就构成了对象字典(object dictionary)。
在一次实际应用中,需要周期性传输的对象,就叫过程数据对象(PDO);非周期性传输的对象,就叫服务数据对象(SDO)。
CiA(CANinAutomation)针对不同种类的设备需要哪些参数做了统一规定。
CiA401:对通用输入输出设备的规定。
CiA402:对驱动和运动控制设备的规定。
CiA403:对人机界面设备的规定。
CiA404:对测量设备和闭环控制器的规定。
CiA406:对编码器设备的规定。
CiA408:对比例阀设备的规定。
用户需要根据自己开发的设备的类型,遵循相应的规定,从而实现不同的对象字典,编写与之对应的XDD文件。————————————————版权声明:本文为CSDN博主「00jackey」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/jickjiang/article/details/83154604
|
上一篇: 添加lin_trafo库的方法下一篇: PLC和DCS系统的集成前景
|