Main Content

cgsl_0406: コンポーネント展開用のデータ送信

ID: タイトルcgsl_0406: コンポーネント展開用のデータ送信
説明A

ターゲット プラットフォームの送信側サービスの呼び出しをモデル化するには、Out Bus Element ブロックまたは Outport ブロックを使用します。

B

データに同時アクセス用のセーフガードを適用するには、[During Execution] または [Outside Execution] の通信方法を使用するように構成されたサービス インターフェイスにコンポーネントの出力端子をマッピングします。

  • During Execution — アルゴリズムを実装する、生成される呼び出し可能な関数によって、データに同時アクセス用のセーフガードが適用されます。

  • Outside Execution — ターゲット プラットフォーム サービスによって、データに同時アクセス用のセーフガードが適用されます。

C

データへの同時アクセスが重要でない場合は、[Direct Access] の通信方法を使用するように構成されたサービス インターフェイスにコンポーネントの出力端子をマッピングします。この場合、データ アクセスに対するセーフガードは提供されません。

根拠生成コードがターゲット プラットフォーム環境で必要なデータ通信方法と揃います。
モデル アドバイザー チェック送信側サービスのサービス インターフェイスは 3 つのデータ通信方法のいずれかを使用するように構成されていなければならないため、このガイドラインについてはモデル アドバイザー チェックは必要ありません。

ターゲット プラットフォームのデータ送信側サービスを呼び出すためのデータ通信方法の指定

Embedded Coder dictionary interface for selecting the data communication method

この例では、データ通信方法を [Outside Execution] に設定します。

void CD_accumulator(void)
{
  .
  .
  .
  for (i = 0; i < 10; i++) {
    .
    (set_CD_accumulator_out())[i] = CD_param.tunable_gain * CD_sig.delay[i];
  }
}

この例では、データ通信方法を [During Execution] に設定します。

void CD_accumulator(void)
{
  real_T out[10];
  .
  .
  .
  for (i = 0; i < 10; i++) {
    .
    out[i] = CD_param.tunable_gain * CD_sig.delay[i];
  }
  set_CD_accumulator_out(&out[0]);
}

この例では、データ通信方法を [Direct Access] に設定します。

void CD_accumulator(void)
{
  .
  .  
  .
  for (i = 0; i < 10; i++) {
    .
    .
    .
    CD_sig.out[i] = CD_param.tunable_gain * CD_sig.delay[i];
  }
}

バージョン履歴

すべて展開する

R2022b で導入