This ObjectType defines the representation of a Ctrl Program Organization Unit of a programmable Controller system in an OPC UA Address Space. It defines how components of the Ctrl Program Organization Unit like Variables and Ctrl Function Blocks are represented. The CtrlProgramOrganizationUnitType is derived from the BlockType defined in OPC 10000-100. Figure 17 shows the CtrlProgramOrganizationUnitType. It is formally defined in Table 15.
Figure 17 – CtrlProgramOrganizationUnitType Overview
The Ctrl Program Organization Unit ObjectType is formally defined in Table 15.
Table 15 – CtrlProgramOrganizationUnitType Definition
Attribute |
Value |
||||
BrowseName |
CtrlProgramOrganizationUnitType |
||||
IsAbstract |
True |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the BlockType defined in OPC 10000-100, i.e. inheriting the InstanceDeclarations of that Node. |
|||||
HasSubtype |
ObjectType |
CtrlProgramType |
Defined in Clause 7.4 |
||
HasSubtype |
ObjectType |
CtrlFunctionBlock Type |
Defined in Clause 7.5 |
||
|
|
|
|
|
|
With |
Object |
<TaskName> |
|
CtrlTaskType |
OptionalPlaceholder |
HasInputVar |
Variable |
<VarInputName> |
BaseDataType |
BaseDataVariableType |
OptionalPlaceholder |
HasOutputVar |
Variable |
<VarOutputName> |
BaseDataType |
BaseDataVariableType |
OptionalPlaceholder |
HasInOutVar |
Variable |
<VarInOutName> |
BaseDataType |
BaseDataVariableType |
OptionalPlaceholder |
HasLocalVar |
Variable |
<VarLocalName> |
BaseDataType |
BaseDataVariableType |
OptionalPlaceholder |
HasExternalVar |
Variable |
<VarExternalName> |
BaseDataType |
BaseDataVariableType |
OptionalPlaceholder |
HasLocalVar |
Object |
<BlockName> |
|
CtrlFunctionBlockType |
OptionalPlaceholder |
HasComponent |
Variable |
Body |
XmlElement |
BaseDataVariableType |
Optional |
HasComponent |
Object |
<SFCName> |
|
SFCType |
OptionalPlaceholder |
The CtrlProgramOrganizationUnitType ObjectType is abstract. It is the common base type for all Ctrl Program Organization Unit specific types.
The With Reference defined in 8.7 is used to reference the Ctrl Task that is used to execute the Ctrl Program Organization Unit.
Variables declared for a Ctrl Program Organization Unit type are referenced with different subtypes of the HasComponent Reference. The used Reference type depends on the IEC 61131-3 variable declaration keywords. The characteristics of the Variables like data type and access rights and their mapping from IEC 61131-3 information and key words is defined in chapter 9. The name of the Variable depends on the Variable name in the Ctrl Program Organization Unit.
Variables declared with the key word VAR_INPUT are referenced with HasInputVar defined in 8.2.
Variables declared with the key word VAR_OUTPUT are referenced with HasOutputVar defined in 8.3.
Variables declared with the key word VAR_IN_OUT are referenced with HasInOutVar defined in 8.4.
Variables declared with the key word VAR are referenced with HasLocalVar defined in 8.5.
Variables declared with the key word VAR_EXTERNAL are referenced with HasExternalVar defined in 8.6.
Ctrl Function Blocks declared with the key word VAR are referenced with HasLocalVar defined in 8.5. The name of the Object depends on the name of the block in the Ctrl Program Organization Unit.
The Variable Body contains the body of the Ctrl Program Organisation Unit as XmlElement.
Sequential function charts (SFC) declared in the Ctrl Program Organisation Unit are represented as Objects of the type SFCType defined in chapter 7.7.