- 締切済み
サブプロ実行時のエラー停止後、停止地点から再開する方法
- NC初心者でも安心して使えるサブプロ実行時のエラー停止後の再開方法を紹介します。プログラム途中で停止してしまう場合やエアシリンダの都合でエラーが出やすい場合でも対応できます。
- メモリの都合上、直列で書けないプログラムでも安心です。M98サブプロのエラー解除後に停止地点から再開する方法を詳しく解説します。
- 安全にサブプロの実行を続けるためにはどうすればいいのか、お困りの方に向けて有効な方法をお伝えします。質問文章のような状況でもプログラムを正常に再開する方法をお教えします。
- みんなの回答 (7)
- 専門家の回答
みんなの回答
DNC運転にすれば長くても対応できそうな気がしますが・・・ 駄目でしょうか?
NCメーカと機種が違えば話が異なってきますが、Fのマニュアルを見る限りでは「プログラム再開」のSWが付いたものは使えるように思えます【註1】 プログラム再開機能とは、プログラムを最初から読ませて、 ?シーケンスナンバーを指定してそのブロックから再開。同一ナンバー複数回通るものではその回数を指定可能。 ?マシンはアラーム/リセットであってもそれまでの実行ブロック数を保持しているので、これを指定して再開。 のいずれかが可能。 なので、サブプロ呼出し、補正値変更、マクロの計算、など軸移動しない行でも読み込み実行したのち再開指定行にもってこれる【ハズ?】 再開開始時の工具位置は任意だが、そこから加工再開位置までの移動軸の順序はパラメータによる【註2】 【註1】途中異常停止はボツにしてしまうので、機能は有っても使ったことありません。 使うにはマニュアルを完全理解するまで読まないとやはり怖い。とくに【註2】は慎重に考えないと衝突の危険が生じる。 マニュアルからはマクロでシステムパラメータを使っている場合どうなるのかは書いてなさそう。
サブプロの各ブロックにシーケンスを入れたらどうですか? エクセル使えば簡単に入りますし・・・ ウチはこの方法をたまに使います。 深い穴加工で数がたくさんあるときなどは、この方法をとります。 マクロの場合でも、条件が整うようにして、シーケンスとGOTOとか使えばよいのではないのでしょうか?
補足
この方法でメーカーと検討してみたいと思います。 電気屋が嫌がりそうですが、補正等は極力排除してプログラムを組んでいるので、安全面も何とかなるんじゃないかと・・・。 サブプロの途中からの再開をどう行うかを電気屋と相談してみます。
専用機でもMCでも 呼び出すサブプロ次第でしょう。 唯の座標なのか。 動作なのか。 大抵は可能でしょうが 内容が解らないので皆さん答えに困るのかと。 マクロの演算であれば難しいかもしれませんが、 単純にサブプロなら可能でしょう。 具体例を載せると良い回答が得られるかもしれません。
補足
現在のプログラムは、ほぼ座標値のみを呼び出すような単純なものです。 連続穴加工のプログラムと近いかもしれません。 工具の都合上、長さ方向の補正も使っていません。 3軸の座標を指定し、割り当てたMコードで工具の先端がワークを加工します。 G00 X___Y___Z___ M___ X___Y___Z___ M___ X___Y___Z___ M___ この繰り返しのみです。
>メモリの都合上、メインプログラムに直列で書くわけには行かないプログラムなのです。 このメモリの都合上というのがいまいち分からないのですが、繰り返しある のサブを使っているのでしょうか?。 途中からはじめる場合ですが、エラーになったブロック直前のブロックの実 行中と同じ条件しないとあぶないです。 例えば ※ツール長補正・半径補正時はその補正NO等、それからサブであること と、エラーになったブロック直前のX・Y・Zの位置等など。 途中から始める場合例としては メインからスタートし、必要なブロックを実行しながらサブに行き、(必要 ないのはカーソルを移動して飛ばします)そのアラームになった直前のブ ロックまで必要な上記※印等を実行させてあげればいい筈です。 プログラムの内容が理解できていないなら最初からやられた方が無難だと思います。 >一度途中で止まった場合、加工した場所に再びツールが触れると、その瞬間に不良となってしまうため、最初から実行できず、そのまま廃却となります。 そうでしたか勿体ないですね。 そういうことでしたら、エラーで止まった所で相対座標系を全て(XYZ等) オリジン(0)してからZを逃がし、主軸停止後ツールを主軸から一度抜い て下さい。 それから再開するまでの作業を行い、停止した所つまり先ほどオリジンした 相対座標系の0まで実行します。それからモード選択をハンドルにしてZ軸 を下げ、主軸停止後抜いておいたツールを主軸に挿入し、再度主軸を回転さ せてから、相対座標系のZ軸が0になるまで手パで戻して運転を再開すれば いいと思います。 作業が複雑になりますから、上記手順を参考にしながら、安全に注意して作 業を行って下さい。
お礼
>>メモリの都合上、メインプログラムに直列で書くわけには行かないプログラムなのです。 > このメモリの都合上というのがいまいち分からないのですが、繰り返しある >のサブを使っているのでしょうか?。 メイン上でサブを繰り返し呼び出しています。 繰り返しの数が3桁に近く、加工時間も丸一日といったものです。 プログラム実行初期で止まってしまった場合は不要な行を飛ばして再開しているのですが、終盤で止まったプログラムを再開するには、軽く15分近くかかってしまいます。 一度途中で止まった場合、加工した場所に再びツールが触れると、その瞬間に不良となってしまうため、最初から実行できず、そのまま廃却となります。 ありがとうございます。 現在作業者にはそうやって作業をしてもらっていることもあるのですが、 さすがに作業者にやらせていいレベルか悩んでいます。 できれば外部からボタンひとつで再開としたいところなのですが・・・。 上記の作業をシーケンス的にできるかどうか、電気屋と相談してみます。
プログラム再開 では できないと思います (マクロの中には入れない) N100 (SUBPRO) M98 P998 サブマクロ突入前に シーケンスコードを入れて サーチ することはできますが 工具オフセット や 工具長補正 など 有効にならない場合があるので 大変危険です 不具合があった場合 工具交換時から やった方がいいです
お礼
質問に書かなかったので申し訳なかったのですが、 今回の機械は、CNC装置を用いた専用機で、 NCで工具の補正を行っていません。 それでもシーケンスコードによるサーチはさすがに危険だと思いますので、 CNC上でリセット時に実行マクロがキャンセルされない方法などがないかなあと思った次第です。 ありがとうございました。
NCの機能で「プログラム再開」と言うのはありますが、 オプション仕様で既存の機械にそれを実装する場合は 多少お金が掛かるとおもいます。 文章がおかしいのでもう一回書きます。 NCの機能で「プログラム再開」と言うのはありますが、 多分この機能はオプションです。 既存の機械にそれを実装する場合は 多少お金が掛かるとおもいます。
お礼
ありがとうございました。 質問欄に書かなかったので申し訳なかったのですが、 使用している機械は汎用のマシニングセンタではなく、 FANUC製のCNCを用いた専用機です。 FANUCに問い合わせてみます。
お礼
ありがとうございました。 プログラム再開の機能を確認してみます。 再開開始時の軸移動は確かに未知数ですね。 よく検討して見ようと思います。