DeviceNet现场总线PPT精选文档课件.ppt
1,第六章 DeviceNet现场总线,2,DeviceNet是一种基于CAN的通信技术,主要用于构建底层控制网络,在车间及的现场设备(传感器、执行器等)和控制设备(PLC、工控机)间建立连接,避免昂贵和繁琐的硬接线。DeviceNet总线是全球使用最广泛的现场总线之一,在工厂自动化领域有明显优势,能连接到变频器、机器人、PLC等各类工控产品。它最初是由罗克韦尔自动化提出的,现在已广泛应用于美国,并在欧洲、日本和中国市场有明显增长。,第六章 DeviceNet现场总线,3,6.1 DeviceNet技术基础,4,DeviceNet应用于工业网络的底层,是最接近现场的总线类型。它是一种数字化、多点连接的网络,在控制器和 I/O设备之间实现通讯。每一个设备和控制器都是网络上的一个节点。DeviceNet是一种生产者/消费者模式的网络,支持分级通讯和报文优先级,可配置成工作在主从模式或基于对等通讯的分布式控制结构。DeviceNet系统支持使用I/O和显式报文实现配置和控制的单点连接,还具有独特的性能支持网络供电。这就允许哪些功耗不高的设备可以直接从网络上获取电源,从而减少了接线点和尺寸。,5,在Rockwell提出的三层网络结构中,DeviceNet处于最底层,即设备层。,6,工业控制网络底层节点相对简单,传输数据量小,但节点数量大,要求节点费用低。DeviceNet的作用:低端网络设备的低成本解决方案;低端设备的智能化;主从以及对等通信的能力。DeviceNet主要用途:传送与低端设备关联的面向控制的信息;传送与被控系统间接关联的其他信息(如配置参数)。,7,物理介质特性主干线分支线结构;最多支持64个节点;无需中断网络即可解除节点;同时支持网络供电(传感器)及自供电(执行器)设备;使用密封式或开放式连接器;接线错误保护;数据波特率可选125、250、500kbps;标准电源插头,电源最大容量可达16A;内置式过载保护。,8,通信特性:物理信号及MAC使用CAN;基于连接概念的协议,要与设备交换信息须先与它连接;典型的请求/响应方式,适用于两个设备间多用途的点对点报文传递;I/O数据的高效传输;为长度大于8字节的报文提供分段服务;重复节点地址(MAC ID)的检测。,9,DeviceNet的主要技术特点,10,DeviceNet的通信模式在现场总线领域常用的通信模式有两种:(a)源/目的模式(b)生产者/消费者模式源/目(点对点)通信模式的缺点:多个节点间同步动作困难;浪费带宽,源节点必须多次发送给不同节点。生产者/消费者模式的特点:一个生产者,多个消费者;数据更新在多个节点同时发生;提供多级优先,适用于实时I/O数据交换。,11,6.2 DeviceNet通信参考模型,12,DeviceNet的通信参考模型分为3层:物理层、数据链路层和应用层。DeviceNet技术规范定义了应用层、介质访问单元和传输介质。而数据链路层的逻辑链路控制、媒体访问层和物理成规范则直接应用了CAN技术规范,并在CAN技术的基础上,沿用了规范所规定的物理层和数据链路层的一部分。DeviceNet的应用层则定义了传输数据的语法和语义简言之,CAN定义了数据传送方式,而DeviceNet的应用层补充了传送数据的意义。,13,CAN与DeviceNet之间的关系还体现在:CAN中定义了数据帧、远程帧、出错帧和超载帧;DeviceNet使用标准数据帧而不使用远程帧,出错帧和超载帧由CAN控制芯片控制,DeviceNet规范中捕捉定义。由于采用生产者/消费者通信模式,DeviceNet总线上所有报文均带有连接标志符,节点可充分利用CAN控制器的报文过滤功能以节省CPU资源。基于上述原因,DeviceNet智能节点开发方案都是基于CAN技术进行设计。在CAN节点开发的技术上,进行物理层改造、波特率和中段速率设定及应用程设计。,14,6.3 物理层,6.3.1 传输介质DeviceNet的物理层规范规定了DeviceNet的总线拓扑结构和网络元件。包括:系统接地、粗缆和细缆混合结构的网络连接、电源分配等。设备网所采用的典型拓扑结构是总线拓扑。采用总线分支连接方式。粗缆多用作主于总线,细缆多用于分支连线。DeviceNet提供3种可供选择的通信速率:125Kbps,250 Kbps,500 Kbps。在每种通信速率下主干与分支电缆的允许长度见下表。,15,6.3.2 介质访问单元,DeviceNet介质访问单元包括收发器、连接器、误接线保护电路、调压器和可选的光隔离器。,16,6.3.3 物理层信号,DeviceNet的物理层信号规范完全相同。CAN规范定义了两种互补的逻辑电平:显性(Dominant)和隐性(Recessive),且同时传送显性和隐性位时,总线结果值为显性。,6.4 数据链路层,DeviceNet的数据链路层基本遵循CAN规范,并通过CAN控制器芯片来实现。,17,6.5 应用层,DeviceNet应用层采用通用工业协议(CIP),详细定义了连接、报文、对象模型和设备描述等方面的内容。6.5.1 连接和报文组DeviceNet是面向连接服务的网络,任意两个节点在开始通信之前必须事先建立连接以提供通信路径,这种连接是逻辑上的关系,在物理上并不实际存在。在DeviceNet中,每个连接由11位的连接标识符(CID,Connection ID)来标识,该11位的连接标识符包括媒体访问控制标志符(MAC ID)、报文标识符(Message ID)和报文标识组。,18,源MAC ID(Source MAC ID)是发送节点的地址,组1和组3报文允许在CAN标识区内指定源MAC ID。目的MAC ID(Destination MAC ID)是接收节点的地址。组2报文允许在CAN标识区内的MAC ID部分指定源或目的的MAC ID。报文ID(Source MAC ID)用于标识节点的某个报文组中不同报文。每个节点可以使用不同报文ID在一个报文组中建立多重连接。各个报文组的报文ID位数不同,组1为4位(16个信道),组2位3位(8个信道),组4为6位(64个信道)。,19,6.5.2 对象模型,对象模型是DeviceNet在CAN技术上添加的特色技术。DeviceNet的对象模型提供了组成和实现其产品功能的属性、服务和行为,可以通过C+中的类直接实现。对象的具体类型如下:(1)标识对象:DeviceNet一般都有一个标识对象。它包含供应商的ID、设备类型、产品代码、版本、状态、序列号、产品名称、相关说明等的属性。标识对象的对象标识符为0X01。,20,(2)报文路由对象:报文路出对象用于向其他对象传送显式报文。一般在DeviceNet网络中它不具有外部可视性。其对象标识符为0X02。(3)设备网对象:DeviceNet的产品一般都有一个设备网对象。它包含下列属性:节点地址或MAC ID、波特率、总线关闭、总线关闭计数器、单元选择和主机的MAC ID。设备网对象的对象标识符为0X03。(4)组合对象:DeviceNet产品一般具有一个或多个可选的组合对象。这些对象的主要任务就是将来自不同应用对象的多个属性数据组合成一个能够随单个报文传送的属性。组合对象的对象标识符为0X04。,21,(5)连接对象:DeviceNet产品一般至少包括两个连接对象。每个连接对象代表DeviceNet网络上节点间虚拟连接的一个端点。它所具有的两种连接类型分别称为显式报文连接和I/O 报文连接。I/O报文连接只包含数据,所有有关如何处理数据的信息都包含在与该I/O报文相关的连接对象中。连接对象的对象标识符为0X05。(6)参数对象:可设置参数的设备都要用到参数对象。参数对象带有设备的配置参数,提供访问参数的接口。参数对象的属性可以包括数值、量程、文本和相关信息。其对象标识符为0X0F。(7)应用对象:应用对象泛指描述特定行为和功能的一组对象,例如开关量输入输出对象、模拟量输入输出对象等。设备网上的节点若需实现某种特定功能,至少需要建立一个应用对象。DeviceNet对象库中有大量的标准应用对象。,22,DeviceNet对象模型,23,6.5.3 设备通信流程,DeviceNet总线上设备(客户机或服务器)在上电初始化后,首先需要进行重复MAC ID检测,如果重复MAC ID检测通过,则设备当前状态为在线;如果重复MAC ID检测未通过,则转至离线状态。进入离线状态后,设备使用未连接显示报文管理与服务器建立显式连接,进行显式报文通信。设备可通过显式连接建立I/O连接,也可通过与定义主/从连接建立I/O连接,通过显式报文配置激活,通过I/O数据交换。,24,1、重复MAC IDDeviceNet上的每个物理设备必须分配一个MAC ID。该过程一般采用手动软硬件配置实现,在同一总线上将两个不同设备配置为相同MAC ID的情况难以避免。如果同一总线上存在两个MAC ID相同的节点,必然会有一个节点无法上线,因此要求所有设备上电初始化后必须立即用自身的MAC ID进行重复MAC ID检测。2、显式连接显式连接可通过未连接信息管理器(UCMM)建立,是典型的点对点的请求-响应通信方式,只存在于两个设备之间的一般的、多用途的通信途径。,25,显式连接主要用于发送设备间多用途的报文,例如组态数据、控制命令等。连接是一对一的连接,报文接收入必须对接到的报文做出成功或错误的响应。显式报文由一个CID和附带的协议信息组成。上图为显式连接的一个请求响应的应答过程示意图。,26,3、I/O连接I/O连接主要用于传输工业现场设备中实时性要求较高的输入输出数据报文。通过这种这接方式可以进行一对一或一对多的数据传送。它不要求数据接收方对所接到的报文做出应答。下图为节点A与节点B之问实现I/O连接的示意图,这是一个单向连接过程。,27,4、分段/重组协议对于数据长度大于8字节的报文必须采用分段和重组的方法。分段/重组功能由DeviceNet连接对象提供。在设计一个DeviceNet智能节点时,可选择是否支持分段传送及接收,也需要用户考虑。,28,6.5.4 UCMM和预定义主/从连接,DeviceNet节点在开机后能够立即寻址的唯一端口是“非连接信息管理器端口”(UCMM端口)和预定义主/从连接组的“Group2非连接显式请求端口”。当通过UCMM端口或者Group2非连接显式请求端口建立一个显式报文连接后,这个连接可用于从一个节点向其它节点传送信息,或建立I/O信息连接。一旦建立了I/O信息连接,就可以在网络设备之间传送I/O数据。通过UCMM端口可以动态的建立显式信息连接。一个支持预定义主/从连接组,并且具有UCMM功能的设备称为Group 2服务器。一个Group 2服务器可被一个或多个客户机通过一个或多个连接进行寻址。,29,DeviceNet 应用层协议功能很强,设备间的连接允许动态配置。但考虑到有些设备根本不需要也没有资源去使用这一强大功能,DeviceNet 指定了一套称为预定义主/从连接组的CID,用来简化主/从结构中I/O 数据的传送。许多设备要实现的功能在设计时就已经预先决定了(如感受压力、起动电动机等等),因此这些设备将要生产或消费的数据的类型和数量在通电前就已经知道了。这些设备通常提供输入数据或请求输出数据和配置数据。预定义主/从连接组可以满足设备的这些要求。,30,预定义主/从连接组用于简单而快速地建立一个连接。当使用预定义的主/从连接组时,客户机(主站)和服务器(从站)之间只允许存在一个显式连接。由于在预定义主/从连接组定义内已省略了创建和配置应用与应用之间连接的许多步骤,可以使用较少的网络和设备资源来实现DeviceNet通讯。,31,6.5.5 离线连接组,离线连接组报文可由客户机来恢复处于DeviceNet离线故障状态的节点。通过离线连接组报文,客户机可以:通过LED闪烁状态确定故障节点;如果可能,向故障节点发送故障恢复报文;在不从网上拆除故障节点的情况下,恢复故障节点。,32,离线连接组的优先权较低,可能会由于其他的网络通信而导致延迟。任何处于DeviceNet离线故障的节点,在任何时刻,仅能有一个客户节点与它通信。客户机间通过使用DeviceNet离线节点控制权请求/响应报文来获得对DeviceNet离线故障节点的控制权。得到DeviceNet离线节点控制权的客户机用组4报文ID=2D向所有DeviceNet离线故障节点发出DeviceNet离线故障请求报文。发生DeviceNet离线故障的节点应使用组4报文ID=2C产生相应的DeviceNet离线故障响应报文。,33,波特率与比特率有何区别?,比特率在数字信道中,比特率是数字信号的传输速率,它用单位时间内传输的二进制代码的有效位(bit)数来表示,其单位为每秒比特数bit/s(bps)、每秒千比特数(Kbps)或每秒兆比特数(Mbps)来表示(此处K和M分别为1000和1000000,而不是涉及计算机存储器容量时的1024和1048576)。波特率波特率指数据信号对载波的调制速率,它用单位时间内载波调制状态改变次数来表示,其单位为波特(Baud)。波特率与比特率的关系为:比特率=波特率X单个调制状态对应的二进制位数。如何区分两者?显然,两相调制(单个调制状态对应1个二进制位)的比特率等于波特率;四相调制(单个调制状态对应2个二进制位)的比特率为波特率的两倍;八相调制(单个调制状态对应3个二进制位)的比特率为波特率的三倍;依次类推。,34,DeviceNet允许通过网络远程配置设备。配置工具和EDS文档就是实现这种配置的工具。EDS采用ASCII字符。它包括:说明每个设备参数,包括它的合法值和默认值;提供设备中用户可选择的配置参数。,6.6 设备描述和EDS文件,35,36,6.6 一致性测试,ODVA定义了DeviceNet设备和系统的测试和批准程序。会员厂商有机会将它们的设备交给当前3个独立的DeviceNet兼容性测试中心之一进行一致性检测。所有DeviceNet设备只作两个关键性测试:互操作性和互换性。互操作性表示所有厂商的DeviceNet设备都可在网络上互相操作。互换性比其更进一步,可以用相同类型的设备(即它们符合相同的设备描述)在逻辑上互相置换,不管这些设备是由哪个厂商制造的。,37,一致性测试可以分成以下3个部分:软件测试 对DeviceNet协议的功能进行验证。在测试时,根据设备复杂性的不同,可传输多达数千个报文。硬件测试 检测物理层的兼容性。该测试检测规范的所有要求,例如断线保护、过压、接地和绝缘、CAN收发器等等。该测试对于不符合DeviceNet规范的设备可能是破坏性的。系统互用性测试 可以验证在一个多达64个节点和众多不同厂商扫描仪的网络中设备的功能。,38,如果设备通过了上述3个部分测试,那么可以说它已通过DeviceNet 一致性测试,并加以标记。许多DeviceNet用户现在都要求有该标识。通过一致性测试的设备在市场上会有显著的优势。一致性测试软件可直接从ODVA获得。它是基于Windows的工具,运行在不同供应商的几个PC-CAN接口上。厂商在进行正式的ODVA测试之前可以对其设备进行测试。至现在为止,硬件测试和系统互用性测试只能由3个独立测试中心完成。,39,第七章 DeviceNet节点设计及组网,7.1 DeviceNet节点设计要点节点功能分析硬件设计软件设计编写设备描述定义设备配置一致性测试,40,7.2 硬件设计,连接器的选择总线供电设计误接线保护设计通信速率的设置CAN总线的选择,41,1、连接器选择,DeviceNet规范允许使用开放式和密封式的连接器,还可以使用小型和微型的可插式密封连接器。在一些无法使用开放式连接器的场所或工作环境比较恶劣的现场,可采用密封式连接器。,42,2、总线供电设计,出了提供通信通道外,DeviceNet总线上还提供电源。因此,电源线和信号线在同一电缆中,设备可从总线上直接获取电源,而不需要另外的电源。,43,3、误接线保护设计,DeviceNet总线上的节点能承受连接器上5根线的各种组合的接线错误。此时,需要提供外部保护回路(P163,图6-13)。,44,4、通信速率的设置,在DeviceNet规范中只有125kbit/s,250kbit/s,500kbit/s,3种速率。由于严格的传输距离限制,它不支持CAN总线的1Mbit/s的传输速率。一般在DeviceNet设备中通过设置拨码开关来选择设备的通讯速率。,45,5、CAN控制器的选择,CAN控制器的类型:独立CAN控制器 集成CAN控制器串行连接I/O CAN控制器选择时应确定完全符合DeviceNet协议规定的特性:支持11位的标准帧结构支持125kbit/s、250kbit/s、500kbit/s波特率允许访问所有11位的CAN标识符区,节点能够发送任何合法的标识符区数据。,46,选择CAN控制器还应该考虑的因素:接收和处理报文的数量和速度;多个报文对象可连续处理输入报文提高相应的速度;支持DeviceNet的I/O分段协议可使开发者节约代码空间,提高响应的速度。,47,6、CAN 收发器的选择,CAN收发器在DeviceNet总线上接收差分信号传送给CAN控制器,并将CAN控制器传来的信号差分驱动后发送到总线上。DeviceNet上最多挂接64个物理设备,因此对收发器的要求超过了ISO11898。常用CAN收发器:Philips的82C250/251、TI的SN65LBC031等。,48,7.3 软件设计,主要目的:实现应用层协议要求。软件设计流程:1.重复MAC ID检测流程节点上电后进行必要的自检和初始化,然后开始发送重复MAC ID检测请求报文(时间间隔为1S)后,未接收到其它节点的重复MAC ID检测响应报文,则该节点转入DeviceNet离线故障状态。如果DeviceNet上其它节点收到重复MAC ID检测请求报文,处理流程为:(1)确定接收的重复MAC ID 检测报文内目的MAC ID与该节点的MAC ID是否一致;如果不一致,则忽略该报文;如果一致,则采用步骤(2)所述方法:(2)该节点如果处于在线状态,发送重复MAC ID检测响应报文,否则,该节点转入或保持离线故障状态。,49,2.未连接显式报文通信流程,如果当前节点处于在线状态,客户机与服务器将通过UCMM端口或者仅限组2的未连接端口建立显式报文连接。此时客户机应发送未连接显式请求报文,等待服务器响应。如果DeviceNet上节点接收到未连接显式请求报文,处理流程如下:(1)确定接收到的未连接显式请求报文的类型。如果接收到打开连接请求,新建一个有效的显式报文连接实例,并发送未连接显式响应报文;如果连接到的并非打开连接请求,转入步骤(2);(2)确定是否为关闭连接请求。如果不是,该节点范围不支持该服务的出错响应;如果是,则转入步骤(3)。(3)删除显式报文连接实例并释放相关资源,并发送成功响应报文。,50,3.显式报文通信流程,如果开发具有UCMM功能从节点,则显式报文通信不仅使用组2从节点,还可使用组1、组3报文格式。如果开发仅限组2从节点,则显式报文通信仅用组2的显式报文格式,即主站显式请求报文用组2的报文ID=4的格式,从站显式响应报文用组2的报文ID=3的格式。,51,如果节点接收到显式报文,处理流程如下:(1)确定显示报文已连接。如未连接,则忽略该报文;如已连接,进入步骤(2).(2)确定显式报文请求的实例是否建立。如果已经建立,进入步骤(3);如未连接,转入步骤(4);(3)确定已建立的实例是否支持该服务。如果支持,则执行并发送响应报文;否则返回出错响应报文;(4)确定是否建立I/O连接实例。如果支持,则建立I/O实例并发送响应报文;否则转入步骤(6);(5)确定该节点是否支持该I/O实例。如果支持I/O实例,建立I/O实例并发送响应报文;如果不支持,返回出错响应报文;(6)确定该节点是否支持多个显式实例。如果支持建立多个显式实例,建立显式实例并返回相应报文;如果不支持,返回出错响应报文。,52,4、I/O报文通信,通过显式报文连接或UCMM建立并启动I/O连接实例,实现I/O数据通信,其处理流程如下:(1)节点接收到I/O报文后,确定I/O是否已经激活。如果未激活,则忽略该信息;否则进入步骤(2);(2)从组合对象中取得I/O数据或直接取得I/O数据进行消费,并返回I/O数据或响应报文。,53,7.4 编写设备描述,设备描述是一台设备的基于对象模型的正式定义,包括:(1)设备对象模型:使用对象库中的对象或自定义对象,定义了设备性位的详细描述;(2)I/O数据:数据交换的内容和格式,以及在设备内部的映像所表示的含义;(3)设备配置:配置方法,配置数据的功能以及电子数据文档(EDS,Electrical Data Sheet)信息。,54,1.设备描述的详细内容,一、定义设备的对象模型的内容标识设备中存在的所有对象类(必需的或可选的);表明各对象类中存在的实例数。如果设备支持实例的动态创建和删除,对象模型描述了对象类中可能存在的最大实例数;说明哪些对象影响设备的行为,并说明对象如何影响行为;定义每个对象的接口,即对象和对象类如何链接。,55,二、设备I/O数据格式设备描述中,设备I/O数据的格式遵循以下规则:I/O组合实例是输入类型还是输出类型;一个设备可能包含有多个I/O组合,这些组合实例的数据配置方法。,56,三、设备配置除对象模型和I/O数据格式外,设备描述还包括设备可配置参数的规范和访问这些参数的公共接口。可配置参数包括参数对象实例的全部属性值,或EDS文件的参数部分中的所有值,如阐述名称、属性路径、数据类型、参数单位和最大/最小缺省值。除了定义相同的配置参数外,访问这些参数的公共接口必须一致。,57,7.5设备配置,DeviceNet规范中允许通过外部开关和远程配置设备,并允许将配置参数嵌在设备内。利用这些特性,用户可以根据应用要求选择和修改设备的配置方式。通过DeviceNet接口可以设定设备配置,并使用配置工具改变设定值。,58,7.5.1 设备配置选项,存储和访问设备配置数据方法有:打印的数据文档、电子数据文档(EDS)、参数对象、参数对象存根以及EDS和参数对象的结合。,59,7.5.2 EDS电子数据文档,定义EDS文件时需要遵循的原则:区(Section):EDS文件必须分为可选的和必需的两部分;区分隔符(Section Delimiters):必须用方括号中的区关键字作为合作的区分隔符来分隔EDS的各区。区顺序(Section Order):必须将每个所需的区按照要求的顺序放置,允许完全省略或用空数据占位符填充可选部分。,60,入口(Entry):EDS的每个区包括一个或多个入口,通过入口关键字选择,后面有一个符号。入口关键字的含义取决于该部分的上下文。用分号表示入口结束,入口可以跨越多行。入口域(Entry Field):每个入口包括一个或多个域。用逗号分隔各域,其含义取决于区中上下文。供货商特定的关键字(Vendor-specific Keyword):区和入口关键字可由供货商特定。供货商ID应以十进制显示,且不应包括引导0。各供应商提供了特定关键字的文字说明。,61,7.5.3 编写EDS文件,以EDS文件的形式提供设备配置参数,其内容包括制造商和产品名称、硬件和软件的版本、波特率、总线插头、设备的各项参数等。(教材P207)(1)文件说明部分包含了EDS文件的管理信息。(2)设备说明部分包含了设备制造商信息,设备标识对象中的某些相同值。(3)I/O特性部分包含了设备I/O特性的相关情况;,62,(4)参数类部分标识了EDS文件中配置参数的分类级属性和阐述对象类属性的子集;(5)参数部分标识设备的全部配置参数;(6)参数组部分标识设备的全部配置参数组(7)组合部分说明了数据块的结构,此块通常为组合对象的数据属性。,63,7.6 一致性测试,一致性测试包括通信协议、物理层和互操作性的测试。(1)物理层测试属于电气特性方面的测试,检查在收发保温过程中是否出现了通信上的异常,如延迟、反向、衰减、供电等。进行物理层测试时,被检测设备与测试工具间是一对一的连接,测试项目包括:连接器的尺寸和电气特性;电源特性,如电压和电流、波纹;信号特性,如CANH、CANL、差分电压、误接线保护等,64,(2)通信协议一致性测试是测试DeviceNet节点软件,通过一致性测试软件验证被检测设备中的软件是否符合规范、是否能够作出正确的响应。在进行通信协议一致性测试时,被检测设备与测试工具之间是一对一的连接,通过软件发出请求并检查响应报文。如果无论请求正确与否,被检测设备安装的软件都做出了正确的响应,则该设备通过了通信协议一致性测试。,65,(3)互操作性测试是为了检验产品设备描述的正确性以及设备间的互换性,用于和同总线上其他设备之间互换的测试。测试项目包括上电顺序、I/O连接、电源开关、通信连接器的拆装、负载实验等。由于DeviceNet的最大节点数为64个,测试时要求主站、工具和负载从站以及实验对象从站标准产品的总数达到64个。,