実はビットセット命令?

シーケンサー内のコイル命令は、実はセット命令のように動作しています。例えば「X0」のa接点で「M0」のコイルが入るとします。「X0」をONすれば「M0」はONし、「X0」をOFFすれば「M0」もOFFします。どこがセット命令なの?と思うかもしれません。

セット命令であれば「M0」はONし続けます。実は「X0」を押している間は、毎スキャン「M0」をONしています。「X0」がOFFすれば、そのスキャンで「M0」をOFFしています。

まったくどうでもいい話で、普段は気にする必要もありません。注意しないといけないのは強制出力時です。例えば、「M1」の接点は使用していて、コイルを使用していない場合で説明します。このとき「M1」を強制ONすればONし続けます。ふつうにプログラム上のコイルを強制ONさせる場合、自己保持でもかかっていないとONできません。

これはプログラム上にコイル命令を使用していないため、コイルをOFFする命令がないことが原因です。これを上手に使えばデバッグ時に簡単にON-OFFが可能になります。

注意が必要なのはエンコード命令です。「M0」~「M15」の16点を使用すると仮定して、実際に使用するのは12点とします。このとき残りの4点は使用しなくても必ずプログラム上で常時OFFさせておいてください。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする