This ObjectType defines the representation of a Ctrl Function Blocks of a programmable Controller system in an OPC UA Address Space. It is derived from CtrlProgramOrganizationUnitType and introduces Ctrl Function Block specific components in addition to the components of the base type. Figure 19 shows the CtrlFunctionBlockType. It is formally defined in Table 17.

image023.png

Figure 19 CtrlFunctionBlockType Overview

The CtrlFunctionBlock ObjectType is formally defined in Table 17.

Table 17 CtrlFunctionBlockType Definition

Attribute

Value

BrowseName

CtrlFunctionBlockType

IsAbstract

True

References

NodeClass

BrowseName

TypeDefinition

ModellingRule

Inherit the Properties and components of the CtrlProgramOrganizationUnitType

HasInputVar

Object

<FunctionBlockInputName>

CtrlFunctionBlockType

OptionalPlaceholder

HasOutputVar

Object

<FunctionBlockOutputName>

CtrlFunctionBlockType

OptionalPlaceholder

HasInOutVar

Object

<FunctionBlockInOutName>

CtrlFunctionBlockType

OptionalPlaceholder

HasComponent

Variable

FunctionBlock

BaseDataVariableType

Optional

The CtrlFunctionBlockType ObjectType is abstract. There will be no instances of a CtrlFunctionBlockType itself, but there will be instances of subtypes of this type like instances of vendor or user specific Ctrl Function Blocks.

Ctrl Function Block instances declared for a Ctrl Function Block type are referenced with different subtypes of the HasComponent Reference. The used Reference type depends on the IEC 61131-3 declaration keywords. The name of the Object depends on the name of the block in the Ctrl Function Block.

Ctrl Function Block instances declared with the key word VAR_INPUT are referenced with HasInputVar defined in 8.2.

Ctrl Function Block instances declared with the key word VAR_OUTPUT are referenced with HasOutputVar defined in 8.3.

Ctrl Function Block instances declared with the key word VAR_IN_OUT are referenced with HasInOutVar defined in 8.4.

The FunctionBlock Variable component contains the complete Ctrl Function Block data in a complex Variable. The DisplayName for the Variable is FunctionBlock.