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

Compare with Current View Page History

« Previous Version 4 Next »

This plugin intends at converting PIVOT data into OPCUA north plugin.

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 OPCUA north plugin. This section is mandatory so that the filter plugin can convert the PIVOT type to OPCUA type.
  • A "protocol_translation" category including all mapping rules from PIVOT. This section shall contain in the "mapping_rules" array the following entries:
input_typeoutput_typemapping_rulenote
SpsTypopcua_spsPtoOPcua_sps1
DpsTypopcua_dpsPtoOPcua_dps1
MvTypopcua_mviPtoOPcua_mvi1
MvTypopcua_mvfPtoOPcua_mvf1

Notes :

  • All types not listed in this table are not supported in current version.
  • The current implemention only provides one mapping rule for each known types, but some new rules migth be added in the future. and configured using this parameters.

Filter interface

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

The <Root> key of PIVOT object can be:

Reading keyContent
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 pivot to a opcua object as follow:

KeyTypeDefault Valueopcua.data_object.<...>Note
<Root>.Cause.stValIntegerMandatorydo_cotSee Cause of Transmission
<Root>.ConfirmationBooleanfalsedo_confirmation
<Root>.ComingFrom.stValStringMandatorydo_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


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

<Root>.<type>.q.test

Booleanfalsedo_test
<Root>.<type>.q.operatorBlockedBooleanfalsedo_operator_blocked
<Root>.<type>.q.SourceString"process" do_source"process" | "substituted"
<Root>.<type>.t.SecondSinceEpochInteger0do_ts
<Root>.TmOrgStringMandatorydo_ts_org"genuine" |  "substituted"
<Root>.TmValidityStringMandatorydo_ts_validity"good" | "invalid" | "reserved" | "questionable"
<Root>.TimeAccuracyInteger0do_ts_accuracy

OR-Mask of following values:

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

<Root>.SpsTyp.stValBooleanMandatory do_value
<Root>.DpsTyp.stValIntegerMandatory do_value
<Root>.MvTyp.stVal.mag.fFloatMandatory do_value
<Root>.MvTyp.stVal.mag.iIntegerMandatory do_value
  • No labels