出力制御ファイル
NCマクロ部

予約語一覧

4.マクロ内で明示的に設定した内容をシステムが参照する

マクロ内で設定した移動に間する予約語はABSで必ず出力されますが、次の予約語に値を設定することでそれを制御できます。
(この内容はそれを設定したブロックのみ有効です)

ABSINC :
移動情報をABSで出力するかINCで出力するかを選択する。

0:「パラメータ部」で設定したABS/INCに従う。
1:ABSで出力する 2:INCで出力する

MODAL :
移動情報をモーダル制御するかを選択する。

0:「NCコード部」で設定したモーダルに従う。
1:必ず出力

デフォルトはABSINC=1、MODAL=1です。

例)
<MODAL=0>$STARTX$

現在の工具のX座標が加工開始点のX座標と同じ場合はNCデータファイルには出力しない。

AVOIDHEIGHT :
現在の経路の回避高さを参照する。

[MacroToolEnd]内で、予約語AVOIDHEIGHTを次のように使用すると、複数の経路を工具原点ではなく、回避高さでつなぐことができます。

例)
<TARGETZ=AVOIDHEIGHT>!-G90!!-G00!$TARGETZ$

注意)移動に関する予約語の場合、設定する(または参照する)座標値はABSのみです。

 

穴あけ加工の固定サイクルコードの出力は以下の予約語で制御できます。

CYCLEDIVXY :
固定サイクルコード1行目のXYデータを次行に出力するか選択する。

0:同じ行に出力する。
1:次行に出力する。

例)
<CYCLEDIVXY=1>

予約語を記述しない場合、固定サイクルコード1行目のXYデータは同じ行に出力されます。
この予約語はサブプログラムには反映されません。

CYCINSSTR:
X座標、Y座標が移動するごとに挿入する文字列を設定する。
挿入する文字列を""(ダブルクォーテーション)ではさむ。
文字列内で改行させたい場合、改行位置にカンマ(,)を記述する。
NCデータでは、挿入した文字列の後は必ず改行される。

例)
<CYCINSSTR="M50,M09">

注意)挿入できる文字列は10行分までです。
CYCINSSTRは穴あけ加工のみ適用されます。

CYCINSCHR:
CYCINSSTRと同じくX座標、Y座標が移動するごとに挿入する文字列を設定する。
固定サイクル内のXY座標移動行の先頭に必ず指定のコードを出力します。

X座標、Y座標が移動するごとに挿入する文字列を設定する。
挿入する文字列を""(ダブルクォーテーション)ではさむ。
文字列内で改行させたい場合、改行位置にカンマ(,)を記述する。
NCデータでは、挿入した文字列の後は必ず改行される。

例)
<CYCINSCHR="G60">

注意)挿入できる文字列は10行分までです。
CYCINSCTRは穴あけ加工のみ適用されます。
CYCINSSTRと併用した場合、CYCINSSTRが先に処理されます。

出力制御ファイルの「制限」で「G00をG01にする」を設定した場合、角部への円弧の挿入を以下の予約語で制御できます。
予約語は出力制御ファイルの「先頭」に設定します。

INSARCRAD :
挿入する円弧の半径を設定する。
回避の移動距離の半分が設定した円弧の半径より短い場合、回避の移動距離の半分を半径とするように変更します。

例)
<INSARCRAD=5>

INSARCPOS
挿入する円弧の位置を設定する。
初期値は0です。

0:回避高さより下
1:回避高さより上

例)
<INSARCPOS=1>

また、挿入した円弧を線分近似できます。
ここで線分近似処理の設定を行わない場合は、従来のポスト処理に従って線分近似されます。
分割方法として、分割数を指定する方法と分割角度(度)を指定する方法を選択できます。

INSARCDIVMES:
分割方法を設定する。
初期値は0です。

 0:分割しない
 1:分割数で分割する
 2:角度で分割する

例)
<INSARCDIVMES=1>

INSARCDIV:
分割数または分割角度(度)を設定する。

有効な設定範囲は次の通りです。
分割数指定のとき (1 ≦ 分割数)
角度指定のとき  (0 < 角度 ≦ 90)

例)
<INSARCDIV=10>

制限)次の場合は、円弧は挿入されません。

注意)INSARCRADを設定しない場合や、INSARCRADに0を設定した場合は無効です。

INSERTSPACE:
各NCコードの前にスペースを挿入する。

1:スペースを挿入する

例)
<INSERTSPACE=1>

穴あけ工程にミル加工(真円加工など)が含まれていても工程の再作成を行えます。

CYCLESORT:
マクロの「先頭」に設定します。

0:工程の再作成の対象にしない
1:工程の再作成の対象にする

例)
<CYCLESORT=1>

帳票に出力される加工時間(早送り時間、切削時間)を実際の加工時間に近づけるために係数をかけることができます。

RAPIDTIMERATE :
早送り用の係数を設定する。
設定しない場合の係数のデフォルトは1.0です。

例)
<RAPIDTIMERATE=1>

CUTTINGTIMERATE :
切削送り用の係数を設定する。
設定しない場合の係数のデフォルトは1.0です。

例)
<CUTTINGTIMERATE=1>

ポストプロセッサの動作を制御します。

WIRESTOP :
ポストプロセッサを強制終了させます。
CLServerのログには異常終了のメッセージが出力されます。

例)
<WIRESTOP=1>

穴あけ固定サイクルの第1点目座標値のモーダルを変更します。

PRESETCYC1STCOORD:
マクロの「先頭」に設定します。

固定サイクルの前に位置決め用の座標値を出力し、1点目の固定サイクルで座標値を出力させない場合に使用します。

0:アンモーダル(必ず座標値が出力される)
1:モーダル(モーダル処理が有効になる)

例)
<PRESETCYC1STCOORD=1>

位置決め用の座標値を出力する記述例
マクロの「工具交換位置」で次の記述を行います。
IF(TOOLTYPE!=1)
<TARGETX=STARTHOLEX>
<TARGETY=STARTHOLEY>
$TARGETX$$TARGETY$
ENDIF

工作機側で円弧補間エラーが出る場合、円弧座標を補正にて調節することができます。

WIREARCCENTERCALCMODE=2:
工作機側で円弧補間エラーが出る場合、マクロの「先頭」に設定することで円弧座標を補正します。
この設定をしてもエラーとなる場合、工作機側の許容誤差の設定を変更して回避下さい。

例)
<WIREARCCENTERCALCMODE=2>

 

切削途中にある回避動作(G00)のNCコードをこのマクロを使って出力します。
回避位置で特殊なコードを出力させたい場合に使用します。
このマクロは標準では呼び出されません。

PRESETRAPIDMOVE:

マクロ「回避位置」を呼び出すかを選択します。

0:マクロを呼び出しません。(デフォルト)
1:マクロを呼び出します。

MOVETIME

予約語「CUTTINGMOVETIME」「RAPIDMOVETIME」に設定する経過時間を制御します。


“SET”   :現在の経過時間を予約語に設定します。
“RESET” :現在の経過時間をリセットします。

設定例)
< MOVETIME=“SET”>
< MOVETIME=“RESET”>

注意) ポストプロセッサで「G00をG01に変換する」がオンの場合このマクロは呼び出されません。
切削時間の算出にNURBS経路は含まれません。