CANopen是基於控制器局域網(CAN)的高層通信協議,包括通信子協議和設備子協議。CANopen常用於嵌入式系統,也是工業控制中常用的現場總線。
CANopen是基於控制器局域網(CAN)的高層通信協議,包括通信子協議和設備子協議。CANopen常用於嵌入式系統,也是工業控制中常用的現場總線。
CANopen實現了OSI模型中網絡層(包括網絡層)之上的協議。CANopen標準包括尋址方案、幾個小型通信協議和由設備協議定義的應用層。CANopen支持網絡管理、設備監控和節點之間的通信,包括壹個簡單的傳輸層,可以處理數據的分段傳輸和組合。壹般來說,數據鏈路層和物理層都會用CAN來實現。除了CANopen,還有其他的通信協議(比如EtherCAT)實現了CANopen的設備子協議。
CANopen由非營利組織CiA(自動化中的CAN)起草和審查,基本的CANopen設備和通信子協議在自動化中的CAN(CiA)草案標準301中定義。針對單個設備的子協議是在CiA 301的基礎上擴展的。例如用於I/O模塊的CiA401和用於運動控制的CiA402。
設備型號
所有CANopen設備都需要以下功能:
通信單元處理與網絡上其他模塊通信所需的通信協議。設備的啟動和復位由狀態機控制。狀態機應該包括以下狀態:初始化、預運行、運行和停止。當接收到網絡管理(NMT)的通信對象時,狀態將變為相應的狀態。對象字典是壹個16位索引的變量數組。每個變量可以(但不是必須)有壹個8位的子索引。變量可以用於調整設備的配置,也可以對應於設備的測量數據或輸出。當狀態機被設置為可操作時,設備的應用部分將實現設備的預期功能。這部分可以通過對象字典中的變量進行調整,數據由通信層發送或接收。