Diagram InterfaceLocal
InterfaceLocal
An InterfaceLocal is the private internal container of a controller: its local variables, message definitions, function blocks, interlock definitions, simulation and helper methods - everything not visible from outside. It is the internal member of the controller's public / per-instance / local interface triad.
class InterfaceLocal extends Resource, AnnotableComment
LocalVariable
A LocalVariable is a private working variable of a controller, living in its InterfaceLocal and accessible only from the controller's own logic. It is typed by a datatype from a linked library. Hardware signals are not local variables - those are I/O members on the interface.
class LocalVariable extends BaseArrayVariable, AReferenceVariable
Simulation
Simulation holds a controller's simulation behaviour: simulation-only variables and per-state behaviour that replaces real I/O when simulation is active, so the controller can run against simulated feedback instead of physical inputs.
class Simulation extends Variable
AbstractInterlock
AbstractInterlock is the abstract base for a reusable interlock definition. The concrete form is defined on a controller and wired to real plant signals by an InterlockInstance, separating reusable interlock logic from plant-specific signal routing.
abstract class AbstractInterlock extends NamedResource
AbstractMessageDefinition
abstract class AbstractMessageDefinition extends AnnotableComment
AFunctionBlock
abstract class AFunctionBlock extends NamedResource, AnnotableComment, APrefixedResource
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
MessageDefinition
A MessageDefinition is an alarm or event definition on a controller, declared in its InterfaceLocal. It specifies the message type (error, warning or info), its acknowledge behaviour, display text and severity, and is raised and cleared from the controller's code.
class MessageDefinition extends NamedResource, AbstractMessageDefinition, MessageProperties, APrefixedResource
FunctionBlock
A FunctionBlock is an IEC function-block instance inside a controller, wrapping vendor or library logic. It references a function-block type from a datatype library that defines its inputs, outputs and internal state. In driver controllers it is effectively the driver implementation.
class FunctionBlock extends AFunctionBlock, BaseDataVariable, BaseArrayVariable, AFunctionBlockCall
AControllerMethod
A ControllerMethod is a named, reusable, typed method on a controller, defined in its InterfaceLocal. It factors shared guard or helper logic out of inline code snippets so it can be called from transition guards and from state code. AControllerMethod is the abstract base; the concrete form carries a C-Minus body.
abstract class AControllerMethod extends NamedResource, AnnotableComment, AOoOverride, APrefixedResource
ControllerMethodCodesnippet
Controller methods are used to define functions that have controller-local validity.
The call is made via the this operator.
Example: this.method1()
Controller methods can be overridden in a derived controller. In an overridden controller, the base method can be called using the SUPER operator.
Example: SUPER.baseMethod1()
All elements of a controller can be used in the method: - Messages - All controller variables (local and interface) - ...
class ControllerMethodCodesnippet extends AControllerMethod, AMethodParameter, AMethodLocalVariable, AControllerScopeCodesnippetImplementation