快速实现PLC的Modbus数据转换为CAN/CAN FD数据?

描述

在现代工业自动化中,经常会有PLC直接控制CAN/CAN FD接口设备的需求,但是一般的小型或中型PLC很少有CAN接口,一般标配的是RS485接口,那该如何解决呢?

PXB-6020是致远电子新推出的一款Modbus to 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接口也可以与CAN FD设备通信的效果。PLC运行为Modbus RTU主站,而PXB-6020协议转换器运行为Modbus RTU从站。

为方便文章说明,PXB-6020的CAN FD接口接入的是一个USBCANFD-200U(USBCANFD接口卡),用户可根据实际需求接入其他CAN/CAN FD设备。


 

plc  硬件接线

  1. PXB-6020的CAN FD接口的CAN_H和CAN_L分别连接到USBCANFD-200U的CAN FD接口的CAN_H和CAN_L;
  2. PXB-6020的RS485接口的A和B分别连接到PLC的RS485接口的A和B;
  3. PXB-6020和PLC的以太网接口使用以太网线连接电脑;
  4. 接上PLC、PXB-6020和USBCANFD-200U的电源。

设备接线示意如图1所示:

plc

图1 设备接线示意图
plc  PXB-6020参数配置接下来打开AWPX Tools软件对PXB-6020进行配置。

1. 配置Modbus参数,将PXB-6020的工作模式配置为Modbus RTU从站,如图2所示。

plc图2 Modbus参数设置2. 配置CAN FD参数,如图3所示。plc图3 CAN FD参数配置3. 配置发送报文参数,如图4所示。plc图4 发送报文配置4. 配置接收报文参数,如图5所示。plc图5 接收报文配置
plc  PLC配置打开STEP 7-Micro/WIN SMART软件,使用该软件对PLC进行软件编程、配置和程序下载。

1. 双击页面左侧的“通信”按钮,在弹出的通信界面点击“查找CPU”,查找到对应的CPU后点击“确定”,如图6所示。

plc图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存储器量的地址。点击并右键界面左侧的“程序块”->“库存储器...”,会弹出如图7所示界面。在弹出的界面选择“建议地址”,再点击“确定”即可。建议地址不能与参数“DatePtr”指向的地址有重合。

plc

图7 库存储器分配

5. 库存储器设置完成后,使用MBUS_CTRL指令与MBUS_MSG组态PLC,使其作为Modbus RTU主站并对PXB-6020进行读写。一个简单的读写PXB-6020的梯形图如图8-10所示,此梯形图程序仅供参考。

plc

图8 梯形图1

plc

图9 梯形图2

plc

图10 梯形图3

6. 以上梯形图实现对Modbus从站保存寄存器的循环读写,读取Modbus从站保持寄存器0地址一个字的数据,并将一个字数据数据写入Modbus从站保持寄存器1地址。


plc  数据转换将以上梯形图下载至PLC后,点击“启动程序监视”按钮后,即可在如图11所示的“状态图表”页面对Modbus从站进行读写操作。plc图11 读写Modbus从站数据1. Modbus数据转换为CAN FD数据

根据图4-5的发送报文和接收报文的配置,在“状态图表”里面的VW12地址写入0x1122,可使PXB-6020发送如图12所示的CAN FD标准帧,可在ZCANPRO软件观测PXB-6020发送的CAN FD标准帧。

plc图12 发送的CAN FD帧2. CAN FD数据转换为Modbus数据

使用USBCANFD-200U设备向PXB-6020发送帧ID为0x02,帧数据段为0x8899的CAN FD标准帧,则在“状态图表”里面的VW10地址可读取到数据0x8899,如图13所示。

plc图13 读取Modbus从站数据

至此,我们成功实现了PLC的Modbus数据与CAN FD数据的双向转换。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分