...
- 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 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
...
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.
DisplayName
IsOrganizedBy
ns=1;s=
<PIVOT_ID>
/Cause
Cause
ns=1;s=
<PIVOT_ID>
Variable
FieldName | Type | Reading field | Default value | Details |
---|
ns=1;s=
<PIVOT_ID>
<PIVOT_ID>
"Root.Objects"
(= "i=85")
Object
Cause | UInt32 (Read-Only) | do_cot | Mandatory | See Cause of Transmission |
Confirmation | Boolean (Read-Only) | do_confirmation | false | |
Source | String (Read-Only) | do_ |
source |
ns=1;s=
<PIVOT_ID>
/Confirmation
Confirmation
ns=1;s=
<PIVOT_ID>
Variable
"process" | "process" | "substituted" | |||
ComingFrom | String (Read-Only) | do_comingfrom | Mandatory | Any protocol name ("iec104" ,"opcua", ...) |
TmOrg | String (Read-Only) | do_ts_ |
ns=1;s=
<PIVOT_ID>
/Source
Source
ns=1;s=
<PIVOT_ID>
Variable
org | "genuine" | "genuine" | "substituted" |
TmValidity | String (Read-Only) | do_ts_ |
validity | " |
good" | Validity of the Timestamp of Value " |
good" | " |
ns=1;s=
<PIVOT_ID>
/ComingFrom
ComingFrom
ns=1;s=
<PIVOT_ID>
Variable
invalid" | "reserved" | "questionable" | ||
DetailQuality | UInt32 (Read-Only) | do_ |
ns=1;s=
<PIVOT_ID>
/TmOrg
TmOrg
ns=1;s=
<PIVOT_ID>
Variable
(Read-Only)
ns=1;s=
<PIVOT_ID>
/TmValidity
TmValidity
ns=1;s=
<PIVOT_ID>
Variable
(Read-Only)
Validity of the Timestamp of Value
"good" | "invalid" | "reserved" | "questionable"
ns=1;s=
<PIVOT_ID>
/DetailQuality
DetailQuality
ns=1;s=
<PIVOT_ID>
Variable
(Read-Only)
OR-Mask of following values:
0x0001ns=1;s=
<PIVOT_ID>
/TimeQuality
TimeQuality
ns=1;s=
<PIVOT_ID>
Variable
quality | 0 | OR-Mask of following values:
|
0x2000 = operator blocked
ns=1;s=
<PIVOT_ID>
| ||||
TimeQuality | UInt32 (Read-Only) | do_ts_quality | 0 | OR-Mask of following values:
|
SecondSinceEpoch |
SecondSinceEpoch
ns=1;s=
<PIVOT_ID>
Variable
UInt64 (Read-Only) | do_ts | 0 | Number |
ns=1;s=
<PIVOT_ID>
/Value
Value
ns=1;s=
<PIVOT_ID>
Variable
of seconds since Linux Epoch | ||||
Value | (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 expose Read/Write variables .As several OPC varaibles must be written to send a single TCthat will be written by a client, except for the feedback of operation, which is Read-Only.
As a single PIVOT TC contains the information provided in several OPC variables, 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 variables. This can be done in a single OPC UA 'write' operation, The plugin will not check that all fields have been updated. This is under the repsonsibility of the OPC UA client.
- then activate the command trigger , only if
Trigger
. This must be executed after the previous write operation was succesull for all nodes written.
...
IsOrganizedBy
...
- command was sucessfully completed.
FieldName | Type | Reading field |
---|
ns=1;s=
<PIVOT_ID>
/Trigger
Trigger
ns=1;s=
<PIVOT_ID>
Variable
Details |
---|
ns=1;s=
<PIVOT_ID>
<PIVOT_ID>
"Root.Objects"
(= "i=85")
Object
Trigger | UInt32 | N.A. | Triggers the TC with current values of the variables related to the same PIVOT object. |
Value | (See below) | TBD | (See below) |
Reply | Same as Value (Read-Only) |
TBD | Return value form the south equipment. |
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.
...