李捷輝 鐘光耀 龐春風(fēng) 時(shí)國偉
(江蘇大學(xué)汽車與交通工程學(xué)院1,江蘇 鎮(zhèn)江 212013;中油中泰燃?xì)馔顿Y集團(tuán)有限公司2,江西 南昌 330038)
雙燃料船舶動(dòng)力分布式監(jiān)控系統(tǒng)研發(fā)
李捷輝1鐘光耀1龐春風(fēng)2時(shí)國偉2
(江蘇大學(xué)汽車與交通工程學(xué)院1,江蘇 鎮(zhèn)江 212013;中油中泰燃?xì)馔顿Y集團(tuán)有限公司2,江西 南昌 330038)
根據(jù)CAN總線技術(shù)和嵌入式技術(shù),設(shè)計(jì)一套柴油/LNG雙燃料船舶動(dòng)力分布式監(jiān)控系統(tǒng),實(shí)現(xiàn)對(duì)兩臺(tái)T8138ZLCZ型柴油機(jī)的同時(shí)監(jiān)控。應(yīng)用EV5000組態(tài)編輯軟件設(shè)計(jì)上位機(jī)Kinco MT4414TE-CAN人機(jī)界面(HMI),使用Matlab/Simulink設(shè)計(jì)控制模型,并一鍵生成下位機(jī)C代碼程序。上位機(jī)HMI與下位機(jī)ECU通過CAN總線硬件電路完成數(shù)據(jù)通信。研究結(jié)果表明,通過觸摸屏技術(shù),能夠直觀有效地對(duì)雙燃料船舶動(dòng)力進(jìn)行監(jiān)視和控制;監(jiān)控系統(tǒng)性能穩(wěn)定,操作方便,工作可靠。
CAN 監(jiān)控系統(tǒng) 雙燃料 人機(jī)界面 基于模型設(shè)計(jì)
隨著嵌入式技術(shù)和現(xiàn)場(chǎng)總線技術(shù)的發(fā)展,分布式監(jiān)控系統(tǒng)的應(yīng)用日益廣泛[1]。在柴油/LNG雙燃料船舶上加裝發(fā)動(dòng)機(jī)(electronic control unit,ECU)的同時(shí),一套監(jiān)控系統(tǒng)作為人機(jī)交互的接口對(duì)電控系統(tǒng)提供可視化支持必不可少。CAN總線結(jié)構(gòu)簡單、可靠性好、通信速率高,具有基于優(yōu)先權(quán)的多主工作方式、非破壞性的線路競爭仲裁機(jī)制等特點(diǎn)。當(dāng)傳輸距離為40 m時(shí),CAN總線最大傳輸速率可達(dá)1 Mbit/s[2];作為上、下位機(jī)的“橋梁”,CAN總線實(shí)現(xiàn)各節(jié)點(diǎn)間實(shí)時(shí)、可靠的數(shù)據(jù)通信任務(wù)。本文設(shè)計(jì)的雙燃料船舶分布式監(jiān)控系統(tǒng)基于CAN總線技術(shù),通過上位機(jī)Kinco MT4414TE-CAN實(shí)現(xiàn)對(duì)兩臺(tái)T8138ZLCZ型柴油機(jī)的同時(shí)監(jiān)控。
所加裝船舶的雙燃料電控系統(tǒng)硬件由ECU、傳感器、執(zhí)行器和HMI四大部分構(gòu)成。監(jiān)控系統(tǒng)總體結(jié)構(gòu)如圖1所示。
圖1 監(jiān)控系統(tǒng)總體結(jié)構(gòu)Fig.1 The structure of the monitoring and control system
監(jiān)控系統(tǒng)作為電控系統(tǒng)的重要組成部分,應(yīng)具有如下功能:①顯示功能,實(shí)時(shí)顯示發(fā)動(dòng)機(jī)實(shí)際運(yùn)行參數(shù)、性能指標(biāo);②監(jiān)視功能,在線自動(dòng)監(jiān)視工作參數(shù),超上下限閃爍,火災(zāi)報(bào)警;③控制功能,手動(dòng)進(jìn)行模式切換、風(fēng)扇開關(guān)及緊急停機(jī)等觸摸控制;④記錄功能,運(yùn)行參數(shù)、狀態(tài)記錄和歷史數(shù)據(jù)保存。
監(jiān)控系統(tǒng)由位于駕駛室的上位機(jī)和機(jī)艙內(nèi)的下位機(jī)兩部分組成,實(shí)時(shí)監(jiān)控兩臺(tái)雙燃料發(fā)動(dòng)機(jī)。通信數(shù)據(jù)采用擴(kuò)展幀類型數(shù)據(jù)幀格式,下位機(jī)監(jiān)測(cè)數(shù)據(jù)以廣播方式發(fā)送,即網(wǎng)絡(luò)上每個(gè)節(jié)點(diǎn)都可以收到數(shù)據(jù)。對(duì)于不需要這些數(shù)據(jù)的節(jié)點(diǎn),通過設(shè)置屏蔽碼寄存器予以屏蔽[3]。為了便于快速原型開發(fā)(RCP),控制程序和通信程序基于模型設(shè)計(jì)(model-based design,MBD),目標(biāo)系統(tǒng)針對(duì)飛思卡爾32位單片機(jī)MPC5634配置。
系統(tǒng)通信分為3級(jí):第一級(jí)為主機(jī)級(jí),第二級(jí)為監(jiān)控級(jí),第三級(jí)為外部級(jí)。其中第一級(jí)為每塊ECU與對(duì)應(yīng)發(fā)動(dòng)機(jī)之間的通信,第二級(jí)為HMI、標(biāo)定軟件與兩塊ECU之間的通信,第三級(jí)采用HMI擴(kuò)充以太網(wǎng)、RS-232/RS- 485、USB等通信接口。
2.1 總線拓?fù)浣Y(jié)構(gòu)
根據(jù)結(jié)構(gòu)形式的不同,CAN總線拓?fù)渲饕行切?、環(huán)型、總線型及樹型,其中總線型應(yīng)用最廣泛。CAN網(wǎng)絡(luò)采用總線型拓?fù)鋼碛兄T多優(yōu)勢(shì),結(jié)合船舶實(shí)際構(gòu)造,本文選用總線型作為網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。
拓?fù)浣Y(jié)構(gòu)中的終端電阻對(duì)匹配總線阻抗起著重要作用。ISO 11898協(xié)議規(guī)定,為了抑制信號(hào)反射及提高網(wǎng)絡(luò)EMC性能,CAN總線必須在拓?fù)浣Y(jié)構(gòu)的最遠(yuǎn)端安裝終端電阻,以免降低數(shù)字通信的抗干擾性和可靠性,甚至無法通信。ISO 11898標(biāo)準(zhǔn)將整個(gè)CAN網(wǎng)絡(luò)的終端電阻簡化為拓?fù)渥钸h(yuǎn)端兩個(gè)120 Ω的電阻[4]。但在實(shí)際使用過程中,由于拓?fù)浣Y(jié)構(gòu)的不同,并且有些節(jié)點(diǎn)具有一定的支線長度,因此需對(duì)終端電阻進(jìn)行分析和改進(jìn)。
2.2 協(xié)議控制器(FlexCAN)
如圖1所示,下位機(jī)通信電路包含兩個(gè)芯片:帶有CAN控制器(FlexCAN)的MCU和CAN總線收發(fā)器(TJA1050)。其中,MCU負(fù)責(zé)數(shù)據(jù)采集與處理,完成初始化等特定功能;CAN控制器(FlexCAN)負(fù)責(zé)實(shí)現(xiàn)網(wǎng)絡(luò)協(xié)議、數(shù)據(jù)的發(fā)送和接收等通信任務(wù)。
主芯片MPC5634內(nèi)部集成了兩個(gè)CAN總線協(xié)議控制器(FlexCAN),每個(gè)FlexCAN都支持博世公司(BOSCH)的CAN2.0B協(xié)議,功能互不影響。FlexCAN_A擁有64個(gè)消息緩沖區(qū),作為監(jiān)控主信道使用;FlexCAN_C擁有32個(gè)消息緩沖區(qū),在開發(fā)測(cè)試階段,作為標(biāo)定通道使用,在正常運(yùn)行階段則作為監(jiān)控備用通道使用。
2.3 總線收發(fā)器(TJA1050)
CAN總線收發(fā)器TJA1050是CAN控制器與物理總線之間的接口元件,實(shí)現(xiàn)對(duì)CAN總線的差動(dòng)發(fā)送和接收功能,并且與ISO 11898標(biāo)準(zhǔn)兼容,是實(shí)現(xiàn)網(wǎng)絡(luò)性能的關(guān)鍵因素之一。CAN總線收發(fā)器TJA1050電路原理圖如圖2所示。
CAN協(xié)議控制器通過MCU的串行數(shù)據(jù)輸出引腳TXD和串行數(shù)據(jù)輸入引腳RXD連接到收發(fā)器;而收發(fā)器則通過具有差動(dòng)接收及發(fā)送功能的引腳CAN_H和CAN_L連接到總線網(wǎng)絡(luò)。TJA1050使用額定5 V電源供電。參考電壓Uref輸出一個(gè)Vcc/2的額定電壓。此電壓作為帶有模擬Rx輸入的CAN控制器參考電壓。由于FlexCAN具有數(shù)字輸入,所以不需要此電壓。端口S用于模式控制,將其接地則進(jìn)入高速模式,即工作模式[5]。
收發(fā)器與CAN總線并不直接相連,而是采取了一定的安全措施和抗干擾措施。CAN_H和CAN_L與地之間設(shè)計(jì)1個(gè)RC濾波電路,由1個(gè)62 Ω電阻和1個(gè)20 pF電容組成,起到濾除總線上高頻干擾的作用。在兩根CAN總線引腳與地之間分別連接1個(gè)瞬態(tài)抑制二極管,當(dāng)出現(xiàn)瞬變干擾時(shí),通過鉗位保護(hù),防止負(fù)電壓過大。此外,100 pF電容用于維持電壓穩(wěn)定。
圖2 CAN總線收發(fā)器原理圖Fig.2 Schematic diagram of CAN bus transceiver
3.1 通信協(xié)議
SAE J1939協(xié)議數(shù)據(jù)單元(PDU)包含7個(gè)域,分別是優(yōu)先級(jí)(P)、保留位(R)、數(shù)據(jù)頁(DP)、PDU格式(PF)、特殊PDU(PS)、源地址(SA)和數(shù)據(jù)場(chǎng)[2]。前六部分構(gòu)成CAN報(bào)文的ID。其中控制報(bào)文采用PDU1格式,其特殊PDU用作目標(biāo)地址(DA);消息報(bào)文采用PDU2格式,其特殊PDU用作群擴(kuò)展(GE)。ID設(shè)置如表1所示。
表1 ID設(shè)置Tab.1 ID settings
3.2 組態(tài)界面
組態(tài)是HMI上電開機(jī)后的操作界面,是提高用戶體驗(yàn)、實(shí)現(xiàn)人機(jī)交互的窗口,操作人員通過其可以直觀地監(jiān)視和控制發(fā)動(dòng)機(jī)運(yùn)行[8]。組態(tài)共設(shè)計(jì)有主界面、安防監(jiān)控、表盤顯示、歷史曲線等6個(gè)窗口,其中主界面分為參數(shù)顯示、控制按鈕、安防監(jiān)控和窗口切換4個(gè)區(qū)域。參數(shù)顯示區(qū)域?qū)崟r(shí)顯示兩臺(tái)發(fā)動(dòng)機(jī)運(yùn)行參數(shù),控制按鈕區(qū)域進(jìn)行雙機(jī)模式切換等觸控操作,安防監(jiān)控區(qū)域在線監(jiān)測(cè)數(shù)據(jù)上下限并可報(bào)警,而觸控窗口切換區(qū)域內(nèi)的按鈕,將會(huì)彈出相應(yīng)的子界面。
3.3 上位機(jī)程序
后臺(tái)程序的任務(wù)是數(shù)據(jù)管理、通信控制和交互處理。HMI通過CAN自定義協(xié)議來接收監(jiān)視數(shù)據(jù)和發(fā)送控制命令,協(xié)議使用C語言編寫。
監(jiān)視數(shù)據(jù)接收流程如圖3所示。
圖3 監(jiān)視數(shù)據(jù)接收流程Fig.3 Receiving process of the monitoring data
首先,是對(duì)頭文件(包括數(shù)據(jù)類型)的定義;其次,根據(jù)數(shù)據(jù)鏈路層協(xié)議定義一個(gè)符合J1939 PDU格式的結(jié)構(gòu)體,包括仲裁場(chǎng)、控制場(chǎng)和數(shù)據(jù)場(chǎng)。接著進(jìn)入初始化階段,由于每次開機(jī)程序優(yōu)先且只執(zhí)行一次初始化,所以在這里進(jìn)行寄存器設(shè)置和對(duì)狀態(tài)地址賦初值。然后進(jìn)入一個(gè)無限循環(huán)的主程序,查詢組態(tài)操作標(biāo)志位,同時(shí)等待通信接收中斷。
每當(dāng)接收緩沖區(qū)接收到一幀CAN報(bào)文,就會(huì)觸發(fā)接收中斷,主程序調(diào)用接收服務(wù)子程序?qū)?bào)文進(jìn)行解析。首先根據(jù)通信協(xié)議過濾ID,然后進(jìn)行高低位整合等數(shù)據(jù)處理,最后寫入目標(biāo)地址。
操作組態(tài)界面時(shí),后臺(tái)程序?qū)?duì)寄存器和組態(tài)操作標(biāo)志位賦值。主程序循環(huán)查詢并判斷標(biāo)志位,接著寫入對(duì)應(yīng)的控制命令并根據(jù)通信協(xié)議封裝成PDU格式,然后向CAN總線發(fā)送報(bào)文,最后清標(biāo)志位和寄存器??刂泼畎l(fā)送流程如圖4所示。
圖4 控制命令發(fā)送流程Fig.4 Transmitting process of the control commands
3.4 下位機(jī)程序
數(shù)據(jù)發(fā)送采用DAQ模式,它使從設(shè)備脫離主設(shè)備,自主地按一定周期向主設(shè)備上傳數(shù)據(jù)。設(shè)計(jì)統(tǒng)一采用50 ms周期,故只需要一張DAQ列表,并將其中所包含的5張ODT列表封裝成5幀CAN報(bào)文,發(fā)送到目標(biāo)發(fā)送緩沖區(qū)。
CANTransmit、ReceiveInterrupt和CANReceive是在Matlab/Simulink中利用C-MEX S函數(shù)和TLC文件編寫的自定義底層驅(qū)動(dòng)塊,封裝S-Function后添加到Libraries供建模調(diào)用[9]。在CANTransmit驅(qū)動(dòng)塊中,根據(jù)通信協(xié)議填充ID。DAQ-DTO的數(shù)據(jù)域由8字節(jié)構(gòu)成,第一個(gè)字節(jié)為PID,標(biāo)志了該幀報(bào)文所對(duì)應(yīng)的ODT。
命令接收采用Polling模式。每當(dāng)接收緩沖區(qū)接收到CAN總線上的報(bào)文時(shí),ReceiveInterrupt驅(qū)動(dòng)塊就觸發(fā)接收中斷,將目標(biāo)接收緩沖區(qū)中的報(bào)文傳遞給CANReceive驅(qū)動(dòng)塊。CANReceive驅(qū)動(dòng)塊根據(jù)通信協(xié)議對(duì)報(bào)文進(jìn)行解析,首先過濾ID,然后將控制命令傳遞給一個(gè)Stateflow邏輯判斷。根據(jù)6個(gè)判斷條件,對(duì)發(fā)動(dòng)機(jī)進(jìn)行3種信號(hào)控制,最后調(diào)用CANTransmit驅(qū)動(dòng)塊反饋給上位機(jī)HMI。
3.5 安防監(jiān)控
天然氣的安防監(jiān)控對(duì)雙燃料發(fā)動(dòng)機(jī)十分重要。監(jiān)控系統(tǒng)除了對(duì)燃?xì)鉁囟?、燃?xì)鈮毫?、瞬時(shí)氣量、氣化溫度、儲(chǔ)罐溫度、儲(chǔ)罐壓力等數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)測(cè)和超限值閃爍提醒外,還設(shè)置了燃?xì)鈿饬肯拗啤⑷細(xì)庑孤﹫?bào)警和火災(zāi)報(bào)警功能[10]。
當(dāng)轉(zhuǎn)速超過1 500 r/min,或者瞬時(shí)氣量超過該轉(zhuǎn)速下最大氣量,或者排氣溫度超過500 ℃、冷卻水溫超過95 ℃時(shí),都將對(duì)燃?xì)鈿饬窟M(jìn)行限制。
其次,船體上5個(gè)關(guān)鍵位置還裝有可燃?xì)怏w濃度傳感器。監(jiān)控系統(tǒng)實(shí)時(shí)顯示可燃?xì)怏w濃度,且當(dāng)濃度超過10%時(shí),程序自動(dòng)控制打開風(fēng)扇和泄漏報(bào)警燈,監(jiān)測(cè)界面上的垂直進(jìn)度條也會(huì)由綠色變成黃色;當(dāng)濃度超過20%時(shí),程序自動(dòng)斷氣并打開排空閥,垂直進(jìn)度條相應(yīng)地由黃色變成紅色閃爍。
此外,當(dāng)觸發(fā)燃?xì)庑孤┬盘?hào)后,監(jiān)控系統(tǒng)也會(huì)通過CAN總線第一時(shí)間做出反應(yīng),閃爍對(duì)應(yīng)的火災(zāi)報(bào)警燈并發(fā)出報(bào)警聲音。操作人員可以通過HMI實(shí)現(xiàn)緊急停機(jī)。
試驗(yàn)用柴油/LNG雙燃料發(fā)動(dòng)機(jī)由兩臺(tái)8缸直列式、水冷、船用柴油機(jī)改裝而成,試驗(yàn)臺(tái)架布置簡圖如圖5所示。流量計(jì)和油耗儀計(jì)量天然氣與柴油的消耗量。上位機(jī)HMI通過CAN總線監(jiān)控ECU,同時(shí)通過PC機(jī)1監(jiān)測(cè)報(bào)文??刂苾x通過測(cè)功機(jī)改變發(fā)動(dòng)機(jī)負(fù)荷,同時(shí)通過PC機(jī)2顯示扭矩和轉(zhuǎn)速。煙度計(jì)和五氣分析儀測(cè)量尾氣煙度值、不透光煙度以及NOx含量。發(fā)動(dòng)機(jī)轉(zhuǎn)速低于怠速時(shí)采用純柴油模式,高于怠速時(shí)啟用雙燃料模式。試驗(yàn)過程中成功實(shí)現(xiàn)通過HMI手動(dòng)切換工作模式。
圖5 雙燃料發(fā)動(dòng)機(jī)臺(tái)架試驗(yàn)簡圖Fig.5 Simplified diagram of the bench test for dual fuel engine
借助USBCAN-II轉(zhuǎn)換卡和CANMonitor分析軟件,進(jìn)行可行性驗(yàn)證及可靠性驗(yàn)證。臺(tái)架試驗(yàn)過程中,ECU發(fā)送數(shù)據(jù)報(bào)文,HMI發(fā)送控制命令,ECU執(zhí)行并應(yīng)答反饋信號(hào),通過PC機(jī)1對(duì)CAN總線進(jìn)行監(jiān)視采樣分析,最終得到正確數(shù)據(jù)。
表2為CANMonitor分析軟件采集數(shù)據(jù)。表2中,幀ID0x0C000201為控制報(bào)文,數(shù)據(jù)域首字節(jié)01代表斷氣信號(hào);幀ID0x18F00402第二個(gè)字節(jié)是噴氣使能信號(hào),01代表正在使用天然氣,斷氣信號(hào)之后變成00,代表已經(jīng)停止使用天然氣。
表2 CANMonitor數(shù)據(jù)Tab.2 CANMonitor data
經(jīng)測(cè)試,在總線長度20 m、75%采樣點(diǎn)、250 kbit/s波特率的狀態(tài)下,控制信號(hào)可在50 ms之內(nèi)得到執(zhí)行并反饋。對(duì)于一般的數(shù)據(jù)傳遞,CAN總線網(wǎng)絡(luò)能夠完美實(shí)現(xiàn)實(shí)時(shí)性響應(yīng);對(duì)于斷油斷氣等緊急控制,也能完全滿足安全性要求。
基于模型設(shè)計(jì)(MBD)的開發(fā)方式實(shí)現(xiàn)了編程的可視化和模塊化;快速生成嵌入式C代碼,使得開發(fā)人員可以專注于控制策略和通信協(xié)議的制定,提高開發(fā)效率。
監(jiān)控系統(tǒng)為整套電控系統(tǒng)提供可視化支持,實(shí)現(xiàn)同時(shí)對(duì)兩臺(tái)發(fā)動(dòng)機(jī)的實(shí)時(shí)監(jiān)控,提高雙燃料發(fā)動(dòng)機(jī)的實(shí)用性、可操作性和安全性。CAN總線在船舶領(lǐng)域內(nèi)的擴(kuò)展應(yīng)用,推進(jìn)了分布式監(jiān)控系統(tǒng)的實(shí)現(xiàn)。
[1] 武琦.基于CAN總線的船舶監(jiān)控系統(tǒng)通信結(jié)構(gòu)設(shè)計(jì)[J].中國科技信息,2013(12):99.
[2] 羅峰,孫澤昌.汽車CAN總線原理、設(shè)計(jì)與應(yīng)用[M].北京:電子工業(yè)出版社,2010:29-31,68-70.
[3] 郭慶祝,宋揚(yáng).基于CAN現(xiàn)場(chǎng)總線的船舶機(jī)艙分布式監(jiān)控系統(tǒng)的研制[J].中國海洋平臺(tái),2005,20(4):48-50.
[4] 國際標(biāo)準(zhǔn)化組織道路車輛技術(shù)委員會(huì).ISO 11898-1-2003 Road Vehicles-Controller Area Network(CAN)-Part1:Data link layer and physical signalling[S].2003.
[5] 龍志強(qiáng),李曉龍,竇峰山,等.CAN總線技術(shù)與應(yīng)用系統(tǒng)設(shè)計(jì) [M].北京:機(jī)械工業(yè)出版社,2013:86-89.
[6] 國家標(biāo)準(zhǔn)化管理委員會(huì).商用車控制系統(tǒng)局域網(wǎng)絡(luò)(CAN)通訊協(xié)議-第4部分:數(shù)據(jù)鏈路層(征求意見稿)[S].2014.
[7] 邵斌.電容式混合動(dòng)力汽車CAN通信網(wǎng)絡(luò)研究[D].鎮(zhèn)江:江蘇大學(xué),2010.
[8] 袁偉,俞孟蕻.艦船綜合平臺(tái)管理系統(tǒng)設(shè)計(jì)[J].艦船科學(xué)技術(shù),2013,35(7):145-148.
[9] 劉杰,翁公羽,周宇博.基于模型的設(shè)計(jì)——MCU篇[M].北京:北京航空航天大學(xué)出版社,2011:164-184.
[10]吳恒,夏立.基于CAN總線的船舶火災(zāi)報(bào)警系統(tǒng)的設(shè)計(jì)[J].青島大學(xué)學(xué)報(bào):自然科學(xué)版,2004,13(3):27-28.
Research and Development of the Distributed Monitoring System for Dual Fuel Marine Power
Based on the CAN bus technology and embedded technology, the distributed monitoring system for diesel/LNG dual fuel marine power has been designed to implement monitoring for two sets of T8138ZLCZ diesel engines simultaneously. The human machine interface (HMI) of the host computer Kinco MT4414TE-CAN is designed using EV5000 configuration editor software, the control model is designed using Matlab/Simulink, and the C code program is generated. Data communication between host computer HMI and slave computer ECU is achieved via CAN bus hardware circuit. The results of research show that the dual fuel marine power can be controlled intuitively and effectively through touch screen technology; the monitoring system is stable in performance, ease to operate and running reliably.
CAN Monitoring system Dual fuel HMI Model-based design(MBD)
李捷輝(1963-),男,2006年畢業(yè)于江蘇大學(xué)動(dòng)力系,獲博士學(xué)位,教授;主要從事發(fā)動(dòng)機(jī)電子控制的研究。
TP277
A
10.16086/j.cnki.issn1000-0380.201506009
修改稿收到日期:2014-12-29。