邢月華, 付 磊, 趙海院
(1 中車唐山機車車輛有限公司, 河北唐山 064000;2 山東普利森集團有限責任公司, 山東德州 253000)
某調車機車用于某公司調車場、專用鐵路線和車站正線上,為直流永磁電傳動調車用內燃機車,用于20輛普通碳鋼客車、16輛動車組以及滿載貨車進行編組、調車及小運轉牽引作業。該調車機車適用于工業企業的調車和小運轉作業,保證機車連續穩定工作。
CANopen協議是CIA(CAN in Automation)協會基于CAN總線定義的應用層協議之一[5],通過采用面向對象的設計思想,具有模塊化和高適應性的特點,因此研究CANopen協議在調車機車網絡控制系統中的應用具有很高的實用價值。
某調車機車網絡控制系統由車輛控制單元(VCU)、人機接口設備(HMI)、事件記錄儀(ERM)、遠程輸入輸出模塊(RIOM)組成,見圖1網絡拓撲結構示意圖。

圖1 網絡拓撲結構示意圖
通過CANopen總線接入網絡控制系統的設備有:人機接口設備(HMI)、車輛控制單元(VCU)、事件記錄儀(ERM)、遠程輸入輸出模塊(RIOM)、牽引變流器(TCU)、輔助供電系統(APU),其中VCU和ERM通過維護擴展單元板卡連接,RIOM板卡與VCU通過背板通信。
通過CAN J1939總線接入網絡控制系統的設備有:柴油機(ECM)、變頻一路(FC1)、變頻二路(FC2)。
在整個列車網絡控制系統中,VCU監控其他子系統,主要完成柴油機監控、牽引系統監控、輔助供電系統監控、冷卻系統監控等,并協調各子系統間的數據通信。該網絡系統具有統一的時鐘,能自動收集、記錄、存儲及顯示列車故障,并通過服務軟件將列車故障數據下載到個人電腦,方便用戶及維護人員分析。
CANopen協議定義了4種報文格式用作不同功能,分別為系統管理命令(NMT)用于網絡管理;服務數據對象(SDO)用于傳輸非時間關鍵數據;過程數據對象(PDO)用于傳輸時間關鍵進程數據;特殊功能對象用于同步、應急和時間戳等。
(1)網絡管理服務(NMT)
網絡管理服務負責啟動配置網絡和監控設備。網絡管理服務為主從結構,一個CANopen網絡系統中只有一個主節點,其余都為從節點[1]。CANopen子節點在上電后進行內部初始化,之后進入預操作狀態。然后通過啟動消息報文(Boot up),將這一狀態的改變事件通知NMT主節點。NMT主節點會把Start_Remote_Node指令發送給所有子節點。Node-ID=0則針對所有的從節點模塊。操作狀態下,所有的CANopen通信服務都支持。此外,NMT主機的Stop_Remote_Node還可以強制設備進入停止狀態。在該狀態下,除了網絡管理和心跳服務之外,其他的所有CANopen通信服務都被禁止。
通過對列車的控制結構分析可知,設置VCU為主節點,其余設備為從節點,見表1節點地址設置。

表1 節點地址設置
(2)服務數據對象(SDO)
SDO( Service Data Object) 用來在設備之間傳輸大的低優先級數據,典型的是用來配置CANopen網絡上的設備[2]。SDO的通訊模式是客戶/服務器型,文中VCU為客戶端,其他從節點為服務端。SDO配置過程見表2。

表2 SDO配置過程為例
表2以VCU與HMI進行SDO通信為例進行說明,客戶端發送命令COB-ID為600+0Dh,服務器響應命令為580+0Dh。由表2可見,序號1~22是主節點A對從節點D的對象字典進行讀寫操作的SDO傳輸報文。其中序號1~4對應的報文為主節點查詢從節點的設備類型和ID信息,確認設備并保存信息。序號5~6為主節點配置從節點的心跳時間報文,通過SDO對從節點對象字典進行寫操作,心跳時間修改為2 000 ms。序號7~14為主節點配置從節點的TPDO1通信參數,其中第1個子索引COB-ID為0x18D,第2個子索引Transmission Type為255,第3個索引Inhibit Time為250 ms,第5個子索引PDO event timer為2 000 ms。序號15~22為主節點配置從節點的RPDO1通信參數,其中第1個子索引COB-ID為0x20D,第2個子索引Transmission Type為255,第3個索引Inhibit Time為250 ms,第5個子索引PDO event timer為2 000 ms。SDO參數配置完后,0x70D的報文為7F與操作狀態。主節點發送NMT報文01 00,控制從節點進入運行狀態,從節點心跳報文內容由7F變為05,開始主從節點間PDO報文的傳輸[3]。
(3) 過程數據對象(PDO)
PDO(Process Data Object)報文主要用來傳輸實時性較高的數據。PDO采用生產者/消費者通信方式[3],數據從一個生產者傳到一個或多個消費者,數據長度限制在8個字節之內。PDO分為兩種,發送過程數據對象TPDO和接收過程數據對象RPDO。報文主要通過對象詞典中的映射參數和通訊參數來描述,見圖2~圖3。

圖2 HMI發送TPDO1示意圖

圖3 VCU接收RPDO1示意圖
(4)特殊功能對象
時間戳用來同步系統內從節點與網絡主的內部時鐘,見圖4。
時間戳的傳輸依據生產者/消費者模型,參數如下:
①生產者: VCU
②消費者: 所有CAN從節點
③數據類型: TIME_OF_DAY
TIME_OF_DAY 數據類型表現的是絕對時間。它由48 位數據組成(6個字節),編碼的規則如下:
①毫秒(ms): 由Unsigned28來表示, 它是從零時零分零秒開始計數的(0:00);
②天(days): 由Unsigned16來表示,它是從1984年1月1日開始計數的;
③“毫秒”和“天”之間的4位‘0’為填充位
時間戳的數據組成如圖4所示,數據將先發送低位字節(LS-Byte) ,后發送高位字節(MS-Byte)。

圖4 時間戳定義示意圖
在此設置時間戳的周期為1 s,即信號tProducerTime_TS的值為1 s。
故障診斷的任務是為維修人員和列車人員排除故障提供一定的支持。如果機車發生故障,故障診斷系統能盡早辨認故障,準確指明功能限制和故障位置,指出對車輛行駛的影響并提供維修信息。這些信息將以純文本格式在HMI上顯示,工作人員可以根據不同的故障類別進行故障評估,并給出合適的應急指導。HMI故障診斷界面如圖5所示。
根據故障對子系統或者列車的性能或安全性的影響劃分為不同的故障等級:
(1)嚴重故障:嚴重影響系統的故障,系統自動關閉。
(2)中等故障:列車運行或者乘客服務等功能受限,允許列車維持運行至前方站點,再進行處理;
(3)輕微故障:不影響列車運行或乘客服務功能,給出提示信息,司機或者機械師給予關注,允許列車完成運行圖規劃的全天運行后,再返回基地。

圖5 HMI故障診斷界面示意圖
基于CANopen協議的網絡控制系統在某國產化直流永磁調車機車的現場運行試驗中,車輛能夠有效接收各子系統發來的數據,并控制車輛安全運行。通過CANaLyzer軟件采集網絡總線上的數據,如圖6所示,直觀顯示了總線中各報文的傳輸過程和傳輸數據,主從節點之間沒有報文丟失的現象[4],各設備間通信正常,驗證了該網絡控制系統的可用性和可靠性。

圖6 CANaLyzer采集的總線數據
基于CANopen總線技術,通過對NMT、SDO、PDO的設計和故障診斷的開發,提出了一種應用廣泛、高可靠性的網絡控制系統,并在CANaLyzer軟件環境中進行了通訊測試,成功完成了VCU與其他網絡設備的網絡通信調試。目前該網絡控制系統已經在某調車機車裝車驗證。CANopen協議作為CAN總線的應用層協議,在城市軌道交通領域有著廣闊的應用前景,文中的研究成果可供該領域借鑒和參考。