Skip to content

class Controller

Package: swiss.avm.up.core.generic.specification.javamodel.Controller

Direct Known Subclasses:


class Controller extends NamedResource, AControllerDescription, AnnotableComment, DatatypeLibraryOwner, RootVariableLibrary, RootVariableName, AOoDomainRoot, ACallingBaseElement, AResourceWithType

The controller is the central element of a UP application. A controller defines the smallest, intrinsically functional unit.

A controller essentially consists of two main elements: * Interface and data * [UP - Statemachine]

In addition, the controller has the definition of relations to [Child] controllers.

A controller can also be described as an instantiable type that is instantiated in the [UP - ControllerTree].

Properties

actions

ControllerActions[0..1]

Each controller has ControllerActions. These can be implemented without independently of the state machine

child

definition of child controller in relation to this controller

AbstractChild[0..N]

childIterator

ChildIterator[0..N]

comment

Describes the intent of this Resource.

TextLiteral[0..1]

A Literal that accepts multiple lines of text.

controllerInterface

interface for this controller

ControllerInterface[1..1]

Definition of public informations of a [Controller].
A Controller interface can implement other interfaces and inherits all its elements.

controllerLogbook

ControllerLogbook[0..N]

The controller logbook contains all elements of a controller to be logged.

datatypeLibrary

DatatypeLibrary[0..N]

description

detailed information about the function of this controller

TextLiteral[0..1]

A Literal that accepts multiple lines of text.

extends

Resource[0..N]

The base class of any Resource in the system.

extends

AOoDomain[0..N]

extends

Controller[0..1]

The controller is the central element of a UP application. A controller defines the smallest, intrinsically functional unit.

A controller essentially consists of two main elements:
Interface and data
[UP - Statemachine]

In addition, the controller has the definition of relations to [Child] controllers.

A controller can also be described as an instantiable type that is instantiated in the [UP - ControllerTree].

functionLibrary

FunctionLibrary[0..N]

globalVariableLibrary

GlobalVariableLibrary[0..N]

interfaceLocal

InterfaceLocal[1..1]

The local interface holds all the private data of a controller.

interfaceSpecific

specific controller data that are reachable for parent controller

InterfaceSpecific[1..1]

locMsgClusterInstance

Local instance of an instantiable cluster.

LocalMessageClusterInstance[0..N]

messageReaction

Functions can be defined which are triggered by reactions.

AbstractMessageReactionFunctions[0..1]

name

The name of this Resource.

StringLiteral[1..1]

overrides

Here objects of extensions can be overwritten.

OverrideableObjects[0..1]

statemachine

definition of statemachine in uml style

AStatemachine[0..1]

textList

ATextListDefinition[0..N]
UserObjectLink[0..N]

variableLibrary

VariableLibrary[0..N]

Method Summary

accept

@FCodeSnippet

Parameters:

ValidatableTypeVisitorLiteral

Return:

Void

asyncEventImplementationGeneric

@FAsyncEvent

Parameters:

PlatformType

className

@TemplateNameFunctions

FB class name at PLC.

controllerFunctionCallInOutParameter

Parameters:

Build
PlatformType
ControllerTree

controllerVariableNameFieldRef

@VariableName

Parameters:

AFieldRef
MainVariable

controllerVariableNameFieldRef

@FVariableName

Parameters:

AFieldRef
AMainVariable
PlatformType

createIfSpecificHashMapTree

@BrControllerTreeFunctionSpace

Parameters:

Model
BR_Config
ControllerTree
IntegerLiteral

Return:

OpcUaNodeLiteral

createLocal

curDefaultValue

@ControllerFunctionSpace

Return:

List<BaseDefaultValue>

declaration

Parameters:

PlatformType

documentationTable

@PCD_Documentation

generateSingelAnswer

Parameters:

HardwareConfig

Return:

BooleanLiteral

generateStatemachine

Parameters:

HardwareConfig

Return:

BooleanLiteral

getActionFunctions

@FController

init-, alwaysBefore-, alwaysAfter-, notExistBehaviourFunctions

Return:

List<Function>

getActions

@FController

Returns all actions of a controller from the entire inheritance hierarchy.

Return:

List<ControllerActions>

getActionsInverse

@FController

Return:

List<ControllerActions>

getAllBaseDataVariable

@VariableFunctionSpace

Return:

List<BaseDataVariable>

getAllControllerInstanceWrappersByController

@ControllerInstanceWrapperFunctionSpace

Parameters:

BaseControllerTree

Return:

List<ControllerInstanceWrapper>

getAllInstanceableCluster

@MessageFunctions

Return:

List<MessageClusterDefinitionInstanceable>

getAllLimitDefinitions

@FLimitMonitoring

returns all limit definitions of a controller

Parameters:

PlatformType
Config
ModelConfig

Return:

List<DataLimitLiteral>

getAllMainVariable

@VariableFunctionSpace

Return:

List<AMainVariable>

getAllPublicVariables

@VariableFunctionSpace

Return:

List<Variable>

getAllPublishedMessages

@MessageFunctions

Return:

List<MessageDefinition>

getAllVariable

@VariableFunctionSpace

Return:

List<Variable>

getAlwaysAfterFunctions

@FController

Return:

List<Function>

getAlwaysBeforeFunctions

@FController

Return:

List<Function>

getChildIterators

@FChildIterator

Return:

List<ChildIterator>

getChildren

@FController

Returns all child controllers of the entire inheritance hierarchy.

Return:

List<AbstractChild>

getClassTypes

@FAsyncEvent

Return:

List<TextLiteral>

getCommonFunctionResources

@ControllerFunctionSpace

Return:

List<Resource>

getControllerIndex

@ControllerTreeFunctionSpace

Parameters:

ControllerTree

Return:

IntegerLiteral

getControllerInstanceWrapperArraySizeByController

@ControllerInstanceWrapperFunctionSpace

Parameters:

BaseControllerTree

Return:

IntegerLiteral

getControllerInstanceWrapperSizeByController

@ControllerInstanceWrapperFunctionSpace

Parameters:

BaseControllerTree

Return:

IntegerLiteral

getControllerLogbooks

@FController

Return:

List<ControllerLogbook>

getControllerTypeInjection

Parameters:

Model
PlatformType

getDatatypeLibraries

@FDatatypeLibrary

Returns a recursive non-cyclic list of all datatype libraries. Starting from the current controller including the implemented interface.

Return:

List<DatatypeLibrary>

getDigitalInputs

@FController

Return:

List<DigitalInput>

getExecParameter

getExtendableObjects

@FController

Return:

List<Controller>

getFunctionBlocks

@FController

Return:

List<AFunctionBlock>

getFunctionLibraries

@FController

Return:

List<FunctionLibrary>

getFunctions

@FController

returns all functions in a controller

Return:

List<Function>

getGlobalVariableLibraries

@FController

Return:

List<GlobalVariableLibrary>

getIfsSpecificData

@FController

Returns all specific data of controller interface specific. Including inheritance elements.

Return:

List<DataSpecification>

getIfsSpecificInputOutput

@FController

Returns all specific data of controller interface specific. Including inheritance elements.

Return:

List<AInputOutputSpecific>

getInitFunctions

@FController

Return:

List<Function>

getInputOutputSpecifications

@FController

Parameters:

InputOutput
TypePathLiteral

Return:

List<AInputOutputSpecification>

getInputsOutputs_depr

@FController

Use interface.getInputsOutputs directly.

Return:

List<InputOutput>

getInterlockFunctions

@FController

false-, trueFunctions

Return:

List<Function>

getInterlocks

@FController

Return:

List<AbstractInterlock>

getLocMsgClusterDefinitions

@FController

Return:

List<LocalMessageClusterInstance>

getLocalVariables

@FController

Return:

List<LocalVariable>

getMaxHierarchicalStateLevelCount

@FController

returns the maximum depth of hierarchical state levels of this statemachine

Return:

IntegerLiteral

getMaxMsgId

@InterfaceLocalFunctionspace

highest message id

Return:

IntegerLiteral

getMessageDefinitions

@FController

Return:

List<MessageDefinition>

getMessageLastIndex

@MessageFunctions

Return:

IntegerLiteral

getMessageReactionFunctions

@FController

Return:

List<MessageReactionFunctions>

getMessagesInLimitDefinitions

@FLimitMonitoring

returns all messages, wich are defined in a limit definition

-> for local flag

Parameters:

PlatformType
Config
ModelConfig

Return:

List<AbstractMessageDefinition>

getMethods

@FController

Return:

List<AControllerMethod>

getNonRemanentNonReferenceVariables

@InterfaceLocalFunctionspace

Return:

List<LocalVariable>

getNotExistBehavoiurFunctions

@FController

Return:

List<Function>

getOverwrittenObjects

@FController

Return:

List<AOverrideableObject>

getPathDotSeparated

@TemplateFunction

Parameters:

ControllerTree

Return:

StringLiteral

getPathPrefix

getReferenceVariables

getRelativePackage

@TemplateFunction

returns relative package name

Parameters:

ControllerTree

Return:

StringLiteral

getSharedGuards

@FController

Return:

List<GuardImpl>

getSimulationVariables

@FController

Return:

List<Simulation>

getSpecifications

@FController

returns all specifications

including specifications of array objects with empty array indices

Parameters:

AInterfaceData
TypePathLiteral

Return:

List<ASpecification>

getSpecificationsStruct

@FController

returns all specifications

including specifications of struct

Parameters:

AInterfaceData
TypePathLiteral

Return:

List<ASpecification>

getStatefullComponentElement

@AnimationFunctions

Return:

List<Resource>

getStatefullComponentElementMaxId

@AnimationFunctions

Parameters:

BaseControllerTree

Return:

IntegerLiteral

getStatefullComponentElementUnique

@AnimationFunctions

Return:

List<Resource>

getStatefullComponentNumberOfElements

@AnimationFunctions

Return:

IntegerLiteral

getStatefullComponentTransitionMaxId

@AnimationFunctions

Return:

IntegerLiteral

getStatefullComponentTransitionUnique

@AnimationFunctions

Return:

List<Resource>

getStatemachineInitTemplate

@FTemplateFunctions

Parameters:

Model
ControllerTree
PlatformType
Resources

getStatemachineTemplate

@FTemplateFunctions

Parameters:

Model
ControllerTree
ACallingBaseElement
PlatformType
Resources

getStatemachineWrapper

@FController

Return:

StatemachineWrapper

getTransitionFunctionId

@FTemplateFunctions

Parameters:

TransitionWrapper

Return:

IntegerLiteral

getTransitionWrappersWithTransitionFun

@FController

Return:

List<TransitionWrapper>

getTransitions

@FStatemachineSequence

Return:

List<Transition>

getUniqueMessagesInLimitDefinitions

@FLimitMonitoring

returns all unique messages, wich are defined in a limit definition

-> for local flag

Parameters:

PlatformType
Config
ModelConfig

Return:

List<AbstractMessageDefinition>

@FController

Return:

List<UserObjectLink>

getUserTaskLinkIfaceVarListCs

@ControllerFunctionSpace

getVariableLibrary

@FController

returns all variable libraries from shared functions and controllers

Return:

List<VariableLibrary>

getVariableLibraryUnique

@TemplateFunction

Return:

List<VariableLibrary>

globalVariableNameParamList

@TemplateFunction

returns a comma separated list of all global variable names

ifCtrlClassName

@TemplateNameFunctions

controller interface class name at PLC.

ilkClassName

@TemplateNameFunctions

interlock class name at PLC.

inOut

initCommon

@TemplateFunction

input

inputBridge

@FTemplateFunctions

Parameters:

PlatformType

internal_getDatatypeLibraries

@FDatatypeLibrary

Return:

List<DatatypeLibrary>

internal_getExtendedControllers

@FController

Return:

List<Controller>

internal_getFullInheritance

@FController

Return:

List<Controller>

internal_getFullInheritanceInverse

@FController

Return:

List<Controller>

internal_getMethods

@FController

Return:

List<AControllerMethod>

internal_getRootStatemachine

@FController

Return:

Statemachine

internal_getStateBases

@FController

Return:

List<StateBase>

internal_getStatemachines

@FController

get root statemachine and all its extension statemaschines

Return:

List<Statemachine>

internal_getStatemachinesExtensions

@FController

get all extensions of the current root statemachine

Return:

List<StatemachineExtension>

internal_outputBridge

@FTemplateFunctions

Parameters:

PlatformType

isInSamePackage

@TemplateFunction

Parameters:

StringLiteral
ControllerTree

Return:

BooleanLiteral

isWithControllerTreeInSamePackage

@TemplateFunction

controller and the controller tree are in the same package

Parameters:

ControllerTree

Return:

BooleanLiteral

limitMonitoring

@FLimitMonitoring

Parameters:

PlatformType
Config

maxInstanceNrOfController

@ControllerTreeFunctionSpace

Parameters:

ControllerTree

Return:

IntegerLiteral

maxInstanceNrOfControllerArraySize

@ControllerTreeFunctionSpace

Parameters:

ControllerTree

Return:

IntegerLiteral

maxInstanceNrOfControllerArraySizeNull

@ControllerTreeFunctionSpace

Parameters:

BaseControllerTree

Return:

BooleanLiteral

modeAll

@FTemplateFunctions

Parameters:

PlatformType
Resources

output

Parameters:

PlatformType

outputBridge

@FTemplateFunctions

Parameters:

PlatformType

remanentClassName

@TemplateNameFunctions

remanent struct name at PLC.

resetAll

@FTemplateFunctions

Parameters:

PlatformType
Resources

simulationAll

@FTemplateFunctions

Parameters:

PlatformType
Resources

unusedVariableWorkaround

@FTemplateFunctions

Parameters:

ControllerTree