GB/T 33863.10-2021 OPC统一架构 第10部分:程序.pdf

GB/T 33863.10-2021 OPC统一架构 第10部分:程序.pdf
积分0.00
特惠
积分0
VIP全站资料免积分下载
立即下载
同类资料根据编号标题搜索
文档
仅供个人学习
反馈
标准编号:
文件类型:.pdf
资源大小:27.8 M
标准类别:机械标准
资源ID:265526
VIP资源

标准规范下载简介:

内容预览由机器从pdf转换为word,准确率92%以上,供参考

GB/T 33863.10-2021 OPC统一架构 第10部分:程序.pdf

为程序定义的标准的基本状态集作为程序有限状态机的一部分。这些状态代表在客户端观察 实例上程序可存在的阶段。该状态是程序的当前状态。所有的程序应支持此基本状态集。程序可 也可不要求客户端动作来导致状查改变。状态的正式定※见奏2。

用来描述程序的状态集可被扩展。可以对基本状态定义程序子状态,以便为过程提供更多解决方 案,并描述附加转换的原因和影响。标准机构和行业组织可扩展程序有限状态模型,以符合行业模型, 比如,Halted状态可以包含子状态“Aborted”和“Completed”来表示在转换Halted状态之前该功能是 否已经取得成功。又例如,转换状态,诸如“Starting”或“Suspending”,也是运行状态的扩展

为程序有限状态机定义了标准的状态转换集。这些转换依据初始状态和结果状态来定义到程序当 前状态的有效改变。转换的正式定义见表3

4.2.5程序状态转换原因

JR/T 0060-2010 证券期货业信息系统安全等级保护基本要求(试行)4.2.6程序控制方法

客户端通过调用方法来管理程序。方法通过导致特定的状态转换来影响程序的行为。状态转换指 示程序执行的动作。本部分定义了一组标准程序控制方法。这些方法为客户端提供了足够的手段来运 行一个程序。 表4列出了一组定义的程序控制方法。每种方法都引起从特定状态的转换,并当程序处于那些状 态之一时,应调用该方法。 各个程序可选择地支持程序控制方法的任何子集。如,某些程序可能不会允许暂停,所以其不提供

Suspend和Resume方法。 程序支持其他的用户定义方法。用户定义方法不应改变基本有限程序状态机的行为

程序控制方法包括被该程序使用的变元(argument)。如,一个Start方法可能包含某个选项变元, 该变元规定用来决定一些程序行为的动态选项。每个程序类型的变元可以是不同的。 GB/T33863.4一2017中5.11规定的方法Call服务定义了返回状态。这种返回状态表明了程序控制方 法的成功或失败原因

4.2.7程序状态转换影响

4.2.8程序结果数据

结果数据通过运行程序产生。结果数据可以是中间的或最终的。结果数据可能与特殊的程序状 换相关

4.2.8.2中间结果数据

4.2.8.3最终结果数据

4.2.8.4监视程序

4.2.9程序生命周期

程序可以有不同的生命周期。有些程序可能始终存在于服务器上,而其他的程序被创建和删除。 创建和删除可由客户端控制或受限于本地手段。 一个程序可以被客户端创建。着程序通过客户端创建,那么客户端可把程序添加到服务器。在 GB/T33863.3一2017的5.5.4中定义的对象创建方法用于创建程序实例。程序的初始状态可以是 Halted或Ready。例如,某些程序要求资源在创建后且运行前即可用。在这种情况下,程序初始化为 Halted状态,当资源已被分配时,转换到Ready状态。 一个程序可被客户端删除。若程序是通过客户端删除,那么客户端可从服务器中删除程序实例。 GB/T33863.4一2017中5.7定义的节点删除服务用于移除程序实例。程序应在Halted状态时被删 除。一个程序也可自动删除。当执行终止时,一个可自动删除的程序会删除它自己

4.2.9.2程序实例

程序可是多个实例的或单一实例的。如果这些程序实例可以并行运行,则服务器就可以支持程序 的多个实例。例如,程序可以定义Start方法,该方法有一个输人变元,用于规定其功能对哪个资源起 作用。然后,每个程序实例开始指定使用不同的资源。客户端可以发现在服务器上运行的所有程序的 实例。每个程序实例在服务器上都被惟一标识并由客户端独立管理

4.2.9.3程序循环利用

程序可运行一次或多次(循环利用)。运行一次的程序一且已经运行,就会无限期地保持在Halted 状态。通常的做法是在检测到其最终结果后删除程序。 可循环利用的程序可以具有有限或无限的循环计数。这些程序从Halted到Ready状态可能需要 重置步骤来转换。这允许在重新起动该程序之前补充资源或初始化参数。程序控制方法“Reset”触发 状态转换和任何相关的动作或影响

5.2程序类型(ProgramType)

图4程序类型(ProgramType)

在表5中列出了组成程序类型的附加特性和组件。对基本对象类型或有限状态机类型属性或特 有分配程序类型的特定语义

5.2.2程序类型特性

Creatable特性是一个布尔值,用于规定此程序类型的程序调用是否由客户端来创建。如果该特性 为FALSE,则这些程序调用是持久的或只能由服务器来创建。 Deletable特性是一个布尔值,用于规定此程序类型的程序调用是否由客户端来删除。如果该特性 为FALSE,则这些调用程序只能由服务器来删除。 AutoDelete特性是一个布尔值,用于规定在执行终止时,此程序类型的程序调用是否由客户端来 删除。如果该特性为FALSE,这些调用程序保存在服务器上,直到它们被客户端删除为止。当调用程 序被删除,任何与实例相关联的结果数据也会被删除, RecycleCount特性是一个无符号整数,用于规定此类型的程序调用已被循环利用的次数或从其起 点(非重新恢复点)已被重新启动的次数。 注:可能需要复位方法来准备重新启动的程序。 MaxRecycleCount特性是一个整数,用于规定此类型的程序调用可以被循环利用的最大次数或从 其起点(非重新恢复点)重新启动的最大次数。如果该值小于0,重启的次数没有限制;如果该值为0,程 序不可能被循环利用或重新启动。 去十 准

InstanceCount特性是一个无符号整数,用于规定当前存在的该类型的程序调用数。 MaxInstanceCount特性是一个整数,用于规定在服务器上可以同时存在的该类型程序调用的最大 数。如果该值小于0.则没有限制

.2.3程序类型组件(ProgramTypeComponents)

程序类型组件由一组对共同定义该程序有限状态机(FSM)的StateTypes、TransitionTypes、Event Types和Methods的对象实例的引用组成。 图5示出了定义两种程序类型状态:Ready和Running之间关系的组件引用。为简化说明,已省略 补充的引用类型

5.2.3.2程序类型状态

Halted状态是程序的空闲状态。它可以是初始状态或最终状态。作为初始状态,由于服务器的条 件限制,程序调用还不能启动执行。作为最终状态,Halted状态可以表示失败程序或完成的程序。下 状态或结果可用来区分终止的性质。Halted状态引用四种转换对象,它们标识从Halted到Ready 以及从Ready、Running、Suspended到Halted所允许的状态转换。 Ready状态表示程序准备开始执行。准备开始的程序依据其创造可以立即转换到Ready状态。 Ready状态引用四种转换对象,它们标识从Ready到Running和Halted以及从Halted、Running到 Ready所允许的状态转换。 Running状态表示程序正在主动执行它的功能。Running状态引用五种转换类型,它们标识从 Running到Running和Halted、Ready和Suspended以及从Ready和Suspended到Running所允许的 状态转换。 Suspended状态表示程序已终止执行其功能,但保留了在执行暂停点恢复其功能的能力。 Suspended状态引用四种转换对象,它们标识从Suspended到Ready、Running和Halted以及从 Running到Suspended所允许的状态转换

5.2.3.3程序类型转换

HaltedToReady转换规定了从Halted到Ready的状态转换。它可能由Reset方法引起。 ReadyToRunning转换规定了从Ready到Running的状态转换。它由Start方法引起。 RunningToHalted转换规定了从Running到Halted的状态转换。它由Halt方法引起。 RunningToReady转换规定了从Running到Ready的状态转换。 RunningToSuspended转换规定了从Running到Suspended的状态转换。它由Suspend方法 引起。 SuspendedToRunning转换规定了从Suspended到Running的状态转换。它由Resume方法引起 SuspendedToHalted转换规定了从Suspended到Halted的状态转换。它由Halt方法引起。

5.2.4程序类型原因(方法)

态转换。 Reset方法引起HaltedToReady程序转换

5.2.4.2标准属性

图6程序类型原因和效果

可执行的方法属性指示某个方法当前是否可执行。对于程序控制方法来说,这就意味着拥有的 具有一个支持该方法所引起的转换的CurrentState

5.2.4.3标准特性

5.2.4.3.1概述

方法可以引用一组InputArguments。对于每种程序类型,可定义一组InputArguments用于所支 持的程序控制方法。这些变元中传输的数据补充该程序执行其功能所需要信息。对于该程序类型的每 个程序调用,所有程序控制方法的调用应传递指定的变元。 方法可以引用一组OutputArguments。对于每种程序类型,可定义一组OutputArguments用于所 支持的程序控制方法。对于该程序类型的每个程序调用,所有程序控制方法的调用应传递指定的变元。

件或拥有(owning)对象的EventNotifier,或服务器对象可能提供该通知。 ProgramTransitionEventTypes在每个已定义的程序状态转换中为订阅的客户端传送结果数据和 证实状态转换提供手段。AuditProgramTransitionEventType允许对程序状态的改变结合客户端方法 调用一起进行审计。

5.2.5.2ProgramTransitionEventType

ProgramTransitionEventType是TransitionEventType的子类型。它被程序用于获取中间或最终 结果或其他转换状态相关联的数据。对于任何转换,程序可以有惟一的ProgramTransitionEventType 定义。每个ProgramTransitionEventType针对该程序类型的指定状态转换规定IntermediateResult数 据。每个转换可产生不同的中间结果数据。表9规定了ProgramTransitionEventType的定义。 表1o标识了为程序类型规定的ProgramTransitionEventType。

表9ProgramTransitionEventType

5.2.6AuditProgramTransitionEventType

表11AuditProgramTransitionEventType

5.2.7最终结果数据

个HasComponent,HasComponent用于每个变量含有FinalResultData的变量类型。

5.2.8程序诊断类型

程序诊断类型提供可用于帮助诊断程序同题的信息。这种对象包含记录程序调用活动的变量集。 表12规定了组成程序诊断类型的变量

CreateSessionId包含发出对创建方法的调用以创建程序调用的会话的Sessionld。 CreateClientName是创建调用程序的会话客户端的名称。 InvocationCreationTime标识程序调用被创建的时间。 LastTransitionTime标识最后程序转换状态出现的时间。 LastMethodCall标识在程序调用上所调用的最后的程序方法。 LastMethodSessionld包含发出对程序调用的最后程序控制方法调用的会话的Sessionld。 LastMethodClientName是完成对程序调用的最后方法调用的会话客户端的名称。 LastMethodInputArguments保留在最后程序方法调用时输人变元的值。 LastMethodOutputArguments保留在最后程序方法调用时输出变元的值 LastMethodCallTime标识对程序调用的最后方法调用的时间。 LastMethodReturnStatus为此程序调用所要求的最后程序控制方法保留返回状态(ReturnStatus)值

这个案例阐明了使用一个OPCUA程序来管理域下载到控制系统GB/T 20155-2018 电池中汞、镉、铅含量的测定,如图A.1所示。下载要求将 操作数据从辅助存储设备分段传输到控制系统的本地存储器中

该域下载有一个源地址和一个目标地址,它们在下载开始时被标识。每次成功传输该域的一个 分段,客户端被通知并且通知已被下载的数据量。当下载完成的时候,客户端也会被通知。当继续下载 时,会定期报告接收的总数据的百分比。如果下载失败,则需要报告失败原因。当下载完成时,性能信 息被保存在OPCUA服务器中,

OPCUA客户端使用“域下载”程序去管理和监控OPCUA服务器上的域下载

在图A.2中说明了域下载程序的基本状态模型。这个程序有三个主要状态:Ready、Running、 Halted,这三个状态与某个程序类型的标准状态是一致的。另外,域下载类型通过给程序的Running 和Halted状态定义从属的状态机来扩展OPCUA程序类型。该从属状态更详细地描述了下载的操 作,并允许OPCUA客户端以更好的解决方案来监控该下载活动

每次下载被执行时,由客户端创建一个域下载程序的实例(程序调用)。该实例会一直存在直到客 户端明确地删除为止。该程序的初始状态为ReadyLY/T 3007-2018 油橄榄低产园改造技术规程,而最终状态为Halted。该域下载可以暂时停止,然 后恢复或中止。一旦停止了,该程序可能无法重新启动。

图A.2域下载状态图

状态转换的顺序如图A.2所示。一且启动下载,程序状态进入Opening状态。在打开数据源后, 在Sending状态下发生一系列传输。当传输结束时,对象被关闭在Closing状态中。如果在所有数据被 下载完之前传输终止或者遇到一个错误,则下载被停止,并且程序会转换到Aborted状态;否则,程序停 止在Completed状态。表A.1中列出了状态与状态转换

©版权声明
相关文章