Zum Hauptinhalt springen

smartIO MVB Modul "smartmvb"

Beschreibung

Das "smartmvb" Modul kommuniziert mit dem smartIO MVB Interface. Es wird im Allgemeinen mit dem fmproducer Modul verwendet, welches die "rohen" MVB Paketdaten geeignet extrahiert und in Kanäle produziert. (Es ist jedoch prinzipiell auch möglich, z.B. ein "dbc" Receiver Modul zu verwenden, d.h. die Kanäle als CAN-Bus DBC File zu spezifizieren, ...)

Verwendete Schnittstellen & Protokolle

  • USB
  • MVB
  • 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":"SmartMVB",
"factory":"smartmvb",
"config":{}
},

Beispielkonfiguration (maximal)

Im Folgenden sei eine "opticloud" Beispielkonfiguration dargestellt. Diese beinhaltet zusätzlich einen FmProducer, der entsprechende MVB Diagnoseinformationen in Kanäle produziert (siehe "fmproducer" Moduldokumentation).

    {
"module":"SmartMVB",
"factory":"smartmvb",
"config":{
"fmd":"smartmvb0",
"logEnabled":false,
"logPath":"/sdi/log/",
"logPrefix":"smartmvb_",
"logSuffix":".log",
"logMaxFileSize":512000,
"logMaxFileCount":10,
"logBufferSize":1000000,
"mvbLines":"AB",
"esdMode":false,
"slaveResponseTimeoutUs":43,
"timebase48Port":-1,
"timebase48ByteOffset":-1,
"errorFramesEnabled":false,
"crcEnabled":false,
"operatingMode":"dispatch",
"eosRestartTimeoutMs":0,
"mvbPorts":[

],
"portFilterDisabled":false,
"mvbMessageDevices":[

],
"messageFilterDisabled":false,
"programFile":"",
"programFileString":"",
"programFileMode":"off"
}
},
{
"module":"FmProducerSmartMVB",
"factory":"fmproducer",
"config":{
"fmd":"smartmvb0",
"bufferSize":1024,
"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
},
{
"name":"SmartMVBgroupEvent",
"dataType":"bytearray",
"bufferSize":1024,
"scale":1,
"offset":0,
"physicalDimension":"",
"physicalUnit":"",
"messageKey":10013,
"bitOffset":0,
"bitLength":0,
"imageType":"bytearray",
"produceOnChangeOnly":true,
"absoluteTolerance":0
},
{
"name":"SmartMVBsingleEvent",
"dataType":"bytearray",
"bufferSize":1024,
"scale":1,
"offset":0,
"physicalDimension":"",
"physicalUnit":"",
"messageKey":10014,
"bitOffset":0,
"bitLength":0,
"imageType":"bytearray",
"produceOnChangeOnly":true,
"absoluteTolerance":0
}
]
}
},

Modulparameter

ParameternameErforderlichDatentypsinnvoller WertebereichDefaultBeschreibung
fmdNeinSTRINGName der ModulinstanzBezeichnung des Fast Message Dispatchers, an den ein Receiver angehängt werden kann
logEnabledNeinBOOLfalse, truefalseAktivierung modulspezifisches Log
logPathNeinSTRINGgültiger Verzeichnispfad"/sdi/log/"Verzeichnis für MVB Logfiles
logPrefixNeinSTRING"smartmvb_"Präfix für MVB Logfiles
logSuffixNeinSTRING".log"Suffix für MVB Logfiles
logMaxFileCountNeinINT1 - 12710Max. Anzahl der MVB Logfiles
logMaxFileSizeNeinINT1 - 2GB512.000 ByteMax. Dateigröße [Bytes] des MVB Logfiles
logPollingIntervalMsNeinINT1 -1000Polling Intervall [ms] für das Schreiben der MVB Logfiles
logBufferSizeNeinINT1 -1MBPuffergröße [Bytes] MVB Log pro Polling Intervall
mvbLinesNeinSTRING"A", "B", "AB""AB"Aktive MVB Linien
esdModeNeinBOOLfalse, truefalseEMD (false) oder ESD (true) Mode
slaveResponseTimeoutUsNeinINT43MVB Slave Response Timeout [us]
timebase48PortNeinINTgültiger MVB PortdeaktiviertPort für Zeitsignal aus MVB
timebase48ByteOffsetNeinINTgültiger MVB Byte OffsetdeaktiviertByte Offset für Zeitsignal aus MVB
errorFramesEnabledNeinBOOLfalse, truefalseDispatching von MVB Error Frames
crcEnabledNeinBOOLfalse, truefalseDispatching der CRC Infos
enhancedLoggingNeinBOOLfalse, truefalseErweitertes Logging
statusChannelsNeinBOOLfalse, truefalseDispatching der MVB Status Kanäle (geeignete FmProducer Konfiguration siehe Beispiel)
operatingModeNeinSTRING"dispatch", "dump""dispatch"Produktion in Kanäle (via Dispatcher/Producer) bzw. Logging in Logfiles ("dump")
eosRestartTimeoutMsNeinINT-1, 0 -60000 (60s)Verzögerung bzgl. des smartIO Neustarts falls EOS (-1 = kein Neustart)
mvbPortsNeinJSON Array of UINT16leeres JSON ArraySpezifikation empfangener MVB Ports (leeres Array => ALLE)
portFilterDisabledNeinBOOLfalse, truefalseDeaktivierung des MVB Port Frame Filters
mvbMessageDevicesNeinJSON Array mit JSON Objektenleeres JSON ArraySpezifikation der berücksichtigten MVB Message Devices (siehe unten)
messageFilterDisabledNeinBOOLfalse, truefalseDeaktivierung des MVB Message Frame Filters

Spezifikation der 'mvbMessageDevices'

Die mvbMessageDevices werden über jeweils ein JSON Objekt mit folgenden Attributen konfigurtiert

ParameternameErforderlichDatentypsinnvoller WertebereichDefaultBeschreibung
idJAINT1 - 255
isSingleCastSenderNeinBOOLfalse, truefalse
isBroadCastSenderNeinBOOLfalse, truefalse
isSingleCastReceiverNeinBOOLfalse, truefalse
isSingleCastTransceiverNeinBOOLfalse, truefalse

Modul-Informationen

InformationWert
AutorenoptiMEAS Measurement and Automation Systems GmbH
seit smartCORE0.136
ModultypDispatcher (Producer)
Abhängigkeitenbeliebiges Fast Message Receiver Modul (i.A. "fmproducer")