OPC Items Format

This section describes how the Desigo CC OPC DA server implements the OPC DA interfaces and concepts defined in the OPC Data Access Server Custom Interface Specification.

OPC DA interface compatibility

The OPC server supports all the required COM interfaces described in the OPC Data Access Custom Interface Standard 2.05 and 3.00.

OPC Items

OPC Type

OPC Item Type

VT_BOOL, VT_BOOL_ARRAY

GmsBool, PvssBool

VT_BSTR, VT_BSTR_ARRAY

PvssString

VT_DATE, VT_DATE_ARRAY

PvssTime, GmsDateTime

VT_I4, VT_I4_ARRAY

GmsInt, PvssInt

VT_I8, VT_I8_ARRAY

GmsInt64, PvssInt64

VT_R8, VT_R8_ARRAY

GmsReal, PvssFloat

VT_UI1, VT_UI1_ARRAY

PvssChar

VT_UI4, VT_UI4_ARRAY

GmsUint, GmsBitString, GmsEnum, PvssUint, PvssBit32

VT_UI8, VT_UI8_ARRAY

GmsUint64, GmsBitString64, PvssUint64, PvssBit64

OPC Standard Properties and Custom Properties

Each OPC item has mandatory OPC standard properties associated. Those properties are handled by the Desigo CC OPC DA server and allow retrieving information typical of each specific OPC item.

OPC Items - Standard Properties

ID

Description

1

Item Canonical Data Type

2

Item Value

3

Item Quality

4

Item Timestamp

6

Item Access Rights

6

Server Scan Rate (in milliseconds)

Each OPC item can also have OPC custom properties. Those properties are handled by the Desigo CC OPC DA server and allow for the third-party OPC clients to easily read some information typical of each specific OPC item. See the following table for the OPC custom properties recommended by the OPC Foundation.

OPC Items - Custom Properties1)

ID

Name

Description

7

EU Type

Indicates the type of Engineering Units (EU) information (if any) contained in EU Info.

Possible values:
0 – No EU information available (EU Info will be VT_EMPTY).
1 – Analog – HighEU and LowEU will contain two doubles corresponding to the LOW and HI EU range values.
2 – Enumerated – EUInfo will contain a list of strings (Example: “OPEN”, “CLOSE”, “IN TRANSIT”, and so on) corresponding to sequential numeric values (0, 1, 2, and so on).

8

EU Info

If EU Type is Enumerated, EU Info will contain a list of strings corresponding to sequential numeric values (0, 1, 2, and so on).

100

EU Units

Indicates the engineering unit of the item (if any).

NOTE: This custom property is set only if not empty.

101

Description

Contains the name of the property (default language (en-US) 0 is used).

NOTE: This custom property is always present.

102

High EU2)

Present only if EU Type is Analog, and represents the highest possible value for the item.

103

Low EU2)

Present only if EU Type is Analog, and represents the lowest possible value for the item.

5000

High Enum

Present only if EU Type is Enumerated, and represents the highest possible value for the enumerated item.

5001

Low Enum

Present only if EU Type is Enumerated, and represents the lowest possible value for the enumerated item.

5002

High SInt64

Present only if the OPC Item Type is GmsInt64, and represents the highest possible value for the item.

5003

Low SInt64

Present only if the OPC Item Type is GmsInt64, and represents the lowest possible value for the item.

5004

High UInt64

Present only if the OPC Item Type is GmsUint64 or GmsBitString64, and represents the highest possible value for the item.

5005

Low UInt64

Present only if the OPC Item Type is GmsUint64 or GmsBitString64, and represents the lowest possible value for the item.

5006

High BitString

Present only if the OPC Item Type is GmsBitString, and represents the highest possible value for the item.

5007

Low BitString

Present only if the OPC Item Type is GmsBitString, and represents the lowest possible value for the item.

1)

Properties with ID from 7 to 103 are handled in line with the use recommended by the OPC Foundation.
Properties with ID 5000 and 5001 are vendor-specific properties.
Properties with ID 102-103 and 5000 up to 5007 are optional: if the highest (or lowest) possible value for the item equals the highest (or lowest) possible value for its data type, this property is not provided. For example, if the OPC Item Type is GmsInt and the highest possible value for this item is 2,147,483, or 647, the High EU is not provided, being equal to Int max value.

2)

If the range between Low EU and High EU is equal to the range between the minimum and maximum values allowed for the item’s data type, the custom properties are not kept in memory. This means that Low EU and High EU custom properties are not saved. For example, for an item of type Int32 whose range is between Int32.MinValue and Int32.MaxValue.

The EU Type depends on the type of OPC item:

OPC Item Type

EU Type

GmsEnum

Enumerated

NOTE: In this case the EU Info property contains the texts associated to the possible values.

GmsReal, GmsInt, or GmsUint

Analog

NOTE: In this case the High EU and Low EU contain the maximum and minimum values permitted for the DPE.

Any other data point element type

No_Info