作者 | 主题 |
---|---|
pingcruise 游士 ![]() 经验值: 226 发帖数: 11 精华帖: 1 |
楼主
![]() 主题:西门子1200与汇川AM401同时做ModbusTCP Server与Client通信 本篇文章的目的在于用实例说明西门子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从站即可 监控结果 |
|
欢迎您来到西门子数字化工业支持中心网站!我们使用cookies来确保您能最好地使用我们的网站,进行网站分析并根据您的兴趣定制内容。我们有时会与第三方共享cookie数据。继续浏览本网站,即表示您同意我们使用cookies。您亦可以参考西门子数据隐私政策以了解更多相关信息。