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

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

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

a.JPG


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

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

b.JPG


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

c.JPG


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

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

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