This building block provides information about the state of a MachineryItem. It defines some common top-level states. Companion specifications or vendors might extend those states with substates, but cannot add additional top-level states. In order to have a modelling mechanism that allows the creation of substate, but also to define causes and effects on specific transitions, the concept of a FiniteStateMachine defined in OPC 10000-16 is used. Since the intention of this base specification is not to restrict the Transitions between the States, the StateMachine defines Transitions between all States. Instances might restrict the usage of the defined States and Transitions. That might be used by domain-specific companion specifications to restrict the usage of the StateMachine. An overview of the StateMachine is given in Figure 13. The States are further described in 12.2.
The overview of the building block is shown in Figure 14. The MachineryItemState_StateMachineType is a subtype of the FiniteStateMachineType defining the States and Transitions of that StateMachine. The usage of the building block is also shown in that figure. An instance of the MachineryItemState_StateMachineType is added to the Object MyMachine representing a Machine using the AddIn concept. The MachineryItemState_StateMachineType is defined in 12.2.