tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルPLCからPID演算値を受け取る?
記事No13768
投稿日: 2009/06/25(Thu) 23:03
投稿者コンタクト
いつもお世話になっております。
開発環境 :VB2005
OS        :XP

VBというよりPLCになるのか。。。。良くわからないのですが
PLCはPLCの中にPID演算?の値を持っているんですか?
その値をとるのに
VBで受け取り用のワードを用意しておいて
そのワードをPLCに送れば
後はPLCが受け取って、PID演算値を送ってくれると考えていいのでしょうか?

[ツリー表示へ]
タイトルRe: PLCからPID演算値を受け取る?
記事No13769
投稿日: 2009/06/25(Thu) 23:44
投稿者オショウ
> VBというよりPLCになるのか。。。。良くわからないのですが
> PLCはPLCの中にPID演算?の値を持っているんですか?
> その値をとるのに
> VBで受け取り用のワードを用意しておいて
> そのワードをPLCに送れば
> 後はPLCが受け取って、PID演算値を送ってくれると考えていいのでしょうか?

  何を期待されているのでしょうか?
  温調ユニットがスロットに搭載されていればPID制御は
  行えますが、PID演算値をただ計算させて取得したいの
  であれば、それはお門違いです。
  PID演算方法は方程式としても出来上がったものですの
  で、VBで記述しなおすか、ラダーでPID演算を構築しな
  いと道程できませんが・・・

以上。

[ツリー表示へ]
タイトルRe: PLCからPID演算値を受け取る?
記事No13770
投稿日: 2009/06/25(Thu) 23:46
投稿者オショウ
追伸

PLCのメーカーによっては、PID演算マクロが搭載されて
いる場合もあるようです。

以上。

[ツリー表示へ]
タイトルRe^2: PLCからPID演算値を受け取る?
記事No13772
投稿日: 2009/06/26(Fri) 19:56
投稿者コンタクト
返答有難うございます。

使用するのは三菱のPLC(シーケンサ)です。
PID演算をPLCで行うと、処理が重たくなるということで
PCでPID演算が行いたいのですが
そのPID演算の値はPLCのどこにいて、どう取り出せばいいのか
解らなく質問しました。

[ツリー表示へ]
タイトルRe^3: PLCからPID演算値を受け取る?
記事No13773
投稿日: 2009/06/26(Fri) 20:36
投稿者オショウ
> 使用するのは三菱のPLC(シーケンサ)です。
> PID演算をPLCで行うと、処理が重たくなるということで
> PCでPID演算が行いたいのですが
> そのPID演算の値はPLCのどこにいて、どう取り出せばいいのか
> 解らなく質問しました。

  MELFANS Webで会員登録されてますか?
  されているのであれば・・・

  QCPU(Qモード)/QnACPUプログラミングマニュアル(PID制御命令編)
  SH(名)-080022

  に記載されています。

● 重たくなる・・・とのことですが、それは昔の話・・・
  今のQシリーズならそれで重たくなるほどステップ数書いてある
  巨大なラダーなら解らなくもないですが・・・

● PCでPID演算・・・
  検索すれば方程式や解法のコード、山ほどヒットしますが。
  因みに、PLCでのオートチューニング機能は当然ありませんので
  センサー入力(A/D変換等)から得られた値から算出する途中で
  破たんしてしまった場合(アンダーフロー・オーバーフロー)、
  入力値のスパン調整(ゲインやオフセット調整)を、ご自身でコー
  ディングしないといけないので、経験がないと大変かと。

※ 出力値は、何に使用されるのでしょうか?
  D/Aから電圧?速度?・・・

以上。

[ツリー表示へ]
タイトルRe^4: PLCからPID演算値を受け取る?
記事No13774
投稿日: 2009/06/26(Fri) 21:24
投稿者コンタクト
回答有難うございます。

>   MELFANS Webで会員登録されてますか?
>   されているのであれば・・・
>
>   QCPU(Qモード)/QnACPUプログラミングマニュアル(PID制御命令編)
>   SH(名)-080022
はい。登録してあるので参考にさせていただきます。

> ● 重たくなる・・・とのことですが、それは昔の話・・・
>   今のQシリーズならそれで重たくなるほどステップ数書いてある
>   巨大なラダーなら解らなくもないですが・・・
巨大か解らないですが結構長いです。

> ● PCでPID演算・・・
>   検索すれば方程式や解法のコード、山ほどヒットしますが。
どのような言葉で検索するのが良いのでしょうか。。。

私は
PLC PID 演算 と検索しましたが、PID演算のことがわかったぐらいでした。。。

> ※ 出力値は、何に使用されるのでしょうか?
>   D/Aから電圧?速度?・・・

速度に使用します。

[ツリー表示へ]
タイトルRe^5: PLCからPID演算値を受け取る?
記事No13775
投稿日: 2009/06/26(Fri) 22:45
投稿者オショウ
> 巨大か解らないですが結構長いです。

  何キロと言うか、何ステップくらい?
  数万ステップなら小さい方
  1サイクルはどの程度で回っているのでしょうか・・・

> どのような言葉で検索するのが良いのでしょうか。。。

  モータ制御なら・・・
  http://www.picfun.com/motor05.html

  理論は解っておられるのでしょうか・・・

※ 大抵温度制御でひっかかる・・・

> 速度に使用します。

  速度でも出力はD/Aで出力して、速度制御にと言う
  ことですか?

● 因みに、PLCで・・・と言うニュアンスと受け取って
  ますが、PCなら環境は?言語はVB6ですか?
  A/D・D/Aボードはどこのメーカーの使うの?
  計算はVB6でできても、A/D・D/Aはボードメーカ
  のライブラリ使ってサンプリングして、出力することにな
  るかと・・・

  一層のこと、A/DとサーボモータボードでPCのみで制
  御しますか?サーボアンプとの設定で、速度制御できるは
  ずですが・・・

※ ただ電圧・速度で制御を構築した場合、暴走することがあ
  るので、オススメではないんですが・・・
  ノイズや電位差や周辺機器の電源オンオフの影響受けたり
  しますので。

以上。

[ツリー表示へ]
タイトルRe^5: PLCからPID演算値を受け取る?
記事No13776
投稿日: 2009/06/26(Fri) 22:51
投稿者オショウ
プログラムコードは・・・

http://www.make21.net/products/hard/pidservo/program.html
http://uhiro.fc2web.com/robo-one/special/report009.html
http://flex.phys.tohoku.ac.jp/riron/tool/builder5/pid/
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1020455145

C系が主ですが、移植にはそう問題ないかと・・・

以上。

[ツリー表示へ]
タイトルRe^5: PLCからPID演算値を受け取る?
記事No13777
投稿日: 2009/06/26(Fri) 22:55
投稿者オショウ
入力値に大きい変動によって離散する場合があります。
PLC等ではオートチューニングとしてフィルタを作成して
入力値の異常データを除外する仕掛けになっています。
スパン値の調整(ゲイン・オフセット)もありますが・・・

PCの場合、簡単に行うならば、前回値と現在値に差がある
一定異常大きい場合、異常値として読み捨て、再度サンプリ
ングして適正値でPID演算を行うようにすれば、大丈夫で
しょう。(環境によりますが・・・)

以上。

[ツリー表示へ]
タイトルRe^6: PLCからPID演算値を受け取る?
記事No13876
投稿日: 2009/07/22(Wed) 20:53
投稿者コンタクト
おかげさまでなんとかなりそうです。
ありがとうございました。

[ツリー表示へ]
タイトルRe: PLCからPID演算値を受け取る?
記事No13771
投稿日: 2009/06/26(Fri) 18:13
投稿者オショウ
もう少し調べてみました・・・

パナソニック電工・三菱・キーエンスのPLCには
それぞれPID演算用の関数が用意されています。

恐らく以外のメーカーでも機能は搭載されていると
思いますので、センサー等からの入力をスパン値換
算して入力データとし、PID演算関数にかけ、目標値
を出力させれば、後は何等かの出力方法で得られる
と思います。

何の入力から演算させて、その出力結果を何にしたい
と言うか、どういう制御にフィードバックしたいので
しょうかネ〜・・・

以上。参考まで

[ツリー表示へ]