基于LabVIEW與OPC的船舶機艙報警系統(tǒng)設(shè)計
O 引 言
船舶機艙監(jiān)控系統(tǒng)是現(xiàn)代自動化船舶中最基本和最重要的系統(tǒng),目前船舶集中監(jiān)控系統(tǒng)大多采用分布式結(jié)構(gòu),而集散式控制、分布式控制的船舶自動化監(jiān)控系統(tǒng)將逐步被以現(xiàn)場總線為基礎(chǔ)的集中監(jiān)控系統(tǒng)所取代,從而最大程度地實現(xiàn)船舶航行的安全性、可靠性和經(jīng)濟性。相對于在傳統(tǒng)開發(fā)環(huán)境(VB,VC++,C等)下開發(fā)機艙監(jiān)控系統(tǒng)周期長,運行速度慢,調(diào)試和維護困難,系統(tǒng)采用LabVIEW作為編程語言,它編程高效、靈活、面向?qū)ο?,其強大的圖形編程能力及可視化編程環(huán)境得到很多軟件開發(fā)人員的青睞。PLC作為現(xiàn)代控制技術(shù)的重要支柱之一,以其可靠性高、抗干擾能力強等特點在現(xiàn)代控制系統(tǒng)中得到廣泛的應(yīng)用,它能適應(yīng)船舶機艙的惡劣環(huán)境。把LabVIEW與PLC相結(jié)合應(yīng)用到船舶機艙系統(tǒng),具有很好的應(yīng)用價值和前景。
該系統(tǒng)運用Profibus現(xiàn)場總線控制,采用一種基于OPC的PC與SIEMENS PLC S7—300實時通訊的Lmb—VIEW實現(xiàn)方法,將虛擬儀器技術(shù)與PLC技術(shù)結(jié)合到一起開發(fā)船舶機艙上位機控制系統(tǒng),以實現(xiàn)良好的人機界面與可靠的系統(tǒng)控制。實現(xiàn)LabVIEW與PLC S7—300的實時、穩(wěn)定的數(shù)據(jù)交換,是該系統(tǒng)的關(guān)鍵與難點。
l 系統(tǒng)實現(xiàn)
1.1 系統(tǒng)軟硬件條件
軟件:LabVIEW 8.2,SIMATIC NET(OPCInclude),Step7 v5.3 SQL數(shù)據(jù)庫。其中LabVIEW8.2用于上位機編程,SIMATIC NET用于對通信進行組態(tài)并配置OPC Server,Step 7 v5.3用于對SIE—MENS PLC S7—300進行編程。
硬件:PC機,SIEMENS PLC S7—300(CPU315—2DP),SIEMENS CP5611通訊卡,Profibus總線。Profibus總線是SIEMENS公司的一種用于工業(yè)控制的現(xiàn)場總線,在100 m范圍內(nèi)通信速率可達12 Mb/s。CP5611是一種PCI通訊卡,用于PC與Profibus連接。
1.2 系統(tǒng)流程圖
系統(tǒng)設(shè)計采用機艙報警和延伸報警互為補充。整個監(jiān)控系統(tǒng)共有84個工況參數(shù),其中開關(guān)量共71個,模擬量共13個。廢氣鍋爐綜合故障、應(yīng)急配電板DC24 V失電、1號左燃油艙高位等71個開關(guān)量和所有如燃油進機壓力、滑油進主軸承壓力、汽缸冷卻高溫淡水出口溫度等13個模擬量均直接接人PLC的輸入輸出模塊,通過傳感器將信號實時地讀入PLC的數(shù)據(jù)映像區(qū)。用PPI電纜將PLC和PC(RS 232標準串口)相連,上位機PC監(jiān)控軟件采用LabVIEW程序進行編寫,通過LabVIEW與PLC的接口將所有開關(guān)量和模擬量數(shù)據(jù)從PLC中取出,實現(xiàn)數(shù)據(jù)的顯示、報警、存儲、實時曲線和歷史曲線分析,故障診斷等功能。該系統(tǒng)還可通過上位機程序向PLC發(fā)出指令,以實現(xiàn)對設(shè)備的遠程控制,系統(tǒng)結(jié)構(gòu)流程如圖1所示。
1.3 通信方案及實現(xiàn)
1.3.1 通信方案
在以上硬件條件下,要在LabVIEW中實現(xiàn)PC與PLC的實時通信,關(guān)鍵在于如何在LabVIEW編程環(huán)境中驅(qū)動SIEMENS CP5611通訊卡。CP5611被驅(qū)動后,PC機即可通過CP5611與Profibus總線連接,從PLCS7—300地址塊中讀出數(shù)據(jù)或往地址塊中寫入數(shù)據(jù)。SIEMENS CP5611目前沒有LabVIEW的驅(qū)動程序,如果要在LabVIEW環(huán)境中開發(fā)SIEMENS PLC的上位控制系統(tǒng),可以采取兩種方案:
(1)開發(fā)者自己開發(fā)CP5611的驅(qū)動程序,從底層的動態(tài)鏈接庫編起;
(2)找到并安裝SIEMENS的OPC Server應(yīng)用程序,利用NI的OPC Client與之進行數(shù)據(jù)交互。
顯然,第二種方案對開發(fā)者更方便、快捷,因而本文選用第二種方案。OPC(OLE for Process Contro1)是基于Windows NT技術(shù)的0LE,COM/DCOM接口的擴展,其本質(zhì)是OPC Client用一種開放的、標準化的通訊方式與OPC Server進行通訊。OPC規(guī)范定義的標準接口,使得不同廠家之間軟硬件的集成易于實現(xiàn)。使用第三方硬件時,只要硬件開發(fā)商提供OPC Server,軟件開發(fā)人員無需編寫低層的驅(qū)動程序,通過用戶軟件的OPC Client即可與之進行數(shù)據(jù)交互。
1.3.2 LabVIEW與PLC數(shù)據(jù)通信的建立
(1)OPC Server的配置
SIEMENS公司為S7—300/S7—400提供的OPCServer接口集成在SIMATIC NET軟件包內(nèi),在本系統(tǒng)中西門子S7系統(tǒng)提供OPC Server,LabVIEW作為OPC Client進行數(shù)據(jù)通信。
(1)首先要進行OPC配置,在成功安裝SIMATICNET和CP5611的驅(qū)動程序后,重新啟動計算機,開始使用SIMATIC NET軟件組態(tài)PC Station。
(2)組態(tài)好后在Step7v5.3中OPC Server與CPU315—2 DP進行連接。
(3)連接好之后要下載,特別注意訪問點的(Access points)的設(shè)置,Options—PG/PCINTERFACE,下載到本地服務(wù)器要選本地訪問點PC internal(1ocal)下載到CPU315—2 DP,訪問點要改成CP5611。
(4)屬性中設(shè)定local(本地)IP地址,比如192.168.6.174,partner是CP5611,它的IP地址也要設(shè)定好,比如192.168.6.132。這樣,配置完成后,如果PCStation中小圖標變?yōu)椴噬?,表示OPC Server配置好了。
(2)DataSocke與OPC的通信
LabVIEW的圖形化變成平臺集成了當前測控領(lǐng)域中各種先進的軟件開發(fā)技術(shù),可采用多種方案對OPC服務(wù)器進行訪問。由于LabVIEW軟件平臺支持DataSocket技術(shù),DataSocket能實現(xiàn)實時數(shù)據(jù)共享,本文采用DataSocket技術(shù)實現(xiàn)對OPC服務(wù)器的訪問。 DataSocket技術(shù)是基于Microsoft COM和ActiveX,源于TCP/IP協(xié)議并對其進行高度封裝,面向測量和自動化應(yīng)用,用于共享和發(fā)布實時數(shù)據(jù),是一種易用的高性能數(shù)據(jù)交換編程接口。但它不必像TCP/IP編程那樣把數(shù)據(jù)轉(zhuǎn)換為非結(jié)構(gòu)化的字節(jié)流,而是以自己特有的編碼格式傳輸各種類型的數(shù)據(jù),包括字符串、數(shù)字、布爾量以及波形等,還可以在現(xiàn)場數(shù)據(jù)和用戶自定義屬性之間建立聯(lián)系,一起傳送。盡管DataSocket與OPC的實現(xiàn)原理有所不同,但DataSocket與OPC在體系上比較相似,二者結(jié)構(gòu)上都是客戶機/服務(wù)器模式,都為跨網(wǎng)絡(luò)傳輸數(shù)據(jù)定義了各自的傳輸協(xié)議,并以URL的方式訪問服務(wù)器數(shù)據(jù)項目。LabVIEW中可通過DataSocket VI功能子模板上DataSocket VIs支持OPC應(yīng)用。在LabV IEW中與一個OPC Sever通過調(diào)用DataSocke—tOpen Connection.vi圖標實現(xiàn),并將對應(yīng)于OPC—severURL傳給該Vi。OPC URL的基本結(jié)構(gòu)為:OPC://主機名//OPC服務(wù)器名/數(shù)據(jù)項目/刷新率。
l.4 監(jiān)控系統(tǒng)界面
在上位機中顯示的1#主機5個參數(shù)的實時參數(shù)值,運用DataSocke和OPC可以進行實時穩(wěn)定的通信顯示。儀表盤中,綠色表示參數(shù)在安全的情況下運行;黃色表示參數(shù)正處于臨界的狀態(tài),即將要達到超限的狀態(tài);而紅色即表示參數(shù)已經(jīng)超限。參數(shù)超限時,儀表下面的報警燈隨即紅亮,圖3中的第三個儀表已經(jīng)報警,顯示的是1#主機轉(zhuǎn)速超限。此時可以根據(jù)要求發(fā)送指令到PLC,或者通過PLC編程自動切換或停車。處理后PLC可將處理結(jié)果返回給LabVIEW顯示并存儲。表頭下面的三個曲線利用LabVIEW強大的數(shù)據(jù)顯示功能,通過設(shè)置顯示數(shù)據(jù)歷史長度設(shè)置當前一段時間內(nèi)的實時數(shù)據(jù)曲線,如圖3所示。
結(jié)合數(shù)據(jù)庫用戶可以對日志、報警記錄、控制處理結(jié)果以及各器件的歷史運行狀態(tài)進行查詢。圖4是主機的歷史曲線顯示分析界面,從歷史曲線可以看出系統(tǒng)參數(shù)的歷史趨勢。經(jīng)過分析可得出曲線整體走勢平緩,各參數(shù)在大部分時間是在正常范圍內(nèi)的,其中有個別點與其他點不同,說明過去存在參數(shù)報警。
2 結(jié) 語
該系統(tǒng)開發(fā)周期短、人機界面直觀友好、控制可靠、維護方便。運用LabVIEW自帶的DataSocket與OPC通信實時可靠,適用于SIEMENS幾乎所有的通訊總線和通訊卡。如使用不同的通訊總線和不同類型的通訊卡,組態(tài)時選取相應(yīng)的總線型號和通訊卡型號即可。采用OPC作為數(shù)據(jù)交換的接口,具有可拓展性,可以將其他的系統(tǒng)融合進來,構(gòu)成綜合監(jiān)控系統(tǒng)。實踐證明此系統(tǒng)在通沙汽渡五號上已經(jīng)運行一年多,性能穩(wěn)定,大大提高船舶機艙自動化水平。