本文へ移動
サポートシェアリングソリューション
OKWAVE Plus

このQ&Aは役に立ちましたか?

締切済み
※ ChatGPTを利用し、要約された質問です(原文:衝突多発/マクロを利用して危機を回避)

マクロを利用して衝突を回避する方法

2023/10/18 15:33

このQ&Aのポイント
  • 自動車部品ローダーラインでの管理者は、オペレーターのミスが原因で衝突が多発していることに悩んでいます。
  • マクロを利用して衝突を回避するために、主軸に違う工具を装着した場合やインデックステーブルの角度が異なる場合には、マクロを使用して事前に確認する方法を検討しています。
  • しかし、主軸が機能しない場合の対策方法や他の衝突原因についてはまだ解決策が見つかっていません。質問者は他の原因についてのアドバイスを求めています。
※ 以下は、質問の原文です

衝突多発/マクロを利用して危機を回避

2011/06/10 05:20

こんにちはいきなりの質問になりますがご協力願います。
当方、自動車部品ローダーラインにて管理者をしています。
新規設備のラインですが同様の内容の設備を使用しているラインにおいて
日々衝突などの報告を受け、自分の管理しているラインにおいて対策をするような
指示を受けていますが正直、オペレーターのミスによる衝突が主になります。
ですのでそのオペレーターミスをマクロを利用して回避できないものかと考えています。
把握している衝突原因において以下の内容になります。他にもあるかとは思いますが

主軸に違う工具を呼び出した状況からの途中起動ー当然、早送りなどでワークに衝突
インデックステーブルの角度が違うことによる途中起動(一つのツールで違う角度で多穴加工)
起動途中でNCリセットを押してしまいそこから途中起動主軸停止のまま切削動作

自分としましては、この上記3点を対策したいと思います。他にオフセット入力ミスや座標系
入力ミスなどが存在するとは思いますがこれにかんしてはメーカー作成時点でマクロで保護しており
設定値以上の誤差で停止するようになっています。

案としましてまず、主軸に違う工具を装着した段階での途中起動は、偶然にもメーカーがマクロ
に主軸にある工具のためのマクロを用意してくれているのでZ軸前進の前段階で
そのマクロと本来あるべき工具番号を一致しているかの確認

次にインデックステーブルに関しましてもマクロの軸の現在位置のシステムコードから
z前進前に現在位置と本来の軸(インデックスの角度)の比較で確認

しかし、最後の主軸が機能していない場合の解決方法がわかりません。
また他にも衝突する原因があるように思えて自分でも把握できませんので
他にある原因も教えていただければ幸いです。

上記の確認後間違っていれば原点復帰させた後に、♯3000でアラーム表示させようと思っています
一番厄介なのが、多穴の加工、例えば6穴あるとしてその途中の例で言えば3穴目の手前くらい
で停止したとしてそこから途中起動をかけようとするオペレーターもいます。
それをまず阻止しようと考えています。この場合、どのような感じでマクロで縛れば良いのか
理解できていません。もしその途中から走らせようとする場合、エラーを出させようと思います。
基本途中起動をかける場合は決まったツールチェンジ前の第二原点復帰からはしらせて
欲しいのです。

唐突で申し訳ありませんがご協力願います。
まず始めはオペレーターの教育かと思いますが

回答 (6件中 1~5件目)

2011/06/11 15:53
回答No.6

誤操作による衝突の回避 ということですが、誤操作でも衝突しないプログラミングという方向は!
リセット時の次の作業は、リセット前の作業ですから 同じ工具での作業となります。
トラブル除去後、RUNすればそのまま作業というのが安全なプログラムです。
(メイン)
#111=1(工具1)
#112=2(工具2)
#113=0(0になったら終わり)

N666 全作業終了?・・GOTO 99
工具交換ルーチン

N100 GOTO #110(#110には#111~#113まで変化しながら工具番号が入るように工夫)
N1 作業条件
サブプロ
GOTO 200
N2 作業条件
サブプロ
サブプロ・・?
GOTO 200

N200 GOTO 666
N99 M30
このように組むと、作業者は常にN100から作業を再開すればよいわけです。
もし工具2でサブプロを一つ完了し二つ目で止めたとしたら、再開は二つ目のサブプロ?からとなります。
インデックスの角度は、当然サブプロ側に有りますから何等問題ありません。
分割穴も、サイクルが最初から始まるだけで衝突とは無関係です。
またサブプロは、作業条件ブロックでアドレスを指定すれば一つプログラム群ともなります。
(作業条件は意味づけされた引数によるマクロとすればベスト)
工具交換作業と加工作業を完全に分離することで、衝突の危険性は極度に小さくなります。

このQ&Aは役に立ちましたか?

この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。

質問する
2011/06/10 23:01
回答No.5

昔々、複雑なFMC機の運用マクロを担当したことがあります。
メーカに依頼して様々な情報を変数に書き出してもらい、システム
変数とマクロを組み合わせて途中からの起動にも対応させました。

回答(2)(3)さんの書かれていることが基本となるでしょう。

懸案に関しては、
・S指令をコモン変数とする
 #501=1000;
 S[#501] M03;
・プログラムの途中で止めてしまったときは、最初に再開準備プログラム
を起動させる。
 G91G28Z0.;
 G91G28X0.Y0.;
 S[#501] M03;
 M02;
 この状態からプログラムの途中から再開(M02で主軸が止まらないこと
 が条件ですが)。

ただし、プログラム起動中にイキナリNCリセットを押すようなオペレー
タに、再開操作を任せるのは危険と考えます。
やはり、シッカリした作業者の教育と異常時の対応手順書の整備が必要
でしょう。または、異常時に勝手に操作させないことを徹底させるのも
一案かと。

2011/06/10 22:46
回答No.4

主軸機能停止状態での干渉防止
主軸制御装置から速度到達信号が取り出せればMコードと組み合わせて
インターロックが取れます。
速度到達一致信号は、ほとんどのNC装置で取り扱い可能だと思います。

2011/06/10 16:26
回答No.3

main program
O0001;
M98 Pxxx1;
M30

メインプログラムは必要最小限。加工プログラムはサブプログラムとして、
オペレータが、停止後に途中介入が出来ないようにしては如何ですか?

サブプログラムでは、各工程事にシーケンス番号(N番号)をつけておき、
各工程においては、干渉事故の起こらない様、ツール呼び出しから、
待避まで完結型にしておいて、
さらに、加工がどの行程まで進んだかを、マクロ変数で記憶しておく。
サブプログラム先頭には、このマクロ変数を読みとり、該当行程先頭まで
ジャンプというのはどうですか?

タクトタイムが長い加工だと、空振り時間が勿体ないですけども、
ぶつけるよりもよろしいかと。工具によっては、空振り禁止もあるかもですが。

2011/06/10 12:22
回答No.2

ラインなので彫り込みはないとおもいますが

>>一番厄介なのが、多穴の加工、例えば6穴あるとしてその途中の例で言えば3穴目の手前くらい
>>で停止したとしてそこから途中起動をかけようとするオペレーターもいます。


ドリリングサイクル
G73 Z-3. R1. Q1. Fxx L0
M98 Pxxxx




座標系 をサブマクロ化しとけば
飛ばしにくい


長穴も一緒


G91 でプログラムしない

お礼をおくりました

さらに、この回答をベストアンサーに選びますか?

ベストアンサーを選ぶと質問が締切られます。
なおベストアンサーを選びなおすことはできません。