在现代工业控制中,我们时常会遇到原本都是Modbus IO要接入CANopen IO的情况。两种不同的通信协议,我们该如何实现对接呢?
PXB-6021是致远电子新推出的一款Modbus to CANopen协议转换器。具有1路CAN,1路百兆以太网和1路RS485。该产品支持Modbus RTU及Modbus TCP,可以实现Modbus主站到CANopen从站的数据转换。PXB-6021最大支持12组TPDO和12组RPDO,同时支持EDS下发和自定义的PDO和Modbus的数据映射,具有转换快、设置简单、使用灵活等特点。
接下来我们将使用PXB-6021协议转换器实现Modbus IO与CANopen IO的通信对接。
原理简介
Modbus IO模块通过PXB-6021协议转换器接入CANopen网络,使得通过CANopen协议也能对Modbus IO模块进行读写操作。PXB-6021协议转换器与Modbus IO模块组合成一个有机的整体,实现CANopen IO模块的功能,然后使用USBCAN-E-P CANopen主站卡控制组合后的“CANopen IO模块”。
准备条件
USBCAN-E-P CANopen主站卡 和上位机软件 CANManager for CANopen;
PXB-6021协议转换器和配置软件AWPX Tools;
一路继电器型Modbus IO模块;
杜邦线若干,USB线1根,网线1根,终端电阻120Ω1个;
12V电源。
硬件接线
设备接线如图1所示:
PXB-6021协议转换器通过以太网线连接至PC,USBCAN-E-P CANopen主站卡通过USB线连接至PC;
USBCAN-E-P CANopen主站卡的CAN_H和CAN_L连接PXB-6021的CAN接口上的CAN_H和CAN_L;
PXB-6021的RS485接口上的A、B分别连接到Modbus IO模块的A、B端子。
图1 设备接线图
PXB-6021参数配置
打开PXB-6021的配置软件AWPX Tools,点击搜索设备,选中搜索到的PXB-6021设备。
根据Modbus IO模块的数据手册,Modbus IO模块使用的波特率为9600,数据长度为8,校验位None,停止位1位。根据以上参数对PXB-6021的Modbus参数进行配置,如图2所示。
图2 Modbus参数配置
接下来需要配置PXB-6021的CANopen参数,如图3所示。
图3 CANopen参数配置
查阅Modbus IO模块的数据手册可知,Modbus IO模块作为Modbus从站设备,需要通过操作Modbus IO模块的线圈寄存器来进行模块的IO控制,在0地址的线圈寄存器写入0xFF00代表打开继电器,写入0x0000代表关闭继电器,并且Modbus IO模块的设备地址为255。
根据以上信息,对RPDO参数进行设置:RPDO索引为0,操作单元为BIT,字节偏移量为0,位偏移量为0,Modbus从站ID为255,Modbus类型为线圈状态,Modbus地址为0。即PXB-6021接收到的RPDO1的第1个字节的第1位为1为时,Modbus IO模块将打开继电器。否则,Modbus IO模块将关闭继电器。RPDO参数设置如图4所示。
图4 RPDO参数配置
CANManager for CANopen软件配置
CANManager for CANopen软件是CANopen主站管理软件,可控制和管理CANopen主站设备,并且可在此软件进行CANopen主站设备与CANopen从站设备的数据交互。
首先打开CANManager for CANopen软件,导入PXB-6021协议转换器的EDS文件,如图5所示。
图5 导入EDS
然后,点击“启动”按钮,再点击“搜索”按钮,搜索CANopen从站,出现如图6所示的搜索界面。成功连接后,USBCAN-E-P CANopen主站卡即可与PXB-6021协议转换器进行数据交互。
图6 搜索从站
Modbus IO模块的控制
勾选RPDO1的自加一,并且勾选自动发送,如图7所示。
图7 输出RPDO
勾选设置完成后,USBCAN-E-P CANopen主站卡周期发送的RPDO1的第1个字节的第1位数据将周期性变为0或1,达到周期性控制Modbus IO模块继电器的开闭效果,同时也能看到继电器的指示灯周期闪烁,如图8所示。
图8 效果演示
到这里, Modbus IO模块通过PXB-6021协议转换器成功接入了CANopen网络,并且PXB-6021协议转换器与Modbus IO模块组成“CANopen IO模块”,实现了CANopen IO模块的功能,大大提高了Modbus IO设备使用的灵活性,为Modbus IO设备的使用提供了一个新的选择。
全部0条评论
快来发表一下你的评论吧 !