---
alias: user-guide-driver-opcda
tags:
- connect iot
description: "This documentation details an OPC DA driver for connecting to IoT data acquisition systems"
---
# 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.