このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
条件付きシステムのあるバリアントシステム
启用、触发、重置,および函数调用子系统などの条件付きで実行されるシステム(制御端子)を不同的子系统ブロック内で使用できます。[ブロックパラメーター]ダイアログボックスで[バリアントのアクティベーションのタイミング]パラメーターが[コードのコンパイル]
に設定されている場合,不同的子系统ブロック内の制御端子をバリアントの選択肢として混在させることはサポートされません。また,すべての制御端子のタイプは同じ名前でなければなりません。条件付きで実行されるサブシステムの詳細については,条件付き実行サブシステムの概要を参照してください。
变体子系统をもつエクスポート関数モデル
不同的子系统ブロックを含む变体モデルについて考えます。函数调用システムを线性
子系统ブロックのバリアントの選択肢として使用する場合,不同的子系统ブロック内の他の子系统ブロック(非线性
)でも函数调用システムがバリアントの選択肢でなくてはなりません。さらに,线性
ブロックおよび非线性
ブロック内の制御端子,および対応する轮廓尺寸ブロックは,同じ名前(fcn
)でなければなりません。
生成されたコードにおいて,fcn定義内のコードはエクスポート関数内のCプリプロセッサの条件によって保護されます。
fcn() {#if vsssmode ==0 //代码线性选择.......#endif #if vsssmode ==1 //非线性选择的代码.......# endif
模型ブロックを使用するマルチポイントエントリ関数をもつ類似のモデル化パターンも使用できます。例は次のとおりです。
上記の例では,fcln1
、fcln2
,およびfcln3
は模型ブロックをバリアントの選択肢として使用して,变体子系统を通るようルーティングされています。
これらの条件は,バリアントの選択肢としての不同的子系统ブロック内で条件付きで実行されるシステムを使用するときにはサポートされません。
バリアントの選択肢としての行动端子
[プリプロセッサの条件を生成]が[オン]に設定されている迭代器端子を含むバリアントの選択肢
初始化、重置、终止,および金宝app関数のあるモデル
メモ
初期化イベント端子と終了イベント端子は,参照モデルの初期化イベントおよび終了イベントを,モデルの既定値とブロック固有値両方について制御しているため,常に無条件です。参照モデルに初始化函数ブロックを定義した場合,それは明示的な初期化イベントに対応します。
使子系统を選択肢としてもつ变体子系统
不同的子系统ブロックを含む变体モデルについて考えます。使子系统を线性
子系统ブロックのバリアントの選択肢として使用する場合,不同的子系统ブロック内の他の子系统ブロック(非线性
)でも使子系统がバリアントの選択肢でなければなりません。
このモデルは,VSSMODE
の値に基づいてシミュレーションとコード生成を行います。
生成コードのスニペットを以下に示します。
step() {#if vsssmode ==0 //线性选择的代码.......#elif VSSMODE==1 //非线性选择的代码.......# endif