大型起重机自动控制与智能管理系统
2013-05-11周奇才周铁梁张溧栗
周奇才,曾 礼 ,赵 炯,周铁梁,张溧栗
(1. 同济大学 机械与能源工程学院,上海 201804;2. 华电重工股份有限公司,上海 200122)
大型起重机自动控制与智能管理系统
周奇才1,曾 礼1,赵 炯1,周铁梁2,张溧栗2
(1. 同济大学 机械与能源工程学院,上海 201804;2. 华电重工股份有限公司,上海 200122)
0 引言
随着计算机技术的进步,虚拟仪器技术应运而生,它是一种将仪器技术、计算机软硬件技术、网络技术和通信技术进行有机结合的新仪器技术[1]。LabVIEW是美国国家仪器公司推出的一种图标替代文本行创建应用程序的图形化编程语言。LabVIEW提供了大量的工具和函数用于数据采集、分析、显示和存储,目前已被广泛应用于汽车、通信、航空、半导体、电子设计生产、过程控制和生物医学等领域[2]。
我国现代化建设的飞速发展带动了起重机械的技术飞跃。目前,起重机械的发展越来越趋向于大型化、专用化和智能化。随着起重机部件数量的增多,零部件结构的复杂程度增大,对起重机的维护、运行和管理也就变的越来越困难。因此,针对大型起重机建立一套完善的起重机自动控制与智能管理系统就变的非常有意义。该系统要实现的目标包括:具有人性化的操控界面;能够全面记录起重机的操作数据、运行数据;能够自动保存起重机的维护保养记录;能够实现远程传递数据和共享信息;具有远程诊断及维护等功能。该系统的实现无疑将大大的降低起重机械的维护难度,提升产品的可靠性和竞争力。
本文研究设计了一种基于LabVIEW的大型起重机自动控制与智能管理系统,上位机以LabVIEW作为前台开发工具,以Microsoft SQL Server 2008作为后台数据库,以基于Controller Link网络的起重机控制系统作为控制与监视对象,实现了对起重机的操作、状态的监视,采集数据的保存、报警和报表生成等功能。另外,借助于LabVIEW的网络编程功能,为远程故障诊断软件提供了远程诊断接口。
1 监控网络的组成
起重机的控制系统主要由六大系统组成,即起升系统、变幅系统、回转系统、调平系统、塔头系统和力矩限制系统。
起重机的控制网络为Controller Link网络,如图1所示,网络主要由监控层和设备层组成。设备层主要由PLC、现场传感器和执行器组成,PLC的数字量和模拟量输入输出模块实现对现场传感器的数据采集以及对现场执行器的输出控制,设备层实现了各节点的功能控制;监控层由上位机和分布于起重机各子系统的下位PLC通讯单元组成,主要实现上位机与下位机的数据交换。
上位机端安装支持Controller Link 数据总线的3G8F7-CLK21-EV1板卡,PLC端安装支持Controller Link的通讯模块。上位机与下位PLC组成N:N令牌环网,PLC之间以及上位机与PLC之间通过Controller Link网络的数据链接功能实现数据的共享。
图1 起重机的控制网络
2 Controller Link数据链接
Controller Link(CLK)网络是OMRON公司推出的一种FA网络,可以连接CJ1、CS1、CQM1H等系列的PLC和计算机,CLK网允许各节点之间进行大容量的数据交换,实现PLC与上位机之间的协调控制。
CLK网支持数据链接与报文通信两种数据传输方式。数据链接方式配置方法简单且支持超大容量的数据共享,因此,本文采用数据链接方式进行网络数据交换。配置完成后的上位机节点板卡内存分配如表1所示。
3 系统主要功能模块设计
上位软件系统是操作人员与起重机进行信息沟通的关键环节,其主要实现的功能有:起重机系统运行参数的设定;起重机的动作指令控制;起重机运行状态的监视;报警显示;查询历史记录;报表生成;发送远程诊断报文等。
3.1 人机界面设计
人机界面是软件系统中重要的组成部分,它是用户与软件的交互窗口,用户界面的好坏,很大程度上决定了软件的受欢迎度。系统的界面主要由两部分组成,第一部分为登陆界面,主要实现用户的登陆功能;第二部分为程序主界面,即登陆成功后的主操作界面,界面如图2所示。主界面主要包括七个子模块,即系统配置模块、系统操控模块、状态监视模块、报警信息模块、历史数据模块、报表生成模块和软件配置模块。系统配置模块用于配置起重机的工作参数,如最高压力设定、延时设定,最高压差设定等;系统操控模块用于对起重机的运行进行操作,分为自动运行和手动运行两种方式;状态监视模块用于对起重机各运行系统的状态进行监视;报警信息模块输出起重机的当前报警信息;历史数据模块用于生成用户对历史记录的提取;报表生成模块用于对用户选定的记录自动生成报表;软件配置模块用于修改登陆密码、设定远程诊断服务器端口等。
图2 自动控制与智能管理系统主界面
3.2 数据库设计
在数据库方面,本系统使用了Microsoft SQL Server 2008来构建本地数据库,利用LabSQL实现LabVIEW对数据库的访问操作。
3.2.1 LabSQL介绍
LabSQL是由美国国家仪器公司开发的一个免费的、多数据库、跨平台的LabVIEW数据库访问工具[3]。LabSQL利用Microsoft ADO以及SQL语言来完成数据库访问,将复杂的底层ADO及SQL操作封装成一系列的子VI,用户可以直接调用这些子VI,结合SQL语言即可方便的对数据库进行访问。
3.2.2 数据库模型设计
数据库实现的主要的功能有:用户帐户管理;用户登陆日志;寄存器信息存储;原始数据存储;解析数据存储;报警信息存储;报表信息存储等。如图3所示为数据库的模型设计思路。
模型主要考虑了三种情况。第一种情况为读数据链接区。系统从底层获得的原始数据首先存储在原始数据表中,然后将原始数据表中的值按寄存器定义表进行查询和解析,解析后的值存储在解析数据表中,并同时进行报警状态的判断,若触发存储在寄存器定义表中的报警条件则将报警信息存储进报警信息表中。若用户选择了生成报表,则将解析数据表中的相关数据进行提取生成报表。在进行数据解析时,需要应用程序对寄存器的定义进行判断,若原始数据中的字节未在寄存器定义表中进行定义则不对其进行解析。
表1 上位机节点数据链接配置表
图3 数据库模型设计
第二种情况为写数据链接区。应用程序发出配置或操作数据后,首先会到寄存器定义表中查询对应数据的寄存器地址,然后向相应地址进行写操作。
第三种情况为用户登陆。用户打开系统程序后,程序要求用户输入密码后才能进入主界面,登陆成功后记录当前登陆信息。此外,在用户对密码进行修改时也需要访问用户表。
3.2.3 LabVIEW访问数据库的实现
系统采用LabSQL对Microsoft SQL Server 2008进行访问。LabSQL包含4类VI:Command VIs用于实现基本的ADO操作;Connection VIs用于管理LabVIEW与数据库之间的连接;Recordset VIs用于对数据库的记录进行添加、修改、删除等操作;Top Level VIs用于实现对数据库应用层的操作。
如图4所示为将原始数据按寄存器定义表进行解析后存入解析数据表的子VI程序图。在子VI外部调用了Create connection.vi和Open connection.vi,通过对子VI建立输入通道对Open connection.vi的返回值ADODB._Connection Out进行引用。程序中使用SQL Execute.vi直接编写SQL查询和插入语句对数据库进行操作。程序对底层采集而来的DM区数据按寄存器定义表dbo.RCMS_register进行循环查询,当查询的DM区在dbo.RCMS_register中无记录时,判断条件为真,则不将该数据存入数据解析表;当查询的DM区在dbo.RCMS_register中有记录时,判断条件为假,则将该寄存器的内容存储至解析数据表dbo.RCMS_data中。
图4 解析原始数据子VI
3.3 LabVIEW与Controller Link板卡的数据交换
LabVIEW与Controller Link板卡的数据交换通过LabVIEW调用C库函数与FinsGateway软件进行通信来实现。
3.3.1 FinsGateway与C库函数
FinsGateway是Controller Link通讯协议的驱动程序,它为计算机上的32位Windows操作系统提供一个工厂自动化网络环境[3]。FinsGateway支持两种通信方式:EventMemory和FINS方式。EventMemory即数据链接方式,其工作原理如图5所示。通过在PCI板卡中虚拟出两个内存区,即CIO区和DM区,将PCI板卡虚拟成为网络中的一个PLC节点。使用数据链接将各节点PLC的数据映射到虚拟的CIO区和DM区中,上位机软件直接访问对应的内存地址即可实现对网络数据的读写。
FinsGateway提供了供应用程序调用的C库函数,可以使用户自由的编写上位机软件,实现对Controller Link板卡的Event Memory区读写,以及使用FINS指令对其他节点执行读写操作。主要C库函数如表2所示。
图5 FinsGateway的EventMemory方式工作原理图
以Clk Read Data link为例,hCLK为PCLKHANDLE类型变量,为ClkOpen执行后的返回值句柄。pEmAddress为结构体,由LPCTSTR类型的lpszMemName变量和DWORD类型的dwWordOffset变量组成。lpszMemName为数据区名称,即CIO或DM,dwWordOffset为读取地址的首地址。lpReadData为接收数组的起始地址。dwSize为读取的字的数量。
表2 FinsGateway提供的部分C库函数
表3 LabVIEW中创建的CLF节点函数原型
3.3.2 LabVIEW调用C库函数的实现
LabVIEW提供了强大的外部程序接口能力。使用CLF(Call Library Function)节点可以让LabVIEW方便的调用C、VC、VB等编程语言编写的程序以及其他API函数。表2中已经给出了与数据链接方式相关的C库函数。一个完整的数据链接过程包括3步:第一步,使用ClkOpen函数打开应用程序接口并返回CLK句柄;第二步,使用ClkReadDatalink函数或ClkWriteDatalink函数对数据链接区进行读或写操作;第三步,使用ClkClose函数关闭程序接口并释放CLK句柄[5]。
在LabVIEW中分别参照表2中的函数原型为4个函数创建CLF节点,如表3所示为各函数在LabVIEW中创建的CLF节点函数原型。其中,PCLKHANDLE类型对应于LabVIEW中的U32类型;BYTE类型对应于U8类型;INT类型对应于I32类型;PEMCLKADDRESS结构体对应于LabVIEW中的簇类型;LPWORD对应于I32值指针传递。
如图6所示为创建的1000ms数据采集定时循环,使用了两个ClkReadDatalink函数分别采集DM8300开始的600个字的数据和CIO3030开始的120个字的数据,并使用trans.vi对数据进行数据库存储。当开始采集标志位置ON时,每1000ms时间到则对CIO区和DM区进行一次数据的采集和存储。
图6 1000ms数据采集定时循环
3.4 远程故障诊断接口
远程故障诊断技术以其巨大的潜在价值越来越得到用户和设备生产厂商的关注。使用远程故障诊断可以帮助用户以最快的速度和最低的成本解决最棘手的问题。因此,本系统的设计为远程数据共享预留了接口。使用LabVIEW的网络编程模块,创建远程数据共享接口。用户可通过软件配置,使用UDP协议发送本地数据库数据,实现远程的数据共享。
4 结论
本文的创新点是把LabVIEW虚拟仪器技术用于大型起重机的自动控制和智能管理,开发出人性化的人机控制界面,实现对起重机的操控,状态的监视,数据存储及其它信息管理功能。此外,考虑到功能上的扩展,系统预留了远程故障诊断接口,实现了本地数据的网络共享。该系统实用性强,能够实现自动化和智能化的监控操作。随着计算机技术、网络技术和虚拟仪器技术的发展,大型起重机自动控制与智能管理系统应用前景广阔。
[1]陈斌,袁雪,管国强,等.基于LabVIEW的生物发酵过程远程在线监控系统设计[J].农业工程学报,2012,39(9):62-63.
[2]陈锡辉.LabVIEW 8.2程序设计从入门到精通[M].北京:清华大学出版社,2007.
[3]吴松涛,龚家伟.在LabVIEW中利用LabSQL实现数据库访问[J].国外电子测量技术,2006,25(4):53-56.
[4]徐世许,郑健,孙卫国.基于FINS协议的Controller Link网监控系统设计[J].计算机工程,2007,33(10):95-97.
[5]徐世许,宫淑贞,彭涛.可编程序控制器应用指南:编程·通信·联网[M].北京:电子工业出版社,2007.
The auto control and intelligent management system of large crane
ZHOU Qi-cai1, ZENG Li1, ZHAO Jiong1, ZHOU Tie-liang2, ZHANG Su-su2
该文详细介绍了以LabVIEW虚拟仪器为开发平台建立的起重机自动控制与智能管理系统。作者以Controller Link控制网络的起重机控制系统为研究对象,通过使用LabVIEW调用C库函数完成了上位机与Controller Link网络的数据交换,实现了上位机对起重机控制网络的监控功能。使用Microsoft SQL Server 2008建立了数据库系统,并利用LabSQL实现了系统与数据库的连接与访问。此外,该系统还为远程故障诊断提供了预留的数据共享接口。系统界面美观,运行稳定可靠,具有较高的实用价值。
起重机;自动控制;智能管理;LabVIEW;LabSQL
周奇才(1962 -),男,江苏人,教授,研究方向为工程物流装备及自动化。
TH218
A
1009-0134(2013)06(上)-0080-04
10.3969/j.issn.1009-0134.2013.06(上).24
2013-03-25