工业自动化系统中的CAN总线技术,作为最后一段通讯的桥梁,其固化的数据格式在面对复杂的大型系统时,常常引发底层数据冲突的问题。如何完美解决这一难题,对设计者来说至关重要。
一、问题阐述
众所周知,在一个CAN网络中,每个节点发出的报文ID都应该是独一无二的,以避免ID冲突导致的错误发生。但是,我们经常会发现某些CAN接口上的传感器或者执行机构,它们发送的报文ID往往是固定的,没有硬件地址来区分。例如,一台电机有三条标准帧功能报文,其ID分别为0x0001、0x0002和0x0003。在同一个CAN网络中,如果需要使用多台相同类型的电机,同时又要防止ID冲突并识别硬件地址,这是一个颇具挑战性的问题。
二、解决方案
为了应对这个问题,可以考虑将致远电子生产的一款高级设备——CANbridge+安装在各个设备与总线之间。这款设备拥有强大的ID映射功能,可以将每台设备的功能ID映射为带有地址字段的新ID。这样既能有效防止不同设备上传到网络上的报文产生ID冲突,又可以通过添加的地址字段来区分不同的设备。此外,通过设置高8位作为地址字段,如下图所示,便可实现不同设备上行下行报文间互不干扰:
图1:相同CAN ID 设备组网示例
图2:使用 CAN 网桥实现相同 CAN ID 设备组网
三、操作步骤
1.波特率设置:
使用通信线连接 CANbridge+ 与PC机,并打开CANCfg软件。在基本信息选项卡里选择相应波特率。
图3: CANbridge+ 波特率设置界面
2.帧映射设置:
在帧映射选项卡里使能帧映射,将1号设备所有功能关联到硬件地址上。对于其他连接到 CAN 网络中的装置,也需进行类似的配置以实现同样的效果。
图4: CANbridge+ 帧映射设置界面
声明: 本篇文章系转载内容,如涉及版权纠纷,请及时联系我们删除(QQ:2737591964)。如有侵权行为,请谅解并告知我们,我们将立即采取措施处理此事。