DeviceNet技术及其产品开发

DeviceNet技术及其产品开发
2008-2-28 10:53:00 来源:作者: 网友评论 0条 点击查看

简介 Devicenet是应用日益广泛的一种底层设备现场总线技术,目前有包括罗克韦尔自动化等300多家自动化设备厂商的产品支持这种协议,在欧美和日本的现场总线市场占有很大的份额。本文着重介绍DeviceNet的技术标准和规范产品,分析基于CAN总线的DeviceNet协议及其软硬件实现。另外,还介绍了DeviceNet兼容产品的开发方法。

引言

  现场总线基于数字化信号。它将使一些控制功能下移到现场设备,并极大地增加来往于设备间的过程和非过程信息。

  现场总线技术是工业过程最关注的深刻变革之一。由于现场设备和仪表的智能化程度在不断提高,作为嵌入式应用的微控制器功能也在不断加强,因此,现在智能化设备和仪表的功能已不仅仅限于数据采集,还越来越多地加入了远程控制的功能。因此,这类智能化设备和仪表的应用范围越来越广,这种趋势也极大地改变着传统控制系统的结构。

  现场总线网、智能化设备仪表的发展影响着DCS的体系结构。现在可以看到的一个明显的趋势是DCS的进一步分散化。在现场总线网这一级,除了智能I/O模块以外,还可以接入各种智能化电子设备和各种智能化仪表,最大限度地利用最新的、最先进的开发成果。而且,由于分散度的提高,每个智能单元所涉及的面很少,这与在传统结构中变送器出现故障的情况是一样的。但由于智能单元可以实现全面有效的自诊断功能,出现故障可以及时报警、报告故障类型及故障点,给维护带来了极大的方便。本文将介绍现场总线Devicenet。

  Devicenet是一种用于连接工业设备(如限位开关、光电传感器、阀门、电动机启动器、过程传感器、条形码读入器、变频器、屏幕显示和操作界面等)与网络的现场总线,其特点是成本低、开发容易、支持的厂家多并且不需要昂贵的连接线路。

  Devicenet是一个开放式的协议,最初由美国罗克韦尔自动化公司开发应用。目前,DeviceNet技术属“开放DeviceNet厂商协会”ODVA组织(Open DeviceNet Vendor Association)所有和推广。ODVA在世界范围拥有300多家著名自动化设备厂商的会员(如罗克韦尔自动化、ABB、欧姆龙)。我国的ODVA组织由上海电器科学研究所牵头成立,目前,正积极推广该技术。设备厂商只要参加ODVA组织,就可以得到有关DeviceNet协议标准,还可以加入产品讨论组来得到产品开发的帮助。DeviceNet产品的开发并不复杂。

  Devicenet是基于CAN(Controller Area Network)的技术。作为一种串行通讯技术,CAN是20世纪80年代中后期适应汽车控制网络化要求而产生并迅速发展起来的,并已成为开放的国际标准通讯协议(ISO 11898),在众多领域得到了广泛的应用。目前,有许多著名的大半导体制造商生产CAN芯片,并在工业中得到了很广泛的应用。

  事实上,CAN本身并非是一个完整的协议,它并未指定流量控制、数据分割成帧、节点地址分配、通讯的建立等具体内容。这些内容被包括在更高层协议HLP(Higher Layer Protocol)中,允许各厂商自行开发。CAN突出的经济性和技术特点,极大地促进了基于CAN的控制网络产品的开发与推广应用。许多厂商都推出了基于CAN的产品,如SDS(Honeywell)、Devicenet(Allen-Bradley)、CAN Kingdom(KVASER)等。其中的DeviceNet在1994年问世,1995年成为开放协议,并由ODVA负责推广,在北美及亚太地区都有日益广泛的应用。DeviceNet网络介质可采用五线制电缆,其中包括两条信号线,两条24V电源线和一条屏蔽线。DeviceNet设备可以从网络上直接获得电源,并能在线地从网络上连接和切下设备。网络提供的电源为8A,还可以增加冗余的电源。

  Devicenet的应用优点有:

  (1) 它是一种支持多方厂家产品互操作的开放式通讯标准;
  (2) 能快速方便地安装;
  (3) 是一种考虑未来的设计,能根据扩展和变化需要方便地增加功能;
  (4) 由设备内部的智能机制提高运行效率;
  (5) 通过数据生成源/消费源(producer/consumer)通讯结构提供高效的带宽;
  (6) 可不断电地在线对设备组态和增加设备。

一、 Devicenet协议分层结构和特性

  Devicenet沿用了CAN协议标准所规定的总线网络的物理层和数据链路层,定义了不同的报文格式、总线访问仲裁规则及故障检测和故障隔离的方法。应用层规范则是由厂商自主开发,对应于ISO网络协议七层模型的第一、二、七层,其关系如图1所示。


图1 基于CAN的 Devicenet协议分层结构

1. 物理层与传输介质

  Devicenet物理层规范定义了DeviceNet拓扑结构以及网络元件。具体包括系统接地、粗缆和细缆混合结构、网络端接和电源分配。DeviceNet所采用的典型的拓扑结构是干线-分支方式。线缆包括粗缆(多用作干线)和细缆(多用于分支线),总线线缆中包括24V直流电源和信号线两个双绞线线对以及信号屏蔽线。在设备连接方式上,可以灵活选用开放/封装端头两种形式。网络采取分布式供电方式,支持冗余结构。总线支持有源和无源设备。对于有源设备,提供专门设计的带有光隔离的收发器。物理层可以选用光电隔离或不采用光电隔离。

  Devicenet提供125/250/500kb/s三种可选的通讯波特率,最大拓扑距离为500m,每个网络段最大可达64个节点。波特率、线缆类型、拓扑距离之间存在一定的对应关系。

2. 数据链路层

  Devicenet数据链路层遵循CAN协议规范,并由CAN控制器芯片实现。CAN提供数据帧、出错帧、远程帧和过载帧等多种帧格式。最重要的是数据帧,其格式如图2所示。



图2 CAN协议数据帧格式

  在总线空闲时每个节点都可以尝试发送,但如果多于两个的节点开始发送,发送权的竞争可以通过标识符位仲裁来解决。Devicenet采用非破坏性逐位仲裁(NBA)的方法解决共享介质总线访问冲突问题。网络上每个节点拥有一个惟一的标识符,这个标识符的值决定了仲裁中优先级的大小。优先级值小的节点在竞争仲裁中为获胜的一方。不同于以太网,总线上不会发生冲突,竞争中获胜的节点可以继续发送,直至完成为止。这种机制保证了总线上的信息不会丢失,总线资源也得到最大的利用,不会浪费。

  标识符还可用作连接标识。Devicenet是基于连接的网络,网络上的任意两个节点在开始通讯之前,必须事先建立连接。

3. 应用层

  Devicenet应用层规范详细定义了有关连接、报文传送和数据分割等方面的内容。

  (1) 数据生成源/消费源(Producer/Consumer Model)与报文传送

  传统的方法是在分组中指定源和目的,存在明显的不足。由于每个目的地都需要单独的指定信息,协同的动作就显得不太方便,而重复传送相同的信息,浪费了带宽;Devicenet利用了CAN的技术,使用生产者/消费者模式标识数据,多个消费者可以同时接收到来自同一个生产者发送的信息。

  Devicenet上的设备既可能是客户,也可能是服务器,或者兼备两个角色。而每一个客户/服务器又都可能是生产者、消费者,或者两者皆是。典型的,服务器“消费”请求,同时“产出”响应;相应的,客户“消费”响应,同时“产出”请求。也存在一些独立的连接,它们不属于客户或服务器,而只是单纯生产或消费数据,这分别对应了周期性或状态改变类数据传送方式的源/目的,这样就可以显著降低带宽消耗。与典型的源/目的模式相比,生产者/消费者模型是一种更为灵活高效的处理机制。

  在Devicenet上,产生数据的设备提供数据,并给这些数据赋予相应的标识符。需要接收数据的设备则监听网络上所传送的报文,并根据其标识符选择接收(即“消费”)合适的报文。按照生产者/消费者模型,在网络上传送的报文不一定再专属于某个固定的源/目的地,网络可以支持多点发送,大大节约了带宽。

  Devicenet定义了两种报文传递的方式,其中I/O报文适用于实时性要求较高的数据,可以是一点/多点传送。直传的报文则适用于两个设备间的点对点报文传递,是典型的请求/ 响应通讯方式,常用于节点的配置、问题诊断等,多使用较低的优先级传送。

  (2)数据通讯方式

  Devicenet支持多种数据通讯方式,如循环(Cyclic)、状态改变(Change Of State)、选通(Strobed)、查询(Polled)等。循环方式适用于一些模拟设备,可以根据设备的信号发生的速度,灵活设定循环进行数据通讯的时间间隔,这样就可以大大降低对网络的带宽要求。状态改变方式用于离散的设备,使用事件触发方式,当设备状态发生改变时才发生通讯,而不是由主设备不断地查询来完成。选通方式下,利用8字节的报文广播,64个二进制位的值对应着网络上64个可能的节点,通过位的标识,指定要求响应的从设备。查询方式下,I/O报文直接依次发送到各个从设备(点对点)。多种可选的数据交换形式,均可以由用户方便地指定。通过选择合理的数据通讯方式,网络使用的效率得以明显的提高。

  (3)对象模型与设备描述

  对象模型提供了组织和实现Devicenet产品构成元件属性、服务和行为的简便的模板。DeviceNet产品典型的对象包括身份对象、报文路由器对象、DeviceNet对象、集合对象、连接对象和参数对象。

  Devicenet规范为属于同一类别,但由不同厂商生产的设备定义了标准的设备模型。符合同一模型的设备遵循相同的身份标识和通信模式。这些与不同类设备相关的数据包含在设备描述中。设备描述定义了对象模型、I/O数据格式、可配置参数和公共接口。

  Devicenet规范还允许厂商提供电子数据表(Electronic Data Sheet,简称EDS),以文件的形式记录结合设备的一些具体的操作参数等信息,便于在配置设备时使用。这样,来自第三方的DeviceNet产品可以方便地连接到DeviceNet上。

  下面介绍Devicenet 网络的特性。

  通讯系统:采用数据生成源/消费源结构(producer/consumer);
  控制结构:选通I/O通讯、查询I/O通讯、设备状态改变I/O通讯或循环I/O通讯;
  典型速率:每8个闭环控制小于1ms;
  最大网络距离和速度:500m内为125kb/s,250m内为250kb/s,100m内为500kb/s;

  总线布局:线性(包括干线和支线)结构、电源和信号线在同一网络电缆中,其中电源用一对双绞线,信号线用一对屏蔽双绞线;
  电源:采用24V直流电源;节点数:最多为64个;
  使用标准:CAN(ISO11898);
  介质访问方式:多点广播(所有节点接受到全部信息),即数据生成源/消费源结构;
  数据包容量:0~8个字节可变;
  设备定义:由ODVA定义基本标准,用户可扩展功能;
  信息交互类型:主/从方式、点对点方式和直接方式。

  Devicenet的拓扑结构如图3所示,表1给出了DeviceNet的网络距离和速率方面的数据。


图3 Devicenet的拓扑结构

  图3中,Terminator是终端电阻;Tap是Devicenet接头;Node是挂在网络上的每个DeviceNet设备;Trunk Line是网络的主干线;Drop Line是网络的支线。

表1 网络数据

  (4) 数据传送技术

  Devicenet的应用层定义了如何分配标识符、CAN的数据域如何被用作指定的服务、传送数据和分析数据的意义。

  网络中信息流动的方法是至关重要的。以前的技术通常采用带起点和目的地址的信息方法。Devicenet采用了数据生成源/消费源(producer/consumer)通讯结构,其数据包为数据提供了标识域,在对多用户进行数据I/O交换时更有效。

  产生数据的设备带有适当的标识,其他网络上的设备都侦听此信息,即消费此数据。当设备辨识到标识符时就利用此数据而不必要求数据带有起点和目的地址。这种技术优点是在多用户使用某一数据的情况下节约了带宽。

  Devicenet主要有两种信息传送的方法:I/O通讯(I/O messaging)和直接通讯(explicit messaging)。

  I/O通讯用于实时面向控制的通讯。它可以和单用户或多用户进行通讯,主要采用高优先级的数据标识符的应用。I/O信息包括了无协议的8位字节数据,只有一个例外——分段的I/O信息,它有1个字节作协议用。

  直接数据通讯在两个设备之间提供点对点的多用途通讯。它提供了典型的请求/应答式通讯,主要用于节点组态和故障诊断,且用于低优先级的数据。

  分段数据是用于长于8个字节的数据传送,每次信息需要1个字节的协议。图4和图5分别为I/O通讯和直接通讯的数据格式。



图4 I/O通讯的格式



图5 直接通讯的格式

  Devicenet提供了强大的应用层功能,允许对设备间的连接进行动态的组态。它注意到某些设备既不需要也不提供此类功能。因此,为简化在典型主/从结构中的数据通讯和组态,定义了一些连接标识,称之为预定义主/从连接集。

  许多传感器和执行装置执行规定的动作(如测量压力、启动马达等),其数据的类型和流量在使用时已经确定。这些设备主要是输入、输出数据和接受组态数据等。预定义的主/从连接集满足这些功能。它提供的功能几乎能在上电时完成设备的组态,因此,对设备传送数据来说只要对预定义的主/从连接集的从机内说明拥有权即可。

  预定义的主/从连接集的建立非常简单,包括一种直接通讯和几种不同的I/O通讯数据交换方法,即位选的命令/应答方式、查询的命令/应答方式、状态改变和循环。

  下面介绍状态改变和循环通讯方式。

  采用状态改变方式,设备仅在其检测的状态发生变化时才发送数据。为了保证数据的接收对象知道它目前所处的工作状态,Devicenet提供一种可调整的后台运行的节拍方式。设备在状态改变和节拍周期到时就发送数据。节拍的作用只是说明设备还在工作,没有被切除离开网络。

  循环可降低不必要的通讯流和包处理。它只保证在模拟量输入发生变化的可能的时间内进行检测,而不是不停地进行快速采样。

  状态改变和周期性轮巡的缺省设置都是应答交换式的,以保证发生设备确定接收设备得到了数据。

二、 Devicenet设备组成

1. 硬件设备

  硬件设备包括组网元件和适用的网络设备。组网元件包括Devicenet线缆、连接端头、设备分接盒、电源分接器等,这些可以归为较通用的产品,而适用于不同控制和I/O设备的DeviceNet网络适配器、扫描器和转换接口,则由厂商根据具体的产品,遵循DeviceNet协议规范开发完成。为数更多的ODVA成员所开发的底层DeviceNet传感器和执行机构等,都可以方便地连接到DeviceNet。

2. 工具软件

  由开发商所提供的界面友好的Devicenet配置和管理工具软件使操作简单而高效。例如,借助于DeviceNet配置工具软件,可以通过生成和管理项目,方便地检查网上设备活动情况,指定具体设备的数据存取方式和与控制器所属扫描设备间的数据映射关系、设备的增删与更改、调节设备的可控制参数等。除非指定项目范围中的设备发生变更或增删,DeviceNet项目一旦建立好,网络对应用便是透明的。

三、 DviceNet兼容产品的开发

  Devicenet是基于CAN的现场总线,从技术的角度上来说,其开发并不困难。但由于其特殊性,在开发DeviceNet兼容产品时要考虑以下几点。

1. 产品功能

  大多数Devicenet产品只具备从机的功能。开发从机功能产品首要考虑的问题是I/O通讯。在DeviceNet的初始阶段,在主机产品中只包含位选通(bit strobe)和查询式(poll)I/O通讯。但随着越来越多的具有状态改变(change of state)通讯和循环(cyclic)I/O通讯的主机产品的出现,其优越的带宽特性使用户必须考虑这些通讯方法。

  位选通式通讯主要用于那些含有少量的位数据的传感器或其他从机设备。查询式通讯是一种主要的I/O数据交换手段,必须在所有的应用中加以考虑。状态改变式通讯是增加网络吞吐量并降低网络负载的有效方法,由于它允许延用CAN协议中的多主机特性,在开发新产品时,应该考虑它。

  第二个要考虑的问题是设备信息的直接通讯功能。Devicenet协议要求所有设备支持直接通讯,至少是标识符。DeviceNet和通讯对象必须能由直接通讯来访问,如在DeviceNet规约中定义的那样。但如果组态要求超过了只设定几个开关的功能,就必须考虑通过直接通讯来组态设备。

  分段功能,虽然不是必须具备的,但至少对直接信息应答所有使用32位名称域的产品时要考虑。如果还想支持通过Devicenet口进行上载/下载组态或对固件进行版本更新,则必须对发送和接受信息采用直接通讯的分段功能。

2. 物理层的要求

  Devicenet允许有4种连接方式:迷你型接头、微型接头、开放式接头和螺栓型接头。如可能,采用迷你型接头、微型接头、开放式接头配之以其他接线部件,则可进行即插即用的安装。而在一些不能利用以上三种接头的场合,则采用螺栓型接头。

  在Devicenet中目前只有125kb/s和500kb/s两种速率。由于严格的网络长度限制,它不支持CAN的1Mb/s速率。

  Devicenet要求收发器超越ISO11898的要求,主要是因为在其连接上要挂64个物理设备。满足这些要求的器件有:飞利浦82C250、飞利浦82C251、Unitrode UC5350 等。

  Devicenet物理层可以选择使用隔离,完全由网络供电的设备和与外界无电连接的设备(如传感器)可以不用隔离。与外界有电联系的设备应该具有隔离。光电隔离器件的速度很重要,因为它决定了收发器的总延时,规约中要求的最大延时为40ns。

3. CAN/微处理器硬件

  由于目前的SLIO芯片不能满足Devicenet的最低要求,因此,不能采用SLIO。采用11位标识符的CAN芯片可以使用,采用长标识符(29位)的芯片则不能使用。

  如将设备限制在2类(仅从机功能)时,可以使用基本的CAN芯片。规约中2类的特性对基本的CAN芯片进行了优化。但带内置CAN芯片的微处理器会减少芯片的价值,因此,仅在它们能满足设备要求时才被推荐使用。采用独立的CAN芯片会使设计更加灵活。每个Devicenet必须有一个分配给制造商的、对此产品惟一的一个32位序号。

  在复位、上电和断电时要特别注意CAN H和CAN L线的状态。在此阶段,CAN芯片会跳向其他层面,而此层面会导致总线成为被驱动类型。如采用被动的上拉或下拉电气方式、控制寄存器的初试化以及转换TXD路径到收发器,则能保证CAN线上的状态为无害的。不要将控制器上不用的输入端浮空。

4. 采用的软件

  Devicenet方面的软件包有许多种,可以与自己的产品协同工作。考虑其特性是首要的问题, 以下提出一些必须考虑的问题:

  (1) 该软件对自己的硬件适用否?
  (2) 是否要重写汇编代码?
  (3) 在何种程度上要重写硬件的驱动程序?
  (4) 软件的速度对自己的产品适合否?
  (5) 自己的应用是否需要所有的通讯特性(如I/O交换和直接信息传送)?
  (6) 是否支持分段?
  (7) 采用何种编译器?

5. 选择设计还是购买的策略

  在确定是自行设计还是购买产品时,可以作如下的考虑:

  (1) 自己是否掌握足够的开发知识,如CAN和微处理器?
  (2) 是一次性设计产品还是将来要改进的?
  (3) 仅实现从机功能的产品极易开发,一些公司只要数周即可完成。但比较复杂的产品,如具有主机功能的,采用商业开发软件包来开发比较好。

6. 组态要求

  Devicenet设备可以通过强大的EDS(电子数据库)进行组态,因此,建议开发者生成自己产品的EDS。组态用于两个方面:首先是设置通讯参数如波特率等,其次是设置与应用相关的参数,如果该产品的EDS存在,它可以与文本和帮助信息一起显示。修改参数可采用纯英文文本或规定格式,可以在线观察参数。EDS文件是很容易建立的。

7. 产品确认测试

  目前,ODVA是官方的Devicenet产品测试机构,它主要测试协议和物理层的兼容性。测试只有通过和未通过两个结果。ODVA并不强迫产品测试。但由于用户的要求以及对产品的信任,通过测试对产品大有益处。测试主要分两个步骤。

  步骤1:设计者采用描述工具软件描述产品对象的细节,在测试所有协议特性时需要此类描述。设计者在开发阶段也可进行自我测试。该软件(可从ODVA得到)允许在开发阶段仅对某些协议特性进行测试。如果设计者自测完成,则可缩短正式测试的时间并减少错误。

  步骤2:开发者与ODVA联系测试事宜。如测试通过,其结果将由ODVA来公布。

8. 设计工具

  一般来说,可以用微处理器开发系统来完成开发。因此,这里只讨论与Devicenet (CAN) 有关的工具,其最小配置为CAN的监视器,它是一个由PC卡和相关软件组成的工具。DeviceNet的兼容工具可以向Softing、STZP、Huron Networks、S-S Technologies等公司购买。其价格和性能差别很大。一个典型的底层开发工具是Rockwell Automation公司的Slave Development Tools和代码例子 ,而Vector Informatik CANALYZER 是一个最高层的开发工具。实际上,ODVA可以提供大量的有用信息,如果只想作CAN这一层的工作,有许多公司的产品可以完成对CAN层的监视。

  如果开发的产品可以使用了,可以考虑在一个典型的工业控制环境使用,如在产品将要应用的典型环境里。这里要包括使用组态工具来检查其对直接信息传送的反应、是否能改变设备的组态参数等。

9. 基本要求

  Devicenet是一个非常开放、限制很少的开放型网络。惟一要进行注册的是申请一个厂商ID号,其作用是在一个运行的网络中区别自己开发的产品和其他厂家的产品。在向ODVA购买了技术手册并确定协议后就可以得到该ID号。

  本文介绍了Devicenet的技术、优点和开发方法。DeviceNet正以其突出的特性在工业控制和仪表行业逐渐推广,并将成为工业现场总线的技术范例。

你可能感兴趣的:(自动控制,产品,通讯,网络,测试,工具,服务器)