美国国家仪器公司的LabVIEW :一种实验室自动化和测量的编程环境美国国家仪器公司的LABVIEW是一种图形化编程语言,它的根源在于自动化控制和数据采集。
其图形化的代表性,类似于过程流程图,它为科学家和工程师提供一个直观的编程环境,在过去20年中成熟历程中,这个语言已经成为一个通用的编程环境。
LABVIEW使得它成为很好的自动化选择环境有几个主要特点,这些措施包括简单的网络通信,交钥匙执行共同的通信协议(RS232 ,GPIB总线等),成为过程控制和数据拟合、快速简便的用户界面的建设和一个有效率的程式码执行环境的强大工具。
我们讨论这种语言的优点,并提供一个例子,在公司内部是用来在整合和控制自动化平台的应用套件的书面。
关键词:NI LABVIEW ;图形化编程;系统集成;仪表控制;基于组件的体系结构;机器人;自动化;静态调度;动态调度;数据库导言cytokinetics是一个侧重于以小分子疗法发现细胞骨架为目标的生物制药公司。
自成立以来,我们形成了一个强大的技术基础设施,以支持我们发现药物的努力。
基础设施能提供以百万计画面显示化合物的能力,每年在测试范围从基于图像细胞检测与表型读出的复合生化检测模仿生物功能的自动化的能力。
要求处理这些数字和多样性的检测已授权部署多个综合自动化系统。
举例来说,我们有几个平台:生化检查,系统的活细胞处理系统,自动显微镜系统,以及一个自动复合存储和检索系统。
每一个在公司内部的综合系统是根据其打算使用范围,围绕着机械臂,并包含一个最佳的一套板加工外设(如移液设备,板读者,carousels )设计的。
为了创造最灵活,高性能极具成本效益的系统,我们已采取的做法是在内部建设自己的系统。
这给赋予我们整合能力最适当的硬件和软件解决方案,无论是否从供应商购买或工程重新进行,因此我们可以迅速修改系统的检测要求的变化。
最大限度地平台的一致性和模块化,我们每10个自动化平台是由一个共同- 1 -的控制的,我们开发时使用美国国家仪器公司(Ni )的分布式应用套件LABVIEW。
下面详细说明这个应用套件,使我们的最终用户能够创建和管理自己的过程模型(检测脚本),在一个共同的建模环境中,对任何自动化系统所需的设备使用这些过程模型,并允许容易和快速装置重构。
该平台是支持由一个中央Oracle数据库和可以运行无论是静态或动态预定进程。
NI LABVIEW背景LABVIEW是首次发表在1986年由美国国家仪器公司(德克萨斯州奥斯汀市)的实验室虚拟仪器工程工作台是一个图形化编程语言。
LABVIEW中实现了一个数据范式,其中的代码不是写,而是制定或图样类似流程图(图1)。
执行程序随着连接器电线连接节点处理一起。
每个功能或例行的存储作为一个虚拟仪器,它有三个主要部分组成:前面板,这基本上是一种形式,是一种包含输入和控制,并且可以实时显示,后面板是代码图形被编辑的地方,当它被嵌入作为子VI时,作为接口连接到VI的连接器窗格中。
图1 NI LABVIEW VI例子上面面板(A)表明虚拟仪器的前面板。
输入数据是通过显示在左侧的“控制量”输入的。
这里包括有多少输入,文件路径框,和一般的误差传播集群。
当VI 运行时,“显示量”输出在右边的面板上,该面板被输出数据填充。
在这个例子中,数据包括数字(既作为标和数组),一个图形,和输出错误群集。
在下边的面板作为虚拟仪器的后面板显示出来。
在“没有错误”的情况下,外部条件结构才执行(虚拟仪器通过连接器窗格对可以查出的内部错误或被称作子程序可能提示的错误)。
不同于大多数的编程语言,由于LABVIEW通过自己生成编制代码,从而提供即时的句法和语义的反馈和减少形成和测试所需的时间。
操作规则就像拖放功能或虚拟仪器从功能面板上的框图作为进程结构(如循环,或条件结构)- 2 -和线路终端(通过输入值,或参考)这么简单。
单元测试由于每个功能分别封装而简化;输入值可不必测试包含模块而直接对前面板设定或创建一个单独的测试。
这个功能产生的数据管理存储的数据。
NI LABVIEW以一个固有的并行而非顺序地方式支持多线程应用程序的设计和执行的代码;只要作为一个函数或子VI收到所有其需要的输入,便可以开始执行。
在图1 B中,所有子VI对收到数组输入尽快作为循环完成,因此,它们是并行执行的。
这是独特的从一个典型的基于文本的环境下,由线的一个功能控制流程线。
当需要顺序执行时,控制流可以使用结构执行,如序列,事件,或由链状子VI对那里的输出数据从一个VI传送作为另一个VI的输入。
类似于大多数编程语言,LABVIEW的支持所有常用的数据类型,如整数,浮点,字符串,和集群(结构)及可随时与外部图书馆,ActiveX组件,和NET 框架连接。
正如图1 B所示,每个数据类型通过不同颜色和厚度的电线图形代表。
LABVIEW的也支持常见的配置管理应用,如Visual SourceSafe的决策多媒体开发项目的合理管理。
申请者可被编译成可执行文件或动态链接库(DLL )表示,执行使用的类似Java Runtime Environment的实时引擎。
开发环境提供了多种调试工具如断点,以动画方式显示数据及其子程序(子VI)的结果以及单步执行。
申请可开发利用各种设计模式,如客户端-服务器,消费者-生产者和状态机。
也有基于UML (统一建模语言)建模工具,允许自动生成的代码从UML的图表和状态图表. 多年来,LABVIEW的已发展成为一个拥有广泛的用户群的通用的编程语言。
NI LABVIEW作为自动化和仪器仪表的一个平台我们创造台式仪表和综合自动化系统的经验,已验证了我们选择的LABVIEW是一种适当的工具。
LABVIEW的快速发展使它成为既适合台式应用和较大的综合系统又有丰富功能的应用软件。
在很多场合我们发现,最初错误的定义或者由于新的测量方法或新的检测方法的发展要求项目改变。
该语言在自动化的环境,创建应用控制和仪器仪表整合,管理流程,使数据采集等有几个使它特别有用主要特点:- 3 -交钥匙工程的测量和控制功能LABVIEW最初是为高级科学家和工程师开发的。
这种语言包括一整套丰富的过程控制和数据分析功能,以及作为COM,.NET并共享DLL的支持。
除此之外,它提供了交钥匙解决方案,以不同的通信协议包括的RS232,GPIB的,和TCP/IP。
控制结构,如延时while循环,允许从各种硬件接口同步和定时,如PCI,11个USB及PXI12采集数据。
DataSocket技术及VI服务器一个集成系统的部署需要多台要求自动化控制应用的控制计算机与存在远程计算机的仪器驱动程序连接。
LABVIEW支持分布式体系结构,凭借有利的无缝网络通信通过技术,如VI服务器和DSTP (数据插口调动协议) 。
DSTP是一个类似于基于传输控制协议/网际协议(TCP / IP )HTTP的应用层协议。
Data sockets允许远程计算机之间的基本读及写的功能和简单传输数据。
通过VI服务器技术,可以使存放在远程计算机上虚拟仪器就像是存放在本地计算机上一样进行功能调用。
可以配置Datasockets和VI服务器控制访问权限。
简单的用户界面( UI )的执行情况在除了共同的控制之外,例如文本框,菜单上的圆环,和复选框,LABVIEW,在相关的实验室设备提供了一整套丰富的UI控件(开关,发光二极管,仪表,数组控制等)。
这些有其起源于LABVIEWS实验室的根源,并帮助在发展中的界面,让科学家们清楚地了解一个系统的状态。
LABVIEW支持用户界面的概念,包括subpanels (类似多文档界面)分配器酒吧,和xcontrols (类似的OCX控件)。
多线程编程环境固有的并行环境的LABVIEW在控制实验室设备是极为有益的.功能可以有多个连续的While循环,而其中一个循环是迅速采集数据,另一个以循环以一个比较慢的速度采集回路数据。
在其他语言实施这样一个范式,需要触发一个独立的线程函数为每个进程和发展的逻辑来管理同步。
通过定时while循环,多个独立的while循环可以很容易地同步的过程在一个理想的时期和阶段进行- 4 -同步的过程。
LABVIEW的允许援引多个相同的功能对于每个包含自己的数据空间实例。
例如,我们在图1b可能拖动许多子VI事例,并且他们能相互独立的运行。
同步或执行控制流与数据流的环境,还提供了LABVIEW的功能,如队列,信号量,和通知功能。
NI LABVIEW应用程序实例:开放式系统控制建筑学(OSCAR) 奥斯卡是一个基于LABVIEW (v7.1 )自动化集成框架和任务执行引擎设计和实施在cytokinetics支持要求机器人任务管理应用的开发系统。
奥斯卡是围绕着一个用于集中储存逻辑设备共同创造的所有仪器的配置信息的Oracle数据库的综合系统(图2 )。
该数据库在运行其中的任务和参数所需的运行过程中还保持着过程模型的资料,特别是对系统可以生成并储存到数据库中。
当工作开始,在这个实时性数据库中,任务顺序和参数数据是通过纠察任务每个设备和更新任务的状态执行引擎的。
在系统误差情形下,它允许简单的工作补救,并且它也提供可以是有用于质量管理和为解决困难的过程错误或问题的处理查帐索引。
图2 奥斯卡组成图每个奥斯卡奖的组成部分是分布在整个公司内部网路,并且与中央数据库连接。
对于被OSCAR仪器包裹(OIP)控制的物理设备的组成的系统,用户通过在OSCAR建立的几种应用中的一种与系统交互。
每个从数据库中到每一个OIP纠察任务应用程序的调用叫RTM。
SCAR有套为处理系统布局,创造处理模型,监测连续过程,恢复错误状态系统和处理板材存货的工具在存贮设备。
奥斯卡采用了松散耦合的分布式组件架构,使在大部份由LABVIEW DSTP 和远程VI技术,允许系统控制,以延长超越的传统的中央控制的CPU型号的局限。
在OSCAR系统下,不管它的实际位置如何,任何网络的计算机或设备- 5 -可以集成和受控。
这去除传统集成系统接近度限制并且考虑到远程数据咬碎、设备,甚至系统的运用。
奥斯卡封装和管理的所有功能有关的任务的执行和控制装置,一个特定的应用,释放发展侧重于独特的需求,举例来说,一个正在创建的以应用为目的的复合存储和检索,可以在有限范围的要求,如库存管理和LIMS的整合,而非装置控制,资源分配和任务同步。
OSCAR集成框架包括设备和系统配置、过程建模,流程执行,过程监控的多个组分。
下面是框架的关键部件的描述:集成平台Oscar文书(OIP)是低级控制元件,负责与各自的设备沟通。
它通过被连载的XML串DSTP系统可以支持设备的所有数字(设备的同一个类型的包括多个独立事例)并且沟通对执行时间的管理(RTM) 。
如果需要存在这在分开的网络的计算机允许设备控制器和RTM组成。