赞
踩
简述:此文中,PLC/控制器作为Modbus TCP主站(客户端),PC端使用NModbus4库创建Modbus TCP从站(服务器),PLC/控制器主动连接到PC端,双方可互相读写定义好的保持寄存区;
文章分一下几个点:
1.PLC/控制器添加设备。
2.设备的通讯配置。
3.Modbus TCP主站的IO通道和映射。
4.通讯测试。
按照下图步骤添加设备。
以下为创建完成后的设备树。
需要在连接控制器/PLC的前提下,双击【Ethernet】设备,【通用】->【Browse..】,选择控制器/PLC的端口,如下所示,本例中端口的IP地址为192.168.1.101。
双击【Modbus_TCP_Master】设备,选择【通用】->勾选【自动重连】,勾选后将在断线后自动重连从站(服务器)。
双击【Modbus_TCP_Slave】设备,选择【通用】->
1.从站IP地址:远程从站(服务器)的IP地址 。
2.端口:远程从站(服务器)的端口号。
添加从站通道(通讯配置),选择【Modbus从站通道】->【添加通道】,可以添加多条通讯配置。本例中,循环读取地址为【16#0000】的【10】个字,循环写入地址为【16#000A】的【10】个字。如下图所示。
以下为点击【添加通道】后,弹出的配置窗口,解析:
1.【访问类型】:为功能码选择。
2.【触发器】:可选择循环或上升沿等触发方式。
3.【偏移】:读/写的Modbus地址。
4.【长度】:读/写的数据长度(单位为字)。
新建全局变量表【ModbusTCPClient】,分别创建数组【TCPClient_读回字】和【TCPClient_写入字】,用于后面的Modbus 从站IO映射。
旋转【Modbus TCP Slave I/O映射】 ,在右侧变量中选择上图中新建的变量。
其中:
【TCPClient_读回字】用于接收服务器地址【0】开始的【10】个字数据。
【TCPClient_写入字】用于存储写入到服务器地址【10】开始的【10】个字数据。
如下图所示。
至此,通讯参数的配置,通讯通道的设置已完成。
用网线连接PC端和PLC/控制器端,打开PC端的测试软件,创建Modbus TCP从站(服务器),连接成功后,
测试PC端写入,控制器/PLC端读取功能:
【Value】选择【5】,点击【写1~10】,软件将向地址0开始的10个字写入数据,数据为【Value】乘以【地址+1】,如:地址0的数据为5,地址1的数据为10...如此类推,可监控右侧【TCPClient_读回字】分别为5,10,15...,符合预期。
测试 控制器/PLC端写入,PC端读取功能:
点击PC端软件【读10~20】,将读取地址10开始的10个字,可观察到PC端软件框中显示的数据为100,200,300,400,500,600,与右侧【TCPClient_写入字】的数据对应。
以下为控制器/PLC端的给【TCPClient_写入字】 的赋值。
至此,Codesys标准库之Modbus TCP Master(客户端)与PC端的通讯测试完成。
后面将更新PC端NModbus4库的简单应用示例。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。