|
一、CAN和CANopen简介
CAN总线全称为Controller Area Network即控制器局域网是国际上应用最广泛的现场总线之一,已经在汽车制造、机械制造、包装机械、烟草等行业得到了广泛的应用。CAN总线是德国 BOSCH公司从80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维。通信速率可达1MBPS。CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。
CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,因此可以定义211或229个不同的数据块,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8个字节
不会占用总线时间过长,从而保证了通信的实时性。CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。CAN卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界的重视,并已公认为最有前途的现场总线之一。 另外,CAN总线采用了多主竞争式总线结构,具有多主站运行和分散仲裁的串行总线以及广播通信的特点。CAN总线上任意节点可在任意时刻主动地向网络上其它节点发送信息而不分主次,因此可在各节点之间实现自由通信。CAN总线协议已被国际标准化组织认证,技术比较成熟,控制的芯片已经商品化,性价比高,特别适用于分布式测控系统之间的数通讯。CAN总线插卡可以任意插在PC、AT、XT兼容机上,方便地构成分布式监控系统。
而CANopen是基于CAN总线的应用层协议,在开放的现场总线标准中CANopen是最著名和成功的一种,已经在欧洲和美国获得广泛的认可和大量应用。1992年在德国成立了“自动化CAN用户和制造商协会”(CiA,CANinAutomation),开始着手制定自动化CAN的应用层协议CANopen。此后,协会成员开发出一系列CANopen产品,在机械制造、铁路、车辆、船舶、制药、食品加工等领域获得大量应用。目前 CANopen协议已经成为了一种新的工业现场总线标准EN-50325-4。CANopen协议是CAN-in-Automation(CiA)定义的标准之一,在欧洲,CANopen协议被认为是在基于CAN的工业系统中占领导地位的标准。大多数重要的设备类型,例如数字和模拟的输入输出模块、驱动设备、操作设备、控制器、可编程控制器或编码器,都在称为“设备描述”的协议中进行描述;“设备描述”定义了不同类型的标准设备及其相应的功能。依靠 CANopen协议的支持,可以对不同厂商的设备通过总线进行配置。
二、CANopen的基本知识
EDS文件
EDS (Electronic Data Sheet)
EDS文件描述了CAN网络上设备通信属性(波特率、输出类型、I/O提供…)。它由设备制造商提供,用于在配置工具中配置节点(就像Windows里的设备驱动程序)。
PDO
PDO (过程数据对象)
CANopen帧包含I/O数据
区分在:
1、传送PDO:TXPDO 带有节点提供给其他节点的数据
2、接收PDO:RXPDO 节点消耗的数据
传送的方向从节点的观点看总是可见的。PDO没有必要包含所有节点映象。通常模拟量和数字量被分成不同的PDO进行传送。对输出也是同样如此!
SDO
SDO (服务数据对象)
CANopen帧包含参数
SDO主要用于在程序运行时,从设备读参数或者向设备写参数
COB-ID
COB-ID(通讯对象标识符)
每个CAN帧以一个COB-ID开头,COB-ID作为CAN帧的标识符。
在配置阶段,每个节点在接收COB-ID时,对帧来说,他是提供者或者消费者。
三、关于CANopen
介绍
CANopen是一个标准的工业控制系统现场总线协议。它特别适合实时控制的PLC ,因为它为集成的和可传输的工业应用提供了一个高效、低成本的解决方案。
CANopen协议
CANopen协议是建立在CAL协议基础上的一个子协议。通过定义设备规范,它甚至更加适合于标准工业组件。
|
|