Skip to content

Connect IoT - OPC DA Driver#

OPC Data Access (OPC DA) is a group of client-server standards that provides specifications for communicating real-time data from data acquisition devices. The specifications focus on the continuous communication of data.

Data Types#

These are the supported specific data types:

Name Description
VT_UI1 Unsigned Integer 1 byte
VT_UI2 Unsigned Integer 2 bytes
VT_UI4 Unsigned Integer 4 bytes
VT_UI8 Unsigned Integer 8 bytes
VT_I1 Signed Integer 1 byte
VT_I2 Signed Integer 2 bytes
VT_I4 Signed Integer 4 bytes
VT_I8 Signed Integer 8 bytes
VT_R4 Real Number 4 bytes
VT_R8 Real Number 8 bytes
VT_CY Complex Number
VT_DECIMAL Decimal Number
VT_BOOL Boolean value
VT_BSTR String value
VT_DATE Date and Time value

Protocol Parameters#

The protocol supports the following parameters, used to define the communication parameters, as well as the expected behavior of the driver:

Name Type Possible Values Default Value Description
serverName String "" Computer where the OPC DA server is installed
progId String "" Name of ProgId to connect
domain String "" Domain of the user to login
userName String "" User name to login
password String "" Password of the user to login
allowBadValues Boolean False Should BAD values be accepted in events
defaultDataSource Enum Device
Cache
Device DataSource to use as default

Extended Parameters#

Property#

Name Type Possible Values Default Value Description
dataSource Enum Device
Cache
Device DataSource to get the value
allowBadValues Boolean False Should BAD values be accepted

Event#

Name Type Possible Values Default Value Description
refreshRate Integer 1000 Interval to validate if data changed
triggerDelay Integer 0 Interval to wait before triggering the event. Useful when tag values are out of sync with the trigger tag

Event Property#

Name Type Possible Values Default Value Description
isTrigger Boolean True Trigger the event when the value changes

Remarks/Behavior#

  • When an event has more than one property with the isTrigger flag:
    • It will be triggered every time any of the properties value changes.
    • The value of the other properties will be requested at that time.
    • It is possible to have multiple triggers with the same set values (because they have not changed). If this behavior is not intended, separate into multiple events each one with it's own trigger set.
  • When an event has no property with the isTrigger flag, it will never be triggered.