现代工业自动化中,经常需要PLC直接控制CAN/CAN FD接口设备。但一般中小型PLC很少有CAN接口。一般标准配置为RS485接口。那么如何解决这个问题呢?
PXB-6020是致远电子推出的一款新型Modbus转CAN FD协议转换器。具有1个CAN FD接口、1个100M以太网接口、1个RS485接口。该产品可支持Modbus RTU和Modbus TCP,可作为Modbus主站或Modbus从站。 PXB-6020支持多达128组CAN/CAN FD报文发送和128组白名单接收,并支持所有类型的Modbus寄存器。同时,还可以定制发送数据的方式,毫秒级转换,简单灵活。广泛应用于PLC外扩CAN/CAN FD等场合。
接下来我们将使用PXB-6020协议转换器将西门子S7-200 SMART(以下简称:PLC)的Modbus数据快速转换为CAN FD数据,使PLC的RS485接口也能与PLC进行通信。 CANFD设备。 PLC作为Modbus RTU主站运行,PXB-6020协议转换器作为Modbus RTU从站运行。
为了方便本文的描述,PXB-6020的CAN FD接口连接到USBCANFD-200U(USBCANFD接口卡)。用户可以根据实际需要连接其他CAN/CAN FD设备。
硬件接线
PXB-6020的CAN FD接口的CAN_H和CAN_L分别连接到USBCANFD-200U的CAN FD接口的CAN_H和CAN_L; PXB-6020的RS485接口A、B分别连接PLC的RS485接口A、B; PXB-使用以太网线将6020和PLC的以太网接口与电脑连接;连接PLC、PXB-6020和USBCANFD-200U的电源。设备接线图如图1所示:
图1 设备接线图
PXB-6020 参数配置接下来,打开AWPX Tools 软件来配置PXB-6020。
1、配置Modbus参数,将PXB-6020的工作模式配置为Modbus RTU Slave,如图2所示。
图2 Modbus 参数设置2. 配置CAN FD 参数,如图3。 图3 CANFD 参数配置3. 配置发送报文参数,如图4。 图4 发送报文配置4. 配置接收参数消息,如图5所示。 图5 接收消息配置
PLC配置打开STEP 7-Micro/WIN SMART软件,使用该软件对PLC进行编程、组态和下载程序。
1、双击页面左侧的“通讯”按钮,在弹出的通讯界面中点击“查找CPU”,找到对应的CPU后点击“确定”,如图6所示。
图6 查找CPU
2、使用页面左侧“命令”->“库”->“Modbus RTU Master (V2.0)”下的“MBUS_CTRL”和“MBUS_MSG”指令使PLC作为Modbus RTU主站运行站实现Modbus RTU从站的读写。
3. MBUS_CTRL 指令用于初始化主站。每次扫描时必须调用MBUS_CTRL指令,否则Modbus主站协议将无法正常工作。 MBUS_MSG指令用于向Modbus从站发起读或写请求。
4、Modbus RTU Master(V2.0)命令库需要286字节的全局V内存,因此需要指定库可以使用的V内存的地址。单击并右键单击界面左侧的“Program Block”->“Library Memory.”,弹出如图7所示界面。在弹出的界面中选择“建议地址”,然后单击“确定”。建议该地址不能与参数“DatePtr”指向的地址重叠。
图7 库内存分配
5. 库内存设置完成后,使用MBUS_CTRL指令和MBUS_MSG配置PLC作为Modbus RTU主站,对PXB-6020进行读写。读写PXB-6020 的简单梯形图如图8-10 所示。此梯形图程序仅供参考。
图8 梯形图1
图9 梯形图2
图10 梯形图3
6、以上梯形图实现了Modbus从站保存寄存器的循环读写,在Modbus从站保持寄存器0地址处读取1个字数据,向Modbus从站保持寄存器1地址写入1个字数据。
数据转换将上述梯形图下载到PLC 后,点击“开始程序监控”按钮,即可在“状态图”页面读写Modbus 从站,如图11 所示。 图11 读写Modbus 从站数据1.将Modbus数据转换为CAN FD数据
根据图4-5 发送报文和接收报文的配置,将0x1122 写入“状态图”中的VW12 地址,即可让PXB-6020 发送如图12 所示的CAN FD 标准帧,可用于ZCANPRO 软件观察PXB-6020 发送的CAN FD 标准帧。
图12 CANFD帧发送2. CAN FD数据转换为Modbus数据
使用USBCANFD-200U设备向PXB-6020发送帧ID为0x02、帧数据段为0x8899的CAN FD标准帧。然后就可以从“状态图”中的VW10地址读取数据0x8899,如图13所示。
图13 读取Modbus从站数据
至此,我们已经成功实现了PLC的Modbus数据与CAN FD数据的双向转换。