计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

免费毕业论文--基于网络的虚拟仪器测试系统(一(2)

2013-06-08 02:45
导读:发工具和Agilent VISA库。 2 开发工具和Agilent VISA库介绍 Visual C++6.0是一套功能强大面向对象的且具有集成编辑器及编译器的编程语言开发平台。今天我们所使
发工具和Agilent VISA库。
2  开发工具和Agilent VISA库介绍
      Visual C++6.0是一套功能强大面向对象的且具有集成编辑器及编译器的编程语言开发平台。今天我们所使用的许多应用软件,大部分是利用C语言来进行编写的。Visual C++6.0没有很复杂的开发界面,给用户的开发以很大的灵活性。
2.1 Visual C++6.0的特点
    在众多的程序语言中,Visual C++6.0是具有编辑和编译的集成开发环境。通过 Visual C++6.0的编辑功能,可以方便的设计程序。它的编辑功能可以随时让我们了解到程序的结构、流程以及对象的成员,而完成程序设计之后,也不必经过复杂的编译程序,而且给出的错误警告可以很方便的进行定位操作,这给程序设计人员以方便。
2.2 IDE的集成开发环境界面
 IDE就是Integrated Development Enviroment的缩写,是将程序代码的编写(editor)、编译(Compiler)、执行(execution)以及纠错(debug)等功能汇集一身的单一整合性的界面,提供程序开发过程所需要的相关或扩展服务,让用户只需要通过此环境便可以轻松完成程序工程。
2.3  Agilent VISA纵览
     VISA是Agilent IO库的一个部分。Agilent IO库由两个部分组成:VISA和SICL。Agilent VISA是根据VXIpp系统联盟的规定设计的,它允许由不同的厂商开发的软件能在同一个系统中运行。
     如果你想在你的应用程序中使用VXIpp仪器驱动或者是想是自己开发的IO应用软件或仪器驱动能符合VXIpp的标准,就需要使用VISA。如果你使用新的仪器或开发IO应用程序以及仪器驱动的话,也应该使用VISA。
     Agilent VISA 是一个IO库,可以用来开发符合VXIpp标准的IO应用软件和仪器的驱动。使用VISA开发的应用软件和仪器驱动可以在使用VISA IO库的VXIpp主机上运行。因此,不同厂商开发的应用软件可以在同一个系统中运行。
     32位版本的VISA能在Windows 95 98 Me以及NT和2000中使用。C,C++和Visual Basic在这些系统中都被支持。
     对与Windows,VISA支持GPIB、VXI、GPIB-VXI、Serial(RS-232)以及局域网接口。在Windows NT中,对VXI接口支持的VISA仅能运行在Agilent 嵌入式的VXI控制器产品中。一台网络计算机能够通过网络访问配置VISA地址譬如GPIB接口地址上的仪器。
2.4 VISA编程
     在VISA的编程中需要了解VISA的一些机制: VISA的资源和属性、会话使用、
发送I/O命令、使用事件与句柄、捕抓错误等等。
 VISA资源:在VISA中,任何VISA可以提供通讯的器件(如电压表)都可以定义为一种资源。对于一个完善的VISA系统,VISA定义完全符合VXI即插即用联盟的规范的六种资源类可以被执行。
 VISA属性: 属性是和各种资源或会话相关联的。你可以使用属性来决定资源或会话的状态或设置资源或会话为指定的状态。
譬如,你可以通过viGetAttribute函数来读取指定会话、事件、查找列表的属性的状态。有只读和读写的属性。通过使用viSetAttribute函数来修改指定的会话、事件或查找列表的读写属性。
传递给viGetAttribute函数的指针必须指向那个属性的准确类型:ViUInt16,ViInt32,等等。譬如,当读取一个返回ViUInt16值的属性的状态时,你必须声明那个属性的变量和使用它来存储返回的数值。如果ViString被返回,你必须分配一个数组和传递那个数组的指针给那个返回的数值。
    对于C和C++程序,你必须在每一个文件的开始处添加包含VISA调用函数visa.h头文件:#include “visa.h”这个头文件包含了VISA函数的原型的声明和所有VISA的常量和错误代码的定义。Visa.h头文件也包含了visatype.h头文件。
该visatype.h头文件对VISA的所有类型进行了定义。VISA的各种类型贯穿了整个VISA,对函数中用到的数据进行类型定义。
(科教作文网http://zw.NSEaC.com编辑发布)

     而关于会话,会话其实是一个通讯通道。会话必须在默认的资源管理器中被首先打开,接着是你将会使用的每一种资源。首先,你必须通过默认资源管理器的viOpenDefaultRM函数来建立一个会话。这个函数的第一次调用用来初始化默认的资源管理器并返回该资源管理器会话的会话。你仅需要打开默认资源管理器一次就可以了。然而,后来的对viOpenDefaultRM函数的调用则返回同样的默认资源管理器资源的唯一的会话。
接下来,你利用viOpen函数对指定的资源打开一个会话。而在退出程序的时候需要多打开的会话进行关闭操作,在关闭每一个会话时,必须调用viClose函数以释放掉分配给该会话的数据资源。你如果关闭默认的资源管理器会话,则所有被该会话打开的会话将会被关闭。
当你为一个器件建立一个通讯会话时,通过使用VISA的I/O程序来启动与该器件的通讯。VISA提供了格式化和非格式化的程序。
格式化I/O将对格式化字符下的混合数据类型进行转换。数据被存在数据缓冲器中,因此是接口的通讯得到最大的优化。
非格式化I/O口向一个器件发送或接收原始数据。通过非格式化I/O,数据并不进行格式化或相应的转换。因此,如果要求格式化数据,它必须通过用户自己来定义。
    事件是那些需要你的应用程序关注的特指事件。事件类型包括服务请求,中断和
硬件触发。事件不会被传递,除非相应的事件被启用。
注意:VISA不能回调VB函数。因此,你只能使用函数ViEnableEvent来使用队列机制。在VB中不能安装VISA事件句柄。
当事件发生时,有两种方式来接收通知消息:函数回调法和队列法
  当一个事件需要立即相应时,可以使用回调函数法。使用回调函数法来接收事 (转载自http://zw.NSEAC.com科教作文网)
发生时的通知消息。当使能事件发生时,安装的事件句柄会被调用。可以使用函数viInstallHandler安装事件句柄,而使用函数viEnableEvent来启动一个或多个事件。VISA允许应用程序在同一个会话中对一种事件类型安装多个句柄。多个句柄可以通过多次调用函数viInstallHandler来安装。每次调用添加到前面的句柄列表中。
如果一个事件类型被安装了多个句柄,当指定的事件发生时,每一个句柄会被调用。VISA指出,句柄的调用的顺序是后进先出的顺序。当需要安装句柄时
上一篇:PHS网络优化和维护指导思想-通信工程毕业论文 下一篇:没有了