课件中电路仿真和动态模拟动画用本系统提供的卡诺图动态模拟器、数字电路动态模拟器、数字逻辑动态模拟器和模型计算机动态模拟器五个网络课程支持工具二次开发实现,二次开发的动画可以脱离工具软件直接运行。还有少部分动画直接用Java 编程实现;课件中的图片在支持工具中截取;为便于掌握工具软件的使用,提供有基于浏览器的视频操作示范,视频操作示范用 HyperCam 软件制作。
该模型中虚拟实验平台是一个实现人机交互的图形界面,主要完成数据的采集和结果的输出显示。
后台计算程序是一个数据处理模块,负责完成两方面的工作:一方面将用户编辑输入的电路转换成模拟数据;另一方面,利用用户输入的外部激励信号和控制命令驱动电路,进行模拟计算得出模拟结果。
虚拟设备库中包含了数字逻辑实验中所要用到的所有设备,包括各种电源器件、显示器件(各种指示灯等)、基本门电路、集成芯片、各种仪器(如示波器)等。所有这些虚拟器件都需要为其建立相应的对象模型。对上述的虚拟元件建立的模型是E=(N,F,I,O),其中,N为元件的类型名称,F为元件的功能,I、O是元件的输入输出端口。
VC作为一种面向对象的语言,同时具备强大的图像处理能力,从而成为了开发的首选工具,借助于Microsoft出色的MFC类库和应用程序框架,能够轻易实现对象的存储与表示。然而,直接使用VC来编写代码实现虚拟设备库中大量器件的逻辑功能,其工作十分烦琐。为此笔者选择采用LabVIE来编制虚拟器件的逻辑功能函数并生成DLL函数以供VC中调用,从而简化这部分代码的编写与调试。
1 LabVIEW与虚拟仪器编程
1.1虚拟仪器是计算机仿真的基本元件
虚拟仪器(Virtual Instrument,简称Ⅵ)是LabVIEW首先提出的创新概念。所谓虚拟仪器,是在以通用计算机为核心的硬件平台上,由用户设计定义、具有虚拟面板、测试功能由测试软件实现的一种计算机仪器系统。它利用PC计算机显示器(CRT)的显示功能模拟传统仪器的控制面板,以多种形式表达输出检测结果,利用PC计算机强大的软件功能实现信号数据的运算、分析、处理,由I/O接口设备完成信号的采集、测量与调理,从而完成各种测试功能。“虚拟”二字主要包含两方面的含义:
第一,虚拟仪器的面板是虚拟的。
第二,虚拟仪器测量功能由软件编程来实现。
最初LabVIEW提出的虚拟仪器概念实际是一种程序设计思想,目前虚拟仪器概念已经发展成为一种创新的仪器设计思想。这种思想可以简单表述为:一个VI可以由前面板、数据流图和图标连接端口组成,前面板相当于真实物理仪器的操作面板,而数据流框图就相当于仪器的电路结构,前面板和数据流框图有各自的设计窗口,而图标连接端口则负责前面板窗口和框图窗口之间的数据传输与交换。
1.2 LabVlEW是图形化的虚拟仪器编程语言
LabVIEW(Laboratory Virtual Instrument EngineeringWorkbench,实验室虚拟仪器工程平台)是美国m公司(NationalInstrumem Company)最先于1986年发布的一种基于G语言(Graphics Language,图形化编程语言)的虚拟仪器软件开发工具,到目前LabVIEW已经发展到8.0版本。可以说虚拟仪器是与LabVIEW同步诞生的。目前已有多种的虚拟仪器的软件开发工具,如C、Visual C++、Visual Basic、Labwindows/CVI等属于文本式编程语言,而LabVIEW,HPVEE则属于图形化编程语言。LabVIEW以其强大的便捷的图形化编程方式赢得了包括航空、航天、通信、汽车、半导体、生物医学等世界范围众多领域的广泛应用,从大学实验室到工厂,从探索研究到技术集成,我们都可以发现LabVIEW应用的成果和开发的产品。