プログラムによる制御システム デザイナーの初期化
この例では、コマンド ラインを使用して "制御システム デザイナー" を設定する方法および "制御システム デザイナー" セッションの起動をカスタマイズする関数の作成方法について説明します。
制御システム デザイナーの構成
"制御システム デザイナー" では次の 6 種類のフィードバック制御システム構成が利用できます。
1) フォワード パスの補償器とプレフィルターをもつ標準的なフィードバック ループ。
2) フィードバック パスの補償器とプレフィルターをもつ標準的なフィードバック ループ。
3) フィードフォワード補償とフォワード パスの補償器をもつフィードバック ループ。この設定は、通常、システムに作用する前に測定できる外乱を減衰するために使用されます。
4) 入れ子にされたマルチループ設計構成。この設定では、制御ループの一部を分離することにより、設計を複数のステップに分けることができます。
5) 標準的な内部モデル コントロール (IMC) 構造。
6) カスケードのマルチループ設計構成。この設定では、制御ループの一部を分離することにより、設計を複数のステップに分けることができます。
既定の設定では、"制御システム デザイナー" は構成 1 を使用して初期化されます。これはアプリ内で変更できます。または、コマンド ラインを使用して "制御システム デザイナー" を初期化することもできます。
制御システム デザイナーの初期化
この例では、次の設定で設計初期化構造体を作成します。
フィードバック構成 4
値 tf(1,[1,1]) をもつプラント
G
外側の開ループの根軌跡とボードエディター
内側の開ループのニコルス エディター
sisoinit
コマンドを使用して構成 4 の設計初期化構造体を作成します。
s = sisoinit(4)
Name: '' Configuration: 4 Description: 'Design snapshot.' FeedbackSign: [2x1 double] Input: {4x1 cell} Output: {2x1 cell} LoopView: [10x1 sisodata.looptransfer] G: [1x1 sisodata.system] H: [1x1 sisodata.system] C1: [1x1 sisodata.TunedZPKSnapshot] C2: [1x1 sisodata.TunedZPKSnapshot] OL1: [1x1 sisodata.TunedLoopSnapshot] OL2: [1x1 sisodata.TunedLoopSnapshot]
初期化構造体 s
のシステム モデルのコンポーネントは次のとおりです。
外側のループの補償器 -
C1
内側のループの補償器 -
C2
プラント ダイナミクス -
G
センサー ダイナミクス -
H
システムのループ エディターの構成は次のとおりです。
外側のループ - OL1
内側のループ - OL2
プラントの値を指定します。
s.G.Value = tf(1,[1,1]);
各開ループと意味のあるループ名で使用するエディターを指定します。
s.OL1.Name = 'Outer Loop'; s.OL1.View = {'rlocus','bode'}; s.OL2.Name = 'Inner Loop'; s.OL2.View = {'nichols'};
初期化構造体を使用して "制御システム デザイナー" を開きます。
controlSystemDesigner(s)
カスタムの初期化関数の作成
頻繁に使用する構成で "制御システム デザイナー" を起動するには、カスタムの初期化関数を作成しておくと便利です。たとえば、次の初期化関数は特定のプラント ダイナミクスを使用して初期化構造体を作成します。
type mycustomcontrolsysdesignerfcn
function mycustomcontrolsysdesignerfcn(G) % mycustomcontrolsysdesignerfcn(G) % % Create the following Control System Designer session: % 1) Configuration 4 with the plant specified by G % 2) Root locus and bode editors for the outer-loop % 3) Bode editor for the inner-loop. % Copyright 1986-2005 The MathWorks, Inc. % Create initialization object with configuration 4 s = sisoinit(4); % Set the value of the plant s.G.Value = G; % Specify the editors for the Open-Loop Responses s.OL1.View = {'rlocus','bode'}; s.OL2.View = {'nichols'}; controlSystemDesigner(s)
この関数を使用して "制御システム デザイナー" を開くには、次のコマンドを入力します。
mycustomcontrolsysdesignerfcn(G)