CAN总线与DeviceNet现场总线分析程力(阿城继电器股份有限公司黑龙江阿城150302)摘要:为研究和开发DeviceNet现场总线MCC的核心设备DeviceNet离散量I/O节点和电动机保护测控装置,必须深入分析DeviceNet现场总线技术,而DeviceNet的基础即物理层与数据链路层是控制器局域网CAN(ControllerAreaNetwork)总线,因此在分析CAN总线技术的基础上,对DeviceNet现场总线技术、特别是DeviceNet的优势进行了深入分析。关键词:MCC;CAN总线;DeviceNet;现场总线0前言随着国民经济的快速发展,生产规模的不断扩大,各种生产线或控制系统中所使用的电动机数量越来越多。每条生产线和控制系统需要使用十几台,几十台或百余台电动机。这就提出了对这些电动机进行统一控制和/或保护的要求。因此电动机控制中心MCC(MotorControlCenter)的应用也越来越广泛。MCC分为三种类型:全硬接线式,全现场总线式和混合接线式。全硬接线式MCC在国内应用较多。其最大的缺陷就是所需的I/O连线(控制电缆)数量太大,这就导致设计、施工、维护工作量大、费用高、占地面积大等问题。全现场总线式MCC克服了上述缺陷,技术先进,优势突出,在国外应用广泛,在国内应用也越来越多。它代表了MCC的发展趋势。混合接线式MCC是介于全硬接线式与全现场总线式MCC之间的一种形式。全现场总线式MCC的核心技术是现场总线技术,而DeviceNet现场总线是国际上最先进的工业网络技术。DeviceNet现场总线是由美国原AB公司,即现在的罗克韦尔自动化公司于1994年推出的。由于其具有低价、开放、高效、可靠等特点,在世界范围内得到越来越广泛的应用。DeviceNet的基础是CAN总线,本文着重于对CAN总线和DeviceNet现场总线进行分析。1CAN总线分析CAN最初是20世纪80年代德国Bosch公司为解决众多的测量控制部件之间的数据交换问题而开发的一种串行数据通信总线,但由于它在性能、可靠性等方面的突出优势,现已广泛应用于航天、电力、石化、冶金、纺织、造纸、仓储等行业,如在自动化仪表、智能传感器、数控机床、医疗器械、机器人、楼宇自动化装置、火车、轮船等元件、设备、设施中,CAN总线都得到了良好的应用。CAN已成为国际标准ISO11898和ISO11519。CAN技术规范包括A和B两部分。2.0A给出了曾在CAN技术规范版本1.2中定义的CAN报文格式,而2.0B给出了标准的和扩展的两种报文格式[1]。1.1技术特点CAN的技术特点如下:(1)CAN从本质上讲是一种多主或对等网络,网络上任一节点均可主动发送报文。(2)废除了传统的站地址编码,而代之以对通信数据进行编码;通过报文过滤,可实现点对点、多点播送(多点传送)、广播等几种数据传送方式。(3)采用短帧结构,传输时间短,受干扰概率低。(4)具有多种检错措施及相应的处理功能,检错效果好,处理功能强,保证了通信的高可靠性。(5)通信介质(媒体)可为双绞线、同轴电缆或12006年6月第2期程力:CAN总线与DeviceNet光纤,选择灵活。(6)总线长度可达10km(速率为5kbps及其以下);网络速度可达1Mbps(总线长度为40m及其以下)。(7)网络上的节点数主要取决于总线驱动电路,目前可达110个;标准格式的报文标识符(11位)可达2032个,而扩展格式的报文标识符(29位)的个数几乎不受限制。(8)通过报文标识符来定义节点报文的优先级。(9)采用非破坏性逐位仲裁机制来解决总线访问冲突,使总线冲突仲裁时间降至最低;即使在网络负载很重时,也不会出现网络瘫痪现象。(10)发生严重错误的节点具有自动关闭输出的功能[2] 。1.2帧类型在CAN中,报文传送由4种不同类型的帧表示和控制:数据帧(DataFrame)携带数据由发送器至接收器;远程帧(RemoteFrame)通过总线单元发送,以请求发送具有相同标识符的数据帧;错误帧(ErrorFrame)由检测到总线错误的任何单元发送;超载帧(OverloadFrame)用于提供在前的和随后的数据帧或远程帧之间的附加延迟。在这4种帧类型中,最重要也是最常用的是数据帧。数据帧由7个不同的位场(BitFrame)组成:帧起始(StartofFrameSOF)、仲裁场(ArbitrationField)、控制场(ControlField)、数据场(DataField)、CRC场(CRCField)、应答场(ACKField)、帧结束(EndofFieldEOF)[3]。1.3LLC子层和MAC子层为使设计透明和执行灵活,遵循ISO/OSI标准模型,CAN分为数据链路层(包括逻辑链路控制(LLCLogicalLinkControl)子层和媒体访问控制(MACMediumAccessControl)子层)和物理层。而在CAN技术规范2.0A版本中,数据链路层的LLC和MAC子层的服务和功能被描述为!对象层∀和!传送层∀。1.3.1LLC子层LLC子层描述OSI数据链路层的上部。LLC子层的主要功能是接收过滤、超载通知和恢复管理。接收过滤是指LLC子层通过对报文整个标识符或部分标识符的屏蔽/筛选来决定是否接收报文;超载通知是指在发生超载条件时,LLC子层发送超载帧以示通告,从而延迟下一个数据帧或远程帧;恢复管理是指在发送期间,对于丢失仲裁的或已损的报文,LLC子层具有自动重发的功能[4,5]。LLC子层(为用户)提供两类非连接方式的传送服务:非应答数据发送服务和非应答远程数据请求服务。根据这两种服务,存在两种类型的来自/传给用户的帧:LLC数据帧和LLC远程帧。对于这两种类型的帧,LLC子层均向用户通告帧是否成功发送或接收。另一方面,LLC子层接受MAC子层提供的服务。LLC子层传给/接收来自MAC子层的帧为:数据帧、远程帧和超载帧。1.3.2MAC子层MAC子层描述OSI数据链路层的下部,它作为LLC子层和物理层的接口。MAC子层是CAN协议的核心。MAC子层提供的主要功能是传送协议,即发送/接收数据的封装(成帧)/拆装,帧编码及位填充(若需要)/去除填充位(若有),媒体访问管理(执行仲裁),错误检测和标注,应答,(发送)串行化/(接收)解除串行化。MAC子层(为LLC子层)提供的服务为:应答数据传送,即为LLC子层发送/接收数据帧;应答远程数据传送,即为LLC子层发送/接收远程帧;超载帧传送,即为LLC子层发送/接收超载帧。MAC子层构造MAC数据帧、MAC远程帧和MAC超载帧并将其发送到物理层;当然,MAC子层亦从物理层接收MAC数据帧、MAC远程帧和MAC超载帧。MAC子层还构造并发送错误帧(当检测到总线错误时)。CAN技术规范中给出的4种帧(数据帧、远程帧、错误帧和超载帧)的组成均指的是MAC帧。1.4MAC机制CAN网络上一个节点发送的帧/报文可被网络上所有其它节点监听并应答。当总线处于空闲(开放)时,任何节点均可开始发送报文。若一个节点正在发送,其它节点只有在此发送完成以后,才可尝试发送。如果两个或多个节点同时开始发送,则通过使用仲裁场(11位标识符和RTR位(对于标准格式))的非破坏性逐位仲裁机制来解决总线访问冲突。其基础是,当一个隐性位(!1∀)和一个显性位2电站设备自动化2006年6月第2期(!0∀)同时被发送至总线时,总线上所出现的结果为一个显性位(!0∀)。在仲裁场发送期间,每一个发送器均监听总线电平,并将它与自身发送的位相比较。若两值相等,则节点可继续发送。若一个节点发送一个隐性位(!1∀),而在总线上监听到一个显性位(!0∀),则此节点即失去仲裁,并停止发送。在当前发送结束后,失去仲裁的节点可尝试再次发送,直至发送成功。1.5位定时与同步1.5.1位定时的作用位定时是由节点自身完成的(可编程),节点进行位定时的作用为:(1)确定位时间(位周期),以便确定波特率(位速率),从而确定总线的网络速度;或在给定总线的网络速度的情况下确定位时间。(2)确定1位的各个组成部分同步段、传播段、相位缓冲段1和相位缓冲段2的时间长度,其中同步段用于硬同步,位于相位缓冲段1终点的采样点用于保证正确地读取总线电平。(3)确定重同步跳转宽度以用于重同步。一个节点应既能在位时间的采样点正确地读取总线电平,也能检测来自总线的沿以进行硬同步或重同步。1.5.2硬同步与重同步CAN总线中,同步包括硬同步和重同步两种形式。同步与位定时密切相关。同步也是由节点自身完成的。节点将检测到的来自总线的沿与其自身的位定时相比较,并通过硬同步或重同步适配(调整)位定时。所谓硬同步,就是由节点检测到的来自总线的沿强迫节点立即确定出其内部位时间的起始位置(同步段的起始时刻)。硬同步的结果是,沿的到来时刻的前一时刻即成为节点内部位时间同步段的起始时刻,并使内部位时间从同步段重新开始。这就是规范中所说的!硬同步强迫引起硬同步的沿处于重新开始的位时间同步段之内∀。硬同步一般用于报文开始,即总线上的各个节点的内部位时间的起始位置(同步段)是由来自总线的一个报文帧的帧起始的前沿决定的[1,3]。所谓重同步,就是节点根据沿相位误差的大小调整其内部位时间。重同步的结果是,节点内部位时间与来自总线的报文位流的位时间接近或相等,从而使节点能够正确地接收报文。重同步一般用于报文位流发送期间,以补偿各个节点振荡器频率的不一致。2DeviceNet现场总线分析DeviceNet协议是在CAN的基础上制定的。在数据链路层和物理层中,DeviceNet与CAN的主要区别是:CAN的最高通信速率可达1Mbps,DeviceNet只用了125kbps、250kbps、500kbps三种速率;DeviceNet只使用了CAN2.0A中的有关定义,并不支持CAN2.0B中的扩展报文格式;在CAN定义的4种帧类型中,DeviceNet不使用其中的远程帧。DeviceNet在CAN的基础上又增加了面向对象、基于连接的现代通信技术理念,并开发了应用层,将工业现场的分散设备连接成一个开放、廉价、高效、可靠的工业控制网络[6,7]。2.1网络拓扑DeviceNet网络是一种特别适合于工业控制底层的现场总线,其网络拓扑如图1所示。DeviceNet可大大降低安装费用、节省安装与调试时间、在线更换网络节点、适合连接各种工业设备。DeviceNet支持节点由总线供电,如图2所示。其中,电源可加在总线的任何一点,并可实现多电源的冗余供电。干线的额定电流为8A。当节点自行供电时,节点应通过光电隔离连接到总线上。DeviceNet使用5芯电缆,如图3所示。2.2对象建模与对象模型DeviceNet使用抽象的对象建模来描述通信服务、DeviceNet节点的外部可视行为以及访问和交换DeviceNet设备内部信息的通用方法[8]。当描述DeviceNet服务和协议的时候,使用下面与对象建模相关的术语:(1)对象一个设备中的一个特定组件的抽象描述。(2)类一组表示同种系统组件的对象。一个类是对一种对象的概括。一个类中所有的对象在形式和行为上都是相同的,但是它们可以包含不同的属性值。(3)实例一个对象的一个明确的真实(物理)事件。对象、实例和对象实例这些术语都32006年6月第2期程力:CAN总线与DeviceNet