智能网关IGT-DSER方便实现多台PLC与数据库之间的数据通讯,既可以读取PLC的数据上报到数据库,也可以从数据库查询数据后写入到PLC的寄存器,还可以将数据库的数据转为Modbus服务端/从站,实现数据库内的数据也可以走Modbus协议通过网口或串口读写。
本文是将数据库的数据转为Modbus服务端/从站,实现数据库内的数据也可以走Modbus协议通过网口或串口读写的案例,下图是通过智能网关的参数软件(下载地址)配置的参数:
上图中的配置共分3组,‘IP/站号/组’相同的号码即为同一组。
第1、2组查询‘plcdata’、‘plcdata2’两个表,每个表查询3个数据,通过‘查询结果’将数据更新到智能网关的Modbus缓存区域,同时将查询执行状态通过‘$RDSS()’方法写入到Modbus缓存(状态大于0时正常执行查询),上位机通过Modbus协议即可读取到数据库的数据以及查询结果。
第3组是从智能网关的Modbus缓存区域读取数据后更新到数据库,同时将查询执行状态通过‘$RDSS()’方法写入到Modbus缓存(状态大于0时正常执行上报),上位机通过Modbus协议即可插入或者更新数据到数据库。
将上图配置写入到智能网关, 重启之后即可用Modbus poll测试了,以下是智能网关的网络参数和测试截图:
以下是智能网关的串口参数和串口通讯测试截图:
第3组写入到数据库的数据,通过Modbus poll写入数据后,用navicat查看数据库的数据,如下图:
智能也支持作为Mobus主站,读取Modbus从站/服务端的数据后,插入或者更新到数据库,也可以查询数据库的数据后写入到从站/服务端,具体可看这篇文章。