問題の説明:MATLAB:モータ制御バルブのシミュレーション
私はMATLAB/Simulinkとモータ制御バルブ(MCV)をシミュレートします。制御葛(赤)、0%(完全閉鎖)および100%(全開)との間のすべての値を取ることができるMCVを制御:
Iは、インプットの三つの異なるパルスを示し入力信号が0から1に変化すると(立ち上がりエッジ)、MCVが開き始めます。時間t_Opの後、MCVは完全に開かれる。入力信号が1から0(立ち下がりエッジ)に変わるとすぐに、バルブが閉じ始めます。このプロセスはt_Clの後に終了します。 t_Opとt_Clは必ずしも同一である必要はありません。
図からわかるように、バルブはパルス番号の後に完全に閉じます。 1(立ち下がりエッジ)。しかし、パルス番号とパルス幅の間の幅は、 2とパルス番号。 3はバルブを完全に閉じるのに十分な長さではありません。パルス番号の立ち上がりエッジで図3に示すように、弁は完全に開くまで再び開く。
質問:
が、私はMatlabの(好ま)またはSimulinkので、上記のプロセスをシミュレートします。私はその問題をどのように始めるべきか100%確信していません。私は元のシステムから立ち上がり/エッジを抽出することを考え、この「トリガ」を使用して時間依存の「傾斜」ステップ機能を開始しました。多分あなたは私のためにいくつかのヒントを持っていますか?
異なる文脈で、この問題へのSimulink溶液http://stackoverflow.com/questions/40190454/matlab-simulink-simulate-filling-and-emptyingにほとんど同じ方法で達成されているが川の流れその質問の「雨」はあなたの「開口部」ですが、「雨は降らない」があなたの「閉鎖」です。 t_opとt_Clのタイミング要件を満たすには、2つのサブシステムに適切なスロープ/ランプを実装するだけです。 –
私は2つの有効なサブシステムでそれを解決しようとしました。しかし、完全に開かれていないMCVがない場合には、結果を1つのサブシステムから他のサブシステムへ(例えばその50%のようなバルブの実際の位置)供給する方法はわかりません。各サブシステムの内部では、弁の0%/ 100%の位置に対応する最小値/最大値でランプを簡単に定義することができます。しかし、これらの値はシミュレーション時間にわたって一定のままであり、変更することはできません。 –
このリンクの例は、既存の値をサブシステムに戻す方法を示しています。これは、バルブの方向が変化したときのバルブの位置に関係なく機能します。 –