You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

This plugin can be used to convert IEC 104 ASDU objects to FledgePower pivot model objects.

The filter implements the Fledge Filter plugin interface (see filter_plugins).

Filter configuration

See Plugins configuration design for examples and details.

The "config" parameter of  "plugin_init" call shall include :

  • A "exchanged_data" category with the same content as provided to the IEC104 south plugin. This section is mandatory so that the filter plugin can convert the PIVOT type from IEC 104 type.

Notes :

  • All types not listed in this table are not supported in current version.
  • The current implementation provides a default mapping rule for each known type, but some new rules might be added in the future and configured using the "alternate_mapping_rule" option in its parameters.

Filter interface

The "plugin_ingest" call will convert each "reading" of "reading_set" as follow:

  • The Reading fields "id", "TimeStamp" and "userTimestamp" are unchanged.
  • The "asset_name" field shall be mapped with "exchanged_data.datapoints.label"
  • The Reading field "reading" is updated with a JSON object {'<Root> key' : {...}} . The content of object under '<Root> key' is given below.

The <Root> key of PIVOT object can be:

Reading key

Content

PIVOTTS.GTISTele Signal
PIVOTTM.GTIMTele Measurement
PIVOTTC.GTICNot supported

In the following table: <type> is equal to

  • "SpsTyp" or "DpsTyp" (for PIVOTTS)
  • "MvTyp" (for PIVOTTM)

The content under <Root> will convert the IEC 104 data objet to a pivot object as follow:

Key

Type

Default Value

iec104.data_object.<...>

Note

<Root>.Cause.stValIntegerMandatorydo_cotSee Cause of Transmission
<Root>.Confirmation.stValBooleanfalsedo_confirmation
<Root>.ComingFromStringMandatorydo_comingfromAny protocol name ("iec104" ,"opcua", ...)
<Root>.IdentifierStringMandatory

do_id

do_type

do_id = PIVOT ID

do_type = "opcua_sps" | "opcua_dps" | "opcua_mvi" | "opcua_mvf".

Other types not supported in current version.

<Root>.<type>.q.DetailsQuality

<Root>.<type>.q.test

<Root>.<type>.q.operatorBlocked


PIVOT : Object
OPCUA : Integer


0do_detail

OR-Mask of following values:

0x0001 = badReference 
0x0002 = failure
0x0004 = inconsistent
0x0008 = innaccurate
0x0010 = oldData
0x0020 = oscillatory
0x0040 = outOfRange
0x0080 = overflow
0x1000 = test
0x2000 = operator blocked

<Root>.<type>.t.TimeQualityInteger0do_ts_quality

OR-Mask of following values:

0x01 = clockFailure
0x02 = clockNotSynch
0x04 = leapSecondKnown

<Root>.<type>.q.SourceString"process" do_source"process" | "substituted"
<Root>.<type>.q.ValidityStringMandatorydo_value_quality"good" | "invalid" | "reserved" | "questionable"
<Root>.<type>.t.SecondSinceEpochInteger0do_ts
<Root>.TmOrgStringMandatorydo_ts_org"genuine" |  "substituted"
<Root>.TmValidityStringMandatorydo_ts_validity"good" | "invalid" | "reserved" | "questionable"
<Root>.SpsTyp.stValBooleanMandatory do_value
<Root>.DpsTyp.stValStringMandatory do_value

See CDC double point status (DPSTyp)

<Root>.MvTyp.mag.fFloatMandatory do_value
<Root>.MvTyp.mag.iIntegerMandatory do_value
  • No labels