FSM Structure Overview¶
The hierarchical controls part of the framework allows the definition and operation of hierarchies of objects behaving as Finite State Machines which allows the sequencing and automation of operations.
FSM = Finite State Machine
The mechanism adopted for modelling the structure of subdetectors, subsystems and hardware components in a consistent fashion is to use a hierarchical (tree like) structures composed of 2 types of nodes.
-
Device Units (DU) which are capable of monitoring and controlling equipments to which they correspond.
-
Control Units (CU) or Logical Units (LU) which are considered to contain FSM capable of modelling and controlling the subtree below them.
-
Nodes of the tree are CUs and DUs always appear as leaves of the tree.
Refer the example structure with definitions.
Definitions¶
State Management Interface (SMI)¶
SMI is the FSM toolkit incorporated in the framework which allows the description of any subsystem as a collection of objects, each object behaving as a FSM. SMI defines 2 types of objects.
-
Abstract Objects which implement logic bahaviour. When an action gets triggered they execute instructions.
-
Physical Objects which implement the interface to real devices. When they receive a command, should act on the device model and when the device’s data change, might have to change the state.
-
Both object types possess a list of allowed states and a list of allowed actions for each state.
Control Unit (CU) / Logical Unit (LU)¶
Instance of a Logical Unit Type running as a SMI Domain. CUs are logical decision units and can take decisions to act on their children.
Logical Unit Type : Modelling of behavior for an abstract object.
SMI Domain : A logically related group of objects (a subsystem) composed of one more objects of one or both types.
State transitions cause the evaluation of logical conditions and this mechanism can be used to propagate actions down the tree, to automate operations and to recover from error situations.
Device Unit (DU)¶
Instance of a Device Unit Type based on a Device and implement the interface with the lower level components (Hardware or Software).
Device Unit Type : Modelling of behavior based on a Device Type.
Device : Instance of a Device Type.
Device Type : Modelling of hardware or logical device with WinCC OA datapoints.
A DU corresponds to an SMI Physical Object and they are always a tree 'leaf' (i.e. DUs have no children) therefore do not implement logic behaviour.
FSM in JCOP Framework¶
Configuration¶
SMI like WinCC OA allows the definition of object types and the derivation of objects from the type. In order to create a hierarchy it is necessary to:
- Create any Device Types, the types from which Device Units will inherit.
- Create any Object Types, the types from which any Abstract Objects will inherit.
- Create Control Units , instantiate the Devices and(or) Abstract Objects and include in a particular domain.
The FSM is fully integrated with the JCOP Framework and deal in terms of the hardware declared in the "Hardware View" of the "Device Editor Navigator" (DEN).
At the lowest level, commands arrive at the DUs and are passed to the hardware (i.e. the items declared either in the DEN 'Hardware View' or the 'Logical View').
All child nodes must always communicate with theri parent nodes using a commonly understood vocabulary if not user must configure into a common form.
Not all children of a given parent and/or sibling CUs CU will be identical. Each must nevertheless use an agreed interface (i.e. use a recognised vocabulary) when communicating with the parent.
Partitions¶
The owner or the operator releases the ownership of the entire FSM or a part of the FSM, so that another operator can work with it.
Only the owner can exclude a component from the hierarchy.
Each CU is capable of partitioning 'out' or 'in' of its children. Excluding a child from the hierarchy implies that it’s state is not taken into account by the parent in further processes by sending commands.
There are 4 defined partitioning modes.