Skip to content

Diagram ControllerTree

Design_Userdoc_ControllerTree ControllerTree ControllerTree BaseControllerTree BaseControllerTree BaseControllerTree->ControllerTree Level Level BaseControllerTree->Level level 1..N Cluster Cluster BaseControllerTree->Cluster GlobalVariableLibrary GlobalVariableLibrary BaseControllerTree->GlobalVariableLibrary globalVariableLibrary 0..N Level->Level parentLevel 0..1 IntercomTask IntercomTask Level->IntercomTask intercomTask 0..N InterlockInstance InterlockInstance Level->InterlockInstance interlockInstance 0..N BaseTreeElementInstance BaseTreeElementInstance Level->BaseTreeElementInstance treeElementInstance 0..N AUserObjectInterface AUserObjectInterface Level->AUserObjectInterface userObject 0..N ClusterInstance ClusterInstance BaseTreeElementInstance->ClusterInstance ControllerInstance ControllerInstance BaseTreeElementInstance->ControllerInstance UserObject UserObject ClusterInstance->Cluster instanceOf 1..1 AUserObject AUserObject APlatformUserObject APlatformUserObject AUserObject->APlatformUserObject AUserObject->AUserObjectInterface UserObjectWrapper UserObjectWrapper APlatformUserObject->UserObject AUserObjectInterface->UserObject AUserObjectInterface->UserObjectWrapper InterfaceOptions InterfaceOptions GlobalVariable GlobalVariable InterfaceOptions->GlobalVariable BaseControllerInstanceInteraction BaseControllerInstanceInteraction BaseControllerInstanceInteraction->IntercomTask BaseControllerInstanceInteraction->InterlockInstance GlobalVariableLibrary->GlobalVariable globalVariable 0..N

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