臧登月,胡 鷹,馬立峰
(太原科技大學,山西 太原 030024)
隨著市場對于高質(zhì)量鋼板的需求量不斷增加,對矯直機的功能和自動化程度提出了更高的要求,而矯直機的控制系統(tǒng)對于矯直機性能的提高有著至關(guān)重要的決定作用。
某鋼廠矯直機控制系統(tǒng)采用工業(yè)以太網(wǎng)和現(xiàn)場總線將各個服務(wù)器和PLC控制系統(tǒng)連接起來。其中監(jiān)控服務(wù)器采用Wincc作為控制軟件,主要負責設(shè)備的監(jiān)控,數(shù)據(jù)的顯示和存儲;PLC控制系統(tǒng)包括西門子S7-400PLC和底層執(zhí)行設(shè)備,完成數(shù)據(jù)的采集。其控制系統(tǒng)示意圖如圖1所示。
雖然Wincc可以提供一些控件 (如:在線表格控件、在線趨勢控件、用戶歸檔表格控件等)顯示數(shù)據(jù),但是用戶不能直接訪問數(shù)據(jù)庫,不能對這些數(shù)據(jù)直接進行分析處理,所以要在現(xiàn)有系統(tǒng)中添加數(shù)據(jù)分析功能模塊。LabVIEW以強大的數(shù)據(jù)分析處理功能在冶金、化工、橋梁、水電、環(huán)境監(jiān)測等領(lǐng)域得到廣泛應用。將LabVIEW與現(xiàn)有系統(tǒng)進行結(jié)合,發(fā)揮各自的優(yōu)勢,就可以開發(fā)一套功能強大、高效可靠的控制系統(tǒng)。
LabVIEW(Laboratory Virtual Instrument En-gineering Workbench,實驗室虛擬儀器工作平臺)是由美國國家儀器公司 (NI)創(chuàng)立的一種基于圖形化的、用圖標來代替文本行創(chuàng)建應用程序的計算機編程語言[2]。LabVIEW具有豐富的功能模塊和內(nèi)部函數(shù),用于數(shù)據(jù)的分析和處理。同時,還提供了多種網(wǎng)絡(luò)接口與驅(qū)動程序支持數(shù)據(jù)的傳輸。其中利用DataSocket技術(shù)訪問OPC服務(wù)器從而可以實現(xiàn)不同應用程序之間的數(shù)據(jù)交互和實時數(shù)據(jù)的共享。
圖1 矯直機控制系統(tǒng)示意圖Fig.1 Schematic diagram for control system of straightener
DataSocket技術(shù)是NI公司提供的一種基于TCP/IP協(xié)議的網(wǎng)絡(luò)傳輸技術(shù),DataSocket能有效地實現(xiàn)本地計算機內(nèi)不同應用程序之間或者網(wǎng)絡(luò)中不同計算機的多個應用程序之間的數(shù)據(jù)交互和共享以及實時數(shù)據(jù)的發(fā)布。DataSocket技術(shù)支持多種通信協(xié)議,例如:dstp、opc、logos、卸、file。目前在工業(yè)控制領(lǐng)域廣泛采用opc(OLE for Process Control)協(xié)議實現(xiàn)不同應用程序之間的連接。雖然目前已經(jīng)有TCP/IP、DDE等多種用于兩個應用程序之間共享數(shù)據(jù)的技術(shù),但是這些技術(shù)都不是用于實時數(shù)據(jù) (Live Data)傳輸?shù)?。只有DataSocket是一項在測量和自動化應用中用于共享和發(fā)布實時數(shù)據(jù)的技術(shù)[3]。
OPC(OLE for Process Control)是一個標準的、與制造商無關(guān)的軟件接口,這個標準定義了應用Microsoft操作系統(tǒng)在基于PC的客戶機之間交換自動化實時數(shù)據(jù)的方法。它基于OLE/COM/DCOM技術(shù)采用客戶機/服務(wù)器模式,以O(shè)PC服務(wù)器的形式將數(shù)據(jù)提供給用戶[4]。OPC通信包括OPC服務(wù)器和OPC客戶機兩部分,OPC服務(wù)器為客戶機提供所需的數(shù)據(jù),OPC客戶機負責接收服務(wù)器發(fā)送的數(shù)據(jù)并進行處理分析。OPC作為一種接口規(guī)范,解決了軟硬件廠家的矛盾,在增強系統(tǒng)的開放性和兼容性,提高通信的可靠性和穩(wěn)定性方面發(fā)揮了積極地作用,并且便于系統(tǒng)的升級和維護。
Wincc(Windows Control Center)是西門子公司的一款工控組態(tài)軟件,主要用于數(shù)據(jù)采集監(jiān)控系統(tǒng),是HMI/SCADA軟件中的后起之秀,目前被廣泛應用于冶金,化工,水電等各種工業(yè)自動化控制領(lǐng)域。Wincc全面支持 OPC標準,Wincc可以用作OPC客戶機實現(xiàn)與OPC服務(wù)器的連接,也可以作為OPC服務(wù)器,其他應用程序也可以O(shè)PC的方式訪問Wincc。
Wincc的系統(tǒng)中集成了 OPC DA服務(wù)器、OPC HAD服務(wù)器和OPC A&E服務(wù)器[5]??梢酝ㄟ^OPC DA服務(wù)器訪問Wincc的過程數(shù)據(jù),通過OPC HAD服務(wù)器訪問Wincc的所有歸檔數(shù)據(jù),由于OPC A&E具備過濾機制,所以可通過此服務(wù)器傳送經(jīng)過選擇之后的值。
現(xiàn)有矯直機的數(shù)據(jù)采集系統(tǒng)把底層數(shù)據(jù)存儲到Wincc中,在不改變原有系統(tǒng)的情況下只需要實現(xiàn)LabVIEW與Wincc的通信,從Wincc中取出過程數(shù)據(jù)用LabVIEW進行分析。由上一節(jié)的分析可以知道,LabVIEW與Wincc都支持OPC通信協(xié)議,所以可以基于OPC通信協(xié)議實現(xiàn)兩者的通信。LabVIEW與Wincc的通信示意圖如圖2所示。LabVIEW對OPC服務(wù)器的訪問有3種方案:①通過ActiveX自動化接口實現(xiàn)對OPC服務(wù)器的訪問;②通過DataSocket技術(shù)實現(xiàn)對OPC服務(wù)器的訪問;③通過DSC模塊實現(xiàn)對OPC服務(wù)器的訪問[6]。本系統(tǒng)利用DataSocket內(nèi)部的OPC Client與西門子Wincc OPC Server通訊。
圖2 LabVIEW與Wincc通信示意圖Fig.2 Schematic diagram of communication between LabVIEW and Wincc
DataSocket函數(shù)庫主要包括DataSocket select、 DataSocket open、 DataSocket read、DataSocket write、DataSocket close等函數(shù)。使用DataSocket傳輸數(shù)據(jù)時,采用和WWW瀏覽器相似的統(tǒng)一資源定位符URL來說明使用的通信協(xié)議和數(shù)據(jù)資源的位置。在程序開始,首先確定數(shù)據(jù)源地址。本系統(tǒng)中采用OPC通信協(xié)議與Wincc通信,其 URL地址格式為0PC://localhost/OPCServer.WinCC/項名。其中 localhost是主機名,OPCSever.Wincc是OPC服務(wù)器的名稱。
系統(tǒng)連接后,在數(shù)據(jù)的傳輸過程中發(fā)現(xiàn),在讀或?qū)憯?shù)據(jù)時,通常會發(fā)生數(shù)據(jù)丟失的情況,究其原因主要是因為發(fā)布數(shù)據(jù)的一端比接收數(shù)據(jù)的一端速度快,導致一些數(shù)據(jù)還沒來得及讀取就被覆蓋掉了。為了解決這種問題,故使用數(shù)據(jù)緩存區(qū)的方法傳輸數(shù)據(jù),將DataSocket open函數(shù)的模式參數(shù)選為Buffered Read或Buffered Read/Write。后續(xù)試驗中發(fā)現(xiàn)采用緩沖方式傳輸數(shù)據(jù)仍然有數(shù)據(jù)丟失,這時,在 DataSocket Server Manager上調(diào)整最大數(shù)據(jù)包數(shù),調(diào)為2后,通信正常。利用DataSocket技術(shù)通信程序圖如圖3所示。
圖3 利用DataSocket技術(shù)通信程序圖Fig.3 Program graph of communication by means of DataSocket technology
矯直機數(shù)據(jù)通信分析系統(tǒng)包括用戶登錄模塊、實時數(shù)據(jù)顯示模塊、歷史數(shù)據(jù)查詢模塊和報警記錄模塊。用戶通過輸入用戶名和密碼登錄系統(tǒng),每個用戶被賦予不同的權(quán)限執(zhí)行不同的操作;在實時數(shù)據(jù)顯示模塊,對采集的數(shù)據(jù)進行時域和頻域等分析,并通過圖形顯示控件顯示各個參數(shù)的趨勢,操作人員可根據(jù)曲線的走勢做出合理的控制;歷史數(shù)據(jù)查詢模塊:選用Microsoft Access數(shù)據(jù)庫存放矯直機的歷史數(shù)據(jù),利用Lab-VlEW DCT工具包在Microsoft Access數(shù)據(jù)庫中動態(tài)創(chuàng)建表格,以變量名命名為表格名,對每一個數(shù)據(jù)標記上記錄號、日期和時間,用戶可以通過這些條件查詢歷史數(shù)據(jù);報警記錄模塊記錄系統(tǒng)執(zhí)行過程中的所有報警信息,為系統(tǒng)故障診斷提供了可靠的依據(jù),方便系統(tǒng)的維護。圖4為矯直機數(shù)據(jù)通信分析系統(tǒng)主界面。
圖4 矯直機數(shù)據(jù)通信分析系統(tǒng)主界面Fig.4 Main interface of data communication and analysis system of straightener
基于LabVIEW的矯直機數(shù)據(jù)通信分析系統(tǒng)的開發(fā),實現(xiàn)了實時數(shù)據(jù)顯示、報警記錄和歷史數(shù)據(jù)記錄分析處理等功能,為進一步改善矯直機生產(chǎn)工藝提供了數(shù)據(jù)支持。該系統(tǒng)用于矯直機以來,實現(xiàn)了實時數(shù)據(jù)的同步高效傳輸,無數(shù)據(jù)丟失現(xiàn)象,保證了數(shù)據(jù)的可靠性,并可對數(shù)據(jù)做出直觀的分析,及時指導現(xiàn)場操作,提高了矯直機的工作效率。
[1]劉其和,李云明.LabVIEW虛擬儀器程序設(shè)計與應用[M].北京:化學工業(yè)出版社,2011.4.
[2]孫秋野,柳昂,王云爽.LabVIEW 8.5快速入門與提高 [M].西安:西安交通大學出版社,2009.5.
[3]胡仁喜,王恒海,齊東明,等.LabVIEW 8.2.1虛擬儀器實例指導教程[M].北京:機械工業(yè)出版社,2008.1.
[4]于海寧,張麗,陳立劍.基于Labview的數(shù)據(jù)通信的設(shè)計與實現(xiàn) [J].船電技術(shù),2009(5).
[5]蘇昆哲.深入淺出西門子Wincc V6[M].北京:北京航空航天大學出版社,2005.9.
[6]劉金寧,孟晨.基于LabVIEW實現(xiàn)對OPC服務(wù)器的訪問 [J].計算機工程與設(shè)計,2004(10).