李捷輝 鐘光耀 龐春風 時國偉
(江蘇大學汽車與交通工程學院1,江蘇 鎮江 212013;中油中泰燃氣投資集團有限公司2,江西 南昌 330038)
雙燃料船舶動力分布式監控系統研發
李捷輝1鐘光耀1龐春風2時國偉2
(江蘇大學汽車與交通工程學院1,江蘇 鎮江 212013;中油中泰燃氣投資集團有限公司2,江西 南昌 330038)
根據CAN總線技術和嵌入式技術,設計一套柴油/LNG雙燃料船舶動力分布式監控系統,實現對兩臺T8138ZLCZ型柴油機的同時監控。應用EV5000組態編輯軟件設計上位機Kinco MT4414TE-CAN人機界面(HMI),使用Matlab/Simulink設計控制模型,并一鍵生成下位機C代碼程序。上位機HMI與下位機ECU通過CAN總線硬件電路完成數據通信。研究結果表明,通過觸摸屏技術,能夠直觀有效地對雙燃料船舶動力進行監視和控制;監控系統性能穩定,操作方便,工作可靠。
CAN 監控系統 雙燃料 人機界面 基于模型設計
隨著嵌入式技術和現場總線技術的發展,分布式監控系統的應用日益廣泛[1]。在柴油/LNG雙燃料船舶上加裝發動機(electronic control unit,ECU)的同時,一套監控系統作為人機交互的接口對電控系統提供可視化支持必不可少。CAN總線結構簡單、可靠性好、通信速率高,具有基于優先權的多主工作方式、非破壞性的線路競爭仲裁機制等特點。當傳輸距離為40 m時,CAN總線最大傳輸速率可達1 Mbit/s[2];作為上、下位機的“橋梁”,CAN總線實現各節點間實時、可靠的數據通信任務。本文設計的雙燃料船舶分布式監控系統基于CAN總線技術,通過上位機Kinco MT4414TE-CAN實現對兩臺T8138ZLCZ型柴油機的同時監控。
所加裝船舶的雙燃料電控系統硬件由ECU、傳感器、執行器和HMI四大部分構成。監控系統總體結構如圖1所示。

圖1 監控系統總體結構Fig.1 The structure of the monitoring and control system
監控系統作為電控系統的重要組成部分,應具有如下功能:①顯示功能,實時顯示發動機實際運行參數、性能指標;②監視功能,在線自動監視工作參數,超上下限閃爍,火災報警;③控制功能,手動進行模式切換、風扇開關及緊急停機等觸摸控制;④記錄功能,運行參數、狀態記錄和歷史數據保存。
監控系統由位于駕駛室的上位機和機艙內的下位機兩部分組成,實時監控兩臺雙燃料發動機。通信數據采用擴展幀類型數據幀格式,下位機監測數據以廣播方式發送,即網絡上每個節點都可以收到數據。對于不需要這些數據的節點,通過設置屏蔽碼寄存器予以屏蔽[3]。為了便于快速原型開發(RCP),控制程序和通信程序基于模型設計(model-based design,MBD),目標系統針對飛思卡爾32位單片機MPC5634配置。
系統通信分為3級:第一級為主機級,第二級為監控級,第三級為外部級。其中第一級為每塊ECU與對應發動機之間的通信,第二級為HMI、標定軟件與兩塊ECU之間的通信,第三級采用HMI擴充以太網、RS-232/RS- 485、USB等通信接口。
2.1 總線拓撲結構
根據結構形式的不同,CAN總線拓撲主要有星型、環型、總線型及樹型,其中總線型應用最廣泛。CAN網絡采用總線型拓撲擁有諸多優勢,結合船舶實際構造,本文選用總線型作為網絡拓撲結構。
拓撲結構中的終端電阻對匹配總線阻抗起著重要作用。ISO 11898協議規定,為了抑制信號反射及提高網絡EMC性能,CAN總線必須在拓撲結構的最遠端安裝終端電阻,以免降低數字通信的抗干擾性和可靠性,甚至無法通信。ISO 11898標準將整個CAN網絡的終端電阻簡化為拓撲最遠端兩個120 Ω的電阻[4]。但在實際使用過程中,由于拓撲結構的不同,并且有些節點具有一定的支線長度,因此需對終端電阻進行分析和改進。
2.2 協議控制器(FlexCAN)
如圖1所示,下位機通信電路包含兩個芯片:帶有CAN控制器(FlexCAN)的MCU和CAN總線收發器(TJA1050)。其中,MCU負責數據采集與處理,完成初始化等特定功能;CAN控制器(FlexCAN)負責實現網絡協議、數據的發送和接收等通信任務。
主芯片MPC5634內部集成了兩個CAN總線協議控制器(FlexCAN),每個FlexCAN都支持博世公司(BOSCH)的CAN2.0B協議,功能互不影響。FlexCAN_A擁有64個消息緩沖區,作為監控主信道使用;FlexCAN_C擁有32個消息緩沖區,在開發測試階段,作為標定通道使用,在正常運行階段則作為監控備用通道使用。
2.3 總線收發器(TJA1050)
CAN總線收發器TJA1050是CAN控制器與物理總線之間的接口元件,實現對CAN總線的差動發送和接收功能,并且與ISO 11898標準兼容,是實現網絡性能的關鍵因素之一。CAN總線收發器TJA1050電路原理圖如圖2所示。
CAN協議控制器通過MCU的串行數據輸出引腳TXD和串行數據輸入引腳RXD連接到收發器;而收發器則通過具有差動接收及發送功能的引腳CAN_H和CAN_L連接到總線網絡。TJA1050使用額定5 V電源供電。參考電壓Uref輸出一個Vcc/2的額定電壓。此電壓作為帶有模擬Rx輸入的CAN控制器參考電壓。由于FlexCAN具有數字輸入,所以不需要此電壓。端口S用于模式控制,將其接地則進入高速模式,即工作模式[5]。
收發器與CAN總線并不直接相連,而是采取了一定的安全措施和抗干擾措施。CAN_H和CAN_L與地之間設計1個RC濾波電路,由1個62 Ω電阻和1個20 pF電容組成,起到濾除總線上高頻干擾的作用。在兩根CAN總線引腳與地之間分別連接1個瞬態抑制二極管,當出現瞬變干擾時,通過鉗位保護,防止負電壓過大。此外,100 pF電容用于維持電壓穩定。

圖2 CAN總線收發器原理圖Fig.2 Schematic diagram of CAN bus transceiver
3.1 通信協議

SAE J1939協議數據單元(PDU)包含7個域,分別是優先級(P)、保留位(R)、數據頁(DP)、PDU格式(PF)、特殊PDU(PS)、源地址(SA)和數據場[2]。前六部分構成CAN報文的ID。其中控制報文采用PDU1格式,其特殊PDU用作目標地址(DA);消息報文采用PDU2格式,其特殊PDU用作群擴展(GE)。ID設置如表1所示。

表1 ID設置Tab.1 ID settings
3.2 組態界面
組態是HMI上電開機后的操作界面,是提高用戶體驗、實現人機交互的窗口,操作人員通過其可以直觀地監視和控制發動機運行[8]。組態共設計有主界面、安防監控、表盤顯示、歷史曲線等6個窗口,其中主界面分為參數顯示、控制按鈕、安防監控和窗口切換4個區域。參數顯示區域實時顯示兩臺發動機運行參數,控制按鈕區域進行雙機模式切換等觸控操作,安防監控區域在線監測數據上下限并可報警,而觸控窗口切換區域內的按鈕,將會彈出相應的子界面。
3.3 上位機程序
后臺程序的任務是數據管理、通信控制和交互處理。HMI通過CAN自定義協議來接收監視數據和發送控制命令,協議使用C語言編寫。
監視數據接收流程如圖3所示。

圖3 監視數據接收流程Fig.3 Receiving process of the monitoring data
首先,是對頭文件(包括數據類型)的定義;其次,根據數據鏈路層協議定義一個符合J1939 PDU格式的結構體,包括仲裁場、控制場和數據場。接著進入初始化階段,由于每次開機程序優先且只執行一次初始化,所以在這里進行寄存器設置和對狀態地址賦初值。然后進入一個無限循環的主程序,查詢組態操作標志位,同時等待通信接收中斷。
每當接收緩沖區接收到一幀CAN報文,就會觸發接收中斷,主程序調用接收服務子程序對報文進行解析。首先根據通信協議過濾ID,然后進行高低位整合等數據處理,最后寫入目標地址。
操作組態界面時,后臺程序將對寄存器和組態操作標志位賦值。主程序循環查詢并判斷標志位,接著寫入對應的控制命令并根據通信協議封裝成PDU格式,然后向CAN總線發送報文,最后清標志位和寄存器??刂泼畎l送流程如圖4所示。

圖4 控制命令發送流程Fig.4 Transmitting process of the control commands
3.4 下位機程序
數據發送采用DAQ模式,它使從設備脫離主設備,自主地按一定周期向主設備上傳數據。設計統一采用50 ms周期,故只需要一張DAQ列表,并將其中所包含的5張ODT列表封裝成5幀CAN報文,發送到目標發送緩沖區。
CANTransmit、ReceiveInterrupt和CANReceive是在Matlab/Simulink中利用C-MEX S函數和TLC文件編寫的自定義底層驅動塊,封裝S-Function后添加到Libraries供建模調用[9]。在CANTransmit驅動塊中,根據通信協議填充ID。DAQ-DTO的數據域由8字節構成,第一個字節為PID,標志了該幀報文所對應的ODT。
命令接收采用Polling模式。每當接收緩沖區接收到CAN總線上的報文時,ReceiveInterrupt驅動塊就觸發接收中斷,將目標接收緩沖區中的報文傳遞給CANReceive驅動塊。CANReceive驅動塊根據通信協議對報文進行解析,首先過濾ID,然后將控制命令傳遞給一個Stateflow邏輯判斷。根據6個判斷條件,對發動機進行3種信號控制,最后調用CANTransmit驅動塊反饋給上位機HMI。
3.5 安防監控
天然氣的安防監控對雙燃料發動機十分重要。監控系統除了對燃氣溫度、燃氣壓力、瞬時氣量、氣化溫度、儲罐溫度、儲罐壓力等數據進行實時監測和超限值閃爍提醒外,還設置了燃氣氣量限制、燃氣泄漏報警和火災報警功能[10]。
當轉速超過1 500 r/min,或者瞬時氣量超過該轉速下最大氣量,或者排氣溫度超過500 ℃、冷卻水溫超過95 ℃時,都將對燃氣氣量進行限制。
其次,船體上5個關鍵位置還裝有可燃氣體濃度傳感器。監控系統實時顯示可燃氣體濃度,且當濃度超過10%時,程序自動控制打開風扇和泄漏報警燈,監測界面上的垂直進度條也會由綠色變成黃色;當濃度超過20%時,程序自動斷氣并打開排空閥,垂直進度條相應地由黃色變成紅色閃爍。
此外,當觸發燃氣泄漏信號后,監控系統也會通過CAN總線第一時間做出反應,閃爍對應的火災報警燈并發出報警聲音。操作人員可以通過HMI實現緊急停機。
試驗用柴油/LNG雙燃料發動機由兩臺8缸直列式、水冷、船用柴油機改裝而成,試驗臺架布置簡圖如圖5所示。流量計和油耗儀計量天然氣與柴油的消耗量。上位機HMI通過CAN總線監控ECU,同時通過PC機1監測報文。控制儀通過測功機改變發動機負荷,同時通過PC機2顯示扭矩和轉速。煙度計和五氣分析儀測量尾氣煙度值、不透光煙度以及NOx含量。發動機轉速低于怠速時采用純柴油模式,高于怠速時啟用雙燃料模式。試驗過程中成功實現通過HMI手動切換工作模式。

圖5 雙燃料發動機臺架試驗簡圖Fig.5 Simplified diagram of the bench test for dual fuel engine
借助USBCAN-II轉換卡和CANMonitor分析軟件,進行可行性驗證及可靠性驗證。臺架試驗過程中,ECU發送數據報文,HMI發送控制命令,ECU執行并應答反饋信號,通過PC機1對CAN總線進行監視采樣分析,最終得到正確數據。
表2為CANMonitor分析軟件采集數據。表2中,幀ID0x0C000201為控制報文,數據域首字節01代表斷氣信號;幀ID0x18F00402第二個字節是噴氣使能信號,01代表正在使用天然氣,斷氣信號之后變成00,代表已經停止使用天然氣。

表2 CANMonitor數據Tab.2 CANMonitor data
經測試,在總線長度20 m、75%采樣點、250 kbit/s波特率的狀態下,控制信號可在50 ms之內得到執行并反饋。對于一般的數據傳遞,CAN總線網絡能夠完美實現實時性響應;對于斷油斷氣等緊急控制,也能完全滿足安全性要求。
基于模型設計(MBD)的開發方式實現了編程的可視化和模塊化;快速生成嵌入式C代碼,使得開發人員可以專注于控制策略和通信協議的制定,提高開發效率。
監控系統為整套電控系統提供可視化支持,實現同時對兩臺發動機的實時監控,提高雙燃料發動機的實用性、可操作性和安全性。CAN總線在船舶領域內的擴展應用,推進了分布式監控系統的實現。
[1] 武琦.基于CAN總線的船舶監控系統通信結構設計[J].中國科技信息,2013(12):99.
[2] 羅峰,孫澤昌.汽車CAN總線原理、設計與應用[M].北京:電子工業出版社,2010:29-31,68-70.
[3] 郭慶祝,宋揚.基于CAN現場總線的船舶機艙分布式監控系統的研制[J].中國海洋平臺,2005,20(4):48-50.
[4] 國際標準化組織道路車輛技術委員會.ISO 11898-1-2003 Road Vehicles-Controller Area Network(CAN)-Part1:Data link layer and physical signalling[S].2003.
[5] 龍志強,李曉龍,竇峰山,等.CAN總線技術與應用系統設計 [M].北京:機械工業出版社,2013:86-89.
[6] 國家標準化管理委員會.商用車控制系統局域網絡(CAN)通訊協議-第4部分:數據鏈路層(征求意見稿)[S].2014.
[7] 邵斌.電容式混合動力汽車CAN通信網絡研究[D].鎮江:江蘇大學,2010.
[8] 袁偉,俞孟蕻.艦船綜合平臺管理系統設計[J].艦船科學技術,2013,35(7):145-148.
[9] 劉杰,翁公羽,周宇博.基于模型的設計——MCU篇[M].北京:北京航空航天大學出版社,2011:164-184.
[10]吳恒,夏立.基于CAN總線的船舶火災報警系統的設計[J].青島大學學報:自然科學版,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年畢業于江蘇大學動力系,獲博士學位,教授;主要從事發動機電子控制的研究。
TP277
A
10.16086/j.cnki.issn1000-0380.201506009
修改稿收到日期:2014-12-29。