558|1

336

帖子

2

TA的资源

纯净的硅(初级)

【VisionFive 2 单板计算机试用】+完整测试项目 [复制链接]

完整测试项目

  1. 基本概述
    本测试项目基于以太网实时传输技术完成采样数据传输,基于Modbus-TCP完成数据控制和显示数据获取,基于Node-red完成基本信息的显示。
    144251e197z9xjj1jzvluy.jpg
    基本网络拓扑和功能描述图
    系统采用以太网作为数据传输基础,利用pcap技术快速接收来自系统内多个数据终端(目前实现了一个数据终端)的数据内容,并进行相应的数据处理,处理后的数据通过modbus-tcp完成采集系统和node-red系统之间的共享。
  2. 数据采集通道
    数据采集利用了Linux下的pcap技术,通过以太网链路层直接截获以太网数据帧,并解析。
    VisionFive2系统对于libpcap支持比较好,我们只需要执行简单的安装命令就可以完成安装。
    144251ug2d6425b44rpd32.png
    需要我们安装libpcap-dev和libpcap0.8两个库文件才可以进行后续的开发。
    具体可以参考测试贴:https://bbs.eeworld.com.cn/thread-1251111-1-1.html
  3. modbus-tcp数据共享通道
    Modbus协议作为当今工业控制领域的通用通讯协议,在无数物联网产品中得到应用,工业、农业等物联网解决方案中都有其身影。ModBus网络是一个工业通信系统,由智能终端的可编程序控制器和计算机,通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件,应用于各种数据采集和过程监控。
    144251blyoymoyo3qyb1gx.png
    通过Modbus协议,控制器相互之间、或控制器经由网络(如以太网)可以和其它设备之间进行通信。Modbus协议使用的是主从通讯技术,即由主设备主动查询和操作从设备。一般将主控设备方所使用的协议称为Modbus Master,从设备方使用的协议称为Modbus Slave。典型的主设备包括工控机和工业控制器等;典型的从设备如PLC可编程控制器等。Modbus通讯物理接口可以选用串口(包括RS232和RS485),也可以选择以太网口。
    我们这里选用Modbus-TCP网络接口的通讯方式,并且利用libmodbus这个非常有名的modbus开发库完成基本开发。
    库文件的基本安装流程:
    144251operwauwufwaxhqc.png
    过程非常简单。
    在应用程序中,作为数据提供者,实现了一个Modbus-TCP的设备端(即服务端)软件。提供了保持寄存器访问和线圈控制功能。
    序号 数据内容 寄存器 方向
    1 采集数据1 保持寄存器0 输出
    2 采集数据2 保持寄存器1 输出
    3 采集数据3 保持寄存器2 输出
    4 采集控制 线圈控制0 输入输出
  4. node-red显示和控制系统
    Node-RED是一个物联网编程工具,它以新颖和有趣的方式,将硬件设备、应用接口和在线服务连接到一起。
    它不仅提供了一个基于浏览器的编程环境和丰富的节点类型,使流程的创建变得非常容易,而且还为流程的运行提供了运行环境,实现了一键部署的能力。
    Node-RED基于Node.js的轻量化运行时环境,充分继承了事件驱动和非阻塞模型的优点,使其不仅能运行在云平台中,也能非常好运行在树莓派这类位于网络边缘的低功耗硬件设备上。
    借助超过22多万既有Node模块资源,可使组件面板的类型范围以及整个工具的能力的扩展变得非常容易。
    Node-RED提供了一个基于浏览器的流程编辑器,不仅可非常方便地将面板上丰富的节点组装成流程,而且可以通过一键部署功能,将其安装到运行环境中。
    利用其中的富文本编辑器可以创建JavaScript函数。
    预置的代码库可用于保存有用的函数、模板和可复用的流程。
    4.1 数据通讯
    在node-red中安装modbus操作控制,具体可以参考:https://bbs.eeworld.com.cn/thread-1250342-1-1.html 的相关说明。
    这里利用modbus-read控件,读取FC3的寄存器内容,获取采集系统中采集到的数据。
    利用modbus-wirte控件完成采集过程的启停控制流程。
    144251mtdpmihhdt689ddc.png
    4.2 显示画面
    在node-red中安装dashbord控件,并利用其中的Chart控件完成曲线显示,利用button控件完成启停流程控制的输入,通过文件读取控件,获取处理器温度,并且利用gauge控件显示。
    显示界面为node-red编辑界面网络地址:1880/ui
    144251x9i0odi6hlthivtd.png
  5. 测试和视频

通过QT开发了一个数据终端仿真环境,用来产生数据源。

144251h6sa643cf11bbf2l.png

运行的主程序完成数据获取和提供modbus数据服务:

144251pp4gw4l6qzktzhzw.png

通过node-red提供相应的显示界面

144251txp22xc0rnrp7enc.png

视频

vf2-modbus

 

最新回复

电子设计新人,来学习学习,看看大神们的思路都是怎么样的。  详情 回复 发表于 2023-8-14 22:30

回复
举报

195

帖子

0

TA的资源

一粒金砂(高级)

电子设计新人,来学习学习,看看大神们的思路都是怎么样的。

回复
您需要登录后才可以回帖 登录 | 注册

猜你喜欢
随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表