メインコンテンツ

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

Simulink における CAN の ARXML ファイル サポート

ブロックの機能強化

CAN Pack および CAN Unpack ブロックは、DBC ファイルが提供するよりも汎用的な ARXML ファイル構造をサポートします。ARXML ファイルでモデル化できるが、DBC ファイルには対応するものがない重要な要素は、プロトコル データ ユニット (PDU) です。

原則として、フレームには複数の PDU を含めることができますが、CAN の場合、AUTOSAR 標準ではフレームが 1 つの PDU のみを伝送するように制限されています。フレーム内の各信号のパラメータ値を決定するために、CAN Pack ブロックと CAN Unpack ブロックはファイル内で使用可能な PDU 情報を使用します。ただし、この情報はブロック マスクには表示されません。

ブロックの機能

次の図は、サンプルの ARXML ファイルから読み取ったデータで構成された CAN Pack ブロックのマスクを示しています。CAN Unpack ブロック マスクは CAN Pack に似ています。

CAN Pack mask for ARXML

ファイルが解析された後、ブロックは次のように情報を処理します。

  • CanFrameTriggerings のリストが抽出され、各 CanFrameTriggering は対応するフレームの CAN 識別子の値と CAN アドレス指定モード (識別子タイプ、つまり標準または拡張) を提供します。

  • フレーム名 (メッセージ リスト フィールドと Name フィールドに表示される) は、サポートされている PDU タイプを含むファイル内の任意のフレームの名前です。ISignalIPdus のみがサポートされているため、他の PDU タイプはスキップされ、対応するフレームはドロップダウン リストに表示されません。ファイル内でサポートされていない PDU が特定された場合、ブロックは診断ビューアで警告をスローします。

  • ファイル内の各 CanFrame 要素は、バイト単位で 長さ を提供します。

  • リモート フレーム フラグはファイルから読み取られないため、マスクで手動で指定するためのオプションはアクティブのままになります。

信号 テーブルは次のように入力されます。

  • CanFrame は、PDU の開始ビットとバイト順序を取得する、いわゆる PduToFrameMapping も提供します。この情報は、フレームに関して各信号の Start bitバイト順 の値を決定するために使用されます。

  • PduToFrameMapping から ISignalIPdu が復元され、そこから PDU 内の各信号のバイト順序と開始位置を提供する ISignalToIPduMappings が復元されます。次に、各 ISignalToIPduMappingISignal を参照し、そこから信号名とビット長を抽出します。これにより、信号 テーブルの最初の 4 つの列を埋めることができます。Start bit は、PDU スタート ビット (フレームを基準) と信号スタート ビット (PDU を基準) の組み合わせであり、バイト順序に依存することに注意してください。

  • データ型列の値は次のように決定されます。

    • ISignal が、baseType を定義する空でない networkRepresentationProps フィールドを提供する場合は、baseType を使用して、標準のルールに従って データ型 を決定します。

    • それ以外の場合、ブロック コールバックは CompuMethods で提供される情報に基づいてデータ型を推測しようとします。

    • データ型を判別できない場合は、デフォルトで値 signed が設定され、警告がスローされます。

  • 信号 テーブルの最後の 4 列は、各 ISignal に関連付けられた SystemSignal によって参照される CompuMethod で利用可能な情報に基づいて決定されます。

    • 線形スケーリング (つまり、物理 = 係数 * 内部 + オフセット) のみがサポートされます。

    • CompuMethods が欠落しているか不完全な場合、ブロックは上限または下限のない恒等関係に対応するデフォルト値を設定し、警告がスローされます。

一般に、データが欠落しているか不完全な場合、ブロックは警告をスローし、推論された値またはデフォルトに設定された値を変更するために Manually specified signals に切り替えることを提案します。この方法では、提供されたファイルが不完全な場合でもワークフローは中断されません。

制限

  • ISignalIPdus のみがサポートされています。

  • ARXML ファイルを使用する場合、多重化はサポートされません。それに応じて、「マルチプレックス タイプ」は「標準」に設定され、「マルチプレックス値」は「0」に設定されています。

  • IDENTICALLINEARSCALE_LINEAR、および空のカテゴリの CompuMethods:

    • カテゴリが SCALE_LINEAR の場合、単一の間隔 (つまり、LINEAR に相当) の場合のみがサポートされます。それ以外の場合は、デフォルト値が使用され、警告がスローされます。

    • カテゴリーが指定されていない場合は、LINEAR であると見なされます。コンテンツが想定と一致しない場合は、デフォルト値が使用され、警告がスローされます。

参考

ブロック