[西门子] S7-1200 Modbus TCP 通信例程

[复制链接]
查看257 | 回复0 | 2024-5-25 08:16:25 | 显示全部楼层 |阅读模式
【导读】该通讯例程采用两台西门子S7-1200CPU,S7-1215C作为客户端,S7-1217C作为服务器。
S7-1200 运动控制实例下载
S7-1500模拟量模块接线图

PLC手动和自动程序编程方法

很实用的西门子常用编程技巧
(一)例程硬件版本和软件环境

(1)S7-1215C V4.2与S7-1217C V4.2
(2)TIA 博途V15SP1组态(二)例程实现功能介绍

(1)S7-1215C作为客户端,S7-1217C作为服务器
(2)S7-1215C读取S7-1217C数据40001~40008并存储到MW100 ~ MW114(3)将S7-1215C的数据MW116 ~ MW130写入到S7-1217C的 40009~40016(三)客户端编程

(1)检查 Modbus TCP 连接状态,连接建立后复位 MB_CLIENT 指令控制位和状态位:
  • MB_CLIENT 背景数据块中静态变量 "Connected" 用于指示 TCP 连接是否建立
  • TCP 连接成功建立后,复位 MB_CLIENT 指令控制位和状态位
  • 触发第一个 MB_CLIENT 指令的 REQ

(2)读取Modbus TCP 服务器数据:读取Modbus TCP 服务器侧 Modbus 地址 40001~40008的数据存储到本地 CPU 的 M 存储区 MW100 ~ MW114

(3)第一个 MB_CLIENT 指令完成位或错误位复位本指令的 REQ 触发位:
  • 第一个 MB_CLIENT 指令的 DONE 或 ERROR 复位本指令的 REQ
  • 同时触发第二个 MB_CLIENT 指令的 REQ

(4)写入Modbus TCP 服务器数据:将本地 CPU 的 M 存储区 MW116 ~  MW130 写入 Modbus TCP 服务器侧 Modbus 地址 40009~40016。

(5)第二个 MB_CLIENT 指令完成位或错误位复位本指令的 REQ 触发位:
  • 第二个 MB_CLIENT 指令的 DONE 或 ERROR 复位本指令的 REQ
  • 同时触发第一个 MB_CLIENT 指令的 REQ

(四)服务端编程

(1)调用 MB_SERVER 指令,使能 Modbus TCP 服务器功能:本例中 MW 100 映射为 40001;MW102 映射为 40002...

(2)读取 Modbus TCP 通信错误代码

(五)本例程下载

链接:https://pan.baidu.com/s/1lU8HS3aKl6VAkrXmPNLvYw
提取码:1111

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则