基金会现场总线的核心之一是实现现场总线信号的数字通信。现场总线的全分布式自动化系统把控制功能完全下放到现场。现场仪表内部都具有微处理器,内部可以装入控制计算模块,仅由现场仪表就可以构成完整的控制功能。现场总线的各个仪表作为网络的节点,由现场总线把它们互连成网络,通过网络上各个节点间的操作参数与数据调用,实现信息共享与系统的自动化功能。各个网络节点的现场设备内部具备通信接收、发送与通信控制能力。各项控制功能是通过网络节点间的信息通信、连接及各部分功能的集成而共同完成的。由此可见通信在现场总线中的核心作用。
为了实现通信系统的开放。基金会现场总线的通信模型是参考了ISO/OSI参考模型,并在此基础上根据自动化系统的特点进行演变后得到的。ISO/OSI参考模型为开放系统的互连定义了一个通用的7层通信结构。这个通用结构为了适应现场总线环境进行了优化,移去了中间的层次(这些层次是与通用目的相连的,例如实时性要求不强的文件传输和电子邮件)。图5-11示意了现场总线3层结构与ISO/OSI的7层结构的关系。基金会现场总线的参考模型只具备ISO/OSI参考模型中7层里的3层,即物理层、数据链路层和应用层,并按照现场总线的实际要求,把应用层划分为两个子层——总线访问子层和总线报文规范层,省去了中间第3~6层,即不具备网络层、传输层、会话层和表示层。同时它又在原有的ISO/OSI参考模型第7层应用层之上增加了新的一层——用户层。其中物理层规定了信号如何发送;数据链路层规定了如何在设备间共享网络和调度通信;应用层则规定了在设备之间交换数据、命令、事件信息以及请求应答中的信息格式。用户层则用于组成用户所需要的应用程序,如规定标准的功能块、设备描述、实现网络管理和系统管理。通常把除去最下端的物理层和最上端的用户层之后的中间部分作为—个整体,统称为通信栈。通信系统的每一层负责现场总线上报文传递的一个部分,如图5-12所示。
图5-11 现场总线3层结构与ISO/OSI的7层结构的关系
图5-12 报文传递
1.物理层
基金会现场总线的物理层遵循IEC1158-2与ISA-S5002中有关物理层的标准。现场总线基金会为低速总线颁布31.25 kbit/s的FF—816物理层规范,也称为H1标准。目前作为现场总线的高速标准H2高速以太网的标准也已经完成。
物理层用于实现现场物理设备与总线之间的连接,除了为现场设备与通信传输媒体的连接提供机械和电气接口,还为现场设备对总线的发送或接收提供合乎规范的物理接口。物理层作为电气接口,一方面接收来自数据链路层的信息,按照基金会现场总线的技术规范,给数据帧加上前导码与定界码,并对其实行数据编码即曼彻斯特编码,在串行数据流中加进时钟信息,数据与时钟信号混合形成现场总线物理信号,并传送到现场总线的传输媒体上,起到发送驱动器的作用;另一方面从总线上接收来自其他设备的物理信号,对其除去前导码、定界码,并进行解码转换为信息,送往数据链路层,起到接收器的作用。
为了现场设备能够安全稳定地运行,物理层作为电气接口。应该具备电气隔离、信号滤波等功能,有些还要处理总线内现场设备供电等问题,现场总线的传输介质一般为两根导线,如双绞线,因此其机械接口相对简单。
基金会现场总线支持多种传输介质:双绞线、电缆、光缆、无线介质。目前应用最广泛的是前两种。H1标准采用的电缆类型可以分无屏蔽双绞线、屏蔽双绞线、屏蔽多对双绞线、多心屏蔽电缆几种类型。基金会现场总线为现场设备提供两种供电方式:总线供电与非总线供电。总线供电设备直接从总线上获取工作能源,总线上既要传送数字信号,又要为现场设备供电。非总线供电时现场设备的工作电源来自外部电源,而不是取自总线。
低速现场总线H1支持点对点连接、总线型、菊花链形、树形拓扑结构。基金会现场总线支持桥接网,可以通过网桥把不同速率、不同类型的媒体的网段连成网络。网桥设备具有多个口,每个口有—个物理层实体。FF物理层特性见表5-5。
表5-5 FF物理层特性
同一条总线上的所有设备必须采用同一种传输介质,并具有相同的传输速率。对于总线供电的网段,可同时使用总线供电和非总线供电的设备。
2.数据链路层
数据链路层(DLL)位于物理层与总线访问子层之间,为系统管理内核和总线访问子层访问总线媒体提供服务。在数据链路层上生成的协议控制信息可以对总线上的各类链路传输活动进行控制。总线通信中的链路活动调度,数据的发送与接收,活动状态的检测、响应,总线上各个设备间的链路时间同步,都是通过数据链路层来完成的。在每个总线段上有一个媒体访问控制中心,称为链路活动调度器(LAS)。LAS具有链路活动调度能力,可以形成链路活动调度表,并按照链路活动调度表生成各类链路协议数据,链路活动调度是该设备中数据链路层的重要任务。对于没有链路活动调度能力的设备来说,它的数据链路层要对来自总线的链路数据作出响应。
LAS拥有总线上所有设备的清单,由它来掌管总线段上的各个设备对总线的操作。任何时候每个总线段上都只有—个LAS处于工作状态。总线上的设备只有得到LAS的许可,才能向总线上发送数据。因此LAS是总线上的通信中心。
基金会现场总线的通信活动可分为两类:受调度通信和非调度通信。由LAS按照预定的调度时间表周期性发起的通信活动,称为受调度通信。任何预定的调度时间表之外的时间,通过得到令牌的机会发送信息的通信方式称为非调度通信。受调度通信和非调度通信都是由LAS掌管的。此外,LAS还负责一些其他功能,它定期的对总线段发布数据链路时间和调度时间。LAS还监视着总线段上的设备,为新入网的设备找一个未被使用的地址,并把新设备加入到活动列表中,对于总线上对传递令牌没有反应的设备,也就是失效设备,从活动表中除去。在功能上,DLL可以分成两层:访问总线和控制数据链路的数据传输。
(1)数据链路层中的介质访问功能
并不是所有的总线设备都可以成为链路活动调度器。按照设备的通信的能力,基金会现场总线把通信设备分为3类:
1)基本设备。基本设备是那些能够接收并响应令牌的设备。所有设备包括LAS和桥均具有基本设备的功能,均能接收并响应令牌。
具有令牌的设备可以在总线上发送数据,在某一时刻,只有一个设备持有令牌,LAS提供给设备两种令牌:一种称为应答令牌,对所有的设备进行轮询,具有周期性;另一种为授权令牌,这是在特定的时间段内访问总线,具有非周期性。
2)链路主设备。链路主设备是那些能够成为LAS的设备,其中具有最低节点地址的成为LAS,其余的作为备份。LAS的5项主要功能:
●维护调度,发送令牌给网络设备。
●探查未使用地址,将其分配给新设备,并加到活动表上。
●在链路上周期分配数据链路时间和链路调度时间。
●发送授权令牌给设备,进行无调度数据传输控制。
●监视各响应授权令牌,从活动表上删除不能使用或不能退回令牌的设备。
3)桥。当网络中几个总线段进行扩展连接时。用于两个总线段之间的连接设备称为网桥。网桥属于链路主设备,它担负着下游的各个总线段的系统管理时间的发布,因此必须是LAS,否则无法对下游各段的数据链路时间和应用时钟进行再分配。
—个总线段上可以连接各种通信设备,也可以挂上多个链路主设备,但是一个总线段上同时只能有一个LAS,没有成为LAS的链路主设备起着后备LAS的作用。
(2)数据链路层中的数据传输功能
现场总线基金会在数据链路层中提供了3种传输数据的机制:一种无连接数据传输,两种面向连接的数据传输。分别对应现场总线访问子层FAS的3种VCR类型。
1)无连接数据传输。无连接数据传输是在两个数据链路服务访问之间的独立数据单元的排队传输。DLL不需要控制报文和应答消息。
2)面向连接的分布数据传输。这种传输是发布者的数据协议单元在缓冲器之间的传输。数据单元只有发布者地址,索取者只知道所要接收的信息来自哪一个发布者。
这种传输是用户和服务器间的协议数据单元的排队传输。用户的VCR端点作为初始端,发送建立连接的请求给服务器,由服务器决定是否建立连接。这种连接提供有序和无序两种连接。很明显,这种数据传输类型用于FAS中的客户/服务器VCR。DLL层很重要的一个作用是组装信息帧,基金会现场总线共定义了24种帧,分别用于各种服务。
DLL的帧结构如图5-13所示。
图5-13 DLL的帧结构
这里帧控制符用来区分各种帧类型及作用。源地址2一般不使用,只有在一种建立连接的数据链路协议数据单元出现。参数进一步说明帧的性质。最后是帧校验。基金会现场总线数据链路层所使用的是循环冗余校验。用户数据是从上层接收来的协议数据单元。
通过使用这些协议数据单元,DLL为上层提供了很多服务:
●管理DLSAP——地址、队列、缓冲器。
●面向连接的服务。
●无连接数据传输服务。
●时间同步服务,提供时间源同步和对系统管理之间的时间同步。
●为数据发布者缓冲器提供强制分布服务。
数据链路层还支持一些子协议,如链路维护、LAS传输、调度传输等。
3.现场总线访问子层
现场总线访问子层(FAS)利用数据链路层(DLL)的调度和非调度服务来为现场总线报文规范层(FMS)服务。FAS与FMS虽同为应用层,但其作用不同,FMS的主要作用是允许用户程序使用—套标准的报文规范通过现场总线相互发送信息。下面的内容有:应用关系(AR)作用、FAS服务、FAS的状态机制和FAS—PDU的结构。
(1)概述
1)AR作用。在分布通信系统中的AR,使用一些服务相应的应用层通信渠道进行相互间的通信。通过连接两个以上的同种类型的AR端点,就可以建立一个AR。其建立方式有3种:预先建立、预先组态、动态建立。
AR的特点、作用是由其AR端点(AREP)决定的,所以AREP的类型对通信有着非常重要的作用。在AREP间的通信,其方向有单向的、有双向的;数据链路的启动策略有用户启动的、有网络启动的;在数据传输中,有以缓冲据传输为模型的、也有以队列传输为类型的。据此AR被分成3类:
●队列传输、用户启动、单向的AREP(QUU)。
●队列传输、用户启动、双向的AREP(QUB)。
●缓冲器传输、网络启动、单向的AREP(BNU)。
这里使用的数据链路层服务分为面向连接的和无连接的数据传输服务。
2)FAS服务。FAS利用协议数据单元为FMS提供服务。FAS服务充分把DLL和FMS连接在一起,构成统一体——通信栈。在这里FAS起到承上启下的关键作用。FAS提供的服务有:
●“连接”服务,控制AR的建立,建立通信。
●“放弃”服务,控制AR的断开,断开通信。
●“确认的数据传输”服务,传递确认的高层服务,而且是双向交换的。
●“非确认的数据传输”服务,用来传递不需要确认的高层服务。
●“FAS强迫”服务,这个服务要求DLL从调度通信的数据链路缓冲器中产生非调度通信的发送。
●“获得缓冲器报文”服务,允许FAS用户释放(读取)缓冲器的内容。
●“FAS—状态”服务,这个服务可以把DLL的—些具体状态报告给FAS的用户。FAS
的这些服务都是通过组织协议数据单元FAS—PDU来完成的。
图5-14 QUU、QUB、BNU结构
3)FAS协议状态机制。在FAS中,有3个综合的协议机制来共同描述FAS的行为,这3个协议机制是:FAS服务协议机制(FSPM)、应用关系协议机制(ARPM)、数据链路层映射协议机制(DMPM)。其中ARPM根据AREP类型又分为3种:QUU、QUB、BNU,其结构如图5-14所示。
从上面的状态协议机制的结构中我们可以清楚地看到FAS的3个协议之间的关系。
FSPM描述了FAS用户和—个AREP服务接口,对于所有类型的AREP,FSPM都是相同的,没有任何改变。它主要负责以下的活动:接收FAS用户的服务原语,并转化成FAS内部原语;根据FAS用户提供的AREP识别参数,选择合适的ARPM状态机制,并把转换后的FAS内部原语发送给被选中的AREP状态机制;从ARPM接收FAS内部原语,并把它转化成FAS用户所使用的服务原语;根据和原语有关的AREP识别参数,把FAS内部原语传递给FAS用户。
●ARPM描述了一个AR的建立、释放和远端ARPM交换FAS—PDU。它主要负责以下的活动:从FSPM接收FAS内部原语,产生具体的内部原语,并发送给FSPM或DMPM;接收来自于DMPM的FAS内部原语,转换成另一种内部原语发送给FSPM;如果是“连接”或“放弃”服务,它将建立或断开AR;它的作用有:鉴定当前的AREP,封装PDU,破解PDU,删除标识符,破解代码及附加细节。
●DMPM描述的是DLL和FAS之间的映射关系,对于所有类型的AREP均是相同的。它负责以下的活动:接收从AREP来的内部原语;转换成DLL服务原语,并发送到DLL;接收DLL的指示或确认原语,以FAS内部原语的形式发送给ARPM。它的作用有:限制本地端点属性,核对远端端点的存在性,定位、鉴别DLL的标识符。(www.xing528.com)
(2)FAS—PDU
FAS协议中一个重要的内容就是FAS—PDU,所有FAS服务均是通过封装相应的FAS—PDU来实现的。FAS一PDU类型有7种:
1)确认的数据传输—请求PDU。
2)确认的数据传输—响应PDL。
3)非确认的数据传输—PDU。
4)连接—请求PDU。
5)连接—响应PDU。
6)连接—错误PDU。
7)放弃—PDU。
这7种PDU来完成FAS的主要服务,特别是与通信有关的服务。FAS-PDU的一般结构是FAS帧头加上用户数据。
FAS帧头8位共1个字节,作用是区别PDU类型,也就是说,FAS帧头代表的是哪一种PDU。用户数据是高层FAS用户传递而来,这样FAS封装好PDU,并发送给DLL;而接收方的FAS从它的DLL读上来,解开帧头,再送给FAS的用户。这样完成双方的通信。FAS帧头的第1位若为“0”,则说明FAS用户是FMS;若为“1”,则保留给非FMS的FAS用户。从系统结构图中我们知道。FAS的用户可以是应用进程AP,此时通信旁路FMS主要的服务有:“FAS—强迫”服务、“读缓冲器”服务、“FAS—状态”服务,所使用FAS的AREP类型也以BNU为主。
(3)FAS所映射的DLL层活动
FAS是利用DLL的调度通信和非调度通信来为FMS提供服务的。因此FAS在为FMS提供服务的同时,需要底层DLL提供的服务支持如下:
1)无连接数据传输服务。
2)面向连接的两种数据传输服务。
3)缓冲器传输服务。
4)队列式传输服务。
5)数据单元分割服务。
6)数据链路时间分配服务。
这些服务就是FAS所映射的主要DLL层的活动。这样FAS就有机地同DLL联系起来,共同为FMS服务,形成基金会现场总线的通信栈。通信栈就是由DLL、FAS、FMS共同构成的通信渠道,用于用户层的应用进程之间的通信。当然它不包括SMK和DLL中直接通过SMKP的通信,SMKP并不使用通信栈的3层通信原理。
(4)虚拟通信关系(VCR)
FAS提供VCR终点来对DLL进行访问,每个VCR终点都是由封装的—个数据链路性能的特殊子集来定义的,这种性能提供了一个访问的单一模式。为FAS终点端口的定义是由信息传输和FAS服务与数据链路性能的特殊子集的联合。VCR终点的数据链路性能定义在FAS中,而不是在DLL中,这是因为它们只有在访问时,而不是终点定义时提供给DLL。VCR终点的基本特性见表5-6。
表5-6 VCR终点的基本特性
自由VCR是那些当VCR被打开时,可以动态定义的远程终点。VCR终点也可以同定义的远程终点一起被预构造。排队式VCR类型允许应用程序使用DLL维护的一个优先顺序的FIFO队列,互相传输信息。另—方面,缓冲式VCR类型允许应用程序在发送和接收DLL实体中使用缓冲区来互相传输信息。缓冲式传输有以下规定:
1)发送的新数据会覆盖缓冲区中的旧数据。
2)从缓冲区读信息不会破坏它的内存。
循环VCR类型按照DLL调度表传递信息,调度表由位于链路上的被称为LAS的特殊设备来维护和强制。在FF子集中,只有发布方/接收方数据可以被循环传输。LAS使用这个调度表知道何时指示一个设备发送数据。调度表中的每个条目含有发布方的缓冲区的数据链路地址,并从指示何时传输数据。数据接收方监听发布方的地址,从而得知它们是否要接收数据。
单向VCR类型被用来传输不需要确认的服务给一个或者多个接收者。不需要确认的服务是那些没有响应的服务。它们被用来支持发布大数据的传输,如事件信息和趋势报告的发布。
面向连接的VCR使用数据链路连接。这些连接在数据发送之前必须被建立起来,但是在它们被建立之后,只要求一个地址参与数据传输。在发布方/接收方VCR的情况下,使用发布方的地址。对客户/服务器VCR来说,使用目的终点的地址。
无连接VCR使用数据链路连接。代之以一个单一的无连接传输服务来传输它们的数据,在这种情况下不需要连接设置请求,但是源和目的地址都要参与数据传输。在事件与趋势报告中使用这种传输类型,因为它允许发送者把它的报告发送给组地址。接收者能够监听在—个组中传输的所有信息,而不管谁是发送者。如果代之以发布方/接收方方法,每个接收者必须监听—组地址,每个地址都是一个报告源。
对发布方/接收方VCR的重复检测,是指当已经接收过的信息缓冲区重复收到时,会重复通知VCR用户。对客户/服务器VCR来讲,协议不传输复制品。
(5)VCR类型
一条现场总线可以有多台链路主设备,如果当前的LAS失效,其他链路主设备中的一台将成为LAS,现场总线的操作将是连续的现场总线设计成“故障时仍可运行的”。FAS使用数据链路层的调度和非调度特点,为现场总线报文规范层(FMS)提供服务。FAS服务类型由虚拟通信关系(VCR)来描述,这些信息仅需输入一次,就可以成为“快速拨号”了。一旦准备完成,只需输入快速拨号码即可。而且在组态后,仅需VCR号码就可与其他现场总线设备进行通信。
客户/服务器VCR类型用以实现现场总线设备间的通信。它们是排队的、非调度的、用户初始化的、一对一的。排队意味着报文发送和接收是按次序进行传输的,它也是按照其优先级,以不覆盖原有报文的方式进行的。当设备从LAS收到一个传输令牌(PT),它可以发送一个请求报文给现场总线上的另一台设备,请求者被称为“客户”,而收到请求的设备被称为“服务器”,当服务器收到来自LAS的PT时,发送相应的响应。
报告分发VCR类型用以实现现场总线设备间的通信,它们是排队的、非调度的、用户初始化的、一对多的。当设备有事件或趋势报告,且从LAS收到一个传输令牌(PT)时,将报文发送给由该VCR定义的一个“组地址”。在该VCR中被组态为接收的设备将接收这个报文。一般用于现场总线设备发送报警通知给操作员控制台。
发布方/接收方VCR类型应用于带缓存、一点对多点的通信。缓冲意味着在网络中只保留数据的最新版本。新数据完全覆盖以前的数据。当设备收到强制数据(CD)后,它向现场总线上的所有设备“发布”或广播它的报文,那些希望接收公布报文的设备被称为“接收方”。该CD可由LAS调度,也可以由基于非调度的接收方发送。VCR标志指明使用哪一种方法,发布方/接收方VCR类型,被现场总线设备用于周期性的、受调度的、用户应用功能块在现场总线上的输入和输出。诸如过程变量(PV)和原始输出(OUT)等。现场总线报文规范层为用户应用服务,它以标志的报文格式集,在现场总线上相互发布,见表5-7。
表5-7 3种VCR类型的比较
4.现场总线报文规范层
现场总线报文规范层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通过返回一个错误代码来响应它。这些信息在技术上的应用可参考FMS协议数据单元(FMS—PDU)。
需要确认的服务用来操纵和控制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对象保存在VD的列表中。VFD有几个属性,如厂商名、模型名、版本、行规号等。
2)对象字典管理。对象描述说明了通信中跨越现场总线的数据内容。把这些内容收集到一起,形成了对象字典。对象字典OD由一系列条目组成。每个条目分别描述一个应用进程对象和它的数据。对象字典的条目提供了对字典对象本身的说明,称为字典头,它描述了对象字典的概貌。FMS的对象描述服务允许用户访问或改变虚拟现场设备中的对象描述。OD支持的服务有GetOD、InitiatePutOD、PutOD、TerrminatePutOD。其各自的作用如下:
●GetOD:读取对象的描述,可以根据对象在对象字典中的索引,并由索引来得到其相应的对象描述。
●InitiatePutOD:初始化对象描述的下载。
●PutOD:把对象描述下载到某个VFD的对象字典中。
●TerrminatePutOD:终止下载对象描述。
3)联络关系管理。联络关系管理包含有关VCR的约定,一个VCR由静态部分和动态部分组成。静态属性如静态VCR ID,对应FD ID等;动态属性如动态VCR ID等。每个VCR变化对象,在收到一个确认性服务时,创建变化对象,在响应发送后被删除。联系关系管理服务有Initiate、Abort、Reject。
●Initiate:为初始化VCR连接的服务,用户在使用某个VCR进行通信前,必须首先初始化相应的VCR,这是一个确认性的服务,因为一条VCR需要通信的两端作出相应的设置,因此请求建立VCR的端点需要得到被请求的端点的响应才可以成功的初始化连接,建立VCR。
●Abort:取消通信关系,当一个VCR不再使用时,可以使用此服务断开连接,这是一个确认性的服务。
●Reject:拒绝连接。当某个端点无法相应创建连接的请求时,使用此服务来拒绝连接。
4)变量访问对象及其服务。变量访问对象在对象字典的静态部分定义,是无法删除的。它们包括物理访问对象、简单变量、数组、记录、变量表等。
物理访问对象描述一个实际字节串的访问入口。它没有明确的OD对象说明。属性为本地地址和长度,简单变量是由其数据类型定义的单个变量,数组是一个结构性的变量,它的所有元素都有相同的数据结构,记录是由不同数据类型的简单变量组成的集合。对应于一个数据结构定义,变量表是上述变量对象的一个集合。
变量和变量表对象都支持读、写、信息报告、带类型读、带类型写服务。其中读/写服务是应用的最多的一类服务。
5)事件服务。事件是为了从一个设备向另外的设备发送重要的报文而定义的。由用户层监测导致事件发生的条件。当条件发生时,该应用程序激活事件通知服务,并由使用者确认。
相应的事件服务有:事件通知、确认事件通知、事件条件检测、带有类型的事件通知。事件服务采用报告分发型虚拟通信关系,用以报告事件与管理事件处理。此外FMS的服务还包括域的上载/下载服务、程序调用服务。
(2)FMS报文规范
基金会现场总线报文规范采用抽象语法(ASN.I)进行定义。抽象语法表示语言是由美国国家电话与电报委员会于20世纪80年代初期编制的。基金会现场总线主要使用ASN.I来描述PDU的语义,PDU的内容就是现场总线的命令、响应、数据和事件等信息,它们构成FMS服务的原语,形成了一套标准信息规范。
设备应用进程在进行通信时,必须建立通信双方的数据联系,以此来辨识通信的目的。基金会现场总线系统就是在FMS中用户数据的前面增加一些识别信息。简单来说,就是使通信双方明白的通信内容而进行编码,它不同于物理层的编码,物理层的编码目的是使用户程序的信息便于通信双方的理解及传输。
基金会现场总线FMS最基本的编码原则是在用户数据前附加的信息尽可能短。另一方面,还要注意到经常出现的特殊信息。例如读、写操作。FMS—PDU的结构有两种:一种是用户数据前带有明确的识别信息;另一种是用户数据符合某种隐含的协定(如用户数据长度固定)。
识别信息由P/C标志、标签和长度3部分组成。其中P/C占l位,标签3位,长度4位。若不足时,标签和长度可以向下—字节进行扩展。P/C识别代表简单的或结构化的原语;标签指明原语的语意(如读、写);长度指原语占有的字数或结构化原语中原语的个数。
FMS—PDU由两部分组成:一部分是3个字节的固定部分;另一部分是长度可变的。在固定的3个字节中是这样安排的:第1个字节是识别信息,即FMS所使用的服务;第2个字节是调用ID;第3个字节是又一个ID信息,是对第1个ID的进一步描述。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。