visa控制USB设备
labview中的visa用法

在LabVIEW中使用VISA在LabVIEW中使用VISA VISA是仪器编程的标准I/O API。
VISA的多种用途VISA可控制GPIB、串口、USB、以太网、PXI或VXI仪器,并根据使用仪器的类型调用相应的驱动程序,用户无需学习各种仪器的通信协议。
VISA独立于操作系统、总线和编程环境。
换言之,无论使用何种设备、操作系统和编程语言,均使用相同的API。
开始使用VISA之前,应确保选择合适的仪器控制方法。
GPIB、串口、USB、以太网和某些VXI仪器使用基于消息的通信方式。
对基于消息的仪器进行编程,使用的是高层的ASCII字符串。
仪器使用本地处理器解析命令字符串,设置合适的寄存器位,进行用户期望的操作。
SCPI(可编程仪器标准命令)是用于仪器编程的ASCII命令字符串的标准。
相似的仪器通常使用相似的命令。
用户只需学习一组命令,而无需学习各个仪器生产厂商各种仪器的不同命令消息。
最常用的基于消息的函数是:VISA读取、VISA写入、VISA置触发有效、VISA清空和VISA读取STB。
PXI和许多VXI仪器使用基于寄存器的通信方式。
对基于寄存器的仪器进行编程,使用的是将直接写入仪器控制寄存器的底层二进制信息。
该通信方式的优点是速度快,因为仪器不需解析命令字符串,并将信息转换为寄存器层次的程序。
基于寄存器的仪器实际上是在直接硬件操作层上进行通信。
最常用的基于寄存器的函数是:VISA输入、VISA 输出、VISA转入和VISA转出LabVIEW VISA与串口通讯的编程实现(2013-05-25 11:25:52)VISA是虚拟仪器软件体系结构的缩写(即Virtual Instruments Software Architecture),实质上是一个I/O口软件库及其规范的总称。
VISA是应用于仪器编程的标准I/0应用程序接口,是工业界通用的仪器驱动器标准API(应用程序接口),采用面向对象编程,具有很好的兼容性、扩展性和独立性。
Visatron VN2020 Ex 操作说明书

油雾探测器Visatron® VN2020 Visatron® VN2020 Ex- 操作说明书 -- 183018 -尊敬的客户:操作说明书由在此描述的设备上/使用此处所描述的设备开展工作的人员编制而成。
只有在熟悉了解本操作说明书的情况下,才能避免设备故障,并且确保无故障运行。
因此,相关负责的人员必须熟悉了解本操作说明书。
操作说明书适用于:•Visatron® VN2020•Visatron® VN2020 EX在设备流转的过程中,操作说明书是用户信息的组成部分,并且必须予以妥善保管,确保使用方和操作人员可以取用。
在设备更换地点时,必须一并提供操作说明书(包括供应商的操作说明书)。
在所有生命阶段,必须留意操作说明书(包括供应商的操作说明书)中的注意事项。
为此,在开始工作前,仔细通读操作说明书中相应的章节。
对于不遵守本操作说明书导致的损失和运行故障,我们不承担任何责任。
在企业内部,必须明确且无歧义地确定谁具体负责机器(使用方),以及谁允许在机器上工作(操作人员)。
对于负责运输、安装、装调、设置、操作、维护、保养和维修的人员,必须明确地定义相应的职责。
提供原版油雾探测器操作说明书。
目录1.技术参数和交货范围 (7)2.身份识别 (10)2.1.产品品牌和型号名称 (10)2.2.制造商 (10)3.产品描述和技术参数 (11)3.1.产品描述 (11)4.油雾探测器系统 (12)4.1.油雾探测器 VN2020 (13)4.2.支架 (17)4.3.收集管管路 (17)4.4.发动机壁板螺栓连接 (MWV) 和抽吸漏斗 (18)4.5.虹吸管组 (18)4.6.软管 (19)4.7.虹吸瓶 (19)4.8.可选配件 (20)4.8.1.远程监控系统 (20)5.安全和防护措施 (21)5.1.根据用途使用 (21)5.2.可以预见的错误使用 (21)5.3.图标说明 (22)6.安装 (23)6.1.使用前的安全措施 (23)6.2.拆开包装,交货范围 (24)6.3.获得批准的油雾探测器系统图纸 (24)6.4.获得批准的油雾探测器系统图纸 (24)6.5.建立压缩空气供应 (25)6.6.建立电能供应 (26)6.7.曲轴箱上的安装孔 (26)7.油雾探测器的安装 (27)7.1.预装了支架的油雾探测器的安装 (27)7.2.没有支架的油雾探测器的安装 (27)7.3.发动机壁板螺栓连接和抽吸漏斗的安装 (28)7.4.虹吸管组的安装 (31)7.5.安装虹吸瓶 (36)7.6.安装管路 (38)7.7.软管的安装 (39)7.8.电力线路的安装 (39)7.9.远程指示器(选配)的安装 (43)7.10.首次调试 (45)7.10.1.在测量附件上设置负压 (45)7.10.2.建立供电 (48)7.10.3.设置油雾探测器的灵敏度 (48)7.10.4.投入使用时的功能测试 (49)7.10.5.投入使用检查表 (50)8.操作和使用 (51)8.1.显示和报警复位 (51)8.2.故障诊断和故障排除 (52)8.2.1.故障代码 - 所有 LED 熄灭 (53)8.2.2.故障代码 02 - 电子模块有故障 (53)8.2.3.故障代码 03 - 供应压力测量有故障 (53)8.2.4.故障代码 04 / 16 –测量值过高/测量值过低 (53)8.2.5.故障代码 06 - 供电电压不在允许的范围内 (53)8.2.6.故障代码 07 - 复位按钮有故障 (53)8.2.7.故障代码 08 - 电子系统温度过高 (> 85 °C) (53)8.2.8.故障代码 09 - 电子系统温度过低 (< -2 °C) (54)8.2.9.故障代码 10 - 环境温度过高 (> 70 °C) (54)8.2.10.故障代码 11 - 环境温度过低 (< 0 °C) (54)8.2.11.故障代码 12/17 –内部存储器校验和错误 (54)8.2.12.故障代码 13 –光学传感器污染 - 需要清洁 (54)8.2.13.故障代码 14 - 供应压力过低 (54)9.维护保养和维修 (55)9.1.维护保养 (55)9.1.1.保证安全运行的维护保养周期 (55)9.1.2.使用方负责的维护保养 (57)9.1.3.清洁光路(4,000 小时) (57)9.1.4.使用烟管进行功能测试 (60)9.2.1.更换过滤器调节阀的过滤器 (63)9.2.2.更换连接箱密封件 (64)9.2.3.油雾探测器系统检修(16,000 小时) (68)10.维修 (68)10.1.使用方负责的维修 (68)10.1.1.更换测量附件 (68)10.1.2.更换接线盒 (72)10.1.3.更换过滤器调节阀 (77)10.1.4.更换连接软管 (80)10.1.5.更换检查盖密封件 (81)10.1.6.更换安装板密封件 (83)10.1.7.更换螺旋塞 (86)10.2.由 Schaller Automation 负责的维修 (87)10.3.停止使用和拆卸 (87)11.存放 (87)12.包装 (87)13.备件 (88)13.1.备件清单 VN2020 (88)13.2.备件清单 VN2020 Ex (90)13.3.维护保养组件(4,000/8,000/12,000 小时) (92)13.4.清洁组件 (92)13.5.VN2020 服务组件(16,000 小时/24 个月) (93)14.VN2020 / VN2020 Ex 配件 (95)14.1.U 形管压力计 (95)14.2.压差测量设备 (96)14.3.烟气测试箱 (96)14.4.VN2020 售后服务箱 (97)15.插图目录 (99)16.联系信息 (103)17.变更历史记录 (104)索引索引变更日期变更人1.0 发布2019 年 12 月 19 日Adams, P. / Höh, S.1.1 参见变更历史记录2020 年 3 月 13 日Adams, P. / Höh, S.2.0 参见变更历史记录2021 年 12 月 01 日G. Kornatz1.技术参数和交货范围机械接口尺寸大约 539 x 298 x 171 mm重量12.41 kgM1 M16x1.5 外螺纹Ø10 管接头M2 M30x2 外螺纹Ø22 管接头M3 M30x2 外螺纹Ø22 管接头M4 G1/4 内螺纹M5 4x 通孔,用于 M8 螺栓电气接口供电18 – 31.2 V DC额定电压24 V DC电流消耗最大 2AE1 馈入24 V DCM25:导线直径 8-16mm通过安装时底板中的孔进行接地E2 馈入M20:导线直径 5-13mm继电器输出端 2 דHigh Oil Mist Alarm”(油雾报警)1 דReady”(运行准备就绪)1 דOil Mist Pre-Alarm”(油雾预警)(最大 60 伏特 AC / DC,1A)至监控设备的通信接口 3 线制 RS485,电绝缘/CANopen,电绝缘推荐的通信电缆LAPPKABEL UNITRONIC-FD CP (TP)plus UL-CSA气动接口P1 M16x1.5 外螺纹Ø10 管接头压缩空气供给最小 2 bar最大 14 bar压缩空气消耗量 1.2 nm³/h ± 10%数值可能根据具体的客户解决方案而变化负压M4 位置测量和设置负压最小-55mmWs (-5.5 mbar)公称-60mmWs (-6 mbar)最大-65mmWs (-6.5 mbar)空气质量ISO 8573-1:2010 - 6-4-4环境条件工作温度 5 至 70 °C仓储温度区间-25 至 80 °C相对湿度最高 95%防护等级IP 54振动 5 – 25 Hz: 1.6 mm 峰值25 – 100 Hz:40m/s²峰值2.身份识别2.1.产品品牌和型号名称本操作说明书适用于 VISATRON® 品牌型号系列 VN2020 的油雾探测器。
visa 命令使用手册

visa 命令使用手册摘要:一、Visa命令简介二、Visa命令的使用方法1.连接到Visa设备2.发送命令到Visa设备3.读取Visa设备的响应4.处理异常情况三、常用Visa命令介绍1.基本读写命令2.配置命令3.查询命令4.控制命令四、Visa命令的实战应用1.案例一:读取实时数据2.案例二:配置设备参数3.案例三:实现设备控制五、注意事项与建议正文:一、Visa命令简介Visa命令是用于控制和通信各类仪器设备的统一接口规范,它涵盖了从基本读写、配置、查询到控制等各方面的操作。
通过Visa命令,用户可以方便地实现与仪器设备的交互,从而完成各种复杂的功能。
二、Visa命令的使用方法1.连接到Visa设备在使用Visa命令前,首先需要使用适当的通信线缆连接到Visa设备。
常见的连接方式有串口、以太网口、USB口等。
连接成功后,可以通过Visa库调用相应的驱动程序与设备进行通信。
2.发送命令到Visa设备连接成功后,可以利用Visa库发送命令到设备。
Visa命令以字节流的形式发送,每个命令都包含一个字节数的命令字段和可选的数据字段。
发送命令时,需要注意命令字段的编码方式,以及数据字段的长度和数据类型。
3.读取Visa设备的响应设备接收到Visa命令后,会返回一个响应字节流。
用户需要解析响应字节流,提取有用信息。
响应字段包括状态码、数据长度和实际数据。
状态码用于判断命令执行是否成功,数据长度表示实际返回的数据长度,实际数据则是命令执行结果的具体内容。
4.处理异常情况在Visa命令使用过程中,可能会遇到异常情况,如设备未连接、命令执行失败等。
此时,需要根据异常码和错误信息采取相应的处理措施,如重新连接设备、检查命令参数等。
三、常用Visa命令介绍1.基本读写命令基本读写命令包括:- Read:从设备读取数据- Write:向设备写入数据2.配置命令配置命令包括:- Configure:设置设备参数- Query:查询设备参数3.查询命令查询命令包括:- Status:查询设备状态- Identify:查询设备标识4.控制命令控制命令包括:- Initialize:初始化设备- Close:关闭设备- Start:启动设备- Stop:停止设备四、Visa命令的实战应用1.案例一:读取实时数据利用Visa命令读取实时数据的应用场景如下:- 使用Read命令从设备读取数据- 对数据进行处理和分析- 将结果保存到文件或数据库2.案例二:配置设备参数利用Visa命令配置设备参数的应用场景如下:- 使用Configure命令设置设备参数- 使用Query命令查询设备参数- 根据实际情况调整参数值3.案例三:实现设备控制利用Visa命令实现设备控制的应用场景如下:- 使用Control命令控制设备状态- 根据设备需求,编写控制程序- 监控设备运行状态,确保正常运行五、注意事项与建议1.在使用Visa命令时,请确保设备连接正常,避免因连接问题导致通信失败。
labview中的visa用法

在LabVIEW中使用VISA在LabVIEW中使用VISA VISA是仪器编程的标准I/O API。
VISA的多种用途VISA可控制GPIB、串口、USB、以太网、PXI或VXI仪器,并根据使用仪器的类型调用相应的驱动程序,用户无需学习各种仪器的通信协议。
VISA独立于操作系统、总线和编程环境。
换言之,无论使用何种设备、操作系统和编程语言,均使用相同的API。
开始使用VISA之前,应确保选择合适的仪器控制方法。
GPIB、串口、USB、以太网和某些VXI仪器使用基于消息的通信方式。
对基于消息的仪器进行编程,使用的是高层的ASCII字符串。
仪器使用本地处理器解析命令字符串,设置合适的寄存器位,进行用户期望的操作。
SCPI(可编程仪器标准命令)是用于仪器编程的ASCII命令字符串的标准。
相似的仪器通常使用相似的命令。
用户只需学习一组命令,而无需学习各个仪器生产厂商各种仪器的不同命令消息。
最常用的基于消息的函数是:VISA读取、VISA写入、VISA置触发有效、VISA清空和VISA读取STB。
PXI和许多VXI仪器使用基于寄存器的通信方式。
对基于寄存器的仪器进行编程,使用的是将直接写入仪器控制寄存器的底层二进制信息。
该通信方式的优点是速度快,因为仪器不需解析命令字符串,并将信息转换为寄存器层次的程序。
基于寄存器的仪器实际上是在直接硬件操作层上进行通信。
最常用的基于寄存器的函数是:VISA输入、VISA 输出、VISA转入和VISA转出LabVIEW VISA与串口通讯的编程实现(2013-05-25 11:25:52)VISA是虚拟仪器软件体系结构的缩写(即Virtual Instruments Software Architecture),实质上是一个I/O口软件库及其规范的总称。
VISA是应用于仪器编程的标准I/0应用程序接口,是工业界通用的仪器驱动器标准API(应用程序接口),采用面向对象编程,具有很好的兼容性、扩展性和独立性。
NIVISA简介

N1-VISA简介NI-VISA(Virtual Instrument Software Architecture,以下简称为"VISA")是美国国家仪器NI(National1nstrLlrnent)公司开发的一种用来与各种仪器总线进行通信的高级应用编程接口。
VISA总线I/0软件是一个综合软件包,不受平台、总线和环境的限制,可用来对USB、GPIB、串口、VXI、PXI和以太网系统进行配置、编程和调试。
VISA是虚拟仪器系统I/O 接口软件。
基于自底向上结构模型的VISA创造了一个统一形式的I/O控制函数集。
一方面,对初学者或是简单任务的设计者来说, VISA提供了简单易用的控制函数集,在应用形式上相当简单;另一方面,对复杂系统的组建者来说,VISA提供了非常强大的仪器控制功能与资源管理。
2 LabVIEW及其调用VISA的条件LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是NI公司开发的一种基于图形程序的编程语言。
用户利用创建和调用子程序的方法编写程序,使创建的程序模块化,而且程序编制简单、直观。
一个LabVIEW程序分为3部分:前面板、框图程序和图标/接线端口。
前面板用于模拟真实仪器的前面板;框图程序是利用图形语言对前面板上的控件对象(分为控制量和指示量两种)进行控制;图标/接线端口用于把LabVlEW程序定义成一个子程序,从而实现模块化编程。
当进行USB通信时,VISA提供了两类函数供LabVIEW调用,USB INSTR设备与USB RAW设备。
USB INSTR设备是符合USBTMC协议的USB设备,可以通过使用USB INSTR类函数控制,通信时无需配置NI-VISA;而USB RAW设备是指除了明确符合USBTMC规格的仪器之外的任何USB设备,通信时要配置NI-VISA。
(1)配置NI-VISA的步骤①使用Driver Development wizard(驱动程序开发向导)创建INF文档;②安装INF文档,并安装使用INF文档的USB设备③使用NI-VISA Interactive Control(NI-VISA互动控制工具)对设备进行测试,以证实USB 设备已正确安装,并获得USB设备的各属性值。
USB 3 0编程宝典

读书笔记模板
01 思维导图
03 读书笔记 05 作者介绍
目录
02 内容摘要 04 目录分析 06 精彩摘录
思维导图
本书关键字分析思维导图
驱动程序
应用
驱动程序
小结
概述
第章
类
宝典
设计
设备 设备
编程
接口
设计
总线
实例
固件
接口
请求
内容摘要
本书详细地讲述了USB接口的编程原理及应用实例。第一篇介绍了USB总线接口的协议、事务处理、数据传输 方式以及设备配置等;第二篇介绍了USB接口驱动程序的设计,包括使用DriverStudio进行驱动程序设计、使用 通用USB驱动程序以及LabVIEW平台下的驱动程序设计。第三篇介绍了在DriverStudio、C++、C#和LabVIEW平台 下如何对USB接口进行读写控制;第四篇通过11个例子,介绍了在不同的应用场合下USB接口设备的设计,包括了 完整的电路图、固件程序、驱动程序和上位机程序设计。
25.1示波器简介 25.2示波器编程接口 25.3 USB读写示波器实例 25.4使用NI-VISA控制示波器实例 25.5小结
26.1 Android平台简介 26.2 Android的USB接口 26.3 USB硬件设计 26.4 Android程序设计 26.5小结
作者介绍
这是《USB 3.0编程宝典》的读书笔记模板,暂无该书作者的介绍。
2.1 USB的供电 2.2典型USB外设的电源设计 2.3 USB电源管理 2.4小结
3.1 USB事务处理概述 3.2令牌阶段 3.3数据阶段 3.4握手阶段 3.5 USB事务处理 3.6 USB设备的总线状态 3.7 USB设备的总线列举 3.8小结
NI-VISA
我现在想实现Labview跟USB的数据通信。
关于VISA的资源名称,我找到如下信息:配置NI-VISA的步骤 ①使用Driver Development wizard(驱动程序开发向导)创建INF文档; ②安装INF文档,并安装使用INF文档的USB设备; ③使用NI-VISA Interactive Control(NI-VISA互动控制工具)对设备进行测试,以证实USB设备已正确安装,并获得USB设备的各属性值。
我用自己的一个4G的U盘做试验,严格按照这个程序来的,将生成的prefix.inf文件复制到c:/windows/inf下并进行安装,但第三步还是说:unnable to find the resources。
是不能用U盘做实验么? 现在的情况是我的U盘现在在我机子上完全识别不了.... 1、怎样将Labview跟USB联系起来 2、怎样恢复我U盘的功能(估计就是那个prefix.inf文件的关系) 那位大虾提携一下小弟。
如果可以的话,留一个联系方式,请教关于Labview的问题。
不甚感激! 问题补充:驱动更新不了,现在U盘还是没法用......不过还是挺感激你的,看来关于LABVIEW方面还是得再学学啊提问者: sukong123 - 二级最佳答案你这个问题比较复杂,如果你要想完全弄明白,需要看相对多的技术资料。
我简单的说一下吧。
1.是不能用U盘做实验么?VISA是个通用的仪器驱动标准,国际上有专门的联盟,制定这个标准,很多大型的仪器厂商的产品都遵循这个标准,无论是USB、串口、GPIB或是以太网。
NI-VISA就是使用这个标准开发出的一套软件,或者叫做驱动也行。
就是根据这个标准,NI公司又进行了一次封装,并且提供了Driver wizard这个驱动向导软件。
使用Driver wizard开发USB驱动时,实际上底层的驱动是VISA。
你在使用Driver wizard配置USB时,应该有步是设置Vendor ID和Product ID,我不知道这两个号你是怎么添的,这两个配置数字必须和你U盘上的配置芯片中的数字吻合才能真正形成你的USB驱动。
使用NI-VISA软件控制USB设备
使用NI-VISA软件控制USB设备您所在的位置:产品介绍>数据采集>这一用户指南为您提供一个入门材料,旨在帮您学习如何使用NI-VISA 与USB设备进行通讯,并非学习USB构架或USB通讯中使用的各种协议的材料。
阅读本用户指南以后,只要您已经理解了设备通讯协议,您应该就能够安装USB设备,并使用NI-VISA 与该设备进行通讯。
目录:1. USB 与VISA 的背景知识2. 配置NI-VISA 来控制USB 设备3. 用NI-VISA 与USB设备进行通讯1. USB 与VISA 的背景知识VISA(Virtual Instrument Software Architecture,/visa)是一个用来与各种仪器总线进行通讯的高级应用编程接口(API)。
它不受平台、总线和环境的限制。
换言之,与GPIB 设备进行通讯的程序,无论是在运行Windows 2000的机器上用LabVIEW开发出来的,还是在运行Mac OS X的机器上用C语言编写的,都可以使用同一个API。
通用串行总线(USB)是一个基于信息的通讯总线。
这表示PC机与USB设备通过发送指令和数据进行通讯,而这些指令和数据是通过总线以文本或二进制数据的形式发送的。
每个USB设备都有各自的指令集。
您可以使用NI-VISA 的读写功能向仪器发送这些指令,并读取仪器的反馈。
可向仪器制造商索要仪器的有效指令清单。
NI-VISA 从3.0版开始支持USB通讯,它有两种VISA类函数(Resource Class) ,可以控制两类USB设备:USB INSTR设备与USB RAW设备。
符合USB测试和测量类(USBTMC)协议的USB设备可以通过使用USB INSTR类函数控制。
USBTMC 设备符合VISA USB INSTR类函数能够理解的协议。
与USBTMC设备进行通讯不需要进行配置。
与USBTMC仪器的通讯,请参看第3节。
如果要了解更多有关USBTMC 规格的信息,请参看下面链接的USB应用者论坛(USB Imlementers Forum)网页。
LV中学者常见问题
1、? 如何用LV与可编程仪器通信,该仪器没有GPIB接口,但有COM口,能否用LV操作?A:可以通过LV的串口通信来解决仪器控制问题,参看FIND EXAMPLE的BASIC 2 PORT SERIAL WRITE AND READ.VI??2、? 如何将EVENTSTRUCT中捕获的时间传递到STATE DIAGRAM?A:使用VENTSTRUCT捕获面板事件后,将不同的事件对应于不同的字符串和其他,再通过QUEUE将VENTSTRUCT中的字符串传递到STATEDIAGRAM中,再根据得到的字符串进行相应的处理。
?3、? 使用WRITE TO BINARY FILE函数向二进制文件中写入一个1D数组,为什么在READ FROM BIANRY FILE读取时,会多出4个字节数据呢?A:写入时加入了头信息,多出的4个字节就是头信息,代表了数组或字符串的长度。
在WRITE TO BINARY FILE 中的APPEND ARRAY OR STING SIZE这个输入端口中设置,其默认值为T,代表加入头信息;如果将其改为F,就不会多出4个字节了。
?4、? 卸载7.1时出现错误1603,接着出现错误1722和1721,程序询问是否继续卸载操作,怎样消除该错误并正确卸载7.1?A:该错误通常出现在试图卸载某些共享组件的时候。
按照以下步骤可以解决该问题。
1)? 注意当错误发生时是在卸载哪一部分组件。
一般讲在卸载LV核心部分或LV RUNTIME ENGINE的时候容易出现。
2)? 当出现错误代码1603,弹出对话框提示继续卸载操作时候,点击YES3)? 如果卸载完成之后提示需要重新启动计算机,点击NO。
4)? 对于卸载过程中产生的错误,从CD相应的文件夹中手动运行相应的组件,路经如下:\components\lvcorefull\lvcorefull.msi或components\lvruntimeeng\lvruntimeeng.msi点击修复按钮。
用Labview基于NI VISA控制USB接口
基于NI-VISA与LabVIEW的USB接口应用设计2008-01-15 嵌入式在线收藏| 打印通用串行总线(USB)作为一种灵活的高速总线接口技术,非常适合作为主机和外设之问的通信接口,但其结构复杂。
本文以一个采集多点温度的实际系统为倒,阐述USB接口应用系统的总体设计思想及其层次结构,在实现方法上避开传统的Windows编程技术,另辟蹊径地给出使用NI-VISA 来驱动USB接口以应用LabVIEW进行应用编程的方法。
USB(Universal Serial Bus)接口是近年来应用在PC领域的新型接口技术。
它基于单一的总线接口技术来满足多种应用领域的需求;它的即插即用、支持热插拔、易于扩展等特性极大地方便了用户的使用,已逐渐成为现代数据传输的发展趋势。
传统的开发USB应用系统的步骤是,先用WindowsDDK(设备驱动程序开发包)或第三方开发工具(如DriverStudio)开发USB驱动程序,然后用Visual C++编写DLL(动态连接库),最后再调有DLL来开发应用程序。
显然,这对Windows编程不熟悉的人来说有一定的难度,何况USB驱动程序的开发难度很大。
本文介绍一种简单、快速开发USB接口应用系统的方法。
它直接在LabVIEW环境下通过NI-VISA开发能驱动用户USB系统的应用程序,完全避开了以前开发USB驱动程序的复杂性,大大缩短了开发周期。
1 NI-VISA简介NI-VISA(Virtual Instrument Software Architec-ture,以下简称为“VISA”)是美国国家仪器NI(National Instrument)公司开发的一种用来与各种仪器总线进行通信的高级应用编程接口。
VISA总线I/O软件是一个综合软件包,不受平台、总线和环境的限制,可用来对USB、GPIB、串口、VXI、PXI和以太网系统进行配置、编程和调试。
VISA是虚拟仪器系统I/O接口软件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用NI-VISA软件控制USB设备您所在的位置:产品介绍>数据采集>这一用户指南为您提供一个入门材料,旨在帮您学习如何使用NI-VISA 与USB设备进行通讯,并非学习USB构架或USB通讯中使用的各种协议的材料。
阅读本用户指南以后,只要您已经理解了设备通讯协议,您应该就能够安装USB设备,并使用NI-VISA 与该设备进行通讯。
目录:1. USB 与 VISA 的背景知识2. 配置 NI-VISA 来控制USB 设备3. 用 NI-VISA 与USB设备进行通讯1. USB 与VISA 的背景知识VISA(Virtual Instrument Software Architecture,/visa)是一个用来与各种仪器总线进行通讯的高级应用编程接口(API)。
它不受平台、总线和环境的限制。
换言之,与GPIB 设备进行通讯的程序,无论是在运行Windows 2000的机器上用LabVIEW开发出来的,还是在运行Mac OS X的机器上用C语言编写的,都可以使用同一个API。
通用串行总线(USB)是一个基于信息的通讯总线。
这表示PC机与USB设备通过发送指令和数据进行通讯,而这些指令和数据是通过总线以文本或二进制数据的形式发送的。
每个USB设备都有各自的指令集。
您可以使用NI-VISA 的读写功能向仪器发送这些指令,并读取仪器的反馈。
可向仪器制造商索要仪器的有效指令清单。
NI-VISA 从3.0版开始支持USB通讯,它有两种VISA类函数 (Resource Class) ,可以控制两类USB设备:USB INSTR设备与USB RAW设备。
符合USB测试和测量类 (USBTMC)协议的USB设备可以通过使用USB INSTR类函数控制。
USBTMC设备符合VISA USB INSTR类函数能够理解的协议。
与USBTMC设备进行通讯不需要进行配置。
与USBTMC仪器的通讯,请参看第3节。
如果要了解更多有关USBTMC 规格的信息,请参看下面链接的USB应用者论坛(USB Imlementers Forum)网页。
USB RAW 仪器是指除了明确符合USBTMC 规格的仪器之外的任何USB仪器。
如果您正在使用USB RAW 设备,请按照第2节的说明来配置NI-VISA 以控制您的设备。
请与仪器制造商联系,以获取通讯协议与仪器所用指令集的详细资料。
如果要了解有关NI-VISA API的具体信息,请参考《NI-VISA 用户手册》与《NI-VISA程序员参考手册》。
NI-VISA中附有这两个文件,通过本指南最后的链接也可以获得这两个文件。
2.配置 NI-VISA 来控制USB设备本节将逐步介绍如何在基于Windows的计算机上用NI-VISA 3.0来控制USB RAW设备。
如果您使用的是USBTMC兼容设备,就请连接设备,然后跳到2.3节。
此时,NI-VISA 应该已经安装在您的计算机上,而您的USB设备还没有接上。
此外,您也不要安装该USB设备的驱动程序。
我们分三个步骤来配置您的USB设备以便用NI-VISA 来对其进行控制:1. 使用Driver Development Wizard (驱动程序开发向导) 创建INF文档。
2. 安装INF文档,并安装使用INF文档的USB设备。
3. 使用NI-VISA Interactive Control (NI-VISA互动控制工具)对设备进行测试。
本指南将以安装在 Windows XP 操作系统中的NI DAQPad-6020E型USB设备为例。
由于本指南旨在说明一般USB设备的配置,因此将不会就 DAQPad-6020E的具体细节进行探讨。
请记住,对于DAQPad-6020E来说,NI-DAQ是唯一受支持的驱动程序。
2.1.使用Driver Development Wizard创建INF 文档为了使用NI-VISA,您必须先让Windows将NI-VISA作为设备的缺省驱动程序使用。
在Windows 环境中,您可以通过INF文档做到这一点。
NI-VISA 3.0 中包含的VISA Driver Development Wizard(DDW)将为您的USB设备创建一个INF 文档。
1. 选择Start Programs National Instruments VISA VISA Driver Developer Wizard,打开DDW。
出现图1所示的窗口。
图 1. VISA DDW 硬件总线窗口您可以用这个向导为PXI/PCI或USB设备创建一个INF文档。
由于您是在为USB设备创建驱动程序,因此选择USB,并点击Next。
此时出现图2所示的VISA DDW 基本设备信息窗口。
图2. VISA DDW 基本设备信息窗口2. 进行这一步时,您需要清楚USB仪器的USB供应商ID和产品ID。
这些数字可以在您安装USB设备的时候对其进行确认,并在您想要与设备通讯的时候,寻找它的地址。
依据USB 的规格,两个数字都是16位十六进制数字,并应该由设备制造商提供。
在相应栏内输入设备的供应商ID、产品ID、制造商名称和型号名称。
对于DAQPad-6020E,供应商ID 和产品ID则分别是0x3923 和0x12C0。
如果您的设备不是NI DAQPad-6020E,它们则会有不同的供应商ID 和产品ID。
请与设备供应商联系以获取这些信息。
然后请点击Next。
出现如图3所示的输出文档属性窗口(Output Files Properties Window)。
图3. VISA DDW 输出文档属性窗口3. USB Instrument Prefix (USB仪器前缀) 只是一个描述符,您可以用它来识别本设备所用的相关文档。
在USB Instrument Prefix中输入相应信息,并在“output file directory”中选择存放这些文档的目录,然后点击Finish。
INF文档就被建好并保存在您指定的位置了。
2.2安装INF文档和USB设备在各个版本的Windows中,INF文档的安装方式各不相同。
DDW 创建INF文档时,INF 文档顶部的标题中会包含安装指导。
因为INF文档是ASCII文本文件,所以可以通过诸如记事本之类的任何文本编辑器进行阅读。
如果要了解有关安装INF文档的详细信息,就请在文本编辑器中打开您的INF文档,然后遵照文档顶部的指导行事。
本指南假定您使用的是Windows XP操作系统。
1. 复制INF文档并将其放入INF文件夹。
在Windows XP中,这个文件夹的位置通常是:“C:\WINDOWS\INF”。
这个文件夹可能是隐藏的,因此您也许需要将文件夹选项改成显示隐藏文件。
2. 右击C:\WINDOWS\INF文件夹中的INF文件,然后点击Install。
这个过程为您的设备创建了PNF文档。
您现在就可以准备安装USB 设备了。
3. 连接USB设备。
因为USB具有热拔插功能,所以Windows应该能够探测到您的USB 设备,设备接上USB端口之后,立即会打开“添加新硬件向导”(Add NewHardware Wizard)。
遵照屏幕上有关向导程序的指导行事。
如果您准备为该设备选择驱动程序,就请浏览INF文件夹,并选择您使用DDW创建的INF文档。
2.3使用VISA Interactive Control测试通讯情况1. 打开Measurement & Automation Explorer(MAX)。
选择Tools Refresh刷新界面。
您的USB设备应该如图4所示,您的USB设备出现在Devices and Interfaces栏目下面。
现在您的USB设备已经安装和设置完毕,可以使用NI-VISA了。
如果您点击选择您的USB设备,“属性”窗口中就会显示设备的相关信息。
使用这个窗口,您可以访问诸如制造商ID、型号代码以及设备序列号之类的信息。
图4.Measurement & Automation Explorer中显示的USB设备2. 使用您的USB设备的VISA 仪器描述符,通过VISA与设备进行通讯。
USB INSTR 设备的仪器描述符格式是USB[主板]::制造商ID::型号代码::序列号[:: USB接口编号]::INSTR。
USB RAW 设备的仪器描述符格式是USB[主板]::制造商ID::型号代码::序列号[:: USB接口编号]::RAW。
根据USBTMC的规格要求,所有 USBTMC设备都必须具备序列号。
一些 USB RAW 设备可能没有序列号。
如果您的设备没有序列号,NI-VISA 会为该设备自动分配一个VISA专用的序列号。
该序列号的格式是NI-VISA-#,这里的 # 是一个自动生成的数字。
一些USB设备拥有多个接口。
这与PCI 设备可以拥有多个功能的方式很相似。
如果您的设备仅仅支持一个接口,就不必输入USB接口编号。
DAQPad-6020E 使用RAW类函数,而制造商代码与型号代码则分别为0x3923 和0x12C0。
对于DAQPad-6020E,仪器描述符则是:USB0::0x3923::0x12C0::00B50DAE::RAW。
打开Measurement & Automation Explorer,以测试与该设备的通讯情况。
选择Tools»NI-VISA»VISA Interactive Control,应出现与图5所示窗口相似的窗口。
图5. VISA交互控制(VISA Interactive Control)3. VISA交互控制(VISAIC)是一个实用程序,可用来轻而易举地与任何VISA 资源进行通讯。
做好使用VISA的配置之后,您的USB设备就会被列入USB分项之中。
双击您的设备,打开设备的VISA对话框。
应出现如图6所示的窗口。
图6. “VISA交互控制”打开VISA 对话框当您使用VISAIC打开VISA Session时,会自动选择“Template(模板)”表格与“Property Node (Read)”(属性节点(只读))表格。
选择想要读取的属性并点击Execute,以读取此项属性。
“Current Value”(当前值)指示栏中即显示“Attribute Name”(属性名称)中指定属性的当前值。
图6中,可以看到Resource Name(资源名称)的属性。
如果想要了解有关使用VISAIC的更多信息,请参考Developer Zone Tutorial: VISA Interactive Control (VISAIC)(参照文章结尾处的链接)。
如果需要有关NI-VISA API的信息,请查阅NI-VISA Programmer Reference Manual and the NI-VISA User Manual。