Excel版
 自動制御の数値実験技法
           8章 PID制御とファジィ制御のVBAプログラミング
TAL
(Technical Analysis Laboratory) 
Excel VBAによるPID制御とファジー制御のシミュレーションができます。(2010.01.08追加)
キーワード:VBA、ファジィ制御、ファジィ集合、ファジィルール、制御モデル、VBAプログラミング、VBA_PIDシミュレーション
ファジィ制御のVBAプログラミング
 本章ではファジィ制御のVBAプログラミング手順を紹介しています。以下はその内容を簡単に説明します。

【ファジィ制御ブリック図】
 制御対象Gp(s)の出力ytをフィードバックさせ、出力とその変化量をメンバーシップ関数とするファジィ制御を行なう。

  
【ファジィ集合】
 ファジィ集合を下図の様にとります。ファジィ集合の取り方は制御設計上、最も重要な項目になります。

   

【ファジィルール】
 ファジィルールは良好な状態の制御結果を得るために重要である。ここでは出力ファジィ集合と変化率のファジィ集合を下表のように組み合わせて、9個のファジィルールを構築する。
        ファジィルール表            ファジィルールの構築
  

【ファジィ出力】
 ファジィルール演算の結果計算された操作量を下図のように加重平均して、その重心を求めることでコントローラの出力mtを決定する。
  

【制御結果】
 下図に制御結果を示す。制御過程の通り道順とは出力と変化量のファジィ集合のどの範囲を通って収束状態に至ったかを示している。
          制御状態                             制御過程の通り道順
  

【VBAプログラミングの例】
 下図はファジィ制御のメインVBAプログラミングである。(内部の関数コードは紙面上省略)
  
  
PID制御のVBAプログラミング
 PID制御のシミュレーションプログラムをVBAで行ないます。前章まではワークシート関数を使ってプログラムしていましたので煩雑な部分があったかと思います。

【PID制御ブロック図】

  

【制御結果】
           PID制御結果                  P,I およびD定数の表示
  

【VBAプログラミングの例】
  
  
制御モデルのVBAプログラミング
 制御モデル(プラント)の応答状態をシミュレーションするためのVBAプログラムを紹介します。制御対象の伝達関数がわかれば、あるいは仮定すれば、シミュレーションは簡単なプログラムで可能である。

【制御モデルブロック図】
  

【応答結果】
        プラントの応答(性質)
  Excel

【VBAプログラミングの例】
  

 8章 PID制御ファジィ制御のVBAプログラミング

 8.1 制御モデルのVBAプログラミング
 8.2 PID制御のVBAプログラミング
 8.3 ファジィ制御のVBAプログラミング

 Copyright(C)2008 Technical Analysis Laboratory All Rights Reserved
当ホームページの文章、画像の引用、転記は厳禁です。