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 central element of a UP application. It is used to divide a machine process into functional units, so-called Controller. The tree defines a hierarchy in which the higher-level controllers communicate with the lower-level controllers. Communication takes place via the controller interface. The subordinate controllers (child) are commanded by the higher-level controllers (parent). The ControllerTree exists in a project only once.

class ControllerTree extends BaseControllerTree, ACallingBaseElement

BaseControllerTree

abstract class BaseControllerTree extends NamedResource, DatatypeLibraryOwner

Level

The hierarchy of the ControllerTree is defined by levels. The number of levels used is not limited. Within the levels the controller is instantiated.

The usual levels are defined as follows:

Level 4, Top Level: MAIN controllers and "general services" like HMI, Filehandler, ... which have nothing to do with the control function.

Level 3, Group: Group controller, strongly machine-related, head of an entire function group.

Level 2, module: Modules which perform a corresponding function in a group can also be instantiated several times within group or within a whole machine.

Level 1, Element group: Smallest group of similarities, summary of simple element controllers, which do not necessarily have to be addressed separately.

Level 0, Element: Lowest level of the controller, fulfills exactly one task, reusable, interface to the hardware.

Driver, Driver: Hardware-specific configuration, interface between element controller and hardware (typical application for controllers with motion tasks -> controller is identical, drivers differ depending on the drive used).

class Level extends NamedResource

IntercomTask

class IntercomTask extends NamedResource, AnnotableComment, BaseControllerInstanceInteraction, RootVariableLibrary, RootVariableName

InterlockInstance

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

The ControllerInstance is an instance of a controller. A controller is instantiated in the ControllerTree.

The controller instance is the application-specific version of the corresponding controller. In the context of the ControllerTree, various elements are defined which define the uniqueness.

class ControllerInstance extends AnnotableComment, RangeChildFieldRef, BaseTreeElementInstance

Cluster

class Cluster extends BaseControllerTree

AUserObject

abstract class AUserObject extends NamedResource, AnnotableComment

UserObjectWrapper

The UserObjectWrapper can be used to call function blocks outside the controller construct. Relations can be drawn from any controller. The UserObjectWrapper also has two Code Snippet regions. One for the initialization and one for a cyclic call.

class UserObjectWrapper extends AUserObjectInterface

APlatformUserObject

abstract class APlatformUserObject extends AUserObject

AUserObjectInterface

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