概述
CAN通讯一般用的不多,相比于Modbus通讯不是特别常见,但也会用到,下面介绍一下CAN通讯,主要用U90军用PLC演示一下具体的数据传输过程。想更具体的了解的话,可以自行上网学习,此处大致介绍演示。
目录
概述
一、CAN通讯说明
二、硬件介绍
1、PLC
2、CAN卡
编辑三、程序
1、初始化
2、发送程序
3、接收程序
结语
一、CAN通讯说明
CAN通讯和Modbus通讯是两种不同的工业通信协议,它们在多个方面存在区别:
1. 通信速度:
• CAN总线的最高速率可达1Mbps,而Modbus的最高速率只有19.2Kbps。因此,CAN总线的数据传输速度比Modbus要快得多。
2. 安全性:
• CAN总线提供的安全性较低,因为它不支持加密或认证功能,而Modbus支持加密和认证功能,可以更好地保护系统数据的安全性。
3. 成本:
• CAN总线的成本要低于Modbus,因为它可以使用标准的接口,可以节省接口设计和安装成本。
4. 通信方式:
• Modbus通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。其他设备(从设备)根据主设备查询提供的数据作出相应反应。而CAN总线允许多个控制模块通过CAN控制器挂到CAN-bus上,形成多主机局部网络。
5. 错误检测机制:
• Modbus协议具有良好的错误检测和纠正功能,可以有效提高系统的可靠性。Modbus有两种传输模式:ASCII和RTU。ASCII模式使用纵向冗长检测(LRC),而RTU模式使用循环冗长检测(CRC)。CAN总线则具有可靠的错误处理和检错机制,发送的信息遭到破坏后,可自动重发。
6. 网络特性:
• Modbus是单主网络,而CAN总线是多主网络。
7. 容错机制:
• CAN总线具有容错机制,节点在错误严重的情况下具有自动退出总线的功能。
8. 通讯距离:
• CAN总线的通讯距离可达10km(5kbps),而Modbus的通讯距离通常较短。
9. 网络调试和维护:
• CAN总线的网络调试非常容易,后期维护成本较低。Modbus的网络调试较困难,后期维护成本较高。
10. 应用领域:
• CAN总线适用于大规模系统、高可靠性和实时性要求较高的场景,而Modbus协议则适用于小型系统或需要精确控制的环境。
二、硬件介绍
主站使用U90-M24DR军用PLC,从站使用电脑模拟,USB转CAN模块(CAN盒)使用品牌为南京来可电子,接线方式为PLC的CAN_H(49)和CAN_L(51)分别接CAN卡的CAN_H和CAN_L。
需要注意的是,CAN卡有时需要接终端电阻,另外硬件接线接反也会有数据,只不过数据是错误的。
1、PLC
PLC具体参数如下
端子定义如下
2、CAN卡
端子定义
2:CAN_L
3:CAN_GND
7: CAN_H
三、程序
发送速率250k,发送与接收
1、初始化
初始化程序如下
2、发送程序
发送程序如下
将0100置1,数据如下,
(1)使用上升沿发送时
(2)去掉上升沿发送时,
3、接收程序
程序及数据(接收程序需添加上升沿使用),CAN通讯使用过程,部分伺服电机厂家协议会有心跳包。
结语
需要注意的是如果伺服电机协议中使用了心跳包,从站未收到心跳时,不会返回数据;通信线缆接反时,可以收到数据,但是数据是错误的。
CAN通讯常会以CANOpen使用,具体的使用方法参考具体的伺服电机相关协议 ,此处不多赘述。