Diagram ControllerTree
ControllerTree
The ControllerTree is the root of a project's instantiation hierarchy. It owns the chain of Levels and through them all controller instances, plus the project's datatype-library links. There is exactly one per project.
class ControllerTree extends BaseControllerTree, ACallingBaseElement
BaseControllerTree
abstract class BaseControllerTree extends NamedResource, DatatypeLibraryOwner
Level
A Level is a node in the ControllerTree hierarchy. It holds controller instances and chains to a parent level, and can also host cross-cutting content such as placed user objects and interlock instances. Dedicated levels are often used for concerns like communication or interlocks.
class Level extends NamedResource
IntercomTask
class IntercomTask extends NamedResource, AnnotableComment, BaseControllerInstanceInteraction, RootVariableLibrary, RootVariableName
InterlockInstance
An InterlockInstance wires a reusable interlock definition to concrete plant signals, placed on a dedicated interlock level. It selects the controlled output, the condition-source inputs and the bound variable, decoupling the reusable interlock logic from plant-specific routing.
class InterlockInstance extends RootVariableLibrary, RootVariableName, BaseControllerInstanceInteraction
BaseTreeElementInstance
abstract class BaseTreeElementInstance extends Resource
UserObject
class UserObject extends AUserObjectInterface, APlatformUserObject
ClusterInstance
class ClusterInstance extends NamedResource, BaseTreeElementInstance, AnnotableComment
ControllerInstance
A ControllerInstance is a Controller placed in the ControllerTree under a Level. It represents one concrete occurrence of a controller type, carrying its instance-specific attributes and the wiring to its child instances.
class ControllerInstance extends AnnotableComment, RangeChildFieldRef, BaseTreeElementInstance
Cluster
class Cluster extends BaseControllerTree
AUserObject
abstract class AUserObject extends NamedResource, AnnotableComment
UserObjectWrapper
A UserObjectWrapper is the single placed instance of a UserObjectInterface, parented to a Level so the shared blackboard is globally addressable in the tree. Controller instances bind to it to read and write the shared data.
class UserObjectWrapper extends AUserObjectInterface
APlatformUserObject
abstract class APlatformUserObject extends AUserObject
AUserObjectInterface
AUserObjectInterface is the abstract base for a placed user-object interface - the shared-data object a controller instance binds to. It is part of the cross-hierarchy data-sharing (blackboard) mechanism; its concrete placed form is the UserObjectWrapper.
abstract class AUserObjectInterface extends AUserObject
InterfaceOptions
abstract class InterfaceOptions extends Resource, ANotAvailableOnS7Tia_Property, ANotAvailableOnBeckhoff_Property
GlobalVariable
class GlobalVariable extends BaseArrayVariable, InterfaceOptions
BaseControllerInstanceInteraction
class BaseControllerInstanceInteraction extends Resource, RootVariableLibrary
GlobalVariableLibrary
class GlobalVariableLibrary extends NamedResource, DatatypeLibraryOwner, AAutoPrefix