- Modbus/TCP 通信协议案例
5.1 案例说明
案例功能:使用node-red工具与M160T IO模块通过Modbus/TCP协议通信。基于 node-red 部署程序,实现获取 M160T IO 模块DIN口状态位。
程序流程图如下图所示。

图 60
5.2 案例测试
本案例使用node-red工具与M160T IO模块通信。请通过网线将设备千兆网口与 ETH1、上位机和M160T模块连接至公网,确保可正常访问互联网。

请按下图所示使用网线连接M160T ETHERNET网口,并将电源连接到DC/IN接口。

图 61
5.2.1 获取从机IP地址及端口号
打开" MxxxT_E配置软件V1.5.1_t "软件,执行以下操作查询到M160T设备的IP地址和配置端口号。本次查询到的 IP 地址是 192.168.1.4,端口号配置为502。我司提供的" MxxxT_E配置软件V1.5.1_t "软件位于产品资料" 程序相关\Tools\Windows "目录下。

图 62

图 63
找到并双击M160T设备。

图 64
设备默认密码为1234。

图 65
弹出窗口点击确定。

图 66
点击读取配置选项,获取当前设备信息。

图 67
弹出窗口,点击确定。

图 68
选取网络配置选项。

图 69
获取到当前设备IP地址为192.168.1.4,将监听端口配置为502,连接模式选择Modbus TCP模式。

图 70
点击写入配置选项,将配置信息写入设备。

图 71
弹出窗口,提示数据保存成功。

图 72
点击重启设备,重新载入配置。

图 73

图 74
5.2.2 采集从机数据
设备启动,执行node-red程序,将上位机登录到node-red部署系统。
使用的依赖模块有:" node-red-dashboard "、" node-red-contrib-modbus "。请参考上方"安装依赖模块"步骤安装上相应依赖模块。

图 75
为便于测试,我司提供的经验证的获取天气信息程序为案例" node-red\node_modbus_tcp\ "目录下的 modbus_tcp.json 文件。请参考上方"导入节点文件"步骤导入对应节点文件。
导入文件成功后,双击图中节点,执行以下操作,配置从机IP地址以及端口号。

图 76

图 77
配置IP地址为192.168.1.4,端口号为502。配置完后点击更新按钮。
备注:输入的IP地址为M160T设备所查询地址,端口号为配置端口号。

图 78

图 79
点击右上角部署按钮,启动程序。

图 80
等待M160T设备连接上node-red程序后,link指示灯亮起。
执行以下操作,进入Dashboard面板,再点击图片对应按钮。

图 81

图 82
执行成功后将弹出网页显示M160T设备当前DIN口状态位。

图 83
为了便于测试,将M160T的DIN1和DIN6引脚短接到COM,DIN1和DIN6输入高电平,状态位变为1。
执行完后将看到网页显示M160T设备当前DIN1和DIN6仪表盘高亮,状态位为1。

图 84

图 85