メインコンテンツ

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

Simulink による CAN 通信向け ARXML ファイルアクセス入門

この例では、CAN Pack ブロックおよび CAN Unpack ブロックで ARXML ファイルを使用する方法を示します。これらのファイルには、有効な CAN ネットワークの説明が含まれている必要があります。

モデルの作成と構成

図に示すようなモデルを作成します。このモデルでは、MathWorks 仮想チャネルが使用され、ループバック構成で接続されます。

CAN Pack ブロックを使用して、車両の速度と適用されたブレーキ力を表す 2 つの信号を送信前に符号化してパックします。そのためには、例で提供されているシンプルな ARXML ファイル内の定義を使用します。CAN Pack ブロックのマスクを開き、「データの入力方法」パラメータに「ARXML 指定信号」オプションを選択します。次に、「データベース ファイル」フィールドを更新するには、「参照」ボタンからファイル「small_file.arxml」を選択し、「適用」をクリックします。ファイルで定義されている唯一のフレーム (Frame_A) の内容に基づいて、'Signals' テーブルとブロックの入力ポートが更新されます。ARXML ファイルで複数の CAN フレームが定義されている場合、それらの名前は「メッセージ」ペイン内のドロップダウン メニュー「名前」に表示されます。

同様の方法で、CAN Unpack ブロックを構成します。このブロックは Function-Call Subsystem に配置する必要があり、関数呼び出しはそれに接続された CAN Receive ブロックによって提供されます。このようにして、受信したすべてのフレームがアンパックされます。(関数呼び出しで CAN Unpack の実行を制御しない場合、各シミュレーション タイム ステップで、ブロックは CAN Receive ブロックによって受信された最新のフレームのみをアンパックすることに注意してください。)

図に示すように、ソース ブロックを CAN Pack の入力に接続し、スコープ ブロックまたは表示ブロックを CAN Unpack の出力に接続します。

シミュレーションの実行

シミュレーションを実行して、ループバック接続を介した信号値の伝播を確認します。ARXML ファイルに含まれる定義に従って範囲と精度が制限され、 '信号' テーブルにまとめられた入力値を試します。たとえば、Vehicle_Speed は非負で、上限は 255 であり、8 ビットで表されるため、最小の増分は 1 です。

参考

ブロック