08-14-2017 09:04 PM
現在Labviewを使用し始めたばかりの初心者です(プログラミングも初心者です)。
皆様にお聞きするのは大変恐縮ではありますが、ご教示いただけますと幸いです。
私は現在、添付します図のような回路を組み、ヒータ温度のPID制御を試みようとしています。
参考にしている.viはサンプルにあります[Autotuning Smith Predictor.vi]です。
これを用いて、できれば設定温度(set point)のみを操作して、
設定温度よりも低温の場合、SSRを起動→ヒーターON
設定温度よりも高温の場合、SSRを停止→ヒーターOFF
といったことをLabviewにて行いたいです。
そこで、上記のviを参考にした場合、
NI9216入力ソケット情報をどこに組み込めばよいか
また、NI9264出力ソケットへどこで配線しSSRへ信号を送ればよいか
大変大雑把な質問にて申し訳ございませんがご教示いただけますと幸いです。
また、各ソケットへはDAQアシスタントを介すことと存じますが、
こちらにつきましてもどの端子(データなのかエラー出力なのかなど)から配線すれば良いのか、時間を割きましたが解決しないので、こちらについてもお教えいただけますと幸いです。
知識が浅く大変お恥ずかしい質問とはなりますが
何卒よろしくお願いいたします。
08-18-2017 06:16 AM
ice-royce 様
申し訳ないのですが、SSRがどのような電圧で動作するのか情報をいただけますか?
個人的な想像ですが、温度測定値から設定値を比較して、その結果(TrueもしくはFalse)をOn/OFFのデジタル値のような形でSSRを制御すれば良い感じがします。
そうなると、PID関数を使用する意味合いがなくなってしまいます。
そのため、SSRの仕様を確認してからご返答したほうが良いかと思います。
08-25-2017 05:03 AM
Y.Ueno 様
お返事ありがとうございます。
そして、返答が遅くなり申し訳ございません。
SSRは
crydom製 CSW2410 を使用予定です。
入力電圧は3-32Vで動作します。
PID制御では通常のON/OFFの制御に加えて温度システムの管理の役割で必要と考えています。
LabviewやPID制御に関してまだまだ理解が追いついていない状態で質問しておりますため点、ご返答に悩まれることと思いますが
ご返答のほど何卒よろしくお願い申し上げます。
08-25-2017 10:29 AM
ice-royce 様
ご返答ありがとうございます。PID関数からの返り値をNI-9264の出力電圧値してアナログ出力し、SSRに入力すれば良いわけででしょうか。
PID制御をおこなうには、一気に作るよりは入力処理、出力処理、統合(制御)と分けておこなったほうがトラブルシューティングしやすいと思います。
セッションに分けてお伝えします。
・アナログ入力
・アナログ出力
・制御
PIDのサンプルを参考に、上記で作成したDAQアシスタントをPID関数に配線します。ハードウェアがないため、動作確認はとれませんが大体下記のような感じだと思います。
参考になりますでしょうか。
08-30-2017 08:20 PM
Y.Ueno 様
ご回答誠にありがとうございます。
現在添付していただきました配線図を元にVIを組んでいるところであります。
動作確認を行った際にご報告いたします。
よろしくお願いいたします。
09-29-2017 08:17 AM - 編集済み 09-29-2017 08:21 AM
Y.Ueno 様
ご報告が遅れまして申し訳ございません。
ご提示いただきました.viのようにプログラム編成し、
実行することができました(実際に機器を接続しての実行は未了です)。
ありがとうございました。
重ね重ね申し訳ございませんが、
再度ご質問をさせていただきたく存じます。
PID制御に関しまして、オートチューニングでの制御を検討しておりましたが、
私のオートチューニングに対する認識が甘く、PID定数を自動で求めてくれるものだと思い込んでおりました。
調べました結果(http://www.rkcinst.co.jp/techno/11/techno_11.htm)、セルフチューニングによるPID制御でしたら、特別な操作なしでコントローラ自身がPID定数を適切な値に変更するシステムを利用すべきと判明しました。
おそらく、本.viにおけるオートチューニングの部分をセルフチューニングの仕様に変更すれば良いとは思われるのですが、参考にすべきサンプル.viが見当たらないため、
もしご存知でしたらご教示いただけますと幸いです。
大変お手数をおかけいたしますが、ご返答お待ちいたしております。
09-29-2017 05:39 PM
ice-royce 様
手動で定数を設定されるのでしたら、「汎用PIDシミュレータ(General PID Simulator.vi)」あたりのサンプルから参照されてみては如何でしょうか?
サンプルは、ヘルプメニュー ≫ サンプルを検索 ≫ 参照タブ ≫ 制御とシミュレーション ≫ PID からアクセス可能です。
09-30-2017 03:09 AM
Y.Ueno 様
ご返答ありがとうございます。
定数につきましては、手動ではなく、プログラムが自動で適正化してくれるものを探しているところです。
その中でも、オートチューニングとセルフチューニングという手法があり、
セルフチューニングでは特別な操作なしで自動的に定数を適切な値に変更するシステムのためこちらの参考資料を捜索中です。
誠に恐縮ではございますが、もしご存知の資料などがございましたら、お知らせいただけますと幸いです。
私も引き続き調べます。
10-02-2017 02:59 AM
ice-royce 様
PIDに関する資料を探してみたところ、ヘルプメニュー ≫ LabVIEWヘルプを選択して、目次タブにある項目で、基本機能 ≫ PID/ファジー論理 ≫ PID制御の中にドキュメントがあるのと、下記のユーザマニュアルがございました。
LabVIEW PID and Fuzzy Logic Toolkit User Manual
http://www.ni.com/pdf/manuals/372192d.pdf
提供いただいたリンクにあるセルフチューニングに関する資料では、
具体的な仕組みやアルゴリズムに関しては記載がないので推測ですが、
サンプルにある“オンライン”という名称を含むサンプルは、オンオフのオートチューニング以外に、オンラインオートチューニング関数からPIDゲイン出力して処理しておりますので、ご参照ページのセルフチューニングにあたる内容かもしれません。
制御の専門家ではございませんので詳しくなくて申し訳ないです。
10-08-2017 08:55 AM - 編集済み 10-08-2017 08:59 AM
Y.Ueno 様
ご返答ありがとうございます。
また、資料などのご提示ありがとうございます。
引き続き、システムについて調べます。
現在、PIDオートチューニングの制御についても同時に進めておりまして、
ご専門分野でなく大変恐縮なのですが、ご質問をさせていただきたいです。
現在、オートチューニングの制御ループを組むことができ、SSRやヒータを介しての.viの実行には成功しました。
しかしながら問題点が生じており、以下にまとめましたのでご相談させてください。
・DAQアシスタントについて
NI9216でRTDより温度情報を入力し、システム上計測はできているのですが、NI9264での電圧出力の際、本添付します図のように本来はSPよりPVが上回れば電圧信号OFF、下回ればONという制御がなされるべきなのですが、.viの実行を押し、SPよりPVが下回っているにもかかわらず電圧信号がONにならず、また、逆の状態(ONのまま)も散見されます。これは、PIDなどの問題ではなく、DAQアシスタント上での問題かと推測しているのですが、何か解決方法をご存知ではないでしょうか。
大変申し訳ございませんが、お答えが可能な範囲でご回答のほどよろしくお願いいたします。