当前位置:首页 > PLC > 正文内容

S7-200 SMART Modbus TCP 客户端指令

oozj5年前 (2019-07-11)PLC6733

S7-200 SMART Modbus TCP 客户端指令

STEP7-Micro/WIN SMART 从V2.4 版本开始,软件中直接集成 Modbus TCP 库指令,无需单独安装或者购买。安装软件后,Modbus TCP 指令位于 STEP7-Micro/WIN SMART 项目树中“指令”文件夹的“库”文件夹中。如图1.Modbus TCP库指令所示。

指令分为客户端和服务器两种,目前指令版本为 V1.0。客户端指令会占用开放式用户通信资源主动连接,最多8个;服务器指令会占用开放式用户通信资源的被动连接资源,最多也是8个。

S7-200 SMART Modbus TCP 客户端指令 PLC 第1张

图1.Modbus TCP库指令

实验环境及通信任务

下面以两台S7-200 SMART 之间进行Modbus TCP 通信为例,详细阐述客户端与服务器侧如何编程及通信的过程。具体的实验环境见表1.;通信任务见表2:

表1.实验环境

操作系统

WIN7 SP1 专业版 64位
编程软件
STEP7-Micro/WIN SMART V2.4版本
硬件

SR60:6ES7288-1SR60-0AA0 固件:V2.4 版本

ST20:6ES7288-1ST20-0AA0 固件:V2.4版本

交换机:CSM 127 6GK7 277-1AA10-0AA0

表2.通信任务

硬件通信角色IP地址端口号读/写数据区域
SR60客户端192.168.0.600VB20-VB31
ST20服务器192.168.0.20502响应VB0-VB11

客户端侧指令编程

1、系统块中设置客户端的IP地址,以确保IP地址设置无误。此步骤为可选,如果确定IP地址设置无误,可忽略此步骤。设置方法如图2.所示。

S7-200 SMART Modbus TCP 客户端指令 PLC 第2张

图2.系统块设置IP地址

2、鼠标点击 MAIN 主程序的程序段1的编程区域,从库文件夹下找到 Modbus TCP 客户端指令 MBUS_CLIENT,鼠标双击,指令出现在程序段1中,操作如图3.所示。

S7-200 SMART Modbus TCP 客户端指令 PLC 第3张

图3.添加客户端指令

3、填写客户端指令参数,如图4.所示。

S7-200 SMART Modbus TCP 客户端指令 PLC 第4张

图4.填写客户端参数

程序块具体参数详细解释介绍见表3.

参数及类型数据类型说明
ReqINBOOL
=1:表示向服务器发送Modbus 请求
ConnectINBOOL

=1:尝试与分配的IP地址及端口号建立连接;

=0:尝试断开已经建立的连接,忽略Req的任何请求

IPAddr1-4INBYTE
填写 Modbus TCP 服务器的IP地址IPAddr1-4为高到低字节
IP_PortINBYTE
填写Modbus TCP 服务器的端口号
RWINBYTE
指定操作模式 =0:读;=1写
AddrINDWORD
要进行读写的参数的 Modbus 起始地址
CountININT

要进行读写的参数数据长度;

数字量输入/输出Count=1表示1 bit,最大1920位

对于模拟量输入和保持寄存器,最大 Count 值为 120 字。

DataPtrIN_OUTDWORD
数据寄存器地址指针,指向本地用于读/写操作的数据地址区域的首地址
DoneOUTBOOL

TRUE:以下任一条件时为真:客户端已与服务器建立连接;客户端已与服务器断开连接;客户端已接收 Modbus 响应;发生错误

FALSE:客户端正忙于建立连接或等待来自服务器的 Modbus 响应。

ErrorOUTBOOL
出现错误,仅一个周期有效

4、鼠标选中程序块文件夹,单击右键,下拉菜单中选择库存储器,如图5.所示。

S7-200 SMART Modbus TCP 客户端指令 PLC 第5张

图5.点击库存储器

5、在库存储区分配对话框中手动输入存储区的起始地址。此实例为VB5000开始,以使指令库可以正常工作。确保库存储区与程序中其他已使用的地址不冲突。使用建议地址无法确定是否有地址重叠,所以推荐手动输入正确的库存储区首地址。如图6.所示。

S7-200 SMART Modbus TCP 客户端指令 PLC 第6张

图6.库存储区地址分配

6、编译项目,下载程序。

通信测试结果

将M0.0置位为1,然后在状态图表中创建变量,VW20-VW30 共6个字,监视值如图7.所示。

S7-200 SMART Modbus TCP 客户端指令 PLC 第7张

图7.读取服务器数据

关于Modbus地址与CPU中数据区域地址对应关系说明

S7-200 SMART 做 Modbus TCP 通信,可以支持的功能码及功能描述及所占用的地址区,如表4.所示。客户端会主动的发送请求,服务器响应。在通信指令填写参数中没有直接填写功能码,而是通过多个参数填写共同确定功能码的。

表4.功能码概况说明

功能码(十进制)功能描述RWAddrCountCPU地址
01
读数字量输出 位
0

00001-09999

1-1920 位

Q0.0-1151.7
02
读数字量输入 位
0

10001-19999

1-1920 位

I0.0-1151.7
03
读寄存器 字
0

40001-49999

400001-465535

1-120 字

V区
04
读模拟量输入 字
0

30001-39999

1-120 字

AIW0-AIW110
05

写数字量输出 单个位

1

00001-09999

1位
Q0.0-Q1151.7
06
写寄存器 单个字
1

40001-49999

400001-465535

1个字
V区
15
写数字量输出 多个位
1

00001-09999

1-1920 位

Q0.0-1151.7
16
写寄存器 多个字
1

40001-49999

400001-465535

1-120 字

V区

举例:

和Modbus TCP服务器交换数据参数支持功能码:03,在客户端指令中设置两个参数确定03功能码:

RW=0:确定读取数据,(筛选出可能会使用的功能码:01,02,03,04),

Addr:40001-49999/400001-465535,表示交换数据为寄存器类型的数据。


扫描二维码推送至手机访问。

版权声明:本文由千城笔记发布,如需转载请注明出处。

本文链接:https://oozj.org/24.html

分享给朋友:

相关文章

顺序控制(SCR)指令

顺序控制(SCR)指令

顺序控制(SCR)指令顺序控制指令的功能是是按照控制工艺将一个复杂的步骤分割成几个简单的步骤(即顺控段),并根据工艺步骤顺序执行这些顺控段。 普通的PLC程序是从头到尾不断扫描执行的。SCR...

步进(顺序)控制程序的主要特定和注意事项

步进(顺序)控制程序的主要特定和注意事项

步进程序急停与恢复的解决方案这里提供了一个实例,说明了步进(顺序)控制程序的主要特定和注意事项,提供了一个停止和恢复顺控程序功能的解决方案。功能描述系统要求循环执行步进程序,程序启动后,按编制的顺序执...

Modbus RTU tcp 主从站 客户端服务端例程

Modbus RTU tcp 主从站 客户端服务端例程

Modbus RTU 主站例程为了更好地理解 Modbus TCP 客户端的编程,可参考下面的例程。 注意: 1. 该例程使用 STEP 7-Micro/WIN SMART V2....

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。