关键词不能为空

当前您在: 主页 > 英语 >

labview通过USB控制agilent33220

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-06 05:40
tags:

-

2021年2月6日发(作者:圆模)



Labview


的仪器控制程序设计




摘要






LabVIEW



Laboratory Virtual instrument Eng ineering



是一种图形化的编程语言,



广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪 器控制软


件。






通过


US B


接口直接连接


PC



agilent33220


任意波形发生器,运用


la bview


来控制


agilent33220

< br>,产生任意波形。






第一部分,通过


labview


实现了对指定波形如:直流波(


DC




sin


三角正弦函数波

< br>(


sine




矩形波



square




三角波



tri angle




斜波

< br>(


ramp




脉冲



pulse




噪声



noise< /p>




SinX/X


sinc


)等波形的频率(


HZ



KHZ



M HZ



,幅值(


mV

< br>,


V


)的控制。






第二部分,



对于任意波形。首先,打 开画图,手写随意画一个波形,保存为单色位


图。打开


matl ab


,读取这张图,并转化为矩阵,编写一个简单的


m


程序,读取每列中


0


的高度。并产生一个记录每 列


0


高度的矩阵。输出这个矩阵数据到


txt


文档。其次,打



labvie w


,读取


txt


,转化为矩阵。输入给 产生任意波形的元件,再输出到


33220


上,


从而产生一个和手写波形一样的波形了。






关键词



labview



agilent33220



matlab


























1






Labview instrument control programming




Abstract






LabVIEW


(Laboratory


Virtual


instrument


Engineering)


is


a


graphical


programming


language, it is widely in industry, academia and research laboratories accepted as a standard


data acquisition and instrument control software.






Directly


connected


to


PC


through


USB


interface,


and


agilent33220


arbitrary


waveform


generator, using labview to control the agilent33220, generate arbitrary waveforms.






The first part, through labview achieve the specified waveform such as: DC wave (DC),


sin


triangular


sine


wave


(sine),


rectangular


wave


(square),


triangle


(triangle),


ramp


(ramp),


pulse (pulse), noise (noise), SinX / X (sinc) such as the frequency of the waveform (HZ, KHZ,


MHZ), amplitude (mV


, V) control.






The second part, for any waveform. First, open the drawing, handwriting free to draw a


waveform, save for the monochrome bitmap. Open matlab, read this map, and into the matrix,


write a simple m program to read the height of each column 0. And produce a record height of


each column matrix 0. Output of the matrix data to the txt , open labview,


read


txt,


into


a


matrix.


Input


device


to


generate


arbitrary


waveforms,


and


then


output


to


33,220, and to produce one and the same wave of the hand wave.





Keywords:


labview



agilent33220



matlab





















2



目录




摘要


....................................... .................................................. .................................................. ......1



Abstract


. .................................................. .................................................. .....................................2


第一章



引言


.................................................. .................................................. .........................


4


1.1


Labview


概述


....... .................................................. .................................................. ....


4


1.1.1


虚拟仪器 (


VI




. .................................................. ..........................................


4


1.1.2


labview


软件


....... .................................................. ...........................................


4


第二章



labview


简介



.............................................. .................................................. ...........


5


2.1


labview


含义



.


.................................. .................................................. ............................


5

< br>2.1.1


虚拟仪器(


VI


)的 概念


.................................... ............................................


5


2.1.2 labview


的概念


................. .................................................. ...........................


5


2.2


labview


的特点


...... .................................................. .................................................. ..


6


2.3


Labview


版本信息


..... .................................................. ...............................................


6


2.4


labview


8.2


下载



.


.......................................... .................................................. .............


6


第三章


agilent 33220


简介


.................... .................................................. ..........................


7


3.1


技术资料


......... .................................................. .................................................. ...........


7


3.2


33220A



LabVIEW


驱动程序



.


.. .................................................. ........................


7


第四章



程序的编写


...................... .................................................. .....................................


8


4.1


单个波形


........ .................................................. .................................................. ...........


8


4.2


多个波形


....................... .................................................. ............................................


10


4.3


任意波形


....................... .................................................. ............................................


13


4.4


任意波形的操作简化


.................. .................................................. ..........................


17


第五章



结语


.................................................. .........................................


错误!未定义书签。



5.1


设计实现的功能


.................... .................................................. ............................... 211


5.2


设计方面的欠缺


.................... .................................................. .................................


21


致谢



.


.. .................................................. .................................................. .......................................


22


参考文献


......... .................................................. .................................................. ......................


22









3




第一章



引言




1.1


Labview


概述



1.1.1


虚拟仪器(


VI








虚拟仪器(


virtual


inst rumention


)是基于计算机的仪器。计算机和仪器的密切结合

< br>是目前仪器发展的一个重要方向。粗略地说这种结合有两种方式,一种是将计算机装入

仪器,其典型的例子就是所谓智能化的仪器。随着计算机功能的日益强大以及其体积的


日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方


式是将仪器装入计算机。以通用的计算机硬件及操作系统为依托,实现各种仪器功能。


虚 拟仪器主要是指这种功能。







虚拟仪器实际上是一个按照仪器需 求组织的数据采集系统。


虚拟仪器的研究中涉及


的基础理论主要 有计算机数据采集和数字信号处理。目前在这一领域内,使用较为广泛


的计算机语言是美 国


NI


公司的


LabVIEW




1.1.2 labview


软件






LabVIEW

< br>(


Laboratory Virtual instrument Engin eering



是一种图形化的编程语言,


广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控 制软


件。


LabVIEW


集成了与满足


GPIB



VXI


RS-232



RS-485< /p>


协议的硬件及数据采集卡


通讯的全部功能。它还内置了便于应用< /p>


TCP/IP



ActiveX


等软件标准的库函数。这是一


个功能强大且灵活的软件。利用它可以方便 地建立自己的虚拟仪器,其图形化的界面使


得编程及使用过程都生动有趣。







图形化的程序语言,又称为“G”语言。使用这种语言编程时 ,基本上不写程序代


码,取而代之的是流程图或流程图。它尽可能利用了技术人员、科学 家、工程师所熟悉


的术语、图标和概念,因此,


LabVIEW


是一个面向最终用户的工具。它可以增强你构


建自己的科学和工 程系统的能力,提供了实现仪器编程和数剧采集系统的便捷途径。使


用它进行原理研究, 设计,测试并实现仪器系统时,可以大大提高效率。













4




第二章



labview


简介



2.1



labview


含义



2.1.1


虚拟仪器(


VI


)的概念





虚拟仪器的起源可以追溯到


20


世纪


70


年代,那时计算机测控系统在国防、航天等


领域已经有了相当的发展。


PC


机出现以后,仪器级的计算机化 成为可能,甚至在



Microsof


t


公司的



Windows


诞生之前,


NI


公司已经在


Macintosh


计算机上推 出了


LabVIEW2.0


以前的版本。对虚拟仪器和



LabVIEW


长期、系统、有效的研究开发使得

< p>
该公司成为业界公认的权威。目前


LabVIEW


的最新版本为



LabVIEW200 9



LabVIEW


2009


为多线程功能添加了更多特性,这种特性在



1998


年的版本



5


中被初次引入。使




LabVIEW


软件,


用户可以借助 于它提供的软件环境,


该环境由于其数据流编程特性、


LabV IEW Real-Time


工具对嵌入式平台开发的多核支持,

以及自上而下的为多核而设计


的软件层次,是进行并行编程的首选。





普通的



PC


有一些不可避免的弱点。


用它构建的虚拟仪器或计算机测试系统性能不


可能太高。目前作为计算机化仪器的一个重要发展方向是制定了


VXI


标准,这是一种


插卡式的仪器。每一种仪器是一个插卡,为了保证仪器 的性能,又采用了较多的硬件,


但这些卡式仪器本身都没有面板,其面板仍然用虚拟的方 式在计算机屏幕上出现。这些


卡插入标准的



VXI


机箱,再与计算机相连,就组成了一个测试系统。


VXI


仪器价格昂


贵,目前又推出了一种较为便宜的



PXI


标准仪器。



2.1.2



labview


的概念









C




BASIC


一样,


LabVIEW


也是通用的编 程系统,


有一个完成任何编程任务


的庞大函数库。


LabVIEW


的函数库包括数据采集、


GPIB


、串口控制、数据分析、数据




LabVIEW


标志显示及数据存储,等等。


LabVIEW


也有传统的程序调试工具,如设置断


点、以 动画方式显示数据及其子程序(子


VI


)的结果、单步执行等等 ,便于程序的调


试。







Lab VIEW



Laboratory Virtual Instrument Engineering Workbench



是一种用图标代替


文本行创建应用程序的图形化编程语言。

< br>传统文本编程语言根据语句和指令的先后顺序


决定程序执行顺序,




LabVIEW


则采用 数据流编程方式,


程序框图中节点之间的数据


流向决定了


VI


及函数的执行顺序。


VI


指虚拟仪器,是



LabVIEW


的程序模块。





LabVIEW


提供很多外观与传 统仪器(如示波器、万用表)类似的控件,可用来方


便地创建用户界面。用户界面在



LabVIEW


中被称为前面板。使用 图标和连线,


可以通


过编程对前面板上的对象进行控制。这就是 图形化源代码,又称


G


代码。


LabV IEW



图形化源代码在某种程度上类似于流程图,因此又被 称作程序框图代码。








LAB VIEW


是首次发表在


1986


年由美 国国家仪器公司(德克萨斯州奥斯汀市)的


实验室虚拟仪器工程工作台是一个图形化编程 语言。


LABVIEW


中实现了一个数据范式,


其中的代码不是写,而是制定或图样类似流程图。执行程序随着连接器电线连接节点处

< br>理一起。每个功能或例行的存储作为一个虚拟仪器,它有三个主要部分组成:前面板,

这基本上是一种形式,是一种包含输入和控制,并且可以实时显示,后面板是代码图形


被编辑的地方,当它被嵌入作为子


VI


时,作为接口连接到< /p>


VI


的连接器窗格中。






5




2.2



labview


的特点





虚拟仪器研究的另一个问题是各种 标准仪器的互连及与计算机的连接。


目前使用较


多的是



IEEE 488




GPIB


协议。未来的仪器也应当是网络化的。









利用



La bVIEW


,可产生独立运行的可执行文件,它是一个真正的


3 2



/64


位编译

器。像许多重要的软件一样,


LabVIEW


提供了


Windows



UNIX

< br>、


Linux



Macinto sh



多种版本。







它主要的方便就是,一个硬件的情况下,可以通过改变软件,就可以实现不同的仪

< p>
器仪表的功能,非常方便,是相当于软件即硬件!现在的图形化主要是上层的系统,国


内现在已经开发出图形化的单片机编程系统(支持


32


位的嵌入式系统,并且可以扩展


的)




2.3



Labview


历史信息







简单回顾一下


LabVIEW


最近的发展历 史。从


LabVIEW


的软件版本来看,应该有


LabVIEW 5


系列、


LabVIEW 6


系列、


LabVIEW 7


系列和


LabVIEW 8


系列。







发布年份,以

NI


为准。



LabVIEW 5.0


发布于:


1998




LabVIEW 5.1.1


发布于:


2000



3


月< /p>




LabVIEW 6.02


发布于:


2001



2




LabVIEW 6.1


发布于:


2002



1





LabVIEW 7.0


发布于:


2 003



5




LabVIEW 7.1


发布于:


2 004



4




LabVIEW 7.1.1


发布于:


2004



11


< br>


LabVIEW 8.0


发布于:

< br>2005



10





LabVIEW 8.0.1


发布于:


2006



2




LabVIEW 8.20

< p>
发布于:


2006



8< /p>




LabVIEW 8.2.1


发布于:


2007



3




LabVIEW 8.2.1f4


发布于:


2007



9





LabVIEW 8.5


发布于:


2 007



8




LabVIEW8.5.1


发布于:


2008



4




LabVIEW8.6


发布于:


2008



8




LabVIEW8.6.1


发布于:

2009



2


< br>


LabVIEW 2010


发布于:


2010



8









NI


的< /p>


LabVIEW


版本号,可以看出:



1




系列号 :


5



6


、< /p>


7



8


表示新的 系列,软件结构或功能可能有重大改进(付费升级)



2




版本号 :


5.x



6.x


7.x



8.x


表示软件有新的内容或比较大的改进(付费升级)




3




版本号 :


5.x.x



6.x.x

< p>


7.x.x



8.x. x


表示软件较上个版本进行了修补(免费升级



)


2.4



labview8.2


下载







Labview8.2


下载地址:


< /p>


ftp:///evaluation/labview/pc/labview_82_





6



第三章


agilent33220< /p>


简介



3.1


技术资料




Agilent


33220A < /p>


函数/任意波形发生器用直接数字合成(


DDS

< br>)技术建立稳定、精


确的输出信号,可生成纯净和低失真的正弦波。也可为您提供 具有快上升和下降时间的


20MHz


方波,以及达


200kHz


的线性斜波。



33220A


能产生达


5MHz


的可变沿时间脉冲。由于有可 变周期、脉冲宽度和幅度,因此


33220A


是灵活设置和产生各种应用的脉冲信号的理想设备。




33220A


产生复杂的定制信号。它有


14bit


分辨率和


50MSa/s


采样率,可 以灵活


地建立所需波形的性。您也可在非易失存储器中保存


4< /p>


个波形。在波形编辑器中用


Agilent Intuilink Arbitrary Waveform


软件容易地建立、编辑和下载复杂波形。或使< /p>



IntuiLink for Oscilloscope


捕获波形,之后将该波形把它发送到


33220A

< br>。



33220A


有非常友好的用户操作前面板


.


您可 用一、两个键容易地访问所有主要功


能。用旋钮或数值键区调整频率、幅度、偏置和其它 参数。甚至能直接用


Vpp



Vrms



dBm


或高低电平送入电压值。< /p>


定时参数能以赫兹



Hz



或秒送入。


可用内部


AM, FM,PM,FSK



PWM


调制容易 地调制波形,而不需要单独的调制源。线性和对数扫描也是内置的,可


选择


1ms



500s


的扫 描率。


突发模式允许用户选择每周期时间的循环数。


GPIB,


LAN



USB


接口均为标准配置,并有完全的


SCPI


命令编程能力。




3.2



33220A LabVIEW


驱动程序






33220A

< br>LabVIEW


驱动程序


(Agilent33XXX Series



zip)


可以到


www. ni



com

,在右


上角搜索


33220



再找到自己


labview


的版本,


下载。


(必须免费注册个


ni


的账号才能下


载)







Lab view8.2


驱动程序下载地址:



ftp:///support/idnet/82F1B5337B4A14F3E04400144FB7D 21D/agilent_33xxx_serie







< p>
Agilent


33XXX


Series








C:Program


FilesNational


InstrumentsLabVIEW


目录下(

< p>
XP


默认路径)


。此外该


LahVIEW


驱动程序是


利用


VIS A


开发的,所以你的开发环境必须安装有


VISA 3



0


或以后的版本。







VISA4.0


的下载地址为:



ftp:///support/visa/drivers/win32/4.0/








7



第四章



程序的编写



4.1


单个波形







当一切准备就绪,通过

< p>
USB


连接电脑与


agilent


33220


,当电脑提示硬件安装成功


后打开


Measurement


&


Automation(MAX


是用于配置测试硬件与


NI< /p>


软件通讯的管理软



)

< br>。


(如果没有正确安装,右键我的电脑,属性,硬件,设备管理器,找到没安装成 功


的,重新安装)


。打开


MAX


,依次点击


My System



Devices and Interface


,如果上面所


说的成功的话,在


Dev ices


and


Interface


目录下有


USB


Devices


在它里面就是地址,例



USB0::0x0957::0x0407::MY44049065::INS TR








Agilent 33XXX Series


文件中,







Ini tialize



VI


,它主要完成① 打开资源名或指定装置的会话;②完成仪器识别查询;


③复位仪器到指定状态;④发送初 始命令到仪器;⑤资源名;任何程序开始前必须调用


该子


VI< /p>


一次。







Configure Standard Waveform VI


,它能直接通过


U SB


接口实现信号发生器功能,并


在这个子

VI


中设置输出频率调节


(Hz)


、输出波形类型、输出幅度


(V)


、偏移量

(V)




Enable Out put



VI


,实现的功能是当按停止 键时,停止仪器输出任何信号,这样可以保


证程序停止后,仪器输出通道端口无任何电位 存在,从而保证仪器安全。







Close VI


顾名思义。








前面板:频率范围(


1HZ-- 20MHZ


)幅值范围(


10mV--5V)






频率单位可调(


HZ


KHZ



MHZ


)幅值单位(


mV



V








偏置默认为


0








波形:直流波(


DC




sin


三角正弦波(


sine



,矩形波(

square















三角波(


triangle



,斜波(


ramp



,脉冲(


pulse















噪声(


noise

< br>)



SinX/X



sinc










实现功能:



1.


波形类型,频率大小,幅值大小,可调。



2.


频率单位可调,幅值单位可调。



3.


当输入溢出时,自动取极值(最大值,最小值)






对于频率单位调节部分,通过索引数组,第一个选项


HZ


代表


1


,第二个选项


KHZ


代表


1000


,第三个选项

< p>
MZ


代表


1000000


,再通过相乘来实现频率单位的控制。




对于幅值单位调节部分,通过索引数组,第一个选项


mV

代表


1000


,第二个选项


V


代表


1


,再通过相除来实现幅值单位的控制 。




对于频率范围控制,


通过判断范围并强制转换


VI


< p>
上限设为


20000000


下限设为


1



来控制频率的输入范 围,当输入超过或不足时自动取最大或最小值。




对于幅值范围控制,通过判断范围并强制转换


VI

< br>,上限设为


5


,下限设为


0.0 1


,来


控制幅值的输入范围,当输入超过或不足时自动取最大或 最小值。






8



程序部分图:







4.1.1


前面板







4.1.2


程序图





9



4.2



多个波形



编写一个含有正弦波


+


矩形波


+


三角波的 数据存入


txt


文档。



这个


txt


记录的是一维数据,这个数据可以由


matlab


输入,也可以用


labvie w


输入,


还可以用手写直接输入,


不过 这个相对繁琐。


本人是通过


labview

输入的,


正弦波


+


矩形

< p>


+


三角波,最后把三个数据合并起来,存入


txt


文档。







路径指 定


txt


文档,频率取


100HZ








Create arbitrary waveform .vi


输入数组数据,产生任意波形。







Configure arbitrary waveform .vi


输入频率。需接在


Create arbitrary waveform .vi



后。








在前面板中,路径设为


txt


文件的路径,例如在桌面上的


1


个新建的


txt


文档,







C:Documents and SettingsAdministrator


桌面



新建



文本文档



(2).txt










对于频率,实验证明不能取太高, 不然会不稳定,取


100



200HZ


为佳。







布尔按钮是保护

< br>agilent


而设计的,当按下时,


agilent< /p>


才会输出波形。



在程序图中,通过读取文本文件控件,读取


txt


文本。再 通过


extract


numbers


vi


把读取的数据转化为


1


维数组, 再通过


Create arbitrary waveform .vi


和那个必须



Configure


arbitrary


waveform


.vi


控件连接,进而产生任意波形,输入给


agilent


33220


。其中


Configure arbitrary waveform .vi


控件还输入频率,它是必须的,因


为之前输入的是


1


维数组,还需要时间才能构成真正的波形。其 他控件和单个波形的输


入大致相同,



控 件输入的是


USB


地址,


每台计算机给 的地址都不同。


Enable



是控制 输出波形的的控件,当布尔按钮按下时才会输出波形。



顾名


思义。





之所以这么连接是参考了之前的文献和


Vi

的即时帮助,这个太重要了。当然还需


要适当的猜测,之前显示的波形一直不稳定, 因为当时频率取得比较大,大概有几千,



Agilent < /p>


33220


显示的波形看起来都是叠在一起,

在缩小频率之后


agilent


显示正常了!



之所以连接个波形图控件,是为了在输入给产生任意波形控件之前,必须先 确定你


的数据是正确的,而你输入的是什么维数的数据,发现一位数组才会产生波形,因 为它


频率是默认的,直接就产生波形了,而且


Create arbitrary waveform .vi


输入部分连


线 是黄色的,证明是输入的是数组,从而确定它输入的是一位数组!频率部分是由之后


的< /p>


Configure arbitrary waveform .vi


确定。



熟悉英文的重要性就在 此了,不然看不懂它自带的即时帮助的说明书。要连接准确


必须看清楚说明,和


VI


每个端口的颜色,这个是必须的,这才能确定你应该输入什么


类型的数据,相同颜色的端口才能相互连接,这个一定程度上也简化了你的操作,让你


可以快速的找到连接端。



Create arbitrary waveform .vi



Configure arbitrary waveform .vi


都在之前


的程序包中,这都是


labview


开发好的驱动程序,如果自己开发这个就相对复杂了。


Labview


给用户提供了方便,这正是

labview


的优势之一。








10



程序部分图








4.2.1


前面板










4.2.2


程序图









11




实验部分图








4.2.3


波形图









4.2.4


实验图(一个周期)







12



4.3



任意波形




在之前的基础上,实现任意波形的输入,输出。







打开程序


--


附件


--


画图。随手画一个连续的波形,保存为单色位图。命名为


< /p>








打开


matlab


,将图转化为矩阵 ,编写一段程序,提取图中数据


0


的高度。

(黑色就



0


,白色就是


1


)并输出到一个矩阵,并输出到


txt


文档,再采用之前的多个波形读取


txt


的方 法,输出波形。







首先发现输出时前面和后面都出现 了多余的


0


,于是修改了程序,去除


0


。这个是


在波形图中就发现了,


还未连 接到


agilent3220


上。


这个 一定程度上说明了科学的严谨性,


需要在问题未发生之前,尽量的发现问题。这个


0


是由于在画图时,在画图板上前后都


可能有 一些空余,在空余部分都是数据


1


,没有


0


,编写的程序读完每列数据还没有读


0


,它就只能记录最后一个数据,即高度为


0


。发现用


for


循环,前面会产生

< br>0


而最后


是不会产生


0


;而


while


语句前后都会产生


0


。所以


.


有不同的应对方 法。而


while


语句


更适用于此处, 这个下面会提到。





程序部分:








Matlab


程序:


for


循环,考虑不够完善)







a=imread('C:Documents and SettingsAdministrator


桌面


');






[m,n]=size(a); %


转化为数组


,m


纵向,


n


横向

< p>







for j=1:n









for i=1:m

















if



a(i,j)==0


















b(j)=m-i;



%


记录高度
























end











end






End







r=length(b);




%


记录数组长度







t=1;






while (b(t)==0)









e=t;








%


记录最后


0


的位 置










t=t+1;






end






b(1:e)=[];





%


去除前面的


0







b=b/200;






fid=fopen('C:Documents and SettingsAdmi nistrator


桌面


','w');





%


打开创建


txt






fprintf(fid,'%fn',b); %


写入


txt






fclose(fid);



%


关闭


txt






13







理论上,如果图片为空图片的话,程序无法正常运行。







b(j)=m-i


对于每列,从下往上读才是高度。







b=b/200;


是因为

< p>
agilent33220


最大


5V



而显示屏差不多有


900P



除以


200


的话最大


就是


4.5V









在实际中,图画的不好的话,同一列中,会不止有一个


0


,有时会有


2


个< /p>


0


甚至


3



0


出现。因此,核心部分用


while


语句,当读到


0


时直接跳到下一列。








完善后的


matlab


程序:



while


语句,完善)







a=imread('C:Documents and SettingsAdministrator


桌面


');


[m,n]=size(a);







for j=1:n









i=1;











while (a(i,j)==1)
















b(j)=m-i;




%


记录高度
















i=i+1;















if i>m















break











end













end







End








r=length(b);







t=1;







while (b(t)==0)










e=t;










t=t+1;







end







b(1:e)=[];




%


去除前面


0








k=length(b);







f=1;







while (b(f)~=0)










g=f;










f=f+1;







end







b(g:k)=[];



%


去除后面


0








b=b/200;







fid=fopen('C:Documents and SettingsAdministrator


桌面


','w' );







fprintf(fid,'%fn',b);








fclose(fid);





14

-


-


-


-


-


-


-


-



本文更新与2021-02-06 05:40,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/605912.html

labview通过USB控制agilent33220的相关文章