西门子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中的数组会随之变化;说明通讯成功了。

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

相关推荐
吴建旭 智宅焕11 小时前
智能家居全国交付中执行端能力跃迁的架构设计:从标准装调到交付专家的系统化路径
网络·网络协议·智能家居
Eyfcom14 小时前
〖全球化架构 05〗跨国网络专线优化:QUIC 协议与 SD-WAN 在跨境传输中的实战
网络·架构·跨境物流快递系统·全球化架构
Dream Cosmos15 小时前
传输层协议之UDP
网络·网络协议·udp
鸿蒙开发爱好者19 小时前
下班后做的小工具和小游戏,我把它们整理成了 WyanHub
网络·人工智能·职场和发展·个人开发
乐橙开放平台19 小时前
海康和大华摄像头能统一管理吗?可以通过 GB28181 或视频融合平台接入
网络·后端·物联网·音视频
张小姐的猫20 小时前
【基于 WebSocket 的多用户网页五子棋】—— 项目结构设计与实用工具类模块
网络·websocket·网络协议
QXWZ_IA21 小时前
测绘单位采购RTK:设备价格、账号年费、售后,用时间轴分权重
网络·人工智能·安全
IT大白鼠1 天前
GitLab 未认证 RCE 应急实战CVE-2026-97229(CVSS 10.0)
网络·安全·gitlab
陈希1231 天前
Linux 网络诊断工具实战:ping、curl、tcpdump、mtr、dig 用法详解
linux·网络·tcpdump
草莓熊Lotso1 天前
【C++ 基于微服务的即时通讯系统】文件存储子服务实战:UUID生成、文件IO封装与全接口单元测试
开发语言·网络·数据库·c++·微服务·架构·单元测试