コンテンツにスキップ
JelinaJelina Documentation技術ドキュメント
公式サイトに戻る

SAE J1939 収集

(1) CommBridge の【スマートツイン】を開き、左側で【デバイス接続】に切り替えます。

(2) SAE J1939、データ処理、MQTT アップロードの各プラグインをプラグインワークスペースへ順にドラッグし、3 つのノードを作成します。

(3) SAE J1939 → データ処理 → MQTT アップロードの順に 3 つのノードを接続します。

(1) SAE J1939 をダブルクリックし、【プランを追加】をクリックします。

(2) 接続設定を入力し、dbc ファイルをインポートして【次へ】をクリックします。

(3) グループとデータポイントの情報を確認します。

(4) 【完了】をクリックし、収集プランの追加を完了します。

(5) プランのスイッチをオンにし、【保存】をクリックします。

(1) 【デバイス接続】の【デプロイ】をクリックし、デプロイを完了します。

(2) 【スマートツイン】に切り替え、SAE J1939 ノードにマウスポインターを合わせると、ノード情報の一覧が表示されます。

(3) プランをクリックし、そのプランの各グループに含まれるデータポイントのリアルタイムデータと履歴データを確認します。

パラメーター 前提条件 説明 形式 例 備考
プラン名 ユーザーが設定するプランの名前 必須 can 収集
CAN インターフェース デバイスに実装されている CAN ポートに応じて選択します ドロップダウンから選択 vcan0
DBC 下記を参照 DBC ファイル testType.dbc
名前の設定方法 Hex Number
優先アドレス ドロップダウンから選択 128
返却データ型 収集するリアルタイムデータの型 ドロップダウンから選択 Phy
Socketcand socketcand を有効にするかどうか。Socketcand はネットワークインターフェース経由でコンピューターの CAN インターフェースにアクセスできます Yes、No No
Socketcand ポート データのリモートデバッグに使用します 数値
名前 優先アドレスが Hex Number Name は 64 ビット(8 バイト)のラベルで、各 ECU に一意の識別情報を割り当てます 0x7758
自動アドレス設定ビット 優先アドレスが Properties ECU が送信元アドレスを自動変更できるかどうか。1 は許可、0 は固定 数値、0、1 0
産業グループ 優先アドレスが Properties 車両が属する産業区分 数値、範囲:[0,7] 0
デバイスクラスインスタンス 優先アドレスが Properties 同じデバイスクラス内のインスタンスを識別する番号 数値、範囲:[0,15] 0
デバイスクラス 優先アドレスが Properties SAE が定義する 7 ビットの「装置/システム」分類 数値、範囲:[0,127] 0
機能コード 優先アドレスが Properties 車両システム内で ECU が実行する具体的な機能 数値、範囲:[0,255] 0
機能インスタンス 優先アドレスが Properties 同じ機能のインスタンス番号。同じ機能を実行する複数の ECU を識別します 数値、範囲:[0,31] 0
ECU インスタンス 優先アドレスが Properties 同じ物理 ECU モデルのインスタンスを識別します 数値、範囲:[0,7] 0
製造者コード 優先アドレスが Properties SAE が割り当てる 11 ビットの製造者識別子 数値、範囲:[0,2047] 0
識別番号 優先アドレスが Properties 製造者が定義する 21 ビットのシリアル番号 数値、範囲:[0,2097151] 0

注意:

  1. DBC は元のデータ構造を定義します。以降に行うグループ(メッセージ)とデータ(シグナル)の変更は、すべてこの dbc 構造へマージされます。
  2. 返却データ型:Raw は生値、Phy は物理値、PhyWIthUnit は単位付きの物理値を返します。
  3. 通信には TCP/IP 接続と専用プロトコルを使用し、CAN フレームと制御コマンドを送信します。現在はクラシカル CAN のみに対応し、CAN FD には対応していません。
  4. 優先アドレス:Hex Number、Properties。
  5. J1939 ネットワークでは、2 つのノードに同じアドレスを使用できません。アドレス競合を防ぐため、64 ビットの「名前」と 8 ビットの「アドレス」を組み合わせてノードを識別します。名前の構造は次のとおりです。
    1. 任意アドレス対応ビット、長さ 1 ビット。0 はネットワーク管理者がアドレスを静的設定したノード、1 はアドレスを動的かつランダムに割り当てるノードを表します。
    2. 産業グループ、長さ 3 ビット。一般的な値:000(汎用)、001(道路車両:トラック、バスなど)、010(農業)、011(建設)など。
    3. 車両システムインスタンス、長さ 4 ビット。
    4. 車両システム、長さ 7 ビット。
    5. 予約ビット。
    6. 機能、長さ 8 ビット。
    7. 機能インスタンス、長さ 5 ビット。
    8. ECU インスタンス、長さ 3 ビット。
    9. 製造者コード、長さ 11 ビット。
    10. 識別番号、長さ 21 ビット。
パラメーター 説明 形式 例
グループ名 ユーザーが設定するグループの名前 必須 t_msg_1_unsigned
メッセージ名 メッセージの機能や用途を表す名前 必須。英数字とアンダースコアのみ使用可。数字で始めることは不可 t_msg_1_unsigned
優先度 3
パラメーターグループ番号 0x0
データ長コード データ長コード(DLC):クラシカル CAN の DLC 08 は 08 バイトに対応します。CAN FD の DLC 08 も 08 バイトに対応し、DLC 9~15 は順に 12、16、20、24、32、48、64 バイトに対応します。このプロトコル上の長さ定義は、現在のプラグインが CAN FD に対応していることを意味しません。 数値、範囲:[0,8] または [0,15] 8
送信ノード メッセージの送信元(Transmitter)、つまりそのメッセージを送信するデバイス(Node) ドロップダウンから選択、既定値は Vector__XXX Vector__XXX
メッセージの説明 メッセージの役割や機能を説明し、理解しやすくするための任意の項目 文字列

注意:

  1. グループは dbc ファイルのメッセージ(Message)に相当します。
  2. メッセージ(グループ)に送信ノードを指定しない場合は、Vector__XXX を設定する必要があります。
パラメーター 前提条件 説明 形式 例
シグナル名 データの機能を表す、ユーザー定義のシグナル名
サスペクトパラメーター番号
シグナルモード シグナルの伝送モード ドロップダウンから選択
開始ビット メッセージ内でシグナルが始まる位置(Start Bit)。0 から数え、CAN フレーム内の格納位置を決定します 単位:bit 0
値の型 シグナルのデータ型 ドロップダウンから選択 Intel
バイトオーダー メッセージ内でのシグナルの格納順序 ドロップダウンから選択
スケーリング係数 生値を実際の物理値に変換するための係数 浮動小数点数
オフセット データの物理値を計算する際のオフセット(offset) 浮動小数点数
最小値 シグナルの範囲を制限するための物理値の最小値 浮動小数点数
最大値 シグナルの範囲を制限するための物理値の最大値 浮動小数点数
単位 シグナルの物理単位 文字列
受信ノード シグナルを受信するノード名(receiver)。1 つ以上を指定し、シグナルの宛先デバイスを表します ドロップダウンから選択、既定値は Vector__XXX
説明 シグナルの物理単位。例:km/h、°C、m/s 文字列
計算 データのエイリアスを使用してユーザーが定義する式
長さ 値の型が Unsigned/Signed シグナルが占めるビット数(ビット長) 単位:bit、[1,64]
多重化値 シグナルモードが Signal 以外 多重化シグナルがどの値になったときに、このシグナルを有効にするかを設定します

注意:

  1. シグナルモード:Signal、Multiplexor、Multiplexed。
  2. 値の型:Unsigned(符号なし整数)、Signed(符号付き整数)、Float(単精度浮動小数点数)、Double(倍精度浮動小数点数)。
  3. バイトオーダー:Intel バイトオーダー(リトルエンディアン)、Motorola バイトオーダー(ビッグエンディアン)。
  4. 開始ビット:シグナルの最下位ビット(LSB、Least Significant bit)の位置。
  5. 終了ビット:シグナルの最上位ビット(MSB、Most Significant bit)の位置。
  6. 分解能とオフセット:物理値とネットワーク値の変換に使用します。ネットワーク値 = (物理値 - オフセット) ÷ 分解能。
  7. シグナルに受信ノードを指定しない場合は、Vector__XXX を設定する必要があります。

5. DBC ファイルの関連パラメーター

Section titled “5. DBC ファイルの関連パラメーター”

DBC ファイル(CAN Database File)は、CAN(Controller Area Network)バス上のメッセージとシグナルの定義を記述する標準ファイル形式です。

(1) Node(ノード)

ノードは、ネットワーク内のデバイスを論理的に表したものです。各ノードはメッセージの送信元または受信先になります。

1). DBC ファイルの形式:

BU_: Node1 Node2 Node3
  • BU_:ノード一覧を定義します。
  • その後に、すべてのノード名を空白で区切って記述します。

(2) Message(メッセージ)

メッセージは CAN ネットワークで伝送する最小のデータ単位です。複数のシグナルを含み、固定の ID と長さを持ちます。

1). DBC ファイルの形式:

BO_ <メッセージ ID> <メッセージ名>: <データ長コード> <送信ノード>

2). 例:

BO_ 1001 SpeedMessage: 8 Node1
  • BO_:メッセージを表します。
  • 1001:メッセージ ID。
  • SpeedMessage:メッセージ名。
  • 8:データ長コード(DLC)。
  • Node1:送信ノード。

(3) Signal(シグナル)

シグナルはメッセージ内のデータ単位であり、速度、回転数、温度などの具体的な物理量を表します。

1). DBC ファイルの形式:

SG_ <シグナル名> : <開始ビット>|<長さ>@<バイトオーダー><値型の符号> (<スケーリング係数>,<オフセット>) [<最小値>|<最大値>] "<単位>" <受信ノード>

2). 例:

SG_ Speed : 0|16@1+ (0.1,0) [0|200] "km/h" Node2
  • BO_:メッセージを表します。
  1. d
63 (MSB) 62-60 59-56 55-49 48 47-40 39-35 34-32 31-21 20-0 (LSB)
任意アドレス 産業グループ 車両システムインスタンス 車両システム 予約ビット 機能 機能インスタンス ECU インスタンス 製造者コード 識別番号
1 bit 3 bits 4 bits 7 bits 1 bit 8 bits 5 bits 3 bits 11 bits 21 bits
  1. シグナルモード
シグナルモード 意味
Signal 特別なマーカーや関係を持たず、データを直接格納する通常のシグナル。
Multiplexor 多重化の識別に使用するマルチプレクサーシグナル。メッセージに含める他のシグナルのグループを決定します。例えば、1 つのメッセージに複数のデータ形式を格納できる場合に、使用する形式を選択します。
Multiplexed マルチプレクサーシグナルに紐付けられた多重化シグナル。マルチプレクサーシグナルの値によって、そのシグナルを伝送するかどうかが決まります。例えば、多重化値が 1 の場合に、特定の多重化シグナルのグループを伝送します。