Skip to content

class ControllerInterface

Package: swiss.avm.up.core.generic.specification.interface_declaration.javamodel.ControllerInterface

Direct Known Subclasses:


class ControllerInterface extends NamedResource, AnnotableComment, DatatypeLibraryOwner

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.

Properties

command

Known commands of the controller.

Command[0..N]

A Command is a control command on a ControllerInterface - one operational mode
that can be requested of the controller, such as on, off or a motion step. A
parent issues a child's command from its statemachine code, and the child reacts
to it in its own transitions.

comment

Describes the intent of this Resource.

TextLiteral[0..1]

A Literal that accepts multiple lines of text.

data

Public data value.

AInterfaceData[0..N]

This abstract interface data class is only used for backward compatibility of deprecated Recipe, Parameter, Current, Config classes. It will be removed in future.

datatypeLibrary

DatatypeLibrary[0..N]

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.

implements

Selection of all interfaces from which to be inherited.

ControllerInterface[0..N]

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.

inputOutput

Input and output variables, which are connected to corresponding hardware.

InputOutput[0..N]

InputOutput is the abstract base for all hardware I/O pins on a controller
interface. Its concrete subtypes - digital and analog, input and output - encode
the signal direction and kind; you always create a concrete subtype, never
InputOutput itself.

name

The name of this Resource.

StringLiteral[1..1]

passThroughParameter

Input and output variable that is part of a controller interface and serves as a formal pass-through parameter.

PassThroughParameter[0..N]

Input and output variable that is part of a controller interface and serves as a formal pass-through parameter.

state

each controller which implements this interface must have a state with the same name

IfaceState[0..N]

An IfaceState declares a state on a ControllerInterface as part of its public
contract - a state name that every implementing statemachine must expose. This
lets a parent rely on and wait for a known state on any controller that
implements the interface.

Method Summary

className

@TemplateNameFunctions

Structure name at PLC

countControllerIfWithSameName

@FControllerInterface

for validation unique data in controller interface

Return:

IntegerLiteral

diagram_getAllControllerInterface

@FigureFunctionSpace

Return:

List<ControllerInterface>

getAllData

@FControllerInterface

Returns all interface data elements of a controller interface and all its implemented interfaces.

Return:

List<AInterfaceData>

getAllDataWithDataGroup

@ControllerFunctionSpace

Parameters:

CustomDataGroup

Return:

List<AInterfaceData>

getCommands

@ControllerFunctionSpace

Returns all commands with inheritance tree and distinct filter.

Return:

List<Command>

getControllerCommandIndex

@TemplateFunction

Parameters:

Command

Return:

IntegerLiteral

getControllerInterfaceDefinition_S7Tia

getControllerWithDefinedInterface

@ControllerTreeFunctionSpace

Return:

List<ControllerInstance>

getControllerWithDefinedInterfaceArraySize

@ControllerTreeFunctionSpace

Return:

IntegerLiteral

getDataGroupUnique

@ControllerFunctionSpace

Returns a list of all data group who are used at controller interface at least once.

Return:

List<CustomDataGroup>

getDataRecordTypesUnique

@ServiceUiFunctions

Returns at data and IO's used RecordType structures unique. Consider that unsupported records filtered (filterUnsupportedItems).

Return:

List<AStructureType>

getDataRemanent

@FTemplateFunctions

Returns list of interface data who are part of remanent handler.

Return:

List<AInterfaceData>

getImplementedInterfaces

@LibraryFunctionSpace

Return:

List<ControllerInterface>

getInputsOutputs

@FControllerInterface

Returns all inputs and outputs of a controller interface and all its implemented interfaces.

Return:

List<InputOutput>

getPassThroughParameters

@FControllerInterface

Return:

List<PassThroughParameter>

getStates

@ControllerFunctionSpace

get all states defined in the interface and of all implemented interfaces with distinct filter.

Return:

List<IfaceState>

hasRemanentGroup

@FControllerInterface

Return:

BooleanLiteral

ifClassName

@TemplateNameFunctions

Structure name at PLC

ifsClassName

@TemplateNameFunctions

Structure name at PLC

ifsRemClassName

@TemplateNameFunctions

Structure name at PLC

internal_getAllInterfaceData

@ControllerFunctionSpace

Returns all interfaceData of all implemented controllerInterfaces (including extended elements)

Return:

List<InterfaceData>

internal_getDataGroupList

@ControllerFunctionSpace

Internal function is used to group (dataGroup) as list

Return:

List<CustomDataGroup>

internal_getDatatypeLibraries

@FDatatypeLibrary

Return:

List<DatatypeLibrary>

ioClassName

@TemplateNameFunctions

Structure name at PLC