邢月華, 付 磊, 趙海院
(1 中車唐山機車車輛有限公司, 河北唐山 064000;2 山東普利森集團有限責任公司, 山東德州 253000)
某調車機車用于某公司調車場、專用鐵路線和車站正線上,為直流永磁電傳動調車用內燃機車,用于20輛普通碳鋼客車、16輛動車組以及滿載貨車進行編組、調車及小運轉牽引作業(yè)。該調車機車適用于工業(yè)企業(yè)的調車和小運轉作業(yè),保證機車連續(xù)穩(wěn)定工作。
CANopen協(xié)議是CIA(CAN in Automation)協(xié)會基于CAN總線定義的應用層協(xié)議之一[5],通過采用面向對象的設計思想,具有模塊化和高適應性的特點,因此研究CANopen協(xié)議在調車機車網絡控制系統(tǒng)中的應用具有很高的實用價值。
某調車機車網絡控制系統(tǒng)由車輛控制單元(VCU)、人機接口設備(HMI)、事件記錄儀(ERM)、遠程輸入輸出模塊(RIOM)組成,見圖1網絡拓撲結構示意圖。
圖1 網絡拓撲結構示意圖
通過CANopen總線接入網絡控制系統(tǒng)的設備有:人機接口設備(HMI)、車輛控制單元(VCU)、事件記錄儀(ERM)、遠程輸入輸出模塊(RIOM)、牽引變流器(TCU)、輔助供電系統(tǒng)(APU),其中VCU和ERM通過維護擴展單元板卡連接,RIOM板卡與VCU通過背板通信。
通過CAN J1939總線接入網絡控制系統(tǒng)的設備有:柴油機(ECM)、變頻一路(FC1)、變頻二路(FC2)。
在整個列車網絡控制系統(tǒng)中,VCU監(jiān)控其他子系統(tǒng),主要完成柴油機監(jiān)控、牽引系統(tǒng)監(jiān)控、輔助供電系統(tǒng)監(jiān)控、冷卻系統(tǒng)監(jiān)控等,并協(xié)調各子系統(tǒng)間的數(shù)據通信。該網絡系統(tǒng)具有統(tǒng)一的時鐘,能自動收集、記錄、存儲及顯示列車故障,并通過服務軟件將列車故障數(shù)據下載到個人電腦,方便用戶及維護人員分析。
CANopen協(xié)議定義了4種報文格式用作不同功能,分別為系統(tǒng)管理命令(NMT)用于網絡管理;服務數(shù)據對象(SDO)用于傳輸非時間關鍵數(shù)據;過程數(shù)據對象(PDO)用于傳輸時間關鍵進程數(shù)據;特殊功能對象用于同步、應急和時間戳等。
(1)網絡管理服務(NMT)
網絡管理服務負責啟動配置網絡和監(jiān)控設備。網絡管理服務為主從結構,一個CANopen網絡系統(tǒng)中只有一個主節(jié)點,其余都為從節(jié)點[1]。CANopen子節(jié)點在上電后進行內部初始化,之后進入預操作狀態(tài)。然后通過啟動消息報文(Boot up),將這一狀態(tài)的改變事件通知NMT主節(jié)點。NMT主節(jié)點會把Start_Remote_Node指令發(fā)送給所有子節(jié)點。Node-ID=0則針對所有的從節(jié)點模塊。操作狀態(tài)下,所有的CANopen通信服務都支持。此外,NMT主機的Stop_Remote_Node還可以強制設備進入停止狀態(tài)。在該狀態(tài)下,除了網絡管理和心跳服務之外,其他的所有CANopen通信服務都被禁止。
通過對列車的控制結構分析可知,設置VCU為主節(jié)點,其余設備為從節(jié)點,見表1節(jié)點地址設置。
表1 節(jié)點地址設置
(2)服務數(shù)據對象(SDO)
SDO( Service Data Object) 用來在設備之間傳輸大的低優(yōu)先級數(shù)據,典型的是用來配置CANopen網絡上的設備[2]。SDO的通訊模式是客戶/服務器型,文中VCU為客戶端,其他從節(jié)點為服務端。SDO配置過程見表2。
表2 SDO配置過程為例
表2以VCU與HMI進行SDO通信為例進行說明,客戶端發(fā)送命令COB-ID為600+0Dh,服務器響應命令為580+0Dh。由表2可見,序號1~22是主節(jié)點A對從節(jié)點D的對象字典進行讀寫操作的SDO傳輸報文。其中序號1~4對應的報文為主節(jié)點查詢從節(jié)點的設備類型和ID信息,確認設備并保存信息。序號5~6為主節(jié)點配置從節(jié)點的心跳時間報文,通過SDO對從節(jié)點對象字典進行寫操作,心跳時間修改為2 000 ms。序號7~14為主節(jié)點配置從節(jié)點的TPDO1通信參數(shù),其中第1個子索引COB-ID為0x18D,第2個子索引Transmission Type為255,第3個索引Inhibit Time為250 ms,第5個子索引PDO event timer為2 000 ms。序號15~22為主節(jié)點配置從節(jié)點的RPDO1通信參數(shù),其中第1個子索引COB-ID為0x20D,第2個子索引Transmission Type為255,第3個索引Inhibit Time為250 ms,第5個子索引PDO event timer為2 000 ms。SDO參數(shù)配置完后,0x70D的報文為7F與操作狀態(tài)。主節(jié)點發(fā)送NMT報文01 00,控制從節(jié)點進入運行狀態(tài),從節(jié)點心跳報文內容由7F變?yōu)?5,開始主從節(jié)點間PDO報文的傳輸[3]。
(3) 過程數(shù)據對象(PDO)
PDO(Process Data Object)報文主要用來傳輸實時性較高的數(shù)據。PDO采用生產者/消費者通信方式[3],數(shù)據從一個生產者傳到一個或多個消費者,數(shù)據長度限制在8個字節(jié)之內。PDO分為兩種,發(fā)送過程數(shù)據對象TPDO和接收過程數(shù)據對象RPDO。報文主要通過對象詞典中的映射參數(shù)和通訊參數(shù)來描述,見圖2~圖3。
圖2 HMI發(fā)送TPDO1示意圖
圖3 VCU接收RPDO1示意圖
(4)特殊功能對象
時間戳用來同步系統(tǒng)內從節(jié)點與網絡主的內部時鐘,見圖4。
時間戳的傳輸依據生產者/消費者模型,參數(shù)如下:
①生產者: VCU
②消費者: 所有CAN從節(jié)點
③數(shù)據類型: TIME_OF_DAY
TIME_OF_DAY 數(shù)據類型表現(xiàn)的是絕對時間。它由48 位數(shù)據組成(6個字節(jié)),編碼的規(guī)則如下:
①毫秒(ms): 由Unsigned28來表示, 它是從零時零分零秒開始計數(shù)的(0:00);
②天(days): 由Unsigned16來表示,它是從1984年1月1日開始計數(shù)的;
③“毫秒”和“天”之間的4位‘0’為填充位
時間戳的數(shù)據組成如圖4所示,數(shù)據將先發(fā)送低位字節(jié)(LS-Byte) ,后發(fā)送高位字節(jié)(MS-Byte)。
圖4 時間戳定義示意圖
在此設置時間戳的周期為1 s,即信號tProducerTime_TS的值為1 s。
故障診斷的任務是為維修人員和列車人員排除故障提供一定的支持。如果機車發(fā)生故障,故障診斷系統(tǒng)能盡早辨認故障,準確指明功能限制和故障位置,指出對車輛行駛的影響并提供維修信息。這些信息將以純文本格式在HMI上顯示,工作人員可以根據不同的故障類別進行故障評估,并給出合適的應急指導。HMI故障診斷界面如圖5所示。
根據故障對子系統(tǒng)或者列車的性能或安全性的影響劃分為不同的故障等級:
(1)嚴重故障:嚴重影響系統(tǒng)的故障,系統(tǒng)自動關閉。
(2)中等故障:列車運行或者乘客服務等功能受限,允許列車維持運行至前方站點,再進行處理;
(3)輕微故障:不影響列車運行或乘客服務功能,給出提示信息,司機或者機械師給予關注,允許列車完成運行圖規(guī)劃的全天運行后,再返回基地。
圖5 HMI故障診斷界面示意圖
基于CANopen協(xié)議的網絡控制系統(tǒng)在某國產化直流永磁調車機車的現(xiàn)場運行試驗中,車輛能夠有效接收各子系統(tǒng)發(fā)來的數(shù)據,并控制車輛安全運行。通過CANaLyzer軟件采集網絡總線上的數(shù)據,如圖6所示,直觀顯示了總線中各報文的傳輸過程和傳輸數(shù)據,主從節(jié)點之間沒有報文丟失的現(xiàn)象[4],各設備間通信正常,驗證了該網絡控制系統(tǒng)的可用性和可靠性。
圖6 CANaLyzer采集的總線數(shù)據
基于CANopen總線技術,通過對NMT、SDO、PDO的設計和故障診斷的開發(fā),提出了一種應用廣泛、高可靠性的網絡控制系統(tǒng),并在CANaLyzer軟件環(huán)境中進行了通訊測試,成功完成了VCU與其他網絡設備的網絡通信調試。目前該網絡控制系統(tǒng)已經在某調車機車裝車驗證。CANopen協(xié)議作為CAN總線的應用層協(xié)議,在城市軌道交通領域有著廣闊的應用前景,文中的研究成果可供該領域借鑒和參考。