CANopen模塊的服務(wù)數(shù)據(jù)對(duì)象SDO協(xié)議是什么?

CANOPEN的SDO協(xié)議用于設(shè)置和從遠(yuǎn)程設(shè)備的對(duì)象字典中讀取值。訪問對(duì)象字典的設(shè)備是SDO服務(wù)器,訪問遠(yuǎn)程設(shè)備的設(shè)備是SDO客戶端。通訊始終由SDO客戶端啟動(dòng)。下面由CANOPEN模塊廠家無錫凌科自動(dòng)化為大家介紹一下服務(wù)數(shù)據(jù)對(duì)象SDO協(xié)議。

在CANopen術(shù)語中,從SDO服務(wù)器查看通信,以便從對(duì)象字典中進(jìn)行讀取會(huì)導(dǎo)致SDO上傳,而對(duì)字典條目的寫入即是SDO下載。

因?yàn)閷?duì)象字典值可以大于CAN幀的八個(gè)字節(jié)限制,所以SDO協(xié)議實(shí)現(xiàn)了對(duì)較長(zhǎng)消息的分段和反分段。實(shí)際上,有兩種協(xié)議:SDO下載/上傳和SDO塊下載/上傳。SDO塊傳輸是標(biāo)準(zhǔn)的更新版本,它允許以較少的協(xié)議開銷傳輸大量數(shù)據(jù)。

可以在對(duì)象字典中設(shè)置從客戶端到服務(wù)器以及從服務(wù)器到客戶端的各個(gè)SDO傳輸消息的COB-ID。在對(duì)象字典中可以在地址0x1200-0x127F上最多設(shè)置128個(gè)SDO服務(wù)器。同樣,可以使用變量0x1280-0x12FF來配置設(shè)備的SDO客戶端連接。但是,預(yù)定義的連接集定義了一個(gè)SDO通道,即使在啟動(dòng)后(處于預(yù)操作狀態(tài))也可以使用該SDO通道來配置設(shè)備。該通道的COB-ID為0x600 +用于接收的節(jié)點(diǎn)ID和0x580 +用于發(fā)送的節(jié)點(diǎn)ID。

CANopen模塊的服務(wù)數(shù)據(jù)對(duì)象SDO協(xié)議是什么?

要啟動(dòng)下載,SDO客戶端會(huì)在CAN消息中使用SDO通道的“接收” COB-ID發(fā)送以下數(shù)據(jù)。

字節(jié)1

字節(jié)2-3

字節(jié)4

字節(jié)5-8

3位元

1位元

2位元

1位元

1位元

2字節(jié)

1個(gè)字節(jié)

4字節(jié)

ccs = 1

保留(= 0)

n

e

s

索引

子索引

數(shù)據(jù)

ccs是SDO傳輸?shù)目蛻舳嗣钫f明符,對(duì)于SDO段下載為0,對(duì)于SDO段下載為1,對(duì)于啟動(dòng)下載為2,對(duì)于啟動(dòng)SDO段上傳,為3為SDO段上傳,4為中止SDO傳輸,5為SDO塊上傳,6 SDO塊下載

n是消息的數(shù)據(jù)部分中不包含數(shù)據(jù)的字節(jié)數(shù),僅當(dāng)設(shè)置了e和s時(shí)有效

e(如果已設(shè)置)表示加急傳輸,即,所有交換的數(shù)據(jù)都包含在消息中。如果清除此位元,則消息是分段傳輸,其中數(shù)據(jù)不適合一條消息,而使用多條消息。

s(如果已設(shè)置)表示在n(如果已設(shè)置e)或消息的數(shù)據(jù)部分中指定了數(shù)據(jù)大小

index是要訪問的數(shù)據(jù)的對(duì)象字典索引

subindex是對(duì)象字典變量的子索引

數(shù)據(jù)包含在快速傳輸(設(shè)置為e)的情況下要上傳的數(shù)據(jù),或要上傳的數(shù)據(jù)的大小(設(shè)置為s,未設(shè)置e)

以上便是CANopen模塊的SDO協(xié)議的介紹,了解更多關(guān)于CANOPEN模塊、DEVICENET模塊作用等等現(xiàn)場(chǎng)總線知識(shí),歡迎大家前往CANOPEN主站模塊廠家無錫凌科自動(dòng)化公司。

 


返回列表