当前位置: 首页 > article >正文

基于 ARM+FPGA+AD平台的多类型同步信号采集仪开发及试验验证(一)上位机设计

采集仪上位机设计
本章开发了一款基于 C# 的上位机软件,用于对多类型同步信号采集仪的各项功能
进行操作。从采集仪的数据传输需求出发,上位机利用以太网 UDP 协议实现与采集仪
的数据交互,包括向采集仪发送控制信息与配置信息、接收采集仪传来的 AD 数据,然
后对数据进行解析,根据面向用户原则,开发图形用户界面 GUI ,实现性能配置、数据
可视化和本地存储的功能。
4.1 总体设计
本文开发的多类型同步信号采集仪可以根据 UDP 协议传来配置信息对 AD 芯片进
行配置,并通过 UDP 协议发送同步采集到的 AD 芯片数据,因此,用于对采集仪进行
各项功能操作的上位机软件将实现如下的功能:开发 UDP 从机与采集仪 UDP 主机建立
通信;通过 UDP 协议向采集仪发送配置信息和控制信息;通过 UDP 协议接收采集仪发
送过来的 AD 数据;开发面向用户的图形用户界面 GUI ;实现数据配置、数据可视化与
本地存储的功能。
根据上述需求分析,上位机软件模型可划分为主界面模块、数据交互模块、数据配
置模块、数据可视化模块和数据本地存储模块,利用这五个模块来实现对采集仪的各项
功能操作,功能模块结构如图 4.1 所示。
上位机的每个模块实现功能如下:
1 )主界面模块:搭建起 GUI 的整体界面,后续的子界面均在主界面中添加。
2 )数据交互模块:搭建 UDP 从机,建立起与采集仪的 UDP 通信,将数据配置
模块的配置信息通过 UDP 协议发送到采集仪,接收采集仪通过 UDP 协议发送来的 AD
数据并将其传送给数据可视化模块。
3 )数据配置模块:建立数据配置界面,用户可以对每一个通道 AD 芯片的类型
与灵敏度进行设置,类型信息发送到采集仪进行配置,灵敏度信息将用于数据可视化模
块对数据进行解析。
4 )数据可视化模块:建立数据可视化界面,根据灵敏度信息对采集仪发送来的
AD 数据处理,用户可以观察到每一个通道数据的变化曲线。
5 )数据本地存储模块:建立数据本地存储设置界面,用户可以根据监测需求对解
析后的 AD 数据进行相应的存储。
4.1.1 C#编程语言
C# 是一款由微软开发的现代通用面向对象的编程语言,凭其简洁的语法与强大的性
能得到广大程序员的青睐,在接近 C C++ 构想的同时也兼顾了 Java 的特性,并提供
了可视化工具,可以方便快捷高效地开发 GUI 界面等应用程序,因此,本文选用 C#
写采集仪的上位机,完成对采集仪的控制与配置功能。
C# 包含有如下特点:
1 )简单、安全。 C# 提供了命名空间用于管理文件,可利用 using 关键字添加命
名空间;拥有广泛的数据类型并且每个数据类型的大小是固定的;不像 C++ C 那样使
用指针,没有直接读取内存的危险操作,满足结构健康监测系统稳定监测的需求。
2 )面向对象,组件。封装、继承和多态这三个功能保证了 C# 编程语言的高速的
开发效率;大量的标准库和组件版本极大地方便了 GUI 界面的开发。
3 )支持多种类型程序。不仅可以开发 Windows 窗体 GUI 程序,同时也可以开发
Web 应用程序和手机应用程序。
4 )可在多种计算机平台编译。在 Windows Linux Mac 系统均可以使用。
5 )支持自动垃圾回收。可以节约大量系统资源。
4.1.2 文件结构
本章将上位机的所有资源、程序文件均存放在 eDAQ_Sampling_Software 工程文件
下,文件结构如图 4.2 所示。
主要程序文件的介绍如下:
1 Program.cs :上位机主程序运行入口。
2 Form_Dashboard.cs ,上位机 GUI 主界面。
3 Form_Welcome.cs UDP_Comm.cs UDP_Config.cs :数据交互模块。
4 Form_Config.cs ,数据配置模块。
5 Form_Chart.cs Channel_Parameters.cs ,数据可视化模块。
6 Form_Save.cs Form_Save_Setting.cs ,数据本地存储模块。
4.1.3 主程序入口
主程序使用了 System.Windows.Forms 命名空间,该命名空间是开发 Windows GUI
界面的基础,通过使用其包含的大量类可以方便快捷地实现丰富的用户界面功能。
Main 主函数中,首先可以利用 Application 类自带的 EnableVisualStyles
SetCompatibleTextRenderingDefault 方法完成对 GUI 界面的初始化,最后利用 Run 函数
开启 Form_Dashboar 类,即 GUI 的主界面。
4.2 主界面模块设计
通过创建 Form_Dashboard 类搭建起上位机的主界面,该类继承自 Form 类,主界面
如图 4.3 所示,包含左侧菜单栏与右侧功能栏两个部分。

http://www.kler.cn/news/107351.html

相关文章:

  • Java流(Stream)详解
  • tomcat必要的配置
  • Centos使用tomcat部署jenkins
  • cola架构:有限状态机(FSM)源码分析
  • jenkins如何安装?
  • 基于SpringBoot+Vue的服装销售系统
  • Python深度学习实战-基于Sequential方法搭建BP神经网络实现分类任务(附源码和实现效果)
  • 基于GPIO子系统编写LED驱动,编写应用程序进行测试设置定时器,5秒钟打印一次hello world
  • 软考 系统架构设计师系列知识点之设计模式(4)
  • GoLong的学习之路(十四)语法之标准库 time(时间包)的使用
  • MySQL语言分类
  • 论文阅读 - Hidden messages: mapping nations’ media campaigns
  • Android原生项目集成uniMPSDK(Uniapp)遇到的报错总结
  • 在 macOS 上的多个 PHP 版本之间切换
  • 李沐——论文阅读——VIT(VIsionTransformer)
  • 使用Gateway解决跨域问题时配置文件不生效的情况之一
  • CTF-php特性绕过
  • 一次不接受官方建议导致的事故
  • 软考高项-计算题(3)
  • 【LeetCode】5. 最长回文子串
  • 10月28日,每日信息差
  • HarmonyOS开发:探索组件化模式开发
  • Flink CDC 2.0 主要是借鉴 DBLog 算法
  • PostgreSQL basebackup备份和恢复
  • 闲聊一下写技术博客的一些感想
  • Dijkstra算法基础详解,附有练习题
  • OpenAI大模型项目计划表(InsCode AI 创作助手)
  • Android Studio 查看Framework源码
  • 基于LCC的Buck谐振变换器研究
  • arcgis js api FeatureLayer加载时返回数据带*问题