【网络通信三】研华网关Modbus服务设置

1、前言

最近在使用研华网关进行Modbus的通信试验,试图跟之前研究的Modbus通信库进行相互通信。
企图互通两者的通信,熟悉Advantech EdgeLink Studio的使用等目的。

关键字如下所示:

  • Advantech EdgeLink Studio
  • Modbus Tcp
  • Socket 阻塞和非阻塞
  • IPv4和IPv6区别
    使用到的相关软件和工具:
  • Advanced IP Scanner
  • Modbus Poll
  • Advantech EdgeLink Studio

2、Advantech EdgeLink Studio使用流程

2.1、总体使用流程
工程管理
在线设备导航栏
新建工程
设置数据中心/用户点
设置协议服务/Modbus
从数据中心中添加映射点到Modbus
下载工程
使用Advanced IP Scanner搜索IP
添加设备
设置IP
2.2、重要流程截图

在这里插入图片描述


添加设备

在这里插入图片描述


用户点设置

在这里插入图片描述


modbus服务设置

3、试验流程

3.1、使用Modbus Poll进行连接

在这里插入图片描述


3.1.1、Modbus连接设置

在这里插入图片描述


3.1.2、Modbus数据点读取设置

在这里插入图片描述


3.1.3、Modbus数据点读写结果

3.2、libmodbus自写程序连接研华网关的流程
# 复制克隆该项目,运行脚本生成modbus_poll工具
# clear all exec
if [ ! -d "./bin" ]; then
	mkdir bin
else
    cd bin
    rm -rf ./*
    cd ..
fi

if [ ! -d "./build" ]; then
	mkdir build
fi
cd build
# build client
rm -rf *
cmake -DCMAKE_BUILD_TYPE=Release -DClient=ON ..
make
cd release
cp modbus_poll ../../bin
cd ../../
# 使用工具进行modbus通信
if [ -f bin/modbus_poll ]; then
    cd bin/
    # ./modbus_poll --debug -mtcp -t0x01 -r2 -p502 10.0.1.28
    ./modbus_poll --debug -mtcp -t0x03 -r1 -p502 10.0.1.59 -c4
    cd ../
else
    echo "不存在相应的modbus_poll工具"
fi
3.3、自写程序的通信试验结果
Connecting to 10.0.1.59:502
[00][01][00][00][00][06][01][03][00][01][00][04]
Waiting for a confirmation...
<00><01><00><00><00><0B><01><03><08><00><D6><00><33><00><42><00><00>
SUCCESS: read 4 of elements:
        Data: 0x00d6 0x0033 0x0042 0x0000 

结果说明:

  • "./modbus_poll --debug -mtcp -t0x03 -r1 -p502 10.0.1.59 -c4"命令表示从modbus的1地址开始,读取4个寄存器值,同时显示出来。其中研华网关的ip是10.0.1.59,modbus端口号为502。
  • 这些结果和在Modbus Poll工具中显示的是一致的,说明通信成功无误。

4、遇到的问题及解决方法

4.1、问题1
  • 现象:自写程序modbus_poll无法与研华网关connect成功,显示"Connect time out"的报错;但是Modbus Poll工具却可以进行通信。
  • 原因:没有在研华网关的"系统设置/网络和Internet/网络设置"中设置好相应的IPv4属性
  • 解决方法:设置好相应的IPv4属性信息,可以是如下所示的设置。

在这里插入图片描述


4.1.1、设置好相应的IPv4属性信息

  • 8
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值