PLCのプログラム実行方式とパソコンのプログラム実行方式の違い

PLCのプログラム実行方式とパソコンのプログラム実行方式の違いについて

PLCのプログラム実行方式と、パソコンのプログラム実行方式の違いについて少し書きたいと思います。パソコンはPLCと違いイベントによってプログラムが起動します。

PLCばかり触っていると上位のパソコンと、通信する機会は多くてもプログラムの実行方式は、あまり意識することはないと思います。以前書いたスキャンの考えをまじえながら書いていこうと思います。

PLCのプログラム実行方式は

PLCは各プログラムがパラメータ設定で設定した順番に従って、最後のプログラムまで処理実行を行い、プログラムのEND処理後に最初のプログラムに戻ってまた演算処理を行います。サブルーチンなどもありますが基本はこの処理をPLCは使っています。

最近は高性能化していてあまり気にすることはありませんが、PLCは処理が遅いと言われていました。いまではこの処理速度ですが、1スキャンを数msec(10msec以下)で終わらせているものもありました。スキャンタイムが変わることでどんな事象が起こるかなどは別記事でも書きたいと思います。細かいラダープログラムの実行方法に関しても少し書きたいと思います。

ラダー言語の処理も一気にプログラムの処理をするのではなく上から下へ処理実行していきます。

基本的に上から処理をしていき最後まで処理をしたら各カードの処理を反映して、また最初のプログラムの処理を始めます。変数を使ってもこの処理の仕方は変わりません。この流れがわかってないと不可解な動きをします。PLC触るならこの処理は抑えるようにしたほうがいいです。

OpenPLCでスキャンの実感できる回路あったら書きたいと思います。

パソコンのプログラム実行方式は

PLCの繰り返しプログラムの実行を行う方式に対して、パソコンはイベントごとにプログラムを起動するようになっています。イベント発生するまでプログラムは起動せずに待機の状態となります。

何をもってイベントとしてプログラムを走らせるかはプログラム次第ですが、パソコンのプログラム実行方式はこんな感じです。PLCの実行方式の話をプログラマの方に話してもピンと来てない場合は、この実行方式を図解するといいかもしれません。プログラムの起動からシーケンスまで話せるとパソコンとの連動などのときや机上検証でもやりやすくなると思います。

まとめ

以上、PLCのプログラム実行方式とパソコンのプログラム実行方式の違いでした。PLCのプログラム設計をしている方はなかなか触れることじはないし、知る機会もなかなかないと思います。PLCから他のプログラム覚えるときは、変数とかベントごとの起動が壁になるかと思います。ココらへん抑えておくとパソコンのことであったり、他の言語の速い理解につながるかと思います。この記事がなにかの役に立てたら幸いです。

それではご安全に!

コメント