GBT 19769.1-2022 功能块 第1部分:结构_第1页
GBT 19769.1-2022 功能块 第1部分:结构_第2页
GBT 19769.1-2022 功能块 第1部分:结构_第3页
GBT 19769.1-2022 功能块 第1部分:结构_第4页
GBT 19769.1-2022 功能块 第1部分:结构_第5页
已阅读5页,还剩128页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国家标准化管理委员会国家市场监督管理总局发布国家标准化管理委员会I V V 1 1 24参考模型 4.1系统模型 4.2设备模型 4.3资源模型 4.4应用模型 4.5功能块模型 4.6分布式模型 4.7管理模型 4.8操作状态模型 5.1概述 5.2基本功能块 205.2.1类型声明 205.2.2实例行为 225.3复合功能块 5.3.2实例行为 275.4子应用 5.4.2实例行为 5.5适配器接口 5.5.2类型规范 5.6异常和故障处理 Ⅱ6服务接口功能块 6.1.2类型规范 6.1.3实例行为 6.2通信功能块 6.2.2实例行为 6.3管理功能块 7功能单元和系统的配置 447.1配置原则 44 44 44 7.3配置要求 7.3.1系统配置 457.3.2应用规范 45 457.3.4网段和链路的配置 46附录A(规范性)事件功能块 47附录B(规范性)文本语法 附录C(资料性)对象模型 附录E(资料性)信息交换 附录F(规范性)文本规范 附录G(资料性)属性 参考文献 Ⅲ 20图10基本功能块类型声明 21图11ECC示例 22图12ECC操作状态机 图13复合功能块的PI_REAL示例 26图14PID_CALC基本功能块的示例 27图15子应用的示例PI_REAL_APPL 29图16适配器接口概念模型 图17适配器类型声明图形示例 图19适配器连接的图示 图20服务接口功能块示例 图21时序图的示例 图22一般管理功能块类型 图23失败服务的服务原语序列 图24受管功能块运行状态机 图A.1事件分割和合并 图C.2库元素 图C.3声明 图C.4功能块网络声明 图C.5功能块类型声明 图C.6IPMCS概要 图C.7功能块类型和实例 图D.3UREAD功能块类型 图E.1单向事务的类型规范 图E.2单向事务连接的建立 图E.3正常的单向数据传送 图E.7双向数据传送 图E.8双向数据传送的连接释放 23表2服务接口功能块的标准输入和输出 表3服务原语语义 表4通信功能块的变量语义 表6CMD输入值和语义 40表8命令语法 表9图24中动作语义 表A.1事件功能块 47表C.1ESS类描述 表C.2库元素的语法生成 表C.3声明的语法生成 表D.1STATUS值的语义 表D.2READ功能块类型的源代码 表D.3UREAD功能块类型的源代码 表D.4WRITE功能块类型的源代码 表D.6IEC61499-4交互特性 表E.1固定长度数据类型的COMPA 表G.1属性元素的定义 V “本文件的使用者应当意识到如果这些要求不能满足,算法执行的结果是不可预测的。”——更改了中关于EC转换的内容和对图11中符号的解释(见,2015年版的V——增加了“或者网段参数的声明值与7.2.3中定义的网段类型的声明(如果有)不一致”表A.1,2015年版的表A.1);——表A.1中编号为11的文字说明处将EI事件更改为START事件(见表A.1,2015年版的——表A.1中编号为12的文字说明处将EI事件更改为START事件,将EO2更改为EO1(见表A.1,2015年版的表A.1);Declaration等4个类的表项(见表C.3);——增加了AdapterConnecti——更改了ASN.1MODULE的内容(见E.3.2,2015年版的E.3.2);施耐德电气(中国)有限公司上海分公司、北京金立石仪表科技有限公司、深圳市 ●功能块类型的规范; —GB/T19769.4,指定了被实现的GB/T197W1本文件规定了分布式工业过程测量和控制系统(IndustrialProcessMeasurementandControl●功能块类型的规范和标准化;●系统元素的功能性规范和标准化;●与实现无关的分布式IPMCS的规范、分析和验证;●实现上述功能的软件工具间的信息交换。本文件并不限制或指定IPMCS或它们的系统元素的功能,除非某个功能要用到本文件定义的元素来表示。IEC61499-4陈述了本文件所定义元素可能受到一致性系统、子系统和设备的功能限制的本文件的目的之一是为在其他支持系统生命周期的标准中使用功能块提供参考模型。系统生命周下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文GB/T9387.1—1998信息技术开放系统互连基本参考模型第1部分:基本模型(idtISO/GB/T13000—2010信息技术通用多八位编码字符集(UCS)(ISO/IEC10646:2003,IDT)ISO/IEC8824-1:2008信息技术抽象语法记法(ASN.1):基本记法规范[Informationtechnology—AbstractSyntaxNotationOne(ASN.1):Specificationofbasicnotation]IEC61131-3:2003可编程序控制器第3部分:编程语言(Programmablecontrollers—Part3:2从插头适配器到相同适配器接口类型的插座适配器的连接,该连接承载由适配器接口类型定义的按一定操作步数解决问题的一组明确规定的双向转换bidirectionaltransacti3配置(系统或设备)configuration(ofasystemordevice)数据data4数据输出dataoutput其基本功能是管理设备内多个资源的应用。事件输出eventoutput56功能块类型functionblocktype标识符identifier信息information实例化instantiation7调用invocation8GB/T19769.1—2022/IEC6149其值由功能块的一个或多个操作建立并提供给数据输出的变量。表示一种交互的服务原语。其应用调用服务提9表示一种交互的服务原语,其应用指示它已经完成了先前由一个指示原语表示的交互所调用的某子应用类型subapplicationtype其本体由互连的组件功能块或者组件子应用构成将来自请求者的请求或可能的数据传送到响应者并且也可将来自响应者的响应或可能的数据传回类型名typename将来自请求者的请求或可能的数据传送到响应者,但不能将来自响应者的响应传回到请求者的一在本文件中,通过由网段和链路组成的通信网络,工业过程测量和注:被控过程不是该测量和控制系统的一部分。IPMCS所执行的一个功能被模型化为一个应用,该应用可驻留在单个注1:按照第7章中的规定来定义,设备被视为是相应设备类型的实例。注2:不包含资源的设备被视为在功能上等同于4.3中定义的资源。通信接口提供资源和经过通信网络交换的信息之间的映射。通信接口可以提供●把通信信息以数据、事件或者两者都有的形注:此图显示了图1中设备2的可能内部结构。注1:按照7.2.1的规定来定义,资源被视为是对应资源类型的实例。注2:尽管资源对其运行有独立的操作控制,但为了安装、测试等目的,它的运行状态可能需要与其他资源的运行状态进行协调。注3:除了支持上述列举的功能以外,特定资源类型还可能表示出实现接口功能的能力,例如通过通信链路实现过程接口或底层通信服务。根据资源类型的不同,所能提供的服务可能有一种或者多种。注4:资源其他可能情况的考虑超出了本文件的范围。或分布式应用的本地部分功能块功能块算法调度功能一个应用可分布在同一设备或不同设备的几个资源中。资源使用由信和过程接口或资源的其他功能可能产生的事件的适当响应。这●算法的调度和执行;●变量的修改;●其他事件的产生;●与通信和过程接口的交互。本文件上下文中,应用通过指定功能块或子应用实例中的事件和数据流的功能块网络来定义,如图4所示。根据第5章给出的规则,事件流通过每一功能块算法指定操作的相关资源来决定调度和遵从本文件的标准、组件和系统可以指定执行调度的替代方法。这些替代方法应使用本文件所定一个功能块(功能块实例)是一种软件的功能单元,包括由功能块类型指定的数据结构的单个命名副本,该副本从功能块的一次调用一直持续到下一次调用。功能块实●类型名和实例名。●一组事件输入。每个都可以从事件连接接收事件,这些事件可能影响一个或多个算法的执行。●一组事件输出。每个都可以向事件连接发出事件,这些事件的发出取决于算法的执行或功能●一组数据输入,可被映射到相应的输入变量。●一组数据输出,可被映射到相应的输出变量。●内部数据。可被映射到一组内部变量。●通过把内部数据或状态信息或两者与一组算法、相关资源的功能性或两者结合来决定功能特功能块包含的算法原则上对于功能块的外部是不可见的,除非功能块的提供者提供了正式或非正式的描述。此外,功能块可以包含内部变量或者状态信息或者两者都包含。它们在功能块算法的调用在事件输入、事件输出和算法执行中对因果关系的规定方法在第5章和第6章中定义。功能块类型是一种软件元素,规定了该类型所有实例的特征,包括:●类型名;●输入、输出和内部变量的数量、名字、数据类型和顺序。这些特征的声明机制在5.2.1中定义。另外,功能块类型规范定义了该类型实例的功能性。这些功能性描述如下。部变量的值进行操作,产生输出变量和内部变量的新值。使用中定义的声明机制,按照的输入、输出来声明。如图6所示,基本功能块的算法的执行由功能块实例的执行控制部分响应事件输入中的事件来调用。这种调用采用请求相关资源的调度功能来调度算法操作的执行。一旦算法执行完成,执行控制在适当的事件输出上产生零个或多个事件。其他功能块实例或者相同功能块实例的事件输出来作为事件输入的事件t₁:相关输入变量值(例如,那些通过中定义的WITH限定词与事件输入联系在一起的输tg:执行控制功能通知资源调度功能去调度一个算法的执行;ts:通过中定义的WITH限定词将输出变量与事件输出相关联的输出变量的值的建立;₂执行控制功能s调度功能₃₁Tsun=t₄-t₂(从事件输入上的事件产生到算法执行开始的时间);Tag=t₆-t₄(算法执行的时间);Tfnish=tg-t₆(从算法执行结束到在事 如图8a)所示,应用或子应用程序可以通过将其功能块实例分配到一个或多个设备中的不同资源来进行分布。由于功能块的内部细节对于使用它的任何应用或子应用都是隐藏的,因此功能块应形成应用或子应用的功能块之间的功能关系应不受其分布的影响。然而,与限定在单个资源中的一个●为了支持在多个设备中应用或子应用的分布,第6章定义了通信服务的要求;●对于多个应用或子应用分布在多个资源和设备中的情况,第7章定义了相应的要求。图8b)和图8c)给出了资源和设备管理的示意图。图8b)描述了一个管理资源为在一个设备中的其他资源的管理提供共享设施的情况,而图8c)描述了在一个设备内资源之间管理服务的分布。管理a)分布式模型通信接口b)共享管理模型c)分布式管理模型“STOPPED”等。a)基本功能块(见5.2)b)复合功能块(见5.3)c)子应用(见5.4)注:本图仅作说明,其图示并不作为标准。a)在块下半部的顶端中心处给出功能块的类型名;b)输入变量和插座适配器的名称和类型声明显示在块的下半部的左边给出;c)输出变量和插座适配器的名称和类型声明显示在块的下半部的右边给出;d)功能块类型和事件之间接口的声明按照中的规定在块的上半部给出;TIME一由如图10所示,可根据B.2中给出的语法以文本形式来声明对事件的基本功能块类型的接口,或者a)事件接口位于块上半部的明显区域;c)事件输出的名称在控制块上半部的右边给出;如图10和附录F所示,WITH限定词或者一个等效图符应分别用来规定输入量或输出量和相关每个输入变量和输出变量可以在0个或多个WITH子句或其等效图符中出现。GB/T19769.1—2022/IEC注:资源应执行的这些初始化的条件与实现相关。图11ECC示例注1:由于功能块内部状态的改变,算法执行的操作可能跟下一次执行的操作有所不同,即使功能块只有一个算法并且只有一个事件输入来触发它的执行。注2:该模型将会产生一个结果:在事件输入时,如果转换与当前活动状态无关、事件和给定状态无关,事件出现不会引起包含事件的转换结果明确化。但是,通过WITH结构和事件相连的输入量的采样在任何情况下都会出现。图12ECC操作状态机执行动作多次跳转·源应确保在任何给定的时刻都不会触发一个以该操作包含对如所述的通过WITH和当前事件相连的输入量的采样(或等效功能*如B.2.1所定义,判断跳转条件操作包含当前激活状态以及第一个满1)“跨越EC跳转”应包括停用其前任EC状态和激活其继任EC状态;2)过渡条件的评估顺序应与B.2.1中定义的过渡声明顺序一致,或与IEC61499-2中定义的XML语法相同:3)仅包含event_input_name的转换条件的保护条件应具有默认值TRUE;4)如果状态s₁是通过t₁输入的,则只应评估通过B.2.1中定义的事件输入名称与当前输入事件相关联的转换条件,或没有事件关联的转换条件;5)如果s₁状态是通过t.输入的,则只评估没有事件关联的过渡条件。定义的XML顺序一致。·从t₁到t₂的所有转换过程应被当作功能块实例上带有所存功能的临界区执行。如附录F所示,根据附录B给出的功能块类型声明规范的规则,与基本功能块类型相关的算法可●只在算法体中可见;●在每次调用算法时初始化;●可在算法执行期间使用和修改;以及●不具有在算法执行之间保持的值。基本功能块类型的算法调用顺序可在功能块类型规范中进行声明。如果一个基本功能块类型的算b)ECC应确切包含一个EC初始状态,使用含有相关标识符的双线边框矩形来表示,ECc)ECC应包含一个或多个EC状态,每一个都使用含有相关标识符的单线边框矩形来表示;d)ECC可以使用但不能修改在功能块类型规格说明中声明的变量;e)一个EC状态可有零个或多个相关的EC动作,EC动作与EC状态的联系可用图形或文本的f)与一个EC动作相关的算法(如果存在)以及在该算法完成后发出的事件(如果存在)应以图形g)一个EC转换应使用图示或文本的形式来表示,从一个EC状态直接连接到h)每个EC转换应具有一个关联的转换条件,其中包含对事件、保护条件或两者的引用,并以B.2.1中为非终端ec_transition_condition定义的语法表示。图11描述了一个ECC的元素。附录F中给出了使用B.2中的语法的等效文本声明。基本功能块中算法的执行应由一组有限的操作序列的执行所组成,该操作序列由与实现相关的规如果一个算法实现一个状态机,算法的重复执行需要识别或执行状态的改变。通常在这些状态的改变和算法的完成之间没有联系。这类联系应通过5.2.复合功能块类型声明应遵循5.2.1给出的规则,但通过组件功能块的事件输入和事件输出与复合功能块的事件输入和事件输出互连来表示功能块调用的顺序和因果关系的情况除外。这一用法应遵循a)复合功能块的每一事件输入应连接到一个确切组件功能块的一个确切的事件输入,或连接到该复合功能块的一个确切事件输出。图A.1中给出的事件分割图示的使用是个例外。b)组件功能块的每一事件输入应连接到确切的另一组件功能块的至多一个事件输出,或连接到该复合功能块的至多一个的事件输入。图A.1中给出的事件合并图示的使用是个例外。c)组件功能块的每一事件输出应连接到确切的另一组件功能块的至多一个事件输入,或连接到该复合功能块的至多一个的事件输出。图A.1中给出的事件分割图示的使用是个例外。d)复合功能块的每个事件输出应与一个确切组件功能块的一个确切事件输出连接,或从该复合功能块的一个确切事件输入连接。图A.1中给出的事e)复合功能块类型的事件输入的声明应使用WITH限定词。WITH限定词的使用可导致相关f)5.4中定义的子应用类型实例不能用于复合功能块类型规范。组件功能块的数据输入和数据输出可以与复合功能块的数据输入和数据输出互连,以表示复合功1)复合功能块的每一数据输入可连接到零个或多个组件功能块的零个或多个数据输入,或者连2)组件功能块的每一数据输入可连接到确切的另一组件功能块的至多一个的数据输出,或连接3)组件功能块的每一数据输出可连接到零个或多个组件功能块的零个或多个数据输入,或连接4)复合功能块的每一数据输出应从一个确切组件功能块的一个确切数据输出连接,或从复合功图13描述了这些规则对PI_REAL功能块示例的应用。图13a)给出了外部接口的图示,图13b)给出了其本体结构的图示。图14给出了PI_REAL示例本体中使用的PID_CALC功能块类型的接口pvREALREAL-NT由由ki-KI注1:附录F中给出了这一功能块类型的完整的文本声明。注2:本例仅作说明,描述的细节并不作为标准。图13复合功能块的PI_REAL示例PVETEb)图示本体注:本例仅作说明,描述的细节并不作为标准。GB/T19769.1—2022/IEC61495.4子应用子应用类型的声明与5.3.1中定义的复合功能块的声明相似,不同之处在于它使用的定界关键词应为SUBAPPLICATION...END_SUBAPPLICATION。这一用法应遵循以下规则:a)WITH限定词不能用于子应用类型的事件输入和事件输出的声明;b)子应用的每一事件输入应连接到一个确切的组件功能块或组件子应用的一个确切的事件输c)组件功能块或者组件子应用的每一事件输入连接到确切的另一组件功能块或者组件子应用的d)组件功能块或组件子应用的每一事件输出连接到确切的另一组件功能块或者组件子应用的至e)子应用的每一事件输出从一个确切的组件功能块或组件子应用的一个确切事件输出上连接,组件功能块或组件子应用的数据输入和数据输出可与子应用的数据输1)子应用的每个数据输入可以连接到零个或多个组件功能块或组件子应用的零个或多个数据输2)组件功能块或组件子应用的每个数据输入可以连接到其他另一组件功能块或组件子应用的至3)组件功能块或组件子应用的每个数据输出可以连接到零个或多个组件功能块或组件子应用的4)子应用的每一数据输出应从一个确切组件功能块或组件子应用的一个确切数据输出连接,或a)外部接口o-TDpv-PV注1:附录F中给出了该子应用的完整的文本声明。注2:本例仅作说明,描述的细节并不作为标准。图15子应用的示例PI_REAL_APPLa)如果子应用的一个事件输入连接到块的事件输出,则该事件输入上一个事件的发生应引起相b)如果子应用的一个事件输入连接到一个组件功能块或组件子应用的一个事件输入,则子应用应引起组件功能块或组件子应用执行控制功能一个调用的调度;c)如果组件功能块或组件子应用的一个事件输出连接到第二个组件功能块或组件子应用的一个d)如果一个组件功能块或组件子应用的一个事件输出连接到子应用的一个事件输出上,则组件功能块事件输出上一个事件的发生应引起该子应用相关事件输出上一个事件的产生。5.5适配器接口适配器接口可用于提供事件和数据流的一个特定集合的简洁表示。如图16所示,适配器接口类型功能块对应的输出和输入的一个与之匹配的子集(插座适配器)里。所以插入适配器连接注:本图仅作说明,图形表示并不作为标准。图16适配器接口概念模型适配器接口类型声明应定义唯一的接口类型名和它所包含的事件和数据接口。这些应像GB/T19769.1—2022/IEC61499-义。不同之处在于,在文本类型声明的开始和结束处应使用ADAPTER...END_ADAPTER关键字。B.7中给出了适配器接口声明的文本语法。EVENTUNLDEVENTUNLDLD—COLOR图17适配器类型声明图形示例适配器接口类型和实例的使用应遵循以下规则。a)在功能块类型实例中作为插头使用的适配器接口实例应在PLUGS...END_PLGUS块的类型声明中进行声明,为每一插头声明实例名和适配器接口类型。在功能块类型和实例的图示中,插头应以带有特定文本或图示的输出变量来表示,表明它不是普通的输出变量。b)在功能块类型实例中作为插座使用的适配器接口实例应在SOCKETS...END_SOCKETS块的类型声明中进行声明,为每一插座声明实例名和适配器接口类型。在功能块类型和实例的图示中,插座应以带有特定文本或图示的输入变量来表示,表明它不是普通的输入变量。c)插头的输入和输出应按照与功能块的输入和输出相同的方法,在其功能块类型声明中使用。d)插座的输入和输出应分别按照与功能块中的输出和输入相同的方法,在其功能块类型声明中e)插头插入插座应在分别含有提供者和接受者实例的应用、子应用、资源类型、资源实例或复合功能块类型声明的ADAPTER_CONNECTIONS...END_CONNECTIONS块中予以规定。INT一COLORUINT-1)一个插头只能插入一个相同适配器类型的插座中;2)一个插头一次只能插入零个或一个插座中;3)一个插座一次只能接受零个或一个插头;用中体现。在该情况下,如6.2中所描述的通信服务接口功能块等合适的方法应当应用于实施资源中_SKT)。这样,它将服务于抽象和封装的、带有“上游”和“下游”功能单元的XBAR_MVC类型实例的交互。vr-vr-注3:尽管本例表示的仅是一个复合类型,但提供者和接受者功能块类型可以是基本的也可以是复合的。图18提供者和接受者功能块类型声明的图示接受者(“下游单元”)和BORE块的提供者(“上游单元”),而TAKEOFF实例分别履行相应的BORE块和UNLOAD块GB/T19769.1—2022/IECNTO资源可提供预防、识别和处理异常和故障的功能。这些功能可模型化为服务接口功能块。异常和故障的预防、识别和处理的特定功能块类型的定义超出了本文件的范围。但是服务接口功能块的6.1通则服务接口功能块类型的外部接口具有与基本功能块相同的外观。但服务接适合于提供特定的服务。当使用时,它们的语义应与本章中定义的一样。功能GB/T19769.1—2022/IEC61表2服务接口功能块的标准输入和输出这一事件输入应映射为一条请求原语,请求功能块实例提供的服务的初始化。如,通信连接或事件输出这一事件输出应映射为一条指示一个服务初始化这一输入表示映射为事件输入的服务原语的限定词。这一输入含有与服务相关的一个或多个参数,典型的为结构化数据类型一个实例的元素。当这块类型规范应定义它的数据类型和默认初始值。服务接口功能块类型规范可用一个或多个服务参数这些输入包含与请求和响应原语相关的数据。功能块类型规范应定义这些输入的数据类型和默认值,并定义它们与6.1.3中所示的事件顺序图中的事件输入的关数据输出ANY——EVENT—ANY—ANY由这一输出应是一种数据类型,适合于表示事件输出发生时该服务的状态。一个服务规范可指示这一输出的值与某些状态无关。如6.1.3中描述的INITO这些输出含有与证实和指示原语相关的数据,功能块类型规范应定义这些输出的数据类型和初始值,并定义它们与6.1.3中描述的事件顺序图表中的事件输出的关系。ANY—由a)应用发起的交互b)资源发起的交互注1:REQUESTER和RESPONDER表示由功能块类型实例提供的特定服务。注2:这里描述的一般功能块类型的具体实现中,SD_1,..,SD_m输入和RD_1,..RD_n输出的数据类型通常固定为某些特定的数据类型,如,INT或WORD。注3:有关REQUESTER功能块类型的完整的文本声明见附录F。1)时间向下增加;INIT-d)服务原语应由横向箭头来指示。表示服务原语的事件的名字应写在箭头旁边,并应提供决定图21描述了服务初始化、数据传送和服务终止的标准顺序。服务接口功能块类型规范可以使用类似的图表来规定服务原语的所有相关序列以及正常和异常条件下它们的相关数据。RESOURCERESPONDER—INIT-资源发起(指示/相应)的交互图表该输入提供与通信功能块实例相关的通信连接参数。应包含识别这些输入表示:当REQ+或RSP+原语发生时,沿着PARAMS输入规该输出表示通信连接的状态,例如:——初始化、终止或数据传送的正常完成;——异常初始化、终止或数据传送的原因这些输出表示:当IND+或CNF+原语发生时,沿着PARAMS输入规定的通信连接接收的相注:通信功能块类型声明可定义RD_1,..,RD_n输出和对应功能块实例的SD_1,..,SD_系。例如,RD输出的编号和类型可以限定为与对应的SD输入的编号和类型相匹配。“通信功能块类型声明应定义SD_1,..,SD_m输入和RD_1,..,RD_n输出的编号和类型,并可以赋予它们其他的名字。如附录E中E.2描述,通信功能块类型的实例行为应在对应的通信功能块类型声明中定义,使用6.1中为服务接口功能块规定的方法,并结合表5给出的特定服务原语语义。这种规范应包含下列服务●通信连接的正常和异常的建立与释放;●正常和异常的数据传送。●数据类型;●功能块类型和实例;●功能块实例间的连接。CNF--注2:本条只处理以上的a)项,即资源中应用的管理。设备管理的框架将在IEC61499-2中介绍。注3:资源、应用和功能块实例之间的联系在7.3描述的系统配置中定义。注4:启动和终止一个分布式应用由一个合适的软件工具执行。图22描述了管理功能块类型的一般形式。这些管理功能块类型的实例满足以上定义的应用管理注2:对于这些功能块类型,规定的CMD和OBJECT输入和RESULT输出代替了6.1中所述的通用的SD_1和注4:当PARAMS输入存在时,其类型和值是资源类型与实现相关的参数。注5:附录F提供了该功能块类型的完整文本规范,包括所有服务序列。BO0L一图22一般管理功能块类型管理功能块类型的实例行为和输入/输出语义,应遵循6.1中为具有由应用发起的交互作用的服务接口功能块类型给出的规则,并具有图23中为失败服务初始化和请求给出的其他行为。注:附录F给出了包括所有服务序列的这一功能块类型的完整文本规范。要执行的管理操作应按照表6中定义的语义,用管理功能块的CMD输入值来表示。值0表6CMD输入值和语义(续)值1234从访问路径读数据5写数据到访问路径678管理功能块STATUS输出的值和相应语义如表7所述,表示指定命令的执行结果。值0123系统发起的终止45不支持请求的命令6不支持请求的对象类型7引用的对象不存在89当前对象状态的命令操作无效先前的事务仍然挂起管理功能块实例OBJECT输入和RESULT输出的实际长度应是与实现相关的。生的对象的描述。这些串应由附录B中定义为非终结符,并被表8引用的与实现相关的对象编码组成。注:与以上所列命令对应的CMD输入的整数●功能块实例的START和STOP应按6.3.3中那样定义;●应用的START和STOP应分别等效于包含受管资源中该应用中的所有功能块实例的些值在表6中规定。b)MANAGER功能块类型的command_error原语序列在以下条件下应触发4)INVALID_OPERATION:CMD的值为DELETE,并且功能块实例处于STOPPED或KILLED状态,但在设备或资源类型规范中声明了该功能块实例,即保护条件is_deletable为FALSE。d)图24中给出的动作的语义应如表9表示一致。表9为管理基本功能块和服务接口功能块e)先前规则描述的动作递推应用到受管复合功能块的所有组件功能块。图24受管功能块运行状态机表9图24中动作语义动作INIT+原语允许当前活动的服务原语完成立刻终止当前活动算法(如果存在)的操作立刻终止当前所有服务的操作c)根据其相关资源来描述设备类型的功能性;d)资源是相应资源类型的实例;e)资源类型的功能能力是根据可实例化的功能块类型以及在资源类型的所有实例中存在的特定●7.2定义了资源类型和设备类型的功能性规范的规则;●7.3通过其相关设备和应用,定义了IPMCS配置的规则。●资源类型名;●资源类型的每个实例都可以被实例化的数据类型和功能块类型的声明;●在每一资源类型实例中始终存在的任何功能块实例的实例名、类型和初始值;●在每一资源类型实例中始终存在的任何数据连接、适配器连 a)设备类型名。d)每一设备类型的实例中始终存在的任何数据连接和事件连接。e)每一设备类型的实例中存在的资源实例声明。每一这种声明应包含:1)资源实例名和类型名;2)每一设备类型实例的资源实例中,始终存在的每一功能块实例的实例名、类型名和初3)每一设备类型实例的资源实例中,始终存在的任何数据连接、适配器连接和事件连接。●段类型名称;●系统名;●系统中每一应用的规范,如7.3.2中的规定;●每一设备及相关资源的配置,如7.3.3中的规定;●每一网络段以及和设备或资源之间的连接的配置,如7.3.4中定义。●标识符形式的名字;a)设备的实例名和类型名。c)设备实例支持的资源类型以及为设备类型指定的资源类型。e)除了那些为设备类型定义的以外,在设备实例中存在的任何数据连接、适配器连接和事件f)设备中每一资源的配置。这些由设备类型规范中定义的任何资源实例组成,加上与该特定设接口1事件分割EI上一个事件的发生会引起EO1,EO2,...,EOn上事件的发生(上例中n=2)2多个事件合并任何EI1,EI2,...EIn输入上一个事件的发生都会引起EO上事件的发生(上例中n=2)表A.1事件功能块(续)接口3RRR4允许事件的传播TARTEI[PERMIT]56EVENT一甲EIE00表A.1事件功能块(续)编号接口ECC/算法/服务序列7START输入上一个事件发生之后,间隔DT时间之前,如果START输入上发生了多个事件,则在t#0s的事件在START输入上触发,则没有事件延迟被启动8a)相关资源“冷启动”时,COLD输出上发出一个事件。b)相关资源“热启动”时,WARM输出上发出一个事件。c)相关资源“停止”前,STOP输出(如果有)上发出一个事件。注1:对“冷启动”和“热启动”的讨论见IEC61131-19 表A.1事件功能块(续)接口NEVENT- START上一个事件产生后,间隔DT时间后,EO上产生一个事件。以后每间隔DT个事件,直到产生了N次事件或STOP输入上产生了一个事件。注3:无论何时,START接口上一个事件的触发都会引起重置CV计数。除非延迟已被停止,否则它不被重启。当重新计数时,该延迟行为继续内部EO的时间间隔有限事件队列的产生(表驱动)STARTEON在START上一个事件发生DT[0]间隔后,EO上产生一个事件。第一个事件产生DT[1]个事件。以此类推,直到产生了N次事件或STOP输入上发生了事件。CV输出上注5:以下描述的使用E_TABLE_CTRL功能块类型的实现不是规范性要求。表A.1事件功能块(续)编号接口分离事件的有限队列的产生(表驱动)KN在START发生事件之后,事件在E00处间隔时间DT[0]隔时间DT[1]后触发一个事件,等等,直到已发生N次事件或在STOP输注7:以下描述的使用E_DEMUX功能块类型的实现不是规范性要求。可以使的功能EO1KSRQRSS输入上发生一个事件时,将Q输出置为1(TRUE)。R输入上发生一个事件时,将Q置为0(FALSE)当Q的值改变时,EO输出上发出一个事件表A.1事件功能块(续)接口RQRS输入上发生一个事件时,将Q输出置为1(TRUE)。R输入上发生一个事件时,将Q复位为0(FALSE当Q的值改变时,EO输出上发出一个事件。注8:此功能块类型的实现与E_SR相同。同时实现E_SR和E_RS都是为了与IEC6和RS类型保持一致,尽管没有像电平控制的R和S输入那样的事件“主导”布尔逻辑上升沿检测DG布尔逻辑下降沿检测 D G表A.1事件功能块(续)编号接口R图形速记符号可以替代表A.1中定义的E_SPLIT和E_MERGE式)表示等效于图A.1a)中的显式表示。块。例如,图A.1b)中的速记(隐图A.1事件分割和合并non_terminal_symbol::=extended_str[fb_internal_variable_list]<onlyforba[fb_instance_list]<only[fb_connection_list]<onlyfor[fb_ecc_declaration]<onlyevent_input_declaration::=event_input_name[':['WITH'input_variable_nameevent_output_declaration::=event_output_name'VAR_INPUT'{input_var_declaratio'VAR_OUTPUT'{output_var_declaratio'VAR'{internal_var_declaratiooutput_variable_nameinternal_variable_name{','internal_var_spec_init::=located_var_spec_fb_instance_definition::=fb_instance_name':'fb_fb_connection_list::=<maybeempty,e.g.forbasicFB>event_conn::=event_conn_source'TO'eventevent_conn_source::=([plug_name'!]eve|((fb_instance_name|socket_name)'!'event_output_namevent_conn_destination::=([plug_name'!]eve|((fb_instance_name|socket_name).'event_input_ndata_conn::=data_conn_source'TO'data_conn_data_conn_source::=([plug_name'.!]input_v|((fb_instance_name|socket_data_conn_destination::=([plug_name'!]output_|((fb_instance_name|socket_name).'inp((fb_instance_name'!'plug_name'TO'((fb_instance_name'.'socket_name)Iplug_name)';'ec_action::=algorithm_name|('->ec_action_output:=([plug_name'!]even__ec_transition_event::=([plug_name!']evguard_condition::=expression<overec_expression_operandelemen([(plug_name|socket_name).]input_var|([(plug_name|socket_name).]output_variablinternal_variable_name'ALGORITHM'algorithm_name'IN'latemp_var_decls::=<asdefinedinalgorithm_body::=<asdefinedin'SERVICE'service_interface_name'/'servic[input_service_primitive]'>'input_service_primitive::=servi|socket_name'event_outpC[input_variable_name{','input_output_service_primitive::=service_inter([plug_name'!]eventIsocket_name'eve([output_variable_nameevent_output_name::input_variable_name::=internal_variable_name::plug_name::=identifi语法subapplication_type'SUBAPPLICATION'subasubapp_event_output_lievent_input_name[:'evsubapp_event_output_declarationevent_output_name[':'esubapp_instance_definition::=subapp_instance_name'subapp_event_conn::=subapp_event_source'TO'subapp_evesubapp_event_source::=([plug_name'!]e|((fb_subapp_namesubapp_event_destination::=([plug_name'!]e((fb_subapp_name|socket_namefb_subapp_name::=fb_instance_name|subapp_instsubapp_data_conn::=subapp_data_source'TO'subsubapp_data_source::=([plug_name'|((fb_subapp_namesubapp_data_destination::=([plug_name'!]output_variable_name)I((fb_subapp_name|socket_name).'input_variable_name)subapp_type_name::segment::=segmelink::=resourcparameter'DEVICE'device_name':'device_type_nameresource_type_list::='RESOURCE'RESOURCE'resource_instance_name':'fb_type_list::='FB_TYPES'{fb_type_name';}'END_FB_TYPES'config_event_conn_list::='EVENTconfig_event_conn::=fb_instance_n'TO'fb_instance_nameconfig_data_conn_list::='DATA_CONNECTIONS'(fb_instance_name''output_variable_name|input_variable_name)(fb_instance_name|resource_instance_name)''inputdevice_configurationdeclarations>config_adapter_conn_list::='ADAPTER_CONNECTIONS''TO'fb_instance_name''socket_nafb_instance_reference::=[app_hierarchy_name]fb_instance_nameapp_hierarchy_name:=application_name'!'{subapp_i[resource_type_list]<ifnotgiven,definedbyresourceinstances>'RESOURCE'resource_instance_name':'resresource_type_specification::='RESO[fb_type_list]<ifnotgiven,definedbyfunctiosegment_type_specification::='SEGMENT_TYPEparameter_declaration:=parameter_name':'var_spec_::=fb_instance_reference'ONfb_resource_reference=resource_hienameinthecorrespondingfb_instance_referenceoftheresource_instance_name::=identresource_type_name::=identdata_type_list::='DATA_TYPES'{data_type_nconnection_start_point''connecticonnection_start_point::=fb_instance_reference'connection_end_pointsconnection_end_pointconnection_end_point::[(resource_instance_name|fb_instance_name):]paresourceasthe<MANAGER>block><ifnoresourceorFBinstancenaparameterofthedeviceorresourcecontainingtheMANAGparameter_referenceall_data_types::='ALfb_status::='IDLE'|'RUNNING'I'STOasnl_tagtype_declaration'asn1_tag::=['['APPLICATION'|'PRIVAIadapter_type_name::GB/T19769.1—2022/IE(资料性)对象模型本附录中使用的符号是统一建模语言(UML)。统一资源定位符(URL)为http://www.rational.C.2ESS模型C.2.1ESS概述图C.1给出了IPMCS的ESS中主要类的概述,以及IPMCS中与对象相应的类的概述。表C.1中表C.1ESS类描述该类的实例提供了支持EDIT用例所需的、关于声明(Declar这是对象的抽象超类,可以存储在存储库中,可以按照附录B中定义的文本语法或按照IEC61499-2中定义的XML语法进行导入和导出。这些对象除了作为关键属性的名称(从该类的实例提供库元素的永久存储和检索。它该类的实例提供必要的功能来支持INSTALL和OPERATE的使用该类的实例扩展了SystemManager类的功能以支持TEST操作的使用该类为IPMCS工程支持的软件工具的通用行为建立模型图C.2中给出了库元素(LibraryElement)的子类。附录B中的语法生成对应的每个子类在表C.2表C.2库元素的语法生成类GB/T19769.1—2022/IEC61499-1:表C.2库元素的语法生成(续)类AdapterTypeDeclaratSubapplicationTypeDeresource_type_specif图C.3给出了可用软件工具来操作的声明(declaration)的类层次结构。附录B中的语法生成对应的子类在表C.3中列出。NameDeclarationConnectionDeclarationDataConnectionDeclaEventConnectionDcclaDataTypeDeclarationFBTypeDeEventOutputDeclarationVariableDeclarationFBInstanceDeInputVariableDeclarationOutputVariableDeclarationInternalVariableDeclarati表C.3声明的语法生成类AdapterConnectionDeclaratAdapterTypeDeclaratDataConnectionDeclarEventConnectionDecla图C.4给出了功能块网络声明(declaration)元素之间的关系。图中类的定义参见C.2.2。DataConnectionDeclarationFBNetworkDeclarationEventConnectionDeclarationAdapterConnectionDeclara图C.5给出了功能块类型声明(declaration)元素之间的关系。表C.3给出了EventInputDeclara-和fb_service_declaration的语法生成分别对应于ECCDeclaration和ServiceDeclaration1b)类继承ManagedConnectionNamedObiectIPMCS类该类的实例是数据类型该类实例是功能块实例该类实例是功能块类型用源和目的组成的唯一关键字来访问无是可通过名字被FBManager类的实例访问的对象的抽象超类该类的一个实例表示本文件中定义的一种资源图C.7给出了功能块实例和其相关功能块类型的元素之间的关系。图C.7中类的实例表示本文件1 图C.7功能块类型和实例(资料性)D.1概述IEC61131-3中定义的功能和功能块可用于5.2.1指定的基本功能块类型中算法的声明。为了在b)简单功能块的类型名由所转换的IEC61131-3功能或功能块的类型名加上前缀FB_组成(例型是IEC61131-3函数转换的结果。c)输入和输出变量及它们相应的数据类型与所转换的IEC61131-3功能和功能块类型相应的输d)INIT事件输入和INITO事件输出与从IEC61131-3功能块类型转换来的简单功能块类型一a)变量的初始化按照IEC61131-3:2003中2.4.2规定,顺序功能图表(SFC)的初始化按照IEC61131-3:2003中2.6规定。b)INIT+服务原语的发生等同于以上提及的IEC61131-3:20c)INIT-或REQ-服务原语的发生,除了分别引起带有STATUS值为1的INITO-或者CNF-服d)REQ+服务原语的发生引起功能块本体规定的算法的执行。算法按照IEC61131-3为编程语e)响应REQ+原语的算法的成功执行导致一个STATUS值为0的CNF+原语。f)如果在算法的执行期间发生了错误,导致一个STATUS值由表D.1决定的CNF-原语。值0123数字结果超出了数据类型的范围45选择器(K)超出了MUX功能的范围67结果超过了最大字符串长度89从未赋值的函数返回下标值无效D.2给出的规则通过以下修改后,可以将IEC61131-3的功能转换为功能块以便在事件驱动系统中a)事件驱动功能块类型的类型名由被转换的IEC61131-3的功能的名字加上前缀E_组成。如,b)CNF+或者CNF-原语不跟在算法的执行后面,除非这种执行导致了该功能输出的值的改变。系统中使用。例如,表A.1给出的E_DELAY功能块可用于许多IEC61131-3的定时功能块所提供的延时功能。表A.1的编号18给出了IEC61131-3CTU功能块转换的一个示例。D.4与IEC61131-3的一致性附录B没有为非终结符给出语法生成。应使用IEC61131-3:2003附录B给出的相应语法生成。D.5例外本文件的实现不应使用IEC61131-3:2003的中定义的直接表示变量表示法和其他条款中D.6.1概述可编程控制器可以作为IEC61131-5中定义的服务器,作为本文件中定义的设备的服务器,作为IEC61131-5中定义的客户端。这些服务使用IEC61131-5中定义的方法提供,并使用本附录中指定的功能块类型的实例从IEC61499设备访问。这些功能块类型建模为本文件中定义的通信功能块IEC61499客户端设备可以与充当服务器的可编程控制器一起存在于通信网络上,也可以是可编设备和主处理单元之间的交互都被建模为在本文件中定义的一个或多个通信连接上发生,使用本附录用于本附录中描述的功能块类型实例提供的(如本文件中定义的)服务描述约定,用于描述服务接口功为了本附录的目的,本文件中定义的任意类型的PARAMS输入被类型为WSTRING所替代。该字符串的内容指定到服务器中感兴趣的变量的路径的依赖于在使用时,本附录中定义的功能块类型的任务输入的内容指定了服务器中所感兴趣的任务路径的D.6.3中定义的功能块类型的状态输出值如IEC61131-5:2000的表24所示。IEC61499客户机设备可以使用图D.2中图形化和表D.2中文本化显示的READ功能块类型的实CLIENTCLIENT_BOOL一—INTdCLIENTREQ- FUNCTION_BLOCKREAD(·ReadserverstatusorINITWITHQI,ID,TYPE;('Initialize/TermREQWITHQI;(*ServiceRequesINITOWITHQ0,STATUS;(Initialize/TermiCNFWITHQ0,STATUS,RD;(·ConfirmationofRequestedService·)TYPE:WSTRING;(·DataGB/T19769.1—2022/IEC6149表D.2READ功能块类型的源代码(续)QO:BOOL;(*1=NormaloperatCLIENT.INIT+(ID,TYPE)->SERVER.initRead(ID,TYPE)->CLCLIENT.INIT+(ID,TYPE)->SERVER.initRead(ID,TYPE)->CLIENT.ICLIENT.REQ+()->SERVER.reqRead(ID)->CLICLIENT.REQ-()->CLIENT.CNCLIENT.REQ+()->SERVER.reqRead(ID)->CLIENT.CLIENT.INIT-()->SERVER,terminateRead(ID)->CLIENT.ISERVER,readTerminated(ID,STATUS)->CLIEIEC61499客户端设备可以使用图D.3中图形化和表D.3中文本化显示的UREAD功能块类型的实例,从IEC61131-3服务器请求程序或状态变量值更改的异步通知。当检测到指定变量的值(相对于其在任务执行启动时的值)发生更改时,将通过块的IND事件输出接收通知。NTNTNTro注:表D.3中列出的其他服务序列的图形表示类似于图D.2。FUNCTION_BLOCKUREAD(·UnsolicitedreadofIEINITWITHQI,ID,TASK,TYPE;(·Initialize/TermINITOWITHQ0,STATUS;(·Initialize/TermiINDWITHQO,STATUS,RD;('IndicationTYPE:WSTRING;(·DataTASK:WSTRING;('PathtoIQO:BOOL;(*1=NormaloperatSEQUENCEnormal_est表D.3UREAD功能块类型的源代码(续)CLIENT.INIT+(ID,TYPE,TASK)->SERVER.initURead(ID,TYPE,TASK)->CLIENT.ISEQUENCEunsuccessfuCLIENT.INIT+(ID,TYPE,TASK)->SERVER.initURead(ID,TYPE,TASK)->CLIENT.INSERVER.dataChanged()->CLIENTSEQUENCEclient_initiated_tCLIENT.INIT-()->SERVER,terminateURead()->CLIENT.INITO-(SEQUENCEserver_initiated_tSERVER.UReadTerminated(ID,STATUS)->CLIENT.INITOIEC61499客户机设备可以使用图D.4中图形化和表D.4中文本化显示的WRITE功能块类型的BO0L-WSTRING-ANY——EVENT图D.4WRITE功能块类型表D.4WRITE功能块类型的源代码INITWITHQI,ID,TYPE;('Initialize/TermREQWITHQI,SD;(·ServiceRequesINITOWITHQ0,STATUS;(·Initialize/TermiCNFWITHQO,STATUS;(·ConfirmationofRequestedService·)ID:WSTRING;(PathtoQ0:BO0L;(1=NormaloperatSEQUENCEnormal_estCLIENT.INIT+(ID,TYPE)->SERVER,initWrite(ID,TYPE)->CLIENT.INSEQUENCEunsuccessful_estCLIENT.INIT+(ID,TYPE)->SERVER.initWrite(ID,TYPE)->CLIENT.INIT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论