Skip to content

Diagram InterfaceLocal

Design_Userdoc_InterfaceLocal InterfaceLocal InterfaceLocal LocalVariable LocalVariable InterfaceLocal->LocalVariable localVariable 0..N Simulation Simulation InterfaceLocal->Simulation simulation 0..N AbstractInterlock AbstractInterlock InterfaceLocal->AbstractInterlock interLock 0..N AbstractMessageDefinition AbstractMessageDefinition InterfaceLocal->AbstractMessageDefinition message 0..N AFunctionBlock AFunctionBlock InterfaceLocal->AFunctionBlock functionBlock 0..N AControllerMethod AControllerMethod InterfaceLocal->AControllerMethod method 0..N MessageDefinition MessageDefinition AbstractMessageDefinition->MessageDefinition FunctionBlock FunctionBlock AFunctionBlock->FunctionBlock Controller Controller Controller->InterfaceLocal interfaceLocal 1..1 Controller->Controller extends > extends 0..1 AControllerMethod->AControllerMethod override > override 0..1 ControllerMethodCodesnippet ControllerMethodCodesnippet AControllerMethod->ControllerMethodCodesnippet

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