JB/T 10308.8-2005 测量和控制数字数据通信 工业控制系统用现场总线 类型8:INTERBUS规范 JB/T 10308.8-2005 测量和控制数字数据通信 工业控制系统用现场总线 类型8:INTERBUS规范

JB/T 10308.8-2005 测量和控制数字数据通信 工业控制系统用现场总线 类型8:INTERBUS规范

  • 期刊名字:
  • 文件大小:9.59KB
  • 论文作者:网友
  • 作者单位:
  • 更新时间:2020-04-24
  • 下载次数:
论文简介

ICS25.04010中华人民共和国机械行业标准JB/T103088-2005测量和控制数字数据通信工业控制系统用现场总线类型8: INTERBUS规范Digital data communication for measurement and control-Fieldbus for use in industrial control systems-Type 8: INTERBUS specification(IEC 61158 Type 8: 2002, MOD)2005-05-18发布2005-11-01实施华人民共和国国家发展和改基委易会发布JB/T103088-2005总目录前言…,,着卡卡第I部分概述第2部分物理层规范和服务定义17第3部分数据链路服务定义第4部分数据链路协议规范第5部分应用层服务的定义,第6部分应用层协议规范275JBT103088-2005前言JB/T10308《测量和控制数字数据通信工业控制系统用现场总线》分为十个类型:类型1:IC技术报告类型2: ControlNet;类型3: PROFIBUS类型4:PNet类型5: FF HSE;类型6: SwiftNet:类型7: WorldFIP类型8: Interbus类型9:FFAL;类型10: PROFINET本类型为JBT10308的类型8,本类型是首次制定。本类型修改采用EC61158TYPE8:2002主要差异是:为方便我国用户使用,对C61158TYPE802的文本结构编排进行了调整JB/T10308.8《测量和控制数字数据通信工业控制系统用现场总线类型8: INTERBUS规范》分为六个部分:第1部分:概述第2部分:物理层规范和服务定义第3部分:数据链路服务定义;第4部分:数据链路协议规范第5部分:应用层服务的定义第6部分:应用层协议规范本标准由中国机械工业联合会提出。本标准由全国工业过程测量和控制标准化技术委员会归口。本标准起草单位:机械工业仪器仪表综合技术经济研究所、上海工业自动化仪表研究所、西南师范大学自动化研究所、上海自动化仪表股份有限公司、南京菲尼克斯电气有限公司、冶金工业钢铁研究总院。本标准主要起草人:冯晓升、郑旭、缪学勤、刘枫、包伟华、刘朝晖、张荣生等。ICS25040N10中华人民共和国机械行业标准JB/T103088-2005测量和控制数字数据通信工业控制系统用现场总线类型8: INTERBUS规范第1部分:概述Digital data communication for measurement and controlFieldbus for use in industrial control systemsype 8: INTERBUS specificationPart 1: Overview2005-05-18发布2005-1101实施中华人民共和国国家发展和改革委员会发布JBT103088-2005目录前言…引言1范围.规范性引用文件3符号和缩略语4 INTERBUS模型和体系结构.4.1概要42协议组成345555577743物理层(PhL)44数据链路层(DLL)45应用层(AL)5通信行规.……主+++51综述952行规6/153行规6254行规6/3参考文献16图1数据链接层和其他各层的关系图2网络拓扑结构图3参考模型.…表1设备CP标识符分配679表2CP61:DLL服务选择,各类设备DLL服务的分配表3主站支持的DLL协议数据宽度选择表4CP6l:AL服务选择,各类设备AL服务的分配表5CP62:DLL服务选择,各类设备DLL服务的分配…12表6CP6/2:AL服务选择,各类设备AL服务的分配…表7CP6/2:AL服务的 AR-Date- Send- Acknowledge服务参数的选择,…13表8CP6/3:DL服务选择,各类设备DIL服务的分配…表9CP63:AL服务选择,各类设备AL服务的分配JB/103088-2005前言本部分是JT103088《测量和控制数字数据通信工业控制系统用现场总线类型8: INTERBUS规范》的第1部分JBT103088-2005引言INTERBUS是一种用于控制系统(如可编程序控制器)和整个工业现场传感器和执行器设备之间进行数字、串行通信的通信系统。这些没备包括简单限位开关,也包括测量传感器、变送器、执行器,甚至包括复杂的高技术控制系统,如控制驱动、扭矩和过程控制等等。它优化了工厂自动化应用本部分描述了数据链路服务( DL-service),它与 INTERBUS规范系列的其他部分密切相关。该规范系列由基于部分开放系统互连基本参考模型的现场总线“三层”参考模型所定义。为便于管理,两个参考模型都将互连标准范围细分为一系列规范层。数据链路协议(见第4部分)利用物理层(见第2部分)的服务提供数据链路服务。本部分的INTERBUS技术规范定义了数据链路服务特性,高层协议可直接使用这些特性。各层之间的关系如图1所示应用层数据链跻服务改据链路管理数据链路层物理层媒体图1数据链接层和其他各层的关系术语“服务( Service)”是指oSI基本参考模型的某一层为其紧邻的上一层所提供的抽象能力。因此,数据链路服务在此标准中是一个概念化的体系架构服务,它和管理和执行分割无关。JB/T103088-2005测量和控制数字数据通信工业控制系统用现场总线类型8: INTERBUS规范第1部分:概述1范围本部分描述了 INTERBUS规范的结构,并就 INTERBUS通信原理给出简短的概述。注1:本部分仅为用户提供叙述性信息。此外规定了一组预定义的通信行规。注2:在本部分中定义的通信行规等同于IEC61784-1:2003的通信行规集(CPF6)的行规2规范性引用文件下列文件中的条款通过JB/10308.8的本部分的引用而成为本部分的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本部分,然而,鼓励根据本部分成达协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本部分GB/T9387(所有部分)信息技术开放系统互连基本参考模型EC61784-1:2003工业控制系统中连续和断续制造用现场总线行规设置3符号和缩略语Application Layer应用层APApplication Process应用进程ARApplication Relationship应用关系Application Service Element应用服务元素Basic Link Layer基本链路层Communication Protocol通信协议CRCCyclic Redundancy Check循环冗余校验Data Link Layer(as a prefix)数据链路层(用作前缀Data Link Layer数据链路层DLPDUDL-protocol-data-unit数据链路协议数据单元IInternet Protocol因特网(网际)协议MACMedium Access Control媒体访问控制Medium Attachment Unit媒体附属单先Peripherals Data Link外围设备数据链路Protocol Data Unit协议数据单元Physical la物理层TCPTransmission Control Protocol传输控制协议4 INTERBUS模型和体系结构4.1概要INTERBUS是数字的串行通信系统,用于控制系统(如可编程序控制器)与工业传感器和执行器JB/T103088-2005等现场设备之间的通信。这些设备包括简单限位开关和阌门,以及测量传感器、测量变送器与执行器,还可以包括复杂的高技术控制系统,如控制驱动、扭矩及过程的控制器等。INTERBUS网络使用中央主从访问方式和环状拓扑结构,用于交换所连接的主站系统应用程序与从站应用程序之间的数据。协议给用户提供了两个数据传输通道:过程数据通道和参数通道。组合两种通道形成混合的网络通信结构。从主站开始的网段是第一个网段(一组从站),同时该网段可通过总线耦合器扩展更多网段。从站和总线耦合器不带地址,它们的地址由其在环中的位置决定(见图2)主站总线合从站从站环段(如本地总线)程总线线腭合器从站从站环段(如远程总线总线耦合器图2网络拓扑结构有三种不同的设备类型主站主站开始第一个网段。它集中控制数据业务,给所有从站发送带有数据的集总帧,同时接收从站的数据。主站促使从站去访问总线,也就是说,去发送或接收数据。从站从站被连接到网段。它从其前面的设备(主站或从站)接收数据并把数据传给下一个设备。从站将JBT103088-2005集总帧( Summation frame)给它的输入数据取出,在该处插人它的传出数据,旁路通过其他任何数据。总线耦合器在一个网段中,总线耦合器是一种起连接作用的从站,具有连接另一个更低级网段的接口。从高层网段来的输入数据被发送到低层网段的第一个从站这些数据以环形方式传送并从这个网段的最后一个从站送回来。从其下层网段接收的数据再传输给高层网段中下一个设备42协议组成INTERBUS协议是按照三层现场总线参考模型建立模型(见图3)。 INTERBUS模型的基础是开放系统互连基本参考模型(GB/r9387)的一部分。这个模型将协议细分为便于管理的多层规范应川层数据链路层物理层媒体图3参考模型43物理层(PhL)物理层从数据链路层接收数据单元,如果必要就通过增加通信帧信息将其封装,将位和帧信息编码成信号,发送物理信号到连接传输节点的传输媒体上。此外,物理层定义是由点对点连接的设备间的各种物理特征定义所组成为了简化系统安装和系统诊断,环形系统可使用单根电缆,因此拓扑结构类似于带分支线的总线系统。在这种情况下该环自动闭合在网段的最后一个从站上,数据通过每个设备附加的接口线路返回。所以允许在网络上增加或移去设备。规定了两种媒体附属单元(MAU)变型:基于双绞线媒体的RS422,根据拓扑结构速率最高达16 Mbit/s光纤媒体,速率最高达16 Mbit/s e根据拓扑,总线设备的物理层包括一个或几个MAU。为了在一个电缆上实现环形结构,从站至少有两个MAU。44数据链路层(DLL)4.4.1概要DLL协议提供优化的,并发的交换固定长度的输人输出数据(过程数据通道)和可变长度的分段信息(参数通道)。它使用一个集总帧来全双工交换数据。这个特定协议满足现场总线应用中非常重要的两种需要。第一是网络具有在确定的时间内以一致的路径扫描输人腧输出数据的能力:第二是具有高的协议效率,在同样的传输率下它要大大高于那些面向报文通信系统的传输效率对总线段上每个从站来说,根据它在帧中的数据宽度确定一个固定的时间片。数据包的顺序是按照连接从站的物理顺序。周期数据(过程数据)和非周期数据(参数数据)同时传输。从站的参数数据在集总帧中使用的固定长度为2、4或8个八位位组,较长的报文(PDU)由DLL分割。所以帧长度对个给定的配置是不变的,也不会受到报文传输的影响。个传输周期由主站启动并以一定的数据序列开始,这包括后面跟着输出数据的回送字。输出数据由主站送给从站,输人数据并发地由从站送到主站。在集总帧输出后所有输出数据都正确地送人相应的设备中。后继的32位长的帧校验序列用于校验传输的数据。它由一个16位CRC多项式来实现。由于采用JBT10308.8-2005点对点结构,差错校验机制总是发生在两个设备之间。由帧校验序列控制,交换和比较在所有设备中同时执行。因此全帧只需要一个CRC校验字。第二个16位用于传送校验和的状态。如果校验和状态表明无差错,则给出缓冲接收指示从站和总线耦合器都有一个设备代码,它包含这个设备的基本通信能力。包括通信通道、过程数据和域或参数通道支持能力,以及在集总帧中占有的位(数据宽度)。主站使用标识周期去读所有连接设备的设备代码,以确定当前配置在第3部分规定了数据链路层用户可使用的数据链路层服务,并在第4部分中规定了相应协议。数据链路层(DLL)由三个子层组成:媒体访问控制(MAC)、基本链路层(BLL)和外围设备数据链路(PDL)4.42媒体访问控制(MAC)媒体访问控制子层是DLL的一部分,控制设备之间媒体上数据的安全传输。为了使数据传输安全可靠,MAC子层按照CRC多项式形式计算发送的 DLPDU的校验和,并通过数据链路接口传送到物理层。反之,MAC子层按照CRC多项式形式计算接收的 DLPDU校验和,并将它与接收到的校验和相比较。主站与从站MAC子层的功能是不同的。从站只将目的为本从站的低层接收的数据传送给MAC用户。所有其他数据被送回子层,传递给下一个从站。在总线主站,MAC用户传送所有数据给从属层,反之亦然。443基本链路层(BLL)基本链路层(BLL)是DL负责控制总线访问的部分。在周期方式时,主站BLL必须接收来自较高子层的输出数据,将它传递到MAC子层(2a子层),同时以一种安全的方式将来自MAC的输人数据传递到BLL用户。在OSI基本参考模型中BLL是数据链路层2b子层。444外围设备数据链路(PDL)外围设备数据链路是OSI基本参考模型的数据链路层2b子层,为发送过程数据(过程数据通道提供用户服务,也为发送数据块(参数通道)提供服务。发送过程数据的服务允许非常有效和快速地发送过程相关的数据,如一个总线主站和从站之间的设定值和实际值。通常,过程数据具有简单的结构,但处于高度动态和更新之中。发送数据块的服务允许发送参数。4.5应用层(AL4.5.1概要应用层为通信双方提供访问通信对象的服务。这些服务采用下列方法以允许远程应用之间交互作用定义应用资源(对象)的抽象模型,可以由用户通过使用AL服务处理;每个AL服务关联的原语(AL和AL用户间交互作用)每个原语关联的参数每个服务原语有效顺序间的相互关系。这些服务可以通过 NTERBUS过程数据通道或参数通道发送。虽然这些服务从应用的角度规定了请求和响应是如何发布和传递的,但并未包括如何进行请求和响应应用的规范。INTERBUS规范的第5部分定义了所提供的服务,第6部分定义了对应的AL协议4.52数据的周期发送(过程数据通道)过程数据通道允许非常有效和高速地传输与过程相关的数据,例如一个主站和从站之间设定值和实际值。通常,过程数据通道发送的数据都有一个简单的结构,但处于高度动态和更新之中。通过过程数据通道,应用程序可以直接访问DLL。过程数据通道是DLL的一个用户,所以使用DLL提供的服务对数据的周期发送, INTERBUS使用推式发布者/预订者模式高效地传送数据。相应的应用关系协议机制(ARPM)为“网络调度单向缓冲”(BNU)。JBT103088-20054.53非周期发送(参数通道)与过程数据通道并行,参数通道以非周期方式在两个通信伙伴间传送复杂结构数据。在参数通道中传递的数据对动态响应无要求,而且传输很少发生。它通常用于参数的初始化对数据的非周期传输Ⅳ NTERBUS使用客户服务器通信模式,主站和从站都可以作为客户或服务器。为非周期传输提供的两种ARPM:“具有流量控制的用户发起双向队列式"( QUB-FC)和“透明模式用户发起双向队列式”(QUB-TM)。5通信行规5.1综述根据Ⅳ NTERBUS规范,确定了三种预定义的通信行规。每一种通信行规都提供一组完善的规定和附加限制,以保证 INTERBUS设备能互操作。对一个独特的设备要进一步选择服务、参数和参数值三种被定义的通信行规为:行规6/1行规6l定义了一般标准 INTERBUS行规。这个行规包括AL、DLL和PhL服务的选择以及符合INTERBUS应用访问的协议定义行规6/2行规62扩充了行规6/的非周期数据交换能力。它规定通过 AR-Send-Data-Acknowledge透明访问INTERBUS设备。它适合带有其他协议栈如TCP/P和基于TCPP应用程序的设备。该协议栈使用AR-Send-Data- Acknowledge而不影响行规定义。行规6/3行规63使用一个简化的服务组,用于非周期数据交换,适合有限资源的 INTERBUS设备使用。符合通信行规的主站或从站设备,依据CP标识符可以进一步细分。CP标识符见表1。表1设备CP标识符分配主站从站行规周周期和非周期周期非周期周期和非周期总线耦合器(无数据行规6/16l8614行规62629622规68363963252行规6/1521数据链路层521.1各类设备DLL服务的分配表2规定了DLL服务的有效组合及其对行规6/各类设备的分配表2CP6/1:DLL服务选择,各类设备DLL服务的分配从站DLL服务周期周期和非周期周期非周期周期和非周期总线耦合器(无数据CP标识符68696l1612613614pL服务Put BufferGet BuffeBuffer receivedMNormal data transferMMDL-management服务JBT103088-2005表2(续DLL服务主站从站周期周期和非周期周期非周期周期和非周期总线耦合器(无数据CP标识符6116l3614ResetMMMRead valueMGet current conftgurationMMMMMMGet active configuration1如果要将过程数据传给主站,从站必须支持 Put Bufferb如果要从主站获得过程数据,从站必须支持 Get Buffer表中M表示必备,O表示可选择5212MAC参数数据宽度的限制主站应该支持表3所规定的数据宽度。为了确保互操作性,从站选择的数据宽度必须遵循主站所支持的数据宽度,见表3。表3主站支持的DLL协议数据宽度选择数据宽度主站位位位1八位位组12位2八位位组3八位位组M4八位位组6八位位组8八位位组10八位位组M12八位位组14八位位组18八位位组20八位位组24八位位组28八位位组32八位位组48八位位组52八位组64八位位组JBT1030882005522应用层522.1支持的数据类型第5部分所列的所有支持的数据类型都是可选的5222各类设备AL服务的分配提供的服务取决于设备类型。表4规定了服务及其对各类设备分配的有效组合。表4CP6/1:AL服务选择,各类设备AL服务的分配ASE从站AL服务周期周期和非周期非周期周期和非周期CP标识符6186196l1612管理ASEGet AttributesP ASEIdentifyGet StatustiateO0-TerminateRejectMAR ASEAR-Unconfirmed sendAR-EstablishAR-AbortAR-Data-Send-Acknowledge变量ASEOMinformation ReportMO功能调用ASEStartStoResumeReset如果这个从始只使用预建立AR,则不需要这个服务。b推式发布者应有请求原语,推式预订者应有接收原语。53行规6253.1数据链路层531.1各类设备DIL服务的分配表5规定了各类设备DLL服务的有效组合及其分配。JBT103088-2005表5CP6/2:DLL服务选择,各类设备DLL服务的分配从站DLL服务主站非周期周期和非周期CP标识符622623bL服务Get BufuferNormal data transfermanagement服务MMEventMGet current configurationGet active configurationSet active configuration注:只有行规6/1定义了带周期交换的从站。如果要将过程数据传给主站,从站必须支持 Put Buffeb如果要从主站获得过程数据,从站必须支持 Get Buffer.5312MAC变量数据宽度的限制与行规6/1应用的规定相同(见521.2)53.2应用层5321支持的数据类型第5部分所列的所有支持的数据类型都是可选的。5.322各类设备AL服务的分配提供的服务取决于设备类型。表6规定了服务的有效组合及它们对各类设备的分配。表6CP6/2:AL服务选择,各类设备AL服务的分配从站主站AL服务「非周期周期和非周期CP标识符629622623MMGet StatusTerminateR ASEAR-Unconfirmed SendJB/T1030882005表6(续)ASE从站主站AL服务非周期周期和非周期CP标识符622AR-AbortAR- Data-Send-AcknowledgeMMM量ASEReadMOInformation Report能调用ASEO注:只有行规61中定义了带周期数据交换的从站如果这个从站只使用预建立AR,则不需要这个服务。b推式发布者应有请求原语,推式预订者应有接收原语5323 AR-Date-Send- Acknowledge, TCP/UDP/IP PDU参数的使用AR-Date- Send-Acknowledge用于TCPP的参数值见表7。表7CP6/2:AL服务的 AR-Date- Send- Acknowledge服务参数的选择参数名约束条件Destination addressSource Address0或2Source node0或2Destination Subnode对于 TCP/IP为10Source Subnode对于TCPP为10Protocol Code1: =TCP/IP00: =no segmentation01: =first segmentBlock Number02-254: =further segments255: last s54行规6/3541数据链路层5411各类设备DLL服务的分配表8规定了DL服务的有效组合及它们对各类设备的分配JB厂T1030882005表8CP63:DLL服务选择,各类设备DLL服务的分配DLL服务主站非周期周期和非周期CP标识符639633p服务Put BufferGet BufferBuffer receivedMMMNormal data transferDL-management服务ResetSet valueRead valueMEventMGet current configurationGet active configurationMMMMMMMSet active configuration「注:只有行规6定义了带周期数据交换的从站,如果要将过程数据传给主站,从站必须支持 Put Bufferb如果要从主站获得过程数据,从站必须支持 Get Buffer5412MAC参数数据宽度的限制与行规6应用的相同规定(见521,2)。542应用层5421支持的数据类型第5部分所列所有支持的数据类型都是可选的5422各类设备AL服务的分配提供的服务取决于设备类型。表9规定了服务的有效组合及它们对各类设备的分配。表9CP63:AL服务选择,各类设备AL服务的分配从站主站AL服务非周期周期和非周期632633管理ASEGet AttributesPASEIdentifyGet StatusTerminateMRASEAR-Unconfirmed SendMJBT103088-2005表9(续)ASE从站主站服务非周期周期和非周期CP标识符639632633AR-EstablishAR-Abort000R-Data- Send-AcknowleMMM变量ASEReadMOOMO0Information Report能调用ASEResum注:带周期数据交换的从站只在行规6/1中规定。推式发布者要有请求原语,推式预定者要有接收原语。JBT103088-2005参考文献I}EN50254:1998小型数据包的高效通信子网2]IHEC61158Ed3:2003测量和控制用数字数据通信工业控制系统用现场总线3]EC617841Ed:2003测量和控制用数字数据通信工业控制系统用现场总线:连续和断续制造的行规设置ICS25040N10中华人民共和国机械行业标准JB/T103088-2005测量和控制数字数据通信工业控制系统用现场总线类型8: INTERBUS规范第2部分:物理层规范和服务定义Digital data communication for measurement and control-Fieldbus for use in industrial control systemsType 8: INTERBUS specificationPart 2: Physical layer specification and service definition2005-05-18发布2005-11-01实施中华人民共和国国家发展和改革委员会发布JB103088-2005目录前言引言1范围.2规范性引用文件…...3术语和定义4符号和缩略语41符号4.2缩略语5 DLL-PhL接口5.1概要52必要的服务6系统管理-PhL接口61PhL管理功能3762 PhL-PNM1接口1377媒体无关子层(MIS)7.1概要7.2功能7.3串行传输74MDs耦合8 MIS-MDS接口=,+++++a,“**8.1概述…8.2服务8.3接口信号84服务转换为接口倍号9媒体相关子层(MDS)…91功能9 PhPDU格式55593空闲状态94复位 PhPDU95MAU耦合10 MDS-MAU接口10.1服务概述102服务描述……10.3响应时间104传输方式11媒体附属单元:双绞线媒体…1.1MAU信号1.2传输比特率相关量57JBTT103088-200511.3网络11.4电气特性11.5响应时间1.6到传输媒体的接口1.7传输媒体规范………6012媒体附属单元:光学媒体12.1概述12.2传输比特率相关量12.3网络拓扑6212.4传输电路规范………6312.5接收电路规范12.6传输媒体规范.附录A(规范性附录)连接器规范∴.…….A.1导线媒体的外部连接器88A.1.I超小D型连接线插脚分配…A.1.2终端连接器引脚分配6672A2光纤媒体的外部连接器…69参考文献图1物理层与其他层的关系图2物理层通用模型…图3通过 DLL-PhI接口的数据单元间的映射.图4主站数据序列的交互作用:标识周期图5主站数据序列的交互作用:数据周期图6从站数据序列的交互作用:标识周期图7从站数据序列的交互作用:数据周期……图8主站校验序列的交互作用和+卡,,,,图9从站校验序列的交互作用37图10在分层模型中PhL和PNM之间的接口图11 Reset、 Set value、 Get Value phL服务图12 Event phl服务39图13接口号的分配…图14主站的配置图15带一种传输选择类型的从站的配置…图16带一种传输选择类型的总线耦合器的配置图17带m周期请求服务的状态转换图18 MIS-MDS接口: ldentification cycle request服务图19 MIS-MDS接口: dentification cycle request服务…………图20数据周期请求服务的状态转换图21 MIS-MDS接口: Data Cycle Request服务…图22带数据序列分类服务的状态转换图23 Message Transmission服务的协议机图24 Data sequence ldentification服务的协议机…,图25 Message receipt服务协议机…JBT10308.8-2005图26数据序列 PhPDU图27在数据序列中 PhPDU报头的结构图28校验序列 PhPDU图29在校验序列 PhPDU中报头的结构52图30状态 PhPDU的结构…图31在一个状态 PhPDU中报头的结构…图32媒体活动状态 PhPDU图33在媒体活动状态 PhPDU中报头的结构图34复位 PhPDU图35主站的配置图36从站的配置55图37总线耦合器的配置图38抖动允差…图39出向接口的MAU…58图40人向接口的MAU.图41远程总线链路图42到传输媒体的接口…图43配线61图44终端电阻网络61图45光纤远程总线光缆…图46光纤远程总线链路图47光学MAU光波波形.图A.1设备上超小D型连接器输出接口的九个插孔….图A2设备上超小D型连接器输入接口的九个插针168图A.3设备上的终端连接器图A4聚合光纤(980/1000m)的光学FSMA连接器套圈,…69表1符号表2 PH-RESET…表3Ph- SET-VALUE表4PhL变量…表5Ph- GET-VALUE表6Ph- EVENT表7PhL事件表8 MDS Bus reset…表9在 MIS-MDS接口的信号表10SL位和TxSL信号分配表11SL位和RxSL信号分配………表2SL位和TxSL信号分配表13SL位和RXSL信号分配53表14SL位和TxSL信号分配…表15SL位和RxSL信号分配表16编码和解码规则…表17空闲状态的解码规则JBT103088-2005表18复位 HpLC的编码规则.…表19复位 PhPDU的解码规则表20 MDS-MAU接口的服务表21双绞线媒体MAU的比特率相关量表22人向接口信号…出向接口信号表24远程总线电缆特性556899022表25光学MAU比特率相关量…表26远程总线光纤光缆长度表27编码规则+++++表28光学MAU传输水平和光谱规范概要…表29光学MAU接收器电路规范概要…表30光纤波导管规范.…表31单光纤规范.5表32光缆护套及光缆机械特性规范表33光缆材料进一步的特性建议值.表34光纤波导管规范表35单光纤规范表36光缆护套及光缆机械特性规范表37用于光学MAU的标准测试光纤规范表A.1超小D型连接器的九个引脚分配…68表A.2终端连接器的引脚分配JBT103088-2005前言本部分为JB13088《测量和控制数字数据通信工业控制系统用现场总线类型8: INTERB规范》的第2部分。本部分的附录A为规范性附录。JB/T103088-2005引言INTERBUS是数字的串行通信系统,用于控制系统(如可编程序控制器)与工业传感器和执行器类现场设备之间的通信。这些设备包括简单限位开关和阀门,以及测量传感器、测量变送器与执行器还可以包括复杂的高技术控制系统,如控制驱动、扭矩及过程的控制器等。本部分描述了物理层规范和服务,它与 INTERBUS规范系列的其他部分密切相关。该规范系列由基于部分开放系统互连基本参考模型的现场总线“三层”参考模型所定义。为便于管理,两个参考模型都将互连标准范围细分为一系列规范层。不同层之间的关系如图1所示。注:用于本规范的系统管理是一种管理各层协议的本地机制。应用层数据链路层勿琿服务物管理服务物理层煤体图1物理层与其他层的关系本部分的主要目的是提供一组通信规则,由对等物理层实体在通信时执行的规程来表达。物理层从数据链路层接收数据单元,将它们编码,如果必要还要增加通信帧信息,将合成的物理信号发送至传输媒体的一个节点。然后另一个节点接收信号,解码,如果必要在数据单元传递到接收设备的数据链路层之前,还要删除通信帧信息本部分包含物理层规范,对应于第4部分的 DL-Layer协议。物理层的一般模型如图2所示物理层允许通过直接的媒体访问传输接收的数据单元到另外的设备:同时也允许通过其他体访问及其传输协议传输数据单元到另外的设备规定了以下类型:双绞线媒体,速率最高可达l6Mbit光纤媒体,速率最高可达l6Mbis这些传输媒体的一般特性是全双工传输;不归零制(NRZ)编码。导线媒体类型提供以下选择一非总线供电,非本质安全通过总线和其他附加导线供电,非本质安全JB/r103088-2005DLPh接口系统管理Ph援口CE无关子层DTE DCE-接口煤体相关子层MDS-MAU接门媒体接口图2物理层通用模型JBT103088-2005测量和控制数字数据通信工业控制系统用现场总线类型8: INTERBUS规范第2部分:物理层规范和服务定义范围本部分规定了对物理层组件的要求。还规定了媒体和网络配置的要求,以保证:a)数据链路层差错校验前的数据完整性;b)物理层设备之间的可互操作性。现场总线物理层符合GB/9387.1的OS门层模型中第一层的规定。2规范性引用文件下列文件中的条款通过JB/T103088的本部分的引用而成为本部分的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本部分,然而,鼓励根据本部分达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本部分GBT9387.1信息技术开放系统互连基本参考模型第1部分:基本模型(GB/T9387.11998, idt ISo/EC7498-1:1994)GBT17967-2000信息技术开放系统互连基本参考模型OSI服务定义约定( idt ISO/EC10731:1994)IC60096-1无线电频率电缆第1部分:一般要求和测试方法lC60189-1:1986具有PVC绝缘和PVC护套的低-频率电缆和导线第1部分:试验和测量方法总则lC60794-1-2:199光缆第1-2部分:总规范光缆基本试验程序IEC608112-1:1998电缆和光缆绝缘和保护材料的一般试验方法第2-1部分:规定弹性体的方法-抗臭氧热凝固和矿物油沉浸试验EC60874-2:1993光纤和光缆连接器第2部分:F-SMA型纤维光学连接器规范IC61156-1:1994数字通信用多芯和对称的双四光缆第1部分:总规范EC61300-3-4:2001纤维光学互联装置和无源化纤基本试验和测量程序第3-4部分:评价和测量衰减ISO4892-1塑料-曝露于试验室光源的试验方法第1部分:导则ANSI TIA/EIA422-B平衡电位数字接口电路的电特性3术语和定义下列术语和定义适用于JB/103088的本部分。3.1活动 activity现场总线设备输人终端的信号或噪声幅度高于那个设备接收器的信号幅度阈值的现象3.2总线耦合器 bus coupler打开总线环,形成总线段,并在这一点上集成另一个环的设备。JBT103088-20053.3电缆设备接口连接器(CPIC) Cable plant Interface Connector(CPIC进行测试和一致性测量的点,也是网络设备与电缆设备的接口3.4通信部件 communication element通过总线与其他部件通信的现场总线设备的部分。3.5证实(原语) confirmation( primitive)IGBT1796720003.6连接器 connector用于连接两个电路或通信部件媒体的耦合设备[IEEE Std 100-1996, modified]3.7分贝(毫瓦)[dB(mW)] decibel( milliwatt)[dB(mw)功率的对数单位,相对1mW。也写作dBmPdBm=10lg(Pmw)注:如果测量功率Pmw的单位是mW,功率的对数表达PBm的单位就是dB(mW),或dBm。38有效发射功率 effective launch power发送器在光纤波导芯中传输的有效发射功率。这个功率可用连接到CPIC的标准测试光纤来测量。3.9有效功率 effective power绝对光强度测量时高电平中点的光强度测量值与低电平中点的光强度测量值之差,以dBm表示。注:据信,有效功率比传统测量给出了更准确的测量,例如峰值和平均功率。测量有效功率的方法还有待进一步研究。3.10光缆 fibre optic cable含一股或多股光纤波导管,有封套材料保护的线缆光纤接收器 fibre optic receiver通过CPIC接收光信号的光电通信设备3.12光纤接收器工作范围 fibre optic receiver operating rangeCPEC具有确保满足比特差错率规范的光能量范围3.13光纤发送器 fibre optic transmitter通过CPC发射光传播信号进入光导纤维的设备。3.14光导纤维 fibre optic waveguide柔软的、光透明的导线束。用于在不同地理位置间传送光信号。3.15帧 frame连续的数字时间片,每个数字时间片可以通过一个定位信号基准来识别。JBT103088-2005JIEEE Std 100-1996]3.16入向接口 incoming interface从前一个设备接收数据,同时也可向前一个设备出向接口发送数据的接口。3.17指示(原语) indication( primitive)[GBT17967-20003.18隔离 isolation信号传输系统各部分的物理与电的安排方案,以防止各部分内部或各部分之间的电干扰。[ EEE Std100-19963.19本地总线 local bus带可选媒体规范的网络的一个环形段,通过总线耦合器连接远程总线3.20本地总线设备 local bus device在本地总线中用作从站的设备。321主站 master在网络上控制数据传送的设备,通过发送报文启动从站的媒体访问并建立控制系统的接口媒体 mediun在两点或多点间传输通信信号的电缆、光纤或其他介质。3.23光接收器最小灵敏度 minimum optical receiver sensitivity光传输系统要获得小于109比特差错率时,光接收器输人需要的最小光功率。324网络 network实现通信设备互联的所有媒体,连接器、中继器、路由器、网关和相关节点通信部件的整体3.25光学下降时间 optical fall time脉冲有效功率从90%下降为10%所需要的时间,用额定比特时间的百分比表示3.26光学上升时间 optical rise time脉冲有效功率从10%上升为90%所需要的时间,用额定比特时间的百分比表示。3.27出向接口 outgoing interface发送数据到下一个从站,同时也可从下一个设备入向接口接收数据的接口,主站仅有出向接口3.28最高发射波长() peak emission wavelength()辐射强度最大时的波长3.29聚合光纤(POF) polymer optical fibre(POFJBT103088-2005塑料纤维光学波导管,它的标称特性与EC60793-2兼容。(光纤类型:A4a(980/1000)3.30塑料包层玻璃光纤(PCS) plastic clad silica fibre(PCS)由玻璃芯和塑料包层组成的纤维光学波导管,它的标称特性与正C60793-2兼容。(纤维类型A3c(200230))。3.31远程总线 remote bus网络中的一个环形段3.32远程总线设备 remote bus device在远程总线上作为从站工作的设备3.33远程总线链接 remote bus link两个远程总线设备的连接3.34请求(原语) request( primitive)[GBT17967-200035环段 ring segment网络的一段。注:主站建立第一个环段,更多的环段可以用总线耦合器来链接。3.36屏蔽 shield带有接地的环绕金属层,用于限制电缆内的电场并保护电缆不受外部电干扰。注:金属套管、铠装和接地同轴导线也可用于屏蔽。3.37从站save一种只有被前一个从站或主站启动后才访问媒体的设备。338半高光谱全宽(△λ) spectral full width half maximum(△)辐射强度在不小于最大强度的一半时,光谱分布的波长范围.39终端器 terminator为了防止导线终端的反射,在导线媒体段的两端使用的连接一对导线的电阻。4符号和缩略语4.1符号符号见表1。表1符号符号单位相对1mW功率的对数单位dB (mw)与比特率对应的频率最大正电平(或最小负电平)GND接地电平JBT103088-20054.2缩略语Bus Connector总线连接器BLBasic Link Layer基本链路层BSYBusy忙CPICCable Plant Interface Connector电缆设备接口连接器CRCCyclic Redundancy Check循环冗余校验CTs Clear to Send清除发送Data Link layer (as a prefix数据链路层(用作前缀)DLLData Link Layer数据链路层[GB/9378数据人DLPDUData Link Protocol Data Unit数据链路协议数据单元Data out数据出Data Select数据选择接地ICIInterface Control Information接口控制信息Identifier标识符kbit/sThousand bits per second每秒千位Loopback Enable回送使能LSBLeast Significant Bit最低有效位MAMedium Activity媒体活动性MACMedium access Control媒体访问控制MAUMedium attachment Unit媒体附属单元MDSMedium Dependent Sublayer媒体相关子层MISMedia Independent Sublayer媒体无关子层MSBMost Significant Bit最高有效位NRZNon Returm to zero不归零PCSPlastic Clad Silica Fibre塑料包层玻璃光纤PhPhysical(as a prefix物理(用作前缀PhEPhysical Layer Entity物理层实体[GB/T9378]ShIcIPhysical Interface Control Information物理接口控制信息ShIDUPhysical Interface Data Unit物理接口数据单元PhLPhysical Layer物理层[GBT9378PhPDUPhysical Protocol Data Unit物理协议数据单元PhSDUhysical Service Data Unit物理服务数据单元PNMIPeripherals Network Management of Layer i第1层外围设备网络管理POFPolymer Optical Fibre聚合光纤Reset in复位人ROReset Out复位出ReDly lRequest delay请求延迟1RqDly2请求延迟2RTSRequest to send请求发送RXAReceive Activity接收活动性RXCReceive Clock接收时钟JBrT103088-2005RXCRReceive Control Line接收控制线RXDReceive Data接收数据RXSReceive s接收序列RXSIReceive Select Line接收选取线Select Line选取线Coding and decoding( of the reset phPDU)(复位 PhPDU的)编码和解码Transmit Clock发送时钟TxCRTransmit Control Line发送控制线TxDTransmit Data发送数据发送序列Transmit Select Line发送选取线5DLL-PhL接口5.1概要本条定义了必需的物理服务(PhS)原语和使用限制。注1:数据链路物理接口是一种虚拟机间的虚拟服务接口,在这里不需要物理信号线,因而本标准不要求展示该接口。PhDU应按照GB93871的要求在DLL和PhL间传输,如图3所示。协议数据单元数据链路层DL PDU接冂数据单元接冂控制信总PlICE议控制信息服务数据单元PhPCIPhSDU序列协议数据单元物理层PhPDU注: PhPCI和PhCl支持的是特定类型图3通过DLL-PhL接口的数据单元间的映射注:这些服务规定了一个DLL实体和它关联的Ph实体间PhDU的交换。这样的交换是协同操作的DLL实体间事务的一部分这里列出的服务是最低限的,这些服务提供了协同操作DLL实体并协调其在共享通信媒体上传输及其数据交换的方法。必要时也应提供数据交换的同步和相关的操作。52必要的服务52.1概要PhIDU在DLL(DLL)和PhL(PhL)间交换。为了数据传输,DLPh接口( MAC-MIS接口)使用以下可用的服务原语:PH-DATA requestPH-DATA confirmJB/T103088-2005PH-DATA indication522PhS原语5.2.2.1 PH-DATA request(PhICI, PhIDU这条服务原语用于从MAC子层传送一个数据单元到MIS。PhCI参数决定被发送的接口数据单元( PhIDU)的接口组件,并包括以下值:请求开始一个传输标识符控制数据的数据序列data transfer请求开始一个传输用户数据的数据序列。start_D_cycle由主站请求开始一个传输标识符控制数据的标识周期。start data cycle由主站请求开始一个数据周期,该周期用于传输用户数据user data请求传输由PhDU参数(标识符控制数据或用户数据)定义的用户数据的数据单元。CRC data请求发送由 PhIDU参数定义的校验和的数据单元CRC status请求发送由PhDU定义的校验和状态的数据单元。user data idle请求发送 user data_ide报文。CRC status idle请求发送 CRC status_idle报文注: start_data_cycle和 start_ID_cycle参数只由主站的MAC子层支持。ShIDU参数定义被发送的接口数据单元的数据组成。只有在PhCl= user data,CRC_da或CRC Status的情况下,它由一个比特构成。5.2.2.2 PH-DATA confirm (status)这条服务原语是对PH-DATA请求原语的确认,同时用于同步。 status参数指示相关的 PH-DATA请求原语是否被成功执行5.2.2.3 PH-DATA indication (PhICI, PhIDU)这条服务原语用于将数据单元从MS发送到MAC子层。PhCI参数定义被传送的接口数据单元( ShIDu)的接口组件并设定了以下值ID transfer指示开始传送标识控制数据的数据序列data transfer指示开始传送用户数据的数据序列。user data指示已正确收到传输用户数据(标识控制数据或用户数据)的数据单元,该用户数据由指示的PhDU参数定义。crc data指示已正确收到传输校验和的数据单元,该校验和由PhDU参数定义。CRC status指示已正确收到传输校验和的数据单元状态,该校验和状态由PhDU参数定义JB/T103088-2005user data idle指示已收到 user data_idle报文crc data idle指示已收到 CRC data_idle报文CRC status idle指示已收到 CRC status_idle报文。PhIDU参数定义了所接收的接口数据单元的数据组成。它由一个比特构成523交互作用概述注:通过DLPh接口传送数据时,数据序列(发送用户或标识数据)和校验序列(传输校验和数据)是不同的。以下适用于图4~图7。MISPh_ Data, req(start ID cyclePh Data con(Ph Data, ind(data transfer+)Ph Data Ind( ID transterPh Data inddata, b:t 1)Ph Data refuser data, bit nPh Data reqf user data idle)Ph Data ind(user data idle)Pi Data, req(data transfer)Ph Data req(ID transfer图4主站数据序列的交互作用:标识周期JBT103088-2005对于一个标识周期,如果一个数据周期的数据序列后面跟随着一个标识周期的数据序列,以(+)为标记的交互作用被省略。对于一个数据周期,如果一个标识周期的数据序列后面跟随着一个数据周期的数据序列,以(+)为标记的交互作用被省略。5231数据序列523.1.1主站图4和图5表示了一个数据序列(标识周期和数据周期)在主站(控制板)的DLPh接口的交互作用Ph Data req(start data cycled(data transfer)Ph_ Data ind( iD transfer)(+)Ph Data req(user data, bit 1)Ph Data con(OKPh Data ind(user datPh Data ind(user data idle)Ph Data req( CrC data, brt 1)Ph Data req(data transferPh Data. req( ID transfer)图5主站数据序列的交互作用:数据周期JB/T103088-200552312从站图6和图7表示了在从站(远程总线设备,本地总线设备或总线耦合器)的DLPh接口上数据序列(标识周期和数据周期)的交互作用MAC网络Ph Data ind( data_ transfer x+Ph Data req(data transfer+)Ph Data con(OKK+)Ph Data ind( D transferPh_Data req(id transfer)Ph Data, con(OK)Ph Data, req(user data, bIt 1Ph_Data refuser data, bit n)Ph Data con(oK)Ph Data reqluser data idle)h Data con(oK)图6从站数据序列的交互作用:标识周期JBT103088-2005MACPh Data ind( [D transfer )(+)Ph_Data req( iD_transfer)(+)Ph Data con(OK)(+)Ph Data ind( data transfer)Ph Data req(data transfer)Ph Datacon(OK)Ph Data ind (user_ data, bit 1)Ph_ Data. reqt user_ data, bit 1)Ph Data con(OK)Ph Data, ind (user data, bit n)Data req(user data, bit n)Ph Data con(OK)Ph Data ind( user data Idle)Ph Data rex (user data idle)Ph Data con(OK)图7从站数据序列的交互作用:数据周期5232校验序列.232.1主站图8表示在主站的DLPh接口校验序列的交互作用JB/T103088-2005Ph Data req(CrC data, bit 1)Ph Data con( OK)Ph Data ind( CrC data, bit 1)Ph Data req(CRC data, bit 16)Ph Data con(OK)Ph Data ind( CRC data, bat 16)Ph Data req(CRC status, bit I)Ph Data con(OK)Ph Data ind( CRC Status, bit t)Ph Data req( CRC status, bit 16)Ph Data con(OK)Ph Data req(crc data idle)Ph Data ind(cRc status, bit 16)Ph Data ind(crc data idle)Ph_ Data reqt data sequence)图8主站校验序列的交互作用52322从站图9表示在从站的DLPh接口校验序列的交互作用。JBT103088-2005MAC网络Ph Data ind(CRC data, bit 1)Ph Data req(cRC data, bit 1)Data con(oK(+)Ph Data ind( cRc data, bit 16)Ph Data req(CRC_ _data, bit 16)Ph Data conPh Data, ind(CRC status, bit 1)Ph Data req( CRC status, bit 1)Ph Data con(OK)Ph Data ind(cRC status, bit 16)Ph Data req(CRC status, bit 16)Ph Data con(OK)Ph Data ind( crc data idle)Ph Data req( CrC data idlePh Data. cooK)图9从站校验序列的交互作用6系统管理-PhL接口61PhL管理功能PhL管理是PhL的一部分,根据PNMl的要求生成管理功能。PhL管理处理在PhL中的初始化、监视和差错恢复。62 PhL-PNMI接口62.1概要本条定义了用于PNM1的PhL管理服务的管理,同时定义了它们的服务原语和相关参数。图10表JB/T103088-2005示了分层模型中PhL和PNMl之间的接口应用层数据链路层物理管理服务媒体图10在分层模型中PhL和PNM1之间的接囗PhL和PNMI之间的服务接口提供以下功能复位PhL请求和改变PhL的当前工作参数;指示PhL发生或检测到的意外事件、差错和状态改变622服务概述PhL使下列服务可用于PNM1:a) Reset PhL(必备)PNM使用这个服务复位PhL。复位等效于上电。一旦执行这个服务,PNM接收一个证实。b)Set Value Phl o Get Value PhLSet value PhL(可选)PNM使用这个服务为PhL变量赋新值。一旦完成,不论定义的变量是否赋新值,PhL的PNM1都会接收到一个证实Get Value PhL(可选)PNMI使用这个服务读出PhL变量。定义变量的当前值在PhL的响应中返回c) Event PhL(必备)PhL使用这个服务来通知PNM1用户在PhL中出现某些事件或差错623交互作用概述PhL服务由以下原语表述(以Ph-开始):a) Reset PhlPH-RESET requestPH-RESET confirmb) Set Value PhLPh-SET-VALUE requesPh-SET-VALUE confirmc) Get Value PhLPh-GET-VALUE requestPh-GET-VALUE confirmd) Event PhLPh-Event indication图11和图12表示服务原语的时间关系JB/Tr103088-2005NMIPh_ xxx, reqPh XXX conPl Event innd图11 Reset、 Set value、 Get Value phL服务图12 Event phl服务624服务和交互作用的详细定义6.2.4.1 PH-RESETPH-RESET服务是必备的。PNM1传送一个 PH-RESET请求原语给PhL使它复位(见表2)表2 PH-RESET参数名请求证实Result (+)6.2.4.2 Fh-SET-VALUEPh- SET-VALUE服务是可选的。PNM传送一个 Ph-SET-VALUE Request原语给PhL,把定义的Ph变量设置为期望值,在接收到这个原语后,PhL试图去选择变量并赋新值。一旦这个过程完成,PhL就传送一个Ph- SET-VALUE Confirm原语给PNMl(见表3)。表3 Ph-SET- VALUE参数名请求证实variable nameMMMdesired valueResult (+variable name:这个参数定义要赋一个新值的PhL变量desired value这个参数说明PhL变量的新值。表4提供了能够赋新值的PhL变量的有关信息。表4PhL变量PhL变量名mediumbus interfacesshort bus reset timelong_bus_reset_timeData selectloopback_mode这个参数定义MAU的接收电路是否与发送电路或媒体连接。参数结构:JBT103088-2005—接口号规定了人向和出向的接口号(见图13)。状态这个参数定义了MAU的接收电路是否能( enable)连接或不能( disable)连接。上电后参数值为enabled人向接出向接冂接∏数接口数=0接口数=2出向接门注:主站接口号总是为2图13接口号的分配medium attachment:这个参数表示MAU是否与传输媒体相耦合。通过检测一个连接器是否插到出向接口来实现这一功能参数结构一接口号说明总线接口号(见图13)连接这个参数定义接口是否连接到传输媒体上bus interfaces接口号说明总线接口号(见图13)。接口类型定义物理接口和传输媒体的类型a)入向接口,2线;b)出向接口,2线。short bus reset time此参数定义短复位的持续时间,上电后参数值为5mlong bus reset time这个参数定义长复位的持续时间,上电后参数值为100msdata select:这个参数指示在无源出向MAU的传输媒体上发出一个 Reset phPDu或一个medium_activity_status_PhPDU (loopback_mode=disable)参数结构接口号定义总线接口号(见图13),取值范围(1~2)。耦合Disable:在传输媒体上传输一个复位 PHPDUEnable:在传输媒体上,传输一个媒体活动状态 PhPDU。上电后这个值为“ disable6.2.4.3 Ph-Get- ValuePh-GET-VALUE服务是可选的。为了读出所定义的PhL变量的当前值,PNM就给PhL传送一个Ph-GET-VALUE request原语。收到这个原语后,PhL就试图去选择已定义的变量,并通过 Ph-GET-VALUEJB/T103088-2005confirm原语将当前值传送到PNM1(见表5)表5 Ph-GET-VALUE参数名请求ArgumentMariable nameResult (current valuevariable name这个参数定义要被读出值的那个PhL变量。current value这个参数包含PL变量的读出值。被读出的PhL变量是那些可以用 Ph-Set-Value写人的变量。6.2.4. 4 Ph-EVENTPh-EVENT服务是必备的。PhL传输一个Ph- EVENT indication原语到PNMl,以通知PNMl在PhL中所发生的重要事件或差错(见表6)表6 Ph-EVENT参数名指示AEventMEvent这个参数定义所发生的事件或在PhL的差错源,可依照表7给出下列值:表7PhL事件名称义Stop_bit_errorMDS子层内检测到停止位差错medium attachment出向MAU的媒体连接发生变化7媒体无关子层(MIS)7.1概要PhL分为媒体无关子层(Ms)、媒体相关子层(MDS)和媒体附属单元(MAU)。MS与PhL的所有特性,如编码、传送方法、传输速率及传输媒体类型的约束无关。所有这些特性由MDs和MAU子层来描述。72功能方面,MBS必须发送由MAC子层通过DLPh接口接收的 PhSDU,它是以 PhIDU格式经由MIS-MDS接口到MDS。另一方面,它形成一个 PhSDu的 PhIDU,通过 MIS-MDS接口接收,经由DLPh接口发送到MAC子层另外,MIS允许在两个MDS间通过 MIS-MDS接口传送 PhSDU(MDS耦合)。MIS可以由几个相应配置的通道组成,一个通道用于传送 PhSDU到MDS以及通过PhDU传送一个 PhSDU到MAC子层。其他所有通道用于在两个MDS子层间传送 PhSDu7.3串行传输对于串行传输, ShIDu序列必须转换为 PhSDU序列。高有效位在低有效位的 PhSDU之后传输在接收时,每个 PhSDUs序列都将被转换为PhDU序列,因此,以这样方式形成的PhDU序列对JBT103088-2005应于从MAC子层传输到PhL的相应序列。74MDS耦合当MDS被成对地耦合,并拥有相同或不同特性(传输的可选类型)时,通过 MIS-MDS接口从MDS接收的每个 PhSDU被原封不动地经由 MIS-MDS接口发送到另一个MDS。在这种情况下,允许缓存一个接收到的 PhSDU图14、图15和图16表示使用2线媒体时,总线主站和从站可能的配置情况及传输的可选类型。数据链路层敌据链路层MAC盤物理层物埋层」」屬出向接冂2-线出向接口可选择的传输类型图14主站的配置图15带一种传输选择类型的从站的配置数据链路层MAC物理层MAUEs MAU A第二出向接冂接口可选择的传输类型图16带一种传输选择类型的总线耦合器的配置8 MIS-MDS接口8.1概述PhL分为媒体无关子层(MsS)和媒体相关子层(MDS)。 MIS-MDS接口连接这两个子层MIS-MDS接口是一种支持某些服务的功能接口;这个接口电气上的实现不是必备的。每种服务都是通过此接口信号一系列的交互作用来实现的。82服务8.21概要MIS-MDS接口支持的服务如下ID cycle request服务Data cycle request服务;Data sequence classification服务;Data sequence identification服务JB/T103088-2005Message transmission服务Message receipt服务-Bus reset.822 ID cycle request服务用这种服务,MIS启动一个数据序列来发送标识和控制数据(标识周期)。注:这种服务只由主站使用823 Data cycle request服务用这种服务,MS启动一个数据序列来传输用户数据(数据周期注:这种服务只由主站使用824 Data sequence classification服务用这种服务,MIS启动一个标识周期或数据周期。注:这种服务只由总线耦合器或从站使用825 Data sequence identification服务用这种服务,MDS指示开始一个标识周期或数据周期。826 Message transmission服务用这种服务,MIS发送一个报文经MDS到连接的媒体上或经MDS返回到另一个MDS。MDS决定这个服务执行的速度。注1:这种服务发送将被传送到PhL的PhDU注2:这种服务与报文接收服务同时工作。827 Message receipt服务用这种服务,MDS指示接收到MS或另一个连接的MDS的报文。这种服务用以指示被接收的hPDU格式是否正确注:这种服务在 date sequence ident fication服务之后8.2.8 Bus reset通过这种服务,一个复位信号发送给或从所有的从站接收。表8为MDS总线复位的参数表8 MDS Bus reset服务参数请求指示reset_typereset_ type这个服务参数定义复位是短复位还是长复位。数值范围:短,长。注:这种服务只由主站使用3接口信号MIS-MDS接口生成的可用信号列于表9表9在 MIS-MDS接口的信号接口信号助记符信号源发送时钟MIS请求发送RTS清除发送MDS发送序列TxS发送选择线TXSLMIS发送控制线TXCRJB/T103088-2005表9(续接口信号助记符信号源发送数据MIS请求延迟1DlyMIS请求延迟2MIS忙BSY接收时钟RXCMDS接收活动率RXAMDS接收序列RMDS接收选择线RXSL接收控制线RXCR接收数据RxDMDS复位出ROMIS复位人RIMDS84服务转换为接口信号84.1概述MIS-MDS接口的服务由81~848中所描述的协议机和信号序列来表达。注:以下符号用于图17~图25所示的状态图符号“*”相当于“逻辑与”,符号“/”相当于“非”。842 Identification Cycle Request服务图17描述了这个服务和用灰色标记的四个服务以及他们之间的转换TxSL RqDly 1/RqDly2ID CyclCycle/XsL RqDly 2图17带I周期请求服务的状态转换注1:在图17中没用灰色表示的转换将由图20和图22所描述状态和转换的其他服务。标识周期的执行是在一个数据周期或复位之后。Data_ Transfer状态MS通过将TxSL信号从逻辑0变为逻辑1,同时将 ReDly1信号从逻辑0变为逻辑1,来启动一个Identification cycle request服务JBT103088-2005Start_ I_Cycle状态:随后,MDS发送相应的状态 PhPDU,启动一个持续时间为t的计时器,将BSY信号从逻辑0设置为逻辑1。MIS复位RqDy1信号为逻辑0。时间结束后,MDS设置BSY信号为逻辑0,并终止 Identification cycle request服务。MS通过PH-DATA confirm原语通知DIL,并进入 ID Transfer状态。t1的最小时间为5bit时间。图18表示在 MIS-MDS接口处相应的信号波形,用于执行在前面的数据周期之后的 Identification服务Data transfeStart ID CycleID TransterT飞SL图18 MIS-MDS接口: Identification cycle request服务这个标识周期的执行是在一个标识周期之后:D Transfer状态MS通过将TxSL信号从逻辑1变为逻辑0,同时RqDy2信号从逻辑0改变为逻辑1,来启动一个dentification cycle request服务。D_Cycle_Request状态:随后,MDS发送相应的状态 PhPDU,启动一个持续时间为t2的计时器,将BSY信号从逻辑0设置为逻辑1。MS复位 ReDly2信号为逻辑0在时间t2结束后,MDS设置BSY信号为逻辑0。随后MIS子层将TXSL信号从逻辑0变为逻辑1,同时RqDy1信号从逻辑0变为逻辑1t2的最小时间为25bt时间。Start_D_Cycle状态:随后,MDS传输相应的状态 PhPT,启动一个持续时间为t1的计时器,BSY信号从逻辑0设置为逻辑1。随后MS复位RqDy1信号为逻辑0在时间结束后,MDS将BSY信号设为逻辑0,并结束此 Identification cycle request服务。Mls通过 PH-DATA confirm原语将此状态通知到DLL,并进入 ID Transfer状态。图19表示在 MIS-MDS接口相应的信号波形,用于执行在前一个标识周期之后的 Identification cycle服务JB/Tr103088-2005Start IDID Transfer图19 MIS-MDS接口: Identification cycle request服务注: Identification cycle request服务是一种异步服务,与TxC无关843 Data Cycle Request服务图20描述了用三个灰色标记表示状态的这种服务及其转换ResetID Cyclxsl RqDly IiD_Cycle图20数据周期请求服务的状态转换注:在图20中没用灰色表示的转换将用于图17和图22所描述的其他服务的状态和转换这个数据周期的执行是在一个标识周期之后:ID Transfer状态:MS通过将TxSL信号从逻辑1改变为逻辑0,同时 ReDly1信号也从逻辑0改变为逻辑1,来启动一个 Data Cycle Request服务Start Data_ Cycle状态:随后,MDS发送相应的状态 PhPDU,启动一个持续时间为t的计时器,将BSY信号从逻辑0设为逻辑1。MS复位RqDy1信号为逻辑0在时间h过去后,MDS将BSY信号设为逻辑0,并结束 Data Cycle Request服务MS通过 PH-DATAconfirm原语将此状态通知给DLL,并进人 Data Transfer状态。JBTr103088-2005图21表示在 MIS-MDS接口的相应的信号波形,用于执行在前一个标识周期之后的 Data CycleRequest服务。Start_ Data CycleData transferXsLReDly l图21 MIS-MDS接口: Data Cycle request服务这个数据周期的执行是在一个数据周期之后。如果DLL用 PH-DATA regμuest原语(PhCl= start_ data_cycle)请求开始一个数据周期,在此之前DLL没有用 PH-DATA request原语(Phcl= estart_ID_ cycle)请求开始一个标识周期,MS就用 PH-DATAconfirm原语通知DLL数据周期请求服务结束。TxSL、 RdLy及RqDy2的信号状态保持不变。注2: Data Cycle Request服务是异步服务,与TxC无关844数据序列分类服务图22描绘由两个灰色标记表示状态的这个服务及其转换。ResetTXSL/XsL. RqDly IReques图22带数据序列分类服务的状态转换注:在图22中没有用灰色表示的转换将用于图17和图20所揸述的其他服务的状态和转换Data_ Transfer状态:MIS通过将TxSL信号从逻辑0改变为逻辑1来启动一个标识周期(传输 PhPDU中的标识与控制JBT1030882005数据)。ID Transfer状态MS通过将信号从逻辑1改变为逻辑0来启动一个数据周期(传输 PhPDU中的用户数据)。注2: Data sequence classification服务是异步服务,与TxC无关。845 Message Transmission服务图23描述了这种服务的六种状态及其转换StatusRTS /TXSRTS·TxCR/RTS ITXSAxSRTS'TxCR图23 Message Transmission服务的协议机注1:一个数据比特序列以八位位组的倍数传输。在MIS将其RIS接口信号从逻辑1设置为逻辑0之后,它等待来自MDS的低态有效CTS信号的下降沿。MS通过 PH-DATA confin原语(主站必备)将此状态通知给DLLCRC Data_Idle状态MS通过TxC上升沿将RTS信号设置定为逻辑1来启动 Message Transmission服务,同时将TxCR信号设置为逻辑0,并且用TxD信号传输一个八位位组内的第一个数据位给MDS注2:MS可以在TxC后继的上升沿期间通过将RTS信号设为逻辑1来启动发送校验和状态,而不是启动一个Message transmission服务。同时将TxS信号设为逻辑0,用TxD信号传输校验和状态的第一位给MDSUser Data状态在每个TxC上升沿期间,通过发送TxD信号的一个八位位组中的下一个数据位给MDS,MS将继续数据传输。在完成最后一位传输和下一个TxC下降沿到来之前,MS通过设置RTS信号为逻辑0来完成数据传输。注3:在TxC上升沿期间,MIS通过将RrS信号设置为逻辑1来继续数据传输,同时用TxD信号传输八位位组的第一位给MDSUser Data Idle状态:在TXC上升沿期间,MS通过将RTS信号设为逻辑1来启动校验序列,同时将TxCR信号设置为逻辑1,并用TXD信号发送校验和(CRC数据)的第一位给MDS注4:在TXC上升沿期间,MS可以通过将RTS信号设为逻辑1来启动一个新的 Message transmission服务,而不是校验和序列,同时用TxD信号传输第一个数据位给MDS,这相当于 Message Transmission服务的继续CRC Data状态:在每个TXC上升沿期间,MS可以通过TxD信号继续传输八位位组内的后续数据位来传输校验和数据给MDS在校验和数据传输完成后,在TXC上升沿期间,MIS通过传送TxS信号一个逻辑0来启动校验和JB/T103088-2005状态(CRC状态)的传输,同时用TXxD信号传输校验和状态的第一位给MDS注5:在TxC的下降沿之前,MS通过设置RTS信号为逻辑1来连续传输校验和,同时传输TxD信号的校验和的后续八位位组的第一位给MDS注6:在TxC的上升沿期间,MS通过设置RTS信号为逻辑1来启动校验和状态的传输,同时设置TxS信号为逻辑0并传输校验和状态的第一位给MDS。CRC Status状态在每个TxC的上升沿期间,MS可通过TxD信号传输八位位组的后继位来继续传输校验和状态给MDS。在TxC的下降沿之前,八位位组的最后一位传送之后,MS通过设置RTS信号为逻辑0,TxS信号为逻辑1来终止校验和状态的传输。CRC Status Idle状态9面在TC的上升沿期间,MS通过设置RTs信号为逻辑1来继续校验和状态的传输,同时用TxD信号传输后继八位位组的第一位给MDS6 Data Sequence Identification服务图24描述了这个服务的两种状态及其转换RE/RxS[图24 Data sequence Identification服务的协议机Data_ Transfer状态:通过将RxSL信号从逻辑1改变为逻辑0,MIS得到一个标识周期(传输被接收 PhPDU的标识数据或控制数据)开始的信息D Transfer状态:通过将RxSL信号从逻辑1改变为逻辑0,MIS得到一个数据周期(传输被接收 PhPDU的用户数据)开始的信息。注: Data sequence identification服务是异步服务,与RxC无关。847 Message Receipt服务图25描述这个服务的六种状态及其转换注1:被接收的数据基于八位位组的倍数CRC Idle状态如果MDS识别到一个数据序列 PhPDO的开始,它就通过将RxC信号发送的时间脉冲与接收到的时间脉冲相匹配来启动 Message receipt服务,同时在RxC信号上升沿期间将RxA信号设置为逻辑,RxCR信号设置为逻辑0,并通过RxD信号将一个八位位组的第一个解码数据位传输给MSJB/T103088-2005/RxA·RASidleRxA/RXSRxA·RxCRidleRxA·RxcRRxA·RxCRRese图25 Message receipt服务协议机注2:如果MDS是在一个校验序列 PhPDU中识别出校验和状态的开始,而不是数据序列 PhPDU的开始,它就将RxA信号设置为逻辑1,同时设RxS信号为逻辑0,并通过RxD信号传送第一个解码位给MS注3:只要MDS识别出 CRC Idle状态,它就保持RxA信号为逻辑0,保持RxCR信号为逻辑1Data_ Sequence状态MDS将继续通过RxD信号发送接收到的和已解码的数据给MS,同时通过RxC信号将发送的时间脉冲与接收的时间脉冲相匹配。如果MDS在接收到一个八位位组的最后数据位之后,识别出 Data idle状态,它将在RxC的下降沿期间设置RxA信号为逻辑0。Data_dle状态只要MDS识别出 Data Idle状态,它就将保持RxA信号为逻辑0,保持RxCR信号为逻辑0如果MDS识别出校验序列 PhPDU的开始,它就通过将RxC传送的时间脉冲与接收到的时间脉冲相匹配,在RxC上升沿期间设置RxA信号为逻辑1,同时设置RxCR信号为逻辑1,并通过RxD信号传输校验和(CRC数据)的已解码的第一个接收位给MIS如果MDS识别出的是一个 PhPDU数据序列的一个八位位组内的第一个位,而不是校验序列的升始,它就通过将RxC传送的时间脉冲与接收到的时间脉冲相匹配来继续接收数据序列.同时在RxC的上升沿期间设置RxA信号为逻辑1,并通过RxD传送接收到并已解码的数据位给MIS。CRC Data状态MDS将继续通过RxD信号传输已接收到并已解码的校验和数据给MIS,并通过RxC信号将传输的时间脉冲和接收的时间脉冲相匹配如果MDS在完全接收校验和数据之后,识别出校验和状态的第一位,它将与通过RxC信号传送的时间脉冲相匹配,在RxC的上升沿设置RxS信号为逻辑0.同时通过RxD信号传输接收到并已解码的校验和状态位给MIS注4:如果在MDS接收到八位位组的最后一位之后,MDS识别出 CRC Idie状态,它将在RxC的下降沿期间设置RxA信号为逻辑0注5:如果MDS识别出校验和数据的一个八位位组内的第一个位,它就通过将RxC信号传送的时间脉冲与接收的时间脉冲相匹配来继续接收校验和数据,在RxC的上升沿期间设置RxA信号为逻辑1,同时通过RxD信号传送接收到和已解码的校验和位给MIS。CRC Status状态MDS将通过RxD信号继续传送接收到并已解码的校验和状态给MS,同时将RxC信号传送的时JB/T103088-2005间脉冲与接收的时间脉冲相匹配。在它完全接收到校验和状态之后,在RXC的下降沿期间MDS设置RxA值为逻辑0,同时设置RxS信号为逻辑1。注6:在MDS接收一个八位位组中最后一位之后,如果MDS识别出 CRC Idle状态,在RXC的下降沿期间它将设置RXA信号为逻辑0CRC Status Idle状态如果MDS识别出校验和数据的一个八位位组内第一位,它通过将RXC信号传送的时间脉冲与接收的时间脉冲相匹配来继续接收校验和状态在RxC的上升沿期间设置RxA信号为逻辑1,同时通过RxD信号传送接收到和已解码的校验和状态位给MIS。848 Reset服务这个服务是通过设置RO信号的方式从MS发送到MDS。复位的接收是以RI信号从MDS传递到MS。取值范围为:短,长。9媒体相关子层(MDS)9.1功能媒体相关子层(MDS)通过 MIS-MDS接口(如第8所述)交换 PhSDU序列:经 MDS-MAU接口(如第10节所述)传送 PhPDU。MDS编码和解码 PhSDU,并为发送或接收的 PhSDU子序列增加和移去传输帧(报头和停止位),MDS对 MIS-MDS接口、 MDS-MAU接口和 PhPDU实现同步,时间功并能在MAU之间经 MDS-MAU接口(MAU耦合)直接传输一个 PhPDUMDS可以由几个通道组成。 PhPDU将形成一个MDS通道,该通道对应于经 MIS-MDS接口传输的 PhSDU序列。该通道并相应地解码 PhSDU序列。相反地,这个通道也识别接收的 PhPDU格式并经MIS-MDS接口传输解码后的 PhSDU序列给MS所有其他通道都直接用于两个MAU之间传输 PhPDU从站MDS的通道有一个到MIS的接口,在发送和接收方向上有以下关系:如果 MIS-MDS接口信号RTS是0,D的内容被发送到 MDS-MAU接口,信号DO具有刚好一位的时间延迟。如果RrS是1DO与TxD耦合(仅当MDS无耦合时可用)。对于主站的MDS,8个 PhSDU序列可能首先被缓冲,然后生成相应的数据序列或校验序列PhPD92 PhPDU格式MDS可以识别并生成以下 PhPDU格式:数据序列 PhPT,校验序列 PhPDU,状态 PhPDU和复位 PhPDU92.1数据序列 PhPDUMDS通过给数据单元增加一个起始位、报头和停止位来生成数据序列 PhPDU。数据单元本身包含8个 PhSDU,成为一个 PhSDU序列,它作为数据序列 DLPDU的一部分通过 MIS-MDS接口用报文传输服务的方法进行传输。图26表示了数据序列 PhPDU的结构。MSB起始位报头数据单元停止位图26数据序列 PhPDU这样生成的数据序列 PhPDU经 MDS-MAU接口以下述方式从左到右地传输:起始位,报头,数据单元,停止位。数据单元的 PhSDU按他们通过 MIS-MDS接口的传输顺序经 MDS-MAU接口传输如图26所示, PhPDU数据序列从左到右接收,顺序为起始位、报头、数据单元、停止位。MDS移去起始位、停止位和报头并通过 MIS-MDS接口传输做为数据序列 DLPDU一部分的,并包括在报文接收服务的数据单元内的 PhsDu到MIS。传输开始于第一个紧接着报头的 PhSDU,以在停止位之前的最后的 PhSDU结束JB/T103088-2005注1:每个数据序列 PhPDU开始于一个起始位和结束于一个停止位注2:数据序列 DLPDU按照数据序列 PhPDU的顺序进行传输数据序列 PhPDU的报头结构如图27所示图27在数据序列中 PhPDU报头的结构数据序列 PhPDU的报头经 MDS-MAU接口从左到右的传输和接收,它开始于SL位。对于要发送的数据序列 PhPDU,SL位传送的逻辑符号相当于 MIS-MDS接口的TxSL信号的逻辑“非”状态,此时数据序列 PhPDU要经 MDS-MAU接口传输到MAU(见表10)。表10SL位和TxSL信号分配TRSL信号SL位逻辑1逻辑0对于接收数据序列PPDU, MIS-MDS接口的RxSL信号的逻辑状态相当于在SL位(见表11)内传送的逻辑“非”符号。表11SL位和RxSL信号分配SL位RxSL信号逻辑1逻辑09.22校验序列 PhPDUMDS通过在数据单元增加一个起始位,报头和停止位来生成校验序列 PhPDU。数据单元本身包括八个 PhSDu,它是校验序列 DLPDU的一部分,通过报文传输服务以 PhSDU序列形式经 MIS-MDS接口传输。图28表示了校验序列 PhPDU的结构起始位报头数据单元停儿位图28校验序列 PhPDU这样生成的校验序列 PhPDU经 MDS-MAU接口从左向右按起始位、报头、数据单元和停止位顺序传输。数据单元的 PhSDU经 MDS-MAU接口传输,顺序与他们通过MS-MDS接口传输的顺序一致。如图28所示,接收一个校验序列 PhPT,从左到右按以下顺序:起始位、报头、数据单元、停止位。MDS移去起始位、停止位和报头,并通过报文接收服务传输数据单元所包含的 PhSDu序列,它作为校验序列 DLPDU的一部分经 MIS-MDS接口传送给MS。传输始于报头后的第一个 PhSDU,结束于停止位之前最后一个 PhSDU注1:每个校验序列 PhPDU开始于一个起始位,终止于一个停止位注2:一个校验序列 DLPDU是以四个校验序列 PhPDU系列的形式传输。校验序列 PhPDU的报头结构如图29所示。图29在校验序列 PhPDU中报头的结构校验序列 PhPDU的报头从左到右经 MDS-MAU接口发送和接收,始于SL位JBT103088—2005对一个要发送的校验序列 PhPDU,在SL位传输的逻辑符号相当于 MIS-MDS接口的TxSL信号的逻辑“非”状态,此时校验序列 PhPDu要经MDS-MAU接口传输到MAU(见表12)。表12SL位和TxSL信号分配TXSL信号逻辑逻辑0对于一个接收的校验序列 PhPDU, MIS-MDS接口的RxSL信号的逻辑状态相当于在SL位的逻辑非”符号(见表13)。表13SL位和RxSL信号分配SL位RXSL信号逻辑I逻辑0923状态 PhPDU由MDS形成的状态 PhPDU,由一个起始位、报头和一个停止位组成。状态 PhPDU的结构如图30所示。起始位报头停止位图30状态 PhPDU的结构状态 PhPDU经 MDS-MAU接口从左到右地发送和接收,以起始位开始,接着是报头,然后以停止位结束。状态 PhPDU的报头结构如图31所示su I图31在一个状态 PhPDU中报头的结构按照图31,报头经 MDS-MAU接口从左到右地发送与接收,始于SL位。SL位之后的位状态未规定,可以设为“0”或“1对于要发送的状态 PhPDU,在SL位要传输的逻辑符号相当于 MIS-MDS接口的TxSL信号的逻辑非”状态,此时状态 PhPDU要通过 MDS-MAU接口传输到MAU(见表14)。表14SL位和TxSL信号分配TxSL信号位逻辑10逻辑01对于接收的状态 PhPDU,MIS-MDS接口的RxSL信号的逻辑状态相当于在SL位传输的逻辑“非”符号(见表15)。表15SL位和RxSL信号分配RxSL信号0逻辑1逻辑0JBnr103088-2005注1:每个状态PhDU始于一个起始位,结束于一个停止位注2:如果没有 PhSDU序列经 MIS-MDS接口传输到MDS,MDS会自动地开始传输后继的状态 PhPDU。空闲状态可以在两个相继的状态 PhPDu之间生成,一旦一个数据序列的第一个 PhSDU或校验序列 PhPDu从MS传输到MDS,状态 PhPDU的传输和报文将同时被终止。注3:如果没有校验序列 PhPDU或数据序列 PhPDU将要被传输,在一个复位 PhEU之后将传输状态 PhPDU注4:接收状态 PhPDU不会改变 MIS-MDS接口RxCR信号的逻辑状态924媒体活动状态的 PhPDU媒体活动状态 PhPDU由MDS形成,它由起始位、报头和停止位组成。媒体活动状态 PhPDU的构成如图32所示。在媒体活动状态 PhPDU中报头的结构如图33所示。起始位报头图32媒体活动状态 PhPDU图33在媒体活动状态 PhPDU中报头的结构根据图33,报头经 MDS MAU接口从左到右发送和接收。只有当系统管理设变量数据选择= Enable媒体活动状态 PhPDU才通过出向无源MAU传送(回送模式= Disable)。925编码和解码编码和解码遵循表16规则。表16编码和解码规则逻辑符号位DO、DI的编码高电平低电平注1:在1bit时间内,高电平和低电平都将从lbit时间的起始位开始。注2:逻辑符号的编码将转化为 MDS-MAU接口Do信号的相应状态。注3: MDS-MAU接口的DI信号的解码状态将转化为对应的逻辑符号926起始位起始位相当于逻辑符号“1注:MDS将它的接收时钟与起始位的开始(低高转换)同步927停止位停止位相当于逻辑符号“0”。注:MDS可以使它的接收时钟与只在停止位之后最新到达的之后起始位(低高转换)同步93空闲状态总线主站的发送端可以在状态PPDU过渡为数据序列 PhPDU或校验序列 PhPDU期间生成空闲状态。空闲状态在DO总处于低电平。空闲状态的最大长度不会超过26bit时间。在媒体上识别空闲状态的解码规则见表17表17空闲状态的解码规则空闲状态状态RxCR解码DIData Idle逻辑0低电平CRC IdIe逻辑1低电乎CRC_ Status Idle逻辑1低电平94复位 PhPDU94.1复位 PhPDU的结构复位 PhPDU发送逻辑符号“短复位”或“长复位”。图34表示复位 PhPDU的结构夏位或长雙位图34复位 PhPDU注:符号“短复位”和“长复位”的区别只是 MDS-MAU接口传输低电平的DO或DI信号的时间不同942编码与解码复位 PhPDU的编码规则在表18和表19中给出衰18复位 PhPDU的编码规则逻辑符号时间间隔DO编码短总线复位2ms≤Tps<256ms低电平长总线复位Ta≥256ms低电平表19复位 PhPDU的解码规则时间间隔逻辑符号低电平2ms≤TRn<256ms短总线复位低电平TRx≥256ms长总线复位注1:复位 PhPDU终止于一个数据序列 PhPDU、校验序列 PhPDU或状态 PhPDU的起始位注2:编码时,在TR期间逻辑符号被转化为 MDS-MAU接口DO信号的对应状态。注3:解码时.在Tgs期间 MDS-MAU接口D信号的状态转换为对应的逻辑符号。注4:表18和表19给定的时间不按照用于主站的发送器。对于总线主站的发送器来说,按照RO服务的请求生成相应的复位 PhPDU,它们与短总线复位时间和长总线复位时间中Ph变量的定义规定相一致注5:复位 PhPDU的解码规则只应用于Ms与MDS耦合。5MAU耦合当同类的MAU被耦合成对时,每个 PhPDU和所有空闲状态都被成不变地在两个MAU间传输。当使用两线媒体时总线设备可能的配置,如图35、36和37所示欤据谴路层MAC据迹路层MAC物理层物理层入向接冂2-线出向接口图35主站的配置图36从站的配置JB/T103088-2005数据锖路层MAC物理层2-线图37总线耦合器的配置注:当两个MAU直接耦合时,代码透明的中继器可用于时间重建。10 MDS-MAU接口10.1服务概述MDS-MAU接口使用服务将MDS与对应的MAU相连接。服务被定义为逻辑信号,由MAU子层直接转换为物理层信号(见表20)。表20 MDS-MAU接口的服务服务助记符数据出发自MDS数据人发自MAU总线连接器发自MAU回送使能LbE发自MDS数据选择发自MDS媒体活动发自MDS注:只有出向接口的MAU支持总线连接器、回送使能、数据选摔和媒体活动服务,102服务描述1021数据输出(DO这个服务从MDS传输 PhPDU到MAU10.22数据输入(DI)这个服务从MAU传输 PhPDU到MDS10.23总线连接器(BC)这个服务用于指示MDS传输媒体是否连接到出向接口的MAU。如果传输媒体没有与出向接口的MAU相连,则对于这个MAU,系统管理使用回送使能(LbE)服务将接收电路从媒体断开,并将发送电路与接收电路连接注1:只有出向接口的MAU支持总线连接服务。它与其他 MDS-MAU接口服务无关注2:这个服务是一种本地总线管理服务,它用于指示另一个总线设备是否与MAU的出向接口相连,它允许总线系统管理使用回送使能服务关闭或打开传输环注3:其他所连接总线设备由一个指定信号检测,该信号通过出向电缆连接器中的网桥产生(见电缆定义)1024回送使能(LbE)这个服务允许系统管理从出向接口MAU的传输媒体上分离接收电路,并连接输入电路和发送电JBmT103088-2005路。注1:只有出向接口的MAU支持回送使能服务,它与 MDS-MAU接口的其他服务无关注2:这个服务是一种本地管理服务,如果没有其他总线从站连接到出向接口的MAU,就允许系统管理关闭传输环10.25媒体活动(MA)如果运行的环从媒体中分离,以及发送和接收电路是连接的,而且在媒体上将产生受控的活动,则这个服务就从MDS传送一个特定的 PhPDU给MAU注1:这个服务只由从站使用注2:只有出向接口的MAU支持媒体活动性服务,并与 MDS-MAU接口的其他服务无时间关系1026数据选择(DS)系统管理使用这个服务在一个出向MAU解耦的媒体上发送复位 PhPDU或使用媒体活动服务发送确定状态的 PhPDU。注1:这个服务只由从站使用注2:只有出向接口的MAU支持数据选择服务,与 MDS-MAU接口的其他服务无关10.3响应时间MDS将能准确地解码具有如图38所规定的位抖动的一位。采样时钟的偏差范围小于±0.02040i00f/kH图38抖动允差104传输方式MDS-MAU接口允许同时、独立地发送和接收。11媒体附属单元:双绞线媒体11.1MAU信号出向和人向接口的MAU如图39和图40所示112传输比特率相关量对双绞线媒体连接单元(MAU)规定了四种比特率。一个给定的MAU将支持至少一种比特率表21规定了比特率和比特率相关量。JBT103088-2005数据选择(DS)媒体活动率(MA)数据出DO数据人D)总线连接器(BC)回送仗能(LbE)出向接口的MAU图39出向接口的MAU数据出(Do数据人(Di)入向接口的MAUGNDI图40入向接口的MAU表21双绞线媒体MAU的比特率相关量量单位标称比特率(见注)05216Mbits比特率最大偏差±01%士0.1%±0.1%±0.1%标称位宽度(T)50012562.5最小远程总线长度最大远程总线长度400150最大传输位单元抖动±60±1±7.5注:13位的平均传输比特率113网络11.3.1概述双绞线媒体MAU在一个拥有下列器件的网络中工作电缆;连接器;电隔离——设备(带至少一个通信部件)11.32拓扑双绞线媒体MAU在一个拥有多个设备的远程总线内工作。一个远程总线链路(见图41)由两个点对点的连接组成。该连接是单向的。因而每个MAU有一个发送器和一个接收器JBT1030882005远程总线链路DI?设备图41远程总线链路远程总线链路的长度可以从0到给定的比特率的最大长度(见表21)114电气特性发送器和接收器的电平符合 ANSI TIA/EIA422B115响应时间发送器和接收器的时间响应符合 ANSI TIAEIA422B。11.6到传输媒体的接口11.6.1概述经独立于媒体的一个人向〔只是从站)和一个或几个出向接口实现传输媒体耦合(见图42)电隔离远程总线段远程总线段人向图42到传输媒体的接口1162入向接口连接到网络的入向接口包含有五个信号线(见表22),这些信号线必须与设备电隔离。隔离电压≥500V(直流电压)表22入向接口信号简称名称DOI接收数据线/DOI接收数据线DIE发送数据线+/DII发送数据线GNDI地线116.3出向接口连接到网络的出向接口有五个信号线(见表23)表23出向接口信号简称名称发送数据线+/DO2发送数据线DI2接收数据线接收数据线GND2地线JBT103088-2005117传输媒体规范11.7.1电缆连接器9针微型D连接器采用一个标准的连接器引脚分配(见A.1.1)。也可以使用现场终端部件,如螺钉或插件式连接器及固定连接器。在这种情况下连接器的引脚分配必须使用A.12给出的数据。1172电缆总线电缆要用双绞线屏蔽电缆。屏蔽是为了提高电磁兼容性(EMC)。远程总线电缆应至少满足表24所示的要求表24远程总线电缆特性指数(20℃测试方法导线数量(绞线对)3×2,双绞截面积最小020mm2直流导线电阻/100m最大960C6081:51阻抗特性120(1±20%)9在=0064MHz的情况下IEC61156-1,3.3.210092±159在∫>1MHz的情况下绝缘强度一导线/导线rras, ImilIEC60189-1,52导线/屏蔽1000V, Imin绝缘电阻(测试绝缘强度后)最少104.电缆长度为mn1C60.3最大传输阻抗250m/mIEC60096-1在30MHz时分布电容(在800H时)最大60F,电缆长度为lkmEC60l891,5.4对100m电缆的最小近端串话损耗(NEXT)0.772MHzI MHZIEC61I561,3.3.444dB16MHZ-20MHz100m电缆的最大衰减-0.256MHz1.5dB2. 4 dBI MHz2.7dBIEC61156-1,3.3.2-4MHz5.2dB10mhz16MHz11.2dBMHZ119dB两个通信设备之间最小屏蔽配线如图43所示:JB103088-2005GND粉红色屏蔽接地保护接地保护图43配线11.7.3终端电阻在MAU的接收器之前,接收线路的电缆对线直接与电阻器网络连接(见图44)。这种电路可用于MAU的极化,用于导线电路的短路或开路检测。因而发生的等效电阻应至少等于10092150DO11000图44终端电阻网络12媒体附属单元:光学媒体121概述本章的目的是给出双工方式光学纤维MAU的工作和光学规范。光纤远程总线光缆由一对双向传输的光纤(见图45)波导管构成,每个方向的信号传输由分开的光纤完成。这些光纤与网络设备的CPC相连接。JBT103088-200带缓冲层的单光纤维光纤连接双工光纤远程光纤玻导总线光缆图45光纤远程总线光缆攴持两种光纤聚合光纤一塑料包层玻璃光纤122传输比特率相关量对光学媒体连接单元(MAU)规定了四种比特率,每个特定的MAU必须至少支持一种比特率,表25规定了比特率和比特率相关量表25光学MAU比特率相关量传输定时特性值单位标称比特率Mbi比特率最大偏差+0.1%0.1%0.1%士0.1%标称位宽度(7)2000125625123网络拓扑一个光学MAU工作在由下列器件构成的网络中光缆:连接器设备(至少包含一个通信部件)。一个光学MAU应工作在一个带有多个设备的远程总线上。一个远程总线链路(见图46,包两个点对点的连接。这个连接是单向的。因而每个MAU具有一个光纤发送器和一个光纤接收器远科总线链路DO2(发送器)DO(接收器1D2(接收器)D(发送器1设备设备2图46光纤远程总线链路光缆长度范围见表26表26远程总线光纤光缆长度光纤类型最小长度最大长度聚合光纤50m(见注1,2)塑料包层玻璃光纤300m(见注1,2)注1这不排除两设备间有更长的距离,例如采用具有比12.2中规定的更小光学接收灵敏度的接收电路(来获得更长距离)。注2:在使用比1262中规定的标准光缆具有更高衰减的专用光缆的情况下,最大长度可能会减少。JB/T103088-2005124传输电路规范124.1数据编码规则用于光学传输的NRZ编码规定遵循表27给出的编码规则。表27编码规则逻辑符号位编码低光学输出水平高光学输出水平在总线无活动的情况下,用逻辑0表示空闲状态1242测试配置连接到CPC的标准测试光纤的末端(见1264),测试输出电平、光谱和定时规范。与本节有关的要求汇总在表25和表28。1243输出水平规范光学MAU传输光路应符合下列输出水平和光谱的要求。规定的水平和光谱特性在为网络装置规定的温度范围内应保持稳定。输出水平是逻辑0的有效发射功率。输出水平的规定见表28表28光学MAU传输水平和光谱规范概要传输水平和光谱特性聚合光纤塑料包层玻璃光纤(与具有标准测试纤维的CPC相关的值(980/1000um纤维)(200230μm纤维最大峰值发射波长(660nm660nm「典型光灌的最大值为一半时的宽度(△)<30nm最大输出水平最小输出水平6.dbM16.dbM逻辑1的最大有效发射功率43dBm-45dBm注:标准测试光纤规范见2.6.4。1244输出定时规范光学MAU传输光路应符合下列输出定时的要求(见图47)。定时特性在为网络设备规定的温度范围内应保持稳定升时下降吋间≤27图47光学MAU光波波形注1:为便于引用,12.44的要求概要见表24注2:0%有效功率是低光学输出功率状态(逻辑1)注3:100%有效功率是高光学输出功率状态(逻辑0)JB/r10308.8-2005上升时间,下降时间和位单元抖动按以下方法进行选择,即还必须满足表29给出的光学MAU接收电路的电输出定时规范。125接收电路规范与本节相关的要求见表251251解码规则解码规则见表27。1252光纤接收器工作范围光学MAU接收电路在为网络设备规定的温度范围内,应具有表29所规定的最小光学接收器灵敏度。光学MAU接收电路上由1264规定的标准检验纤维测量逻辑0的最大光功率不能超过表29规定的值用于05Mbis和2Mb系统的光纤接收电路应有能力在200ms长空闲状态后检测到一个0010的位流,在此第二个逻辑0的光功率水平减至65%。并应在整个光纤接收器工作范围内保持这个能力。1253最大接收位单元抖动接收电路应按12.4接收NRZ编码信号传输。另外,当信号的时间变化为任意两相邻信号传输点(相交50%)的±25%时,光纤接收器应能接收这个信号。表29光学MAU接收器电路规范概要接收电路特性聚合光纤塑料包层玻璃光纤(与CPIC相关的值)(9801000um纤维(200230m纤维)最小光学接收器灵敏度≤-21.6dBm≤-23dBm逻辑0的最大光功率最大接收器位单元抖动标称位时间的±25%称位时间的±25%126传输媒体规范1261连接器如使用光缆连接器应符合附录A2的规定。1262光纤规范:聚合光纤光缆12621概述安装于室内的聚合光缆应与下述规范兼容。考虑到光缆衰减因素,用于特殊场合或特殊物理应用的特定光纤光缆可与下列规定有所不同。12622光纤波导管用于网络光学MAU的聚合光纤光缆的光纤波导管应符合表30的要求。表30光纤波导管规范参数纤芯直径(980±60)pm包层直径包层不圆度≤6%纤芯材料有机玻璃(聚甲基丙烯酸甲酯)(PMMA)数值口径0.47±0.03側面折射率步长指数在660m处的带宽≥10MHz×100m在650nm(单频)处的衰减≤160dB/km在660nm处的衰减(电缆长度为50m,带LED)≤230dB/kmJBT103088-200512623单光纤用于光学MAU的聚合光纤光缆的单纤维应符合表31的规定表31单光纤规范参数值缓冲层材料聚酰胺(PA缓河冲层颜色黑或橙色外部直径220±007mm最小弯曲半径30mm126.24光缆护套及光缆的机械特性对于光学MAU的聚合光纤的护套应符合表32的要求。表32光缆护套及光缆机械特性规范护套材料聚亚安酯(PUR)护套颜色红应力消除原理非金属性标记使用长度(m),生产日期工作温度范围20℃~+70℃长期最小弯曲半径≤65mm长期最大拉伸强度≥100N长期最大横向压力≥20N/cm126.25光缆的材料特性对于光学MAU的聚合光纤光缆应具有表33所示进一步的材料特性。表33光缆材料进一步的特性建议值參数抗油ASTM油No.2,100℃,IEC60811-2-1卤素释放IEC607542抗臭氧IEC60811-2-1:1998抗ISO4892-1IEC60794-12:1999方法E2A抗磨损半径为1mm的钢针、500g、最少5000转1263光纤光缆规范:塑料包层玻璃光纤光缆1263.1概述安裝于室内的塑料包层玻璃光纤光缆应符合下述规范。考虑到光缆衰减的因素,在特殊环境下使用的特定的塑料包层玻璃光纤光缆,如室外使用的光缆,可与下列规范有所不同12632光纤波导管对于一个光学MAU的塑料包层玻璃光纤光缆的光纤波导管应符合表34的要求。JBT103088-2005表34光纤波导管规范参数值纤芯直径(200±8)m包层直径(230±10)m包层不圆度数值口径040±004侧面折射率步长指数在650nm处的带宽≥1TMHz×Ikm在650m处的衰减≤10dB/km12633单光纤用于光学MAU的塑料包层玻璃光纤光缆的单光纤应符合表35的要求表35单光纤规范参数值缓冲层材料FRNC材料缓冲层颜色红或绿外部直径22mm或29mm最小长期弯曲半径126.34光缆护套及光缆机械特性用于光学MAU的塑料包层玻璃光纤光缆的护套应符合表36的要求。表36光缆护套及光缆机械特性规范参数值护套颜色应力消除原理非金属性标记使用长度(m),生产日期工作温度范围20℃~+70℃长期最小弯曲半径≤50mm长期最大拉伸强度≥200N长期最大横向压力≥100Ncm12635光缆的材料特性用于光学MAU的塑料包层玻璃光纤光缆应具有表33所示的材料特性1264标准测试光纤用于检验带光学MA的网络设备是否符合本章要求的测试光缆,它是一个具有一个或多个光纤波导管的光缆,其特性应符合表37的要求JB/T103088-2005表37用于光学MAU的标准测试光纤规范参数聚合光纤(9000)塑料包层玻璃光纤(2022m维长度纤芯直径(980±60)m包是不圆度1000±60)pm(230±10)m≤6%≤6%数值口径047士0030.40±0.04660nm处的带宽≥10MHz×100m≥1TMHz×lkm≤10dB/km缓冲层直径2,2mm插人损耗(见注)1. 0dB--15dB注:湖量与1C6130034(插人程序B)一致JBT103088-2005附录A(规范性附录)连接器规范A.1导线媒体的外部连接器A.1.1超小D型连接线插脚分配接线插脚分配如图A.、图A2和表A.1所示。3口口口口口■口口图A.1设备上超小D型连接器输出接口的九个插孔图A.2设备上超小D型连接器输入接口的九个插针表A.1超小D型连接器的九个引脚分配引脚号信号线DO123DIGND56789A.12终端连接器引脚分配终端连接器在设备上的位置如图A.3所示,终端连接器引脚的分配见表A2。A BC DHJ K图A3设备上的终端连接器JB/T103088-2005表A2终端连接器的引脚分配入向接口向接口脚却标准引脚/DO2ABCDEDOJDO2DIlHDI1DI2GNDIKGND应提供一个用于接地保护的隔离端子应遵守终端点的顺序。A2光纤媒体的外部连接器位于设备之外且对电磁、化学、物理环境有防护要求的网络连接器应确定为外部连接器对于用光MAU作为设备级CPC连接器的设备,当使用卫P20或更低的防护等级时,在机械上应与IC608742规定的FSMA连接器相匹配。聚合光纤(980/1000um)的光学FSMA连接器套圈如图A4所示85-8r囫9注:所有尺寸单位为mm图A.4聚合光纤(980/1000μm)的光学FSMA连接器套圈JBT10308.8-2005参考文献[1}EN502541998小型数据包的高效通信子网[2]正C6I158Ed.3:2003测量和控制用数字数据通信工业控制系统用现场总线:连续和断续制造的行规设置[3]IEC多语言字典:电、电子、电讯4]IC60793(所有部分)光学纤维5]C60794(所有部分)光学纤维电缆[6]正C60874(所有部分)光学纤维及电缆连接器[7] ISO/EC TR8509:1987信息处理系统开放系统互连服务协定8]ISO/C888:1996信息技术开放系统互连开放系统互连数据链路服务定义9]ISO正EC10022:1996信息技术开放系统互连物理服务定义ICS25040中华人民共和国机械行业标准JB/T103088-2005测量和控制数字数据通信工业控制系统用现场总线类型8: INTERBUS规范第3部分:数据链路服务定义Digital data communication for measurement and controlFieldbus for use in industrial control systems-Type 8: INTERBUS specificationPart 3: Data Link service definition2005-05-18发布2005-11-01实施华人民盐和国国家分展和敢革季层会发布JBT103088-2005目录前言…引言I范围…2规范性引用文件……3术语和定义3.参考模型术语和定义32服务约定的术语和定义…33附加术语和定义4符号和缩略语5约定5.}概要52参数6数据链路服务和概念……6.1概述62原语的顺序63连接模式( Connection-mode)的数据链路服务7 DL-management服务7.1范围72 DL-management服务的功能…8673服务概述…8674交互作用概述7.5服务和交互作用的详细规范参考文献图1数据链接层和其他各层的关系图2 DLSAP和DSAP地址的关系图3 DLCEP和默认 DLSAP的 DLCEP-address之间的关系.…图4缓冲器数据传输原语的顺序图5主从站之间的正常数据传输图6失败的正常数据传输原语的顺序…图7 Reset服务的原语顺序图8 Event服务的原语顺序图9 Set value服务的原语顺序图10 Get value服务的原语顺序+*+88图1 Get current configuration服务的原语顺序图12 Get active configuration服务的原语顺序图13 Set active configuration服务的原语顺序…表1 DL-connection-mode和参数汇总表2 Put Buffer原语和参数JBT1030882005表3 GET BUFFER原语和参数表4 Buffer received原语和参数表5正常数据传输的原语和参数表6 DL-management原语和参数总汇表7 Reset服务的原语和参数表8 Event服务的原语和参数表9 Set value服务的原语和参数表10 Get-value服务的原语和参数表1 Get Current Configuration服务的原语和参数…表12 Get active configuration服务的原语和参数表13 Active configuration参数…表14 Set active configuration服务的原语和参数JB/T103088-2005前言本部分是JB/T103088《测量和控制数字数据通信工业控制系统用现场总线类型8: NTERBUS规范》的第3部分。JB/T103088-2005引言NTERBUS是数字的串行通信系统,用于控制系统(如可编程序控制器)与工业传感器和执行器类现场设备之间的通信。这些设备包括简单限位开关和阀门,以及测量传感器、测量变送器与执行器,还可以包括复杂的高技术控制系统,如控制驱动、扭矩及过程的控制器等。本部分描述了数据链路服务(DL- service),它与 INTERBUS规范系列的其他部分密切相关。该规范系列由基于部分开放系统互连基本参考模型的现场总线“三层”参考模型所定义。为便于管理,两个参考模型都将互连标准范围细分为一系列规范层数据链路协议(见第4部分)利用物理层(见第2部分)的服务提供数据链路服务。本部分的INTERBUS技术规范定义了数据链路服务特性,高层协议可直接使用这些特性。各层之间的关系如图1所F层据跻服数据链路层数据链路答理服务物理层图1数据链接层和其他各层的关系术语“服务( Service)”是指OS1基本参考模型的某一层为其紧邻的上一层所提供的抽象能力。因此,数据链路服务在此标准中是一个概念化的体系架构服务,它与管理和具体实现无直接关系。JBT103088-2005测量和控制数字数据通信工业控制系统用现场总线类型8: INTERBUS规范第3部分:数据链路服务定义1范围本部分以抽象的方法定义由Ⅳ NTERBUS数据链路层提供的外部可视的服务,它借助于a)服务原语的动作和事件b)原语的动作和事件相关的参数以及它们采用的格式c)动作和事件之间的关系及其有效顺序。本部分的目的是定义为下列两项提供的服务:1)应用层和数据链路层之间界面处的 INTERBUS应用层2)数据链路层和现场总线参考模型的系统管理之间界面处的系统管理。2规范性引用文件下列文件中的条款通过JB10308.8的本部分的引用而成为本部分的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本部分,然而,鼓励根据本部分达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本部分。GB丌9387.1—1998信息技术开放系统互连基本参考模型第1部分:基本模型( idt iso/iec7498-1:1994)GBT93873--1995信息处理系统开放系统互连基本参考模型第3部分:命名与寻址(idtISO/IEC74982:1989)GB/T17547—1998信息技术开放系统互连数据链路服务定义( idt ISO/IEC8886:1990GB/T17967-2000信息技术开放系统互连基本参考模型OSI服务定义约定( idt iso/EC0731:1994)3术语和定义下列术语和定义适用于JB/10308.8的本部分。3.1参考模型术语和定义本部分是基于GB/93871-1998和GB93873—1995中的概念,并使用其中定义的下列术语:3.1.1DL地址DL- addressGBT93873-1995]3.1.2DL连接 DL-connection[GB/T93871-1998]3.1.3DL连接端点DL- connection-end- pointGBT93871-19983.1.4DL连接端点标识符DL- connection- end-point-identifierGB个T9387.-19983.15DL连接模式传输 DL-connection- mode transmission[GBT93871-1998]3.16JB/T103088-2005DL无连接模式传输 DL-connectionless-mode transmisGBT9387.1-1998]3.1.7相应的(N)实体 CORRESPONDENT(N)- entitiesGBT93871-1998相应的DL实体(N=2)相应的Ph实体(N=1)3.1.8(N)实体(N)- entityGBFT93871-1998]DL实体(N=2)GB/T9387.1-1998Ph实体(N=1)GBT9387.1-19983.1.9(N)层(N) layerGB/T9387.1-1998DL层(N=2)Ph层(N=1)3.1.10层管理 layer- managementGBT9387.1-19983.1.11DL本地视图DL- -local- viewGBT9387.3-19953.1.12DL名 DL-nameGB93873-1995名(地址)域 namIng-( addressing)- domainIGB93873-1953.1.14对等实体 peer-eI[GB9387.1-1998.1.15原语名 primitive nameIGBT9387.3-19953.1.16DL协议DL- protocolfGB9387.1-1998}3.1.17DL协议连接标识符 DL-protocol- connection-identilier[GB/T9387.1-19983.1.18DL协议数据单元 DL protocol-data-unitGB/T9387-199813.1.19复位 ResetGBT9387.1-19983.1.20(N)-服务(N)- serviceGBT93871-199]DL服务(N=2)Ph服务(N=1)3.1.2(N)服务访问点(N) -service- access-pointfGB93871-1998]DL服务访问点(N=2)Ph服务访问点(N=1)3.1.22DL服务访问点地址 DL-service-access-point-address[GB93873-1995JBrT103088-20053.123DL服务连接标识符DL- service-connection-identifierGBFT9387.1-199813.1.24DL服务数据单元 DL-service-data-unit[GBT93871-19983.1.25DL单工传输 DL-simplex- transmission[GB93871-1998]3.1.26系统管理 systems- managementGBT9387.1-19983.127DL用户数据 DL-user-dataGB/T93871-19932服务约定的术语和定义本部分还使用用于数据链路层的GB179672000中定义的下列术语32.1证实(原语) confirm( primitive)32.2DL服务原语DL- service-primitive32.3DL服务提供者DL- service.proⅵi32.4DL服务用户DLserviceuser32.5指示(原语) indication( primitive)326请求(原语) request( primitive)32.7响应(原语) response( primitive)3.3附加术语和定义本部分还使用下列术语和定义3.3.1设备 device从站或主站。33.2设备代码 device code两个八位位组,用以表征从站特性33.3DL服务访问点 DLSAP这是一个特殊的点,在此点上由单一的 DL-entity向单一的上层实体提供 DIsservice注:这里重复使用由GB93871-1998导人的定义,为的是便于理解 DLSAP和它们的DL地址之间的关键区别(见图2)3.3.4数据链路(服务访问点)地址DL(SAP) address这是一个单独的 DLSAP-address,为单一的 DLS-user指定单一的 DLSAP。JBT103088-2005DLS-user-entityDLS-uSer-entityDIS-usersDLSAPDL SAP.DL-entityPhSAP注1: DLSAP和 PhSAR画成跨越两个相邻层之间的椭圆边界注2:DL- addresses画成所标明的 DLSAP DLL部分中的小缺口(访问点)。图2 DESAP和 DLSAP地址的关系3.3.5数据链路段DL- segment具有连贯顺序的从站组3.3.6数据链路段的级别DL- segment levelDL段的嵌套级数3.3.7扩展的链路 extended link共享一个 DL-name(Dl- address)空间的 DL-subnetwork,在此空间内连接的任何 DL-entities均可通信。注:扩展链路可仅由一个单链路组成3.38帧 frameDLPDU的同义词3.3.9主站 masterDLentity,用以控制本地链路上的数据传输,并以发起 DLPDU周期的方式启动从站的媒体访问3.3.10接收DLS- user receiving dls-user接收DL- user-data的 DL-service用户注:DL- service用户可同时作为接收 DLS-user和发送DlS-u3.3.11发送 DLS-user sending DLS-user作为 DL-user-data源的 DL-service用户。JB/T103088-20053.3.12从站 slaveDL-entity,它仅在被前一个从站或主站启动后才访问媒体。4符号和缩略语Data Link layer as a prefix数据链路层(用作前缀)DLCDL-connectionDL连接DLCEP DL-connection-end-pointDL连接端点DL-entity(the local active instance of the Data Link LayerDL实体(数据链路层的本地活动实例)DLLData Link Layer数据链路层DLPCIDL-protocol-control-informationDL协议控制信息DLPDUDL-protocol-data-unitDL协议数据单元DL-managementDL管理DLMSDL-management ServiceDL管理服务DLSviceDL服务DLSAPDL-service-access-pointDL服务访问点DLSDUDL-service-data-unitDL服务数据单元FIFOFirst-in first-out queuing method先进先出(队列法Open systems interconnection开放系统互连Physical layer as a prefix物理层(用作前缀)PhEPh-entity (the local active instance of the Physical layerPh实体(物理层的本地活动实例)PhLPh-layer物理层OSQuality of service服务质量5约定5.1概要本部分使用GB/179672000中给出的描述性约定。服务模型、服务原语和时序图完全是抽象的描述,它们不描述具体的实现规范52参数通过用来表达服务用户服务提供者相互作用的服务原语,在用户/提供者相互作用中传达指示可用信息的参数。本条用表格的形式描述DLS原语的组成参数在本部分后续的表中列出了用于各DLS原语的参数每个表最多由6列组成,包括服务参数名称、每个DIS原语、DLS参数及其传送方向,均各占一列。请求原语的输入参数请求原语的输出参数指示原语的输出参数;响应原语的输入参数证实原语的输出参数注:请求原语、指示原语、响应原语和证实原语亦分别写为 requestor. submit, acceptor. deliver., acceptor. submit和requestor. deliver原语(见GB/T17967-2000)一个参数(或其一部分)示于每个表的各行中。在相应的服务原语列内,为了表征原语参数的用途JBT103088-2005类型和列内参数方向采用如下代码:M—一对于原语参数是必备的。U——用户任选参数,根据DIS-user的动态用途可提供也可不提供。在不提供的情况下,为参数提供一个默认值。C——与其他参数或 DLS-user环境有关的参数(空白)—无参数提供下面某些项目将在括号内表达,它们可能是a)参数特定约束(=)指的是该参数从语义上与表中紧左邻的服务原语参数相同。b)指出某些注适用于该条目(n)指的是下面的第n条注是适用于该参数及其用途的补充说明。在任何特定接口上,不是所有参数都必须显性地陈述。其中某些可能隐含在原语所在的 DLSAP中。在表示这些接口的图上,虚线指的是因果或时序关系,而省略号指的是大致同时发生的事件。6数据链路服务和概念6.1概述INTERBUS在预建立DLC时,提供GB/T17547-1998规定的面向连接的服务子集。DLS用FFO队列或保持缓冲器方式发送或接收 DLS-uSer,每个队列项或缓冲器可以持有一个单一的 DLSDU。DL-name通常是指 DL-addresses,它是被定义的标识符空间(DL- address-space)中的标识符,它在数据链路层范围内为对象提供命名服务。DL中需要命名的对象是数据链路连接端点( DLCEP)DL-address所在的 DL-address-space可以根据 DLS-entity t在的设备类及编址的 DLCEP类分割为sub-spaceDLE只支持两种 DLSAP:用于发送和接收数据的单一默认 DLSAP,和调用本地 DL-management服务的单一默认管理 DLSAP。由于这些DSAP是本地访问的,因此它们没有 DLSAP的 DL-address所采用的 DLSAP由所选服务原语的类型隐含地决定。DLS-uSer有可能要对同一个收发数据的 DLSAP的几个 DLCEP加以区别,因此也要提供一个本地DLCEP-identification机制。在DLC整个上下文中所有原语均以此 DLSAP发布,并采用这一机制识别本地 DLCEP。这个 DLCEP-identification的name- domain是 DL-Local-view在数据传输服务中采用的 DLSAP, DLCEP和 DLCEP DL-addresse之间的关系如图3所示。DLS提供三个 DLCEP类:a)对等一 DLS-user能和另一个对等的 DLS-user交换DSDUb)发布者一DLS-user能向零个或多个相关的预订者 DLS-uSers发送 DLSDU)预订者一DLS-user可从相关的发布者DLS-user接收 DLSDU注: DLCEP的发布者类和预订者类只支持一个从发布者 DLCEP向预订者 DLCEP传递的通道。没有从预订者DLCEP向发布者 DLCEP传递的通道。所有缓冲器和队列是预创建并绑定在 DLCEP上的。DLS-user不能直接创建、取消、绑定或解除绑定缓冲器或队列。对等类的 DLCEP,只用队列。而发布者和预订者类的DCEP只使用绑定在其他上的缓冲器。对等类的DCEP仅用于已证实数据的传输,而发布者和预订者类的 DLCEP仅用于未证实数据的传输。允许在任何 DLS-user访问DLS以前,所有DC都是由本地DL- management预定义和预建立的。所有在创建缓冲器和队列以及建立DLS过程中所用的信息均由本地 DL-management储存。DLS-user从本地DL- management得到这些信息的方法不属于本标准范围。BT10308.82005DLS-user-entityDLS-UISDLCEPDLCEPDLCEPDefault DLSAPDLCEIaddressesDL-layDL-entityPhSAR注1: DLSAP和 PhSAP画成跨越相邻两层边界的椭圆。注2: DL-addresses画成指定的DSAP的DLL部分中的缺口(访问点)。 DLCEP-address也被画成指定为 DL SAP中信息流(它的 DLCEP)的特定点注3:任意给定的 DL-entity只能有一个DLs- uscT-entity可与其联系。注4:只支持一个默认 DLSAP注5:只支持面向连接的 DL-service。所有DC是预配置和预建立的。不分配 DLSAP地址图3 DLCEP和默认 DLSAP的 DLCEP-addresses之间的关系在创建缓冲器 DL-identifier访问的一个缓冲器 DL-management指定的。由于每个缓冲器或队列关联到(绑定于)一个单一的 DLCEP,所以 DLCEP IDentifier或 DLCEP DL-address(假如指定给 DLCEP也可用来访问绑定在这个DCEP的缓冲器或队列。本地DL- management能给 DLS-uSer提供相互转换访问类型的设施62原语的顺序621原语顺序的约束本条定义63中出现的原语顺序的约束。约束决定原语发生的顺序,但不规定它们何时发生。为了请求一个服务, DL S-user使用一个请求原语。当服务完成后,一个证实原语返回给 DLS-user指示原语给远程 DLS-user指出服务请求的到达。连接方式原语及其参数汇总于表1。从图4到图6表达两个DC端点上各原语之间的主要关系表1 DL-connection- mode和参数汇总服务原译参数Put buffer(in Buffer dieidentifier Dls-user-data)DL-PUT confirm(out StatusDL-GET requestGet bu ffer(in Buffer DL-identifierDL-GET confirmCout Status, DLS-user-data)Buffer receivedDL-BUFFER-RECEIVED indicationDL-DATA request(in dLCEP DL-identifier, DLS-user-data)Normal data transferDL -DATA indication(out DLCEP DL-identifier, DLS-user-data)注: DL-DATA confirm原语与其对应的先前 request原语相关联的方法由本地决定JBT1030882005成功的正常数据传输的原语顺序定义于时序图(见图5)中。失败的正常数据传输原语顺序定义于时序图(见图6)中。预订者DL-PUTDL -PUT confirmDLPDUDL-BUFFER-RECEIVED indicationDL GETDL-GEDL-GET request扩展链路注1:在框内原语实例之间,方框图内的原语可重复多次。注2:方框图内的请求原语为本地证实。图4缓冲骼数据传输原语的顺序从站DLElDLE2DL-Data request扩展链路图5主从站之间的正常数据传输JBfT103088-2005上站DLElDL-Data confirmDL-Data requestDL-Data confirm扩展过路图6失败的正常数据传输原语的顺序63连接模式( Connection-mode)的数据链路服务6.3.1 Put buffer6.3.1.1功能DLS-uSer用此服务直接写指定的缓冲器。在 DL-PUT request原语到达后,服务在本地处理。DLE使用 DL-PUT confirmation原语(立即证实)通知DLS-user,服务已成功地完成6.312参数类型表2列出 Put Buffer dls的原语和参数表2 Put Buffer原语和参数DL-PutRequestConfirm参数名输人输出DLS-user-data匚注证实原语与相应的先前请求原语相关联的力方法由本地决定6.3.1.2.1 Buffer DL-identifier该参数确定由本地 DL-management分配的本地缓冲器 DLridentifie6.3.1.2.2 DLS-user-data该参数包括将被写入缓冲器的 user-data6.3.1.2. 3 Status该参数指示出先前的请求是成功或失败。在此参数中传递的数据是:a)“OK一成功一服务完成”b)“Ⅳ-失败一请求中有无效参数”。6.3.2 Get buffer6.32.1功能DLS-user用此服务可直接读指定的缓冲器在 DL-GET request原语到达后,服务由本地处理。DLE用 DL-GET confirmation原语(立即证实)将服务的成功运行通知 DL-usero6.322原语和参数的类型6.322.1概要表3列出 GET BUFFER DLS的原语和参数JBrT103088-2005表3 GET BUFFER原语和参数DL-GETRequestConfirm参数名输入输出Buffer dl-identifierMDLS-user-dataStatus注:证实原语与相应的先前请求原语相关联的方法由本地决定。6.3.2.2.2 Buffer DL-identifier该参数确定由本地 DL-management分配的本地缓冲器 DL-identifier6.3.2.2. 3 DLS-user-data当先前的请求原语成功执行后,此参数开始生效。它包括从缓冲器读出的数据6.3.2.2. 4 Status该参数指示先前的请求是成功或失败。在此参数中传递的值在6.31.23中规定。6.3.3 Buffer received6331功能DLS-provider使用此服务告知 DLS-user所有有关缓冲器成功更新的情况。注:如果 DLS provider发现错误,则不生成 DL-Buffer-received指示。6332原语和参数类型6.33.21概要表4列出 Buffer Received dls的原语和参数。表4 Buffer Received原语和参数-Buffer- ReceivedIndication参数名输出Status6.3.3.2.2 Status此参数指出所有缓冲器都成功更新。参数中传递的数据如下:注1:在此协议中各DLS的所有缓冲器都同时更新a)“OK-成功一接收缓冲器无错”注2:如DIE发现错误,不生成 DL-buffer-received指示6.3. 4 Normal data transfer6341功能此项服务允许 DL-user(称为本地用户)将 DLS-user-data传送到一个远程DLE,如果远程DLE正确地收到数据,则数据将被报告给 DLS-uSer。发出请求的DLS-user收到一个证实,以指示远程DLE是否收到用户数据。6.34.2原语和参数的类型63421概要表5列出正常数据传输所需的原语和参数。JBT103088-2005表5正常数据传输的原语和参数DLDataIndication参数名输入输出DLCEP DL-identifierDLS-user-dataMM(=)StatusM注:证实原语与相应的先前请求原语相关联的方法由本地决定6.3. 4.2.2 DLCEP DL-identiffer此参数规定产生数据传输服务的 DLCEP。当DLC已预建立时,标识符由本地 DL-management指6.3.4.2. 3 DLS-user-data此参数包括将要传递(请求)的或已收到的(指示)数据6.3. 4.2. 4 Status链接状态参数指出先前的请求是成功或失败。此参数中传递的数值如下a)OK—成功一一服务完成b)RR——失败一远程 DLCEP资源不可用或不足;c)LR—失败——本地 DLCEP资源不可用或不足d)NA——失败——远程设备无响应或无明确响应(确认响应);e)DS—失败—DLE暂不同步;f)IV-失败——请求中有无效参数7 DL-management服务7.1范围本条定义 DLMS-user可用的 DL-management服务(DLMS),包括其服务原语和相关的参数(见图1)。所有 DL-management服务都采用默认的管理DLSP。72DL- management服务的功能DLMS-user和DLE之间的服务接口有以下功能:a)本地DLE复位;b)请求和改变本地DLE的当前操作参数c)指示本地或远程的意外事件、差错和状态变化:d)读出活动的 DI-subnetwork配置:;e)读出当前的 SUbnetwork配置;f)设定 DL-subnetwork配置组合这些功能构成DLMS。7.3服务概述7.3.1概要DL-management向所有 DLMS-uSer提供下列服务b)eventDL-management可以向 DLMS-uSer提供下列服务:JBT103088-2005s)set valued)get valueDL-management向作为DLL主站的DLE的 DLMS-user提供下列附加服务e) get current configurationf)get active configuration;et active configurationDLMS-uSer使用此服务使 DL-management去复位DE。 DLMS-uSer接收此服务的证实7.3.3 EventDL-management使用此服务将DLE某些事件或检测到差错的情况通知DL7.3.4 Set valueDLMS-user使用此服务为DLE变量赋新值。它接收一个指定变量是否分配相应规定值的证实。7.3.5 Get valueDLMS-user使用此服务读DLE的变量736 Get current configuration(仅对主站)主站DLE的 DLMS-user使用此服务读当前 DL -subnetwork配置。7.37 Get active configuration(仅对主站)主站DLE的DMS-user使用此服务读取活动的 DL-subnetwork配置7.3.8 Set active configuration(仅对主站)主站DLE的DLMS-user使用此服务设定 DL-subnetwork配置。74交互作用概述DL-management的原语和参数汇总于表6图7~图]3时序图中定义 DL-management原语的顺序。注:提供立即响应的 DL-management服务。仅使用一个带输出参数的请求原语,这就提供了响应和请求的关联。在响应可能明显延迟和响应信息与相应请求的数目或时序无关的情况下,采用请求和指示原语分开的服务表6 DL-management原话和参数总汇服务原语DLM-RESET'requestResetDLM- RESET confirmout Status)EventDLM-EVENT indication(out Event-identifier, Additional-informationSet valueDLM-SET-VALUE request(in Variable-name, Desired-valueDLM-SET-VALUE confirmout StatusDLM-GET-VALUE request(in variable-nameGet valueDLM-GET- VALUE confirmCout Status, Current-value)DLM-GET- CURRENT- CONFIGURATION request (in Desired ConfigGet current configurationDLM-GET-CURRENT-CONFIGURATION confirm(out Status, Current Configuration)DLM-GET-ACTIVE-CONFIGURATION request Get active configurationDLM-GET-ACTIVE-CONFIGURATION confirm(out Status, Active Configuration)DLM-SET-ACTIVE-CONFIGURATION request(in Active Configuration)Set active configurationDLM-SET-ACTIVE-CONFIGURATION confirm(out Status. Additional-informationJBr10308.8-2005⊥站或从站辶站或从站DLM-RESEDLM-EVENT IndicatIonDLM.RESET confirm图7 Reset服务的原语顺序图8 Event服务的原语顺序主站或从站上站或从站DLM SET-VALUE requestDLM-GET- VALUE requestDLM. SET- VALUE confirmDLM-GET VALUE confirm图9 Set value服务的原语顺序图10 Get value服务的原语顺序DLM-GET-CURRENT-CONFIGURATION requestDLM-GET-CURRENT- CONFIGURATION confirm图11 Get current configuration服务的原语顺序从站DLM-GET-ACTIVE-CONFIGURATION requestDLM-GET-ACTIVE-CONFIGURATION confirm图12 Get active configuration服务的原语顺序上站从站DLM-SET-ACTIVE-CONFIGURATION requestDLM-SET-ACTIVE-CONFIGURATION confit图13 Set active configuration服务的原语顺序JBT103088-20057.5服务和交互作用的详细规范75 1 Reset7.5.1.1功能本必须的服务用于复位DLE。在DIE复位执行前,立即发出证实原语。7.512参数类型7.512.1概要表7是 DLM-reset服务的原语和参数。表7 Reset服务的原语和参数DLM-resetrequest参数名输人输出Status注:证实原语与相应的先前请求原语相关联的方法由本地决定。7.5.1.2.2 Status通过本参数 DLMS-user确定所请求的DLMS是否提供成功,或由于特定原因失败。参数传递的值如下a)OK成功,完成复位;b)NOK—失败7.5.2 Event7521功能这个必需的服务用于报告对 DL-management有重要意义的 DLevent的发生。在得到与链接有关错误的报告之后, DLMS-provider执行配置检耷(检查所有连接的出向接口确定当前配置)。如果配置与检出差错以前的配置有区别, DLMS-provider自动地生成一个通知配置改变的事件。7.522类型和参数7.522.1概要表8是 DLM-Event服务的原语和参数。表8 Event服务的原语和参数DLM-Event参数名Event-identifierAdditional-information7. 5.2.2.2 Event-identifier本参数规定在DLE中将被通知要发生的事件。在第4章中定义了可能的值。7.5.2.2.3 Additional-information本可选参数提供事件专用的附加信息7.5.3 Set value753.1功能本可选服务可用来赋(写)DLE配置参数的值。7.532参数类型7.5.32.1概要表9是 DLM-Set value服务的原语和参数。JB/T1030882005表9 Set value服务的原语和参数DLM-reset参数名输人MDesired-valueStatusM匚注:证实原语与相应的先前请求原语相关联的方法由本地决定。7.5.3.2.2 Variable-name本参数规定在DLE中将要改变值的变量。在第4部分中定义了可选变量。7. 5.3.2.3 Desired-value本参数规定可选变量的期望值。在第4部分中定义了允许值或范围。7.5.3.2. 4 Status通过本参数DMS-user确定所请求的服务是成功执行,或由于特定原因而失败。本参数中传递的值如下a)OK——成功——变量值已更新b)NOK失败—变量不存在或不采用新值c)Ⅳ-失败—请求中有无效参数。7. 5. 4 Get value7.541功能本可选服务可用来取(读)DLE变量的值。7542参数类型7.542.1概要表10是 DLM-Get-value的原语和参数。表10 Get-value服务的原语和参数DLM-Get-Value输入输出Current-valueC注:证实原语与相应的先前请求原语相关联的方法由本地决定7.5. 4.2.2 Variable-name本参数规定在DLE中其值将被请求的变量。在第4部分中定义了可选变量本参数接收被选变量的当前值7. 5.4.2.3 Status通过本参数DLMS-user确定所请求的服务是执行成功时,或是由于特定原因而失败。本参数中传递的值如下a)OK—成功——变量可读;b)NOK—失败——变量不存在或不可读c)Ⅳ失败—请求中有无效参数7.5.4.2.4 Current-value当状态参数指示所请求的服务执行成功,本参数开始生效。本参数规定被选变量的当前值。JBT103088-20057.5.5 Get current configuration7.551功能本服务是主站DLE必需的,从站无此服务。主站DLE的DLMS-user使此服务取(读)扩展链路的当前 DL-configuration注1:DLMS- provider期望用ID周期检测当前连接的从站,并在当前配置参数中将检测到的配置传送到DLMS-user注2: DL-subnetwork配置参数规定服务成功执行所隐含的DL- subnetwork配置。注3: DLMSprovider釆用一个相似的功能在DL启动时开启从站的所有出向接口7.552类型和参数7.5.5,2.1概要表11是 Get Current Configuration DLMS的原语和参数表11 Get Current Configuration服务的原语和参数DLM- Get-Current-Configuration参数名输入输出Desired configurationCurrent ConfigurationCAdditional-informationC注:证实原语与相应的先前请求原语相关联的方法由本地决定7.5.5.2.2 Desired Configuration本参数规定服务完成后扩展链路期望的配置。a) CLOSED所有从站的出向接口关闭b)OPEN——所有从站的出向接口开启。7. 5.5.2.3 Status通过本参数 DLMS-user确定所请求的服务是成功执行,或是由于特定原因失败。本参数中传送的值如下:a)OK成功b)NOK——失败—当 DL-segment被接通时检测出错误)Ⅳ—失败——没有D周期可运行( DL-subnetwork差错)。7.5.5.2. 4 Current Configuration本组合参数规定扩展链路的当前配置。参数的结构在表13中规定7.5.5.2.5 Additional-information本可选参数提供状态专用附加信息。7.5.6 Get active configuration7.56.1功能本服务是主站DLE必需的,从站无此服务。主站DLE的DLMS-user使用此服务取(读)扩展链路的活动DL- configuration注:这是在本地链路中无隐含活动的本地服务7.562类型和参数7562.1概要表12是 Get active configuration服务的原语和参数。JBT103088-2005表12 Get active configuration服务的原语和参数DLM-Get-Active-ConfigurationRequestConfirm参数名输入输出Aclive Configuration证实原语与相应的先前请求原语相关联的方法由本地决定7.5.6.2.2 Active Configuration本组合参数规定 DL-Subnetwork的活动配置。它以一个概念表的形式出现、其中各条目的次序是按照环中从站的物理次序而定。参数具有表13中所示结构。表13 Active configuration参数序号描述设备代码从站的第一个设备代码DL-Sermen层从站的第一个 DL-segment)层1设备代码站的第二个设备代码4DL-segment层从站的第二个 DL-segment层设备代码从站的第N个设备代码2NDLsegment层从站的第N个 SEgment层7.5.6.2.3 Status通过本参数 DLMS-user确定所请求的服务是成功执行,或是由于特定原因而失败。本参数中传送的值如下)OK—成功b)NOK—失败7.5.7 Set active configuration7.57.1功能本服务是主站DLE必需的,从站无此服务。主站的DLMS-user可用此服务配置扩展链路。如果新配置不能被接受,则DLMS-user将得知准确的错误原因,并保留旧的配置。7.572类型和参数7.5.721概要表14是 Set active configuration服务的原语和参数表14 Set active configuration服务的原语和参数DLM-set-Active- configurationConfirm参数名输人输出Active colfiguration listStatusAdditional-informationC注:证实原语与相应的先前请求原语相关联的方法由本地决定。7.5.7. 2.2 Active configuration list本组合参数规定将要产生的 DL-subnetwork的新的活动配置。表I3中定义了该参数的结构。JBT103088-20057.5.7.2.3 Status通过本参数DLMS-user确定所请求服务是成功执行,或是由于特定原因而失败。该参数传送的值a)OK—成功:b)NoK-—失败— DL-segment接人环时发现错误。不能生成新配置;)Ⅳ—失败——无I周期,致命的总线错误7.5.7.2. 4 Additional-information本可选参数提供状态专用附加信息。JBT103088-2005参考文献[]EN50254:1998小型数据包的高效通信子网[2]正C61582003测量和控制用数字数据通信工业控制系统用现场总线[3]IEC617841Ed1:2003测量和控制用数字数据通信工业控制系统用现场总线:连续和断续制造的行规设置ICS25040中华人民共和国机械行业标准JB103088-2005测量和控制数字数据通信工业控制系统用现场总线类型8: INTERBUS规范第4部分:数据链路协议规范Digital data communication for measurement and control-Fieldbus for use in industrial control systems-Type 8: INTERBUS specificationPart 4: Data Link protocol specification2005-05-18发布2005-11-01实施中华人民共和国国家发展和改革委员会发布JB/T103088-2005目录前言…10l引言102范围1032规范性引用文件3术语和定义…1033.1参考模型术语和定义1033.2服务约定术语和定义…33来自第3部分的术语和定义…34其他术语和定义………1054符号和缩略语……41通用符号和缩略语…42局部变量,时钟,计数器和队列…1085数据链路层协议 DL-protocol5.1概要52 DL-service接口(DLI1095.3外围设备数据链路(PDL)11354基本链路层(BLL)…5.5媒体访问控制(MAC56第2层的外围设备网络管理(PNM2)…18157DLL的参数和监视时间187附录A(资料性附录)确定的PNM功能实现的可能性A.1获取当前配置A.1.1在主站中配置数据的存储…A12 Acquire_ Configuration功能193A.1.3获取配置的状态机A2比较当前获得的配置与 DL-subnetwork差错前存储的配置A2.1概要A22 Check_Configuration功能A.23 Compare_Slave功能A24比较配置数据的状态机……参考文献图1数据链路层和其他层的关系图2数据链路层实体10图3DL在DLL中的位置……l09图4DL状态转换图+,+图5PDL在DLL中的位置113图6主站和从站之间的PDL连接图7分层模型中 PDL-uSer(D)和PDL之间的接囗114JBT103088-2005图8PDL服务概论……14图9主站和一个从站之间的 PDL Data_Ack服务图10 PDL Data_Ack服务的并行处理…116图11用于缓冲器访问的PSM和GSM服务16图12指示数据传输成功的 Buffer Received服务116图13 PDL Data ack服务在 PDL-uSer,PDL和BLL之间的数据流…l18图14分层模型中PDL和PNM2之间的接口…119图15 Reset、 Set value和 Get Value PDL服务图16 Event PDL服务图17主站方和从站方的传输FCB和接收FCB……2图18带有SwWA报文的主站→从站数据传输图19带有SwA报文的主站→从站数据传输的时序.…图20带有 RWASWA报文的从站→主站数据传输…图21带有 RWA/SWA报文的从站→主站数据传输时序…,124图22PDL协议机和数据周期动作的分配图23报文传输:主站→从站…图24报文传输:从站→主站…图25一个 PDLPDU的代码八位位组…25图26一个字长报文的结构.图27SPA报文的结构图28SVA报文的结构图29 FCB SET报文的结构“,,甲+4+图30RWA报文结构.图31SWA报文的结构图32SPA或SVA报文证实的结构…128图33FCB_SET作为证实的结构l28图34作为请求和证实的 FCB SET数据八位位组的结构图35段大小多于一个字的报文结构129图36PDL基本协议机…图37在主站和从站中PDL和PDL协议机的位置…图38PDL协议机…133图39 TRANSMIT协议机图40RECEⅣVE协议机…图41BLL在DLL中的位置图42在分层模型中PDL和BLL之间的接口……图43 BLL Data服务146图44分层模型中PNM2与BLL之间的接口147图45 Reset、 Set value和 Get Value的BLL服务图46 Event bll服务…图47主站的BLL操作协议机图48 BLL-BAC协议机…154图49从站的BLL操作协议机…157图50MAC在DLL中的位置JBT103088-2005图51第1层和第2层的模型细节159图52无差错的数据序列的 DLPDU周期.图53有差错的数据序列的 DLPDU周期图54由主站发送的数据序列 DLPDU图55主站接收的数据序列 DLPDU+++a+;+*中*+4+4+图56校验序列 DLPDU图57回送字(LBW)图58主站生成的校验和状态.…图59主站接收的校验和状态图60主站的MAC协议机:报文的传输…图61主站的MAC协议机:报文的接收图62主站MAC子层:数据序列标识图63由从站接收的数据序列 DLPDU,导169图64由从站发送的数据序列 DLPDU.图65由从站接收的校验和状态…169图66由从站生成的校验和状态图67从站MAC子层的状态转换:数据序列170图68从站的MAC子层的状态转换:校验序列图69分层模型中 MAC-uSer与MAC之间的接口…图70在 MAC-uSer接口(主站)上的交互作用丰年175图7!在 MAC-uSer接口(从站)上的交互作用图72分层模型中MAC和PNM2之间的接口…178图73 Reset, Set value和 Get Value mac服务….179图74 Event mac服务179图75在DLL中PNM2的位置图76分层模型中PNM2user与PNM2之间的接口图77Rese, Set Value, Get Value和 Get Active Configuratio0n服务图78 Event PNM2服务图79 Set Active Configuration, Get Current Configuration服务183图80 active_configuration参数…图81设备代码结构…+““++,+*,+“图82数据宽度、过程数据通道和参数通道间的关系图83控制代码的结构图A.1以树型结构的形式表示的 DL-subnetwork配置192图A.2获取当前配置的状态机图A.3比较两个配置的状态机图A4比较两个配置矩阵一行的状态机…表1 DLS-DLMS-user发布到DLI的原语表2DL发布到DLS- DLMS-user的原语表3DL状态表发送方事务处理…110表4DLI状态表接收方事务处理………………表5 GetOffset功能…表6 GetLength功能113JBT10308.8-2005表7 GetRemAdd功能.l13表8 GetDIsUserId功能…113表9PDL_Daa_Ack116表10 PDL Data_ Ack L status值....l17表11PsM117表12GSM…117表13PDL, Reset.表14 PDL Set value表15PDL变量120表16PDL_ Get Value…121表17 PDL Event表18 Events表19 L status码表20FCT码( PDLPDU- Types).126表21PDL基本协议机状态转换表22PDL协议机的计数器表23“ connection标志的含义133表24PDL协议机状态转换134表25 TRANSMIT协议机的状态转换表26 RECEIVE协议机的状态转换表27 BLL Data146表28 BLL Data表29 BLL Reset...表30 BLL Set value...149表31BLL变量.表32BLL_ Get value表33 BLL Event150表34 BLL Event表35主站BLL操作协议机的状态转换.…表36 BLL-BAC协议机的状态转换表37从站BLL操作协议机的状态转换+,丰at+158表38MAC_ Reset表39 MAC Set value表40MAC变量180表41MAC_ Get value表42 MAC Event∴180表43 MAC Event180表44PNM2 Reset.183表45PNM2 Reset的 M status的值……183表46PNM2 Set value表47PNM2 Set value的 M status的值…表48PNM2 Get value…184表49PNM2 Get value的 M status值.I85JBT103088-2005表50PNM2 Event.表51MAC事件表52PNM2 Get_Current_Configuration…185E 53 PNM2_Get_Active_ Configuration表54PNM2 Set_Active_ Configuration,………,187表56在参数通道中占用的八位位组数…1表57设备类189表58控制数据..表59数据宽度表60媒体控制…191表A.!以矩阵形式表示的 DL SUBNETWORK配置…表A.2 Acquire_ Configuration…193表A3获得当前配置的状态机的状态转换……194EE A4 Check_ConfigurationR A.5 Compare_Slave.............表A6比较两个配置的状态机的状态转换…197表A7比较两个配置矩阵一行的状态机的状态转换…JBT103088-2005前言本部分为JB10308.8《测量和控制数字数据通信工业控制系统用现场总线类型8: INTERBUS规范》的第4部分本部分的附录A为资料性附录JBTr1030882005引言INTERBUS是数字的串行通信系统,用于控制系统(如可编程序控制器)与工业传感器和执行器类现场设备之间的通信。这些设备包括简单限位开关和阀门,以及测量传感器、测量变送器与执行器还可以包括复杂的高技术控制系统,如控制驱动、扭矩及过程的控制器等。本部分描述了数据链路协议规范,它与 INTERBUS规范系列的其他部分密切相关。该规范系列由基于部分开放系统互连基本参考模型的现场总线“三层”参考模型所定义是基于部分开放系统互联基本参考模型。为便于管理,两个参考模型都将互连标准范围细分为一系列规范层通过物理层提供的服务,DL协议为数据链路层用户(如应用层)提供数据链路服务。不同层之间的关系如图1所示。应川层数据链跻服务数据链路层数据链跻管理服务物理层图1数据链路层和其他层的关系DL-protocol提供种高度优化的方法,在一个互连的主设备与一组从设备之间组成的一个环型拓扑内,实现固定长度的输入输出数据和可变长度的分段报文的交换。输人输出数据的交换通过配置是完全同步的,并且不受报文流量的影响设备是通过它们在环中的位置来隐含地寻址。每一设备的编号、标识和特征都是可以配置的,或者在启动的时候可自动检测。JBrT103088-2005测量和控制数字数据通信工业控制系统用现场总线类型8: INTERBUS规范第4部分:数据链路协议规范1范围本部分描述了 INTERBUS的数据链路协议。数据链路协议是提供第3部分定义的数据链路服务所必须的。2规范性引用文件下列文件中的条款通过JB/T103088的本部分的引用而成为本部分的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本部分,然而,鼓励根据本部分达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本部分GBT93871—-1998信息技术开放系统互连基本参考模型第部分:基本模型( idt Iso/EC7498-1:1994)GB/9387.3—-1995信息处理系统开放系统互连基本参考模型第3部分:命名与编址(idtSO7498-3:1999)GB/17967-2000信息技术开放系统互连基本参考模型OSI服务定义约定( idt ISo/IEC0731:1994)3术语和定义下列术语和定义适用于JB/T103088的本部分3.1参考模型术语和定义本部分是基于GB/93871和GB/T93873中的概念,并使用其中定义的下列术语3.1.1DL地址DL- addressGBT9387.3-19953.1.2DL地址映射DL~ address-mappingGBT9387.1-19983.1.3DL连接DL- connectionGBT93871-19983.1.4DL连接端点DL~ connection-end-pointGBT9387.1-19983.1.5DL连接端点标识符DL- connection-end- point-identifieGB9387.1-19983.1.6DL数据源 DL-data- source[GBT9387.1-1998]3.1.7DL名DL-nameGB93873-19953.18DL协议DL- protocolGBT9387.1-1998JB/T103088-20053.19DL协议连接标识符DL- protocol-connection-identifierGBT9387.1-199813.1.10DL协议控制信息 DL-protocol- control-informationGB93871-1998]3.1.11DL协议数据单元DL- protocol-data-unitGBT93871-19983.1.12DL服务连接标识符DL- service-connection-identifier[GBT93871--19983.1.13DL服务数据单元 DL-service-data-unitGBT9387.J-19983.1.14DL用户数据 DL-uSer-dataIGB9387l-19983.1.15层管理 Layer-management[GB/T93871-19983.1.16(N)实体(N)- EntityGBT9387.1-1998DL实体 DL-entityPh实体 Ph-entity3.1.17(N)接口数据单元(N) -interface-data-unitGBT93871-1998DL服务数据单元(N=2) DL-service-data-unit(N=2)Ph接口数据单元(N=1)Ph- interface-data-unit(N=1)3.1.18(N)层(N)- Layer[GB/9387l-1998DL J(N=2) DL-layer(N=2)Ph/A(N=1) Ph-layer(N=1)(N)服务(N)- servcefGB/T93871-1998]DL服务(N=2)DL- service(N=2)服务(N=1)Ph- service(N=1)3.1.20(N)服务访问点(N)- service-access-pointGB93871-1998]DL服务访问点(N=2) DL-service-access-point(N=2)Ph服务访问点(N=1)Ph- service-access-point(N=1)3.1.21N)服务访问点地址(N)- ervice-access-point- addressGB/T9387.|-1998DL服务访问点地址(N=2) DL-service- access-point- address(N=2)Ph服务访问点地址(N=1)Ph- - service- access-point-address(N=1)3.1.22Ph接口控制信息Ph- interface- control- informationGBT9387|-1998】3.123Ph接口数据 Ph-interface-data[GB/T9387.1-19983.1.24JB/T103088-2005原语名 Primitive nameGB93873-1995]3.1.25复位 Reset[GBT93871-1998]3.1.26系统管理 systems- managementGBT9387.1-199832服务约定术语和定义本部分还使用用于数据链路层GB/17967中定义的下列术语证实 confirm(原语)32.2数据链路服务原语DL-serv数据链路服务提供者 DL-service-provider3.24数据链路服务用户DL- service-user32.5指示 indication(原语)3.2.6请求 request(原语)3.27响应 response(原语)33来自第3部分的术语和定义本部分还使用JB103088第3部分中定义的下列术语3.3.设备 device332设备代码 device code3.3.3DLSAP3.34DL(SAP)地址DL(SAP)- address33.5帧 frame3.3.6主站master33.7接收 DLS-user receiving DLS-user338发送 DLS-user sending dls-user3.39从站save34其他术语和定义本部分还使用了下列术语和定义:JBT103088-20053.4.1总线耦合器 bus coupler将Ph段接入网络或者将Ph段排除在网络外的PhL实体3.4.2DLPDU周期 DLPDU cycle主站发起的事务。在这个事务中,用户数据或标识状态信息被发送到所有的从站,并且在同一个周期内接收所有从站的信息34.3D码 ID code包含有设备类、数据方向或者参数通道长度的 INTERBUS设备代码的最低有效八位位组34.4IN数据 in data主站接收的数据和从站发送的数据3.4.5OUT数据 oUT data主站发送的数据和从站接收的数据。3.4.6参数通道 parameter channel使用客户端服务器通信模式的非周期传输路径3.4.7过程数据通道 process data channel从站和主站之间的传输路径,允许非常有效、高速和周期的传输与过程相关的数据34.8接收更新存储区 receive update memory包含从网络接收的数据的存储区域3.4.9环段 ring segment顺序连续的一组从站。3.4.10环段级 ring segment level个环段的嵌套级号。3.4.11传输更新存储区 transmit update memory包含通过网络发送的数据的存储区域3.4.12更新时间 update time用于数据传输的 DLPDU周期两次连续启动之间所需要的时间4符号和缩略语4.1通用符号和缩略语application triggered应用发起BACbasic access control基本访问控制BLLbasic link layer基本链路层JBT103088-2005BLLSDU BLL service data unitBLL服务数据单元BLL- RSDU BLL receive service data unitBLL接收服务数据单元BLL TSDU BLL transmit service data unitBLL传输服务数据单元Oonfirmation证实cyclic redundancy check循环冗余校验DATAData数据见表20data link layer (as a prefix)数据链路层(用作前缀)DLCEP DL-connection endpointDL连接端点DLEDL-entity( the local active instance of the Data DL实体(数据链路层的本地活动Link layer)实例DLLDL-interfaceDL接口DL-layerDLMDL-management (as a prefixDL管理(用作前缀)DLMSDL-management-serviceDL管理服务DLPDU DL-protocol data unitDL协议数据单元DL-PhData Link-Physical (interface)数据链路-物理(接口)serveDL服务DLSAP DL-service access pointDL服务访问点DLSDU DL-service data unitDL服务数据单元DSAPdestination service access point目的服务访问点FCBframe count bit帧计数位FCB set frame count bit帧计数位见表20FCSframe check sequence帧校验序列Function功能FIFOFirst-in first-out(queuing method)先进先出(队列方法)FMSfieldbus message specification现场总线报文规范GSMget shared memory获取共享存储区IDLId空闲见表20输人L status Link status链接状态BW回送字least significar最低有效位LLClogical link co逻辑链接控制M,(m) Mandatory必备MACmedium access control媒体访问控制MaCsdu MAC service data unitMAC服务数据单元Msb最高有效位NTnetwork triggered网络触发可选OSIopen systems interconnection开放系统互连OUT输出PDLperipherals data link外围设备数据链路physical layer (as a prefix物理层(用做前缀PhEPh-entity( the local active instance of the Physical Ph实体(物理层的本地活动实例)JBT103088-2005PhMSPh-management servicePh管理服务PhLPh层Ph-interface data unitPh接口数据单元PDlsdu PDL service data unitPDL服务数据单元Ph-servicePh服务PhSAP Ph-service access pointPh服务访问点PMprotocol machine协议机PNMI peripherals network management of Layer1第1层外围设备网络管理PNM2 peripherals network management of Layer2第2层外围设备网络管理PSMput shared memory存放共享存储区Qos服务质量RUMreceive update memory接收更新存储区Rread word again重读字见表20选择SMstate machine状态机SPAsend parameter with acknowledge带确认发送参数见表20带确认发送值见表20SWAsend word again重发字见表20TUMtransmit update memory传输更新存储区42局部变量,时钟,计数器和队列Add wait见表15BLL access control见表31Bus timeout见表31见表22Conf见表22见Creq见见表表表222configuration_valid见表31loopback_ word (LBW)见表40max_dsdu_size_from_req见表15max dlsdu size from res见表15max_ receiving见表15max_ sending queue depth见表15见表15max swa count见表15start_bus_cycletime timeout见表表trigger_mode见表15update_time见表315数据链路层协议 DL-protocol5.1概要DLL用一个4层的模型来表示(见图2)。JBTr103088-2005DLS-user DLMS-userPNM2图2数据链路层实体52 DL-service接口(DLI)52.1概要数据链路服务接口(DLI)为 DLS-user和 DLMS-user提供服务原语(见图3)。DLS-user DLMS-userDLLBL LPNM2MAC图3DLI在DLL中的位置DLⅠ解释和发布从 DLS-/DLMS-user接收的服务原语到本地PDL和PNM2接口。它也解释和发布从本地PDL或者PNM2接口接收的原语,并递交给 DLS-/DLMS-userDL协议只有一个称为“ ACTIVE(活动)”的状态。52.2原语定义522.1概要表1和表2给出了在DLS- DLMS-user和DLl之间交换的原语。5222 DLS-/DLMS-uSer和DLI之间交换的原语表1DIS-/ DLMS-user发布到DLI的原语原语名源相关参数功能请求DLE将一个 DLSDU写人传DL-PUT requestDLS-user i Bufer DL-identifier, DLS-user-daLa请求DLE从接收缓冲器中读出DL GET requestDLS-user Buffer DL-identifie个 DLSDU请求DLE将一个 DLSDU写入发DL- DATA requestDLS-user DLCEP DL-identifier. DLS-user-da队列中DLM-RESET request)请求DLE执行复位操作DLM-SET VALUE request DLMS- user Variable-name. Desired-value请求DLE覆盖一个本地变量发布这个原语请求DLL读一个DLM-GET-VALUE request DLMS-userVariable-name地变量的内容DLM-GET-CURRENT-CONFI请求DLE读出 SUbnetworkDLMS-userDesired-configurationGURATION当前配置DLM-GET-ACTIVE-CONFIG请求DLE读出 DLSubnet workDLMS-user (活动配置DLM-SET ACTIVE CONFIG请求DLE执行 DL-subnetwork的DLMS-userI Active-configurationRATION request某个活动配置JB/T103088-2005表2DLI发布到 DLS-DLMS-user的原语原语名相关参数DL-PUT confirmDLIDL- GET confirmStatus, DLS-user-dataIDL-BUFFER-RECEIVED indicationDLIStatusDL-DATA confirmDLIStatusDL-DATA indicationDL]DLCEP DL-identifier, DLS-user-dataDLM-RESET confirmDLLStatusDLM-EVENT indicationDLIEvent-identifier, Additional-informationDLM-SET-VALUE confirmStatusDLM-GET- VALUE confirmDLIStatus, Additional-informationDLM-GET-CURRENT-CONFIGURATION confirmDLM-GET-ACTIVE-CONFIGURATION confirmStatus, Additional-informationDLM-SET-ACTIVE-CONFIGURATION confirmDLIStatus, Additional-information5223 DLS-DLMS-user和DLI原语的参数DLS-DLMS-user和DLⅠ之间交换的原语所使用的所有参数在第3部分中规定。523DLI状态表5231概要图4给出了DL的状态转换图。ACTIVE图4DL状态转换图表3和表4规定了DL协议的转换。服务原语的名字是连缀的,使用下划线“”代替连字符“并带有用点分开的后缀,表明原语是以下的类型: request, confirm或 indication表3DLI状态表发送方事务处理事件当前状态下一个状态动作DL_Put requestSI ACTIVEACTIVEoffset: =GetOffset Buffer DL-identifierlength: =length of DLS-user-data'data: -DLS-user-data IDL_GetrequestACTIVEGSMrequest(ACTIVEoffset: =GetOffset ( Buffer DL-identifier)length: =GetLength( Buffer DL-identifier )IJBT103088-2005表3(续)事件当前状态下一个状态动作ACTIVEPDL_ Data_Ack request(ACTIVErem_ add: =GetRemAdd(DLCEP DL-identifier)DLSDU:=DLS-user-data JDLM_Reset requestACTIVEACTIVEPNM2_Resetrequest()DLM_ Set_ vES5ACTTVEPNM2_Set value requestACTIVEvariable name: =variable-name,desired_value: =Desired-value JDLM_Get-ValuerequestACTIVEACTIVEPNM2_Get._ value request(variable_name: =Variable-name IDLM_Get_ Current_ Configuration requestACTIVEACTIVEPNM2_Get_ Current_Configuration request(network_configuration: =Desired Configuration JACTIVEACTIVEPNM2_Get_Active_Configuration request( 1DLM_ Set_Active_ Configuration requestS9ACTTVEACTIVEPNM2_Set_Active_Configuration requestt表4DLI状态表-接收方事务处理事件当前状态下一个状态动作PSM confirmRCTIVEACTIVEACTIVEDL Get confirm(ACTIVEJBT103088-2005表4(续)事件当前状态下一个状态动作Buffer_Received indicationR3 ACTIVEACTIVEDL_Buffer_Received indicationACTIVEDL_Data confirm(Status: =L,status)DL_Data indication(RS ACTIVEACTIVEDLCEP DL-identifierGetDIsUserld (local add)DLS-user-data: =DLSDUINM2 Reset con firm'NM2 Event. indicationR7 ACTIVEDLM. Event. indicationACTIVEEvent-identifier: =eventn是R8 ACTIVEACTIVEDIM_Set value. confirm(PNM2_GetValue. confirmACTIVEDLM_Get_ value confirm!ACTIVEStatus: =M statusnt valNM2_ Get_Current_Configuration. confirmRIOACTIVEDIM_Get_ Current_ Configuration. confirmACTIVEStatus: =statusCurrent-configuration: =current_configurationNM2 Get_ Active Configuration. confirmRll ACTIVE DLM_Get_Active_Configuration. confirm(ACTIVEActive-configuration: =active_configuration112JB/T103088-2005表4(续事件#当前状态下一个状态动作PNM2 Set Active_ Configuration. confirmR12 ACTIVEDLM_ SetActive_Configuration. confirmStatus: =statuAdditional-inforrmation: =add_info j5232DLI使用的功能表5~表8给出了DL使用的功能。本标准没有规定这些功能的细节在DLC建立时,这些功能使用由本地 DL. manageinent存储的信息表5 GetOffset功能用于DLI输入 Buffer DL-identifier输出 Offsct Address功能返回一个值。这个值无歧义地标识来自传输缓冲器的偏移地址。表6 Getlength功能GetLength用于DLI输人Buffer DL-identifier十输出「1 Length of data功能返回 DLSDU的长度。 DISDU由缓冲器保持,这个缓冲器由 DL-identifier缓冲器命名表7 GetRemAdd功能名」 GetRemAdd」用于」DLI输入 DLCEP DI identifier输出 Renote address功能返回一个值。这个值可以无歧义的标识来自远程设备的远程地址。表8 GetDlsUserId功能名GetDisUserId用于Du输人Local address输出 DLCEP DL-identifier功能返回一个值:这个值可以无歧义的标识来自DLS用户的 DLCEP DL-identifier53外围设备数据链路(PDL531PDL在DLL中的位置外围设备数据链路(PDL)是数据链路层的一部分。它使用了基本链路层。图5给出了它的位置通过PDL层,每个从站可以和主站建立一个通信链接(见图6)。DLS-user DLMSusera\er?PNM?从站Lave从站图5PDL在DLL中的位置图6主站和从站之问的PDL连接JB/T103088-2005532PDL的功能PDL执行以下任务:处理 PDL Data Ack服务非周期 PDL Data_Ack服务到周期 BLL Data服务的转换,反之亦然。将 PDL Data_ Ack request原语的几个 DLSDU转换为 BLL_Data request原语的一个 PDLSDU。PDL内两个 trigger_modes的实现(只对于总线主站)本地PDL协议机的控制。在接受从BLL接收到的 PDLSDU之后,进行接收更新存储区的更新和PDL协议机的启动通过PDL协议机,产生来自传输更新存储区的 PDLSDU,并传输这个将被送到BLL的PDLSDU- PDL-oSer对PDL接收和发送更新存储区直接访问的实现。注:主站的 PDL SDU包含通过PSM服务在一个数据周期内被传输的所有周期数据和PDL报文段。从站 PDLSD是主站 PDLSDU的一个子集。它只包含在一个数据周期内被传输周期数据和这个从站的PDL报文段。PDL通过以下四个协议机来解释这些功能PDL基本协议机PDL协议机TRANSMIT协议机:RECEⅠVE协议机。533 DLI-PDI接口5331概要PDL为 PDL-user提供服务原语(见图7)533描述了 PDL-user可用的数据传输服务,及它们的服务原语和相关参数。这些PDL服务是必备5.332服务概论5.33.21可用的服务PDL-user可使用以下的数据传输服务:发送带确认的参数( PDL Data_Ack)。此外, PDL-user可以使用以下服务来直接访问更新存储区:-Put Share Memory(PSM)-Get Share Memory (GSM)图8给出了PDL服务的概论。DLS.user DLMS-userPDL Data Ack PSM GSMPDL. DJia Ack PS\1 GisMDLIPDILa\er2LLBLLMACLayerl⊥站图7分层模型中 PDL-user(DLI)和PDL之间的接口图8PDL服务概论53322发送带确认的参数( PDL Data_Ack)这种服务允许一个本地的 PDL-user发送用户数据( DLSDU)到单个的远程 PDLuser。如果收到的DLSDU没有差错,远程PDL将传送 DLSDU到它的 PDL-uSer。本地 PDL-user接收远程PDL的一个关JB/T103088-2005于这个DSDU收到或未收到的证实。PDL Data_Ack服务应该只用于传输来自队列的数据。服务原语:PDL_ Data_ Ack requestPDL Data AckindicationPDL Data Ack, confim。5.3.3.2. 3 Put Share Memory (PSM)这种服务允许 PDL-user写特定长度的数据到传输更新存储区。BL应该在下一个总线周期传输这个数据。服务原语PSM request-PSM confirm5.3.3.2. 4 Get shared memory (GSM)这种服务允许 PDL-user读接收更新存储区特定长度的数据。服务原语-GSMrequestGSM. confirm5.3.3.2.5 Buffer received ( Buffer Received)PDL使用这种服务来指示本地 PDL-user,传输更新存储区的内容已被传输,并且接收更新存储区的内容已被新收到的数据更新。服务原语:Buffer Received indication5333交互概论这种服务由几种服务原语提供(以PDL开始)。为了请求一个服务, PDL-user使用一个请求原语在服务完成之后,向 PDE-user返回一个证实原语。通过指示原语指示远程的 PDL-user一个服务请求的到达图9、图10、图11和图12给出了在主站和从站之间处理数据传送的服务原语顺序。主站PDL NetworkPDLPDL_ Data Ack req(LSDUIPDL Data Ack indPDL Data Ack conLSDU)(L DU)PDL Data Ack reqPDL_ Data Ack, ind(LSDU)(LSUPDL Data Ack con图9主站和一个从站之间的 PDL Data Ack服务JB/T103088-2005从站3从站2DLLPDL Daia AckDLIDLLPDL Data Ack indDL Data Ack indPDL Data AckconPDL Data Ackcon图10PDL_ Data Ack服务的并行处理PSM/GSM图11用于缓冲器访问的PSM和GSM服务图12指示数据传输成功的 Buffer received服务5334服务和参数的形式描述53341 PDL Data Ack服务表9给出了 PDL Data Ack服务的参数表9 PDL Data Ack参数名请求指示证实rem addlocal addDLSDUM(=)MMMrem add:rem add参数定义了远程设备的PDL地址。 rem add对应于环中设备的物理位置local addlocal add参数传递了调用PDL_ Data ack服务的设备的PDL地址DLSDU参数包含将被传输的 PDL- user数据。L status参数指示先前 PDL Data_ Ack request的成功或失败。表10中为这个参数定义了以下值:JB/T103088-2005表10 PDL Data Ack L status值含义肯定确认,服务成功执行否定确认,远程PDL资源不可用或不足LR本地PDL资源不可用或不足NA没有或不是来自远程设备的合理响应(确认响应)DSPDL层此刻不同步请求调用中有无效参数53342PSM服务表1l给出了PSM服务的参数。表11PSM参数名请求ArgumentMMMResult (+Result (-ssMerror_typcoffset这个参数指定了数据应该写人的从PDL传输更新存储区起始地址开始的偏移地址。length这个参数指定了应被写入第2层的PDL传输更新存储区中的数据量data这个参数传递了应被写人第2层的PDL传输更新存储区中的数据error_type这个参数指示了服务不能成功执行的原因。可能的差错有:请求调用中有无效参数。数据不允许写入传输更新存储区,因为给定的偏移和/或长度的参数无效53343GSM服务表12给出了GSM服务的参数。表12GSM参数名请求ArgumentoffsetRes山t(+)error_ typeMJB/T103088-2005这个参数指定了数据应该读的从PDL接收更新存储区起始地址开始的偏移地址。length这个参数指定了应该从PDL接收更新存储区读的数据量。data这个参数传递从PDL接收更新存储区读取的数据。error_type这个参数表示了服务不能成功执行的原因。可能的差错有请求调用中有无效参数。数据不允许读接收更新存储区,因为给定的偏移和或长度的参数无效。5.335交互的详细描述533.51发送带确认的参数( PDL Data Ack)本地 PDL-user准备一个将要被 PDL_ Data_Ackrequest原语传输到本地PDL的 DLSDU.。本地PDL接收这个服务请求并尝试将 DLSDU送到被请求的远程PDL。本地PDL通过 PDL Data Ack confirm原语发送一个证实到它的 PDLruser。这个证实表示数据传输正确或差错。在本地PDL发送一个证实到它的用户之前,来自远程PDL的一个证实是必备的。如果在超时期限TO_ SPA ACK内没有收到这个证实,本地PDL重试将 DLSDU送到远程PDL。如果重复N次(N由max_retry_ count参数设定)过后还是没有收到证实,则本地PDL发送一个否定证实给它的用户。如果被接收的数据报文无差错,则远程PDL通过 PDI-user接口传送带有一个L Data_ Ackindication原语的 DLSDU。在5353中描述了 DLSDU编码,图13给出了 PDL Data Ack服务在 PDL-user,PDL和BLL之间的数据流。userDL._ Data. Ack req(LSDU)I PDL_DataAck con(LSDU)PDL Data Ack ind( Lsbu)BLL Data req( PDLSDU)K Master only(Master onBLL.Data res(PDLSDU)I BLL_Data. nd(PDLSDU图13 PDL Data Ack服务在PDL-user,PDL和BLL之间的数据流5.3.3.5.2 Put Share Memory(PSM)PDL-usey使用这种服务来直接写用户数据到传输更新存储区。 PSMrequest原语到达后,这种服务在本地处理。通过 PSM confirm原语(立即证实),PDL将服务的成功处理通知它的 PDL-user5.3.3.5. 3 Get share memory (GSm)PDL user使用这种服务直接从PDL接收更新存储区读用户数据。 GSMrequest原语到达后,这种JB/T1030882005服务在本地处理。通过 GSM. confirm原语(立即证实),PDL将服务的成功处理通知 PDLuser.534 PDL-PNM2接口5341概述本条定义了PNM2可用的 PDL-management服务以及它们的服务原语和相关参数。PDL-management是PDL的一部分,提供PNM2要求的PDL管理功能。 PDL-management处理PDL中的初始化、监视和差错恢复。图14给出了分层模型中PDL和PNM2之间的接口。DLS-user DLMS-userLayer2DLLBLLPNM2图14分层模型中PDL和PNM2之间的接口PDL和PNM2之间的服务接口提供以下功能:复位PDL协议机请求和改变PDL协议机的当前操作参数一指示在PDL中发生的或检测到的意外事件、差错和状态改变。5342服务概论53421可用的服务PDL为PNM2提供以下服务:Reset PDLSet value PDL o Get Value PDLPDL服务使用服务原语(以PDL…开始)来描述5.3. 4.2.2 Reset PDLPNM2使用这种必需的服务来复位PDL。在执行时,PNM2接收一个证实。服务原语-PDL_ Reset request- PDL Reset. confirm5.3. 4.2.3 Set Value PDLPNM2使用这种可选的服务来为PDL变量赋新值。在完成时,PNM2接收一个来自PDL的证实表明定义的变量是否被赋予了新值。服务原语:PDL_Set_ value requestPDL Set value. confim。5.3. 4.2.4 Get Value PDLPNM2使用这种可选的服务来读PDL变量的当前值。定义的变量的当前值和来自PDL的证实一起被传输。服务原语:PDl_Get_ value request-PDL Get value. confirm5.3. 4.2.5 Event PDLJB/T103088-2005PDL使用这种必需的服务来通知PNM2在PDL中检测到的某种事件或差服务原语-PDL Event. indication5.34.3交互作用概论图15和图16给出了服务原语的时间关系。PDLNM1PDL XXX conPDL E\eni inJ图15 Reset、 Set Value和 Get Value PDl服务图16 Event PDL服务5344服务和交互作用的详细定义5.3. 4.4.1 PDL ResetPDL Reset服务是必备的。PNM2传输一个 PDL_Resetrequest原语来复位PDL协议机(见表13)表13 PDL Reset参数名请求证实ArgumentResult (+5.3. 4 4.2 PDL Set valueL. Set value服务是可选的。PNM2传送一个 PDL_Set_Value request原语到PDL,把一个定义的PDL变量赋为期望值。在接收到这个原语后,PDL试图选择变量并赋新值。在执行时,PDL传送一个PDL Set value. confirm原语到PNM2(见表14)。表14 PDL Set val参数名请求证实Mdesired valueMvariable name这个参数定义了被赋新值的PDL变量这个参数为PDL变量声明了新值。表15提供了PDL变量可被赋为何种新值的信息表15PDL变量PDL变量名取值范团默认值0,2,4,6,…|4max swa countaitstart_bus_cycleON, OFFOFFnetwork_triggered (Nr)NTmax_dIsdu_size_from_req1~256(见注)ax disdu size from1~256(见注)Max_receiving_queue_depth1~256(见注)max_sending_queue depth256(见注)256注:只用于 PDL Data Ack服务和每个链接JBT103088-20055.3. 4, 4.3 PDL Get value这种 PDL Get value服务是可选的。PNM2传输一个 PDL_Get_ Value request原语到PDL,以读出个定义的PDL变量的当前值。PDL接收到这个原语后,PDL试图选择已定义的变量并通过一个PDL Get value. confirm原语传输变量的当前值到PNM2(见表16)表16 PDL Get Value参数名请求证实ble namecurrent_ valuevariable name这个参数定义了应被读的PDL变量current value这个参数包含PDL变量的期望值。只有那些也可以通过 PDL_Set_ value request服务写入的PDL变量才可以被读5.3. 4.4.4 PDL Event这种 PDL Event服务是必备的。PDL传送一个 PDL Event indication原语到PNM2,以通知它在PDL中检测到有关事件和差错(见表17)。表17 PDL Event参数名指示Argumenteventevent根据表18,这个参数定义了在PDL中检测到的事件或差错原因的值表18 Events名含义必备的可选的PDL_cycle_end接收更新存储区被更新,并且传输更新存储区的内容被传输到BL5.35队列数据传送规程535.1总线访问和数据传送机制5351.1同步周期主站和从站之间数据传送开始以前,所有设备的PDL层应该以一个同步周期开始。在这个周期中个同步报文将所有设备的帧计数位标志复位为一个已定义的值。此外,主站开始时,传送组态数据到所有的从站。收到新的组态数据后,所有的从站应该使用新收到的组态值进行自身初始化帧计数位防止证实和/或响应设备(响应者)的报文激增,因为报文激增会导致肯定确认的丢失。同步周期只对主站PDL协议机和从站PDL协议机之间的通信关系而发生。同步周期在以下情况下启动:个硬件复位后JB/T103088-2005PDL- user复位PDL层后检测到协议差错以后多次数据周期差错后(max_ swa count超时);多次 SPA_acknowledge_timeout后(SPA确认超时发生了 max_spa_retry次)。前两种情况下,发送和接收报文的协议层缓冲器和队列将从有关设备中清除。因此,存在这些缓冲器中的所有请求、证实和指示将丢失。然而,在远程设备中,缓冲器不被清除。同步周期过后,这个设备尝试重新传输被中断发送的报文。其他情况下,任何设备中的缓冲器都不会被清除。同步成功时,两个设备重新尝试执行还没有完成的应用的指令。53512SA报文在同步成功时,被中断的报文再次发送前,主站发送一个SVA报文(" Send Value with Acknowledge")到从站。SVA报文为PDL协议机的参数化传送变量。SVA报文传输 max swa count。 max swa count变量默认值为128,并可以通过 PDL Set Value参数化。从站接收这个值作为它自己的 max swa countmax swa count变量应该被传输。另外,还可规定其他的变量53513帧计数位帧计数位(FCB)防止证实和/或响应设备(响应者)的报文激增。因为报文激增会导致肯定确认的丢失不论什么原因,如果一个肯定确认丢失,则请求者将尝试重新发送先前的报文。当这个报文已经被响应者正确收到时,通过一个未改变的FCB来表示。这种情况下,响应者收到先前报文段后,直接重发确认给请求者。然后,请求者停止重发。如果一个新报文将被发送,则应该改变FCB。在第2层初始化之后和协议出差错之后,为了保证请求者FCB(传输FCB)和远程设备的响应者FCB(接收FCB)具有相同的初始值,应该通过一个FCB_SET报文进行同步。如果同步成功,则FCB被置为1。两个传输方向上都有一对FCB(每方有一个传输FCB和一个接收FCB)(见图17)。从站Transmit FCBReceive FCBReceive FCBTransmit FCB图17主站方和从站方的传输FCB和接收FCB53514有差错的总线周期数据传输53514.1概述在传输SPA或SVA报文期间,如果发生了一个数据周期差错,则并不将整个传输队列重传,而将从出差错以后的队列部分继续传输。主站响应周期差错,因此,在主站→从站和从站→主站两个传输方向之间形成区别。如果发生了周期差错,并不对PDL协议机造成任何影响。535142数据传输:主站→从站在队列传输期间,如果主站检测到一个数据周期差错,则应该从差错点之前重发。这种情况下,主站通过一个SWA报文将差错通知给从站。图18和图19阐明了带有SwA报文的主站→从站传输。编号对应于时序B/T103088-20052)周期差错上站从站I)DATA PDU4)DATA PD repeated图18带有SwA报文的主站→从站数据传输主站检测到一个循环错误起始主站SWACycle C3 does not cause a start of the PDLontains an erro图19带有SwA报文的主站→从站数据传输的时序535.143数据传输:从站→主站在收到一个PDU时,如果主站检测到一个周期差错,则通过一个 RWA PDU立即通知从站在DATAPDU重发之前,从站应该使用一个 SWA PDU证实这个 RWA PDU。主站使用 SWA PDU来标记重传数据的开始处。在RWA报文传输期间主站→从站的一个未完成的数据传输队列将被中断,异常处理之后数据传输可以继续。图20和图21阐明了带有RWA报文或SWA报文的从站→主站传输。2)圃期差错IDATA PDU4)SWA PDU主站S)DATA PDU3)RWA PDU图20带有 RWASWA报文的从站→主站数据传输JBT103088-2005Master detectsle with errors图图[-2W3 RWA.SWA圆[Cycle C3 does not cause a start of the PDLthis cycle contains an error图21带有 RWA/SWA报文的从站→主站数据传输时序5352时序描述主站在每个数据周期之后,主站的PDL协议机为在环中每一个具有参数通道的从站启动一次。其中,协议机知道以下参数输入参数:在上一个完整的数据周期之间,已经接收的来自于从站的报文段在上一个数据周期期间,是否发生总线周期差错的信息。输出参数将在下一个周期发送到从站的报文段。图22中,为每一个被称为A1~An的PDL协议提供了参数,这里10~ln,标识为主站接收的数据和为从站发送的数据。相应地,O0~Om,是主站的发送数据和从站的接收数据。Start of the PDL0121409Master[u oji oa i3 03i4 ou is os I6 06 1 o7 I8 o8 ooA9 Start of the PDL0 O0O1020310图22PDL协议机和数据周期动作的分配从站:如果从站确定主站没有发送⑩LPDU和或从站上有未完成的发送数据请求,则一个数据周期完成之后从站上的PDL协议机将被启动。无论有没有其他将被传输的用户数据, IDL PDU将被传输。在PDL协议机中,上一个收到的报文可以被读取和或可以准备一个未完成的发送报文。为了在下一个数据周期内传输到主站,PDL把 PDLPDU传给BLL。图示的第3行给出了从站(A1…A9)的PDL协议机的启动,以及相关的发送、接收报文。总线IB/T103088-2005图22中,中间行给出了周期(C1…C9)和在这些周期中从从站传输到主站的报文,反之亦然从主站 TRANSMIT协议机到从站 RECEIVE协议机的一个报文传输需要两个周期。并且,从从站TRANSMIT协议机到主站 RECEIVE协议机需要三个周期。 TRANSM和 RECEIVE协议机是PDL协议机的组成部分在从站中,为了传输和接收 PDLPDU,PDL协议机的启动应该在指示下一个周期结束之前完成。否则,收到的数据可能丢失。 DLPDU周期时间取决于从站的数量和连接到 SUbnetwork的每个从站的数据宽度。图23和图24给出了,在发送上一个报文和收到这个报文证实(CO)之间至少需要的DST=5个数据周期。DL}…[。--则-=1[mmmmIDL图23报文传输:主站→从站W2LDLMaster-1m2-12-w4-2-1-w2--ci图24报文传输:从站→主站应考虑证实的延迟,所以协议需要额外的周期来等待证实。额外周期的数量存储在“ add wait”变量中。在主站方," add wait”变量可以通过 PDL Set value(值范围:1~4)参数化。PDL协议机同步时,在FCB_ SET PDU内,“ add wait”变量的内容从主站传输到从站。5353报文编码5353.1概论从站带有参数通道的报文长度包含至少一个八位位组的FCT和其他1、3或7个八位位组的数据长度。这取决于传输报文的大小53532代码八位位组的结构53532.1概要图25给出了一个代码八位位组的结构。表19给出了 L status码。表20给出了FCT码。B6B15B14B13B1B10FCT codeFCBIDL图25一个 PDLPDU的代码八位位组JB/Tr103088-2005表19 L status码发生含义(B6B15B14)(本地远程)000无证实001肯定确认否定确认010无可用资源(缓冲器已满)否定确认多个数据周期差错(仅为从主站到从站通过总线的传输)00肯定确认(重复)否定确认01R无可用资源(重复)否定确认10knowledge_timeout111FCB_SET证实,CT码等于0;FCB=1表20FCT码( PDLPDU- Types)功能码PDL-PDU类型含义000IDL PDUIDL PDU不含有任何信息( FCB SET证实除外)001DATA PDUDATA PDL包含用户数据段或PDL变量SPA PDU定义了一个新队列数据传输的开始,包括用户数据段,和在oes中00SPA PDU至少包括 DLSDU的长度信息SVA PDU定义了一个新变量数据传输的开始,包括可能的PDL变量.和在ocet011SVA PDU中至少包含变量数据的长度信息100 Don't spare保留RWA PDU( Receive Word Again):报文的数据八位位组至少包含成功接收到的数101RWA PDU据oe1和可能的 DLSDU数据或PDL变量SWA PDU( Send Word Again):报文的数据八位位组至少包含成功发送的数据SWA PDUets+1和可能的 DLSDU数据或PDL变量从主站到从站的 FCB SET请求, FCB_SET PDU包含Lsau0和FCB=1报刘FCB SET PDU第一个八位位组包含从站PDL协议机的用户数据53.5322FCB帧计数位:0/1,交替位FCB只在SPA报文和SVA报文开始段内5.35323空闲报文如果 DDL-Bit(见图25:Bt9)等于0,则报文不含有任何信息,被称为ILE报文。53533一个字长的报文53533.1概要图26给出了一个字长报文的结构。JBT103088-2005代八位位组敌据八位位组15 B14 B13 B12 BIl BI0B9B8B6 B5 B4XXXXX图26一个字长报文的结构53.53.32Call报文1)SPA报文(用户数据队列传输的 PDLPDU类型)在代码八位位组的 L status中,远程设备SPA报文的证实可以同时传输(见图27)。代母八位位组数据八位位组B16 B15 B14 B13 B12 B:I B10 B9 B8 B7 B6 B5 B4 B3 B2 Bx 0 1 0FCBn-l. DLSDU length in octets-l=n256XXIst DL SDU octet2nd DLSDU octetNth DL SDU octel图27SPA报文的结构2)SVA报文(组态数据传输的DPDU类型)一个 FCB SET证实之后,后续的变量通过“ Send Value with Acknowledge”报文从主站传输到从站在主站方,这些变量可以通过 PDL_Set_value request赋值,并且在SVA报文传输之后,也对从站有效变量 octets-1数量在数据八位组的开始段中被传输。应该传输 swa count变量。另外,还可规定更多的变量(见图28)。代妈八位位组数据八位位组B16 B15 BI4 813 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 BSwa count《必备的Nth variable octet可选的图28SvA报文的结构3) FCB SET报文报文用来同步在主站上和在从站上的一个参数通道PDL协议机。即为FCB赋一个已定义的值(见5.3.5.1.3)。在第一个数据八位位组中,主站也传输已通过 PDL Set value服务设置的协议特有参数(见图29)。代码八位位组数据八位位组B16 B15 B14 B13 B12 B11 B10 B9 B8 B7 B6图29 FCB SET报文的结构535333控制段1)RWA报文主站使用RWA( Read Word again)报文来指示在SPA报文之间,从站已经无差错收到一个报文。JB/T1030882005第一个八位位组中RWA报文包含已经无差错收到的 DLSDU八位位组的数量(见图30)。代码八位位组数据八位位组B16 B15 B14 B13 B12 BII B10 B9 B8 B7 B6 B5 B4 B3 B2 BIXx1|在当前SPA报文翔间,确接收到个 DLSDU八位位组图30RWA报文结构2)SWA报文对于SWA报文,必须监视主站和从站之间的差别,因为只有主站可以立即检测到带有差错的总线周期(见图31)当一个SPA报文从从站传输到主站时,它标识了重复数据传输的开始。这里,SPA报文在RWA报文之后传输。当一个SPA或SVA报文传输到从站时,如果主站检测到一个带差错的数据周期,则从差错前重复传输。eror-l=PDU无误发送的数量,通过一个SwA报文传输到从站。代妈八位位组数据八位位组B16 B15 B14 B13 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1无差错发送k个八位位组(k+1)th数据八位位组(k+2)h数据八位位组xx x0 0 1xiN-th数据八位位组图31SwA报文的结构535334响应报文1)数据证实(SPA或SVA报文证实)代码八位位组的高三位包含以上所描述的CALL报文的证实。这个证实可以和一个SPA或SVA的报文的开始段、控制或用户数据段(FCB_ SET PDU除外)一起传输(见图32)。代码八位位组数据八位位组B16 B15 B14 B13 B12 BIl B10 B9 BS B7 B5LxXXX图32SPA或SVA报文证实的结构2) FCB SET证实FCB SET证实确认一个FCB_SET请求(见图33)。代码八位位组数据八位位组B16B15B14B13B12 Bll BI0 B9 B8 B7 B6 B5B4B3B1:1。0011代的见图4图33 FCB SET作为证实的结构作为请求和证实的 FCB SET报文的八位位组代码。作为请求FCB_SET或证实FCB_SET的数据八位位组中,主站传输通过 PDL Set value服务賦值的协议特有参数(见图34)。JBT103088-2005代蚂八位位组放据八位位组B16 B15 B14 B13 B12 B1I B10 B9 B8 Bb)c图34作为请求和证实的 FCB SET数据八位位组的结构a) B8-B6: err maxer.max变量的内容应该乘以2,以此得到尝试发送同一个报文的次数。b)B5-B3: Reserved保留c) B2-Bl: add waitdd wait-1变量给出了为了等待一个证实附加的周期数。53534段长度大于一个字的队列数据例:队列数据长度=2个字,在一个周期差错之后传输带有SWA报文的数据(见图35)代妈八位位组st数据八位位组2nd数据八位位组3rd数据八位位组瓦卷错发送者个报义八位位组k+2h报文八位位想k+4如揩义八位何组(+5报文八位位址1h报文八位位纠M报文八位位组×× x x」图35段大小多于一个字的报文结构对于一个报文( DLSDU)将要传输的段数,见式(1)Gm(N)=(N-1)m+11)式中:N—用户数据量(包含无差错发送接收的八位位组的数量或者数据长度m——每个段(PDU)的数据八位位组的数量;Gm(N)一PDU的数量注:(N-1)/m是取整的除法传输有13个八位位组的一个队列数据。№14,包含数据长度。段长度是两个字,即在一个段中有三个数据八位位组(m=3):G3(14)=(14-1)/3+1=4+1=55.36PDL协议机5.361PDL基本协议机5.361.1状态描述PDL基本协议机提供了PDL的功能性,具有以下五种状态5.3.6.1.2 PDL INIT上电后的状态。只有当通过通信关系列表项产生了所有必需的PDL协议机和PDL接收传输更新存储区初始化以后,才脱离这种状态。5.3. 6.1.3 PDL RECEIVE UPDATE在这种状态中,PDL从BLL接收的 PDLSDU中取出用户数据并更新第2层的PDL接收更新存储5.3.6.1.4 PDL PM ACTIVE转换到这种状态时,所有的协议机都同时被启动。只有当所有的协议机都被处理后,才脱离这种状态5.3. 6.1.5 PDL TRANSMIT UPDATE在这种状态中,PDL从第2层的传输更新存储区里取出用户数据,生成将要传输到BLL的 PDLSDUJB/103088-2005的用户数据部分,并传输 PDLSDU和 BLL_ Data request(主站方)或 BLL_Data. response(从站方)原语到BLL5.3.6.1. 6 PDL WAIT FOR PDLSDU在这种状态中,PDL基本协议机(见图36)等待BLL的一个 BLL Data con fim(主站方)或BLL Data indication(从站方)原语。在所有的状态(除了PDL_N)中,从 PDL-user传输到PDL的 PDL_ Data_Ack request原语处理如下首先,服务请求通过一个 PDL Data Ack, confirm原语在本地证实。然后,在接收方,PDL产生个PDL_ Data Ack indication原语并传输到 PDL-user。这个原语可通过远程地址标识通常,复位会导致转换到 PDL INIT状态PDL INITUPDATEM ACTAIT FORECEIVEUPDATE图36PDL基本协议机为简单起见,当一个 PDL Data_ Ack request原语从 PDL-uSer到达时,从每一状态(除了 PDL INIT)到相同状态的状态转换没有画出。然而,它们被列在状态转换表中。5.3617转换描述表21给出了PDL基本协议机状态转换。表21PDL基本协议机状态转换初始状态事件1条件转换下一状态→动作上电以后PDL INITPDL INITPDL_INIT协议机和更新存储区的初始化尚未完成PDI仅主站方)1初始化完成L PM ACTVE→启动所有的PDL协议机PDL INIT(仅从站方)初始化完成2a PDL_WAIT_FOR_PDLSDUPDL TRANSMIT UPDATE将用户数据从TUM复制到 PDLSDU并通过 BLL_Data request/response3 PDL WAIT FOR_PDLSDUPDLSDU发送到BLLJBT103088-2005表21(续)初始状态事件转换下一状态条件动作PDL WAIT FOR PDLSDU4 PDL WAIT_FOR_PDLSDU1没有接收到BLL_ Data confirm/indicationPDL WAIT FOR PDLSDU5 PDL_RECEIVE_UPDATE接收到BLL_ Data. confim\update_info==OKPDL WAIT FOR PDLSDU接收到 BLL Data con firm\update_info==NOKPDL PM ACTIVE当启动所有的PDL协议机→如果 trigger_mode=AT,则 start_ bus_cycle=OFFPDL RECEIVE UPDATE将用户数据从 PDLSDU复制到RUM启动所有的PDL协议机PDL PM ACTIVE如果 trigger_mode=AT则 start_bus_cycle=OFFPDL PM ACTIVE8PDL PM ACTIVE不是所有的PDL协议机都被停止或(仅主站方) start_bus_cycle=OFFPDL PM ACTIVE9 PDL. TRANSMIT_UPDATE所有的PDL协议机都被停止或(仅主站方)start-buscycle=ONAny_state接收到 PDL_Reset requestPDL INIT→ PDL Reset. confirmAny_statePDL Data_ Ack request…, rem add,…)同一状态PDL Data Ack confirm→发送带 rem add的 PDL Data Ack indication给 PDL-userAny_state所有PDL管理服务同一状态→处理并证实服务5362PDL协议机5362.1概述对于环中每个带有一个参数通道的从站,主站的PDL基本协议机管理PDL协议机。然而,带有JB/T10308.8—2005个参数通道的从站PDL基本协议机只有一个对此参数通道的PDL协议机。PDL协议机处理所有的 PDL Data Ack服务。这些服务通过参数通道传输到PDL并具有以下任务:连接建立到远程设备的PDL连接。发送方:测试发送请求是否合理( PDL_Data_Ack request)处理发送请求。证实发送请求( PDL Data Ack confirm)。DLSDU分段为数据段数据传输时的差错检测用 BLL_Data request/response传递报文段和证实到基本链路层(BLL)。接收方用 BLL Data confirm接收证实和数据段。数据段重组为 DLSDU用 PDL Data Ack indication传送接收的 DLSDU到 PDL-user图37总体上解释了主站和从站的PDL协议机。给出了主站和从站的不同之处。每个PDL协议机控制和使用一个 TRANSMIT和一个 RECEIVE协议机PDL协议机BLIMACB7(2BLLBLLLLPPDLPDLFALFALFALSlave wtthparametermodule图37在主站和从站中PDL和PDL协议机的位置53622协议机中的计数器和标志536221计数器以下描述的计数器用于参数通道的PDL协议机(见表22)。5.36222标志ConnectionPDL协议机管理一个称为“ connection”的标志。当主站的PDL协议机与从站不同步时。这个标志和 DISCONN是一样的。这种情况下,主站或从站持续发送同步报文,直到远程设备证实了一个报文这时设 connection= READY,即PDL协议机已同步(见表23)。JBrT103088-2005表22PDL协议机的计数器计数器描述在协议机中的使用从一个SPA或SVA报文的启动信号被发送后开始的数据周期数计数TRANSMIT。这个计数器检查重发证实的正确性cer一个报文发送时,对连续发生的错误的计数器TRANSMTTConf在等待一个证实期间,周期数的计数器PDL protocol and TRANSMITCreq_retry因为有缺陷的数据周期而丢失证实时,试发报文次数的计数器TRANSMITCSWA等待一个SWA报文期间,周期数的计数器RECEIVE表23“ connection”标志的含义Connec描述DISCONNPDL协议机未同步READYPDL协议机已同步。PDL层准备传输报文53623状态描述5.362.3.1概论图38所示为PDL协议机。WA!了WAITTRANSMI L4)仅对上站2)仅对从站图38PDL协议机接收 PDL_Reset request原语后,转换的结果通常是从其他状态转换到INT状态。这些转换没有单独画出,但使用了转换0来描述。53.62.3.2INITPDL协议机初始化5.3.6.2.3.3 WAIT FCB RES同步5.3.6.2.3.4 WAIT IBS CYCLE ENDPDL协议机已同步。这种状态控制RECEⅣE和或 TRANSMIT协议机是否被启动。5.3.6.2.3.5 RECEIVERECEⅣVE协议机已启动。5.3.6.2.3.6 TRANSMITTRANSMIT协议机已启动53624转换描述当一个数据周期已经完成并且可获得来自BLL新收到的数据( PDLSDU)时,PDL协议机被PDLJBT103088-2005基本协议机启动。如果接收的数据已经被处理,并且不可获得新的传输数据,则PDL协议机自身停止。在停止状态下,协议机不响应事件。只有 PDL_Reset request会在任何时候引起协议机复位(见表24)。表24PDL协议机状态转换初始状态事件\条件转换下一状态→动作接收到 PDL_Reset requestINIT→初始化PDL协议机,拒绝未处理的 PDL Data Ack服务INITPDL协议机初始化完成AIT FCB RESTFCB_ReqlCoon=0停止PDL协议机WAIT FCB RESceot≤DIST+ add waitl既未发送 FCB SET请求(仅从站方)也未收到WAIT FCB RESFCB SET证实WaitI→Co加1停止PDL协议机WAIT FCB RESCeon >DiST+ add wait\既未发送 FCB SET请求(仅从站方)也未收到 FCB SET证实3WAIT FCB RES→发送FCB_SET请求TFCB_Req2停止PDL协议机WAIT FCB RES收到FCB_SET请求→发送 FCB SE证实设置接收和发送 FCB-FagWAIT IBS CYCLE ENDRFCB_Real复位 TRANSM和 RECEIVE协议机仅主站方:发送SⅤAPDU的使能(参见 TRANSMIT协议机)停止PDL协议机WAIT. FCB RES收到 FCB SET证实→设置接收和发送FCBWAIT IBS CYCLE END复位 TRANSMIT和 RECEIVE协议机RFCB Conf仅主站方:发送 SVA PDU的使能(参见 TRANSMIT协议机)停止PDL协议机JB/r103088-2005表24(续)初始状态事件下一状态条件→动作WAIT IBS CYCLE END收到作为请求的FCB_SET→发送作为证实的 FCB SE设置接收和发送FCBconnection= READY.WAIT IBS CYCLE ENDRFCB Reg2复位 TRANSMIT和 RECEIVE协议机仅主站方:发送SVA报文的使能(参见 TRANSMIT协议机)停止PDL协议机WAIT IBS CYCLE END收到除 FCB SET请求和 FCB SET证实以外的证实和或报文段7RECEIVE(仅从站方),无 RWA PDURecv_ Reg→启动 RECEIVE协议机WAIT IBS CYCLE END(仅主站方RECEVE协议机状态= WAIT SWARECEIVEWait SwA启动RECEⅤE协议机WAIT IBS CYCLE END收到一个IDLE报文TRANSMITSend re→启动 TRANSMIT协议机WAIT IBS_ CYCLE END(仅从站方)收到 RWA PDUTRANSMIT→启动 TRANSMIT协议机Recy RWA(为了发送一个 SWA PDU)RECEIVERECEⅤE协议机停止且 connecton== DISCONN→发送FCB_SET请求WAIT FCB RESTFCB Req3Cconf0,停止PDL协议机RECEIVE(仅主站方RECEIVE协议机停止且 connection= READY,而且 RECEIVE协12WAIT IBS CYCLE END义机已经发送 RWA PDUTM Disable→停止PDL协议机RECEIVERECEⅣⅤE协议机停止且 connection= READY,而且 RECEIVE协13TRANSMIT机(仅主站方)还未发送 RWA PDURecy oK2→启动 TRANSMIT协议机JB103088-2005表24(续)初始状态事件下一状态条件动作TRANSMITTRANSMIT协议机已经停止并且 connection== DISCONN→发送 FCB SET请求WAIT FCB RESTFCB_ Req停止PDL协议机TRANSMIT协议机已经停止并且 connection= READYWAIT TBS CYCLE ENDTransm_OK→停止PDL协议机5363 TRANSMIT协议机53631状态描述5363.1.1概论图39所示为 TRANSMI协议机T IDLEWAIT4. 56. 8 \FRAMEF14, 15\ CONF1.12.15.8.19图39 TRANSMIT协议机一个 PDL Reset原语的转换结果通常是从其他状态转换到T_IDLE状态。这些转换没有单独画出但使用了转换0来描述5.3.6.3.1. T IDLE无报文发送。5.3.6.3.1. 3 SEND FRAME报文正在被发送5.3. 6.3.1.4 WAIT CONF发出了一个报文。正在等待远程设备的证实。53632转换描述TRANSMIT协议机由高层的PDL协议机启动。然后 TRANSMIT协议机仅仅执行一个转换并自身停止。为简单起见,在描述状态转换的表中所有转换没有包括 stop TRANSMiT protoco! 2 machine动作在停止状态下,协议机不响应事件。只有 PDL_Reset request会在任何时候引起协议机复位(见表25)。JB103088-20表25 TRANSMIT协议机的状态转换初始状态事件转换下一状态条件动作PDL_Reset requesto ResetT IDLE→复位 TRANSMIT协议机没有为 SVA PDU发送使能(仅主站方)I Wait 1T IDLE并且没有发送PDL_ Data_Ack request→无动作(等待中)T IDLE为 SVA PDU发送使能(仅主站方)或发送PDL_ Data_ Ack request2 RequestlSEND FRAMEPDU将通过一个以上的段被传送→加入 SPA/SVA PDU的起始段=CcerrCrreq.=OT IDLE为 SVA PDU发送使能(仅主站方)或发送PDL_Data_ Ack requestPDU将通过一个段被传送3 RequestWAIT CONF→加入 SPA/SVA PDU的起始段,为收到的 SPA PDU重发证实(重发肯定的证实或重发队列满)4 Recv_ConfIT_IDLEDIST≤Ccwk≤DIST+ add wait≥改变发送FCB,发送SPA证实SEND FRAME为收到的 SPA PDU重发证实(重发肯定的证实或重发队列满)5 Recv_Conf T_IDLEDST≤ Cyele≤DlST+ add wait→改变发送FCBSEND FRAME为收到的SPA或 SVA PDU重发证实(重发肯定的证实或重发队列满)6 Disconn IT IDLE\CcyckDIST+add_wait→ connection= DISCONNJBT103088-2005表25(续)初始状态事件转换下一状态条件→动作SEND FRAME上一个数据周期包含差错Ccer≤max_swa_ count7 Cycl.Errl SEND_ FRAMExr:加m1加人 SWA PDUSEND FRAME上一个数据周期包含差错8 Mult_ Errl T_IDLE→ connection= DISCONNSEND FRAME上一个数据周期无差错地完成将发送一个以上的数据段9 Send_SegmI SEND_FRAME→加入 DATA PDU,SEND FRAME上一个数据周期无差错地完成将发送最后一个数据段10 Send. Segm2 WAIT_CONF→加入 DATA PDUWAIT CONF证实收到的SPA(肯定重发肯定,队列满或重发队列满I1 Recv_Conf T_IDLE→改变发送FCB加入 SPA PDUWAIT CONF证实收到的 SVA PDU《肯定12 Recv_Conf T_IDLE重发肯定,队列满或重发队列满)→改变发送FCBWAIT CONF未收到证实Ceod>IST+ add wait并且Csmy≤ max_req -retry并且队列数据能通过一个段发送13 TimeoutI WAIT_CONFCrea retry加加入SPA或 SVA PDU的起始段JBT103088-2005表25(续)初始状态事件转换下一状态条件WAIT CONF未收到证实CoM>DST+ add wait并且Ciea euy smax_req_ retry并且队列数据必须通过一个以上的段发送14 Timeour2 SEND FRAME→Cmcy加1加入SPA或 SVA PDU的起始段Cexc =0, Ccer=0WAIT CONF未收到证实Con>DIST+ add wait并且15 Mult_TO T_IDLE→ connection= DISCONNWAIT CONF上…个数据周期包含差错Ccsn≤ max swa count并超过一个以上的数据段将被重发16 Cycle_Err2 SEND FRAMECer加加入 SWA PDUAIT CONF上一个数据周期包含差错Cn≤ max swa count并且 SWA PDU能够接受所有被重发的数据17 Cycle_Err3 WAIT_CONF→Cem加1在 PDLSDU加人 SWA PDUWAIT CONF上一个数据周期包含差错[8 Mult_Err2 T_ IDLE→ connection= DISCONNWAIT CONF为收到的SPA或 SVA PDI重发证实(重发肯定的证实或重发队列满I9 Disconn2 T_IDLE\Cevcle DiST f add wait→ connection= DISCONNWAIT CONF未收到队列\Conf dist+ add_ wait20 Wait2AIT CON→Cot和Ceyk加1JB/r10308820055364 Receive协议机53641状态描述5364.1.1概论图40所示为 Receive协议机、2,3.56,7R IDLRECEIVEWAITFRAME4,15.16.1722,2425,261) WAIT SWA状态及其双向转换仅对上站2)仅对从站图40 RECEIⅤE协议机个 PDL_ Reset request原语转换的结果通常从其他状态转换到R_ILE状态。这些转换没有单独画出,但使用转换0来描述。53.64.1.2 R IDLE无报文接收。5.3.6.4.1. 3 RECEIVE FRAME报文正在被接收。5.36414 WAIT SWA(仅对主站方)发送了一个 RWA PDU。正在等待响应 SWA PDU53642转换描述Receive协议机被高层的PDL协议机启动。然后, Receive协议机仅执行一个转换并自身停止。为简单起见,在描述状态转换的表26中,所有转换不包括停止“ RECEIVE protoco! machine”的动作。在停止状态下,协议机不响应事件。只有 PDL_Reset request会在任何时候引起协议机复位。表26 RECEIVE协议机的状态转换初始状态事件条件下一状态→动作收到PDL_ Reset request→复位 RECeIVE协议机R IDLEResetR IDLE未收到SVA(仅从站)或 SPA PDUR_IDleWaitI→无动作(等待中R DLE收到SⅤA(仅从站)或 SPA PDLreceive FCB≠ await FCB并且R IDLE还没有为这个接收FCB发出证实→ connection= DISCONNJB/T103088-2005初始状态事件条件下一状态→动作R IDLE收到SVA(仅从站)或 SPA PDUreceive FCB≠ await FCB并且已为这个接收FCB发出证实→在 PDLSDU加入重发证实(重发肯定的证实或重发队列满)R IDLE收到SVA(仅从站)或 SPA PDURECEIVE FRAME起始段未包含完整的报文RStart_Sgm→接受数据八位位组R IDLE收到 SPA PDU起始段未包含完整的报文并且存储器可用R_IDLE→接受数据八位位组,RStart sgm在 PDLSDU加人肯定证实改变接收FCB向 PDL-user发送 PDL Data Ack indicationR IDLE收到 SPA PDU起始段包含完整的报文6R IDle并且没有更多的存储器可用RStart_Sgm→在 PDLSDU加入否定证实(队列满)改变接收FCBR_IDLE(仅从站)收到 SVAPDU起始段包含完整的报文R_IDLE→接受数据八位位组RStart sgm在 PDLSDU加人肯定证实改变接收FCBRECEIVE FRAME无 DATA PDU,无 SWA PDU和R_IDLE未收到SVA(仅从站)或 SPA PDUSegm_Errl→停止报文的发送RECEIVE FRAME收到SVA(仅从站)或 SPA PDU在起始段中 receive FCB≠ await FCB并且R_IDLEDisconn2没有为收到的PDU发送证实→ connection= DISCONNJB/T103088-2005表26(续)初始状态事件转换下一状态条件作RECEIVE FRAME收到SVA(仅从站)或 SPA PDUV起始段中 receive FCB≠ await FCB并且R IDLE已为PDU发送了一个证实Rep_Recept中在 PDLSDU中加入重发的证实(重发肯定的证实或重发队列满)RECEIVE FRAME收到SVA(仅从站)或 SPA PDU在起始段中 receive FCB= await FCB并且RECEIVEFRAMERStart_Sgm5起始段未包含整个报文→接受数据八位位组RECEIVE FRAME收到 SPA PDL在起始段中 receive FCB= await FCB并且起始段包含整个报文并且存储器可用R IDLERStart_Sgm→接受数据八位位组在 PDLSDU加人肯定证实改变接收FCB,向 PDL-user发送PDL_Data_ AckindicationRECEIVE FRAME收到 SPA PDU在起始段中 receive FCB== await FCB并且起始段包含整个报文并且R_IDLE无更多的存储器可用→在 PDISDU加入否定证实(队列满),改变FCBRECEIVE FRAME(仅从站)收到 SVA PDU在起始段中 receive FCB= await FCB并且起始段包含整个报文IDLERStart_ Sgm→接受数据八位位组在 PDLSDU加入肯定证实改变接收FCBJBT103088-2表26(续)初始状态事件转换下一状态条件→动作RECEIVE FRAME收到 DATA PDUSAP的最后一个数据段并且存储器可用15→接受数据八位位组R IDLERData sgml在 PDLSDU加入肯定证实改变接收FCB向 PDL-user发送 PDL Data Ack indicatiRECEIVE FRAME收到 DATA PDUSPA PDU的最后一个数据段并且无更多存储器可用→在 PDL SDU加入否定证实(队列满)RData sgm改变接收FCBRECEIVE FRAME(仅从站收到 DATA PDUsVA的最后一个数据段R_IDLE→接受数据八位位组RData_Sgm在 PDLSDU加人肯定证实改变接收FCBRECEIVE FRAME收到 DATA PDU不是SVA(仅从站方)或 SPA PDU的最后一个数据段RECEIVE FRAMERData_ sgm4→接受数据八位位组RECEIVE FRAME(仅从站)收到 SWA PDURECEIVE FRAMERSWA Sgml→接受数据八位位组(监视在数据流中的新的位置)RECEIVE FRAME(仅主站)上一个数据周期包含差错WAIT SWA→在 PDLSDU加入 RWA PDU(报文中正确的位置)Cycle. ErrCSWA=OWAIT SWA(仅主站)未收到 SWA PDUWAIT_ SWACswA≤DIST÷ add waitWAIT2→CSWA加WAIT SWA(仅主站)未收到 SWA PDUTime_OutCSWA> DIST+add waitWAIT SWA(仅主站)收到 SWA PDUSWA PDU未包含最后的数据RSWA-Sgm2 RECEIVE_FRAME→接受数据八位位组(监视在数据流中的新的位置)JB/T103088-2005表26(续)初始状态事件下一状态条件→动作WAIT SWA(仅主站收到 SWA PDU\ SWA PDU未包含SPA的最后的数据并且存储器可用R_IDLE→接受数据八位位组(监视在数据流中的新的位置)RSWA Sgm在 PDLSDU加入肯定证实改变接收FCB向 PDL-user发送 PDL Data_ Ack indicationWAIT SWA(仅主站)收到 SWA PDUSWA PDU未包含SPA的最后的数据RIDE并且无更多的存储器可用RSWA Sem→在 PDLSDU加人否定证实(队列满)改变接收FCBWAIT SWA(仅主站)SWA PDUASWA PDU包含SⅤA的最后的数据→接受数据八位位组(监视在数据流中的新的位置),RSWA_Sgm5在 PDLSDU加入肯定证实改变接收FCB54基本链路层(BLL)541BLL的功能基本链路层是一个设备的组件,它负责受控总线的访问在作为主站的情况下,它在其接口上为PDL提供 BLL Data服务,这一服务允许运行特定的数据周期并在PDL与BLL之间交换数据。在作为从站的情况下,BLL确保接收的数据传输到PDL并从PDL接收要发送的新数据(见图41)。DLS-user DLMs-userDLLPNMI图41BLL在DLL中的位置BLL可被参数化并通过PNM2的接口进行复位。主站的基本链路层再分为“BIL操作协议机”和“ BLL-BAC协议机”。从站只有一个简化的BL操作协议机。JBT1030882005542PDL-BLL接口542.1概要542描述 BLL Data数据传输服务,它为PDL服务,有其服务原语和相关的参数。 BLL Data服务是必备的。图42显示分层模型中PDL与BLL之间的接口。DLS-user DLMS-userDLIBLLPNM2MAC图42在分层模型中PDL和BLL之间的接口5422服务和交互作用概论5.4.2.2.1 BLL DataBLL使PDL能够使用 BLL Data服务。使用这一服务和 PDLSDU,主站的PDL在数据周期内传输OUT数据到从站并同时从带有 PDLSDU的从站接收所有的N数据。OUT和IN数据在时间上是分开的,也就是说,用一个服务调用发送或接收的OUT和ⅣN数据,不需要属于一个相同的数据周期。所以,PDL和PhL可以相互独立的运行。从站的行为跟主站类似从站的BLL通过指示向PDL提供新接收的OUT数据。PDL在下一数据周期内通过响应传输要发送的ⅣN数据到BLL。IN数据在下一个总线周期内将通过物理媒体发送到主站BLL_Data服务通过使用四个服务原语来提供。主站使用请求原语来请求一个服务。在服务被执行后,返回一个证实原语到主站。BLL用指示原语发送新的IN数据到PDL。PDL用响应原语响应这一指示。服务原语:BLL_ Data request(仅主站方)BLL Data confim(仅主站方);BLL_ Data indication(仅从站方);BLL_Data. response(仅从站方)。5423互作用概论图43表示了 BLL Data服务原语的时间关系:5424服务和交互作用的详细定义5. 4.2.4.1 BLL DataBLL Data服务是必备的。使用 BLL_Datarequest(仅主站方),主站的PDL将在下一数据周期内使用这一服务原语发送一个PDLSDU。 PDLSDU含有在一个数据周期内总线上要传输的所有数据。如果主站的BLL接收到新数据它将使用一条 BLL Data. confim把这一数据作为一个 PDLSDU传输到PDL。 update_info参数含有数据是否有效的信息。当一个数据周期含有差错时,接收到的数据无效。假如有效的总线配置不存在或BL由于资源不足而不能进一步接收OUT数据,BLL立即使用一条带 result(-)的 BLL Data. confim对BLL_ Data request进行证实。从站的BLL使用BLL_ Data indication原语把新接收的数据作为一个 PDLSDU传输到PDL,当数据周期内有任何差错时,BLL不能获得任何已接收的数据,因而不能生成 BLL Data indication。使用BLL_ Data. res原语,从站的PDL在一个 PDLSDU中发送新的传输数据到BLL(见表27)。JBT103088-2005BLL Data IndBLL Data reqBLL Data.resBLL Data. reqBLL Data conBLL Data. indBLL Data res图43 BLL Dats服务表27 BLL Data参数名请求指示响应证实PDLSDUPDISDUMcodeargargument含有服务调用的服务特定参数。PDLSDU:该 PDLSDU参数含有在一个数据周期内要发送到所有从站的OUT数据,BLL传递该数据到下面的MAC层该PDⅠSDU参数含有在上一数据周期无差错接收到的OUT数据该参数指示服务已被成功地执行Confirmation该参数含有主站在上一数据周期内接收到的IN数据。JB/T103088—2005Response:PDLSDU含有在数据周期内要传输的从站的IN数据update info该参数描述I数据的有效性。可能的代码有:a)OK- PDLSDU含有有效的IN数据;b)NOK— PDLSDU不含有效的IN数据result (-)该参数指示其服务未能成功地执行。error code该参数指示其服务不能成功地执行的原因。可能的差错代码有STATE CONFLICT尽管没有有效的总线配置存在,但PDL发送了 BLL_ Datarequest.NO RESRC尽管BLL没准备好接受新的OUT数据,但PDL发送了BLL, Data request543PNM2BLL接口54.3.1概要BL管理是BLL的一部分,它提供PNM所需的BLL的管理功能。BLL的管理处理BLL中的初始化、监视和差错恢复54.3定义了PNM2提供的BLL管理服务,以及其服务原语和相关参数。图44表示分层模型中PNM2与BLL之间的接口。LS-user DLMS-uiseDLBLLPNM2图44分层模型中PNM2与BLL之间的接口在PNM2与BLL之间的服务接口提供如下功能BIL的复位;BLL当前运行参数的请求和改变;指示BLL中发生或被检测到的意外事件、差错和状态改变54.3.2服务概论5432.1可用的服务BLL使PNM2能够使用下列服务:BLL D(获得总线配置)Reset bll:-Set Value BLL-Get Value bll:Event bll。BLL服务用原语(以BLL…开始)来描述JB/T103088-200554.32.2BLLIBLL(仅主站方)使PNM2能够使用所需的BLI服务。使用该服务和 BLLSDU,主站的PNM2在一个标识周期传输控制代码到从站并从带有 BLL SDU的从站接收一个标识周期的所有设备代码服务原语:BLL_ID request(仅主站方);BLL ID. confirm(仅主站方)5. 4.3.2.3 BLL ResetPNM2使用该必需的服务去复位BIL。服务执行时,PNM2接收到一个证实服务原语:-BLL_Reset requestBLL Reset. confirm。5. 4.3.2. 4 BLL Set valuePNM2使用这一可选的服务为BLL变量赋新值。完成时,不管所指定的变量是否接受了该新值PNM2从BLL接收一个证实。服务原语-BlL- Set_ value requestBLL Set value. confiT。5.4.3.2.5 BLL Get valuePMN2使用这一可选的服务去读BLL的变量。所指定的变量的当前值用bL的响应传输。服务原语:BLL_Get_ Value requestBLL Get Value confin。5. 4.3.2.6 BLL EventBLL使用这一必需的服务去通知PNM2user在BLL中的某些事件或差错。服务原语-BLL Event. indication5433交互作用概论图45和图46表示服务原语的时间关系PNM2PNM2BLL XXX reBLL XXX.conBLL Event Ind图45 Reset、 Set value和 Get value的BLL服务图46 Event Bll服务5434服务和交互作用的详细定义54341 BLL ID(仅主站方使用 BLL_D request,PNM2传输一个 BLLSDU到BL。当BLL收到这一请求时,将启动一个标识周期。 BLLSDU含有所有数据,这些数据将在一个标识周期内传输到总线上。如果主站的BLL在个标识周期内接收到新的接收的数据,它将使用一条 BLL ID confirm把这一数据作为一个 BLLSDU传输到PNM2。当一个标识周期含有差错时,接收的数据无效(见表28)。JB丌T1030882005表28 BLL Data参数名请求证实ArgumentSDUResult (+)SDUResult (-argument:Argument含有服务调用的服务特定参数SDU:RequestSDU参数含有对所有从站的控制代码,这些代码将在一个标识周期内被发送。BLL传输该数据到下面的MAC层。result (+)该参数指示服务已被成功地执行。Confirmation该参数含有在上一标识周期主站接收的设备代码result (-)该参数指示其服务未能成功地执行error code该参数指示其服务未能成功地执行的原因5.4.3.4.2 BLL ResBLL_ Reset服务是必备的。PNM2传输一条 BLL_ Reset request到BLL去复位BLL(见表29)。表29BLL_ Reset参数名请求证实ArgumentResult(+)5.4.3. 4 3 BLL Set valueBLL_ Set value服务是必备的。PNM2传输一条BIL, Set_ value request原语到BLL为指定的BLL变量赋期望值。在收到这条原语后,BLL试图选择该变量并赋新值。完成时,BL传输一条BLL Set Value. confirm原语到PNM2(见表30)。表30 BLL Set value参数名请求variable namedesired valueResult (+)variable name:该参数指定被赋新值的BLL变量JBT103088-2005desired value:该参数为BLL变量声明新的值表31列出了BLL变量可赋新值的信息。表31BLL变量BLL变量名取值范围默认值update_time Ti(0~21)*,1msbus_timeout TTo BUS(0~21)1msonnguration VBLL access controllocked, req_to_lock, unlocked5. 4.3. 44 BLL Get valueBLL Get value服务是可选的PNM2传输一条BLL_ Get_ Value request原语到BL,读出指定BLL变量的当前值。在接收到这一原语后,BLL试图选择指定的变量并用一条 BLL Get Value. confirm原语传输它的当前值到PNM2(见表32)。表32 BLL Get value参数名请求Argumentriable nameResult (+)urrent valuevariable name该参数指定要读出其值的BLL变量。desired value该参数含有BLL变量的读出值。被读的BLL变量正好就是那些可以用 BLL SetⅦalue去写的变量5. 4.3.4.5 BLL EverBLL Event服务是必备的。BLL传输一条 BLL Event. indication原语到PNM2,通知它BLL中的有关重要事件或差错(见表33和表34)。表33 BLL Event参数名指示Mevent该参数指定BLL中发生的事件或差错源。可能为下列值:表34 BLL Event名字含义必备的可选的BLL.bus_timeout有一个总线超时ho.as即在两个完整无错的数据周期之间的时间太长BL声明的总线配置无效BLL_update_timeout在下一个数据周期启动之前有一个更新超时指示有差错的周期,BLL中断数据周期,通过BLL_ Set value等待PNM2使BLL_cycle_error(变量: BLL access control= unlocked)JBT103088-2005544BLL的协议机5441主站的BLL协议机544.1.1概论主站的BLL操作协议机接收高一级的PDL层的OUT数据并把它传到 BLL-BAC-PM。然后BLL-BAC-PM启动一个由定时器控制的数据周期。此外,在数据周期后BLL操作协议机从 BLL-BAC-PM接收IN数据并传递给高一级的PDL。当PDL仍在处理上一周期的数据时,它有能力发起下一数据周期。另一功能是总线超时tmBs的监视。在有差错的数据周期后,根据PDL协议机功能运行的方法,BLL中现有的 PDLSDU将被丢弃。在主站中, BLL-BAC-PM(BAC:‘ Basic Access: Control〔基本访问控制)’)确保 update _time tuP小于数据周期时间。为此,与 MAC_Cycle.request-样,由一个定时器发起,它传送来自BL操作协议机的 BAC_Cycle. request到MAC层此外,为了启动m周期, BLL Access Control变量可通过PNM2用于中断总线周期的启动,因为诊断应用将可能在有差错的数据周期之后运行一个标识周期BLL-BAC-PM在数据周期差错自动锁定后设置 BLL Access contro变量。I周期完成时,PNM2将用一条 BLL Set value服务再次使能数据周期的启动。544.12BLL内部功能BLL-MAC-PM为主站的BLL操作协议机提供 BAC_-Cycle服务。在 BLL-MAC-PM中该服务映射为MAC子层的 MAC_Cycle服务。BAC_ Cycle服务的结构完全与 MAC_Cycle的结构相对应两个服务之间的差别在于:对 BAC_Cycle,在服务调用后并不立即启动总线周期,而周期的启动是跟定时器的时钟同步。PNM2也可防止用 BLL Set Value服务( BLL access contro变量)启动周期。5. 4. 4.1. 3 BAC Reset在一条 BLL Reset后,操作协议机使用 BAC Reset服务复位 BAC-PM。该服务被立即证实544.1.4BLL操作协议机图47表示主站的BLL操作协议机BLL INITNO BUS CONF:G13,15ATA CYCLI11.12,14,6图47主站的BLL操作协议机BLL_ Reset原语的结果总是从每一状态转换到 NO BUS CONFIG状态。这些转换没有单独地列出而是用转换0来描述。主站BLL操作协议机的状态5. 4.4.1.4.1 BLL INIT基本链路层,包括 bLL access control和 configuration_valid变量,被初始化和或复位JBT103088-20055. 4.1.4.2 NO BUS CONFIG无有效的活动总线配置。无数据周期运行。5. 4.1.4.3 READY无有效的活动总线配置。通过 BLL_Datarequest可发起一个数据周期5.4 4.1. 4 4 DATA CYCLE通过BLL_ Data request发起一个数据周期表35描述状态的转换下列事件在每一状态下都可能发生,应予以考虑configuration_ valid变量的值的改变(PNM2可用 BLL Set value修改这个值);-BLL_Data requestBAC__Cycle. confirm(如果此前已发送一条 BAC_Cycle. request);1时间到,即总线超时 ITO BUS被超出BLL Reset. request.接收和发送 BLLSDU:在BLL操作协议机中存在接收和发送 BLLSDU的区别。接收 BLLSDU( BLL RSDU)含有在数据周期之后由MAC子层接收到的数据,同时,传输 BLLSDU( BLL TSDU)含有在数据周期之前要送到MAC子层的所有数据。在周期结束后由于不需要立即把 BLL RSDU传输到PDL,所以 BLL RSDU跟个 SDU StatuS BLL Rsdu一起缓冲在BLL中SDU_ statusBLL RSDUa)OK—数据周期完成且无错,输入数据有效;b)NOK——数据周期还没运行或上一数据周期有错,输入数据无效表35主站BLL操作协议机的状态转换初始状态事件转换下一状态→动作上电后0BLL INITBLL INIT→初始化操作PMla NO_BUS_CONFIG丢弃尚未处理的BLL_TSDU和 BLL RSDUNO BUS CONFIGconfiguration_valid== true (edge)bREADY→生成的 BLL RSDU带有 SDU statusBLL RSDU=NOKNO BUS CONFIG→ BLL Data confirm(一)带有 error code=3 NO_BUS_CONFIGSTATE CONFLICTREADYBLL INITconfiguration_valid =s false(edge)JBTr103088-2005表35(续)初始状态事件转换下一状态→动作READYBLL_Data request→接受 PDLSDU作为 BLL TSDUDATA CYCLEBLL Data con firm(+)带有 PDLSDU= BLL RSDUHu update_ info SDU_statusBLL_RSDUBAC_Cycle. request带有 BLLSDU=BLL_TSDUREADY定时器T1时间到LL INIT→ BLL Eventindication带有 event= bLL bus timeoutDATA CYCLEBLL INITconfiguration_valid = false (edge)DATA CYCLEBLL-Data requesDATA CYCLEV仍有资源可用→接受 PDLSDU作为BLL_TSDUDATA CYCLBLL_Datarequest12DATA_CYCL无更多的资源可用→ BLL_ Data confirm()带有 error code=NO_ RESRCDATA CYCLEBAC__Cycle. confim带有 BLLSDU和 resulte=OK1无更多的BLL_TSDU可用READY→设置定时器T的值为 TTO BUS将缓冲 BLLSDU作为BLL_RSDU带有SDU statusBLL RSDU=OKDATA CYCLEBAC_Cycle. confirm带有 BLLSDU和 result=OK更多的 BLL TSDU可用DATA CYCLE→设置定时器T1的值为 TTO BUS,BLL Data confirm(+)带有 PDLSDU= BLLSDU和 update_ info=OKBAC_Cycle. request带有 BLLSDU= BLL TSDUDATA CYCLE15READYconfiguration_valid==false (edgeDATA CYCLBLL_Data request16 DATA_CYCLE仍有资源可用→接受 PDLSDU作为 BLL TSDUJBT1030882005表35(续)初始状态事件转换下一状态条件→动作DATA CYCLEBLL_Data request17飞更多的资源可用BLL_ Data con firm(-)带有 error code= NO RESRODATA CYCLEBAC_ Cycle. confirm带有 bLlSDU and result==OK无更多的 BLL TSDU可用→设置定时器T的值为 TTO.BUs同一状态将缓冲 BLLSDU作为 BLL RSDU带有SDU statuSBLL RSDU OKDATA CYCLEBAC_Cycle. confirm带有 BLllSdU and result=OKV有更多的 BLL TSDU可用→设置定时器T的值为 TTO_BUSBLL INITBLL_ Data confirm(+)带有 PDLSDU= BLLSDU和update info=OKBAC_ Cycle. request带有 BLLSDU=BLL-TSDU544.15BLL-BAC协议机图48所示为 BLL-BAC协议机。13,15READYLOCKE10,12CYa王R图48 BLL-BAC协议机BLL- Reset request,原语的结果总是从每一状态转换到 READY状态。这些转换没有单独地画出,而是用转换0来描述BLL-BAC-PM(协议机)的状态54.4.1.5.1 READY总线周期的发起被使能。由于BL操作协议机和诊断应用不能发送一条 BAC_Cycle. request或因为更新时间Tvp尚未终止,因而没有周期运行。TuP仅考虑用于数据周期。JBnT1030882005CYCLE RUN总线周期的发起被使能。一个总线周期正在运行。在这一状态下,协议机等待该总线周期的结束5.4.4.152 LOCKED总线周期的发起被锁定。但正在运行的总线周期仍能完成。如果在这一状态下有一条BAC_ Cycle. request,用该请求传送的 BLLSDU被缓冲。只有在总线周期使能后才会有新的总线周期启动。只能缓冲一个 BLLSDU表36描述状态的转换下例事件可能发生,应予以考虑一BAC_ Cycle. requestMAC_Cycle. confirm(如果此前已发送一条 BAC_Cycle. request.)定时器T2,即 update_time TUP终止;BLL access control变量的改变- BAC_ Resetrequest.表36 BLL-BAO协议机的状态转换初始状态事件转换下一状态1条件→动作上电后EADY→复位 BAC-PMREADYBAC__Cycle. request( data__cycle, BLLSDU)READY72启动且尚未到时→保持 BLLSDUBAC_Cycle. request (data_cycle, BLLSDU)Ⅵ2时间到或未启动:YCLE RUNMACSDU=BLLSDUMAC_Cycle. request( data_cycle, MACSDU)设置T2的值为Tp,启动T2READY72时间到已接收一条 BAC-Cycle request但还未执行5CYCLE_RUNMAC_Cycle. request( data_cycle, MACSDU)设置T2的值为TuP,启动T2READY72时间到1没有挂起的 BAC- Cycle服务可用READYBLL_Event. ndication t54 event=BLL_update_timeoutREADYLOCKEDBLL_access_control=req_to_lock(edge)JB/r103088-2005表36(续)初始状态「件条件→动作CYCLE RUNBAC- Cycle, request8CYCLE_RUN→ BAC-Cycle. confirm带有 result=NOCYCLE RUNMAC_ Cycle. confirm带有resu=OKREADY→带有 result=OK的BAC_ Cycle. confirm到BLL操作协议机CYCLE RUNMAC- Cycle. confirm带有 result=NO→带有 result=NO的 BAC_ Cycle. confirm到LOCKEDBLL操作协议机,BLL access control=lockedBLL_Event: BLL__cycle_errorCYCLE RUNT2时间到11 ICYCLE_ RUN- BLL_EvenL. indication # event=BLL_update_timeoutCYCLE RUNLOCKEDBLL_access_control==req_to_lock (edge)LOCKEDBAC_Cycle request( data_cycle, BLLSDU)1没有挂起的 BAC_Cycle服务可用保持 BLLSDULOCKEDMAC_Cycle. confirm带有 result:=OKNO→带有 result==OKNO的 BAC- Cycle. confim到BLL操作协议机,15LOCKEDBLL access control=lockedsulu==NO→ BLL Event. indication带有event=BLL_cycie_errorLOCKEDBLL_access_control=unlocked (edge)17CYCLE_RUNL总线周期尚未完成LOCKEDL总线周期已完成,但 BAC_Cycle服务仍挂起18 CYCLE_RUN→ MACSDU= BLLSDU,MAC_Cycle. request (data_cycle, MACSDU)JB/Tr103088-2005表36(续)初始状态事件转换下一状态条件动作LOCKEDBLL access control==unlocked (edge)READYL总线周期已完成并且没有BAC_ Cycle service挂起BAC R→复位 BAC-PMBAC Reset con从站的BLL协议机54.42.1概论由于只有主站才能发起总线周期, BLL-BAC协议机在从站中并不存在。因而从站的BL操作协议机大大地简化。它只传输MAC的数据到PDL,反之亦然。54422BLL操作协议机图49所示为从站的BLL操作协议机图49从站的BLL操作协议机从站BLL操作协议机的状态5.4.4.2.2.1 READYBLL操作协议机准备从MAC接受 MACSDU形式的新的输出数据,并将其作为一个 BLLSDU传输给PDL。IN数据也从PDL( BLLSDU)传输到MAC( MACSDU)。BLL只负责通过数据周期发送数据。表37描述状态的转换。下列事件在每一状态下都可能发生,应予以考虑BLL Data. resMAC_Cycle_ind是 MAC>MAC-uSer接口上以下交互作用的组合:a) MAC_ Data indication( Data_Cycle)b)MAC- Get_Data, request(Data_Receive )c)MAC Get Data confirm Data Receive, OK, MACSDU)oJBr1030882005表37从站BLL操作协议机的状态转换初始状态事件转换下一状态条件动作READY带有 MACSDU的MAC_ Cycle_indREADY→ BLLSDU= MACSDU,BLL_ Data indication (BLLSDU)READYBLL Data. res( BLLSDU)READY→ MACSDU= BLLSDU,MAC_Cycleres (MACSDU)MAC_ Cycle_res是 MAC E MAC-user接囗上以下交互作用的组合:a)MAC_Put_Data request (Data_Transmit, MACSDU)b)MAc Put Data confirm (Data Transmit, OK).5.5媒体访问控制(MAC)551MAC在DLL中的位置媒体访问控制(MAC)是数据链路层(DLL)最低的子层,并位于PhL(PhL)层上(见图50)。DLS-uSer DLMS-userLayer2BLLLayerPIL图50MAC在DLL中的位置如图5所示,PhL也划分为若干个子层,其功能也如图51所示。MAC子层由 MAC-user调用并与BLL子层对应。5.52MAC的功能MAC子层控制对传输媒体的访问并确保按16位CRC多项式形式对接收和发送的用户数据进行校验MAC子层通过DLPh接口在一-个 DLPDU周期内将从 MAC-user接收来的数据按数据单元的二进制序列传输给PhL。与此同时MAC子层通过DLPh接口从PhL接收数据单元。如果PhL接收的这些数据单元无差错,则 MAC-uSer能够使用他们。由于总是由主站发起 DLPDU周期,因此这就形成了主站主动的MAC子层与从站被动的MAC子层之间的差别。DLPDU周期由数据序列跟随校验序列组成(见图52和图53)JB/r103088-2005BLL数据链路层MAC-USER接∩控制系统环访坏访问DLP接门MIS-MDS接冂第|层MDS物理层(PhL)转换MAU物理信号媒体传辖媒体图51第1层和第2层的模型细节数据序列枚验序列效据序列(川广数据或控制数据(川户据或控制玫据1DLPU两(差信下一个 DLPDU周期图52无差错的数据序列的 DLPDU周期数据序列数据序列川广数据或控制数据(控数据DLPDU周期(有差错)下一个 DLPDU周期图53有差错的数据序列的 DLPDU周期个数据序列可以包括一个数据周期或者包括一个标识周期数据周期用于来自过程数据通道的用户数据的发送,以及如果适用的话,来自参数通道的用户数据的发送;标识周期则用于配置数据和差错诊断数据的发送。如果传输的数据序列无任何差错,将跟随一个由主站发起的校验序列。该校验序列首先发送此前的数据序列中发送的数据的CRC多项式(校验和),接着是接收状态(校验和状态)。如果在数据序列中有差错,并且该序列跟随有另一数据序列,则校验序列被省略,并发送作为一个标识周期的一部分的另一数据序列。媒体访问控制(MAC)子层是DLL的一部分,它控制传输媒体上各设备之间安全的数据传输。它传输来自 MAC-uSer的 MACSDU,并据此生成 DLPDU,经DLPh接口传输到PhL。反过来,它经DLPhJBT103088-2005接口接收 DLPDU,并以此生成 MACSDU,然后传输到 MAC-uSer为了数据传输的安全,MAC子层以CRC多项式的形式生成要发送的 DLPDU的校验和并经DLPh接口发送这一校验和到PhL。反过来,MAC子层以CRC多项式的形式生成接收的 DLPDU的校验和并与接收的校验和进行比较。553主站5531 DLPDU结构产生了下列 DLPDU格式之间区别:数据序列 DLPDU和校验序列 DLPDU5531.1数据序列 DLPDU主站的MAC子层将按图54所示通过加入回送字(LBW)到 MACSDU来生成数据序列 DLPDU。以此生成的 DLPDU按 PhIDU的形式从左到右传输到PhL,以便LBW能够被首先传输,接着发送MACSDU。当由BLL传输的数据位的数目不能被8整除而有余数时,回送字(LBW)前将加上任意内容的附加位。这些附加位的数目就是8减去余数位。附加位MACSDUOUT(n-1)%.OUT( N…,评图54由主站发送的数据序列 DLPDU反过来,主站的MAC子层将根据图55接收的数据序列 DLPDU中取出LBW,将它与已发送到PhL的数据序列 DLPDU的LBW进行比较。如果两个字相同,MAC子层将通过 MAC-uSer接口传输接收的MACSDU到 MAC-uSer数据序列 DLPDU按从左到右的顺序接收,从 MACSDU开始。MACSDU阳加位图55主站接收的数据序列 DLPDU55312校验和序列 DLPDU为了数据序列 DLPDU的安全传输,MAC子层在数据序列 DLPDU被成功发送后将按图56所示生成校验序列 DLPDU。为此,MAC子层为传输的数据序列 DLPDU生成一个校验和,并通过DLPh接口,将它与校验和状态一起,作为一个校验序列 DLPDU传输到PhL校验和(k)校验和状态(k)图56校验序列 DLPDU反过来,主站的MAC子层按图56所示把接收的校验序列DPDU的校验和与按此前刚接收的数据序列 DLPDU计算出的校验和相比较。然后求出接收的校验序列 DLPDU的校验和状态。将其结果送到 MAC-user5532回送字(LBW)为了安全的数据传输,MAC将生成如图57所示结构的回送字(LBW)。LBW子段FC午段bI4b13bl2msb图57回送字(LBW)JBT103088-2005回送字从右到左传输,从最低有效位(kb)起,到最高有效位(nsb)结束在每一个LBW中b3…b0的二进制值作为帧计数(FC),b3为msb,b0为lsb,它的值减1后跟前个LBW的b3…b0所代表的值进行比较,且不考虑进位的可能。MAC-user通过管理接囗使用MAC的回送字变量定义b14…b4的值5.53.3校验和为了数据序列 DLPDU的安全传输,防止差错发生,主站的MAC子层对传输及接收的数据序列DLPDU以16位CRC值的形式生成一个独立的校验和。CRC值是在发送前和接收后将 DLPDU从lsb起连续地除以标准的CCIT多项式x6+x2+x3+1后的余数。在开始除之前校验和的初值设为16进制的值FFF。校验和在校验序列 DLPDU中传输,从lsb开始,到msb结束。注1:校验和应与数据序列 DLPDU的传输或接收同步生成。注2:如果当数据序列 DLPDU接收时检测到传翰差错,则接收的效据序列 DLPDU的校验和的值设为其初值。5534校验和状态主站的MAC子层生成如图58所示的校验和状态Lo。。。。。,,,,,图58主站生成的校验和状态在一个校验序列中,在校验和传输后,立即传输 DLPDU,发送順序从lsb开始到msb结束。同样,主站的MAC子层将评价校验序列 DLPDU中接收的校验和状态,如图59所示。图59主站接收的校验和状态对于逻辑二进制值r7~10其含义为:r7=6=r5=r4=r3∧r2∧r1∧r0,这里“∧”表示逐位的AND运算注l:如果表达式r3∧2∧r1A0的值为逻辑1,则表示数据序列 DLPDU与校验和在两个设备之间的传输没有差错注2:如果表达式r3∧r2Ar1r0的值为逻辑0.则表示当被传输的数据序列 DLPDU或在两个设备间的校验和有传输差错发生。校验和状态紧跟在校验序列 DLPDU中的校验和之后,按从右到左的顺序接收。lsb首先传输,msb最后传输。5535总线访问控制数据的传输用发送和接收部分各自的协议机来分别描述。5.53.51发送方图60表示在一个数据序列(标识周期或数据周期)中,对从主站到被动从站的报文传输,以及为了数据安全传输(校验序列)机制的MAC子层的状态转换5.5351.1数据序列5.53.5.1.1.1Idle在这一状态下主站的MAC子层将等待启动一个DPDU周期的请求,该请求由 MAC-user通过MAC_Datarequest原语发出。如果MAC子层收到来自 MAC-uSer借助 MAC_Datarequest原语发出的启动一个标识周期( cycle=ID_cycle)的请求,它将把用于发送的 ID transmit缓冲中有用的数据生成要发送的 MACSDU并转到 ID_cycle_request状态。当接受数据时,任何其他对 ID transmit缓冲的访问被锁定JBT103088-2005IdleData CycleRequestData Transfer数据序列Check lBw权验序列TransferCRC Idle图60主站的MAC协议机:报文的传输如果MAC子层收到来自 MAC-user通过 MAC_Data request原语发出的启动一个数据周期( cycle= data_cycle)的请求,它将把用于发送的 data transmit缓冲中有用的数据生成要发送的 MACSDU并转到 Data_Cycle_ Request状态。当接受数据时,任何其他对 Date transmit缓冲的访问被锁定。5.5.3.5.1.1.2 ID_Cycle_ Request在这一状态下MAC子层将首先生成要发送的数据序列 DLPDU,然后通过DLPh接口用一条Ph-DATA request(PhCl= start_D_cycle)原语启动一个标识周期。在由 Ph-DATA.confirm原语经PhL证实后,MAC子层将呈现 Data transfer状态5.5.3.5.1.1.3 Data_ Cycle_ RequestJB/T103088-2005在这一状态下MAC子层将首先生成要发送的数据序列 DLPDU,然后通过DLPh接口用一条Ph-DATA request(PhCl= start_data_cycle)原语启动一个数据周期。在由Ph- DATA confirm原语经PhL证实后,MAC子层将呈现 Data Transfer状态。5.5.3.5.1.1.4 Data Transfer在这一状态下MAC子层将首先通过DLPh接口使用 Ph-DATArequest(PhCl= user data)原语顺序地发送数据序列 DLPDU到PhL。对每一 Ph-DATA request原语MAC子层经PhL通过一条Ph-DATA. confirm原语接收一个证实。与此同时同步地生成校验序列 DLPDU在完成数据序列 DLPDU的传输后,MAC子层将呈现 Data Idle状态。5.5.3.5.1.1.5 Data Idle在这一状态下MAC子层请求一条 Ph-DATArequest(PhC= User_ Data_ ldle)并等待直到数据序列PLPDU已完全接收。如果接收时间监视电路已作出响应,由于一个标识或数据周期在数据序列 DLPDU完全接收前已经启动,则MAC子层将通过相应的 MAC Data confirm原语终止发往 MAC-uSer的数据序列,并呈现lde状态。在数据序列 DLPDU被完全接收后,MAC子层呈现 Check LBW状态。注:如果在数据序列期间检测到传输差错,在下一个 DLPDU周期中 MAC-user以标识周期开始。5.5.3.5.1.1. 6 Check LBw在这一状态下,MAC子层首先检查从一个标识周期或数据周期开始到完成数据序列 DLPDU的接收之间是否检测到传输差错。如果出现这一情况,它通过相应的MAC. Data. confim原语结束发往MAC-USer的数据序列,并呈现ldle状态。如果没有检测到接收差错,接收的回送字跟从MAC子层发送的回送字相比较。如果两个字相同MAC子层结束数据序列,生成校验序列 DLPDU并呈现 Check_ Sequence_ Transfer状态。如果接收的国送字与发送的回送字不相同,则有传输差错发生,MAC子层将通过相应的MAC Data. confin原语终止发往 MAC-uSer的数据序列,并呈现lde状态。5.53512校验序列5.5. 2.1 Check_ Sequence_Transfer在这一状态下,MAC子层将经DLPh接口顺序地传输校验序列 DLPDU到PhL。传输以校验和开始,该校验和通过 Ph-DATA request(PhC=CRC_dta)原语来传输,接着是校验和状态,它是通过Ph-DATArequest(PhCl= CRC Status)原语来传输的。在校验序列 DLPDU已全部发送后MAC子层将呈现 CRC Idle状态5.5.3.5.1.2.2 CRC Idle在这一状态下MAC子层请求一条Ph- DATA request(PhCL= CRC Data Idle)并等待直到校验序列DLPDU被完全接收。如果接收时间监视电路已作出响应,由于校验序列 DLPDU的传输已经启动以及在校验序列 DLPDU完全接收之前,则MAC子层将通过相应的MAC_ Data confirm原语终止发往MAC-user的校验序列,并呈现ldle状态在校验序列 DLPDU已完整接收后,MAC子层检查在校验序列中是否检测到传输差错。如果没有检测到传输差锴,在标识周期中接收到的 MACSDU放在 ID receive缓冲器中,在数据周期中接收到的MACSDU放在 data receive缓冲器中,MAC子层使MAC-user能够使用缓冲器中接收到的 MACSDU然后,MAC子层通过 MAC Data confirm( status=OK)原语完成发往 MAC-uSer的 DLPDU周期,并呈现ldle状态。在数据传输期间,对相应缓冲器的任何其他访问被锁定。如果校验序列检测到一个传输差错,MAC子层通过相应的MAC_ Data con firm原语完成发往MAC-user的DPDU周期,并呈现Idle状态注:如果在校验序列期间检测到传输差错,MAC-user在下一个 DLPDU周期中以标识周期开始JBT103088-20055.53.52接收方MAC子层的接收部分用两个协议机来描述:一个协议机描述由数据序和校验序列组成的报文的接收,第二个协议机描述作为一个标识周期或数据周期的数据序列的标识。5.53.52.1报文接收方图61表示主站在数据序列(标识周期或数据周期)中接收报文以及保证安全的数据传输校验机制(校验序列)时,MAC子层的状态转换复位( ResetData TransferID TransfeTransfer数据序列校序列b---Check CRCTransfer图61主站的MAC协议机:报文的接收5535.2.1.1数据序列5.5352.1.1.1Idle在这一状态下MAC子层将等待直到 MAC-uSer启动一个标识或数据周期。如果 MAC-user通过MAC_ Data request原语( cycle= iD_cycle)请求一标识周期,则MAC子层呈现 Await ID Transmit状态。如果 MAC-user通过 MAC_Data request原语( cycle= data_cycle)请求一个数据周期,它转到Await Data_ Cycle状态。如果MAC子层在标识或数据周期启动前经DLPh接口通过Ph- DATA indication原语(PhCl=user_data)接收数据序列DPDU的字符,则产生一个传输差错并用 MAC Event. indication原语( event:=data_ noise)报告到 MAC-user。已接收的字符被丢弃。在这种情况下 MAC-user将请求一个标识周期去恢复数据的一致性。如果MAC子层在标识或数据周期启动前经DLPh接口通过Ph- DATA indication原语(PhCl=JB/T1030882005CRC data)接收到校验序列 DLPDU的字符,则产生传输差错,通过 MAC Event, indication原语( eventCRC_ noise)报告给 MAC-user.已接收的字符被丢弃。在这种情况下 MAC-user将请求一个标识周期去恢复数据的一致性5.5.3.5.2.1. 1.2 Await ID Transfer在这一状态下,MAC子层等待数据序列 DLPDU的开始。如果它用一条Ph- DATA indicacation(PhCI= user data)原语经DLPh接口接收到一数据序列DPDU的第一个字符,它将呈现 Data Transfer状态。如果接收计时监视作出反应,则有传输差错,并且MAC子层将停止数据序列 DLPDU的接收并呈现ldle状态。这一传输差错在该数据序列 DLPDU完成后用 MAC Data confim原语通知 MAC-user如果MAC子层用Ph- DATAindication原语(PhCI= CRC data)经DLPh接口接收一数据序列DLPDU的字符,则产生一个传输差错,该差错用 MAC Event. indication( event= CRC noise)原语报告给MAC-user。接收的字符被丢弃。在这种情况下MAC-user将请求一个标识周期去恢复数据的一致性5.5.3.5.2.1.1.3 Await Data Transfer在这一状态下MAC子层等待数据序列 DLPDU的开始。如果它用Ph- DATA indication( WhIch= user data)原语经DLPh接口接收到一数据序列DPDU的第一个字符,它将呈现Data_ Transfer状态如果接收计时监视作出反应,则有传输差错,并且MAC子层将停止数据序列 DLPDU的接收并呈现ldle状态。这一传输差错在该数据序列 DLPDU完成后用 MAC Data. confim原语通知 MAC-uSer如果MAC子层用 Ph-DATA indication原语(PhCl= crc data)经DlPh接口接收一数据序列DLPDU的字符,则产生一个传输差错,该差错用 MAC Event. indication( event= CRC noise)原语报告给 MAC-user。接收的字符被丢弃。在这种情况下 MAC-uSer将请求一个标识周期去恢复数据的一致性。5.5.3.5.2.1.1. 4 Data Transfer在这一状态下MAC子层将接收用 Ph-DATA indication(PhCl= user data)原语经DLPh接口逐字符地发送到MAC子层的数据序列 DLPDU。在该数据序列 DLPDU全部接收后它将呈现End data_ Sequence状态注:主站的MAC子层在数据序列 DLPDU中,从PhL接收到的字符数总是等于在数据序列 DLPDU中,从MAC子层传输到PhL的字符数。如果在数据序列 DLPDU完全接收前,接收时间监视电路作出反应,则有传输差错发生。MAC子层将停止该数据序列 DLPDU的接收并呈现lde状态。在该数据序列 DLPDU完成后,这一传输差错用MAC Data confirm原语通知 MAC-uSer如果MAC子层通过Ph- DATA indication原语(PhCl=CRC_data)经DLPh接口接收一数据序列DLPDU的字符,则产生一个传输差错,该差错用 MAC Event. indication( event=CRC_ noise)原语报告给 MAC-user。接收的字符被丢弃。在这种情况下 MAC-uSer将请求一个标识周期去恢复数据的一致性5.5.3.5.2.1.1.5 End_Data_Sequence在这一状态下MAC子层将终止数据序列 DLPDU的接收,生成接收的 MACSDU,并等待一个校验序列 DLPDU的开始或由MAC-user开始一个新的数据序列如果MAC子层通过Ph- DATA indication(PhCL= cRc data)原语经DLPh接口接收到一个校验序列 DLPDU的第一个字符,它将呈现 CRC Data Transfer状态并开始该校验序列 DLPDU的接收。如果接收时间监视电路作出反应,则有传输差错,并且MAC子层将呈现ldle状态。在该校验序列DLPDU的传输完成后这一传输差错用 MAC Data confirm原语通知 MAC-uSer如果MAC子层用 Ph-DATA indication(PhCI= user data)原语经DLPh接口接收一数据序列的字符,则产生一个传输差错,这一传输差错用 MAC Event. indication( event= data noise)原语通知JB/T103088-2005MAC-user,如果需要,在该校验序列 DLPDU全部传输后使用 MAC Data confirm原语报告给 MAC-uSer.MAC子层将丢弃该字符。如果接收和发送的回送字不相等,MAC子层呈现de状态。5535212校验序列5.5.3.5.2.1.2.1 CRC Data Transfer在这一状态下MAC子层将经DLPh接口接收传输到MAC子层的校验和。校验和通过Ph- DATA indication( PhICI= CRC data)原语接收。在该校验和全部接收后,MAC子层将呈现 Check_CRC状态。如果接收时间监视电路作出反应,则有传输差错,并且MAC子层将呈现ldle状态。在该校验序列DLPDU的传输完成后这一传输差错使用 MAC Data con fiIm原语通知 MAC-user如果MAC子层通过 Ph-DATAindication( Phiciuser data)原语经DLPh接口接收一数据序列DLPDU的字符,则产生一个传输差错,在该校验序列 DLPDU的传输完成后这一传输差错用MAC Data. contin.原语通知给 MAC-user. MAC子层将把该字符作为该校验序列 DLPDU的字符处理并继续接收校验和。5.5.3.5.2.1.2.2 Check CRC在这一状态下MAC子层把接收的校验和跟最后接收的数据序列 DLPDU产生的校验和相比较。如果两个校验和相等,则最后接收的数据序列 DLPDU接收无差错。否则,在该校验序列结束后使用MAC Data confirm原语将这一传输差错通知MAC-user如果MAC子层通过Ph- DATA indication原语经DLPh接口接收到一校验和状态( PrICE=CRC_ status)的第一个字符,MAC子层将呈现 CRC Status Transfer状态并开始接收该校验和状态。如果接收计时监视作出反应,则有传输差错发生,MAC子层将呈现ldle状态。在该校验序列 DLPDU传输结束后使用 MAC Data confirm原语将这一传输差错通知 MAC-uSer5.5.3.5.2.1.2. 3 CRC Status Transfer在这一状态下MAC子层将接收经DLPh接口传输到MAC子层的校验和状态。校验和状态通过Ph-DATA indication(PhCI= CRC status)原语逐字符地接收。在校验和的前四个校验状态的字符(r0r3)完全接收后,MAC子层将呈现 Check receive error状态。如果接收计时监视作出反应,则有传输差错,并且MAC子层将呈现lde状态。该校验序列 DLPDU的传输结束后使用 MAC Data confir原语将这一传输差错通知 MAC-uSer。5.5.3.5.2. 1.2.4 Check Receive Error在这一状态下。MAC子层将运算出接收的校验和状态的前四个字符n0…r3的逻辑状态。如果逐位的逻辑ANDr3∧r1∧n0的二进制值为逻辑1,则刚才接收的该数据序列DPDU接收无差错。否则,有传输差错存在,该传输差错在校验序列完成后用 MAC Data confirm原语通知MAC-user如果MAC子层通过Ph- DATA indication(PhCI= CRC status)原语经DPh接口收到一校验序列的字符,它将呈现 End_ Check_ Sequence状态并继续接收该校验和状态。5.5.3.5.2.1.2.5 End_Check_ Sequence在这一状态下MAC子层将继续接收校验和状态。在校验和状态完全接收后,MAC子层将终止该校验序列 DLPDU的接收并呈现ldle状态如果接收计时监视作出反应,则有传输差错,并且MAC子层将呈现Jdle状态。这一传输差错在校验序列 DLPDU全部传输后使用 MAC Data confirm原语通知 MAC-user553522数据序列标识图62表示主站MAC子层中的状态转换,用于标识周期或数据周期的数据序列的标识。JBT103088-2005ID CycleData CycleID Cycle1 IDID CvcleData Cycle图62主站MAC子层:数据序列标识5.53522.1标识周期55.3522.1.1 ID Cycle在这一状态下,MAC子层等待 MAC-uSer去启动一个标识或数据周期。如果 MAC-uSer用MAC_Data request( cycle=lD_cycle)原语请求一个标识周期,MAC子层呈现 ID_Cycle_ Request状态如果 MAC-user用 MAC_Data request( cycle= data_cycle)原语请求一个数据周期,MAC子层呈现Await Data_Cyce状态。如果MAC通过 Ph-DATA indication(PhCL= data transfer)原语经DLPh接口接收到一个数据周期的开始,则有差错存在,并且MAC子层呈现 Data_ Cycle状态。5.5.3.5.2.2. 1.2 ID Cycle Request如果MAC子层在该状态下通过 Ph-DATA indication原语经DLPh接口收到数据周期的请求(PhCl= data transfer),则呈现 Await_ID_Cycle状态。如果接收时间监视电路作出反应,则有传输差错,并且MAC子层将呈现 DD_Cycle状态。这一传输差错在该数据序列 DLPDU的传输完成后用 MAC Data confirm原语通知MAC-user如果MAC子层收到一数据序列 DLPDU(PhCl= user data)的第一个字符,则有传输差错,并且MAC子层将呈现 ID_Cycle状态。这一传输差错在该数据序列 DLPDU的传输完成后,用MAC Data con firm原语通知 MAC-uSer如果MAC子层收到一校验序列 DLPDU(PhCl= CRC data)的第一个字符,则有传输差错,并且MAC子层将呈现 ID_Cycle状态。在数据序列 DLPDU完成后该差错用 MAC Data confirm原语通知MAC-uSer5.5.3.5. 2.2.1.3 Await_ID_ Cycle在这一状态下,MAC子层等待一标识周期的开始,如果MAC子层通过 Ph-DATA indication( ShIci=I_ transfer)原语经DLPh接口收到一个标识周期的开始,它将呈现⑩ Cycle_ldle状态JBT103088-2005如果接收计时监视作出反应.则有传输差错,并且MAC子层将呈现Data_ Cycle状态,这一传输差错在该数据序列 DLPDU的传输完成后用 MAC Data confirm原语通知 MAC-uSer.如果MAC子层收到一数据序列 DLPDU(PhCl= euser data)的第一个字符.则有传输差错,并且MAC子层将呈现 Data_Cycle状态。这一传输差错在该数据序列 DLPDU完成传输后用MAC Data confirm原语通知 MAC user如果MAC子层收到一校验序列 DLPDU(PhCl= CRC data)的第-个字符,也有传输差错存在,并且MAC子层将呈现Data_ Cycle状态。5.5.3.5.2.2.1. 4 ID_Cycle_ Idle在这一状态下MAC子层等待数据传输的开始。如果它通过Ph- DATA indication原语经DLPh接口收到一数据序列 DLPDU(PhCl= user data)的第一个字符,它呈现 ID_Cycle状态。如果该层收到一校验序列 DLPDU(PhCl=CRC_data)的第一个字符,则有传输差错发生。MAC子层也将呈现 ID_Cycle状态如果MAC子层通过Ph- DATAindication原语经DLPh接口收到一个标识周期(PhCl= data transfer)的请求则有差错发生,并且MAC子层呈现 Await_ID_Cycle状态。如果接收计时电路作出反应,则有传输差错存在,并且MAC子层将呈现 D_Cycle状态。这一传输差错在该数据序列 DLPDU的传输完成后用 MAC Data con firm原语通知 MAC-user5.535222数据周期5.5.3.5.2.2.2.1 Data_ Cycle在这一状态下。MAC子层将等待 MAC-user启动一个标识周期或数据周期。如果 MAC-uSer用MAC_Data request(cyce= D_cycle)原语请求一个标识周期,MAC子层呈现 Await_ID_Request状态。如果 MAC-uSer用 MAC- Data request( cycle= data_cycle)原语请求一个数据周期,MAC子层呈现Data_ Cycle_ ldle状态。如果MAC通过Ph- DATA indication(PhCI= data transfer)原语经DLPh接口收到一个数据周期的开始,则有差错存在,并且MAC子层呈现I_Cyol状态5.5.3.5.2. 2.2.2 Await_Data_ Cycle这一状态下,MC子层等待一个数据周期的开始,如果MAC子层通过 Ph-DATA indicationCL= data transfer)原语经DLPh接口收到一个数据周期的开始,则呈现 Data_ Cycle_Idle状态如果接收计时监视作出反应,则有传输差错,并且MAC子层将呈现 ID_Cycle状态。这一传输差错在数据序列 DLPDU的传输完成后用MAC_ Data confirm原语通知 MAC-uSer如果MAC子层收到一个校验序列 DLPDU(PhCl= crc data)的第一个字符,也有传输差错存在,并且MAC子层将呈现 ID_Cycle状态如果MAC子层收到一个数据序列 DLPDU(PhCl=user_data)的第一个字符,则有传输差错,并且MAC子层将转到 ID_Cycle状态。这一传输差错在该数据序列完成传输后用 MAC Data confirm原语通知MAC-user5.5.3.5.2. 2.2.3 Data_ Cycle_Idle在这一状态下MAC子层等待数据传输的开始。如果MAC子层通过 Ph-DATA indication原语经DLPh接口收到一个数据序列 DLPDU( Phicieuser data)的第一个字符,它呈现 Data_Cycle状态。如果该层收到一个校验序列 DLPDU(PhCl=CRC_data)的第一个字符,则有传输差错。MAC子层也是现Data_ Cycle状态。如果MAC子层通过Ph- DATAindication(PhCl= ID transfer)原语经DLPh接口收到个标识周期的开始,则有差错存在,并且MAC子层呈现 Await_Data_Cycle状态。如果接收时间监视电路作出反应,则有传输差错,并且MAC子层将呈现 Data_Cycle状态。这一个传输差错在该数据序列 DLPDU的传输完成后用 MAC Data confirm原语通知 MAC-userJB/T103088-2005554从站5541 DLPDU结构下列 DLPDU格式分为:数据序列DPDU和校验序列 DLPDU5:54.1.1数据序列 DLPDU地址为k的从站的MAC子层将从经DLPh接口接收的数据序列 DLPDU(见图63)中取出 MACSDU(见图63右),如果传输无差错,经 MAC-user接口传输这一 MACSDU到MAC-user数据序列DLPU按从左到右的顺序接收MACSDUIN(k-I)IN-2LBWOUT(n) OUT(n-1)OUTu)图63由从站接收的数据序列 DLPDU反过来,地址为k的从站的MAC子层生成如图64所示的数据序列 DLPDU,通过从接收的数据序列 DLPDU中移出要送往它的 MAC-uSer的 MACSDU,并把接收的数据序列 DLPDU的其余部分跟MACSDU(见图64左)一起经DLPh接口传输到PhL。该 MACSDU是此前经 MAC-uSer接口传输到MAC子层的。数据序列 DLPDU按PhDU的格式从左到右发送,所以首先传输从 MAC-user发送来的MACSDU到MAC子层,然后发送接收的不是送往它的 MAC-user的 MACSDU的 DLPDUMACSDUN(k)N(k-1)IN(I)LBWOUT(n)OUT(-IOUTA+l)图64由从站发送的数据序列 DLPDU55412校验序列DLPD为了数据序列 DLPDU的安全传输,从站的MAC子层要传输校验序列 DLPDU。为此,传输数据序列 DLPDU的MAC子层生成一个校验和并把它跟校验序列的校验和状态一起组成一个校验序列DLPDU经DLPh接口传输到PhL。反过来,从站的MAC子层将校验序列 DLPDU的16位校验和跟先前刚接收的数据序列 DLPDU生成的校验和相比较,并求出校验和状态。该结果将通知 MAC-user5542校验和见553.35.543校验和状态从站的MAC子层将对根据图65所示接收的校验序列 DLPDU进行校验和状态的运算Isb图65由从站接收的校验和状态逻辑二进制值r7…r0为:r7=6=r5=r4=r3∧r2∧rl∧r0,这里“∧”表示按位AND运算。注1:如果表达式r3∧2∧r1Ar0为逻辑值1,在主站和计算其校验和状态的设备之间,其数据序列DLPU和其校验和传输没有差错注2:如果表达式r3∧2Ar1∧r0为逻辑值0,在主站和计算其校验和状态的设备之间,或者当数据序列 DLPDU传输时有传输差错发生,或者当其校验和传输时有传输差错发生。在校验序列DPDU中当校验和接收后,立即按从右到左的顺序接收校验和状态。lsb首先传输,sb最后传输。反过来,从站的MAC子层将按照图66生成一个校验和状态。JB/T103088-2005图66由从站生成的校验和状态逻辑二进制值t7…t0的含义如下:to=CrC receive error rO RxSL Errortl=to∧rit2=t1∧r2t3=t2∧r3t7=t6=t5=14=13这里r3…0表示接收的校验和状态的对应二进制位的值,“∧”表示按位AND运算注3:如果前面接收的数据序列 DLPDU无差错,则在接着的校验序列中接收的校验和与前面接收的数据序列 DLPDU所生成的校验和相等, CRC receive error的逻辑值为1,否则其逻辑值为0。在校验序列 DLPDU中,校验和发送后紧跟着发送校验和状态,从b开始到msb结束5.544总线访问控制图67和图68一起表示用作总线访问控制的从站MAC子层的协议机。ID CycleRequest数据序列Data Idle校验序列图67从站MAC子层的状态转换:数据序列JBrT10308.8-2005数据序列ta Idle校验序列CRCCRC DataCheck CRCRC StatusCRC Status图68从站的MAC子层的状态转换:被验序列5.5441甚本状态Idle在这一状态下,MAC子层首先将为经DLPh接口接收的数据序列 DLPDU设置校验和并给发送的数据序列 DLPDU设置初始值,然后等待Ph- DATA indication原语的接收如果MAC子层通过Ph- DATA indication原语经DLPh接口收到对标识周期的请求(PhCl=ID transfer),它将呈现 ID__Cycle. Request.状态。如果它收到对数据周期的请求(PhCr= data transfer它将呈现 Data_Cycle_ Request状态。如果MAC子层通过Ph- DATA indication(PhCL=user_data)原语经DLPh接口收到数据序列 DLPDU的第一个字符,它将从Data_ Transmit缓冲取出要传输的 MACSDU,生成要发送的数据序列 DLPDU并JBT103088-2005呈现Data_ Transfer状态。在接受 MACSDU期间,任何其他对Data_ Transmit缓冲的访问被锁定如果MAC子层通过Ph- DATA, indication(PhCL= crc data)原语经DLPh接口收到校验序列 DLPDU的字符,则出现差错。MAC子层将呈现CRC_ Data Transfer状态以便开始接收和发送该校验序列。注:在上电或复位后MAC子层也处于这一状态55442数据序列ID_Cycle_Request在这一状态下,MAC子层将使用Ph- DATA request(PhCI= ID transfer)原语请求一个标识周期PhL用 Ph-DATA. confirm原语证实这一请求。在此之前,使用一条 MAC Event. indicationM equest)原语来通知其管理。如果MAC子层通过 Ph-DATA indication原语(PhCI= user data)经DLPh接口收到数据序列 DLPDU的第一个字符,它将呈现 Data Transfer状态。在此期间接受 MACSDU。如果MAC子层通过 Ph-DATA indication原语经DLPh接口收到对数据周期(PhCl= data transfer)的请求,它将呈现 Data_Cycle_ Request状态。如果MAC子层通过Ph- DATA indication原语(PhCl= CRC data)经DPh接口收到一校验序列的字符则有差错发生。MAC子层将呈现 CRC Data Transfer状态以便开始接收和发送该校验序列 DLPDUData_Cycle_Request在这一状态下,MAC子层将通过Ph- DATA request原语(Phcl= data transfer)请求一个数据周期PhL用Ph- DATA confirm原语证实这一请求。在此之前,使用一条 MAC Event. indication原语(Data_ Cycle_ Request)来通知其管理如果MAC子层通过Ph- DATAindication原语(PhCl= user data)经DLPh接口收到数据序列 DLPDU的第一个字符,它将呈现 Data Transfer状态。如果MAC子层通过 Ph-DATAindication原语(PhCI= ID transfer)经DLPh接口收到对标识周期的请求,它将呈现 ID_Cycle_ Request.状态并接收来自 Transmit Buffer的数据。如果MAC子层通过 Ph-DATA indication原语(PhCl= crc data)经DLPh接口收到校验序列DLPDU的字符则有差错发生。MAC子层将呈现 CRC Data Transfer状态以便开始接收和发送该校验序列 DLPDU。Data transfer在这一状态下,MAC子层将通过 Ph-DATAindication原语( PhIci=user data)经DLPh接口逐位接收要发送的数据序列 DLPDU到MAC子层,另一方面使用 Ph-DATA request原语(PhC= user data)经 DLL-PhL接口逐位传输要发送的该数据序列 DLPDU到PhL。字符的传输用 Ph-DATA. confirm原语对MAC子层进行证实。要发送的数据序列 DLPDU的传输跟数据序列 DLPDU的接收同步,即每一个带有PhC= user data的 Ph-DATAindication原语引起带有PhCl= user_data B] Ph-DATA request原语的发送。的开始,MAC子层将首先终止数据序列 DLPDU的接收和发送,然后呈现 ID_ Cycle_ Request状态如果MAC子层通过Ph- DATAindication原语经DLPh接口收到一个标识周期(PhC= ID transfer)如果MAC子层收到一数据周期(PhCl=data_ transfer)的开始,MAC子层将首先完成数据序列DLPDU的接收和发送,然后呈现 Data_Cycle_ Request状态如果MAC子层被 Ph-DATA indication原语( PhIci=user data idle)经DLPh接口告知总线上检测到Daa_ldl状态,它将完成数据序列 DLPDU的接收和发送并呈现 Data Idle状态如果MAC子层通过 Ph-DATA indication原语(PhCL= crc data)经DLPh接口收到一个校验序列DLPDU的第一个字符,它将终止 DLPDU的接收和发送,生成接收的 MACSDU并呈现CRC Data Transfer状态Data ldleJB103088-2005如果MAC子层通过Ph- DATA, indication原语(PhCl= user data)经DLPh接口收到一个数据序列DLPDU的字符,它将呈现 Data Transfer状态并继续接收和发送 DLPDU的数据序列如果MAC子层通过Ph- DATA indication原语经DLPh接口收到一个标识周期(PhCI= ID transfer)的开始,MAC子层将终止使用数据序列的 DLPDU的接收和发送。并且MAC将呈现 ID_Cycle_ Request状态。如果MAC子层收到一个数据周期(PhCL= data transfer)的开始,MAC子层将首先终止数据序列DLPDU的接收和发送,然后呈现 Data_Cycle_Request状态。另外,差错标志 RXSL Error被置位如果MAC子层通过 Ph-DATAindication原语(PhCl= CRC data)经DLPh接口收到一个校验序列 DLPDU的第一个字符,它将终止 DLPDU的接收和发送,生成接收的 MACSDU并呈现CRC_ Data Transfer状态。另外,差错标志 RXSL Error被置位55443校验序列CRC Data Transfer在这一状态下,MAC子层将接收通过 Ph-DATA indication原语( PhICI= Crc data)经DLPh接口传输到MAC子层的校验和,另一方面使用 Ph-DATA request原语(PhCI=CRC_data)经DLPh接口将要发送的该校验和传输到PhL。在校验序列 DLPDU中的校验和逐个字符地被发送和接收。字符的传输用 Ph-DATA. confirm原语对MAC子层进行证实。如果MAC子层通过原语 Ph-DATA indication(PhCL= User Data)收到数据序列 DLPDU的字符而不是校验和字符则出现差错。在这种情况下,MAC子层将像校验和字符一样处理所接收的字符,另一方面使用 Ph-DATA request原语(PhcL= crC data)经DLPh接口将其要发送的校验和的下一字符传输到PhL并继续接收和发送该校验和要发送的校验序列 DLPDU的发送跟校验序列 DLPDU的接收同步进行,即每一个带PhCI= CRC data的Ph- DATAindication原语引起带PhCI= CRC data的 Ph-DATArequest原语的发送在校验和全部接收和发送后,MAC子层将呈现 Check CRC状态把所接收的校验和跟它自身所在的层所生成的校验和相比较。如果MAC子层由Ph- DATA indication(PhCL= Crc data idle)原语经DLPh接口告知总线上检测到 CRC Data Idle状态,它将中断校验序列 DLPDU的接收和发送并呈现 CRC Data Idle状态CRC Data Idle在这一状态下,MAC子层将通过 Ph-DATA request(PhCL= CRC data_ide原语经DLPh接口请求总线上的 CRC Data Idle状态。PhL使用 Ph-DATA. confirm原语证实该请求。如果MAC子层通过 Pb-DATA indication原语经DLPh接口收到校验序列 DLPDU的字符,它将呈现 CRC Data_ Transfer状态,如果接收的是一个校验和字符(PhCl= Crc data),则继续传输该校验和,如果接收的是一个校验和状态(PhC= CRC Status)的第一个字符,MAC子层将呈现CRC_ Status_ Transfer状态,并开始接收和发送校验和状态。如果MAC子层收到一个数据序列 DLPDU的字符则有差错存在。在这种情况下MAC子层将把接收的字符作为校验和字符处理并呈现 CRC Data Transfer状态Check CRC在这一状态下MAC子层将把接收的校验和跟最后接收的数据序列 DLPDU所生成的校验和相比较。如果两个校验和相等,则最后接收的数据序列 DLPDU接收没有差错,且 CRC receive error标志呈现为逻辑值1。否则,有传输差错存在且 CRC receive_error标志呈现为逻辑值0如果MAC子层通过Ph- DATA indication原语经DPh接口收到校验和状态(PhCl= CRC status)的第一个字符,MAC子层将呈现CRC_ Status Transfer状态并开始接收和发送该校验和状态如果MAC子层通过Ph- DATA indication原语(PhCl= crc data idle)经DLPh接口被告知检测到总线为 CRC Data Idle状态,它将中断该校验序列DPDU的接收和发送并呈现 CRC Data Idle状态。JBAT103088-2005CRC Status Transfer在这一状态下MAC子层将接收通过 Ph-DATA indication原语(PhC= CRC status)经DLPh接口传输到MAC子层的校验和状态,另一方面要发送的校验和状态使用Ph- DATA request原语(PhCI= CRC Status)经DLPh接口传输到PhL。在校验序列中校验和状态逐字符的接收和发送。在MAC子层中用Ph- DATA confirm原语证实字符的传输。要发送的校验序列的传输跟校验序列DPDU的接收同步,即每一个带PhCl= CRC status的Ph-DATAindication原语引起一个带PhCl= CRC Status的Ph- DATA request原语的发送。在校验和状态(r0…r3and0…t)的前4个字符接收后,MAC子层将转到 Check Receive Error状态以便当最近接收的数据序列 DLPDU的传输有差错时将接收的 MACSDU传输到 MAC-user在校验和状态(r0…7andt0…t7)的前8个bit全部接收和发送后,MAC子层将呈现 IBS_Cycle_End状态向MAC-user报告DPDU周期结束。如果MAC子层通过 Ph-DATA indication原语(PhC= CRC status idle)经DLPh接口被告知总线上检测到 CRC Data idle状态,它将中断校验序列 DLPDU的接收和发送并呈现 CRC Status Idle状态Check Receive Error在这一状态下,MAC子层将计算要发送的校验和状态最近所传输的第4个字符t的逻辑状态。如果字符t3传输的是二进制逻辑值1,则最近接收的数据序列 DLPDU的传输无差错。在这一情况下,MAC子层将由接收的数据序列 DLPDU生成 MACSDU,使 MAC-user能够使用它并通过MAC Data indication原语将这一事件通知用户。如果数据序列 DLPDU由标识周期发起,则该 MACSDU传输到 ID Receive_Bur中,否则在Data_ Receive Buffer中。当字符3带有逻辑0的二进制值时有传输差错发生。MAC子层将首先丢弃最近接收的数据序列DLPDU,在这种情况下将没有报文发送到MAC-user如果MAC子层通过Ph- DATA indication(PhCl= CRC status)原语经DLPh接口收到一校验序列DLPDU的字符,它将呈现 CRC Status Transfer状态并继续接收带有校验和状态的校验序列DLPU的传输IBS_Cycle_End在这一状态下MAC子层将使用 MAC Event. indication原语( IBS_Cycle_End)向其 MAC-user报告 DL-subnetwork上 DLPDU周期的结束。然后为经DLPh接口接收的该数据序列 DLPDU设置其校验和并为要传输的该数据序列 DLPDU设置其初始值。另外 CRC Receive ETor和 Rx SL Error标志设为FALSE。如果一旦完成校验序列 DLPDU的接收MAC子层就收到Ph- DATA indication原语(PhCl=D Transfer),它将呈现 DD_Cycle_request状态。如果一旦完成校验序列 DLPDU的接收MAC子层就收到Ph- DATA indication原语(PhCI=Data transfer),它将呈现 Data_Cycle_Request状态如果一旦完成校验序列 DLPDU的接收MAC子层就收到Ph- DATA indication原语(PhCl=ser data),它将呈现 Data Transfer状态注:这一报文用于同步设备的 MAC-userCRC Status Idle在这一状态下,MAC子层将使用 Ph-DATA request原语(PhCL= CRC status idle经DLPh接口请求总线上的CRC_ Status Idle状态。PhL用Ph- DATA confirm原语证实该请求如果MAC子层使用Ph- DATA indication原语(PhCL= CRC status)经DLPh接口收到一个校验序列 DLPDU的字符,它将从接受Data_ Transmit Buffer的数据,呈现IS_ Cycle_End状态并继续接收和发送带校验和状态的校验序列 DLPDU。JB/T103088-20055.55 MAC-USer-MAC接口5.551概要555描述MAC为 MAC-uSer提供的服务。图69表示分层模型中MAC-user与MAC之间的接口。DLS-uSer DLMSuserLaBLLMACLayerPhL图69分层模型中 MAC-user与MAc之间的接口5.552服务概论MAC为 MAC-uSer提供MAc_cyce服务。这一服务通过下列服务原语来描述:MAC CycleMAC_Put_Data requestMAC Put Data confirm-MAC_GetData requestMAC Get Data confirmMAC_Datarequest;MAC Data confirmMAC Data indication。5553在 MAC-user接口的交互作用图70和图71表示对一个标识周期和跟随的数据周期在 MAC-user接口交互作用的典型序列。MAC userMAC_ Put_ Data req(ID transmit, MACSDU)MAC Put Data con(ID transmit, OKMAC- Data con(ID cycle, OK)MAC Get Data req(ID receive)MAC Get Data. conKID recMACSDU)MAC- Put_ Data req(data transmiT, MACSDUYMAC_Data req(data cycleMAC Data.cordata cycle OK)MAC Get Data req(data receive)AC Get_ Data con(data receive, OK. MACSDU)图70在 MAC-uSer接口(主站)上的交互作用JB/Tr103088-2005MAC userMACMAC Put Data, req(ID transmit, MACSDU)ID transmit, OK)AC Put Data reg(data transmit, MACSDU)MAC Put Data con data transmit, OK)MAC Get Data. req(ID receive)MAC Get Data con(ID receive, OK, MACSDU)AC Put Data req(ID transmit, MACSDU)on(ID tranMAC Put Data, req( data_ transmit, ACSDU)MAC Put Data con(data transIL, OK.MAC Data ind(data cycleMAC Get Data req(data receive)MAC Get Data con( data receive, OK, MACSDU)图71在MAC-user接口(从站)上的交互作用5554服务和交互的详细定义5.5.5.4.1 MAC Put Data request buffer, MACSDU)通过该服务原语 MAC-uSer使MAC子层能够使用要传输的数据。其参数的含义如下buffer:该参数定义存储由 MAC-user传输的数据的存储区。有两种存储区被定义buffer=ld transmit该存储区适用于在一个标识周期主站用作控制代码传输的管理,和从站用作设备代码传输的管理buffer=data transmit该存储区适用于在一个数据周期进行用户数据的传输MACSDU该参数含有要发送的数据。其数据量取决于在 one-total-DLPDU中设备的数量和类型5.5.5.4.2 MAC Put Data confirm(buffer status)该服务原语是MAC子层对 MAC_ Put_Data request原语的证实。其参数的含义如下buffer.该参数的含义跟 MAC_Put_Data request原语中的含义相同status该参数表示数据传输的结果,可以设为下列的值用 MAC_Put_Data request原语传递的数据能够被MAC子层接受statuS=NO当数据传输时,由于请求的存储区被占用,用 MAC_Put_Datarequest原语传递的数据不能被MAC子层接受MAC-uSer负责对该服务原语的响应。JBmT103088-20055.5.5.4. 3 MAC_Get_Data request(buffer通过该服务原语, MAC-uSer向MAC子层请求数据,这些数据已从一个设备经媒体传输到MAC子层。这些数据通过 MAC Get Data confirm原语从MAC子层传输到 MAC-user其参数的含义如下buffer该参数定义含有要传输到 MAC-user的数据的存储区。有两种存储区被定义buffer=lD receive该存储区适用于从站 MAC-user用作控制代码的存储和主站 MAC-uSer用作在标识周期中传输来的设备代码的存储。buffer=data receive该存储区适用于MAC-user用作在数据周期中发送来的用户数据的存储。5.5.5. 4.4 MAC Get Data confirm(buffer, status, MACSDU)该服务原语是MAC子层对 MAC_Get_Data request原语的证实。通过该原语,MAC子层传输最近从 DLPDU周期接收的 MACSDU到 MAC-user其参数含义如下:buffer该参数跟 MAC_Get_Data request原语中的含义相同(跟0中的定义相同)status该参数向 MAC-user指示数据传输的结果,可指定下列的值:status=OK数据能够传输到 MAC-userstatus=NO请求的数据不能传输到 MAC-uSeMACSDU如果 status=OK该参数含有在最近的报文传输服务期间读入的数据。MAC-user负责响应这一服务原语5.5.5. 4.5 MAC_Data request(cycle通过该服务原语,活动设备(主站)的 MAC-user启动一个报文DPDU周期。要传输的数据已在此之前通过 MAC_Put_ Data request原语先期传送到MAC子层。其参数的含义如下:cycle=lD_cycle启动一标识周期传输控制代码到从站并请求从站的设备代码cycle=data_cycle在主站和从站之间传输用户数据的数据周期5.5.5. 4.6 MAC_Data confirm(cycle, status)该服务原语是MAC子层对 MAC_Data request原语的证实。它指示使用 MAC_Datarequest原语启动的 DLPDU周期是否正常结束。其参数的含义如下:该参数跟MAC_ Data request原语中的含义相同。status该参数指示请求的数据传输能够成功地执行( status=OK),或者在数据传输期间有差错发生JBT103088-2005( status=NO)。MAC-uSer负责对该服务原语作出响应5.5.5. 4.7 MAC_ Data indication( cycle通过该服务原语,MAC子层指示 MAC-user可以使用来自一个有效标识周期或有效数据周期的新数据。 MAC-uSer通过 MAC_Get_ Data request原语使用这些数据。其参数含义如下cle:该参数指示接收的数据来自标识周期还是来自数据周期,并且在哪个存储区中 MAC-user能够使用该数据。该参数的两个值定义如下:ycle=lD_cycle在标识周期中接收的控制数据和或ID数据。MAC-user能够使用 ID receive缓冲中的该数据cycle=data_cycle在数据周期中接收的用于过程数据通道和参数数据通道的用户数据。 MAC-uSer能够在 data receive缓冲中使用该数据MAC-user负责响应该服务原语556MAC-PNM2接口5561概要MAC管埋是MAC的-部分,它提供PNM2所请求的MAC的管理功能。MAC管理处理MAC的初始化、监视和差错恢复。556定义管理方面的、能够供PNM2使用的MAC管理服务,以及他们的服务原话相相关参数图72表示分层模型中MAC和PNM2之间的接口DIS-user DLIDLIl a)ur?PNMMACPNMI图72分层模型中MAC和PNM2之间的接口在MAC和PNM2之间的服务接口提供下列功能MAC的复位:MAC当前操作参数的请求和修改:-在MAC中,发生或被检测到的意外事件、差错以及状态改变的指示5562服务概论MAC使PNM2能够使用下列服务:-Reset macSet value or get Value MAC-Event MAcMAC服务是通过原语来描述的(以MAC…开始)5.5.6.2.1 Reset MACPNM2使用这一必需的服务去复位MAC,该复位等效于上电。一旦执行,PNM2将收到一个证实服务原语:---MAC Reset request:JBT103088-2005-MAC Reset. confirm5.5.6.2.2 Set Value MAcPNM2使用这一可选服务对MAC变量赋新值。一旦完成,PNM2将收到来自MAC的一个证实,以说明是否指定的变量已赋为新值。服务原语:MAC_Set_ Value requestMAC Set Value. confirm5.5.6.2.3 Get Value MACPNM2使用这一可选服务去读MAC的变量。在MAC的响应中指定的变量的当前值被传输。服务原语-MAC Get Val-mAc Get Value. confirm5.5.6.2. 4 Event MACMAC使用这一必需的服务来通知MAC-user在MAC中的某些事件或差错服务原语MAC Event. indication。5563交互作用概论图73和图74表示服务原语的时间关系:PNM2MAC XXX.reMAC XXX con图73 Reset, Set value和 Get Value MAo服务图74 Event MAc服务5564服务和交互作用的详细定义5.5.6. 4.1 MAC ResetMAC Reset服务是必备的。PNM2传输一条 MAC_Reset request原语到MAC去复位它(见表38)。表38 MAC Reset参数名请求证实Result (+5.5. 6 4.2 MAC Set valueMAC Set value服务是可选的。为了对指定的MAC变量赋期望值,PNM2传输MAC_ Set_Valuerequest原语到MAC。在接受该原语后,MAC试图选择该变量并将其赋为新的值。旦完成,MAC传输一条 MAC Set Value confirm原语到PNM2(见表39)。表39 MAC Set value参数名请求证实Adesired valueResuit (-+)MJB/T103088-2005variable name该参数定义要赋新值的MAC变量desired value该参数为新的MAC变量声明其值表40提供了关于可以赋新值的MAC变量的信息。表40MAC变量MAC变量名取值范图备注L00Lw154-1)用作设置LBw,B3-Bo用作 DLPDU计数器(见0仅主站方Time timeout取值由系统管理定义且取决于DL- subnetwork的实际配置仅主站方5.5.6.4.3 MAC Get valueMAC Get value服务是可选的。PNM2传输一条 MAC_Get_ Valuerequest原语到MAC去读出指定MAC变量的当前值。在该原语接受后,MAC试图选择指定的变量并用 MAC Get value. confirm原语传输它的当前值到PNM2(见表41)。表41 MAC Get value参数名请求Mvariable nameResult(+)current valucvariable name该参数定义要读出其值的MAC变量desired value该参数含有读出的MAC变量的值。MAC可以读取的变量与可以使用 MAC Set value去写的变量完全相同5.5., 4 MAC EventMAC Event服务是必备的。MAC传输一条 MAC Event. indication原语到PNM2去通知它在MAC中的重要事件或差错(见表42)。表42 MAC Event参数名指示evcntevent该参数定义在MAC中所发生的事件或差错的源,并可以为下列的值(见表43)。表43 MAC Event名字含义必备的可选的lata. cycle_ request!在传输媒体上检测到数据周期请求ID_cycle.request传输媒体上检测到标识周期请求IBS_cycle_end DLPDU周期结束data noise在标识周期或数据周期启动之前,已接收到一数据序列 DLPDU的字符(仅总线主站M「 CRC noise标识周期或数据周期启动之前已接收到一校验序列 DLPDU的字符(仅总线主站B/T103088-20055.6第2层的外围设备网络管理(PNM2)56.1PNM2的功能第2层的管理(PNM2)处理PNM2user和MAC、BLL及PDL中的逻辑功能之间的初始化、监视和差错恢复(见图75)。5.62PNM2User-PNM2接口5.62.1概要5.62定义能够被PNM2user使用的管理方面的PNM2(第2层外围网络管理)服务,以及它们的服务原语和相关参数。图76表示在分层模型中PNM2user与PNM2之间的接口。D1 S-user DLMS-userDLS-user DLMS-userPDLNM2BLLPNM2PNMIPNM图75在DLL中PNM2的位置图76分层模型中PNM2user与PNM2之间的接口在PNM2uer与PNM2之间的服务接口提供下列功能:—第2层的复位(本地)PDL、BLL、MAC的当前操作参数的请求和修改(本地);意外事件、差错和状态改变的指示(本地和远程);活动 DL-subnetwork配置的读出;当前 DL-subnetwork配置的读出;某个 DL subnetwork配置的设置。2.2服务概论5622.1可用的服务PNM2使PNM2user能够使用下列服务Reset PNM2-Set Value PNM2 EX Get Value PNM2Event PNM2Get Current Configuration PNM2(仅主站)Get Active Configuration PNM2(仅主站);Set Active Configuration PNM2(仅主站)。5.6.2.2.2 Reset PNm2PNM2user使用这一必需的服务使PNM2去复位第2层(DL)及其PNM2自身。该复位等效于上电。PNM2-user将收到对该服务的证实。服务原语PNM2_ Reset request;PNM2 Reset confirm5.6.2.2. 3 Set value PNM2PNM2user使用这一可选的服务对第1层或第2层的变量赋新值。它将收到对指定变量是否已赋为新值的证实服务原语:--PNM2_Set_ value requestJB/T103088-2005PNM2 Set Value. confirm5.6.2.2.4 Get value PNM2PNM2-user使用这一可选的服务去读出第2层的变量。在PNM2的响应中传送指定变量的当前值。服务原语:PNM2_Get_value request:-PNM2 Get value. confirm5.6.2.2.5 Event PNM2PNM2使用这一必需的服务通知PNM2user在第2层中的某些事件或差错服务原语-PNM2 Event indication56226 Get current configuration PNM2(仅主站)主站的PNM2user使用这一必需的服务去读出当前 DL-subnetwork配置服务原语:-PNM2_Get_ Current_Configuration requestPNM2_Get_ CurrentConfiguration. confirm56227 Get active configuration PNM2(仅主站)主站的PNM2uer使用这一必需的服务去读出活动的 SUbnetwork配置。服务原语:NM2_Get_ Active_Configurationrequest;-PNM2_ Get_Active_ Configuration. confirm56228 Set active configuration PNM2(仅主站)主站的PNM2user使用这一必需的服务去对某个 DI-subnetwork配置赋值服务原语PNM2_ Set_ Active_ Configuration. requestPNM2_ Set_ Active_ Configuration. confirm5.623交互作用概论PNM2服务用下列原语描述(以PNM2…开始)图76、图77、图78和图79表示这些服务原语的时间关系PMM? XXX reulPNM2X∵Xcon图77 Reset, Set value,∈ et value和 Get Active Configuration服务辶站从站PNM2 Event ind图78 Event Pnm2服务JBT103088-2005从2PNMI- 2 Vent and认路1ToNMI 2 Set Acl\e Configu a ttin teyPNM12 E\eat indPNMI/2 Event indPNM 12 Event, indPNMI2 Evcnt, IndPAMI 2 Set \cti\e Configuration. conPNMI. 2 Event. ind图79 Set Active Configuration, Get Current Configuration服务5624服务和交互作用的详细定义5.6.2. 4.1 PNM2 ResetPNM2 Reset服务是必备的。PNM2user传递PNM2 Reset request原语到PNM2使它复位第2层。在PDL、BLL和MAC使用相应的证实原语证实后,PNM2复位自己并用一条PNM2 Reset. confirm原语通知PNM2user(见表44)。表44PNM2 Reset参数名请求证实ArgumentResult (+)M slatus (=OKResult i-M status NOK)MM status该参数含有对服务执行的证实,可能值定义见表45。表45PNM2 Reset的 M status的值含义肯定证实:复位功能已成功地执行NOK失败5.6.2 4.2 PNM2 Set valuePNM2 Set value服务是可选的。PNM2user传送一条PNM2_ Set_ Valuerequest原语到PNM2,去对指定的第2层的变量赋为所请求的值。其管理分别传输PDL、BL、MAC和域 Ph-SET-VALUErequest原语到相应的层,并在它收到所有相关的证实原语后发送PNM2 Set value. confirm原语到PNM2userJBT103088-2005(见表46)。表46PNM2 Set value参数名请求MMMdesired valueResult (+M status (=OK)ResuM status( OK)variable name该参数含有PDL、BLL或MAC的变量。可选的变量在各个层的相应条中定义desired value该参数含有所选变量的值。允许的值或取值范围在各个层的相应条中确定M status该参数含有服务执行的证实。可能的值定义见表47表47PNM2 Set value的 M status的值含义OK肯定证实;变量已赋为新值变量不存在或不能赋为新值该请求中有无效的参数5. 6.2. 4.3 PNM2 Get valuePNM2 Get value服务是可选的。PNM2user传送一条PNM2 Get_ Valuerequest原语到PNM2,为了读出第2层的指定变量的当前值。其管理传送单独的PDL、BLL、MAC和/或 Ph_Get_ valuerequest原语到相应的层,并在所有相关的证实原语接收后发送一条带有所请求的值的PNM2_ Get value. confirm原语到PNM2user(见表48)。表48PNM2 Get value参数名请求证实variable nameResult (+M status (=OK)Resuit (-)M status( OK)variable name该参数含有PDL、BLL、MAC或PhL的一个变量。可选的变量在各个层的相应的条中定义。current value:该参数接收所选变量的当前值。M statusJBrT103088-2005该参数含有关于服务的执行情况的证实。可能的值定义见表表49PNM2 Get value的 M status值值含义肯定证实:该变量能够读该变量不存在或不能读在该请求中有无效的参数5.6.2. 4 4 PNM2 EventPNM2 Event服务是必备的在从PDL、BLL和MAC接受指示后,PNM2传送PNM2 Event. indication原语到PNM2user通知它在这些层中的有关重要事件或差错。在 SUbnetwork差错被报告后,PNM2执行配置检查。如果配置与 DL-subnetwork发生差错前的配置不同,则PNM2自动生成带有配置改变信息的事件(见表50)表50PNM2 Event参数名指示eventMMcdd infoevent该参数定义发生的事件或差错原因。其可能的值在各个层的相应条中定义。在PNM2中发生差错的可能值定义在表51中。表51MAC事件名称Configuration_change在运行期间 DL/subnetwork的配置改变add info该参数含有关于所发生的事件或差错的附加信息5.6.2. 4.5 PNM2_Get_ Current_ Configuration主站PNM2user使用这一服务去读出 SUbnetwork的当前配置。为此。PNM2执行D周期去检测当前连接的从站并用 current_configuration参数传送所检测的配置到PNM2user。在该服务执行后DL- -subnetwork的配置可用 network_ configuration参数来确定(见表52)E 52 PNM2_Get_Current_Configuration参数名network_configurationResult (current_configuratioResult(一error_typecurrent confiquration该参数含有 DL-subnetwork的当前配置。该参数等同于 Get_ActiveConfiguration服务的JBT10308.8-2005active_configuration参数network_configuration该参数在其服务执行后定义 DL-subnetwork的配置。Closed:关闭所有从站的出向接口。open:打开所有从站的出向接口。rror_ type该参数说明其服务为何不能成功地执行。可能的差错原因为:当一个环段被连接时,有差错被检测到。没有ID周期可以运行( DL subnetwork差错)。add info:该参数提供关于差错原因的附加信息(例如,当出向接口不能打开时的环段号)。5.6.2. 4.6 NM2_Get_ Active_ Configuration主站的PNM2user使用这一服务去读出 SUBnetwork的活动配置。PNM2传送在active configuration参数中的当前活动配置到PNM2user。要提供该服务,PNM2不需运行⑩周期。该服务是由本地响应的。PNM2记录配置的所有改变,以便本地保存的 active_configuration参数总是最新的(见表53)。E 53 PNM2 Get Active Configuration参数名请求证实Result(一)error_typeactive_configuratie该参数含有 DL-Subnetwork的活动配置。表中的记录根据环中从站的物理顺序来排序。该参数有图80所示的如下结构:第1个从站的D代码第1个从站的环段层号笫2个从站的ID代码第2个从站的环段层号笫η个从站的D代妈第个从站的环段层号图80actguration参数error_typ该参数说明其服务为何不能成功地执行。5.6.2. 4.7 PNM2 Set Active_ Configuration主站的PNM2uer使用这一服务生成 DL-subnetwork的某一活动配置。PNM2用接通或断开某一环段的控制命令来转换目标的配置。如果新的配置不能接受,准确的差错原因将通知PNM2user并且保持原来的配置(见表54)。JBT10308.8-2005E 54 PNM2_Set_Active_Configuration参数名请求证实Argumentactive_configurationerror__typeadd infoactive_configuration该参数含有要生成的 DL-subnetwork新的活动配置。其结构与 Get_Active_Configuration服务的Active_Configuration参数的结构相对应。error- type:该参数说明其服务为何不能成功地执行。可能的差错原因有当一个环段连接到环上时,检测到有差错。新的配置不能生成。没有mD周期可以运行;致命的总线错误add info该参数提供差错原因的附加信息(例如,当出向接口不能打开时的环段号)。5.7DLL的参数和监视时间以下描述的DLL参数和时间用于监视主站DLL中 DL-subnetwork的操作。监视时间以秒或者总线周期数来计量。57.1PDL参数5.7.1.1 SPA_acknowledge_timeout TTO SPA ACKSPA_ acknowledge timeout是在 PDL Data_ Ackrequest原语发送后本地PDL等待相关PDL Data Ack confirm原语的时间。如果有一个超时,本地的PDL将尝试向远程PDL发送 DLSDU直到max_spa_ retry次。如果尝试不成功,PDL将返回否定的确认给用户。此外,通信关系将在本地断开,并且PDL将尝试再一次使自身与通信伙伴相应的PDL同步。SPA_ acknowledge _timeout的计算公式如式(2):TTO SPA ACK=(DIST+ add wait)×Tup…(2)式中DIST——五个总线周期的常量dd wait-1~4个总线周期的附加冗余。TP—更新时间5.7.1.2 max_spa_retry该DL参数规定重复尝试发送 SPA PDU的最大次数它通过PNM2 Set_ value request原语参数化取值范围:0,2,4,6…145.7.1.3 max swa count在PDL协议机报告一个多数据周期差错,并且与远程设备的协议机执行同步以前,该DLL参数规定所允许的带有差错的连续数据周期的最大数目。取值范围:0~255。5.72BLL参数5.7.2.1 update_time TuP更新时间是两个总线周期的起始点之间的时间。通过PNM2_ Set_ value request原语来设定更新时JB/Tr1030882005间,能够获取 DL-SUBNETWORK的时间间隔。更新时间将是大于或者等于总线周期时间(除了0)并且由系统预置为0(默认值)。值0意味着更新时间未被定义。因而,一个总线周期的自动启动仅取决于前一个总线周期的结束和协议机的完成处理,而不是更新计时器的超时。这意味着通过默认设置的时间间隔是无效的参数大小:四个八位位组可设定的值:TUpP×0.1ms5.7.2.2 bus timeout TTO BUs总线超时是指可以在两个有效的数据周期之间运行的最大的时间。如果超过这个时间,就产生一个致命的总线差错,这个差错是不能自行修复的(例如,有强烈干扰的环境或电缆断裂)。总线超时能通过PNM2 Set_ value request原语来参数化。如果总线超时被设置到0,总线监视为无效。参数大小:四个八位位组。可设定的值: TTO Bus×1msa573MAC参数5731设备代码图81显示了设备代码的结构b15 bl4 bi3 bi? bll b10 b9 b8 b∞ b5 Mol"l∞o据方向和或多载通图81设备代码结构Bi0和B分别解释设备带有参数通道或不带有参数通道的区别。对于不带有参数通道的设备,这两位指示用户数据的方向;对带有参数通道的设备,这两位指示参数通道使用的八位位组个数。设备代码的B6和Bi7区分设备是否带有一个参数通道。对带有参数通道的设备,Bit6和Bit7将只有一组取值B6=1和Bit7=1。5732数据方向(Bit6 AND Bit7≠1)如果Bit6和Bit7不同时为1,Bi0和B1指示设备是否占用输人和或输出地址(见表55)表55数据方向含义没有数据地址(例如:总线耦合器)0仅输出地址被占用仅输入地址被占用输人和输出地址被占用57.33在参数通道中占用的八位位组个数(Bit7=1 AND Bit6=1)如果B6和Bit7都是1,那么Bt1和Bt0位指示设备占用的参数通道带有多少个八位位组(见表56)JBT103088-2005表56在参数通道中占用的八位位组数Bit O参数通道占用的字数0四个八位位组八个八位位组0保留2个八位位组(标准5734设备类Bit2~Bit7的某种组合指示设备类(见表57)。其他组合保留为设备功能的识别。这些规范应该在设备行规中被描述。表57设备类Bt7|B6B5B4|B3:2「B1Bo设备类00000带本地总线分支的总线耦合器0带远程总线分支的总线耦合器000带LO数据的总线耦合器XX|模拟量本地总线没备0X数字量本地总线设备0X带参数通道的本地总线设备Xx数字量远程总线设备00Xx模拟量远程总线设备F:1:00xx带参数通道的远程总线设备注:X表示“任意值”。5735控制数据Bit13~Bit15从设备返回控制数据到主站(见表58)表58控制数据BitlsBit14含义XXCRC接收到差错保留「注:x表示“任意值”.15736数据宽度据宽度规定在总线上设备占用多少位。例如,如果设备有16位输入和32位输出,它在环中占用32位(四个八位位组)(由数值大的决定数据宽度)(见图82和表59)。数据宽度=六个八位位组参数通道两个八位位组一过程数据通道四个八位位组一图82数据宽度、过程数据通道和参数通道间的关系JBT103088-2005表59数据宽度BiLl2BillBitIBits数据宽度00001个八位位组0个人位位组3个八位组4个八位位组000个八位位组8个八位位组0010个八位位组12个八位组14个八位位组016个八位位组个八位位组020个八位位组24个八位位组28个八位位组032个八位位组048个人位位组52个八位位组064个八位位组保留保留注:X表示“任意值”5.7.3.7控制代码图83显示控制代码的结构:体控制兀效图83控制代码的结构5738无效Bit15定义控制代码是否有效。如果Bit15等于0,那么代码是有效的。57.39媒体控制(Bit8~Bit11)Bi8~ Bit 11控制出向接口的MAU(见表60)aJBT103088-2005表60媒体控制Bit l110Bits含义X与出向接口1相连的环段复位X与出向接口2相连的环段复位出向接口1无效X出向接口2无效注:X表示“任意值控制代码的其余位被保留JB/103088-2005附录A(资料性附录)确定的PNM2功能实现的可能性A.1获取当前配置A.1.1在主站中配置数据的存储按照从站在环中的位置顺序,用从站信息代码把配置数据存储为环的映像。如果总线配置被描述为一个树型结构,那么环段层号含有从站的层号。图A1以树型结构的形式显示了 DL-subnetworks配置以及各个分支的环段层号。在环中从站的位置与它们的编号相对应:主站从站1从站4总线层总线层W-—一主站出向接口;a—从站人向接口:W—一从站第一个出向接口;W2从站第二个出向接口。注:当设备连接到W时环段层号增加图A.1以树型结构的形式表示的 DL-Subnetwork配置DL-Subnetwork配置以二维表格的形式存储在主站中(参见表A.1)表A.1以矩阵形式表示的 DL-SUBNETWORK配置设备代码环段层号从站号192JB/T1030882005A.12 Acquire_Configuration功能这个功能通过 Acquire_Configuration request和 Acquire_Configuration. confirm原语来描述。Acquire_ Configuration request原语不含有任何参数, Acquire_ Configuration. confirm原语含有从 result(+)获取的配置或者从 result(-)获取的 error code(参见表A2)。#n A 2 Acquire_Configuration参数请求证实Mcurrent configurationM能获取当前的配置。current configuration该参数包含如表A1中的以设备代码和环段层号形式表示的当前获取的配置esult不能获取配置error code描述了差错原因。可能的差错是:当配置被获取时有太多的出错周期。A.1.3获取配置的状态机A.1.3.1概要当前的配置是通过连接从站的出向接口逐步地被获取。为了得到一种尽可能快并且总线周期时间短的算法,当分支的末端到达时,接口被再次关闭因为对于每个出向接口来说这个过程都被重复,所以采用递归形式描述配置的获得。对于每个出向接口 Acquire_Configuration,reqμuest原语反复被调用。因此,图A.2显示的状态机应用于每次Acquire_Configuration request原语的调用。5.8(PEN WI图A.2获取当前配置的状态机JBT103088-2005A.1.32状态机的状态READY这个状态机将准备响应 Acquire_ Configuration request原语GET SLAVES为了识别已经在环上的从站,这个状态杋没有连接出向接口就运行ID周期。OPEN W1这个状态机打开最后一个被识别的从站的出向接口W1并使用 Acquire_Configuration request原语获得在W1处的配置。OPEN W2在配置已经被获得后,状态机关闭出向接口W1,打开最后一个被识别的从站的出向接口W2并通过 Acquire_ Configurationrequest原语获得在W2处的配置表A.3描述状态转换。表A.3获得当前配置的状态机的状态转换初始状态事件转换下一个状态条件→活动READYGET SLAVES→为了识别已在环中存在的从站,没有打开或者关闭出向接口就运行ID周期GET SLAVESID周期结束至少一个新的从站被检测到Acquire_Configuration, requestGET SLAVESID周期完成READY有新的从站被检测到Acquire_Configuration. confirm (+)OPEN W1Acquire_Configuration. confirm (OPEN→关闭W1,打开W2Acquire_Configuration requestOPEN W2Acquire_Configuration. confirm (READY→关闭W2Acquire_ Configuration. confirm (+)GET SLAVES. OPEN W1 g OPEN W2Acquire_ Configuration. confirm(一)或多个D周期不能没有差错的被完成6~8READYAcquire_ Configuration. confirm(-)A.2比较当前获得的配置与 DL-subnetwork差错前存储的配置A.2.1概要JB103088-200在获取当前配置后,主站中就存储了两个配置的数据:已存储的配置和当前获得的配置。然后对这两个配置进行比较。第一个差错被检测到以后,在此情况下停止这个配置。比较可能提供下面的结果:没有检测到差错,即两个配置是一样的。没有检测到当前配置,即第二个配置表是空的配置变得更长。配置变得更短。环段变得更长。环段变得更短在某个确定的 DL-subnetwork位置,有一个带有另一设备代码的从站。比较由 Check configuration功能执行。A22 Check_ Configuration功能使用 Check_Configuration request原语和 Check_Configuration. confirm原语描述 Check_Configuration功能。Check_ configuration request原语没有参数。除了 result(+或-)外,在一个差错事件中,证实含有一个 error code和一个带有环中差错位置的 add code(参见表A4)。R A 4 Check Configuration参数名证实ArgumentResult (+Result (-Mslave_poSILIonMresult (+)没有检测到差错,即两个配置是一样的result(-):检测到差错,即两个配置不是一样的。error code该参数描述差错类型。可能的差错是 slave_position的各种含义没有配置可用; slave_position没有意义;配置变得更短; slave_position指示第一个丢失的从站配置变得更长; slave_position指示第一个附加的从站;附加从站到 slave_position的W1;带有 slave_position号的从站丢失带有 slave_position号的从站是一个带有不正确设备代码的从站。slave_ positionslave_position含有在环中的差错位置A.23 Compare_Slave功能Compare_Slave功能比较两个从站的设备代码和环段层号并在resu参数和 error code参数中返回比较结果(参见表A.5)。JB/T103088-2005表A.5 Conpare_ Slave参数名请求saved datacurrent dataResult (+Result(一)error codeMsaved data该参数含有存储在主站的配置中的从站的D代码和环段层号该参数含有当前获得的配置的从站的m代码和环段层号result(+)两个从站有一样的⑩代码和环段层号esut(一):两个从站有不同的I代码和/或环段层号codeerror code描述了不同类型。可能的类型如下当前获得的配置中从站的环段层号更高环段层号更低下同。ID代码不太高或太低的环段层号比无效的D代码有更高的优先权。因此,当环段层号不正确的时候error code没有给出关于m代码的信息。然而,如果错误的⑩代码被报告,环段层号肯定是正确的A24比较配置数据的状态机A.24.1概要图A.3显示了比较两个配置的状态机READY45,67CHECK CONFIG )3图A.3比较两个配置的状态机A242状态机的状态READY状态机准备执行 Check_config功能CHECK CONFIGJBT103088-2005使用 Check_ Config功能,正在比较配置。表A6描述了状态的转换表A6比较两个配置的状态机的状态转换初始状态事件转换下一个状态1条件→活动READYCheck_ Config. requestREADY当前被识别的从站的数量==0带eror.codc='没有配置可用的 Check_Config. confirm(-)READYCheck_ Config. re识别的从站的数量=0s slave no=ICHECK CONFIGm=当前配置中的从站数量n=存储的配置中的从站数量Compare_ Slave request (saved_config.[slave_no)current_config. [slave_no))CHECK CONFIGSlave confirm (+Slave no< n AND slave no一个对象集合的通用术语;b)<寻址>当描述一个地址时,该地址可以标识多个实体。3636接口 interfacea)两个功能性单元间的共享界面,由功能性特征、信号特征或其他适当的特征来定义b)FAL类属性和服务的集合,规定了FAL类的一个特定视图3637调用 invocation使用应用进程服务或其他资源的行为。注:每一次调用都分别代表了控制的一个单独线程,可以通过它的上下文进行描述。一旦完成服务,或者使用的资源已经被释放,调用将中止存在。对于服务的调用,当一个服务已经开始但是还没完成,将被看作是未完成的服务调用。而且,还会调用标识符来惟一标识这个服务调用,以便和其他未完成的服务调用加以区分3.638索引 index应用进程中一个对象的地址2l1JBT103088-20053639实例 instance在一个类中,一个对象的实际物理呈现。它用于在同一对象类中标识众多对象中的一个注:术语对象、实例和对象实例都被看作一个特定实例。3640实例属性 instance attribut属性对于一个对象实例是惟一的,不能被这个对象类共享。3.641例示 instantiated已在设备中创建的对象3642制造商 ID manufacturer ID使用惟一号码对每一产品制造商的标识3643管理信息 management information支持管理现场总线系统操作的,可通过网络访问的信息,其中包括应用层。注:管理包括一些功能如控制、监视、诊断。3.644成员 member个属性中的一条,它作为构成数组的一个元素。3.645方法 method服务器ASE提供的一种可操作服务,并可被客户调用网络 network相互连接的通信设备,包括所有媒体、连接器、中继器、路由及节点(见第2章)。3.647对象 object设备中特别组件的抽象表述,通常是相关数据(以变量的形式)和方法(规程)的集合,在经明确定义的接口和行为的数据上进行操作。3.648对象特定服务 object specific service由对象类定义的,对于对象类是惟一的服务3649对等peerAR端点的角色,它既可以作为服务器,又可以作为客户3650点对点连接 point-to-point connection存在于两个应用对象之间正确的连接3.651预定义AR端点 pre-defined AR endpoint在不使用创建服务的设备中,本地定义的AR端点注:预定义AR并不是预先建立。而是在使用前建立的。JB/T103088-20053652预建立AR端点 pre-established AR endpoint在控制端点AE的配置期间,预建立AR端点已经处于建立状态。36.53特性 property关于对象描述性信息的通用术语。3654提供者 provider个数据连接的源3.655发布者 publisher作为AR端点的一种角色,它可以将APDU传送到现场总线上,供一个或者多个预订者消费注:发布者不一定知道预订者的标识,或者预订者的数量,并且可能使用专用的AR发布APDU3.656推式发布者 push publisher发布者的一种类型,它可以在无证实服务请求APDU中发布一个对象3657推式预订者 push subscriber预订者的一种类型,它可以识别作为发布的对象数据接收的无证实服务请求APDU3658资源 resource子系统的处理能力或信息容量3659服务器 servera)AREP的角色,它返回证实服务响应APDU给发起请求的客户b)为另一个对象(客户)提供服务的对象3660服务 server一个对象和/或对象类的功能或操作,它们由另外的对象和或对象类使用请求来实现。3661预订者 subscriberAREP的角色,它可以接收由一个发布者产生的APDU(应用协议数据单元)。4符号和缩略语AEApplication Entity应用实体应用层ALMEApplication Layer Management Entity应用层管理实体ALPApplication Layer Protocol应用层协议APOApplicatoin Object应用对象APApplication Process应用进程Application Protocol Data Unit应用协议数据单元APIApplication Process Identifier应用进程标识符ARApplication Relationship应用关系JB/T103088-2005AREPApplication Relationship End Point应用关系端点应用服务元素Computer Integrated Manufacturing计算机集成制造Cnf证实Communication Relationship通信关系CREPCommunication relationship End point通信关系端点(as a prefix Data Link-(用作前缀)数据链路层-DLCEPData link connection End Point数据链路连接端点DLLData Link layer数据链路层DL SAPData Link service Access point数据链路服务访问点DLSDUDL-service-data-unit数据链路服务数据单元FALFieldbus Application Layer现场总线应用层FIFOFirst In first Out先进先出Identifier标识符IECInternational Electrotechnical Commission国际电工委员会指示International Organization for Standardization国际标准化组织LMELayer Management Entity层管理实体OSIpen Systems Intercon开放系统互连PDUProtocol Data Unit协议数据单元Re请求Response响应SAPService Access Point服务访问点SDUService Data Unit服务数据单元SMIBSystem Management Information Base系统管理信息库5约定5.1概述FAL被定义为一组面向对象的ASE。每个ASE都由单独的条款来规定。每种ASE规范都由两部分组成:类规范和服务规范。类规范定义类的属性,属性可以使用第5条所规定的对象管理ASE服务通过类实例访问该属性。服务规范定义ASE提供的服务。52通用约定本部分使用GB/17967—2000中给出的描述性约定。53类定义的约定使用模板来描述类定义。每个模板由这个类的属性列表组成,模板的通用格式如下所示FAL ASEASE NameCLASClass NameCLASS IDPARENT CLASSParent Class NameATTRIBUTES:Key attribute:numeric identifierKey attributeJB/T103088-2005(m)Attributeattribute name valuesAttributeattribute name (values)4.2Attributeattribute name (values4.3Constraintconstraint expression(m)Attributeattribute name (values5.2(o)Attribute rattribute name(values)(m)Attributerattribute name (values6.1attribute name ( values6.2(s)Attributeattribute name (valuesSERVICESConstraintconstraint expression2.lMgtServiceservice name531“ FAL ASE”:此条目是 FAL ASE名,它为被规定的类提供服务。532“ CLASS”:此条目是被规定类的名。使用此模板定义的所有对象将成为这个类的一个实例。这个类可以被此标准或此标准的用户规定。533“ CLASS ID”:此条用来标识被规定类的编号,在为这个类提供服务的 FAL ASE中该标号是惟的。在通过 FAL ASE资格认证后,它将在FL范围内无歧义地标识这个类。“NUL”值表示类不能被例示,1~255之间的类标识符被本标准保留,以用于标识标准化的类,保持与现有标准相兼容。256~2048之间的 CLASS ID被用来标识用户定义的类。534“ PARENT CLASS":此条目是被规定类的父类的名,为父类定义及其继承的所有属性均由被规定的类继承。因此不用在此类的模板中重新定义注:父类“TOP”表示被定义的类是此类的初始定义,它被用作定义所有其他类的起始点。本部分保留定义类时使用TOP的权利。535“ ATTRIBUTES”标签指示下列条目是该类的属性定义。5351每个属性条目的列1中都包括有一组行编号,列2包含必备(m)/可选(o)陌条件(c)/选择(s)的指示,列3包含属性类型标签,列4包含名或条件性描述,列5包含可选的枚举值列表,紧跟着列表中有一组值。可用于规定属性的默认值5352通常情况下,用数字标识符标识对象,或者根据对象名来标识,或者两者同时标识。在类模板中,那些关键的属性是在 Key Attribute下面定义的。5353行标号定义顺序以及行的嵌套层次。每个嵌套层次都由句点标识,嵌套是用来规范:a)一个结构属性的域(4.1,42,4.3)b)约束状态(5)属性条件下,如果约束性为“真”,属性可能是必备的(51)或可选的(52)。不是所有可选属性都需要约束状态,如在(52)中定义的那样c)一个选择类型属性选择域(6.1和6.2)。536“SERⅤICES”标签表示下列条目用于定义类的服务5361在列2中(m)表示这个服务对于这个类是必备的。同时(o)表示它是可选择的,(c)表示服务是有条件的。对于一个类当所有类定义的服务都被定义为可选择的时候,应至少选择一个5362“ OpsService”标签规定操作服务53.1l。536.3“ MgtService”标签规定管理服务532。JBT103088-20055364行号定义行的嵌套层次和顺序。每个嵌套层次都由点号标识,服务清单中的嵌套用来规定约束状态下服务的条件54服务定义约定541概述服务模型、服务原语以及时序图完全使用抽象描述,它们不表述用于实现的规范542服务参数服务原语用来表示服务使用者和服务提供者之间的交互作用(GB/179672000),它们传递用于指示服务使用者和服务提供者之间交互作用的参数,在一些特殊接口,并非所有参数都需要显性声明本部分的服务规范使用了表格形式来描述ASE服务原语的组件参数,提供给每组服务原语的参数在表格中列出,每个表格最多包括5列,分别为:a)参数名;b)请求原语c)指示原语d)响应原语;e)证实原语。每个表格的每一行都列有一个参数(或者它的组件)。在相应的原语列中,使用一个代码来规定该列中指定的原语的参数所使用的类型a)M:参数对于这个原语是必备的。b)U:参数是一个用户选项,并且提供或者不提供该服务,要取决于服务用户的动态使用。当不提供参数时,参数被假设为一个默认值。)C:参数是有条件的,这个条件取决于其他参数或服务用户环境()这个参数从不出现。d)S:参数是一个选择项。某些条目需由括号中的项进一步限定,这些可能是:a)参数规定的约束:“(=)”表示参数在语义上等于表格中左边紧靠的服务原语的参数b)表示用于条目的一些注释“(n)”表示下列注释“n”包括附属与这个参数及其使用的附加信息。543服务规程服务规程是根据下面定义的:a)通过交换现场总线应用协议数据单元应用实体之间的交互作用;b)在同一系统中应用层服务提供者和用户之间通过调用应用层服务原语的交互作用在现场总线应用层范围内,这些规程适用于支持有时间限制的通信服务的系统之间通信实例。6概念6.1概述本条描述了FAL的基本原理,在每个通信模型规范的“概述”中,都能找到每个 FAL ASE相关的详细描述62结构关系621与OSI基本参考模型应用层的关系按照OSI分层原理,已经描述了FAL的功能。但是,它们与低层的结构关系是不同的。如图2所FAL包括OSI功能及其扩展,从而满足有时间要求的需求,OS应用层结构标准(GBT17176rT103088-20051997)被用来作为规定FAL的基础FAL直接使用其下层的服务,其下层可能是数据链路层或者它们之间的任意层。当使用其下层的时候,FAL可以提供各种功能,这些功能通常与OSI中间层有关,它们用于正确地映射到其下层。OSI APAL用广oS应川层观场总线应川层OS中间层OS数据链蹄层数据链路层osI物理层物理层物珂媒体物理蜾体图2与OSI基本参考模型的关系622与其他现场总线实体的关系622.1概述INTERBUS现场总线应用层(FAL)的结构关系如图3所示,它用于支持分布在 INTERBUS环境中,有时间要求的系统互操作需要系统管琿INTERBUS FAL川户ALMENTERBUS现场总线应川层INTERBUS玫据链路层图3 INTERBUS FAL结构定位在这种环境中,FAL为 INTERBUS设备内有时间要求的和无时间要求的应用提供通信服务此外,FAL直接使用数据链路层来传送它的应用层协议数据单元。它使用一组数据传输服务和组用于控制数据链路层操作的支持服务来完成该项任务623功能的映射支持两种通信机制使用发布者预订者模式,以一种高效的方式进行数据的周期传输使用客户服务器通信模式,进行数据的非周期传输作为推式发布者或预订者的AREP用来进行周期传输。作为服务器和客户(对等)的AREP用于非周期传输。它们的APDU使用一个特定的传送语法,非周期数据传输机制由8.1规定的那些ASE和服务的子集所描述。6231 INTERBUS数据链路层的使用现场总线应用层(FAL)为现场总线AP提供网络访问,它直接与现场总线数据链路层接口,以便传输其APDU数据链路层为FAL提供了各种类型的服务,以便在数据链路端点之间传输数据。JB/T103088-2005(例如 DLSAP, DLCEP)6.232对 INTERBUS应用的支持INTERBUS应用是表示为网络的应用进程(AP)。AP是分布系统的组件,它可被单独标识和寻址。每个AP都包含一个为AP提供网络访问的FAL应用实体(AE)。即每个AP与其他AP通过其AE进行通信,从某种意义上讲,AE为进出AP提供一个可视窗口AP也包含通过网络可视的可标识组件,这些组件被表示为网络应用进程对象(APO)。它们使用个或者多个关键属性来标识,它们由包含它们的应用进程地址定位包含在FAL中的APO特定应用服务元素(ASE)提供用于访问网络的服务,这些ASE用于支持用户、功能块和管理应用。6233对系统管理的支持FAL服务能够用于支持各种管理操作,包括现场总线系统、应用进程、现场总线网络的管理6234FAL层管理实体的访问在网络的每个FAL实体中,可以提供一个层管理实体(LME)。为了进行系统管理, FALME提供对FAL的访问。系统管理者可访问的一组数据被称作系统管理信息库(SMmB),每个现场总线应用层管理实体为SMB提供了EAL部分的系统管理信息。SMIB的实现超出本规范的范围。63现场总线应用层结构63.1概述本标准FAL结构是OS应用层结构(GB17176-1997)的细化因此,本条的组织和GBT1771997相同,这里出现的某些概念是从GBmT17176-1997细化而得,以用于 INTERBUS环境。FAL在两个重要方面与OSI其他层不同:)OS只定义了一个用于AP相互连接的单一类型应用层通信通道。FAL定义了多种类型的应用关系(AR),并允许应用进程(AP)相互通信。b)FAL使用数据链路层而不是表示层来传送其PDU,因此,FAL并没有显性表示的可利用上下文。在同一对(或同一组)数据链路访问点之间,FAL协议可能没有被其他应用层协议同时使用。632基本概念有时间要求( TIME CRITICAL)的实开放系统的操作是借助于有时间要求的AP间的交互作用进行模型化。FAL准许这些AP在它们之间传递命令和数据。AP之间的协同操作要求以协调方式共享足够的信息,以便进行交互作用和实现处理活动。其活动被限制在一个单一现场总线网段内。或者可以跨越多个网段。FAL使用模块化结构,以支持那些应用报文的需求有时,AP之间的协同操作也要求共享一个公共的检测时间。HAL或数据链路层(第3部分和第4部分)为所有设备提供时间的分配。它们也定义本地设备服务,AP可以使用该服务访问分配的时间本条的其余部分描述结构中每个标准的模块化组件及其相互间的关系。FAL的组件被模型化为对象,每个对象提供一组应用使用的FAL通信服务。FAL对象及其关系会在下面描述。本部分下列各条将提供EAL对象和服务的详细规范。第6部分规定应用之间传递这些对象服务所必须的协议。633应用进程6331AP的定义在 INTERBUS环境中,一个应用被分割成一组组件,并分布在网络上的多个设备中。每个组件被称作现场总线应用进程(AP)一个现场总线AP是 ISO OS基本参考模型(GB/T9387)定义的应用进程的一个变型。现场总线AP会通过至少一个单一的数据链路层服务访问端点来地址来进行无歧义的寻址。在这个上下文中,无歧义的寻址意味着,无其他AP同时使用相同的地址来定位。但此项定义并不禁止AP被一个以上单一的或一组数据链路服务访问点地址定位。JBT103088-20056332通信服务AP使用证实和无证实服务进行彼此的通信(GBT17967-2000,本部分定义的FAL的服务规定了服务的语义,如请求和响应AP。第6部分定义了用于传递服务的请求和响应的报文语法,与服务相关的AP行为由AP来规定。证实服务用于定义AP之间交换的请求和响应相反,无证实服务用于定义从一个AP向一个或多个远程AP单向的报文传送。从通信的观点来看在单一调用的无证实服务之间并不存在任何关系,与证实服务的请求和响应之间情况一样。6333AP的交互作用633.31概述按照要求,AP可以与其他AP之间交互作用以完成各种功能。对于这些交互作用组织结构或它们之间可能的关系,不受本标准约束。例如,交互作用可能基于AP之间直接发送的请求响应报文,或者基于其他使用的由一个AP发送的数据/事件。AP之间交互作用的这两种模式被称作—客户服务器和发布者预订者交互作用个交互作用模式所支持的服务应用关系端点负责来传递,该端点通过AP在交互作用中AREP所承担的角色(如:客户机、服务器、对等、发布者、预订者)被定义成AREP的一个属性6.3332客户服务器交互作用客户服务器交互作用由客户AP和一个或多个的服务器AP之间双向数据流来表征。图4表示单一客户和单一服务器之间的交互作用。在此种类型的交互作用中,客户向服务器发出一个证实或者无证实请求来完成任务。如果服务已经被证实,那么服务器始终会返回一个响应,如果服务未证实,那么服务器会返回一个无证实服务的响应。无证实和证实的服务请求ti求者)「响向者)无证实服务应答和证实服务响应图4客户/服务器交互作用63333发布者/预订者交互作用63333.1概述另一方面,发布者预订者交互作用包括一个单一的发布者AP和一个预订者AP。这种类型的交互作用被定义为可以支持AP之间交互作用的“推”模式。在这个模式中,发布者AP的启动由管理实现,该实现超出本标准的范围。633332推模式交互作用在“推”模式中,使用两种服务,一个是证实服务和无证实服务。预订者使用证实服务请求加人发布,按照客户服务器交互模式,该请求的响应返回给预订者。只有在发布者和预订者位于不同的AP上的时候,这种交换才是必要的。在“推”模式中使用的无证实服务,发布者用此项服务来向预订者发布信息。发布者在适当的时候负责正确地调用无证实服务和提供适当的信息。在这种方式中被组态的发布者,向网络“推”出数据推”模式中的预订者接收由发布者发布的无证实服务。图5表示“推”模式的概念。6334AP结构AP的内部可以用一个或多个应用进程对象(APO)表达,并且通过一个或多个应用实体(AE)访问。AE提供AP的通信能力(用户应用进程对象)。对于每个AP,它们有且仅有一个 FAL AE。APO是AP应用指定能力的网络表示,AP可以通过其 FAL AE进行访问。6335AP类AP类是对一个AP属性和服务的定义,本标准规定了AP标准类的定义,也可以规定用户定义的类。可以从专为此目的保留的组中定义类的标识符(见52)。JB/T103088-2005证实服务诱求预定发布推式预订者正实服务响应指出发布的能力惟式发布者推式预订者无证实服务请求包含了发布信息推式预订者图5“推”模式交互作用6336AP类型如前面所描述,AP根据例示的一个AP类来进行定义。每个AP的定义均由属性和从AP类中为AP选择的服务组成。此外,AP定义包含为其选择的一个或者多个属性的值。当两个AP共享同一定义时,这个定义被看作一个AP类型。因此,AP类型是AP的通用规范,可以用来定义一个或者多个AP6.34应用进程对象6341APO的定义应用进程对象(APO)是一个AP指定特征的网络表示,每个APO代表一组特定信息和AP的处理能力,它们可以通过FAL服务进行访问。APO用于表示在现场总线系统中其他AP的能力。从FAL角度,APO被模型化为包含在一个AP或另一个APO中(APO可能包含其他APO)的可通过网络访问的对象。APO为对象提供了一个网络定义,这些可以远程访问的对象包含在一个AP内。个APO的定义包括FAL服务的一个标识,该标识能够被远程AP用于远程访问。如图6所示,由AP的FAL通信实体提供的FAL服务,被称作FAL应用实体( FAL AE)。APO远程访问FALAPO服务各户请求和响FAL APDU实对象请求者响应者APO为实对象提供网络视图图6由FAL传递的APO服务在图6中,作为客户的远程AP,可以通过APO发送请求访问实对象,该APO代表实对象。AP的本地部分在实对象的网络视图(APO)和实对象的内部AP视图之间转换。为了支持发布者预订者模式的交互作用,有关实对象的信息可以通过其APO发布。作为预订者的远程AP通过查看发布信息的APO视图,就可以知道实对象的任何指定的详细信息6342APO类型APO类是为一组APO制定的通用规范。每一项均由同一组属性描述,并且使用相同的服务的访问JBT103088-2005APO类为AP网络可视特性提供了标准化机制。每个标准APO类的定义都规定了特定的一组网络访问AP属性和服务。FAL协议使用第6部分中的语法和规程,以提供对一个APO类属性和服务的远程访问为了使远程访问AP标准化,本标准规定了标准的APO类。也可以规定用户定义类。用户定义类被定义为标准化APO类或其他用户定义类的子类。它们也可以通过标识新的属性,或者通过指明父类给子类的必备可选属性来定义。在52中规定的定义类的约定,可以用来达到这个目的。其他注册或建立新类别定义的方法,使其能够公共使用,超出本标准的范围。6343APO作为APO类的实例本标准使用模板定义APO类。这些模板不仅用于定义APO类,而且用于规定类的实例为AP定义的每个APO都是APO类的一个实例,每个APO都提供包含在一个AP中实对象的网络视图。APO的定义是根据:a)从APO类模板中选择属性,从实对象可以访问这些属性;b)可以为模板中一个或多个关键属性赋值,关键属性用来标识APOc)可以为APO的零个、一个或多个非关键属性赋值,非关键属性用来表征这个APOd)可以从模板中选择一些服务,远程AP使用这些服务访问实对象。52规定了类模板的约定。这些约定为提供必备、可选和条件属性以及服务的定义做准备必备属性和服务在该类所有的APO中。可选属性和服务是可以选择的。可基于APO库中的某个APO,可根据一个APO中所包含的要素,选择可选的属性和服务。条件属性和服务是根据附加的限制声明定义的,限制声明规定这个属性在APO中是否出现的条件。6344APO类型APO类型提供定义标准APO的机制。如前面所描述,APO通过列举一个APO类的具体事例来定义的。每个APO的定义由专为这个APO选择的服务和属性组成,这些属性和服务由这个APO的APO类定义。此外,APO的定义还包括为它选择的一个或多个属性值。当两个APO共享同一个定义时(除关键属性设置),此项定义被称作APO类型。因此,APO类型是APO的通用规范,可以用于定义一个或多个APO635应用实体6351 FAL AE的定义应用实体为单一的AP提供通信能力。 FAL AE提供一组服务和支持协议,使得在现场总线环境中AP之间能够进行通信。由 FAL AE提供的服务被分解为应用服务元素,这样一来提供给AP的FAL服务,就由其 FAL AE所包含的ASE定义。这个概念如图7所示。服务掠语FAL AEFAL服务AL ASE传递服务到远程AE图7应用实体结构6.352AE类型提供相同的一组ASE的应用实体均属于相同AE类型。两个共享一组公共ASE的AE之间具有相JBT103088-2005互通信的能力。6.36应用服务元素6361概述由GBT171761997定义的应用服务元素(ASE)是一组应用功能,该功能为应用实体调用的特定目标提供了互相配合的能力。ASE提供一组服务,从应用进程及其对象和向应用进程及其对象中传递请求与响应。如上面所定义,AE由该AE内“ASE调用”的集合来表述。6362FAL服务FAL服务在AP之间传递功能性的请求响应。定义每个FAL服务,用来传递请求和响应,以便访问一个实对象,该实对象被模型化为一个FAL可访问对象。FAL定义证实和无证实两种服务。证实服务请求被发送给包含实对象的AP,对一个证实服务请求的调用可以由用户提供的调用⑩来标识。这个调用DD由包含实对象的AP在响应中返回。当调用ID出现的时候,它被请求AP及其 FAL AE用它将响应与相应的请求联系起来。无证实服务可以从包含实对象的AP发出,用于发送与该对象相关的信息。它也可以被发送给包含实对象的AP,用于访问该实对象。这两种无证实服务类型是为FAL定义的。6363 FAL ASE的定义6363.1概述FAL ASE定义使用模块化方法。为FAL定义的ASE也是面向对象的,通常ASE提供一组用于一个指定对象类或用于一组相关类的服务。公共对象管理ASE,提供一组公共的适用于所有对象类的管理服务为了支持对AP进行远程访问,定义了应用关系ASE。它为AP提供的服务用于定义和建立与其他AP的通信关系,同时它为其他ASE提供的服务,用于传递其服务的请求和响应。子集足边用需H打规以A又这,E期走支的未在的围.供A所的FAL ASE之间发送和接收的APDU支持相同的服务。每个 FAL AE至少包含有 AR ASE和至少一个其他的ASE。图8表示了一组 FAL ASE及其结构关系的例子。所有的 APO ASE均遵守此例子。VariableFnc InvAP ASEASEAR ASE服务由 AR ASE传递的APDU图8 FAL ASE示例63632对象管理ASE为FAL规定一个专用的对象管理ASE,用于为对象的管理提供服务。它的服务是用来访问对象的JBT103088-2005属性,并创建和删除对象实例。这些服务是用于管理网络可视的AP对象,该对象可以通过FAL访问。用每个对象类型的专用操作服务在该对象类型的ASE定义中规定。图9表示在AP中用于对象的管理与操作服务的集成MGT对象属性播述FAL AEAPO0p服务目标对象ASE图9对象的FAL管理6.3.6.3.3 AP ASE可以规定一个 AP ASE用于 FAL AP的标识和控制由 AP ASE定义的属性规定了其制造商的特征,并能列出其内容和能力。6.3.6.3.4 APO ASEFAL规定一组具有服务的ASE,这些服务是为AP的APO访问定义的。FAL规定的 APO ASE由每个通信模型定义。6.3.6.3.5 AR ASE利用 AR ASE来建立和维护应用关系(AR),该应用关系被用于在AP之间其中传递 FAL APDUAR表示在AP之间的应用层通信通道。 AR ASE负责在AR端点提供服务。为AE传递APDU和为用户指示AR本地状态,可以定义 ARASE服务来建立、终止、天折AR。此外,可以定义本地服务用于访问AP端点的某些特性。6.364FAL服务的传递FAL APO ASE在服务用户和实对象之间提供传递请求和响应的服务。为了完成传递请求和响应服务的任务,需要为发送用户定义三种类型的活动和为接受用户定义三种相应的活动。在发送用户端,它们接收的请求和响应服务。其次,它们选择将被用于传输请求或响应的FAL APDU类型和戚将服务参数编码为其主体部分。最后,为了传递,它们将编码的APDU提交给ARASE。在接收用户端,它们从 AR ASE接收编码的APDU主体将其解码,并提取由其传递的服务参数。为了终止传递,它们向用户传送服务请求或服务响应。这些概念如图10所示服务原语FAL AEFAL AEFALFALFALFAL服务川户一AR实对象APDUASE服务原语图10ASE服务的传递JBT103088—2005636.5FAL的表示上下文OSI环境中的表示上下文用于区分一个ASE中的APDU与其他APDU,并用于对每个APDU编码的传送语法规则进行标识。但是,现场总线通信结构并不包括表示层。因此,每个指定类型的通信模型的都为FAL提供了一个可选机制。637应用关系637.1AR的定义AR表述AP之间的通信通道,它们规定了在AP之间信息如何进行通信。每个AR的特征是根据信息如何从一个AP向另一个AP传递ASE请求和应响服务的方式而定。这些特征描述如下6372AR端点AR定义为一组协同操作的AP。在每个AP中, AR ASE管理一个AR端点,并且维护其本地上下文。 AR ASE使用AR端点的本地上下文来控制APDU在AR上的传递。6373AR端点类AR被是由一组相互兼容类的端点组成。AR端点类用于表述以相同方式传递APDU的AR端点通过端点类的标准化,能够定义不同交互作用模式的AR。6.374AR基数AR表述AP之间的通信特征。AR的一个特征是在AR中AR端点的数量。在两个AP之间传送服务的AR具有一对一的基数。通过AR访问对象通过一个或多个ASE服务,AR为其内部的AP及其对象提供访问。因此,一个特征是一组ASE服务,AR可将一组ASE服务传递到这些对象,或由这些对象传递到AR。由AR传递的服务列表,可以从AE定义的那些特性中选择。6375AR传递路径AR模型化为两个AR端点之间的一个或两个传递路径。每个传递路径在一个或多个AR端点之间单向传递APDU。一个传递路径上的每个接收AR端点接收在AR上发送AR端点传输的所有APDU6376AREP角色由于AP是通过端点进行相互之间的交互作用,它们兼容性的一个基本明确点是它们在AR中扮演的角色,角色定义AR中一个AREP如何与其他AREP进行交互作用。例如:一个AREP可以用做一个客户、服务器、发布者或预订者。当一个AREP在既作为客户又作为服务器的单AR中与另一个AREP进行交互作用时,它被定义为具有“对等”角色当其他角色只具有响应请求服务能力时,某些角色可以启动请求服务。本部分的角色定义一个AR能够在两个方向上或一个方向上传递请求的需求。6.377AREP缓冲区和队列AREP可以模型化为一个队列或缓冲区,按照队列式AREP传送的APDU是按照接受的顺序进行传递的。它们与通过一个缓冲式AREP传送的APDU的传送是不同的。在这种情况下, AR ASE传送的APDU位于缓冲区中以便传送。当数据链路层获得访问网络的权利时,它将传送缓冲区的内容当 AR ASE接收到另一个传送请求时,那么不管缓冲区内容是否被传输,缓冲区中先前的内容都将被覆盖。一且APDU被写入用于传送的缓冲区中,它将一直被保存,直到下一个被传送的APDU来覆盖它。如果APDU的内容在缓冲区中不被删除或更改,就可以对它读一次或更多次在接收端,操作是类似的。接收端点将一个已接收的APDU放置在缓冲区中,供 AR ASE访问。当接收到一个后续的APDU时,就会覆盖缓冲区中先前的APDU,不管以前的APDU是否被读取。从缓冲区中读取ADU并不会造成破坏(允许缓冲区中的内容被一次或多次读取),它不会破坏或改变缓冲区中的内容6378用户触发和调度的传递AREP的另一个特征是当它们传递请求和响应服务时,若依照用户的要求传送该服务,则称作用户JBrT103088-2005触发,相对于网络操作其的传递是异步的不管它们是否接收到传送,在预定义的时间间隔内传递请求和响应服务的ARFP被称作是受调度的传递。,对传输而言,被传送数据提交晚或按时提交但传输晚,调度的AREP具有指示的能力。6379AREP的定义和创建ARFP的定义规定AREP类的实例,如果它们的AE支持此项能力,AREP可以被预定义或者使用创建”服务定义。AREP可以被预定义和预建立,或者它们可以被预定义和动态建立。图l描述这两种情况。AREP也可以要求动态的定义和建立,或者动态地定义它们,这样一来就可以在没有任何创建的情况下使用它们(它们被定义在已建立状态)AR ASe定义的,但未建立已建立的AR图11已定义的和已建立的AREP63710AR的建立和终止AR既可以在AP操作阶段之前建立,也可以在其操作期间过程中建立。当在AP操作期间建立AR时候,AR通过交换 AR APDU来建立的旦建立AR,AR可以被完全终止或天折,这取决于AR的能力。64FAL命名和寻址641概述本条细化了GB93873-1995中定义的原理,它包括现场总线应用层引用的APO的标识(命名)和定位(寻址)本条定义如何使用名和数字标识符标识FAL访问的APO。本条还指示如何使用下层地址,去定位现场总线环境中的AP6.42标识通过FAL访问的对象642.1概述通过FAL访问的APO需要根据它们的位置来进行标识。那就是说,不管AP的定位是否包含APO的变化,仍然可以通过同一组标识符引用APO在FAL中用于AP和APO的标识符在APO的类定义中被定义为关键属性,在这些APO定义中最常使用的两种关键属性是名和数字标识符6422名名是面向字符串的标识符。它们被定义以允许AP和APO在其使用的系统中命名,因此,虽然对于AP中驻留的APO名的范围是特定的,但对名分配的管理是在其被组态的系统中进行的。名是可描述的,虽然它们也可以不被描述。对名的描述使其可以提供有意义的信息,例如:对名的使用可联系其命名的对象名还可以用代码表示,代码表示的名能够通过使用简短的、压缩的名来标识对象。对于传送和处理,它们是典型的缩写,但并不象描述的名那么容易理解6423数字标识符JBnT103088-2005数字标识符是那些值为数字的标识符。在现场总线系统中,使用它们可以提高效率,而且,其AP还可以使用它们更有效地访问APO643通过FAL访问的AP的寻址现场总线的地址代表在AP网络中的位置。与FAL相关的地址是用来定位一个AP的AREP的下层地址。6.5结构概要本条提供FAL结构的概要。图12表示FAL结构的主要组件及其的互相关系FAL AE输人传递途径从远程ARE实对象ASE输出传递途径实对象图12FAL结构的组件图12描述通过 FAL AE进行通信的AP。AP将其内部“实对象”表述成用于对其进行远程访问的APO。图中所示的两个ASE为其相关的APO提供远程访问服务。 AR ASE包含一个单一的AREP,为ASE向位于远程AP中的一个或多个远程AREP传送服务请求和服务响应。66FAL服务规程661FAL证实服务进程请求的用户向它的FAL递交一个证实服务请求原语。相应的 FAL ASE建立相关的证实服务请求APDU主体,并将在指定的AR上传送。旦接收到证实服务请求APDU主体,响应的ASE就将其解码。如果不出现协议差错,ASE就向它的用户交付证实服务指示原语。如果响应的用户能够成功地处理请求,则用户将返回一个证实服务响应(+)原语。如果响应的用户不能成功地处理请求,服务失败,则用户发布一个指出原因的证实服务响应(-)原语。响应的ASE为证实服务响应(+)原语建立一个证实服务响应APDU主体,或者为证实服务响应(-)原语建立一个证实服务差错APDU主体,并在特定的AR上传送。一旦接收到返回的APDU主体,起始的ASE向它的用户交付一个证实服务的证实原语,该原语规定成功或失败,如果失败,就给出失败的原因。662FAL无证实服务规程发出请求的用户向它的 FAL AE递交一个无证实服务请求原语。相应的 FAL ASE建立相关的无证实服务请求APDU主体,并在指定AR上传送。旦接收到无证实请求APDU主体,AR中接收方的ASE就向其用户交付相应的无证实服务指示原语。JBT103088-200567公共FAL属性在以下的关于AL类的规范中,很多类使用下列属性。因此,这里定义的这些属性可用每个类的其他属性来代替,除了数据类型类。ATTRIBUTESKey attributeNumeric IdentifierKey Attribute:Name数字标识符这个可选的关键属性规定对象的数字标识符。它可以被FAL协议用做标识对象的一个参考手册。有三种用于标识的可能性:数字标识符或名或者两者兼备。在数据类型模型中,需要此属性名这个可选的关键属性规定对象的名。有三种用于标识的可能性:数字标识符或名或两者兼备68公共FAL服务参数在以下的关于FAL类的规范中,很多服务使用下列参数。因此,这里定义的这些参数可用每个服务的其他参数来代替AREP该参数包含足够的信息,以在本地标识用于传递服务的AREP。它还可以使用AREP的一个关键属性标识应用关系。当AREP在同一时间支持多重上下文(使用初始化服务建立)时,AREP参数被扩展用于标识AREP及其上下文调用|D该参数标识服务的调用。它可以在请求服务和响应服务之间建立联系。因此,相同的调用⑩值不能用来标识两个未完成的调用服务。FAL ASE/FAL类该参数规定 FAL ASE(例如AP,AR, variable, Data Type, Event, Function Invocation, Load Region)以及ASE中的FAL类(例如AREP, Variable list, Notifier, Action)。数字|D该参数是对象的数字化标识符。差错信息该参数为服务差错提供差错信息,它在证实服务响应(-)原语中返回。它由下列元素组成:差错类该参数指示差错的一般类。有效值在下面的差错代码参数的定义中规定。差错代码该参数标识特定服务差错附加代码在处理指定给被访问的对象的请求时遇到的差错,由这个可选的参数标识。当使用时,响应原语中递交的值在证实原语中被原样递交。69APDU长度APDU长度与通信模型相关。7数据类型ASE7.1概要7.1.1概述数据类型规定了与机制无关的语法,用于由FAL传递的应用数据。现场总线应用层支持基本数据类型和结构数据类型的定义和传送。本部分规定的数据类型的编码规则本部分第6章中阐述。JBT103088-2005基本类型是最小的类型,它不能被分割为更多元素。结构类型是由基本类型和其他结构类型组成的类型。它们嵌套的复杂性和深度不受本标准约束数据类型被定义为数据类型类的实例。如图13所示。本条仅定义了数据类型的一个子集。为了能够定义一个新的类型,需要提供一个数字标识符及其为数据类型定义的属性值数据类型因定长度结构数组可视串憝型8八位位组串无符号8定义的数据关型浮点32时问/日期类型图13数据类型类层次示例在图13中,数据类型的定义表述为类/格式实例的结构,并以“数据类型”作为数据类型类的开始。数据类型的格式由数据类型类来确定,并在图13中表示基本数据类型用来定义固定长度和位串数据类型。并将GBT16262199中的标准类型称为简单数据类型。其他标准基本数据类型是为现场总线应用特别定义的,并且被称为特定类型。本部分中定义的结构类型为串、数组和结构。没有为数组和结构定义标准类型7.1.2基本类型概述被定义的大多数基本类型取自一组GBT16262-1996类型(简单类型)。某些GB16262-1996类型因为现场总线的特定用途被扩展了(特定类型)。简单类型是GB/T16262-1996通用类型。该标准为本标准中定义的简单类型提供了现场总线类标识符。特定类型是特殊定义的用于现场总线环境的基本类型。它们被定义成简单类的子类型基本类型具有固定的长度。定义了两个变形,一个用于定义长度为整数个八位位组的数据类型;另一个用于定义长度为多个比特的数据类型。注:为了分配现场总线类标识符,本标准定义了 Boolean, Integer, OctetString, VisibleString, and UniversalTime本标准不改变GBT16262--196中的定义。7.13固定长度类型概述固定长度类型的长度是八位位组的整数。7.14结构类型概述7.141串 String串是由一个有序集合、编号的变量、同类的固定长度的元素组成。714.2数组 Array数组是由一个同类元素的有序集合组成。本部分对数组元素的数据类型没有约束,但是每个元素需要来自同一个类型。数组一旦被定义了,数组中元素的数量不能改变。7.1.43结构JB/T103088-2005结构是由一个不同类的称为字段的元素的有序集合组成。如数组,本标准不限制字段的数据类型,然而,结构中的字段没有必要是一个相同的类型。7.144嵌套级只能使用一级嵌套。71.5用户定义的数据类型的规范用户可能有必要为自己的应用定义一个用户数据类型,本标准支持用户定义的数据类型作为数据类型类的实例。用户定义类型的规定与所有FAL对象定义的方法相同,是通过为类规定的属性提供数值来定义的。7.1.6用户数据的传送用户数据根据FAL协议在两个应用进程之间传送。所有编码和解码均由HAL用户来执行。在FAL协议中将用户数据进行编码时,所使用的规则是根据数据的类型而定的,这些规则由本第6部分解释。不使用编码规则的用户定义的数据类型,这些数据是按照可变长度的八位位组的序列进行传送的。在八位位组串中,数据的格式由用户定义。72数据类型对象的形式定义721数据类型类7.2.1.1模板数据类型类规定了数据类型类树的根。它的父系类“top”指示FAL类树的顶。FAL ASEDATA TYPE ASECLASSDATA TYPECLASS ID5( FIXED LENGTH STRING), 6(STRUCTURE)PARENT CLASSTOPATTRIBUTES1(m)Key attributeData Type Numeric IdentifierKey AttrbuteData Type Name7.2.12属性 Attributes数据类型数字标识符这个属性标识相关数据类型的数字标识符。数据类型名这种属性标识相关数据类型的名。7.3FAL定义的数据类型731固定长度类型 Fixed Length types73.1.1布尔类型73.1.1.1布尔CLASSData TypeATTRIBUTESI Data Type Numeric Identifier2 Data Type NameBoolean= FIXED LENGTH4.1 Octet Length这种数据类型是采用“TRUE”和“ FALSE”来表示其值的数据类型73.12日期类型73.1.21 Binary Date(二进制日期)CLASS:ta TyJBT103088-2005ATTRIBUTES1 Data Type Numeric Identifier2 Data Type Name3 FormatFIXED LENGTH4.1 Octet Length这种数据类型是由六个无符号值的元素组成,并且表示日历的日期和时间。第一个元素是一个无符号16位数据类型,并给出以毫秒为单位表示的分钟的分段。第二个元素是一个无符号8位数据类型并给出以分钟为单位表示的小时的分段。第三个元素是一个无符号8位数据类型,并且给出以小时为单位表示的日的分段。第四个元素是一个无符号8位数据类型,它的高3位给出每周的日,它的低5位给出每月的日。第五个元素是一个无符号8位数据类型,给出月份。最后的一个无符号16位数据类型的元素,给出年。73122带世纪的二进制日期 Binary Date2000CLASSData TypeATTRIBUTES1 Data Type Numeric Identifier =51Binary 20003 FormatFIXED LENGTH4.1 Octet Length这种数据类型是由六个无符号值的元素组成,并且表示日历的日期和时间。第一个元素是一个无符号16位数据类型,并给出以毫秒为单位表示的分钟的分段。第二个元素是一个无符号8位数据类型,并给出以分钟为单位表示的小时的分段。第三个元素是一个无符号8位数据类型,并且给出以小时为单位表示的日的分段。第四个元素是一个无符号8位数据类型,它的高3位给出每周的日,它的低5位给出每月的日。第五个元素是一个无符号8位数据类型,给出月份。最后的一个无符号16位数据类型的元素,给出年7.3123每日时间CLASSData TypeATTRIBUTES1 Data Type Numeric Identifier 122 Data Type NameTineOfDay4 FormatFIXED LENGTH4.1 Octet Length6这种数据类型由含两个无符号值的元素组成,用来表示每天的时间和日期。第一个元素是一个无符号32位数据类型,并从午夜开始以毫秒形式给出时间。第二个元素是一个无符号16位数据类型,它给出从1984年1月1日起计算的天数。73.124时差CLASSData TypeATTRIBUTESI Data Type Numeric Identifier2 Data Type NameTime Difference3 FormatFIXED LENGTH4.1 Octet Length=4or6这种数据类型由两个无符号值的元素组成,用来表示时差。第一个元素是一个无符号32位数据类型,它以ms形式提供一天的小数部分,可选的第二个元素是一个无符号16位数据类型,它提供日差。JBT103088200573.13数字类型73131浮点类型7.3.1.3.1.1Hoat32CLASSData TypeATTRIBUTESI Data Type Numeric Identifier =82 Data TypeFloat324 FormatFIXED LRNGTH这种类型的数据长度为四个八位位组。在 ANSVTEER754中,32位浮点类型被定义为单精度类型。7.3.1.32整数类型7. 1 Integer 8CLASSData TypeATTRIBUTESI Data Type Numeric Identifier2 Data Type NameIntegerFIXED LENGTH4.1 Octet Length这种类型的数据是由补码二进制数组成,它的长度为一个八位位组。7.3.1.3.2.2 Integer16CLASSData TypeATTRIBUTESData Type Numeric IdentifiData Type NameInteger163 FormFIXED LENGTH4.1 Octet length这种类型的数据由补码二进制数组成,它的长度为两个八位位组7. 3.2.3 Integer32CLASSData TypeATTRIBUTESI Data Type Numeric Identifier =42 Data Type Name= Integer323 FormatFIXED LENGTH4.1 Octet Length这种类型的数据是由补码的二进制数组成,它的长度为四个八位位组。73.133无符号类型7.3.1.3.3.1 UnsignedCLASSData TypATTRIBUTES1 Data Type Numeric Identifier2 Data Type NameUnsignedFIXED LENGTH4. 1 Octet LengthJBT103088-2005这种类型的无符号数是一个二进制数最高有效字节的最高有效位始终是这个二进制数的最高有效位,不包括一个符号位。它的长度为一个八位位组。7.3.1.3.3.2 Unsigned16CLASSData TypeATTRIBUTES1 Data Type Numeric Identifier62 Data Type NameJnsigned163 FormatE FIXED LENGTH4. 1 Octet Length这种类型的无符号数是一个二进制数最高有效字节的最高有效位始终是这个二进制数的最高有效位,不包括一个符号位。它的长度为两个八位位组。73133332位无符号型CLASSData TypeATTRIBUTESI Data Type Numeric Identifier2 Data Type NameUnsigned323 FormatFIXED LENGTH4. 1 Octet Length4这种类型的无符号数是一个二进制数最高有效字节的最高有效位始终是这个二进制数的最高有效位,不包括一个符号位。它的长度为四个八位位组。7.32串类型732.1位串CLASSData TypeATTRIBUTESI Data Type Numeric Identifier =142 Data Type NameSTRING5. 1 Octet LengthI to n这种位串类型被定义为-组的八位位串元素7.322八位位组串CLASSData TypeATTRIBUTES1 Data Type Numeric IdentifierameOctetStringSTRING4. 1 Octet LengthI to n一个八位位组串按照编号从1到n的顺序整齐排列。为了便于讨论,编号为]的八位位组被称为第一个八位位组。第6部分定义了传输顺序。7323可视串CLASSData TypeATTRIBUTESI Data Type Numeric Identifier92 Data Type NameVisibleStriJBT103088-20053 FormatSTRING4. I Octet Lengthto n这个类型被定义为 ISO/IEC646串类型74数据类型ASE服务规范这里没有为这个类型的对象定义可操作的服务8通信模型规范8. 1 ASE8.1.1对象管理ASE8.1.1.1概述每个 FAL ASE模型将一个或多个相关的 FAL APO类规定为一个属性和服务的集合。为一个类定义的AL服务,用于该类APO的操作、控制或访问。一个特定APO支持的服务由该APO的ListOfManagement Services属性规定。8.1.12FAL管理模型规范由FAL管理模型规定的管理服务是对 FAL APO及其属性进行操作。 FAL APO类在 FAL ASE内定FAL ASE是由本标准的后续条款规定的。每个 FAL APO类的定义都是通过一组属性和一组服务来描述的。81.13FAL管理模型服务8.1.13.1支持的服务管理服务是为管理AP和APO定义的。为简单起见,在本条的其他内容中,AP和APO被称为对象。Get Attributes服务用于指示什么时候能够读取这些属性8.1.1.32 Get Attributes服务8.1.1.32.1服务概述这个证实服务用于从AP定义的一个或多个类的一个或多个对象的属性列表中读取当前值。它以“最有效”的方式操作,因此,只要返回一个被请求对象的至少一个被请求的属性值,就认为服务是成功的81.1322服务参数这个服务的服务参数见表1表1 Get Attributes服务参数参数名称IndRspM(=)AREPM(=)List of Objects and their AttributesMMMsMS(=)M(=)List of Requested AttributesSAREPInvoke IDList of ResponsesList of Attribute valuesSResult (-)SS(=)AREPM(=)Invoke IDMError InfoM(=)JB/I103088-2005ArgumentArgument包含服务请求的参数ist of Objects and their Attributes该选择类型参数提供一个列表,该列表标识了被请求的每一个对象、它们的类以及属性。标识属性可能存在三个值,全部属性、必备属性、或专用属性列表。如果用户对一个对象列表进行属性请求时,这个值将显示出来。Key Attribute该参数标识一个对象,通过一个对象的关键属性可以请求该对象的属性List of Requested attribute此参数标识一个或多个属性,通过该参数可以请求这些属性的值。Result (+该选择类型参数指示服务请求已经成功More该参数为布尔参数。当值为 FALSE时,表示可以返回所有被请求属性的响应。当为TRUE时,表示只能返回这些属性的一个适当的子集的响应。只有当不是所有的值都适合进人一个单一响应APDU的时候,才会出现这种情况。如果发生这种情况,用户有必要为丢失的属性递交一个附加的请求。(否则)属性的一部分值永不返回。List of Responses该参数包含请求中指定的每一个对象的状态指示器或属性值列表。响应返回时在列表中的顺序与请求中指定对象的顺序一致。如果请求的是关键属性当中的一个值,每个响应相关的对象仅被无歧义标识如果所有的响应不能在一个单一的APDU中返回,则需要设定More这个参数为TRUEError Status如果一个对象的所有属性的获取都失败,则返回此参数。并通过 Get Attributes服务定义的差错类和差错代码,指示操作失败的可能性最大的原因。List of Attribute values如果成功获取了任意一个或请求的属性,则返回此参数。该参数包含一个属性值列表,该列表可以对请求的对象进行单独标识和完整标识Result(一)该选择类型参数指示服务请求失败。81.1323服务规程66中规定的证实服务规程,也适用于这个服务。Get Attributes服务是一种“最有效”方式的服务。“最有效”意味着只要返回至少一个值则认为服务成功。如果用户能够获取一个或多个指定的属性值,并且这些值能够在一个单一的APDU中传递那么这些值将在一个 Get Attributes Service response(+)原语中返回。如果这些值不能在一个单一的APDU中传递,用户返回那些能够返回的值,并且在 Get AttributesService response(十)原语中设置πore标志。然后请求方负责递交附加的请求以标识需要重新找回的剩余属性。如果用户不能从列表中的某个对象获得至少一个属性值的时候,服务失败,并且用户发布一个GetAttributes Service response(-)原语,用于指出原因812应用进程ASE8.1.2.1概述本条为应用进程(AP)建立了一个模型。应用进程表述了可以通过FAL服务进行访问的一个系筑的信息和处理资源JB/T103088-2005FAL中的应用服务元素提供了这些服务,称为应用进程ASE。在 AP ASE中,AP通过标准化的预定义的标识符模型化并作为一个APO被访问8.1.22AP类规范8.122.1形式模型AP类规定了为应用进程定义的属性和服务。它的父类“top”指示FAL类的树顶。AP对象的数字标识符始终为0。这个保留值的使用,允许对AP对象使用管理服务,并且不需要知道它们的名称FAL ASEAP ASECLASSAPCLASS IDPARENT CLASSTOPIDENTIFY, GET STATUS ATTRIBUTESAttribute:List Of AP Service AttributesAttrbuteManufacturer Identifie1.1.lAttributeVendor Name1.1.2nAttnbuteModel Identifier1.1.3AttributeVendor revisionAttributeAP Descriptor Reference1.3(m)nService Access Status.3.2AttributeOperational statusSYSTEM MANAGEMENT ATTRIBUTESAttributeList Of System Management Attributes2.1AttributeList Of AR Endpoint Info2.1.1AttnbuteNumeric Id2.12AttributeConfigured Max FAL PDU Size Sending2.L3AttributeConfigured Max FAL PDU Size Receiving2.,4AttributeConfigured Max Outstanding Services Requesting2.1.5(mAttributeConfigured Max Outstanding Services Responding2.16(m)AttnbuteList of Supported Services2.2AttributeList Of In Use AR Endpoint InfoAttribute2.2.6AttributeOutstanding Services Requesting Counter22.7(m)AttributeOutstanding Services Responding CounterOBJECT MANAGEMENT ATTRIBUTESmAttributeList Of Managed AP Attributes3.1(m)AttribuList Of Supported APO Classes and Objects3.1.1(m)AttributeList header3.L.1.I(o)AttributeNumeric Identifier=03.1.L2(m)AttributeROM/RAM Flag(TRUE, FALSE)3.1.1.3(m)attrbuteMax Name Length3.1.1.4(m)AttributeAccess Protection Supported(TRUE, FALSE)3.l.1.5(m)AttributeVersion of list6AttributeList Local ReferenceJB/T10308820053.I.2ConstraintData Type SupportedNumeric Identifier= I3.L2.2(mAttributeNumber Of Data Type Objects3.1.2.3(m)AttributeLocal Reference3.1.3ConstraintVariable3.L3.1(o)Static Object Numeric Identifier3.1.3.2(mAttributeNumber Of Static Objects Variables3.13.3(m)AttributeStatic Object Local Reference3.1.5ConstraintFunction Invocation Supported3.1.5.1(o)Function Invocation Numeric lden3.1.52(m)AttributeNumber Of Function Invocation Objects3.1.53(m)AttributeFunction Invocation Local ReferenceSERVICESOps Service:IdentifyOps ServiceGet StatusOps service6Ops ServiceTerminateOps ServiceReject81.222 Identify、 Get Status服务属性List Of AP Service Attributes使用 Identify, Get Status服务,可以访问下列属性。否则它们是不能访间的Manufacturer IdentifierManufacturer Identifier由厂商名称、模型标识符、厂商修订版、以及可选的AP序列号。这些属性可以通过 Identify服务来读取Vendor Name该属性包含AP的制造厂商的名称Model ldentifier该属性规定了AP的模型Vendor Revision(厂商修订版此属性规定了制造厂高定义的AP修订版版本号。AP Descriptor Reference(AP描述符参考)该属性是AP的通用性描述的一个参考。描述符是一个AP的特性标识符,与AP的使用无关。因此,两个AP可以共享同一个通用性描述。该属性的值以及允许值的范围是由用户定义的。该属性用于Initiate服务。Network Access State网络访问状态属性定义了AP通信的能力。本章中规定了两个组件, Service Access Status和Operational Status。这些属性可以通过 Get Status服务来读取。在没有被请求的情况下,AP可以用SausNotification服务,选择报告以上属性。Service Access Status该属性包含AP通信能力状态相关信息。READY FOR COMMUNICATION:所有服务都可以正常使用LIMITED NUMBER OF SERVICES:在某些情况下可以支持服务的有限次数(如小设备)。LOADING-NON-INTERACTING:对象定义是在本地装载的进程中。因此, Begin SetJB/T103088-2005Attributes服务,直到本地装载全部完成并且状态已经改变的时候才能使用。LOADING- INTERACTING:对象定义是在通过网络装载的进程中(使用 Set Attributes服务)。在用于装载的AR中,只能使用如下的服务:Abort Get AttributesStatus Set AttributesIdentify End Set AttributesOperationalStatus此属性给出了实AP的运行状态,如下所示:OPERATIONALPARTIALLY OPERATIONALNOT OPERATIONALNEEDS MAINTENANCE81223系统管理属性( System management attributes)List Of System Management Attributes下列属性可以通过系统管理进行访问。它们被AP的所有ASE用于强制实施证实服务流的控制(详细情况请参考本标准第6部分的状态机)。否则它们是不可访问的。List of AR Endpoint Info该属性定义了与AP相关的AREP的数字标识符和其他组态信息(AP上下文属性)Numeric ID该属性规定了AREP的数字Configured Max FAL PDU Size Sending对于不分段的AR来说,该属性规定了能够从这个AREP发送出来的配置的最大八位位组的数量。其值等于数据链路服务数据单元最大的长度减去可以从这个AREP发送出来的长度。对于分段AR来说,该属性规定在这个AREP上传送的256字节段的最大数量。Configured Max FAL PDU Size Receiving对于不分段的AR来说,该属性规定了能够从这个AREP接收进来的配置的最大八位位组的数量。其值等于数据链路服务数据单元最大的长度减去可以从这个AREP接收进来的长度。对于分段AR来说,该属性规定在这个AREP上接收的256字节段的最大数量。Configured Max Outstanding Services Requesting( ConfigMaxOs Req该属性规定了该AREP作为客户角色时允许的未完成证实服务的最大数量。其值要在AR建立之前进行配置。此属性用于客户服务器和对等AR之间(即QUB),协调状态机发送事务的数量。Configured Max Outstanding Services Responding( ConfigMaxOsRsp)该属性规定了该AREP作为服务器角色时允许的未完成证实服务的最大数量。其值要在AR建立之前进行配置。此属性用于客户服务器和对等AR之间(即QUB),并协调状态机接收事务的数量。ist of Supported Services该属性规定了FAL作为请求者和响应者支持的服务。作为请求者支持,HAL为AP提供启动证实和无证实请求原语的能力,以及从FAL接收相应的证实服务的证实原语的能力。作为响应者支持,FAL为AP提供了递交证实和无证实服务指示原语的能力,以及从AP接收证实服务响应原语的能力。List of In-Use aR endpoint Info该属性规定了与AP相关的AREP的动态信息,这些ARFP是参与到已建立的ARI或与AR的建JBr103088-2005立过程有关的AR-IContext State该属性规定了AP看到的AREP的状态。其值如下CLOSEDOPENOPENING-REQUESTINGOPENING-RESPONDINGOutstanding services requesting counter (OsRegctr)该属性包含AR作为请求者的当前未完成的证实服务的数量。Outstanding services responding counter (OsRspCtr)该属性包含AR作为响应者的当前未完成的证实服务的数量。8.1224对象管理属性List of Managed aP Attributes该属性包含可通过管理ASE的服务访问的AP属性List of Supported APo Classes and Objects该属性包含由AP维护的对象定义List Header该属性描述了AP维护的对象定义的特性Numeric ID该属性是列表头的数字I。其值总为0ROM/RAM Flag当该属性为TRUE时,表示对象定义允许修改Max Name Length该属性规定了为这个AP定义的对象名称的八位位组的最大长度Access Protection Supported当该属性为TRUE时,表示支持访问保护。Version Of List该属性表示列表当前的版本。对象定义列表的每次更新,或是本地初始化,或是通过使用SetAttributes服务来更新版本号。List Local Reference此属性是一个有本地意义的列表的参考,如:地址。十六进制值 FFFFFFFF表示没有本地参考可用。XXX Object Class Supported Constraint该约束选出XXX指定的对象类。属性带有的约束应用于被选定的对象类的对象定义XXX Numeric ID该属性是通过约束选定的类的一系列对象中的第一个对象的数字I。被选定类的所有对象都包含在这个组中。数据类型的第一个数字ID总是为1。Number of xXX entries该属性规定了组中对象的数量XXX Local Reference该属性是描述系列中对象的对象定义的起始的一个参考。这个参考具有本地意义,如地址。十六进制值 FFFFFFFF表示没有本地参考可用。81225服务JBT103088-2005Identif该可选的服务用于向AP请求制造厂商的信息Get Status该可选的服务用于向AP请求网络可视的状态Initiate该可选的服务用于为一个应用关系打开AP上下文Terminate该可选的服务用于为一个应用关系突然关闭AP上下文。该服务由 AP ASE内部启动,用于指示接收到的证实服务请求APDU带有协议差错。8.1.23应用进程ASE服务规范81231支持的服务本条包含了服务的定义,这些服务是只有这个ASE才有的。为这个ASE定义的服务如下:Get StatuInitiateTerminateReject81232 Identify服务8.1.2321服务概述通过该服务可读取用于标识一个AP的信息。注:AP的属性行规号与 Initiate服务一起传输8.12322服务原语该服务的服务参数见表2。表2 Identify参数名称ReqCnfInvoke IDMM(=)Result (t)AREPM(=)M(=)Vendor nameM(=)Model IdentifierM(=)Vendor revisionM(=)Result(一S(=)AREPInvoke IDM(=)Error InfoM(ArgumentJBrT103088-2005Argument包含服务请求的参数。Result (+该选择类型参数指示服务请求已经成功Vendor Name该参数包含AP的厂商名称属性的值Model ldentifier该参数包含AP的模型标识符属性的值Vendor Revision该参数包含AP的厂商修订版属性的值Result(一)该选择类型参数指示服务请求失败812323服务规程66中规定的证实服务规程适用于本服务。8.1233 Get status服务812331服务概述通过 Get status服务可以读取设备/用户状态。8.12332服务原语该服务的服务参数见表3表3 Get status参数名称ReqIndRsCnfArgumentAREPMMMM(=)evoke idM(=)Result (+AREPService Access StatusM(=)Operational statusM(=)Local DetailUU(=)Result (-S(=)AREPInvoke IDError infoArgumentArgument包括服务请求的参数。Result (+该选择类型的参数指示服务请求已经成功Service Access status该参数包含AP的 Service Access status属性的值Operational StatusJB/T103088-200该参数包含AP的 Operational Status属性的值Local detail该参数包含用户定义的应用状态。Result (-该选择类型参数指示服务请求已经失败8.1233.3服务规程66中规定的证实服务规程也适用于本服务。81234 Initiate服务8.1.234.1服务概述该服务用于在通信AP之间建立一个上下文,以便在一个单一的AR中交换信息。 Initiate服务协商解决所支持的FAL服务、允许的最大未完成服务个数、PDU最大长度以及对象定义的当前版本。支持的FAL服务、允许的最大未完成服务个数、PDU最大长度是为ARFP配置的AP系统管理属性。8.12342服务原语该服务的服务参数见表4表4Inii参数名称CnfM(=)AREPVersion Object Definitions CallingAP Descriptor CallingAccess Protection Supported CallingM(=)Access Groups CallingM(=)Result (+S(=)AREPVersion OD CalledAP Descriptor CalledMAccess Groups CalledAREPError CodeM(=)Max PDU Length Receiving CalledFAL Features Supported CalledCArqumentArgument携带服务调用的参数。Version Object Definitions Calling该参数规定了客户的对象定义的版本。如果客户不包含对象定义,则其值为空JB/T103088-2005AP Descriptor Calling该参数包含了主呼AP的描述符参考属性的值。如果没有的话,其值为空Access Protection Supported Calling该参数包含了主呼AP的访问保护支持属性的值。如果没有的话,其值为空。Password Calling该参数规定了在这个AR中,服务器的所有对象用于访问使用的密码。如果在这个AR中不使用访问密码,则其值为空Access Groups Calling该参数规定了在特定访问组中的客户的成员。这些成员在这个AR中可以访问服务器的所有对象Result (+此选择类型参数指示服务请求已经成功Version Object Definition Called该参数规定了服务器的对象定义的版本Descriptor Called此参数包含了被呼AP的描述符参考属性的值。Access Protection Supported Called该参数包含了被呼AP的访问保护支持的属性的值。如果没有的话,其值为空。Password Called该参数规定了在这个AR中,客户的所有对象用于访问使用的密码。如果在这个AR中不使用访问密码,则其值为空。Access Groups called该参数规定了在特定访问组中的服务器的成员。这些成员在这个AR中可以访问客户的所有对象Result(一)该选择类型参数指示服务请求已经失败Error Cod该参数提供失败的原因原因Max FAL PDU Size Insufficient最大PDU长度不能满足通信要求Service Not Supported请求的服务或选项不被服务器支持User Initiate DeniedFAL用户拒绝建立连接Version Object Definition incompatible对象定义的被呼和主呼版本不兼容Password error与已经建立的一个AR具有相同的密码,或者密码无效AP Descriptor incompatible描述符不被服务器支持Othe除上述原因之外的其他原因Max PDU Length Sending Called该参数规定了在这个AR中可以处理的发送 FAL PDU的最大长度它应该由被呼FAL传输,并且仅仅是 Initiate, cnf原语的一部分。Max PDU Length receiving called此参数规定了在这个AR中可以处理的接收 FAL PDU的最大长度。如果支持的话,其应该由被呼FAL传输,并且仅仅是 Initiate cnf原语的一部分。FAL Services Supported Called该参数标识了服务器支持的可选的AL服务和选项(见AR列表)JBT103088-2005如果支持的话,其应该由被呼FAL传输,并且仅仅是 Initiate cnf原语的一部分8.1.234.3服务规程服务通过一个队列进行操作。请求用户递交服务请求原语给它的 FAL AE,同时启动一个相关定时器来监视这个请求。 AP ASE建立一个 Initiate Request APDU主体,并使用 AR Establish Service request原语将其传递到一个特定的AR中。它还创建了一个事务状态机在 AR Establish Service indication原语中收到一个 Initiate Request APDU主体后,响应 AP ASE将其解码。在对收到的APDU主体进行解码的时候,如果遇到一个协议差错,该ASE就用 AR Abort服务使这个AR夭折。如果没有协议差错发生,该ASE交付一个 Initiate service indication原语给它的用户。如果响应用户能够成功处理这个请求,用户返回一个 Initiate service response(+)原语。如果响应用户不能成功处理这个请求,服务失败,同时用户发布 Initiate service response(-)原语以指示失败原因。响应 AP ASE为一个 response(+)原语建立一个 nitiate service response APDU主体,或为一个response(-)原语建立一个 nitiate service error APDU主体,并且用一个 AR Establish service response原语将其传递到特定的AR中。在一个 AR Establish service confirmation(+或-)原语中收到返回的APDU主体以后,发起的ASE交付一个 Initiate service confirmation原语给它的用户,这个原语规定了成功或失败,如果失败,指出失败的原因。它还取消了相应的事务状态机。然而,如果AP的事务定时器在相应的响应或差错APDU收到之前溢出,AP可以采取矫正动作可能包括命令本地ASE取消事务状态机。给ASE的这些命令可以通过本地定义的接口进行。81235 Terminate服务8.1.23.51服务概述该服务用于释放AP之间现存的一个AR,或者终止一个包含在AR中的预订者接收者AREP8.12352服务原语该服务的服务参数见表5。表5 Terminate参数名称IndAREPM(=)Locally GeneratedTerminate IdentifierReason CodeTerminate detaiU(=)ArgumeArgument携带服务调用的参数。Locally Generated该参数指示终止是由本地进行的还是由通信伙伴进行的。如果 Terminate Identifier参数的值为FAL,并且 Reason Code参数的值为 AR Error,值 false是不允许的。Terminate ldentifier该参数指示检测到的终止的原因。可能的值如下所示:FAL USERJB/T103088-2005FAL APO ASEFAL AR ASEDLLReason Code该参数规定了终止的原因。如果 Terminate Identifier参数的值为USER,可能应用下列值原因含义FAL用户释放了连接ersion Object Definition incor对象定义的被呼和主呼版本不莱容Password Error与已经建立的一个AR具有相同的密码,或者密码无效服务器的描述符不被客户支持Limited Services PermittedAP处于 LIMITED-SERVICES-PERMITTED逻辑状态如果 Abort Identifier参数的值为FAL,可能应用下列值:原因含义AR ErrorAR有错误从FAL用户接收到不正确、未知或有错误的服务原语FAL PDU Error从 AR ASE接收到未知或有错误的 FAL PDUConnection State Conflict ar asel不正确的 AR ASE服务原语AR ASE Error未知的或有错误的 AR ASE服务原语PDU SizePDU长度超过PDU的最大长度Feature Not Supported服务器不支持从 AR ASE接收到的 SERVICE-REQ PDU和服务或选项(请参见在AR中 FAL Features Supported属性)Invoke ID Error Response从FAL用户接收到的 Confirmed service. rsp和 Invoke ID不存在,或从 AR ASE掇收到的 CONFIRMED SERVICE-RSP PDU和 woke id不存在Max Services Overflow从 AR ASE接收到的 CONFIRMED SERVICE-REQ_ PDU和未完成服务接收计数器≥最大的未完成接收服务数Connection State Conflict从 AR ASE接收到 NITIATE-REQ PDUService error响应中的服务与指示的服务不匹配,或者证实的服务与请求的服务不匹配Invoke ID Error Reques从 AR ASE接收到的 CONFIRMED SERVICE-REQ PDU和okID已经存在如果 Terminate Identifier参数的值为 AR ASE或DLL, AR ASE会提供 Reason Code参数Terminate Detail该可选参数包含关于天折原因的附加信息(最多16个八位位组)。一旦差错报告来自应用,差错的意义在行规中定义。812353服务规程66中规定的无证实服务规程也适用于本服务81236 Reject服务8.12361服务概述该服务用于通知远程端点已经检测到一个协议差错。如果接收到的一个APDU带有一个无效的服务类型代码, AP ASE就会产生这个 Reject服务。当另一个 APO ASE检测到协议错误,它就会在内部请求 AP ASE产生一个 Reject PDU812362服务原语JBT103088-2005该服务的服务参数见表6。表6 Reject参数名称IndArguMReject CodeM(=)Original Invoke IDOriginal PDU BodyUU(=)ArgumentArgument包括服务请求的参数。Reject Co该参数指示拒绝的原因。有如下的一些值。Unrted ServiceAR Not EstablishedAR Not DefinedMax Outstanding requests ExceededMax Pdu Size exceededDuplicate Invoke IDOriginal FAL Service Type该参数包含被拒绝的服务请求的服务类型。Original Invoke ID该参数包含被拒绝的服务请求的调用IDOriginal PDU Body该可选参数包含一些或者所有被拒绝的APDU的数据。包括的数据的数量由用户确定8.1.2363服务规程Reet服务是一个通过队列或缓冲来操作的服务。只能由 FAL AP ASE启动。任意一个 APO ASE,如果接收到一个含有协议差错的证实请求APDU, AP ASE就建立一个Rejequest APDU并且将它返回到特定的AR中接收到 Reject Request APDU后,接收的 AP ASE通过发布 confirmed send request原语的 FAL ASE交付一个 AR-Reject indication原语,同时它还向请求的用户发布一个否定证8.13应用关系ASE8.1.3.1概述8.1.3.1.1概要在分布式的系统中,应用进程通过充分定义的应用层通信通道进行应用层报文的交换,实现每个应用进程之间的通信。这些通信通道在FAL中被模型化为应用关系(AR)。根据有时间要求的系统特定的通信特性,AR负责在应用之间传递报文。这些特性的不同组合产生不同类型的AR的定义。AR的特性在形式上被定义为AR端点类的属性。由AR传递的报文是FAL服务请求和响应。每个报文由一个FAL应用服务元素(ASE)递交给ARASE用于传送, FAL ASE表述了被访问的APO的类。图14表示了这个概念根据AR的类型,APDU能够被发送到与AR连接的一个或多个目标应用进程中。AR的其他特性决定了APDU是怎样传送的。这些特性将在下面详细叙述。JBT103088-2005APO请求及响应FAL AEAL APO ASE实关服原语原语由 ARASE传递的APD图14 AR ASE在AP之间传递APDU1312端点上下文 Endpoint context8.1.3.12.1概要AR中的每一个AP包含一个AR端点。每一个AR端点在这个AP的AE内定义。它的定义,当与AR定义的其他端点的定义相结合时,为确保在端点内和端点之间通信的兼容性,每一个端点的定义包含一组与兼容性相关的特性。每个端点的这些特性需要进行恰当的配置,以便AR能够正确操作。端点定义还包含一组描述AR操作的特性。这些特性,当与那些用来规定兼容性的特性相结合时,这些特性定义为端点的上下文。 AR ASE用端点的上下文来管理端点的操作和APDU的传送。组成端点上下文的这些特性将在下面描述。8.1.3.1.22端点角色AREP的角色决定在这个AREP中AP的允许的行为。AREP的角色可以是客户、服务器、对等(客户和或服务器)、推式发布者、推式预订者表7和表8总结了每一个AREP角色的组合和特性。表7AREP角色与服务原语的传送ClientPush PublisherPush SubscriberSend service rXXRecv service ReqX「 Send Service rsXRecv Service Rsp表8一个AR中,AREP角色的有效组合AREP Roles by Interaction ModClientServer Peer Push Publisher Push SubscriberClientPublisher/subscriberPush PublisherPush SubscriberJBT103088-2005813123专用AR端点直接给FAL用户提供其服务的AR端点称为专用AR端点。尽管其行为与非专用端点是一样的,但是它们传递的APDU,除了AR控制域,不包含服务特定的协议控制信息。为专用AR配置的FAL用户,不需要使用其他 FAL ASE的服务就能构造和发送他们的数据。只有通过组态才可以知道在专用AR中传送的格式和内容8.13.124基数从客户或一个发布者端点的观点来看,一个AR的基数规定了在一个AR中包括多少个远程应用进程。从服务器或预订者的观点来看,不存在基数的概念当从一个客户或对等端点的观点来表述时,AR总是一对一的。客户永远不会具有发布一个请求然后等待多个服务器响应的能力。8.1.3.125传送模型8.1.3.1.2.5.1概要传送模型定义了在一个AR的两个端点之间,APDU是如何发送的。三个特性用于定义这些传送传递路径( conveyance paths)发起策略( trigger policy)传递策略( conveyance policy)8131252 Conveyance paths(传递路径)AR ASE的目的是在两个AR端点之间传送信息。信息传送是在一个AR的传送路径上发生的。传递路径是被端点用做输入或输出的单向通信路径。为了支持应用进程的任务,端点被配置一个或两个传递路径。只有接收或只有发送的端点被配置个发送或接收路径,而那些既接收又发送的端点被配置一个接收路径和一个发送路径。只有一个传递路径的AR称为单向AR,有两个传递路径的称为双向AR单向AR只有传送服务请求的能力。为了传送服务响应,必须是双向AR。因此,单向AR只支持单向无证实服务的传送,而双向AR支持由一个端点或两个端点发起的无证实和证实服务的传送。8.1.3.1.2.5. 3 Trigger policy发起策略指示数据链路层何时通过网络发送APDU。第一种类型称为用户发起。用户发起AREP交付 FAL APDU给数据链路层,以在最早的时机发第二种类型称为网络调度。网络调度AREP交付 AL APDU给数据链路层,以根据由管理配置的时间表进行发送。这个网络调度机制可以是周期性的也可以是一次性的。如果下层网络使用强制服务后有剩余的带宽,则网络调度AR还可以传递异步请求和响应。这些传送在调度传送之外发生,并且不是网络调度发起的。8.1.3.1.2.5. 4 Conveyance policy传递策略指示APDU是根据缓冲模式还是根据队列模式进行传送的。这些模型描述了APDU从发送者到接收者的传递方法。缓冲AR包含这样一种传递路径,其在每一个端点都有一个单独的缓冲。根据AR的发起方式,源缓冲更新的数据被传送到目的缓冲。对任一个缓冲的更新就是用新的数据代替缓冲原来的内容。在缓冲模式的AR中,被替代的未传递或者未交付的数据将会丢失。另外,包含在一个缓冲内的数据可以读取多次,不会破坏其内容队列模式AR包含这样一种传递路径,其在两个端点之间被看作一个队列。队列AR使用一个FFO队列来传递数据。队列AR是不能被覆盖的;新的条目一直在队列中,直到它们能被传递或交付出去。如果一个队列已经满员,则新的报文就不能进入队列JB/T103088-2005注:AR传递服务简要的描述为如下的方式:它们可以通过使用缓冲或队列实现操作。这些服务可以通过很多的方式来实现。如:这些服务可以这样实现,提供加载缓冲列的能力,随后交付给下层的数据链路层来进行传送或者,也可以这样实现,这些能力组合在一起,以便缓冲(队列可以在一个单一的请求下完成加载和传送。在接收方,这些服务可以在接收到数据的时候交付这些数据来实现的,或者通过指示已经收到这些数据并允许用户在一个独立的操作中重新找回这些数据来实现的。另一个选项是要求用户检测缓冲或队列是否已经被更新。8131.3下层通信服务8.1313.1概要AR ASE使用下层的数据链路层的能力传递 FAL APDU。某些特性用于描述这些能力。本条为这些特性进行了描述。这些特性是为本部分中的第6部分的数据链路映射规定的。它们的准确的规范可以参考本部分中的第6部分的数据链路映射813.132面向连接的服务下层可以通过提供面向连接的服务来支持AR端点。配置为通过面向连接服务来操作的端点,如果它们使用的连接不是预先配置为打开的连接,可以具有打开和关闭连接的能力。813133缓冲和队列服务下层可以通过提供缓冲或队列服务来支持AR端点。这些服务用于实现某些类的端点要求的缓冲或队列813134周期和非周传送下层可以通过提供周期或非周期的服务来支持AR端点下层还可以在同一对端点之间,在APDU周期传送的同时,并发地进行APDU的非周期传送8.13.14AR的建立对于一个应用进程使用的AR端点来说,相应的AR必须处于活动状态。当一个AR被激活的时候被称为“建立”AR的建立能由两种方式中的一种进行。第一种方式,AR能够被预先建立。预先建立意味着,当AP被连接到网络的时候,就创建了维护这个端点上下文的AE。在这种情况下,与这个AR有关的应用中的通信不用先明确的建立AR就可以进行。任意一个AR都可以定义为预先建立的。第二种方式,AR能够被预先定义,但不是预先建立。预先定义意味着,每个端点都知晓AR的特性,但他们的上下文还没有实现操作同步。在这种情况下,要求使用FAL建立服务来使它们同步并打开它们以进行数据传送8131.5应用关系类用一些特性的组合进行定义的AREP用于形成AR的不同的类。8132应用关系端点类规范81321形式模型AR端点形式模型定义了所有的AR端点公用的特性。这个类是不能被例示的。这个类只能由其子类以继承其属性和服务的方式来呈现,每一个子类在这个标准里都有单独的条进行规定。所有的AR端点属性都是通过系统管理进行访问,而不是通过在标准中定义的对象管理ASE的服务进行访问的。FAL ASEAR ASECLASSAR ENDPOINTCLASS IDPARENT CLASSTOPSYSTEM MANAGEMENT ATTRIBUTESAttributeLocal AP2(m)AttributeFAL RevisionJBT10308.8-2005AttributeDedicated (TRUE, FALSE)AttributeTransfer SyntaxSERVICESOpsServiceR-Unconfirmed sendOps ServiceAR-EstablishOps ServiceAR-Abort813.22系统管理属性Local ap该属性标识附属或配置的AP,该AP通过一个本地参考来使用这个AREPFAL Revision该属性规定了这个端点使用的FAL协议的修订版本的版本号。此修订版本版本号在所有被发送的FAL-PDU的AR的报头中。Dedicated该属性值为TRUE时,规定这个端点是专用的。当该属性值为TRUE时, ARASE的服务可以直接由FAL用户进行访问。Transfer Syntax此可选属性标识了AR中使用的编码规则。当不出现该属性时,使用本标准默认的FAL传送语81.323服务为这个类定义的所有的服务都是可选的。在定义类的一个实例时,至少应该选择其中的一个服务AR-Unconfirmed Send该可选的服务用于发送一个无证实的服务。AR-Establish该可选的服务用于建立(打开)一个ARAR-abort该可选的服务用于天折(突然终止)一个AR。8.133应用关系ASE服务规范81331支持的服务本条包含了服务的定义,这些服务是只有这个ASE才有的。为这个ASE定义的服务如下:AR-Unconfirmed SendAR-EstablishAR-AbortAR-Establish服务包含 FAL PDU主体,这个 FAL PDU主体在响应及证实原语中是 Result参数的一部分。这个 FAL PDU主体可能包含由FAL用户返回给 AR ASE的明确的肯定或否定的响应。因此,这些服务有一个单独的 Result参数,取代了公用的由FAL用户返回的传递肯定或否定响应所需的分开的Result(+)和 Result(-)参数。81332 AR-unconfirmed send服务8.1.3321服务概述该服务用于向 FAL APO ASE发送AR无证实请求APDU。AR无证实发送服务可以被一对一的双向AR的任一个端点请求,也可以被一对一的单向AR的服务器端点请求。813322服务原语该服务的服务参数见表9JBT103088-2005表9 AR-unconfirmed send参数名称MAREPFAL Service TypeFAL APDU BodyM(=)ArgumentArgument包含服务请求的参数FAL Service Type该参数包含被传递的服务的类型。FAL APDU Bod该参数包含APDU的服务相关的主体813323服务规程AR无证实发送服务是一个通过队列或缓冲进行操作的服务。请求 FAL ASE交付一个 AR-Unconfirmed send request原语给它的 AR ASE。这个 AR ASE建立个AR无证实发送请求APDU如果AREP是队列式的, AR ASE将用于交付的APDU以队列方式交给低层。如果AR是缓冲式的,AR ASE用服务原语中包含的APDU取代缓冲中原先的内容。如果AREP是用户发起的, AR ASE立即请求低层传送这个APDU如果AR是网络调度的, AR ASE请求数据链路层按照预定的时间表传送数据。数据链路映射指示 AR ASE如何与数据链路层协调进行数据传输的请求。注:传输时间表是由下层管理的,而不是 AR-ASE。详细情况请参见本标准的第3部分和第4部分。在接收到AR无证实发送请求APDU后,接收 AR ASE给合适的 FAL ASE递送一个 AR-Unconfirmedend indication原语,如FAL服务类型参数指示的那样。81.333 AR-establish服务8.1.33.3.1服务概述该证实服务在两个AR端点之间以成对的方式操作,用于同步它们的上下文,并且激活它们以便进行APDU的传送。端点上下文可以通过系统管理在建立期间或建立之前创建。813332服务原语该服务的服务参数见表10表10 AR-Establish服务参数名称ReqArM(=)User DataU(=)ResultAREPM(=)User DataU(=)JBrT1030882005Argument包含服务请求的参数AREP亥参数包含用于本地标识AREP已被建立的充分信息User Data该可选的参数包含用户提供的数据,这些数据与服务请求同时传递。Result该参数指示服务请求成功或者失败。AREP该参数包含用于本地标识AREP已被建立的充分信息User Data该可选的参数包含用户提供的数据,这些数据与服务响应同时传递。8.1.3333服务规程8.133331一对一 AR establishment当用于支持一对一AREP时,AR- Establish服务引起建立PDU在主呼和被呼 DLSAP之间的交换如图15所示。建立请求PDU从⊥呼 DLSAP AP发送封一个被呼DL证指示APDU包含与AREP相关的标识符AREP如架被呼AP处理建立请弘,其AREP返回一个建立响应PDUDLSAPDLSAP建立请求PDU建立响应PDU图15一对一AR的建立在接收到一个 AR-Establish request服务原语以后,主呼FAL发布一个建立请求APU到处理AR的建立的被呼 AP ASE。在接收到一个 Establish indication原语以后,被呼 AP ASE检查原语中规定的参数,并在 AR-Establish response原语中返回相应的响应。8.133332兼容的AREP类表11提供了可以通过 AR-Establish服务相关的AREP类的可能的组合,在这个表中, SERVER列包含一个“一",表示服务器AREP不能启动AR建立。表11相关AREP类的有效组合alling AREP RolePEERCLIENTSERVERCalledPEERAREPCLIENTNOYES如果被呼AP决定建立一个AR,它发布一个 AR- Establish response原语。FAL返回一个AR参数,这个参数用于表明由被呼服务用户形成这个AR。如果正在建立的AR使用面向数据链路层的连接并且被要求显性建立,则在建立响应APDU返回之前它已经被建立。然后被叫AP返回带有Rut(+)参数的建立响应APDU给主呼 AR ASE。主呼 AR ASE发布一个 AR-Establish confirmation原语,在这JBT103088-2005个原语中规定了这个AR的参数8133333冲突解决方法AR的正常建立符合用于证实服务的一般的时序。在这种情况下,当AR的每一个端点同时发布AR建立请求时,冲突就发生了。解决这个类型冲突的算法在本标准第6章中详细规定。81334 AR-abort服务8.1.3341服务概述FAL用户使用该服务来突然终止一个AR这个服务始终是成功的;一个天折请求或夭折请求APDU的接收者始终天折这个AR。该服务可以用在任意一个打开的AREP上,不管这个AR是预先建立的还是使用建立服务动态建立的。AR-abort服务用于命令 AR ASE突然终止一个AREP上的所有的活动,并且将其置于关闭状态。收到一个 AR-Abort request原语将使 AR ASE立即关闭这个ARE的上下文,并且向远程ARE发布一个 Abort Request APDU。收到一个 Abort Request APDU将使 AR ASE立即关闭 AR AREP的上下文,并且向用户交付一个 ARAbort request indicatior原语。每一个端点上下文的立即关闭将导致所有未完成的服务请求被清空。对于夭折了AR的 AR ASE,除了AR建立服务以外,其后来接收到的所有的服务原语和APDU都被丢弃。AR- abort服务可以在一对一关系中的任一个AREP中请求。当 AR ASE检测到不可恢复的通信失败时,也可以启动天折服务。在这种情况下, AR ASE交付个AR- Abort indication原语来通告用户这个失败并且关闭这个端点的上下文8.1.3342服务原语该服务的服务参数见表12。表12 AR-Abort参数名称M(=)AREPM(=)Locally GeneratedM(=)Reason CodeAdditional detailUU(=)ArgumentArgument携带与AR- Abort服务相关的信息Locally Generated该参数规定这个天折是否是本地发生的Originator该参数标识这个天折的始发者。它的有效值为DLL,FAL,或者 FAL-USER。参数值DLL不能用在请求原语中。Reason Code该参数指示夭折的原因。它可以由提供者或者用户提供。一个原因是这样定义的: AR ASE error.其他的原因代码的值可以由数据链路层或用户来提供Additional Detail该可选的参数包含与这个指示相伴的用户数据。使用时,在请求原语中提交的值在指示原语中无改变的交付。8.1.3.343服务规程JBT103088-2005夭折服务是一个通过队列或缓冲进行操作的服务。如果用户希望夭折一个AR,它就向它的 FAL AR ASE提交一个夭折请求原语。如果一个 AR ASE检测到一个不可恢复的本地错误或通信错误,它就向这个端点的用户交付一个天折指示原语。FAL AR ASE建立一个夭折请求APDU,并且将其传递给特定的AR。它还将AREP的状态转换成关闭状态。在收到一个夭折请求APDU后,每一个远程 AR ASE将其ARFP转换到关闭状态,同时向它的用户交付一个天折指示原语。81335AR- data-send-acknowledge服务该服务是为BAL定义的,向FAL用户提供一个透明的数据传送的服务。该服务能用于通过DLL交换任意数据。对于这个服务来说,没有特定的ARPM状态机可用。数据流由FAL用户来控制。表13 AR-Data-Send- Acknowledge服务参数参数名称M(=)Destination AddressMMMMM(=)Destination NodeSource nodeM(=)Destination SubnodeM(=)Protocol CodeMMMBlock NumberM(=)Result (+Destination AddressMSource subnodeResult(一)Destination AddressSource NodeError InfoArgumentArgument包含服务请求的参数Destination Address该参数包含被请求设备的逻辑目的地址。广播地址为FFFFSource Address该参数包含本地设备的逻辑源地址该参数包含被请求设备的目的节点JBT103088-2005Source Node该参数包含本地设备的源节点Destination Subnode该参数包含被请求设备的目的子节点Source subnode该参数包含本地设备的源子节点Protocol Co该参数规定了EAL用户协议Block Number该参数是该PDU分段的编号该参数包含必须交换的PDU。814变量ASE8.14.1概述在 INTERBUS环境中,应用进程包含远程应用能够读写的数据。变量ASE定义了应用数据的网络可视属性,并且提供了一组用于读、写和报告其值的服务独立变量用于规定对任意的BAL定义的或用户定义的数据类型的应用数据的访问。为访问独立变量定义的服务,能够用于访问变量的整体,或一个数组中的一个条目(每个变量),或一个结构中的一个字段(每个变量)。下面将介绍变量模型的形式模型,以及其服务的详细描述。本标准的第6章描述了其协议的抽象语法和规程。8142访问变量的必要条件一个变量值的结构是由它的数据类型定义的。一个变量的数据类型可以是任意一个有效的标准的或用户定义的数据类型。标准的类型以及定义用户类型的方法是由数据类型模型来规定的。8.1.43变量模型类规范8.1431简单变量类规范8.143.1.1简单变量形式模型FAL ASEVARIABLE ASECLASSSIMPLE VARIABLECLASS IDPARENT CLASSTOPATTRIBUTESAttributeAttributeAccess Privilege5.LAttributePassword(m)AttributeAccess Groups5.3ess rightsLocal detailSERVICESOpsService: ReadOps Service: WriteOps Service: Information ReportJBmT103088-20058.143.12属性Data Type该属性是一个 FIXED-LENGTH或 STRING数据类型的数字标识符Length该属性指示简单变量数据类型的长度。对于 STRING数据类型的变量来说,该属性用于定义以八位位组为单位的变量的最大长度。对于 FIXED-LENGTH数据类型的变量来说,该属性用于反映数据类型规定的变量的长度。Access Privilege该属性规定了为此变量定义的访问控制。它由如下属性组成Password该属性包含访问权限的密码。如果不用该属性的话,其值为空。Access Groups该属性标识八个用户定义的访问组中哪个组是为这个变量定义的。可以定义一个以上的访问组Access Rights该属性为变量定义了访问的类型。有效值如下:Right to Write for Access Groups〔对访问组进行写操作的权限)Right to Read for Access Groups(对访问组进行读操作的权限)- Right to Write for the registered Password(对注册密码进行写操作的权限)Right to Read for the registered Password(对注册密码进行读操作的权限);- Right to write for all communication partner.(对所有通信伙伴进行写操作的权限)Right to read for all! ComInunication partners(对所有通信伙伴进行读操作的权限)Local Detail该属性包含本地信息8.143.1.3服务为这个类定义的所有的服务都是可选的。当定义该类的一个实例时,必须支持至少一个服务Read读该可选的服务可以用于读取一个单个变量对象或者变量列表对象。该服务可以被用于客户/服务器的模式下的客户和服务器端。Write9写该可选的服务可以用于更新一个单个变量对象或者变量列表对象。该服务只可以被客户服务器模式使用。Information Repor信息报告该可选的服务是一个无证实的服务,可以用于报告变量或变量列表对象的值。该服务既可以用在客户}服务器模式下,也可以用在推式发布者/预订者模式下。8.14.32数组变量类规范8.1.432.1形式模型FAL ASEVARIABLE ASECLASSARRAY VARIABLECLASS IDPARENT CLASSTOPATTRIBUTES2(m)AttributeTypeJBT103088-2005mTypeData Type Format=FIXED-LENGTH STRING3.1(o)AttributeElement LengthAttributeNumber of elements6(m)Attributeccess Privilege6.1(m)Attribute:62(m)AttributeAccess Groups63(m)Access Rights7(m)Attributeocal DetailSERVICESOps ServiceReadOps serviceOps Service:Information Report8.14322属性Data Type该属性规定了数组元素的数据类型。Element Length该条件属性指示 ARRAY, FIXED-LENGTH或 STRING数据类型的数组元素的长度。对 STRING数据类型的数组元素来说,该属性用于定义一个以八位位组为单位的数组元素的长度。对 ARRAY或FLXED-LENGTH数据类型的变量来说,该属性用于反映数据类型定义的数组元素的长度。Number of elements该属性为被定义成数组的变量对象规定了数组元素的数量数组变量可以用两种方式中的一种方式进行定义。每一种方式及其属性的使用如下方法属性使用涉及用 ARRAY格式的数据类型反映为这个数组数据类型定义的数组元素的个数涉及用 FIXED-LENGTI或SRNG格式的数据类型规定为这个数组变量定义的数组元素的个数Access Privilege参见上面介绍的简单变量类中定义的这个属性及其组件的描述。Locat detail该属性包含本地信息8.14323服务参见上面介绍的简单变量类中定义的服务的描述。8.143.3记录变量类规范8.14.3.31形式模型FAL ASEVARIABLE ASECLASSRECORD VARIABLECLASS IDPARENT CLASSTOPATTRIBUTES2(m)Data Type3(m)Access Privies3.1(m)AttributePasswordJB/Tr103088-200532(m)AttributeAccess Groups3.3(m)AttributeAccess RightsAttributeList of Local detailSERVICESOpsServiceReadOps ServiceWriteOpsservice:Information Report8.14332属性Data Type该属性规定了数组元素的数据类型Access Privilege参见上面介绍的简单变量类中定义的这个属性的描述Password参见上面介绍的简单变量类中定义的这个属性的描述Access Groups参见上面介绍的简单变量类中定义的这个属性的描述。Access Rights参见上面介绍的简单变量类中定义的这个属性的描述。List of local detail该属性包括记录的每一个元素(字段)的本地细节814333服务参见上面介绍的简单变量类中定义的服务的描述。8.144变量ASE服务规范81441支持的服务本条包含了服务的定义,这些服务是只有这个ASE才有的。为这个ASE定义的服务如下:ReadWriteInformation Report变量服务操作特性的确定,一部分是由操作它们的应用关系决定的。8.1442Read服务8.1442.1服务概述该证实服务可以用于读取一个变量对象的值。该服务可以与被配置成支持客户服务器模式的应用关系一起使用。8.14422服务原语该服务的服务参数见表14。ArgumentArgument携带服务调用的参数。Variable Specifier该选择类型的参数规定了变量、变量列表、或者一个数组或记录变量的元素。Numeric Identifier该参数通过数字标识符(索引和子索引)来标识变量。Name该参数通过名来标识变量。JBT103088-2005表14Read服务参数参数名称RpArgumentAREPInvoke IDMM(=)Variable SpecifierM(=)Numeric IdentifierNameResult (+S(=)AREFsMMInvoke IDvalueSS(=)AREPevoke IDMMMError InfoM(二)Result(+)该选择类型参数指示服务请求已经成功。Value该参数包含读取的数值。对每一个变量来说,该参数包含变量的值。对于变量列表来说,该参数包含列表中每一个变量的值,这些变量在列表中是按它们在列表中出现的顺序连接在一起的。如果变鲑列表中的任意一个变量不能被读取,则服务失败。Result(一)该选择类型变量指示服务请求已经失败。8.144.23服务规程66中规定的证实服务的规程适用于该服务81443 Write服务8.1443.1服务概述该证实服务用于写一个变量的值8.144.3.2服务原语该服务的服务参数见表15。Argumentrgument包含服务请求的参数Variable Specifier该参数规定了变量、或一个数组或记录变量的元素。Numeric| identifier数字标识符该参数通过数字标识符(索引和子索引)来标识变量。Name名称该参数通过名来标识变量。JB/T103088-2005表15写服务参数参数名称ArgumentM(=)M(=)AREPInvoke IDM(=)Variable SpecifierNumeric IdentifierS(:S(=)AREPInvoke IDM(=Result t-jS(=)M(=)Invoke IDError InfoM(=)Value该参数包含要写入的值。对于变量来说,该参数包含变量的值。对于变量列表来说,该参数包含列表中每一个变量的值,这些变量在列表中是按它们在列表中出现的顺序连接在一起的。Result (+该选择类型参数指示服务请求已经成功。Result(一)该选择类型参数指示服务请求已经失败。8.14433服务规程66中规定的证实服务的规程适用于该服务。81444 Information Report服务8.1.444.1服务概述应用进程使用该无证实服务来报告接收到的AR指定的变量值8.14442服务原语该服务的服务参数见表16表16 Information Report服务参数名称ReqIndArgumentM(=)AREPMVariable specifierC(=)Numeric IdentifierNameValueMM(=JBT103088-2005ArgumentArgument包含服务调用的参数。Variable Specifier该选择类型参数规定了变量、或者一个数组或记录变量的元素。Numeric ldentifier数字标识符该参数通过数字标识符(索引和子索引)来标识变量。Name名该参数通过名来标识变量。Value该参数包含具体的值。对于变量来说,该参数包含变量的值。对于变量列表来说,该参数包含列表中每一个变量的值,这些变量在列表中是按它们在列表中出现的顺序连接在一起的8.1444.3服务规程66中规定的无证实服务的规程适用于该服务。815功能调用ASE8.151概述FAL功能调用模式定义了两个对象,无状态的动作对象和面向状态的功能调用对象无状态的功能调用,称为动作,调用以后就运行到完成为止,并且不能被中断。另外,一些微小的动作会返回一个值以响应它们正在被调用,其他的就不是这样。返回值的服务可以用来模拟软件function,那些不返回值的服务用来模拟软件 procedure。面向状态的功能调用,另一方面,在它们执行期间是可以受控的。一旦被调用,服务就被定义为暂停、继续、或者夭折。它们在启动时不会返回一个值作为响应。一旦一个功能调用已经启动,如果必须天折该功能调用的话,那么应该将其定义为面向状态的服务。面向状态的功能调用,表述了一个用户功能的特定调用的网络视图。如果用户功能能够同时被调用次以上,则每个调用都需要单独的功能调用对象来表述面向状态的功能调用,可以用于模拟软件进程或已经启动并受控的用户操作注:面向状态的功能调用的一个例子,是可以用于模拟用户操作,就像录像机的“ Playback"操作。一旦开始运行,回放操作可以被停止(暂停),并且以后可以继续。为了支持软件进程建模的概念,面向状态的功能调用的定义包含一些可选的属性,可以用于使其与加载区域对象联系起来本条的其余部分规定了类定义和面向状态 function invocation对象和无状态 action对象的服务8.1.52功能调用模式类规范8.1.521功能调用类规范8.1521.1类概述功能调用类模拟面向状态的功能调用。它可以用于模拟软件进程或者操作受控的用户功能8.1.5212形式模型FAL ASEFUNCTION INVOCATION ASECLASSFUNCTION INVOCATIONPARENT CLASSTOPATTRIBUTES1.PasswordAttributeAccess grouJB/r103088-2005AttributeAccess Rights(m)AttributeDeletable (TRUE, FALSE)(m)AttributeReusable (TRUE, FALSE) Default: TRUE(m)Function Invocation State(m)AttributeNumber of Related Objects In UseSERVICESrviceStart234Ops Service: StopOpsService:Resume8.1.52.1.3属性Access Privilege该属性规定了为功能调用定义的访问控制。由如下属性组成:Password该属性包含访问权限的密码。如果不用此属性的话,其值为空。Access Groups该属性标识八个用户定义的访问组中哪个组是为这个功能调用定义的可以定义一个以上的访问组。Access Rights该属性定义了功能调用的访问类型。有效值如下:访问组的删除权限(见注)。访问组的启动权限。访问组的停止权限。访问组的再继续权限访问组的复位权限。注册密码的启动权限。注册密码的停止权限注册密码的再继续权限注册密码的复位权限。所有的通信伙伴的启动权限。所有的通信伙伴的停止权限所有的通信伙伴的再继续权限。所有的通信伙伴的复位权限。注:如果功能调用对象是不可删除的,则删除权限是没有意义的。此权限需要使用对象管理删除服务,并不是功能调用类的操作服务。Deletable当该属性的值为TRUE时,指示这个功能调用可以通过删除服务删除。对于通过对象管理ASE创建服务而动态创建的对象来说,该属性的值总是TRUE。Reusable当该属性的值为TRUE时,指示功能调用可以被执行一次以上unction Invocation State该参数指示功能调用的当前状态。已经定义的一组枚举值,可以在AP内部扩展到本地使用,用于描述功能调用的瞬时状态。可是这些瞬时的状态值在网络上是不可见的。状态与导致转换的事件之间的JBT10308.8-2005转换是用户定义的。UNRUNNABLE该状态指示功能调用没有被执行并且也不可以被执行IDLE该状态指示功能调用目前没有被执行,但是可以被执行RUNNING该状态指示功能调用正在执行。STOPPED该状态指示一个功能调用的执行已经被挂起。STARTING该瞬时状态指示功能调用准备启动执行。功能调用在这个状态中是“准备开始运行STOPPING该瞬时状态指示功能调用的执行处于被停止的处理过程中,并且其上下文已经被保存。RESUMING该瞬时状态指示功能调用处于从先前保存的上下文返回到执行状态的处理过程中RESETTING该瞬时状态指示功能调用被复位为初始的上下文中并且已从执行中脱离。Number of Related Objects in Use该属性指示为功能调用定义的相关加载区域对象的编号,这个功能调用当前处于“使用中”状态。相关加载区域对象状态属性毎进入离开一次“使用中”状态,该属性就增1/减1。加载区域状态机给出了这些转换的限制。8.1.5214服务Start该可选的服务用于请求功能调用启动执行。如果没有出现该服务,就可以认为功能调用将通过本地方法来启动。该可选的服务用于请求功能调用停止执行。Resume该可选的服务用于请求功能调用继续执行。Reset该可选的服务用于请求功能调用返回到初始的上下文和状态。8.1522 Start服务8.1.5221服务概述该证实服务用于请求功能调用被启动8.1.5222服务原语该服务的服务参数见表ArgumentArgument携带服务调用的参数Key attribute该参数规定了功能调用对象的关键属性中的一个属性。Numeric Identifier该参数通过数字标识符(索引)来标识功能调用对象Name该参数通过名来标识功能调用对象。Result (+该选择类型参数指示服务请求已经成功Result (-该选择类型参数指示服务请求已经失败。JBT103088-2005表17 Start服务参数参数名称RspAREPInvoke IDRMMMMM(=)M(=)Numeric IdentifierS(=)Invoke IdAREPM(=)Invoke IDM(=)Error InfoMFunction Invocation StateC(=)Function Invocation State该条件参数包含功能调用的当前状态。只有差错代码指示一个对象状态发生冲突时才会出现这个参数8.1.5223服务规程66中规定的证实服务的规程适用于该服务。81523Stop服务8.15231服务概述该无证实服务用于停止一个功能调用,并保留其上下文以便可以继续执行8.1.5232服务原语该服务的服务参数见表18ArgumentArgument携带服务调用的参数Key Attribute该参数规定功能调用对象的关键属性中的一个属性。Numeric Identifier该参数通过数字标志符(索引)来标识功能调用对象Name该参数通过名来标识功能调用对象Result (+该选择类型参数指示服务请求已经成功Result(一)该选择类型参数指示服务请求已经失败。Function Invocation State该条件参数包含功能调用的当前状态。只有差错代码指示一个对象状态发生冲突时才会出现这个参数JBT103088-2005表18Stop服务参数参数名称AREPMMMMM(=)Key AttributeM(=)Numeric IdentifierNameResult(+)AREPMM(=)S(=)AREPError InfoFunction Invo81.5233服务规程66中规定的证实服务的规程适用于该服务。81.524 Resume服务8.1.5241服务概述该证实服务用于再继续一个已经被停止的功能调用的执行。当功能调用被停止后,可以使用保存的上下文来再继续执行这个功能调用。8.15242服务原语该服务的服务参数见表19。表19 Resume服务参数参数名称ReCnfM(=)AREPInvoke IDKey AttributeM(=)Numeric IdentifierMMMssS(=)Result (+S(=)AREPM(=)Invoke IDMM(=)ResultS(=)AREPInvoke IDError InfoMM(=)Function In vocation StateC(=)JBmT103088-2005ArgumentArgument携带服务调用的参数Key Attribute该参数规定了功能调用对象的关键属性中的一个属性Numeric Identifier该参数通过数字标识符(素引)来标识功能调用对象Name该参数通过名来标识功能调用对象Result (+该选择类型参数指示服务请求已经成功Result(一)该选择类型参数指示服务请求已经失败。Function Invocation State该条件参数包含功能调用的当前状态。只有差错代码指示一个对象状态发生冲突时才会出现这个参数8.1.524.3服务规程66中规定的证实服务的规程适用于该服务。8.1.525 Reset服务8.1.525.1服务概述该证实服务用于使用初始的上下文复位一个功能调用。其初始的上下文被定义为功能调用的上下文,后者是通过其初始化规程来进行设置的。8.1.5252服务原语该服务的服务参数见表20表20 Reset服务参数参数名称AMAREPM(=)Invoke idM(=)M(=)Numeric IdentifierNameResult (+S(=)AREPInvoke iDAREPM(=)Invoke DM(=)Error InfoM(=)Function Invocation StateCC(=)JBT103088-2005ArguArgument携带服务调用的参数。Invoke ID该参数标识服务的这次调用。该参数用于将服务请求与响应联系起来。因此,相同的 Invoke d的值不能同时标识两个未完成的服务。Key Attribute该参数标识了功能调用对象的关键属性中的一个属性。:Numeric ldentifier该参数通过数字标识符(索引)来标识功能调用对象Name该参数通过名来标识功能调用对象Result (+该选择类型参数指示服务请求已经成功Result(一)该选择类型参数指示服务请求已经失败unction Invocation State该条件参数包含功能调用的当前状态。只有差错代码指示一个对象状态发生冲突时才会出现这个参数815253服务规程第4条中规定的证实服务的规程适用于该服务8.1.53功能调用状态机表21给出了一个功能调用对象的状态转换。状态“ NON EXISTENT"指示对象不存在。因为属性会与对象一起被创建或删除,对于功能调用状态属性来说,不会将“ NON EXISTENT”定义为-个有效值(因此,当对象不存在的时候就没有值)。表21功能调用对象的状态转换「转换当前状态辜件5IDLEStart. IrSTARTING启动成功:例如相关加载区域对象处于 LOADED或 IN-USE状态对于功能调用对象,更新属性:Number of Related Object In UseSTARTIRUNNINGList of related Objects(如果支持)对于每个相关加载区域对象,更新属性:Number of Related Objects In UseList of related objects(如果支持)Start. Rsp (+)启动失败,没有破坏的:例如STARTING相关加载区域对象不处于 LOADED或 IN USE状态 Start, Rsp(-)启动失败,破坏的STARTINGUN-RUNNABLEStart. RspRUNNING Stop IndSTOPPINGJBT103088-2005表21(续)转换当前状态事件下一个状态停止成功:例如相关加载区域对象处于 IN USE状态对于功能调用对象,更新属性Number of Related Object In UseSTOPPINGList of Related Objects(如果支持)STOPPED对于每个相关加载区域对象,更新属性:Number of Related Objects In UseList of Related Objects(如果支持)停止执行失败,没有破坏的11STOPPINGRUNNINGStop. Rsp(-)停止失败,破坏的对于功能调用对象,更新属性Number of Related Object In UseList of Related Objects(如果支持)STOPPINGUN-RUNNABLE对于每个相关加载区域对象,更新属性:Number of Related Objects In UseList of Related Objects(如果支持)Stop. Rsp(-)13 STOPPED Resume IndRESUMING再继续成功:例如相关加载区域对象处于 Loaded或 In-Use状态对于功能调用对象,更新属性Number of Related Object In Use14IRESUMINGRUNNINGList of Related objects(如果支持对于每个相关加载区域对象,更新属性:Number of Related Objects In UseList of Related Objects(如果支持)Resume. Rsp(+)再继续失败,没有破坏的:例如加载区域处于 LOADED或ⅣNUSE状态RESUMINGSTOPPED再继续失败,破坏的对于每个相关加载区域对象,更新属性:16 RESUMINGUNRUNNABLENumber of Related Objects In UseList of Related Objects(如果支持)Resume. Rsp(-)JBrT103088-2005表21(续)转换当前状态事件下一个状态STOPPED Reset IndRESETTING复位成功, reusable=TRUE18RESETTINGIDLEReset.Rsp (+)位成功, reusable= false19 RESETTINGUNRUNNABLEReset. Rsp(+)复位失败,没有破坏的20RESETTINGSTOPPEDReset. Rsp复位失败,破坏的21RESETTINGUNRUNNABLE程序结束& Reusable= TRUE对于功能调用对象,更新属性:RUNNINGNumber of Related Object In UseDLEList of Related Objects(如果支持)对于每个相关加载区域对象,更新属性Number of Related Objects In UseList of Related Objects〔如果支持程序结束Reusable=false对于功能调用对象,更新属性:Number of Related Object In UseRUNNINGUNRUNNABLEList of Related Objects(如果支持)对于每个相关加载区域对象,更新属性:Number of Related Objects In UseList of Related Objects(如果支持程序停止对于功能调用对象,更新属性Number of Related Object In Use26RUNNINGSTOPPEDList of Related Objects(如果支持)对于每个相关加载区域对象,更新属性:Number of Related Objects In UseList of Related objects(如果支持8.2 AR821具有流控制的用户发起的双向队列式(QUB-FC)AR端点类规范JB/T1030882005821.1类概述该类是为支持使用队列的客户服务器模式的异步操作而定义的。它为采用无证实服务的应用层流控制的证实服务和无证实服务的传递做准备,并应用面向连接的数据连接服务进行交换。为每一个传送单独规定传送的数据链路优先级这个类的行为如下所述:希望传递一个请求APDU的 AR ASE用户,将这个请求APDU作为一个 AR ASE服务数据单元交付给它的AREP。发送请求APDU的ARFP,在下一个可能的机会,无证实确认的服务除外,将请求APDU交给它的下层网络排队等待发送。如果未完成服务的计数器已经达到了协商的最大值时,后来的请求APDU将被忽略。从其下层接收请求APDU的AREP,将接收到的请求APDU按照接收的顺序排队交付给它的ARASE用户。如果接收到的APDU包含一个无证实确认的请求,AREP向 AR ASE用户发布合适的指示并向下层发布一个UCA_ Ack Pu用于发送对于证实服务请求来说,接收请求APDU的AREP,从它的 AR ASE用户接受相应的响应APDU,并将其交给下层排队等待传送。发布请求APDU的AREP从其下层接收响应APDU,并将其按照接收的顺序排队交付给 AR ASE用户,并使对应的流控制计数器减1。下面描述这个AREP类的特征。角色客户服务器对等基数对82.1.2形式模型FAL ASEAR ASECLASSQueued User-triggered Bi-directional with Flow Control AREPCLASS ID46PARENT CLASSAR EndpointNETWORK MANAGEMENT ATTRIBUTES(m)attributRole(CLIENT, SERVER, PEER)mAttributeAREP StateAttributeRemote Address Configuration Type (LINKED)AttributeMaximum Outstanding Requests CallingAttributeMaximum Outstanding Requests CalledAttributeMax Outstanding Unconfirmed Requests Client(maxUCSC)7(m)AttributeMax Outstanding Unconfirmed Requests Server(maxUCSS)8(m)Maximum Outstanding Requests Client(maxOSCC)Attribute sMaximum Outstanding Requests Server(maxOSCS10(mn)AttributeInitiator (TRUE, FALSE)l1(o)Remote AP NameAttributeTransmit DL Mapping Reference13(m)ReferencCSERVICESOps ServiConfirmed SendJB/T103088-2005Ops ServiceUnconfirmed SendEstablishOps ServiceAbort821.3网络管理属性该属性规定了AREP的角色。有效值为PEER( CLIENT/SERⅤER):该类型的端点既可以作为客户或服务器来执行,又可以同时作为客户和服务器来执行。该类型的端点应该指示它们是否是AR建立进程的启动者CLIENT:该类型的端点向服务器发布证实的和无证实的服务 Request-APDU,并接收证实服务的SERVER:该类型的端点从客户接收证实的和无证实的服务 Request-APDU,并向客户发布证实服务 Response-APDU。它们还可以向客户发布无证实服务的 Request APDU。AREP State该属性规定了AREP的状态。该属性的值在第6部分中规定Remote Address Configuration Type该属性规定了如何配置AREP的远程地址。有效值如下:LINKED:“ LINKED”值指示 FALPDU的目的地已经被包括在DL映射中的 Remote DIsapAddress属性配置完成。(参见本标准的第6章)Max outstanding Requests Calling该属性指示AREP期望从远程AREP获得的响应的最大数量ax Outstanding Requests Called该属性指示AR端点期望从其本地用户获得的响应的最大数量lax Outstanding Unconfirmed Requests Client( maxUCSC)该属性指示AR端点期望从其本地用户获得的请求的最大数量。Max Outstanding Unconfirmed Requests Server(maxUCSS)该属性指示AREP期望从远程AREP获得的请求的最大数量Maximum Outstanding Requests Client (maxOSCC)该属性指示AREP期望从远程AREP获得的响应的最大数量Maximum Outstanding Requests Server(maxOSCS)该属性指示AR端点期望从其本地用户获得的响应的最大数量。Initiator当该属性的值为TRUE时,指示端点已经被配置成用于启动AR的建立。AR中有且仅有一个AREP能够被用做启动者。当该AREP为一个客户时,该属性的值总是为TRUE。当该AREP为一个服务器时该属性的值总是为 FALSE。当该AREP为对等时,只要在AR中的ARFP没有被配置为启动者,其属性的值可以为TRUE也可以为 FALSE。Remote AP Name该可选的属性规定了在远程AREP绑定的AP的名Transmit DL Mapping Reference该属性为这个AREP的发送传递路径的下层数据链路层映射提供参考。数据链路层的DL映射(参见第3部分)在第6部分中规定。Receive DL Mapping Reference该属性为这个AREP的接收传递路径的下层数据链路层映射提供参考。数据链路层的DL映射(参见第3部分)在第6部分中规定JB/T103088-2005CIU该属性(CU- Control Interval User-triggered用户发起的控制间隔),包含监视用户发起的连接的控制间隔。该属性由网络管理来设置,由ARM来使用。如果该属性包含不为0的值,那么当 AR ASE用户在控制间隔(CIU/3)中没有任何服务通过的时候,ARPM就会传送一个 Idle Pdu8214服务Confirmed Send该可选的服务用于在一个AR中发送一个证实的服务。Establish该服务用于建立一个ARAbort该服务用于断开一个Unconfirmed Send该服务用于在一个AR中发送一个无证实的服务822网络调度单向缓冲(BNU)AR端点类规范822.1类概述这个类被定义成支持“推”模式,用于一个或多个应用进程的无证实服务调度的缓冲的分配。该类型的AR的行为描述如下希望传递一个请求或响应APDU的 AR ASE用户,将这个请求或响应APDU作为 AR ASE服务数据单元递交给它的AREP用于分配。发送这个请求或响应APDU的AREP,将这个请求或响应APDU写人数据链路层缓冲区,完全替代缓冲区中现存的内容。数据链路层用下一个调度的传送杋会将缓冲区的内容传送出去。无论有没有从本地或网络接收到一个传送请求,缓冲区的内容也可以传送出去。注:无调度的发送请求对该类型的AR的行为没有任何影响。它们被作为不妨碍该类型AR的行为的“ out of band来处理。如果发送APDU的AREP在发送缓冲区的内容之前,接收到了另一个APDU,缓冲区的内容将被新的APDU覆盖,先前的APDU将丢失。在缓冲区中的内容被发送出去之后, AR ASE就会通告用户已发送出去。在接收端点,从网络上接收到APDU以后,立即写入缓冲区,完全覆盖缓冲区中现存的内容。端点通告用户APDU已经到达,并且通过本地用户接口把它交付给用户。如果在下一个APDU到达时当前的APDU还没有交付出去,则当前的APU将被新的APDU所覆盖,当前的APDU将丢失。个接收缓冲传输的BAL用户,可以稍后请求接收当前缓冲的APDU8.222形式模型FAL ASE:AR ASECLASSBuffered Network-Scheduled Uni-directional AR EndpointCLASS ID:PARENT CLASSAR EndpointNETWORK MANAGEMENT ATTRIBUTES1(m)AttributeRole( PUSH PUBLISHER, PUSH SUBSCRIBER)2(m)AttributeAREP StateRole = PUSH SUBSCRIBER3(m)AttributeDL Mapping ReferenceSERVICESUnconfirmed Send3(0)Get Buffered MessageJB/T103088—20058223网络管理属性Role该属性规定AREP的角色。其有效值如下:PUSH-PUBLISHER该类型的端点通过发布无证实服务请求APDU来发布其数据。PUSH-SUBSCRIBER该类型的端点接收在证实服务响应APDU中发布的数据。AREP State该属性规定了AREP的状态。该属性的值在本标准的第6章中规定。DL Mapping Reference对于PUSH- PUBLISHER AREP来说,该属性规定传输传递路径的映射。对于 PUSH-SUBSCRIBERARFP来说,该属性规定接收传递路径的映射。数据链路层(第3部分)的DL映射属性在第6部分中规定。8224服务Unconfirmed Send该可选的服务用于在AR中发送一个无证实的服务Get Buffered Message该本地服务用于从AR使用的缓冲区中重新找回一个APDU823用户发起的双向透明队列式( QUB-TM)AR端点形式模型8231描述该类被定义用于支持使用队列的发布者预订者模式的异步操作。它为通过通信系统交换的任意的数据提供一个传递路径这个类的行为如下所述一个希望传递请求APDU的 AR ASE用户,将这个请求APDU作为一个 AR-Data-Send- Acknowledge服务提交给它的AREP。发送请求APDU的AREP,在下一个可能的机会,将请求APDU交给其下层排队等待传送。如果未完成服务的计数器已经达到了协商的最大值,后面的请求APDU将被忽略从其下层接收请求APDU的AREP,将接收到的请求APDU按照接收的顺序排队交付给它的ARASE用户下面描述了这个AREP类的特征。Roles PUSH PUBLISHERPUSH SUBSCRIBERCardinality一对8.232形式模型FAL ASE:AR ASECLASSQueued User- triggered Bi-directional Transparent Mode AREPCLASS IDPARENT CLASSAR EndpointNETWORK MANAGEMENT ATTRIBUTESAttributeRole(PUSH Publisher, PUSH SubscriberAttributeMaximum Outstanding Requests CallingMaximum Outstanding Requests Called4(m)Transmit DL Mapping ReferencemAttributeReceive DL Mapping ReferenceSERVICES1(m)Ops ServiceR-Data-Send-AcknowledgeJB/T103088-20058233网络管理属性82.3.3.1Role该属性规定了AREP的角色。其有效值为:PUSH PUBLISHER:该类型的端点通过发布 AR-Data- Acknowledge service Request-APDU来发布它们的数据。PUSH SUBSCRIBER:该类型的端点接收在 AR-Data-Acknowledge service Request-APDU中发布的数据。8. 2.3.3.2 Max outstanding requests calling该属性指示AREP期望从远程AREP获得的请求的最大的数量8. 2.3.3.3 Max outstanding requests called该属性指示AR端点期望从它的本地用户获得的请求的最大的数量8. 2.3.3.4 Transmit DL mapping reference该属性为这个AREP的发送传递路径的下层数据链路层映射提供参考。数据链路层的DL映射(见第3部分)在第6部分中规定。8. 2.3. 3.5 Receive DL mapping reference该属性为这个AREP的接收传递路径的下层数据链路层映射提供参考。数据链路层的DL映射(见第3部分)在第6部分中规定8234服务AR-data-send-acknowledge该服务用于在AR中交换PDU。83FAL类描述本条包含定义的FAL类描述。类D值的分配与现行的标准兼容。表22提供了类的描述表22FAL类描述fAL aSEClass idApplication ProceApplication Proces16Data TypeFixed Length String Data TypeStructure Data Typetion relationshiBNUQUB-FCQUB-TMVariableFixed Length String variableArray variableData Structure VariableFunction Invocation Function Invocation84AREP角色许可的FAL服务表23定义了服务和AREP角色的有效组合(有特定角色的APDU和AREP能够发送或接收的服务)。Unc和Cnf列指示在左列中列出的服务是无证实的(Unc)还是证实的(Cnf)BT103088-2005表23AREP角色的服务erverPush Publ Push SubscFAL Servicesreq icvreq rcY req rcvGet AttributesAP ASEIdentifyXxxxGet StatusInitiatexxxxxxxxAR ASEAR-Unconfirmed SendAR-EstablishxxxxXXR-Data-Send- AcknowledgedVariable ASEWritexxInformation ReportFunction Invocation ASEtopxxxxxxxxxxxxxxxxxxResumeResetICS25,040N10中华人民共和国机械行业标准JBT103088-2005测量和控制数字数据通信工业控制系统用现场总线类型8: INTERBUS规范第6部分:应用层协议规范Digital data communication for measurement and control-Fieldbus for use in industrial control systems-Type 8: INTERBUS specificationPart 6: application Layer protocol specification2005-05-18发布2005-11-01实施中华人民共和国国家发展和改革委员会发布JB/T103088-2005目录前言…280引言1范围.2822规范性引用文件2823术语和定义…31GB/938711998的术语和定义3.2GB/15695的术语和定义28333GB/1716-1997的术语和定义…28334GB16262-1996的定义和术语.3.5GB/T16263的术语和定义…36第5部分的术语和定义28437 INTERBUS应用层特定的术语和定义…·,符号和缩略语有年生约定28751一般概念8752类别定义约定28753抽象语法约定1:28754用于状态机的约定2876 INTERBUS应用层协议6.FAL语法描述…62传输语法.30363协议机概述( Protocol machine)64应用进程上下文状态机( AP-Context)65FAL服务协议机(FSPM)33366应用关系协议机(ARPM)……3386.7DLL映射协议机…383图1应用层与其他层之间的关系…281图2APDU概述303图3 APDU Header……图4PDU类型扩展图5PDU地址扩展30图6PDU类型和地址扩展304图7一个 Establish- Request PDU的示例304图8一个PRⅣATE标签值的编码图9一个上下文的特定标签值的编码.图10标识信息域…11305图11标签值为0~14,长度为0~6的 ID-info…图12标签值为15~25,长度为0~6的 ID-infoJB/T103088-2005图13标签值为0~14,长度为7~255的 ID-info…图14标签值为15~255,长度为7~255的 ID-info图15布尔量值为TRUE的编码…图16布尔量值为 FALSE的编码图17字符串的编码图18二进制日期的编码.307图19带世纪二进制日期的编码和丰丰图20日时的编码图21时差的编码图22计时的编码图23对象定义的结构的例子…310图24协议机之间交换的原语…310图25AP启动 AP-Context的状态机图26FPM状态转换图335图27 QUB-FC ARPM的状态转换图图28 BNU ARPM状态转换图…图29 QUB-TM AREP状态转换图…38I图30DMPM状态转换图表1用于状态机的约定表2 FAL-user向 AP-Context发布的原语++++310表3 AP-Context向 FAL-user发布的原语311表4 AP-Context状态机发送方状态转换表5 AP-Context状态机接收方状态转换….18表6 ResetArep功能……“331表7 ApContextTest功能表8 ServicesSupportedTest功能…表9 ApExplicitConnection功能…,,,...331表10 Immediate Acknowledge功能表11 Confirmed Servicecheck功能表12 Uncon firmed Service Check功能.33l表13 ArServiceCheck功能表14 ArFspmService功能…∴.32表15 ArAccee Supported功能,,,332表16 MaxFalPduLengthTest功能表17 Negotiate Outstanding Services功能表18 RequestedServices SupportedTest功能………表19 Indicated Services SupportedTest功能333表20 InvokeldExistent功能.333表21 Same Service功能.表22 AP-Context向FSPM发布的原语333表23FSPM向 AP- Context发布的原语表24FSPM状态表发送方状态转换335表25FSPM状态表接收方状态转换337JB/T103088-2005表26 SelectArep功能…338表27FSPM发布给ARPM的原语.338表28ARPM发布给FSPM的原语表29FSPM和ARPM交换原语参数…""…""……39表30 QUB-FC ARPM状态……表31 QUB-FC ARPM状态表一发送方事务处理…表32 QUB-FC ARPM状态表一接收方事务处理…,………349表33 GetArepld()功能表34 BuildFAL-PDU功能w“+++++++,““““*表35 FAL_ Pdu_ Type功能,3568表36 AREPContextcheck()功能……表37 Abortldentifier功能表38 AbortReason功能表39 AbortDetail功能369表40 StartTimer功能…表41 StopTimer功能…表42 ResetCounters功能表43 IncrementCounter功能表44 DecrementCounter功能370表45 GetCounter value功能37表46FSPM发布给ARPM的原语370表47ARPM发布给FSPM的原语…370表48FSPM和ARPM之间交换的原语使用的参数…371表49 BNU ARPM状态表50 BNU ARPM状态表一发送方事务处理.373表5! BNU ARPM状态表一接收方事务处理表52 GetArepld()功能……,,,,44中,“378表53 BuildFAL-PDU功能378表54 FAL Pdu_Type功能……378表55 Abortldentifier功能378表56 Abortreason功能,378表57 AbortDetail功能379表58FAL发布给ARPM的原语379表59ARPM发布给FAL的原语表60FAL和ARPM之间交换的原语所用的参数…379表61 QUB-TM ARPM状态表62 QUB-TM状态表一发送方事务处理381表63 QUB-TM状态表一接收方事务处理…………381表64 GetArepld()功能…表65 BuildFAL-PDU功能…表66 FAL- Pdu_Type功能……………表67 ResetCounters功能…表68 IncrementCounter功能…383JBT103088-2005表69 Decrement Counter功能383let Countervalue功能.表71ARPM发布给DMPM的原语表72DMPM发布给ARPM的原语384表73ARPM和DMPM之间交换的原语所用的参数.表74 INTERBUS数据链路层与DMPM之间交换的原语.,385表75DMPM状态描述…表76DMPM状态表一发送方事务处理…386表77DMPM状态表一接收方事务处理…表78 PickArep功能表79 FindAREP功能表80 SelectNextArep功能表81 ArepRole功能表82 FalArHeader功能表83 AddUcsPduHeader功能395表84 Remove header功能表85 DILink Status功能395JBT103088-2005前言本部分是JBT103088《测量和控制数字数据通信工业控制系统用现场总线类型8: INTERBUS规范》的第6部分。JB/T103088-2005引言INTERBUS是数字的串行通信系统,用于控制系统(如可编程序控制器)与工业传感器和执行器类现场设备之间的通信。这些设备包括简单限位开关和阀门,以及测量传感器、测量变送器与执行器还可以包括复杂的高技术控制系统,如控制驱动、扭矩及过程的控制器等。它是优化的(但不仅限于)工厂自动化应用系统。本部分描述了 INTERBUS应用层协议( AL-protocol),它和 INTERBUS规范系列的其他部分相关INTERBUS规范系列是由建立在开放系统互连基本参考模型之上的“三层”现场总线参考模型定义的这两种参考模型都把可互连的标准化的区域细分为一系列规范的、大小易于管理的层。AL- protocol为支持应用服务定义了应用实体调用(AEls)之间交换的信息和交互作用。 AL-protocol通过使用数据链路层或其他直接地更低层的可用的服务提供应用服务。不同层之间的关系如图1所示层服务应川层数据链路数据链路层物理层图1应用层与其他层之间的关系注:本标准中使用的系统管理,是管理各层协议的一个本地机制。个应用进程使用 INTERBUS应用层服务与其他应用进程进行信息的交换。应用层服务定义了应用进程与应用层之间的抽象接口。应用层通过应用层协议实现应用层服务定义。 AL-protocol是一组规则,管理不同设备的应用层之间交换的信息的格式和含义。协议机定义了一个应用层的各种各样的状态以及状态之间的有效的转换。它可以被成为一个有限状态机。协议机是通过状态表进行描述的。应用进程和协议机之间通过应用服务数据单元进行信息的交换。协议机与其他协议机之间通过应用协议数据单元(APDU)进行信息的交换。JB/T10308.8-2005测量和控制数字数据通信工业控制系统用现场总线类型8: INTERBUS规范第6部分:应用层协议规范1范围本部分描述 NNTERBUS应用层协议,为了提供第5部分定义的应用层服务,这些协议是必需的。应用层协议规定了远程应用之间的交互作用,它借助于:用于应用层协议数据单元(APDU)的编码规则这些APDU的通用抽象语法定义;以正确的顺序处理APDU和原语的协议状态机描述送至和来自数据链路层服务的APDU的映射,数据链路层服务由本标准第4部分定义。本部分的目的是定义协议,该协议提供给:现场总线参考模型应用层和数据链路层之间边界处的现场总线数据链路层现场总线参考模型应用层和系统管理之间边界处的系统管理。2规范性引用文件下列文件中的条款通过JBT103088的本部分的引用而成为本部分的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本部分,然而,鼓励根据本部分达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本部分GB/T9387.1—1998信息技术开放系统互连基本参考模型第1部分:基本模型( idt ISO/IEC7498-1:1994)GB/T15695-1995信息处理系统开放系统互连面向连接的表示服务定义( idt Iso8822:1998)GB/Tr16262-1996信息处理系统开放系统互连抽象语法记法一(ASN.l)规范( idt ISO8824:1990GBT16263—196信息处理系统开放系统互连抽象语法记法一(ASN.)基本编码规则规范( idt Iso8825:1990)GBT17176-1997信息技术开放系统互连应用层结构( idt ISO/IEC9545:1994)GBT17967-2000信息技术开放系统互连基本参考模型OSI服务定义的约定( idt Iso/tec0731:1994)3术语和定义下列术语和定义适用于本标准。31GB/9387.r-1998的术语和定义本部分是基于GBT9387.1中的概念,并使用其中定义的下列术语3.1.1应用实体 application entity3.1.2应用进程 application processIBrT1030882005应用协议数据单元 application protocol data unit3.14应用服务元素 application service element3.1.5应用实体调用 application entity invocation3.1.6应用转换 application transaction3.1.7传送语法 transfer syntax32GB/15695的术语和定义本部分还使用GB/T15695中定义的下列术语。抽象语法33GB171761997的术语和定义本部分还使用GBT17176199中定义的下列术语3.3.1应用上下文 application-cont3.32应用进程类型 applie333应用服务元素 application service-element3.3.4应用控制服务元素 application control service element34GB/16262-1996的定义和术语本部分还使用GBT16262-1996中定义的下列术语3.4.1对象标识符 object identifier3.4.2类型ty34.3值 value3.4.4简单类型 simple type3.4.5结构类型 structured type34.6组件类型 component type34.7标签tag348布尔类型 Boolean type3.4.9真trueJBT103088-20053.4.10假false34.11整数类型 integer typ3.4.12位串类型 bitstring type3.4.13八位位组串类型 octetstring type3.4.14空类型 null type3.4.15序列类型 sequence type3.4.16类型的序列 sequence of type34.17选择类型 choice type34.18标签类型 tagged type34.19任意类型 any type34.20模块 module34.21产品 production35GBT16263的术语和定义本部分还使用GB/T16263中定义的下列术语3.5.1编码(用于数据值) encoding( of a data value)352数据值 data value353标识符八位位组 Identifier Octets注:本标准中使用了单数形式354长度八位位组 Length Octet(s)注:本标准中使用了单数和复数形式。355内容八位位组 Contents Octets36第5部分的术语和定义本部分还使用JB103088的第5部分中定义的下列术语36.1应用关系 application relationshipJB/T10308820053.6.2传输路径 conveyance path3.63客户 client364专用 ar dedicated AR3.6.5差错类别 error class3.66差错代码 error code3.67名name368数字标识符 numeric identifier3.69对等peer3610预定义AR端点 pre-defined AR endpoin3.6.11预建立AR端点 pre-established AR ende36.12发布者 publisher预订者 subscriber3.6.14服务器 server3.7 INTERBUS应用层特定的术语和定义本部分还使用下列术语和定义。3.7.1被呼 called接收一个指示原语或请求APDU的服务用户或服务提供者3.72主呼 calling发起一个请求原语或请求APDU的服务用户或服务提供者3.7.3管理信息 management information支持现场总线环境管理的可通过网络访问的信息3.7.4接收 receiving接收需证实原语或无需证实原语的服务用户,或接收需证实APDU或无需证实APDU的服务提供者3.7.5源 resource源是具有处理或信息能力的子系统JB/T103088-200537.6发送 sending发送需证实原语或无需证实原语的服务用户,或发送需证实APDU或无需证实APDU的服务提供4符号和缩略语AEAation Entit应用实体AE-IApplication Entity Invocation应用实体调用ALApplication Layer应用层APApplication Process应用进程Prefix for Data types defined for AP AsE为 AP ASE定义的数据类型的前缀APDUApplication Protocol Data Unit应用协议数据单元ARApplication Relationship应用关系AREPApplication Relationship End Point应用关系端点AApplication Service Element应用服务元素ASN.1Abstract Syntax Notation One抽象语法表示Cnfconfirmation primitive证实原语数据链路DLCData Link Connection数据链路连接DLCEPData Link Connection End Point数据链路连接端点DLPDUData Link Protocol Data Un数据链路协议数据单元DLSAP Data Link Service Access Point数据链路服务访问点DLSDUData Link Service Data Unit数据链路服务数据单元ErrError (used to indicate an APDU type差错(用于指示一个APDUFALFieldbus Application Layer现场总线应用层F1Prefix for Data types defined for Function Invocation ASE为功能调用ASE定义的数据类型的前缀Prefix for Data Types defined for general use为通用使用定义的数据类型的前缀Identifier标识符Intemational Electrotechnical Commission国际电工委员会input primitive输入原语Ind指示原语International Organization for Standardization国际标准化组织Lsbleast significant bit最低有效位MnPrefix for Data Types defined for Management ASE管理ASE定义的数据类型的前缀Msbnost significant bit最高有效位输出原语Open Systems Interconnection开放系统互连PDUProtocol Data Unit协议数据单元JB/T103088-2005QOSQuality Of Service服务质量RRequest(used to indicate an APDU type请求(用于指示APDU类型)R请求原语RspResponse (used to indicate an APDU type响应(用于指示APDU类型)Rsp响应原语SAPService Access point服务访问点SDUService data Unit服务数据单元Prefix for Data types defined for Variable ase为变量ASE定义的数据类型的前缀5约定5.1一般概念应用层定义了一组面向对象的ASE。每个ASE由一个单独的子段进行规定。每个ASE规范由下面3部分组成:它的类别定义;它的服务;它的协议规范。前面两部分包含在本标准的第5部分中。每个ASE的协议规范在本标准进行定义类别定义定义了每个ASE支持的类别的属性,通过使用本标准第5部分规定的管理ASE服务,可以在类别的实例中访问这些属性。服务规范定义了ASE提供的服务。本标准使用了GBT17967-2000约定的一些描述性约定52类别定义约定数据链路层的映射定义使用模板进行描述。每个模板由一个类别的属性的列表组成。模板的通用形式在本标准第5部分中进行定义。5.3抽象语法约定使用“ optionalParametersMap"参数时,对应于每个 OPTIONAL或 DEFAULT生产的比特编号作为注释给出54用于状态机的约定状态机的描述见表1。表1用于状态机的约定当前状态事件条件→动作下一个状态触发该状态转换的事件或条件应用该状态转换时→该转换的动作发生以后的该转换的名称的当前状态满足上述事件或条件时发生的动作,这个动作始下一个状态是在事件或条件下发生的用于状态机的约定如下=表示右边的项目值取代左边的项目值。如果右边的项目值是一个参数,这个参数来自一个输入事件的原语。XxX表示一个参数名例如Identifier: =reason表示“ reason”参数的值赋值给名为“ Identifier”的参数JBT103088-2005xXX”表示固定的值例如Identifier:=“abc表示将值“abe”赋值给一个名为“ Identifier”的参数。表示左边的项目值等于右边的项目值表示左边的项目值小于右边的项目值>表示左边的项目值大于右边的项目值。<>表示左边的项目值不等于右边的项目值。&&逻辑“与”逻辑“或”这个结构允许在一个转换范围内,执行一个周期中的一系列动作。从起始值开始到结束值为止,周期执行所有的值例如for Identifier: =start value to end value)actions在一个转换的范围内,这个结构允许根据一些条件(条件可能是一些标识符的值或前一个动作的输出结果)有选择的执行动作例如If (conditionactionsIseactIonsendif为了更好的理解协议机,强烈建议读者参考AREP属性定义,本地功能和 FAL-PDU定义的子条款需要强调的是,在这里已经假定读者已经对这些定义有足够的认识,因此这里不再进行进一步说明6 INTERBUS应用层协议6.1FAL语法描述611FAL- AR PDU抽象语法6.1.1.1上层定义这里定义的内容将用于APDU编码的外围编码规则(见622)APDU ::= CHOICE[PRIVATE O] ConfirmedSend-RequestPDUPRIVATE 1] ConfirmedSend-ResponsePDU[PRIVATE 2] UnconfirmedSend-PDU[PRIVaTE 3] UnconfirmedAcknowledgedSend-CommandPDU[PRIVATE 4] Establish-RequestPDU[PRIVATE 5] Establish-ResponsePDU[PRIVATE 6] Establish-ErrorPDUPRIVATE 7] Abort-PDU,[PRIVATE 8] DataSendAcknowledge-PDUJBTr103088-20056.1.12需证实发送服务( Confirmed send service)ConfirmedSend-RequestPDU: SEQUENCE[APPLICATION 0] AddressAREPConfirmedServiceRequestConfirmedSend-ResponsePDU = SEQUENCELAPPLICATION 1] AddressAREPInvokeDpduBody CHOICEConfirmed ServiceError6.1.1.3无需证实发送服务( Unconfirmed Send Service)UnconfirmedSend-PDU: =SEQUENCE[APPLICATION 2] Address AREPpduBody CHOICE iUnconfirmedserviceRequestUnconfirmedSendPD-PDU61.14无需证实的确认发送服务( Unconfirmed Acknowledge Send Service)UnconfirmedAcknowledge Send-CommandPDU : SEQUENCE[APPLICATion 3] Address AREPInvokeDUnconfirmedServiceRe6.1.15建立服务( Establish service)Establish-RequestPDU: SEQUENCE[APPLICAtIon 4] AddressAREPMaxOSccMaxOSCSMAXUCSCMAXUCSSCIUinitiateRequest (PRIVATE 0] IMPLICIT Initiate-RequestPDUEstablish-ResponsePDU SEQUENCE[APPLICATION 5] AddressAREPJB/T103088-2005InvokeDinitiateResponse[PRIVATE O] MPLICIT Initiate-ResponsePDUEstablish-ErrorPDU: SEQUENCEAPPLICATION 6] AddressAREPInvoked,initiate Erro[PRIVATE O] IMPLICIT Initiate-ErrorPDU1.1.6 MaxOSCCMaxoSCC: Unsigne6.1.17 MaxOSCSMax OSCS: Unsigned6.11.8 MaxUCSCMaxUCO∷= Unsigned86.1.1. 9 MaxUCSSMaxUS∷= Unsigned86.1.1.10CIUCIU∷= Unsigned326.1.1.11 InvokeIDInvoked: Unsigned6.1.1.12 ConTypeCon Type = ENUMERATED(0)6.1.1.13数据发送确认服务( Data Send Acknowledge Service)Data SendAcknowledge-PDU SEQUENCEProtocol-Code, APPLICATION8], Address2ARP,—8位位组的高4位为协议代码!!Block-LengthProtocol-Data61.114协议代码( Protocol-Code)Protocol-Code: : ENUMERATEDTCP/IPTCPP协议61.1.15块编号( Block- Number)Block-Number Unsigned-0无块~254块编号255最后一个块6.1.1.166.1.1.17块长度( Block- Length)Block-Length∷=U6.1.1.18协议数据( Protocol-Data)JB/T103088-2005Protocol-Data: Any透明协议传输6.1.1.19ARP地址2( Address2 ARP)Address2ARP: := SEQUENCEDestination-AddressSource-AddressDestination-NodeDestination-Subnode,Source-Node,Source-SubnodeDestination-Address: OctetString3个8位位组6.1.120目标地址( Destination- Address)61.121源地址( Source· Address)Source-Address: OctetString-3个8位位组61.122目标节点( Destination-Node)Destination-Node : = Unsigned61.123源节点( Source- Node)Source-Node : Unsigned61.124目标子节点( Destination-Subnode)Destination- Subnode Unsigned6.1.125源子节点( Source-Subnode)Source-Subnode: Unsigned612 PDUBody的抽象语法6.12.1天折服务( Abort Service)Abort-PDU∷= SEQUENCE[APPLICATION 7] AddressAREPReason CodeAdditionalDetail6.122需证实的服务请求( ConfirmedServiceRequest)ConfirmedServiceReques: =CHOICE Lread-Request0] IMPLICIT Read-RequestPDUrite-Request[3] IMPLICIT Write-RequestPDUstart-Request[6] IMPLICIT Start-RequestPDUstop-Request[9] IMPLICIT Stop-RequestPDUstatus-Request[15]IMPLICIT Status-RequestPDU[18]IMPLICIT Identify-RequestPDU,getAttributes l-Request[21]IMPLICIT GetAttributes-RequestPI短信息[35] IMPLICIT Get Attributes-RequestPDU长信息reset-Request[36] IMPLICIT Reset-RequestPDresume-Request[39]IMPLICIT Resume-RequestPDUJB/T10308820056.123需证实的服务响应( ConfirmedService Response)ConfirmedService Response =CHOICEread-Response[1] IMPLICIT Read-ResponsePDUwrite-Response[4] IMPLICIT Write-ResponsePDUstart-Response[7] IMPLICIT Start-ResponsePDU[10] IMPLICT Stop-ResponsePDU[16] IMPLICIT Status-ResponsePDUidentify-Response[19] IMPLICIT Identify-ResponsePDOgetAttributes-Response[22] IMPLICIT GetAttributes-ResponsePDUreset-Response[37] IMPLICIT Reset-ResponsePDUresume-Response[40] IMPLICIT Resume-ResponsePDU6124需证实的服务差错( ConfirmedserviceError)ConfirmedService Error: CHOICE Iread-Error[2] IMPLICIT Error Typewrite-Error[5] IMPLICIT ErrorTypestart-Error[8] IMPLICIT ErrorFiTypestop-Error[1l] IMPLICIT ErrorFiTypestatus-Error[17]IMPLICIT Error Typedentify-Error[20] IMPLICIT Error TypegetAttributes-Error[23] MMPLICIT ErrorTypreset-Error[38] IMPLICIT ErrorFiTypresume-Error[41] IMPLICIT ErrorFiType6125差错类型( Error Type)Error Type::=SEQUENCE[O] IMPLICIT ErrorCiassoptionalParameters Map[10]IMPLICIT Gn_OptionalParameters Map8 OPTIONAL[ I] IMPLICIT Integer 16 OPTIONALdditionalDescription[2] IMPLICIT Visible String OPTIONAL6.126差错功能调用类型( Error Fi TypeErrorFiType: SEQUENCE Ierror Class[0] IMPLICIT ErrorClassadditionalcode[1 IMPLICIT IntegerI6 OPTIONALfiState[3] IMPLICIT Integer6.12.7差错类别ErmorClass: : CHOICEVfdState[1] MPLICIT Integer8(0)applicationReference[2] IMPLICIT Integer8JBT103088200otherapplication-unreachable(1),Definition[3] IMPLICIT Integer8object-undefinedobject-attributes-inconsistent(2)type-unsuppotype-inconsistent(5)Resource[4] IMPLICIT Integer&othermenory-una(1)IMPLICIT Integer 8(0)pdu-sizearaineter-Inconsistent(4),illegal-paramete1PLICIT Integers I(1)hardware-fault(2),(3)object-access-unsupportedaccess-to-element-unsupported (10)ObjectDescription[7] IMPLICIT Integer 8(0),name-ength-overflowI),od-overflowJB/T103088-2005extension-length-overflow(4)od-description-length-overflowoperational-problem(6)[9] IMPLICIT Integer8((0),further-communication-required (1)OtherIMPLICIT Integer&other(0)6128无需证实的PDU( Unconfirmed PDU)Unconfirmed ServiceRequest: : CHOICEnformation Report-Request[12] IMPLICIT Information Report-RequestPDUreject-Request[34] IMPLICIT Reject-RequestPDUUnconfirmedSendPD-PDU : BIT STRING6129管理ASE6.1291获取属性服务( Get Attributes service)GetAttributes-Request-PDU: : SEQUENCElistofAttributesPRIVATE O] IMPLICIT Mn_ SelectedAttributesaccess Specification CHOICEindex[1]IMPLICIT Gn_NumericIDvariableName[2]IMPLICIT Gn_NameName[5] IMPLICIT Gn_NamestartIndex[7] IMPLICIT Gn_NumericIDGetAttributes-ResponsePDU: SEQUENCEmorePRIVATE O IMPLICIT Gn_ More FollowslistofObjectDefinition[PRIVATE 1] IMPLICIT SEQUENCE OF Gn_ObjectDefinition6.1.2.10应用进程ASE612101获取状态服务( Get Status ServiceStatus-RequestPDU =NULLStatus-ResponsePDU: SEQUENCElogicalStatus[PRIVATE O] IMPLICIT ENUMERATEDready-for-communication(0)limited-services-permitted(2)physicalStatus[PRIVATE 1] IMPLICIT ENUMERATEDoperational(0),JBmT103088-2005partially-operationaInoperable(2),needs-commissioning(3)localdetail[PRIVATE 2]IMPLICIT BitString OPTIONAL6.1210.2标识服务( Identify Service)Identify-RequestPDU NULLIdentify-ResponsePDU: SEQUENCE[PRIVATE O] IMPLICIT VisibleStringnodelldentifierPRIVATE 1] IMPLICIT Visible Stringvendorrevision[PRIVATE 2]IMPLICIT Visible String6.12.103初始化服务( Initiate Service)initiate-RequestPDU: SEQUENCEversionObjectDefinitions Calling[PRIVATE O] IMPLICIT Integer 16apDescriptor Calling[PRIVATE 1] IMPLICIT Octet Stringaccess Protection Supportedcalling[PRIVATE 2] IMPLICIT Ap_Access SupportedpasswordAnd Access Groups calling(PRIVATE 3] IMPLICIT Ap_Access ControlconfiguredMax PduSize SendingIPRIVATE 4 IMPLICIT UnsignedconfiguredMaxPduSizeReceiving[PRIVATE 5] IMPLICIT Unsigned8listOfSupported Services Calling[PRIVATE 6] IMPLICIT Mn_ PduSupportedMapInitiate-ResponsePDU: SEQUENCEversionObjectDefinitions Called[PRIVATE O] IMPLICIT Integer16[PRIVATE 1]MPLICIT OctetStringaccessPrivilege Supportedcalled[PRIVATE 2] IMPLICIT Ap Access Protection SupportedpasswordAndAccess Groups CalledIPRIVATE 3] IMPLICIT Ap_Access ControlInitiate-ErrorPDU : SEQUENCEerrorCode[PRIVATE OJ IMPLICIT ENUMERATEDother(0),max-fal-pdu-size-insufficient(2),version-obj-def-incompatiblepassword-error(5),profile-number-incompatible(6)maxPduLength Sending Called[PRIVATE 1]IMPLICIT UnsignedmaxPduLengthReceiving Called[ PRIVATE 2] IMPLICIT Unsigned8listOfSupported Services Called[PRIVATE 3] IMPLICIT Mn_PduSupportedMapJBT103088-20056.12104拒绝服务( Reject Service)Reject-RequestPDU SEQUENCE Ioriginal-invokeIDIPRIVATE OJ IMPLICIT Integer8[PRIVATE I] IMPLICIT ENUMERATEDpdu-sIze(5)6.1211功能调用ASE( Function Invocation ASE)6.12.11.1复位服务( Reset service)Reset-RequestPDU::= SEQUENCEkey AttributeGn_ Key AttributeReset-ResponsePDU =NULL6.12.112恢复服务( Resume serviceResume-RequestPDU SEQUENCEkey AttributeGn_ KeyattribuResurne-ResponsePDU: NULL6.1.2.113启动服务( Start Service)Start-RequestPDU : SEQUENCEkey Attributegn_ KeyattributeStart-ResponsePDU: NULL61.2114停止服务( Stop Service)Stop-RequestPDU SEQUENCE Ikey AttributeGn KeyAttributeStop-ResponsePDU: NULL6.1.2.12变量ASE( Variable ASE)61212.1信息报告服务( Information Report Service)Information Report-RequestPDU: : SEQUENCEGn NumericID,subindex[PRIVATE OJ IMPLICIT Gn_ SubIndex OPTiONAL[ PRIVATE I」 IMPLICIT ANY612122读服务( Read Service)Read-RequestPDU SEQUENCEGn Numeric,[PRiVaTE OJ] IMPLICIT Gn_Subindex OPtIONALRead-ResponsePDU :: SEQUENCE[PRIVATE OJ IMPLICIT ANYJBT10308820056.12.123写服务( Write service)Write-RequestPDU: =SEQUENCEGn NumericsubIndexgn SubIndex OPTIONALvalue[PRIVATE O] IMPLICIT ANYWrite-ResponsePDU NULL613ASE的类型定义613.1 AP ASE类型61311应用进程_访问保护支持( Ap_ Access Supported)Ap_ Access Protection Supported =BooleanTrue表示支持访问保护Fae表示不支持访问保护。6.1.3.12应用进程_访问控制( Ap_ Access control)Ap_ AccessControl: BitString密码( Unsigned8)被编码成比特串password_Bit2password_ Bit3(6)password_ Bit4(5)password Bit5(4),password_Bit6(3)password_ Bit7(2),access_Groups-l(16)access Groups-2(15)(14),access_ Groups-4(l3),access_ Groups-5(12),access_ Groups-6(11)access Groups -7(10)access_Groups.8(9)6131.3 AR ASE类型6.1.3.1原因代码( Reason code)Reason Code: Unsigned6.13.1.32附加细节( Additional detail)AdditionalDetaill: OctetString6.1.314应用关系端点(AREP)AddressAREP. UnsignedDCEP地址的最低有效8位位组。6.132功能调用ASE类型( Function Invocation ASE Types)6.1.321功能调用_访问特权( Fi_ AccessPrivilege)Fi_AccessPrivilege: BitStringRight ToStartPassword(24),rightToStopPasswordJBTr103088-2005right ToDeletePassword(22)right Access GrouprightToright ToDelete Access Groupright ToStartAllPartner(32),right ToStop AllPartner(31)right ToDeleteAllPartner(30),password Bitl密码( Unsigned8)被编码成位串。password_bit2password_ Bit3password_Bit5(4),password Bit63)password_Bit7(2)password_bitsaccess_Groups-l(16)access_Groups-2(15),access_Groups-4(13),access_Groups-5(12),access Grou(11)(10)ccess_Groups-861322功能调用状态( Fi State)Fi_State: Unsigned(1),(2),(3),stopped(4),starting(6)resetting(8)613.3管理ASE类型( Management ASE Types)6.1.3.3. 1 Mn_PduSupportedMapMn_pduSupportedMap BIT STRINGgetAttributes-RequestPDU请求方start-RequestPDUstop-RequestPDU(9),resume-RequestPDUeset-RequestPDU(9),JBT1030882005read-RequestPDU(11)write-RequestPDU(12)informationReporl-RequestPDU(17),getAttributes-ResponsePDU(25),—响应方start-ResponsePDUstop-ResponsePDUresume-ResponsePDU(33),reset-ResponsePDU(33),write-ResponsePDU(36),information Report-ResponsePDU(41)6.134变量ASE类型( Variable ASE Types)6.135通用类型( General Types)6.1.3.5. 1 Gn DeletableGn Deletable: BooleanTre表示可删除。- False表示不可删除。6.1.3.5.2 Gn ReusableGn Reusable. BooleanTrue表示可重复使用— False表示不可重复使用。6.1.3.5.3 Gn KeyAttributeGn_KeyAttribute ::= CHOICE规定成这个类型以后,只有类别引用的关键属性是合法的。numerico IMPLICIT Gn Numeric[1] IMPLICIT Gn_ Name[2] IMPLICIT Gn_ NamenumericAddress[4] IMPLICIT Gn_ NumericAddresssymbolic Address[5] IMPLICIT Gn_symbolicAddress6.1.3.5.4 Gn_ LengthGn_Length: Unsigned6.1.3.5.5 Gn More FollowsGn more Follows,= Boolean6. 1. 3.5.6 Gn Namen Nameng6.1.3.5.7 Gn NumericIDGn_NumenicId : Unsigned16在一个应用进程中,这个参数的值是唯一的。6.1.3.5.8 Gn_ ObjectDefinitionGn_ObjectDefinition =Octet String这个参数的含义是由应用规定的6.1.3.5. 9 Gn SubIndexGn_ SubIndex: Unsigned6. 10 Gn_ObjectClassGn_Objectclass: := ENUMERATEDJB/T103088-2005functionInvocation(3),fixedLength String DataType(5)fixedLength String Variable(8)data Structure Variable6.1.3.5. 11 Gn_ TypeDescriptionGn_ Type Description CHOICEboolean[1] Gn_Length,[2] Gn_Lengthinteger 16[3 Gn_Lengthinteger32[4] Gn_Length,[ Gn_Lengthed16[6] Gn_Lengthunsigned32[7] Gn_Length[8] Gn_Lengthvisiblestring[9] Gn_Lengthoctetstring[10]GnLength[ll] Gn_l[12] Gn_ Length,timeDiffer[13] Gn_Length,bits[14] Gn_ Length6136对象定义6.1361上层定义Object-Definition: : =CHOICE[PRIVaTE OJ ListHeader[PRIVATE 1] Data Typelist[PRIVATE 2] StaticList[PRIVaTE 3] FunctionInvocationDefinition61362列表头( ListHeader)ListHeader: SEQUENCE O[RIVATE O] IMPLICIT Unsigned 16RIVATE 1] IMPLICIT BooleanmaxNameLength[RIVATE 2] IMPLICIT UnsignedaccessProtection Supported[RIVATE 3] IMPLICIT Booleanversion ofobjectDefinition[RIVATE 4] IMPLICIT Integer16localReferenceOfListHeader[RIVATE 5] IMPLICIT Unsigned32 OPTIONAL,numberOfEntriesIn Data TypeList[RIVATE 6] IMPLICIT Unsigned16localReference OfData Typelist[RIVATE 7] IMPLICIT Unsigned32 OPTIONAL,firstNumericIdofStaticlistIRIVaTE 8] IMPLICIT Unsigned 16JBT103088-2005numberOfEntriesIn Staticlist[RIVaTE 9] IMPLICIT Unsigned16localReferenceOfStaticList[RIVATE 10] IMPLICIT Unsigned32 OPTIONALfirstNumericIdOfVariablelistDefinition[RIVATE 11] IMPLICIT Unsigned 16numberOfEntriesIn VariableList Definition[RIVATE 12] IMPLICIT Unsigned16localReferenceOf VariableListDefinition[RIVATE 13] MPLICIT Unsigned32 OPTIONAL.firstNumericldOfFunctionInvocation Definition [PRIVATE 14] IMPLICIT Unsigned 16numberOfEntriesInFunctionInvocation Definition [PRIVATE 15] IMPLICIT Unsigned 16localReference Definition(PRIVATE 16 IMPLICIT Unsigned32 OPTIONAL6.1.363数据类型列表( DataTypelistDataTypeList: = CHOICE[PRIVATE O] DataType Definition[PRIVATE I] StructuredDataType DefinitionDataType Definition: SEQUENCEnereiDGn NumenclDdata TypeNameLengthGn_Lengthdata TypeName[PRIVATE O] IMPLICIT Visible String OPTIONALStructuredData Type Definition: SEQUENCEnumericGn NumericIPRIVATE 0] IMPLICIT Integer 8recordList SEQUENCE OF SEQUENCE(numericldOfDataTypeDefinition Gn NumericDdataLengthGn le61364静态列表( StaticList)StaticList: : CHOICE[PRIVATE O] VariableDefinition[PRIVATE 1]Array Definition[PRIVATE 2] Structure DefinitiVariable Definition: SEQUENCEnumericGn NumericGn_ObjectClassnumericldofData DefinitionGn Numericaccess PrivilesVr_Access Privilege OPTIONALlocalReferenceOfVarial[PRIVATE O] IMPLICIT Unsigned32 OPTIONALvariableName[PRIVATE 1] IMPLICIT Visible String OPTIONALJBT103088-2005extension[PRIVATE 2] IMPLICIT OctetString OPTIONALArray Definition: SEQUENCE InurmeICIDobjectClassGn_ObjectclassnumericIdOfDataType DefinitionGn NumericdataLengthGn lengthnumberofElementsPRIVATE O] IMPLICIT Unsigned8accessPrivilegeVr_ AccessPrivilege OPTIONALlocalReferenceOfArray[PRIVATE 1] IMPLICIT Unsigned32 OPTIONAL[PRIVATE 2]IMPLICIT Visible String OPTioNALextension[PRIVATE 3] IMPLICIT OctetString OPTIONALStructure Definition : SEQUENCEnumericGn NumericGn_Object clasnumericldofData DefiniticriciNVr_AccessPrivilege OPtIONALPRIVATE OJ MMPLICIT Visible String OPTIONALextension[PRIVATE 1] IMPLICIT OctetString OPTIONALlocalReferenceOfElement[PRIVATE 2 J IMPLICIT SEQUENCE OF Unsigned32 OPTIONAL6.13.65功能调用定义( Functioninvocation Definition)FunctionInvocation Definition: SEQUENCEnumericGn_ Numeric,objectGn_Object ClasslumberofRelated Obiects[PRIVATE OJ IMPLICIT Unsigned8accessPrivilegeFi_AccessPrivilege OPTiONALreusableGn ReusablefunctionInvocation StateFI StatenumericldofloadRegionSEQUENCE OF Gn_ NumericIDfunctionInvocation Name [PRIVATE 1] IMPLICIT Visible String OPTIONAL,extension[PRIVATE 2] IMPLICIT OctetString OPTIONAL6.14数据类型的抽象语法6141数据类型6142布尔量类型表示法Boolean∷= BOOLEAN值为非零表示TRUE。值为零表示 FALSE6143整数类型表示法Integer :: = INTEGER任意整数Integer. INTEGER(-128.+127)整数范围-2←i∈JBT103088-2005Integer 16: INTEGER (-32768..+32767)整数范围-25i←=215-1Integer.32∷: INTEGER整数范围6.144无符号整数类型表示法Unsigned INTEGER任意非负整数Unsigned: INTEGER(0. 255)整数范围0"Initiate. rsp& FAL service primitive <>"Terminate reqAbort req("FALlReason Code:=“ User error”S23REQCLOSEDLocally Generated: ="True"Terminateldentifier: ="FAL.Reason Code: ="User errorResetArepInitiate. rsp(+)FalApduBody ="Establish-AffirmativePDUS24 RSPOPENEST.rsp(+)(FalApdu Body="Establsih-ResponsePDU'313JBT103088-2005表4(续事件或条件#当前状态下一个状态动作EST.rsp(-)(FalApduBody: ="Establish-NegativePDUS25 SPOrCLOSELESTrspFalapdubody="Establsih-ErmorPDU'ResetArepruminate.reqAbort req(Originator: ="Terminateldentifier of Terminate.S26 RSPCLOSEDReason Code ="Reason Code of Terminate req},ResetArepFAL service primitive o"Initiate. rsp& FAL service primitive o Terminate reqAbort reqReason Code ="User errolS30RSPOSEDTerminate indLocally Generated ="True"User errorResetAreJB/T103088-2005表4(续)事件或条件当前状态下一个状态→动作ConfirmedService req& ConfirmedServiceCheck="True&& Outstanding ServicesRequesting CounterNegotiatedMax Outstanding- ServicesRequesting& InvokeldExistent="False& PDU length s NegotiatedMaxPduSizeSending& RequestedService SupportedTest="TrueS31 OPENCS req(OPENFalApduBody: ="ConfirmedSend-CommandPDUCS. realFalApduBody: ="ConfirmedSend-RequestPDUOutstanding Services Requesting Counter: =OutstandingServicesRequesting Counter+IUnconfirmedServicereq& UnconfirmedServiceCheck ="Truepdu length s NegotiatedMaxPduSizeSending& Immediate Acknowledge ="FalseS36 OPENOPENFalApduBody: ="UnconfirmedSend-CorUCS reqtFalApduBody: =""UnconfirmedSend-PDU& unconfirmedservice check ="True& PDU length s NegotiatedMaxPduSize Sendingrequested Service Sup& Immediate AcknowledgeS37OPENUCA req(OPENFalApduBody: ="UnconfirmedAcknowledgedSend-CommandPDU'UCAreqFalApduBody: ="UnconfirmedAcknowledgedSend-RequestPDUJB/T103088-2005表4(续)事件或条件#当前状态下一个状态→动作AR_ASE service request& arservicecheck s " True& Requested Service SupportedTest="Trues38OPEN→ArFspmService注:从FAL用户直接访问FSPM提供了这个状态。 ArFspmService功能产生了一个在本子段后面定义的FSPM原语Terminate reqOriginator: ="Terminateldentifier of Terminate reqS39OPENCLOSEDReason Code ="Reason Code of Terminate reqFaulty, unknown or not-allowed FAL service primitiveAbort reqAbortldentifier: ="FAL",Reason Code: ="User errorCLOSEDTerminate indLocally Generated ="TrueTerminateIdentifier: ="FALReason Code: ="User errorResetArepJBT103088-2005表4(续)事件或条件#|当前状态下一个状态动作& ConfirmedService Check ="T& same service="True& pu lengtNegotiatedMaxPdusizesendFalApduBody: ="ConfirmedSend-AffirmativePDUS54 OPENCS. rspOPENFalApduBody:“ˇ Confirmedsend- NegativePDUFalApduBody; ="Confirmed Send-ResponsePDUOutstanding ServicesResponding Counter: =Outstanding Services Responding Counter-1注意:必须另外提供一个协议方法用于决定是使用 ConfirmedSend-AffirmativePDU还是Confirmed Send-NegativePDU.ConfirmedService rsp& ConfirmedServiceCheck="True& InvokeldExistent="FalseOriginator:“AL"Reason Code: ="InvokeID-error-responseS55 OPENCLOSEDTerritLocallyGenerated; ="TrueTerminateldentifier ="FAL'Reason Code: ="InvokelD-error-response'ResetArepJBT1030882005表4(续)事件或条件当前状态下一个状态ContirmedService rsp& InvokeldExistent="True& same Service ="FalseOriginator:=“FAL"S56 OPENCLOSEDLocally Generated: ="True",Reason Code ="Scrvice-errorResetAre表5 AP-Context状态机接收方状态转换当前状态事件或条件动作下一个状态R6 CLOSED→CLOSED(no actions taken)Faulty or unknown AR_FSPM service primitiveAbort reqR7 CLOSEDCLOSEDOriginator: ="FALReason Code: ="AR ASE error"AR _FSPM service primitive <>"EST.ind& AR_ FSPM service primitive Abort indR8 CLOSEDAbort reqOrisJBT103088-2005表5(续)事件或条件当前状态下一个状态→动作ESTind& Fal apdubody not allowed, unknown or faulty FAL PDUR9CLOSEDAbortreqCLOSEDReason Code: ="FAL PDU errorSTAnd&& FalApduBody ="Establish-CommandPDU"FalApduBody="Establish-RequestPDUFalApdu Body =""Establish-Request2PDU")& ApCantextTest="TrueR10 CLOSED /&&MaxFalPduLengthTest="True"RSP& Services SupportedTest =TrueNegotiate Outstanding ServicesInitiate ind&&( FalApduBody=“ Establish- CommandED”I FalApdu Body ="EstabltPDU‖ FalApduBody=“ Establish- Request2PDU")RIlCLOSED& ApContextTest ="FalseCLOSEDAbort.reqOriginReason Code:=“ AR errorSTAnd&& FalApdu body ="Establish-CommandPDUi FalApdu Body="Establish-RequesIPDUI FalApdurody ="Establish-Request2PDU")&& MaxFalPduLengthTest=“ False”R12CLOSEDEST. rsp(-)【CLOSEDFalApduBody ="Establish-NegativePDUFalApduBodyDUErrorCode: ="Max-Fal-Fdu-SizeInsufficient"JB/T10308.8-2005表5(续)事件或条件#当前状态下一个状态→动作EST.ind& (FalApdu Body ="Establish-CommandPDU'u FaLApduBody ="Establish-RequestPDUIt FalApduBody ="Establish-Request2PDU"")& Services SupportedTest="FalseR13 CLOSEDEST rsp (-)FalApduBody: ="Establish-NegativepDU,Error Code: ="Service-Not-SupportedFalApduBody:=Establish-ErrorPDUESTcnf (+Ii FalApduBody =Establish-ResponsePDU")R14 REQ&& ApExplicitConnection="TrueInitiate cnf(+)【R15 REQ& ApExplicit Connection =FalseOPEN&& FalApduBody="Establish-NegativePDU& ApExplicit Connection ="True"R16 REQCLOSEDInitiate cnf(-)errorcode: ="Errorcode of EST.cnf (-JB/T103088-2005表5(续)事件或条件当前状态下一个状态→动作FalApduBody ="NULL& ApExplicitConnection ="FalseRI7 REQInitiate cnf (-)CLOSEDErrorCode: ="Errorcode in estcnf'Reset areAbort indLocally Generated ="Locally Generated of Abort indR18 RICLOSEDReason Code: ="Reason Code of Abort. indReset ArepFaulty or unknown AR_FSPM service primitiveAbort req tOriginator:=“HFALR20 REQCLOSEDLocally Generated: ="TruerestartJBT103088-2005表5(续)事件或条件当前状态下一个状态AR_FSPM service primitive"EST cnf&&AR_FSPM service primitive o"Abort indAbort reqOriginator:=“HA",Reason Code ="Cornection State Confict"R21REQCLOSEDTerminate indLocally Generated: ="TrueTerminateldentifier:=“FAL”,Reason Code ="Connection State Conflict"EST. cnf& Fal ApduBody = "not allowed, unknown or faulty FAL PDUAbort reqAbortldentifier; ="FAL,Reason Code: ="FAL PDU error'R22REQCLOSEDTerminate indLocally Generated: ="TrueTerminateldentifier: ="FALReason Code:=“ FAL PDU error”Abort. indTerminate indR27 RSPTerminateldentifier: =""Originator of Abort indCLOSEDReason Code:="Reason Code of Abort ind"ResetArep表5(续)事件或条件#当前状态下一个状态→动作Faulty or unknown AR_FSPM service primitiveAbortldentifier: ="FAL"Reason Code: = "AR_ ASE erroR28 RSPCLOSEDTerminate indReason Code: ="AR ASE error'AR_FSPM service primitive o"Abort indReason Code ="State Conflict with AR ASetR29 RSPCLOSEDTerminate indTerminateldentifier ="AP ASEReason Code: ="Connection State Conflict with AR ASE},CS ind& (FalApduBody ="ConfirmedSend-CommandPDUFalApduB& Outstanding ServicesResponding CounterR4OPEN&& InvokeldExistent=“ False”OPEN& IndicatedService SupportedTest="TrucOutstanding ServicesRestter;= Outstanding servicesesRespondingCounter+1JBT103088-2005表5(续)事件或条件当前状态下一个状态→动作&&( FalApduBody=“ ConfirmedSend-CommandPDU”I FalApdu Body ="ConfimredSend-RequestPDU")PDU length NegotiatedMaxPduSizeReceivingOriginator:=“FAL",Reason Code: ="PDU-sizeR42 OPENCLOSEDLocally Generated: ="TrueTerminateldentifier: ="FALReason Code: ="PDU-size"ResetArep& FalApduBody ="ConfirmedSend-CommandPDU& PDU length s Negotiated MaxPduSizeReceiving& Outstanding Services Responding 3 NegotiatedMarding- ServicesRespondingAbort req(Originator:=“FAL’,Reason Code: ="Max-services-overflow*R43 OPENCLOSEDTerminate ind(Locally Generated ="TITerminateldentifier; ="FALReason Code: ="Max-Services-OvernlowResetArepJB/T103088-2005表5(续)事件或条件当前状态下一个状态→动作& (FalApduBody="ConfirmedSend-CommandPDUFalApdu Body ="ConfimredSend-RequestPDU")& pdu length s NegotiatedMaxPduSizeReceiving& Outstanding ServicesResponding Counter& Invokeld Existent ="TrueOriginator:=“FAL",R44 OPENCLOSEDReason Code: ="InvokelD-error-requestTerminate indTerminateldentifier: ="FAL",ReasonCode ="invokelD-error-request& FalApduBody=ConfirmedSend-CommandPDU'‖ FalApduBody=“ Confimredsend- RequestPDU”)& PDU length s NegotiatedMaxPduSizeReceiving& Outstanding ServicesResponding Counterndin& InvokeldExistent="False& IndicatedServiceSupportedTest="False"Abort reqR45OPENOriginator: ="FALCLOSEDReason Code ="Feature not-supportedJBT103088-2005事件或条件当前状态下一个状态动作UCS ind& (FalApduBody ="UnconfirmedSend-CommandPDUFalApdu Body="UnconfimredSend-PDU"R46 OPEN& PDU length s NegotiatedMaxPduSizeReceivingOPEN& IndicatedService SupportedTest=True"Unconfirmed Service. indUCS. ind& FalApdu Body ="UnconfirmedSend-CommandPDU"FalApduBody ="Unconfimredsend-PDU& PDU length NegotiatedMaxPduSizeReceivingrtreq fOriginator: ="FALReason Code: PDU-sizeR47 OPENCLOSEDLocally Generated ="True"Tcrminateldentifier: ="FAL'',Reason Code: ="PDU-size'Resetarer& FaiApdu Body="UnconfirmedSend-CommandPDU'"I FalApdu body ="UnconfimredSend-PDU)& PDU length s NegotiatedMaxPduSizeReceivingIndicated Service SupportedTest ="FalseOriginator: ="FAL",R48OPENReason Code ="Feature-not-supportedCLOSEDLocally Generated: ="TrueReason Code: ="Feature-not-supportedJBT103088-2005表5(续)事件或条件当前状态→动作下一个状态Terminate indLocally Generated: ="Locally Generated of Abort.ind'R49OPENTerminateldentifier: ="Originator of Abort ind",LOSEDReason Code: ="Reason Code of Abort ind"ResetArep& FalApduBody ="Establish-CommandPDU"I FalApduBody=“ Establish-RequestPDU”FalApdu Body ="Establish-Request2PDU")Abort reqReason Code: ="Connection-- ConfictR50OPENClOSEDTerminate indTerminateldentifier; ="FAL"Reason Code: ="Connection-State-ConflictRestateFaulty or unknown AR_FSPM service primitiveAbort reqOriginator: ="FAL",Reason Code: ="AR ASE error"R51 OPENCLOSEDLocally Generated: ="TrueTerminateldentifier; ="FAL'Reason Code: ="AR ASE erJB/T1030882005表5(续)亭件或条件#当前状态下一个状态→动作Not-allowed AR_ FSPM service primitiveReason Code ="Connection -State-ConflictR52 OPENCLOSEDLocally Generated: ="TrueTerminateldentifier: ="FALReason Code: ="Connection-State-Conflict'Valid AR_ FSPM Send Service primitive (one of CS, US, UCA)& FalApdu Body not-allowed, unknown or faulty FAL PDU& ArAccesssd=“ False”Originator: =AP_ASE,Reason Code ="FAL-PDU-errorR53 OPENCLOSEDTerminate ind iLocally Generated ="TrueReason code ="FAL -PDU-errorResetArepUCA ind& ArAccess Supported ="True&& FalApduBody ="UnconfirnedAcknowledgedSend-CommandPDUI FalApduBody ="UnconfirmedAcknowledgedSend-RequestPDU")RS4 OPENOPEN& PDU length s NegotiatedMaxPduSizeReceivingUnconfirmedService ind tJB/T103088-2005表5(续)事件或条件前状态下一个状态→动作& FalApduBody ="UnconfirmedAcknowledgedSend-CommandPDUH FalApduBody ="UnconfirmedAcknowledgedSend-RequestPDU")& Pdu length NegotiatedMaxPduSizeReceivingOriginator:=“FALReason Code:= "PDU-SizeR55OPENCLOSEDTerminate indLocally Generated:=“"True”Terminateldentifier: ="FAReason Code: ="PDU-size'ResetArar ASE service indicatioR56 OPENArFspmServiceOPEN注:从FAL用户直接访问FSPM提供了这个状态。 ArFspm Service功能生成了一个在本子段后面定义的FSPM原语& FalApdu Body ="ConfirmedSend-AffirmativePDUFal Apdu body ="ConfirmmedSend-ResponsePDU")& PDU length s NegotiatedMaxPduSizeReceiving& Invoked Existent="ruR58 OPENOPEN&& Same service=“TrueConfirmedService cnfOutstanding Services Requesting Counter: Outstanding ServicesRequesting Counter-IJB/T1030882005表5(续)事件或条件当前状态下一个状态→动作& (FalApdu Body =""ConfirmedSend-AffirmativePDUFalApduBoFalApduBody ="ConfirmedSend-ResponsePDU")& PDU length NegotiatedMaxPduSizeReceiving:="FAL",Reason Code:=“PDU-sjze”R59OPENCLOSEDTerminate indLocally Generated: ="True"Terminateldentifier: ="FAL'Reason Code: ="PDU-sizeCS cnf& (FalApdu Body =""ConfirmedSend-AffirmativePDU'FalApduBody =""ConfirmedSend-NegativePDU'I FalApduBody =ConfirmedSend-ResponsePDU')& PDU length s NegotiatedMaxPduSizeReceiving及& InvokeldExistent=“" False”Abort req IAbortldentifier;=“FAL”,R60OPENReason Code: ="InvokeID-error-respondirCLOSEDLocally Generated: ="TrueTerminateldentifier ="FALReason Code: ="InvokeID-error-responding644功能( Functions)表6~表21定义了 AP-Context状态机使用的内部功能。JB/Tr103088-2005表6 ResetArep功能能名称ResetArep输入True或 False功能关闭AP的 AR-Context,并将AN属性 List Of In-Use AR En山h的所有元素初始化为0表7 ApContextTest功能功能名称ApContextTes输入Arep_Id输出True或 False对被选定的ARE在A属性 List Of In-Use AR Endpoint Info中的入口进行定位,校验ARE的内功能”俗容,并确保定义的ARFP与 AR_ ASE相匹配。验证执行的方式是由实现决定的表8 Services SupportedTest功能功能名称Services SupportedTest输入Arep_ldTrue或 False旦收到一个 Initiate-RequestPDU被调用的 AP ASE必须马上对本地支持的服务列表和这个niat功能DU中含有的服务进行比较。当本地FAL作为一个响应者不支持远程FAL作为一个请求者所支持所有服务,或者,远程FAL作为一个响应者不支持本地FAL作为一个请求者所支持的所有服务ervicesSupportedTest就失败了表9 ApExplicit Connection功能功能名称 ApExplicit Connection输入Arep_Id输出Tue或 False功能通过参照AREP来决定这个 AP ASE是否支持应用进程(APs)之间的显性链接表10 ImmediateAcknowledge功能功能名称mediate Acknowledge输入Arep_Id输出True或Flse功能通过参照ARE来决定这个 AP__ ASE是否要求下层立即做出确认表11 ConfirmedService Check功能功能名称ConfirmedServiceCheck输入True或 FaIse功能决定除 AR ASE服务以外的被调用的FAL服务是否是一个证实的服务表12 UnconfirmedService Check功能功能名称Uncon firmedService Check输入Arep_Id输出True或 FalseL功能决定除 AR ASES服务以外的被调用的FAL服务是否是一个无证实的服务JBrT103088-2005表13 ArService Check功能功能名称ArServiceCheck输人ue或 False功能决定被调用的服务是否是一个 AR ASE服务(FAL服务或 AR FSPM服务)表14 ArFspmService功能匚功能名称 ArFspmsery输入Arep_Id输出 FALService或 AR FSPM Service产生一个 AR ASE服务原语。FAL服务和 AR FSPM服务之间的关系如下AR-Unconfirmed Send ucs功能AR-Confirmed Send CSAR-Establish ESTAR-Abort abort表15 ArAcceeSupported功能功能名称 Ar Supported输人输出True或 False功能决定应用进程(AP)是否接受 AR ASE发送(证实发送或无证实发送)服务表16 MaxFalPdulength Test功能L功能名称 MaxFalPduLengthTest输Id输出Tue或Fase旦收到一个 Initiate-RequestPDU,被调用的 AP ASE必须马上将它定义的上下文和这个IPDU请求的最大的PDU长度进行核对。执行下列测试1.当( ConfiguredMaxPDUSize Sending> MaxPDUSizeReceiving of the Initiate PDU,这个测试失败2.当( ConfiguredMaxPDUSizeReceiving< MaxPDUSizeSending of the Initiate PDU),这个测试失表17 Negotiate Outstanding Services功能功能名称 Negotiate Outstanding Services输入Arep Id输出True或 False一旦收到一个 nitiate-RequestPDU,被调用的 AP ASE必须马上执行下列协商1. If ConfiguredMax Oustanding ServicesRequestingMax Outstanding ServicesResponding of the Initiate-RequesLPDUthen NegotiatedMaxOutstanding ServicesR=Max Outstanding Services Responding of the Initiate-RequestPDUelse NegotiatedMaxOutstanding ServicesRequesting功能=ConfiguredMax OutstandingServicesRequesting2. If ConfiguredMax Outstanding ServicesResponding0FAL-PDU_reqdmpm- service_name: ="DMPM_Data_reqS10 OPENarep_id: GetArepld (OPENdlsdu: BuildFAL-PDUfal_pdu_name: ="CS_ReqPDufal data: user data)Start Timer (TC)Increment Counter (OScC)JBT103088-2005表31(续)事件或条件#当前状态下一状态→动作及&Role=“ Client”H“PeerS11OPENCS_cnf (-)OPENarep_id: GetArepld(),user_data: ="null"&&Role=“ Client"‖"P& Get Counter value (oscc) 2 maxoSCcAbort_indep_id: GetArepld (locally_generated: ="Trueidentifier: ="FALreason_code: ="Number of parallel services exceededS12OPENCLOSEDFAL-PDU_req tdmpm_service_name: ="DMPM_Disconnect_reqreason: ="Number of parallel services exceededdlsdu' ="nullStop TimeResetcounter& role=ServerAbort_indarep_id: GetArepld ()locally_generated: ="Truereason code: ="Unallowed service as serveS13 OPENCLOSEDFAL- PDU- reqdmpm_ service_name: ="DMPM_ Disconnect_req",reason ="Unallowed service as serverStopTimerResetCountersJBT103088-2005表31(续)#当前状态事件或条件下一状态→动作&&Role=“ Server”a"PeerFAL-PDU_reqdmpm_ service_name: ="DMPM_Data_reqSI4OPENarep_id:= GetArepld ()OPENdlsdu BuildFAL-PDUfal_pdu_name: ="CS_ RspPDUWfal data user data)Decrement Counter(OSCS)&&Role=“ Server”""“Per”&&ciu> oFAL-PDU_reqdmpm_service_name ="DMPM_Data_req15 OPENOPENdu: BuildFAL-PDUfal_pdu_name: ="CS_RspPDUDecrement Counter (OSCS)& Role ="Client"II"Peerarep_id: =GetArepId (locally-generated ="Tidentifier ="FALeason code ="Unallowed service as clientS17OPENCLOSEDFAL-PDU_reqdmpm service. name: ="DMPM_Disconnect reqid:= GetArepld()reason: ="Unallowed service as client",StopTimerReset CountersJB/T103088-2005表31(续)#当前状态事件或条件下一状态→动作& role = Client"II"Peer& Get Counter Value (uCC) maxUCC& CIU= 0FAL-PDS18 OPENdmpm _service_name : ="DMPM_Data_reqarep_id = GetArepld (dlsdu: BuildFAL-PDUfal_pdu_name: ="UCA_ PDUfal data: = user data)Increment Counter (UCC)UCA_req& role ="Client"II"Peer& GetCounter Value (UCC) maxUCCmpm_service_name: ="DMPM Data_reqS19OPENarep_id: =Get Arepld (OPENdlsdu: BuildFAL-PDUfal_pdu_name: ="UCA PDUStartTimer (TC)IncrementCounter (UCC)UCA_req& role ="Server"II"Peer"arep_id: GetArepld ()identifier: =FALreason code ="Unallowed service as server20|OPENCLOSEDFAL-PDU_req Idmpm_service_name: ="DMPM_Disconnect_reqJBT103088-2005表31(续)事件或条件#当前状态下一状态TCTimer expireddmpm_service_name: ="DMPM_ Data_req"S22 OPENOPENarep_id: =GetArepId()dlsdu' BuildFAL-PDUfal_pdu_name ="ldlePDUfal data: ="null")TSTimer expiredTimer(TS)FAL-PDU_reqdmpm_service_name: ="DMPM_Data_reqS23OPENOPENep_id =GelArepld (dlsdu: BuildFAL-PDUfal_pdtIdlePDu",FAL-PDU_reqtdmpm_service_name: ="DMPM_Disconnect_req",arep_id: -GetArepId (dlsdu: BuidFAL-PDUNOTCLOSEDCLOSEDfal-pdu_name: ="Abort_PDu",dadditional detail additional detail)ResetCountersJBT103088-2005表32 QUB-FC ARPM状态表一接收方事务处理事件或条件当前状态下一状态→动作& initiator ="TrueFAL- PDU_reqdmpm_service_name: "DMPM_Disconnect_req",R1 CLOSEDCLOSED_id: GetArepId (Icepdl_id: = dlcep_dl_id(from Connectind)dlsdu=Connect ind&& Initiator=“ False& fal_Pdu_Type(dls_user_data)o" EST_ReqPDFAL-PDU_regR2 CLOSEDdmpm_service_name: ="DMPM_Disconnect_reqCLOSEDdIcep_d_id dlcep_di_jd(from Connect_ind)reason: "Invalid FAL-,,dlsdu:=“n&& Initiator=“ False& FaL_Pdu_ Type(dls_user_data)="EST_-ReqPDU& AREPContext Check (dlsdu)="False"FAL-PDU_reqtdmpm_ service_name ="DMPM_ Disconnect_reeid: = GetArepId ()CLOSEDCLOSEDdlcep_dl_id: dIcep_dl_id(from Connect_ind)reason: ="Context Check Negative",dlsdu BuildFAL-PDUfal_pdu_name: ="Abort _PDUfal id: identifierfal_reason_code ="Context Check Negativefal additional detail: maxOSCC, maxOSCS, maxUCSC, maxUCSS, CI)JBT103088-2005表32(续事件或条件当前状态下一状态→动作R4 CLOSED→CLOSEDCno actions takenFaL_ Pdu_Type (dls_user-data)="EST_ReqPDU& remote Address Configuration Type ="Linked& Remote Dlcep Address o calling_dIcep_addressR5 CLOSEDFAL-PDU_reqCLOSEDImpm_service_name: ="DMPM_Disconnect req",Icep_dl_id: dIcep-_dl_id( from Connect_ind)reason: ="Remote Address Mismatch"dlsdu:="null"&& Initiator=“ False”& FaL_Pdu_Type(dls_user_data)="EST_ReqpDU"& AREPContext Check (dlsdu)="True'& remote Address Configuration Type="Linked& Remote DlcepAddress= calling_dlcep_addressR6 CLOSEDMax DlsduSize FromRequestorNegotiated:= dlsdu_size_from_reMaxDlsduSizeFromResponder Negotiated: dlsdu_size_from_responderESt ind【FAL-Pdu_Type (dls_user_data)="EST_ReqPDU& AREPContext Check (dlsdu)="True"& Remote Address Configuration Type="FreeR7 CLOSEDRemoteDIcep Address: =calling_dlcep_addressRSPMaxDlsduSizeFromRequestorNegotiated = dlsdu_sizefrom requestorMaxDlsduSize FromResponderNegotiated:= dlsdu_size_from_responderarep_id: = GetArepld(),JBT103088-2005表32(续事件或条件当前状态下一状态→动作Connect ind&& Initiator=“ False& Remote Address Configuration Type ="Linked&&RemoteDlcepAddressocalling-dlcepaddressFAL- PDU_reqR8I REPLSAMEdmpm_service_name: ="DMPM_Disconnect_req"rOPENep_id: GetArepld (dlcep_dl_id: =dlcep_di_id (froreason ="Remote Address Mismatch",dlsdu ="null&& Initiator=" False”& FAL_Pdu_Type (dls_user_data)="EST_ ReqPDU& RemoteAddress Configuration Type ="FreeRSPR9REPLFAL-PDU_req【SAMEOPENdmpm service_name: ="DMPM_Disconnect_req",p-d: GetArepld (dlcep_dl_id: dlcep_dl_id(from Connect_ind)reason:≌" AREP Busdadu:=“nulr”onnect ind& FAL Pdu_Type(dls_ user data)∞“ EST_ ReqPDu& Remote Address Configuration Type="Free& Remote Address <> calling_dlcep_addressRIO REPLFAL-PDU_reqSAMEOPENdmpm_service_name ="DMPM_Disconnect_reqarep_id: Get Arepld (),dlcep_dl_id: dlcep_dl_id( from Connect ind),reason: ="Invalid FAL-PDU",disdu:="“nulJBT103088-2005表32(续)事件或条件当前状态下一状态→动作initiator="False& FAL_Pdu_ Type (dls_user_data)="EST_ReqPDU& RemoteDIcep Address= calling_dlcep_addressFAL-PDU_reqdmpm service_name: ="DMPM_Disconnect_req",dlcep_dl_id: dlcep_dlid(from Connectind)RIl. REPLreason ="Invalid FAL-PDUCLOSEDOPENdlsdu:="null"Abort _indlocally_generated: ="True",identifier: ="FAL"reason code: ="Invalid FAL-PDUConnect ind& Initiator="True& Remote DlcepAddress o calling_dlcep_addressFAL-PDU_reqR12dmpm. service_name :="DMPM_Disconnect_reqSAMEarep_id:= Get Arepld ()dcep_dl_id: =dlcep_di_id(from Connect_ind ),reason: ="Multiple Initiatorsdlsdu:=“nul'&& Initiator=“Tue& RemoteDIcepAddress calling_dlcep_addressFAL-PDU_req Idmpm service_name: ="DMPM_Disconnect_req,dIce_dl_id: dlcep_dl_id( from Connect_ind)R13reason: ="Multiple Initiators",CLOSEDOPENdlsdu ="nullAbort indarep_id: Get Arepld (locally_ generated: ="Trueidentifier:="FAL'reason_code: ="Multiple InitiatorsJBT103088-2005表32(续)事件或条件当前状态下一状态→动作& FAL_Pdu_Type (dls_user_data)="EST_RspPDUMaxDlsduSizeFromRequestorNegotiated:dlsdu_size_from_requestor.MaxDlsduSizeFromResponderNegotiated: dIsdu_ size_from_responderR14 REQDIlPriority Negotiated dll_priorityOPENEST cnf (+)arep_id = GetArepld(),& FAL_Pdu- Type(dls_user_data)o"EST_RSPPDUFAL-PDUdmpm_service_name: ="DMPM_Disconnect_reqarep_id: Get Arepldreason: "Invalid FAL-PDU="nR15 REQCLOSEDAbort_ind Ilocally_ generated: ="Trueidentifier: ="FAL",reason code: ="Invalid FAL-pDuFAL-PDU ind& dmpm _service_name ="DMPM_Connection_Established_indR16 REPL&&CIU=0OPENno actions takenFAL-PDu ind& dmpm_service_name="DMPM_Connection_Established_indR17 REPL&&CIU>0OPENStartTimer (RS)JB/T103088-2005事件或条件当前状态下一状态→动作FAL-PDU ind&&((dmpm_service_nameo"DMPM_Disconnect_ind")&&(dmpm_service_nameo"DM_Connection._Established_ind"))FAL-PDUservice_name: ="DMPM_Disconnect reqreason :="Invalid DL-Eventdlsdu; ="null"R18REPLCLOSEDlocally _ generated: ="Truereason_ code: ="Invalid DL-Event'"additional_detail: ="null& dmpm_service__name="DMPM_Disconnect_ind& FAL_Pdu_Type (dls_user_data)=EST_ErrPDUR19 REQCLOSEDuser data: dls user data& dmpm_service_name="DMPM_ Disconnect_ind&& fal_pdu∞"nul"&& (fal_Pdu_type (dls_user_data)<"EST_ErrPDU"))R20 REQAbort_ind(CLOSEDarep_id: =GetArepld(identifier: =""FALdditional _detail ="nullJB/T103088-2005表32(续)事件或条件当前状态下一状态→动作FALPDU ind& dmpm_service_name <>"DMPM_Disconnect_indFAL-PDU_reqdmpm_service_name: ="DMPMDisconnectreqarep_idreason: ="Invalid dL-Event'"R21/ REQCLOSEDRSParepidentifier:="FAL'code: ="Invalid DL-EFAL-PDU ind& dmpm_service_name ="DMPM_Disconnect_nd&& fal_pdu∞"&& FAL_Pdu_type(dls_user_data)心“ Abort pdu"REPLarep_id: = GetArepld ()R22RSPlocally-generated ="True",CLOSEDreason code: ="Invalid FAL-PDu,,FALPDU ind& dmpm_service_name="DMPM_Disconnect_ind&& fal_pdu<"nul”&& FAL_Pdu_Type( dls user data)∞“ Abort_ PDU& role="Client"II"Peer"Abort_ind(R23 OPENarep_id: = GetArepld ()CLOSEDidentifier: ="FAL"reason code: ="Invalid FAL-PDUadditional detail ="nullJBT103088-2005表32(续)事件或条件当前状态下一状态→动作FAL-PDU ind&& fal_pdu∞“nulr&&FAL_Pdu_Type(dls_ user data)心“ Abort PDu& role=Server"II"PeerAbort_ind[R24OPENCLOSEDlocally-generated ="Truereason_code: ="Invalid FAL-PDU"Reset CountersFAL-PDU ind&&((dmpm- service_name <>"DMPM_Disconnect ind")II (dmpm_service_name <"DMPM_Dataind"))& Role =Client"II"PeerFAL-PDU_reqdmpm_service_name:="DMPM_ Disconnect rearep_id =Get Arepld (reason: ="Invalid DL- Event"R25OPENCLOSEDld(),locally- generated: ="True"reason_ code: ="Invalid DL-Event",StopTimerResetCountersJBT103088-2005表32(续)事件或条件当前状态下一状态→动作FAL-PDU ind&&((dmpm_ service _named"DMPM_Disconnect _ind")ii (dvice_nameo"DMPM_Data_ind"))roleFAL-PDU_reqdmpm_servicename: ="DMPM_Disconnect_reqep_id GetArepld ()reason ="Invalid DL-Event",dadu:=“nul"R26 OPENCLOSEDlocally_ generated: ="Truereason code: ="Invalid DL Event'FAL-PDu inddmpm service_name ="DMPM_ Data ind&&Role=“Peer”‖“ Server& Fal_Pdu_ type(dls_user_data)="CS_ReqPDU& GetCounter Value (oScs) maxOSCSR27OPENOPENCS_indarep_id:= GetArepld(),user._data: fal_pdu,IncrementCounter (OScS)JBT103088-2005表32(续)事件或条件当前状态下一状态→动作FAL-PDU ind& dmpm service_name="DMPM_Data_ ind&Roe=“Peer"l“ Server& FAL_Pdu_ Type(dls_user_data)="CS_ReqPDU& Get Counter Value (OSCS )0R28 OPENOPENuser_data; fal_pIncrementCounter(OSCS)Start Timer (RS)FAL-PDU ind& dmpm_service_name="DMPM_ Data ind& role="Server'I" Peer& FAL_Pdu_Type (dls_user_data)="CS_ReqPDu& Get CounterValue (OSCS)2maxOSCSFAL- PDU_reqdmpm_service_name: ="DMPM_Disconnect_ reqarep_id GetArreason: ="Number of parallel services exceeded",dlsdu: ="nullR30 OPENCLOSEDabort _ indarep_id: GetArepld (identifier:=“FAL"’,reason_code: ="Number of parallel services exceededadditional detail: ="nullStopTimerResetCountersJBT103088-2005表32(续)事件或条件#当前状态下一状态→动作FAL-PDU ind& dmpm_service_name="DMPM_ Data_ind& FaL_Pdu_ type(dls_user_data)="CS_ RspPDUR3oPEN→OPENr_data:=fal_pduSCC)FAL-PDU ind& dm_name="DMPM_ Data_ indFAL_ Pdu_type (dls_user_ data)="CS_RspPDtciu>0R32OPENOPENGetArepld ()user-data; fal_pduDecrement Counter(OScc)FAL-PDU ind& dmpm_ service_name="DMPM_Data_ind& FaL_Pdu_Type (dls_user_data)="UCA_ReqPDu'& role ="Server"II"Peer"UCA_ind_id =Get Arepld (user_data: fal_pduR33 OPENOPENFAL-PDU_reqdmpm_service_name: ="DMPM_Data_req"arep_idIsdu'= BuildFAL-PDUfal_pdu_name: ="UCA_AckPDU)fal data: ="null")JBT103088-2005表32(续)事件或条件当前状态下一状态动作FAL-pDu ind& dmpm_service_name="DMPM Data_ ind& FAL_Pdu_type (dls_user_data)="UCA_ReqPDU& role ="Server II"Peer"& ciu>0UCAind(arep_id: GetArepld (R34OPENOPENFAL-PDU_reqdmpm_service_name: ="DMPM_Data_reqarepid: GetArepdlsdu := BuildFAL-PDUfal_pdu_name: ="UCA_AckPDU),fal_ data: ="null")},StartTimer (RS)FAL-PDu ind& dmpm_service_name=DMPM_Data_ind& FaL_Pdu_Type (dis_user_data)="UCA_ReqPDUP& role ="Client"I"Peerdmpm_service_name: ="DMPM_Disconnect_req",reason: ="Invalid Event for roledlsdu ="nullR35 OPENCLOSEDAbort_indarep_id: GetArepId ()locally_generated ="True"identifier:="FAL",reason code: ="Invalid Event for roleadditional detail: ="null"ResetCountersJBT103088-2005表32(续)事件或条件#当前状态下一状态→动作FAL-PDu_ inddmpm_service _name="DMPM_Data_ind& FaL_Pdu- Type (dls_user_data)="UCA_AckPDU& role ="Client"II"PeerR36 OPENOPEN& Get Counter Value (UCC) >0& CiU= 0Decrement Counter (UCC)FAL-PDU ind& dmpm_service_name="DMPM_Data ind& FAL_Pdu_ type (dls_user_ data)="UCA_AckPDU& role="Client"II"PeerR37 opeN&& Get Counter Value (UCC)>0OPENciu>oDecrementCounter (UCC)Start Timer (RC)FAL-PDU ind& dmpm_ service_name ="DMPM_Data_ind& FAL_- Type (dls_user_data)="UCA_AckPDU'& role ="Client"II"Peer& Get Counter value (UCC)=0FAL-pDU_reqdmpm_service_name: ="DMPM_ Disconnect_req",arep_id: =GetArepld (reason: ="UCA AckPDU received and UCC=0alsoR38 OPENCLOSEDidentifier: ="FAL",reason code: ="UCa AckPDU received and UCC=0,,additional detail ="nullStopTimerResetCountersJBT103088-2005表32(续)当前状态事件或条件下一状态动作FAL-PDU ind& dmpm_service_name ="DMI& FaL_Pdu_type (dls_user_data)="IdlePDU'R39 oPen&&CiU>0& Role="Client"II"Peer"Starttimer (rC)FAL-PDU ind& dmpm_service_name="DMPM_Data ind& FAL_Pdu_Type(dIs_user_data)="ldlePDUR40 OPEN& ciu>0PEN& role ="Server l"PeerStartTimer (RS)FAL-PDU ind& dmpm_service_name ="DMPM_Data_ ind"& FAL_Pdu_Type (dls_user_data)="IdlePDU& ciu=0FAL-pDU_req(dmpm_ service_name:="DMPM_ Disconearep_id =GetArepld (reason ="Invalid FAL-PDUdisdu:=“null411 OPENCLOSEDAbort_indarep_id =GetArepld (ed: ="True"identifieFAL'reason_ code: ="Invalid FAL-Pladditional detail: ="null"ResetCountersJBT1030882005表32(续)事件或条件当前状态下一状态→动作FAL-PDU ind& dmpm_service_name="DMPM_Data ind& Role=" Client&&((FAL_Pdu_Type (dls_user_data)o"CS_RspPDU")IT(FAL_Pdu_ type(dls_userdata)"UCA_AckPDUI(FAL_Pdu_ Type (dls_user_data)o"ldlePDU")FAL- PDU_req Idmpm_ service_name: ="DMPM_ Disconnect-reqarepid:= GetArepId()reason ="Invalid FAL-PDu",dIsdu = "nullR42OPENCLOSEDarep_id: Get Arepld ()locally_generated: ="Trueidentifier: ="FAL.reason code ="Invalid FAL-PDU,additional detail: ="null},ResetCountersFAL-PDu ind& dmpm_ service_name ="DMPM_ Data_ind& role ="Server"&&((FALPdu_Type (dls_user_data)o"CS_ReqPDU")Il(FAL_Pdu_Type (dls_user_data)o"UCA_ReqPDU')II(FAL_Pdu_Type (dls_user_data)o"ldlePDU"))FAL- PDU_reqdmpm_ service_name: ="DMPM_Disconnect__reqarep_id:= GetArepld (reason: ="Invalid FAL-PDU"dIsdu: ="nullR43 OPENCLOSED,Abort_ indarep_id: GetArepld ()locally_generated: ="Trueidentifier;=“"FAL"reason code: ="Invalid FAL-PDU"additional detail: ="nullStopTimerResetCountersJB/T103088-2005表32(续)事件或条件当前状态下一状态动作FAL-PDU ind& dmpm_ service_name="DMPM_Data_ind& role ="Client&&((FALPdu_Type(dlsuser_data)<"CS_ReqPDu")lI(FAL_Pdu_Type (dlsuser_data)<"CS_RspPDU")IT(FAL_Pdu_ Type(dls_user_data)o"UCA_ReqpDU")II(FAL_Pdu_Type(dlsuser_data)o"UCA_AckPDU)IT(FAL_Pdu_Type (dls_user_data)<"ldlePDU"))FAL-PDU_reqdmpm_service_name ="DMPM_Disconnect_reqarep_id: GetArepId (),R44 OPENInvalid FAL-PDU"CLOSEDdudu:="“nullAbort_indarep_id: GetArepld()locally_ generated: ="Trueidentifier: ="FAL",reason_ code: ="Invalid FAL-PDU,additional detail: ="nullStopTimerRCTimer expiredFAL-PDUreq idmpm_service_name: ="DMPM_Disconnect_reqarep_id: Get Arepld (reason: ="RTimerdlsdu:=“nulR45 OPENAbort_indCLOSEDarep_id Get Arepld (locally_generated ="Trueidentifier;=“FAL",reason_code: ="RCTimer expired"additional detail : ="nullStop TimerResetCountersJB/T103088-2005表32(续)当前状态事件或条件下一状态→动作RSTimer expiredFAL-PDU_reqdmpm_servicename: ="DMPM_Disconnect_reqid; GetArepId (reason: ="RSTimer expired",},R46 OPENAbort- indCLOSEDarep_id: =GetArepld (locally-generated ="Trueidentifier:=“FAL"reason_code: ="RSTimer expireddditional detail: ="null"StopTimeResetcounters& dmpm service_name ="DMPM_Disconnectind&&fal-pdu<>“nun& fal_ Pdu_ Type (dls_user_data)="Abort_PDUarep_id: s GetArepld()NOTR47locally-generated: ="FalseCLOSEDCLOSEDidentifier: AbortIdentifier(fal_pdu)reason_code: Abort Reason( fal_pdu)additional_detail Abort Detail(fal_pdu)JBT103088-2005表32(续)事件或条件当前状态下一状态→动作FAL-PDU indmpm -service_name ="DMPM_Disconnect_ind& originator ="remote_dls_providerAbort_indarep_id: GetArepld()locally_ generated ="False"CLOSEDCLOSEDdentifier: ="Data Link Layeradditional detail: ="null"FAL-PDU ind& dmpm_service_name="DMPM_Disconnect_ind'& fal_pdu ="null& originator =" remote dls_userNOTarep_id : GetArepid (R49CLOSEDCLOSEDlocally__generated: ="False},Reset CounFAL-PDU ind& dmpm_service_name="DMPM_Disconnect_ind&&fal-pdu="null”& originator ="local_ dls_provider"arep_id: =GetArepld (R5UCLOSEDlocally- generated ="TrueCLOSEDidentifier: ="Data Link Layer"reason code : reasonadditional detail: ="nullStop Timer,JBT10308.8-2005事件或条件#当前状态下一状态→动作ErrorToARPMFAL- PDU_req(dmpm_service_name ="DMPM_Disconnect_reqarep_id: GetArepld (reason reason,Abort indCLOSEDCLOSEDarep_id: GetArepId()reason code reason,66163 QUB-FC ARPM使用的功能表33~表45定义了 QUB-FC ARPM状态机使用的功能。表33 GetArepld()功能名称GetArepld (用于ARPM输入输出(无)AREP Identifier(AREP标识符)功能返回一个可以无歧义的标识当前AREP的值表34 BuildFAL-PDU功能名称Build FAL-PDU用于ARPM输入输出ufal additional detail功能根据作为输入变量给出的参数建立一个 FAL-PDUJB/T10308.8-2005表35 FaL Pdu_Type功能称FAL_Pdu_Type用于ARPM输入输出dls user dataFAL-PDUS子段定义的一种类型的 FAL-PDU功能该功能对 FAL-PDU进行解码,这个 FAL PDU是通过 dls user data参数传递的,并重新获得一种类型的 FAL-PDU表36 AREPContext Check()功能名称AREPContextcheck (用于ARPM输人输出dI sduBoolean value.(布尔值)功能该功能核对随着 establish服务一起接收到的 AREP Context参数。本地与远程上下文的一致性如下表所示Local ContextRemote ContextmaxOSCCmaxoscsmaxoscs≤maxUCSSnaxUCSCmaxOSCCmaxUCSsmaxUCSC注≤:本地值小于或等于远程值。≥:本地值大于或等于远程值。=:本地值等于远程值。表37 AbortIdentifier功能名称Abortldentifier用于ARPM输人输出Abort服务的 Identifier(标识符)参数功能该功能对Abor_PDU进行解码,这个 Abort pdu通过 fal_pdu参数传递,并获取 Identifier参数表38 AbortReason功能名称Abortreason用于ARPM输人输出fal_pduAbort服务的 Reason code参数能该功能对 Abort PDU进行解码,这个 Abort PDU通过 fal_pdu参数传递,并获取 Reason Code参数JB/T103088-2005表39 AbortDetail功能名称Abort Detail用于ARPM输入输出fal__pduAbot服务的 Additional Detail参数该功能对Abot_PDU进行解码,这个 Abort PDU通过 fal_pdu参数传递,并获取 Additional detail参数注:下面两个功能使用了持续的协议定时器,它们能够发布本地事件“ TSTimer expired",“ TCTimer expired”,“ RCTimer expired”和“ RSTimer expired”,向ARPM通告合适的时间间隔表40 StartTimer功能名称StartTimer用于ARPM输入输出dentifier功能该功能启动所选的持续的协议定时器,如下:如果标识符是TS,以CIU3的值启动TS定时器如果标识符是TC,以CIU/的值启动TC定时器如果标识符是Rs,以CIU的值启动RS定时器如果标识符是RC,以CU的值启动RC定时器注:如果本功能启动的定时器原来就在运行中,该定时器会重新启动表41 Stop Timer功能名称Stop Timer用于ARPM输入输山该功能停止ARPM的所有本地的持续的协议定时器注:下列功能使用了本地永久变量OSCC(客户未完成的服务的当前值),UCC(客户未证实的服务的当前值),OSCS(服务器未完成的服务的当前值),它们用于未完成的服务的计数,OSCC,UCC,OSCS初始值都为0。表42 Reset Counters功能名称ResetCounters用于ARPM输入输出该功能将OSCC,UCC,OSCS设置为0表43 IncrementCounter功能名称IncrementCounter用于ARPM输人输出功能该功能对所选的计数器加1JBT103088-2005表44 DecrementCounter功能名称Decrement Counter用于ARPM输入输出Identifier(标识符)功能该功能对所选的计数器减1表45 Get Counter Value功能名称GetCounter Value用于ARPM输人输出Identifier(标识符)Value(值)功能该功能返回所选的计数器的当前值662网络调度单向缓冲(BNU)ARPM( Buffered Network-scheduled unidirectional(BNU)ARPM)6.621原语定义662.1.1ARPM和FSPM之间交换的原语表46和表47列出了FSPM和ARPM之间交换的原语。表46FSPM发布给ARPM的原语原语名源相关参数功能ES这是一个FAL内部原语,用于从FSPM向ARPM传T_requser data递一个 Establish request原语这是一个FAL内部原语,用于从FSPM向ARPM传Abort_reqreason code递一个 Abort request原语addItional detail这是一个FAL内部原语,用于从FPM向ARPM传UCS reFSPMuser data.递一个 Uncon firmed Send(UCs) request原语表47ARPM发布给FSPM的原语原语名相关参数功能o id这是一个FAL内部原语,用于从ARPM向FSPM传递EST_cnf(+)ARPMEstablish response(+)原语arep_这是一个FAL内部原语,用于从ARPM向FPM传递EST_cnf(-) ARPM个 Establish response(-)原语这是一个FAL内部原语,用于从ARPM向FSPM传递locally_ gene个Abor原语Abort indARPMreason codeadditional detailarep_id,这是一个FAL内部原语,用于从ARPM向FSPM传递个 Unconfirmed Send(Ucs) indication I原语s indARPM user_dataremote timelinessJB103088-2005662.12 FSPM/ARPM原语的参数FSPM和ARPM之间交换的原语使用的参数在表48中进行描述表48FSPM和ARPM之间交换的原语使用的参数参数名描述ep_id该参数用于无歧义的标识已发布一个原语的AREP的一个实例。本标准中没有规这种标识方法user data该参数传递FAL用户数据locally_generated该参数传递 Locally_Generated参数值Identifier该参数传递 Identifier参数值reason code该参数传递 Reason_ Code参数值dditional detail该参数传递 Additional Detail参数值6622 BNU AREP类别在DLL的映射66221 BNU AREP类别的形式模型本段描述 BNU AREP类别在现场总线数据链路层的映射。这里不再重新定义 DLSAP或DLME属性,因为它们已经或者将会在数据链路层标准中给出定义;而这里定义的是AR类别如何使用它们。本段中给出下列定义:DL映射属性及它们的允许值, BNU AREP类别使用的DLL服务CLASSBrPARENT CLASSBuffered NetworkScheduledUnidirectionalAREPATTRIBUTESattributeOosParameter Set3.1Attribute3.7(m)Dlcep Class Publisher37,2(m)AttributeMaxDlsduSizeFromRequestor3.8Constraint3.8.2AttributeMaxDlsduSizeFromResponderDLL SERVICESConstraint:DlcepClass (Publisher)DI-PutDL-Get2ConstraintDlcep Class(Subsciber2.1Ops ServiceDL-PutOps ServiceDL-Get3Ops ServiceDL-Buffer-Received6.62.22属性662221发布者 DLCEP地址( PublisherDIcepAddress)该属性规定了发布者的 DLCEP地址并标识了 DLCEP。该属性值被作为数据链路层的“ DLCEP地址”参数的值。该属性含有下列三个子属性: Link address(链接地址), Node Address(节点地址)和 Selector(选择器)。JB/T103088-2005由于本地链接和节点地址是由网络管理设置的,只有 LocalDlsap Address属性的选择器部分是FAL的可配置的属性662222Dlep类别( DIcep Class该属性规定了附属在AREP上的 DLCEP的行为该属性为数据链路层的“ DLCEP类别”的参数提供参数值。该属性值可能是发布者或者预订者分别与数据链路层定义的 PUBLISHER(发布者)和 SUBSCRIBER(预订者)相对应。662223请求方 DIsdu的最大长度( MaxDlsdusize FromRequestor)当Role属性值是“ PushPublisher”时使用该属性,同时该属性规定了从AREP发送出去的FAL-PDU的最大长度662224响应方Ddu的最大长度( MaxDlsduSizeFromResponder)当Role属性值是“ Push Subscriber”时使用该属性,同时该属性规定了这个AREP能接收的FAL-PDU的最大长度66223DLL服务参考本标准第3部分关于数据链路层服务的描述。6623 BNU AREP状态机66231 BNU ARPM状态所定义的 BNU ARPM的状态和它们的描述列在表49和图28中表49 BNU ARPM状态状态描述CLOSED定义了AREP,但不能发送或接收 FAL-PDUSREQUESTINGARFP已经发布一个 EST_req,正等待一个 Est cnf原语OPEN定义了AREP,并能够发送和接收 FAL-PDUsS3 S4R2R3, R4R7. R8R9.RIOR7.R8REQUESTINGOPEN图28 BNU ARPM状态转换图66232 BNU ARPM状态表表50和表51定义了 BNU ARPM的状态机。JBrT103088-2005表50 BNU ARPM状态表一发送方事务处理事件或条件#当前状态下一状态动作& role ="PushPubliFAL-PDU_reqdmpm service_name≥“ DMPM_Connect_reqCLOSEDalling_address: ="default dlsap addressdlsdu:=“nul& role="Push Subscriber"FAL-PDU_req(dmpm_service_name ="DMPM_Connect_req".CLOSEDarep_jd = GetArepld (),REQcalling_address: =default dlsap addresslocal_dlcep_address ="default subscriber dlcep address& role ="PushPublisherdmpm_service_name: ="DMPM_Disconnect reqNOTarep_id:= GetArepld (reason: ="disconnection-normal condition".CLOSEDCLOSEDdlsdu: BuildFAL-PDUfal_pdu_name: ="Abort_ PDUfal id identifyal reason code: reason _ codefal additional detail: additional detail)& role =*Push Subscriber'NOTFAL- PDU_reqCLOSEDCLOSEDImpm_servjce_name: ="DMPM_Disconnect_reqarep_d GetArepld()reason: ="disconnection-normal conditionJBT103088-2005表50(续)事件或条件当前状态下一状态→动作& role ="Push PublisherFAL- PDU_reqdmpm_service_ name: ="DMPM_Put_reqOPElOPENarep_id: GetArepld ()dlsdu' BuildFAL-PDUfaLpduname:="UCS_PI表51 BNU ARPM状态表一接收方事务处理事件或条件当前状态下一状态→动作EST_cnf (+)(id: GetArepld ()user data:=“nullFAL PDU indRole ="Push Subscriber"dmpm service_name="DMPM_Disconnect_ind& fal_pdu="nulloriginator ="local_dls_providerREQCLOSEDEST_cnf(-)(arep_id: GetArepld ()user data: ="nullFAL- PDU indrole ="Push Subscriber& dmpm_service_name="DMPM_Disconnect_ind&& fal_ pdu=“null& originator ="remote_dIs_providerCLOSEDEST_cnf(-)(arep_id: GetArepld (user data: ="nullJB/T103088-2005表51(续)事件或条件#当前状态下一状态动作& role ="PushSubscriber'& dmpm_service_name o" DMPM_ Disconnect_indarep_id: = GetArepld()CLOSEDidentitier-FAL, True",reason_code;=“" Invalid DI Event”additional detail ="nullFAL-PDU ind& dmpm_servicename="DMPM_Disconnect_ ind&& originator=“ocal_ dls_provider”OPENAbort_indCLOSEDlocally_generated ="True",identifier:="Data Link Layeradditional detail ="nullFAL-PDU ind& role ="Push Subscriber& dmpm_service_name="DMPM_ Disconnect ind&& fal_pdu="nulr”& originator="remote_dls_providerOPENAbort_indCLOSEDlocally-generated: ="False",identifier: ="Data Link layerson code: reason,JBT103088-2005表51(续)事件或条件状态下一状态→动作FAL-PDU ind& role ="PushSubscriber& dmpm_service_name="DMPM_Disconnect_ ind& Fal_Pdu_ type(fal_pdu)="Abort_PDUAbort_ind iR7 NOT CLOSEDCLOSEDarep_id: Get Arepld()identifier:= AbortIdentifier(fal_pdu)reason_ code: AbortReason (fal_pdudditional_detail AbortDetail (fal_pduFAL-PDU ind& dmpm service_name =""DMPM_Disconnect_ine&& fal_pdu<“nul'& Fal_Pdu_Type(falpdu) aBort_PDUR8 INOT CLOSEDAbort_indCLOSEDlocally_generated ="Trueidentifier;=“FAL",reason code: ="Invalid FAL-PDU"additional detail ="nullFAL-PDU ind& role ="Push Subscriber&&((dmpm_service_name“"OK& FindArep()="TrueFAL-PDU_indR19bACTIVEDMPM service name: ="DMPM Data cnfACTIVEoriginator: ="local_dls_providerreason =dl statusDL Buffer Received, ind--loop through all REPSarep_id: SelectNextArep (if(Arep Role(arepid)="PushSubscriber")FAL-PDU_indDMPM service name:="DMPM Buffer Received indfal_pdu AddUcspduHeader (dl_dls_user_data)local dle timeliness: ="Falseremote dle timeliness ="FalR21 ACTTVEACTIVEDL Get cnf (-FAL- PDU_ind[DMPM_ service_name: ="DMPM_ Get cnf"dl error fErrorTOARPMoriginator: ="local_dIs_provider",reason dl_error_typeif( ArepRole( arep_id)=“ PushPub! isher”)FAL-PDU_indDMPM_ service_name: ="DMPM Buffer Sent indJBTr103088-20056733MPM使用的功能表78~表85给出了DMPM使用的功能表78 PickArep功能名称PickArep用于DMPM输人输出arep id(指定AREP的所有属性)功能选择由参数aep_id指定的AREP属性。该功能执行后,所选的AREP的属性对状态机是可用的表79 FindAREP功能名称ndAREP用于DMPM输人输出本地映射)( local mapping)True l False功能该功能标识将与一个活动的DMPM绑定的AREP”Tue"表示AREP存在。如果AREP存在,该功能还返回一个发送DMPM原语到该AREP的方法表80 SelectNextArep功能名称SelectNextAREP用于DMPM输人输出ep_id功能从第一个开始,返回下一个现存ABEP的aepi参数表81 Areprole功能名称用于DMPM输出p_id(指定的AREP的Roe属性值)功能该功能返回 arep_id参数规定的ARFP的Role属性值表82 FalArHeader功能名称FalArHeader用于DMPM输入输出dl dls user data(the FAl header功能该功能对通过 dl dIs user_data参数传递的 dlsdu进行解码,并返回 FAL-PDU类型JB/T103088-2005表83 AddUesPduHeader功能名称AddUcsPduheader用于DMPM输人输出dIs user data功能将 UCS-PDU的头加到从DLE接收来的 di dls user data中表84 RemoveUesPduHeader功能名称FalArHeaderDMPM输人输出dadu功能将UCS-PDU头从一个AREP接收来的 FALPDU中移去表85 DILinkstatus功能DILinkStatus用于DMPM输人输出无(none)Linked l Unlinked功能该功能返回本地 DIs-provider在此刻是否同步

论文截图
版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。