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

Interfaces are defined in OPC 10001-7.

Figure 7 shows the Interfaces described in this specification.

image010.png

Figure 7 – Overview of Interfaces for Devices and Device components

IVendorNameplateType includes Properties that are commonly used to describe a TopologyElement from a manufacturer point of view. They can be used as part of the identification. The Values of these Properties are typically provided by the component vendor.

The VendorNameplate Interface is illustrated in Figure 8 and formally defined in Table 14.

image011.png

Figure 8 – VendorNameplate Interface

Table 14 – IVendorNameplateType definition

Attribute

Value

BrowseName

IVendorNameplateType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseInterfaceType defined in OPC 10001-7

Product-specific Properties

HasProperty

Variable

Manufacturer

LocalizedText

PropertyType

Optional

HasProperty

Variable

ManufacturerUri

String

PropertyType

Optional

HasProperty

Variable

Model

LocalizedText

PropertyType

Optional

HasProperty

Variable

ProductCode

String

PropertyType

Optional

HasProperty

Variable

HardwareRevision

String

PropertyType

Optional

HasProperty

Variable

SoftwareRevision

String

PropertyType

Optional

HasProperty

Variable

DeviceRevision

String

PropertyType

Optional

HasProperty

Variable

DeviceManual

String

PropertyType

Optional

HasProperty

Variable

DeviceClass

String

PropertyType

Optional

Product instance-specific Properties

HasProperty

Variable

SerialNumber

String

PropertyType

Optional

HasProperty

Variable

ProductInstanceUri

String

PropertyType

Optional

HasProperty

Variable

RevisionCounter

Int32

PropertyType

Optional

Product type specific Properties:

Manufacturer provides the name of the company that manufactured the item this Interface is applied to. ManufacturerUri provides 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.

Model provides the name of the product.

ProductCode provides 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.

HardwareRevision provides the revision level of the hardware.

SoftwareRevision provides the version or revision level of the software component, the software/firmware of a hardware component, or the software/firmware of the Device.

DeviceRevision provides the overall revision level of a hardware component or the Device. As an example, this Property can be used in ERP systems together with the ProductCode Property.

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

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

Product instance specific Properties:

SerialNumber is 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.

ProductInstanceUri is 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 ProductInstanceUri is: <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 RevisionCounter but a change of the measurement value would not affect the RevisionCounter.

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

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

Table 15 – VendorNameplate Mapping to IRDIs

Property

IRDI

Manufacturer

0112/2///61987#ABA565 - manufacturer

ManufacturerUri

-

Model

0112/2///61987#ABA567 - name of product

SerialNumber

0112/2///61987#ABA951 - serial number

HardwareRevision

0112/2///61987#ABA926 - hardware version

SoftwareRevision

0112/2///61987#ABA601 - software version

DeviceRevision

-

RevisionCounter

-

ProductCode

0112/2///61987#ABA300 – code of product

ProductInstanceUri

-

DeviceManual

-

DeviceClass

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

ITagNameplateType includes Properties that are commonly used to describe a TopologyElement from a user point of view.

The TagNameplate Interface is illustrated in Figure 9 and formally defined in Table 16.

image012.png

Figure 9 – TagNameplate Interface

Table 16 – ITagNameplateType definition

Attribute

Value

BrowseName

ITagNameplateType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseInterfaceType defined in OPC 10001-7

HasProperty

Variable

AssetId

String

PropertyType

Optional

HasProperty

Variable

ComponentName

LocalizedText

PropertyType

Optional

AssetId is 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.

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

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

Table 17 – 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 Properties and Alarms that are commonly used to expose the health status of a Device. It is illustrated in Figure 10 and formally defined in Table 18.

image013.png

Figure 10 – DeviceHealth Interface

Table 18 – IDeviceHealthType definition

Attribute

Value

BrowseName

IDeviceHealthType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseInterfaceType defined in OPC 10001-7

HasComponent

Variable

DeviceHealth

DeviceHealthEnumeration

BaseDataVariableType

Optional

HasComponent

Object

DeviceHealthAlarms

FolderType

Optional

DeviceHealth indicates the status as defined by NAMUR Recommendation NE107. Clients can read or monitor this Variable to determine the device condition.

The DeviceHealthEnumeration DataType is an enumeration that defines the device condition. Its values are defined in Table 19.

Table 19 – DeviceHealthEnumeration values

Name

Value

Description

NORMAL

0

The Device functions normally.

FAILURE

1

Malfunction of the Device or 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 Device is 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 Device or 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

DeviceHealthAlarms shall be used for instances of the DeviceHealth Alarm Types specified in 5.12.

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

Figure 11 Illustrates the SupportInfo Interface. It is formally defined in Table 20.

image014.png

Figure 11 –Support information Interface

Table 20 – ISupportInfoType definition

Attribute

Value

BrowseName

ISupportInfoType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseInterfaceType defined in OPC 10001-7

HasComponent

Object

DeviceTypeImage

FolderType

Optional

HasComponent

Object

Documentation

FolderType

Optional

HasComponent

Object

ProtocolSupport

FolderType

Optional

HasComponent

Object

ImageSet

FolderType

Optional

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

The different types of support information are specified in 5.5.5.2 to 5.5.5.5.

Pictures can be exposed as Variables organised in the DeviceTypeImage folder. There may be multiple images of different resolutions. Each image is a separate Variable. The “DeviceTypeImageFolder is formally defined in Table 21.

Table 21 – DeviceTypeImage definition

Attribute

Value

BrowseName

DeviceTypeImage

References

NodeClass

BrowseName

TypeDefinition

DataType

ModellingRule

HasTypeDefinition

ObjectType

FolderType (defined in OPC 10000-5.)

HasComponent

Variable

<ImageIdentifier>

BaseDataVariableType

Image

MandatoryPlaceholder

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

Documents are exposed as Variables organized in the Documentation folder. In most cases they will represent a product manual, which can exist as a set of individual documents. The “DocumentationFolder is formally defined in Table 22.

Table 22 – Documentation definition

Attribute

Value

BrowseName

Documentation

References

NodeClass

BrowseName

TypeDefinition

DataType

ModellingRule

HasTypeDefinition

ObjectType

FolderType (defined in OPC 10000-5.)

HasComponent

Variable

<DocumentIdentifier>

BaseDataVariableType

ByteString

MandatoryPlaceholder

All documents are transferred as a ByteString. The BrowseName of each Variable will consist of the filename including the extension that can be used to identify the document type. Typical extensions are “.pdf” or “.txt”.

Protocol support files are exposed as Variables organised in the ProtocolSupport folder. They may represent various types of information as defined by a protocol. Examples are a GSD or a CFF file. The “ProtocolSupportFolder is formally defined in Table 23.

Table 23 – ProtocolSupport definition

Attribute

Value

BrowseName

ProtocolSupport

References

NodeClass

BrowseName

TypeDefinition

DataType

ModellingRule

HasTypeDefinition

ObjectType

FolderType (defined in OPC 10000-5)

HasComponent

Variable

<ProtocolSupportIdentifier>

BaseDataVariableType

ByteString

MandatoryPlaceholder

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

Images that are used within UIElements are exposed as separate Variables rather than embedding them in the element. All image Variables will be aggregated by the ImageSet folder. The UIElement shall specify an image by its name that is also the BrowseName of the image Variable. Clients can cache images so they don't have to be transferred more than once. The “ImageSetFolder is formally defined in Table 24.

Table 24 – ImageSet definition

Attribute

Value

BrowseName

ImageSet

References

NodeClass

BrowseName

TypeDefinition

DataType

ModellingRule

HasTypeDefinition

ObjectType

FolderType (defined in OPC 10000-5.)

HasComponent

Variable

<ImageIdentifier>

BaseDataVariableType

Image

MandatoryPlaceholder

The DataType of the Variable specifies the image format. OPC UA defines BMP, GIF, JPG and PNG (see OPC 10000-3).