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
Parametername | Erforderlich | Datentyp | sinnvoller Wertebereich | Default | Beschreibung |
---|---|---|---|---|---|
fmd | Nein | STRING | Name der Modulinstanz | Bezeichnung des Fast Message Dispatchers, an den ein Receiver angehängt werden kann | |
logEnabled | Nein | BOOL | false, true | false | Aktivierung modulspezifisches Log |
logPath | Nein | STRING | gültiger Verzeichnispfad | "/sdi/log/" | Verzeichnis für MVB Logfiles |
logPrefix | Nein | STRING | "smartmvb_" | Präfix für MVB Logfiles | |
logSuffix | Nein | STRING | ".log" | Suffix für MVB Logfiles | |
logMaxFileCount | Nein | INT | 1 - 127 | 10 | Max. Anzahl der MVB Logfiles |
logMaxFileSize | Nein | INT | 1 - 2GB | 512.000 Byte | Max. Dateigröße [Bytes] des MVB Logfiles |
logPollingIntervalMs | Nein | INT | 1 - | 1000 | Polling Intervall [ms] für das Schreiben der MVB Logfiles |
logBufferSize | Nein | INT | 1 - | 1MB | Puffergröße [Bytes] MVB Log pro Polling Intervall |
mvbLines | Nein | STRING | "A", "B", "AB" | "AB" | Aktive MVB Linien |
esdMode | Nein | BOOL | false, true | false | EMD (false) oder ESD (true) Mode |
slaveResponseTimeoutUs | Nein | INT | 43 | MVB Slave Response Timeout [us] | |
timebase48Port | Nein | INT | gültiger MVB Port | deaktiviert | Port für Zeitsignal aus MVB |
timebase48ByteOffset | Nein | INT | gültiger MVB Byte Offset | deaktiviert | Byte Offset für Zeitsignal aus MVB |
errorFramesEnabled | Nein | BOOL | false, true | false | Dispatching von MVB Error Frames |
crcEnabled | Nein | BOOL | false, true | false | Dispatching der CRC Infos |
enhancedLogging | Nein | BOOL | false, true | false | Erweitertes Logging |
statusChannels | Nein | BOOL | false, true | false | Dispatching der MVB Status Kanäle (geeignete FmProducer Konfiguration siehe Beispiel) |
operatingMode | Nein | STRING | "dispatch", "dump" | "dispatch" | Produktion in Kanäle (via Dispatcher/Producer) bzw. Logging in Logfiles ("dump") |
eosRestartTimeoutMs | Nein | INT | -1, 0 - | 60000 (60s) | Verzögerung bzgl. des smartIO Neustarts falls EOS (-1 = kein Neustart) |
mvbPorts | Nein | JSON Array of UINT16 | leeres JSON Array | Spezifikation empfangener MVB Ports (leeres Array => ALLE) | |
portFilterDisabled | Nein | BOOL | false, true | false | Deaktivierung des MVB Port Frame Filters |
mvbMessageDevices | Nein | JSON Array mit JSON Objekten | leeres JSON Array | Spezifikation der berücksichtigten MVB Message Devices (siehe unten) | |
messageFilterDisabled | Nein | BOOL | false, true | false | Deaktivierung des MVB Message Frame Filters |
Spezifikation der 'mvbMessageDevices'
Die mvbMessageDevices werden über jeweils ein JSON Objekt mit folgenden Attributen konfigurtiert
Parametername | Erforderlich | Datentyp | sinnvoller Wertebereich | Default | Beschreibung |
---|---|---|---|---|---|
id | JA | INT | 1 - 255 | ||
isSingleCastSender | Nein | BOOL | false, true | false | |
isBroadCastSender | Nein | BOOL | false, true | false | |
isSingleCastReceiver | Nein | BOOL | false, true | false | |
isSingleCastTransceiver | Nein | BOOL | false, true | false |
Modul-Informationen
Information | Wert |
---|---|
Autoren | optiMEAS Measurement and Automation Systems GmbH |
seit smartCORE | 0.136 |
Modultyp | Dispatcher (Producer) |
Abhängigkeiten | beliebiges Fast Message Receiver Modul (i.A. "fmproducer") |