9.5DeviceNet简介9.5.1DeviceNet技术概述如图,在Rockwell提出的三层网络结构中,DeviceNet处于最底层,即设备层。9.5.1DeviceNet技术概述工业控制网络底层节点相对简单,传输数据量小,但节点数量大,要求节点费用低。针对以上通信要求,DeviceNet可以提供:低端网络设备的低成本解决方案;低端设备的智能化;主—从以及对等通信的能力。DeviceNet有两个主要用途:1.传送与低端设备关联的面向控制的信息;2.传送与被控系统间接关联的其他信息(例如配置参数)。9.5.1DeviceNet技术概述物理/介质特性1.主干线—分支线结构;2.最多支持64个节点;3.无需中断网络即可解除节点;4.同时支持网络供电(传感器)及自供电(执行器)设备;5.使用密封式或开放式连接器;6.接线错误保护;7.数据波特率可选125、250、500kbps;8.标准电源插头,电源最大容量可达16A;9.内置式过载保护。9.5.1DeviceNet技术概述通信特性:1.物理信号及MAC使用CAN;2.基于连接概念的协议,要与设备交换信息须先与它连接;3.典型的请求/响应方式,适用于两个设备间多用途的点对点报文传递;4.I/O数据的高效传输;5.为长度大于8字节的报文提供分段服务;6.重复节点地址(MACID)的检测。表9.5.1DeviceNet的主要技术特点网络大小最多64个节点,每个节点可支持无限多的I/O网络长度端—端网络距离随网络传输速度而变化波特率距离125kb/s500m250kb/s250m500kb/s100m网络模型生产者/消费者模型数据包0~8字节总线拓扑结构线性(干线/支线),总线供电总线寻址点对点(或一对多);多主站和主从;轮询或状态改变(基于事件)系统特性支持设备的热插拔,无需网络断电9.5.1DeviceNet技术概述DeviceNet的通信模式在现场总线领域常用的通信模式有两种:(a)源/目的模式:(b)生产者/消费者模式:源/目(点对点)通信模式的缺点:1.多个节点间同步动作困难;2.浪费带宽,源节点必须多次发送给不同节点。生产者/消费者模式的特点:1.一个生产者,多个消费者;2.数据更新在多个节点同时发生;3.提供多级优先,适用于实时I/O数据交换。源节点地址目的节点地址数据校验标识符数据校验9.5.1DeviceNet技术概述DeviceNet的通信模型:9.5.2DeviceNet的物理层—媒体访问单元媒体访问单元包括收发器、连接器、误接线保护电路、稳压器和光隔离器。收发器可采用市面上的集成CAN收发器。注意需保证所选符合DeviceNet规范。9.5.2DeviceNet的物理层—媒体访问单元误接线保护(MWP)电路如图,要求节点能承受连接器5根线的各种组合的接线错误。在U+电压高达18V时不会造成永久损害。VD1防止U-端子误接了U+电压;VT1作为电源线上接入的开关防止U-断开造成损害。9.5.2DeviceNet的物理层—传输介质拓扑结构:典型是干线—分支方式,如图。干线末端必须有终端电阻。线缆包括粗缆(干线)、细缆(支线)。支线最长6m,允许连接多个节点。只允许在支线上有分支结构。总线线缆中包括24VDC电源线、信号线及屏蔽线。总线支持有源和无源设备,对有源设备提供专门设计的光隔离收发器。9.5.2DeviceNet的物理层—传输介质终端电阻:121Ω,1%金属膜电阻,1/4W,终端电阻不可包含在节点中。(如包含很容易错误导致阻抗太高或太低)连接器:5针,即1对信号线、1对电源线和1根屏蔽线。包括密封式和非密封式连接器。DeviceNet连接器9.5.2DeviceNet的物理层—传输介质设备分接头:设备直接通过端子或通过支线连接到网络。电源分接头:电源分接头不同于设备分接头,它包含(1)连在电源U+上的肖特基二极管,(2)两根熔丝或断路器,防止总线过电流而损坏电缆和连接器。干线的额定电流为8A。也允许外部供电的设备(如电动机起动器、阀门驱动器等)连到总线,但是要有光电隔离。DeviceNet应该一点接地。如果多点接地会造成接地回路;如果不接地将容易受到静电以及外部噪声的影响。9.5.3DeviceNet的数据链路层DeviceNet的数据链路层遵循CAN协议规范,并通过CAN控制芯片实现。MAC帧:在CAN定义的4种帧格式(数据帧、远程帧、超载帧、错误帧)里面,DeviceNet不使用远程帧。总线仲裁机制:CSMA/NBA(带非破坏性逐位仲裁的载波侦听多址访问),即CAN的仲裁机制错误诊断和故障界定机制:同CAN。9.5.4DeviceNet的应用层9.5.4.1连接的概念OSI7层协议中连接的概念:层之间通过接口提供两种服务:面向连接的服务和无连接的服务面向连接:服务双方必须先建立可用连接,然后利用该连接完成数据传送,最后还要释放建立连接时所需资源。这种服务典型的例子是有线电话系统。无连接:要传递的数据自身携带目的地址信息,因而可以有不同的路由选择。这种服务的典型例子是邮寄系统。另外,为了增强服务的性能,可以引入确认(acknowledgement)信息,这以牺牲一定的传输时间和网络负载为代价。9.5.4.1连接的概念计算机网中“连接”可以分为不同的层次:(1)实际物理媒介连接:典型的点对点连接(2)虚电路:通过路由表、队列缓存和相关软件实现。这种连接一般用于通信子网的连接,而在控制网络中基本不用。(3)面向连接的服务:使用软件实现虚拟的连接,与其他任何子层都没有关系。这种连接一般用于应用层的连接,通过一定的技术措施来达到“连接”的效果,给服务调用者造成存在“连接”的“错觉”,其内部实现也许既无物理连接也无虚电路连接。DeviceNet是基于“连接”的网络,两个节点在开始通信前必须事先建立连接,这种连接是逻辑上的关系,并不是物理上实际存在的。9.5.4.1连接的概念DeviceNet的连接提供了“应用”之间的路径。当建立连接时,与连接相关的传送会被分配一个连接ID(CID)。如果连接包含双向交换那么应当分配两个连接ID值。DeviceNet建立在标准CAN2.0A协议之上,并使用11位标准报文标识符,可分成4个单独的报文组如下表:9.5.4.2DeviceNet的对象模型连接对象显式报文I/O报文对象模型为管理和实现DeviceNet产品的属性(可见特性的描述)、服务(支持的功能)和行为(如何响应特定事件)提供了一个模板。节点内对象大体可分为通信对象和应用对象两类。节点9.5.4.2DeviceNet的对象模型模型为每个属性提供了由4个数字组成的寻址方案,它们分别是节点地址(MACID)、对象类标识符、实例编号和属性编号。这四级地址与显式报文连接相结合,将数据从DeviceNet网络上的一点传送到另一点。下表列出四个地址组件的范围:地址最低最高节点063类165535实例065535属性12559.5.4.3DeviceNet设备里的对象类1.标识对象——类标识符=01;一般只包含一个实例(1#实例),该实例的属性有:供货商ID、设备类型、产品代码、版本、状态、序列号、产品名称等。2.报文路由对象——类标识符=02;一般只包含一个实例(1#实例),该对象向其他对象传送显式报文。该对象一般不具有外部可视性。3.DeviceNet对象——类标识符=03;提供了节点物理连接的配置及状态。一个物理网络接口对应一个DeviceNet对象。4.组合对象——组合多个应用对象的属性,便于访问。例如多个应用对象I/O数据的组合。9.5.4.3DeviceNet设备里的对象类5.连接对象——DeviceNet产品一般至少包括两个连接对象。每个连接对象代表DeviceNet网络上两节点间虚拟连接中的一个端点。两种连接类型分别称为显式报文连接和I/O报文连接。显式报文包括属性地址、属性值和服务代码来描述所请求的行为。I/O报文只包含数据。I/O报文中,所有有关如何处理数据的报文都包含在与该I/O报文相关的连接对象中。6.参数对象——在带有可设置参数的设备中要用到参数对象。每个实例代表一个参数,每个参数的属性包括它的值、范围、文本和限制等。7.应用对象——通常设备中至少有一个应用对象。DN规范的对象库中有大量的标准应用对象。9.5.4.4DeviceNet的报文DeviceNet应用层定义了如何分配标识符,如何用CAN数据区指定服务、传送数据。DeviceNet使用更为有效的生产者—消费者模式,取代了传统的源—目的传输方法。该模式要求对信息打包,使它具有数据标识区。标识符还提供仲裁的手段,以便更高效传送I/O数据,并供多个消费者使用。拥有数据的设备生产数据报文,所有需要数据的设备在总线上监听报文,识别出相应的标识符后就消费此数据。采用生产者—消费者模式,报文将不再专属于特定的源或目的,例如机组控制器发出的一个报文,用很窄的带宽就可以供多个电动机起动器使用。9.5.4.4DeviceNet的报文DeviceNet定义了两种不同类型的报文,称作I/O报文和显式报文。I/O报文适用于传输应用和过程数据。I/O数据总是从一个“生产”应用传输到多个“消费”应用。I/O报文格式的最重要的特性是完全利用了CAN数据场来传输过程数据。连接的端点通过CAN报文标识符来识别过程数据的重要性。每个I/O报文使用1个优先级高的CAN标识符。I/O报文通过一点或多点连接进行报文交换。报文的含义由连接ID(CID,CAN标识符)指示,建立连接就是预先规定该报文的发送和接受设备,包括源和目的对象的属性,以及数据生产者和消费者的地址。9.5.4.4DeviceNet的报文显式报文则适用于两个设备间多用途的点对点传送,采用典型的请求-响应通信方式,常用于节点的配置、问题诊断等。显式报文通常使用优先级低的连接标识符。显式报文传送通过显式连接对象来实现,在设备中建立显式连接对象。显式报文请求指明了对象、实例和属性,以及所要调用的特定分类服务。显式报文格式最重要的特性是CAN标识符场的任何一部分都不用于显式报文传输协议。所有协议都包含在CAN数据场当中。CAN标识符场用作连接ID。设备之间的每个显式连接通道需要2个CAN标识符,一个用于请求报文,另一个用于响应报文。标识符在连接建立时确定。9.5.4.4DeviceNet的报文I/O报文的格式如下:显式报文的格式如下:CAN帧头应用I/O数据CAN帧尾CAN帧头协议区&特殊服务数据CAN帧尾0~8字节0~8字节9.5.4.4DeviceNet的报文DeviceNet为长度大于8字节的报文提供了分段服务。大的I/O报文可以分割成为任意多的标准I/O报文。显式报文也同样可以进行分段。分段服务为DeviceNet提供了更多的可扩展性和兼容性,保证了将来更加复杂、更智能化的设备可以加入到DeviceNet网络上。在不改变基本协议和连接模型的基础上DeviceNet面向对象的设计和编址方式使其有相当大功能扩展余地。另一方面设备通信也可以非常简单。一个含两个报文连接的简单从机设备的应用(1个I/O报文,1个显式报文),用4KROM和175字节RAM的CPU(如Motorola68HC05X4)就可以实现。9.5.4.4DeviceNet的报文报文分段服务如下图所示:要发送的报文重组后的报文Frag#1Frag#2Frag#3Frag#1Frag#2Frag#3对I/O报文,若连接对象“长度”属性大于8字节,使用分段协议。对显式报文,在报文头中有一位指出是否分段。9.5.4.4DeviceNet的报文字节偏移位76543210012报文体↓7字节偏移位765432100分段协议12↓分段报文体7不分段I/O报文数据场格式分段I/O报文数据场格式分段类型分段计数器表明是首段、中间段还是尾段每段加1,循环计数9.5.4.4DeviceNet的报文字节偏移位765432100报文头12报文体