当前位置:   article > 正文

两台PMAC之间使用ModbusTcp做主从通讯_pmac725n-h带modbus通讯

pmac725n-h带modbus通讯

服务端配置

服务端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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

连接服务端

ModbusConnect umac1  //(客户端终端输入)连接服务器
  • 1

连接成功画面
在这里插入图片描述
在这里插入图片描述
如果未连接成功,使用ModbusLinuxError 1查看原因

读取线圈

读服务端one变量操作
在这里插入图片描述

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

在这里插入图片描述
读five操作

ModbusCoilRead 1, 24,1,mbarray5(2)
  • 1

在这里插入图片描述

将服务端的five=1
修改后再读five操作

ModbusCoilRead 1, 24,1,mbarray5(2)
  • 1

在这里插入图片描述

写线圈

在这里插入图片描述

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

客户端终端操作

ModbusCoilWrite 1,49,1,mbarray1(0)
  • 1

在这里插入图片描述

浮点数

在这里插入图片描述

服务端终端操作:M10=10
客户端终端操作

ModbusFloatRead 1,16405,1,mbarray1(0)
  • 1

在这里插入图片描述

写浮点数

在这里插入图片描述

客户端终端操作

mbarray1(1)=11
ModbusFloatWrite 1,16405,1,mbarray1(1)
  • 1
  • 2

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/50871
推荐阅读
相关标签
  

闽ICP备14008679号