1 引言
WW.W_PLCJS_COM-PLC-技.术_网
——可——编——程——控-制-器-技——术——门——户
现场总线在控制系统中的应用使各领域的综合自动化控制技术飞速发展,成为控制领域的一个新热点。而CAN总线是现场总线领域中一种很有前途的通讯技术,CAN称为控制器局域网,属于总线式通讯网络。它是20世纪80年代初德国BOSCH公司提出为解决汽车内部众多控制器与测量设备之间的数据交换而开发的一种串行数据通信总线,是一种有效支持分布式控制系统或实时控制的串行通信网络。后来,因其可靠性高、抗干扰性强、开发简单、造价低廉及其短帧传输和无破坏仲裁技术等使其应用极为广泛。WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
2 CAN总线技术概述WWW_PLC※JS_COM-PmLC-技.术_网
——可——编——程——控-制-器-技——术——门——户
在现场总线系统中,节点间通过公共传输介质传输数据,因而数据链路层是总线的核心部分。CAN总线数据链路层的通信介质访问控制方式为事件触发,采用带优先级的随机载波侦听方式(CSMA/CD)。只要总线空闲,任何节点都可以主动向网络上其它节点发送数据。规定CAN报文具有最低二进制数值的标识符优先级别最高。当发生冲突时,采用“非破坏性总线优先逐位仲裁”技术当多个节点开始传送它们各自的报文时,标识符的每一个位都被写到总线上(高位在先,低位在后),而且能够被每一个节点读回。如果一个节点写进了隐性位“1”而读回显性位“0”,它会知道另一个较低标识符号码的(高优先权)节点正在访问总线,于是停止传送报文(丢失仲裁)并继续接收更重要的报文。这种非破坏性的逐位仲裁与每一个节点都可以监控自己发送的能力联合使用。P.L.C.技.术.网——可编程控制器技术门户
CAN协议的一个特点是废除了传统的站地址编码。而代之以标识符,采用这种方法的优点是网络内的节点个数在理论上不受限制。还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。CAN的数据帧数据段的长度少于8字节,可满足通常工业领域中控制命令、工作状态或测试数据的要求。同时,短的帧也不会占用总线时间过长,保证了实时性的要求。CAN帧中的标识符除具有帧编码的功能外,另一个重要作用是实现“非破坏性优先权逐位仲裁规则”。采用这种规则既能保证具有最高优先权的帧在遇到冲突时数据不被破坏,又能保证不延误传输时间,提高了系统的效率和实时性。WW.W_PLCJS_COM-PLC-技.术_网
CAN的报文有两种不同的帧格式,不同之处是标识符域的长度不同,含有11位标识符的帧称之为标准帧,而含有29位标识符的帧为扩展帧。WWcW_PLCJS_COM-PLC-技.术_网
3 基于CAN总线的高层协议CANopen
plcjs.技.术_网
plcjs.技.术_网
虽然CAN具有诸多优点,但CAN本身并非一个完整的协议,只包括物理层和数据链路层两个底层协议,要进行高效率的通讯还需要进一步开发高层协议,Philips Semiconductors制定的CAN技术规范( Version2. 0)和ISO颁布的国际标准ISO 11898推动了CAN的规范化、标准化和应用系统设计,各种基于CAN协议的高层协议的开发使得CAN总线的功能更强,应用范围更广。其中有DeviceNet应用层协议、CAN Kingdom、SDS(Smart Distributed System)以及CANopen等。CANopen是由从事工业控制的CiA(CAN in Automation)的会员开发,广泛应用于电力系统等工业控制,装载机械,楼宇自动化等多种领域。已被接受为CAN高层协议的标准之一。WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
CANopen是一个基于CAL的子协议,采用面向对象的思想设计,具有很好的模块化特性和很高的适应性,通过扩展可以适用于大量的应用领域。CANopen不仅定义了应用层和通信子协议,而且为可编程系统、不同器件、接口、应用子协议定义了大量的行规,遵循这些行规开发出的CANopen设备将能够实现不同公司产品间的互操作。另外,CANopen协议是免许可证的,任何组织和个人都可以开发支持CANopen协议的设备而不用支付版税,这也是CANopen得到迅猛发展的重要原因之一。CANopen协议中包含了标准的应用层规范和通信规范,其通信模型如图1所示:WWW_P※LCJS_COM-PLC-)技.术_网
plcjs.技.术_网
图1 CANopen 协议层互操作描述WWW_PLCJS@_COM%-PLC-技.术_网