《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 基于CANopen總線協(xié)議的城市地鐵數(shù)據(jù)通信網(wǎng)設(shè)計(jì)
基于CANopen總線協(xié)議的城市地鐵數(shù)據(jù)通信網(wǎng)設(shè)計(jì)
楊 玲 陜西交通職業(yè)技術(shù)學(xué)院
摘要: 介紹了CANopen總線協(xié)議的通信接口以及啟動(dòng)和仲裁機(jī)制,給出了在軌道交通車輛網(wǎng)絡(luò)監(jiān)測(cè)系統(tǒng)中引入CANopen總線協(xié)議來實(shí)現(xiàn)CAN-open應(yīng)用層功能的設(shè)計(jì)方法。同時(shí)給出了列車通信層的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)以及CANopen接口的配置過程。
Abstract:
Key words :

0 引言
    城市軌道交通網(wǎng)絡(luò)的快速發(fā)展,給智能化、網(wǎng)絡(luò)化的地鐵通信提出了新的要求。事實(shí)上,城市軌道交通系統(tǒng)也必須具有一套專門負(fù)責(zé)城市地鐵中列車各模塊的數(shù)據(jù)采集、分析系統(tǒng),以對(duì)列車各設(shè)備實(shí)施監(jiān)測(cè),提高列車車輛的運(yùn)行安全。
    通過地鐵通信網(wǎng)絡(luò)可對(duì)列車的運(yùn)行、狀態(tài)和故障進(jìn)行監(jiān)測(cè)和診斷,同時(shí)也可以對(duì)旅客服務(wù)信息進(jìn)行綜合處理。它可以應(yīng)用多種總線技術(shù)把分布于各車廂內(nèi)部的、可以獨(dú)立完成特定功能的計(jì)算機(jī)互連起來,從而形成一種局域網(wǎng),進(jìn)而實(shí)現(xiàn)資源共享、協(xié)同工作、分散監(jiān)測(cè)和集中操作。
    CAN是一種可有效支持分布式控制和實(shí)時(shí)控制的串行通信網(wǎng)絡(luò),該總線具有很高的時(shí)效性、可靠性、抗干擾能力和檢錯(cuò)能力,而且開發(fā)費(fèi)用比較低??梢詰?yīng)用于城市軌道交通車輛的現(xiàn)場(chǎng)總線中。但是,CAN總線只是對(duì)網(wǎng)絡(luò)的物理層和數(shù)據(jù)鏈路層進(jìn)行了規(guī)范,而沒有對(duì)應(yīng)用層做相應(yīng)的說明。為此,本文給出了通過配置CANopen網(wǎng)絡(luò)接口來對(duì)地鐵現(xiàn)場(chǎng)控制系統(tǒng)中各個(gè)部分的主要參數(shù)進(jìn)行采集,并通過CANopen總線發(fā)送到服務(wù)器的實(shí)現(xiàn)方法。

1 CANopen簡(jiǎn)介
    CANopen是基于CAN-bus的分布式工業(yè)控制技術(shù)標(biāo)準(zhǔn)。它是由生產(chǎn)商和用戶聯(lián)合CiA共同開發(fā)的一種CENELEC EN 50325-4標(biāo)準(zhǔn)。CANopen已經(jīng)在廣泛的工業(yè)通信上建立了標(biāo)準(zhǔn)(例如:機(jī)械工程,驅(qū)動(dòng)系統(tǒng)和組件,醫(yī)療設(shè)備,樓宇自動(dòng)化,交通工具等等)。CANopen的基本通信機(jī)制被
稱為通信描述,不同的生產(chǎn)廠商可以協(xié)調(diào)使用一個(gè)CANopen網(wǎng)絡(luò)。通信描述的結(jié)構(gòu)增補(bǔ)是為專門的應(yīng)用而設(shè)計(jì)的,這就是結(jié)構(gòu)怎樣定義安全數(shù)據(jù)傳輸(“CANopen Safety”)或可編程設(shè)備(例如PLC)。對(duì)象詞典是每個(gè)CANopen設(shè)備的中心元素,具有描述設(shè)備的功能。
1.1 對(duì)象詞典(Objeet Directory)
    對(duì)象詞典是每個(gè)CANopen設(shè)備的中心元素,可用于描述網(wǎng)絡(luò)上設(shè)備的所有功能。對(duì)象詞典可描述網(wǎng)絡(luò)和應(yīng)用程序之間的接口,所有對(duì)象詞典的人口都引用16位的索引和8位子索引。對(duì)象詞典包含著所有通過網(wǎng)絡(luò)訪問的參數(shù),例如設(shè)備標(biāo)識(shí)符、生產(chǎn)商名、PDOs和SDOs的通信參數(shù)、設(shè)備監(jiān)控(“error control”)等都保存在對(duì)象詞典的通用區(qū)。設(shè)備描述區(qū)包含有IO功能(開關(guān)量和模擬量的輸入和輸出)、以及設(shè)備參數(shù)和PLC映射。如果發(fā)生錯(cuò)誤,對(duì)象詞典還可以配置其行為。因此,對(duì)象詞典可以使設(shè)備行為符合各自的應(yīng)用。
    對(duì)象詞典位于通信層和用戶層之間,其主要作用是為用戶提供服務(wù)接口。圖1所示是一個(gè)對(duì)象詞典在CANopen設(shè)備模型中的結(jié)構(gòu)圖。

a.JPG


1.2 設(shè)備描述
    設(shè)備描述表用于描述自動(dòng)控制系統(tǒng)中主要設(shè)備的類型屬性和特點(diǎn)。它定義了標(biāo)準(zhǔn)設(shè)備類型的功能和參數(shù),所有的參數(shù)都保存在對(duì)象詞典中,從而可保證CAN-bus用同一方式訪問CANopen設(shè)備。通過不同生產(chǎn)商設(shè)備的互用性和可交換性,可為多客戶需求提供先決條件。用戶也可為開關(guān)量和模擬量的I/O設(shè)備、PLC設(shè)備和控制器定義設(shè)備描述表,以便在標(biāo)準(zhǔn)的EDS文件中用ASCII形式描述CANopen設(shè)備的參數(shù)和屬性,并作為一個(gè)包含所有設(shè)備屬性的表格訪問網(wǎng)絡(luò)。專門設(shè)備配置的實(shí)時(shí)參數(shù)通常保存在DCF(deviee configurationfile)中,DCF是繼承于EDS的配置文件。
1.3 使用PDO/SDO進(jìn)行數(shù)據(jù)傳輸
    CANopen的數(shù)據(jù)傳輸具有兩個(gè)不同的數(shù)據(jù)傳輸機(jī)制,CANopen一般用過程數(shù)據(jù)對(duì)象(PDOs,Process Data Object)來處理短過程數(shù)據(jù)的快速交換,并通過SDO(Service Data Object)訪問對(duì)象詞典的人口。PDO可根據(jù)事件約束來循環(huán)或查詢傳輸,其傳輸采用無協(xié)議廣播形式。一個(gè)PDO傳輸可以達(dá)到八個(gè)字節(jié),一個(gè)同步信息可同步網(wǎng)絡(luò)上數(shù)據(jù)的發(fā)送和遷移。每個(gè)PDO的屬性都可以在對(duì)象詞典中進(jìn)行配置,其中包含通信參數(shù)(CAN標(biāo)識(shí)符、傳輸類型等)和為每個(gè)PDO映射分配過程的數(shù)據(jù)。SDO則通過2個(gè)CAN-telegrams證實(shí)數(shù)據(jù)傳輸,并在兩個(gè)設(shè)備間建立點(diǎn)對(duì)點(diǎn)的通信。這樣,一個(gè)大的數(shù)據(jù)包(大于8字節(jié))就能被傳輸給每個(gè)SDO。
1.4 CANopen通信接口
    CANopen協(xié)議中將通信對(duì)象分為四種:網(wǎng)絡(luò)管理對(duì)象(Network Management object,NMT),服務(wù)數(shù)據(jù)對(duì)象(SDO),過程數(shù)據(jù)對(duì)象(PDO)和預(yù)
定義報(bào)文/特殊功能對(duì)象。其中網(wǎng)絡(luò)管理對(duì)象(NMT)負(fù)責(zé)層管理、網(wǎng)絡(luò)管理和ID分配;服務(wù)數(shù)據(jù)對(duì)象用于對(duì)對(duì)象詞典中的項(xiàng)進(jìn)行訪問,此類報(bào)
文可以工作在預(yù)操作狀態(tài)和正常狀態(tài);過程數(shù)據(jù)對(duì)象工作在正常操作狀態(tài),可以傳送8個(gè)數(shù)據(jù)字節(jié),也就是64個(gè)狀態(tài)位。通常用于實(shí)時(shí)數(shù)據(jù)的傳送:預(yù)定義報(bào)文/特殊功能對(duì)象可為CANopen設(shè)備提供特定的功能,以方便CANopen主站對(duì)從站的管理。
1.5 CANopen總線的啟動(dòng)和仲裁機(jī)制
    在網(wǎng)絡(luò)初始化過程中,CANopen可支持最小boot-up機(jī)制和擴(kuò)展boot-up機(jī)制,其中擴(kuò)展boot-up是可選的,而所有CANopen設(shè)備和節(jié)點(diǎn)都必須能夠支持最小的boot-up機(jī)制。
    當(dāng)兩個(gè)或更多的結(jié)點(diǎn)在同時(shí)發(fā)送時(shí),往往可能產(chǎn)生數(shù)據(jù)沖突,這樣,CANopen總線就必須有一個(gè)仲裁機(jī)制,以便在發(fā)生沖突時(shí)可以可靠地分配總線給一個(gè)預(yù)備發(fā)送的結(jié)點(diǎn)。這個(gè)策略叫做總線仲裁。CAN總線使用一位一位的總線仲裁方式。當(dāng)兩個(gè)CAN站同時(shí)發(fā)送時(shí),其發(fā)送權(quán)力可由顯性總線狀態(tài)決定。通過監(jiān)視總線,當(dāng)一個(gè)結(jié)點(diǎn)失去了總線仲裁時(shí),它會(huì)被立即偵察到并停止發(fā)送,而當(dāng)所有的結(jié)點(diǎn)都發(fā)送一個(gè)隱性位時(shí),總線只在隱性狀態(tài)。事實(shí)上,只要有一個(gè)結(jié)點(diǎn)發(fā)送一個(gè)顯性位,整個(gè)總線電平就都是顯性的。

2 城市軌道列車通信網(wǎng)絡(luò)的設(shè)計(jì)
2.1 列車現(xiàn)場(chǎng)控制級(jí)通信網(wǎng)絡(luò)
    本文以4輛地鐵列車車廂編組為對(duì)象來進(jìn)行列車通信網(wǎng)絡(luò)的設(shè)計(jì),4輛地鐵列車車廂由兩個(gè)車輛單元組成,每一個(gè)單元包含帶司機(jī)室的拖車(Trail car with cab,Tc)和帶受電弓的動(dòng)車(MotorCar with pantograph,Mp)。圖2所示是基于CAN總線網(wǎng)絡(luò)的列車通信網(wǎng)絡(luò)的結(jié)構(gòu)設(shè)計(jì)圖。

b.JPG


    該列車通信網(wǎng)絡(luò)系統(tǒng)參照TCN(Topology Change Notification)配置,采用的是CAN總線,列車編組單元內(nèi)的車輛總線采用CANopen協(xié)議。
所設(shè)計(jì)的地鐵列車通信網(wǎng)絡(luò)系統(tǒng)是基于輕型、模塊化和分布式設(shè)計(jì),列車網(wǎng)絡(luò)采用兩級(jí)總線的層次結(jié)構(gòu)。本系統(tǒng)采用兩路CAN總線來將各子系統(tǒng)的控制單元合理地分配到這兩路CAN總線上。每路CAN總線在Mp(帶受電弓的動(dòng)車)車上有一個(gè)中繼器,各個(gè)子系統(tǒng)提供的CANopen接口都連接
到列車總線,以便于傳遞控制數(shù)據(jù)和狀態(tài)數(shù)據(jù)。列車控制監(jiān)控系統(tǒng)可監(jiān)視各子系統(tǒng)設(shè)備,同時(shí)接收各子系統(tǒng)的故障和狀態(tài)數(shù)據(jù),并通過總線控制子系統(tǒng)以完成相應(yīng)的功能。
    一般情況下,在選擇網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)時(shí),應(yīng)考慮到網(wǎng)絡(luò)的適應(yīng)性、可靠性、可擴(kuò)充性等性能,以選擇合理的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),從而實(shí)現(xiàn)機(jī)車設(shè)備級(jí)CAN總線網(wǎng)絡(luò)物理層的高可靠性。本文選擇的CAN總線型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)能夠更好地運(yùn)行列車自動(dòng)系統(tǒng),其中包括列車自動(dòng)保護(hù)系統(tǒng)(ATP)和列車自動(dòng)運(yùn)行系統(tǒng)(ATO)。
2.2 VCU控制單元
    城市地鐵列車網(wǎng)絡(luò)的硬件系統(tǒng)通常由列車車輛控制單元(VCU),遠(yuǎn)程輸入輸出模塊(RemoteI/O Module,RIOM),司機(jī)顯示單元(DDU),列車通信中繼器(Repeater)等組成。其中列車車輛控制單元(VCU)用于通過車輛總線連接各子設(shè)備,負(fù)責(zé)列車網(wǎng)絡(luò)中各種數(shù)據(jù)的傳輸和管理,列車車輛控制單元與列車各子系統(tǒng)通信,可以采集列車運(yùn)行時(shí)各子系統(tǒng)的數(shù)據(jù),并將相應(yīng)的控制指令發(fā)送到各子系統(tǒng),以便對(duì)列車各設(shè)備實(shí)施列車級(jí)控制。VCU可選用高性能的列車專用PLC來實(shí)現(xiàn)。列車上的兩臺(tái)VCU分為強(qiáng)主VCU和弱主VCU,兩個(gè)VCU互為冗余。在強(qiáng)主VCU工作時(shí),弱主VCU一直處于偵聽狀態(tài),同時(shí)也可接收網(wǎng)絡(luò)上傳送的任何數(shù)據(jù),但不行使網(wǎng)絡(luò)管理和控制功能。只有當(dāng)強(qiáng)主VCU發(fā)生故障時(shí),弱主VCU將馬上自動(dòng)接替強(qiáng)主VCU工作,從而保證列車的正常運(yùn)行。
2.3 配置過程
    本設(shè)計(jì)在CANopen通信網(wǎng)絡(luò)的基礎(chǔ)上,以牽引系統(tǒng)為例來設(shè)計(jì)牽引系統(tǒng)與控制單元之間的通信網(wǎng)絡(luò)接口,然后由列車主控制器VCU完成監(jiān)測(cè)過程中數(shù)據(jù)的處理和虛擬儀器的工作。圖3所示是由VCU完成監(jiān)測(cè)控制的程序流程圖。

c.JPG


    當(dāng)系統(tǒng)進(jìn)行完網(wǎng)絡(luò)管理狀態(tài)轉(zhuǎn)換之后,即可對(duì)控制系統(tǒng)節(jié)點(diǎn)啟動(dòng)配置過程,具體步驟是在DCU不在線時(shí),由VCU通過SDO周期性詢問DCU
是否在線;如果DCU已經(jīng)連接到CAN總線上,則由DCU響應(yīng)VCU的SDO請(qǐng)求;之后,再由VCU配置DCU的Rx PDO和Tx PDO,對(duì)象為14xxh和18xxh;之后由VCU配置DCU的消費(fèi)者心跳,對(duì)象為1016h;同時(shí)由VCU配置DCU的生產(chǎn)者心跳,對(duì)象為1017h;最后,由VCU啟動(dòng)DCU系統(tǒng)。此時(shí),DCU系統(tǒng)將處于預(yù)操作模式,之后,DCU系統(tǒng)將進(jìn)入操作階段,這時(shí),PDO就能夠進(jìn)行交換了。
    在CANopen網(wǎng)絡(luò)對(duì)牽引的控制過程中,其傳輸?shù)臄?shù)據(jù)類型有過程數(shù)據(jù)(PDO)、服務(wù)數(shù)據(jù)(SDO)、網(wǎng)絡(luò)管理數(shù)據(jù)(NMT)、時(shí)間戳(TimeStamp)和心跳數(shù)據(jù)(Heart-Beat)。其中過程數(shù)據(jù)用于傳輸DCU狀態(tài)數(shù)據(jù)、故障數(shù)據(jù)、控制指令等;服務(wù)數(shù)據(jù)指的是DCU系統(tǒng)所提供的一個(gè)SDO信道,這個(gè)信道用于網(wǎng)絡(luò)配置;網(wǎng)絡(luò)管理表示VCU使用NMT對(duì)象來管理和控制DCU通信;時(shí)間戳的作用主要是為了同步,通常VCU會(huì)周期性地廣播一個(gè)標(biāo)準(zhǔn)的時(shí)間戳到DCU,以便使DCU實(shí)時(shí)時(shí)鐘與VCU同步;此外,系統(tǒng)中的DCU也將周期性地產(chǎn)生一個(gè)心跳信息,這樣,VCU就可以通過檢測(cè)DCU心跳信息來了解其狀態(tài);反之亦然。

3 結(jié)束語
    利用CANopen總線網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)能很好地連接城市軌道列車的各個(gè)數(shù)據(jù)模塊。另外,CANopen總線強(qiáng)大的數(shù)據(jù)傳輸能力,也可以讓列車通信模塊變得容易擴(kuò)充。應(yīng)當(dāng)說明的是,CANopen總線協(xié)議的接口配置對(duì)不同的應(yīng)用系統(tǒng)各有不同,而不同的配置也會(huì)影響通信速率,因此,只有合理配置,才能保證整個(gè)列車通信系統(tǒng)的正常工作。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。