<< 点击显示目录 >> 主页 贝加莱CANopen通信使用助手 > 基础知识 > 通讯原理 |
CANopen是一种架构在控制局域网路(Controller Area Network, CAN)上的高层通讯协定,包括通讯子协定及设备子协定常在嵌入式系统中使用,也是工业控制常用到的一种现场总线。CANopen协议是CAN-in-Automation(CiA)定义的标准之一, 并且在发布后不久就获得了广泛的承认。尤其是在欧洲,CANopen 协议被认为是在基于CAN的工业系统中占领导地位的标准。大多数重要的设备类型,例如数字和模拟的输入输出模块、驱动设备、操作设备、控制器、可编程控制器或编码器,都在称为“设备描述”的协议中进行描述;“设备描述”定义了不同类型的标准设备及其相应的功能。依靠CANopen协议的支持,可以对不同厂商的设备通过总线进行配置。CANopen的核心概念是设备对象字典(OD:Object Dictionary),在其它现场总线(Profibus,Interbus-S)系统中也使用这种设备描述形式。
CANopen设备间的通讯可分为以下三种通讯方式。Master/Slave模式,一个CANopen设备为Master,负责传送或接收其他设备(称为Slave)的数据。NMT 协定就使用了 Master/Slave方式。 客户机/服务器(Client/Server)方式定义在SDO协定中,SDO Client将对象字典的索引及子索引传送给SDO Server,因此会产生一个或数个需求数据(对象字典中,索引及子索引对应的内容)的SDO封包。 生产者/消费者(Producer/Consumer)方式用在Heartbeat and Node Guarding协定。由一个生产者送出数据给消息者,同一个生产者的数据可能给一个以上的消息者。
CANopen协议不针对某种特别的应用对象,具有较高的配置灵活性,高数据传输能力,较低的实现复杂度。同时,CANopen完全基于CAN标准报文格式,而无需扩展报文的支持,最多支持127个节点,并且协议开源。一个标准的CANopen节点,在数据链路层之上,添加了应用层。该应用层一般由软件实现,和控制算法共同运行在实时处理单元内
网络拓扑结构如下: