LabVIEW Database Connectivity Toolkit User Manual翻译全文.docx_第1页
LabVIEW Database Connectivity Toolkit User Manual翻译全文.docx_第2页
LabVIEW Database Connectivity Toolkit User Manual翻译全文.docx_第3页
LabVIEW Database Connectivity Toolkit User Manual翻译全文.docx_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

使用LabVIEW自制的扭矩磁力仪的自动化操作系统斯特凡科胡特,约瑟夫鲁斯和雨果凯勒瑞士苏黎世8057 ,Winterthurerstrasse 190, 苏黎世大学物理研究所为了简化和优化我们自制的扭矩磁强计的操作,我们创建了一个新的软件系统。该体系结构是基于并行的、独立运行的仪器与主控制程序的处理程序。所有的程序都设计成命令驱动的状态机,从而大大简化了维护和扩展。此外,一个简单的方法实现自动化,作为主程序不仅可能从用户界面,也有可能从其他并行运行的程序接受到命令。一个项目的工作通过一个包含一系列的指令文本文件并将指令发送给主程序可以自动系统进行一系列复杂的测量。在本文中,我们描述了系统的体系结构及其在LabVIEW中的实现。一,简介在现代凝聚态研究中最有趣的事是微小的作用只有通过大量样本的深入和系统的研究去调查。虽然第一次调查必须由手工完成,但是自动测量设置可以节省大量的时间。这样的自动化系统已经广泛应用于大型实验,但大部分小型的实验室试验,即使是计算机控制的,也不能够进行自动化测量。目前自动化在某种程度上是为了方便测量,可能是经常性的有系统地自动执行一定的测量,但容易地覆盖大参数空间常常是不可能的。市售完整的测量系统,一方面,很少配有先进的控制软件,另一方面,没有可能编写长的测量序列。当然,这样的软件系统造成超出普通的研究实验室的可能的昂贵的软件开发。即使有商业程序集构成一个实验装置的工具,最重要的部分是它们之间的相互作用。因此,大多数控制软件由缺乏时间,金钱和人力资源去开发广泛的自动化软件的科学家自己编写的。在本文中,我们提出了一个简单的方法生成控制软件,它使编写和自动执行复杂序列成为可能。这表明实现了使用实验室常用的编程语言适度开发工作。首先,我们将呈现实现这一目标不同的架构方法,然后是一小部分自动化。二,适用于实验室设备的软件创建为控制实验的项目需要完成几项任务。首先,他们必须能够发送控制命令和接收测量数据到仪器。其次,这些数据要处理和显示并且最终用户输入需要翻译成控制指令。不同的开发平台提供了广泛的接口工具、创建用户界面和执行复杂的数据处理的程序库。这样的软件有助于减少工作量。LabVIEW是美国国家仪器公司创建程序的开发环境(称为虚拟仪器,或不久的VI),在它里的图形化编程语言“G”,可能是最著名和最广泛用于这方面的应用程序。“G”提供了任何其他编程语言所有的流程控制结构,如循环和条件分支机构。此外,任何VI可以很容易地用于任何其他VI作为子VI。LabVIEW VIs包括用户界面(UI)和包含实际的代码的框图(BD)。编程是通过模拟数据流实现的,其中图形中表示的函数和过程是通过线相互联系的,这个线通常被称为导线。特定的VI源于程序与实际仪器的相似性,UI明显对应于仪器的前面板,BD对应于其内部接线。创建用于测量控制的LabVIEW软件的一个通常的方式是通过编写一个包含UI的主VI和用户适当的输入逻辑代理以及处理、显示和存储数据。与仪器的通信由驱动器子VI执行,子VI由主VI定期执行。当这种驱动器的VI被调用来执行仪器上的查询时,它向仪器发出必要的命令,等待一段时间让仪器准备的答案,最终从仪器读取此答案。这个过程通常需要几十到几百毫秒。假设整个测量设置由几台仪器组成,主VI可以有两种不同的组织方式。一种是顺序调用所有的驱动程序的VI,导致所需要的收集所有数据的时间随着仪器的数量增长而增长。另一种方法是平行的调用驱动程序的VI,这可能归功于多线程架构设计师LabVIEW固有的本质。然而,在这种情况下,所有的驱动程序将试图在同一时间访问仪器。在仪器连接到一个单一的接口总线的情况下这将导致一个“交通拥堵”。某些驱动程序将被迫等待,直到其他的都完成了他们的总线的写入。此外,像一些仪器进行的测量往往比比其他的少,总线上的许多操作是不必要的,因为没有得到新的数据。在本文中,我们提出了独立的驱动程序的Vis的使用,即我们所说的处理程序,它并行运行并且通过由LabVIEW提供的渠道与主VI通信。这允许更有效地使用连接的仪器的接口总线从而有一个较高的数据采集速率。此外,通过采用一个“状态机”(SM)的架构方案使功能扩展变得更容易,最重要的是维持和允许由一个单独的程序的控制并因此自动化。三,实验装置这里提出的方案是我们团队开发的控制和使扭矩磁强测量自动化的装置。这样的装置是用于通过穿过一个磁场H产生的转矩测量的样品的磁矩m。=0mH它非常适合对如发现在最高温超导体中的各向异性磁现象的调查。扭矩磁学是与其他大多数磁学技术相辅相成的因为它仅仅对垂直于外加磁场m中m部分敏感。一个转矩测量速度非常快一个测量只有几分之一秒,由于在高磁场中比H的比例对m高度敏感。如图1所示,我们的自制的转矩磁力仪系统由在坐在一个可转动支撑上的铁轭磁铁的两极之间的低温恒温流体组成的。为读出安装在样品的转矩传感器插入低温恒温器并连接到一个锁相放大器(LIA)。详细的测量原理超出了本文的范围并在其他地方描述3.4。所有需要控制和测量系统的状态的设备通过IEEE-488通用接口总线(GPIB),RS-232串行连接和通过额外的LIA仪器上的模拟和数字的输入和输出的端口间接连接到Windows PC上。其主要部件是EG&G公司的7265LIA、一个Lakeshore DRC 93A温度控制器和Bruker BH-15磁场控制器。附加装置如在低温恒温器或电流源检测交换气体压力的电子可读压力传感器和用于特殊测量的电压仪可能也通过GPIB连接。GPIB是一个被广泛应用于在科学仪器的接口总线。它具有8位并行数据传输,信号交换和实时响应能力。四,软件系统架构最新开发的的控制软件的体系结构如图2所示。通过VI连接到系统的每个仪器对应表示为handler vi。所有的处理程序由与图1:,自动使用该软件扭矩测量的设置概述。放置一个铁轭磁铁的两极之间的低温恒温器是可自由旋转的。扭矩传感器被插入到低温恒温器,并且连接到读出电子设备。控制实验的状态所需的所有仪器连接到个人计算机。torque.vi VI通信的dataserver.vi VI进行管理的,这是主要的应用。所有这些VI独立地并行运行。这样,它的建立是为了每个handler.vi可以进行优化,以充分利用仪器,。这包括沟通需要等待时间, 基于不同需求优化数据传输速率以及每个仪器通过GPIB对特殊事件发出信号的使用能力。由于所有的handler.vis并行运行,它们各自对仪器写等待读周期是互相交错的,从而减少总线的空闲时间。此外每个仪器仅在必要时通信从而减少总线占领,同时保留数据质量。这样可以最优化特别通过利用GPIB的服务请求(SRQ)功能。每个仪器通过GPIB控制器声明特别SRQ线可对一些事件发出信号。这样的事件可能是错误的,但仍然是数据的可用性的指标。例如Lakeshore温度控制器是每当一个新的温度读数准备好编程为断言SRQ线。仪器只有在有必要时读取而不是每秒几次,这个事件每两秒发生一次。即使仪器没有提供这样的功能也可以通过处理程序的速率优化减少时间。VI被指令读取仪器。这使更关键的测量更多次的被读出,从而使得数据被更高的采集速率和更高质量的采集。图2:该扭矩控制软件系统的体系结构。所有VI(torque.vi,dataserver.vi和handler.VIS)并行执行。发送命令沿实右箭头和数据传播沿虚线指向箭头。因为handler.vis不是主VI的子VI,所以需要建立一种特殊的通信方式。在这里我们提出使用队列对handler.vis发送控制指令并且用DataSockets接收测量数据。队列是一个先入先出风格的内存结构,它是由Lab-VIEW提供的。在我们的例子中的命令,它可能包含一个固定的或无限数量的字符串项。任何VI使用特殊的子VI可以追加命令队列的末端或检索最旧的的命令。任何读的条目被自动删除。队列是由一个名称标识,对它们的访问相当容易。在大多数应用中,一个给定的队列只由一个VI读取,而几个VIs可以对它写入。数据套接字内存结构,确定一个唯一的名称,但只包含最新的数据。Data Sockets内存结构,由一个唯一的名称确定,但只包含最新的数据。他们的数据类型可以在LabVIEW的数据类型中自由选择。在我们的例子中使用的DataSockets浮点数数组包含一个handler.vi的主要数据。上面提到的dataserver.vi用作中间体,它收集所有handler.vi的数据,并把所有的数据存入单独的DataSocker,然后被torque.vi主VI读取。这样主VI不需要知道从哪个仪器上得到了什么数据。为了能够使Vis依据指令行动它们必须有一些指令解析功能。事实上,这样的的命令解析器是每一个VI的核心部分:即使定期的被Vis执行的操作也被放入重复执行的指令。从本质上讲,所有VI设计为状态机(SM)命令驱动。在LabVIEW程序中使用SM范图3:VI的基本结构的示意性说明。一个全封闭的主循环无限执行。内部逻辑包括一个命令堆栈,它的第一个元素分为指令和参数。在结构包含个别指令代码的情况下,该指令被用作的选择器值。这样的操作需要在命令解析功能。VI执行需要的内部数据通的过每一次迭代,每个命令的可以读取和修改。式已经在多个场合提出,鉴于LabVIEW的功能,这并不奇怪。然而,据我们所知只有极少数的应用程序使用这种体系结构。基本的想法是,程序通过被执行,经过各种命名状态。这些状态中的访问顺序可以是固定的和被预先定义的或者可能会由当前状态的结果决定。在LabVIEW中的实现是相当简单的如图3所示。一个无限运行的循环由全部状态的结构组成。这些状态由字符串定义,因此人类容易读。与其他方法相比,识别是用数字或特殊的枚举数据类型,这使得该结构易于扩展和维护。此外,以这些结构的VI包含执行需要的一个命令堆栈和一些内部数据。启动时,当命令堆栈是空的时,默认的情况下(状态)执行。通常这是“GetCommands命令”的情况。这种情况包含需要的代码清空VI的队列和一组放到命令栈的默认命令。当主循环第二次迭代时,从堆栈中取出的最早的命令分成指令和可选的参数,随后该指令被送入如属结构选择器,随后执行。这种情况可能会在堆栈中添加更多的命令或简单地执行特定的任务。当该指令执行完毕主循环再次迭代,从堆栈中取出下一个指令,并依此类推。每当堆栈为空时,默认情况下“Getcommands”再次执行和补充。因为handler.vis是独立的程序不必依靠定期调用主VI,所以它们可以用来进行更复杂的任务不仅仅是与仪器通信。作为handler-lakeshore.vi的一个例子,Lakeshore温度控制器的handler.vi逻辑上通过软件控制在低温恒温器的冷却剂流来控制温度。该流量控制器被连接到一个单独的数字 - 模拟转换器(DAC),从而使handlerLakeshore.vi通过将命令发送到DAC的handler.vi(handlerDAC.vi)来控制它。跟踪的最后几秒钟的测量数据、观察他们随时间变化的趋势并将它发布到DataSocket上均被编码成一条指令并被handler.vi执行。五,自动化正如前面提到的,所有VI的组织为状态机,甚至是主VI torque.vi。如图4所示,用户界面(UI)上的每一个用户动作(按下按钮,值变化)被UI处理程序变换成一个命令然后将其发送给SM并由SM处理。然后SM将适当的命令发送到dataserver.vi和handler.vis(图4宽箭头(1)。torque.vi的两个组成部分(UI处理程序和SM)独立运行。通过队列也确保了它们之间的通信。这使其他VIs,如图4中所示的sequencer.vi被用来以编程的方式控制torque.vi的SM,即通过直接将这些命令发送到SM(图4中宽箭头(2)。当要求自动测量的时候,序列写入文本文件中包含完成这些测量所需要的命令,这些命令随后被sequencer.vi读取。除了torque.vi的SM的命令以外sequencer.vi还理解了一套流程控制指令像”if”、”while”和”for”,它们对于为重复的任务创建短序列以及变量的使用和它们的算术操作和比较是有用的。sequencer.vi通过寻找已知的关键字 指令解析。不被识别为关键字的任何字符串当作参数传递给前面的关键字。序列文件中提出的字符串settemp20 waittemp指示扭矩软件改变温度到20K并等待低温恒温器稳定在此温度。在这个例子中settemp和waittemp是关键字而20是关键字settemp的参数。在商业上可用的测量设备的控制软件(如SQUID磁强计或量子设计的物理性质测量系统)这种测序的可能性已广为人知。现在这种高效的灵活的数据采集可以应用于我们自制的扭矩磁强计图4:所有VI由用户界面(UI)和框图(BD)组成。与其他所有的VIs相反torque.vi由UI处理程序部分和状态机(SM)组成,均并行运行。正常情况下,交互式扭矩系统,用户对torque.vi的操作被UI处理程序翻译成指令,指令通过队列被送到SM中然后传到数据服务器和handler.vi中(宽箭头(1)。如果自动测量运行, sequencer.vi的SM从它的用户界面上的文字序列检索命令,通过队列将它们发送给torque.vi的SM,在那里他们传到数据服务器和handler.vis(宽箭头(2)。torque.vi的SM将确认消息发送回给sequencer.vi。黑色的实心箭头表示BD和UI之间的直接访问,而虚线箭头表示通过队列和数据套接字数据传输。六、应用实例为了证明这种自动化的测量系统的可能性我们展示了一些在所谓的高温超导体La2xsrxcuo4锁定转换系统的研究中的一些结果。这种效果的详细信息,可以从各种其他来源获得,这里就不讨论了。这种影响在角度依赖的扭矩测量中最容易看出并且体现为平滑的特性偏离。如图5所示的测量例子,测量数据点接近90偏离的理论曲线,该理论曲线适合其它的角度范围。该模型还可用于描述作为磁场在一个固定的角度值函数H的数据。公认的,在第一次近似下,超导体的磁矩m=/H与ln(H)成比例。在我们的研究,在 Sr含量0.07 x0.23和临界温度TC从17K到35K中我们测了6份La2xSrxCuO4单微晶样品。它们被安装在一个高度敏感的转矩传感器并在Tc温度下。场的依存性(随着场的增加和减少,0H = 0 . . . 1.5T 在 5mT)测量在60磁场方向(在不同步骤下 = 90。 . . . 90。)严格的温度Tc下10度进行的。我们强调的是,没有我们的软件自动化的可能性这种广泛的测量几乎是不可能的。由于每场扫描大约需要六分钟,没有自动化的用户交互,收集一个晶体所有的这些数据此时间间隔必然图5:在T=8K磁场强度0H = 1T下欠掺杂晶体La2xSrxCuO4其中x=0.7(Tc=17K)的角

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论