Table of Contents |
---|
Introduction
...
Table of Contents |
---|
Introduction
Being able to configure the way a protocol plugin will manage the communication with the remote servers or clients using the protocol stack parameters, whether communication is secured or not, how the messages attributes are translated from the input protocol data model to the output protocol data model and what kind of rules (filters, math, routing, etc..) to apply to the messages that are exchanges with the remote systems are key features of any protocol translation gateway.
...
Attribute | Description | Expected values | Mandatory |
---|---|---|---|
name | this identifies the exchanged data configuration | Yes | |
version | this is the version number of the configuration | x.y where x represents a major version and y a minor change | Yes |
datapoints | array of datapoints that needs to be managed by the instance of the gateway | Yes | |
datapoints.label | label of the datapoint | any non empty string | Yes |
datapoints.pivot_id | unique identifier of the datapoint, this is used to create a pivot object | any non empty string | Yes |
datapoints.pivot_type | type of Common Data Class (CDC), this is used to create a pivot object | SpsTyp, DpsTyp, MvTyp, SpcTyp, DpcTyp, etcenum SpsTyp | DpsTyp | MvTyp | SpcTyp | DpcTyp | ... | Yes |
datapoints.pivot_subtypes | array of additional types of the pivot object | Transient[transient, ...] | No |
datapoints.lawtfid | identifies the math law function to transform the input value | enum "normal" , | "square_root" , | "quadratic" , | "transparent" | No |
datapoints.params | array of the parameters of for the lawmath function | array of float 32 [a, b, c, ...] | No |
datapoints.dead_banddeadband | dead band of input values where the law is not applied and value is set to 0output is zero | array of 2 float 32 [min, max] | No |
datapoints.protocols | array of protocols that needs to be managed for a datapoint | Yes | |
datapoints.protocols.name | name of the protocol | iec104, tase2, hnz, 61850, opcua, etcenum "iec104" | "iec103" | "tase2" | "hnz" | "61850" | "opcua" | ... | Yes |
datapoints.protocols.address | address of the datapoint in the given protocol | any non empty string | Yes |
datapoints.protocols.typeid | type id of the datapoint in the given protocol | any non empty string representing a valid protocol type id | Yes |
datapoints.protocols.gi_groups | GI request status for north plugins, if "station" then datapoint is send | station, 1, 2 | No |
Configuration JSON structure
...
language | js |
---|
...
.protocols.gi_groups | GI request status for north plugins, if "station" then datapoint is send | enum station | 1 | 2 | ... | No |
Configuration JSON structure
Code Block | ||
---|---|---|
| ||
{ "exchanged_data":{ "name":"SAMPLE", "version":"1.0", "datapoints":[ { "label":"TS1", "pivot_id":"ID114562", "pivot_type":"SpsTyp", "pivot_subtypes":[ "transient" ], "nameprotocols":"SAMPLE", [ "version":"1.0", "datapoints":[ { { "labelname":"TS1iec104", "pivot_id "address":"ID11456245-672", "pivot_type "typeid":"SpsTypM_SP_TB_1", "pivotgi_subtypesgroups":["Transient"],station" "protocols":[}, { "name":"iec104tase2", "address":"45-672S_114562", "typeid":"M_SP_TB_1Data_StateQTimeTagExtended", "gi_groups":"station" }, { "name":"tase2opcua", "address":"S_114562ID114562", "typeid":"Dataopcua_StateQTimeTagExtended",sps" } "gi_groups":"station" ] }, { { "label":"TM1", "pivot_id":"ID99876", "pivot_type":"DpsTyp", "nametfid":"opcuasquare_root", "addressparams":"ID114562",[ 2.0, "typeid":"opcua_sps" 49.5 } ], }, "deadband":[ { -0.02, "label":"TM1", "pivot_id":"ID99876",0.02 "pivot_type":"DpsTyp"], "protocols":[ { "name":"iec104", "address":"45-984", "typeid":"M_ME_NA_1" }, { "name":"tase2", "address":"S_114562", "typeid":"Data_RealQ" }, { "name":"opcua", "address":"ID99876", "typeid":"opcua_dpsmvf" } ] } ] } } |