【转】有关CAN和CANopen的研究笔记*****

CANopen作为一种非常实用的通信协议在工控领域非常实用,相对于RS485的MODBUS协议,该协议有速度快,稳定性好的优点。

1, CAN发送数据时,每次是发一个包,每个包还带一个ID,这点和RS485有差别。

2, CANopen是软件协议,是搭建在CAN硬件之上的协议。

3, CANopen和485的modbus类似,都是是一个主站多个从站的形式。主站一般由PLC或者连接CAN模块的PC实现,从站只要有CAN收发器芯片就可以了。

4, CANopen实现最主要的功能有三个,心跳,SDO和PDO。

1)     心跳:所有的从站都会按一定的节奏发送一个固定格式的心跳包给主站,主站可以设置一个定时检测,如果一定时间内没有接收到心跳就会判断该从站掉线。

2)     SDO:类似MODBUS中的10命令,发送固定格式的CAN数据包,该数据包可以修改其他从站的对象字典(配置参数),从站设备接收到该命令后会有结果返回;

3)     PDO:类似主动上传模式,设置完成后,会按照一定延时自动发送,保证传输成功,该功能属于单向传输。

5, 一些名词的解释

1)     对象字典:其实就是一个配置列表,每个从站和每个主站都有一个对象字典,对象字典里可以配置该设备如何进行心跳、PDO、SDO等操作。也可以实现自定义参数,比如对象字典某个地址存放小数点的点位,主站通过SDO修改这个地址来修改小数点位。

2)     每个从站节点有以下状态:

初始化:上电后对CAN控制器进行初始化

应用层复位:应用程序复位,如开关量模拟量输出的复位

通讯复位:节点的CANopen通讯复位,复位后可以进行CANopen通讯

预操作状态:操作就绪,此时不能进行PDO通信,可以进行SDO参数配置,主站可以进行网络管理

操作状态:CANopen激活,PDO按照对象字典的设置进行传输,SDO也可以传输数据和修改参数

停止状态:主站发送停止状态,PDO通信停止

主站可以通过发送命令让网络中任意一个从站节点进行状态切换。


作者:幻想东方梦
https://www.bilibili.com/read/cv8397860/
出处: bilibili

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值