在工业自动化系统中,现场总线作为最后一段通讯的桥梁,越来越多地集成了CAN总线等通讯接口。然而,这些固化的数据格式常常给设计者带来底层数据冲突的困扰。如何完美解决这一难题,对于构建复杂的大型系统至关重要。
一、问题分析
众所周知,在一个CAN网络中,每个节点发出的报文ID必须是唯一的,以避免ID冲突导致的错误。但是,我们经常会发现某些CAN接口上的传感器或执行机构,其报文ID是固定的,没有硬件地址区分。例如,一台电机有三条标准帧功能报文,分别为0x0001、0x0002和0x0003。在同一个CAN网络中使用多台相同类型的电机既要防止ID冲突,又要识别硬件地址,这是一个挑战。
二、解决方案
为了解决这个问题,可以在每个设备与总线之间加装致远电子生产的一款特殊设备——CANbridge+。它具有强大的ID映射功能,可以将每台设备的功能ID映射为一个带有地址字段的新ID。这不仅可以防止不同设备上传数据时产生ID冲突,也可以通过添加的地址字段区分不同的设备。此方法如图所示,将标准帧中的高8位定义为地址字段,从而通过ID区分不同设备。
三、设置步骤
1.波特率配置
首先,将通信线连接到PC机和CANbridge+上,然后打开CANCfg软件。在基本信息选项卡里,为两端口(即连接到各个设备和网络的一端)选择相应波特率。
2.帧映射设置
在帧映射选项卡里,使能帧映射,并添加以下规则:将1号设备所有功能IDs关联上硬件地址。一旦设置完成,就可以实现对其他连接到的网桥进行类似的操作,以便组网使用相同IDSs但具备硬件标识性的各类設備。