查看: 2912|回复: 12
收起左侧

[应用问题] 西门子1200与汇川AM401同时做ModbusTCP Server与Client通信

pingcruise 2021-12-15 15:52:09 | 显示全部楼层 |阅读模式
邀请回答

马上注册,享受更多特权

您需要 登录 才可以下载或查看,没有帐号?立即注册   

x
本篇文章的目的在于用实例说明西门子1200做Server和Client以及AM401做Client和Server相互通信

1200       IP地址 :192.168.1.190

AM401    IP地址 :192.168.1.88

一、 1200做Server  AM401做Client






2.jpg

MB_HILD_REG需要用指针型

程序调用比较简单,重点是CONNECT参数的设置

Server做被动连接,ActiveEstablished为0

IP地址这里设置为0.0.0.0 RemotePort 设为0,意味着不指定特定的Client连接,即可以有多个Client的任意端口连接



AM401 Client 设置

AM401做Client需要勾选ModbusTCP主站,即AM401做主站,1200为从站 从站端口设502

3.jpg



4.jpg



然后配置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

7-1.jpg







监控的结果:

6.jpg



二、 1200做Client AM401做Server

这里只做简单的1200读AM401的10个保持型寄存器,写的类似

7.jpg



8.jpg



这里的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从站即可



9.jpg



监控结果

10.jpg





点评

不错不错  发表于 2023-7-16 23:14




上一篇:中型plc凸轮应用实例
下一篇:分享:梯形、二次方速度曲线的加减速时间计算

已有 0 人打赏作者

回复 邀请回答送花

使用道具 举报

pingcruise 2021-12-16 08:55:13 | 显示全部楼层

在西门子论坛首发,复制过来显示不了图片,请参考 以下网址:
https://www.ad.siemens.com.cn/cl ... 50&a_id=1739601
回复 送花

使用道具 举报

bidohao 2022-8-31 13:02:40 | 显示全部楼层
正好用到,已经试验过,多谢楼主
回复 送花

使用道具 举报

LiyuLi 2022-9-1 09:15:54 | 显示全部楼层
感谢分享,内容丰富
回复 送花

使用道具 举报

zhudaxian 2022-10-24 14:09:50 | 显示全部楼层
感谢分享,不错的好资料!!!
回复 送花

使用道具 举报

zhudaxian 2022-11-10 10:27:11 | 显示全部楼层
汇川AM400600与西门子S7-12001500通信
回复 送花

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册   

本版积分规则

有技术问题,就上汇川技术社区

INOVANCE汇川技术 公众号

扫码下载掌上汇川APP

全国服务热线:8:30-17:30

4000-300124

苏州地址:江苏省苏州市吴中区越溪友翔路16号

深圳地址:深圳市龙华新区观澜街道高新技术产业园汇川技术总部大厦

Copyright © 2003-2100 汇川技术 Powered by Discuz! X3.4 ( 苏ICP备12002088号 )
快速回复 返回列表 返回顶部