Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The pivot format uses JSON with a header and items structureitem structure.

The header object holds the common attributes of a telecontrol message.

Each item objects object holds the specific attributes of an information point whether it is a measurement, a state, a command, etc...

IEC 104 to pivot format translation

IEC 104 ASDU data model

Reference: NF EN 60870-5-101 § 7.3.1.22

TYPE IDENT 30: M_SP_TB_1

DATA UNIT IDENTIFIER

TYPE IDENTIFICATION
VARIABLE STRUCTURE QUALIFIER
CAUSE OF TRANSMISSION
COMMON ADDRESS OF ASDU

INFORMATION OBJECT 1

INFORMATION OBJECT ADDRESS
SIQ
CP56Time2a

INFORMATION OBJECT i

INFORMATION OBJECT ADDRESS
SIQ
CP56Time2a

Pivot format conversion configuration model

Code Block
languagejs
{
   "protocol_translation_layer":{
      "name":"iec104_to_pivot",
      "version":"1.0",
      "mapping":{
         "data_object_header":{
            "doh_type":"type_id",
            "doh_ca":"ca",
            "doh_oa":"oa",
            "doh_cot":"cot",
            "doh_flag_1":"istest",
            "doh_flag_2":"isnegative"
         },
         "data_object_item":{
            "doi_address":"ioa",
            "doi_value":"value",
            "doi_quality":"quality_desc",
            "doi_ts":"time_marker",
            "doi_ts_flag1":"isinvalid",
            "doi_ts_flag2":"isSummerTime",
            "doi_ts_flag3":"isSubstituted"
         }
      }
   }
}

Conversion process

draw.io Diagram
bordertrue
diagramNameiec104_to_pf_conv_process
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth882
revision2

NB: The conversion process shall produce as many pivot format objects as information objects in the source ASDU.

Pivot format resulting object

Code Block
languagejs
{
   "data_object_header":{
      "doh_type":"some_value",
      "doh_ca":"some_value",
      "doh_oa":"some_value",
      "doh_cot":"some_value",
      "doh_flag_1":"some_value",
      "doh_flag_2":"some_value"
   },
   "data_object_item":{
      "doi_address":"some_value",
      "doi_value":"some_value",
      "doi_quality":"some_value",
      "doi_ts":"some_value",
      "doi_ts_flag1":"some_value",
      "doi_ts_flag2":"some_value",
      "doi_ts_flag3":"some_value"
   }
}