朱 青 王 直 李垣江 胡 煜
摘 要:設計了基于LabVIEW與OPC船舶機艙報警監控系統。上位機采用LabVIEW軟件實現,下位機采用SIEMENS S7-300。利用OPC標準驅動方式和LabVIEW中的DataSocket實現了PC與S7-300的實時通訊,實現了良好的人機界面與可靠的系統控制。它能夠對機艙主、輔機的溫度、壓力、轉速等參數具有顯示以及超限報警功能,并且具有利用數據庫實現數據的記錄以及查詢;實現歷史數據和實時數據的波形顯示與簡單動態分析功能。
關鍵詞: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 引 言
船舶機艙監控系統是現代自動化船舶中最基本和最重要的系統,目前船舶集中監控系統大多采用分布式結構,而集散式控制、分布式控制的船舶自動化監控系統將逐步被以現場總線為基礎的集中監控系統所取代,從而最大程度地實現船舶航行的安全性、可靠性和經濟性。相對于在傳統開發環境(VB,VC ++,C等)下開發機艙監控系統周期長,運行速度慢,調試和維護困難,系統采用LabVIEW作為編程語言,它編程高效、靈活、面向對象,其強大的圖形編程能力及可視化編程環境得到很多軟件開發人員的青睞。PLC作為現代控制技術的重要支柱之一,以其可靠性高、抗干擾能力強等特點在現代控制系統中得到廣泛的應用,它能適應船舶機艙的惡劣環境。把LabVIEW與PLC相結合應用到船舶機艙系統,具有很好的應用價值和前景。
該系統運用Profibus現場總線控制,采用一種基于OPC的PC與SIEMENS PLC S7-300實時通訊的LabVIEW實現方法,將虛擬儀器技術與PLC技術結合到一起開發船舶機艙上位機控制系統,以實現良好的人機界面與可靠的系統控制。實現LabVIEW與PLC S7-300的實時、穩定的數據交換,是該系統的關鍵與難點。
1 系統實現
1.1 系統軟硬件條件
軟件:LabVIEW 8.2,SIMATIC NET(OPC Include),Step7 v5.3 SQL數據庫。其中LabVIEW 8.2用于上位機編程,SIMATIC NET用于對通信進行組態并配置OPC Server,Step 7 v5.3用于對SIEMENS PLC S7-300進行編程。
硬件:PC機,SIEMENS PLC S7-300(CPU315-2 DP),SIEMENS CP5611通訊卡,Profibus總線。Profibus總線是SIEMENS公司的一種用于工業控制的現場總線,在100 m范圍內通信速率可達12 Mb/s。CP5611是一種PCI通訊卡,用于PC與Profibus連接。
1.2 系統流程圖
系統設計采用機艙報警和延伸報警互為補充。整個監控系統共有84個工況參數,其中開關量共71個,模擬量共13個。廢氣鍋爐綜合故障、應急配電板DC 24 V失電、1號左燃油艙高位等71個開關量和所有如燃油進機壓力、滑油進主軸承壓力、汽缸冷卻高溫淡水出口溫度等13個模擬量均直接接入PLC的輸入輸出模塊,通過傳感器將信號實時地讀入PLC的數據映像區。用PPI電纜將PLC和PC(RS 232標準串口)相連,上位機PC監控軟件采用LabVIEW程序進行編寫,通過LabVIEW與PLC的接口將所有開關量和模擬量數據從PLC中取出,實現數據的顯示、報警、存儲、實時曲線和歷史曲線分析,故障診斷等功能。該系統還可通過上位機程序向PLC發出指令,以實現對設備的遠程控制,系統結構流程如圖1所示。
1.3 通信方案及實現
1.3.1 通信方案
在以上硬件條件下,要在LabVIEW中實現PC與PLC的實時通信,關鍵在于如何在LabVIEW編程環境中驅動SIEMENS CP5611通訊卡。CP5611被驅動后,PC機即可通過CP5611與Profibus總線連接,從PLC S7-300地址塊中讀出數據或往地址塊中寫入數據。SIEMENS CP5611目前沒有LabVIEW的驅動程序,如果要在LabVIEW環境中開發SIEMENS PLC的上位控制系統,可以采取兩種方案:
(1) 開發者自己開發CP5611的驅動程序,從底層的動態鏈接庫編起;
(2) 找到并安裝SIEMENS的OPC Server應用程序,利用NI的OPC Client與之進行數據交互。
顯然,第二種方案對開發者更方便、快捷,因而本文選用第二種方案。OPC(OLE for Process Control)是基于Windows NT技術的OLE,COM/DCOM接口的擴展,其本質是OPC Client用一種開放的、標準化的通訊方式與OPC Server進行通訊。OPC規范定義的標準接口,使得不同廠家之間軟硬件的集成易于實現。使用第三方硬件時,只要硬件開發商提供OPC Server,軟件開發人員無需編寫低層的驅動程序,通過用戶軟件的OPC Client即可與之進行數據交互。
1.3.2 LabVIEW與PLC數據通信的建立
(1) OPC Server的配置
SIEMENS公司為S7-300/S7-400提供的OPC Server接口集成在SIMATIC NET軟件包內,在本系統中西門子S7系統提供OPC Server,LabVIEW作為OPC Client進行數據通信。
(1) 首先要進行OPC配置,在成功安裝SIMATIC NET和CP5611的驅動程序后,重新啟動計算機,開始使用SIMATIC NET軟件組態PC Station。
(2) 組態好后在Step7v5.3中OPC Server與CPU315-2 DP進行連接。
(3) 連接好之后要下載,特別注意訪問點的(Access points)的設置,Options-PG/PCINTERFACE,下載到本地服務器要選本地訪問點PC internal(local)下載到CPU315-2 DP,訪問點要改成CP5611。
(4) 屬性中設定local(本地)IP地址,比如192.168.6.174,partner是CP5611,它的IP地址也要設定好,比如192.168.6.132。這樣,配置完成后,如果PC Station中小圖標變為彩色,表示OPC Server配置好了。
(2) DataSocke與OPC的通信
LabVIEW的圖形化變成平臺集成了當前測控領域中各種先進的軟件開發技術,可采用多種方案對OPC服務器進行訪問。由于LabVIEW軟件平臺支持DataSocket技術,DataSocket能實現實時數據共享,本文采用DataSocket技術實現對OPC服務器的訪問。DataSocket技術是基于Microsoft COM和ActiveX,源于TCP/IP協議并對其進行高度封裝,面向測量和自動化應用,用于共享和發布實時數據,是一種易用的高性能數據交換編程接口。但它不必像TCP/IP編程那樣把數據轉換為非結構化的字節流,而是以自己特有的編碼格式傳輸各種類型的數據,包括字符串、數字、布爾量以及波形等,還可以在現場數據和用戶自定義屬性之間建立聯系,一起傳送。盡管DataSocket與OPC的實現原理有所不同,但DataSocket與OPC在體系上比較相似,二者結構上都是客戶機/服務器模式,都為跨網絡傳輸數據定義了各自的傳輸協議,并以URL的方式訪問服務器數據項目。LabVIEW中可通過DataSocket VI功能子模板上DataSocket VIs支持OPC應用。在LabV IEW中與一個OPC Sever通過調用DataSocketOpen Connection.vi圖標實現,并將對應于OPCseverURL傳給該Vi。OPC URL的基本結構為:OPC://主機名//OPC服務器名/數據項目/刷新率。
1.4 監控系統界面
在上位機中顯示的1#主機5個參數的實時參數值,運用DataSocke和OPC可以進行實時穩定的通信顯示。儀表盤中,綠色表示參數在安全的情況下運行;黃色表示參數正處于臨界的狀態,即將要達到超限的狀態;而紅色即表示參數已經超限。參數超限時,儀表下面的報警燈隨即紅亮,圖3中的第三個儀表已經報警,顯示的是1#主機轉速超限。此時可以根據要求發送指令到PLC,或者通過PLC編程自動切換或停車。處理后PLC可將處理結果返回給LabVIEW顯示并存儲。表頭下面的三個曲線利用LabVIEW強大的數據顯示功能,通過設置顯示數據歷史長度設置當前一段時間內的實時數據曲線,如圖3所示。
結合數據庫用戶可以對日志、報警記錄、控制處理結果以及各器件的歷史運行狀態進行查詢。圖4是主機的歷史曲線顯示分析界面,從歷史曲線可以看出系統參數的歷史趨勢。經過分析可得出曲線整體走勢平緩,各參數在大部分時間是在正常范圍內的,其中有個別點與其他點不同,說明過去存在參數報警。
2 結 語
該系統開發周期短、人機界面直觀友好、控制可靠、維護方便。運用LabVIEW自帶的DataSocket與OPC通信實時可靠,適用于SIEMENS幾乎所有的通訊總線和通訊卡。如使用不同的通訊總線和不同類型的通訊卡,組態時選取相應的總線型號和通訊卡型號即可。采用OPC作為數據交換的接口,具有可拓展性,可以將其他的系統融合進來,構成綜合監控系統。實踐證明此系統在通沙汽渡五號上已經運行一年多,性能穩定,大大提高船舶機艙自動化水平。
參考文獻
[1]王晶,孟憲堯.基于局域網的船舶機艙監控和綜合橋樓系統[J].國內外機電一體化技術,2007,10(7):22-23.
[2]戴曉強,劉維亭,朱志宇.基于LabVIEW的船舶機艙自動化平臺的實現方法[J].微計算機信息200622(4Z):158-161.
[3]李紅梁.基于OPC的PC與PLC實時通訊的LabVIEW實現[J].計算機應用研究,2003,20(12):115-118.
[4]高德欣,楊清,劉軍,等.利用OPC接口實現SCADA系統與PLC之間的通訊[J].青島科技大學學報,2006,27(2): 66-69.
[5]陳欣,王浩宇,郎朗.基于OPC技術的上位機與西門子PLC的通信[J].自動化與儀器儀表,2008(1):70-73.
[6]喬毅,欒美艷,袁愛進,等.基于LabVIEW和OPC的數據通信的實現[J].控制工程,2005,12(2):153-155.
[7]楊芷,魯五一,熊紅云.基于OPC技術的LabVIEW和PLCs通訊[J].長沙航空技術學院學報,2006,6(2):62-65.
[8]王翠蘭,周巖松.基于PROFIBUS現場總線的復卷機電控系統設計[J].現代電子技術,2007,30(19):154-156.
[9]欒美艷.采用虛擬測控軟件LabVIEW實現控制系統的監控功能[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年出生,江蘇濱海人,副教授,江蘇科技大學科技處。主要研究方向為船舶導航、機器人控制。
李垣江 男,1981年出生,山西運城人,信號與信息處理碩士。江蘇科技大學電子信息學院教師。