朱 青 王 直 李垣江 胡 煜
摘 要:設(shè)計了基于LabVIEW與OPC船舶機艙報警監(jiān)控系統(tǒng)。上位機采用LabVIEW軟件實現(xiàn),下位機采用SIEMENS S7-300。利用OPC標準驅(qū)動方式和LabVIEW中的DataSocket實現(xiàn)了PC與S7-300的實時通訊,實現(xiàn)了良好的人機界面與可靠的系統(tǒng)控制。它能夠?qū)C艙主、輔機的溫度、壓力、轉(zhuǎn)速等參數(shù)具有顯示以及超限報警功能,并且具有利用數(shù)據(jù)庫實現(xiàn)數(shù)據(jù)的記錄以及查詢;實現(xiàn)歷史數(shù)據(jù)和實時數(shù)據(jù)的波形顯示與簡單動態(tài)分析功能。
關(guān)鍵詞:LabVIEW;OPC;DataSocket;S7-300;船舶機艙
中圖分類號:U664.82 文獻標識碼:B
文章編號:1004-373X(2009)01-129-03
Design of Alarm System for Engine-room Based on LabVIEW and OPC
ZHU Qing,WANG Zhi,LI Yuanjiang,HU Yu
(Jiangsu University of Science and Technology,Zhenjiang,212003,China)
Abstract:An alarm and control system for engine room of ships is developed by means of LabVIEW and OPC.OPC standards-driven approach and DataSocket of LabVIEW is used,PC and S7-300 real-time communications are realized,and a good human-computer interface and reliable control system are achieved.It is capable of displaying the temperature, pressure,speed and other parameters of the main and auxiliary cabin.It also has the exceeding alarm function.Meanwhile,the data and history can be recorded in database.The system can display historical data,real-time data waveform and achieve simple dynamic analysis.
Keywords:LabVIEW;OPC;DataSocket;S7-300;engine-room
0 引 言
船舶機艙監(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實時通訊的LabVIEW實現(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)鍵與難點。
1 系統(tǒng)實現(xiàn)
1.1 系統(tǒng)軟硬件條件
軟件:LabVIEW 8.2,SIMATIC NET(OPC Include),Step7 v5.3 SQL數(shù)據(jù)庫。其中LabVIEW 8.2用于上位機編程,SIMATIC NET用于對通信進行組態(tài)并配置OPC Server,Step 7 v5.3用于對SIEMENS PLC S7-300進行編程。
硬件:PC機,SIEMENS PLC S7-300(CPU315-2 DP),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)急配電板DC 24 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總線連接,從PLC S7-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 Control)是基于Windows NT技術(shù)的OLE,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提供的OPC Server接口集成在SIMATIC NET軟件包內(nèi),在本系統(tǒng)中西門子S7系統(tǒng)提供OPC Server,LabVIEW作為OPC Client進行數(shù)據(jù)通信。
(1) 首先要進行OPC配置,在成功安裝SIMATIC NET和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(local)下載到CPU315-2 DP,訪問點要改成CP5611。
(4) 屬性中設(shè)定local(本地)IP地址,比如192.168.6.174,partner是CP5611,它的IP地址也要設(shè)定好,比如192.168.6.132。這樣,配置完成后,如果PC Station中小圖標變?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)用DataSocketOpen Connection.vi圖標實現(xiàn),并將對應(yīng)于OPCseverURL傳給該Vi。OPC URL的基本結(jié)構(gòu)為:OPC://主機名//OPC服務(wù)器名/數(shù)據(jù)項目/刷新率。
1.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)定,大大提高船舶機艙自動化水平。
參考文獻
[1]王晶,孟憲堯.基于局域網(wǎng)的船舶機艙監(jiān)控和綜合橋樓系統(tǒng)[J].國內(nèi)外機電一體化技術(shù),2007,10(7):22-23.
[2]戴曉強,劉維亭,朱志宇.基于LabVIEW的船舶機艙自動化平臺的實現(xiàn)方法[J].微計算機信息200622(4Z):158-161.
[3]李紅梁.基于OPC的PC與PLC實時通訊的LabVIEW實現(xiàn)[J].計算機應(yīng)用研究,2003,20(12):115-118.
[4]高德欣,楊清,劉軍,等.利用OPC接口實現(xiàn)SCADA系統(tǒng)與PLC之間的通訊[J].青島科技大學學報,2006,27(2): 66-69.
[5]陳欣,王浩宇,郎朗.基于OPC技術(shù)的上位機與西門子PLC的通信[J].自動化與儀器儀表,2008(1):70-73.
[6]喬毅,欒美艷,袁愛進,等.基于LabVIEW和OPC的數(shù)據(jù)通信的實現(xiàn)[J].控制工程,2005,12(2):153-155.
[7]楊芷,魯五一,熊紅云.基于OPC技術(shù)的LabVIEW和PLCs通訊[J].長沙航空技術(shù)學院學報,2006,6(2):62-65.
[8]王翠蘭,周巖松.基于PROFIBUS現(xiàn)場總線的復(fù)卷機電控系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2007,30(19):154-156.
[9]欒美艷.采用虛擬測控軟件LabVIEW實現(xiàn)控制系統(tǒng)的監(jiān)控功能[D].大連:大連交通大學,2005.
[10]Madalin Stefan Vlad,Valentin Sgarciu.Distance Process Monitoring Using LabVIEW Environment[A].Automation,Quality and Testing,Robotics(AQTR),IEEE International Conference on.2006:214-219.
作者簡介朱 青 女,1983年出生,江蘇鹽城人,江蘇科技大學電子信息學院,碩士研究生。主要研究方向為船舶機艙自動化。
王 直 男,1962年出生,江蘇濱海人,副教授,江蘇科技大學科技處。主要研究方向為船舶導(dǎo)航、機器人控制。
李垣江 男,1981年出生,山西運城人,信號與信息處理碩士。江蘇科技大學電子信息學院教師。