This clause describes Interfaceswith specific functionality that may be applied to multiple types at arbitrary positions in the type hierarchy.

Interfacesare defined in OPC 10001-7.

Figure 4shows the Interfacesdescribed in this specification.

image007.png

Figure 4– Overview of Interfaces for Devices and Device components

IVendorNameplateTypeincludes Propertiesthat are commonly used to describe a TopologyElementfrom a manufacturer point of view. They can be used as part of the identification. The Valuesof these Propertiesare typically provided by the component vendor.

The VendorNameplate Interfaceis illustrated in Figure 5and formally defined in Table 17.

image008.png

Figure 5– VendorNameplate Interface

Table 17– IVendorNameplateType definition

Attribute

Value

BrowseName

IVendorNameplateType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseInterfaceTypedefined in OPC 10001-7

Product-specific Properties

0:HasProperty

Variable

Manufacturer

0:LocalizedText

0:PropertyType

O

0:HasProperty

Variable

ManufacturerUri

0:String

0:PropertyType

O

0:HasProperty

Variable

Model

0:LocalizedText

0:PropertyType

O

0:HasProperty

Variable

ProductCode

0:String

0:PropertyType

O

0:HasProperty

Variable

HardwareRevision

0:String

0:PropertyType

O

0:HasProperty

Variable

SoftwareRevision

0:String

0:PropertyType

O

0:HasProperty

Variable

DeviceRevision

0:String

0:PropertyType

O

0:HasProperty

Variable

DeviceManual

0:String

0:PropertyType

O

0:HasProperty

Variable

DeviceClass

0:String

0:PropertyType

O

Product instance-specific Properties

0:HasProperty

Variable

SerialNumber

0:String

0:PropertyType

O

0:HasProperty

Variable

ProductInstanceUri

0:String

0:PropertyType

O

0:HasProperty

Variable

RevisionCounter

0:Int32

0:PropertyType

O

0:HasProperty

Variable

SoftwareReleaseDate

0:DateTime

0:PropertyType

O

0:HasProperty

Variable

PatchIdentifiers

0:String[]

0:PropertyType

O

Conformance Units

DI Nameplate

Product type specific Properties:

Manufacturerprovides the name of the company that manufactured the item this Interfaceis applied to. ManufacturerUriprovides a unique identifier for this company. This identifier should be a fully qualified domain name; however, it may be a GUID or similar construct that ensures global uniqueness.

Modelprovides the name of the product.

ProductCodeprovides a unique combination of numbers and letters used to identify the product. It may be the order information displayed on type shields or in ERP systems.

HardwareRevisionprovides the revision level of the hardware. SemanticVersionString(a sub-type of Stringdefined in OPC 10000-5) may be used when using the Semantic Versioning format.

SoftwareRevisionprovides the version or revision level of the software component, the software/firmware of a hardware component, or the software/firmware of the Device. SemanticVersionString(a sub-type of Stringdefined in OPC 10000-5) may be used when using the Semantic Versioning format.

DeviceRevisionprovides the overall revision level of a hardware component or the Device. As an example, this Propertycan be used in ERP systems together with the ProductCode Property. SemanticVersionString(a sub-type of Stringdefined in OPC 10000-5) may be used when using the Semantic Versioning format.

DeviceManualallows specifying an address of the user manual. It may be a pathname in the file system or a URL (Web address).

DeviceClassindicates in which domain or for what purpose a certain item for which the Interfaceis applied is used. Examples are “ProgrammableController”, “RemoteIO”, and “TemperatureSensor”. This standard does not predefine any DeviceClassnames. More specific standards that utilize this Interfacewill likely introduce such classifications (e.g., IEC 62769, OPC 30000, or OPC 10020).

Product instance specific Properties:

SerialNumberis a unique production number provided by the manufacturer. This is often stamped on the outside of a physical component and may be used for traceability and warranty purposes.

ProductInstanceUriis a globally unique resource identifier provided by the manufacturer. This is often stamped on the outside of a physical component and may be used for traceability and warranty purposes. The maximum length is 255 characters. The recommended syntax of the ProductInstanceUriis: <ManufacturerUri>/<any string> where <any string> is unique among all instances using the same ManufacturerUri.

Examples: “some-company.com/5ff40f78-9210-494f-8206-c2c082f0609c”, “some-company.com/snr-16273849” or “some-company.com/model-xyz/snr-16273849”.

RevisionCounter is an incremental counter indicating the number of times the configuration data has been modified. An example would be a temperature sensor where the change of the unit would increment the RevisionCounterbut a change of the measurement value would not affect the RevisionCounter.

SoftwareReleaseDate defines the date when the software is released. If the version information is about patches, this should be the date of the latest patch. It is additional information for the user.

PatchIdentifiers identify the list of patches that are applied to a software version. The format and semantics of the strings are vendor-specific. The order of the strings shall not be relevant.

Companion specifications may specify additional semantics for the contents of these Properties.

Table 18specifies the mapping of these Propertiesto the International Registration Data Identifiers (IRDI) defined in ISO/ICE 11179-6. They should be used if a Serverwants to expose a dictionary reference as defined in OPC 10001-5.

Table 18– VendorNameplate Mapping to IRDIs

Property

IRDI

Manufacturer

0112/2///61987#ABA565#007

ManufacturerUri

0112/2///61987#ABN591#001

Model

0112/2///61987#ABA567#007

SerialNumber

0112/2///61987#ABA951#007

HardwareRevision

0112/2///61987#ABA926#006

SoftwareRevision

0112/2///61987#ABA601#006

DeviceRevision

-

RevisionCounter

0112/2///61987#ABN603#001

ProductCode

0112/2///61987#ABA300#006

ProductInstanceUri

0112/2///61987#ABN590#001

DeviceManual

-

DeviceClass

0112/2///61987#ABA566 - type of product

ITagNameplateTypeincludes Propertiesthat are commonly used to describe a TopologyElementfrom a user point of view.

The TagNameplate Interfaceis illustrated in Figure 6and formally defined in Table 19.

image009.png

Figure 6– TagNameplate Interface

Table 19– ITagNameplateType definition

Attribute

Value

BrowseName

ITagNameplateType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseInterfaceTypedefined in OPC 10001-7

0:HasProperty

Variable

AssetId

0:String

0:PropertyType

O

0:HasProperty

Variable

ComponentName

0:LocalizedText

0:PropertyType

O

Conformance Units

DI TagNameplate

AssetIdis a user writable alphanumeric character sequence uniquely identifying a component. The ID is provided by the integrator or user of the device. It contains typically an identifier in a branch, use case or user specific naming scheme. This could be for example a reference to an electric scheme.

ComponentNameis a user writable name provided by the integrator or user of the component.

Table 20specifies the mapping of these Propertiesto the International Registration Data Identifiers (IRDI) defined in ISO/IEC 11179-6. They should be used if a Serverwants to expose a dictionary reference as defined in OPC 10001-5.

Table 20– TagNameplate Mapping to IRDIs

Property

IRDI

AssetId

0112/2///61987#ABA038 - identification code of device

ComponentName

0112/2///61987#ABA251- designation of device

The DeviceHealth Interface includes Propertiesand Alarmsthat are commonly used to expose the health status of a Device. It is illustrated in Figure7 and formally defined in Table 21.

image010.png

Figure 7– DeviceHealth Interface

Table 21– IDeviceHealthType definition

Attribute

Value

BrowseName

IDeviceHealthType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:BaseInterfaceTypedefined in OPC 10001-7

0:HasComponent

Variable

DeviceHealth

DeviceHealthEnumeration

0:BaseDataVariableType

O

0:HasComponent

Object

DeviceHealthAlarms

0:FolderType

O

Conformance Units

DI DeviceHealth

DeviceHealthindicates the status as defined by NAMUR Recommendation NE107. Clientscan read or monitor this Variableto determine the device condition.

The DeviceHealthEnumeration DataTypeis an enumeration that defines the device condition. Its values are defined in Table 22. Its representation in the AddressSpaceis defined in Table 23.

Table 22– DeviceHealthEnumeration values

Name

Value

Description

NORMAL

0

The Devicefunctions normally.

FAILURE

1

Malfunction of the Deviceor any of its peripherals. Typically caused device-internal or is process related.

CHECK_FUNCTION

2

Functional checks are currently performed. Examples:

Change of configuration, local operation, and substitute value entered.

OFF_SPEC

3

"Off-spec" means that the Deviceis operating outside its specified range (e.g. measuring or temperature range) or that internal diagnoses indicate deviations from measured or set values due to internal problems in the Deviceor process characteristics.

MAINTENANCE_REQUIRED

4

Although the output signal is valid, the wear reserve is nearly exhausted or a function will soon be restricted due to operational conditions e.g. build-up of deposits.

Table 23– DeviceHealthEnumeration definition

Attribute

Value

BrowseName

DeviceHealthEnumeration

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:Enumeration type defined in OPC 10000-5

0:HasProperty

Variable

0:EnumStrings

0:LocalizedText []

0:PropertyType

Conformance Units

DI DeviceHealth

DeviceHealthAlarmsshall be used for instances of the DeviceHealth Alarm Types specified in 4.12.

DeviceHealthAlarmsmay also be used for other Alarm instances that relate to the health condition of the Device.

The IOperationCounterTypedefines counters for the duration of operation. It is formally defined in Table 24.

Table 24– IOperationCounterType definition

Attribute

Value

BrowseName

IOperationCounterType

IsAbstract

True

Description

Interface defining counters for the duration of operation

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:BaseInterfaceType

0:HasProperty

Variable

PowerOnDuration

0:Duration

0:PropertyType

O

0:HasProperty

Variable

OperationDuration

0:Duration

0:PropertyType

O

0:HasProperty

Variable

OperationCycleCounter

0:UInteger

0:PropertyType

O

Conformance Units

DI OperationCounter Interface

PowerOnDurationis the duration the Devicehas been powered. The main purpose is to determine the time in which degradation of the Deviceoccurred. The details, when the time is counted, is implementation-specific. Companion specifications might define specific rules. Typically, when the Devicehas supply voltage and the main CPU is running, the time is counted. This may include any kind of sleep mode, but may not include pure Wake on LAN. This value shall only increase during the lifetime of the Deviceand shall not be reset when the Deviceis restarted. The PowerOnDurationis provided as Duration, i.e., in milliseconds or even fractions of a millisecond. However, the Serveris not expected to update the value in such a high frequency, but maybe once a minute or once an hour, depending on the application.

OperationDurationis the duration the Devicehas been powered and performing an activity. This counter is intended for Deviceswhere a distinction is made between switched on and in operation. For example, a drive might be powered on but not operating. It is not intended for Devicesalways performing an activity like sensors always measuring data. This value shall only increase during the lifetime of the Deviceand shall not be reset when the Deviceis restarted. The OperationDurationis provided as Duration, i.e., in milliseconds or even fractions of a millisecond. However, the Serveris not expected to update the value in such a high frequency, but maybe once a minute or once an hour, depending on the application.

OperationCycleCounteris counting the times the Deviceswitches from not performing an activity to performing an activity. For example, each time a valve starts moving, is counted. This value shall only increase during the lifetime of the Deviceand shall not be reset when the Deviceis restarted.

The child Nodesof the IOperationCounterTypehave additional Attributevalues defined in Table 25.

Table 25– IOperationCounterType Attribute values for child Nodes

BrowsePath

Description Attribute

PowerOnDuration

PowerOnDuration is the duration the Device has been powered. The main purpose is to determine the time in which degradation of the Device occurred. The details, when the time is counted, is implementation-specific. Companion specifications might define specific rules. Typically, when the Device has supply voltage and the main CPU is running, the time is counted. This may include any kind of sleep mode, but may not include pure Wake on LAN. This value shall only increase during the lifetime of the Device and shall not be reset when the Device is restarted. The PowerOnDuration is provided as Duration, i.e., in milliseconds or even fractions of a millisecond. However, the Server is not expected to update the value in such a high frequency, but maybe once a minute or once an hour, depending on the application.

OperationDuration

OperationDuration is the duration the Device has been powered and performing an activity. This counter is intended for Devices where a distinction is made between switched on and in operation. For example, a drive might be powered on but not operating. It is not intended for Devices always performing an activity like sensors always measuring data. This value shall only increase during the lifetime of the Device and shall not be reset when the Device is restarted. The OperationDuration is provided as Duration, i.e., in milliseconds or even fractions of a millisecond. However, the Server is not expected to update the value in such a high frequency, but maybe once a minute or once an hour, depending on the application.

OperationCycleCounter

OperationCycleCounter is counting the times the Device switches from not performing an activity to performing an activity. For example, each time a valve starts moving, is counted. This value shall only increase during the lifetime of the Device and shall not be reset when the Device is restarted.

The SupportInfo Interface defines a number of additional data that a commonly exposed for Devicesand their components. These include mainly images, documents, or protocol-specific data. The various types of information is organized into different folders. Each information element is represented by a readonly Variable. The information can be retrieved by reading the Variablevalue.

Figure 8 Illustrates the SupportInfo Interface. It is formally definedin Table 26.

image011.png

Figure 8– Support information Interface

Table 26– ISupportInfoType definition

Attribute

Value

BrowseName

ISupportInfoType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseInterfaceTypedefined in OPC 10001-7

0:HasComponent

Object

DeviceTypeImage

0:FolderType

O

0:HasComponent

Object

Documentation

0:FolderType

O

0:HasComponent

Object

DocumentationFiles

0:FolderType

O

0:HasComponent

Object

ProtocolSupport

0:FolderType

O

0:HasComponent

Object

ImageSet

0:FolderType

O

Conformance Units

DI DeviceSupportInfo

Clientsneed to be aware that the contents that these Variablesrepresent may be large. Reading large values with a single Read operation may not be possible due to configured limits in either the Clientor the Serverstack. The default maximum size for an array of bytes is 1 megabyte. It is recommended that Clientsuse the IndexRange in the OPC UA Read Service (see OPC 10000-4) to read these Variablesin chunks, for example, one-megabyte chunks. It is up to the Clientwhether it starts without an index and repeats with an IndexRange only after an error or whether it always uses an IndexRange.

The components of the ISupportInfoTypehave additional references as defined in Table 27.

Table 27– ISupportInfoType Additional Subcomponents

Source Path

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

DeviceTypeImage

0:HasComponent

Variable

<ImageIdentifier>

0:Image

0:BaseDataVariableType

MP

Documentation

0:HasComponent

Variable

<DocumentIdentifier>

0:ByteString

0:BaseDataVariableType

MP

DocumentationFiles

0:HasComponent

Object

<DocumentFileId>

0:FileType

MP

ProtocolSupport

0:HasComponent

Variable

<ProtocolSupportIdentifier>

0:ByteString

0:BaseDataVariableType

MP

ImageSet

0:HasComponent

Variable

<ImageIdentifier>

0:Image

0:BaseDataVariableType

MP

Pictures can be exposed as Variablesorganized in the DeviceTypeImagefolder. There may be multiple images of different resolutions. Each image is a separate Variable.

All images are transferred as a ByteString. The DataTypeof the Variablespecifies the image format. OPC UA defines BMP, GIF, JPG and PNG (see OPC 10000-3).

Documents in many cases will represent a product manual. They may be exposed as Variablesor as FileTypeinstances. Files are useful in particular for large documents.

Protocol support files are exposed as Variablesorganized in the ProtocolSupportfolder. They may represent various types of information as defined by a protocol. Examples are a GSD or a CFF file.

All protocol support files are transferred as a ByteString. The BrowseNameof each Variableshall consist of the complete filename including the extension that can be used to identify the type of information.

Images that are used within UIElementsare exposed as separate Variablesrather than embedding them in the element. All image Variableswill be aggregated by the ImageSetfolder. The UIElementshall specify an image by its name that is also the BrowseNameof the image Variable. Clientscan cache images so they don't have to be transferred more than once.

The DataTypeof the Variablespecifies the image format. OPC UA defines BMP, GIF, JPG and PNG (see OPC 10000-3).