...
The endpoint (see "transport_layer.url
") is an OPC UA interface and provides several means of use by a client (Browse, Read, Write, Subscribe). The following items allow any connected client to access directly all server data without prior use of browsing, provided that it has knowledge of the PIVOT object it needs and there related types.
Interface specification:
All PIVOT objects are split on OPC UA server in one variable for each field. The variables are organized as follow:
- There is a folder-type node for each PIVOT data. This folder is defined by:
- NodeId
ns=1;s=
<PIVOT_ID>
- BrowseName/DisplayName
<PIVOT_ID>
IsOrganizedBy
"Root.Objects"
(= "i=85")
- NodeId
- There is one variable for each exposed filed of the PIVOT data:
- NodeId
ns=1;s=
<PIVOT_ID>/<FieldName>
- BrowseName/DisplayName
<FieldName>
IsOrganizedBy
ns=1;s=
<PIVOT_ID>
- NodeId
TeleMeasure /TeleSignal
Both TeleMeasure and TeleSignal use exactly the same OPC variables organization. They both represent data received from a south plugin and therefore only expose Read-Only Nodes.
NodeId | BrowseName/ DisplayName | IsOrganizedBy | NodeClass | Type | Reading field | Default value | Details |
---|---|---|---|---|---|---|---|
| <PIVOT_ID> |
(= "i=85") |
| do_id | Parent folder for each PIVOT data | ||
| Cause | ns=1;s= <PIVOT_ID> | Variable | UInt32 (Read-Only) | do_cot | Mandatory | See Cause of Transmission |
| Confirmation | ns=1;s= <PIVOT_ID> | Variable | Boolean (Read-Only) | do_confirmation | false | |
| Source | ns=1;s= <PIVOT_ID> | Variable | String (Read-Only) | do_source | "process" | "process" | "substituted" |
| ComingFrom | ns=1;s= <PIVOT_ID> | Variable | String (Read-Only) | do_comingfrom | Mandatory | Any protocol name ("iec104" ,"opcua", ...) |
| TmOrg | ns=1;s= <PIVOT_ID> | Variable | String (Read-Only) | do_ts_org | "genuine" | "genuine" | "substituted" |
| TmValidity | ns=1;s= <PIVOT_ID> | Variable | String (Read-Only) | do_ts_validity | "good" | Validity of the Timestamp of Value "good" | "invalid" | "reserved" | "questionable" |
| DetailQuality | ns=1;s= <PIVOT_ID> | Variable | UInt32 (Read-Only) | do_quality | 0 | OR-Mask of following values:
|
| TimeQuality | ns=1;s= <PIVOT_ID> | Variable | UInt32 (Read-Only) | do_ts_quality | 0 | OR-Mask of following values:
|
| Value SecondSinceEpoch | ns=1;s= <PIVOT_ID> | Variable | UInt64 (Read-Only) | do_ts | 0 | Number of seconds since Linux Epoch |
| Value | ns=1;s= <PIVOT_ID> | Variable | (See below) (Read-Only) | do_value do_value_quality | Mandatory | (See below) |
TeleControl
The TeleControls represent commands received from an OPC UA client -connected to the North plugin- that must be sent to a south service. Therefore, they exposes Read/Write variables.
As several OPC varaibles must be written to send a single TC, the following procedure has been defined to ensure atomicity of the operation. An OPC UA client must:
- first write all relevant parameters in the TC. This can be done in a single OPC UA 'write' operation,
- then activate the command trigger , only if the previous write operation was succesull for all nodes written.
NodeId | BrowseName/ DisplayName | IsOrganizedBy | NodeClass | Type | Reading field | Default value | Details |
---|---|---|---|---|---|---|---|
| <PIVOT_ID> |
(= "i=85") |
| Parent folder for each PIVOT data | |||
| Trigger | ns=1;s= <PIVOT_ID> | Variable | UInt32 (Read-Only) | Mandatory | See Cause of Transmission |
Common notes
- With
<PIVOT_ID>
as provided inexchanged_data.datapoints[].pivot_id
section configuration.
...
- All read-only variables have a
OpcUa_BadWaitingForInitialData
quality (0x80320000
) initial value until a valid value is received from FledgePower. - All non-mandatory values will be set automatically by the server if not received from a south device.
- If a mandatory value is missing, then the whole PIVOT object is not updated.
- As a standard OPC UA server, all functional data are organized under the
Root.Objects
node of namespace 0 ( nodeId =i=85
). - All data are stored under the namespace 1. Its URI is configured in protocol "
namespaces
" parameter.
...