签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
本篇文章的目的在于用实例说明西门子1200做Server和Client以及AM401做Client和Server相互通信
1200 IP地址 :192.168.1.190
AM401 IP地址 :192.168.1.88
一、 1200做Server AM401做Client
MB_HILD_REG需要用指针型
程序调用比较简单,重点是CONNECT参数的设置
Server做被动连接,ActiveEstablished为0
IP地址这里设置为0.0.0.0 RemotePort 设为0,意味着不指定特定的Client连接,即可以有多个Client的任意端口连接
AM401 Client 设置
AM401做Client需要勾选ModbusTCP主站,即AM401做主站,1200为从站 从站端口设502
然后配置ModbusTCP的数据地址
AM401这里简单设置保持寄存器的0X0000-0X000A为读取1200 Modbus 40001-40010发送的数据
映射到DB数据为DB3.DBW0-DB3.DBW18
AM401 0X0010-0X001A为写入数据并发送到1200 映射到DB数据块为 DB3.DBW32-DB3.DBW50
需要注意的是AM401的地址是0X 即16进制数据
打开主站使能SM3001
监控的结果:
二、 1200做Client AM401做Server
这里只做简单的1200读AM401的10个保持型寄存器,写的类似
这里的MD_DATA_ADDR为了不跟上面的Server冲突把地址放到Modbus地址的40201对应AM401的%MW200,做Client要主动连接,ActiveEstablished要设为True
IP为AM401地址192.168.1.88 端口502
一个容易忽视的地方是ID,因为1200即做Server又做Client这里的ID一定不能跟ServerDB数据块里的ID重复,否则会造成异常,SeverDB的ID设1,ClientDB的ID设为10
AM401做Server设置很简单,只需要再硬件选择ModbusTCP从站即可
监控结果
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1739601&b_id=50&s_id=0&num=10
图文并茂,太赞了!
涨知识了,学习了,感谢
这个确实很不错,有图有真相
谢谢分享。
\
感谢分享。
学习了 感谢分享
感谢图文并茂的详细案例
不错不错有图有真相
不错,以后有项目可以实践下
楼主辛苦了!
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录