|
邀请回答
马上注册,享受更多特权
您需要 登录 才可以下载或查看,没有帐号?立即注册
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
|
上一篇: 中型plc凸轮应用实例下一篇: 分享:梯形、二次方速度曲线的加减速时间计算
|