仪器仪表在智能型试验室架构构建的运用

[2011/10/10]

  1由于现代电子技术实验及实验技术在电子技术教学、实验教学方面的重要作用,对拓宽学员的知识面和动手能力大有益处,开设这方面的内容很有必要,但是,因为现代电子技术实验所需设备昂贵、占地面积大,甚至还有一定的安全风险,仪器内部结构不能看清楚等原因,不能配备到实验室中,用计算机技术、网络技术可以弥补上述不足。虚拟现代电子技术实验室,不仅可以用来预习、模拟训练,还可以直接用鼠标来做实验,在空间和时间上均得到了有效延伸,是传统实验方式的有效补充和完善。

  2设计原则及功能

  2.1系统设计原则

  1)系统的可靠性和安全性网络设备采用高性能、高可靠性且技术先进的设备,以保证系统的可靠性和稳定性。

  2)系统的先进性和实用性系统可在局域网内部使用,也支持远程客户,并可作为网上的站点,适合集中或分散教学。

  3)系统的可扩充性系统的设计充分考虑到将来学科的发展趋势及新内容的加入,预留接口。

  4)系统的易操作性有较好的灵活性和友好性,方便用户使用。

  2.2系统功能

  虚拟实验室的系统功能结构包含四个模块:

  实验指南:指南包括信号分析与处理理论的学习,实验预习,实验演示三部分。学生在上课前能够初步掌握实验要求、步骤、注意事项。实验演示是对实验的原理、背景知识、实验过程的动态演示,达到先学习,再作实验的目的。

  实验预约:预约部分是为实验室全面开放而服务,适用于所有高校的实验教学。通过实验预约可以科学地调度实验室,合理地分配实验内容,避免学员来实验室后没有场地、没有设备的情况发生。

  学生园地:园地是以BBS的形式开展教师和学生、学生和学生之间的交流、讨论,学生无论是在实验室,还是在其它地方,遇到问题便可在网上提交。

  虚拟实验:该功能模块是系统的核心部分。传统的基础实验一般因实验室的空间、实验仪器的组数、实验指导教员数量等因素限制。现代电子技术虚拟实验室不受场地的限制,因而在不同终端上可同时进行相同或不同的虚拟实验,增加受训人员的实验有效时数,提高了效率,是传统实验的有效补充和完善。

  3基于虚拟仪器技术的电子类虚拟实验室平台的开发

  3.1开发工具

  本文选用LabWindows/CVI和VisualC6.0进行仪器仿真和平台界面的设计。

  LabWindows/CVI是美国NI公司开发的一款基于C语言的半图形化软件开发平台,即具有图形化编程语言的开发效率高、修改灵活、界面设计快速的优点,又具备文本编程语言功能强大、可控性强、性能灵活的优势,适用于自动测试、自动控制、测试仪器通信、测试硬件控制和信号分析处理,尤其是大型、复杂的测试系统软件开发。

  VisualC6.0是由微软公司推出的软件开发工具。它拥有一个优秀的集成开发环境,集编辑、编译、连接、调试、向导等多项功能于一体,贯穿了面向对象的程序设计思想,并且提供了目前已成为业界标准的微软基本类库MFC.

  3.2虚拟仪器的开发

  所谓虚拟仪器,就是在以计算机为核心的硬件平台上,由用户设计定义,具有虚拟面板,测试功能由测试软件实现的一种计算机仪器系统。

  根据实验所要实现的功能,本文所要开发的虚拟仪器包括信号发生器、示波器、频谱分析仪、滤波器等几个模块,下面以信号发生器为例介绍一下虚拟仪器的开发过程。

  仪器面板:

  面板中的主要控件属性设置如所示。其中,NumericKnob是CVI中数字旋钮类控件,Ring是循环控制类控件,Graph是图形显示窗类控件,CommandButton是命令按钮类控件。

  参数获得及绘图:在CVI用户界面库中提供了许多关于面板和控件的函数,这些函数为用户界面事件和工程中的程序文件提供了链接。其中,GetCtrlVal()函数实现从面板上获得控件参数值的功能。函数原型为:intGetCtrlVal;其中,参数Panel_Handle是控件所在面板句柄,参数Control_ID是控件名称,参数value是变量,放置返回的参数,以地址形式表示。以下是程序设计中获得调节参数的部分源代码。

  //以下代码为获得信号的单周期采样点数、周期、增益、相位信息GetCtrlVal(panelHandle,PANEL_NUMERICKNOB_SAMPOINT,samplepoint);GetCtrlVal(panelHandle,PANEL_NUMERICKNOB_CYCLE,cycle);GetCtrlVal(panelHandle,PANEL_NUMERICKNOB_AMP,amp);GetCtrlVal(panelHandle,PANEL_NUMERICKNOB_PHASE,phase);Graph控件可以使用多种类型的绘图功能函数来图形化显示数据。其中,PlotX()函数实现沿y轴坐标绘制x轴数组的静态曲线图的功能。函数原型为:

  intPlotX(intPanel_Handle,intControl_ID,voidX_Array,intNumber_Of_Points,intX_Data_Type,intPlot_Style,intPoint_Style,intLine_Style,intPoint_Frequency,intColor);其中,参数Panel_Handle是控件所在面板句柄,参数Control_ID是控件名称,参数X_Array是沿x轴绘图数据的数组变量,参数Number_Of_Points是绘制的数据点数,参数X_Data_Type是数据类型,参数Plot_Style是绘制图表的形式,参数Point_Style是点的形状,参数Line_Style是线的形状,参数Point_Frequency是定点间隔,参数Color是曲线颜色。

  3.3虚拟实验室界面的设计

  本文以VisualC6.0作为软件支撑,采用面向对象思想,构建虚拟电子实验室界面。

  界面程序以窗体类、视图类和文档类为基础,利用窗体类实现种类繁多的器件以图片方式分类显示;通过在视图类中定义鼠标事件响应和图片处理函数,实现图片的自由拖动和显示;通过MFC的文档视图结构,实现电路文件的多种格式存储。通过分割窗体和对树形控件的使用,构建元器件栏和仿真区,显示各种元器件的状态信息,实现用户实验。

  3.4仪器的调用

  界面创建好之后,通过双击或者拖动来实现对仪器仪表的修改和使用。这里的仪器仪表都是由LabWindows/CVI开发实现的,因此需要通过编程来实现对LabWindows/CVI所创建的动态链接库的调用。

  4结束

  在虚拟电子实验室平台上,提供了灵活的虚拟实验台面板,使得学生可以在虚拟实验台面板上自由操作,实现电路连接、电路检测等性能,还可以实时的调整参数,观察参数变化对电路仿真结果造成的影响。学生可在短暂的时间里快速完成较复杂的电路连接及测试工作,观察实验现象。

上一篇:没有了