メインコンテンツ

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

CAN エクスプローラーを使用してCANデータを受信および可視化する

この例では、CAN エクスプローラー アプリを使用して CAN データを受信および可視化する方法を示します。

ループバック構成で接続された MathWorks ® 仮想チャネルを使用します。CAN エクスプローラーは、MathWorks Virtual 1 Channel 1 を使用してデータを受信するように構成されています。事前に記録されたデータは MAT ファイルで提供され、MathWorks Virtual 1 Channel 2 で再生され、実際の車両システムへの接続から生成された CAN トラフィックをエミュレートします。

CAN エクスプローラーを開く

コマンド canExplorer を使用して CAN エクスプローラー アプリを開きます。または、CAN エクスプローラーは MATLAB ® の Apps タブにあります。

デバイスチャネルを選択する

アプリを初めて開くと、システムに接続されているデバイスからアクセス可能なすべての CAN チャネルが表示されます。利用可能なデバイスから MathWorks Virtual 1 Channel 1 を選択します。その後、アプリの起動が完了し、選択したデバイスが青い枠で強調表示された状態で次のようになります。

CANExplorer.png

データベースファイルを構成する

受信メッセージと信号を復号化するには、CAN エクスプローラーにデータベース ファイルを追加します。

  1. データベース構成ダイアログを開くには、ツールストリップで データベース を選択します。

  2. 追加 をクリックして、ファイル選択ダイアログを開きます。例に提供されている CANExplorerDatabase.dbc ファイルを選択します。

  3. OK をクリックしてデータベース構成を保存し、ダイアログを閉じます。

CANExplorerDatabaseConfig.PNG

チャネル バス速度の構成

必要なネットワーク速度がデフォルト値と異なる場合は、チャネル バス速度を構成します。

  1. デバイス チャネル構成ダイアログを開くには、ツールストリップで デバイス チャネル を選択します。

  2. この例では、デフォルトのバス速度である 500000 ビット/秒を使用します。現在のデバイス チャネル構成を確認し、OK をクリックします。

CANExplorerDeviceChannelConfig.PNG

同じダイアログで、標準 ID と拡張 ID のそれぞれにメッセージ フィルターを構成して、チャネルを通過するメッセージを制御できます。デフォルトでは、両方のフィルター オプションはすべてのメッセージを通過させるように設定されていますが、特定の ID を許可またはブロックするように指定することもできます。

信号テーブルを構成する

信号テーブルに表示する興味のある信号を追加します。この例では、CANExplorerDatabase.dbc ファイルで定義されているすべての信号を表示します。

  1. 信号テーブル構成ダイアログを開くには、ツールストリップで [信号] > [信号テーブルの構成] を選択します。

  2. ボタンを使用して、使用可能な信号 ペインから 構成された信号 ペインに信号を追加します。個々の信号を追加したり、メッセージを追加してメッセージ内のすべての信号を追加したり、データベースを追加してデータベース内のすべての信号を追加したりできます。この例では、利用可能な信号 ペインで CANExplorerDatabase.dbc を選択し、 をクリックして、データベース内のすべての信号を表示に追加します。

  3. OK をクリックして信号テーブルの構成を保存し、ダイアログを閉じます。

CANExplorerSignalTableConfig.PNG

信号またはメッセージの検索テキストを入力して 検索 をクリックすると、利用可能な信号 ペインが更新され、検索テキストと大文字と小文字を区別せずに部分的に一致する検索結果が表示されます。

信号スコープを設定する

信号スコープに表示する興味のある信号を追加します。CAN エクスプローラーには、選択した信号を可視化するようにそれぞれ設定できる 3 つのスコープが用意されています。スコープの数は固定されており、カスタマイズすることはできません。この例では、上部の信号スコープに Message_A からのすべての信号、中央の信号スコープに Message_BMessage_C からのすべての信号、下部の信号スコープに Message_D からのすべての信号を表示します。

  1. トップ信号スコープ構成ダイアログを開くには、ツールストリップで [信号] > [Configure Top Signal Scope] を選択します。

  2. 利用可能な信号 ペインで Message_A を選択し、 をクリックして、このメッセージ内のすべての信号を追加し、上部の信号スコープに表示します。

  3. OK をクリックして、上部の信号スコープ構成を保存し、ダイアログを閉じます。

  4. 同様のアプローチを使用して、Message_BMessage_C からの信号を追加して中央の信号スコープに表示し、Message_D からの信号を追加して下部の信号スコープに表示します。

監視を開始

データが失われないように、再生を開始する前に CAN エクスプローラーで監視を開始してください。ツールストリップの 開始 をクリックします。

記録済みのCANデータを再生する

CAN ネットワークから記録されたデータは、ファイル CANExplorerData.mat で提供されます。データは timetable 形式で保存され、時間範囲は約 60 秒にわたります。

CAN データを MathWorks Virtual 1 Channel 2 に再生し、CAN エクスプローラーが同じ MATLAB インスタンスの MathWorks Virtual 1 Channel 1 で受信できるようにします。データの再生を開始するには、スクリプト replayCANData.m を実行します。追加の実験のために、スクリプトを複数回連続して実行して、60 秒を超える CAN データを生成することもできます。

CANExplorerRunning.PNG

モニターとディスプレイのオプションを調べる

CAN エクスプローラーがデータを受信し続けている間に、ツールストリップの モニター セクションと ディスプレイ セクションでコントロールを試すことができます。

  1. CAN エクスプローラーの視覚的な更新を一時的に停止するには、一時停止 をクリックします。一時停止中も、CAN エクスプローラーはバックグラウンドでデータの蓄積と処理を継続します。

  2. CAN エクスプローラーでのビジュアル更新を再開するには、続行 をクリックします。

さらに詳しく知るには:

  1. Clear Data をクリックすると、CAN エクスプローラーから蓄積されたすべてのデータが完全に消去されます。

  2. デフォルトでは、メッセージ テーブルにはすべての CAN メッセージが時系列順に表示されます。各固有メッセージの最新インスタンスを表示するには、固有メッセージ を切り替えます。

  3. デフォルトでは、メッセージ テーブルと信号テーブルの両方に、監視開始からの時間が表示されます。各テーブルの最後のメッセージまたは信号からのデルタ時間を表示するには、デルタ時間を切り替えます。

監視を停止

ライブ取得アクティビティが完了したら、ツールストリップの 停止 をクリックして、デバイス チャネルをオフラインにします。

データ再生のためのクリーンアップ

スクリプト replayCANDataCleanup.m を実行してクリーンアップします。これにより、再生に使用される MathWorks Virtual 1 Channel 2 が停止され、不要な変数がクリアされます。

追加使用のためにデータをエクスポートする

ツールストリップで、エクスポート ボタンの上部をクリックして、受信したデータを timetable 形式で MATLAB ワークスペースにエクスポートします。

エクスポートした変数を将来使用するために保持したい場合は、次の手順を実行します。

  • 変数を MAT ファイルに保存するには、save 関数を使用します。

  • 変数を BLF ファイルに保存するには、blfwrite 関数を使用します。

エクスポートされたメッセージの timetable は、信号データの個別の timetable に変換することもできます。canSignalTimetable 関数は、timetable 内の一意のメッセージごとに 1 つのフィールドを持つ構造体を返します。各フィールドの値は、そのメッセージで定義されているすべての信号の timetable です。