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.
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: |
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 |
5005 | Low UInt64 | Present only if the OPC Item Type is GmsUint64 or |
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. |
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 |