⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 7.图形化编程软件平台.txt

📁 虚拟仪器软件的介绍
💻 TXT
📖 第 1 页 / 共 4 页
字号:
,在内存管理页面中,用户需要自己定义输出参数的指针类型与大小,如图7.8所
示。
 
图7.8 仪器控件端点属性设置界面
5、 控件生成之后,可以通过属性编辑项,查看所有相关信息,包括函数的一般信
息、输入端点信息、输出端点信息等,并可以即时查看到它的帮助。
6、 控件的执行部分是程序的主体部分,是图形化平台运行状态时,控件的执行代
码,可以分为两个部分工作,一部分是运行前的输入参数分析,一部分是运行后的
返回结果与输出参数的分析,函数主体是CallFunction()。在运行时,一旦发现函
数运行有误码,控件将从正常的蓝底色变为报警的红色,直到条件满足运行正确后
恢复正常。
7、 仪器接口控件的保存与恢复比一般的控件要复杂一些,对于保存而言,不仅要
保存控件界面上显示的信息,也要保存控件所有的帮助信息与端点信息。恢复是保
存的逆过程。
8、 控件的删除要调用DelFunction()函数,也要释放控件对应的函数结构信息。

图7.9所示为在VPP平台下利用HP公司的VXI数字万用表模块HPE1412进行电阻值测量
的源代码。
 
图7.9 在VPP下利用HPE1412进行测量源程序
在上例中,只涉及到了一个虚拟仪器HPE1412,通过图形化平台的虚拟仪器接口模
块,所有仪器驱动程序的功能函数在图形化平台中也均由图形化的仪器接口元件代
理,在本例中用到了hpe1412_init(初始化函数)、hpe1412_configure(参数设
置函数)、hpe1412_sampCoun(采样计数设置函数)、hpe1412_initImm(采样开
启函数)、hpe1412_timeFetch_Q(定时测量读数函数)、hpe1412_close(关闭函
数)等多个仪器功能函数,所有功能函数的参数可利用图7.8所示的属性设置界面
中显示获取,完成一个典型多次采样测量的过程。在本示例中,还用到了定时器元
件,可以定时触发测量工作。程序说明栏是一个独立的显示区域,并不加入到流程
中去,只完成程序介绍说明工作。
这种利用功能面板文件实现的仪器接口模块的设计方法的提出与实现,成功地解决
了虚拟仪器与图形化平台的接口问题,在目前的模式下,图形化平台所能控制的虚
拟仪器库是不定的、动态的、扩展的,只要符合VPP规范的虚拟仪器,均可以被我
们的图形化平台VPP所控制与操作。这个自主开发的接口模块与HP VEE同类接口相
比,HP VEE接口所具有的功能在我们的仪器接口模块均已实现,有些性能超过了HP
 VEE,以下列举了几个不同点:
1、 在VEE环境下,对于仪器接口控件采用了行编辑器的方式,每个函数变成为一
个命令行,这种方式对于图形化平台而言是不够直观的,相比之下,VPP的仪器接
口模块依然采用了图形化控件的模式,与其它图形化控件具有一致性,操作更方便
2、 在VEE环境下,仪器驱动程序的初始化函数与关闭函数是缺省调用的,一旦仪
器驱动程序的初始化函数有错误,VEE往往会执行死循环而导致死机,并不能给出
相应的错误信息。在VPP接口模块中,初始化函数与关闭函数是由用户调入的,一
旦初始化函数有误,可以方便地得到它的错误信息,便于仪器驱动程序的调试,也
使可操作的虚拟仪器兼容性比VEE强得多。
3、 在VPP接口模块实现方法下,帮助文本采用了“所见即所得”的方式,用户只
要选中相应的树结点,即可以显示相应的帮助文本,极大地方便了用户调试仪器。

4、 由于仪器接口控件是与其它控件完全一致的,因此完全可以与其它控件一起组
成子系统(User Object),并进一步组成系统,集成效率高,可重复性强,且具
有较高的安全性。
5、 利用解析功能面板文件的方法,我们同样可以在HP公司的VEE软件平台下对自
主开发虚拟仪器模块进行控制与操作,真正实现了虚拟仪器与图形化平台的双向互
换。
图7.10所示为利用HP公司的VEE对浙江大学自主开发的同步采样模块进行操作。
 
图7.10 利用HP公司的VEE对同步采样模块进行操作
这种利用功能面板文件实现的接口模块设计方法,具有一定的推广意义,在图形化
平台中,还有一个模块为函数扩展库模块,图形化平台VPP在本身提供了简单的数
学公式控件,还对复杂的计算功能进行扩展,如高级的数学运算(包括复杂的数值
运算、坐标变换、曲线拟合等)、现代数字信号处理(包括复杂的滤波器、窗函数
及现代时频谱分析等)、时变信号分析(包括时变信号的监测与实时谱分析)、过
程统计分析、控制算法等,这些扩展库的大小也是不定的,可以随时根据需要进行
扩展。为了有效地实现函数扩展库接口,参考以上的仪器接口模块的设计方法,本
文也提出并实现了利用功能面板文件结构形式实现的函数扩展库接口模块的设计方
法。
在这儿,将功能面板文件的概念加以延伸,虽然在函数扩展库模块中不出现虚拟仪
器,但我们将各种算法以功能面板文件的简单形式加以归类封装,并将函数扩展库
的源代码也根据VPP虚拟仪器驱动程序的形式加以封装,并生成动态链接库文件。
在这个功能面板文件中,根结点是一类函数扩展库,类结点是各个算法类,函数结
点是各个最终实现的扩展函数,而且不需要图形化窗口界面,结合功能面板文件与
动态链接库文件,利用以上介绍的接口模块设计方法,可以方便地实现。在实际的
程序开发中,我们是将这两个接口模块放在一起进行设计的,相应于虚拟仪器管理
器对话框的是函数扩展库管理器对话框,它比虚拟仪器管理器简单的是,它的功能
面板文件个数相对固定,不必动态地添加与删除函数类。而在VC环境下定义的
OpenedFp结构中,我们用了一个关键参数type作为区分的,当type=0时,调用的是
虚拟仪器管理器;当type=1,调用的是函数扩展库管理器。在Delphi环境下调用时
,也同样只通过参数来区分两个不同的接口模块。利用这种方法,最大程度地实现
了软件共用性,且层次结构清晰紧凑,软件实现效率高。
三、    图形化编程元件库:
在图形化编程软件平台VPP左面,是图形化编程元件表,列出了所有图形化编程元
件。元件表中旋转了所有VPP中需要的元件,在编辑面板中每一个元件有三部分组
成。一个是标题栏,一个是操作栏(这是图形化元件主体部分),一个是边框,放
置了元件的输入、输出端口。在运行面板中没有边框部分,所以不显示输入、输出
端口,其它与编辑面板上一样。每一个元件不论在编辑面板或运行面板上,都会对
鼠标右键点击响应,弹出相应的属性菜单。在VPP中,元件库中包括的元件按功能
类别可分为以下七大类:
l   数据定义元件:数据定义元件是图形化平台提供的数据源,分别提供了各种数据
类型与表达形式的输入。数据类型分别包括整数类型、枚举类型、实数类型、文本
(字符)类型、坐标类型、复数类型、标坐标类型、日期类型等,并且包括各自的
常量类型、变量类型、数组常量类型与数组变量类型等。同时,可以实现复数类型
数据、波形类型数据、频谱类型数据、坐标类型数据、极坐标类型数据的构造与分
解功能。在数据定义元件库中,还定义了信息框、列表框、选择文件等实用元件,
并为实现多个分散数据的整合,还提供了几类数据收集器。
l   显示元件:数据显示元件是图形化平台提供的一类标准输出,分别提供了多种类
型的输出,包括文本(字符串)类型、整数类型、实数类型、波形类型、图像类型
等多种数据格式,以显示框、指示器、指示灯、温度计、罐图、棒图、XY曲线、时
域曲线、幅频曲线、相频曲线等形式显示。这些指示计元件可以设置量程与报警上
下限值,在输入数据超限时,可以颜色与声音形式报警。
l   流程控制元件:流程控制元件是充当了图形化程序的中间环节,也是实现一个比
较复杂的流程程序必要的元件。在这里定义的条件分枝、循环、定时器、屏幕按钮
等控件,可以实现多分枝、多回路的程序结构模式。而支持嵌套调用功能的子程序
与子函数控件的开发,为图形化程序提供了开放接口。通过子程序与子函数功能,
可方便地定义与添加新的编程元件,将多个编程元件组合定义为一个新的编程元件
,并支持嵌套调用。
l   数据运算元件:图形化平台通过两种方式提供数据运算功能,简单的数据运算通
过公式、计数器、累加器、函数发生、曲线拟合等控件来实现,用户可以自定义的
加、减、乘、除、幂运算公式,进行较简单的数值运算,复杂的数据运算则通过函
数扩展库的形式来实现。
l   数据库分析处理元件:通过图形化平台提供的数据库分析处理元件,可实现对各
种数据库的操作,包括数据库的构建、记录的添加、修改与删除,并支持多种数据
库的查询功能。
l   数据接口元件:数据接口元件实现平台与外部程序的数据交互功能。其中函数扩
展控件通过调用功能面板文件的方式,连接十大类共140多个数据运算与处理函数
;写文件控件可以将数据写入到特定的数据文件(GDF),读文件控件则将数据从
特定的数据文件(GDF)从读出来;打印输出将数据以一定格式打印出来;发送端
口与接收端口控件实现Internet/Intranet上的TCP/UDP格式的网络数据传输功能;
发送数据控件实现的是动态数据交换(DDE)功能;嵌入链接控件实现数据的嵌入
与链接功能,可方便地与Word、Excel等程序进行数据交互;Matlab与MathCAD接口
控件则实现了平台数据与外部复杂的数据处理软件Matlab与MathCAD的数据交互,
极大地扩展了平台数据处理能力;而ActiveX控件则以现今流行的ActiveX控件形式
,实现数据的处理功能。
l   仪器操作控制元件:在仪器操作控制元件中定义的虚拟仪器控件,则连接各类实
际的虚拟仪器,并对虚拟仪器进行各种操作。在我们的图形化平台中,虚拟仪器接
口模块的实现方式是国内首次提出的,利用解析虚拟仪器功能面板文件结构的方式
,实现了虚拟仪器的动态加载。与其它的平台不同的是,本图形化平台并不需要包
含具体的多少仪器,只需要虚拟仪器符合VXI总线即插即用规范(VPP规范),即可
以实现仪器的动态添加与修改。
将图形化平台VPP进行简单小结,主要包括以下几个功能。
1、 以可视化技术建立人机界面,实现图形化编程,通过人机交互的方式生成软件
流程,所有的软件流程均采用图形化的图标连接。
2、 支持VXI总线、GPIB总线、串行通讯总线等多种类型的仪器,平台不限制包含
的仪器数目,所有符合VXI即插即用规范的虚拟仪器均可在平台中进行操作与控制
3、 提供丰富的运算功能,其中包括数值运算、非数值运算、插值运算、复数运算
、数字信号处理、数字滤波处理、PID算法控制、过程统计等140多个函数。并且平
台提供动态添加与修改的接口,以方便运算功能的方便灵活地扩展。
4、 提供开放接口,可方便地定义与添加新的编程元件。通过提供的子程序功能,
可以将多个编程元件组合定义为一个新的编程元件,并能支持嵌套调用功能。
5、 提供多种程序调试功能,平台允许以单步、跟踪、断点等多种方式执行与调试
图形化程序。
6、 提供数据库接口,可进行各种数据库的关联,并可完成多种数据库的操作,包
括数据库的构建,记录的添加、修改与删除,并支持多种数据库的查询功能。
7、 提供与复杂的、高级的数学分析软件(如Matlab,MathCAD等)的接口,使这
些分析计算软件可使用平台测试到的数据,进行更复杂的数学计算。
8、 提供平台与其他Windows应用程序(如Word,Excel等)的嵌入和链接功能,进
行动态数据交换。
9、 提供平台的基于TCP/IP的网络数据传输接口。
10、    提供VPP独立运行环境,生成Windows平台下的直接执行文件,以提交最终用
户。
11、    提供安装程序自动生成器,用以生成软件系统的安装程序。
12、    图形化平台以全中文界面与用户交互。
在本章中,将不再对图形化平台VPP的使用进行详细说明,感兴趣的读者或用户可
以参考VPP的在线帮助文档或者用户使用手册。目前的软件版本是1.0,我们正在进
一步研究开发,希望早日推出更实用的2.0,主要更好地解决好以下一些问题。
1、 数据流语言的并行执行问题。文中,以算法R对可视化程序中的虚拟仪器元件
作遍历,元件是被顺序激活的。当一个元件的激活函数设计不当时,会造成一个元
件长期占用CPU时间的状态。一个可能的解决方法是结合操作系统特点,设计一个
进程管理机制和一个高效的扫描算法,使数据流程序中各个子图可以并行地运行。

2、 数据流语言的流程回溯(Back-tracking)。数据流程序所具有的一个限制是其
运行流程的不确定性。流程回溯机制对于程序调试和实现一些逻辑控制程序有重要
意义。
3、 面向对象的数据流语言研究。当使用者需要通过组合现有的虚拟仪器元件从而
“制造”出新的虚拟仪器元件,那么就要求数据流语言中引入面向对象的编程机制
如果通过本章的阐述,可以让读者对图形化编程软件平台产生兴趣,并积极投身于
图形化编程软件平台的研究与应用,从而为民族软件工业的崛起做出贡献,这将是
十分有意义的工作。
--
※ 来源:·饮水思源 bbs.sjtu.edu.cn·[FROM: 210.32.190.9]

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -