smartIO MVB module "smartmvb"
Description
The "smartmvb" module communicates with the smartIO MVB interface. It is generally used with the fmproducer module, which suitably extracts the "raw" MVB packet data and produces it into channels. (However, it is also possible in principle to use a "dbc" receiver module, for example, i.e. to specify the channels as a CAN bus DBC file, ...)
Interfaces & protocols used
- USB
- MVB
- Fast Message Dispatching
JSON configuration
The following section describes the entire JSON configuration of the module and explains the individual parameters.
Example configuration (minimum)
{
"module": "SmartMVB",
"factory": "smartmvb",
"config":{}
},
Example configuration (maximum)
A sample "opticloud" configuration is shown below. This also includes an FmProducer, which produces the corresponding MVB diagnostic information in channels (see "fmproducer" module documentation).
{
"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
}
]
}
},
Module parameters
Parameter Name | Required | Data Type | Meaningful Value Range | Default | Description |
---|---|---|---|---|---|
fmd | No | STRING | Name of the module instance | Name of the Fast Message Dispatcher to which a receiver can be attached | |
logEnabled | No | BOOL | false, true | false | Activation of module-specific log |
logPath | No | STRING | valid directory path | "/sdi/log/" | directory for MVB log files |
logPrefix | No | STRING | "smartmvb_" | Prefix for MVB log files | |
logSuffix | No | STRING | ".log" | Suffix for MVB log files | |
logMaxFileCount | No | INT | 1 - 127 | 10 | Max. Number of MVB log files |
logMaxFileSize | No | INT | 1 - 2GB | 512,000 bytes | Max. File size [bytes] of the MVB log file |
logPollingIntervalMs | No | INT | 1 - | 1000 | Polling interval [ms] for writing the MVB log files |
logBufferSize | No | INT | 1 - | 1MB | Buffer size [bytes] MVB log per polling interval |
mvbLines | No | STRING | "A", "B", "AB" | "AB" | Active MVB lines |
esdMode | No | BOOL | false, true | false | EMD (false) or ESD (true) Mode |
slaveResponseTimeoutUs | No | INT | 43 | MVB Slave Response Timeout [us] | |
timebase48Port | No | INT | valid MVB port | deactivated | Port for time signal from MVB |
timebase48ByteOffset | No | INT | valid MVB Byte Offset | disabled | Byte Offset for time signal from MVB |
errorFramesEnabled | No | BOOL | false, true | false | Dispatching of MVB Error Frames |
crcEnabled | No | BOOL | false, true | false | Dispatching of CRC information |
enhancedLogging | No | BOOL | false, true | false | Enhanced logging |
statusChannels | No | BOOL | false, true | false | Dispatching of MVB status channels (see example for suitable FmProducer configuration) |
operatingMode | No | STRING | "dispatch", "dump" | "dispatch" | Production in channels (via dispatcher/producer) or logging in log files ("dump") |
eosRestartTimeoutMs | No | INT | -1, 0 - | 60000 (60s) | Delay regarding smartIO restart if EOS (-1 = no restart) |
mvbPorts | No | JSON Array of UINT16 | empty JSON Array | Specification of received MVB ports (empty array => ALL) | |
portFilterDisabled | No | BOOL | false, true | false | Deactivation of the MVB port frame filter |
mvbMessageDevices | No | JSON array with JSON objects | empty JSON array | Specification of the MVB message devices taken into account (see below) | |
messageFilterDisabled | No | BOOL | false, true | false | Deactivation of the MVB message frame filter |
Specification of the 'mvbMessageDevices'
The mvbMessageDevices are each configured via a JSON object with the following attributes
Parameter Name | Required | Data Type | Meaningful Value Range | Default | Description |
---|---|---|---|---|---|
id | YES | INT | 1 - 255 | ||
isSingleCastSender | No | BOOL | false, true | false | |
isBroadCastSender | No | BOOL | false, true | false | |
isSingleCastReceiver | No | BOOL | false, true | false | |
isSingleCastTransceiver | No | BOOL | false, true | false |
Module information
Information | Value |
---|---|
Authors | optiMEAS Measurement and Automation Systems GmbH |
since smartCORE | 0.136 |
Module type | Dispatcher (Producer) |
Dependencies | any Fast Message Receiver module (usually "fmproducer") |