8 Reference Types
8.1 General
Figure 21 depicts the main ReferenceTypes of this specification and their relationship.

The upper grey box shows the OPC UA core ReferenceTypes from which the IEC 61131-3 ReferenceTypes are derived. The grey box in the second level shows the IEC 61131-3 ReferenceTypes that this specification introduces.
8.2 HasInputVar
This ReferenceType is a subtype of the HasComponent ReferenceType defined in OPC 10000-5. Its representation in the AddressSpace is specified in Table 20.
| Attributes | Value | ||
| BrowseName | HasInputVar | ||
| InverseName | InputVarOf | ||
| Symmetric | False | ||
| IsAbstract | False | ||
| References | NodeClass | BrowseName | Comment |
|---|---|---|---|
| Subtype of HasComponent ReferenceType defined in OPC 10000-5 | |||
The HasInputVar ReferenceType is a concrete ReferenceType and can be used directly.
The semantic of this ReferenceType is to reference components of a Ctrl Program Organization Unit declared with the key word VAR_INPUT.
The SourceNode of References of this type shall be a subtype of CtrlProgramOrganizationUnitType or an instance of one of its subtypes.
The TargetNode of this ReferenceType shall be a Variable or an Object of the ObjectType CtrlFunctionBlockType or one of its subtypes.
8.3 HasOutputVar
This ReferenceType is a subtype of the HasComponent ReferenceType defined in OPC 10000-5. Its representation in the AddressSpace is specified in Table 21.
| Attributes | Value | ||
| BrowseName | HasOutputVar | ||
| InverseName | OutputVarOf | ||
| Symmetric | False | ||
| IsAbstract | False | ||
| References | NodeClass | BrowseName | Comment |
|---|---|---|---|
| Subtype of HasComponent ReferenceType defined in OPC 10000-5 | |||
The HasOutputVar ReferenceType is a concrete ReferenceType and can be used directly.
The semantic of this ReferenceType is to reference components of a Ctrl Program Organization Unit declared with the key word VAR_OUTPUT.
The SourceNode of References of this type shall be a subtype of CtrlProgramOrganizationUnitType or an instance of one of its subtypes.
The TargetNode of this ReferenceType shall be a Variable or an Object of the ObjectType CtrlFunctionBlockType or one of its subtypes.
8.4 HasInOutVar
This ReferenceType is a subtype of the HasComponent ReferenceType defined in OPC 10000-5. Its representation in the AddressSpace is specified in Table 22.
| Attributes | Value | ||
| BrowseName | HasInOutVar | ||
| InverseName | InOutVarOf | ||
| Symmetric | False | ||
| IsAbstract | False | ||
| References | NodeClass | BrowseName | Comment |
|---|---|---|---|
| Subtype of HasComponent ReferenceType defined in OPC 10000-5 | |||
The HasInOutVar ReferenceType is a concrete ReferenceType and can be used directly.
The semantic of this ReferenceType is to reference components of a Ctrl Program Organization Unit declared with the key word VAR_INOUTPUT.
The SourceNode of References of this type shall be a subtype of CtrlProgramOrganizationUnitType or an instance of one of its subtypes.
The TargetNode of this ReferenceType shall be a Variable or an Object of the ObjectType CtrlFunctionBlockType or one of its subtypes.
8.5 HasLocalVar
This ReferenceType is a subtype of the HasComponent ReferenceType defined in OPC 10000-5. Its representation in the AddressSpace is specified in Table 23.
| Attributes | Value | ||
| BrowseName | HasLocalVar | ||
| InverseName | LocalVarOf | ||
| Symmetric | False | ||
| IsAbstract | False | ||
| References | NodeClass | BrowseName | Comment |
|---|---|---|---|
| Subtype of HasComponent ReferenceType defined in OPC 10000-5 | |||
The HasLocalVar ReferenceType is a concrete ReferenceType and can be used directly.
The semantic of this ReferenceType is to reference components of a Ctrl Program Organization Unit declared with the key word VAR.
The SourceNode of References of this type shall be a subtype of CtrlProgramOrganizationUnitType or an instance of one of its subtypes.
The TargetNode of this ReferenceType shall be a Variable or an Object of the ObjectType CtrlFunctionBlockType or one of its subtypes.
8.6 HasExternalVar
This ReferenceType is a subtype of the Organizes ReferenceType defined in OPC 10000-5. Its representation in the AddressSpace is specified in Table 24.
| Attributes | Value | ||
| BrowseName | HasExternalVar | ||
| InverseName | ExternalVarOf | ||
| Symmetric | False | ||
| IsAbstract | False | ||
| References | NodeClass | BrowseName | Comment |
|---|---|---|---|
| Subtype of Organizes ReferenceType defined in OPC 10000-5 | |||
The HasExternalVar ReferenceType is a concrete ReferenceType and can be used directly.
The semantic of this ReferenceType is to reference components of a Ctrl Program Organization Unit declared with the key word VAR_EXTERNAL.
The SourceNode of References of this type shall be a subtype of CtrlProgramOrganizationUnitType or an instance of one of its subtypes.
The TargetNode of this ReferenceType shall be a Variable or an Object of the ObjectType CtrlFunctionBlockType or one of its subtypes.
8.7 With
This ReferenceType is a subtype of the NonHierarchicalReferences ReferenceType defined in OPC 10000-5. Its representation in the AddressSpace is specified in Table 25.
| Attributes | Value | ||
| BrowseName | With | ||
| InverseName | Executes | ||
| Symmetric | False | ||
| IsAbstract | False | ||
| References | NodeClass | BrowseName | Comment |
|---|---|---|---|
| Subtype of NonHierarchicalReferences ReferenceType defined in OPC 10000-5 | |||
The With ReferenceType is a concrete ReferenceType and can be used directly.
The semantic of this ReferenceType is to reference the Ctrl Task that executes a Ctrl Program Organization Unit.
The SourceNode of References of this type shall be an Object of the ObjectType CtrlProgramOrganizationUnitType or an instance of one of its subtypes.
The TargetNode of this ReferenceType shall be an Object of the ObjectType CtrlTaskType or one of its subtypes.