西门子modbus Tcp通讯并进行仿真(从站)

目录

1、PLC设置

2、命令使用

3、参数设置

1、MB-HOLD-REG

2、CONNECT

1、interfaceID

2、ID

3、RemoteAddress

4、LocalPort

4、仿真通讯


1、PLC设置

首先进行PLC的设置,我们打开"设备组态"。如下图:

然后找到"防护与安全"中的连接机制并勾选允许来自远程对象的PUT/GET通讯访问

不勾选使用命令会导致报错。

2、命令使用

首先我们在指令------通讯------其他------MODBUS TCP------MB_SERVER找到指令。

将其拖出会弹出并在弹出的调用选项弹窗选择确定。

这样我们的OB块上就有了下图命令,选择这个命令按下F1我们可以看到这个命令的帮助。

以下为modbus Tcp通讯的管脚需要设置的参数。

这里需要着重看下面标蓝的参数,了解与设置好这些参数就能进行modbus Tcp通讯了。

3、参数设置

1、MB-HOLD-REG

首先我们设置MB-HOLD-REG参数。

它允许位寄存器(M)和数据块(D)大于2位字节 的数据,其中数据块(D) 需要关掉优化数据块。建议创建一个在数据块(D)中的数组方便进行数据管理。

2、CONNECT

然后我们设置CONNECT参数。

1、interfaceID

这里要设置的是本地接口的硬件标识符 ,也就是PLC是和外部通讯时使用的端口所用的标识符

我们可以在设备组态 ------点击PLC图标上的网口------系统常量中找到端口所用的标识符。

如下图:

2、ID

这里要设置modbus Tcp通讯的站号必须是一个唯一的一个数值

3、RemoteAddress

这里是设置modbus Tcp通讯的IP地址,这里有两种设置方式:1、设置你要连接通讯伙伴的地址;

2、设置为0.0.0.0可以和所有可以连接的通讯伙伴进行连接。

4、LocalPort

这里是设置modbus Tcp通讯的端口号 ,建立通讯连接需要两者端口号对应。

以上就是关于参数的设置了。

4、仿真通讯

PLC的程序与参数设置如下: (进行仿真通讯需要有实体PLC)

主程序

网口参数

注:因为仿真软件没有实际地址,在仿真通讯时无法指定通讯伙伴。

数据指针

Modbus poll仿真工具设置如下:

点击connection------connection seup设置如下

这里的IP地址要和PLC的地址两者的端口号都要相同:

可以在设备组态------以太网地址中查看

端口号为命令中设置的端口号。

勾选Read/Write Enabled。

通讯成功如下图:

改变仿真软件上的数值,plc中的数组会随之变化;说明通讯成功了。

以上就是本篇博客的全部内容了。

相关推荐
长谷深风11120 小时前
HTTP请求全过程解析【个人八股】
网络·网络协议·http·多线程下载·tcp 连接·请求报文、响应报文·网络请求流程
xhbh66620 小时前
MC端口映射完全教程:路由器虚拟服务器配置+防火墙放行+内网穿透备用方案
运维·服务器·网络·网络协议·tcp/ip·智能路由器·流量端口转发
code monkey.20 小时前
【Linux之旅】Linux 网络基础全解析:从协议分层到 Socket 编程,构建高性能网络服务的底层基石
linux·网络·php
艾莉丝努力练剑20 小时前
【Linux网络】Linux 网络编程:HTTP(四)从手写服务器到生产级 Nginx 与 cpp-httplib 实战
linux·运维·服务器·网络·c++·nginx·http
Ether IC Verifier20 小时前
TCP拥塞控制详解
网络·网络协议·tcp/ip·计算机网络·dpu
切糕师学AI20 小时前
计算机网络层次结构详解:从OSI七层模型到TCP/IP四层模型
网络·tcp/ip·计算机网络
咖喱o20 小时前
IPv6
服务器·前端·网络
IpdataCloud20 小时前
IP查询工具怎么选?在线API vs IP离线库:精度、速度、成本、隐私全对比
服务器·网络·数据库
艾莉丝努力练剑20 小时前
【Linux网络】Linux 网络编程:HTTP(三)HTTP 协议原理
linux·运维·服务器·网络·c++·http
Gauss松鼠会20 小时前
GaussDB(DWS) 资源监控Topsql
java·网络·数据库·算法·oracle·性能优化·gaussdb