任海兵
(揚州中遠海運重工有限公司,揚州 225211)
船舶機艙監測報警系統是船舶機艙自動化的主要部分,對于船舶的安全性和可靠性起著非常重要的作用。機艙監測系統可以準確可靠地監測機艙內各種設備的運行狀態和系統參數,一旦設備在運行過程中有故障發生,將自動發出聲光報警信號,并實時打印報警記錄[1-2],還能定時記錄重要參數并可根據需要隨時查詢、打印相關數據。隨著計算機技術的進步,航運公司不斷推廣船舶向大型化、現代化發展,配備船員數目開始減少,甚至有相當大一部分船舶沒有配備船員,無人機艙成為未來發展趨勢[3]。本文結合船級社規范要求和前人研發經驗,基于S7-1200 PLC研發了一套船舶機艙監測報警系統,并應用于某7 000 T油船,試航結果表明所研發的監測報警系統達到無人機艙的規范要求。

圖1 系統硬件結構
本機艙監測報警系統由硬件和軟件兩部分組成。硬件主要包括:兩臺研華工控機、兩臺19英寸LCD顯示、兩臺APC UPS,一臺EPSON針式打印機,兩個信號采集單元(SAU1、SAU2,內含西門子S7-1200 PLC模塊等),一套延伸報警裝置(一個主單元、七個從單元)等組成,如圖1所示。
上位工控機通過以太網通信讀取信號采集單元SAU1和SAU2中的信號。正常工作時,兩臺工控機通過OPC讀取SAU1和SAU2中的數據,并實現顯示、存儲、報警處理等功能。當上位工控機檢測到故障數據時,軟件界面實時地在表格中顯示報警信息,并在行首以紅色閃爍提醒工作人員(兩臺研華工控機進行同步報警,報警沒有確認的時候為紅色和灰色閃爍,報警確認后為紅色平光顯示,報警沒有確認消失時為綠色和灰色閃爍),報警系統同時發出聲光信號報警。按下消音按鈕后,報警聲音輸出停止;按下確認按鈕后,閃爍顯示變為平光顯示;報警消除后,已確認的報警從報警總明細表中消失,沒有確認報警仍舊以綠色平光顯示。報警時實時打印所發生的報警數據,同時自動將報警信息存儲到工控機中[4]。
信號采集單元SAU1、SAU2通過S7-1200 PLC的開關量、模擬量輸入模塊從現場傳感器獲取開關量、模擬量數據,并進行模數轉換和報警處理;并通過RS485總線獲取發電機、主配板和液位遙測單元的信號并進行數據轉換和報警處理。此外,SAU2通過以太網獲取SAU1中的報警信息,并通過RS485將數據周期發送給VDR。
系統硬件主要由上位機和信號采集單元組成,主要包括:工控機、顯示器、鼠標、鍵盤、打印機、交換機、PLC模塊、UPS、AC/DC模塊和DC/DC模塊等。
工控機的型號為研華IPC-7132,主板型號為AIMB-763VG,英特爾E5300處理器,2G內存,500G硬盤,DVD光驅,抗沖擊,臺灣研華公司生產。打印機型號:LQ-300K+II針式打印機,愛普生公司生產。UPS型號為APC Smart SUA1000ICH,1000VA,美國APC公司生產。
信號采集單元由PLC模塊組成,采用的是德國西門子公司生產的S7-1200緊湊型PLC。S7-1200PLC定位在原有的S7-200 PLC和S7-300 PLC產品之間,涵蓋了S7-200 PLC的原有功能并且新增了許多功能[5]。
根據規范要求及自動化明細表,本設計中開關量信號267個,模擬量輸入信號42個,PLC輸出的開關量信號2個,串口通信6個通道。本設計選用了具有以太網通信接口的1214 CPU模塊(4個)、16入開關量輸入模塊(14個)、8入模擬量輸入模塊(8個)、RS485通信模塊(7個)、AC/DC模塊(1個)和DC/DC模塊(1個)。
PLC CPU模塊選用的是西門子1214C CPUDC/DC/DC,開關量輸入模塊,選用的是 SM 1221 DI16 x 24VDC,模擬量輸入模塊,選用了西門子 SM 1231 AI8,通信模塊選用了兩種:CM 1241(RS422/485)和CB 1241 (RS485)。
為保證供電可靠性及避免信號采集單元對外部電源產生干擾,PLC供電采用兩路直流電源冗余及隔離方式:一路采用AC220V轉DC24V的隔離整流模塊獲得DC24V直流電源,另一路取自充放電板,兩路直流電源經二極管后通過DC24V至DC24V的隔離模塊給PLC系統供電。正常情況下,AC/DC模塊給信號采集單元供電,當交流電故障且UPS不能繼續供電時,由DC/DC供電,以保證在AC/DC供電故障時,信號采集單元仍能正常工作。根據PLC模塊的功耗及外繼電器的功率進行功率計算,并留有一定裕量,本設計選用了明瑋公司產品功率均為250 W的AD/DC模塊(SE-150-24)和DC/DC模塊(SD-150-24)。
系統軟件由上位機監測報警軟件和下位機PLC程序組成。上位工控機上的監測報警軟件應用LabVIEW實現,主要功能有:數據通信、報警判斷、模擬量顯示、報警信息顯示、數據存儲/查詢/打印等功能。下位信號采集單元PLC程序主要功能有:數據通信、模數轉換和報警處理。主要介紹上位機界面設計、報警處理和下位機報警處理。
上位機的報警處理,主要是對所獲得的開關量數據進行報警判斷,判斷各信號的狀態——正常、發生的報警或從報警狀態恢復變為正常狀態。其實現原理是:通過創建兩個布爾數組,其中一個為新獲得開關量報警數據轉換成的布爾數組(本次),另一個為上一次獲得的開關量報警數據轉換成的布爾數組(上次),如果這兩個布爾數組相同,則程序不作任何處理。如果這兩個數據不同,則開始逐位比較,例如上次為“1”本次為“0”,則表示狀態由報警恢復為正常;如果上次為“0”本次為“1”,則表示狀態由正常進入了報警;如果上次、本次均為“1”或“0”,說明仍處于報警狀態或正常狀態,不作處理。
不論是由報警狀態恢復正常狀態或由正常狀態進入報警狀態,如果某個開關量的狀態發生了變化,程序判斷后,都立刻存儲數據。
報警主要以列表方式顯示:未確認的新報警,其在列表中所在行的最左列顯示“Alarming for confirm”并紅色閃爍;未確認已恢復的報警,其在列表中所在行的最左顯示“Cleared of confirm”列藍色閃爍;如已確認了報警,則紅色平光顯示(不閃爍);已確認的報警信號狀態由報警恢復正常后,或藍色閃爍報警被確認后,所在行的最左列顯示“Normal”并不再閃爍。
上位機界面顯示有模擬動圈表表頭、直接數字、Mimic圖和柱裝條等方式,如圖2所示。

圖2 左主機顯示
下位機報警分為開關量報警和模擬量報警兩大類。開關量報警處理,先要讀取PLC開關量I/O通道的“0”、“1”的狀態,然后再根據外部開關量預先設置好的常開或常閉屬性處理,處理后再與確定該報警是否禁用的一常閉點串聯(“1”時禁用,“0”時啟用)。經這樣處理后的位再進行報警、消音處理。報警消音處理的功能如圖3所示。
圖3中,#in_t2.%X0與輸入的報警信號相對應,當其為“1”時,第一行指令#Out_B.%X0為“1”輸出報警信息,#Outtempt.%X0為“1”用于第二行是否輸出聲音控制,當消音按鈕未按下時,#Ack為“0”,因第一行指令輸出“1”,第二指令中的上升沿指令使#Bell_B.%X0為“1”,繼而圖中虛框內的指令行使#Bell_B.%X0為“1”,輸出發聲指令,外部聲音報警裝置工作發出聲音報警;若按下消音按鈕,則#Ack為“1”,使#Bell_B.%X0為“0”,輸出消聲指令,外部聲音報警裝置停止發出聲音報警,雖然此時報警信號仍存在,但外部聲音報警裝置不發出聲音報警。

圖3 報警消音處理
模擬量報警處理,先將模擬量通道讀得的數值進行轉換后,與設定的工程值進行比較,一旦超出范圍則將某一位置“1”,然后根據這一位的“0”、“1”狀態進行判斷是處于報警的狀態還是處于正常的狀態,判斷方法與開關量報警判斷一樣。
基于S7-1200 PLC,通過PLC的開關量輸入/輸出通信、模擬量輸入通道、RS485通信接口和以太網通信接口,可以較方便地設計出船舶機艙監測報警的硬件系統,并可較方便地開發出上位監測報警軟件和下位PLC程序。能及時地發現異常情況,并發出聲光報警信號,在無人值守時通過延伸報警裝置將報警延伸到有人的處所,以保證在出現異常情況時,能有人及時響應,從而保證船舶的安全運行。試航結果表明,本機艙監測報警系統滿足無人機艙規范要求,人機交互友好,提高了船舶機艙自動化水平。