周奇才,曾 禮 ,趙 炯,周鐵梁,張溧栗
(1. 同濟大學 機械與能源工程學院,上海 201804;2. 華電重工股份有限公司,上海 200122)
大型起重機自動控制與智能管理系統
周奇才1,曾 禮1,趙 炯1,周鐵梁2,張溧栗2
(1. 同濟大學 機械與能源工程學院,上海 201804;2. 華電重工股份有限公司,上海 200122)
隨著計算機技術的進步,虛擬儀器技術應運而生,它是一種將儀器技術、計算機軟硬件技術、網絡技術和通信技術進行有機結合的新儀器技術[1]。LabVIEW是美國國家儀器公司推出的一種圖標替代文本行創建應用程序的圖形化編程語言。LabVIEW提供了大量的工具和函數用于數據采集、分析、顯示和存儲,目前已被廣泛應用于汽車、通信、航空、半導體、電子設計生產、過程控制和生物醫學等領域[2]。
我國現代化建設的飛速發展帶動了起重機械的技術飛躍。目前,起重機械的發展越來越趨向于大型化、專用化和智能化。隨著起重機部件數量的增多,零部件結構的復雜程度增大,對起重機的維護、運行和管理也就變的越來越困難。因此,針對大型起重機建立一套完善的起重機自動控制與智能管理系統就變的非常有意義。該系統要實現的目標包括:具有人性化的操控界面;能夠全面記錄起重機的操作數據、運行數據;能夠自動保存起重機的維護保養記錄;能夠實現遠程傳遞數據和共享信息;具有遠程診斷及維護等功能。該系統的實現無疑將大大的降低起重機械的維護難度,提升產品的可靠性和競爭力。
本文研究設計了一種基于LabVIEW的大型起重機自動控制與智能管理系統,上位機以LabVIEW作為前臺開發工具,以Microsoft SQL Server 2008作為后臺數據庫,以基于Controller Link網絡的起重機控制系統作為控制與監視對象,實現了對起重機的操作、狀態的監視,采集數據的保存、報警和報表生成等功能。另外,借助于LabVIEW的網絡編程功能,為遠程故障診斷軟件提供了遠程診斷接口。
起重機的控制系統主要由六大系統組成,即起升系統、變幅系統、回轉系統、調平系統、塔頭系統和力矩限制系統。
起重機的控制網絡為Controller Link網絡,如圖1所示,網絡主要由監控層和設備層組成。設備層主要由PLC、現場傳感器和執行器組成,PLC的數字量和模擬量輸入輸出模塊實現對現場傳感器的數據采集以及對現場執行器的輸出控制,設備層實現了各節點的功能控制;監控層由上位機和分布于起重機各子系統的下位PLC通訊單元組成,主要實現上位機與下位機的數據交換。
上位機端安裝支持Controller Link 數據總線的3G8F7-CLK21-EV1板卡,PLC端安裝支持Controller Link的通訊模塊。上位機與下位PLC組成N:N令牌環網,PLC之間以及上位機與PLC之間通過Controller Link網絡的數據鏈接功能實現數據的共享。

圖1 起重機的控制網絡
Controller Link(CLK)網絡是OMRON公司推出的一種FA網絡,可以連接CJ1、CS1、CQM1H等系列的PLC和計算機,CLK網允許各節點之間進行大容量的數據交換,實現PLC與上位機之間的協調控制。
CLK網支持數據鏈接與報文通信兩種數據傳輸方式。數據鏈接方式配置方法簡單且支持超大容量的數據共享,因此,本文采用數據鏈接方式進行網絡數據交換。配置完成后的上位機節點板卡內存分配如表1所示。
上位軟件系統是操作人員與起重機進行信息溝通的關鍵環節,其主要實現的功能有:起重機系統運行參數的設定;起重機的動作指令控制;起重機運行狀態的監視;報警顯示;查詢歷史記錄;報表生成;發送遠程診斷報文等。
人機界面是軟件系統中重要的組成部分,它是用戶與軟件的交互窗口,用戶界面的好壞,很大程度上決定了軟件的受歡迎度。系統的界面主要由兩部分組成,第一部分為登陸界面,主要實現用戶的登陸功能;第二部分為程序主界面,即登陸成功后的主操作界面,界面如圖2所示。主界面主要包括七個子模塊,即系統配置模塊、系統操控模塊、狀態監視模塊、報警信息模塊、歷史數據模塊、報表生成模塊和軟件配置模塊。系統配置模塊用于配置起重機的工作參數,如最高壓力設定、延時設定,最高壓差設定等;系統操控模塊用于對起重機的運行進行操作,分為自動運行和手動運行兩種方式;狀態監視模塊用于對起重機各運行系統的狀態進行監視;報警信息模塊輸出起重機的當前報警信息;歷史數據模塊用于生成用戶對歷史記錄的提?。粓蟊砩赡K用于對用戶選定的記錄自動生成報表;軟件配置模塊用于修改登陸密碼、設定遠程診斷服務器端口等。

圖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
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數據采集定時循環
遠程故障診斷技術以其巨大的潛在價值越來越得到用戶和設備生產廠商的關注。使用遠程故障診斷可以幫助用戶以最快的速度和最低的成本解決最棘手的問題。因此,本系統的設計為遠程數據共享預留了接口。使用LabVIEW的網絡編程模塊,創建遠程數據共享接口。用戶可通過軟件配置,使用UDP協議發送本地數據庫數據,實現遠程的數據共享。
本文的創新點是把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