- 締切済み
マクロを利用して衝突を回避する方法
- 自動車部品ローダーラインでの管理者は、オペレーターのミスが原因で衝突が多発していることに悩んでいます。
- マクロを利用して衝突を回避するために、主軸に違う工具を装着した場合やインデックステーブルの角度が異なる場合には、マクロを使用して事前に確認する方法を検討しています。
- しかし、主軸が機能しない場合の対策方法や他の衝突原因についてはまだ解決策が見つかっていません。質問者は他の原因についてのアドバイスを求めています。
- みんなの回答 (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でサブプロを一つ完了し二つ目で止めたとしたら、再開は二つ目のサブプロ?からとなります。 インデックスの角度は、当然サブプロ側に有りますから何等問題ありません。 分割穴も、サイクルが最初から始まるだけで衝突とは無関係です。 またサブプロは、作業条件ブロックでアドレスを指定すれば一つプログラム群ともなります。 (作業条件は意味づけされた引数によるマクロとすればベスト) 工具交換作業と加工作業を完全に分離することで、衝突の危険性は極度に小さくなります。
昔々、複雑なFMC機の運用マクロを担当したことがあります。 メーカに依頼して様々な情報を変数に書き出してもらい、システム 変数とマクロを組み合わせて途中からの起動にも対応させました。 回答(2)(3)さんの書かれていることが基本となるでしょう。 懸案に関しては、 ・S指令をコモン変数とする #501=1000; S[#501] M03; ・プログラムの途中で止めてしまったときは、最初に再開準備プログラム を起動させる。 G91G28Z0.; G91G28X0.Y0.; S[#501] M03; M02; この状態からプログラムの途中から再開(M02で主軸が止まらないこと が条件ですが)。 ただし、プログラム起動中にイキナリNCリセットを押すようなオペレー タに、再開操作を任せるのは危険と考えます。 やはり、シッカリした作業者の教育と異常時の対応手順書の整備が必要 でしょう。または、異常時に勝手に操作させないことを徹底させるのも 一案かと。
主軸機能停止状態での干渉防止 主軸制御装置から速度到達信号が取り出せればMコードと組み合わせて インターロックが取れます。 速度到達一致信号は、ほとんどのNC装置で取り扱い可能だと思います。
main program O0001; M98 Pxxx1; M30 メインプログラムは必要最小限。加工プログラムはサブプログラムとして、 オペレータが、停止後に途中介入が出来ないようにしては如何ですか? サブプログラムでは、各工程事にシーケンス番号(N番号)をつけておき、 各工程においては、干渉事故の起こらない様、ツール呼び出しから、 待避まで完結型にしておいて、 さらに、加工がどの行程まで進んだかを、マクロ変数で記憶しておく。 サブプログラム先頭には、このマクロ変数を読みとり、該当行程先頭まで ジャンプというのはどうですか? タクトタイムが長い加工だと、空振り時間が勿体ないですけども、 ぶつけるよりもよろしいかと。工具によっては、空振り禁止もあるかもですが。
ラインなので彫り込みはないとおもいますが >>一番厄介なのが、多穴の加工、例えば6穴あるとしてその途中の例で言えば3穴目の手前くらい >>で停止したとしてそこから途中起動をかけようとするオペレーターもいます。 ドリリングサイクル G73 Z-3. R1. Q1. Fxx L0 M98 Pxxxx で 座標系 をサブマクロ化しとけば 飛ばしにくい 長穴も一緒 G91 でプログラムしない
ずぶの素人の戯れ言として聞き流して頂いて構わないのですが、途中で止めた場合に、一旦原点復帰・ツールをホルダーへ戻した状態からでないと再起動できないようにするのはNGでしょうか? (タクトタイムが伸びてしまうのが致命的ですが・・・。) あと、途中で止めてしまう原因の方を探って、そちらをつぶしていく方が良いような気もするのですが。