The functional model is required to be able to be applied to existing Information Models. These models have defined their own Object Models and their own hierarchy of Objects. OPC UA does not support multiple inheritance. By defining the IFunctionalEntityType Interface, the OPC UA FX Information Model can be applied to any existing Object, adding the required IFunctionalEntityType items into the existing Information Model.
The IFunctionalEntityType Interface is formally defined in Table 104.
Table 104 – IFunctionalEntityType interface definition
Attribute |
Value |
||||
BrowseName |
3:IFunctionalEntityType |
||||
IsAbstract |
True |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of the 0:BaseInterfaceType defined in OPC 10000-5 |
|||||
0:HasProperty |
Variable |
3:AuthorUri |
0:UriString |
0:PropertyType |
O |
0:HasProperty |
Variable |
3:AuthorAssignedIdentifier |
0:String |
0:PropertyType |
O |
0:HasProperty |
Variable |
3:AuthorAssignedVersion |
3:FxVersion |
0:PropertyType |
O |
0:HasProperty |
Variable |
3:ApplicationIdentifier |
3:ApplicationIdentifierDataType[] |
0:PropertyType |
O |
0:HasComponent |
Method |
3:Verify |
Defined in 6.4.3 |
O |
|
0:HasComponent |
Object |
3:InputData |
|
3:InputsFolderType |
O |
0:HasComponent |
Object |
3:OutputData |
|
3:OutputsFolderType |
O |
0:HasComponent |
Object |
3:ConfigurationData |
|
3:ConfigurationDataFolderType |
O |
0:HasComponent |
Object |
3:Capabilities |
|
3:FunctionalEntityCapabilitiesType |
O |
0:HasComponent |
Object |
3:PublisherCapabilities |
|
3:PublisherCapabilitiesType |
O |
0:HasComponent |
Object |
3:SubscriberCapabilities |
|
3:SubscriberCapabilitiesType |
O |
0:HasComponent |
Object |
3:ConnectionEndpoints |
|
3:ConnectionEndpointsFolderType |
O |
0:HasComponent |
Object |
3:ControlGroups |
|
3:ControlGroupsFolderType |
O |
0:HasComponent |
Variable |
3:OperationalHealth |
3:OperationalHealthOptionSet |
0:BaseDataVariableType |
O, RO |
0:HasComponent |
Object |
3:OperationalHealthAlarms |
|
0:FolderType |
O |
0:HasComponent |
Object |
5:Status |
|
5:FunctionalGroupType |
O |
0:HasComponent |
Object |
5:Diagnostics |
|
5:FunctionalGroupType |
O |
0:HasComponent |
Object |
5:Operational |
|
5:FunctionalGroupType |
O |
ConformanceUnits |
|||||
UAFX FunctionalEntity Base |
The components of the IFunctionalEntityType have additional subcomponents, which are defined in Table 105
Table 105 – IFunctionalEntityType additional subcomponents
BrowsePath |
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Others |
3:ConfigurationData |
0:Organizes |
Object |
5:Configuration |
|
5:FunctionalGroupType |
O |
3:ConfigurationData |
0:Organizes |
Object |
5:Tuning |
|
5:FunctionalGroupType |
O |
5:Diagnostics |
0:HasComponent |
Variable |
3:OperationalConnectionCount |
0:UInt32 |
0:BaseDataVariableType |
O |
5:Diagnostics |
0:HasComponent |
Variable |
3:ExistingConnectionCount |
0:UInt32 |
0:BaseDataVariableType |
O |
5:Diagnostics |
0:HasComponent |
Variable |
3:ErrorConnectionCount |
0:UInt32 |
0:BaseDataVariableType |
O |
5:Diagnostics |
0:HasComponent |
Variable |
3:FailedConnectionCount |
0:UInt32 |
0:BaseDataVariableType |
O |
5:Diagnostics |
0:HasComponent |
Variable |
3:CleanedUpConnectionCount |
0:UInt32 |
0:BaseDataVariableType |
O |
5:Diagnostics |
0:HasComponent |
Variable |
3:TotalEstablishAttemptsCount |
0:UInt32 |
0:BaseDataVariableType |
O |
5:Diagnostics |
0:HasComponent |
Variable |
3:FailedEstablishAttemptsCount |
0:UInt32 |
0:BaseDataVariableType |
O |
5:Diagnostics |
0:HasComponent |
Variable |
3:FailedVerificationCount |
0:UInt32 |
0:BaseDataVariableType |
O |
The definitions of all Properties, Variables and Objects that are used in this Interface are provided in 6.4.2. Examples of how this interface could be used are provided in Annex B.