程序员开发实例大全宝库

网站首页 > 编程文章 正文

【畅学技术】全网都在找 S7-200 SMART Modbus TCP 客户端编程实现秘籍

zazugpt 2025-05-02 14:43:36 编程文章 15 ℃ 0 评论

1 Modbus TCP通信概述

Modbus TCP 是通过工业以太网 TCP/IP 网络传输的 Modbus 通信。S7-200 SMART 采用客户端-服务器方法,Modbus 客户端设备通过该方法发起与 Modbus 服务器设备的 TCP/IP 连接。

建立连接后,客户端向服务器发出请求,服务器将响应客户端的请求。客户端可请求从服务器读取数据,或将一定数量的数据写入服务器。如果请求有效,则服务器将响应该请求;如果请求无效,则服务器回复错误消息。

S7-200 SMART 支持做 Modbus TCP 的客户端和服务器,可以实现 PLC 之间通信,也可以实现与支持此通信协议的第三方设备通信。通信伙伴数量比较多的时候,可以使用交换机,扩展以太网接口。

我们还在文末为大家整理了相关的学习资料,包括手册下载、通信故障诊断、常见问题汇总等等,请大家注意看到最后进行查收哦~

1.1Modbus TCP 客户端寻址

Modbus 地址为五到六位数,包含了数据类型和地址值。不同的Modbus地址通过不同的功能码来读取或者写入,Modbus 地址定义如下:

  • 00001 至 09999 是离散量输出(线圈)
  • 10001 至 19999 是离散量输入(触点)
  • 30001 至 39999 是输入寄存器(通常是模拟量输入)
  • 40001 至 49999 和 400001 至 465535 是保持寄存器

所有 Modbus 地址均从xxxx1 (或者xxxxx1)开始,也就是说第一个数据值从地址xxxx1开始。有效地址的实际范围取决于服务器设备。不同的设备支持不同的数据类型和地址范围。

1.2Modbus TCP 客户端读取和写入功能

Modbus TCP 客户端指令使用 Modbus 地址读取或写入Modbus数据,相应的服务器必须要支持对应的功能码,如表1所示。


表1 Modbus数据区地址与服务器

需要支持的功能码对照表

1.3 Modbus 消息长度

S7-200 SMART CPU 支持的 Modbus 消息为每条最多 240 个字节(1920 位或 120 个寄存器)的数据。某些服务器支持的数据数可能少于 240 个字节。

1.3 Modbus TCP 库

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

图1.Modbus TCP库指令

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


2 Modbus TCP客户端编程

2.1调用Modbus TCP 客户端指令 MBUS_CLIENT

程序执行周期每次扫描都必须调用 MBUS_CLIENT。MBUS_CLIENT 可建立客户端-服务器连接、发送 Modbus 功能请求、接收服务器响应。

图2.调用客户端指令


2.2 库储存器分配

Modbus TCP Client 指令库需要一个662个字节的全局 V 存储区,需要在库存储器命令中为该模块分配起始地址。

操作步骤:

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

图3.点击库存储器

b.在弹出的选项卡中设置库存储区,确保库存储区与程序中其他已使用的地址不冲突。使用建议地址无法确定是否有地址重叠,所以推荐手动输入正确的库存储区首地址。如图4所示:

图4. 库存储器地址分配

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表