このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。
.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
という名前のメッセージがあります。この例を試すには、独自のデータベースの定義を使用してメッセージと信号を作成します。
CAN データベース オブジェクトを作成します。
d = canDatabase("C:\myVNTData\demoVNT_CANdbFiles.dbc");
データベース内のメッセージ名を使用して CAN メッセージを作成します。
message = canMessage(d,'EngineMsg');
構築されたCANメッセージ内のアクセス信号
サンプル データベース message
で作成したメッセージに対して定義された 2 つの信号にアクセスできます。一部の信号の値を変更することもできます。
メッセージに信号を表示するには、次のように入力します。
sig = message.Signals
sig = struct with fields: VehicleSpeed: 0 EngineRPM: 250
EngineRPM
信号の値を変更します。message.Signals.EngineRPM = 300;
信号を再割り当てし、再度表示して変更を確認します。
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'
データベース情報の更新
データベース ファイルに変更を加えると、次のようになります。
canDatabase
関数を使用して、データベース ファイルを MATLAB セッションに再ロードします。attachDatabase
関数を使用してデータベースをメッセージに再接続します。