メインコンテンツ

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

.dbc ファイルを読み込み、メッセージを作成する

Vector CAN データベース サポート

Vehicle Network Toolbox™ を使用すると、Vector CAN データベースを使用できます。データベース .dbc ファイルには、CAN メッセージと信号の定義が含まれています。データベース ファイルに定義された情報を使用して、メッセージおよび信号情報を検索し、メッセージを作成できます。メッセージと信号の情報をエンジニアリング単位で表すこともできるため、生のデータ バイトを操作する必要はありません。

CANデータベースをロードする

CAN データベース ファイルを使用するには、データベースを MATLAB® セッションにロードします。MATLAB コマンド プロンプトで、以下のように入力します。

db = canDatabase('filename.dbc')

ここで、db はデータベース ハンドル用に選択した変数であり、filename.dbc は CAN データベースの実際のファイル名です。CAN データベースが現在の作業ディレクトリにない場合は、データベースへのパスを入力します。

db = canDatabase('path\filename.dbc')

ヒント

等号、アンパサンドなどの英数字以外の文字を含む CAN データベース ファイル名は、Vehicle Network Toolbox と互換性がありません。データベース名にピリオドを使用できます。CAN データベース ファイルを使用する前に、英数字以外の文字を含む名前に変更してください。

このコマンドは、データベースに保存されている情報を使用して CAN メッセージを作成および解釈するために使用できるデータベース オブジェクトを返します。詳細については、canDatabase 関数を参照してください。

CANメッセージを作成する

この例では、データベースを使用してメッセージを作成する方法を示します。このデータベースには EngineMsg という名前のメッセージがあります。この例を試すには、独自のデータベースの定義を使用してメッセージと信号を作成します。

  1. CAN データベース オブジェクトを作成します。

    d = canDatabase("C:\myVNTData\demoVNT_CANdbFiles.dbc");
  2. データベース内のメッセージ名を使用して CAN メッセージを作成します。

    message = canMessage(d,'EngineMsg');

構築されたCANメッセージ内のアクセス信号

サンプル データベース message で作成したメッセージに対して定義された 2 つの信号にアクセスできます。一部の信号の値を変更することもできます。

  1. メッセージに信号を表示するには、次のように入力します。

    sig = message.Signals
    sig = 
    
      struct with fields:
    
        VehicleSpeed: 0
           EngineRPM: 250
  2. EngineRPM 信号の値を変更します。

    message.Signals.EngineRPM = 300;
  3. 信号を再割り当てし、再度表示して変更を確認します。

    sig = message.Signals
    sig = 
    
      struct with fields:
    
        VehicleSpeed: 0
           EngineRPM: 300

CANチャネルにデータベースを追加する

データベースを CAN チャネルに追加するには、チャネルの Database プロパティを設定します。以下に例を示します。

canch = canChannel("MathWorks","Virtual 1",1);
d = canDatabase("C:\myVNTData\demoVNT_CANdbFiles.dbc");
canch.Database = d;
canch.Database.Name
ans =
    'demoVNT_CANdbFiles'

データベース情報の更新

データベース ファイルに変更を加えると、次のようになります。

  1. canDatabase 関数を使用して、データベース ファイルを MATLAB セッションに再ロードします。

  2. attachDatabase 関数を使用してデータベースをメッセージに再接続します。

参考

関数

プロパティ

トピック