機械座標とワーク座標
実際にCNCフライスを動かす時に、必ず設定する必要があります。
しかし、CNCフライスを使ったことのない方には馴染みのない言葉ですよね。
これを分かりやすく(かな?)説明していきます。
機械座標
機械座標とは、機械固有の絶対座標のことで変化することはありません。
常に機械原点を”0″とした座標です。
加工者が値を変えることも出来ません。
機械は、常にこれを基準に動いています。
ワーク座標
ワーク座標とは、簡単に言うと仮想座標の事です。
機械座標でしか動かない機械に対して、
「ここを”0″と仮定した座標で動いてね。」
と、お願いをして動いてもらう為の座標です。
なぜワーク座標が必要か?
NCプログラムを作成する時に基準にする座標は、加工物のどこかを基準にして作成します。
機械の原点を基準にしては作成しませんよね。
ワーク座標がなかった場合、機械座標を基準にプログラムしなければならなくなります。
想像してみてください。
プログラムを作る前に、まず加工物が機械座標のどの位置にあるか測定し、その値を常に考慮してプログラムを作らなければならない。
大変面倒ですし、プログラムにミスがあっても分かりにくいですね。
ワーク座標を指定してあげれば機械が、その分をきちんと補正して動いてくれるようになります。
文字だけでは、分かりづらいかもしれないので一応、図でも説明します。
ワーク座標がなかった場合
機械にこのように加工物がセットされていたとします。
指定の位置に穴を1つ開けたい場合、加工者はNCプログラムを作る時に
X10.0 Y10.0
と座標を記述します。
ところが、機械は加工物がどこにセットされているかなど知ったことではありません。
機械の基準になる機械座標のみで動きます。
どの位置へ移動するかというと、
下の図のように、機械座標のX10.0 Y10.0 の位置へ移動します。
加工者の意図した位置とは、違いますね。
これを正しい位置へ移動させようと思ったら、加工者はまず、機械座標原点から加工物までの距離を把握する必要があります。
この例の場合、機械座標原点からX20.0 , Y10.0の位置に加工物の基準点(プログラムの基準点)があります。
この値を何らかの方法で測定し、プログラムを作る時にこの値を追加して作る必要があります。
X30.0 Y20.0
このように指定すれば、正しい位置へ移動します。
しかし、これでは分かりにくいですよね。
図面には、X10.0 Y10.0 と指示があるのに、プログラムでは X30.0 Y20.0 と記述しなければならない。
この例では、分かりやすい寸法にしていますが、実際はこんな切りの良い座標になることはありません。
プログラムが面倒くさい、座標入力ミスがあっても気づきにくい。
機械座標しかない場合、このように加工者の負担が大きくなります。
そこでワーク座標というものが必要になります。
ワーク座標があった場合
最初に、「ワーク座標は仮想座標のことです」と、説明しました。
「 機械の本来の座標は機械原点が”0”なのは分かっていますが、私が毎回すべての座標を計算して入力するのは面倒くさいから、補正値だけは教えときますので、計算はあなた(機械)がやって下さい。」
といった感じの考え方ですね。
上の図の例で説明すると、
X20.0 Y10.0(機械座標)
の位置を
X0 Y0 (仮の原点)
だと仮定して動いてください。
と、お願いする座標です。
そうすることで加工者はNCプログラムを、図面通りに作ることが出来るようになります。
機械は、加工者に忠実ですので言われたとおりに仮の座標を使用して動いてくれるようになります。
NCプログラムがX10.0 Y10.0となっていれば、
「分かりました。X30.0 Y20.0ですね。」
と、勝手に計算して移動するようになります。
プログラムが分かりやすく(作りやすく)なりミスも減らす為に、ワーク座標というものが使われます。
USBCNCの場合
USBCNCの場合、現在刃物がある位置でワーク座標を”0”にすることで、その位置の機械座標をG54という座標系に記憶させます。
NCプログラム中にG54の記述があると、機械はその値を読み取り計算を行いながら移動してくれるようになります。
G54というのは、座標系といってワーク座標原点の位置を記憶するためのものです。
通常、G54からG59まで6個設定可能です。
この辺の説明は、また別でしたいと思います。
コメント
はじめまして私はCNCを始めたばかりです、本当にわかり良いご説明に感謝を申し上げます。私はCNCは3018を使いCADはjwwでCAMはNCVCでGコードを生成してCNCjsでGRBLに送っています。CNCjsの画面右側でXYZの機械座標とワーク座標のところがよくわからないのです。ワーク座標は数字の下で000になるのですが機械座標は000になりませんもしよろしければご指導のほどよろしくお願いします。
垣下さん
はじめまして(^^)
コメントありがとうございます。
CNCjsというのを私は使った事がないのでハッキリとしたことは言えないですが宜しいでしょうか?
多分ですが垣下さんは、勘違いをされているのではないかと思います。
機械座標は変更する事は出来ません。
機械原点が常に”0″の値になります。
ワーク座標を”0″にしても値が変わる事はありません。
ワーク座標は、機械に加工物の原点(NCプログラムの基準点)を教えてあげるために存在します
例えば…
機械座標がX100.0の所でワーク座標を”0″にした場合
機械は機械座標のX100.0の位置を”0″にするのではなく、機械座標のX100.0の位置を”0″と仮定して動くのです。
NCプログラムで、X10.0となっていた場合、移動後の座標は
機械座標にはX110.0
ワーク座標にはX10.0
となります。
機械の思考(判断)は、
X10.0へ移動か…
機械座標のX100.0を”0″と仮定して動けと言ってたな。
という事は、機械座標のX110.0まで行けば言われた通りの位置だな。
と判断して動きます。
えーと…
言葉だけで説明すると、こんな感じですが分かってもらえたでしょうか?
始めてCNCフライスを使う時に悩みやすい所ですよね。
しかし!
乗り越えた先には楽しさが待っていますよ(^^)
長々と書きましたが、見当違いの回答だったらごめんなさい…