📄 5.虚拟仪器软面板.txt
字号:
图5.1 虚拟仪器软面板主面板布局
10、 主面板调用的面板称作次面板,次面板同样也应该是整齐和匀称的。可将次
面板分为几个区域,图5.2所示为次面板的通用布局方法。次面板标题按前面所述
设计。底部按键是带标签的矩形键,且大小一致。因为次面板包含许多用户想要以
交互方式改变选项的面板,所以应有确认、应用和取消键。按键上的标签并不限于
以上几个,可以将其换成一个更有意义且与该动作相称的标签。
图5.2 虚拟仪器软面板次面板布局
11、 主面板也可调用“关于”面板。所谓“关于”面板,是一个特殊的面板,它
是一个用于显示版本信息的特殊对话框。该面板同样也应该是整齐和匀称的。它被
分为几个区域,图5.3所示为“关于”面板布局方法。“关于”面板标题按前面所
述设计。在设计时应遵循前面所述的有关字体和移植性,可以有选择地加入图形(
位图)来表示实际的仪器。“关于”对话框包含三类非常重要的用户信息。第一类
是软件版本,它包含生成版本、仪器驱动程序文件名称和版本。第二类是接口版本
,它包含生成的VXI接口类型、平台以及软件版本。第三类是硬件版本,它包含仪
器全称和仪器硬件。
图5.3 虚拟仪器软面板“关于”面板布局
需要指出的是,在实际的虚拟仪器软面板的设计中,上述列出的设计原则是必须遵
守的,有些却可以选择性遵守,设计原则必须与实际情况相结合,才能设计出符合
实际需要的标准化软面板来。事实上,软面板的设计不仅仅是一个界面化的设计,
重要的是包含着仪器的功能控制与测试。它是一个基于仪器驱动程序开发的仪器级
应用程序,VPP规范在功能控制的软件实现这一部分并没有对软面板提出太多的设
计要求,而将其中的灵活性交给了软面板设计人员。因此,软面板设计人员的任务
是双重的,一是设计出一个实用性强、功能丰富的仪器测试程序,另一个是设计出
界面美观、操作方便的图形用户接口程序。虚拟仪器软面板由仪器生产厂家完成,
与硬件模块、仪器驱动程序等一起提交给用户。下一节结合实际开发的例程,描述
了虚拟仪器软面板的实际设计方法。
5.2 虚拟仪器软面板的设计
5.2.1 虚拟仪器软面板的设计实例
以浙江大学数字技术及仪器研究所开发的高精度AD采样模块hrad2000为例,进行
虚拟仪器软面板设计讲解。hrad2000是高分辨率、高精度的数据转换采集模块,适
用于精度要求高、分辨率要求高的缓变模拟信号测量的场合。它是基于VXI总线的
寄存器基器件,在硬件结构上采用了主贴板方式,即所有VXI总线接口共性电路包
含在主板上,而数据采集特性电路包含在贴板上,实现了最大程度的资源共享。
高精度AD采样模块hrad2000具有以下特性:
l 对缓变的连续电压信号进行高精度测量,24位无遗漏编码,有效分辨率为18位,
最高采样频率可达1KHz。
l 实现多通道差分测量,最多支持6路差分输入通道,即可以任意选择某一通道进
行持续采集,也可以同时对6路通道进行巡回采集。在进行6通道巡回采集时,最短
的通道切换时间为3ms。
l 便捷的串口数据传输,功能强大的DSP运算核心使数据的后处理成为可能。
l 输入量程可编程,对应不同的增益=1、10、100、1000,可测量的输入电压范围
为:-10V~10V , -1v~1v , -100mv~100mv , -10mv~10mv 。
l 具有自动标定功能。可进行系统零点标定和系统满偏标定。同时也具有手动配置
功能,可以由用户选择标定通道和标定电压值。标定后得到的参数,存放在每块贴
板上自带的串行E2PROM中。
高精度AD采样模块hrad2000软面板为用户提供了一个友好的人机界面,如图5.4所
示。整个软面板是一个基于菜单模式的应用程序,主菜单为两大项:系统菜单与帮
助菜单。在系统菜单中,包含复位操作、自动标定模式设置、手动标定模式设置与
系统退出等功能项,而帮助菜单则弹出软面板所包含的帮助信息。
软面板的上端为标题区域,分别有生产单位浙江大学标志、模块名称与VPP标志。
软面板的左半部为模块工作模式设置部分,可以在线地对模块运行参数进行设置。
可由用户设置的内容包括通道选择、增益选择、AD转换速率选择、测量方式选择
。在设置好各项参数后,按下确定设置按钮,则设置生效。面板的右半部为显示部
分。能同时显示多个通道(最多6路输入信号)的数值,以数码管形式显示,采集
来的转换数据能以数据文件形式进行保存,并可进行离线数据处理与分析。
图5.4 高精度AD数据采集模块软面板
在参数设置部分,主要完成以下几项工作:
1、 采集方式选择:包括通道固定或通道巡检方式选择,当采集方式为定通道模式
时,必须选择通道号(可选择1—6号通道),而选择了巡检模式时,则无需再选择
通道号,所有通道都将依次进行数据采集。在缺省状态下,采集方式为通道固定,
通道号为1 。
2、 量程选择:本数据采集模块有四个可选量程范围:-10V~10V, -1v~1v,
-100mv~100mv, -10mv~10mv。缺省状态下的量程范围为-10V~10V。用户可根据应用
需要动态选择测量量程。
3、 数据更新频率选择:有四个可选频率:50Hz, 100Hz , 500Hz , 1000Hz。在
50Hz转换频率下,模块的分辨率最高中,随着转换频率的增加,模块的分辨率有所
下降,用户可根据具体应用场合中对AD转换分辨的要求全,以及被测信号的动态
范围来选择最合适的转换速率。缺省状态下,转换频率为100Hz。
当所有设置信息,设置结束,单击“确定设置”的按钮,则可以动态地设置贴板上
寄存器值与DSP寄存器值,并在线引导主板上的DSP的程序。如果设置工作正确完成
,则系统弹出“设置完成”的信息,否则系统将自动显示错误。
在数据采集区域,主要有六组多位数码管动态显示采集数据值。在通道固定的采集
模式下,只有被选中的那路通道点亮,其他通道都会灰掉;在通道巡检的采集模式
下,6 个数码管同时动态显示数据。
数字采集区域内有几个按钮,它们的作用分别是:
1、 开始采集:单击该按钮,计算机开始从模块主板DSP中读取存放的AD转换数据
,并进行动态刷新。
2、 停止采集:单击该按钮,计算机停止从模块主板DSP中读取操作,显示固定不
动。一般如果想在采集过程中动态改变模块的工作参数,应该先“停止采集”,再
重新设置参数。
3、 自动标定:单击该按钮,模块暂停正在进行的采集任务,利用模块贴板上预留
的两路标定通道,进行自动标定。
4、 退出:单击该按钮,退出整个软面板系统。
在本数据采集模块中,仪器标定是一个重要过程。模块提供了两种标定模式,分别
为自动标定与手动标定。在手动标定模式下,用户可选择两路通道作为外标定通道
,并输入适当的满标电压值进行标定。设置好标定通道号与外置满标电压后,按“
确定”键进行标定。由于输入的标定值是多次实验的结果,因此手动标定方式比利
用贴板上的内置标定通道完成的自动标定要精确。选择系统菜单项中的手动标定子
项,将弹出如图5.5所示的手动标定面板,这是本软面板的次面板。
图5.5 高精度AD数据采集模块手动标定面板
本软面板的设计是按照虚拟仪器软面板设计原则进行的,不仅界面设计符合其规范
,同时在功能设计与事件处理上也符合VPP规范。根据实验情况,现总结出一些设
计要点,以供其它模块的设计参考。
1、 必须设计两种工作状态(模拟工作状态与正常工作状态),这主要考虑到在仪
器模块未能就绪的情况下,用户可以工作在模拟状态进行模拟仪器操作,并通过阅
读帮助文本,掌握仪器操作功能与特性,有利于用户熟悉仪器操作从而利用正常工
作状态下的软面板对仪器进行详细测试。如图5.6所示为非接上仪器时的软面板模
拟运行状态。
图5.6 高精度AD数据采集模块软面板模拟运行状态
2、 软面板的主面板设计是关键的,主面板布局应充分体现出仪器特点,如高精度
AD数据采集模块的主面板主要完成数据的采集与工作模式的设置功能,数字输入
输出模块的主面板即完成数据的输入输出功能,万用表的主面板则完成基本信号
的测量。在实际应用中,主面板是最直接最常用的,因此,它必须清晰地将仪器最
常用的功能包括在其中。如果高精度AD数据采集模块的主面板只完成了一次介绍
与设置,显然布局不够明确合理。
3、 次面板的个数要适中,即不可一个功能一个次面板,也不可许多不相干的功能
包括在一个次面板中,应基本做到一类相似的功能包括在一个次面板中。次面板与
主面板的切换要灵活。各个面板之间往往包括有一定的功能关联现象,一个控件的
操作往往会引起其它相关控件的连锁反应,这一点是面板设计中必须十分注意之处
。比如说,在选择完通道号时,对应的显示通道必将随之动态地进行“灰”“亮”
显示。
4、 同个生产厂家的各个仪器的软面板设计风格应一致,在本研究所推出的所有
VXI仪器模块的软面板设计风格是完全一致的,用户只要熟悉一种模块的软面板,
对其它仪器模块的软面板就会有一种比较强的认同感,减少学习与熟悉的时间,方
便用户使用。
5、 为了增强程序的强健性,在编程中应包含多个异常处理子程序。无论是程序开
头的动态链接库的引入,还是中间的数据处理部分,利用丰富的异常处理,可以避
免不少意外死机情况的产生。
5.2.2 虚拟仪器软面板的测试
与仪器驱动程序不同的是,虚拟仪器软面板是一个具有图形用户接口(GUI)的应
用程序,程序往往采用事件驱动方式,结构复杂,因此与仪器驱动程序的“白盒”
测试方法相对,虚拟仪器软面板的测试一般是采用基于功能的“黑盒”测试为主。
在实际测试过程中,不仅要进行单元测试,更重要的是要进行集成测试,因为软面
板中其实包括了不少相关的操作功能子系统。
集成测试的策略主要有自顶向下和自底向上两种。
自顶向下的集成策略从软件的主控模块入手,将其直接调用的模块首先与其集成,
形成一个子系统,将该子系统所调用的过程和所使用的数据用一些简单的代码来代
替,这些简单的代码称为这一集成的测试残桩,在测试残桩的帮助下,可以运行并
测试这一子系统,直到测试结果达到令人满意的程序。然后,将这一子系统所直接
调用的模块与该子系统集成,并书写新的测试残桩,进行测试,如此等等,直到整
个系统集成起来。
自底向上的集成策略则相反,从软件中不调用任何其它单元的模块入手,通过书写
一个调用该模块中的代码的小程序来测试该模块,这样的小程序称为该集成测试的
驱动程序。然后,将直接调用该模块的软件单元与其相集成,并书写新的驱动程序
,进行测试,如何等等,直到整个系统集成在一起。
这两种方法各有优缺点,在实践中,可将两种方法相结合。在软面板的测试过程中
,利用自底向上的方法对调用的仪器驱动程序动态链接库所包括的功能函数进行驱
动测试,当每一个调用返回均正确后,将这些调用命令集成到界面设计的模块中去
。而对于整个软面板的测试,则采用自顶向下的方法,首先测试软面板主面板,实
际上,由于模拟工作状态时不需调用下层的仪器驱动程序函数,可以将模拟工作状
态的程序作为正常工作状态的测试残桩。再由主面板往下依次进行各个次面板集成
测试,这样的测试方法容易将不同的错误隔离,因此揭错能力强。
在各个面板之间,往往在窗口中共享数据。当数据在一个窗口里被修改或更新时,
在相关窗口里显示的值也应该被刷新以反映新值。图形用户界面应用程序的这个方
面需要彻底测试。此外,各个面板之间的功能提供也必须保持一致性,如每个面板
的确认与取消按钮的作用应该相同。软面板的测试其主要任务在于揭示用户界面错
误。
经过测试的软面板是一个完整的独立运行的应用程序,是虚拟仪器模块的一部分。
而在整个虚拟仪器系统集成时,独立的软面板往往不必再出现,各个仪器软面板的
各自一部分功能将以一个系统应用程序新界面的形式包含在其中,独立的软面板开
发只适用于虚拟仪器系统的微模型。
--
※ 来源·饮水思源 bbs.sjtu.edu.cn·[FROM 210.32.190.9]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -