PLCのスキャンタイムとは?遅いと何が起きる?目安とトラブル例を初心者向けに解説

PLC入門

〖対象〗PLC初心者/ラダーを書き始めた人(「なんか反応が遅い…」を経験した人)
〖前提〗入力→処理→出力、A接点/B接点、自己保持の基本が分かると読みやすいです
〖次に読む〗タイマーとは?インターロックとは?通信I/Fの基礎


はじめに:スキャンタイムは“PLCの反応速度”に直結する

PLCは、パソコンのように「イベントが起きたらその都度処理する」よりも、基本は 同じ処理を繰り返す ことで動きます。
この繰り返し1周を スキャン(scan) と呼び、1周にかかる時間が スキャンタイム です。

ざっくり言うと、

  • スキャンタイムが短い → 反応が速い(見逃しにくい)
  • スキャンタイムが長い → 反応が遅くなる(短い信号を見逃しやすい)

という関係になります。

この記事では、スキャンタイムの意味、遅いと何が起きるのか、現場で出るトラブル例と対策を“浅くても実務で困らない”レベルで整理します。


スキャン処理の流れ(超ざっくり)

PLCは一般的に、次の流れを繰り返します。

  1. 入力を読み取る
  2. ラダーを上から実行する
  3. 出力を更新する
  4. 次のスキャンへ

この「1〜4の1周」がスキャンで、その1周にかかる時間がスキャンタイムです。


スキャンタイムが長いと起きること(よくある3つ)

反応がワンテンポ遅く感じる

ボタンを押してから出力が出るまで、少し遅れて見えることがあります。
機械だと「動き出しが遅い」「停止が遅い」と感じる原因の1つになります。

※ただし安全停止(非常停止など)は、PLCより上位の安全回路で止めるのが基本です。
PLCのスキャンが遅いから危険、という設計は避けます。

短いON/OFF信号を見逃す

これが一番重要です。

PLCはスキャンのタイミングで入力を見ます。
もし入力が「スキャンとスキャンの間だけ」一瞬ONになって消えた場合、PLCはそのONを見ていないので 無かったこと になります。

例:パルスが短いセンサ、近接がギリギリ、エンコーダの一部信号、など。

タイマーやカウンタの“体感”がズレることがある

タイマーは内部で時間を数えますが、スキャンが極端に重いと、ON/OFFの入り方が想定と違って「なんかズレる」と感じるケースがあります。
(多くのPLCは時間管理が工夫されていますが、条件がブレブレだと“体感”はズレます)


目安として「どれくらいが普通?」(ざっくり)

スキャンタイムは、

  • プログラムの量
  • 通信の量
  • 演算の重さ
  • モジュール構成

で変わるので「◯msなら正解」という固定値はありません。

ただし現場感としては、

  • 普段は十分短い(機械の動きに違和感がない)
  • ある日突然遅くなった(以前より重くなった)

この“変化”がトラブルのサインです。

基準は絶対値よりも、いつもと比べて増えたかどうかです。


スキャンタイムが伸びる原因(現場で多い順)

プログラムが増えて処理が重い

一番多いです。
後付け改造で条件分岐や機能が増え、結果としてスキャンが伸びます。

特に重くなりやすい例:

  • 大量のデータ処理(配列・テーブルを毎スキャンなめる)
  • ループ的な処理を毎スキャンで回している
  • 使っていない処理まで毎スキャン動いている

通信が増えて待ちが発生している

通信I/Fを増やしたり、監視データを増やしたりすると、内部で処理が重くなることがあります。
特に“診断を毎スキャンで読みに行く”ような設計は重くなりがちです。

ロギングや表示更新が多い

画面側(HMI)に大量のタグを表示していたり、ログ用のデータを常に整形していると、負担になることがあります。


トラブル例(初心者がハマりやすい)

例1:ワークカウントが飛ぶ/抜ける

「センサONで+1」などの処理で、

  • スキャンが遅い
  • センサのONが短い
    が重なると、カウントが抜けることがあります。

対策:

  • 立ち上がり検出(ワンショット)を使う
  • 入力フィルタやパルス幅確保(センサ側・機械側)を考える

例2:ステップが飛ぶ(条件を見逃す)

ステップ遷移が「一瞬だけ成立」する条件だと、スキャンのタイミングで見逃して遷移しない/逆に飛ぶ、が起きます。

対策:

  • 遷移条件は“安定して成立する形”にする
  • 必要なら「成立したら保持するフラグ」を作る(自己保持やラッチ)

例3:ボタン操作がたまに効かない

押す時間が短いと、スキャンの間に押して離してしまい、PLCが見ていないことがあります。

対策:

  • 入力フィルタ
  • 押下を保持する回路(ワンショット+自己保持など)

対策の考え方(最低限これだけ)

まずはスキャンタイムを“見える化”

多くのPLCには、現在のスキャンタイムをモニタできる機能があります。
「いつもより増えてるか?」を見るだけでも効果があります。

重い処理は“毎スキャンでやらない”

  • 初期化は起動時だけ
  • 検索・集計は一定周期(例えば100msごと、1秒ごと)にする
  • 使っていない処理は止める

短い信号を相手にするなら“見逃さない設計”にする

  • 立ち上がり検出(ワンショット)
  • 入力フィルタ
  • パルス幅の確保(機械側で長くする)
  • 必要なら外部でパルス補足(ハード/専用モジュール)

まとめ

  • PLCはスキャン処理で動き、1周にかかる時間がスキャンタイム
  • スキャンタイムが長いと、反応が遅くなり、短い信号を見逃しやすくなる
  • 絶対値より「以前より増えたか」を見るのが実務的
  • 対策は「重い処理を毎スキャンでやらない」「短い信号を見逃さない回路にする」

<執筆者の実務コメント>
スキャンタイムのトラブルは「プログラムを足した直後」に出ることが多いです。
改造するときは、処理を毎スキャンで回すのか、周期処理にするのかを意識するだけで、後のトラブルがかなり減ります。

▶ 次に読む:タイマーとは?インターロックとは?通信I/Fの基礎

タイトルとURLをコピーしました