TheProgram model extends theFiniteStateMachineType and basicObjectType models presented in OPC 10000-16. EachProgram has a Type Definitionthat is the subtype of the FiniteStateMachineType. The ProgramStateMachineTypedescribes the Finite State Machinemodel supported by any Program Invocationof that type.The ProgramStateMachineTypealso defines the property set that characterizes specific aspects of that Program’sbehaviour such as lifetime and recycling as well as specifying the result data that is produced by the Program.


Figure 4– Program Type

The base ProgramStateMachineTypedefines the standard Finite State Machinespecified for all Programs. This includes the states, transitions, and transition causes (Methods) and effects (Events). Subtypes of the base ProgramStateMachineTypecan be defined to extend or more specifically characterize the behaviour of an individual Programas illustrated with “MyProgramType” in Figure 4.