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",
"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",
"dataPersistenceStrategy": "onChange",
"dataCollectionIntervalMilliseconds": 5000,
"immediatelyCollectDataOnStart": true,
"dataCollectionBufferCount": 2,
"settings": {
"opcServerUrl": "opc.tcp://MyOPCDevice.com:4840",
"opcServerUser": "MyUser",
"opcServerPassword": "MyPassword",
"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) | |||
---|---|---|---|---|---|---|---|
dataCollectionBufferCount | (optional) specifies the number of times the collector retrieves and caches data from the device before writing the data to the integration table |
| integer |
| |||
dataCollectionIntervalMilliseconds | (optional) specifies the number of milliseconds to wait until reading PLC data again. For example, |
| integer |
| |||
dataPersistenceStrategy | (optional) specifies when the connector writes collected data to the specified table |
| string |
| |||
immediatelyCollectDataOnStart | (optional) configures the input to collect data immediately when the server or connector starts. This occurs even if the data persistence strategy is to collect data changes |
| Boolean |
| |||
serviceName | specifies which type of input to create |
| string |
| |||
settings | specifies properties needed to configure the data source of the input |
| array of objects | ||||
| specifies the IP or URL to your OPC UA device, including the port |
| string | ||||
| (optional) specifies the username for your OPC UA device |
| string | ||||
| (optional) specifies the password for your OPC UA device |
| string | ||||
| specifies properties that represent the data being requested |
| 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 |
| string | ||||
| specifies the OPC UA namespace that this variable exists in |
| int16 |
| |||
| specifies the name of the OPC UA variable for this data |
| 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 |