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