工业网络技术(微课版)课件 项目4 CANopen总线应用.pptx
CAN总线与CANopen概述
案例引入CANopen是一种开放式的现场总线标准,广泛应用于工业自动化、运动控制、汽车电子等领域。它提供了一种可靠、高效的通信方式,使得不同的设备之间可以协调工作,实现复杂的系统控制。在工业自动化领域,CANopen总线用于控制工业机器人、运动控制器、传感器和执行器等设备,可以实现设备之间的高速、实时通信,提高生产效率和系统稳定性。
职业能力目标能够通过CANopen协议建立信捷PLC与伺服之间的通信,使PLC可读写伺服数据;能够独立设计PLC程序,利用先前CANOpen协议搭建的通信连接,完成对伺服电机的控制。
学习目标熟悉CAN总线的基本概念,包括CAN总线工作原理、标准CAN和扩展CAN,理解CAN与CANopen之间的关系;熟悉CANopen基本概念,主要掌握对象字典(OD)、服务数据对象(SDO)、过程数据对象(PDO);理解速度控制模式与运动控制模式之间的区别。
CAN总线CANopen基本概念CAN总线与CANopen概述
CAN总线CAN(ControllerAreaNetwork)总线是德国BOSCH公司于1983年为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,通信介质可以是双绞线、同轴电缆或光导纤维。通信速率可达1MBPS。CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。CAN的信息传输通过报文进行,报文帧有4种类型:数据帧、远程帧、出错帧和超载帧。
CAN总线CAN总线工作原理标准CAN和扩展CANCAN与CANopen关系01
CAN总线CAN总线上的数据位采用具有两种互补的逻辑值,即显性(Dominant)和隐性(Recessive)。显性电平在逻辑层面表现为0,隐性电平在逻辑层面表现为1,即显性电平用逻辑“0”表示,隐性电平用逻辑“1”表示。CAN使用差分电压传送(CAN_H、CAN_L),Vdiff=CAN_H-CAN_L。CAN总线为“隐性”(逻辑1)时,CAN_H和CAN_L的电平为2.5V(电位差Vdiff为0V);CAN总线为“显性”(逻辑0)时,CAN_H和CAN_L的电平分别是3.5V和1.5V(电位差Vdiff为2.0V左右)。
CAN总线工作原理CAN总线上总线协议支持多主控制器。CAN与I2C总线的许多细节很类似,但也有一些明显的区别。当CAN总线上的一个节点发送数据时,它以报文形式广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。当几个站同时竞争总线读取时,这种配置十分重要。
CAN总线工作原理当一个站要向其它站发送数据时,该站的CPU将要发送的数据和自己的标识符传送给本站的CAN芯片,并处于准备状态;当它收到总线分配时,转为发送报文状态。CAN芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态。每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。由于CAN总线是一种面向内容的编址方案,因此很容易建立高水准的控制系统并灵活地进行配置。我们可以很容易地在CAN总线中加进一些新站而无需在硬件或软件上进行修改。当所提供的新站是纯数据接收设备时,数据传输协议不要求独立的部分有物理目的地址。它允许分布过程同步化,即总线上控制器需要测量数据时,可由网上获得,而无须每个控制器都有自己独立的传感器。
标准CAN和扩展CAN1.标准CAN标准CAN只有11位标识符,每帧的数据长度为51+(0~64)=(51~115)位,帧格式如下:SOF:帧起始,显性(逻辑0)表示报文的开始,并用于同步总线上的节点;标识符:标准CAN具有11位标识符,用来确定报文的优先级。此域的数值越小,优先级越高;RTR:远程发送请求位,当需要从另一个节点请求信息时,此位为显性(逻辑0)。所有节点都能接收这个请求,但是帧标识符确定被指定的节点。响应数据帧同样被所有节点接收,可以被有兴趣的节点使用;
标准CAN和扩展CANIDE:标识符扩展位为显性时表示这是一个标准CAN格式,为隐形表示这是扩展CAN格式;r0:保留位(可能将来标准修订会使用);DLC:4位数据长度代码表示传输数据的字节数目,一帧CAN最多传输8字节用户数据;数据0~8:最多可以传输8字节用户数据;CRC:16位(包括1位定界符)CRC校验码用来校验用户数据区之前的(包含数据区)传输数据段。
标准CAN和扩展CANAC