OPC UA API reference
OPC UA connector programming specifications for FairCom Edge
FairCom provides special API actions for OPC UA connectors and transforms. The OPC UA service must be enabled in order to complete FairCom OPC UA actions.
Request examples
Note
The FairCom createInput JSON action is used to define the specifics of a connector device and the desired data.
Minimal example
{ "api": "hub", "action": "createInput", "params": { "inputName": "opcDS1", "serviceName": "opcua", "settings": { "opcServerUrl": "opc.tcp://MyOPCDevice.com:4840", "opcDataCollectionIntervalMilliseconds": 5000, "propertyMapList": [ { "propertyPath": "the_answer", "opcNamespace": 1, "opcNodeName": "the.answer" } ] }, "tableName": "opcTable1" }, "authToken": "replaceWithAuthTokenFromCreateSession" }
{ "requestId": "19", "api": "hub", "apiVersion": "1.0", "action": "createInput", "params": { "inputName": "opcDS2", "serviceName": "opcua", "settings": { "opcServerUrl": "opc.tcp://MyOPCDevice.com:4840", "opcServerUser": "MyUser", "opcServerPassword": "MyPassword", "opcDataCollectionIntervalMilliseconds": 10000, "propertyMapList": [ { "propertyPath": "temperature", "opcNamespace": 1, "opcNodeName": "OPC-temperature-datasource" }, { "propertyPath": "humidity", "opcNamespace": 1, "opcNodeName": "OPC-humidity-datasource" }, { "propertyPath": "pressure", "opcNamespace": 1, "opcNodeName": "OPC-pressure-datasource" }, { "propertyPath": "quality", "opcNamespace": 1, "opcNodeName": "OPC-quality-datasource" } ] }, "ownerName": "admin", "tableName": "opcTable2", "databaseName": "faircom", "retentionPolicy": "autoPurge", "retentionPeriod": 30, "retentionUnit": "day", "metadata": { } }, "authToken": "replaceWithAuthTokenFromCreateSession" }
OPC UA connector programming specifications for FairCom Edge
The "params"
property is an object that contains an action's parameters. Each action defines its own required and optional properties.
Note
See createInput for "params" properties that are common to all connectors.
"params"
properties summaryProperty | Description | Default | Type | Limits (inclusive) | |||
---|---|---|---|---|---|---|---|
serviceName | specifies which type of input to create | Required - No default value | string |
| |||
settings | specifies properties needed to configure the data source of the input | Required - No default value | array of objects | ||||
| specifies the IP or URL to your OPC UA device, including the port | Required - No default value | string | ||||
| (optional) specifies the username for your OPC UA device |
| string | ||||
| (optional) specifies the password for your OPC UA device |
| string | ||||
| specifies how often the data should be requested in milliseconds. Setting it to | Required - No default value | int32 |
| |||
| specifies properties that represent the data being requested | Required - No default value | array of objects | ||||
| specifies the JSON path in the JSON document where the connector puts the data it collects. It is the tag name of the data being collected | Required - No default value | string | ||||
| specifies the OPC UA namespace that this variable exists in | Required - No default value | int16 |
| |||
| specifies the name of the OPC UA variable for this data | Required - No default value | string |
The "propertyPath"
property is a required string that specifies the JSON Path in the JSON document where the connector puts the data it collects. It is the tag name of the data being collected. You can use this property to take collected data and store it in any location in the JSON document generated by the connector. For example, the setting "propertyPath": "temperature"
causes the server to take a value it collects, such as 20.1
, and store it in a "temperature"
property, such as { "temperature": 20.1 }
.
The "settings"
property is an array of objects that contains properties needed to configure the data source of the input. It is required and has no default.
Property summary
"settings"
property summariesProperty | Description | Default | Type | Limits |
---|---|---|---|---|
opcServerUrl | contains the IP or URL to your OPC UA device, including the port | Required - No default value | string | |
opcServerUser | contains the username for your OPC UA device | "" | string | |
opcServerPassword | contains the password for your OPC UA device | "" | string | |
opcDataCollectionIntervalMilliseconds | specifies how often the data should be requested in milliseconds. Setting it to | Required - No default value | int32 |
|
contains properties that represent the data being requested | Required - No default value | array of objects |
"propertyMapList"
The "propertyMapList"
property is an array of objects that contains properties that represent the data being requested. It is required and has no default.
Property summary
"propertyMapList"
property summariesProperty | Description | Default | Type | Limits |
---|---|---|---|---|
propertyPath | specifies the JSON property that this data will be identified by | Required - No default value | string | |
opcNamespace | specifies the OPC UA namespace that this variable exists in | Required - No default value | int16 |
|
opcNodeName | specifies the name of the OPC UA variable for this data | Required - No default value | string |