Modbus RTU Master 转 UDP Server
随着物联网技术蓬勃发展,Modbus设备数据采集上报需求日益增加,本文将
随着物联网技术蓬勃发展,Modbus 设备数据采集上报需求日益增加,本文将具体介绍如何利用 EsDA 快速实现Modbus RTU Master数据转UDP Server数据,缩短产品研发时间。
简介
随着时代的发展,数据上云等需求越来越普遍,不同协议之间的数据转换,也成了用户普遍的需求之一。本文将带大家快速实现将EPC6450-AWI工控板的Modbus RTU数据,快速转发成UDP服务器数据,并传送给UDP客户端,工作框架如图1。
【资料图】
图1
本文主要使用本公司的EPC6450-AWI型号工控板,外接使用Modbus RTU协议传输的温湿度变送器,读取相关温湿度数据,并创建UDP服务器,向PC机上的UDP客户端实时发送温湿度数据。 入门基础
本章内容,主要使用modbus_master_in、modbus_parse_in、fscript、log、push、udp_server_ex节点。用户在进行阅读之前,需具备一定基础的AWFlow Designer开发经验。若刚开始接触,可阅读以下文章,进行基础知识的学习。
EsDAMPC-ZC1入门(一)——软件安装
EsDAMPC-ZC1入门(二)——LED控制
EsDA应用串口服务器——UDPServer
硬件前提1. EPC6450-AWI型号工控板
图2
2. USB转TTL类型串口设备
图3
3. 温湿度变送器(ModbusRTU协议,RS485接口)图4
此传感器,内部使用了Modbus RTU协议,数据分别存储在地址为0(温度)和1(湿度)上。
4. Type-C线、网线、杜邦线若干
图5
硬件连接图图6将USB转TLL接口与DUART接口相接(此处注意RXD接TXD,TXD接RXD),Type-C供电线与工控板Type-C接口相接,网口接eth0接口,温湿度变送器上的A/B信号线分别与工控板上的RS485A/RS485B相连,+电源线接于5V,-地线接于GND。 本章流图解析图7
1. 本流图节点列表
modbus_master_in节点,该节点负责读取从机的相关寄存器地址中的数据。
modbus_parse_in节点,该节点负责解析modbus_master_in获取的数据,将数据转化成对应类型的数值数组。
fscript1节点,该节点主要负责对modbus_parse_in节点所生成的数值数组进行提取,并格式化输出对应的温湿度数据。
fscript2节点,该节点主要负责对PC上的UDP客户端发送的数据流进行读取与解析,并传送给log节点。
log节点,该节点主要负责把接收到的fscript节点输出的数据,显示于串口与调试口。
push节点,该节点主要负责将接收到的fscript节点输出的数据,传送至udp_server_ex节点。
udp_server_ex节点,该节点主要负责将得到的push节点数据,转发给PC上位机上的UDP客户端。
2. 数据流向
通过RS485接口与Modbus RTU协议读取温湿度变送器的数据,对该数据进行数值化生成对应的数值数组,对生成的数值数组进行提取,格式化输出对应的温湿度情况,并将信息显示在串口与调试窗口上,以及发送至PC上位机上的UDP客户端窗口。
节点解析1. modbus_master_in节点图8
该节点关键参数一览:
主机参数配置,此处配置与配置串口参数同理,配置如下:
读取模式,该属性将决定节点的触发方式。分别有:(1)循环读取数据,该模式节点将以用户设定的周期定时输出数据,如周期内数据未被刷新,则在下一周期输出; (2)根据输入的信息读取从机设备的数据,读取成功则向下一节点输出数据。可使用push节点向此节点输入读取所需要的参数信息,具体请查看输入参数。此处我们选用periodic readdata模式,即第(1)种。图9
(可参照学习EsDAMPC-ZC1应用——串口服务器(一),以及EsDAMPC-ZC1应用——串口服务器(二))
从机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)种。2.modbus_parse_in节点图10该节点关键参数一览:
数据转换模式,该模式有:(1)单地址数据转换,此模式只对某一地址的数据进行转换,因此输出payload是对应地址的单个数据值;(2)多地址数据转换,此模式对指定地址及数量的数据进行同一的转换,并将转换后的值存入array对象; (3)全地址数据转换,此模式对输入的所有数据进行同一的转换,并将转换后的值存入array对象。注:数据地址及长度必须在modbus输入节点的读取范围内,否则转换将失败。此处我们选择multi-address address parse模式,即第(2)种。数据转换起始地址,此处设置为0。转换数量,此处设置为2。数据转换类型,读取的数据格式,对读取的数据进行位整合,例: int32_t:将数据地址开始的4byte整合成int32_t类型的值。此处我们选择16bits-unsigned int类型。大小端选择,此处选择配置读取的存储大小端模式,此处我们设置为小端模式。3. fscript1节点该节点为脚本节点,具体功能代码如下。
a = msg.payloadoutput.payload = "temp:" + array_get(a, 0)/10 + "C, " + "humi:" + array_get(a, 1)/10 + "RH"
此脚本主要实现将modbus_parse_in节点所生成的数值数组提取数值,并进行格式化处理,输出对应的温湿度数据。
4. fscript2节点
该节点为脚本节点,具体功能代码如下。
b = istream_read_string(msg.istream, 100, 1000)msg.payload = b
此脚本主要实现读取 udp_server_ex 节点接收到的客户端数据,并将数据传送给下一个节点(log节点)。
5.push节点图11该节点用法较为简单,直接选择需要进行传送的目标节点即可。6. udp_server_ex节点图12该节点主要实现将push节点发送而来的数据,传达给连接上来的UDP客户端。该节点关键参数一览:
端口,本地开放连接的端口号,取值为1024-60000,此处取值为777。
Multicast,为加入的组播地址,本章不需要填写。
输出模式,存在两种输出模式可以选择,第一种为携带报文头部的模式,第二种为不携带报文头部的模式,此处我们设置为第二种模式payload。
7. log节点图13该节点主要实现,将上一个节点传输而下的数据,打印至串口和调试窗口上,一个很好用的调试信息反馈节点。 流图下载1.点击下拉框
图14
2.点击配置按钮
图15
3.配置ip地址与端口号图16若用户不知道流图下载的端口号,可以在板子重启时,调试串口中打印信息获取,或者在shell命令窗口使用ipconfig命令获取网口配置。4.先选择配置,后点击下载按钮图17选择配置
图18点击下载运行按钮
5.下载完成图196.完整调试窗口图20 效果验证1.查看调试窗口信息图21点击对应信息条目可以查看详情。图22可见具体的温湿度数据信息。2. UDP客户端
此处需要使用一款助手工具,本章便用 TCP&UDP 测试工具进行效果展示。
2.1创建UDP客户端
图23点击创建连接图24配置相关参数
图25点击创建
2.2 建立UDP连接图26建立连接可见服务器接收到数据内容如下:图27查看UDP服务器接收数据可见客户端接收到的数据如下:图28查看UDP客户端接收数据到此,本章结束,如果您对此有兴趣,那就赶快行动起来吧!
标签:
随着物联网技术蓬勃发展,Modbus设备数据采集上报需求日益增加,本文将
16连败的战绩让张帅跻身WTA历史连败前3位,跟她并列排在第3位的是施密
又到了清晨恰最新鲜小可爱的时间啦!~又是清晨的说~今日份の美图是一
在这炎炎夏日里有一群坚守在岗位上的兴龙工业人他们不惧“烤”验,不畏
勒布朗詹姆斯如今来到湖人已经5年的时间,在这期间他为球迷奉献了精彩
由于波白边境局势恶化,边防部队指挥官申请向边境增派更多士兵,国防部
平报融媒记者杨德坤通讯员梁丹8月8日上午,在舞钢市钢城客运公司,一辆
Alpha6700同样采用E卡口设计,一个卡口,创作无界,E卡口系统实现APS-C
我是小前,我来为大家解答以上问题。车公庙美食街什么好吃,车公庙美食
扬子晚报网8月8日讯(通讯员夏彦群记者张可)根据“十年禁渔”和《江苏
上证报中国证券网讯8月8日,中国工程机械工业协会发布2023年7月工程机
8月8日上午,峰峰矿区全职引进国家高层次人才签约仪式举行,市委组织部
八月,是外出旅游的愉悦,是灯下阅读的惬意。漫无边际的奇思和突然迸发
今天小红来为大家带来的是手机微信公众号怎么发布文章,公众号怎么发布
App8月8日消息,据水利部消息,为深入贯彻党的二十大精神,落实全面节
昨天还在ICU里抢救,今天就在KTV里狂欢!这两天医药股们先大跌再大涨的
智通财经APP讯,艾比森(300389)(300389 SZ)公告,公司全资子公司艾比森
钙钛矿 钙钛矿是指一大类化合物,具有与矿物钙钛氧化物相同的晶体结
在暑期“三下乡”活动中,湖南女子学院萤火虫支教队结合实际,结合自己
高能手办团术士职业怎么站位?相信很多玩家都还不太清楚这个术士职业站
据媒体消息,中国工程院院士、北京大学医学部主任乔杰在8日举办的2023
在去年年末的时候,暴雪御用的元老编剧,一手创造艾泽拉斯大陆的辣个男
首先要确认自己信用卡欠款金额是否超出了自己的还款能力,短期内是否无
为进一步增强全员合规管理意识,提高全行合规管理水平和员工履职能力,
夜幕降临,闽江之畔“夜泊侯官”露营地灯如繁星附近大学城的学生们来这
黄玛瑙是一种宝石,属于玛瑙的一种变种。它的成分主要是二氧化硅(SiO2
PetranaRadulovic是一位娱乐记者,专门报道动画、同人文化、主题公园、
每经AI快讯,有投资者在投资者互动平台提问:请问董秘,福安的生长素临
8月6日2时33分山东省德州市平原县发生5 5级地震不少网友反馈收到了地震
1、一重:合欢一重里面的攻击技能是“断水”,“情网”,“破云”,我