Modbus TCP 西门子PLC指令以太口地址配置以及 Poll Slave调试软件地址配置

1前言

本篇文章讲了 Modbus TCP通讯中的一些以太网端口配置和遇到的一些问题,

都是肝货自己测试的QAQ。

2西门子 SERVER 指令

该指令是让外界设备主动连接此PLC被动连接,

所以这里应该填 外界设备的IP地址。

这边 我因为是电脑的Modbus Poll 主机来进行通讯的所以填的是电脑的IP地址,

我这边电脑IP是192.168.0.100

如果是连接的实物就应该填写实物主机的IP地址。

主机地址假设是192.168.0.2 那就是192.168.0.2。

而Modbus Poll中的地址是从机地址192.168.0.1就是现在我实物连接的PLC的地址。

如果设置都没问题的话就连接上了。

如果出现 Modbus Poll出现Write Error的报错可能是PLC中SERVER指令的地址和电脑的不一致导致的。

如果SERVER指令中报错16#80A4可能是SERVER指令的地址和PLC的地址冲突了

(自己和自己的地址冲突了)。CLIENT同理

修改完SERVER指令记得重新RUN一下。

3西门子 CLIENT 指令

该指令是让此PLC主动连接外界设备被动连接,所以调试软件要用Modbus Slave。

指令用法和软件操作就不过多解释了。

这边因为是PLC主动连接从机,而我的从机是Modbus Slave,

所以地址是我的电脑IP:192.168.0.100

Modbus Slave上的地址设置的就有点绕了,

之前 PLC指令和Poll设置的都是 通讯的对象设置的是对面的地址。

而Modbus Slave上的地址是设置的自己当前从机的地址,

也就是我电脑的IP地址:192.168.0.100

下面勾选的是无视ID号,

这边我暂时搞清楚CLIENT指令和Slave的关系所以就不做解释了以免误解,

(可能是因为虚拟Slave的ID和PLC指令ID好像匹配不上,导致PLC无法与多个Slave的ID通讯,

忽略ID能收到值但是是广播,不勾选能建立连接但收不到值 ID对不上)(请无视此条)

我这边必须勾选不然连接不上QAQ

然后设置没问题的话就通讯上了。

3.1发送

我这边CLIENT中的MODE设的是1

就是PLC通过这个模块发送数据给从机,从机接收数据。

如图:

3.2接收

我这边CLIENT中的MODE设的是0

就是从机发送数据给PLC,PLC模块接收数据。

注意!!!

CLIENT指令是建立连接主从中的主机指令

和数据传输的发送接收关系不一样,一个是建立连接还有一个是进行收发数据

这边不要搞混

如图:

这边我们看到

5号和6号地址的值并没有写入到PLC中,

这是因为PLC中的DATA_LEN只接收5个地址(Slave 0-4开始)

因为PLC是从1开始算的所以每次给Slave的地址要多加一位。

如指令中:

从PIR"M2000"中的ADDR"1"开始(为什么是40001具体可以看这篇文章)

西门子PLC中Modbus通讯DATA_ADDR通讯起始地址设置以及RTU轮询程序设计。-CSDN博客

也就是 M2000开始读取LEN"5"位数据,

所以后面几位数据PLC不接收。

这边扯远了,讲到CLIENT指令用法中去了不过没事。

4结语

以上就是西门子PLC Modbus TCP通讯地址的配置了,

本篇文章为个人学习总结,如有不足请及时支持,多多包涵QwQ.

觉得有用的话就点个赞吧ღ( ´・ᴗ・` )。

相关推荐
老友@12 分钟前
Kafka 全面解析
服务器·分布式·后端·kafka
斯~内克31 分钟前
鸿蒙网络通信全解析:从网络状态订阅到高效请求实践
网络·php·harmonyos
傻啦嘿哟1 小时前
HTTP代理:网页加速的隐形引擎
网络·网络协议·http
傻啦嘿哟1 小时前
开发者视角:应用程序中HTTP代理的集成指南
网络·网络协议·http
爱写代码的小朋友1 小时前
IP 地址规划中的子网划分:/18 网络容纳 64 个 C 段(/24)的原理与应用解析
网络·网络协议·tcp/ip
十五年专注C++开发2 小时前
WebSocket原理详解(二)
网络·websocket·网络协议
阳区欠2 小时前
【Linux】进程通信
linux·运维·服务器·共享内存·进程通信·system v·管道文件
may_一一3 小时前
终端SSH连接工具SecureCRT安装和连接Linux
运维·服务器·ssh
蜗牛沐雨3 小时前
MCP协议的Streamable HTTP:革新数据传输的未来
网络·网络协议·http
厦门德仔3 小时前
【C#】C#字符串拼接的6种方式及其性能分析对比
服务器·windows·c#