现场总线与工业以太网基金会现场总线组态基础.ppt
2.3 基金会现场总线组态基础,2.3.1 基本概念2.3.2 系统管理和网络管理2.3.3 基金会现场总线的编程语言2.3.4 链路活动调度执行组态,2.3 基金会现场总线组态基础,基金会现场总线(FF)非常好地满足了设备组态的要求。其协议有标准的参数用于设置设备的运行。正是这一特性,使它同其他协议区别开来,成为用于现场仪表的最通用的协议。基金会现场总线(FF)的参数组织在功能块中。可以事先将准备好并经过验证的设备组态形成模板,组态时使用这些模板可以加快组态速度并减少错误。,2.3.1 基本概念,1链路活动调度器LAS 在数据链路层上所生成的协议控制信息就是为完成对总线上的各类链路传输活动进行控制而设置的。总线通信中的链路活动调度,数据的接收发送,活动状态的探测、响应,总线上各设备间的链路时间同步,都是通过数据链路层实现的。每个总线段上有一个媒体访问控制中心,称为链路活动调度器(LAS,link active scheduler)。LAS具备链路活动调度能力,便可形成链路活动调度表,并按照调度表的内容形成各类链路协议数据,链路活动调度是该设备中数据链路层的重要任务。对没有链路活动调度能力的设备来说,其数据链路层要对来自总线的链路数据做出响应,控制本设备对总线的活动。此外在DLL层还要对所传输的信息实行帧校验。,2链路活动调度器LAS功能 链路活动调度器LAS拥有总线上所有设备的清单,由它来掌管总线段上各设备对总线的操作。任何时刻每个总线段上都只有一个LAS处于工作状态,总线段上的设备只有得到链路活动调度器LAS的许可,才能向总线上传输数据。因此LAS是总线的通信活动中心。如图2.27所示。,基金会现场总线的通信活动被归纳为两类:受调度通信与非调度通信。由链路活动调度器按预定调度时间表周期性依次发起的通信活动,称为受调度通信。链路活动调度器内有一个预定调度时间表。一旦到了某个设备要发送的时间,链路活动调度器就发送一个强制数据(CD,compel data)给这个设备。基本设备收到了这个强制数据信息,就可以向总线上发送它的信息。现场总线系统中这种受调度通信一般用于在设备间周期性地传送控制数据。如在现场变送器与执行器之间传送测量或控制器输出信号。,在预定调度时间表之外的时间,通过得到令牌的机会发送信息的通信方式称为非调度通信。非调度通信在预定调度时间表之外的时间,由LAS通过现场总线发出一个传递令牌(PT,pass token),得到这个令牌的设备就可以发送信息。所有总线上的设备都有机会通过这一方式发送调度之外的信息。由此可以看到,FF通信采用的是令牌总线工作方式。受调度通信与非调度通信都是由LAS掌管的。按照基金会现场总线的规范要求,链路活动调度器应具有以下五种基本功能:,(1)向设备发送强制数据CD。按照链路活动调度器内保留的调度表,向网络上的设备发送CD。调度表内只保存要发送CD DLPDU的请求,其余功能函数都分散在各调度实体之间。(2)向设备发送传递令牌PT,使设备得到发送非周期数据的权力,为它们提供发送非周期数据的机会。,图2.27 现场总线仪表与LAS,(3)为新入网的设备探测未被采用过的地址。当为新设备找好地址后,把它们加入到活动表中。(4)定期对总线段发布数据链路时间和调度时间。(5)监视设备对传递令牌PT的响应,当设备既不能随着PT顺序进入使用,也不能将令牌返还时,就从活动表中去掉这些设备。,3强有力功能块 由标准功能块组成的基金会现场总线编程语言功能极为强大。一般每个功能块相当于把几个专有语言功能块的功能装在一个模块中。但是,真正使这些功能块变得强有力的是它的握手(handshake)能力,以及使状态信息与数值信息一起从一个功能块传到另一功能块的能力。由于功能块的行为是标准化的,所以这些功能可以跨越几个不同制造商的设备来完成。功能块还包含使用这些状态信息的标准停车连锁和串级初始化机制。这就意味着不需要对使用不同语言的附加逻辑进行组态,便可实现这些及许多其他的功能。换句话说,工厂不仅仅是从单独的功能块的能力中获得好处,更重要的是从能把这些模块链接起来的标准化互操作性的结合能力中获得好处。,2.3.2 系统管理和网络管理,1系统管理(1)系统管理概述 每个设备中都有系统管理实体。该实体由用户应用和系统管理内核(SMK,system management kernel)组成。系统管理内核SMK可看作一种特殊的应用进程AP。从它在通信模型中的位置可以看出,系统管理是通过集成多层的协议与功能而完成的。系统管理用以协调分布式现场总线系统中各设备的运行。基金会现场总线采用管理员代理者模式(SMgrSMK),每个设备的系统管理内核(SMK)承担代理者角色,对从系统管理者(SMgr)实体收到的指示做出响应。系统管理可以全部包含在一个设备中,也可以分布在多个设备之间。,系统管理内核使该设备具备与网络上其他设备进行互操作的基础。图2.28为系统管理内核的框图。在一个设备内部,SMK与网络管理代理和设备应用进程之间的相互作用属于本地作用。,系统管理内核是一个设备管理实体。它负责网络协调和执行功能的同步。SMK采用两个协议进行通信,即FMS和SMKP。为加强网络各项功能的协调与同步,使用了系统管理员代理者模式。在这一模式中,每个设备的系统管理内核承担了代理者的任务并响应来自系统管理员实体的指示。系统管理内核协议SMKP(SMK protoco1)就是用以实现管理员和代理者之间的通信的。系统管理操作的信息被组织为对象,存放在系统管理信息库(SMIB)中,从网络的角度来看,SMIB属于管理虚拟设备(MVFD,management virtual field device),这使得SMIB对象可以通过FMS服务进行访问(如读,写),MVFD与网络管理代理共享。,图2.28 系统管理与其他部分的关系,系统管理内核的作用之一是要把基本系统的组态信息置入到系统管理信息库中。采用专门的系统组态设备,如手持编程器,通过标准的现场总线接口,把系统信息置入到系统管理信息库。组态可以离线进行,也可以在网络上在线进行。,SMK采用了两种通信协议,即FMS与SMKP(系统管理内核协议),FMS用于访问SMIB,SMKP用于实现SMK的其他功能。为执行其功能,系统管理内核SMK必须与通信系统和设备中的应用相联系。系统管理内核除了使用某些数据链路层服务之外,还运用FMS的功能来提供对系统管理信息库SMIB的访问。设备中的SMK采用与网络管理代理共享的VFD模式。采用应用层服务可以访问SMIB对象。在地址分配过程中,系统管理必须与数据链路管理实体(DLME,data link management entity)相联系。系统管理SM和DLME的界面是本地生成的。系统管理内核与数据链路层有着密切联系。它直接访问数据链路层,以执行其功能。这些功能由专门的数据链路服务访问点(DLSAP,data link layer service access point)来提供。DLSAP地址保留在数据链路层。,系统管理内核SMK采用系统管理内核协议(SMKP)与远程SMK通信。这种通信应用有两种标准数据链路地址。一个是单地址,该地址唯一地对应予一个特殊设备的SMK;另一个是链路的本地组地址,它表明了在一次链接中要通信的所有设备的SMK。SMKP采用无连接方式的数据链接服务和数据链路单元数据(DL-unit data)。而SMK则采用数据链路时间(DL-time)服务来支持应用时钟同步和功能块调度。从系统管理内核与用户应用的联系来看,系统管理支持节点地址分配、应用服务调度、应用时钟同步和应用进程位号的地址解析。系统管理内核通过上述服务使用户应用得到这些功能。图2.29表明了SMK所具备的用以支持这些联系的组成模块与结构关系。它可以作为服务器或响应者工作,也可以作为客户端工作,为设备应用提供服务界面。本地SMK和远程SMK相互作用时,本地SMK可以起到服务器的作用,满足各种服务请求。,图2.29 系统管理功能及其组织,从图中可以看到,系统管理内核SMK为设备的网络操作提供多种服务:访问系统管理信息库,分配设备位号与地址;进行设备辨认;定位远程设备与对象;进行时钟同步、功能块调度等。,(2)系统管理的作用 系统管理可完成现场设备的地址分配、寻找应用位号、实现应用时钟的同步、功能块列表、设备识别以及对系统管理信息库SMIB的访问等功能。现场设备地址分配 现场设备地址分配应保证现场总线网络上的每个设备只对应唯一的一个节点地址。首先给未初始化设备离线地分配一个物理设备位号,然后使设备进入初始化状态。设备在初始化状态下并没有被分配节点地址,但能附属于网络。一旦处于网络之上,组态设备就会发现该新设备并根据它的物理设备位号给它分配节点地址。它包括一系列由定时器控制的步骤,以使系统管理代理定时地执行它们的动作和响应管理员请求。在错误情况下,代理必须有效地返回到操作开始时的状态。它也必须拒绝与它当时所处状态不相容的请求。,寻找应用位号 以位号标识的对象有物理设备(PD)、虚拟现场设备(VFD)、功能块(FB)和功能块参数。现场总线系统管理允许查询由位号标识的对象,包含此对象的设备将返回一个响应值,其中包括有对象字典目录和此对象的虚拟通信关系表。此外,必要时还允许采用位号与其他特定应用对象发生联系。该功能还允许正在请求的用户应用决定,是否复制已存在于现场总线系统中的位号。应用时钟同步 SMK提供网络应用时钟的同步机制。由时间发布者的SMK负责应用时钟时间与存在于数据链路层中的链路调度时间之间的联系,以实现应用时钟同步。基金会现场总线支持存在冗余的时间发布者。为了解决冲突,它利用协议规则来决定哪个时间发布者起作用。SMK没有采用应用时钟来支持它的任何功能。每个设备都将应用时钟作为独立于现场总线数据链路时钟而运行的单个时钟,或者说,应用时钟时间可按需要,由数据链路时钟计算而得到。,功能块调度 SMK代理的功能块调度功能,运用存储于SMIB中的功能块调度,告知用户应用该执行的功能块,或其他可调度的应用任务。这种调度按被称为宏周期的功能块重复执行。宏周期起点被指定为链路调度时间。所规定的功能块起始时间是相对于宏周期起点的时间偏移量。通过这条信息和当前的链路调度时间LS-time,SMK就能决定何时向用户应用发出执行功能块的命令。功能块调度必须与链路活动调度器中使用的调度相协调。允许功能块的执行与输入输出数据的传送同步。设备识别 现场总线网络的设备识别通过物理设备位号和设备ID来进行。系统管理还可以通过FMS服务访问SMIB,实现设备的组态与故障诊断。(3)系统管理服务和作用过程 图2.30表示了系统管理内核及其所提供的服务的作用过程。从图中可以看到,它所提供的主要服务有:地址分配、设备识别、定位服务、应用时钟同步、功能块调度。下面介绍这几种服务。,图2.30 系统管理内核及其服务,功能块调度 SMK代理的功能块调度功能,运用存储于SMIB中的功能块调度,告知用户应用该执行的功能块,或其他可调度的应用任务。,设备地址分配 每个现场总线设备都必须有一个唯一的网络地址和物理设备位号,以便现场总线有可能对它们实行操作。为了避免在仪表中设置地址开关,这里通过系统管理自动实现网络地址分配。为一个新设备分配网络地址的步骤如下:通过组态设备分配给这个新设备一个物理设备位号。这个工作可以“离线”实现,也可以通过特殊的缺省网络地址“在线”实现。系统管理采用缺省网络地址询问该设备的物理设备位号,并采用该物理设备位号在组态表内寻找新的网络地址。然后,系统管理给该设备发送一个特殊的地址设置信息,迫使这个设备移至这个新的网络地址。对进入网络的所有的设备都按缺省地址重复上述步骤。设备识别 SMK的识别服务容许应用进程从远程SMK得到物理设备位号和设备标示ID。,设备ID是一个与系统无关的识别标志,它由生产者提供。在地址分配中,组态主管也采用这个服务去辨认已经具有位号的设备,并为这个设备分配一个更改后的地址。应用时钟分配 基金会现场总线支持应用时钟分配功能。系统管理者有一个时间发布器,它向所有的现场总线设备周期性地发布应用时钟同步信号。数据链路调度时间与应用时钟一起被采样、传送,使得正在接收的设备有可能调整它们的本地时间。应用时钟同步允许设备通过现场总线校准带时间标志的数据。寻找位号(定位)服务 系统管理通过寻找位号服务搜索设备或变量,为主机系统和便携式维护设备提供方便。系统管理对所有的现场总线设备广播这一位号查询信息,一旦收到这个信息,每个设备都将搜索它的虚拟现场设备VFD,看是否符合该位号。,如果发现这个位号,就返回完整的路径信息,包括网络地址、虚拟现场设备VFD编号、虚拟通信关系VCR目录、对象字典目录。主机或维护设备一旦知道了这个路径,就能访问该位号的数据。功能块调度 功能块调度指示用户应用,现在已经是执行某个功能块或其他可执行任务的时间了。SMK使用SMIB中的调度对象和由数据链路层保留的链路调度时间来决定何时向它的用户应用发布命令。功能块执行是可重复的,每次重复称为一个宏周期(macrocycle),宏周期通过使用值为零的链路调度时间作为它们起始时间的基准而实现链路时间同步。也就是说,如果一个特定的宏周期生命周期是1 000,那么它将以0,1 000,2 000等时间点作为起始点。,每个设备都将在它自己的宏周期期间执行其功能块调度。如数据转换和功能块执行时间通过它们相对各自宏周期起点的时间偏置来进行同步。设备中的功能块执行则在SMIB FB Start Entry Objects中定义。该SMIB内容就是功能块调度。当控制一个过程时,发生在固定时间间隔上的监控和输出改变是十分重要的。与该固定时间间隔的偏差称为抖动,其值必须很小。根据为每个设备组态的SMIB FB Start Entry Objects,功能块精确地在固定时间间隔上执行。合适的功能块调度和它的宏周期周期必须下载到执行功能块的设备的SMIB中。设备利用这些对象和当前LS时间来决定何时执行它的功能块。采用调度组建工具来生成功能块和链路活动调度器。假定调度组建工具已经为某个控制回路组建了表2.11所示的调度表。该调度表包含有开始时间,这个开始时间是指它偏离绝对链路调度开始时间起点的数值。绝对链路调度开始时间是总线上所有设备都知道的。,表2.11 某控制回路调度表,图2-31描述了绝对链路调度开始时间、链路活动调度循环周期、功能块调度与绝对开始时间偏离值之间的关系。在偏离值为0的时刻,变送器中的系统管理将引发AI功能块的执行。在偏离值为20的时刻,链路活魂调度器将向变送器内的AI功能块的缓冲器发出一个强制数据CD,缓冲器中的数据将发布到总线上。在偏离值为30的时刻,调节阀中的系统管理将引发PID功能块的执行,随之在偏离值为50的时刻,执行AO功能块。控制回路将准确地重复这种模式。,注意,在功能块执行的间隙,链路活动调度器LAS还向所有现场设备发送令牌消息,以便它们可以发送它们的非受调度消息,如报警通知、改变给定值等。在这个例子中,只有偏离值从2030,即当AI功能块数据正在总线上发布的时间段不能传送非受调度信息。2基金会现场总线的网络管理(NM)现场总线基金会采用网络管理代理(NMA,network management agent),网络管理者(NMgr,network manager)工作模式。FF的每台设备都有一个网络管理代理,负责管理其通信栈,并监督其运行。每个现场总线网络至少有一个网络管理者,网络管理者实体在相应的网络管理代理的协同下,完成网络的通信管理。执行网络的通信管理。网络管理者(NMgr)指导网络管理代理(NMA)运行。网络管理(Network Management,NM)的主要功能为对通信栈组态、下载链路活动调度表、下载虚拟通信关系表(VCRL)或表中某个条目、通信性能的监视及通信异常的监视。,图2.31 功能块调度与宏周期(1)网络管理的组成 基金会现场总线(FF)的网络管理(NM)主要由网络管理者(NMgr)、网络管理代理(NMA)和网络管理信息库(Network Management Information Base,NMIB)三部分组成。,网络管理者 每个现场总线网络至少有一个网络管理者(NMgr),它按系统管理者的规定负责维护网络运行,并根据系统运行需要或系统管理者指示,来执行某个动作。网络管理者监视每台设备中通信栈的状态。它通过处理由NMA生成的报告,来完成某个任务。它指挥NMA,再通过FMS,来执行它所要求的任务。一台设备内网络管理与系统管理的相互作用属于本地行为,但网络管理者与系统管理者之间的关系涉及到系统构成。网络管理者(NMgr)实体指导网络管理代理(NMA)运行,由NMgr向NMA发出指示,再由NMA对它作出响应。NMA也可在一些重要的事件或状态发生时通知NMgr。网络管理代理 每台设备都有一个网络管理代理(NMA),负责管理通信模型中的第二层至第七层(即通信栈),并监督其运行。网络管理代理支持组态管理、运行管理、监视通信性能、判断通信差错。,网络管理代理利用组态管理设置通信栈内的参数,选择工作方式与内容。在工作期间,网络管理代理可以观察、分析设备的通信状况,如果判断出有问题,并需要改进或者改变设备间的通信,那就可以在设备工作的同时实现重新组态。是否重新组态则取决于它与其他设备间的通信是否已经中断。组态信息、运行信息、出错信息尽管大部分实际上驻留在通信栈内,但都包含在网络管理信息库(NMIB)中。网络管理者(NMgr)与它的网络管理代理(NMA)之间的虚拟通信关系是VCR表中的第一个虚拟通信关系。它提供了排队式、用户触发、双向的网络访问。它以含有NMA的所有设备都熟知的数据链路连接端点地址的形式,存在于含有NMA的所有设备中,并要求所有的NMA都支持这个VCR。通过其他VCR,也可以访问NMA,但只允许监视。,网络管理信息库 网络管理信息库(NMIB)是被管理变量的集合,包含了设备通信系统中组态、运行、差错管理的相关信息。网络管理信息库(NMIB)和系统管理信息库(SMIB)结合在一起,成为设备内部访问管理信息的中心。NMIB的内容是借助虚拟现场设备管理和对象字典来描述的。(2)网络管理代理的虚拟现场设备 网络管理代理的虚拟现场设备(NMA VFD)是网络上可以看到的网络管理代理,或者说是由FMS看到的网络管理代理。NMA VFD运用FMS服务,使得NMA可以穿越网络进行访问。NMA VFD的属性有:厂商名、型号、版本号、行规号、逻辑状态、物理状态及VFD专有对象表。其中前三项由制造商规定并输入;行规号为0X4D47,即网络管理英文字母M、G的ASCII代码4DH、47H;逻辑状态和物理状态属于网络运行的动态数据;VFD专有对象是指NMA索引对象。NMA索引对象是NMIB中对象的逻辑映射,它作为一个FMS数组对象定义。,NMA VFD也象其他虚拟现场设备那样,具有它所包含的所有对象的对象描述,并形成对象字典(OD);也象其他对象字典那样,它把对象字典本身作为一个对象进行描述。NMA VFD对象字典的对象描述是NMA VFD对象字典中的条目0,其内容有:标识号、存储属性(ROM/RAM)、名称长度、访问保护、OD版本、本地地址、OD静态条目长度、第一个索引对象目录号。NMA索引对象是包含在NMIB中的一组逻辑对象。每个索引对象包含了要访问的由NMA管理的对象所必需的信息。通信行规、设备行规、制造商都可以规定NMA_VFD中所含有的网络可访问对象。这些附加对象收容在OD里,并为它们增加索引,通过索引指向这些对象。要确保所增加的对象定义不会受底层管理的影响,即所规定的对象属性、数据类型不会被改变、替换或删除。NMA索引对象被规定为FMS数组对象。NMA标准索引总是由第二个SOD(静态对象字典)条目描述。,当存在N个索引对象时,它们分别由对象字典中前N个连续的S_OD条目引导。数字N被收作索引对象数组中的一个值。数组内包括的内容有:数字标识符、数据类型目录号、元素长度、元素数量、访问组、访问权、密码、本地地址等。索引对象数组在逻辑上被分为标题(头)和一组指针,指针指向三类对象:FMS单对象、复合对象、复合列表对象。复合对象是两个或多个具有连续对象指针的FMS单对象组成的复合组,组内对象具有不同的FMS对象类型。索引提供的指针指向组内第一个对象,即指向具有最低对象目录号的对象。复合列表对象是一组相关的、连续的索引条目,每个都指向同类型的复合对象。(3)网络管理的服务 不同的网络管理对象使用各自相应的FMS服务。例如,NMA _VFD的属性由FMS Identify服务读取;NMA_VFD OD由Get OD、Put OD访问;索引对象及其他具体管理对象支持FMS Read和FMS Write两种服务访问。NMA可以表示为多个复合对象,复合对象是用类(Class)模型定义的。下面列举几个类模型,如表2.12所示。,表2.12 类模型举例,网络管理者与网络管理代理 网络管理者按系统管理者的规定,负责维护网络运行。网络管理者监视每个设备中通信栈的状态。在系统运行需要或系统管理者指示时,执行某个动作。网络管理者通过处理由网络管理代理生成的报告,来完成其任务。它指挥网络管理代理,通过FMS,执行它所要求的任务。一个设备内部网络管理与系统管理的相互作用属本地行为,但网络管理者与系统管理者之间的关系,涉及到系统构成,网络管理者NMgr实体指导网络管理代理NMA运行,由NMgr向NMA发出指示,而NMA对它做出响应,NMA也可在一些重要的事件或状态发生时通知NMgr。每个现场总线至少有一个网络管理者。每个设备都有一个网络管理代理NMA,负责管理其通信栈。通过网络管理代理支持组态管理、运行管理、监视判断通信差错。网络管理代理利用组态管理设置通信栈内的参数,选择工作方式与内容,监视判断有无通信差错。在工作期间,它可以观察、分析设备通信的状况,如果判断出有问题,需要改进或者改变设备间的通信,就可以在设备一直工作的同时实现重新组态。是否重新组态则取决于它与其他设备间的通信是否已经中断。组态信息、运行信息、出错信息尽管大部分实际上驻留在通信栈内,但都包含在网络管理信息库NMIB中。网络管理负责以下工作:下载虚拟通信关系表VCRL或表中某个单一条目;对通信栈组态;,下载链路活动调度表LAS;运行性能监视;差错判断监视。NMA是一个设备应用进程,它由一个FMS VFD模型表示。在NMA VFD中的对象是关于通信栈整体或各层管理实体(LME)的信息。这些网络管理对象集合在网络管理信息库(NMIB)中,可由NMgr使用一些FMS服务,通过与NMA建立VCR进行访问。NMgr,NMA及被管理对象间的相互作用如图2.32所示。,图2.32 网络管理者、被管理对象、网络管理代理之间的相互作用关系,在网络管理者与它的网络管理代理之间的通信规定了标准虚拟通信关系。网络管理者与它的网络管理代理之间的虚拟通信关系总是VCR表中的第一个虚拟通信关系。它提供了可用时间、排队式、用户触发、双向的网络访问。网络管理代理VCR,以含有NMA的所有设备都熟知的数据链路连接端点地址的形式,存在于含有NMA的所有设备中,要求所有的NMA都支持这个VCR。通过其他VCR,也可以访问NMA,但只允许通过那些VCR进行监视。网络管理信息库NMIB(network management information base)是网络管理的重要组成部分之一,它是被管理变量的集合。包含了设备通信系统中组态、运行、差错管理的相关信息。网络管理信息库NMIB与系统管理信息库SMIB结合在一起,成为设备内部访问管理信息的中心。网络管理信息库的内容是借助虚拟现场设备管理和对象字典来描述的。,(4)通信实体 图2.33为现场总线通信实体示意图。从图中可以看到,通信实体包含自物理层、数据链路层、现场总线访问子层和现场总线信息规范层直至用户层、占据了信模型的大部分地区,是通信模型的重要组成部分。设备的通信实体由各层的协议和网络管理代理共同组成,通信栈是其中的核心。图中的层管理实体LMEs提供对一层协议的管理能力。FMS,FAS,DLL,物理层都有自己的层管理实体。层管理实体向网络管理代理提供对协议被管理对象的本地接口。网络对层管理实体及其对象的全部访问,都是通过NMA进行的。图2.33中的PH-SAP为物理层服务访问点;DL-SAP为数据链路服务访问点;DL-CEP为数据链路连接端点。它们是构成层间虚拟通信关系的接口端点。层协议的基本目标是提供虚拟通信关系。FMS提供VCR应用报文服务,如变量读、写。不过,有些设备可以不用FMS,而直接访问FAS。,图2.33 现场总线通信实体示意图,系统管理内核除采用FMS服务外,还可在经过系统管理内核协议直接访问数据链路层。FAS对FMS和应用进程提供VCR报文传送服务,把这些服务映射到数据链路层。FAS提供VCR端点对数据链路层的访问,为运用数据链路层提供了一种辅助方式。在FAS中还规定了VCR端点的数据联络能力。数据链路层为系统管理内核协议和总线访问子层访问总线媒体提供服务。访问通过链路活动调度器进行,访问可以是周期性的,也可是非周期的。数据链路层的操作被分成两层,一层提供对总线的访问,一层用于控制数据链路用户之间的数据传输。物理层是传输数据信号的物理媒体与现场设备之间的接口。它为数据链路层提供了独立于物理媒体种类的接收与发送能力。它由媒体连接单元、媒体相关子层、媒体无关子层组成。各层协议、各层管理实体和网络管理代理所组成的通信实体协同工作,共同承担网络通信任务。,2.3.3 基金会现场总线的编程语言,模块有功能快、转换快、资源块三种,功能块编程语言是基金会现场总线(FF)的一个有机部分,是针对调节控制和过程监测建立策略的理想工具。FF建立的几十种标准功能模块可以执行控制系统所需的不同功能,并且还推出了针对离散逻辑功能的模块。通过选择、链接这些模块并设置参数,用户可以建立控制策略。转换块、资源块以及功能块在H1和HSE设备中都按相同的方式工作。1相关术语和基础知识(1)资源块 资源块表达了现场设备的本地硬件对象及其相关运行参数,描述了设备的特性,如设备类型、设备版本、制造商等。为了能使资源块表达这些特性,规定了一组参数,见表2.13。这些参数全是内含参数,且资源块无输入输出参数,所以它没有连接。,表2.13 资源块部分参数表,(2)变换块 变换块描述了现场设备的I/O特性,如传感器和执行器的特性。变换块的参数都是内含的,以标准压力变换块为例,参数列于表2.14。基金会定义了7类标准的变换块:带标定的标准压力变换块、带标定的标准温度变换块、带标定的标准液位变换块、带标定的标准流量变换块、标准的基本阀门定位块、标准的先进阀门定位块、标准的离散阀门定位块。(3)功能块 功能块是参数、算法和事件的完整组合。通过对功能块的连接和组态,构成控制回路,实现控制策略,完成自动化系统的任务。现场总线基金会规定了一组标准基本功能块共10个,分别是输入块:模拟量输入(AI)、离散输入(DI);输出块:模拟量输出(AO)、离散输出(DO);控制块:手动装载(ML)、控制选择(CS)、偏置(BG)、比例积分(PD)、比例积分微分(PID)、比率系数(RA)。,此外还规定了19个标准附加功能块,分别是7个先进功能块、7个计算块、5个辅助功能块。功能块可以按照对设备的功能需要设置在现场设备内。如温度变送器和压力变送器中可能包含AI功能块,调节阀中可能包含PID和AO功能块等。资源块、转换块以及功能块都包含内含参数,用于模块设置和操作以及诊断。功能块还包含输入参数,经模块算法运算后产生输出参数。一个功能块中总共有三类参数:内含参数(Contained parameter)、输入参数(Input parameter)、输出参数(Output parameter)。例如,AI功能块它所包含的参数见表2.15。2.功能块链接 从输出参数到输入参数,功能块彼此链接。链路中既包括参数数值,又包括参数状态。一个输出参数可以链接到任何数目的输入。不同设备间功能块的链接通过网络通信实现。,同一设备上功能块的链接不需通过总线进行通信,因而会立刻完成并且不占用网络带宽(见图2.34)。因此,如果希望减少设备间通信量,可以尽可能地将功能块安排在一个设备中,使链路存在于设备内部,从而提高回路响应时间。资源块和转换块不是控制策略的一部分,它们所有的参数都是内含参数,不可以进行链接。输入参数也可以链接到另一个输入参数,但仅局限于同一个设备内。组态工具的习惯做法是在一个设备内将多个输入链接起来,而不是从一个设备的一个输出分别链接到另一个设备的两个或多个输入。这样可以减少外部链路数量。组态工具通常会检查控制策略中不必要的外部链,并把它转换成内部链。所有带外部链的输出参数会在网络上“发布”(publish),意味着该输出对所有需要使用它的输入有效。带外部链的输入分别“接收”(subscribe)输出。,表2.15 AI控制功能块部分参数表E:列举参数;na:无单位位串;RO:只读;D:动态;S:静态;N:非易失,如果更新输入参数的通信发生故障,会反应在状态上,使模块采取行动并把它提示给操作员。离散输出只能链接到离散输入。同样,模拟输出只能链接到模拟输入。到模拟输入。用户可以对没有链接的输入参数进行写入,但不可以对链接了的输入参数进行写入。三种链接如下:,图2.34功能块链接,非串级(向前)(Noncascade(forward)串级向前(Cascade forward)串级向后(Cascade backward)现场总线术语中,作为向前链路源头的模块被称为“高端”(higher)或“上游”(upstream)模块。相应地,接收向前链路的模块被称为“低端”(lower)或“下游”(downstream)模块。传统的控制策略中,术语串级(cascade)的意思是:主PID控制器的输出作为次级PID控制器的设定点。基金会中串级(cascade)有着更广泛的意义:从其他功能块接收设定点的任何类型的功能块 例如,PID模块的输出(OUT)链接到一个模拟输出(AO)的串级输入(CAS_IN)并成为其设定点,继而用于控制阀门开度的伺服装置。虽然初次听起来,这种更广泛含义的串级似乎很奇怪,但很快就会顺理成章了。与传递上游模块输出到下游模块串级设定点的向前串级链路相关的,是从下游模块返回到设定点源头的向后反馈链路。,反馈链路起自回算输出(BK_CAL_OUT),中止于回算输入(BKCAL_IN),用来提供若干实用的联锁和无扰切换。向前和向后串级链路通称串级结构(见图2.35)。例子:一个基本PID回路由三个模块组成:模拟输入(AI)、PID控制(PID)以及模拟输出(AO)。三个功能块需要链接起来(见图2.36)。第一个链路从AI模块输出(OUT)到PID模块主要输入(IN),用于过程变量。第二个从PID模块输出(OUT)到AO模块串级设定点输入(CAS_IN)。最后,链路从AO模块回算输出(BKCAL_OUT)返回到PID模块回算输入(BKCAL_IN)。这样,PID和AO间的串级结构和两个PID间的一样(见图2.37)。回算输出,且只有回算输出,可以链接到回算输入。一个回算输出应该链接到一个,且只能是一个回算输入。离散输出应该只能接到离散输入,而模拟输出只能接到模拟输入。,图2.35 链接种类和串级结构,图2.36 基本PID回路中的模块和链接,图2.37 一个串级回路有两个串级结构一个位于两个PID间,另一个位于PID和AO间,3.功能块联锁 一个已经链接的输出参数数值和状态一起被传递到接收模块的输入参数,并告知该数值是否适合用于控制。它也可以作为反馈告知输出是否没有移动最终控制单元等。状态用于几个内置的联锁功能。例如,如果传感器失效,AI模块会通知PID模块停止控制。如果调节阀处于手动操作,AO模块反馈链路状态会通知PID模块初始化它的输出,来防止积分饱和以及以后无扰地切换到自动。因而,最好在整个控制策略中都使用基金会现场总线(FF)功能块,而不要有其他中间语言。用户可以完全从这一内置功能中获益,而不必实施并验证离散逻辑。4.功能块运行 功能块接收输入并执行其算法以产生输出,并将输出传递给下一个模块。以下是三种并列的功能块执行方式:,受调度的(Scheduled)链式(Chained)制造商特定的(Manufacturer specific)功能块通常按照组态工具准备好的调度运行。调度表明何时各个功能块应该被执行以及何时各个链路应该进行通信。例如,一个简单PID回路从变送器中AI模块的执行开始,接着执行从AI模块输出到阀门定位器中PID模块输入的外部链路通信,然后PID模块执行紧接着是同一设备中AO模块的执行。功能块周而复始地执行,通常每秒几次。由于功能块分布在几个设备里,并行回路以真正的多任务方式同时进行。功能块在网络中执行的周期称为“宏周期”。资源块和转换块不是控制策略的一部分,因而它们的执行不受调度控制。更确切地说,它们的执行是设备所独有的。对链式(Chained)模式而言,设备中前一个功能块执行结束后,另一个紧接着开始执行。,2.3.4 链路活动调度执行组态 在基金会现场总线(FF)H1中,任何设备都可以发起通信,只要它拥有这样做的权力。在基金会H1网络上,通信的传输由链路活动调度器(LAS)控制。数据链路层在报文的前面增加515个字节的控制信息,在报文的最后增加2个字节的差错校验。接收的时候又将它们移去。1H1设备类型 基金会H1数据链路层识别三种设备类型:基本设备(Basic)链路主设备(1ank Master)网桥(Bridge)链路主设备能够成为LAS,而基本设备则不能。现场仪表例如变送器和阀门定位器一般都是基本设备,而主站接口一般是链路主设备或网桥。不过很多现场设备可以被组态成链路主设备,担当LAS的角色。,2H1寻址 基金会H1数据链路层使用1个字节的网络地址。地址015被保留给内部功能;16247可以由仪表使用;248251被用于未初始化设备的默认地址;252255被用于临时连接的设备,例如手持设备。在一个设备连接到网络上时,LAS自动分配地址。自动地址分配可以避免地址重复的危险。3H1仲裁 对于基金会数据链路层,有两种类型的通信:受调度通信(前台通信,foreground traffic)非调度通信(后台通信,background traffic)不需要频繁进行通信的数据被非周期性地(acyclically)以非调度通信传送。非调度通信的例子包括主站读取和改写现场仪表中的参数。LAS在设备之间通过传递令牌(Pass Token,PT)报文传递一个令牌。,一旦一个设备持有该令牌,它就可以发送报文,直到用尽最大令牌持有时间或者报文发送完毕,两者中哪一个时间短则以哪一个为准。必须以精确周期循环通信的数据才能使用受调度通信传送。受调度通信例子包括设备之间的功能块链接。LAS内有一个调度日程(schedule),它决定网络上设备中的周期性数据何时发送。到达计划发送某个值的时刻,LAS发送一个强制数据(CD)报文给该设备,使该设备通过广播的形式“发布”该数据,所有“接收”这个被“发布”的数据的设备能够同时接收到它。受调度通信在网络上具有最高的优先级。当所有的被调度的数据被“发布”之后,在下一个宏周期之前的剩余时间可以被用于传送非调度通信和某些其他功能。LAS维护一个网络上已知设备的在线设备列表(1ive list)。,LAS周期地向未被使用的地址发送一个探测节点(PN)报文来检测是否有新的设备加入网络。当一个设备收到这样的报文后,它将发送一个探测响应(PR)报文,让LAS知道它的存在,然后这个设备被加入到在线设备列表中,LAS继而把这个被更新的列表广播给网络上所有的设备。LAS也周期性地广播一个时间发布(TD)报文来保证网络上的设备的时钟被精密地同步。时间的发布保证功能块的执行和报文的“发布”在网络上所有设备之间是同步的。LAS调度和令牌传递机制保证