MVB smartCORE module
Description
The "mvb" module reads data from duagon MVB interfaces and produces them in smartCHANNELs. The supported interfaces include
- the D503 MVB to Ethernet Box (external via UDP)
- the generic transmission of MVB ports via UDP
Interfaces & protocols used
- Multifunctional Vehicle Bus (MVB)
JSON configuration
The following section describes the entire JSON configuration of the module and explains the individual parameters.
Example configuration (minimal / UDP)
An MVB example configuration with a UDP interface is shown below:
{
"module": "MVB",
"factory": "mvb",
"config":{
"udpInterfaces":[
{
"name": "udp0",
"udpDestinationPort":12345,
"mvbPorts":[
{
"address":79,
"size":32,
"cycleTime":256
}
]
}
],
"channels":[
{
"name": "some value",
"mvbPort":79,
"dataType": "uint32",
"bitOffset":32,
"bitLength":32,
"imageType": "unsigned"
}
]
}
}
Example configuration (maximum / UDP)
An MVB example configuration with a UDP interface is shown below:
{
"module": "MVB",
"factory": "mvb",
"config":{
"namespace":["directory", "subDirectory"],
"channelPrefix": "MVB__",
"rtPriority":80,
"outBufferSize":1024,
"readFreshDataOnly":true,
"produceOnChangeOnly":true,
"udpInterfaces":[
{
"name": "udp0",
"type": "generic",
"udpDestinationPort":12345,
"mvbPorts":[
{
"address":79,
"size":32,
"cycleTime":256
}
]
}
],
"channels":[
{
"name": "Mileage",
"mvbPort":79,
"dataType": "uint32",
"bitOffset":32,
"bitLength":32,
"imageType": "unsigned",
"physicalDimension":"",
"physicalUnit": "km",
"scale":1,
"offset":0
}
]
}
}
Global module parameters
| Parameter name | Required | Data type | Meaningful value range | Default | Description |
|---|---|---|---|---|---|
| rtPriority | No | INT | 1 - 80 | 80 | Priority of the read thread |
| outBufferSize | No | INT | 1 - | 1024 | Buffer size of the created channels |
| channelPrefix | No | STRING | Channel prefix (useful if several DBC modules are used and the DBC files have overlapping channel names) | ||
| namespace | No | ARRAY [ STRING ] | Channel prefix in the form of hierarchically linked namespaces | ||
| readFreshDataOnly | No | BOOL | true | Read only current data from MVB bus | |
| produceOnChangeOnly | No | BOOL | true | Production only on data change | |
| udpInterfaces | YES | JSON Array | Configuration of the UDP interfaces (see below) | ||
| channels | YES | JSON array | configuration of smartCHANNELs (see below) |
Configuration UDP interfaces
| Parameter Name | Required | Data Type | Meaningful Value Range | Default | Description |
|---|---|---|---|---|---|
| name | YES | STRING | Name of the MVB interface | ||
| type | YES | STRING | "generic" | Type of MVB interface | |
| udpDestinationPort | YES | INT | 0 - 65535 | Port for MVB UDP packet reception | |
| mvbPorts | YES | JSON Array | Specification of the MVB ports to be received |
Configuration MVB Ports
| Parameter Name | Required | Data Type | Meaningful Value Range | Default | Description |
|---|---|---|---|---|---|
| address | YES | UINT16 | 0 - 65535 | MVB port address | |
| size | YES | UINT8 | 1 - 32 | MVB port size in bytes | |
| cycleTime | YES | UINT16 | 0 - 65535 |
Configuration Channels
| Parameter name | Required | Data type | Meaningful value range | Default | Description |
|---|---|---|---|---|---|
| name | YES | STRING | unique channel name | channel name | |
| dataType | YES | STRING | valid channel data type | (target) data type (see below) | |
| outBufferSize | No | INT | 1 - | 1024 | Buffer size of the created channel |
| physicalDimension | No | STRING | Physical dimension | ||
| physicalUnit | No | STRING | Physical unit | ||
| scale | No | FLOAT | > 0.0 | 1.0 | Value scaling |
| offset | No | FLOAT | 0.0 | value offset | |
| mvbPort | YES | INT | 0 - 4095 | MVB Port | |
| bitOffset | YES | INT | 0 - | Offset of the value in the MVB port | |
| bitLength | YES | INT | 1 - | Length of the value in the MVB port (0 for variable length, e.g. bytearray or string)) | |
| imageType | YES | STRING | valid source data type | see below |
Source data types "imageType"
The following data types can be extracted from the MVB port.
| Name | Description |
|---|---|
| signed | signed integer of the length of "bitLength" BITS |
| unsigned | unsigned integer of the length of "bitLength" BITS, Boolean values can be regarded as "unsigned" of the length of 1 bit |
| float | floating point number either single ("bitLength==32") or double precision ("bitLength==64") |
| bytearray | binary data of length "bitLength" |
| string | strings of length "bitLength" |
| timedate48 | MVB-specific TIMEDATE48 timestamp |
| time64 | MVB-specific TIME64 timestamp |
unipolar<<M>>>.<<N>> | MVB-specific UNIPOLAR<<M>>.<<N>> data type, where <<M>>> and <<N>>> are integers |
bipolar<<M>>>.<<N>>> | MVB-specific BIPOLAR<<M>>.<<N>>> data type, where <<M>>> and <<N>>> are integers |
Channel data types "dataType"
The following channel data types (target data types) are supported
| Name | Description |
|---|---|
| bytearray | binary data of any given length |
| string | NUL terminated string of any length encoded as UTF-8 |
| bool | Boolean value |
| double | Floating point number of double precision of the total length of 64-bit |
| float | single precision floating point number of 32-bit total length |
| int64 | signed integer of 64-bit length |
| int32 | signed integer of 32-bit length |
| int16 | signed integer of 16-bit length |
| int8 | signed integer with a length of 8-bit |
| uint64 | unsigned integer of 64-bit length |
| uint32 | unsigned integer of 32-bit length |
| uint16 | unsigned integer of 16-bit length |
| uint8 | unsigned integer of length 8-bit |
Module information
| Information | Value |
|---|---|
| Authors | optiMEAS Measurement and Automation Systems GmbH |
| since smartCORE | 0.2 |
| Module type | Producer |
| Dependencies | Supported MVB Adapter |