您好!欢迎来到源码码网

通用数据回放软件开发研究

  • 行业资讯
  • 来源:源码码网
  • 编辑:admin
  • 时间:2020-04-15 10:41
  • 阅读:436

在工程试验中,数采系统会采集并记录海量的试验数据,浏览、查看数据是分析试验结果的基本方式[1]。以常见的txt和Excel格式的数据文件为处理对象,利用LabVIEW开发平台,设计了一款图形化数据回放软件。该软件不局限于数据源文件的具体记录形式,可根据配置文件自动将数据曲线显示成适合的比例,并可进行离散量的图像化。另外,回放软件提供标尺工具,允许用户任意拖拽追踪目标数据点。将详细讲述回放软件的设计实现。

1数据源存储特性

txt文本格式的数据文件可以视作字符型二维数组,每一行代表一条数据记录,以行结束符EOL作为单条记录结束标志;同一行内,一般以空格、制表符、逗号或者分号作为不同数据项(列项)的区分间隔。Lab-VIEW提供专用的文本读取函数,可按行读取任意数量的文件内容,输出的结果为一维字符数组,每个数组元素为文件中一行记录内容。利用字符处理函数可将按行记录的数据项分离出来。Excel格式文件本身即保存为二维数组形式,但不同列项的数据类型可能不一致,将磁盘上的Excel格式文件调入到内存以后,文件中的数据首先被保存为变体类型的数据[2],需根据原始数据类型对变体数据进行还原。

2软件系统架构

软件系统架构包括以下几个部分:初始化、读取数据源文件、数据处理转换、图形化显示以及响应用户操作。初始化建立软件运行环境,将前面板(用户界面)恢复至默认状态;读取数据源文件将源文件从磁盘调入内存,为后续数据调用处理建立条件;数据转换处理的功能是将调入到内存中的原始文件数据转换成实际的数据类型,并对需要给予曲线显示的数据进行合理缩放,即归一化处理;图形化显示功能将归一化之后的数据内容绘制成曲线,并添加标注、可移动标尺等辅助对象;用户操作响应的功能是方便用户对具体的数据曲线进行详细分析,通过响应用户事件的方式来实现,事件源包括移动标尺、鼠标移动以及用户菜单点击等多种形式。

3软件设计

数据回放软件采用LabVIEW作为开发平台。整个软件分前面板(用户界面UI)设计和程序框图设计。前面板提供数据显示及用户操作窗口,为人机交互界面;程序框图定义整个软件功能的实现,为回放软件核心。3.1前面板前面板向用户提供结果显示窗口以及操作命令输入控件,力求简洁、美观和高效。回放软件的前面板效果如图1所示。3.2程序框图开发程序框图定义整个软件的功能。考虑到回放软件的功能是响应用户操作进行数据文件可视化,所需线程单一,程序框图架构设计成单线程模式,采用事件结构来完成对所有的用户操作的响应。程序框图按功能分为5个模块:初始化、读取数据源文件、数据转换、图形化显示以及辅助功能。3.2.1初始化程序开始运行后,首先将前面板恢复至默认显示状态:清空图形显示区和数据指示区,完成文件菜单项配置,设置程序运行环境。3.2.2数据源文件读取当用户触发绘制图形的事件后,程序首先读取配置文件获取目标文件(数据源)的解析向量,即文件格式信息。这些信息包括:目标文件类型(txt或Excel)、全部数据通道标识、待显示数据通道标识、数据通道的数据类型(字符、模拟量、时间或者离散量)以及数据范围。根据文件类型调用不同的文件读取函数,将数据源文件内容调入计算机内存,并分离出用户关心的目标数据,即需要显示/观察的数据,组织成2维变体数组,等待下一步处理。3.2.3数据转换变体数据无法直接呈现给用户分析查看,必须将其还原才能进行显示。根据数据通道的数据类型调用相应的转换函数将变体数据予以还原,并分类存放。字符和时间类型的数据不需绘制曲线,直接在数值观察区显示。模拟量和离散量类型均需进行特殊处理。模拟量用来表示实际的物理数据,一般均存在有效数据范围,如果将表达范围差异巨大的参数绘制在同一图形区域,必然会导致表达范围小的参数不能合适显示。解决的途径有设置多个坐标轴(Y轴),每个参数根据实际需要进行关联。当同时需要绘制的参数项目(对应曲线数目)较少时,这种方式可以取得比较满意的效果;当曲线数目较多且各自的表达范围差异很大时,需要的坐标轴(Y轴)也会急剧增多,而过多的Y轴会占据较大的图形表达区域,显著降低曲线图形的观察效果。另一种方法是只设置一个Y轴,对所有的参数进行归一化处理:根据各个参数的表达范围,对其进行合理的缩放变换,使得所有参与绘制曲线的参数范围统一到同一个表达区域,然后将所有的参数项目关联到唯一的纵坐标轴,该坐标轴的表示范围为归一化的表达区域。归一化变换公式如下:(1)设参数的实际物理范围为(MIN,MAX),归一化处理的目标表达区域为(a,b),则(1)式中偏移量和缩放因子求解如下:离散量只有0和1两种状态,多通道的离散量需要经过相应的变换和平移后,才能与模拟量混合显示在同一坐标轴(归一化)下。设c[i][j]为离散通道i的第j个元素(0或1),单条离散量曲线占据(b-a)/10的纵向表达空间,其中曲线绘制占据(b-a)/20的空间,相邻两条离散量曲线之间间隔(b-a)/20的距离。因此,第i通道的离散量变换公式为:(4)3.2.4图形化显示经归一化转换之后的数据分别按模拟量与离散量存储在2个二维数组中,将其合并成一个数组后直接赋值给图形Graph控件即可完成曲线绘制,并触发Graph值改变事件。在Graph值改变事件响应中,进行下列操作:给每条曲线添加名称标注;设置曲线的颜色、线条宽度;通过设置标尺索引Index属性将标尺置于中间位置,并获取标尺处全部参数的值信息,刷新数值显示列表框。3.2.5其他功能该模块是通过事件结构响应用户的相关操作,包括图形缩放、移动标尺、更改曲线显示属性、软件系统设置以及保存图形当前数据等,事件源包括点击控件、标尺移动、快捷菜单以及用户菜单等。Graph控件自带图形缩放按钮,缩放后触发图形坐标轴(X轴)范围改变事件,在该事件处理程序中更新标尺的Index属性,并通过事件转发的方式触发标尺移动事件,继而实现刷新数值显示列表框的目的。软件系统设置通过用户菜单弹出设置窗口,设置内容有(1)创建、编辑/修改项目配置文件,图2是创建配置文件界面;(2)设置读取文件的类型、起始位置、读取长度,以及取数间隔等,这对于处理文件的数据规模较大,而计算机内存不足的情况十分有用,可以实现分段查看数据,并减少读取文件的时间。保存图形当前数据的作用是获取当前图形显示范围内(X轴的坐标范围)全部参数数据,并保存为txt文本或者Excel格式文件,以供后续处理。

4使用验证

图3是打开某Excel格式数据文件的实际效果。回放软件能识别、读取这两种格式的数据文件,绘制用户关心的数据曲线,并添加标注予以区别。更改配置文件即可实现任意数据文件(txt或Excel格式)的回放。5结语介绍了基于LabVIEW的通用数据回放软件的设计与开发,考虑到使用过程中回放软件与用户交互性强的需求,开发过程中充分利用LabVIEW数据流编程特点,仅采用事件结构实现了全部的用户事件响应。回放软件通用性强,配置简单,图形绘制效果好,并方便用户观察数据,具备很好的推广价值。


特别声明:
1、如无特殊说明,内容均为本站原创发布,转载请注明出处;
2、部分转载文章已注明出处,转载目的为学习和交流,如有侵犯,请联系客服删除;
3、编辑非《源码码网》的文章均由用户编辑发布,不代表本站立场,如涉及侵犯,请联系删除;
全部评论(0)
推荐阅读
  • 大型后台管理系统,用户登录状态该如何保存?
  • 大型后台管理系统,用户登录状态该如何保存?
  • 大型后台管理系统的用户登录状态保存需要综合考虑安全性、用户体验和系统架构。以下是企业级的完整方案:1.多层级存储策略class AuthManager {    constructor() {        this.storage = { &n
  • 源码教程
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2025-11-06 12:16
  • 阅读:382
  • 源码交易平台的支付困局与解决方案:如何通过专业支付系统提升交易效率
  • 源码交易平台的支付困局与解决方案:如何通过专业支付系统提升交易效率
  • 在数字经济蓬勃发展的今天,源码交易市场已成为互联网创业者和开发商的重要资源池。从电商系统源码到社交应用框架,从小程序解决方案到企业级管理系统,越来越多的开发者、初创企业和传统商家通过源码交易平台快速获取技术资产,实现商业目标的加速。源码交易市场的繁荣反映了数字化转型的迫切需求——企业需要快速迭代,开发者需要快速变现,用户需要快速启动。然而,在这个高速发展的市场中,一个长期被忽视但至关重要的问题浮现出来:支付系统的效率与安全性已成为制约交
  • 行业资讯
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2025-10-23 15:16
  • 阅读:331
  • Spring Boot 工程中 maven-surefire-plugin 测试执行失败及解决方法
  • Spring Boot 工程中 maven-surefire-plugin 测试执行失败及解决方法
  • 在SpringBoot工程编译时遇到maven-surefire-plugin的测试执行失败错误(Failedtoexecutegoalorg.apache.maven.plugins:maven-surefire-plugin:3.5.3:test),通常与测试环节相关。以下是常见原因及解决方法:1.测试用例执行失败• 原因:最常见的是测试用例(*Test.java)运行时抛出异常(如断言失败、空指针等),导
  • 源码教程
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2025-10-13 10:57
  • 阅读:389
  • WeMark - 微信小程序图片水印
  • WeMark - 微信小程序图片水印
  • 一个纯前端的微信小程序图片水印工具。支持文字/图片水印、单个与全屏两种模式,透明度与角度调节、单个水印位置X/Y控制,预览与对比模态、历史记录(100条)等功能。
  • 源码教程
  • 来源:源码码用户
  • 编辑:yg
  • 时间:2025-09-22 16:09
  • 阅读:310
联系客服
源码代售 源码咨询 素材咨询 联系客服
029-84538663
手机版

扫一扫进手机版
返回顶部