The AutomationComponentType is the base ObjectType for an OPC UA FX device, controller, PLC, instrument, etc. It includes information related to the current Asset, the available functionality, its capabilities (including communication-related capabilities) and any related offline information. The AutomationComponentType is formally defined in Table 4 and Table 5.

Table 4 – AutomationComponentType definition

Attribute

Value

BrowseName

3:AutomationComponentType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:BaseObjectType defined in OPC 10000-5

0:HasComponent

Object

3:FunctionalEntities

0:FolderType

M

0:HasComponent

Object

3:Assets

0:FolderType

M

0:HasComponent

Object

3:PublisherCapabilities

3:PublisherCapabilitiesType

O

0:HasComponent

Object

3:SubscriberCapabilities

3:SubscriberCapabilitiesType

O

0:HasComponent

Object

3:ComponentCapabilities

3:AutomationComponentCapabilitiesType

M

0:HasProperty

Variable

3:ConformanceName

0:UriString

0:PropertyType

O

0:HasComponent

Method

3:EstablishConnections

Defined in 6.2.4

M

0:HasComponent

Method

3:CloseConnections

Defined in 6.2.5

M

0:HasComponent

Object

3:Descriptors

0:FolderType

M

0:HasComponent

Variable

3:AggregatedHealth

3:AggregatedHealthDataType

3:AggregatedHealthType

M

0:GeneratesEvent

ObjectType

0:SystemStatusChangeEventType

Defined in OPC 10000-3

ConformanceUnits

UAFX AutomationComponent Base

Table 5 – AutomationComponentType additional References

SourceBrowsePath

Reference Type

IsForward

TargetBrowsePath

3:FunctionalEntities

3:<FunctionalEntity>

0:IsHostedBy

True

3:Assets

3:<Asset>

The components of the AutomationComponentType have additional subcomponents, which are defined in Table 6.

Table 6 – AutomationComponentType additional subcomponents

BrowsePath

References

NodeClass

BrowseName

DataType

TypeDefinition

Others

3:FunctionalEntities

0: Organizes

Object

3:<FunctionalEntity>

3:FunctionalEntityType

OP

3:Assets

0: Organizes

Object

3:<Asset>

3:FxAssetType

OP

FunctionalEntities provides a Folder for the FunctionalEntities that this AutomationComponent exposes. The Folder shall be restricted to hold only instances of a type derived from FunctionalEntityType or instances that implement the IFunctionalEntityType Interface. The Folder may be empty. FunctionalEntities may reference other FunctionalEntities, but FunctionalEntities that are directly referenced from this Folder are considered top-level FunctionalEntities.

Assets provides a Folder for assets. It shall include all assets that are referenced from FunctionalEntities of this AutomationComponent. An Asset might be a complex type that includes other Assets. Assets directly referenced from this Folder are considered top-level Assets. For more details on the asset model, see 6.3. The Folder shall be restricted to hold only instances of FxAssetType or a subtype of it or instances that implement the IVendorNameplateType, ITagNameplateType, and IAssetRevisionType Interfaces. The Folder may be empty; however, typically, there is at least one entry in this Folder. For examples of Assets, see Annex D.

Objects may be added/removed to/from the FunctionalEntities or Assets Folders during operation, in which case the Server shall generate GeneralModelChangeEvent to reflect these changes.

The optional PublisherCapabilities provide the Publisher capabilities associated with this AutomationComponent. They apply to all instances in the FunctionalEntities Folder. An individual FunctionalEntity can further restrict these capabilities. If an AutomationComponent supports being a Publisher as defined in OPC 10000-14, then an instance of this Object shall be provided.

The optional SubscriberCapabilities provides the general Subscriber capabilities associated with this AutomationComponent. They apply to all instances in the FunctionalEntities Folder. An individual FunctionalEntity can further limit these capabilities. If an AutomationComponent supports being a Subscriber as defined in OPC 10000-14, then an instance of this Object shall be provided.

ComponentCapabilities is an AutomationComponentCapabilitiesType Folder that describes the functionality provided by an AutomationComponent (e.g., number of supported Connections, etc.).

The optional ConformanceName provides the URL to the product’s listing on the OPC Foundation website, under which the result of the conformance testing for this product can be found. The product's name might be different from the name of the AutomationComponent since conformance testing may be done for a product family, but this shall be described on the OPC Foundation product page. The DisplayName of the instance of the AutomationComponent shall be able to be resolved on the Website to the specifics of the product that was tested. Furthermore, at least one Asset listed in this AutomationComponent shall include IVendorNameplateType information that is on the related OPC Foundation product page.

Descriptors is a Folder that can contain AcDescriptors. Typically, at least one AcDescriptor is included, but depending on the system's architecture, additional AcDescriptors might be added. These added AcDescriptors describe added FunctionalEntities or added Assets or added combinations of Assets and FunctionalEntities. The additions may result from application developers adding functionality, integration of this AutomationComponent into a larger piece of Equipment, or the addition of modular Assets to the system. This Folder may also contain other Folders that can be used to organize the AcDescriptors.

AggregatedHealth provides the aggregated health of the AutomationComponent; this includes an aggregation of the health of all included Assets and FunctionalEntities. For the definition of the AggregatedHealthType and the aggregation rules, see 9.1.

The IsHostedBy ReferenceType (see OPC 10000-23) indicates the Assets used to execute the functionality provided by a FunctionalEntity. There may be multiple IsHostedBy References from one FunctionalEntity to multiple Assets. An example is a drive axis FunctionalEntity, which has IsHostedBy References to a drive inverter Asset and a motor Asset. Another example is an input FunctionalEntity having IsHostedBy References to the input module, the head, and the firmware Assets of a modular device.

Figure 19 illustrates an example of the usage of IsHostedBy.

image022.png

Figure 19 – IsHostedBy Reference example

If Eventing is supported, the AutomationComponent shall generate Events of SystemStatusChangeEventType (see OPC 10000-3) if the ServerState changes (e.g., following a power cycle).