cgsl_0405: コンポーネント展開用のデータ受信
ID: タイトル | cgsl_0405: コンポーネント展開用のデータ受信 | |||
---|---|---|---|---|
説明 | A | ターゲット プラットフォームの受信側サービスの呼び出しをモデル化するには、In Bus Element ブロックまたは Inport ブロックを使用します。 | ||
B | データに同時アクセス用のセーフガードを適用するには、[During Execution] または [Outside Execution] の通信方法を使用するように構成されたサービス インターフェイスにコンポーネントの入力端子をマッピングします。
| |||
C | データへの同時アクセスが重要でない場合は、[Direct Access] の通信方法を使用するように構成されたサービス インターフェイスにコンポーネントの入力端子をマッピングします。この場合、データ アクセスに対するセーフガードは提供されません。 | |||
根拠 | 生成コードがターゲット プラットフォーム環境で必要なデータ通信方法と揃います。 | |||
モデル アドバイザー チェック | 受信側サービスのサービス インターフェイスは 3 つのデータ通信方法のいずれかを使用するように構成されていなければならないため、このガイドラインについてはモデル アドバイザー チェックは必要ありません。 | |||
例 | ターゲット プラットフォームのデータ受信側サービスを呼び出すためのデータ通信方法の指定 この例では、データ通信方法を [Outside Execution] に設定します。 void CD_integrator(void) { . . . for (i = 0; i < 10; i++) { . . . rtDWork.DiscreteTimeIntegrator_PREV_U[i] = (get_CD_integrator_input())[i]; } . . . } この例では、データ通信方法を [During Execution] に設定します。 void CD_integrator(void) { . . . real_T tmp[10]; . . . get_CD_integrator_input(&tmp[0]); . . . for (i = 0; i < 10; i++) { . . . rtDWork.DiscreteTimeIntegrator_PREV_U[i] = tmp[i] } . . . } この例では、データ通信方法を [Direct Access] に設定します。 void CD_integrator(void) { . . . for (i = 0; i < 10; i++) { . . . ... = CD_sig.In[i]; } . . . } |
参考
Code Interfaces and Code Interface Specification (Embedded Coder)
Receiver and Sender Service Interfaces (Embedded Coder)
Data Communication Methods (Embedded Coder)
Embedded Coder ディクショナリ (Embedded Coder)
Select Code Generation Output for Target Platform Deployment (Embedded Coder)
In Bus Elementブロック
Inportブロック
関数get
(Embedded Coder)