シーケンス制御講座

プリセットカウント

シーケンス制御講座 実践講座2 プリセットカウント

プリセットカウンターとは、あらかじめ設定値を設定しておき、カウント数が設定値に達したら何かアクションを起こすカウンターです。設定した生産数に達したら設備を停止させるという使い方が一般的です。実際に作りながら、作り方を解説していきます。

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


プリセットカウンター

プリセットカウンターを作ります。プリセットカウンターはあらかじめ数量を設定しておき、設定値に達したら何か動作を行う。例えばよく使われるのが、生産数です。1000個部品を生産したい場合、プリセットカウンターに”1000”と設定します。すると生産数が1000に達したら設備を停止させそれ以上生産しないようにします。他にもツールカウンター等、設備に使用している工具の寿命などにも使われます。これは品質を維持するために、一定回数使用したら交換を指示する表示を行うなどの用途で使用します。

ここではデータレジスタを使うで使用した回路を使います。
コチラも同時に準備してください。

kouzaV100_53_7.zipダウンロード

最初に動きを決めておきましょう。現状の回路では”起動”ボタンを押すとコンベアが動作し、箱がセンサ1とセンサ2の間を往復動作します。そして1往復すると「D100」に1が加算されます。「D100」は箱の往復回数ということになります。そして「X23」のボタンを押すと「D100」の値は”0”になります。ここまでは前回作った内容です。
「D50」は値が入力できるようになっています。(数値入力ができる部分をクリックすると入力用のキーボードが表示されるので、それを使って入力します。この辺りは実際のGOTと同じです。)この「D50」に入力した値になると停止させてください。そしてこのプリセットカウントで停止したときは「Y23」のランプを停止させてください。そしてよく使われる設定として、「D50」の設定値を”0”としたときは、このプリセットカウント機能を無効にしてください。つまり「D50」が”0”だと通常は全く動作できなくなりますが、”0”の場合は無限に動作できるようにしてください。値が”0”でプリセットカウント機能を無効にするという設定はよく使われる設定です。

動作回路

まず上記の回路をプログラムの末尾に書きます。接点比較命令の書き方は、命令を入力したい場所で「F8」キーを押して次のように記述します。

接点比較命令は条件が整えばONする接点です。この例で説明すると往復動作をカウントしている「D100」が設定値である「D50」に達すると「M3」のカウントアップコイルがONするようにしています。まず一番左の「D50」が”0”より大きいという条件は、「D50」の設定値が”0”の場合はプリセットカウントを行わないようにしています。つまり「D50」の値が”0”であれば、いくらコンベア往復動作を行っていも「M3」はONしません。

次の接点比較命令は「D100」の値が「D50」以上になっています。なぜイコール(=)ではないのでしょうか?基本的な動作は同じですが。もし「D100」の値が「D50」を超えてしまった場合でも対応できるようにしています。これはとても重要なことで、例えば実際の設備の場合、調整などでもし設定値より生産数が多くなるとプリセットカウンターでは停止しなくなってしまいます。通常はこのようにならないのですが、イレギュラーなことをするとなる可能性もあります。そのため”イコール”ではなく、”以上”の等符号にしています。

次は「M3」がONしたときに停止させないといけません。これはすでに停止ボタンを押すと停止動作を行うようになっているので、停止動作である「M21」がONするように接点を追加します。

停止ボタンと同じ動作を行うように、停止ボタンの接点の下に同じように追加しました。それと起動ボタンで起動できないように、起動ボタンの接点の横にもb接点で追加しています。

これで指定回数コンベアが往復動作を行うと自動で停止します。再度動作させたい場合は「D50」の値を「D100」よりも大きくするか、「X23」を押して現在のカウント値をリセットすれば再度動作できます。

この回路で注意が必要なのは、プログラムの書く位置によって動作が変わる可能性があるということです。例えば「D100」に回数をカウントするINCP命令の書く位置をプログラムの一番最後にしてみます。

このように書いて動作すると、設定値に達してもすぐに停止しません。これは書く順番が悪いのです。本来は「往復1サイクルが完了→カウント→カウント値を比較して停止するか決める」の順番ですが、上記の例は「往復1サイクルが完了→カウント値を比較して停止するか決める→カウント」になっています。ラダー図もプログラムなので上から順番に1行ずつ処理していきます。そのためカウントアップよりも先に比較をしてしまうと、サイクル完了の1スキャンだけ「まだカウントアップしていません」という状態が発生してしまいます。この1スキャンで次の動作を実行してしまうのです。きっちりカウント通りに停止させるには、プログラムを書く順番も大切ですが、カウント値を比較する動作も取り入れたほうがいいかもしれません。例えばサイクル停止後は1スキャンは次の動作をさせない。これはタイマーで少し時間を空けるなどの処理でも大丈夫です。

以上でプリセットカウンターの解説は終わりますが、実際にはきっちり生産数を合わせて停止させないといけないの?と感じるかもしれません。これは私の経験から言います。生産数が少ない機械(10個程度)や、大きなワークの機械はきっちり止めないといけないこと多いです。特に半自動の設備などは。逆に生産数が多く、サイクルタイムも早く、細かい部品を作る設備はそこまできっちりとめなくても大丈夫なことが多いです。カウントアップしたら停止動作に入る感じです。つまり停止動作に入ったときに生産している製品は停止後にカウントされます。例えば完成品を完了箱に排出していく設備の場合、設定値を”20000”にするのは、その完成品箱にだいたい20000個くらいしか入らないからその値を設定します。そしてその箱の中の部品が20001でも19999個でも影響が無いことが多いです。これはあくまで参考なので、実際にはその機械にあった方法で行ってください。



自動と手動を分ける

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

ここまでの内容をダウンロードできます。ダウンロードはダウンロード同意書に同意したものとします。

kouzaV100_53_9.zipダウンロード


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

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