赞
踩
服务端IP:192.168.0.201

在global definitions.pmh文件开启Modbus服务,并设置几个用于线圈测试的变量

创建一个PLC程序modbus地址的转换请看这篇

Modbus poll软件连接画面

客户端IP:192.168.0.200
在global definitions.pmh文件写配置代码
#define umac1 1
//开启服务
Sys.ModbusServerEnable = 1
//定义端口及超时
Modbus[umac1].Config.ServerPort = 0 // (defaults to Modbus port 502)
Modbus[umac1].Config.ConnectTimeOut = 6000 // 0, defaults to OS timeout, minimum = 5200 msec timeout)
Modbus[umac1].Config.SendRecvTimeOut = 0 // 0, defaults to 6300 msec timeout 5 of 6 Retransmissions)
//设置需要连接的IP
Modbus[umac1].Config.ServerIpAddr[0]=192
Modbus[umac1].Config.ServerIpAddr[1]=168
Modbus[umac1].Config.ServerIpAddr[2]=0
Modbus[umac1].Config.ServerIpAddr[3]=201
//新建一个数组,用来存放读取到的值
global mbarray5(10)
ModbusConnect umac1 //(客户端终端输入)连接服务器
连接成功画面


如果未连接成功,使用ModbusLinuxError 1查看原因
读服务端one变量操作

ModbusCoilRead 1, 0,1,mbarray5(0) //客户端终端操作

读five操作
ModbusCoilRead 1, 24,1,mbarray5(2)

将服务端的five=1
修改后再读five操作
ModbusCoilRead 1, 24,1,mbarray5(2)


在客户端新建一个变量global mbarray1(2)
并在终端赋值global mbarray1(0)=1
在服务端新建变量global seven
在plc中添加call ReadModbusBit(50,&seven);
客户端终端操作
ModbusCoilWrite 1,49,1,mbarray1(0)


服务端终端操作:M10=10
客户端终端操作
ModbusFloatRead 1,16405,1,mbarray1(0)


客户端终端操作
mbarray1(1)=11
ModbusFloatWrite 1,16405,1,mbarray1(1)

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。