CANopen是一種架構(gòu)在控制局域網(wǎng)絡(luò)(CAN總線)上的高層通信協(xié)議,包括通信子協(xié)議及設(shè)備子協(xié)議,常在嵌入式系統(tǒng)中使用,也是工業(yè)控制常用到的一種工業(yè)現(xiàn)場總線。
CANopen的發(fā)展可以追溯到20世紀80年代。當(dāng)時德國BOSCH公司開發(fā)的CAN總線由于其可靠性和通信性能比較突出,在汽車和工業(yè)領(lǐng)域中得到認可并廣泛應(yīng)用。CAN總線使用雙絞線來傳輸信號,其多主結(jié)構(gòu)使得網(wǎng)絡(luò)中的各節(jié)點都可以根據(jù)總線訪問優(yōu)先權(quán)競爭向總線發(fā)送數(shù)據(jù),同時也具有無損位仲裁機制和檢錯能力。在CAN總線協(xié)議的基礎(chǔ)上,首先出現(xiàn)了一些針對特定應(yīng)用領(lǐng)域的通信協(xié)議,但它們之間缺乏標準化。針對這一問題,一些公司和組織開始探討和推動制定一種開放、標準化的高層通信協(xié)議,這就是CANopen的初期。
在1992年,CAN in Automation(CiA)組織成立,致力于推動CANopen協(xié)議的發(fā)展和標準化。CiA組織由一些汽車和工業(yè)領(lǐng)域的公司共同組成,旨在促使CANopen在多個領(lǐng)域的廣泛應(yīng)用。CANopen的第一個國際標準ISO 11898-2在1994年發(fā)布,為CANopen協(xié)議的標準化奠定了基礎(chǔ)。ISO 11898-2定義了CAN總線的物理層和數(shù)據(jù)鏈路層,而CANopen則構(gòu)建在這一標準之上。隨著CANopen標準的建立,該協(xié)議在工業(yè)自動化、汽車電子等領(lǐng)域得到了廣泛應(yīng)用。各類設(shè)備制造商開始采用CANopen協(xié)議,實現(xiàn)設(shè)備之間的互聯(lián),從而提高系統(tǒng)的可擴展性和互操作性。
CiA組織繼續(xù)制定更多的CANopen標準,其中最重要的是CiA DS(Device Specification)和DS301/DS302標準。DS301定義了CANopen協(xié)議的基本特性,而DS302定義了CANopen設(shè)備的特定要求。在2010年代,CANopen開始在醫(yī)療設(shè)備領(lǐng)域得到廣泛應(yīng)用,尤其是在醫(yī)療設(shè)備之間的聯(lián)網(wǎng)和協(xié)同工作方面,實現(xiàn)連接醫(yī)療設(shè)備內(nèi)部的各種控制單元,例如監(jiān)護儀、呼吸機、輸液泵等。這種網(wǎng)絡(luò)連接允許這些設(shè)備協(xié)同工作,共享數(shù)據(jù),并能夠?qū)崟r響應(yīng)患者的需求。如億佰特ECAN-S01 CAN轉(zhuǎn)串口協(xié)議轉(zhuǎn)換器
對象字典(Object Dictionary):這是CANopen節(jié)點中的一個關(guān)鍵組件,它是一個數(shù)據(jù)表,包含了節(jié)點所有可配置的參數(shù)和變量。它類似于設(shè)備的“身份證”,詳細列出了設(shè)備的所有功能和特性。每個對象都由一個16位的索引和一個8位的子索引唯一標識。對象字典不僅包含了設(shè)備的配置參數(shù),還包含了設(shè)備的實時數(shù)據(jù)和錯誤歷史記錄等。通過對象字典,系統(tǒng)集成者可以了解設(shè)備的所有細節(jié),并對其進行適當(dāng)配置。
通信對象(Communication Objects):這些對象用于在網(wǎng)絡(luò)上傳輸數(shù)據(jù)。它們包括過程數(shù)據(jù)對象(PDO)和服務(wù)數(shù)據(jù)對象(SDO)。
過程數(shù)據(jù)對象(PDO):用于實時數(shù)據(jù)交換,支持快速和高效的通信。是CANopen中最快的通信機制,用于實時控制。它們可以被配置為在特定的事件發(fā)生時自動發(fā)送,例如定時器溢出、外部事件或內(nèi)部狀態(tài)的改變。這種機制確保了數(shù)據(jù)在關(guān)鍵時刻的及時更新。
服務(wù)數(shù)據(jù)對象(SDO):用于傳輸非實時數(shù)據(jù),如配置參數(shù)或診斷信息。提供了一種更為復(fù)雜的通信機制,允許進行點對點的數(shù)據(jù)傳輸。SDOs通常用于傳輸那些不需要實時更新的數(shù)據(jù),比如設(shè)備的配置參數(shù)。SDO傳輸可以是阻塞式的,即在SDO傳輸完成之前,其他的SDO傳輸不能進行。
節(jié)點狀態(tài)機(Node State Machine):定義了節(jié)點的不同狀態(tài)及其之間的轉(zhuǎn)換,例如初始化、停止、操作等狀態(tài)。
心跳和節(jié)點監(jiān)控(Heartbeat and Node Guarding):這些機制用于監(jiān)控網(wǎng)絡(luò)上節(jié)點的狀態(tài)和健康情況。是一種錯誤控制機制,用于監(jiān)控節(jié)點的狀態(tài)。每個節(jié)點定期發(fā)送心跳消息,表明它處于正常工作狀態(tài)。如果在預(yù)定的時間內(nèi)沒有收到某個節(jié)點的心跳,系統(tǒng)就會認為該節(jié)點出現(xiàn)了故障。
在實際應(yīng)用中,設(shè)備配置是一個重要的步驟。系統(tǒng)集成者需要根據(jù)應(yīng)用的具體需求來配置每個節(jié)點的對象字典。這通常涉及到設(shè)置PDO映射、通信參數(shù)和各種定時器。同時,網(wǎng)絡(luò)的規(guī)劃需要考慮網(wǎng)絡(luò)的拓撲結(jié)構(gòu)、電纜長度以及節(jié)點的分布。此外,還需要考慮總線的終端電阻,以確保信號的完整性。每個節(jié)點都有一個唯一的節(jié)點ID。節(jié)點ID的分配必須確保沒有沖突,并且在網(wǎng)絡(luò)啟動時,所有節(jié)點都能夠正確地加入到網(wǎng)絡(luò)中。每個節(jié)點都能夠報告其錯誤狀態(tài),并且可以通過SDO或特殊的錯誤控制對象來獲取更多的故障信息。系統(tǒng)需要能夠響應(yīng)這些錯誤,并采取適當(dāng)?shù)幕謴?fù)措施。
ECAN-401S can轉(zhuǎn)串口智能協(xié)議轉(zhuǎn)換器
可以看到,CANopen不僅僅是一個數(shù)據(jù)傳輸協(xié)議,CANopen總線還提供了一套完整的機制來管理和監(jiān)控整個網(wǎng)絡(luò)。隨著技術(shù)的不斷進步,CANopen也在不斷地演進,適應(yīng)新的應(yīng)用場景和要求。無論是在傳統(tǒng)的工業(yè)自動化領(lǐng)域,還是在日益增長的智能設(shè)備和物聯(lián)網(wǎng)應(yīng)用中,CANopen都將繼續(xù)發(fā)揮其重要的作用。
今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動化的發(fā)展,提升資源利用率,更多產(chǎn)品更多資料,感興趣的小伙伴可以登錄我們的億佰特官網(wǎng)和企業(yè)公眾號(微信號:cdebyte)進行了解,也可以直接撥打400電話咨詢技術(shù)專員!
7 X 24 銷售服務(wù)熱線
4000-330-990深圳辦事處柯經(jīng)理:18218726658 杭州辦事處戴經(jīng)理:17512568697
常州辦事處崔經(jīng)理:15906110783 南京辦事處葛經(jīng)理:17626012283
業(yè)務(wù)郵箱:support@cdebyte.com
全國銷售投訴電話:19934352316
地址:四川省成都市高新西區(qū)西區(qū)大道199號B5棟(前臺座機:028-61543675)
?? 成都億佰特電子科技有限公司【版權(quán)所有】 蜀ICP備13019384號-3