CAN和CANopen的關(guān)系
CAN最初是由德國的BOSCH公司為汽車控制系統(tǒng)而設(shè)計,并在1993年成為國際標(biāo)準(zhǔn)。之后因其所具有的高可靠性和良好的錯誤檢測能力受到重視,現(xiàn)在已經(jīng)擴(kuò)展到醫(yī)療、交通、運(yùn)動控制、工業(yè)自動化多個領(lǐng)域。
本文引用地址:http://www.ex-cimer.com/article/201612/330647.htmCANopen是CAN應(yīng)用層。它是在1995年由歐洲的CIA協(xié)會推出第一個標(biāo)準(zhǔn)版本,其后五年在應(yīng)用中不斷完善,現(xiàn)在使用的主要是1999修訂的標(biāo)準(zhǔn)。
2.為什么需要CANopen
由于CAN在定義之初并未定義標(biāo)準(zhǔn)的應(yīng)用層,導(dǎo)致在實(shí)際應(yīng)用中各個廠家對應(yīng)用層的定義各不相同,這導(dǎo)致同樣的CAN報文卻因應(yīng)用層對其解釋的不同而產(chǎn)生了不同的功能含義,使其不能相互直接通信,阻礙了CAN網(wǎng)絡(luò)設(shè)備在不同廠商品牌之間的兼容性。為此歐洲專門成立了CIA協(xié)會,負(fù)責(zé)CANopen應(yīng)用層的推廣。另外,CANopen專門針對有同步、實(shí)時控制要求的設(shè)備開發(fā)了PDO報文,大大提高了報文發(fā)送的效率。相對于devicenet(CAN的另一個應(yīng)用層標(biāo)準(zhǔn)),CANopen報文更為簡潔和開放,因此CANopen更值得推廣。
其實(shí),將報文格式及其實(shí)現(xiàn)方式(通信層)標(biāo)準(zhǔn)化還不夠,還需要將報文參數(shù)和設(shè)備的功能參數(shù)的對應(yīng)關(guān)系統(tǒng)一起來,以變頻器為例,設(shè)定頻率的參數(shù)對應(yīng)報文中的哪個參數(shù)如果不統(tǒng)一,用戶使用時仍會因各個廠家對此定義的不同而限制于某個廠家的設(shè)備。為此CIA專門針對各類設(shè)備也定義了該類設(shè)備的標(biāo)準(zhǔn),例如編碼器有CIA 406標(biāo)準(zhǔn),各個IO模塊有CIA 401標(biāo)準(zhǔn),運(yùn)控方面的驅(qū)動設(shè)備有CIA 402標(biāo)準(zhǔn)。這樣,只要用戶購買的設(shè)備遵從這些標(biāo)準(zhǔn),那么就無需擔(dān)心該設(shè)備是否和其他廠商設(shè)備的兼容或相互通信的問題,也就是說,同樣的報文指令可以在不同廠商的設(shè)備中實(shí)現(xiàn)相同的功能,真正做到了與廠商無關(guān)。這也是CANopen有更大潛力的主要原因。
3.使用CAN卡或USB-CAN可以收發(fā)CANopen報文嗎
正如可以用第三方電報機(jī)接收他人發(fā)送的電報一樣,用普通的CAN接口板卡(PCAN-PCI等)或USB-CAN(PCAN-USB/CANUSB/CAN232)可以正常接收各類CANopen報文,但其具體含義就需要你了解CANopen報文的格式規(guī)范才能將其看懂了,類似戰(zhàn)爭中接收電報用的密碼本。同樣,用戶也完全可以將CANopen報文按其規(guī)范寫好后發(fā)給其他標(biāo)準(zhǔn)的CANopen設(shè)備。另外,由于PDO報文需要預(yù)先對接收和發(fā)送雙方配置,所以CAN接口的設(shè)備不能直接發(fā)送PDO報文。如果需要解析和發(fā)送CANopen的報文,需要借助PCANopen Magic或者CANreport等分析軟件,包括快速導(dǎo)入設(shè)備的EDS文件并作修改等。
4.使用支持CANopen解析的軟件能否偵測到發(fā)送CAN報文的節(jié)點(diǎn)信息
由于有些CANopen軟件不能識別CAN報文代表的含義,因此也不能識別該只支持CAN協(xié)議的節(jié)點(diǎn)。(注:它只能識別移植了標(biāo)準(zhǔn)CANopen協(xié)議的節(jié)點(diǎn),而應(yīng)用層無CANopen協(xié)議的CAN節(jié)點(diǎn)往往不能被識別)。而且CAN報文協(xié)議沒有一個統(tǒng)一標(biāo)準(zhǔn),各個設(shè)備廠家都可以定義自己的CAN協(xié)議。這樣同一設(shè)備廠商的所有設(shè)備都可以互相識別和通訊,但一旦某個設(shè)備出故障需要檢測或替換時便限制于該廠家,因?yàn)樵揅AN報文的含義是他自己定義的,用戶即使能用USB-CAN捕捉到該報文,但需要費(fèi)很大功夫和時間才能分析出各條報文的功能,而如果是標(biāo)準(zhǔn)的CANopen報文,則無需擔(dān)心這些問題,這也是CANopen近年來迅速發(fā)展的原因。
5.在CAN基礎(chǔ)上加入CANopen是否增加了報文的收發(fā)時間
這一點(diǎn)是不用擔(dān)心的。CANopen代碼通常是由經(jīng)驗(yàn)豐富的廠商專門編寫,且經(jīng)過CIA和實(shí)踐的驗(yàn)證,CANopen專門開發(fā)的PDO功能用于運(yùn)動控制的多軸同步控制及其他實(shí)時性要求高的場合也證明了他并沒有影響報文執(zhí)行的實(shí)時性。另外,相對于分散的廠商各自編寫的應(yīng)用層(對CAN報文的格式及含義賦予自己習(xí)慣的功能),CANopen不僅功能全面(覆蓋設(shè)備狀態(tài)檢測、錯誤報告、網(wǎng)絡(luò)管理報文),且各類報文的實(shí)現(xiàn)方式是歐洲多方共同研究的結(jié)果,報文的實(shí)現(xiàn)效率更高。
評論