Skip to content

Diagram Diagram RootDatatypeLibrary

Design_UserDoc_DatatypeLibraryOwner DatatypeLibraryOwner DatatypeLibraryOwner DatatypeLibrary DatatypeLibrary DatatypeLibraryOwner->DatatypeLibrary DatatypeLibraryOwner->DatatypeLibrary datatypeLibrary 0..N AVariableLibrary AVariableLibrary DatatypeLibraryOwner->AVariableLibrary BaseControllerTree BaseControllerTree DatatypeLibraryOwner->BaseControllerTree ControllerInterface ControllerInterface DatatypeLibraryOwner->ControllerInterface FunctionLibrary FunctionLibrary DatatypeLibraryOwner->FunctionLibrary GlobalVariableLibrary GlobalVariableLibrary DatatypeLibraryOwner->GlobalVariableLibrary UserObjectInterface UserObjectInterface DatatypeLibraryOwner->UserObjectInterface DatatypeLibrary->DatatypeLibrary extends > extends 0..0 BaseControllerTree->GlobalVariableLibrary globalVariableLibrary 0..N ControllerInterface->ControllerInterface implements 0..N FunctionLibrary->AVariableLibrary variableLibrary 0..N FunctionLibrary->FunctionLibrary functionLibrary 0..N IntercomTask IntercomTask

DatatypeLibraryOwner

Class was RootDatatypeLibrary originally. But name was confusing. Class holds only data type libraries.

abstract class DatatypeLibraryOwner extends IDatatypeLibraryProvider

DatatypeLibrary

A DatatypeLibrary holds the datatypes and constants used by a project and its controllers - enumerations, record types, function-block types and named constants. Controller interface and local variables are typed by its contents; a master library aggregates per-controller sub-libraries.

class DatatypeLibrary extends NamedResource, AOoDomainRoot, DatatypeLibraryOwner, ACallingBaseElement, AAutoPrefix, Commentable

AVariableLibrary

abstract class AVariableLibrary extends NamedResource, AnnotableComment, DatatypeLibraryOwner, AAutoPrefix, AOoDomainRoot

BaseControllerTree

abstract class BaseControllerTree extends NamedResource, DatatypeLibraryOwner

ControllerInterface

A ControllerInterface is the shared public contract of a controller family: the commands, public data, hardware I/O and declared states that every implementing controller exposes and that a parent uses to interact with it. One interface can be reused by several sibling controllers.

class ControllerInterface extends NamedResource, AnnotableComment, DatatypeLibraryOwner

FunctionLibrary

class FunctionLibrary extends NamedResource, DatatypeLibraryOwner, RootVariableLibrary, RootVariableName, ACallingBaseElement, AAutoPrefix

GlobalVariableLibrary

class GlobalVariableLibrary extends NamedResource, DatatypeLibraryOwner, AAutoPrefix

IntercomTask

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

UserObjectInterface

A UserObjectInterface is a shared typed data structure that acts as a blackboard for cross-hierarchy data sharing - data exchanged outside the parent / child path. Each producing controller writes its own slot, and any controller with a link can read the whole structure.

class UserObjectInterface extends NamedResource, DatatypeLibraryOwner, AnnotableComment