首页 理论教育现场总线报文规范层-现场总线及其应用技术

现场总线报文规范层-现场总线及其应用技术

【摘要】:现场总线报文规范层FMS是基金会现场总线通信模型中应用层的另一个子层。FMS提供了一组服务和标准的报文格式。与OD描述联系在一起,FMS为现场设备应用程序规定了功能性界面。现场总线报文规范层由以下几部分组成:虚拟现场设备、对象字典管理、联系关系管理、域管理、程序调用管理、动态参数管理和时间管理。由用户层监测导致事件发生的条件,当条件发生时,该应用程序激活事件通知服务,并由使用者确认。

现场总线报文规范层FMS是基金会现场总线通信模型中应用层的另一个子层。该层描述了用户应用所需要的通信服务、信息格式和行为状态等。FMS提供了一组服务和标准的报文格式。用户应用可以采用这种标准的格式在总线上相互传递信息、访问应用进程对象及其对象描述。同OD对AP对象的描述一样,FMS规定访问这些对象的服务与数据格式。AP的网络可视对象和它们相应的OD描述在FMS中说明为VFD。为了访问VFD属性,例如厂家和状态,需要定义特殊的FMS服务。与OD描述联系在一起,FMS为现场设备应用程序规定了功能性界面。FMS服务和OD中对象描述的格式是以FMS定义的对象类型为基础的,例如变量与事件。为了使AP对象通过网络可见(通过FMS服务可以访问),它们必须使用FMS对象类型来说明。

FMS服务在VCR终点提供给AP,VCR终点说明了AP到VCR的终点,在一个终点可以获得的服务依赖于终点的类型。FMS决不执行被请求的服务,它只是在AP间转换请求和响应,而在FBAP中,许多服务由FB解释程序执行。

当请求一个FMS服务时,请求者的FMS实体建立和发送正确的请求信息给远程AP的FMS实体。FMS自己对OD没有访问。因此,对信息传输中,对用户数据进行编码是由FMS用户负责的。如果信息的类型指示出不需要返回响应,则该服务是不需要确认的。

如果一个服务需要响应,则服务是需要确认的。需要确认的服务总是需要远程AP发出一个响应,指示它是否能够执行该服务,当不能执行该服务时,远程AP通过返回一个错误代码来响应它。

需要确认的服务用来操纵和控制AP对象,例如使用它们来读和写变量的值,也使用它们来访问OD。需要确认的服务使用客户/服务器VCR来完成请求与响应的交换。为了支持这种类型的VCR,FMS为服务请求提供流控制,即FMS维护一个计数器,用来对已经发出但还没有收到响应的请求进行计数,如果没有响应的请求达到一定的数目,则FMS不再响应增加的请求。不需要确认的服务用来发布数据和分发事件通知。数据的发布使用发布方/接收方VCR传输。事件通知在报告分发VCR上传输。这两种VCR之间的不同在于FAS如何使用DLL来传输信息。

现场总线报文规范层由以下几部分组成:虚拟现场设备、对象字典管理、联系关系管理、域管理、程序调用管理、动态参数管理和时间管理。下面简单地介绍这几个模块及其相关的服务。

1.FMS所包含的服务

FMS主要完成以下各类服务。

(1)虚拟现场设备

虚拟现场设备(VFD)在FMS中是一个很重要的概念。虚拟现场设备包含应用进程中的网络可视对象及其相应的OD。每个VFD有一个对象描述OD,因此,VFD可以看作应用进程的网络可视对象及其对象描述的体现。

一个典型物理设备可以有几个虚拟现场设备,但至少应该有两个虚拟现场设备,一个用于网络和系统管理,一个用于功能块应用。VFD对象的寻址由虚拟通信关系表中的VCR隐含定义,可见VCR所连接的是虚拟现场设备。设备里包含的VFD对象保存在管理VFD的列表中。VFD对象有几个属性,如厂商名、模型名、版本和行规号等。

VFD支持的服务有以下三种:

1)Status:读取状态服务。

2)UnsolicitedStatus:设备状态的自发传送服务。

3)Identify:读VFD识别信息服务。

服务的目的是通知用户程序了解现场设备的情况。

(2)对象字典管理

对象描述说明了通信中跨越现场总线的数据内容,把这些内容收集到一起,形成了对象字典。对象字典OD由一系列条目组成,每个条目分别描述一个应用进程对象和它的数据。对象字典的条目0提供了对字典对象本身的说明,称为字典头,它描述了对象字典的概貌。FMS的对象描述服务允许用户访问或者改变虚拟现场设备中的对象描述。OD支持的服务有GetOD、InitiatePutOD、PutOD和TerminatePutOD。其各自的作用如下:

1)GetOD:读取对象的描述,可以根据对象在对象字典中的索引和子索引来得到其相应的对象描述。

2)InitiatePutOD:初始化对象描述的下载。

3)PutOD:把对象描述下载到某个VFD的对象字典中。(www.chuimin.cn)

4)TerminatePutOD:终止下载对象描述。

(3)联络关系管理

联络关系管理包含有关VCR的约定。一个VCR由静态部分和动态部分组成。静态属性如静态VCR ID,对应FD ID等;动态属性如动态VCR ID等。每个VCR变化对象,在收到一个确认性服务时,创建变化对象,在响应发送后被删除。联系关系管理服务有Initiate、Abort和Reject。

1)Initiate:初始化VCR连接的服务。用户在使用某个VCR进行通信前,必须首先初始化相应的VCR,这是一个确认性的服务。因为一条VCR需要通信的两端做出相应的设置,所以请求建立VCR的端点需要得到被请求的端点的响应才可以成功地初始化连接,建立VCR。

2)Abort:取消通信关系。当一个VCR不在使用时,可以使用此服务断开连接,这是一个非确认性的服务。

3)Reject:拒绝连接。当某个端点无法相应建立连接的请求时,使用此服务来拒绝连接。

(4)变量访问对象及其服务

变量访问对象在对象字典的静态部分定义,是无法删除的。它们包括物理访问对象、简单变量、数组、记录和变量表等。

物理访问对象描述一个实际字节串的访问入口,它没有明确的OD对象说明,属性为本地地址长度;简单变量是由其数据类型定义的单个变量;数组是一个结构性的变量,它的所有元素都有相同的数据结构;记录是由不同数据类型的简单变量组成的集合,对应于一个数据结构定义;变量表是上述变量对象的一个集合。

变量和变量表对象都支持读、写、信息报告、带类型读、带类型写和带类型信息报告等服务。其中读/写服务是应用得最多的一类服务。

(5)事件服务

事件是为了从一个设备向其他设备发送重要的报文而定义的。由用户层监测导致事件发生的条件,当条件发生时,该应用程序激活事件通知服务,并由使用者确认。

相应的事件服务有事件通知、确认事件通知、事件条件检测和带有类型的事件通知。事件服务采用报告分发型虚拟通信关系,用以报告事件与管理事件处理。此外,FMS的服务还包括域上载/下载服务、程序调用服务。

2.FMS报文规范

基金会现场总线报文规范采用抽象语法(ASN.1)进行定义。抽象语法表示语言是由美国国家电话与电报委员会于20世纪80年代初期编制的。基金会现场总线主要使用ASN.1来描述PDU的语意。PDU的内容就是现场总线的命令、响应、数据和事件等信息构成FMS服务的原语,形成了一套标准信息和规范。

设备应用进程在进行通信时,必须建立通信双方的数据联系,以此来辨识通信的目的。基金会现场总线系统就是在FMS中使用户数据的前面增加一些识别信息。简单地说,就是使通信双方明白通信的内容而进行编码,它不同于物理层的编码,物理层的编码目的是使用户程序的信息便于通信双方的理解及传输。

基金会现场总线FMS最基本的编码原则是在用户数据前附加的信息尽可能短;另外,还要注意到经常出现的特殊信息,例如读、写操作。FMS-PDU的结构两种:一种是用户数据前带有明确的识别信息;另一种是用户数据符合某种隐含的协定(如用户数据长度固定)。

识别信息由P/C标志、标签和长度3部分组成,其中P/C占1位,标签3位,长度4位,若不足时,标签和长度可以向下一字节进行扩展。P/C识别代表简单的或结构化的原语;标签指明原语的语意(如读、写);长度指原语占有的字数或结构化原语中原语的个数。

FMS-PDU由两部分组成:一部分是3个字节的固定部分,另一部分是长度可变的。