|
続:機械加工の基礎知識
NC旋盤/マシニングセンター |
|
マシニングセンター |
★プログラミングの基礎知識 |
今までの説明のように,基本操作のコードとXYZ座標を数値で入力すれば,決められた形状を加工するためのNCプログラムを作成できます。さらに,繰り返しの操作をする場合やプログラムに汎用性を持たせる場合など,以下の演算機能や条件判断を利用できます。 |
|
●変数
繰り返しの切削や寸法の決定に変数を使います。変数にはいくつかの種類がありますが,右の例は最も一般的な使い方を紹介しています。 |
【使用例】
次の例では,変数XF,YF,ZFの値を設定し,座標(XF,YF,ZF)まで工具を早送りさせます。
N010 XF=60
N011 YF=60
N011 ZF=100
N012 G00 X XF Y YF Z ZF |
|
|
|
|
●演算
数値や変数の四則演算(たし算(+),ひき算(−),かけ算(*),わり算(/))ができます。座標計算や繰り返し操作の計算に利用します。
■複雑な計算式
Visual BasicなどのWindows用プログラムでは,括弧を含む計算式や三角関数,へき乗などの計算ができますが,NCプログラムはそれらに対応していません。上記の四則演算だけをうまく利用して様々な計算をしなければなりません。 |
|
【使用例@】
次のような変数の演算ができます。
ZP=ZS+2
XP=XP-2
XP=XP+XA/2
ZP=ZA*2
【使用例A】
次のように,コード内の設定値に演算を含めることができます。
G00 X XS+4 Y YS+4
G01 Z ZS-12 F300 |
|
|
|
|
●ジャンプ(GOTO文)
GOTO文は,無条件に指定した行番号(シーケンス番号)までジャンプします。右の例のような使用ができますが,下記の条件判断(IF文)と併用するのが一般的です。 |
【使用例】
次の例では,テーブルの移動を繰り返します。ただし,このままでは無限ループ(終わりのないプログラム)になるので,実際にはループから抜け出すための何らかのコードが必要になります。
N010 G00 X0
N011 G00 X100
N012 GOTO N010 |
|
|
|
|
●条件判断(IF文)
IF文は,数値や変数の大小関係を比較し,その条件を満たした場合に指定した行番号(シーケンス番号)までジャンプします。右の使用例のように,条件式を[ ]でくくります。
■比較式の記述法
以下の比較式は重要です。使い方を間違えるとNC旋盤が予期しない動きをすることもあります。
- LT:小さい(Less Than,<)
- LE:小さいか等しい(Less Than or Equal,<=)
- EQ:等しい(Equal,=)
- NE:等しくない(Not Equel)
- GT:大きい(Greater Than,>)
- GE:大きいか等しい(Greater Than or Equel,=>)
|
|
【使用例】
次の例では,変数CT(カウント数)が5になるまでN010〜N015までのコードを繰り返します。
N005 CT=1
N010 G00 X0
N011 G00 X100
N012 CT=CT+1
N013 IF [CT EQ 5] N020
N014 GOTO N010
N020 M02 |
|
|
|
|
●NCプログラムの作成例
以上の機能を組み合わせると,様々なNCプログラムを作成することができます。以下,エンドミルでX軸方向の平面を設定した寸法まで削るためのプログラムを解説します。
【参考プログラム】平面切削プログラム(X軸)
N001 XS=-12
N002 XF=104
N003 YC=-6
N004 ZS=160
N005 ZF=158 |
@寸法設定
|
N010 M41S800
N011 G00 X XS Y YC
N012 M03
N013 M08
N014 G00 Z ZS |
A工具設定,主軸回転 |
N020 ZP=ZS
N021 G01 Z ZP F200
N022 G01 X XF
N023 ZP=ZP-0.8
N024 IF [ZP LE ZF+0.1] N030
N025 G01 Z ZP
N026 G01 X XS
N027 ZP=ZP-0.8
N028 IF [ZP LE ZF+0.1] N030
N029 GOTO N021 |
B荒削り |
N030 G01 Z ZF+1
N031 G00 X XS
N032 S1000
N033 G01 Z ZF F100
N034 G01 X XF
N035 G01 Z ZF+1 |
C仕上げ削り |
N040 S800
N041 M09
N042 M05
N043 M02 |
D終了処理 |
|
|
|
@寸法設定(N001〜N005)
右図のように,切削開始位置の座標XS,ZSと切削終了位置(仕上げ位置)の座標XF,ZF,さらに切削時のY座標YCを設定します。 |
 |
A工具設定,主軸回転(N010〜N014)
主軸を高速レンジとし,回転数を設定します(N010)。工具を初期位置のXY座標まで移動し(N011),主軸を回転させ(N012),切削油を出します(N013)。工具を初期の高さまで移動します(N014)。
B荒削り(N020〜N029)
切削高さZPを初期位置ZSに設定します(N020)。テーブルをX軸方向に動かし,切削します(N022)。Z軸方向の切削高さZPから切り込みを引きます(N023)。その計算結果が0.1
mm小さいか,等しければ仕上げ削り(N030)へと進みます。
計算結果が0.1mmより大きい場合は,Z軸を下げて(N025),X軸を逆方向に切削します(N026)。
さらに,Z軸方向の切削高さZPから切り込みを引きます(N027)。その計算結果が0.1
mm小さいか,等しければ仕上げ削り(N030)へと進みます。計算結果が0.1mmより大きい場合は,N029のGOTO文によって,その計算結果を踏まえて同様の切削を繰り返します。
C仕上げ削り(N030〜N035)
刃物を逃がして(N030),X軸の初期位置に移動します(N031)。仕上げ加工用の回転数に設定し(N032),仕上げ加工用の送り速度で仕上げ高さまで移動し(N033),X軸を仕上げ寸法XFまで移動します(N034)。Z軸方向に刃物を逃がします(N035)。
D終了処理(N040〜N043)
回転数を通常の状態に戻し(N040),切削油を止め(N041),主軸を停止します(N042)。プログラムを終了します(N043)。 |
|
|

[NC/MC TOP] [Koichi Hirata HOME] [NMRI HOME] |
Contact: khirata@nmri.go.jp |
|