一分钟入门 | CAN总线应用
发布时间:2017-07-21 16:20:16
  




随着工业4.0进程的加快,工业控制领域对运动控制提出更高的要求,CAN总线产品由于具有高性能、高可靠性以及独特的设计,越来越受到人们的重视。本文从CAN与CANopen协议CAN报文CANopen通信CAN总线驱动器应用等方面简单介绍CAN应用情况。

 

 
 
 
 

一、CAN与CANopen协议

 

 
 
 
 

 

CAN是Controller Area Network的缩写,即“局域网控制器”是德国BOSCH公司于1983年为汽车应用而开发的,一种能有效支持分布式控制和实时控制的串行通讯网络,属于现场总线的范畴。通常称为CAN BUS,即CAN总线。

从IOS模型上来看,CAN总线仅仅定义了第一层(物理层),第二层(数据链路层),没有规定应用层,本身并不完整,需要一个高层的协议来规定CAN报文中11/29位标识符以及8字节数据的使用,CANopen就是以CAN 为基础的上层协议。如图1-1所示

图1-1

 

 
 
 
 

二、CAN报文

 
 
 
 

 

CAN总线中报文是通过数据帧的形式进行传输,CAN报文分为两个标准即CAN2.0A标准帧CAN2.0B扩展帧,两个标准最大的区别在CAN2.0A只有11位标识符,CAN2.0B具有29 位标识符,一般使用CAN2.0A标准帧格式;从CAN报文帧中取出11位标识符和数据域组成Canopen报文结构。如图1-2所示

如图1-2

 

其中COB-ID:(Communication Object Identifier)即 CANopen中对某种通讯对象的报文帧ID,即CAN报文的11位ID,代表了一种通讯含义,其包含一个4位的功能码部分和一个7位的节点 ID(Node-ID)部分,具体格式如下表1-1所示:

表1-1

 

在CAN总线的实际应用过程中CANopen报文是用来分析CAN总线数据的重要手段,一般会借助CAN分析仪工具来抓取报文:

CAN分析仪下CANopen报文如下表1-2所示:

表1-2

 

 
 
 
 

三、CANopen通信

 
 
 
 

 

CANopen设备间通讯相对来说是一个比较抽象的概念,依据其原理可以简化为以下模型1-1:

模型1-1

 

 

 

 

核心部分

 

对象字典——通讯部分和应用部分沟通的桥梁 。

关键部分

 

通讯部分——通信规则(SDO、PDO、NMT等)与CAN控制器交互枢纽 。

重点部分

 

应用部分——决定了设备具体作用,如CIA402。

重点概念理解

1

 

PDO(Process data object))过程数据对象

PDO 用来传输 8 字节或更少数据,主要用来配置从站控制字、控制量参数以及实时性要求较高的数据。

2

 

SDO(Service data object)服务数据对象

SDO 用来在设备之间传输低优先级数据。如配置运动参数、通信等变化不是非常快的数据对象。

3

 

对象字典以及EDS文件

对象字典(OD):对象字典就是从站所拥有的参数集,用来描述CANopen设备的全部功能参数。

EDS文件:(Electronic Data Sheet) 电子数据表格,是对一台从站属性、对象字典描述的文件,主要给主站提供从站的相关信息,保障信息交互正确

 

 
 
 
 

四、CAN总线驱动器的应用

 
 
 
 

 

对于CAN总线驱动器的应用,需要从驱动器和主站两个方面进行配置。下面分别从驱动器、主站两个方面进行CAN总线应用介绍。

一 

   驱动器部分

 

1

 

物理组网

雷赛PMC316E控制器与雷赛L6-CAN、DM556-CAN驱动器组网如图1-3所示:

 图1-3

CAN总线物理接口为RJ45端口,控制器驱动器之间连接采用普通双绞网线(实际使用建议使用带屏蔽的双绞网线)。需要注意的是必须在总线的两端各自连接120Ω的终端电阻,以避免出现信号反射,从而增强CAN总线通讯的可靠性。

2

 

驱动器节点号设置

在CAN总线上每一个从站设备都是一个节点,CAN总线最大支持127个节点,为保证总线上从站设备能被正确识别,需要设置正确配置节点号,其范围是1~127。

雷赛CAN步进驱动器节点ID采用侧面拨码的形式,L6_CAN交流伺服驱动器的节点ID通过参数0.23来设置。

3

 

驱动器波特率设置

CAN总线通信的波特率为20kbps~1Mbps,可根据应用需要来设置不同的波特率;在使用时需要注意波特率与通讯距离的关系。总线通信速率越高,通信距离越短。

波特率与通讯距离的关系表如下表1-3所示:

表1-3

雷赛CAN步进驱动器波特率通过侧面拨码的选择,L6_CAN交流伺服驱动器的波特率则使用参数0.24设置。

 

   主站控制器的操作步骤

 

1

 

添加CAN主站

 

02

 

添加CAN从站

主站通过导入从站EDS文件,来识别从站设备

3

 

主站波特率的设置

主站波特率需跟从站波特率一致

4

 

从站节点配置

从站节点需跟驱动器设置的节点一致

5

 

主站相关通信参数的配置

根据运动模式,进行通信参数PDO和SDO的配置

6

 

运动程序的编写

根据实际运动情况,调用运动模块,编写应用程序 

评论