シーケンス制御講座

ダブルコイル

ダブルコイルというのは、同じコイルを2つ書くことです。リレー回路では接点は1つのリレーに対して複数あるので、同じ接点を使うことはできます。しかしコイルはリレーに1つしかないため、同じコイルを2つ接続するということはできません。物理的には接続できないダブルコイルですが、ラダープログラムの中では書くことができます。ダブルコイルを書くと、どのような事が起るか解説していきます。

作成日:2025年08月01日
更新日:2025年08月01日


ダブルコイルとは

ラダープログラムはコイルと接点等を使ってプログラム作っていきますが、同じコイルを2個以上書くという行為をダブルコイルと呼びます。ラダープログラムはリレー回路をベースに作られたプログラム言語です。そのためリレーを使ってプログラムを作っていく感じになります。リレーというのは1つのコイルと複数のリレーで構成されています。実際のリレー回路では1つのコイルを複数使うことは物理的にできないので、ダブルコイルというのは発生しません。

ラダープログラムも基本的は1つのコイルに複数の接点という考え方です。ここはリレー回路と同じなのですが、プログラム内に2つの同じコイルを書くことができます。これがダブルコイルとなります。

例えば「Y0」というコイルを複数書くことができます。

こんな感じでラダープログラム上では1つしかないコイルを複数書けてしまいます。これがダブルコイルという書き方になります。

ダブルコイルの動き

ダブルコイルというのは基本的には行ってはいけません。プログラムチェックをかけるとエラーになります。ではダブルコイルを行うとどのような動作になるのでしょうか?

このような接点の状態では「Y0」はOFFとなります。では次はどうでしょう。

この書き方だと「Y0」はONします。なにが違うのでしょう?

ダブルコイルを行った場合、プログラムの一番最後、ENDに近い位置に書いたコイルが優先されます。つまり上の回路では最初の「Y0」の回路(常時ONの部分)は無視されます。最後の行の回路だけが有効になります。

そのため2個めの回路のように、常時「Y0」をONしているのに「Y0」がONしないという現象が発生してしまいます。今回はサンプルで書いているので、ダブルコイルと分かりますが、実際の回路はもっと長く、見た目ではダブルコイルと分かりません。コイルをONしているのにONにならない時はダブルコイルを疑ってみてください。

なぜそのような動きになるのか?

ダブルコイルを使うと一番最後のコイルが優先され、他のコイルは無視される。なせそうなるのでしょう?PLCがダブルコイルを検知して、その様な動作になっている?一番最後のコイルが優先されると言いましたが、実は少し違います。(実際に使う中では一番最後のコイルの動きになります)

次のような回路があったとします。左側の母線の外側の数値はステップ番号です。解説のために残しています。

これはCPUを停止してこのような状態にしているわけではなく、実際にCPUは動作してRUN状態です。すごく不思議な回路です。そもそもなぜ「Y0」はONしていないのに「M0」がONしているの?

順番に解説していくと、一番上の0ステップでは、常時ONのコイルで「Y0」をONしていますがONになっていません。実はこの瞬間はONしているのです。最初のステップで常時ONで「Y0」をONする。すると実際は「Y0」はONします。そして次のステップ2では、「Y0」がONしているので「M0」がONします。最後のステップ4で「X1」がONしていないので、ここで「Y0」はOFFされます。モニタの表示はスキャンが終わったタイミングを表示していると思われるので、モニタ上は「Y0」はOFFしています。

つまり1スキャンの内、一部の区間だけ「Y0」がONするという現象が発生します。これがダブルコイルを使ったときに発生する現象です。使いこなせば使えるかもしれませんが、基本的に混乱しますし、基本的には禁止されている方法で誰も使っていないので、使わないようにしてください。

PLCのスキャンの仕組みを知っていればダブルコイルの動きの理解できると思います。逆にダブルコイルの動きが分かればPLCのスキャンの仕組みも分かると思うので、簡単に紹介してみました。「使ってください」という意味ではないのでご注意ください。



図解入門 よくわかる最新 シーケンス制御と回路図の基本はKindle版(電子書籍)です。単行本ご希望の方は、フォーマットで単行本を選択してください。または、トップページよりご購入ください。

Copyright (C) 2010 シーケンス制御講座, All rights reserved.