摘要
每一種通訊都有其短板的地方,這就需要一些特殊的處理方式來(lái)彌補(bǔ),本文將運(yùn)用國(guó)際規(guī)范的通訊協(xié)議來(lái)展示怎樣才能讓控制更加可靠。
特殊協(xié)議(Special protocols)
為了方便CANopen主站對(duì)從站管理。在CANopen協(xié)議中,已經(jīng)為特殊的功能預(yù)定義了COB-ID,其主要有以下幾種特殊報(bào)文。
同步協(xié)議(Sync protocol)
同步(SYNC),該報(bào)文對(duì)象主要實(shí)現(xiàn)整個(gè)網(wǎng)絡(luò)的同步傳輸,如圖 1所示,就像閱兵分列式上的方陣,所有士兵邁著整齊的步伐行進(jìn)。

每個(gè)節(jié)點(diǎn)都以該同步報(bào)文作為PDO觸發(fā)參數(shù),因此該同步報(bào)文的COB-ID 具有比較高的優(yōu)先級(jí)以及最短的傳輸時(shí)間。 一般選用80h作為同步報(bào)文的CAN-ID,如圖2所示。

一般同步報(bào)文由NMT主機(jī)發(fā)出,CAN報(bào)文的數(shù)據(jù)為0字節(jié)。但如果一個(gè)網(wǎng)絡(luò)內(nèi)有2個(gè)同步機(jī)制,就需要設(shè)置不同的同步節(jié)拍,比如某些節(jié)點(diǎn)按1個(gè)同步幀發(fā)送1次PDO,其他的節(jié)點(diǎn)收到2個(gè)同步幀才發(fā)送1此PDO,所以這里PDO參數(shù)中的同步起始值就起了作用。
在同步協(xié)議中,有2個(gè)約束條件:
同步窗口時(shí)間:索引1007h約束了同步幀發(fā)送后,從節(jié)點(diǎn)發(fā)送PDO的時(shí)效,即在這個(gè)時(shí)間內(nèi)發(fā)送的PDO才有效,超過(guò)時(shí)間的PDO將被丟棄;
通訊循環(huán)周期:索引1006h規(guī)定了同步幀的循環(huán)周期。
時(shí)間戳協(xié)議(Time-stamp protocol)
時(shí)間標(biāo)記對(duì)象(Time Stamp),NMT主機(jī)發(fā)送自身的時(shí)鐘,為網(wǎng)絡(luò)各個(gè)節(jié)點(diǎn)提供公共的時(shí)間參考,即網(wǎng)絡(luò)對(duì)時(shí),如圖3所示。這在故障診斷中非常需要,比如列車(chē)中火災(zāi)報(bào)警,檢修人員需要準(zhǔn)確獲知報(bào)警的時(shí)刻,然后關(guān)聯(lián)查看其它設(shè)備在這個(gè)時(shí)刻的工作狀態(tài)。

時(shí)間戳協(xié)議采用廣播方式,無(wú)需節(jié)點(diǎn)應(yīng)答,CAN-ID為100h,數(shù)據(jù)長(zhǎng)度為6,數(shù)據(jù)為當(dāng)前時(shí)刻與1984年1月1日0時(shí)的時(shí)間差。如圖 4所示。節(jié)點(diǎn)將此時(shí)間存儲(chǔ)在對(duì)象字典1012h的索引中。
