朝からご機嫌ななめです。
CNC稼働中にうっかり寝てしまって、気が付いてふとCNCを見ると、スピンドルが空転しているCNCがそこにいました。
そしてCNCようPCの画面を見ると・・・
ログイン画面が表示されていました。
CNC用のPCはスクリーンセーバーも画面電源OFFもしないようにしてあるので、ログイン画面に戻るのは再起動かかったときです。
そう、運悪くCNC稼働中にWIndows Updateが動いてしまったのです。
「あぁ、これは材料ゴミになったわ・・・」とそれはもう萎えました。
寝ぼけ眼で午前2時前にこれを発見し、「これだからWindowsは!」とブチ切れて一回寝たのですが、朝起きてよく考えると解決方法を思いついたのでダメ元で試すと成功しました。
またしても忘れそうなのでメモりました。 


何が問題か

WIndows Updateによって再起動がかかった。
加工原点の座標(ワーク座標の原点)がぷっ飛んだので、加工中の板に追加工をできない。
材料と時間が無駄になる!!!
というわけで、どうにかワーク座標の原点を元に戻したいわけです。


そういえばCNC用PCを入れ替えたときに・・・

話はCNC用のPCを入れ替えた2ヶ月ほど前に戻ります。
PC入れ替えに伴って、CNC制御ソフト「USBCNC」の設定を引き継ごうと思って設定ファイルを探してアプリケーションのフォルダを探索していたとき、「logging」なるフォルダを発見しました。
今回この中にあるログデータを使って原点座標を求めます。


前提条件

・(ORIGINALMIND製CNCで言う)原点センサがついている
・止まる前の加工を始めたとき、機械座標の原点をとった
・止まる前の加工を始めるとき、刃の位置をワーク座標の原点において開始した
・止まる前の加工を始めるとき、XY方向には動かさずに刃がZ軸方向に動くようにNCコード内で書かれている


ログデータの在処

USBCNCのインストーラのいいなりになってインストールしていれば、
 C:\CNCX.XX\logging
にあります。(X.XXはバージョン番号)
ありがたいことに、ここにあるログにはNCデータの読み込みからCNCの動作一つ一つまで、詳細にログが取られています。
このログを遡って、データを読み込んだところまで戻り、それっぽい座標を見つければいいわけです。


それっぽい座標はどこか

一つ重要なのが、USBCNCが落ちる直前の加工を開始したとき、原点に刃がいる状態で加工を開始していて、かつエンドミルを垂直に引き上げる/下げる動作がないと、そもそもの問題として座標が求まりません。
私はいつもの癖で、Z軸原点を合わせた後で1mmくらいZ軸を上げ、1回刃を原点に戻します。
それが幸いして、原点を求めることができました。
スクリーンショット 2018-11-15 18.08.06
USBCNCが吐いているログの一部を、抜粋しました。
  1. まず、****************************************************を探します
  2. 次に、その周辺にある「LoadJob:cnccommand.cpp」の行を探し、読み込んだデータが目的の加工のものであることを確認します
  3. すぐ近くにある「RunJob:cnccommand.cpp」を含む3行のうち、一番最後の行にあるXY座標をメモります
これで、加工原点の機械座標がゲットできました。
あとは、CNCの機械座標の原点リセットをして、さっきメモした座標に機械座標系で持って行ったのちにワーク座標を合わせれば良いだけです。

と言うわけで、これで加工中にWindows Updateが動き出しても加工を再開することができるようになりました。
まあ、そもそも加工中にWindows Updateが動かないのが一番いいんですが(^^;
とりあえずは、Windows Updateを手動でのみ実行できるように設定いじりますかね・・・