湯旺杰,金華標(biāo),李鶴鳴
(武漢理工大學(xué)能源與動力工程學(xué)院,湖北 武漢 430063)
目前,船舶制造業(yè)整體處于衰退的趨勢,為提高船舶行業(yè)競爭力,將傳統(tǒng)船舶制造業(yè)和互聯(lián)網(wǎng)關(guān)聯(lián),為船舶制造提供新的發(fā)展方向。通過互聯(lián)網(wǎng)可以遠(yuǎn)程實時監(jiān)測船舶航行時的狀態(tài)。實現(xiàn)遠(yuǎn)程數(shù)據(jù)實時監(jiān)測有助于及早發(fā)現(xiàn)異常情況,采取措施保證營運(yùn)安全。這些數(shù)據(jù)也可以提供給設(shè)計單位,作為后續(xù)船型改善的依據(jù)[1]。
船舶聯(lián)網(wǎng)為船舶大數(shù)據(jù)發(fā)展提供條件,船舶大數(shù)據(jù)建設(shè)的核心既是對船舶各類數(shù)據(jù)的采集與加工[2]。本系統(tǒng)對船舶數(shù)據(jù)進(jìn)行采集,將數(shù)據(jù)發(fā)送至岸端,并設(shè)計了船岸通信統(tǒng)一的數(shù)據(jù)格式,旨在解決船舶大數(shù)據(jù)平臺的數(shù)據(jù)來源問題,為船舶大數(shù)據(jù)平臺的搭建提供基礎(chǔ)。
由于船舶發(fā)展的需要,采用不同的技術(shù)對船岸通信系統(tǒng)進(jìn)行研究。閆明[3]通過物聯(lián)網(wǎng)技術(shù)和冗余總線技術(shù)設(shè)計了船舶遠(yuǎn)程監(jiān)控系統(tǒng),具有很好的實時性和可靠性。劉翠梅[4]針對船舶艙室火災(zāi)監(jiān)控,通過3G技術(shù)實現(xiàn)對船舶機(jī)艙火災(zāi)的監(jiān)控。李杰[5]利用多傳感器組網(wǎng)及融合跟蹤識別技術(shù)實現(xiàn)船舶遠(yuǎn)程監(jiān)控數(shù)據(jù)采集,經(jīng)驗證,該方法采集的數(shù)據(jù)準(zhǔn)確性好,抗干擾能力強(qiáng)。鄭宇平[6]通過Zigbee技術(shù)的無線網(wǎng)絡(luò)節(jié)點(diǎn), 并設(shè)計基于IOS的手機(jī)移動端監(jiān)控軟件設(shè)計了船舶遠(yuǎn)程監(jiān)控系統(tǒng),具有功耗低、實時性好和穩(wěn)定性高的特點(diǎn)。張躍文[7]通過BP神經(jīng)網(wǎng)絡(luò)對船舶遠(yuǎn)程監(jiān)控系統(tǒng)進(jìn)行改進(jìn)分析。分析表明,此種方法適用于遠(yuǎn)洋船舶的遠(yuǎn)程故障監(jiān)測及船舶系統(tǒng)故障預(yù)測。張連軍[8]針對長江汽渡船舶安全管理、數(shù)據(jù)查詢、人員管理、證書管理、物資管理、和維修管理設(shè)計了船舶遠(yuǎn)程監(jiān)控管理系統(tǒng),對船舶監(jiān)控管理技術(shù)有積極推進(jìn)作用。
根據(jù)文獻(xiàn)調(diào)查,CAN總線冗余技術(shù)能增加船舶數(shù)據(jù)采集的穩(wěn)定性和實時性,但沒有對冗余系統(tǒng)進(jìn)行分析。文獻(xiàn)通過各種技術(shù)實現(xiàn)船岸通信,但沒有對通信的數(shù)據(jù)格式進(jìn)行統(tǒng)一。
本系統(tǒng)實現(xiàn)的功能是對船舶各類數(shù)據(jù)的采集與加工,目標(biāo)是設(shè)計實現(xiàn)船舶數(shù)據(jù)采集并將數(shù)據(jù)進(jìn)行遠(yuǎn)程顯示、儲存。具體包括:采集船舶狀態(tài)參數(shù)包括船舶位置、船舶航速和船舶航向;采集船舶柴油機(jī)運(yùn)行信息包括轉(zhuǎn)速、扭矩、油門開度、機(jī)油溫度、機(jī)油壓力、瞬時燃油消耗量、累計燃油消耗量、中冷后進(jìn)氣溫度和中冷后進(jìn)氣壓力;采集尾氣排放參數(shù)包括硫氧化物濃度、氮氧化物濃度、排氣溫度;采集船舶環(huán)境參數(shù)包括環(huán)境溫度、環(huán)境濕度和大氣壓力。將采集到的船舶數(shù)據(jù)通過遠(yuǎn)程通信模塊發(fā)送到遠(yuǎn)程端進(jìn)行遠(yuǎn)程監(jiān)測,并將船舶數(shù)據(jù)進(jìn)行儲存。其系統(tǒng)框架如圖1所示。
圖 1 系統(tǒng)框架圖Fig. 1System flowchart
硬件設(shè)計包括數(shù)據(jù)采集模塊和數(shù)據(jù)遠(yuǎn)程通信模塊兩部分。
數(shù)據(jù)采集模塊主芯片采用的是德州儀器公司的TMS570芯片,該芯片有2路標(biāo)準(zhǔn)SPI模塊、19路高端定時器,21路12位模擬數(shù)字轉(zhuǎn)換器、1路SCI通信模塊和兩路支持CAN2.0B協(xié)議標(biāo)準(zhǔn)的CAN通信模塊,硬件資源能夠滿足系統(tǒng)的功能需求。數(shù)據(jù)采集模塊硬件結(jié)構(gòu)設(shè)計包括單片機(jī)最小系統(tǒng)、CAN通信模塊、SCI通信模塊、AD采集模塊。
數(shù)據(jù)遠(yuǎn)程通信模塊采用的主芯片是芯訊通無線科技公司的SIM808芯片。SIM808采用GSM(全球移動通信系統(tǒng))通信模式,其通信速率最高可達(dá)171 kbit/s,滿足系統(tǒng)的對數(shù)據(jù)傳輸?shù)囊蟆?/p>
軟件設(shè)計包括刷寫在TMS570芯片中的下位程序和遠(yuǎn)程端程序,下位程序包括CAN收發(fā)程序、AD采集程序、GPS定位接收及解析程序、SCI通信程序和數(shù)據(jù)遠(yuǎn)程發(fā)送程序。遠(yuǎn)程監(jiān)控程序主要有數(shù)據(jù)接收、顯示和保存程序,系統(tǒng)軟件結(jié)構(gòu)如圖2所示。
圖 2 軟件結(jié)構(gòu)圖Fig. 2Software flow pattern
目前,船岸通信數(shù)據(jù)格式?jīng)]有通用標(biāo)準(zhǔn),船舶通信的數(shù)據(jù)無法統(tǒng)一解析。本系統(tǒng)結(jié)合船舶MMSI(Maritime Mobile Service Identity水上移動通信業(yè)務(wù)識別碼)和NMEA2000協(xié)議,設(shè)計了船岸通信格式,使船岸通信數(shù)據(jù)的格式具有通用性。
NMEA2000是CAN總線的上層協(xié)議,由美國國家海洋電子協(xié)會為船舶提出的CAN通信標(biāo)準(zhǔn)協(xié)議。NMEA2000協(xié)議規(guī)定:每幀數(shù)據(jù)包含8個字節(jié)的數(shù)據(jù)內(nèi)容,且每幀數(shù)據(jù)包含唯一的PGN(Parameter Group Number 參數(shù)組編號)。設(shè)計的船岸通信數(shù)據(jù)格式的Byte7-Byte14為PGN在NMEA2000中對應(yīng)的8個字節(jié)的數(shù)據(jù)內(nèi)容。當(dāng)岸端接收到船舶數(shù)據(jù)進(jìn)行解析時,通過Byte1-Byte4可知數(shù)據(jù)來源于哪條船舶,通過Byte5-Byte6的PGN與NMEA2000協(xié)議能夠解析出Byte7-Byte14的數(shù)據(jù)內(nèi)容,使船岸通信數(shù)據(jù)協(xié)議與NMEA2000協(xié)議“無縫”對接,設(shè)計的船岸通信協(xié)議具有通用性,如表1所示。
表 1 船岸通信數(shù)據(jù)格式Tab. 1Ship to shore
在船舶運(yùn)行過程中,由于船舶振動、環(huán)境潮濕等狀況,對電子設(shè)備的正常運(yùn)行有很大的影響。通過系統(tǒng)框架圖1可知:系統(tǒng)在數(shù)據(jù)采集過程中,船舶數(shù)據(jù)采集設(shè)備主要依靠CAN總線進(jìn)行通信,保證CAN總線穩(wěn)定可靠是保證數(shù)據(jù)采集系統(tǒng)穩(wěn)定運(yùn)行的關(guān)鍵。
CAN總線冗余技術(shù)是增強(qiáng)CAN總線通信可靠性的一種常見措施,常見的冗余方式包括硬件冗余、軟件冗余、時間冗余和信息冗余等,應(yīng)用較為廣泛的是硬件冗余。本系統(tǒng)采用硬件冗余的方法增強(qiáng)CAN總線傳輸穩(wěn)定性。
5.1.1 CAN總線冗余方式選擇
在物理冗余中,根據(jù)冗余要求不同冗余方式分為雙冗余和三冗余。在目前大部分用到的為雙冗余,在特殊情況下會用到三冗余。通過貯備模型分析可靠度,多冗余物理模型如圖3所示,屬于貯備模型的并聯(lián)模型。
假設(shè)每條CAN總線可靠度服從指數(shù)分布:
系統(tǒng)的可靠度為:
根據(jù)平均無故障時間計算公式:
圖 3 多冗余物理模型Fig. 3Multi reduant physical model
得出平均無故障時間
通過平均無故障時間可知,當(dāng)增加冗余數(shù)時,增加平均無故障時間,可靠性增加,但冗余超過2次,每增加一次冗余,其收益遞減,并且冗余超過3次會使系統(tǒng)變得復(fù)雜,增加新的不穩(wěn)定因素。因此不是冗余數(shù)越多越好,本系統(tǒng)選擇雙冗余。
5.1.2 CAN總線冗余等級選擇
目前,主要有CPU級冗余、控制器級冗余和收發(fā)器級冗余,文獻(xiàn)[9]中通過串聯(lián)和并聯(lián)的復(fù)合模型對CAN冗余等級可靠性進(jìn)行分析,CPU級冗余等級最高,控制器級冗余其次,收發(fā)器級冗余最低[9]。綜合本系統(tǒng)應(yīng)用情況,選擇控制器級冗余。
本系統(tǒng)CPU芯片TMS570內(nèi)嵌兩路支持CAN2.0B的CAN總線控制器,外接兩路CAN總線收發(fā)器便可以滿足CAN總線冗余測試條件。
5.2.1 CAN總線冗余測試方法
本次測試的平臺包括冗余節(jié)點(diǎn)、一般節(jié)點(diǎn)和測試點(diǎn),各個節(jié)點(diǎn)的功能如表2所示,結(jié)構(gòu)如圖4所示。CAN總線故障識別和CAN總線的切換是完成是實現(xiàn)CAN總線冗余的關(guān)鍵。
表 2 節(jié)點(diǎn)功能Tab. 2Functions of each node
CAN總線故障識別:CAN總線故障會導(dǎo)致CAN總數(shù)據(jù)不能正常收發(fā),通過冗余節(jié)點(diǎn)循環(huán)發(fā)送數(shù)據(jù),當(dāng)冗余節(jié)點(diǎn)判斷循環(huán)數(shù)據(jù)發(fā)送失敗時,總線出現(xiàn)故障。
CAN總線切換:數(shù)據(jù)采集設(shè)備中有兩路CAN總線,設(shè)定CAN1為主通信線路,當(dāng)CAN1出現(xiàn)故障時,CAN總線通過程序切換至CAN2發(fā)送數(shù)據(jù),完成CAN總線切換。
根據(jù)上訴CAN總線冗余測試方法進(jìn)行測試,測試的現(xiàn)象如下:給系統(tǒng)上電,系統(tǒng)正常運(yùn)行,在穩(wěn)定運(yùn)行一段時間后注入總線故障,系統(tǒng)無法正常運(yùn)行,CAN總線從CAN1自動切換到CAN2,系統(tǒng)恢復(fù)正常工作,實現(xiàn)了CAN總線冗余。
雙線CAN冗余系統(tǒng)關(guān)鍵指標(biāo)是總線切換時間,它等于檢測錯誤所需時間與處理故障總線未發(fā)送報文所需時間之和[10],切換時間越短,總線故障對報文傳輸造成的延遲就越小。CAN總線延遲在某些重要的控制場合會造成非常嚴(yán)重的后果,應(yīng)盡量減少CAN總線上的延遲[11]。在CAN冗余測試過程中,以切換時間為觀察對象,為了減少誤差,對每種故障進(jìn)行5次試驗,實驗結(jié)果如表3所示。
通過CAN冗余測試,表明系統(tǒng)可以對CAN總線故障進(jìn)行識別和處理,總線切換后系統(tǒng)可以穩(wěn)定的運(yùn)行,冗余切換時間也較短。
系統(tǒng)測試包括系統(tǒng)功能測試和穩(wěn)定性測試。系統(tǒng)功能測試:測試設(shè)計的系統(tǒng)是否達(dá)到預(yù)期的功能,在進(jìn)行系統(tǒng)功能測試時,包括船舶數(shù)據(jù)采集和遠(yuǎn)程數(shù)據(jù)接收兩部分。船舶數(shù)據(jù)采集測試主要包括CAN通信、AD采集、GPS數(shù)據(jù)采集,測試結(jié)果表明采集的數(shù)據(jù)準(zhǔn)確可信,現(xiàn)場測試如圖5所示。遠(yuǎn)程接收程序測試通過串口調(diào)試助手與遠(yuǎn)程接收程序儲存的數(shù)據(jù)進(jìn)行對比分析,兩者數(shù)據(jù)一致,數(shù)據(jù)遠(yuǎn)程接收顯示測試如圖6所示。表明系統(tǒng)從采集端到數(shù)據(jù)發(fā)送端再到數(shù)據(jù)顯示儲存端實現(xiàn)了預(yù)期的功能。
本系統(tǒng)在船舶上安裝連續(xù)運(yùn)行一個月無故障且數(shù)據(jù)可靠,表明系統(tǒng)穩(wěn)定可靠。
圖 5 現(xiàn)場測試圖Fig. 5Field test diagram
圖 6 數(shù)據(jù)遠(yuǎn)程接收顯示測試Fig. 6Data remote receiving display test
本設(shè)計完成了一套船舶數(shù)據(jù)采集與遠(yuǎn)程通信系統(tǒng),從功能設(shè)計、軟硬件設(shè)計到功能的實現(xiàn),系統(tǒng)測試表明本套系統(tǒng)穩(wěn)定可靠。
在CAN總線安全穩(wěn)定運(yùn)行的前提下,與本系統(tǒng)實際運(yùn)行環(huán)境相結(jié)合,從硬件冗余的角度提出了CAN總線冗余的方法,在系統(tǒng)中實現(xiàn)CAN冗余。對CAN總線冗余進(jìn)行測試,結(jié)果表明CAN總線能識別CAN錯誤并能進(jìn)行CAN總線的切換,切換時間較短。提出船岸通信數(shù)據(jù)的統(tǒng)一格式并在軟件中實現(xiàn),對系統(tǒng)進(jìn)行功能測試和環(huán)境適應(yīng)性測試,測試結(jié)果表明系統(tǒng)達(dá)到預(yù)期目標(biāo)并能穩(wěn)定持續(xù)的運(yùn)行。本文研究結(jié)果對船舶數(shù)據(jù)采集、遠(yuǎn)程監(jiān)控和船舶大數(shù)據(jù)平臺的搭建有一定的參考意義。