西门子1200与汇川AM401同时做ModbusTCP Server与Client通信

已锁定

pingcruise

  • 帖子

    11
  • 精华

    1
  • 被关注

    7

论坛等级:游士

注册时间:2014-06-03

普通 普通 如何晋级?

西门子1200与汇川AM401同时做ModbusTCP Server与Client通信

8234

10

2021-12-15 16:02:26

本篇文章的目的在于用实例说明西门子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从站即可



监控结果









西门子1200与汇川AM401同时做ModbusTCP Server与Client通信 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有13008条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。