1/22ページ

このカタログをダウンロードして
すべてを見る

ダウンロード(476Kb)

制御機器の基礎知識(3)プログラミング

ハンドブック

プログラマブルコントローラ(PLC)編

プログラマブルコントローラ(PLC)の仕組みや選び方を説明した制御機器の基礎知識【プログラマブルコントローラ(PLC)編】。
下記章がありますが、本章は、プログラミング 。
他の章やPLC/FAシステム機器のカタログはPLC特集 https://jp.cluez.biz/feature/page/105/ にてご確認ください。

1. プログラマブルコントローラ(PLC)とは
2. PLCシステム設計
3. プログラミング
4. 据付け、配線と試運転段階
5. 保守と保管
6. トラブル事例

※規格に関しては、必ず現行規格のご確認をお願いいたします。
※NECA Webサイトにも、PLC編を掲載しています。https://www.neca.or.jp/standard/howto/plc/

※本コンテンツの商用目的、営利目的での利用、また無断転載を禁じます。
(本コンテンツは、一般社団法人 日本電気制御機器工業会及び第三者が有する著作権により保護されております。)
※本コンテンツを利用に関して生じたいかなるトラブル、直接・間接の損害に対し、日本電気制御機器工業会及び発行者はいかなる責任も負いません。

このカタログについて

ドキュメント名 制御機器の基礎知識(3)プログラミング
ドキュメント種別 ハンドブック
ファイルサイズ 476Kb
取り扱い企業 一般社団法人日本電気制御機器工業会 (この企業の取り扱いカタログ一覧)

この企業の関連カタログ

制御機器の基礎知識(1)プログラマブルコントローラ(PLC)とは
ハンドブック

一般社団法人日本電気制御機器工業会

10分でわかる機械安全
ハンドブック

一般社団法人日本電気制御機器工業会

安全ガイドブック  第7版
ハンドブック

一般社団法人日本電気制御機器工業会

このカタログの内容

Page1

プログラマブルコントローラ(PLC)編   プログラミング
Page2

3 プログラミング PLCは特定の制御アプリケーション向けにユーザ ーションプログラム(またはユーザプログラム)と呼 が設計したプログラムを実行することによって、初め び、またプログラムの作成作業をプログラミングと呼 て制御機器として動作する。 ぶ。この章では、プログラムの構成要素と、基本的な このような目的で作成されたプログラムをアプリケ プログラミングの工程について解説する。 3.1 PLCのプログラミング言語 PLC のプログラミングにおいては制御対象となるシ (ファンクションブロック言語)が、代表的な言語と ステムがどのように動作するべきかを特定の方法で記 して規定されている。 述しなければならない。その記述方法をプログラミン プログラミング言語の分野ではまだ技術的な革新の グ言語と呼び、各メーカから提供された種々の言語は、 可能性もあり、今後もこれらの言語以外にも PLC メー ほとんどのものはその特徴から数種類に分類すること カや独立団体による、新しい考え方に基づいた、より ができる(図3.1参照)。ちなみに JIS の定義による 生産性が高く、記述力に優れたプログラミング言語の と、制御シーケンスを記述するためのチャートとして、 開発などが期待されている。ただし、現実的には、国 シーケンシャルファンクションチャート(SFC)が、テ 内外を問わずほとんどの PLC を使用した制御システム キスト形式言語として命令リスト(IL)言語、および ではラダー図(LD)言語が使用されており、絶対的にそ 構造化テキスト(ST)言語が、また、図式言語として、 のユーザ数は多い。そのため特に制御システムを外販 ラダー図(LD)言語、 および機能ブロック図(FBD)言語 する場合、納品先のユーザがそのプログラムを保守し IL(Instruction List) LD(Ladder Diagram) POP_STK: LD 0 ST OFL0 SFC(Sequential Function Chart) LS OTR LT PTR •ステップ•トランジション •アクション •AQ etc N リレー P アクション IF R1 THEN OFL0:=0;EMPTY:=1 + PP ELSE POP & NOT EMPTY GU OFL0:=0;PTR;=PTR1=1 ST(Structured Text) FBD (Function Block Diagram) 図3.1 シーケンス表現図の種類 37 Copyright 2010 NECA All rights reserved. https://www.neca.or.jp/
Page3

たり、内容に手を加える可能性がある場合には、でき 「はしご」(Ladder)の形に似ていることから、ラダー るだけ広く使用されているラダー図(LD)言語を使用し 図言語と呼ばれるようになった。左端の母線(左母線) てプログラムを記述した方が無難であるといえる。ま と右端の母線(右母線)の間に電圧が加えられている た、ラダー図(LD)言語以外では、バッチプロセスの記 ことを想定して、その間にリレー接点を組み合わせて 述などで利点があることからシーケンシャルファンク 結合し、右端にリレーのコイルを配置して制御を記述 ションチャート(SFC)が使われることもあるが、それ する。ユーザが多く、広く使用されているため、ほと 以外の言語についてはユーザが不慣れな場合もあるた んどの PLC において採用されている。 め、実際にシステムを運営するユーザの了承を得てか 起動ボタン 停止ボタン ら使用した方がよい。 %IX0 %IX1 %QX32 ここでは、代表的なプログラミング言語について、 その特徴を解説していくので、ユーザは制御の特性を 考慮してアプリケーションにもっとも適したプログラ %QX32 ミング言語を選択していただきたい。例題として、以 下の様な回路を、シーケンシャルファンクションチャ モータ ON(自己保持用) ートを除く各言語を用いて記述したので参考にしてい 図3.2 ラダー図言語のプログラム例 ただきたい。 (2)機能ブロック図(FBD)言語 ①起動ボタンを ON するとモータが起動 ラダー図言語が、リレー回路のためのシーケンス図 ②モータが起動状態では起動ボタンが OFF となっても を実行しようとしているのに対して、機能ブロック図 モータは起動し続ける(自己保持) 言語(またはファンクションブロックダイアグラム) ③停止ボタンの ON により、モータが停止 はコンピュータの設計などで用いられるロジック図に また、プログラミングの前に使用するの言語につい 似た方法を応用して、機能ブロック(関数)と呼ばれ て、取扱説明書やメーカなどが主催するスクールなど る長方形の箱を組み合わせて記述する。一般的に個々 に参加して十分その使用方法を習得しておくことも肝 の機能ブロック(関数)は左辺から入力を取り込み、 要である。 機能ブロックが持つ特定の機能処理を行った後、その 結果を右辺に出力する。様々な種類の機能ブロックを 3.1.1 図式言語 組み合わせて、入力と出力を結合することによって制 母線(パワーレール)と呼ばれる左右2本の垂直線 御ロジックを記述する。機能ブロック間での入力と出 の間で、一般に左から右へと水平方向に制御ロジック 力の関係がわかりやすく、またカプセル化(構造化) を記述する方法で、ラダー図(LD)言語と、制御プログ などの表示方法によって複雑なロジックを単純化させ ラムの一部をパッケージ化し、信号やデータの流れを て表示することもできる。図 3.3 中、「OR」で示されて 示す機能ブロック図(FBD)言語のいずれか、または PLC いるのは論理和の機能ブロックで、「AND」は論理積の の機種によっては、その両方が組み合わされて使用さ 機能ブロックを示す。「AND」ブロックの左辺の「○」 れる。図形を使用することによって、より複雑な制御 は、否定(NOT)入力を示す。 ロジックを視覚的に分かりやすく記述することができ 起動ボタン る。 %IX0 OR (1)ラダー図(LD)言語 %QX32 AND %QX32 PLC で使用される言語としては伝統的なもので、も %IX1 っとも使用者は多くソフトウエア資産も多い。リレー モータ ON(自己保持用) モータ ON 回路のためのシーケンス図をそのまま入力することに 停止ボタン よって、その実行を行うという初期の PLC から使用さ 図 3.3 機能ブロック図言語のプログラム例 れてきた言語である。制御ロジックを記述する図が、 38 Copyright 2010 NECA All rights reserved. https://www.neca.or.jp/
Page4

モータON 起動ボタン 自己保持 3.1.2 テキスト形式言語 図式言語が図形によってロジックを記述するのに対 %QX32 := (%IX0 OR %QX32) して、テキスト式言語は文字によってその記述を行う。 AND (NOT %IX1); (1)命令リスト(IL)言語 停止ボタン 一連の命令を順序にしたがい並べてリストとして制 図 3.5 構造化テキスト言語のプログラム例 御ロジックを記述する方法で、コンピュータのアセン ブリ言語によく似ている。一般的に1行に1つの命令 3.1.3 シーケンシャルファンクション を記述して、各命令は、修飾子がついた演算子とオペ チャート(SFC) ランドで構成されている(図3.4参照)。また必要に 前出の4言語が制御システムの入力と出力につい 応じて識別ラベルを命令に付与して使用する。「結果」 て制御を記述するのに対して、シーケンシャルファン と呼ばれるレジスタに対して、命令を実行しデータ操 クションチャート(SFC)は、制御システムの状態の遷 作を行うことによって制御を記述する。プログラムが 移を記述する(図3.6参照)。 複雑になると読みづらくなるため、小型の PLC で比較 制御シーケンスを上から下に向けて、ステップとよば 的簡単なプログラムを記述するのに適している。下図 れる状態(過程)とトランジションとよばれる条件を では、演算子「LD」により%IX0 の内容が「結果」レジ 組み合わせて図形で記述する。各ステップは特定の状 スタに格納される。次に演算子「OR」により、「結果」 態(過程)を表し、単一または複数のアクションと呼 レジスタの内容が%QX32 と論理和演算され、その結果 ばれる制御ロジックが実行されている(アクションが は「結果」レジスタに格納される。演算子「ANDN」は 無い場合は待機状態)。トランジションでは次のステッ 否定修飾子「N」によって修飾された「AND」で、ここ プへと遷移する条件がチェックされる。これらアクシ で%IX1 の否定とレジスタの内容が計算され、その結果 ョンと条件の記述には上出の図式言語やテキスト言語 は「結果」レジスタに格納される。演算子「ST」によ が使用される。 り、「結果」レジスタの内容は%QX32 に出力される。 ステップ A t1 トランジション 識別ラベル 演算子 オペランド 同時シーケンス分岐 コメント (ステップ B 以降と B C C以降を同時に実行) START: LD %IX0 (*起動ボタン*) シーケンス選択分岐 t2 t3 t4 OR %QX32 (*自己保持*) (トランジション t3 ANDN %IX1 (*停止ボタン*) D E F と t4 の評価によりス ST %QX32 (*モータ ON*) テップE以降かF以降 図3.4 命令リスト言語のプログラム例 t5 t6 t7 のどちらかを実行) 図3.6 SFC のプログラム例 (2)構造化テキスト(ST)言語 コンピュータを使用した単なるリレー制御盤の置き コンピュータで使用されるスクリプト言語(Pascal 換えとして発展してきた PLC であるが、最近の機種は など)に似ており、コンピュータ言語を使い慣れてい よりコンピュータに近い高度な演算機能や、データ処 る人でも簡単に PLC の導入ができる。条件文による処 理機能、通信機能を持つものも多数存在しており、以 理の分岐、繰り返し演算や、ファイル演算、複雑な数 前は専用の制御コンピュータが必要であったような処 式などがわかりやすく記述するのに適している。 理も汎用の PLC でまかなえるようになっている。それ らの機能を実現するためより多くの機能、および機能 ブロックが各メーカーにより実装されている。 PLCのプログラム言語は、国際規格としてIEC 39 Copyright 2010 NECA All rights reserved. https://www.neca.or.jp/
Page5

61131-3(JISB3503)があるが、プロ どに対する標準的なインターフェイスは提供されてい グラムの記述方法の一般的な解説にとどまっており、 ない場合が多い。PLCの機種選択時に検討すること PLC間でのアプリケーションのポータビリティ(移 が必要である。 植性)や、PLC やプログラミングツールの操作方法な 3.2 プログラミングの手順 プログラミングに関する作業の基本的なフローを示 ムチャートを作成することにより始まる。以下、機械 すと図3.7のようになる。本節では各作業上のノウ 動作のタイミングチャートを作成する上での手順を述 ハウや注意事項を述べる。なお、プログラムのデバッ べる。 グについては4.5節を参照していただきたい。 (1)横軸に時間軸(ステップ軸)をとり、縦軸に入 力機器および出力機器をあげる。 システムの 要求仕様書 (2)入力機器、出力機器はもれなくすべての機器を (顧客文書) あげる。 (3)横軸の時間軸の分割(または動作ステップの分 割)は、入力、出力機器の動作の変化点(ON から OFF、 または OFFから ONに変化する点)に対応させ、極力、 機能仕様書、 制御システムの 制御システム構成図、 機能仕様書 細分化したものとする。 タイムチャート 制御盤回路図 などの作成 システム構成図 (4)出力機器の変化点(ON から OFF、または OFF か ら ON に変化する点)は、インターロック条件となる入 力機器と関連を持たせ、矢印などで記述する。 (5)プラント機械など装置が大規模なもので、タイ プログラミング ・入出力の割付 ムチャートが複数枚の画面になる場合は各機械(加工 ・タイマカウンタの割付 ・内部リレーの割付 物あるいは搬送物)の動作の流れにしたがい、各機械 ・シーケンス図の作成 制御システム ・プログラムの入力 ハードウエア製作 あるいは機械ブロックごとに図面をまとめる。 (6)タイムチャートはプログラミング時のみでなく 機械の据付調整や保守時にも有効となるので、この点 も留意して作成するとよい。図3.8に機械動作のタ プログラムの ローディング イムチャート図の例を示す。 およびデバッグ 3.2.2 シーケンス図 機械設備やプラントなどを制御しようとする場合には、 プログラムと プログラムの保存と 完成図書 それらの動きを図示したものが、3.2.1項にて説 完成図書作成 明した機械動作のタイムチャートであるとすれば、こ 図 3.7 基本的なプログラミング作業のフロー の機械動作のタイムチャートを基に、機械設備やプラ ントなどの制御手順(プログラム手順)を表現したも のが、シーケンス図である。 3.2.1 機械動作のタイムチャート 従来の電磁リレーなどの制御素子を複数個用いた制御 タイムチャートは、動作タイミングの同期が要求さ 手順の表現法は、制御素子そのものや制御素子間の結 れるときに作成すると効果的である。プログラミング 線、すなわちハードウエアそのものを表わす表現法が の作業は、まず制御対象となる機械装置あるいはプラ とられることが多いが、PLC のシーケンス表現法は、 ント装置の動作の全容が概観できる機械動作のタイミ PLC のユーザプログラムメモリに格納する制御手順の 40 Copyright 2010 NECA All rights reserved. https://www.neca.or.jp/
Page6

表現のため、ハードウエアに対応する表現法とは異な (2) 回路は統一して る。シーケンス表現図の種類としては、以下のものが 特に制限はないが、各回路とも図3.9のように作成 ある。 し、全回路この考え方で統一しておけば回路が見やす ①ラダー図(LD)言語 くなる。 ②シーケンシャルファンクションチャート(SFC) (3) コメントはできるだけ多く ③命令リスト(IL)言語 PLCのシーケンス図は一般的にX(またはI)やY ④構造化テキスト(ST)言語 (またはO)の記号と番号で表わし、具体的な入出力 ⑤機能ブロック図(FBD)言語 機器との関係がわかりにくい。できるだけシーケンス 項目 入出力接続位置(端子) ステップ 0 1 2 3 4 5 6 7 8 9 10 11 12 レベル計(上限) 1 入 レベル計(中間) 2 力 レベル計(下限) 3 温度計(80℃) 4 4 秒 タイマ設定 2 秒 2 分 10 秒 7 秒 2 秒 攪搾モータ(M) 1 原料注入バルブ(VL1) 2 原料注入バルブ(VL2) 3 出 力 加熱バルブ(VL3) 4 タンク排出バルブ(VL4) 5 排出バルブ(VL5) 6 次工程転送バルブ(VL6) 7 攪搾繰り返し回数 21 回 生産繰り返し回数 15 回 準備工程 A 液 注 B 液 注 攪拌工程 加熱工程 転送工程 入工程 入工程 動作(ON)状態を示す 図3.8 機械動作のタイムチャート図 図 3.8 に、シーケンス表現図の概要を示す。 上に入出力機器の割付を書いておくと良い。プログラ これらのシーケンス図の中で、現在主流となっている ミングツールには、それをサポートする機能があるの のが、ラダ-図言語である。 で活用することが望ましい。(図3.9,3.10) その大きな理由は、この方式の特長が、従来の電磁リ (4) 簡潔な回路で レーやタイマによるシーケンス図が流用可能なためで PLCの接点数には使用制限がなく、従来の電磁リレ ある。すなわちすでに回路設計技術をマスタした設計 ー盤のように接点やコイルの節約に気を使う必要はな 者や、リレーシンボル図に長年慣れ親しんだ現場設計 い。そこでPLCでは、ブリッジ回路や回りこみを利 者にとってはPLCのプログラムのルール(各PLC 用するような凝った回路や一つのコイルに接点が数十 によって異なるので注意が必要)を理解するだけでプ 個も接続されるような回路とはせず、適当な回路ブロ ログラミングの処理が可能であり、その上この方式は ックに分け、後でまとめるような回路にするとよい。 本質的に電気回路図的なシーケンスの表現であって、 (標準化も考慮するとよい)図3.11に例を示す。 動作の条件、信号の流れなど被制御機械との関連性が 図のようにしておけば、たとえば「自動運転」が起動 高く、動作の理解が容易な点である。 しないようであればM53の回路ブロックのみのチェ 以下、ラダ-図言語によるシーケンス図の作成上の主 ックですむ。要するに、一つのコイルに多くの枝分か な留意点を述べる。 れの回路を作らないようにする。 (1) シーケンス図は横書きで ただし、メモリや内部リレー、スキャンタイムに問題 信号の流れは、左から右へ流れるルールを記述するた ないことを考慮することが必要である。 めに横書きにして記述する。 41 Copyright 2010 NECA All rights reserved. https://www.neca.or.jp/
Page7

動作指令 動作指令の条件 動作の終了,完了 X34 M82 X39 Y58 Y 57 Y57 動作禁止の インタロック 図 3.9 接点の並べ方 X13 M76 M 条件回路 52 「手動」分 M49 M56 M33 M 53 「自動」分 M53 M52 X27 Y79 Y 80 出力回路 M53 動作停止条件 相互 インタロック 動作指令 図 3.10 回路ブロックの分離 プログラムステップ 0000 共通インタ-ロック 管理プログラム プログラム 0300 制御プログラム 加工パタ-ンAプログラム 機械Aプログラム 0700 加工パタ-ンBプログラム 機械Bプログラム 1100 加工パタ-ンCプログラム 生産デ-タプログラム 1500 機械Cプログラム 共通プログラム 故障検出プログラム (a) (b) (c) 図 3.11 プログラム割り付け 次にアプリケーションプログラムを作成上の注意点を 図3.12(b)の例で、トランスファラインなど、 述べる。 複数の機械がライン構成になっている場合である。共 プログラムを制御、管理、診断、表示と分割して作成 通のインターロックプログラムは全機械の起動と停止 すると大容量なプログラムでも、プログラム内容の管 のシーケンスや、全体の搬送や追跡などの共通処理を 理、把握が容易になりデバッグや修正、保守が容易と 行う。 なる。以下に具体的なプログラムの分割例を示す。 (3) 二次機能のプログラムを付加する場合 (1) 同一機械で複数の加工(あるいは組立)パタ 図3.12(c)の例で、PLCに集中した制御情 ーンのある場合 報を活用し、生産データや機械の稼働データを収集し 図3.12(a)の例で、管理プログラムは加工パ たり、機械の異常や故障を検出する二次機能のプログ ターンを判定し、所要の加工パターンのプログラムを ラムを付加した例である。 実行させるものである。共通プログラムは、各プログ ラムに共通する処理を行う。 (2) 複数の機械を一台のPLCで制御する場合 42 Copyright 2010 NECA All rights reserved. https://www.neca.or.jp/
Page8

点の 6個とはならない。 3.2.3 入出力の割り付け ACの入力は 69 点 / 16 点で 5個、DC入力は 26 点 / 入力モジュールのどの入力番号にどの入力機器を接 16 点で 2個の合計 7個となる。 続するかを決めることを入力割り付け、また出力に関 (b) 同一種類の機器ごとにまとめる して言えば出力割り付けと言う。入出力割り付けを「I オペレータが操作する操作スイッチ類ばかり集め、 /Oマッピング」と呼ぶこともある。割り付けは原則と 次にリミットスイッチ類を集めるなど、同一種類の機 して自由であるが、つぎのように割り付けると便利な 器ごとにまとめる方法がある。この時、同一機器のグ ことが多い。 ループ内では機器番号の順に割り付けるとよい。 (1) 入力の割り付け (例) SS1→ X0 (a) 同一電圧ごとにまとめる SS2→ X1 少なくとも一つの入力モジュールの入力電圧は 1 種 PB1→ X2 類であり、同一モジュールでの異電圧の入力はできな PB2→ X3 い。このことは、入力点数から入力モジュールの個数 PB3→ X4 を決める時の注意点でもある。たとえば 16 点単位の入 LS1→ X5 力モジュールとした時、AC入力 69 点、DC入力 26 LS2→ X6 点、合計 95 点の時、モジュールの個数は 95 点 / 16 LS3→ X7 43 Copyright 2010 NECA All rights reserved. https://www.neca.or.jp/
Page9

(c) 制御対象のブロックごとにまとめる トスイッチ入力において、外部で接続できるものは接 たとえば、機械の前進・後退系と上昇・下降系のよ 続してから入力すると、入力点数の節約になる。入力 うなブロックごとに同一電圧の入力機器を割り付ける モジュールの点数が不足する時にもこの方法は使える。 方法である。 表 3.1 に入力の割り付け表と記入例を示す。 (例) PB10→ X10 手動前進 (2) 出力の割り付け PB11→ X11 手動後退 (a) 同一電圧ごとにまとめる LS17→ X12 前進端 一つの出力モジュールで駆動される出力機器の電圧 LS18→ X13 後退端 は同一電圧となるように割り付け、異電圧で使わない PB12→ X14 手動上昇 方がよい。都合でどうしても異電圧となる時は、出力 PB13→ X15 手動下降 モジュールのコモン(共通)端子ごとにまとめるとよ LS19→ X16 下降端 い。図 3.12にこの例を示す。この例では、コモンの LS20→ X17 上昇端 関係から出力番号Y33,36,37 があき番号となるが、や この方法は、盤に外部機器との中継端子を設けず、 むをえないことである。 外部機器の線を直接に入力モジュールと接続するとき (b) 同一種類の機器ごとにまとめる には配線経路や点検の面で有利である。 ソレノイドコイル、表示灯、中継リレー、電磁接触 (d) 予備点数 器などの機器ごとにまとめて割り付ける方法である。 増設、追加工事、設計変更などが予想される時は、 (c) 関連する機器は連番で 入力モジュールごとに使用しない予備の点数を設けて たとえば、正転-逆転、前進-後退など、関連ある おくとよい。この予備点数は、その入力モジュールの 出力機器は連続番号にしておくとわかりやすい。 1点のみが故障したときに接続変更とプログラム変更 (d) 外部接続の活用 で、応急対策の予備品代わりにも使える。 PLCの外部で接続できる機器は、接続してから割 (e) 外部接続の活用 り付けると出力点数の節約になる。 有接点の押ボタンスイッチ、切換スイッチ、リミッ 表 3.2 に出力の割り付け表と記入例を示す。 表3.2 出 力 の 割 り 付 け 表 I/Oユニット 形 名 入 出 力 備 考 機器番号 名 称 ( 番 号 (接続先、機種など) 点数/ユニット ) Y20 MC 1 油圧ポンプ 21 MC 21 主軸正転 22 MC 22 主軸逆転 23 MC 3 切削油剤 AC 100 V 24 MC 41 割出前進位置 25 MC 42 割出戻し位置 26 SOL 1 テーブル 前進 接点出力 27 SOL 2 テーブル 後退 (16点/ユニット) 28 PL 0 用 意 29 PL 1 油圧ポンプ 2A PL 2 自動サイクル AC 24 V 2B PL 3 切削油剤 2C PL 4 位置割出 2D 2E あき3点 2F 44 Copyright 2010 NECA All rights reserved. https://www.neca.or.jp/
Page10

出力ユニット 表3.3 補助リレーの割り付け表 Y30 R 一時記憶 信号名 内 容 Y31 番 号 R AC100V 機器 Y32 M 00 ダミー R Y33 01 工 程1 AC100V COM1 02 〃 2 Y34 03 〃 3 R Y35 AC200V 機器 R 04 ビット0 製品良否シフトレジスタ Y36 05 〃 1 (OFF-良品) Y37 06 〃 2 (ON-不良品) AC200V COM2 07 〃 3 08 〃 4 09 〃 5 図 3.12 コモンごとの異電圧使用 M 10 サイクル始動 テーブル後退端時有効 3.2.4 補助リレー・タイマ・カウンタ 11 サイクル中 主軸動作中ON 12 割出し中 の割り付け 13 テーブル前進端 自動サイクル中 (1)補助リレーの割り付け 補助リレーは、 14 準備 ①信号の状態記憶 15 ②信号の中継 ③停電保持リレー ④パルス発生 (2)タイマ・カウンタの割り付け など、PLC 独自の機能あるいはテクニックとして有用 タイマの機能については であり、また用途は広い。補助リレーの点数とメモリ ①出力駆動用 の容量に余裕があれば、電磁リレー回路では出来ない ②信号遅延用 処理、たとえば異常検出状態記憶などに活用すれば、 ③タイミング用 プログラムのデバッグや保守に役立つ。割り付け時に などがあり、またカウンタの機能についても は、前述した補助リレーの機能別に割り付ける方法を ①生産個数用 採用するとわかりやすい。表 3.3 に補助リレーの割り ②累計用 付け例を示す。 ③動作回数用 など種々ある。それらの割り付けについては、基本 的には前述の補助リレーと同様,機能別に区分して割 り付けると便利である。表 3.4 にタイマ・カウンタの 割り付け例を示す。この例では、タイマとカウンタの 番号は一連の直列番号となっている。表のように、各 タイマ、カウンタの用途や動作などのコメントを記入 しておくと、後日のプログラム改造などに便利である。 45 Copyright 2010 NECA All rights reserved. https://www.neca.or.jp/
Page11

表 3.4 タイマ・カウンタの割り付け 表 T 設定値K C 番号 0.1s c 名 称 用途・動作(カウント入力)・その他 ( /1 ) T 00 1 0 テーブル前進端確認 0.8~1.2秒の範囲で調整のこと。 T 01 4 0 0 切削油吐出時間 T 02 5 リフト上昇端時間 T 03 1 2 0 0 サイクルタイムオーバー検出 120秒(2分)以上でサイクルタイムオーバー T 04 6 0 0 冷却ファン用 モータM2停止後、オフディレータイマ 05 06 07 08 09 C 10 1 0 0 0 累計個数(×1) 最大9,999,999個まで C 11 9 9 9 9 〃 (×1000) C 02 5 0 0 動作回数 カウントアップで製品搬出 C 03 1 0 不良個数 カウントアップで機械停止 3.3 プログラミングの実例 本項では、ラダー図(LD言語)を使用して 図 3.13 の回路は、出力 ON させるのに図 3.14 プログラミングを行ううえでの注意事項を紹 の四つの回路が考えられる。 介すると共に、具体的なシーケンス制御の例と PLC のプログラムは、図 3.13 故障接点のよう してポンプ制御を取り上げて説明する。また、 な接続の点が設けられない。よって PLC 入力す 末尾に汎用性のある各種の応用プログラムを紹介 るには図 3.15 または図 3.16 にする必要がある。 する。 図 3.15、図 3.16 の回路を入力する場合、代 3.3.1 プログラミング設計上の 表的な PLC ではプログラム、ステップ数は図 3.15 では 10 ステップ、図 3.16 では 12 ステッ 注意事項 プとなる。回路の組み立て方は左側が大きく右 (1)設計上の注意事項 側に行くほど、点数が少なくなるようにすると、 (ⅰ)リレー回路と異なる点 ステップ数が少なくてすむ場合がある。 リレー方式の回路では図 3.13 のような回路 (ⅱ)PLC の直列演算 図は直接 PLC に入力できない。 PLC は図 3.17 のように、入力、出力処理を行な 自動 P1 った後でプログラム演算を行なう。この場合、 PLC は直列演算を行なうため、従来の電磁リレ ー回路とは少し異なる方法で設計する必要が 運転中 ある。 故障 表示 (a)電磁リレーの並列演算例 手動 P2 図 3.18 の電磁リレー回路においては、リレ ーR3 はセットスイッチ ON の時、自己保持が行 なえる。これは、線番1と線番 4 のセットスイ 図 3.13 リレー回路 ッチが同時に ON し、線番4の接点 R2(B 接点) 自動 P1 P1 自動 故障 故障 手動 P2 手動 P2 図 3.14 分割した回路 46 Copyright 2010 NECA All rights reserved. https://www.neca.or.jp/
Page12

手動 故障 P1 自動 故障 P2 自動 P1 自動 故障 P2 手動 故障 P1 手動 P2 図 3.15 PLCに入力するための回路(1) 図 3.16 PLCに入力するための回路(2) セット 1 R0 R0 R1 入力・出力 プログラム 処理 R1演算 R2 セット R2 リセット 4 R3 R3 5 図 3.17 PLCの処理の流れ 図 3.18 電磁リレーの並列演算 ON R ON R ON 0 0 R0 O ON R0 R0 R1 R1 ON R1 R2 ON R2 リセット ON R2 リセット ON R2 リセット R3 R3 R3 ON R3 R3 OFF ON ⓐR3がONしているが自 ⓑR3の自己保持 ⓒR2がONになってもR3はON 己保持していない。 図 3.19 リレーの動作 が OFF するのは、リレーR0、R1、R2 と順に ON した後のためである。したがって、リレーの動 セット R0 作遅延にによりリレーR3 の自己保持が実現す 1 000 010 る(図 3.19) R0 R1 (b)PLC の直列演算 2 図 3.20 のシーケンス図においては、出力 010 011 (013)はセットスイッチ(000)が ON しても R1 R2 3 自己保持しない。理由は、線番1の 000 と線番 011 012 リセット 4 の 000 とは同時に ON しないためである。図 R2 セット R3 3.22 のようにa→b→c→dまでの演算は一 4 000 013 演算サイクルの中に直列に処理されるため、R 012 001 3は自己保持されない。 5 013 図 3.20 直列演算の場合の誤った回路 47 Copyright 2010 NECA All rights reserved. https://www.neca.or.jp/
Page13

ON ON ON スタート R0 R0 000 010 010 ON R1 R1 010 011 011 ON R2 012 ⓐ ⓑ ⓒ OF R2 OF 012 セット ON R R この時点で 000 がONするので、R2がOFF2 3 013 すると、R3(013)がOFFのままとなる。 000 012 ⓓ 図 3.21 PLCの演算順序 (ⅲ)PLCの二重出力禁止 制御を外部で外部でインターロックを取らな シーケンス回路で、図 3.22 のように出力を いとき、正転・逆転の同時 ON が起こり、マグ 二重使いした場合、出力の演算結果は線番 2 の ネットスイッチ内で電源短絡が起こることが 結果が出力される。よって、線番1の結果は出 ある。 力されない。これは、シーケンスコントローラ THRy の動作が直列演算のため、シーケンスプログラ MG2 PC MG1 ムの後方になるほど動作が優先されるためで ある。 サーマル リレー 入力 出力 1 000 010 MG1 MG2 図 3.23 モータの正逆運転回路の正しい例 入力 出力 2 001 010 THRy PC MG1 図 3.22 PLCでの二重出力 サーマル リレー (ⅳ)インターロックの取り方 モータの正転・逆転の制御において、プログ ラムでインターロックを取るとともに、PLC の MG2 外部でも電気的インターロックまたは、メカニ カルインターロックを設けること。PLC のプロ 図 3.24 モータの正逆運転回路 グラムのみでインターロックを設けると、モー タの正転と逆転の出力が同時に ON し、マグネ ットスイッチ内で電源短絡が起こる。 ①PLC のモータの正転、逆転を制御する時、図 3.23 のように PLC の外部にて、電気的インター ロックを取ること。 ②図 3.24 のように、PLC でモータの正転・逆転 48 Copyright 2010 NECA All rights reserved. https://www.neca.or.jp/
Page14

配水池 H4 L5 L4 井戸 浄水池 一般家庭 P1 P2 P3 H3 H2 H1 L3 L2 L1 一般家庭 図 3.25 上水道システム 井戸の水を配水池へ送水する。 3.3.2 シーケンス制御の具体例 それにより配水池水位が上昇して最低水位 (1)概要 より上まわった時にポンプは停止する。 以下に紹介する具体例は、上水道システムの しかしこのままでは、ポンプ用モータの運転、 一部分を抜粋したもので、シーケンス制御によ 停止の動作頻度が多く、安定した動作は期待で り自動運転されるポンプ制御の一例について きない。 記述する。 上水道は一般家庭で使用される飲料水であ り、飲料として要求される諸基準を満足するた めに、取水場所や取水方法が限定されるが、本 最低水位 例は井戸から取水し上水として一般家庭に配 P 水されるまでのシステムを簡単に説明する。 システム全体は図 3.25 のようになっていて、 配水池 井戸で水中ポンプにより取水された水は、浄化 するために浄化プロセスを経由して浄水池に 貯水される。 浄水池 この浄水池より立地高度の低い住宅へはこ 図 3.26 浄水池と配水池 の浄水池から給水されるが、さらに高い場所に つくられた住宅に給水するためには、それより P 高い場所(一般的には山の中腹や頂上に設置さ 水位計 れている)に、高所給水を目的として設置され 送水ポンプ用最低水位レベル モータ た配水池へ浄化池の送水ポンプにより送水す る。 図 3.27 ポンプシーケンス (2)ポンプ制御の基本的な考え方 そこで遅延時間を設けて、一度運転すると一定 ポンプ運転の制御は、井戸や浄水池および配 時間運転を継続するように、タイマを使用した 水池に設置されている水位計のレベルで行う シーケンスが図 3.28 である。 が、この場合各々の池の水位を一定の位置に保 図 3.28 のシーケンスの場合、配水池水位が つようにシーケンスを作らなければならない。 最低水位を下ったときポンプ用モータが運転 図 3.26 の中で、配水池の水位が最低水位よ し、自己保持接点により運転が継続される。そ り下がった時に、ポンプが運転するようにシー してタイマの設定時間(図では 30 秒)を経過 ケンスを作ると、図 3.27 のようになる。 すると停止するが、実情から考えると不具合が このシーケンスでは、配水池水位が最低水位 より下がればポンプ用モータが運転し、ポンプ 49 Copyright 2010 NECA All rights reserved. https://www.neca.or.jp/
Page15

送水ポンプ用 モータ 満水位 P 最低水位 限時接点 P 空水位 T 自己保持 タイマ30秒 配水池 図 3.28 タイマを使用したシーケンス 浄水池 ある。 それは一般家庭の水の使用状況が、季節や一 図 3.29 配水池水位 日の時間帯によって変わるため、一定した遅延 時間では設定時間が長すぎるとオーバフロー P するし、逆に短いと図 3.27 のシーケンスと同 空水位 満水位 じことになってしまう。 送水ポンプ用 配水池の水の容量と一般家庭の需要量を比 モータ 較した場合、配水池の容量は余裕を持たせてあ 自己保持 るため、配水池の水が無くなる直前のレベルま でポンプは停止していても良い。 図 3.30 2位置制御シーケンス しかし、ポンプが運転したときに、配水池の (3)ポンプの運転方法の参考例 水位が最低水位を超えれば停止ということで 実際のポンプ運転制御は、図 3.31 に示すよ は、配水池の貯水量が常に最低量になって、急 うな付帯設備が必要である。 激な需要(火事の放水やプールへの給水等)に 各々の付帯設備の目的と動作方法について 対し不安が残ることから、配水池の容量の最大 以下に説明する。 まで送水するように、シーケンスは設計される ① 真空ポンプ:主ポンプ始動時にケーシング べきである。 内を満水にさせる。主ポンプ吐出圧が一定 従って配水池の水位計によるレベル検出を 値以上になると停止する。 図 3.29 のように、満水位と空水位の 2 位置検 ② 吸気電磁弁:真空ポンプと主ポンプのケー 出にすれば、それによって図 3.30 のようなシ シングとの配管の中間に設置され、動作は ーケンスにすることが可能になる。 真空ポンプと同じである。 図 3.30 のシーケンスでは、配水池水位が空 ③ 封水電磁弁:主ポンプの軸受部を封水し、 水位でポンプ用モータが運転し、満水位になる 主ポンプ動作中にケーシング内に空気が入 まで送水を継続し停止する。 るのを防止する。また、軸受部の冷却も目 以上、配水池の貯水量を自動制御できる最も 的の一つである。 簡単なシーケンスにつき説明した。 33M 63P MP :主ポンプ VP :真空ポンプ VP M 吐 逆2 SV GV 出 止 M1 :主ポンプ用モータ 弁 弁 M2 :真空ポンプ用モータ M3 :吐出弁用モータ M1 M3 GV :封水電磁弁 MP SV :吸気電磁弁 33M :濁水検知リレー 63P :吐出圧検知リレー ポンプ井 図 3.31 ポンプの付帯設備 50 Copyright 2010 NECA All rights reserved. https://www.neca.or.jp/
Page16

④ 満水検出リレー:主ポンプの始動前、真空 ポンプ運転フロー ポンプによりケーシング内に呼び水をした 電気故障リレー不動作 始動準備完了 吐出電動弁全開 とき、満水になったことを検出するリレー ポンプ井水位正常 である。主ポンプの動作は必ずこのリレー 操作スイッチ入 の動作を確認の後に行う。 運転指令 自動運転スイッチ ON ⑤ 吐出圧検知リレー:主ポンプが始動すると 主配管内の水圧は上昇し、その水圧が規定 真空ポンプ運転 封水電磁弁用 値以上になった時、吐出電動弁を開いて送 水を開始する。水圧が低い時に吐出弁を開 満水検知 吸気電磁弁用 くとケーシング内の水がなくなり、ポンプ 5秒経過後 が空運転し損傷させる。 主ポンプ始動 ( (スター)運転) ⑥ 吐出電動弁:主ポンプと本管を接続する弁 で、モータ正転で開動作、モータ逆転で閉 10秒経過後 動作をする。吐出圧検出後すぐに開動作を 主ポンプ運転 ( (デルタ)運転) 行い送水する。主ポンプを停止する時には、 まず吐出弁を閉じて全閉後に主ポンプを停 吐出圧検知 止させる。 ⑦ 逆止弁:水圧の急変による主ポンプの損傷 吐出電動弁開動作 真空ポンプ停止 を防止するための弁であり電気的操作は一 切無い。 吐出電動弁全開 吸気電磁弁閉 以上の設備の説明に基づき本フローチャー トを作成すると図 3.32 になる。 なお、説明を簡単にするためにフローのリレ 送水開始 ーシンボル図は省略し、前述の上水道システム ポンプ停止フロー のシーケンス設計について以下に解説する。 操作スイッチ切 (4) 上水道システムのポンプ運転シーケン 停止指令 自動停止指令 ON スの動作条件 ポンプ井水位規定値以下 井戸と浄水池及び配水池の各々に設置され 吐出電動弁閉動作 ている水位計から、それぞれのポンプの運転・ 停止条件を定める。 吐出電動弁全閉 ① 井戸ポンプの運転・停止条件 井戸ポンプは普通は連続運転を行っても、 井戸の水位が下り渇水状態になることはな 主ポンプ停止 い。従って井戸水位が下がる時が井戸ポンプ の非常停止条件になるが、その場合は井戸自 封水電磁弁閉 体の不具合かまたは井戸の寿命と考えられ る。 図 3.32 ポンプ運転・停止フロー 浄水池水位が井戸ポンプ始動水位(L3) その場合、保守上の理由で均等な運転時間に になった時、井戸ポンプは運転し、井戸ポン なるよう先発選定が行われる。 プ停止水位(H3)で停止する。この条件も 従って配水池水位が浄化池ポンプ(P2また まれにしか機能しない。それは井戸ポンプを はP3)1台始動水位(L5)で1台が運転し、 停止すると井戸の浄化作用が不安定になり、 浄水池ポンプ停止水位(H4)で停止する。そ 次に起動した時に砂等が混入しやすくなる のとき浄水池ポンプ1台では配水池水位が更 からで、一般には常時運転となる。 に低下すれば、浄水池ポンプ2台始動水位(L ② 浄水池ポンプの運転停止条件 4)で更に残りのポンプが運転し、2台運動の 浄水池ポンプは、配水池の水位の低下の条 状態になり、浄水池ポンプ停止水位(H4)で、 件により運転・停止を行うが、この場合一般 1台ずつ時間差を設けて停止する。 的に複数台のポンプ制御を行うことになる。 複数台のポンプがある場合は、このように均 それは配水池の水位が急激に低下(大量に需 等な運転時間になるよう先発選択を行うと共 要がある時)する場合の応援運転を行うため に、同時運転、停止による急激な電力消費や設 である。 備への負荷の増加を防止する。 しかし通常は1台運転で配水池水位は回復 また浄水池水位が渇水位(L2)で浄水池ポ するため、先発ポンプが常時運転され、残り ンプは非常停止し、運転水位(H2)で運転を のポンプは運転されることが少なくなる。 再開する。 51 Copyright 2010 NECA All rights reserved. https://www.neca.or.jp/
Page17

表 3.5 入出力割り付け表 No. 入力信号 名 記号 PC入力アドレス 1 井戸ポンプ運転 水位 H1 0000 2 井戸渇水 位 L1 0001 3 井戸ポンプ始動 水位 L3 0002 4 〃 停止水 位 H3 0003 5 浄水池ポンプ1台始動水 位 L5 0004 水位計により設定されたレベル 6 〃 2台 〃 L4 0005 7 〃 停 止 水位 H4 0006 8 浄水池渇 水位 L2 0007 9 渇水池ポンプ運 転水位 H2 0010 10 〃 優先 選択 SW 0011 切替スイッチ No. 出力信号 名 記号 PC出力アドレス 1 井戸ポンプ運転 P1 0100 2 渇水池ポンプ1号 P2 0101 ポンプ運転指令 3 渇水池ポンプ2号 P3 0102 (5)入出力割り付け表 る。前述の電磁リレー回路とPLCとの相違点を 表 3.5 に入出力割付表を示す 参照されるとよい。構造化テキスト(ST)言語 (6)上水道システムのポンプ運転シーケンス図 および機能ブロック図(FBD)言語によるプロ 上水道システムのポンプ運転シーケンス図を グラム例を付属資料(図 3.40)に示すので参照さ 図 3.33 に示す。本図はPLCへのプログラムの れたい。 ローディングが容易なように描き方を整えてい L3 C1 H3 井戸ポンプP1 P1 0002 4000 0003 0100 P1 起動条件 浄水池満水位 0100 自己停止 H1 L1 P1補助C1 0000 4000 4000 4000 優先選択 SW L5 C2 H4 浄水池ポンプP2 P2 0011 0004 4001 0006 0101 L4 起動条件 0005 P2 0101 SW L5 浄水池ポンプP3 P3 0011 0004 T000 0102 L4 0005 P3 0102 TMR H4 000 同時停止防止 0006 タイマ 0050 4001 浄水池渇水 H2 L2 P2,P2補助C2 0010 0007 4001 C2 4001 図 3.33 シーケンス図 52 Copyright 2010 NECA All rights reserved. https://www.neca.or.jp/
Page18

3.3.3 応用プログラムの実例 以下図 3.34 より図 3.39 に、よく使用される代 では回路の考え方を理解するにとどめていた 表的な応用プログラム例を示す。PLC の機種に だきたい。 より回路の構成が異なる場合があるので、本例 ワンショット入力 リレー 0000 0100 0000 4000 0100 4000 立上り微分回路 1演算サイクル 図 3.34 立上り微分回路 R S T 88 49 PC 運転 19 49 U V 00000100 6 W 停止 始動 6 0001 M 0101 1919 始動 6 X Y Z 0102 88 開閉器 6 0001 TMR000 0000 0100 0100 0001 0000 0102 TMR 0102 000 - 切替 タイマ 0100 TMR 001 アーク短絡防止 タイマ TMR000 0005 TMR001 0101 図 3.35 - 切替モータ駆動回路 53 Copyright 2010 NECA All rights reserved. https://www.neca.or.jp/
Page19

測定スイッチ 測定中 TMR001 4000 4000 毎サイクル 4000 4001 4001 発振 CNT 000 2演算サイクル毎 にカウントダウン 1000 リセット TMR 001 測定時間 4000 0100 測定スイッチを投入してから10秒後にカウンタの現在値を 読み、その数値から次式で求める。 サイクルタイム≒10000/(999-カウンタ現在値)×2(ms) 図 3.36 サイクルタイムの測定回路 0000 前進端 PC 入力 0001 後退端 (a)背反条件の入力を組合せて、間欠故障を自己保持する。 CNT 000 0000 0001 0100 CNT000 設定数の変化で異常回数を 確認する。 リセット (b)前進端から後退の動作を行うとき、後退端へ達する迄の時間を設定し、タイムオ ーバにより故障を検出する。 後退中 0000 0001 4000 4000 TMR 001 4000 0100 TMR001 図 3.37 制御対象の異常検出 54 Copyright 2010 NECA All rights reserved. https://www.neca.or.jp/
Page20

(a)タイマのくり返し 入力 ON時微分 TMR 0000 4001 4000 パルス 000 0000 4001 TMR000 0010 CNT 000 4000 0002 TMR000 4002 CNT000 1秒 オルタネート出力 1サイクル 4000 CNT000 0000 (b)カウンタのくり返し 0100 CNT 電源投入時に 001 4003 4002 1パルス発生 常時OFF接点 TMR000 0100 7366 4003 モーメンタリ入力 0000 CNT001 4000 CNT000 オルタネート出力 0100 TMR000 1 2 100 101 図 3.38 モーメンタリスイッチをオルタネートスイッチにする回路 CNT001 図 3.39 くり返し回路 55 Copyright 2010 NECA All rights reserved. https://www.neca.or.jp/