このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
初期化モードは,金宝appSimulink的®が条件付き実行サブシステムに対する初期化値をどのように处理するのかを制御します。
[クラシック]
モードはR2013b以前に作成されたSim金宝appulink的モデルの既定の初期化モードでした。以下のような场合は,クラシックモードを引き続き使用できます。
简易モードによる影响を受けるモデル要素がモデルに含まれていない场合。
简易モードの动作と要件がモデル化の目的に合わない场合。
簡易モードへの変換に伴う作業量が簡易モードの利点よりも問題になる場合。初期化モードのクラシックから簡易への変換を参照してください。
クラシック初期化モードを设定するには,次を行います。
[コンフィギュレーションパラメーター]ダイアログボックスを開きます。[モデル化]タブおよび[設定]セクションで,[モデル設定)を選択します。
検索ボックスで,[指定不足の初期化の検出]を入力します。
ドロップダウンリストから[クラシック]
を選択します。
クラシック初期化モードを使用すると,以下のような問題の1つ以上が発生する場合があります。これらの問題は,簡易モードを使用することによって解決できます。各問題の説明には,クラシックモードでの動作の例,簡易モードを使用した場合の動作,簡易モードを使用するために行う必要のある変更の概要を含めています。
同一のサブシステムを含む各条件付きサブシステムは,以下の両方が该当する场合,最初の実行の前に异なる初期値を表示する场合があります。
モデルがクラシック初期化モードを使用している。
1つ以上の同一サブシステムが恒等変換ブロックに出力する。
クラシック初期化モードを使用し,出力が离散时间积分器ブロックまたはs函数ブロックに接続している条件付きサブシステムでは,出力の不整合が発生する場合があります。
クラシック初期化モードを使用した条件付きサブシステムの実行順序は,合并ブロックに接続したときに,合并ブロックの出力に影響を及ぼす場合があります。ブロックの実行順序が変化すると,予期しない結果が得られる場合があります。
合并ブロックのソースサブシステムブロックの名前を変更すると,合并ブロックの初期出力が変わる場合があります。
独自の初期出力値を指定しない合并ブロックに2つ以上のサブシステムが異なる初期出力値を提供している場合,いずれかのサブシステムの名前を変更すると,クラシック初期化モードの合并ブロックの初期出力値に影響する可能性があります。
金宝app仿真软件では,モデル参照の境界で接続された2つの外港ブロック間の設定に対して正しい整合性のチェックは提供されません。
モデルをクラシックモードから简易モードに変换する场合の作业についての详细は,初期化モードのクラシックから簡易への変換を参照してください。
同一のサブシステムを含む各条件付きサブシステムは,以下の両方が该当する场合,最初の実行の前に异なる初期値を表示する场合があります。
モデルがクラシック初期化モードを使用している。
1つ以上の同一サブシステムが恒等変換ブロックに出力する。
恒等変换ブロックは,入力信号の値を変更しないブロックです。恒等変换ブロックの例として,信号转换ブロックや値1
が設定された获得ブロックが挙げられます。
ex_identity_transform_cl
モデルで,サブシステム一およびBが同一ですが,Bは获得ブロックに出力し,さらに外港ブロックに出力しています。
モデルのシミュレーションを実行したときに,一个
の初期値(范围ブロックの最上位の信号)は2
ですが,サブシステムが同一でもB
の初期値は0
です。
简易初期化モードを使用するようモデルを更新した场合(「ex_identity_transform_simpl
“を参照),モデルの外観は同じに見えます。ex_identity_transform_cl
をex_identity_transform_simpl
に変換する上で必要なステップは次のとおりです。
[指定不足の初期化の検出]を[簡易]
に設定します。
サブシステム一およのびB外港ブロックについて,(初期出力の値のソース]パラメーターを[入力信号]
に設定します。
[初期出力値のソース]パラメーターを[ダイアログ]
に设定して,[初期出力]パラメーターを3.
に設定する方法でも,動作の結果は同じになります。
更新されたモデルのシミュレーションを実行したときに,恒等変換の接続は結果を変更しません。どちらの場合も出力は一致します。
クラシック初期化モードを使用し,出力が离散时间积分器ブロックまたはs函数ブロックに接続している条件付きサブシステムでは,出力の不整合が発生する場合があります。
ex_discrete_time_cl
モデルで,有效なサブシステムに2つの恒ブロックと,离散时间积分器ブロックへの出力が含まれています。有效なサブシステムは,2つの显示ブロックに出力しています。
モデルのシミュレーションを実行すると,2つの显示ブロックに異なる値が表示されます。
条件付きサブシステムが无效な场合でも,离散时间积分器ブロックに接続しているCONSTANT1ブロックは実行されます。一番上の显示ブロックには,値2が表示されます。この値は,CONSTANT1ブロックの値です.Constant2ブロックは実行されないので,一番下の显示ブロックには値0が表示されます。
简易初期化モードを使用するようモデルを更新した场合(「ex_discrete_time_simpl
“を参照),モデルの外観は同じに見えます。更新されたモデルは,簡易モードを使用することで,出力の不整合の問題を解決します。ex_discrete_time_cl
をex_discrete_time_simpl
に変換する上で必要なステップは次のとおりです。
[指定不足の初期化の検出]を[簡易]
に設定します。
外港ブロック输出1および输出2について,(初期出力の値のソース]パラメーターを[入力信号]
に設定します。この設定により,初期値(この場合は2)を明示的に継承します。
[初期出力値のソース]パラメーターを[ダイアログ]
に设定して,[初期出力]パラメーターを2
に設定する方法でも,動作の結果は同じになります。
更新されたモデルのシミュレーションを実行すると,显示ブロックに同じ出力が表示されます。両方の外港ブロックがそれぞれの初期値を継承するので,出力値は2になります。
クラシック初期化モードを使用した条件付きサブシステムの実行順序は,合并ブロックに接続したときに,合并ブロックの出力に影响を及ぼす场合があります。ブロックの実行顺序が変化すると,予期しない结果が得られる场合があります动作。は,[ディセーブル時の出力)パラメーターをどのように設定しているかに依存します。
ex_basic_merge_sorted_order_1_cl
モデルには,同一の有効なサブシステムが2つ(启用と使B)存在し,合并ブロックに接続しています。モデルのシミュレーションを実行すると,ブロックの並べ替えられた実行順序が赤い数字で表示されます。
モデルのシミュレーションを実行すると,范围ブロックは以下のようになります。
ex_basic_merge_sorted_order_2_cl
モデルはex_merge_sorted_1_cl
と同じです。ただし,ブロックの実行順序は,既定の実行順序の逆になっています。実行順序を変更するには,次のようにします。
使サブシステムの[プロパティ]ダイアログボックスを開いて,[优先顺位]パラメーターを2
に設定します。
使Bサブシステムの[优先顺位]を1
に設定します。
异なる実行顺序を使ってモデルのシミュレーションを実行すると,范围ブロックは以下のようになります。
実行順序の変更によって,同一の条件付きサブシステムから異なる結果が生成されます。
モデルを更新して簡易初期化モード(“ex_basic_merge_sorted_order_1_simpl
“および”ex_basic_merge_sorted_order_2_simpl
“を参照)を使用するには,以下のようにします。
[指定不足の初期化の検出]を[簡易]
に設定します。
合并ブロックの[初期出力]パラメーターは,既定で空行列([]
)です。このため初期出力値は,このデータ型の既定の初期値(つまり,0)に設定されます。既定の初期値についての詳細は,信号値の初期化を参照してください。簡易モードモデルのシミュレーションをそれぞれ実行すると,両方のモデルで同じ結果が生成されます。
ex_merge_sorted_1_cl
モデルには,启用子系统が2つ(启用甲と启用B)存在し,合并ブロックに接続しています。モデルのシミュレーションを実行すると,ブロックの并べ替えられた実行顺序が赤い数字で表示されます。
モデルのシミュレーションを実行すると,范围ブロックは以下のようになります。
ex_merge_sorted_2_cl
モデルはex_merge_sorted_1_cl
と同じです。ただし,ブロックの実行順序は,既定の実行順序の逆になっています。実行順序を変更するには,次のようにします。
使サブシステムの[プロパティ]ダイアログボックスを開いて,[优先顺位]パラメーターを2
に設定します。
使Bサブシステムの[优先顺位]を1
に設定します。
异なる実行顺序を使ってモデルのシミュレーションを実行すると,范围ブロックは以下のようになります。
実行順序の変更によって,同一の条件付きサブシステムから異なる結果が生成されます。
モデルを更新して簡易初期化モード(“ex_merge_sorted_1_simpl
“および”ex_merge_sorted_2_simpl
“を参照)を使用するには,以下のようにします。
[指定不足の初期化の検出]を[簡易]
に設定します。
使A Bのおよび使外港ブロックについて,[ディセーブル時の出力)パラメーターを[保持]
に設定します。簡易モードは、合并ブロックを駆動する条件付きサブシステムの出力端子に対して[リセット]
をサポートしません。
簡易モードモデルのシミュレーションをそれぞれ実行すると,両方のモデルで同じ結果が生成されます。
ブロックパラメーターの多くは調整可能です。調整可能パラメーターは,モデルをコンパイルし直さなくてもパラメーターを変更することができます(モデルのコンパイルを参照)。たとえば,增益ブロックのゲインパラメーターは调整可能です。シミュレーションが実行されている间に,ブロックのゲインを変更することができます。シミュレーション中にパラメーターの调整ができないパラメーターについては,パラメーターを设定するダイアログボックスのコントロールが无效になります。
調整可能なパラメーターの値を変更した場合,変更内容は次のタイムステップの開始時に有効になります。
一般的に,システム,そして,モデル,出力の現在値は,一時的な変数の前の値の関数です。そのような変数は,状態と呼ばれます。したがって,ブロック線図からモデルの出力を計算するには,その次のタイムステップでの出力の計算で使うために,現在のタイムステップでの状態の値を保存する必要があります。この作業は,状態を定義するモデルに対してシミュレーション中に行われます。
金宝appSimulink的モデル内では2つのタイプの状态が起こりえます。连続と离散の状态です。连続状态は,连続的に変化します。连続状态の例は,自动车の位置と速度です。离散状态は,有限(周期的または非周期的)区间を使って状态が更新(再计算)される连続状态の近似です。离散状态の例は,连続状态とは対照的に,毎秒更新される走行距离计に表示される自动车の位置です。この制限においては,离散状态の区间がゼロに近付くと,离散状态は连続状态に等しくなります。
ブロックは,暗黙的にモデルの状態を定義します。特に現在の出力を計算するために前の出力の一部またはすべてを必要とするブロックは,タイムステップ間で保存する必要がある状態を暗黙的に定義します。そのようなブロックは状態をもつと言われます。
以下は,状態をもつブロックのグラフィカルな表現です。
连続状态を定义するブロックは,以下の标准のS金宝appimulink的ブロックを含みます。
モデルの状態の総数は,そのすべてのブロックによって定義されるすべての状態の和です。ブロック線図で状態数を決定することは、それが含むブロックのタイプを決定するためにブロック線図を解釈し、状態を定義するブロック タイプの各インスタンスによって定義される状態の数の総計を取る必要があります。この作業は、シミュレーションのコンパイル段階中に行われます。
金宝app仿真软件では,モデル参照の境界で接続された2つの外港ブロック間の設定に対して正しい整合性のチェックは提供されません。
金宝appSimulink中では,以下の条件がすべて真のときに,伪警告または警告なしがスローされます。
オプション[指定不足の初期化の検出]設定が[クラシック]
に設定されている。
モデルが模型ブロックを含んでいる。
参照モデルで,ルートの外港ブロックが条件付きで実行されるサブシステムによって直接(またはバーチャルブロックを介して间接的に)駆动される。このシナリオでは,条件付きで実行されるサブシステムの出力に対応する外港ブロックは“ソース”外港ブロックです。
最上位モデルで,ソース外港ブロックによって駆動される模型ブロックの出力端子が,条件付きで実行されるサブシステムの “接続先”外港ブロックを駆动する。
ソースと接続先の両方の外港ブロックが同じモデル内にあり,両方の外港ブロックに対する設定[初期出力]と[ディセーブル時の出力)(该当する场合)が异なる场合,S金宝appimulink中はエラーをスローします。ただし,前述の场合,Simulink中は2つの外港ブロックに同じ设定がある场合は伪警告をスローするか,异なる场合は警告またはエラーをスローしません。