シーケンス制御講座

213666

シーケンス制御講座
楽しく情報交換しましょう。分からない事は質問して、分かる方は答えてあげてください。ただし営利目的な書き込みは予告無く削除いたします。

レイアウトが崩れる場合は掲示板がSSLに対応していません。お手数ですがURLの"https"を"http"に変更してください。またはコチラから。

三菱 PLC(Qシリーズ)回路について 工場エンジニア

2020/07/04 (Sat) 13:23:39

ある搬送コンベヤーに一定間隔て箱が流れているとします。その箱に物を入れる機械がコンベヤーに光電スイッチが検知したら動作する製造ラインです。
箱の中を検査装置を設置(物を入れる前)し検査が不良判定がでたら箱に物を入れない様に回路を作成したいのです。どなたかアドバイス下さい。

・検査装置から箱に物を入れる機械のスパンは長い(10箱分ぐらいあります)
・コンベヤーの駆動は3相中空モーターです。
・コンベヤースピードは一定のスピードです。
・エンコーダーは付いていません

宜しくお願い致します。

Re: 三菱 PLC(Qシリーズ)回路について - えんくう URL

2020/07/09 (Thu) 20:44:42

工場エンジニア様

餃子の中身(シャール)のラベル判別(正確な位置に貼られているか)で、
同じ様な条件でコードを書いた事があります。

ロータリーエンコーダが無いと言う事。コンベア速度がほぼ一定と言う事。
箱の間隔はまあまあ適当と言う条件で考えました。
以下の様な仕様にしました。

1 PLC内でクロックを作る。
2 十分細かな数のバッファを2つ用意する。
3 上記クロックをトリガにしてデータをシフトする。またはリングバッファをインクリメントする。
4 不良判定箇所で「箱ありフラグ」と「不良」フラグを書き込む。
5 ものを入れる箇所でバッファを読み出し、動作させる。
 

※データシフトに処理時間が掛かるのならリングバッファにしてみてください。
リングバッファに関しては
http://yenqoo.com/spices/
「基本編」の「リングバッファ」を参考にコーディングしてみてください。


※箱が正確に等間隔ならばフォトスイッチをトリガとしても良いかも。


■ できる男のPLC講座「PLCのスパイス」
お姉さまも大歓迎!
http://yenqoo.com/spices/

Re: 三菱 PLC(Qシリーズ)回路について - take

2020/07/13 (Mon) 13:49:26

箱に物を入れる装置と、今回設置する検査装置のスパンが長いことが問題ですね。
どのような感じで流れているのかわかりませんが(一定間隔なのか)、現状はコンベアと箱を検出できるものが箱に物を入れる装置と箱の検査をする装置になるかと思います。
機械のスパン内に10箱程度ということでデータレジスタを20個程度使います。検査が完了するたびにデータシフトさせて、検査データを書き込む。箱に物を入れる機械ではデータシフトさせて溜まっているデータの反対からデータを読みだすイメージです。
具体的には、検査設備の箱状態を「D20」とします。そして
機械間のコンベア:「D21」~「D39」
箱に物を入れる機械:「D40」
機械間の箱の数:「D10」
仮に決めます。

箱の検査結果を「D20」に書き込みます。例えばOKなら”1”。NGなら”2”。
書込みが完了したら次のようにデータをシフトさせます

|---[BMOVP D21 D22 K18]
|---[MOVP D20 D21]
|---[INCP D10]

これで試験が完了するたびに「D21」~「D39」の間にデータがたまっていくと思います。そして機械間の箱の数は「D10」になります。INCP命令はデータに1を加算します。
検査が完了したデータは「D21」~順番に並んでいます。検査完了するたびにどんどん増えていきます。そして箱に物を入れる機械に箱が到着したら、反対側のデータから読み込んでいきます。

--||---[MOV D10 Z0]

これは常時実行させておきます。パルス命令にしないでください。次に箱が到達した時点で次のように実行します。

|---[MOVP D21Z0 D40]
|---[MOVP K0 D21Z40]
|---[DECP D10]

これで「D40」に箱がOKかNGかの情報が取り込めると思います。この情報で箱に物を入れるか判断すればいいかと思います。
ここで使った「Z0」というのはインデックスレジスタで簡単に言うとデータレジスタの番号を変更させることができます。たとえは「D10」が”10”の時はコンベア上に箱が10個あります。
この時Z0の値は”10”となっています。この時「D21Z0」と記述すると「D31」のことになります。インデックスレジスタはデータレジスタの値を変更するのではなく、アドレスを変更します。(参照先を変更している)
Z0は”10”なのでD21+10で「D31」という感じです。こうすることで一番最初に投入された箱のデータ位置を常に追いかけることができます。
もちろん「D40」に読み込んだら、データを消すのと「D10」の箱の数を減算することを忘れないでください。

データをシフトしたり消去するタイミングなどは機械によって違いますので、機械に合わせて調整してみてください。
それと、この方式は箱が一定間隔で流れているという条件が必要です。たとえは箱が引っ付いて流れてきて、2つの箱をセンサ上は1つの箱と認識してしまうと、データがずれて使い物になりません。
人が勝手に箱を取り出したりしてもダメです。それとGOTなどで箱のデータ状態をモニタできるようにしておいたほうがいいと思います。何かあった時の全データクリアなども必要です。そのあたりは機械に合わせて作成してみてください。
データレジスタの下側からデータを追加していき、上側からデータを取り出していくイメージの解説となります。

名前
件名
メッセージ
画像
メールアドレス
URL
文字色
編集/削除キー (半角英数字のみで4~8文字)
プレビューする (投稿前に、内容をプレビューして確認できます)

Copyright © 1999- FC2, inc All Rights Reserved.