设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
西门子博图MODBUS TCP通讯指令(3)
返回列表
发新帖
[西门子]
西门子博图MODBUS TCP通讯指令(3)
[复制链接]
241
|
0
|
2024-6-10 17:44:47
|
显示全部楼层
|
阅读模式
>MB_SERVER指令:MODBUS TCP通讯客户端指令。指令格式如下图所示:
“MB_SERVER”指令作为 Modbus TCP 服务器通过 PROFINET 连接进行通信。“MB_SERVER”指令将处理 Modbus TCP 客户端的连接请求、接收并处理 Modbus 请求并发送响应。
S7-1200 固件版本 V4.0 支持“MB_SERVER”指令和最高 V3.1 版本的库。S7-1200 固件版本 V4.1 及更高版本和 S7-1500,支持“MB_SERVER”指令的所有库版本。
可通过 CPU 或 CM/CP 的本地接口建立连接。
使用该指令时,无需其它任何硬件模块。
各个端口参数介绍:
DISCONNECT参数:
“MB_SERVER”指令建立与一个伙伴模块的被动连接。服务器会响应在 CONNECT 参数的 SDT“TCON_IP_v4”中输入的 IP 地址的连接请求。
接受一个连接请求后,可以使用该参数进行控制:
0:在无通信连接时建立被动连接。
1:终止连接初始化。如果已置位该输入,那么不会执行其它操作。成功终止连接后,STATUS 参数将输出值 0003。
MB_HOLD_REG 参数:
MB_HOLD_REG 参数是一个指向数据缓冲区的指针,该缓冲区用于存储从 Modbus 服务器读取或向 Modbus 服务器写入的数据。可使用全局数据块或位存储器 (M) 作为存储区。
数据块 (D) 中地址的最大数量取决于 CPU 的最大数据块大小。
位存储器 (M) 中地址的最大数量取决于 CPU 的最大位存储区。
MB_HOLD_REG 引用的存储区必须大于两个字节。
保持性寄存器中包含 Modbus 客户端通过 Modbus 功能 3(读取)、6(写入)、16(多次写入)和 23(在一个作业中读写)可访问的值。
作为保持性寄存器,可以使用具有优化访问权限的全局数据块,也可以使用位存储器的存储区。
CONNECT 参数:与服务器指令中CONNECT参数用法基本一致。
“MB_SERVER”指令可使用 2 种不同的连接描述:
TCON_IP_v4 结构的设定连接
该连接参数存储在 TCON_IP_v4 结构中,并通过调用指令“MB_SERVER”来建立连接。
通过结构 TCON_Configured 组态的连接(仅限 S7-1500)
CPU 已建立了组态连接。使用 TCON_Configured 结构指定指令使用的现有连接。
具体参数可查询手册。
输出参数:比较简单主要就是指令执行状态,错误代码等。
NDR:
0:无新数据
1:从 Modbus 客户端写入的新数据
DR:
0:未读取数据
1:从 Modbus 客户端读取的数据
ERROR:
指令执行出错时为“1”.
STATUS:出现报警代码时可查手册。
指令的详细状态信息。
在MODBUS TCP通讯时一般MB_CLINET服务器指令和MB_SERVER客户端指令一起使用,有点一个发数据,一个接数据的意思。
通讯指令关键在于实际调试,看的效果不佳,下次分享调试过程。
==END
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
非标自动化
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』