新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > CAN和CANopen的關(guān)系

CAN和CANopen的關(guān)系

作者: 時間:2016-12-16 來源:網(wǎng)絡(luò) 收藏
1.二者的歷史淵源

CAN最初是由德國的BOSCH公司為汽車控制系統(tǒng)而設(shè)計,并在1993年成為國際標準。之后因其所具有的高可靠性和良好的錯誤檢測能力受到重視,現(xiàn)在已經(jīng)擴展到醫(yī)療、交通、運動控制、工業(yè)自動化多個領(lǐng)域。

本文引用地址:http://butianyuan.cn/article/201612/330647.htm

CANopen是CAN應(yīng)用層。它是在1995年由歐洲的CIA協(xié)會推出第一個標準版本,其后五年在應(yīng)用中不斷完善,現(xiàn)在使用的主要是1999修訂的標準。

2.為什么需要CANopen

由于CAN在定義之初并未定義標準的應(yīng)用層,導致在實際應(yīng)用中各個廠家對應(yīng)用層的定義各不相同,這導致同樣的CAN報文卻因應(yīng)用層對其解釋的不同而產(chǎn)生了不同的功能含義,使其不能相互直接通信,阻礙了CAN網(wǎng)絡(luò)設(shè)備在不同廠商品牌之間的兼容性。為此歐洲專門成立了CIA協(xié)會,負責CANopen應(yīng)用層的推廣。另外,CANopen專門針對有同步、實時控制要求的設(shè)備開發(fā)了PDO報文,大大提高了報文發(fā)送的效率。相對于devicenet(CAN的另一個應(yīng)用層標準),CANopen報文更為簡潔和開放,因此CANopen更值得推廣。

其實,將報文格式及其實現(xiàn)方式(通信層)標準化還不夠,還需要將報文參數(shù)和設(shè)備的功能參數(shù)的對應(yīng)關(guān)系統(tǒng)一起來,以變頻器為例,設(shè)定頻率的參數(shù)對應(yīng)報文中的哪個參數(shù)如果不統(tǒng)一,用戶使用時仍會因各個廠家對此定義的不同而限制于某個廠家的設(shè)備。為此CIA專門針對各類設(shè)備也定義了該類設(shè)備的標準,例如編碼器有CIA 406標準,各個IO模塊有CIA 401標準,運控方面的驅(qū)動設(shè)備有CIA 402標準。這樣,只要用戶購買的設(shè)備遵從這些標準,那么就無需擔心該設(shè)備是否和其他廠商設(shè)備的兼容或相互通信的問題,也就是說,同樣的報文指令可以在不同廠商的設(shè)備中實現(xiàn)相同的功能,真正做到了與廠商無關(guān)。這也是CANopen有更大潛力的主要原因。

3.使用CAN卡或USB-CAN可以收發(fā)CANopen報文嗎

正如可以用第三方電報機接收他人發(fā)送的電報一樣,用普通的CAN接口板卡(PCAN-PCI等)或USB-CAN(PCAN-USB/CANUSB/CAN232)可以正常接收各類CANopen報文,但其具體含義就需要你了解CANopen報文的格式規(guī)范才能將其看懂了,類似戰(zhàn)爭中接收電報用的密碼本。同樣,用戶也完全可以將CANopen報文按其規(guī)范寫好后發(fā)給其他標準的CANopen設(shè)備。另外,由于PDO報文需要預先對接收和發(fā)送雙方配置,所以CAN接口的設(shè)備不能直接發(fā)送PDO報文。如果需要解析和發(fā)送CANopen的報文,需要借助PCANopen Magic或者CANreport等分析軟件,包括快速導入設(shè)備的EDS文件并作修改等。

4.使用支持CANopen解析的軟件能否偵測到發(fā)送CAN報文的節(jié)點信息

由于有些CANopen軟件不能識別CAN報文代表的含義,因此也不能識別該只支持CAN協(xié)議的節(jié)點。(注:它只能識別移植了標準CANopen協(xié)議的節(jié)點,而應(yīng)用層無CANopen協(xié)議的CAN節(jié)點往往不能被識別)。而且CAN報文協(xié)議沒有一個統(tǒng)一標準,各個設(shè)備廠家都可以定義自己的CAN協(xié)議。這樣同一設(shè)備廠商的所有設(shè)備都可以互相識別和通訊,但一旦某個設(shè)備出故障需要檢測或替換時便限制于該廠家,因為該CAN報文的含義是他自己定義的,用戶即使能用USB-CAN捕捉到該報文,但需要費很大功夫和時間才能分析出各條報文的功能,而如果是標準的CANopen報文,則無需擔心這些問題,這也是CANopen近年來迅速發(fā)展的原因。

5.在CAN基礎(chǔ)上加入CANopen是否增加了報文的收發(fā)時間

這一點是不用擔心的。CANopen代碼通常是由經(jīng)驗豐富的廠商專門編寫,且經(jīng)過CIA和實踐的驗證,CANopen專門開發(fā)的PDO功能用于運動控制的多軸同步控制及其他實時性要求高的場合也證明了他并沒有影響報文執(zhí)行的實時性。另外,相對于分散的廠商各自編寫的應(yīng)用層(對CAN報文的格式及含義賦予自己習慣的功能),CANopen不僅功能全面(覆蓋設(shè)備狀態(tài)檢測、錯誤報告、網(wǎng)絡(luò)管理報文),且各類報文的實現(xiàn)方式是歐洲多方共同研究的結(jié)果,報文的實現(xiàn)效率更高。



關(guān)鍵詞: CANCANope

評論


技術(shù)專區(qū)

關(guān)閉