Zum Hauptinhalt springen

Fast Message Producer Modul "fmproducer"

Beschreibung

Das "fmproducer" Modul empfängt (im Allgemeinen rohe) Datenpakete aus dem Fast Message Dispatcher des "dispatchenden" (=Sende) Moduls (z.B. fmudp, canbus, smartmvb, ...) und produziert aus diesen Datenblöcken Kanalwerte in entsprechend konfigurierte Kanäle.

Verwendete Schnittstellen & Protokolle

  • Fast Message Dispatching

JSON-Konfiguration

Im folgenden Abschnitt soll die gesamte JSON-Konfiguration des Moduls beschrieben und die einzelnen Parameter erläutert werden.

Beispielkonfiguration (minimal)

    {
"module":"FmProducer",
"factory":"fmproducer",
"config":{
"fmd":"FastMessageDispatcher",
"channels":[
{
"name":"Channel",
"dataType":"double",
"messageKey":42,
"bitOffset":0,
"bitLength":64,
"imageType":"float"
},

[...]

]
}
}

Beispielkonfiguration (maximal)

    {
"module":"FmProducerSmartMVB",
"factory":"fmproducer",
"config":{
"fmd":"smartmvb0",
"bufferSize":1024,
"namespace":["directory","subDirectory"],
"channelPrefix":"SmartMVB",
"channels":[
{
"name":"SmartMVBmessageData",
"dataType":"bytearray",
"bufferSize":1024,
"scale":1,
"offset":0,
"physicalDimension":"",
"physicalUnit":"",
"messageKey":10012,
"bitOffset":0,
"bitLength":0,
"imageType":"bytearray",
"produceOnChangeOnly":true,
"absoluteTolerance":0
},

[...]

]
}
}

Globale Modulparameter

ParameternameErforderlichDatentypsinnvoller WertebereichDefaultBeschreibung
fmdJASTRINGFast Message Dispatcher des Sendemoduls
bufferSizeNeinINT1 -1024(default) Puffergröße der angelegten Kanäle
channelPrefixNeinSTRINGKanal Präfix (sinnvoll, wenn mehrere DBC Module verwendet werden und die DBC Dateien überlappende Kanalnamen besitzen)
namespaceNeinARRAY [ STRING ]Kanal Präfix in Form hierarchisch verketteter Namespaces
channelsJAJSON ArrayListe von JSON Objects konfigurierter Kanäle

Konfiguration eines Kanals (JSON Object)

ParameternameErforderlichDatentypsinnvoller WertebereichDefaultBeschreibung
nameJASTRINGName der Kanals
dataTypeNeinSTRINGDatentyp des Kanals
bufferSizeNeinINT1 -1024Puffergröße des angelegten Kanals
scaleNeinFLOAT1Skalierungsfaktor des produzierten Werts
offsetNeinFLOAT0additiver Offset des produzierten Werts
physicalDimensionNeinSTRINGphysikalische Größe
physicalUnitNeinSTRINGphysikalische Einheit
messageKeyNein*UINTID der empfangenen Botschaft (z.B. CAN-Bus Message ID, MVB Port, ...)
bitOffsetJAUINTBit-Offset des in der Botschaft hinterlegten Wertes
bitLengthNein**UINTBit-Länge des in der Botschaft hinterlegten Wertes
imageTypeJASTRINGuntertsützter Quelldatentyp des hinterlegten Wertes (siehe unten)
byteOrderNeinSTRING"bigendian", "littleendian""bigendian"Byte-Order des hinterlegten Wertes

*ist der "messageKey" nicht konfiguriert, so werden Daten aus allen Messages weiterverarbeitet (dies ist z.B. sinnvoll für CAN RAW und Debugging-Anwendungen).

**ist die "bitLength" nicht konfiguriert, wird diese aus der Länge der weitergeleiteten Botschaft bestimmt.

Unterstützte Kanaldatentypen (Zieldatentypen) 'dataType'

  • string
  • bytearray
  • double
  • float
  • int64, int32, int16, int8
  • uint64, uint32, uint16, uint8
  • bool

Unterstützte Quelldatentypen 'imageType'

  • "signed"
  • "unsigned"
  • "float"
  • "timedate48"
  • "time64"
  • "bytearray"
  • "string"
  • unipolar<M>.<N>
  • bipolar<M>.<N>

Modul-Informationen

InformationWert
AutorenoptiMEAS Measurement and Automation Systems GmbH
seit smartCORE0.103
ModultypFast Message Receiver, Producer
AbhängigkeitenFast Message Sendemodul (z.B. fmudp, canbus, smartmvb, ...)