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