摘要: 本文描述了基于西門子通訊模塊CP-340的PLC與MAN B&M柴油主機(jī)通訊的船舶自動監(jiān)控系統(tǒng)設(shè)計(jì)與應(yīng)用。通過西門子可編程控制器S7-300及CP-340通訊模塊,并基于RS-422現(xiàn)場總線協(xié)議對船舶柴油機(jī)的滑油壓、油溫、淡水壓力、燃?xì)鉁囟鹊饶M量和水位、油艙高位等開關(guān)報警量進(jìn)行監(jiān)控,并顯示在機(jī)艙控制臺的各儀表和顯示器上,實(shí)現(xiàn)了船舶機(jī)艙的自動監(jiān)控。經(jīng)在大中型船舶機(jī)艙中的實(shí)際應(yīng)用表明,該監(jiān)控系統(tǒng)功能完善、性能優(yōu)良、可靠性高,完全能夠滿足船舶航行的要求標(biāo)準(zhǔn)。
關(guān)鍵詞: 船舶柴油機(jī);PLC(S7-300); 通訊模塊(CP-340);現(xiàn)場總線(RS-422)
引言
隨著自動化技術(shù)的不斷發(fā)展,并在各行業(yè)中獲得廣泛的應(yīng)用,造船業(yè)的自動化集成度也有了很大的提高。其中船舶動力設(shè)備的自動控制是最常見的、最基本的,也是最需要的。為了保證船舶動力設(shè)備安全可靠的運(yùn)行,以及減少人為因素的錯誤判斷和人力的極大浪費(fèi),設(shè)計(jì)了基于CP-340通訊模塊的船舶機(jī)艙監(jiān)控系統(tǒng),并將該系統(tǒng)應(yīng)用于實(shí)際船舶項(xiàng)目中。通過該系統(tǒng)對船舶動力設(shè)備參數(shù)的實(shí)時檢測,可以實(shí)時顯示設(shè)備各重要的運(yùn)行參數(shù)和狀態(tài)。當(dāng)檢測到設(shè)備的運(yùn)行狀態(tài)出現(xiàn)故障時,系統(tǒng)就會自動報警并記錄故障;同時調(diào)節(jié)設(shè)備的運(yùn)行參數(shù),使其回到正常軌道上來,實(shí)現(xiàn)對遠(yuǎn)程設(shè)備的控制。
可編程邏輯控制器(PLC)以其運(yùn)行可靠、集成度高、可操作性強(qiáng)而在工業(yè)控制中得到廣泛應(yīng)用,而且各個PLC生產(chǎn)廠家提供了多種通訊模塊,如工業(yè)以太網(wǎng)Ethernet模塊,點(diǎn)到點(diǎn)串行通訊CP模塊等。因此可以利用PLC的通訊模塊實(shí)現(xiàn)可編程控制器與船舶柴油機(jī)系統(tǒng)的實(shí)時數(shù)據(jù)存儲區(qū)通訊,讀取數(shù)據(jù)存儲區(qū)的設(shè)備運(yùn)行參數(shù),并通過現(xiàn)場總線形式將讀取的數(shù)據(jù)傳送到PLC的存儲器中,按照通訊格式進(jìn)行數(shù)據(jù)處理和顯示。在設(shè)計(jì)中采用了Siemens公司的點(diǎn)到點(diǎn)串行通訊模塊CP-340,通過RS-422網(wǎng)絡(luò)協(xié)議讀取數(shù)據(jù),并在機(jī)艙監(jiān)控臺上進(jìn)行實(shí)時顯示、報警、控制等操作。
1 系統(tǒng)結(jié)構(gòu)及特點(diǎn)
● 西門子可編程序控制器S7-300;
● CP-340點(diǎn)到點(diǎn)串行通訊模塊;
● 西門子PLC信號模塊(SM);
● 機(jī)艙監(jiān)控臺顯示面板;
● 延伸報警模塊;
● 打印輸出設(shè)備;
[align=center]
圖1 機(jī)艙監(jiān)控臺內(nèi)PLC控制系統(tǒng)示意圖[/align]
圖1 所示是機(jī)艙監(jiān)控臺內(nèi)PLC控制系統(tǒng)示意圖。根據(jù)實(shí)際需求,船舶主機(jī)及柴油發(fā)電機(jī)組采用的是丹麥MAN B&W公司的Diesel A/S系列產(chǎn)品。與傳統(tǒng)的柴油機(jī)數(shù)據(jù)采集方式相比,該系列柴油機(jī)將設(shè)備的參數(shù)都實(shí)時的存放于柴油機(jī)系統(tǒng)控制柜的4個數(shù)據(jù)存儲區(qū)中,通過通訊接口,PLC、PC機(jī)等外圍設(shè)備可以從中實(shí)時的讀取設(shè)備運(yùn)行參數(shù),掌握設(shè)備的運(yùn)行情況。另外,MAN B&W柴油機(jī)系統(tǒng)還自帶安全保護(hù)控制柜,用于保護(hù)柴油主機(jī)的安全運(yùn)行。這里將西門子S7-300作為上位機(jī),CP-340作為串行通訊模塊,柴油機(jī)系統(tǒng)為下位機(jī)。
該系統(tǒng)的核心是裝于機(jī)艙監(jiān)控臺內(nèi)部的西門子S7-300 PLC及CP-340通訊模塊。通過總線的方式將運(yùn)行和報警信息在機(jī)艙監(jiān)控臺面板及延伸報警板上實(shí)時顯示出來。
MAN B&M 柴油機(jī)系統(tǒng)控制柜的通訊接口支持多種傳輸協(xié)議,如RS-232、RS-422和RS-485方式。由于柴油機(jī)系統(tǒng)的大多參數(shù)都是通過其中的一個或幾個接口與一臺或幾臺外圍設(shè)備通訊,這就大大方便了硬件連接。RS-422總線和RS-485電路原理基本相同,都是以差動方式發(fā)送和接受,不需要數(shù)字地線。RS-232是單端輸入輸出,全雙工工作時至少需要數(shù)字地線、發(fā)送線和接收線三條線(異步傳輸),還可以加其它控制線完成同步等功能。RS-422通過兩對雙絞線可以全雙工工作收發(fā)互不影響,而RS-485只能半雙工工作,收發(fā)不能同時進(jìn)行,但它只需要一對雙絞線。RS-422和RS-485在19kpbs下能傳輸1200米。在本系統(tǒng)中,采用的是RS-422總線方式。
2 系統(tǒng)硬件
S7-300是模塊化小型PLC系統(tǒng),具有軟件豐富、可靠性高、網(wǎng)絡(luò)通訊能力強(qiáng)、CPU處理速度快、集成功能強(qiáng)等特點(diǎn),能滿足中等性能要求的應(yīng)用。由于SIMATIC S7-300可編程控制器是模塊化結(jié)構(gòu)設(shè)計(jì),各種模塊之間可以方便的進(jìn)行擴(kuò)展。
CP-340通訊處理器是Siemens公司提供的點(diǎn)到點(diǎn)連接的串行通訊模塊,其通過背板總線與PLC的CPU相連。它可以在SIMATIC S7-300和ET200M中使用,該通訊模塊提供了三種不同形式的傳輸接口: a、RS-232C(V.24) b、20mA(TTY) c、RS-422/RS-485(X.27)。
該模塊可以實(shí)現(xiàn)ASCII碼、3964(R)和打印機(jī)驅(qū)動三種通訊協(xié)議,通過集成在STEP 7中的參數(shù)化工具可進(jìn)行簡單的參數(shù)化,對其設(shè)置主要包括通訊方式(波特率、數(shù)據(jù)位數(shù)、停止位數(shù)和奇偶校驗(yàn))、接收幀結(jié)束方式、接口方式(485 Or 422)等。
整個機(jī)艙監(jiān)控系統(tǒng)共有84個設(shè)備參數(shù),其中71個開關(guān)量,13個模擬量。
廢氣鍋爐綜合故障、應(yīng)急配電板DC24V失電、1號左燃油艙高位等40個開關(guān)量均直接接入PLC的數(shù)字量輸入模塊,通過傳感器將信號實(shí)時的讀入PLC的輸入映像區(qū)。泵艙高位、進(jìn)渦輪增壓器前排氣溫度高、主機(jī)應(yīng)急控制電源故障等31個開關(guān)量通過CP-340通訊模塊采集數(shù)據(jù)。所有模擬量如燃油進(jìn)機(jī)壓力、滑油進(jìn)主軸承壓力、汽缸冷卻高溫淡水出口溫度等也由CP-340通訊模塊完成數(shù)據(jù)采集的。所有通過CP-340讀取的源數(shù)據(jù)均從柴油機(jī)數(shù)據(jù)存儲區(qū)中取得。
各重要參數(shù)在該種總線柴油機(jī)中都具備相應(yīng)的數(shù)據(jù)存儲區(qū),只是存放地址以及在通訊數(shù)據(jù)中的LRC校驗(yàn)碼有所不同,因此,利用CP-340模塊,可以從數(shù)據(jù)存儲區(qū)實(shí)時讀取各重要設(shè)備參數(shù),進(jìn)行顯示控制。
3 軟件設(shè)計(jì)
SIMATIC S7采用STEP7軟件,S7-300 PLC采用了模塊化的編程思想。STEP7標(biāo)準(zhǔn)版配置了3種基本的編程語言:語句表(STL)、梯形圖(LAD)、功能塊圖(FBD)。
硬件組態(tài)(Configuring)是軟件設(shè)計(jì)的基礎(chǔ),也是最重要的一步。根據(jù)系統(tǒng)的輸入、輸出信號的性質(zhì)和點(diǎn)數(shù),以及對控制系統(tǒng)的功能要求,確定系統(tǒng)的硬件配置。這一步在STEP7軟件的SIMATIC Manager(管理器)的HW Config(硬件組態(tài))窗口中,通過選擇窗口右邊的硬件目錄窗口中的模塊,并拖放到與實(shí)際模塊相同的槽位中建立的,生成一個與實(shí)際的硬件系統(tǒng)完全相同的系統(tǒng),所有模塊的參數(shù)都是由編程軟件來設(shè)置的,完全取消了過去用來設(shè)置參數(shù)的硬件DIP開關(guān)。硬件組態(tài)確定了PLC輸入/輸出變量的地址,為設(shè)計(jì)用戶程序打下了基礎(chǔ)。硬件組態(tài)包括:系統(tǒng)組態(tài)、CPU的參數(shù)設(shè)置和模塊的參數(shù)設(shè)置。
丹麥MAN B&W公司的Diesel A/S系列柴油機(jī)控制柜的通訊接口采用的是標(biāo)準(zhǔn)的MODBUS ASCII協(xié)議,作為下位機(jī)(Slave)通信。它的通信電路接口標(biāo)準(zhǔn)是5線制RS-422接口(Rx+、Rx-、Tx+、Tx-、GND)。MODBUS ASCII協(xié)議讀取命令的所有數(shù)據(jù)字節(jié)都在協(xié)議轉(zhuǎn)換時轉(zhuǎn)換為2位十六進(jìn)制的ASCII格式,或一個字轉(zhuǎn)化為4位ASCII字符。數(shù)據(jù)通訊消息幀有如下格式:
[:][SLAVE][FCT][DATA][CHECKSUM][CR][LF];
包括1位開始位,2位從機(jī)地址位、2位功能碼、2n位數(shù)據(jù)位、2位LRC校驗(yàn)位、1位數(shù)據(jù)停止位以及1位結(jié)束符。但在PLC發(fā)送請求和接收數(shù)據(jù)時的[DATA]位有所不同,發(fā)送請求的數(shù)據(jù)頭包含要讀取的數(shù)據(jù)存儲地址,而接收到的數(shù)據(jù)頭包含的是接收的數(shù)據(jù)位數(shù)。
當(dāng)柴油機(jī)接收到來自PLC的發(fā)送請求命令時,先根據(jù)數(shù)據(jù)的起始地址計(jì)算出LRC校驗(yàn)碼,然后再與接收到的LRC校驗(yàn)碼相比較,如果一致,則向PLC發(fā)送數(shù)據(jù),否則不作響應(yīng)。
對于西門子S7-300與MAN B&M柴油機(jī)通訊,對CP-340通訊模塊參數(shù)設(shè)置如下:
a、 接收幀結(jié)束方式;
b、通訊方式:9600 baud,8 data bits,1 stop bit,no parity;
c、接口方式:RS-422,其余的設(shè)置為默認(rèn)方式。
CP340有4個專用功能塊:發(fā)送功能塊FB3,接收功能塊FB2,讀RS-232C接口信號狀態(tài)功能塊FC5和接口信號狀態(tài)設(shè)置功能塊FC6。本系統(tǒng)中主要采用FB2和FB3接收、發(fā)送功能塊。
首先要對CP-340起始地址,發(fā)送數(shù)據(jù)的背景數(shù)據(jù)塊號、開始發(fā)送的字節(jié)號、字節(jié)長度、出錯處理等屬性進(jìn)行設(shè)置,然后在主程序中循環(huán)中斷調(diào)用這些命令,實(shí)現(xiàn)模塊化的通訊目的。其中,我們可以通過對 DONE,ERROR,STATUS等屬性的設(shè)置,來監(jiān)控?cái)?shù)據(jù)交換的狀態(tài)。最后,從數(shù)據(jù)存儲區(qū)(DB塊)中取出接收到的設(shè)備運(yùn)行參數(shù)數(shù)據(jù),進(jìn)行字節(jié)處理后,通過PLC的模擬量、數(shù)字量輸出模塊(SM)將實(shí)時數(shù)據(jù)顯示到機(jī)艙監(jiān)控臺上來。圖2(a)(b)就是CP-340發(fā)送與接收數(shù)據(jù)的簡單例子(本系統(tǒng)的程序設(shè)計(jì)采用功能塊圖(FBD)語言實(shí)現(xiàn))。因此只需要一個發(fā)送數(shù)據(jù)DB塊。對于不同的參數(shù),只需要變換相應(yīng)的地址和校驗(yàn)碼即可。而接收數(shù)據(jù)的DB塊,只需要定義成BYTE類型的數(shù)組,并且長度不小于39字節(jié)就可以了,對于每次從柴油機(jī)中讀取的數(shù)據(jù)則放入到不同的DB塊中。
[align=center]
(a) 發(fā)送
(b) 接收
圖2 CP-340模塊發(fā)送與接收程序[/align]
// REQ:為定時時鐘脈沖;R:屏蔽發(fā)送/接收塊位;LADDR:CP-340地址;DB_NO:數(shù)據(jù)塊地址;
// DBB_NO:數(shù)據(jù)起始位;LEN:發(fā)送數(shù)據(jù)長度;
整個程序的設(shè)計(jì)采用主程序(OB1)順序循環(huán)執(zhí)行,PLC與柴油機(jī)的通訊通過調(diào)用循環(huán)中斷組織塊(OB35)來處理PLC的發(fā)送(FB3)和接收(FB2)通信功能塊。由于PLC程序運(yùn)行速度很快(OB35循環(huán)時間默認(rèn)為100ms),所以完全可以滿足實(shí)時性的要求。
程序框圖如圖3所示:
[align=center]
圖 3 程序流程圖[/align]
4 系統(tǒng)功能
?。╨)故障報警功能。根據(jù)實(shí)際需要,在程序中可以對每一個監(jiān)測數(shù)據(jù)量設(shè)置閾值,當(dāng)監(jiān)測到參數(shù)超過設(shè)定值時,則在監(jiān)控臺上立即發(fā)出鈴聲和燈光報警。
(2)故障排除檢測功能。當(dāng)出現(xiàn)故障報警時,監(jiān)控臺上的相應(yīng)項(xiàng)的指示燈不停閃爍,蜂鳴器發(fā)出報警聲。當(dāng)按下消音按鈕后,報警聲響停止,報警信號燈由閃爍變?yōu)槌A?,只有在故障排除并恢?fù)正常后,報警燈才熄滅不再指示報警,達(dá)到故障排除檢測功能。
?。?)實(shí)時數(shù)據(jù)顯示功能。系統(tǒng)在監(jiān)控臺上顯示所有需要監(jiān)測并顯示的參數(shù),并可將實(shí)時數(shù)據(jù)以模擬表、棒型圖和變化曲線等形式在監(jiān)控臺上顯示出來,使操作人員方便快捷的獲取這些設(shè)備運(yùn)行參數(shù)的變化情況。
結(jié)束語
該系統(tǒng)集實(shí)時性、穩(wěn)定性、可操作性、安全性和經(jīng)濟(jì)性于一體,并在廣州東莞豐達(dá)實(shí)業(yè)有限公司4800噸油輪機(jī)艙內(nèi)得到很好的實(shí)踐與應(yīng)用。經(jīng)實(shí)際運(yùn)行表明,該系統(tǒng)完全滿足船舶航行的各項(xiàng)性能指標(biāo)要求,極大的提高了機(jī)艙自動化水平,具有很廣的應(yīng)用范圍和前景,并能為企業(yè)創(chuàng)造顯著的經(jīng)濟(jì)效益。
參考文獻(xiàn)
[1] 宋建成,可編程序控制器原理及應(yīng)用教程, 北京:科學(xué)出版社,2004.1
[2] 廖常初,大中型PLC應(yīng)用教程,北京:機(jī)械工業(yè)出版社,2005.2
[3] 西門子公司 SIEMNS S7-300PLC梯形圖(LAD)編程手冊,
[4] 廖常初,S7-300/400 PLC 應(yīng)用技術(shù),北京:機(jī)械工業(yè)出版社,2005.1