『7x24小时有问必答』
以下是  西门子 S7-1200 与 3 台 S7-200 SMART 实现 Modbus TCP 通信  的完整、详细配置指南。本方案采用:
S7-1200 作为 Modbus TCP 客户端(Client / Master)3 台 S7-200 SMART 作为 Modbus TCP 服务器(Server / Slave)
该方案适用于数据采集、集中监控、分布式 I/O 等工业场景。

---

一、系统网络架构

1.png

二、S7-200 SMART 配置(每台相同,仅 IP 不同)

1. 启用 Modbus TCP Server(使用 Micro/WIN SMART)

步骤:

打开  STEP 7-Micro/WIN SMART
在程序主循环(MAIN)中插入以下逻辑:
2.png

  地址映射说明
Modbus 地址  40001  →  VW100(即 VB100 和 VB101)
40002 → VW102,依此类推。
若需读取 10 个字(20 字节),则占用 VW100 ~ VW118。

2. 设置以太网 IP 地址

进入  “系统块” → “以太网端口”
配置静态 IP:
1:192.168.1.101
2:192.168.1.102
3:192.168.1.103
子网掩码:255.255.255.0
端口固定为 502(不可更改)
每台 S7-200 SMART 最多支持  8 个 Modbus TCP 客户端连接,本方案仅 1 个(S7-1200),完全满足。

---

三、S7-1200 配置(TIA Portal,固件 ≥ V4.0)

S7-1200 使用内置  MB_CLIENT  指令实现 Modbus TCP 客户端功能。

1. 创建连接参数 DB(非优化访问)

新建 DB,命名为  DB_Conn_Params取消“优化的块访问”
定义结构体数组或独立变量:
Conn_Slave1 : TCON_IP_v4;

Conn_Slave2 : TCON_IP_v4;

Conn_Slave3 : TCON_IP_v4;

分别初始化(可在“初始值”列填写):
3.png
  ID  必须唯一(1~16),用于内部连接管理。

---

2. 创建数据缓冲区 DB

新建 DB,如  DB_Modbus_Data(非优化):
4.png

---

3. 编写轮询状态机(推荐在 OB1 或专用 FB 中)

定义控制变量(可在 M 区或专用 DB):

变量
类型
说明
Poll_State
INT
0=空闲, 1=读1, 2=读2, 3=读3
MB_REQ_1/2/3
BOOL
各从站请求触发
MB_BUSY_1/2/3
BOOL
各从站忙标志
MB_DONE_1/2/3
BOOL
各从站完成标志
MB_ERROR_1/2/3
BOOL
错误标志
MB_STATUS_1/2/3
WORD
详细状态码

轮询逻辑(OB1 中):

5.png
6.png

  优势:顺序执行,避免同时请求导致资源冲突。

---

4. 调用三个 MB_CLIENT 指令

在 OB1 中分别调用:

从站1:

7.png

从站2 和 从站3:类似,仅替换连接和数据指针。

---

四、关键注意事项

8.png

五、调试与验证步骤

1. 单独测试每台 S7-200 SMART

使用  Modbus Poll(第三方工具)连接各 IP:502
读取 40001,确认返回值与 V 区一致

2. S7-1200 在线监控

在 TIA Portal 中监控:
MB_BUSY_x 是否短暂置位MB_DONE_x 是否在 100~300ms 内触发DB_Modbus_Data 中数据是否更新

3. 网络连通性

在 S7-1200 的“在线和诊断” → “通信”中查看 TCP 连接状态
用电脑 Ping 各 IP,确保网络通畅

---

六、增强建议(可选)

增加超时保护

为每个请求添加 TON 定时器(如 2s),若超时则强制跳过,防止卡死。
封装为 FB 功能块

将 MB_CLIENT + 连接参数 + 缓冲区封装为可复用 FB,传入 IP 和数据指针,便于扩展到 N 台设备。
写操作支持

若需向 S7-200 SMART 写数据,设置  MODE := 1,并确保目标 V 区未被程序频繁覆盖。
心跳检测

定期读取一个固定寄存器(如 VW0),判断从站是否在线。

---

七、总结

通过  Modbus TCP 协议 + 分时轮询机制,S7-1200 可高效、稳定地与  3 台(甚至更多)S7-200 SMART  通信。此方案:
成本低(无需额外模块)
配置简单(S7-200 SMART 内置 Server)
兼容性强(标准 Modbus TCP)
易于维护和扩展
  最终效果:S7-1200 每秒可完成一轮对 3 台设备的数据采集,满足绝大多数工业控制需求。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码