CNCjs 途中で止まってしまった場合の対応

こんにちは。

初歩的なミスでPCスリープを解除し忘れ途中で加工が止まってしまいました。
作業を途中から再開しようとしましたが、うんともすんとも動かなくなってしまったので結局最初から切削することにしました。

幸いなことに、ワーク原点をしっかりメモしており加工物も動かさなかったので、最初から加工をやり直すという強引な方法でなんとか復旧できそうですが(今必死にCNCが何もないところを削っています。。)、何時間も無駄になってしまいました。

今回はスリープ解除忘れという初歩的なミスなのですが、何らかの理由で切削がとまり、CNCjsも全く反応しなくなってしまった場合、途中から(多少巻き戻ってもいいです)作業を復旧させる方法はありますでしょうか?

よろしくお願いいたします。

こんにちは。

自分の把握してる限りドンピシャの機能はないのですが
CAMソフトで加工範囲を指定して加工済みの高さはパスを出さないようにしてNCデータを出しなおすのが個人的には簡単でした。(だいたい上から加工しているのでFusionで高さ設定を加工済みのところまで下げる)

あとは
CNCjsが止まった時の、途中経過時間や残り加工時間が表示されている画面がその時の情報で残っているのでしたら
加工NCデータの何行中何行まで加工データを送っているのかがわかるので(561/2084って書いてあれば561行目までのデータを送信している的な)
メモ帳などでNCデータを開き、加工が終わっている行は削除して途中からの加工データを作る とかでしょうか。
侵入の動作がおかしくならないようにしたり、561行目付近は実際に加工されていないかもしれないのでもう少し手前から加工するとか細かい気配りが必要ですが、一応これで途中からはできると思います。

「いいね!」 1

早速のご返信ありがとうございます。

最初に教えていただいたCAMで加工した部分を省く方法がやはり簡単そうですね。
NCデータを自分で書き換える方法は少し自分には難易度が高そうです(本当はこれが一番途中からという意味ではよいでしょうが、知識不足で余計なところを消してしまいそうなので)。

私は24時間近く放ったらかしにしないと終わらないような加工をすることが多いので、いつも途中で止まっていないかヒヤヒヤしながら加工しています。皆さんは長時間の加工をされるときはどうされているのが多いのですかね?万が一のリスクヘッジ的な方策されている方がいればぜひ方法をシェアいただけたら嬉しいです。

卓上CNCでアルミ加工をするととてつもなく時間がかかり、深夜にかかると騒音問題となるので止めざるを得ません。プログラムを編集する知識はなく恐ろしいので、Gymさんのアドバイスは非常に参考になりました。ありがとうございます。

加工時間が長くかかるものは、途中で「リセット」で止めて、現品の加工済部の高さを測定し、Fusionの高さを、未加工と思われる高さに少し余裕を持たせて加工を再開することを教えていただき、非常に有効でした。
ところで、初めから途中で加工を止めるため、M1のコードを入れる手段はいかがでしょうか?
電源を切ったりしたら、ダメなのでしょうか?
プログラムの初心者なので、自分でトライする勇気がありません。
ご指導を賜りたくよろしくお願いします。

こんにちは

一度小さいプログラムで試してみると良いかと思いますが、M0/M1で止めるというのも一応は可能かと思います。
最近CNCjsを使っていないのでうろ覚えですが、おそらく、下記図のようなウィンドウが出て止まるかと思います。


M1 Pause Notification Blocks UI Interaction · Issue #340 · cncjs/cncjs · GitHub から引用

ただ、いくつか注意点があります
・停止中はスピンドルを止めることはできるが、制御基板とPCの電源を落としにくい(電源を落とすと、制御基板は現在位置を忘れてしまう、PCは送信しているNCプログラムの停止位置を忘れてしまう)
それぞれ電源を切ること自体は可能ですが、復元になんらかしらの工夫が必要になるかと思います。
・CAMや手動でNCプログラム中の適切な位置(加工時間を推定して止めたい時間の部分)にM1を差し込む必要がある。

これらがクリアできるのであればM0/M1を使う運用も可能かと思います。
ただし、CNCjsの上の部分に一時停止とサイクルスタートボタンがあるので、わざわざNCプログラムにM1を差し込まなくても同じような使い方ができるかもしれません。

Gymさんのやり方だとパソコンの電源を落とすことができるのと、リトライ時に工具の進入もCAM側で作ってくれるので、そのへんがメリットなのかなぁと思います。

早速のコメントありがとうございます。
仕事から帰ってから、長時間機械を動かすと、深夜に騒音を出すのがはばかられるので、毎日短時間しか稼働できない身分です。
下記のプログラムの、G1 Z13.5 F1000 以降、M01までを削除してスタートしようと考えております。
以降は、座標の羅列のみで、工具交換とか特殊な動作は無いので大丈夫ではないかと思っております。

(1015)
(T2 D=3 CR=1.5 - ZMIN=-0.1 - ball end mill)

G90 G94

G17

G21

(When using Fusion for Personal Use, the feedrate of rapid)

(moves is reduced to match the feedrate of cutting moves,)

(which can increase machining time. Unrestricted rapid moves)

(are available with a Fusion Subscription.)

G28 G91 Z0

G90

(1)

T2

S5000 M3

G17 G90 G94

G54

M8

G0 X53.561 Y24.124

Z17

G1 Z13.5 F1000

G3 X53.767 Y23.408 Z13.469 I0.32 J-0.296 F333.3

X54.305 Y23.923 Z13.438 I0.113 J0.42

X53.6 Y24.159 Z13.406 I-0.424 J-0.095

X53.718 Y23.426 Z13.375 I0.281 J-0.331

X54.312 Y23.871 Z13.344 I0.162 J0.402

X53.642 Y24.189 Z13.313 I-0.431 J-0.043

X53.672 Y23.45 Z13.281 I0.238 J-0.361

X54.312 Y23.819 Z13.25 I0.208 J0.378

X53.688 Y24.214 Z13.219 I-0.431 J0.009

X53.629 Y23.479 Z13.188 I0.193 J-0.385

X54.306 Y23.768 Z13.156 I0.251 J0.349

X53.736 Y24.232 Z13.125 I-0.425 J0.06

X53.59 Y23.513 Z13.094 I0.144 J-0.404

X54.295 Y23.718 Z13.063 I0.29 J0.315

X53.786 Y24.245 Z13.031 I-0.414 J0.11

以下省略 どこかにM01を入れる。

正直、使っているマシンの構成や、どういったワークか、パスの種類にもよるのでなんとも言えません。
一度実験用のパスを用意してみて実験してみるとよいかと思います。

一応注意したほうが良い点としては、

・おそらく停止時は工具を一旦避難させる運用かと思いますが、再開する位置によっては削ってほしくない部分に意図せず動いてしまう可能性があります。
手動で再開位置への安全な移動のコマンドを挟む必要がでてくるかもしれません。

;たとえば
G0 Z0
G0 X再開位置 Y再開位置
G1 Z再開位置 F150

・G3などの円弧移動コマンドは現在位置を基準とした移動コマンドとなっているので、開始位置がズレているとエラーで動かなくなってしまいます。

一度NCプログラムを編集をする前にGコードの内容について軽く目を通したほうが良いかと思います。

そのうえでまず、実験用のパスを作ってみて動作確認をしてみてはどうでしょうか

G3は現在位置なのですね。危ないところでした。
もっと勉強してから取り掛かります。
注意点やGコードの参考資料を教えてくださりありがとうございます。