目 錄
1 產(chǎn)品概述
2 系統(tǒng)整體架構(gòu)
3 硬件配置與通訊接口
4 J1939協(xié)議與CAN數(shù)據(jù)解析
5 故障診斷邏輯設(shè)計(jì)
6 Modbus RTU數(shù)據(jù)上報(bào)協(xié)議
7 診斷閾值與報(bào)警體系
8 核心技術(shù)優(yōu)勢(shì)
9 典型應(yīng)用場(chǎng)景
10 軟件功能規(guī)劃
11 產(chǎn)品資質(zhì)與認(rèn)證
12 技術(shù)服務(wù)與聯(lián)系方式
13 版權(quán)聲明
1 產(chǎn)品概述
1.1 產(chǎn)品簡(jiǎn)介
本產(chǎn)品是山東華全動(dòng)力股份有限公司自主研發(fā)的發(fā)動(dòng)機(jī)CAN總線(xiàn)故障診斷系統(tǒng),專(zhuān)為柴油發(fā)電機(jī)組、燃?xì)獍l(fā)電機(jī)組配套設(shè)計(jì)。系統(tǒng)通過(guò)STM32F103微控制器實(shí)時(shí)解析發(fā)動(dòng)機(jī)ECU發(fā)出的SAE J1939 CAN總線(xiàn)數(shù)據(jù),將發(fā)動(dòng)機(jī)運(yùn)行參數(shù)與故障狀態(tài)通過(guò)RS485接口以Modbus RTU協(xié)議上報(bào)至上位監(jiān)控系統(tǒng),實(shí)現(xiàn)發(fā)電機(jī)組運(yùn)行狀態(tài)的實(shí)時(shí)在線(xiàn)監(jiān)測(cè)與故障預(yù)警診斷。
1.2 研發(fā)背景
傳統(tǒng)發(fā)電機(jī)組監(jiān)控系統(tǒng)普遍依賴(lài)人工巡檢或簡(jiǎn)單的模擬信號(hào)采集,存在數(shù)據(jù)維度少、故障發(fā)現(xiàn)滯后、診斷精度低等痛點(diǎn)。隨著國(guó)六/歐六發(fā)動(dòng)機(jī)全面普及,ECU已全面支持J1939 CAN總線(xiàn)通訊,實(shí)時(shí)獲取發(fā)動(dòng)機(jī)運(yùn)行參數(shù)與故障碼已成為可能。本項(xiàng)目依托公司成熟的發(fā)電機(jī)組技術(shù)平臺(tái),完成整套CAN總線(xiàn)診斷系統(tǒng)軟硬件自主開(kāi)發(fā),實(shí)現(xiàn)從被動(dòng)故障處理向主動(dòng)預(yù)防性維護(hù)的升級(jí)。
1.3 整體技術(shù)特點(diǎn)
- 采用STM32F103 CAN轉(zhuǎn)RS485雙接口設(shè)計(jì),一端連接發(fā)動(dòng)機(jī)ECU CAN總線(xiàn),一端連接上位監(jiān)控系統(tǒng),協(xié)議轉(zhuǎn)換透明可靠;
- 支持SAE J1939標(biāo)準(zhǔn)協(xié)議棧,完整解析EEC1/EEC2/ET1/CCVS/DM1/AMB/LFE1/IC1等8類(lèi)核心PGN數(shù)據(jù)幀;
- 內(nèi)置Modbus RTU從站,標(biāo)準(zhǔn)寄存器地址映射,上位機(jī)可直接輪詢(xún)讀取發(fā)動(dòng)機(jī)實(shí)時(shí)參數(shù);
- 支持DM1實(shí)時(shí)故障碼解析,將SAE標(biāo)準(zhǔn)SPN/FMI故障碼解碼為可讀中文診斷結(jié)果;
- CAN連接狀態(tài)實(shí)時(shí)監(jiān)測(cè),超時(shí)自動(dòng)標(biāo)記通訊中斷,避免數(shù)據(jù)假性有效;
- 采用雙看門(mén)狗保護(hù),系統(tǒng)運(yùn)行穩(wěn)定可靠,滿(mǎn)足工業(yè)現(xiàn)場(chǎng)7×24小時(shí)連續(xù)運(yùn)行要求;
- 支持J1939原廠診斷報(bào)文透明轉(zhuǎn)發(fā),便于主機(jī)廠與發(fā)動(dòng)機(jī)廠家聯(lián)合分析問(wèn)題。
2 系統(tǒng)整體架構(gòu)
本系統(tǒng)采用分布式雙接口設(shè)計(jì),CAN側(cè)接收發(fā)動(dòng)機(jī)ECU數(shù)據(jù),經(jīng)本地解析處理后,通過(guò)RS485側(cè)以Modbus RTU協(xié)議向上位系統(tǒng)上報(bào),兩側(cè)接口獨(dú)立工作,互不干擾。
系統(tǒng)拓?fù)洌?/strong>
發(fā)動(dòng)機(jī)ECU(J1939 CAN)→ STM32 CAN轉(zhuǎn)RS485模塊(本地解析+故障診斷)→ 上位監(jiān)控系統(tǒng)/PLC(Modbus RTU輪詢(xún))
下位機(jī)(STM32 CAN轉(zhuǎn)RS485模塊)
- CAN總線(xiàn)接收(250kbps,J1939擴(kuò)展幀)
- J1939協(xié)議解析(PGN識(shí)別+數(shù)據(jù)解碼)
- DM1故障碼實(shí)時(shí)解析
- Modbus RTU從站響應(yīng)
- CAN連接狀態(tài)監(jiān)控
- 看門(mén)狗保護(hù)
上位機(jī)(監(jiān)控系統(tǒng))
- Modbus RTU主站輪詢(xún)
- 發(fā)動(dòng)機(jī)參數(shù)實(shí)時(shí)顯示
- 故障告警管理
- 歷史數(shù)據(jù)存儲(chǔ)與分析
- 診斷報(bào)告生成
- 遠(yuǎn)程推送告警通知
3 硬件配置與通訊接口
3.1 核心硬件清單
| 序號(hào) | 器件名稱(chēng) | 規(guī)格型號(hào) | 說(shuō)明 |
|---|---|---|---|
| 1 | 主控MCU | STM32F103RBT6 | 72MHz ARM Cortex-M3,20KB SRAM,128KB Flash |
| 2 | CAN收發(fā)器 | TJA1050/ISO1050 | 最高1Mbps,支持120Ω終端電阻撥碼選擇 |
| 3 | RS485收發(fā)器 | SP3485/MAX485 | 9600bps,支持半雙工自動(dòng)收發(fā)切換 |
| 4 | 電源 | DC 9~36V寬壓輸入 | 帶防反接保護(hù),TVS浪涌抑制 |
| 5 | 通訊接口 | CAN_H/CAN_L,RS485 A/B | 鳳凰端子3.81mm間距 |
| 6 | 指示燈 | 電源/運(yùn)行/CAN通訊/故障 | 4個(gè)LED狀態(tài)指示 |
| 7 | 看門(mén)狗 | 內(nèi)置獨(dú)立看門(mén)狗 | 超時(shí)自動(dòng)復(fù)位 |
3.2 通訊接口說(shuō)明
- CAN接口:配置為250kbps(J1939標(biāo)準(zhǔn)速率),使用擴(kuò)展幀(29位ID),終端電阻撥碼可調(diào),連接發(fā)動(dòng)機(jī)ECU或整車(chē)CAN網(wǎng)絡(luò);
- RS485接口:采用Modbus RTU協(xié)議,從站地址撥碼可設(shè)(1~247),9600bps,8位數(shù)據(jù),1位停止位,無(wú)校驗(yàn),連接上位監(jiān)控系統(tǒng)或PLC;
- 調(diào)試接口:USART1作為調(diào)試串口,波特率921600,用于固件燒錄與日志輸出。
4 J1939協(xié)議與CAN數(shù)據(jù)解析
4.1 CAN總線(xiàn)參數(shù)
| 參數(shù) | 配置值 | 說(shuō)明 |
|---|---|---|
| 通訊速率 | 250 kbit/s | J1939標(biāo)準(zhǔn)速率 |
| 幀類(lèi)型 | 擴(kuò)展幀(29位ID) | J1939全部使用擴(kuò)展幀 |
| 終端電阻 | 120Ω(撥碼選擇) | 總線(xiàn)兩端需加終端電阻 |
| 采樣點(diǎn) | 87.5% | 滿(mǎn)足J1939規(guī)范要求 |
| 波特率 | 36MHz時(shí)鐘 / (9+1+1) / 16 = 250k | APB1=36MHz |
4.2 支持的J1939 PGN數(shù)據(jù)幀
| PGN | 名稱(chēng) | CAN ID(HEX) | 主要參數(shù) | 周期 |
|---|---|---|---|---|
| 0xF003 | EEC2 | 0C F0 03 00 | 發(fā)動(dòng)機(jī)轉(zhuǎn)速/油門(mén)位置/負(fù)載百分比 | 50ms |
| 0xF004 | EEC1 | 0C F0 04 00 | 需求扭矩/實(shí)際扭矩/發(fā)動(dòng)機(jī)轉(zhuǎn)速 | 50ms |
| 0xFEEE | ET1 | 18 FE EE 00 | 冷卻液溫度/燃油溫度/機(jī)油溫度 | 1000ms |
| 0xFEF1 | CCVS | 18 FE F1 00 | 車(chē)速/巡航狀態(tài)/制動(dòng)/離合狀態(tài) | 100ms |
| 0xFECA | DM1 | 18 FE CA 00 | 實(shí)時(shí)故障碼(SPN+ FMI) | 1000ms |
| 0xFEF5 | AMB | 18 FE F5 00 | 大氣壓力/環(huán)境溫度/進(jìn)氣溫度 | 1000ms |
| 0xFEF2 | LFE1 | 18 FE F2 00 | 燃油消耗率/瞬時(shí)油耗/平均油耗 | 1000ms |
| 0xFEF6 | IC1 | 18 FE F6 00 | 進(jìn)氣壓力/進(jìn)氣溫度/渦輪增壓器壓力 | 500ms |
| 0xFEDF | EEC3 | 18 FE DF 00 | 發(fā)動(dòng)機(jī)冷卻劑液位/需求扭矩來(lái)源 | 1000ms |
4.3 關(guān)鍵SPN參數(shù)解析規(guī)則
注意:以下解析規(guī)則符合SAE J1939-71標(biāo)準(zhǔn),實(shí)際以發(fā)動(dòng)機(jī)廠家數(shù)據(jù)手冊(cè)為準(zhǔn)。
| SPN | 名稱(chēng) | PGN | 字節(jié)位置 | 分辨率 | 偏移量 | 單位 |
|---|---|---|---|---|---|---|
| 190 | 發(fā)動(dòng)機(jī)轉(zhuǎn)速 | EEC2 (0xF003) | Byte 0-1 | 0.125 rpm/bit | 0 | rpm |
| 110 | 冷卻液溫度 | ET1 (0xFEEE) | Byte 0 | 1℃/bit | -40 | ℃ |
| 84 | 車(chē)速 | CCVS (0xFEF1) | Byte 1-2 | 1/256 km/h | 0 | km/h |
| 92 | 發(fā)動(dòng)機(jī)負(fù)載百分比 | EEC2 (0xF003) | Byte 3 | 0.4%/bit | 0 | % |
| 183 | 燃油消耗率 | LFE1 (0xFEF2) | Byte 0-1 | 0.05 L/h | 0 | L/h |
| 174 | 燃油溫度 | ET1 (0xFEEE) | Byte 1 | 1℃/bit | -40 | ℃ |
| 175 | 機(jī)油溫度 | ET1 (0xFEEE) | Byte 2 | 1℃/bit | 0 | ℃ |
| 102 | 進(jìn)氣歧管壓力 | IC1 (0xFEF6) | Byte 0 | 2 kPa/bit | 0 | kPa |
| 105 | 進(jìn)氣溫度 | IC1 (0xFEF6) | Byte 1 | 1℃/bit | -40 | ℃ |
| 171 | 環(huán)境溫度 | AMB (0xFEF5) | Byte 1-2 | 0.5℃/bit | 0 | ℃ |
| 108 | 大氣壓力 | AMB (0xFEF5) | Byte 0 | 0.5 kPa/bit | 0 | kPa |
5 故障診斷邏輯設(shè)計(jì)
5.1 DM1故障碼解析
DM1(Active Diagnostic Trouble Codes,當(dāng)前激活故障碼)是J1939標(biāo)準(zhǔn)中最核心的故障診斷報(bào)文。當(dāng)發(fā)動(dòng)機(jī)ECU檢測(cè)到故障時(shí),通過(guò)DM1幀(PGN 0xFECA)實(shí)時(shí)發(fā)送故障信息,每幀最多承載7個(gè)故障碼。
DM1幀數(shù)據(jù)結(jié)構(gòu):Byte 0低4位表示故障數(shù)量(0~15),每個(gè)故障占4字節(jié):
- Byte 1-2(SPN):故障參數(shù)編號(hào),表示故障關(guān)聯(lián)的參數(shù)(如SPN 110=冷卻液溫度過(guò)高);
- Byte 3低5位(FMI):故障模式標(biāo)識(shí)符,表示故障類(lèi)型(如FMI 3=電壓高于正常值);
- Byte 4:故障發(fā)生次數(shù)(Occurrence Counter)。
5.2 故障碼合成規(guī)則
系統(tǒng)將SPN(16位)與FMI(5位)合成為一個(gè)16位故障碼,格式如下:
combined_fault_code = (SPN << 5) | (FMI & 0x1F)
例如:SPN=100,F(xiàn)MI=3 → combined_fault_code = (100 << 5) | 3 = 0x0C83
5.3 典型故障碼對(duì)照表
| 故障碼(16進(jìn)制) | SPN | FMI | 故障名稱(chēng) | 可能原因 | 建議措施 |
|---|---|---|---|---|---|
| 0x0C83 | 100 | 3 | 機(jī)油壓力傳感器電壓高于正常值 | 傳感器短路/線(xiàn)束破損 | 檢查傳感器線(xiàn)束 |
| 0x12C3 | 300 | 2 | 冷卻液溫度傳感器數(shù)據(jù)不穩(wěn)定 | 傳感器接觸不良 | 檢查傳感器連接 |
| 0x2323 | 110 | 3 | 冷卻液溫度傳感器電壓高 | 開(kāi)路/短路 | 檢查溫度傳感器 |
| 0x2324 | 110 | 4 | 冷卻液溫度傳感器電壓低 | 短路接地 | 檢查溫度傳感器 |
| 0xBE03 | 190 | 3 | 發(fā)動(dòng)機(jī)轉(zhuǎn)速信號(hào)異常 | 曲軸/凸輪軸傳感器故障 | 檢查發(fā)動(dòng)機(jī)轉(zhuǎn)速傳感器 |
6 Modbus RTU數(shù)據(jù)上報(bào)協(xié)議
6.1 寄存器地址映射
系統(tǒng)作為Modbus RTU從站,支持功能碼0x04(讀輸入寄存器),寄存器地址映射如下:
| 寄存器地址 | 參數(shù)名稱(chēng) | 數(shù)據(jù)類(lèi)型 | 分辨率 | 單位 | 說(shuō)明 |
|---|---|---|---|---|---|
| 0x0000 | 發(fā)動(dòng)機(jī)轉(zhuǎn)速 | uint16 | ×0.1 | rpm | 實(shí)際值=寄存器值÷10 |
| 0x0001 | 冷卻液溫度 | uint16 | ×1 | ℃ | 直接讀取 |
| 0x0002 | 車(chē)速 | uint16 | ×0.1 | km/h | 實(shí)際值=寄存器值÷10 |
| 0x0003 | 發(fā)動(dòng)機(jī)負(fù)載百分比 | uint16 | ×0.1 | % | 實(shí)際值=寄存器值÷10 |
| 0x0004 | 燃油消耗率 | uint16 | ×0.1 | L/h | 實(shí)際值=寄存器值÷10 |
| 0x0005 | 環(huán)境溫度 | uint16 | ×0.1 | ℃ | 實(shí)際值=寄存器值÷10 |
| 0x0006 | 進(jìn)氣溫度 | uint16 | ×1 | ℃ | 直接讀取 |
| 0x0007 | 機(jī)油溫度 | uint16 | ×0.1 | ℃ | 實(shí)際值=寄存器值÷10 |
| 0x0008 | 當(dāng)前故障碼 | uint16 | — | — | SPN<<5 | FMI,無(wú)故障=0 |
| 0x0009 | CAN幀計(jì)數(shù)器 | uint16 | — | 幀 | CAN幀接收總數(shù)(低16位) |
| 0x000A | Modbus請(qǐng)求計(jì)數(shù)器 | uint16 | — | 次 | Modbus查詢(xún)總次數(shù) |
6.2 典型Modbus輪詢(xún)示例
讀取全部11個(gè)寄存器(從站地址=0x01):
請(qǐng)求幀:01 04 00 00 00 0B B1 CD
響應(yīng)幀:01 04 16 07 D0 00 41 01 2C 00 C8 00 32 00 96 00 19 03 E8 00 00 00 0A 00 05 xx xx
寄存器0x0000=0x07D0=200.0 rpm,0x0001=0x0041=65℃,0x0002=0x012C=30.0 km/h……
6.3 CAN狀態(tài)寄存器(地址0x0008)
寄存器0x0008用于查詢(xún)CAN通訊狀態(tài),特殊處理邏輯如下:
- CAN_flag = 0x01:CAN通訊正常(3秒內(nèi)有CAN幀接收);
- CAN_flag = 0x00:CAN通訊中斷(超過(guò)3秒無(wú)CAN幀接收)。
7 診斷閾值與報(bào)警體系
7.1 報(bào)警分級(jí)標(biāo)準(zhǔn)
| 級(jí)別 | 顏色 | 觸發(fā)條件 | 系統(tǒng)響應(yīng) |
|---|---|---|---|
| 信息 | ● 綠色 | 參數(shù)正常范圍內(nèi) | 正常記錄,不告警 |
| 預(yù)警 | ● 黃色 | 參數(shù)接近閾值(>80%限值) | 彈窗提示,持續(xù)監(jiān)測(cè) |
| 警告 | ● 橙色 | 參數(shù)超出正常范圍 | 聲光告警,建議停機(jī)檢查 |
| 嚴(yán)重 | ● 紅色 | 參數(shù)超限嚴(yán)重/收到ECU故障碼 | 緊急告警,觸發(fā)保護(hù)停機(jī) |
7.2 關(guān)鍵參數(shù)診斷閾值
| 參數(shù) | 正常范圍 | 預(yù)警閾值 | 告警閾值 | 嚴(yán)重閾值 |
|---|---|---|---|---|
| 發(fā)動(dòng)機(jī)轉(zhuǎn)速 | 800~3000 rpm | <700 或 >3200 rpm | <600 或 >3400 rpm | <500 或 >3600 rpm |
| 冷卻液溫度 | 75~105℃ | >108℃ | >115℃ | >120℃(高溫停機(jī)) |
| 機(jī)油溫度 | 80~130℃ | >135℃ | >140℃ | >150℃ |
| 機(jī)油壓力 | 200~500 kPa | <180 kPa | <150 kPa | <100 kPa(低壓停機(jī)) |
| 燃油溫度 | 0~80℃ | >85℃ | >90℃ | >95℃ |
| 進(jìn)氣溫度 | -20~65℃ | >70℃ | >75℃ | >80℃ |
| CAN通訊狀態(tài) | 通訊正常 | — | CAN_flag=0 超時(shí) | 持續(xù)中斷>10秒 |
8 核心技術(shù)優(yōu)勢(shì)
- 全自主研發(fā):硬件架構(gòu)、J1939協(xié)議棧、故障診斷算法均為華全自主設(shè)計(jì),支持客戶(hù)個(gè)性化定制開(kāi)發(fā);
- 協(xié)議完整性:完整支持SAE J1939標(biāo)準(zhǔn),兼容國(guó)內(nèi)外主流發(fā)動(dòng)機(jī)品牌(康明斯、濰柴、玉柴、上柴、珀金斯、顏巴赫等)ECU通訊協(xié)議;
- 實(shí)時(shí)性強(qiáng):J1939關(guān)鍵幀(EEC2/CCVS)50ms級(jí)別更新,滿(mǎn)足發(fā)動(dòng)機(jī)實(shí)時(shí)監(jiān)控需求;
- 診斷精準(zhǔn):基于DM1幀實(shí)時(shí)故障碼解析,支持SPN/FMI雙維度故障定位,結(jié)合閾值報(bào)警實(shí)現(xiàn)預(yù)防性維護(hù);
- 無(wú)縫集成:Modbus RTU標(biāo)準(zhǔn)化接口,可直接對(duì)接PLC、SCADA、智慧電站云平臺(tái),無(wú)需額外驅(qū)動(dòng)開(kāi)發(fā);
- 穩(wěn)定可靠:獨(dú)立看門(mén)狗+CAN超時(shí)檢測(cè),雙重保障系統(tǒng)在工業(yè)現(xiàn)場(chǎng)的長(zhǎng)期穩(wěn)定運(yùn)行。
9 典型應(yīng)用場(chǎng)景
- 柴油發(fā)電機(jī)組/燃?xì)獍l(fā)電機(jī)組遠(yuǎn)程監(jiān)控系統(tǒng);
- 智慧電站云平臺(tái)數(shù)據(jù)采集網(wǎng)關(guān);
- 工廠備用電源集中監(jiān)控管理;
- 通信基站/數(shù)據(jù)中心應(yīng)急電源監(jiān)控;
- 發(fā)動(dòng)機(jī)廠家/售后服務(wù)故障診斷工具;
- 發(fā)電機(jī)組出廠測(cè)試與老化試驗(yàn)臺(tái)數(shù)據(jù)采集。
10 軟件功能規(guī)劃
Phase 1 — 實(shí)時(shí)數(shù)據(jù)看板(2024 Q3)
- 發(fā)動(dòng)機(jī)轉(zhuǎn)速/水溫/油壓/油耗等關(guān)鍵參數(shù)實(shí)時(shí)可視化;
- CAN連接狀態(tài)監(jiān)控與斷線(xiàn)告警;
- 歷史曲線(xiàn)記錄(支持導(dǎo)出Excel)。
Phase 2 — 故障碼解析系統(tǒng)(2024 Q3)
- DM1故障幀SAE J1939 SPN/FMI解碼成中文診斷結(jié)果;
- 故障歷史記錄存儲(chǔ)與查詢(xún);
- 故障次數(shù)統(tǒng)計(jì)與趨勢(shì)分析。
Phase 3 — 閾值報(bào)警引擎(2024 Q4)
- 可配置參數(shù)閾值規(guī)則管理;
- 分級(jí)聲光報(bào)警與彈窗通知;
- 報(bào)警事件短信/郵件/飛書(shū)推送。
Phase 4 — 診斷報(bào)告生成(2025 Q1)
- 基于歷史數(shù)據(jù)自動(dòng)生成診斷報(bào)告(Word/PDF格式);
- 設(shè)備健康度評(píng)分模型;
- 維保建議自動(dòng)生成。
Phase 5 — AI輔助診斷(2025 Q2)
- 接入Qwen大模型分析故障根因;
- 自然語(yǔ)言查詢(xún)故障知識(shí)庫(kù);
- 智能維保方案推薦。
11 產(chǎn)品資質(zhì)與認(rèn)證
- 電磁兼容性能滿(mǎn)足 GB/T 17626 系列國(guó)家標(biāo)準(zhǔn);
- 電源輸入端滿(mǎn)足 GB/T 17626.11 浪涌抗擾度要求;
- 支持顏巴赫(Jenbacher)發(fā)動(dòng)機(jī)J1939原廠通訊協(xié)議;
- 支持康明斯( Cummins)、濰柴、上柴、玉柴、卡特彼勒等發(fā)動(dòng)機(jī)ECU協(xié)議適配;
- 符合工業(yè)級(jí)寬溫工作要求(-25℃~+70℃)。
