1 导言
现在用于监测功用的设备大部分是经过商业组态软件(如Fix、组态王等)来完成,其在功用上存在必定的缺点:商业组态软件虽然能规划出友爱的人机界面,但它是依照装置的节点及I/O的点数来计费,所以关于中小型体系而言,性价比就会比较低。相对的,LabVIEW具有人机界面友爱,功用强壮,保护简练等长处。鉴于上述原因,本文提出了在上位机中选用LabVIEW作为操控体系的测控软件,完成进程操控的监控功用,以替代上位监控组态软件。下面做一下简略的介绍。
LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是实验室虚拟仪器集成开发渠道的简称,它是现在国际上运用最广泛的虚拟仪器开发环境之一。LabVIEW的最大特征是选用编译型图形化编程言语-G言语(Graph Programming),它与C、Pascal、Basic等传统言语有着类似之处,如:类似的数据类型、数据流操控结构、程序调试东西,以及模块化的编程特色。但二者最大的差异在于:传统编程言语用文本言语编程,程序的履行依赖于文本所描绘的指令;而LabVIEW运用图形言语(即各种图标、图形、符号、连线等)以框图的方式编写程序。用LabVIEW编程无需具有太多编程经历,由于LabVIEW运用的都是测验工程师们了解的术语和图标,如各种按钮、开关、波形图等,界面十分直观形象 [1]。可是,用LabVIEW
2
监控软件一般应完成的根本监控功用包含:数据收集与数据处理功用、体系毛病诊断和事端报警功用、图形组态功用、实时与前史数据曲线显现功用、报表打印功用和友爱的人机界面[4]。
2.1数据收集及存储
在现场总线操控体系中,关于进程操控来说,很重要的内容便是对实时收集的数据进行显现和查询以及报表剖析,这就涉及到数据收集及存储的问题。“数据收集”是指将温度、压力、流量等模拟量收集、转化成数字量今后,再由核算机进行存储、处理、显现或许打印的进程。所以用LabVIEW完成实时的数据收集功用是规划研讨的要害部分。运用“LabVIEW+DSC”相结合的规划办法,软件体系结构图如图1所示:
图1 “LabVIEW+DSC”的软件体系结构图
2.1.1
为进步体系的开放性,选用了“LabVIEW+OPC”的规划办法。便是用LabVIEW作为上位机监控软件,选用先进的网络通信技能——DataSocket技能,经过OPC服务器接口来完成现场数据同享。这儿选用的OPC服务器是Matrikon公司研制的,它作为一中心桥梁,完成了监控软件LabVIEW和现场智能组件之间的数据通信,经过OPC装备项树立与底层设备的数据收集点的一一对应联系。如下图所示:
图2
其间项名Name是用户自己界说的对应于现场的数据收集点,Item Path有必要契合OPC服务器与MODBUS协议的语法要求,即“[port].Device.0~4:”,一起设置该项是读数据仍是写数据以及数据的类型、更新时刻等等[5]。
2.1.2 实时数据库
LabVIEW拜访OPC的办法有很多种,本文选用的是经过DSC模块中Tag Configuration Editor引擎,树立LabVIEW和OPC服务器的衔接。DSC模块运用Tag衔接OPC数据项,经过Tag Configuration Editor ,能够将DSC的Tag与OPC数据项对应起来,生成.scf文件,相当于LabVIEW的实时数据库,如图3所示。
图3 .scf文件
在Analog Tag Configuration 的Connect目录下的Item与OPC服务器的项名进行匹配,并对Tag进行了具体的描绘,如OPC服务器,工程量的规模,报警的上下限,更新的死区等等[3]。在运转时,标签引擎Tag Engine 会依据.scf文件的装备树立与OPC服务器的衔接。当OPC服务器与.scf文件装备好今后,能够在LabVIEW的前面板上经过Numeric Control,Numeric Indicator控件读写现场收集的数据,Numeric Control,Numeric Indicator控件经过人机导游HMI Wizard for Analog Control与.scf文件Tag进行匹配,并主动默许控件的Lable为与之对应的OPC装备所对应的项名。
DSC模块的成功运用,使得界面之间的切换愈加友爱化;并成功处理了数据更新速度慢、界面之间切换慢的问题,确保了操控的实时性和牢靠性等要求。
2.1.3 报表生成
现场收集来的数据能够以报表的方式输出到Execl表格中,以供存储与阅读。可是,LabVIEW自身没有强壮的实时数据库,只要经过DSC模块生成的.scf文件来记载数据并存入前史数据库,可是它是依据记载死区log Deadband所界说的误差来记载数据的,而不是依据时刻记载的,只要当数据的改变超出误差时才记载,因而,会导致在生成报表时数据和时刻不对应。鉴于上述原因,一般经过编程来完成会比较好。
编程如下:先将要求记载的标签Tag的值依照时刻距离(如1小时)写入一个表(如控件Table),然后再依据要求记载的数据个数(如24个)将Table的记载数据写入Excel中,并将Table清空。这种办法只要求用户界说报表输出周期和数据输出的周期即可。例如:要求每小时记载一个数据,每天生成一个报表,就能够只设定数据输出的周期1小时,数据的个数24个即可。到现在为止,此种办法在现场操控中运用作用十分好。尤其在编程进程中,调用了LabVIEW中的两个子VI:Generate Unique Filename.vi(用来指示报表的途径及时刻)和Array to HTML Table.vi(用于生成报表的格局),使得流程图的编译更简略、简练,并增加了软件的可复用性。
图4 数据存储及报表生成
2.2实时与前史曲线显现
趋势曲线能够形象清楚地描绘出现场数据在一段时刻内的散布趋势,经过趋势图,操作员能够依据各个现场数据收集点的数据的改变趋势看出各个量的改变状况,而且能检查任何前史时刻的数据,供现场操作人员作出恰当的处理。
在完成实时曲线时,调用了DSC模块供给的Trend Tags.vi,该子VI的输入为标签(Tag)和时刻长度,能够经过编程来完成X轴、Y轴显现的数据规模的巨细;完成前史曲线时,调用DSC模块供给的Read Treace.vi,经过Historical Trend控件能够检查恣意前史时刻的现场收集的数据,经过挑选不同的现场收集点,X轴、Y轴的量程规模也随之改变。值得注意的是,前史曲线只要在数据改变超越所设定的误差时,才显现曲线的趋势图。
2.3报警显现与毛病处理
监控软件一般都供给了报警体系,报警体系可用于生成、显现、存储报警信息,并将报警信息发送到网络上的恣意节点,或监控主机相连的打印机、磁盘文件、报警概要显现、报警前史窗口以及多媒体报警体系,按毛病发生时刻恣意排序、挂号在数据库中,并在核算机上显现出来。
本文是选用DSC模块供给了报警事情显现Alarm Event Display控件,完成有关的现场报警及各种运用报警的显现。它能够用来对现场的事情报警信息进行显现,包含发生报警现场丈量点,报警的时刻,报警的优先级及报警的原因等等,发生报警今后需求对此信息进行承认,承认后在报警信息栏会显现报警承认的时刻和承认者;未呼应的毛病继续宣布声光报警,并用赤色进行闪耀指示。
2.4人机交互与用户安全权限
LabVIEW供给了丰厚的前面板控件,如数据衔接,按钮、表格、曲线等,乃至还有专门的装修控件,而且DSC模块的Image Navigator也包含了各式各样的图标(Symbols),能够满意用户的各种要求,一起也能够在前面板上张贴.Bmp和.JPEG格局的图片,彻底能够完成监控软件的流程画面规划,使人机界面更友爱[6]。
再者,为了确保正常出产监控的需求,避免误操作形成出产中止和大的经济损失,要清晰操作人员的责任规模,避免操作人员的越权操作。因而,能够经过设置以安全等级为根底的各种用户,在运用程序层面临操作员的操作权限进行操控,制止越权操作。
DSC模块供给了NI User Account Manager,可修正各个安全等级不同的用户。在运转DSC Run-Time System时,调用Invoke Login Dialog.vi让用户注册,前面板可操控的控件供给安全特点设置,界说某些用户能够操控及其具有的操作权限。这样,每个控件仅答应预先界说的用户进行操作,用户要完成对控件的操控,则需求先用相应的权限进行注册。本监控软件设定了三个用户等级:
(1)工程师级:能修正体系组态的各种参数,能铲除记载文件的内容。
(2)操作员级:能修正部分参数和进行长途标定。
(3)一般级:仅能检查画面和数据,不能做任何修正和长途操作。
3 结束语
该监控软件经实践运转证明,LabVIEW的图形化编程环境,能够运用户规划出运用灵敏、画面质量和表现方式丰厚多样的监控体系。再者,选用DSC(数据记载监控)模块所供给的比如图库、VIs以及实时数据库等功用能够运用户组态体系所需的时刻缩短,一起使体系功用得到加强。此监控软件已成功运用于某药业的FQA工程,它不仅能满意现场监控的各种需求,且画面生动传神,靠近现场、操作简练安全、报表打印灵敏便利、安全性牢靠等许多长处得到了用户的高度好评,再次验证了根据LabVIEW的监控软件在进程操控中可行性。