现场总线作为工业自动化系统中的关键通信手段,随着越来越多的传感器和执行机构集成CAN总线等通信接口,其固有的数据格式对应当前复杂的大型系统设计带来了底层数据冲突的问题。如何完美解决这一难题,对于设计者来说至关重要。
一、问题分析
众所周知,在一个CAN网络中,每个节点发出的报文ID都应该是唯一的,以避免当两个节点同时上传数据时产生错误。但实际上,我们经常会发现某些CAN接口的传感器或者设备发送的报文ID是固定的,没有硬件地址区分。例如,一台电机有三条标准帧功能报文,ID分别为0x0001、0x0002、0x0003。在同一个CAN网络中使用多台相同类型的电机既要防止ID冲突,又要识别硬件地址,这是一个挑战。
二、解决方案
为了解决这个问题,可以在每个设备与总线之间加装致远电子的CAN网桥-CANbridge+,利用其高级功能——ID映射,将每台设备的功能ID映射为一个包含地址字段的新ID。这不仅可以防止设备上传报文产生ID冲突错误,还可以通过添加地址字段区分不同的设备。例如,将标准帧ID高8位定义为地址字段,就能通过新生成的_ID区分不同设备上的上行下行报文。
图1:相同CAN ID 设备组网示意图
图2:使用 CAN 网桥实现相同 CAN ID 设备组网
三、设置流程
1.波特率设置:
使用通讯线连接 CANbridge+ 和PC机,然后打开CANCfg软件。在基本信息选项卡里点击 CAN1 和 CAN2 波特率 的下拉菜单,并选择所接入 的各个CAN设备对应波特率,如图3所示。
图3: 设置波特率
2.帧映射设置:
在帧映射选项卡里点击使能帧映射。假设网桥的一端连接了某个具体的事务(如第1号事务),而另一端连接到了整个网络。当你将该事务所有功能IDs关联到它自己的硬件地址后,你就能够在没有任何修改的情况下,将其加入到网络中。这类似于给它打上了标签,使得其他事务知道这是哪个事物,并且不会与之发生混淆或误判。此外,对于其他需要加入此类系统的事物,也必须进行相似的配置操作以确保它们能够安全地共享同一网络资源,而不会因为内存不足而导致性能瓶颈或崩溃,从而保证了整个系统运行效率和稳定性。
图4: 设置帧映射关系
声明:本文章内容转载自互联网,如需删除,请联系作者QQ:2737591964进行协商,不便之处敬请谅解!