Diagram ControllerInterface
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
Controller
A Controller is a reusable control-behaviour type - the unit that defines the commands, states, transitions, interlocks and messages for one kind of device or function. It is instantiated many times as ControllerInstances in the tree and exposes its behaviour through a public interface, a per-instance interface and a private internal interface. A project controller usually extends a library base controller and adds only its specific behaviour.
class Controller extends NamedResource, AControllerDescription, AnnotableComment, DatatypeLibraryOwner, RootVariableLibrary, RootVariableName, AOoDomainRoot, ACallingBaseElement, AResourceWithType
Command
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.
class Command extends NamedResource, AnnotableComment, ATextSourceProperty, AResourceWithType
InterfaceData
An InterfaceData member is a public data value on a controller interface - the unit of the data plane, read and written cyclically rather than a control command. Each one belongs to a data group such as configuration, parameter, recipe or current value.
class InterfaceData extends AInterfaceData, FieldUnit, AOoExtendable
IfaceState
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.
class IfaceState extends AState
AbstractChild
abstract class AbstractChild extends NamedResource, RangeChildFieldRef, AOoDomain, APrefixedResource
AInterfaceData
This abstract interface data class is only used for backward compatibility of deprecated Recipe, Parameter, Current, Config classes. It will be removed in future.
abstract class AInterfaceData extends InterfaceArrayVariable
CustomDataGroup
class CustomDataGroup extends NamedResource, AOmitFromFieldbusOwner
PassThroughParameter
Input and output variable that is part of a controller interface and serves as a formal pass-through parameter.
class PassThroughParameter extends Variable
InputOutput
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.
abstract class InputOutput extends APrefixedResource, AMainVariable, AnnotableComment
DataTypeIoType
abstract class DataTypeIoType extends Variable, InputOutput
DigitalType
abstract class DigitalType extends NamedResource, InputOutput, AResourceWithType
DigitalInput
A DigitalInput is a boolean sensor signal read from hardware - a digital input pin on a controller interface. The controller's logic reads it by name in guard and state code.
class DigitalInput extends DigitalType
DigitalOutput
A DigitalOutput is a boolean actuator signal sent to hardware - a digital output pin on a controller interface. The controller's logic drives it from state entry and exit code.
class DigitalOutput extends DigitalType
DataTypeInput
Name has to be defined without prefix ai_ and also without Datatyp in name
class DataTypeInput extends DataTypeIoType
DataTypeOutput
Use DataType output to define type of output. As example for analog types, structured types or array outputs.
If a ScaleFunction is defined, the analog output is not available in the project (only the scaled value).
class DataTypeOutput extends DataTypeIoType