- Jelina overview
- CommBridge
- Data acquisition
SAE J1939 acquisition
1. Create nodes
Section titled “1. Create nodes”(1) Open CommBridge Digital Twin and switch to Device Connectivity.

(2) Drag SAE J1939, Data Processing, and MQTT Upload into the workspace to create three nodes.

(3) Connect the three nodes in this order: SAE J1939 → Data Processing → MQTT Upload.

2. Create a scheme
Section titled “2. Create a scheme”(1) Double-click SAE J1939 and select Add scheme.

(2) Enter connection settings, import a DBC file, and select Next.

(3) Review group and point information.

(4) Select Finish to add the acquisition scheme.

(5) Enable the scheme and select Save.

3. View results
Section titled “3. View results”(1) Select Deploy under Device Connectivity and wait for success.

(2) Switch to Digital Twin and hover over SAE J1939 to display node information.

(3) Select a scheme to view real-time and historical point data in each group.

4. Configuration reference
Section titled “4. Configuration reference”Connection settings
Section titled “Connection settings”| Parameter | Prerequisite | Description | Format | Example | Notes |
|---|---|---|---|---|---|
| Scheme name | User-defined name for the scheme | Nonempty | CAN acquisition | ||
| CAN interface | Actual CAN interface on the device | Drop-down list | vcan0 | ||
| DBC | See below | DBC file | testType.dbc | ||
| Name configuration method | Hex Number | ||||
| Preferred address | Drop-down list | 128 | |||
| Returned data type | Type of acquired real-time data | Drop-down list | Phy | ||
| Socketcand | Whether to enable socketcand, which provides network access to the computer’s CAN interfaces | Yes, No | No | ||
| Socketcand port | Used for remote data debugging | Number | |||
| Name | Preferred address is Hex Number | A 64-bit (8-byte) Name that uniquely identifies each ECU | 0x7758 | ||
| Arbitrary address capable | Preferred address is Properties | Whether this ECU may automatically change its source address: 1 permits this, 0 fixes the address | Number: 0, 1 | 0 | |
| Industry group | Preferred address is Properties | Industry category of the vehicle | Number, range: [0,7] | 0 | |
| Device class instance | Preferred address is Properties | Instance number distinguishing devices within the same class | Number, range: [0,15] | 0 | |
| Device class | Preferred address is Properties | SAE-defined 7-bit device/system classification | Number, range: [0,127] | 0 | |
| Function | Preferred address is Properties | Specific function performed by the ECU within the vehicle system | Number, range: [0,255] | 0 | |
| Function instance | Preferred address is Properties | Instance number distinguishing multiple ECUs performing the same function | Number, range: [0,31] | 0 | |
| ECU instance | Preferred address is Properties | Distinguishes instances of the same physical ECU model | Number, range: [0,7] | 0 | |
| Manufacturer code | Preferred address is Properties | SAE-assigned 11-bit manufacturer identifier | Number, range: [0,2047] | 0 | |
| Identity number | Preferred address is Properties | Manufacturer-defined 21-bit serial number | Number, range: [0,2097151] | 0 |
Note:
- DBC supplies the original data structure. Subsequent changes to groups (messages) and data (signals) are merged into this DBC structure.
- Raw returns raw values; Phy returns physical values; PhyWIthUnit returns physical values with units.
- Communication uses TCP/IP connections and a dedicated protocol to transmit CAN frames and control commands. Currently only Classical CAN is supported, not CAN FD.
- Preferred address: Hex Number, Properties.
- Two nodes on a J1939 network cannot use the same address. To avoid address conflicts, J1939 uses a 64-bit Name and an 8-bit Address together to identify a node. Name structure:
- Arbitrary address capable, 1 bit: 0 means the node’s address is statically configured by the network administrator; 1 means it is dynamically assigned at random.
- Industry group, 3 bits. Common values: 000 (global), 001 (on-highway vehicles, such as trucks and buses), 010 (agriculture), 011 (construction), etc.
- Vehicle system instance, 4 bits.
- Vehicle system, 7 bits.
- Reserved bit.
- Function, 8 bits.
- Function instance, 5 bits.
- ECU instance, 3 bits.
- Manufacturer code, 11 bits.
- Identity number, 21 bits.
Add groups
Section titled “Add groups”| Parameter | Description | Format | Example |
|---|---|---|---|
| Group name | User-defined group name | Nonempty | t_msg_1_unsigned |
| Message name | Describes the message’s function or purpose | Nonempty; letters, digits, and underscores only; cannot start with a digit | t_msg_1_unsigned |
| Priority | 3 | ||
| Parameter group number | 0x0 | ||
| Data length code | Data length code (DLC): Classical CAN DLC 0–8 corresponds to 0–8 bytes. CAN FD DLC 0–8 also corresponds to 0–8 bytes; DLC 9–15 corresponds to 12, 16, 20, 24, 32, 48, and 64 bytes respectively. These protocol length definitions do not imply that the current plugin supports CAN FD. | Number, [0,8] or [0,15] | 8 |
| Transmitting node | Transmitter: the node sending the message | Dropdown, default Vector__XXX |
Vector__XXX |
| Message description | Optional explanation of message function | String |
Note:
- A group corresponds to a Message in the DBC file.
- If no transmitter is specified for the message (group), use
Vector__XXX.
Add data
Section titled “Add data”| Parameter | Prerequisite | Description | Format | Example |
|---|---|---|---|---|
| Signal name | User-defined signal name describing its function | |||
| Suspect parameter number | ||||
| Signal mode | Signal transmission mode | Dropdown | ||
| Start bit | Zero-based signal starting position within the CAN frame | Bits | 0 | |
| Value type | Signal data type | Dropdown | Intel | |
| Byte order | Signal storage order within the message | Dropdown | ||
| Scaling factor | Factor converting raw values to physical values | Floating-point number | ||
| Offset | Offset for physical value calculation | Floating-point number | ||
| Minimum | Minimum physical value limiting the signal range | Floating-point number | ||
| Maximum | Maximum physical value limiting the signal range | Floating-point number | ||
| Unit | Physical unit | String | ||
| Receiving nodes | One or more target nodes receiving the signal | Dropdown, default Vector__XXX |
||
| Description | Physical unit, such as km/h, °C, or m/s | String | ||
| Calculation | User-defined formula based on data aliases | |||
| Length | Value type is Unsigned/Signed | Number of bits occupied by the signal | Bits, [1,64] | |
| Multiplex value | Signal mode is not Signal | Multiplexor value at which this signal becomes active |
Note:
- Signal modes: Signal, Multiplexor, Multiplexed.
- Value types: Unsigned, Signed, Float (single precision), Double (double precision).
- Byte order: Intel (little-endian) or Motorola (big-endian).
- Start bit: position of the least significant bit (LSB).
- End bit: position of the most significant bit (MSB).
- Resolution and offset convert physical and network values: network value = (physical value - offset) ÷ resolution.
- If no receiver is specified, use
Vector__XXX.
5. DBC file parameter details
Section titled “5. DBC file parameter details”A DBC (CAN Database File) is a standard format describing messages and signals on a Controller Area Network bus.
Components
Section titled “Components”(1) Node
A node logically represents a network device and may transmit or receive messages.
1). DBC format:
BU_: Node1 Node2 Node3BU_: defines the node list.- Node names follow, separated by spaces.
(2) Message
A message is the smallest transmitted data unit on the CAN network, containing multiple signals with a fixed ID and length.
1). DBC format:
BO_ <message-ID> <message-name>: <data-length-code> <transmitting-node>2). Example:
BO_ 1001 SpeedMessage: 8 Node1BO_: identifies a message.1001: message ID.SpeedMessage: message name.8: data length code (DLC).Node1: transmitting node.
(3) Signal
A signal is a data unit within a message representing a physical quantity such as speed, rotational speed, or temperature.
1). DBC format:
SG_ <signal-name> : <start-bit>|<length>@<byte-order><value-type-sign> (<scaling-factor>,<offset>) [<minimum>|<maximum>] "<unit>" <receiving-node>2). Example:
SG_ Speed : 0|16@1+ (0.1,0) [0|200] "km/h" Node2BO_: identifies a message.
Selected parameter explanations
Section titled “Selected parameter explanations”- d
| 63 (MSB) | 62-60 | 59-56 | 55-49 | 48 | 47-40 | 39-35 | 34-32 | 31-21 | 20-0 (LSB) |
|---|---|---|---|---|---|---|---|---|---|
| Arbitrary address capable | Industry group | Vehicle system instance | Vehicle system | Reserved | Function | Function instance | ECU instance | Manufacturer code | Identity number |
| 1 bit | 3 bits | 4 bits | 7 bits | 1 bit | 8 bits | 5 bits | 3 bits | 11 bits | 21 bits |
- Signal modes
| Signal mode | Meaning |
|---|---|
| Signal | Ordinary signal carrying data directly without special markers or relationships |
| Multiplexor | Selector signal determining which group of signals a message carries; for example, selects one of several data formats |
| Multiplexed | Signal bound to a multiplexor; the multiplexor value determines whether it is transmitted, such as a particular group sent when the selector equals 1 |