主要内容

积分器有限

  • ラ电子邮箱ブラリ:
  • 金宝appSimulink / Continuous

  • Integrator有限块

説明

积分器有限ブロックは,积分器ブロックと基本的には同じですが,ブロックの出力が飽和の上限値と下限値で制限される点が異なります。詳細にいては,積分の制限を参照してください。

金宝app®は,积分器ブロックを1の状態を有する動的システムとして扱います。このブロックのダ@ @ナミクスは次式で与えられます。

x ˙ t u t y t x t x t 0 x 0

ここで,

  • Uはブロックの入力。

  • Yはブロックの出力。

  • Xはブロックの状態。

  • x0はxの初期条件。

これらの式は,連続時間における厳密な関係を定義しますが,金宝app仿真软件は,数値近似法を用いてこれらの式を有限精度で評価します。金宝app仿真软件では,それぞれが特定のアプリケーションで利点をもつ複数の異なる数値積分法を使用してブロックの出力を計算することができます。各数値積分法には,アプリケ,ションに応じた利点があります。[コンフィギュレーション パラメーター] ダイアログ ボックスの[ソルバ]ペescン([ソルバ,cn]ペを参照)を使用してアプリケ,ションに最も適した技法を選択してください。

選択されたソルバーは,(現在の入力値と前のタイムステップでの状態の値を使用して)現在のタイムステップでの积分器ブロックの出力を計算します。积分器ブロックはこの計算モデルをサポートするために,次のタイムステップでのそのブロックの出力を計算するときにソルバーが使用できるように現在のタイムステップでの当該ブロックの出力を保存します。このブロックはまた,シミュレーションの実行開始時のそのブロックの初期状態を計算するときに使用する初期条件をソルバーに提供します。初期条件の既定値は0です。このブロックのパラメーターダイアログボックスでは,初期条件に別の値を指定したり,ブロック上の初期値入力端子を作成したりすることも可能です。

パラメタのダアログボックスは,以下に使用できます。

  • 積分の上限と下限を定義します。

  • ブロック出力(状態)を入力の変化に応じて初期値にリセットするための入力を作成します。

  • ブロックの出力値によってブロックリセットをトリガ,できるようにオプションの状態出力を作成します。

純粋な離散システムを作成するには,离散时间积分器ブロックを使用します。

初期条件の定義

初期条件は,このブロックのダイアログボックスでパラメーターとして定義するか,または外部信号から入力できます。

  • ブロックパラメ,タ,として初期条件を定義するには,[初期条件のソ,ス]パラメ,タ,を内部として指定し,[初期条件]フィ,ルドに値を入力します。

  • 外部ソ,スから初期条件を取得するには,[初期条件のソ,ス]パラメ,タ,を外部に指定します。ブロック入力の下に追加の入力端子が表示されます。

    メモ

    積分器がその出力を制限している場合(積分の制限を参照),初期条件はその積分器の飽和の制限値内でなければなりません。初期条件がブロック飽和の制限値外にある場合、このブロックはエラー メッセージを表示します。

巡回状態のラッピング

いくかの物理的な現象は,巡回的,周期的または回転的な性質をもます。このような現象の例として,回転運動を示すオブジェクトまたは機械および発振器などがあります。

これらの現象を仿金宝app真软件でモデリングするには,周期または巡回信号の変化率を統合して,動作の状態を取得します。

ただし,このアプローチには,シミュレーションの時間範囲が長時間であり,周期または巡回信号を表す状態が大きい値に統合されるという欠点があります。さらに,これらの信号の正弦または余弦の計算には,角度の減少により長時間かかります。信号の値が大きいと、ソルバ、のパフォ、マンスや精度にマ、ナスの影響も与えます。

この欠点に対処するアプロチの1は,2π0に(または数値の対称性の場合はnに達したときに-πに)リセットすることです。このアプロ,チによって,正弦および余弦の計算の精度が改善され,角度の減少時間が短縮されます。ただし,このアプローチにはゼロクロッシング検出も必要で,ソルバーのリセットが導入されるため,特に大きいモデルでは可変ステップソルバーのシミュレーションが低速になります。

ラップポイントでのソルバーのリセットを回避するために,积分器ブロックはラップした状態をサポートします。これはブロックのパラメタのダアログボックスで[状態のラップ]をオンにして有効にできます。[状態のラップ]を有効にすると,ブロックアaaplコンが変化し,ブロックがラッピング状態であることを示します。

金宝app仿真软件では,ラップした状態の上限値および下限値パラメーターによってラッピング状態の範囲を使用できるようになります。ラッピング状態を決定するアルゴリズムは,次の式で示されます。

y x x x l x u x x u x l x x l x u x l 否则

ここで,

  • xlはラッピングした状態の下限値です。

  • xuはラッピングした状態の上限値です。

  • Yは出力です。

ラッピング状態のサポ,トには,以下の利点があります。

  • モデルが大角度および大きな状態値に近づいたときのシミュレ,ションの不安定性を回避。

  • シミュレーション中にソルバーのリセット数が削減され,ゼロクロッシング検出の必要性がなくなり,シミュレーション時間が向上。

  • 大角度値が回避され,角度状態の三角関数の計算が高速化。

  • ソルバ,の精度とパフォ,マンスが向上し,無制限なシミュレ,ション時間が実現。

積分の制限

出力が指定可能なレベルを超えないようにするには,[出力を制限する]チェックボックスをオンにして,対応するパラメ,タ,フィ,ルドに制限値を入力します。この操作により,ブロックは制限付きの積分器として機能します。出力が制限値に達すると、積分動作はオフになり、積分が設定値を超えるのを回避します。シミュレーション中、制限値を変更できますが、出力が制限されているかどうかは変更できません。ブロックは出力を以下のように決定します。

  • 積分が[飽和の下限]以下のとき,出力は[飽和の下限]に保たれます。

  • 積分値が[飽和の下限][飽和の上限]の間にあるとき,出力は積分値となります。

  • 積分が[飽和の上限]以上のとき,出力は[飽和の上限]に保たれます。

状態が制限されていることを示す信号を生成するには,[飽和端子の表示]チェックボックスをオンにします。飽和端子はブロック出力端子の下に表示されます。

信号は,次の3の値のいずれかをもます。

  • 1は,上限が適用されていることを示します。

  • 0は,積分が制限されないことを示します。

  • -1は,下限が適用されていることを示します。

このチェックボックスをオンにした場合,ブロックは以下の3のゼロクロッシングをもます。1。もう1は飽和下限にい。最後の1は飽和をい。

メモ

积分器有限ブロックの場合,既定の設定では[出力を制限する]が選択され,[飽和の上限]1[飽和の下限]0に設定されます。

状態のリセット

このブロックは,そのブロックの状態を外部信号に基づいて指定された初期条件にリセットできます。ブロックが状態をリセットするようにするには,[外部リセット]からいずれかを選択します。ブロックの入力端子の下にトリガー端子が表示されて、トリガー タイプを示します。

  • [立上がり]を選択すると,リセット信号が負の値または0から正の値に立上がるときに,状態をリセットします。

  • [立下がり]を選択すると,リセット信号が正の値から0または負の値に立下がるときに,状態をリセットします。

  • [両方]を選択すると,リセット信号が0から非ゼロ値に,非ゼロ値からゼロに,または符号が変化するときに,状態をリセットします。

  • レベルを選択すると,リセット信号が現在のタイムステップで非ゼロであるとき,または以前のタイムステップでの非ゼロから現在のタイムステップでの0まで変化するときに,状態をリセットします。

  • [レベルを保持]を選択すると,リセット信号が現在のタaaplムステップで非ゼロであるときに,状態をリセットします。

リセット端子は直達をもます。ブロック出力がこの端子に (直接に、または直達のある一連のブロックを介して) フィードバックする場合、代数ループが生成されます (代数ル,プの概念を参照)。积分器ブロックの状態端子を使用すると,代数ループを生成せずにこのブロックの出力をフィードバックできます。

メモ

汽车工业软件可靠性协会(MISRA®)ソフトウェア標準規格に準拠するために,モデルで布尔信号を使って积分器ブロックの外部リセット端子を駆動する必要があります。

状態端子にいて

积分器ブロックのパラメタダアログボックスの[状態端子の表示]チェックボックスをオンにすると,この积分器ブロックの上に追加の出力端子(状態端子)が表示されます。

状態端子の出力は,以下のケ,スを除きこのブロックの標準出力端子の出力と同じです。このブロックが現在のタイムステップでリセットされた場合,状態端子の出力はそのブロックがまだリセットされていないときのブロックの標準出力値と一致します。状態端子の出力は,そのタイムステップにおいて,整数ブロックの出力端子の出力よりも前に出力されます。状態端子を使用すると,次のモデル化のシナリオで代数ル,プが発生することを避けることができます。

  • 積分器を自己リセットするとき(自己リセット積分器の作成を参照)。

  • ある启用子系统から別の启用子系统へ状態を引き渡すとき(已启用的子系统間での状態の受け渡しを参照)。

    メモ

    金宝app仿真软件はモデルを更新するときに,これら2つのシナリオのどちらかで状態端子が適用されていることを確認します。適用されていない場合,エラ,メッセ,ジが表示されます。また,アクセラレータモードで実行する参照モデルにおいて,この端子の出力のログを作成することはできません。この端子に対し,ログが有効な場合,金宝app仿真软件は,参照されるモデルの実行中に“信号が見つかりません”という警告を発生します。

自己リセット積分器の作成

积分器ブロックの状態端子を使用すると,出力の値に基づいて自分自身をリセットする積分器を作成するときに代数ループを作成することを回避できます。たとえば,以下のモデルにいて考察します。

このモデルは(1から減算した)積分器の出力をその積分器のリセット端子にフィードバックすることにより自己リセット積分器を作成しようとします。しかし,このモデルでは代数ル,プが生成されます。积分器ブロックの出力を計算するには、そのブロックのリセット信号の値を Simulink に知らせる必要があり、またその逆についても同様です。これら 2 つの値は互いに依存し合っているため、Simulink はどちらの値も決定することができません。したがって、このモデルのシミュレーションまたは更新を試みた場合は、エラー メッセージが表示されます。

以下のモデルでは,積分器の状態端子を使って代数ル,プを回避しています。

このバ,ジョンでは,リセット信号の値が状態端子の値に依存します。状態端子の値は,积分器ブロックの出力端子の値より前の現在のタイムステップで有効になります。そのため,金宝app仿真软件はこのブロックの出力を計算する前にそのブロックをリセットする必要があるかどうか判断することが可能になり,その結果として代数ループを回避できます。

已启用的子系统間での状態の受け渡し

状態端子では2つの启用子系统間で状態を受け渡すときに代数ループを回避できます。たとえば,以下のモデルにいて考察します。

启用子系统であるAおよびBには次のブロックが含まれています。

サブシステムa サブシステムb

このモデルでは,信号を積分する2つの启用子系统を定数入力信号が駆動します。パルス発生器は,2のサブシステム間で実行を交互に入れ替える。各サブシステムのイネーブル端子は,リセットに設定されているので,サブシステムはアクティブになると積分器をリセットします。積分器をリセットすると,積分器はその初期条件端子の値を読み取ります。各サブシステム内の積分器の初期条件端子は,他のサブシステム内の積分器の出力端子に接続されています。

このように接続してあるのは,2つのサブシステム間で実行が交互に入れ替わるときに入力信号の連続積分を有効にするためです。しかし,この接続は代数ル,プを生み出します。一个の出力を計算するには,金宝app仿真软件がBの出力を知る必要があり,またその逆についても同様です。これらの出力は互いに依存し合っているため,金宝appSimulinkは出力値を計算することができません。したがって,このモデルのシミュレーションまたは更新を試みた場合は,エラーメッセージが表示されます。

同じモデルの以下のバ,ジョンでは,状態を受け渡すときに代数ル,プが作成されるのを回避するために積分器の状態端子を使用します。

启用子系统であるAおよびBには次のブロックが含まれています。

サブシステムa サブシステムb

このモデルでは,の積分器の初期条件がBの積分器の状態端子の値に依存し,またその逆についても同様です。状態端子の値は,シミュレーションのタイムステップにおいて積分器の出力端子の値より前に更新されます。そのため,金宝app仿真软件は他の積分器の最終出力値を知らなくてもどちらか一方の積分器の初期条件を計算できます。条件付き実行サブシステム間で状態を引き渡すために状態端子を使用するもう1の例にいては,クラッチロックアップモデルの作成を参照してください。

ブロックの出力の絶対許容誤差を指定する

既定では,金宝app仿真软件ソフトウェアは[コンフィギュレーションパラメーター]ダイアログボックスで指定した絶対許容誤差値(可変ステップソルバ,の許容誤差を参照)を使用して,积分器ブロックの出力を計算します。この値で十分な誤差制御を得られない場合は,より適切な値を,积分器ブロックのダイアログボックスの[絶対許容誤差]フィ,ルドに指定します。指定した値は,ブロックのすべての出力を計算するために使用されます。

すべてのオプションの選択

すべてのオプションが選択された場合,ブロックア。

端子

入力

すべて展開する

統合する必要のある信号。

デ,タ型:

外部信号に基づいて指定された初期条件に状態をリセットします。状態のリセットを参照してください。

依存関係

この端子を有効にするには,[外部リセット]パラメ,タ,を有効にします。

デ,タ型:布尔

外部信号からブロックの状態の初期条件を設定します。

依存関係

この端子を有効にするには,[初期条件]パラメ,タ,を[外部]に設定にします。

デ,タ型:

出力

すべて展開する

統合された状態を出力します。

デ,タ型:

状態が制限されていることを示します。指定された[飽和の上限]で積分が制限されている場合,信号には1の値があります。信号が[飽和の下限]で制限されている場合,信号の値は-1です。積分値が飽和の制限内にある場合,信号値は0です。積分の制限を参照してください。

デ,タ型:

ブロックの状態を出力します。状態端子にいてを参照してください。

依存関係

[状態端子の表示]パラメ,タ,を有効にして,この端子を有効にします。

デ,タ型:

パラメタ

すべて展開する

外部リセット信号で使用するトリガのタプを指定します。

  • [立上がり]を選択すると,リセット信号が負または0の値から正の値に立ち上がるとき,あるいは負の値から0の値に立ち上がるときに状態をリセットします。

  • [立下がり]を選択すると,リセット信号が正の値から0または負の値に立ち下がるとき,あるいは0の値から負の値に立ち下がるときに状態をリセットします。

  • [両方]を選択すると,リセット信号が0から非ゼロ値に,非ゼロ値からゼロに,または符号が変化するときに,状態をリセットします。

  • レベルを選択すると,リセット信号が現在のタイムステップで非ゼロであるとき,または以前のタイムステップでの非ゼロから現在のタイムステップでの0まで変化するときに,状態をリセットします。

  • [レベルを保持]を選択すると,リセット信号が現在のタaaplムステップで非ゼロであるときに,状態をリセットします。

プログラムでの使用

ブロックパラメタ:ExternalReset
型:文字ベクトル,字符串
値:“没有”|“上升”|“下降”|“不是”|“水平”|“持有水平”
既定の設定:“没有”

初期条件のソ,スを選択します。

  • 内部- - - - - -[初期条件]ブロックパラメ,タ,から状態の初期条件を取得します。

  • 外部- - - - - -(集成电路)入力端子経由で外部ブロックから状態の初期条件を取得します。

依存関係

内部を選択すると,[初期条件]パラメ,タ,が有効になります。

[外部]を選択すると,[初期条件]パラメ,タ,が無効になり,(集成电路)入力端子が有効になります。

プログラムでの使用

ブロックパラメタ:InitialConditionSource
型:文字ベクトル,字符串
値:“内部”|“外部”
既定の設定:“内部”

积分器ブロックの初期状態を設定します。

ヒント

このブロックの初期状態を,またはにすることはできません。

依存関係

[初期条件のソ,ス]を[内部]に設定すると,このパラメ,タ,が有効になります。

[初期条件のソ,ス]を[外部]に設定すると,このパラメ,タ,が無効になります。

プログラムでの使用

ブロックパラメタ:InitialCondition
タ电子邮箱プ:スカラ,またはベクトル
既定の設定:' 0 '

ブロックの出力が[飽和の下限]パラメ,タ,と[飽和の上限]パラメ,タ,の間の値に制限されます。

  • このチェックボックスをオンにすると,ブロックの出力が[飽和の下限]パラメ,タ,と[飽和の上限]パラメ,タ,の間の値に制限されます。

  • このチェックボックスをオフにするとブロックの出力値は制限されません。

依存関係

このパラメ,タ,を選択すると,[飽和の下限]パラメ,タ,と[飽和の上限]パラメ,タ,が有効になります。

プログラムでの使用

ブロックパラメタ:LimitOutput
型:文字ベクトル,字符串
値:“关闭”|“上”
既定の設定:“关闭”

積分の上限をスカラ,ベクトル,または行列として指定します。[出力の最小値]パラメ,タ,値と[出力の最大値]パラメ,タ,値の間の値を指定しなければなりません。

依存関係

このパラメ,タ,を有効にするには,[出力を制限する]チェックボックスをオンにします。

プログラムでの使用

ブロックパラメタ:UpperSaturationLimit
型:文字ベクトル,字符串
値:スカラ,|ベクトル,|行列
既定の設定:“正”

積分の下限をスカラ,ベクトル,または行列として指定します。[出力の最小値]パラメ,タ,値と[出力の最大値]パラメ,タ,値の間の値を指定しなければなりません。

依存関係

このパラメ,タ,を有効にするには,[出力を制限する]チェックボックスをオンにします。

プログラムでの使用

ブロックパラメタ:LowerSaturationLimit
型:文字ベクトル,字符串
値:スカラ,|ベクトル,|行列
既定の設定:“负”

[ラップした状態の上限値]パラメ,タ,から[ラップした状態の下限値]パラメ,タ,までの状態のラッピングを有効にします。状態のラップを有効にすると、ゼロクロッシング検出が必要なくなり、ソルバーのリセットが削減され、ソルバーのパフォーマンスと精度が向上し、回転および巡回状態軌跡のモデリング時のシミュレーションの時間範囲を増やすことができます。

[ラップした状態の上限値][ラップした状態の下限値]に指定すると,ラッピングは実行されません。

依存関係

このパラメ,タ,を選択すると,[ラップした状態の上限値]パラメ,タ,と[ラップした状態の下限値]パラメ,タ,が有効になります。

プログラムでの使用

ブロックパラメタ:WrapState
型:文字ベクトル,字符串
値:“关闭”|“上”
既定の設定:“关闭”

ブロック出力の上限。

依存関係

このパラメ,タ,は[状態のラップ]を選択すると有効になります。

プログラムでの使用

ブロックパラメタ:WrappedStateUpperValue
タ电子邮箱プ:スカラ,またはベクトル
値:“2 *π”
既定の設定:“π”

ブロック出力の下限を指定します。

依存関係

このパラメ,タ,は[状態のラップ]を選択すると有効になります。

プログラムでの使用

ブロックパラメタ:WrappedStateLowerValue
タ电子邮箱プ:スカラ,またはベクトル
値:' 0 '
既定の設定:“-π”

このチェックボックスをオンにして,ブロックに飽和出力端子を追加します。このチェックボックスをオフにすると,ブロックは飽和出力端子をもません。

依存関係

このパラメ,タ,を選択すると,飽和出力端子が有効になります。

プログラムでの使用

ブロックパラメタ:ShowSaturationPort
型:文字ベクトル,字符串
値:“关闭”|“上”
既定の設定:“关闭”

このチェックボックスをオンにして,ブロックに状態出力端子を追加します。このチェックボックスをオフにすると,ブロックは状態出力端子をもません。

依存関係

このパラメ,タ,を選択すると,状態出力端子が有効になります。

プログラムでの使用

ブロックパラメタ:ShowStatePort
型:文字ベクトル,字符串
値:“关闭”|“上”
既定の設定:“关闭”
  • 汽车または1を入力した場合,仿真软金宝app件は[コンフィギュレーションパラメーター]ダイアログボックス([ソルバ,cn]ペを参照)の絶対許容誤差の値を使用してブロックの状態を計算します。

  • 実数のスカラーを入力した場合,ブロックの状態計算における[コンフィギュレーションパラメーター]ダイアログボックスの絶対許容誤差は,この値でオーバーライドされます。

  • 実数のベクトルを入力した場合,ベクトルの次元はブロックの連続状態の次元と一致していなければなりません。[コンフィギュレションパラメタ]ダアログボックスの絶対許容誤差は,これらの値でオーバーライドされます。

プログラムでの使用

ブロックパラメタ:AbsoluteTolerance
型:文字ベクトル,字符串,スカラ,ベクトル
値:“汽车”|' 1 '|任意の正の実数のスカラ,またはベクトル
既定の設定:“汽车”

金宝app仿真软件の線形化のコマンドは,ブロックのリセットの設定と出力制限のオプションにかかわらず,このブロックをリセット不可能で,その出力が制限のないものとして取り扱うことができます。

ヒント

このチェックボックスを使用すると,積分器のリセットまたは飽和の原因となる操作点の周りで線形化することができます。

プログラムでの使用

ブロックパラメタ:IgnoreLimit
型:文字ベクトル,字符串
値:“关闭”|“上”
既定の設定:“关闭”

ゼロクロッシング検出を有効にする場合は選択します。詳細にいては,ゼロクロッシング検出を参照してください。

プログラムでの使用

ブロックパラメタZeroCross
:文字ベクトル|字符串
“关闭”|“上”
既定の設定:“上”
  • 単一の状態に名前を割り当てる場合は,“速度”のように一重引用符で囲んで名前を入力します。

  • 複数の状態に名前を割り当てる場合は,中かっこ内にコンマで区切って入力します。たとえば,{'a', 'b', 'c'}のようにします。各名前は固有でなければなりません。

  • 状態名は選択されたブロックに対してのみ適用されます。

  • 状態の数は状態名の数で割り切れなければなりません。

  • 指定する名前の数は状態の数より少なくできますが,その逆はできません。

    たとえば,4の状態を含むシステムで2。最初の名前は最初の2の状態に適用され,2番目の名前は最後の2の状態に適用されます。

  • MATLAB®ワ,クスペ,ス内の変数を状態名に割り当てる場合は,引用符なしで変数を入力します。変数には文字ベクトル,字符串,单元格配列構造体が使用できます。

プログラムでの使用

ブロックパラメタ:ContinuousStateAttributes
型:文字ベクトル,字符串
値:' '|ユザ定義
既定の設定:' '

ブロックの特性

デタ型

直達

はい

多次元信号

いいえ

可変サ@ @ズの信号

いいえ

ゼロクロッシング検出

はい

拡張機能

バ,ジョン履歴

R2006aより前に導入