Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

自動バス変換の特定

合成信号の要件や制限に準拠するために、Simulink® は非表示の Bus to Vector ブロックと Signal Conversion ブロックをモデルに追加する場合があります。これらの追加により、時間がかかり、エラーが発生しやすいモデルの手動による変換やリファクタリングの回避に役立ちます。

バスからベクトルへの変換

ベクトルを必要とするブロックがバーチャル バスを受け取る場合、非表示の Bus to Vector ブロックはバスをベクトルに変換する場合があります。Bus to Vector ブロックはバーチャルであり、シミュレーション、コード生成またはパフォーマンスには影響しません。ただし、バスがベクトルとして扱われると、バスの要素にアクセスできなくなります。

バスがベクトルとして扱われるときに警告またはエラーを受け取るには、[ベクトルとして扱われるバス信号] コンフィギュレーション パラメーターをそれぞれ [警告] または [エラー] に設定します。これらの設定により、潜在的な問題は、バスを必要とする下流ブロックではなく、ソースで特定できるようになります。

ベクトルとして使用されるバスを修正するには、次の手順を実行します。

バーチャルおよび非バーチャル バスの変換

シミュレーションまたはコード生成の前にブロック線図を更新する場合、Simulink はバーチャル バスを非バーチャル バスに、または非バーチャル バスをバーチャル バスに自動的に変換することがあります。たとえば、Simulink では、次の場合にバスが暗黙的に変換されます。

  • S-Function ブロックなどのブロックまたは Stateflow® チャートはバーチャル バスを受け取りますが、必要とするのは非バーチャル バスです。

  • 参照モデルは非バーチャル バスを必要としますが、対応する入力端子ではバーチャル バスが指定されています。

  • ルートレベルの出力端子は非バーチャル バスを受け取りますが、バーチャル バスを指定します。

Simulink は、非表示の Signal Conversion ブロックをモデルの必要な箇所に挿入します。Simulink.Bus オブジェクトがバーチャル バスに対して指定されていない場合、非バーチャル バスへの変換は失敗し、エラーが発生します。

Bus to Vector ブロックとは異なり、Signal Conversion ブロックは出力バスの構造体に影響しません。

参考

ブロック

関連する例

詳細