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

CAN 収集

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

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

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

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

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

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

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

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

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

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

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

パラメーター 説明 形式 例 備考
プラン名 ユーザーが設定するプランの名前 必須 can 収集
Can インターフェース デバイスに実装されている CAN ポートに応じて選択します ドロップダウンから選択 vcan0
DBC 下記を参照 DBC ファイル testType.dbc
返却データ型 収集するリアルタイムデータの型 ドロップダウンから選択 Phy
スロットリング時間 指定時間が経過するかデータが変化するまで、その時間内の重複フレームをスキップします。0 を設定するとスロットリングしません 必須、数値、範囲:[0,2147483647] Phy
Socketcand socketcand を有効にするかどうか。Socketcand はネットワークインターフェース経由でコンピューターの CAN インターフェースにアクセスできます Yes、No No
Socketcand ポート データのリモートデバッグに使用します 数値

注意:

  1. DBC は元のデータ構造を定義します。以降に行うグループ(メッセージ)とデータ(シグナル)の変更は、すべてこの dbc 構造へマージされます。
  2. 返却データ型:Raw は生値、Phy は物理値、PhyWIthUnit は単位付きの物理値を返します。
  3. 通信には TCP/IP 接続と専用プロトコルを使用し、CAN フレームと制御コマンドを送信します。現在はクラシカル CAN のみに対応し、CAN FD には対応していません。
パラメーター 説明 形式 例
グループ名 ユーザーが設定するグループの名前 必須 t_msg_1_unsigned
メッセージ名 メッセージの機能や用途を表す名前 必須。英数字とアンダースコアのみ使用可。数字で始めることは不可 t_msg_1_unsigned
メッセージ ID CAN バス上でメッセージを識別する一意の識別子 必須、数値または 16 進数、範囲:[0x0-0xffffffff] 0
データ長コード データ長コード(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. メッセージ ID は通常、11 ビット(標準フレーム)または 29 ビット(拡張フレーム)の数値です。
  3. メッセージ(グループ)に送信ノードを指定しない場合は、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) シグナルモード

シグナルモード 意味
Signal 特別なマーカーや関係を持たず、データを直接格納する通常のシグナル。
Multiplexor 多重化の識別に使用するマルチプレクサーシグナル。メッセージに含める他のシグナルのグループを決定します。例えば、1 つのメッセージに複数のデータ形式を格納できる場合に、使用する形式を選択します。
Multiplexed マルチプレクサーシグナルに紐付けられた多重化シグナル。マルチプレクサーシグナルの値によって、そのシグナルを伝送するかどうかが決まります。例えば、多重化値が 1 の場合に、特定の多重化シグナルのグループを伝送します。