白艷祥,曾鴻,牟鑫,張均東
嵌入式油船排油監(jiān)控系統(tǒng)的設(shè)計
白艷祥,曾鴻,牟鑫,張均東
(大連海事大學(xué)輪機工程學(xué)院,遼寧大連 116026)
以基于ARM Cortex?-M3內(nèi)核的STM32F107VCT6微處理器為硬件平臺,將μC/OS-II嵌入式實時操作系統(tǒng)移植到微處理器之上,搭建了系統(tǒng)軟件開發(fā)平臺,開發(fā)出排油監(jiān)控系統(tǒng)控制器,集數(shù)據(jù)采集、GPS定位、分析計算、指令執(zhí)行、數(shù)據(jù)存儲、記錄打印等功能于一體。給出了控制單元具體的軟硬件實現(xiàn)方法,在.Net開發(fā)環(huán)境下利用Visual C#編程語言完成計算機監(jiān)控軟件的構(gòu)建,實現(xiàn)了與控制單元的通信。在油船貨油裝卸模擬系統(tǒng)的運行結(jié)果表明,該排油監(jiān)控系統(tǒng)可滿足國際海事組織(IMO)關(guān)于油船排油監(jiān)控系統(tǒng)的有關(guān)要求。
排油監(jiān)控 嵌入式 STM32F107VCT6 μC/OS-II 監(jiān)控軟件 Visual C#
隨著全球石油海運量的增加以及油船噸位的加大,油船洗艙水、壓載水等含油污水量必然會增加,加上各種技術(shù)與人為的因素,每年排入海洋中的含油污水也隨之增多?!禡ARPOL 73/78防污公約》附則I第15(3)(a)條明確規(guī)定,150總噸及以上的油船應(yīng)裝有經(jīng)主管機關(guān)批準的排油監(jiān)控系統(tǒng)。國際海事組織(IMO)海上環(huán)境保護委員會第49屆會議以MEPC.108(49)決議的方式通過了《修訂的油船排油監(jiān)控系統(tǒng)指南和技術(shù)條件》,根據(jù)該決議要求,我國于2009年發(fā)布GB/T12918-2009《油船排油監(jiān)控系統(tǒng)技術(shù)條件》[1]。本文根據(jù)以上公約及標準設(shè)計一套嵌入式油船排油監(jiān)控系統(tǒng),并將打印驅(qū)動控制等模塊集中于一體,使結(jié)構(gòu)安裝更加簡單,能夠滿足標準及技術(shù)要求。
圖1為排油監(jiān)控系統(tǒng)的結(jié)構(gòu)框圖[1]。取樣探針裝于排污管道上,系統(tǒng)工作時,取樣泵按程序定時啟動,從探頭取樣進入油份計,油份濃度以標準4-20 mA信號形式送入控制單元。流量計安裝在排污管道上,將當前污水流量以4-20 mA信號形式傳送給控制單元,以便和油份計一起計算累計排油量。船上自帶的航速測量模塊將船速以標準4-20 mA信號的形式傳送給控制單元。公約要求不同海域的油污排放標準是不一樣的,控制單元與GPS模塊采用RS485通信方式獲取當前船位信息,判斷當前船舶所處的海域??刂崎y主要包括排污管道上的循環(huán)閥和排海閥,執(zhí)行排放控制命令。正常排放時,排海閥打開循環(huán)閥關(guān)閉,將含油污水排至舷外,相反,當油污不達標或總排量超標時,循環(huán)閥打開,排海閥關(guān)閉使含油污水回流至污水艙。此外控制閥還包括凈水沖洗管路上的電磁閥控制沖洗水流通。
本系統(tǒng)包括一套實時監(jiān)控軟件,安裝于貨控室監(jiān)控計算機上,可以在軟件上進行系統(tǒng)的狀態(tài)監(jiān)視與相關(guān)遙控操作,與控制單元采用嵌入式以太網(wǎng)進行通信。
圖1 排油監(jiān)控系統(tǒng)結(jié)構(gòu)圖
根據(jù)系統(tǒng)的需要,選用基于ARM Cortex?- M3內(nèi)核的STM32F107VCT6微處理器為控制核心,該處理器自帶512 KB高速Flash片內(nèi)存儲器,128位寬度的存儲器接口和加速結(jié)構(gòu)可以使32位代碼能夠在最大時鐘速率下運行,同時在片內(nèi)集成了SPI接口、I2C接口、實時時鐘控制器、以太網(wǎng)、看門狗等非常豐富的片上功能模塊,完全能夠滿足系統(tǒng)的要求[2]。圖2為嵌入式控制單元的硬件構(gòu)成。
1)電源電路
本模塊采用直流24 V穩(wěn)壓電源供電,在系統(tǒng)中應(yīng)用到模擬電源和模擬地。為了降低噪聲和系統(tǒng)的電源出錯幾率,模擬電源與數(shù)字電源、模擬地與數(shù)字地應(yīng)該進行隔離。本設(shè)計采用貼片磁珠將數(shù)字電源的高頻噪聲進行隔離。
圖2 嵌入式控制單元硬件總體框圖
2)開關(guān)量輸出電路
由微處理器的6路GPIO經(jīng)過光電隔離輸出擴展6路繼電器輸出控制電路,由繼電器控制取樣泵、聲光報警以及控制閥的驅(qū)動電路。
3)模擬量輸入電路
本系統(tǒng)中油份濃度、船速以及流量信號均以4-20 mA的形式傳送給微處理器,而STM32F107內(nèi)嵌的AD轉(zhuǎn)換器只能識別電壓信號,其工作電壓是+3.3 V。需要對電流信號進行調(diào)理,使其轉(zhuǎn)換為在AD測量范圍內(nèi)的電壓信號。詳細電路圖如圖3。
圖3 模擬量輸入電路
4)GPS通信模塊
微處理器通過MAX485電平轉(zhuǎn)換芯片與GPS通信獲取當前的船位信息,實現(xiàn)不同區(qū)域按不同標準排放。
5)監(jiān)控數(shù)據(jù)存儲單元
根據(jù)GB/T12918-20095的要求,船舶排油監(jiān)控系統(tǒng)的控制部分能將系統(tǒng)運行過程中的一些重要參數(shù)、排放開始時間、排放終止時間、報警開始與結(jié)束時間以及一些手動操作命令等以電子的方式存儲起來。本文選用新一代記憶設(shè)備SD卡,具有高記憶容量、數(shù)據(jù)傳輸率快速、移動靈活性以及很好的安全性等優(yōu)點。
6)監(jiān)控數(shù)據(jù)打印記錄單元
根據(jù)GB/T12918-20095的要求,船舶排油監(jiān)控系統(tǒng)的控制部分的記錄裝置應(yīng)包括一個可電子格式化的打印機,記錄的參數(shù)應(yīng)在打印紙上清晰顯示,一旦從記錄裝置中取下也能保持原樣,并應(yīng)至少保存3年。在排油監(jiān)控系統(tǒng)監(jiān)測期間,每隔10 min打印機自動打印記錄時間和日期、船速、船舶經(jīng)度和緯度、流量、瞬間排放率、油份濃度、排油總量等信息數(shù)據(jù)。系統(tǒng)發(fā)生報警或故障等情況時也會自動打印記錄相關(guān)數(shù)據(jù)。
本設(shè)計中采用周立功公司的ZYTP80微打控制芯片和愛普生M-T532微打機芯[3]。將打印機硬件及軟件驅(qū)動集成到控制單元板卡上。ZYTP80芯片內(nèi)嵌熱敏打印機驅(qū)動電路和驅(qū)動控制程序,集成度較高,便于工程師開發(fā)應(yīng)用。微打控制芯片通過控制線和電源線驅(qū)動熱敏微打機芯。主控CPU端通過UART發(fā)送相應(yīng)的指令控制ZYTP80系列微打控制芯片完成打印記錄工作。詳細電路圖如圖4所示。
圖4 打印記錄模塊電路
如圖4所示端子J1和J2用來連接愛普生M-T532微打機芯和ZYTP80微打控制芯片,電路中有POWER電源指示燈,OFFLINE指示燈和ERROR指示燈,端子座P2外接ON/OFFLINE和FEED兩個按鍵。OFFLINE指示燈為黃色,當亮起時說明打印機為在線狀態(tài),可以通過微處理器發(fā)送指令工作;當閃爍時,說明打印機為離線狀態(tài),此時不能接受任何指令。打印機的離線狀態(tài)和在線狀態(tài)可以通過ON/OFFLINE按鍵來切換。ERROR指示燈為紅色,是錯誤指示燈,當打印機正常工作時,此燈不亮,當打印機發(fā)生錯誤,或者打印機中缺紙,都會由此燈閃爍提醒。FEED按鍵用來進紙,如果先按住FEED按鍵再上電,則會打印一段測試數(shù)據(jù)。
ZYTP80微打控制芯片的RXD和TXD兩個引腳與微處理器的串口引腳連接,完成打印控制命令的傳送。
7)時鐘模塊
船舶排油監(jiān)控系統(tǒng)需要顯示、記錄并能存儲的監(jiān)控狀態(tài)參數(shù)應(yīng)包括含油污水排放的時間,日期等。STM32F107VCT6處理器內(nèi)部帶有RTC實時時鐘,精度高,正常運行時使用系統(tǒng)的3.3 V電源,而在系統(tǒng)斷電時則由備份電池供電保證時間信息持續(xù)不丟失。
8)以太網(wǎng)通信模塊
以太網(wǎng)通信模塊完成控制單元與貨控室監(jiān)控計算機的通信。STM32F107內(nèi)部集成高性能的以太網(wǎng)模塊,只需外部連接以太網(wǎng)物理層(PHY)芯片即可,本設(shè)計選用高性價比的DM9161A作為以太網(wǎng)PHY芯片,然后連接標準RJ45接口便可以完成10M/100M自適應(yīng)以太網(wǎng)的物理連接。
9)人機接口
CPU通過ZLG7290芯片來管理鍵盤,用于參數(shù)設(shè)置。ZLG7290能夠管理多達64只按鍵,自動消除抖動,其中有8只可以作為功能鍵使用,與微控制器之間采用I2C串行通信,使硬件電路更加簡單,布線方便。
顯示單元采用大連佳顯公司的EDM4004A液晶顯示屏,用于清晰的顯示時間日期、油份濃度、排污流量、船速、排油總量、瞬間排放率、報警信號、控制閥開關(guān)狀態(tài)等主要信息。
根據(jù)以上所述設(shè)計出嵌入式排油監(jiān)控系統(tǒng)的監(jiān)控面板如圖5所示。
圖5 監(jiān)控面板
本文通過用C和匯編語言改寫一些與處理器相關(guān)的代碼(μC/OS-II在讀寫處理器寄存器時只能通過匯編語言來實現(xiàn))[4],將μC/OS-II嵌入式實時操作系統(tǒng)成功移植在STM32上,搭建了嵌入式應(yīng)用開發(fā)平臺。
程序設(shè)計過程中首先設(shè)計出微處理器與鍵盤、液晶顯示、打印機等各個外部設(shè)備連接的驅(qū)動程序,提供給應(yīng)用程序API接口函數(shù),其次設(shè)計出串口和以太網(wǎng)中斷服務(wù)程序分別實現(xiàn)與GPS模塊和監(jiān)控機的通信。
由于μC/OS-II是實時多任務(wù)操作系統(tǒng)這就決定了系統(tǒng)的軟件和以往設(shè)計的前后臺系統(tǒng)軟件有很大的區(qū)別。CPU對大多數(shù)事件的處理都是放在任務(wù)中來完成的,而各個任務(wù)都是由相對應(yīng)的信號量激活的。本系統(tǒng)將控制程序規(guī)劃成模擬量采集、數(shù)據(jù)分析與計算、開關(guān)量輸入輸出以及報警信號的輸入輸四個主要任務(wù),任務(wù)的調(diào)度是由任務(wù)調(diào)度器函數(shù)OSSched( )完成的。
控制軟件是根據(jù)MEPC.107(49)決議、MEPC.108(49)決議及GB/T12918-20095《油船排油監(jiān)控系統(tǒng)技術(shù)條件》的新要求進行設(shè)計的。開發(fā)原理為:系統(tǒng)工作時將油份濃度信號、船速信號及流量信號等模擬量信號送入微處理器進行計算分析,式(1)、(2)分別為瞬時排放率和排油總量的計算公式[5],將計算出油量瞬間排放率和排放總量與規(guī)定值進行比較,從而決定是否打開舷外排放閥進行排放,當油量的瞬間排放率不超過30 L/n mile,油份濃度未超過15 mg/L,排油總量小于上次載油量(T)的1/30000(新油船)或1/50000(現(xiàn)有油船)時,由微處理器發(fā)出打開舷外排放閥的指令,進行正常排放;反之當不符合公約要求的排放標準時關(guān)閉舷外排放閥,停止排放,并發(fā)出聲光報警。整個過程,各種數(shù)據(jù)及泵閥的狀態(tài)都會動態(tài)地在LCD液晶屏上進行顯示,通過鍵盤可以進行報警值的預(yù)設(shè)、查詢記錄、打印及時間與日期的設(shè)置等功能。
式中,為瞬時排放率(L/n mile);為油份濃度(mg/L);為含油污水排出量(m3/h);為船舶航行速度(n mile/h)。
圖6為排油監(jiān)控系統(tǒng)軟件運行流程圖[6]。系統(tǒng)上電后首先啟動自檢程序,然后對微處理器自身、外部模塊等進行初始化,如果初始化失敗,系統(tǒng)會發(fā)出報警信號,需進行人工復(fù)位,初始化完畢后,顯示進入初始頁面,需對時間日期、排油總量、油份濃度報警值等參數(shù)進行賦初值設(shè)置,設(shè)置完畢后就進入含油污水排放監(jiān)控主頁。
排油監(jiān)控系統(tǒng)貨控室計算機監(jiān)控軟件是在Visual Studio.Net 2010集成開發(fā)環(huán)境下運用Visual C#編程語言構(gòu)建開發(fā)的[7]。
運行界面如圖7所示,界面友好生動,主要包括數(shù)據(jù)動態(tài)顯示區(qū)域、操作控制區(qū)域和系統(tǒng)動態(tài)顯示部分。貨控室計算機通過以太網(wǎng)與監(jiān)控單元進行實時的數(shù)據(jù)傳輸,用戶能夠從界面上獲得船速、油品種類、瞬時排放率、泵閥狀態(tài)、含油污水PPM值等系統(tǒng)信息。另外,用戶可以操作界面上的模擬開關(guān)、按鈕對整個系統(tǒng)的啟停等進行控制以及對系統(tǒng)參數(shù)進行設(shè)置。人機界面會實時刷新系統(tǒng)中各參數(shù)的變化,系統(tǒng)管路圖上都會有相應(yīng)的污水流動等動態(tài)指示,實時的反映出整個排油監(jiān)控系統(tǒng)的動態(tài)運行情況。
圖6 軟件運行流程圖
圖7 監(jiān)控軟件運行界面
本設(shè)計已成功應(yīng)用在大連海事大學(xué)輪機自動化實驗室開發(fā)的油船貨油裝卸系統(tǒng)模擬器上,實際運行性能良好。控制單元能夠準確的采集、分析、計算各傳感器傳送來的數(shù)據(jù)并給出相應(yīng)的指令,能夠完全符合公約及相關(guān)規(guī)定的要求。控制單元采用嵌入式設(shè)計思想,實時性更高,性能更加穩(wěn)定,擴展性好。同時本文運用Visual C#編程語言設(shè)計一套實時監(jiān)控軟件,通過以太網(wǎng)能夠與控制單元實時通信,操作起來更加集中、直觀。
[1] 王芳, 戰(zhàn)智濤, 馬慶鋒, 倪秀輝. 一種船舶排油監(jiān)控系統(tǒng)的設(shè)計[J]. 山東科學(xué), 2008(04): 76-78.
[2] ST.STM32F107XX [Z]. Datasheet, 2009.
[3] Guangzhou ZLGMCU Development Co., Ltd. ZYTP80- CUxxC [Z]. Datasheet, 2011.
[4] 任哲等編著. 嵌入式實時操作系統(tǒng)μC/OS-II原理及應(yīng)用(第2版). 北京航天航空大學(xué)出版社, 2009.
[5] 周飛云, 趙友濤, 劉彥呈, 張巧芬. 新型船舶排油監(jiān)控系統(tǒng)設(shè)計與實現(xiàn)[J]. 機電設(shè)備, 2011(01): 50-53.
[6] 沈浩生, 曾鴻, 張均東等. 油船排油監(jiān)控系統(tǒng)模擬試驗臺的設(shè)計與實現(xiàn)[J]. 大連海事大學(xué)學(xué)報, 2013(04): 71-74.
[7] Shi Fenghua, Li Xufeng. Visualization modeling of mine roadway based on visual C#. 2008 International Symposium on Information Science and Engineering[R]. 2008, 2(1) : 669- 673.
Design of Embedded Tanker Oil Discharge Monitoring System
Bai Yanxiang, Zeng Hong, Mu Xin, Zhang Jundong
(Marine Engineering College of Dalian Maritime University, Dalian 116026, Liaoning, China)
U664.9
A
1003-4862(2014)08-0057-05
2014-03-11
白艷祥(1989-),男,碩士研究生。研究方向:輪機自動化與智能化。