2

Simulink の Gain ブロックと Continuous ブロックでは、ユーザーがゲインを指定する必要があります。これは、ワークスペース変数にすることができます。しかし、実行時にこのゲインを変更したいと考えています。私はこれに対する解決策を得ることができないようです。このアイデアは単純ですが、実装するのがとても難しいとは信じられません。

別のブロックを使用してワークスペースに書き込もうとしましたが、「ワークスペースへ」ブロックは、シミュレーションの終了または一時停止後にのみワークスペースに書き込むことがわかりました。

変数をデータ メモリ ブロックに格納できますが、この場合、ゲイン/PID ブロックのゲイン値を指定する方法がわかりません。

4

3 に答える 3

1

インラインパラメータをオフにしている場合(構成セットの最適化ページにあります)、ゲインブロックダイアログを開いて値を変更するだけです。ワークスペース変数を使用する場合は、ワークスペース変数の値を変更して、シミュレーションの実行中にダイアグラムの更新(^ D)を実行できます。

スライダーUIを使用してゲイン値を変更できるSliderGainと呼ばれるブロックもあります。

于 2012-11-21T02:53:23.897 に答える
0

コマンド ラインの代替手段として、 SET_PARAM関数を使用して、モデル シミュレーション中にブロックのゲイン値を変更できます。

たとえば、次のコードは、「my_model.mdl」というモデルの最上位レベルにある「My Gain」という名前のブロックの Gain 値を 20 の値に変更します。

set_param('my_model/My Gain','Gain','20');

ただし、実行時にSET_PARAMを使用して変更できるのは調整可能なパラメーターのみであることに注意してください。

于 2012-12-08T19:39:24.113 に答える