シーケンス制御講座

データレジスタを使う

シーケンス制御講座 実践講座2 データレジスタを使う

実際の動作回路の中で、データレジスタを使っていきます。目的もなしにデータレジスタを使うよりも、目的をもって使った方がより効率よく学習できると思います。

作成日:2019年05月10日
更新日:2022年12月28日


動作内容

数値を使ってみる」と「データレジスタ」で数値の扱いやデータレジスタの簡単な説明をしました。今度は実際に使ってみましょう。記事や参考書を読んで勉強するよりも、実際に作業しながら勉強したほうが格段に上達が早いので、作業しながら学習することをお勧めします。

コンベア動作」で使った回路を使います。コチラも同時に準備してください。

kouzaV100_4.zipダウンロード

この回路の動作は起動ボタンを押すと、センサ1とセンサ2の間で箱が往復動作します。そして停止ボタンを押すとセンサ1側まで移動して停止します。この回路をいろいろ改造してみましょう。今回の課題はデータレジスタも少し使って見ます。

内容は
①起動中は起動ボタンのランプを点灯させる。
②起動中はシグナルタワーの赤色を点灯させる。
③停止中は停止ボタンのランプを点灯させる。
④停止中はシグナルタワーは点灯させない。 ⑤サイクル停止中は停止ボタンのランプを点滅させる。
⑥サイクル停止中はシグナルタワーの赤色を点滅させる。
⑦「D100」に箱が往復して回数をカウントして表示させる。 カウントのタイミングは箱が往復して戻ってきたとき。
⑧「X23」を押すと「D100」のカウント値がリセットされ”0”になる。

たくさん改造する箇所があり大変そうですが、実はとても簡単です。ランプを点灯させたり点滅させたりする作業は実際の設備でもよく行います。カウントなどもよく使います。このような動作はすでに作ってある動作回路を使います。どういうことかというと、例えばランプを点灯させるための動作回路を作ったり、点滅用の動作回をを新たに作る必要はありません。すでに動作している接点を使います。

課題の内容とは別ですが、最初に不要な回路を削除します。「コンベア動作」ではシグナルタワー「Y30」の点灯も行っていました。今回もシグナルタワー「Y30」の点灯や点滅があります。前回の回路は必要ないので削除します。残しておいても問題は無いのですが、削除方法の説明も含めて実際に削除してみます。(残す場合は、すでに書かれている「Y30」の条件の下に接点を追加していく形になります。

削除したい範囲を選択します。これはマウスをドラッグしながらでも可能ですが、範囲が広くなるとページが勢いよくスクロールするので操作が難しいです。キーボードで範囲指定することをお勧めします。方法は「SHIFT」キーを押しながらカーソルキーで動かすだけです。これならページスクロールも1行ずつなので簡単です。

削除したい範囲を選択したら「Delete」キーを押します。

これで削除できました。最後に「SHIFT」キーと「F4」キーでRUN中書き込みや、「F4」キーの変換を行い回路を反映させてください。

では講座に戻ります。まずは自分で回路を作ってから、サンプルの回路を確認してみて下さい。

動作回路

回路の説明ですが、最初に①の起動ランプの点灯部分と③の停止ランプの部分です。

コンベア往復動作の起動は「M20」でした。「M20」をONしていればコンベアは往復動作を続けます。つまりコンベア往復動作起動中は「M20」がONしているということです。そこで「M20」で「Y20」の起動ランプを点灯させます。

次は停止ランプです。まず起動ランプと逆で停止中は停止ランプを点灯させます。つまり「M20」がOFFしているときに点灯させるので「M20」のB接点で「Y21」をONします。次にサイクル停止中に点滅させます。サイクル停止中には「M21」がONします。そのため「M21」がONしたときは「SM412」を使って「Y21」をONします。「SM412」はPLCが標準でもっている特殊接点で、1秒間隔で自動的にON/OFFを繰り返します。コンベア停止中はまだ「M20」がONしているので「Y21」は点灯しません。変わりに「M21」がONするので「Y21」は点灯します。

次はシグナルタワーの点灯、点滅です。停止ランプの点滅とは少し違います。

起動中は「M20」がONしているのでシグナルタワー「Y30」点灯します。そしてコンベアがサイクル停止状態になったときは「M21」がONするので「M20」で点灯させていた回路はB接点の「M21」によって遮断され、「M21」のA接点がONするのでシグナルタワー「Y30」は点滅します。言葉だけでは説明が難しいのでモニタで見てみましょう。上記の回路図を拡大しています。

これは起動中に「M20」がONしている状態です。この状態では上段の回路がつながりシグナルタワーは点灯します。次はサイクル停止中の場合にはどうなるでしょうか?

サイクル停止中であっても起動中のため「M20」はONしています。そしてサイクル停止中は「M21」がONします。「M21」がONすると上段の回路は遮断されます。そして下段側の回路がつながります。下段側は常時「SM412」で点滅しているため、シグナルタワーも点滅動作を行います。必ず上段の回路を遮断してください。もし遮断しない場合、下段側は点滅していますが上段側が常時ONでつながるため、結果シグナルタワーは点灯してしまいます。このように現在サイクル停止中なのか?そうでないのか?つまり「M21」がONなのか?OFFなのか?によって回路を切替えて動作を変更しているわけです。

データレジスタを使う

次はデータジスタを使います。往復回数をカウントする部分です。それと「X23」のボタンでカウントをリセットする部分です。

これだけです。「M32」のA接点の後に「F8」キーを押して"INCP D100"と入力します。これはINCという命令をパスル化して、INC+PでINCPという書き方をしています。命令の後ろに「P」をつければパルスで実行するということです。

命令のパルス化ですが、パスル化しないと「M23」がONしている限りこのINC命令が実行されます。INC命令は現在値に”1”を加算する命令です。なのでCPUが1スキャンするたびにどんどん加算されます。例えば「M32」を押しボタンスイッチの接点に変更し、INC命令(パルス化無し)を行うと、ボタンを押している間ものすごい速度でカウントされていきます。命令をパルス化すると、ボタンを押した最初の1回のみカウントを行います。

回路に話を戻します。この「M32」は実際ONした瞬間切れてしまうので(1スキャンしかONしない)命令をパルス化しなくても正常にカウントしますが、回数のカウントなどはパスル化しておくのが無難です。

カウント方法にはINC命令以外にも次のような方法もあります。

命令は「+」です。パスル化していますが、足し算する命令というのは容易に想像がつきます。これも命令なので「F8」キーを押して入力します。意味は”1”と「D100」の値を足して「D100」に計算結果を転送するという意味です。INC命令と同じ動作を行います。パルス化しないで常時実行すればこのすごい速度で「D100」の値が加算されていきます。この命令は足し算を行い結果を出力する命令なので、例えば出力先を「D200」などに変更することも可能です。さらにデータレジスタ同士を足し算することも可能です。そして今回作成したように同じデータレジスタに出力することも可能です。

このように計算結果を同じ場所に出力させる場合、次のように出力先を省略することもできます。

このように書くと同じデバイスに対して加算していきます。上記の例では”5”づつ加算していきます。
いろいろな書き方を紹介しましたが、単純に”1”を加算するカウンタなどに使う場合は「INCP」命令を使うのが一般的です。



いろいろな計算

この無料講座がとてもいいと感じた方は「実践!ラダー学習キット」という有料講座も準備していますので、是非参考にしてください。無料講座と同じくシミュレータを使いますが、内容がとても充実しています。基本的なことはもちろん、簡単な設備の動作まで解説しているので興味のある方は是非検討してみてください。


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

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