![2bac1b6a-25e7-11ee-962d-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/9E/D3/wKgaomToD76AcqAyAAABH5UOQQI500.jpg)
![2bdede6a-25e7-11ee-962d-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/9E/D3/wKgaomToD76AYdxPAAABH5UOQQI253.jpg)
本章内容,主要使用modbus_master_in、modbus_parse_in、fscript、log、push、tcp_server_ex节点。用户在进行阅读之前,需具备一定基础的AWFlow Designer开发经验。若刚开始接触,可阅读以下文章,进行基础知识的学习。
-
EsDAMPC-ZC1入门(一)——软件安装
-
EsDAMPC-ZC1入门(二)——LED控制
-
EsDAEPC6450-AWI进阶(协议转换)——ModbusTCP转TCPClient
![2bdede6a-25e7-11ee-962d-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/9E/D3/wKgaomToD76AYdxPAAABH5UOQQI253.jpg)
图2
2.USB转TTL类型串口设备
图3
3.温湿度变送器(Modbus RTU协议,RS485接口)
图5
![2bdede6a-25e7-11ee-962d-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/9E/D3/wKgaomToD76AYdxPAAABH5UOQQI253.jpg)
![2fba6608-25e7-11ee-962d-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/9E/D3/wKgaomToD7-AMf8SAAIj9nTSXio561.jpg)
![2bdede6a-25e7-11ee-962d-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/9E/D3/wKgaomToD76AYdxPAAABH5UOQQI253.jpg)
![30102a84-25e7-11ee-962d-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9E/D3/wKgaomToD7-AEw0cAAFsFc987tI964.png)
1. 本流图节点列表
- modbus_master_in节点,该节点负责读取从机的相关寄存器地址中的数据。
- modbus_parse_in节点,该节点负责解析modbus_master_in获取的数据,将数据转化成对应类型的数值数组。
- fscript节点,该节点主要负责对modbus_parse_in节点所生成的数值数组进行提取,并格式化输出对应的温湿度数据。
- log节点,该节点主要负责把接收到的fscript节点输出的数据,显示于串口与调试口。
- push节点,该节点主要负责将接收到的fscript节点输出的数据,传送至tcp_server_ex节点。
- tcp_server_ex节点,该节点主要负责将得到的push节点数据,转发给PC上位机上的TCP客户端。
通过RS485接口与Modbus RTU协议读取温湿度变送器的数据,对该数据进行数值化生成对应的数值数组,对生成的数值数组进行提取,格式化输出对应的温湿度情况,并将信息显示在串口与调试窗口上,以及发送至PC上位机上的TCP客户端窗口。
![2bdede6a-25e7-11ee-962d-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/9E/D3/wKgaomToD76AYdxPAAABH5UOQQI253.jpg)
![30564b18-25e7-11ee-962d-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9E/D3/wKgaomToD8CAc5niAAJRtTWFxIk586.png)
-
主机参数配置,此处配置与配置串口参数同理,配置如下:
![307d91b4-25e7-11ee-962d-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9E/D3/wKgaomToD8CAKiAtAAIKh37DohY383.png)
(可参照学习《EsDA MPC-ZC1应用——串口服务器(一)》, 以及《EsDA MPC-ZC1 应用——串口服务器(二)》)
-
读取模式,该属性将决定节点的触发方式。分别有:(1)循环读取数据,该模式节点将以用户设定的周期定时输出数据,如周期内数据未被刷新,则在下一周期输出;(2)根据输入的信息读取从机设备的数据,读取成功则向下一节点输出数据。可使用push节点向此节点输入读取所需要的参数信息,具体请查看输入参数。此处我们选用periodic read data模式,即第(1)种。
-
从机ID,从机设备的ID号,数值为0-255。此处从机ID为1,具体用户可根据实际情况修改。
-
输出周期,数值为0-65535,此处我们设置为1000。
寄存器地址,该值为读取的起始寄存器地址,数值为0-65535,此处我们设置为0。 -
读取数量,数值为0-1000,此处我们设置为2,即读取两个数据(分别为温度和湿度)。
- 寄存器类型,读取的寄存器类型。分别有:(1)读取线圈量,此类型的数据将输出uint8_t指针类型的payload;(2)读取离散量,此类型的数据将输出uint8_t指针类型的payload;(3)读取保持寄存器,此类型的数据将输出uint16_t指针类型的payload;(4)读取输入寄存器,此类型的数据将输出uint16_t指针类型的payload。此处我们设置为read holding resgisters,即第(3)种。
![315a3a4c-25e7-11ee-962d-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9E/D3/wKgaomToD8CAWpLTAAKYCIdnCBQ158.png)
该节点关键参数一览:
-
数据转换模式,该模式有:(1)单地址数据转换,此模式只对某一地址的数据进行转换,因此输出payload是对应地址的单个数据值;(2)多地址数据转换,此模式对指定地址及数量的数据进行同一的转换,并将转换后的值存入array对象;(3)全地址数据转换,此模式对输入的所有数据进行同一的转换,并将转换后的值存入array对象。
注:数据地址及长度必须在modbus输入节点的读取范围内,否则转换将失败。此处我们选择multi-address address parse模式,即第(2)种。
-
数据转换起始地址,此处设置为0。
-
转换数量,此处设置为2。
-
数据转换类型,读取的数据格式,对读取的数据进行位整合,例: int32_t:将数据地址开始的4byte整合成int32_t类型的值。此处我们选择16bits-unsigned int类型。
-
大小端选择,此处选择配置读取的存储大小端模式,此处我们设置为小端模式。
a = msg.payload
output.payload = "temp:" + array_get(a, 0)/10 + "C, " + "humi:" + array_get(a, 1)/10 + "RH"
此脚本主要实现将modbus_parse_in节点所生成的数值数组提取数值,并进行格式化处理,输出对应的温湿度数据。
4. push节点![31a002c0-25e7-11ee-962d-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9E/D3/wKgaomToD8CAJPlzAAD7Z-5fuDE423.png)
该节点用法较为简单,直接选择需要进行传送的目标节点即可。
5.tcp_server_ex节点![31c4ae0e-25e7-11ee-962d-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9E/D3/wKgaomToD8GAEJUdAAIxqiGSsFw065.png)
该节点关键参数一览:
- 端口,本地开放连接的端口号,取值为1024-60000,此处取值为5353。
- 最大连接数,是指可支持的最大客户端连接数量,此处我们设置为8。
- 输出模式,存在两种输出模式可以选择,第一种为携带报文头部的模式,第二种为不携带报文头部的模式,此处我们设置为第二种模式payload。
- 保活时间,取值范围为0-100000,此处我们设置为120。
- 空闲掉线时间,取值范围为0-100000,此处我们设置为0。
![320c467e-25e7-11ee-962d-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9E/D3/wKgaomToD8GAVzNKAAIvvM4G0Qs017.png)
该节点主要实现,将上一个节点传输而下的数据,打印至串口和调试窗口上,一个很好用的调试信息反馈节点。
![2bdede6a-25e7-11ee-962d-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/9E/D3/wKgaomToD76AYdxPAAABH5UOQQI253.jpg)
![327c4ba4-25e7-11ee-962d-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9E/D3/wKgaomToD8GAUWxNAAHqKBENrCU642.png)
![32ad38ea-25e7-11ee-962d-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9E/D3/wKgaomToD8GAMNL0AAH2J_dPmAA219.png)
![32f1ce06-25e7-11ee-962d-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9E/D3/wKgaomToD8GAN7qkAAGzt0s9GZs665.png)
若用户不知道流图下载的端口号,可以在板子重启时,调试串口中打印信息获取,或者在shell命令窗口使用ipconfig命令获取网口配置。
4.先选择配置,后点击下载按钮![33262a66-25e7-11ee-962d-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9E/D3/wKgaomToD8GAOaHVAAIrKof5T_8672.png)
![33553c52-25e7-11ee-962d-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9E/D3/wKgaomToD8KAYd5DAAG6AI5UcC4091.png)
![33f9c092-25e7-11ee-962d-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9E/D3/wKgaomToD8KAVaGvAAIDN8hU87Q038.png)
![2bdede6a-25e7-11ee-962d-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/9E/D3/wKgaomToD76AYdxPAAABH5UOQQI253.jpg)
![344e89d8-25e7-11ee-962d-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9E/D3/wKgaomToD8KAUr6dAAJ53P84fvY465.png)
点击对应信息条目可以查看详情。
![3484d2ae-25e7-11ee-962d-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9E/D3/wKgaomToD8KAHKYkAAJOYCPAj-8276.png)
可见具体的温湿度数据信息。
2.TCP客户端此处需要使用一款助手工具,而本章便用SSCOM进行效果展示。![34c2eb16-25e7-11ee-962d-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9E/D3/wKgaomToD8KAbCx3AAEXDvraRqs001.png)
可见客户端接收到的数据如下。
![34e7f2d0-25e7-11ee-962d-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9E/D3/wKgaomToD8KAdz5qAAAmfoRx-wk489.png)
到此,本章结束,如果您对此有兴趣,那就赶快行动起来吧!
![2bdede6a-25e7-11ee-962d-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/9E/D3/wKgaomToD76AYdxPAAABH5UOQQI253.jpg)
![3543b368-25e7-11ee-962d-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9E/D3/wKgaomToD8KAd5VHAADsKECXPss966.png)
-
致远电子
+关注
关注
13文章
399浏览量
31128
原文标题:【EsDA 应用】Modbus RTU Master 转 TCP Server
文章出处:【微信号:ZLG_zhiyuan,微信公众号:ZLG致远电子】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
BL124采集Modbus RTU和Modbus TCP协议
![BL124采集<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>和<b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b>协议](https://file1.elecfans.com//web2/M00/DF/42/wKgaomYvWkaAYdNeAAEiALgBMJ8667.jpg)
MODBUS RTU详细解释
【EsDA 应用】Modbus RTU Master 转 MQTT
![【<b class='flag-5'>EsDA</b> 应用】<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b> <b class='flag-5'>Master</b> 转 MQTT](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
物通博联Modbus RTU转 Modbus TCP网关有什么功能
![物通博联<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>转 <b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b>网关有什么功能](https://file.elecfans.com/web2/M00/67/2A/poYBAGMW2paAYj5AAAJz3R6muds552.png)
Modbus RTU Master 转 UDP Client
![<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b> <b class='flag-5'>Master</b> 转 UDP Client](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
【EsDA 应用】Modbus RTU Master 转 UDP Client
![【<b class='flag-5'>EsDA</b> 应用】<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b> <b class='flag-5'>Master</b> 转 UDP Client](https://file1.elecfans.com//web2/M00/9F/E3/wKgZomToRfKAIQQpAAABH5UOQQI517.jpg)
Modbus RTU Master 转 TCP Client
![<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b> <b class='flag-5'>Master</b> 转 <b class='flag-5'>TCP</b> Client](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
【EsDA 应用】Modbus RTU Master 转 TCP Client
![【<b class='flag-5'>EsDA</b> 应用】<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b> <b class='flag-5'>Master</b> 转 <b class='flag-5'>TCP</b> Client](https://file1.elecfans.com/web2/M00/90/59/wKgZomTYox-AGkNFAAAONovriUI650.png)
Modbus RTU Master 转 TCP Server
![<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b> <b class='flag-5'>Master</b> 转 <b class='flag-5'>TCP</b> <b class='flag-5'>Server</b>](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
Modbus RTU Master 转 UDP Server
![<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b> <b class='flag-5'>Master</b> 转 UDP <b class='flag-5'>Server</b>](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
【EsDA 应用】Modbus RTU Master 转 UDP Server
![【<b class='flag-5'>EsDA</b> 应用】<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b> <b class='flag-5'>Master</b> 转 UDP <b class='flag-5'>Server</b>](https://file1.elecfans.com/web2/M00/8E/68/wKgaomTGXhKAE50sAAABH5UOQQI708.jpg)
【EsDA协议转换】Modbus TCP Master转ZWS云
![【<b class='flag-5'>EsDA</b>协议转换】<b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b> <b class='flag-5'>Master</b>转ZWS云](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
评论