关于ModbusTCP/RTU协议转Ethernet/IP(CIP)协议的方案
IGT-DSER智能网关模块支持西门子、倍福(BECKHOFF)、罗克韦尔AB,以及三菱、欧姆龙等各种品牌的PLC之间通讯,支持Ethernet/IP(CIP)、Profinet(S7),以及FINS、MC等工业自动化常用协议,同时也支持PLC与Modbus协议的工业机器人、智能仪表、变频器等设备通讯。网关有多个网口、串口,也可选择WIFI无线通讯。无需PLC内编程开发,只要在IGT-DSER智能网关配置数据的起始地址和数量即可。支持热插拔,断电断网后自恢复运行。
IGT-DSER支持多个品牌的PLC之间多对多通讯,最多8000个字节的数据交互量;网关内每个连接采用独立的线程运行,毫秒级别的数据交互,同样的数据量在同等质量的网络通讯时,数据刷新速度同总线;相关参数在一个页面内配置,方便直观;在调试过程中有详细的状态反馈信息,以及完善的数据监控和通讯错误处理机制。
本文是ModbusTCP和ModbusRTU设备跟罗克韦尔AB的PLC之间Ethernet/IP(CIP)通讯的案例。
首先打开参数设置软件(下载地址)的'功能'->'类型与设备选择'页面,选定'PLC之间实时通讯'的功能,确定后通过'功能'->'网口参数编辑'设置智能网关的IP地址、子网掩码、默认网关等网口参数,然后就可以配置数据通讯的寄存器了。
以下是罗克韦尔(AB)与ModbusTCP设备之间的通讯数据配置,通过参数配置软件的'功能'->'PLC之间通讯'进入如下界面,智能网关的Modbus地址采用区域代码+寄存器地址(从0开始)的地址模式,关于Modbus的地址模型可看这篇文章。
上图可见6个通讯任务:
01:读取ModbusTCP设备的数据到AB的PLC,AB的PLC里面定义了名称为‘ARR_REAL’的32为浮点类型控制器数组,将ModbusTCP设备的400011~400030共20个寄存器40个字节,写入到AB浮点数数组内第4个浮点数据开始的前10个REAL寄存器内。
02:读取AB的PLC数据写入到ModbusTCP设备,AB的PLC里面定义了名称为‘ARR_INT’的16位整形控制器数组,将数组第16个数据开始的10个寄存器,写入到ModbusTCP设备的400001~400010,共20个字节。
03:读取ModbusTCP设备的DI-16(100017)数据,写入到AB的PLC的‘TAG_BOOL’布尔类型的控制器标签,共1个位。
04:读取AB的PLC的程序标签‘MainProgram.TAG0’布尔类型的数据,写入到ModbusTCP设备的DQ-22(000023),共1个位。
05:读取ModbusRTU设备的HR-1000(401001)数据,写入到AB的PLC的‘TAG_DINT’双整型的控制器标签,共4个字节。
06:读取ModbusRTU设备的DQ-101(000101)数据,写入到AB的PLC的‘MainProgram.TBOOL’布尔类型的程序标签,共1个位。
配置完成上述数据交互任务 后下载到网关。重启网关之后,网关根据任务条目,连接 3台 PLC 设备,建立3 个线程循环运行。
三菱、西门子、欧姆龙等PLC都可以这种方式与支持Modbus协议的备快速实现数据交互。网关常配套的PLC类型如下:相关案例
◆ FX: 三菱FX/A系列系列PLC ◆ ABM: 罗克韦尔/AB Micro系列PLC
◆ QLR: 三菱Q/L/R系列PLC(支持标签方式) ◆ ABC: 罗克韦尔/AB Compact/Control系列
◆ OM: 欧姆龙全系列PLC(支持标签方式) ◆ DVP: 台达、信捷全系列PLC
◆ S72S: 西门子S7-200/Smart系列PLC ◆ FTK: 永宏/丰炜全系列PLC
◆ S734: 西门子S7-300/400系列PLC ◆ NAIS: 松下全系列PLC
◆ S71K: 西门子S7-1200/1500系列PLC ◆ KVS: 基恩士全系列PLC
◆ INO: 汇川全系列PLC ◆ LS: LG/LS全系列PLC
◆ MBS: 兼容Modbus协议的PLC、智能仪表 ◆ TPC: 丰田工机PC2/PC3系列
◆ FNC: 发那科数控/机器人的PMC系统 ◆ GE: GE PAC/PLC系统
◆ OPC: OPC UA、OPC DA协议的客户端 ◆ BKF: 倍福PLC CX系列控制器