PLC作为Modbus TCP客户端

目录

1. 所需软件

2. 配置过程

2.1 PLC梯形图

2.2 Modbus Slave配置

3. 试验结果


1. 所需软件

SMART 200软件、Modbus Slave(实现Modbus从站模拟)

2. 配置过程

2.1 PLC梯形图

由于本案例将PLC作为Modbus TCP客户端,即发送查询指令的一方,因此,PLC需要使用Modbus客户端库,电脑使用Modbus Slave作为服务器端(可理解为从站)发送查询指令。

PLC作为Modbus TCP客户端

图1  Modbus TCP Client库

PLC作为Modbus TCP客户端

图2  Modbus TCP Client 库地址分配

IPAddr1——IPAddr4为服务器IP地址;

IP_Port为服务器端口;

RW为分配请求类型(读取或写入),其中 0 = 读取,1 = 写入;

Addr为Modbus 起始地址:分配要通过 MBUS_CLIENT 进行访问的数据的起始地址;

Count为Modbus 数据长度:此请求中要访问的位或保持寄存器的数量;

DataPtr指向 Modbus 数据寄存器的指针:DataPtr 指向与读取或写入请求关联的数据的 V 存储位置。对于读取请求,此位置是存储从 Modbus 服务器读取的数据的第一个存储位置。对于写入请求,此位置是要写入 Modbus 服务器的数据的第一个存储位置。

2.2 Modbus Slave配置

需按照离散输入寄存器、线圈寄存器、保持寄存器、输入寄存器分别设置寄存器及其地址信息。如图3所示,如果不指定服务器地址,需要勾选Ignore Unit ID。否则,可设置从机号,或者在PLC的符号表中找到Client的mModbusUnitID,更改所需查询的从机号。

PLC作为Modbus TCP客户端

图3 Modbus Slave配置页面

3. 试验结果

该案例,通过对PLC保持寄存器的数值进行更改,状态表中对VB20进行监控,可以看到数值已经产生了变化。

PLC作为Modbus TCP客户端

图4 试验结果

当RW为1,Addr为1,Count为7时,Slave设置为01,则可以控制服务器端的Q区;

当RW为0,Addr为1,Count为7时,Slave设置为01,则可以读取服务器端的Q区;类似的控制如下图所示。

PLC作为Modbus TCP客户端

 

上一篇:(一)Modbus 简明介绍


下一篇:物联网网关设备