ラダー図を使ったPLCプログラミングの考え方

PLCシーケンス

PLC(プログラマブルロジックコントローラー)はプログラムを実行することによって、制御機器として動作します。PLCが動作することが出来るプログラムをアプリケーションプログラムといいます。このページはラダー図を使ってPLCプログラミングを作るための基本を解説しています。

PLCプログラミングとは

 PLC のアプリケーションプログラム作成は、システムがどのように動作するべきかを特定の方法で記述します。アプリケーションプログラムを記述する方法のことをプログラミング言語といいます。プログラミング言語は、PLCのメーカごとに異なりますが、そのほとんどが「ラダー図」を使って表現できます。

 ラダーとは「はしご」という意味で、シーケンス回路図をラダーシンボルを使って図式化したものです。図式化したラダー図はプログラムというよりも、リレーシーケンスとかなりよく似ており、通常はリレーシーケンスとほぼ同じような働きをするように作られています。

リレーシーケンスとラダープログラム
リレーシーケンスとラダープログラム

 ラダー図はパソコンの専用アプリケーションソフトを使って作成します。ラダー図を作成すると、ソフトでほとんどのPLCに採用されている、ニーモニック言語に変換してくれます。ニーモニック言語はANDやNOTなどを使ってプログラムを実行させるための機械命令語で、プログラミングしやすくするための簡略記憶記号のことです。しかし、ニーモニックでシーケンサプログラムを作ることは、ほとんどありません。

 PLCは、従来の自動化システムで使われていた数百・数千の電磁リレーを置き換える代替品として発明されたものですので、リレー回路に近い表現でプログラムが組めるようになっています。このリレー回路に近いプログラムを「ラダープログラム」といいます。

 アプリケーションソフトでラダー図をつくれば、変換からPLCへの書き込みまで行ってくれます。パソコンとPLCとの接続はUSBなどの通信ケーブルを介して行います。通信ケーブルを接続するとパソコンで作成したラダー図を、PLCのプログラムメモリに書き込むことができます。

PLCの入力リレー

 PLCの入力端子には、それぞれチャンネルと固有の入力リレー番号が割り当てられています。この番号がプログラム中で使用するリレー番号となります。尚、リレーはPLCの入力ユニット内部に組み込まれています。動作は見ることができませんが、ランプで確認することができます。このリレーのことを「入力リレー」といい、外部機器の信号をPLCへの信号に変換しています。

 下図のように、外部接点「PB1」を端子番号【X001】に接続すると、外部接点「PB1」を閉じたとき、端子【X001】とCOM間に電圧が印加され、入力リレー(X001)は動作します。仮にプログラム中で入力リレー(X001)のa接点を使うのであれば、その接点は開から閉になります。

 つまり、端子番号【X001】や【X003】に接続した外部接点の動作が、入力リレー(X001)や(X003)の動作に、そのまま置き換わると考えることができます。通常リレーの接点は多くても数個の接点しか 持っていませんが、シーケンサプログラム上では無数の接点を持っています。入力リレー(X001)や(X003)の a 接点や b 接点は、ラダー図の中で何度でも使うことができます。

PLCの入力リレー
PLCの入力リレー

PLCの出力リレー

 PLCの出力端子には、それぞれチャンネルと固有の出力リレー番号が割り当てられています。この番号がプログラム中で使用するリレー番号となります。尚、リレーはプログラム上の仮想リレーで、PLCの出力ユニット内部には、接点のみが組み込まれています。接点の動作は見ることができませんが、ランプで確認することができます。このリレーのことを「出力リレー」といいます。シーケンサプログラムの命令で外部の機器を動作することができます。

 下図のように、ランプ「PL」を端子番号【Y000】に接続すると、PLCプログラム中で出力リレー(Y000)がONになると、端子【Y000】とCOM間に電圧が印加され、ランプ「PL」が点灯します。

 つまり、端子番号【Y000】や【Y001】に接続した外部接点の動作が、入力リレー(X001)や(X003)の動作に、そのまま置き換わると考えることができます。通常リレーの接点は多くても数個の接点しか 持っていませんが、シーケンサプログラム上では無数の接点を持っています。入力リレー(X001)や(X003)の a 接点や b 接点は、ラダー図の中で何度でも使うことができます。

 つまり、シーケンサプログラム上の出力リレーが動作すると外部出力用接点が閉じます。 尚、出力機器を動作させる電源はシーケンサ外部に設けなければなりません。

PLCの出力リレー
PLCの出力リレー

PLCプログラミングの考え方

 ラダープログラムは、回路図がそのままプログラムになります。入力リレーと出力リレーの信号のやりとりをラダー図で表現します。ラダープログラムのひとつひとつの回路は実に単純なものです。その単純なプログラムうを組み合わせることにより、シーケンス制御を実現しています。また、信号のやりとりの他にも、データの管理の回路や、条件分岐の回路など、実に様々な意味を持つ回路もプログラミングすることができます。

 PLCは通常先頭のステップから最後のステップまでの処理を実行し終わると、再び先頭のステップから処理を実行します。この動作を繰り返し行うことを「スキャン動作」といいます。PLCプログラミングの初めて行う方は、このスキャン動作というものが理解しづらいと思います。実際にプログラミングを行って、動作を実行するとスキャン動作の考慮不足で不具合が発生することが少なくありません。

 スキャン動作を意識しながら、PLCプログラミングを行っていると、そのうち動作不良も少なくなってきます。そして、スキャン動作を特に考えなくても出来るようになってきます。要は、慣れが必要ということです。

 スキャン動作を意識するには、プログラミングをいきなり行う前に、フロー図とタイムチャートを書くことが有効な手段です。単純プログラムでも、頭の中にある処理の流れのイメージをラダープログラムに反映することは簡単なことではないです。また、プログラムのいろいろな箇所で処理が走り出すと、動作が正しく走っているのか確認することが困難になります。そんなときにも、フロー図とタイムチャートを作成していれば大変な手助けとなります。

PLCプログラミングの考え方としては、きっちりとした「フロー図とタイムチャートを作成すること」といえます。

PLCプログラムの動作について

 PLCプログラムは、入力リレーの信号と出力リレーの信号のやりとりを、ラダー図に沿って先頭の行から順番に実行していきます。ラダープログラムのイメージ図を示します。

ラダーシーケンス
ラダープログラム

 動作の順序としては、

  1. AND・ORなどの条件判断ロジックでは外部入力信号は入力エリアから、その他の信号は指定されたエリアからデータを読み取りる。
  2. 判断結果を指定された出力エリア(又は指定されたエリア)へ書き出す。
  3. 順番に(ENDまで)実行していく。
  4. ラダープログラムが終了すると、再度1行目に戻り、以降サイクリックに演算を繰り返す。

 このような順序でプログラムが走り、出力結果は、出力ユニットで電気信号に変換され、外部機器に渡されます。

PLCシーケンス
cubeをフォローする
基礎からわかる電気技術者の知識と資格

コメント