【PLC】自己保持回路の書き方と設計作法〜ラダー図のブロック思考でバグを防ぐ〜

  • URLをコピーしました!
\ 迷子にならないための地図 /

未経験から一人前への
「最短ルート」公開中

独学で「何から勉強すれば…?」と悩んでいませんか?
現場で戦える知識を、体系的にまとめました。

FA電気設計ロードマップを見る

自己保持回路と聞いて、「スイッチを押したらランプが点きっぱなしになる回路でしょ?」程度の認識しか持っていないのであれば、今すぐその甘い考えは捨ててください。

現場で「他人の書いたラダー図が読めない」「チョコ停の停止原因がすぐに見つけられない」と悩む若手エンジニアの多くは、画面上に複雑に絡み合う接点を前にして、「すべてが同じただの条件」に見えてしまっています。

しかし、現場で迷いなくデバッグを進める設計者の頭の中では、どんなに複雑な自己保持回路も、実は「前提(動作許可)」「きっかけ(トリガー)」「保持(運転継続)」のたった3つのブロックに分割されて見えています。

この「回路をブロックで捉える目」を持たない限り、トラブルシューティングで「まずどこを見ればいいのか」すら分からず、いつまでも現場で立ち尽くすことになります。

本記事では、入門書レベルの表面的な解説(a接点やb接点といった記号の分類)から完全に脱却します。電気設計として9年間培ってきた実務ノウハウを凝縮し、実際のFA現場で絶対にバグを生み出さず、デバッグ速度を劇的に引き上げるための「自己保持のブロック思考」と設計作法を徹底的に解説します。

※本記事を読む前の必須知識※
ラダー図が上から下へ実行される「スキャンの概念」や、ハードウェアのb接点とソフトウェアのa接点の「逆転現象」にまだ不安がある方は、先に以下の3記事で「シーケンス制御の絶対原則」を押さえておいてください。
電気回路とラダー図の決定的な違いa接点・b接点と非常停止の安全ロジックパルス化と連続実行の違い(MOVとMOVP)

目次

自己保持を構成する「3つの論理ブロック」

現場で通用する自己保持回路を組むためには、回路を表面的な接点の種類ではなく、以下の「3つの論理ブロック」として完全に切り分けて思考する癖をつけてください。

自己保持回路の基本構成図(開始条件、保持するリレーの接点、成立条件、コイルの配置)

1. 自己保持の開始条件(トリガ)
回路の左肩(上段)に記述される、動作の引き金となる条件です。押しボタンの入力や前工程の完了信号などが該当します。この条件がONになった瞬間が、自己保持のスタートラインです。

2. 保持するリレーの接点(ホールド)
開始条件と並列(下段)に記述される、一度ONになった状態を自ら維持するための生命線です。自己保持させる出力リレー自身の「a接点」を使用します。これにより、開始条件の信号が消えても、自分自身の接点でバイパス回路を作り、電路を確保し続けます。

3. 自己保持の成立条件(論理ブロック全体としての関所)
「開始条件」と「保持接点」で作られた並列ブロックから、出力コイルへと向かう経路上に、直列で繋ぎ込まれる絶対的な関所です。
実際の現場の回路では、この成立条件のブロック内に以下のような様々な接点が直列に混在します。

  • 異常信号が出ていない(b接点)
  • 安全扉が閉まっている(a接点)
  • 停止ボタンが押されていない(b接点)

ここで重要なのは、個々の接点の種類(a接点かb接点か)ではなく、「この直列ブロック全体としてON(導通)になっているか否か」という視点です。

「開始条件」のボタンを押したとしても、この関所ブロック全体がONになっていなければ、信号は決してコイルまで到達しません。そして、自己保持中にこのブロック内の条件がたった一つでも崩れ、ブロック全体としてOFFになった瞬間、電路は絶たれ、それが自動的に自己保持の『解除(停止)』として機能します。

この「左肩に開始条件」「並列に保持するリレーの接点」「右肩に成立条件」という基本構造を骨の髄まで叩き込むことが、自己保持回路を使いこなすための第一歩となります。

複雑な条件は「内部リレー(M)」で整理する

実際の設備において、先ほど解説した「成立条件ブロック(関所)」が、単一の接点だけで済むことは稀です。

例えば、「異常Aと異常Bの両方が発生」または「異常Cが発生」したときに、シリンダの前進(自己保持)を停止させたいという仕様があったとします。 ここで注意したいのが、ラダープログラムの「可読性(見やすさ)」と「論理の直感性」です。

【基本構造が崩れる書き方(悪い例)】

これらの複雑な条件(例えば「AとBの両方がON、またはCがOFF」など)を、そのままメインの自己保持回路の直列経路上に書き込んでしまうとどうなるでしょうか。

設備を「停止させる条件」が「AとBの両方、またはC」である場合、それをメイン回路の成立条件(=動作し続けてもよい条件)として直接組み込むためには、条件をすべて裏返して「Aではない、またはBではない。かつ、Cではない」という複雑なb接点の組み合わせに変換して記述しなければなりません。
これを真面目にラダーで組むと、以下の図のようになります。

自己保持回路の成立条件に複雑な条件を直接書き込み、基本構造が崩れてしまったラダー図の例

いかがでしょうか。直列であるべき経路上に「b接点の並列回路」が入り込み、「開始・保持・成立」という3つの論理ブロックの境界線が完全に崩壊しています。
これでは、パッと見た時に「どこまでが起動のトリガで、どこからが停止の関所なのか」が直感的に読み取れないばかりか、停止の条件を頭の中でわざわざ「裏返し」にして読み解かなければならず、極めてバグを生みやすい状態です。

【内部リレー(M)を活用した整理(良い例)】

そこで、複雑な条件を扱う際のプロのセオリーとして、別の行で「内部リレー(M)」を使って条件を一つにまとめる手法が必要となります。

  1. 条件をまとめる回路を別途作る
    別の行で、「異常A(a接点)と異常B(a接点)」または「異常C(a接点)」という、仕様書通りの直感的な論理で「異常まとめ(M100など)」をONさせる回路を作ります。
  2. メイン回路には「M接点」を1つだけ置く
    そして、メインの自己保持回路の「成立条件ブロック」には、その集約された「M100のb接点」をたった1つだけ配置します。
内部リレー(M)を使って異常条件をまとめ、自己保持回路の基本構造をスッキリと保ったラダー図の例

内部リレーを挟むひと手間をかけることで、頭を悩ませる「論理の裏返し」をする必要がなくなり、メイン回路も「左側に開始と保持、右側に関所が1つ」という極めて美しくシンプルな基本構造を保ち続けることができます。
後からデバッグや条件の追加を行う際の作業効率は、段違いに向上します。

「ブロック思考」で仕様変更に強いラダーを組む

自己保持回路を「開始(トリガ)」「保持(ホールド)」「成立(関所)」の3つの論理ブロックで捉えることの重要性を解説してきました。

なぜ、ここまで「構造を崩すな」「ブロックごとに分けて意識しろ」とお伝えしてきたのか。それは、実際のFA現場では「設備立ち上げ直前、あるいは稼働後の仕様変更・機能追加」が日常茶飯事だからです。

このとき、回路が美しい論理ブロックとして整理されていれば、どこを改造すべきかが一瞬で判断でき、バグや他の動作への悪影響(デグレード)を確実に防ぐことができます。

ケース1:「自動運転でも動くようにしたい」(開始条件の追加)

例えば、手動ボタン(X0)だけで動いていたシリンダ前進回路に対し、「前工程完了(X20)の信号が来たら、自動でも前進するようにしてほしい」と依頼されたとします。

この追加要件は、動作の新たな引き金となる「開始条件」です。したがって、迷うことなく「開始条件ブロック(左肩)」に対して、X20のa接点を並列(OR)で追加すればよいだけです。右側の関所ブロックを気にする必要は一切ありません。

ケース2:「一時停止ボタンを追加したい」(成立条件の追加)

「動作中に一時停止ボタン(X21)が押されたら、安全のために直ちにシリンダの自己保持を落としたい」という要件はどうでしょうか。

これは、動作を許可し続けるための「関所」に対する追加要件です。したがって、「成立条件ブロック」である内部リレー(M100など)を駆動させる別のネットワークに、一時停止の条件を追加して関所が的確に閉じるように論理を組むだけです。メインの自己保持回路の形は、いっさい崩れません。

自己保持の連鎖で作る「順序制御(ステップ動作)」

ここまで、1つの自己保持回路を確実に組むための「ブロック思考」を学んできました。 しかし、実際の設備の多くは「シリンダAが前進したら、次にシリンダBが前進し、最後にシリンダCが下降する」といったように、決められた順番で動作する「時系列の順序制御(ステップ動作)」が基本となります。

この順序制御も、ここまで学んできた「自己保持回路」を数珠つなぎに連鎖させることで実現できます。ここでも、「どこに条件を足すか」というブロック思考が役立ちます。

「1つ前の動作(Y10)が完了していること」を、次の動作(Y11)のどこに組み込むか。主に2つのアプローチがあります。

アプローチ1:「開始条件ブロック」に組み込む(独立保持型)

次の自己保持(Y11)の左肩、つまり「開始条件ブロック」に、前の動作(Y10)のa接点を直列に組み込む方法です。
「Y10がONしている状態で、X3(トリガ)が入ったら、Y11を起動する」という論理になります。一度Y11が自己保持に入ってしまえば、その後で1つ前のY10がOFFになっても、Y11の自己保持はそのまま維持されます。

自己保持回路の連鎖による順序制御(1つ前の動作リレーを開始条件ブロックに組み込んだ独立保持型のラダー図)

アプローチ2:「成立条件ブロック」に組み込む(連動停止型)

次の自己保持(Y11)の右側、つまり「成立条件(関所)ブロック」に、前の動作(Y10)のa接点を直列に組み込む方法です。
この場合、「Y10がONしていなければ、Y11は起動すらできない」のはもちろんですが、最大のポイントは「Y11の動作中に、1つ前のY10がOFFになった瞬間、関所が閉じてY11も強制的にOFFになる(連動して停止する)」という点です。前工程の動作が維持されていることが絶対条件となるような設計で有効です。

自己保持回路の連鎖による順序制御(1つ前の動作リレーを成立条件ブロックに組み込んだ連動停止型のラダー図)

このように、自己保持回路を連鎖させていけば、理論上はどれだけ複雑な順序制御でも組むことができます。

まとめ:自己保持を制する者は、シーケンス制御を制す

本記事では、入門書で語られがちな「単なるランプの点灯回路」から脱却し、現場で通用する自己保持回路の設計作法を解説しました。

  • 3つの論理ブロックの死守: 回路を「開始(トリガ)」「保持(ホールド)」「成立条件(関所)」に分け、その境界線を絶対に崩さないこと。
  • 内部リレー(M)によるカプセル化: 複雑な条件は別の行でまとめ、メイン回路の美しさと視認性を守り抜くこと。
  • ブロック思考による仕様変更対応: どこに条件を追加すべきかを論理的に判断し、バグの発生を防ぐこと。

自己保持は、シーケンス制御における「状態」を扱うすべての基礎です。この「ブロック思考」が腹に落ちていれば、他人の書いた複雑なラダー図も、驚くほどスッキリと読み解けるようになっているはずです。

※本記事で使用している画面は、三菱電機株式会社「GX Works2」の操作画面です。
※GX Works2、MELSECは、三菱電機株式会社の登録商標です。
※本記事で紹介しているプログラムや回路図は、技術解説のためのサンプルです。実機での動作を保証するものではありません。
※実際に使用する際は、十分な検証を行った上で、安全に配慮して運用してください。

💬 更新情報を X (Twitter) で発信中!

記事の更新通知や、現場で役立つ「電気制御の小ネタ」をツイートしています。 また、「記事のここが分からなかった」「現場でここが困っているけどどうしたらいい?」といった疑問があれば、DMで募集しています!個別のトラブル相談も、ブログのネタにさせていただけるなら大歓迎です!ぜひフォローして気軽に絡んでください!

シーケンス制御の絶対基礎「自己保持回路」の3つの論理ブロック(開始・保持・成立条件)を、具体的なイラストを排除した抽象的なブロック図と、主要な日本語テキストで視覚化した、クリーンなアイキャッチ画像。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

目次