MINATAと学ぶオートメーション #32:PLCの基本とスキャンサイクル — なぜ論理は「連続」で動かないのか
PLCの基本とスキャンサイクル:なぜ論理は「連続」で動かないのか
PLCはプログラムできる制御装置だが、すべてのセンサーを見張っていて同じ瞬間に反応する人のように考えてはいけない。多くのPLCは スキャンサイクル で動く。入力を読み、プログラムを実行し、出力を更新し、また繰り返す。この繰り返しを正しくつかむことが、安定した論理を書く力になり、「PLCが遅い」ように見える不具合を説明する力になる。
この記事で学ぶこと
- 機械の盤の中でPLCが何をしているか、スキャンサイクルは何の段からなるか。
- タイマ、短いパルス、入力の変化が誤解を生む場面。
- 状態を持ち、確認しやすく、より安全な論理の書き方。
PLCはシステムのどこに立つか
PLCは押しボタン、センサー、安全スイッチ、機器の状態から 入力 を受ける。プログラムが 出力 を決める。電磁弁、補助リレー、表示灯、インバータへの指令。HMIやインバータや計測器はネットワークでPLCとデータをやり取りできるが、それでもPLCには最初から正しいI/Oの構成と正しい電源が要る。
配線による回路が消えるわけではない。非常停止、安全インターロック、電気の保護は、リスクアセスメントから設計するものであって、ソフトの条件一つに委ねてはいけない。
一回のスキャンで起きること
- 入力の読み取り: PLCが入力端子の状態を入力イメージへ写し取る。
- プログラムの実行: ラダー/ST/FBDの論理が、プログラムした順に、その写しを使って実行される。
- 出力の更新: 結果が出力モジュールへ書かれる。
- 背景処理と通信: PLCによっては、自己診断、通信、ウォッチドッグがここで動く。
そしてPLCはまた先頭へ戻る。スキャン時間はCPU、命令数、通信量、タスクによって変わる。「既定の」数値を一つ持ってきて、どの機械にも当てはめないこと。センサーの状態変化がプログラムに見える時間より短ければ、高速入力やパルスキャッチの機能を使わないかぎりPLCは取りこぼす。
コンベヤの論理の例
B1が製品を検出するとする。プログラムはB1でコンベヤを止め、押し出しの電磁弁を300ms入れ、また運転する。ここで「B1がONなら弁をON」とそのまま書けば、製品がセンサーを覆っているあいだ弁は入りっぱなしになる。正しいのは 立ち上がりのイベント をつくり、シーケンスの一段をラッチし、必要な時間はタイマで持つやり方だ。
持っておきたい考え方はこうだ。入力は観測であり、状態変数が機械のいまの段を示し、出力はその段の結果である。こうしておけば、入力がONのままでも、望んでいない動作を機械が繰り返すことはない。
スキャンサイクルと一緒に設計すべきこと
- 短いパルス: 高速入力、割り込み、あるいはハードやPLCの機能でパルスを伸ばす。
- タイマ: ソフトのタイマを厳密な時計として扱わない。スキャンと分解能を見込む。
- プログラムの順序: 同じビットを何か所でも書けば、結果はスキャンの順に左右される。一つの出力は、決まる場所を一か所にする。
- 再起動: PLCが再び通電したときの安全な状態を定義する。古いビットが残っていたというだけで機械が動き出してはいけない。
- ウォッチドッグとI/O異常: モジュールや通信が落ちたときの振る舞いを決めておく。
参考になる現場の一場面
ピック&プレースの一工程では、PLCはワークのセンサーで「待機」から「クランプ」へ移り、ストロークの信号で「上昇」へ移り、いまの段に応じてだけ弁を出す。どの段にも、入る条件、完了の条件、タイムアウト、異常時の振る舞いが要る。この組み立て方は、条件が絡み合った塊よりオンラインで追いやすい。
スキャンの数値、高速入力、タイムアウト、起動モードは、実際のPLC、実際の機器、実際のリスクアセスメントで確認すること。
PLCの基本チェックリスト
- [ ] 入力、出力、安全信号、通信を明示して並べた。
- [ ] スキャン時間より短くなりうるパルスを洗い出した。
- [ ] どの駆動部にも状態、タイムアウト、異常からの出口がある。
- [ ] 一つの出力が複数のネットワークに散らばって書かれていない。
- [ ] 停電と再起動のあとの振る舞いを確認した。
スキャンサイクルを理解することは、「動くまで命令を書く」から「予測できる制御システムを設計する」への一歩だ。次回はPLCの入力と、PNP/NPNの選び方に入る。
MINATAで自動化の知識をもっと読む:https://minatavn.com/ja/blog/industrial-automation
前の記事 — #31:接続図と端子表:https://minatavn.com/ja/blog/automation-31-wiring-diagram-terminal-schedule-ja
次の記事 — #33:PLC入力のPNPとNPN:https://minatavn.com/ja/blog/automation-33-plc-inputs-pnp-npn-ja
MINATAの技術記事をすべて見る