开发仪器驱动器_gywonderful的空间_百度空间

1. VISA
   Visual Instrument Software Architecture
   虚拟仪器软件结构

2. IVI
   Interchangeable Virtual Instrument
   可互换虚拟仪器设备
   仪器驱动器是一组用于控制可编程仪器的软件模块, 其作用是简化测试应用开发中对仪器的控制.

3. 仪器按功能分为5块
   a. 数字万用表 (IVI Digital Multimeter)
   b. 示波器      (IVI Oscillosope)
   c. 函数发生器 (IVI Function Generator)
   d. 电源        (IVI Power Supply)
   e. 开关        (IVI Switch)

4. VISA定义了自己的数据类型, 所有的VISA类型以Vi开头, eg. Vichar为VISA定义的字符串类型, ViSession类型是VISA中的资源句柄的数据类型, 本质上是无符号长整型 (unsigned long)

6. 通过VISA, 由不同的硬件接口 (如RS232, GPIB 或 VXI等)连接的仪器设备可以集成到一个系统中, 由同一个软件采用统一的I/O完成所有的仪器设备的控制.

5. Lab Windows/CVI的VISA函数库的使用
   Lab Window/CVI中提供的VISA函数库就是标准VISA的一个实现
   VISA函数库包含3个子类
   a. 资源管理
      实现了VISA标准中的资源定位和接口通信的生命周期控制
   b. 资源模板
      资源模板子类实现了VISA标准中的属性控制, 资源锁定服务和事件机制
   c. 实现了VISA标准中的I/O控制


   a. 资源管理:
              - 资源定位
              - 生命周期控制
      资源定位就是一个函数viOpen DefultRM, 该函数实现了机器上所有VISA资源的定位 (具体的细节由VISA内部实现), 通过指针返回ViSession类型的资源句柄. 对所有特定资源的通信生命周期控制都是通过此句柄来实现

    打开与一个仪器通信的资源函数ViOpen
    ViStatus viOpen (ViSession RSrc_Manager_Handle,
                     ViRsc Instrument_Descriptor,
                     ViAccessMode Access_Mode,
                     ViUInt32 TimeOut,
                     ViSession *Instrument_Handle);

     b. 资源模板
        该模板子类提供了VISA的属性控制, 资源锁定服务和事件机制
        1. 属性控制
           VISA的资源, 通信资源, 事件等都具有各自的属性, 这些属性可以通过ViGetAttribute函数和ViSetAttribute函数来获取和设置
        2. 资源锁定服务
           VISA通过viLock函数提供了资源锁定服务, 通过锁定资源, 可以只允许一个或多个通信句柄同时访问资源
  
        ViStatus viLock (ViSession Instrument_Handle,
                         ViAccessMode Lock_Type,
                         ViUInt32 TimeOut,
                         ViString Requested_key,
                         ViChar Access_Key[]);
        3. 事件机制
           VISA提供了两种事件处理模式:排队事件处理和回调函数事件处理. 类似于用户界面编程中的消息循环和回调函数.
           VISA使用ViEnableEvent函数允许发生的事件的类型, 并设置事件处理的模式


      c. 特定资源操作
         包括消息基通信函数和寄存器基通信函数
         1. 消息基通信函数
            消息基仪器驱动由独立的处理器来解释收到的信息, 并将信息解释成指令或数据. 基于RS232接口和GPIB总线的仪器都是消息基仪器
         2. 寄存器基通信函数
            寄存器仪器一般不具有处理器, 也就不能对收到的信息进行解释, 因此只能直接对仪器寄存器编程. VXI仪器可以是消息基类型也可以是寄存器基类型.

本文来自CSDN博客,转载请标明出处:



郑重声明:资讯 【开发仪器驱动器_gywonderful的空间_百度空间】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——