ポストプロセッサ編集
ポストプロセッサの用途
ポストプロセッサとは、特定のルーターまたは工作機械に対して適切な形式に、工具移動のXYZ座標を変換するプログラムのセクションです。
構成ファイルは、特定のマシンコントロールに適応するように、プログラムからの出力をカスタマイズします。このドキュメントは、構成ファイルの作成および編集方法の詳細を説明します。
以下は、G-CodeとHPGLにポストプロセスされた一般的なプログラムのセクションを示します。
G-Code出力
T1 M6
G17
G0 Z4.5000
G0 X0.0000 Y0.0000 S12000 M3
G0 X2.4567 Y7.8342 Z0.2500
G1 Z-0.0500 F5.0
G3 X3.3784 Y8.7559 I0.0000 J0.9218 F66.0
G3 X2.4567 Y9.6777 I-0.9218 J0.0000
G3 X1.5349 Y8.7559 I0.0000 J-0.9218
HPGL出力
IN;PA;
PU2496,7960;
PD2496,7960;
AA2496,8896,90.000
AA2496,8896,90.000
AA2496,8896,90.000
AA2496,8896,90.000
PU2496,7960;
PU2496,6096;
マシンコントローラーの製造元は、特定のマシンで実行するためのプログラムに必要な形式に、ファイルをカスタマイズする場合があります。これにより、当該マシンの特性に適応するように、コントロールを最適化することができます。
Vectricのポストプロセッサは、簡素なテキストベースの構成ファイルを使用します。そのため、必要に応じて、ユーザーによる構成ファイルのカスタマイズが可能です。
ポストプロセッサの各セクション
Vectricのポストプロセッサは、明瞭性の観点から複数のセクションに分類されているので、類似したスタイルで独自のポストプロセッサを書き出して、デバッグに利用することができます。
ファイルコメント
ポストプロセッサの説明や、ポストプロセッサへの変更を記録するセクションです。「+」または「|」文字で開始される各行が、コメントとなります。
+ 履歴
+ 日時、担当、作業
+ ======== ========== ===========================
+ トニー 14/07/2006 書き出し
+ マーク 26/08/2008 ATCコマンド結合、TCでスピンドル停止
+================================================
グローバルファイルステートメント
ステートメントとは、一度だけ使用されるアイテム、または、ファイルを通じて複数の静的な値を持つアイテムです。明瞭性を保つために、ステートメント名には大文字のみを使用します。
ステートメント | 結果 |
---|---|
| ポストプロセッサのリストに表示される名前です。 |
| ファイルに与えられるファイル拡張子です。 |
| ファイルが出力する単位(インチ/MM)です。 |
| 工作機械の製造元は、NCファイル出力の直接受け入れが可能なドライバー(通常はプリンタードライバー)を提供します(例: Generic HPCL_Arcs.pp参照) |
| (素材設定フォームで指定される)Plunge (Z2) 高さへの切り込み動作が、早送り移動であることを示します。 |
| コントロールソフトウェアが、NCファイル出力の直接受け入れが可能なドキュメントインターフェイスを使用します。 |
| Y軸の移動が、指定された直径の円筒周りにラップされます。「Y」値は「A」として出力されます。 |
| X軸の移動が、指定された直径の円筒周りにラップされます。「X」値は「B」として出力されます。 |
| 当該マシンの回転速度は、スピンドルの実際の速度(RPM)を表す1から15までの整数の範囲として出力されます(この例では、4500から15000 RPM)。 |
| このコマンドを使用して、( 文字は「オリジナル - 代用」のようにペアで入力されます。 例えば、MACH 3コントロールソフトウェアは、コンマ区切りとして丸括弧を使用し、ネスト化されたコメントの利用は許容しません。 |
| Rotary: 逆時間送りモードにおける送り速度Fの出力の有効/無効を切り替えます。 GCodeでは、これによりG93がオンになるかG94がオフになり、単位モードを使用します。 |
| 当該ポストプロセッサが、レーザー工具経路をサポートすることを示します(レーザーモジュールがインストール済みの場合)。 |
| 任意の最小円弧半径です。この値より小さな半径を持つ円弧は、単一の直線移動に変更されます。 |
| 任意の最大円弧半径です。この値より大きな半径を持つ円弧は、ポリゴン化されます。 |
テープ切り離しサポート
工具経路の出力が分割される長さを説明します。
TAPE_SPLITTING=MAX_NUM_LINES LINE_TOL "FILENAME_FORMAT" START_INDEX INDEX_ON_FIRST_FILE
以下のコマンドを例として使用します。
TAPLE_SPLITTING=1000 100 "%s_%s.tap" 1 "YES"
この場合
出力は最大1000行(ただし、その多くの行がポストプロセッサのフッターセクション内)の複数ファイルに分割され、900行(1000 – 100)以降にリトラクト動作がある場合、ファイルは該当する移動で分割されます。ファイル名が「toolpath」の場合、分割されるファイルの名前は「toolpath_1.tap」、「toolpath_2.tap」となります。最初の工具経路出力は、「toolpath_ 1.tap」となります。 INDEX_ON_FIRST_FILE= YES
が使用されているため、「toolpath」はインデックス番号なしにはなりません。ただし、ファイルが1000行未満の場合はファイルが分割されないため、この限りではありません。
注記
NCファイルの分割が必要な一部のコントローラーでは、ファイル名の文字数にも制限があります。例えば、MSDOSスタイルの8.3ファイル名形式での命名が必要になる可能性があります。出力ファイルの命名時には、この点を考慮する必要があります。
行終了文字
LINE_ENDING="[13][12]"
文字の10進数値は、ポストプロセッサファイルの各個別行にアペンドされます。WindowsまたはMSDOS形式のテキストファイルの読み込みが可能なコントローラーでは、通常は[13][10](復帰、改行)となります。
ナンバリングのブロック
出力ファイルに行番号を追加する場合、現行行番号が変数[N]で追加されます。この行番号変数の挙動は、以下の変数に制御されます。
ステートメント | 結果 |
---|---|
| 行番号を開始する値です。 |
| 行番号間の増分値です。 |
| 再度 重要:一部のコントローラーでは、コントロール上に表示可能な行数に制限があります。 |
変数
変数名 | 以下で出力 | 値 | サンプルファイル |
---|---|---|---|
|
| 現行送り速度です。 | Mach2_3_ATC_Arcs_inch.pp |
|
| 現行加工送り速度です。 | CNCShark-USB_Arcs_inch.pp |
|
| 現行切り込み送り速度です。 | CNCShark-USB_Arcs_inch.pp |
|
| R.P.Mの現行回転速度です。 | GCode_arc_inch.pp |
|
| JETベースの工具(レーザーなど)の現行電源設定です。 | grbl_mm.pp |
|
| 現行工具番号です。 | Mach2_3_ATC_Arcs_inch.pp |
|
| 前の工具番号です。 | NC-Easy.pp |
|
| 行番号です。 | Mach2_3_ATC_Arcs_inch.pp |
|
| 現行工具名です。 | MaxNC_inch.pp |
|
| 現行工具のToolDBのメモフィールドからのテキストです。 | Busellato_Jet3006_arc_inch.pp |
|
| 現行工具経路名です。 | Viccam_ATC_Arcs_inch.pp |
|
| (「工具経路保存」に生成される)ファイル名です。 | ez-Router_inch.pp |
|
| 工具経路ファイルの保存先フォルダーです。 | Woodp_arc_mm.pp |
|
| 工具経路のファイル拡張子です。 | TekcelE_Arc_ATC_3D.pp |
|
| 工具経路のフォルダーパス名です。 | WinPC-NC_ATC_Arcs_mm.pp |
|
| X軸における工具位置の現行座標です。 | GCode_arc_inch.pp |
|
| Y軸における工具位置の現行座標です。 | GCode_arc_inch.pp |
|
| Z軸における工具位置の現行座標です。 | GCode_arc_inch.pp |
|
| A軸における工具位置の現行座標です。 | |
|
| X軸における円弧の中心です(最終X,Y位置に相対)。 | Mach2_3_ATC_Arcs_inch.pp |
|
| Y軸における円弧の中心です(最終X,Y位置に相対)。 | Mach2_3_ATC_Arcs_inch.pp |
|
| X軸における円弧の中心です(絶対座標)。 | Isel_arc_mm.pp |
|
| Y軸における円弧の中心です(絶対座標)。 | Isel_arc_mm.pp |
|
| X軸における円弧の開始位置です。 | TextOutput_Arcs_mm.pp |
|
| Y軸における円弧の開始位置です。 | TextOutput_Arcs_mm.pp |
|
| Xにおける円弧の中点です(絶対座標)。 | TextOutput_Arcs_mm.pp |
|
| Yにおける円弧の中点です(絶対座標)。 | TextOutput_Arcs_mm.pp |
|
| Xにおける円弧の中点です(増分座標)。 | TextOutput_Arcs_mm.pp |
|
| Yにおける円弧の中点です(増分座標)。 | TextOutput_Arcs_mm.pp |
|
| 円弧の半径です。 | Bosch_ATC_Arcs_mm.pp |
|
| 円弧の角度です。 | Generic HPGL_Arcs.pp |
|
| X軸のホーム工具位置です。 | CAMTech_CMC3_mm.pp |
|
| Y軸のホーム工具位置です。 | CAMTech_CMC3_mm.pp |
|
| Z軸のホーム工具位置です。 | CAMTech_CMC3_mm.pp |
|
| 安全高さ/早送りクリアランス間隔です。 | EMC2 Arcs(inch)(*.ngc) |
|
| 軸がラップされる円筒の直径です。 | Mach2_3_WrapY2A_ATC_Arcs_mm.pp |
|
| Xにおける素材の長さです。 | Mach2_3_ATC_Arcs_inch.pp |
|
| Yにおける素材の長さです。 | Mach2_3_ATC_Arcs_inch.pp |
|
| Zにおける素材の長さです。 | Mach2_3_ATC_Arcs_inch.pp |
|
| Xにおける素材の最小値です。 | MaxNC_inch.pp |
|
| Yにおける素材の最小値です。 | MaxNC_inch.pp |
|
| Zにおける素材の最小値です。 | MaxNC_inch.pp |
|
| Xにおける素材の最大値です。 | MaxNC_inch.pp |
|
| Yにおける素材の最大値です。 | MaxNC_inch.pp |
|
| Zにおける素材の最大値です。 | MaxNC_inch.pp |
|
| Xの原点位置です。 | TextOutput_Arcs_mm.pp |
|
| Yの原点位置です。 | TextOutput_Arcs_mm.pp |
|
| Zゼロ位置、テーブルまたは素材サーフェスです。 | TextOutput_Arcs_mm.pp |
|
| X,Y原点です。 | TextOutput_Arcs_mm.pp |
|
| 使用された工具のリストです(使用順)。 | Mach2_3_ATC_Arcs_inch.pp |
|
| ファイルで使用された工具経路のリストです(使用順)。 | Mach2_3_ATC_Arcs_inch.pp |
|
| 工具経路のメモです(工具経路設定フォーム)。 | Mach2_3_ATC_Arcs_inch.pp |
|
| ファイルのメモです(編集 > メモ)。 | Mach2_3_ATC_Arcs_inch.pp |
|
| ファイル作成時間です。 | Mach2_3_ATC_Arcs_inch.pp |
|
| ファイル作成日です。 | Mach2_3_ATC_Arcs_inch.pp |
|
| 穴あけ加工時のドウェル時間(秒)です。 | Mach2_3_Arcs_inch.pp |
|
| ファイルの出力に使用された製品名です(バージョン番号含む)。 | |
|
| 工具直径です。 | |
|
| Rotary: 現行の逆時間レートです。 | AvidCNC_WrapX2A_G93_inch.pp |
変数の形式
工具位置の値、送り速度、回転速度などは、変数を使用してファイルに挿入されます。ファイル全体で変数が使用されます。ファイルのポストプロセスが行われると、変数が当該アイテムの現行値で置換されます。
例えば、変数出力の[X]
、[Y]
、[Z]
をそれぞれ使用して、いつの時点でも現行のXYZ工具位置がファイルに挿入されます。
明瞭性を保つために、変数名には大文字のみを使用します。
変数は以下のようにフォーマットされます。
VAR VARIABLE = [VO|WO|CS|VF|MX]
この場合
VO
= X、XF、Fなどの変数出力です。WO
= 出力がA=常時、C=変更時のみ行われます。CS
= 文字列が値の前に出力されます。VF
= 値が出力される形式を指定する値の形式です。MX
= 乗数値です。
一般的な変数
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
VAR
- この行は変数です。- 変数名です。
- 等号です。
- 開始角括弧 - 変数フォーマットパラメーターの開始です。
- 変数ラベル - 変数値で代用されるラベルです。
- 縦棒 - パラメーターの区切りです。
A
= 常に値を出力、C
= 変更時のみ値を出力することを表します。- 縦棒 - パラメーターの区切りです。
- 変数値の前に印刷するための文字列です。
- 縦棒 - パラメーターの区切りです。
- 任意のフォーマットフラグ - (後述)。
- 値の形式 - 出力する単位と小数点以下の桁数です。
- 縦棒 - パラメーターの区切りです。
- 出力乗数 - (後述)。
- 終了角括弧 - フォーマットパラメーターの終了です。
出力値のフォーマット
値フォーマット文字列は、以下のようにフォーマットする必要があります。
FORMAT_FLAGS FIELD_WIDTH DECIMAL_SEPARATOR DECIMAL_PLACES
フォーマットフラグは任意で、後述するごく一部のコントローラーのみに必要です。
フィールド幅:出力される最少数の文字を表します。通常、フィールド幅は「1」に設定されます。それより大きな値は、コントローラーが値に対して固定数の文字を求める場合のみ必要になります。そのような場合には、1より大きな値を入力することができます。入力された値の文字数が、確実に出力されるようになります。フィールド幅を表す数値は、出力値の完全な浮動小数点(小数点記号)を含みます。
小数点:小数点記号は、ほとんどの場合でピリオドが使用されますが、一部のコントローラーではコンマが使用される場合があります。(ピリオドを使用しないポストプロセッサの例として、以下のファイルを参照してください。Heidenhain_inch.pp)
小数点位置:出力される小数点以下の桁数です。多くの場合で、メトリック法で操作されるコントローラーには3、インチ法のコントローラーには4が設定されます。
任意のフォーマットフラグ
出力値は、任意のフォーマットフラグを使用してさらに修正可能です。
フラグ | 機能 | デフォルト(フラグなし) |
---|---|---|
| 値は右端に揃えられます。 | 値は右端に揃えられます。 |
| 値に「+」または「-」接頭辞を付けます。 | 値に「+」または「-」接頭辞を付けます。 |
| 値が設定された最小値未満の場合、値に接頭辞「0」を付けます。 | 値には空のスペースである接頭辞が付けられます。 |
| 値は常に区切り文字付きで出力されます(実際には、値が整数値のみを出力するように設定される場合に限り、出力値を変更します)。 | 出力が整数のみに設定されると、区切り文字は値にアペンドされません。 |
変数のデフォルトフォーマット
多くの変数にデフォルトの形式があります(以下参照)。変数に対して別の形式を設定するには、ポストプロセッサに以下の行を入力し、使用するコントローラーに適したパラメータに変更します。
デフォルト | サンプル |
---|---|
|
行番号は常に出力されます。「N」文字が行番号の前に挿入されます。整数として出力されます。 |
|
回転速度は常に出力されます。「S」文字が値の前に挿入され、整数として出力されます。 |
|
送り速度は値の前に「F」文字で出力され、変更時のみ出力されます。値は小数位1桁まで出力されます。 注記 このフォーマット文字列では、任意の追加パラメーターがあります。これは値乗数です。 |
VAR PLUNGE_RATE = [FP|A||1.0] |
切り込み速度は値の前に「F」文字で出力され、変更時のみ出力されます。値は小数位1桁まで出力されます。 注記 このフォーマット文字列では、任意の追加パラメーターがあります。これは値乗数です。 |
|
加工速度は値の前に「F」文字で出力され、変更時のみ出力されます。値は小数位1桁まで出力されます。 注記 このフォーマット文字列では、任意の追加パラメーターがあります。これは値乗数です。 |
|
位置値は値の前に「X」文字で出力され、位置は常に出力されます。また、一般的にはメトリック法の出力を必要とするコントロールに適した小数位3桁まで出力されます。 インチ法で操作されるコントローラーには、通常小数位4桁まで値を出力します。以下のように行をフォーマットします。
|
|
ホーム位置値は値の前に「X」文字で出力され、位置は常に出力されます。また、一般的にはメトリック法の出力を必要とするコントロールに適した小数位3桁まで出力されます。 インチ法で操作されるコントローラーには、通常小数位4桁まで値を出力します。以下のように行をフォーマットします。
|
|
値は値の前に「X」文字で出力され、位置は常に出力されます。また、一般的にはメトリック法の出力を必要とするコントロールに適した小数位3桁まで出力されます。 インチ法で操作されるコントローラーには、通常小数位4桁まで値を出力します。以下のように行をフォーマットします。
注記 このフォーマット文字列では、任意の追加パラメーターがあります。これは値乗数です。 |
|
値は値の前に「Y」文字で出力され、値は常に出力されます。また、一般的にはメトリック法の出力を必要とするコントロールに適した小数位3桁まで出力されます。 インチ法で操作されるコントローラーには、通常小数位4桁まで値を出力します。以下のように行をフォーマットします。
|
|
値は値の前に「J」文字で出力され、値は常に出力されます。また、一般的にはメトリック法の出力を必要とするコントロールに適した小数位3桁まで出力されます。
|
|
値は値の前に「J」文字で出力され、値は常に出力されます。また、一般的にはメトリック法の出力を必要とするコントロールに適した小数位3桁まで出力されます。
注記 このフォーマット文字列では、任意の追加パラメーターがあります。これは値乗数です。 |
|
値は値の前に「X」文字で出力され、値は常に出力されます。また、一般的にはメトリック法の出力を必要とするコントロールに適した小数位3桁まで出力されます。
|
|
値は値の前に「X」文字で出力され、値は常に出力されます。また、一般的にはメトリック法の出力を必要とするコントロールに適した小数位3桁まで出力されます。
|
|
値は値の前に「R」文字で出力され、値は常に出力されます。また、一般的にはメトリック法の出力を必要とするコントロールに適した小数位3桁まで出力されます。
|
|
値は値の前に「A」文字で出力され、値は常に出力されます。また、一般的にはメトリック法の出力を必要とするコントロールに適した小数位3桁まで出力されます。
|
|
値は値の前に「X」文字で出力され、値は常に出力されます。また、小数位3桁まで出力されます。 |
乗数値
乗数値は、異なる値を出力するために値の乗算に使用されます。一般的な用途は、以下のとおりです。
インチ法のポストプロセッサのデフォルト出力を、分当たりのインチから秒あたりのインチに変換するため(0.01666を掛ける)。
メトリック法のポストプロセッサのデフォルト出力を、分当たりのmmから秒あたりのmmに変換するため(0.0166を掛ける)。
正の値を負の値(またはその逆)にするため(-1で掛ける)。
円弧角度の出力をラジアンから度数に変換するため(57.2957795で掛ける)。
固定係数で乗算または除算を行うため(1:4スケールモデルの生成、0.25で掛ける)。
ポストプロセッサのブロック
HEADER
+---------------------------------------------------
+ ファイルの最初に出力されるコマンド
+---------------------------------------------------
begin HEADER
"Commands"
ヘッダーは命令用のセクションで、ファイルの最初に一度出力されます。通常は、コントローラーの様式コマンドを設定します。
例えば、ヘッダーにはコントローラー上にファイル名を表示するためのコマンドや、マシンを設定するための一連の「Gコード」が含まれる場合があります。これには、コントローラに動作がインチで行われることを伝えるG20、またはミリメーターで行われることを伝えるG21などが相当します。
以下のような変数が、ヘッダーセクション内に含まれる場合があります。
以下のような変数が、ヘッダーセクション内に含まれる場合があります。
素材ブロックに関する情報
- Xの最小範囲 = [XMIN]
- Yの最小範囲 = [YMIN]
- Zの最小範囲 = [ZMIN]
- Xの最大範囲 = [XMAX]
- Yの最大範囲 = [YMAX]
- Zの最大範囲 = [ZMAX]
- Xの素材長さ = [XLENGTH]"
- Yの素材長さ = [YLENGTH]"
- Zの素材深さ = [ZLENGTH]"
ホーム位置の情報
- ホームX = [XH]
- ホームY = [YH]
- ホームZ = [ZH]
- 早送りクリアランス間隔または安全高さ = [SAFEZ]
最初に使用される工具の詳細
- 工具番号 = [T]
- 工具名 = [TOOLNAME]
初期加工速度
- 加工と素材への切込みに使用される送り速度 = [F]
- 工具が素材を加工する送り速度 = [FC]
- 工具が素材に切り込む送り速度 = [FP]
実際の値はUNITSセットにより異なります(グローバルファイル設定参照)。デフォルトはMM/分またはインチ/分のいずれかになりますが、出力は適切な「VAR FEED_RATE」フォーマットを設定することで変更することができます。
回転速度
- 回転速度 = [S] R.P.M.
TOOLCHANGE
+---------------------------------------------------
+ 工具変更時に出力されるコマンド
+---------------------------------------------------
begin TOOLCHANGE
"Commands"
工具変更が必要な場合に出力されるコマンドです。使用される可能性のある変数とコマンドは、以下のとおりです。
- 前の工具番号 = [TP]
- 工具番号 = [T]
- 工具名 = [TOOLNAME]
- 工具経路名 = [TOOLPATH_NAME]
- 工具経路のパス名 = [PATHNAME]
- 工具経路のファイル名 = [TP_FILENAME]
- 工具経路のファイルディレクトリ = [TP_DIR]
- 工具経路の拡張子 = [TP_EXT]
- 回転速度 = [S] R.P.M.
- M3 Mコードは、多くの場合でスピンドルをオンにするために使用されます(時計回りの回転)。
- M5 Mコードは、多くの場合でスピンドルをオフにするために使用されます。
NEW_SEGMENT
+---------------------------------------------------
+ 新規セグメント(現行工具番号の新規の工具経路)に対して出力されるコマンド
+---------------------------------------------------
begin NEW_SEGMENT
"Commands"
NEW_SEGMENTセクションの例として、以下のファイルを参照してください。Mach2_3_ATC_Arcs_inch.pp
新規の工具経路が選択中の工具を使用する場合に出力されるコマンドです(ただし、異なる回転速度が必要な場合や、マシンに追加の命令が必要な場合など)。
工具変更は自動的にNEW_SEGMENTセクションの命令を呼び出すため、NEW_SEGMENTセクションで使用されるコマンドは、TOOLCHANGEセクション内に含まれる必要はありません。
一般的な変数は以下のとおりです。
- 回転速度 = [S] R.P.M.
- M3 Mコードは、多くの場合でスピンドルをオンにするために使用されます(時計回りの回転)。
- M5 Mコードは、多くの場合でスピンドルをオフにするために使用されます。
INITIAL_RAPID_MOVE
+---------------------------------------------------
+ 初期早送り移動に出力されるコマンド
+---------------------------------------------------
begin INITIAL_RAPID_MOVE
"Commands"
INITIAL_RAPID_MOVEセクションの例として、以下のファイルを参照してください。Saom_OSAI_Arc_inch.pp
ヘッダーまたは工具変更に続いて、非常に高速の移動が行われる際に出力されるコマンドです。多くのポストで使用されないセクションですが、非常に高速の移動が、後続の早送り移動とは異なる情報の出力を必要とする場合に有用です。このセクションは、HPGL変数に必要になる場合があります。
RAPID_MOVE
+---------------------------------------------------
+ 早送り移動に出力されるコマンド
+---------------------------------------------------
begin RAPID_MOVE
"Commands"
早送り移動が必要な場合に出力されるコマンドです。
FIRST_FEED_MOVE
+---------------------------------------------------
+ 一連の送り動作の最初の早送り移動に出力されるコマンド
+---------------------------------------------------
begin FIRST_FEED_MOVE
"Commands"
通常このセクションは、コントローラーが最初の送り動作で送り速度の設定を要求する場合に使用されます。その後この速度は、後続の加工動作で使用されます。
FIRST_FEED_MOVEセクションの例として、以下のファイルを参照してください。 Axyz_Arcs_ATC_inch.pp
FEED_MOVE
+---------------------------------------------------
+ 送り速度動作に出力されるコマンド
+---------------------------------------------------
begin FEED_MOVE
"Commands"
FIRST_FEED_MOVEセクションがポストプロセッサ内に存在する場合に、各移動または最初の送り動作を除くすべての送り動作で必要な情報を出力するために使用されます。
FIRST_CW_ARC_MOVE
+---------------------------------------------------
+ 一連のCW円弧動作の最初の時計回りの円弧動作に出力されるコマンド
+---------------------------------------------------
begin FIRST_CW_ARC_MOVE
"Commands"
時計回りの円弧セグメントである点を除いて、FIRST_FEED_MOVEセクションに類似しています。通常このセクションは、コントローラーが最初の円弧セグメントに対する送り速度の設定を要求する場合に使用されます。その後この速度は、後続の同一方向の円弧動作に使用されます。
FIRST_CW_ARC_MOVEセクションの例として、以下のファイルを参照してください。Centroid_Arcs_inch.pp
FIRST_CW_HELICAL_ARC_PLUNGE_MOVE
+---------------------------------------------------
+ 一連の動作の時計回りのヘリカル円弧切り込み動作に出力されるコマンド
+---------------------------------------------------
begin FIRST_CW _HELICAL_ARC_MOVE
"Commands"
Zでも移動する動作である点を除いて、FIRST_CW_ARC_MOVEセクションに類似しています。送り速度は、工具の切込み速度セットから出力されます。
CW_HELICAL_ARC_PLUNGE_MOVEセクションの例として、以下のファイルを参照してください。Mach2_3_ATC_Arcs_inch.pp
FIRST_CW_HELICAL_ARC_MOVE
+---------------------------------------------------
+ 一連の動作の時計回りのヘリカル円弧動作に出力されるコマンド
+---------------------------------------------------
begin FIRST_CW_HELICAL_ARC_MOVE
"Commands"
Zでも移動する動作である点を除いて、FIRST_CW_ARC_MOVEセクションに類似しています。
CW_HELICAL_ARC_MOVEセクションの例として、以下のファイルを参照してください。Mach2_3_ATC_Arcs_inch.pp
CW_ARC_MOVE
+---------------------------------------------------
+ 時計回りの円弧動作に出力されるコマンド
+---------------------------------------------------
begin CW_ARC_MOVE
"Commands"
時計回りの円弧セグメントである点を除いて、FEED_MOVEセクションに類似しています。
CW_ARC_MOVEセクションの例として、以下のファイルを参照してください。Centroid_Arcs_inch.pp
CW_HELICAL_ARC_MOVE
+---------------------------------------------------
+ 時計回りのヘリカル円弧動作に出力されるコマンド
+---------------------------------------------------
begin CW_HELICAL_ARC_MOVE
"Commands"
Zでも移動する動作である点を除いて、CW_ARC_MOVEセクションに類似しています。
CW_HELICAL_ARC_MOVEセクションの例として、以下のファイルを参照してください。Mach2_3_ATC_Arcs_inch.pp
FIRST_CCW_ARC_MOVE
+---------------------------------------------------
+ 一連のCCW円弧動作の最初の反時計回りの円弧動作に出力されるコマンド
+---------------------------------------------------
begin FIRST_CCW_ARC_MOVE
"Commands"
反時計回りの円弧セグメントである点を除いて、FIRST_FEED_MOVEセクションに類似しています。通常このセクションは、コントローラーが最初の円弧セグメントに対する送り速度の設定を要求する場合に使用されます。その後この速度は、後続の同一方向の円弧動作に使用されます。
FIRST_CCW_ARC_MOVEセクションの例として、以下のファイルを参照してください。Centroid_Arcs_inch.pp
FIRST_CCW_HELICAL_ARC_PLUNGE_MOVE
+---------------------------------------------------
+ 一連の動作の反時計回りのヘリカル円弧切り込み動作に出力されるコマンド
+---------------------------------------------------
begin FIRST_CCW_HELICAL_ARC_MOVE
"Commands"
Zでも移動する動作である点を除いて、FIRST_CCW_ARC_MOVEセクションに類似しています。送り速度は、工具の切込み速度セットから出力されます。
CCW_HELICAL_ARC_PLUNGE_MOVEセクションの例として、以下のファイルを参照してください。Mach2_3_ATC_Arcs_inch.pp
FIRST_CCW_HELICAL_ARC_MOVE
+---------------------------------------------------
+ 一連の動作の最初の反時計回りのヘリカル円弧動作に出力されるコマンド
+---------------------------------------------------
begin FIRST_CCW_HELICAL_ARC_MOVE
"Commands"
Zでも移動する動作である点を除いて、FIRST_CCW_ARC_MOVEセクションに類似しています。
CCW_HELICAL_ARC_MOVEセクションの例として、以下のファイルを参照してください。Mach2_3_ATC_Arcs_inch
CCW_ARC_MOVE
+---------------------------------------------------
+ 反時計回りの円弧動作に出力されるコマンド
+---------------------------------------------------
begin CCW_ARC_MOVE
"Commands"
反時計回りの円弧セグメントである点を除いて、FEED_MOVEセクションに類似しています。
CCW_ARC_MOVEセクションの例として、以下のファイルを参照してください。 Centroid_Arcs_inch.pp
CCW_HELICAL_ARC_MOVE
+---------------------------------------------------
+ 反時計回りのヘリカル円弧動作に出力されるコマンド
+---------------------------------------------------
begin CCW_HELICAL_ARC_MOVE
"Commands"
Zでも移動する動作である点を除いて、CCW_ARC_MOVEセクションに類似しています。
CCW_HELICAL_ARC_MOVEセクションの例として、以下のファイルを参照してください。Mach2_3_ATC_Arcs_inch.pp
FOOTER
フッターは命令用のポストプロセッサのセクションで、ファイルの最後にコントローラーに送信されます。これには、工具をホーム位置に戻すための命令、スピンドルをオフにする命令、ドライブへの電源をオフにする命令などが含まれます。
+---------------------------------------------------
+ ファイルの最後に出力されるコマンド
+---------------------------------------------------
begin FOOTER
"Commands"
一般的な変数は以下のとおりです。
- G00 [XH] [YH] [ZH]は、XYZホーム位置に早送りします。
- M05 Mコードは、多くの場合でスピンドルをオフにするために使用されます。
- M30 M コードは、多くの場合でファイルの末尾を知らせるために使用されます。
JETサポートセクション
これらのセクションは、レーザー、プラズマ、ウォータージェットなど、JETベースの加工工具をサポートするために使用されます。
JET_TOOL_POWER
+---------------------------------------------------
+ カッターの電源設定時に出力されるコマンド
+---------------------------------------------------
begin JET_TOOL_POWER
"Commands"
JET_TOOL_POWERセクションの例として、以下のファイルを参照してください。 Grbl.pp
レーザー「工具」に関連付けられた電源設定が発行されると出力されるコマンドです。
JET_TOOL_ON
+---------------------------------------------------
+ カッターの電源がオンになると出力されるコマンド
+---------------------------------------------------
begin JET_TOOL_ON
"Commands"
JET_TOOL_ONセクションの例として、以下のファイルを参照してください。Grbl.pp
JET工具の電源がオンになると出力されるコマンドです。これは、広い意味ではSPINDLE_ONに相当します。しかし、JETカッターがすでに予定される加工高さにある場合に、スピンドルベースのカッターに要求される切り込み動作の前ではなく、切り込み動作の最後に発行されます。
JET_TOOL_OFF
+---------------------------------------------------
+ カッターの電源がオフになると出力されるコマンド
+---------------------------------------------------
begin JET_TOOL_OFF
"Commands"
JET_TOOL_OFFセクションの例として、以下のファイルを参照してください。Grbl.pp
JET工具の電源がオフになると出力されるコマンドです。
使用頻度の低い他のセクション
FEED_RATE_CHANGE
+---------------------------------------------------
+ 送り速度変更時に出力されるコマンド
+---------------------------------------------------
begin FEED_RATE_CHANGE
"Commands"
FEED_RATE_CHANGEセクションの例として、以下のファイルを参照してください。Gravograph_IS200.pp
送り速度の変更時に出力されるコマンドです。多くのコントローラーが別の命令にアペンドされた送り速度の変更を受け入れるため、このセクションはほとんど使用されません。しかし、HPGL変数と使用される場合があります。
FIRST_PLUNGE_MOVE
+---------------------------------------------------
+ 一連の切り込み動作の最初の切り込み動作に出力されるコマンド
+---------------------------------------------------
begin FIRST_PLUNGE_MOVE
"Commands"
FIRST_PLUNGE_MOVEセクションの例として、以下のファイルを参照してください。Holz-Her_7123_ATC_Arcs_mm.pp
このセクションは、多くの場合で同時3D移動を完全にはサポートしないマシンで使用されます。例えば、Z軸がXとY軸ほど早く移動できない場合などが相当します。また、このセクションは、最初の切り込み動作が発生するたびに出力させるコマンドを含めるためにも使用されます。たとえば、プラズマトーチをオンにするコマンドなどです。複数の切込みは、通常ではランプ動作内でのみで出力されます。そのため、このコマンドは、加工間で自動的に早送りするコントロールに有用です。この場合、変更される速度や送りのような命令は、最初のプランジ動作で指定される必要がありますが、当該命令はランプ操作内の後続のプランジ動作には不要になります。
PLUNGE_MOVE
+---------------------------------------------------
+ 切り込み動作に出力されるコマンド
+---------------------------------------------------
begin PLUNGE_MOVE
"Commands"
PLUNGE_MOVEセクションの例として、以下のファイルを参照してください。Burny_arc_inch.pp
このセクションは、多くの場合で同時3D移動を完全にはサポートしないマシンで使用されます。例えば、Z軸がXとY軸ほど早く移動できない場合などが相当します。また、このセクションは切り込み動作が発生するたびに出力させるコマンドを含めるためにも使用されます。たとえば、プラズマトーチをオンにするコマンドなどです。
RETRACT_MOVE
+---------------------------------------------------
+ リトラクト動作に出力されるコマンド
+---------------------------------------------------
begin RETRACT_MOVE
"Commands"
RETRACT _MOVEセクションの例として、以下のファイルを参照してください。 Burny_arc_inch.pp
このセクションには、プラズマトーチをオフにするコマンドを含めるために使用することができます。
DWELL_MOVE
+---------------------------------------------------
+ ドウェルコマンドに出力されるコマンド
+---------------------------------------------------
begin DWELL_MOVE
"Commands"
DWELL_MOVEセクションの例として、以下のファイルを参照してください。 Mach2_3_Arcs_inch.pp
このコマンドは、VCarve Pro 7.5とAspire 4.5以降のバージョン用に導入されました。これは、ドウェル時間がプログラム内で指定されている場合に、穴あけ工具経路で使用されます。このセクションが未定義の場合、すべてのドウェルコマンドが無視されます。しかし、残りの穴あけ工具経路は、通常どおり出力されます。DWELL変数は、変数セクションで説明します。
特殊文字
ポストプロセッサ出力ステートメントの制限の範囲内で、多くの文字の出力が可能です。しかし、ポストプロセッサ構成ファイル内では、特殊な意味を持つ特定の文字があり、該当する文字の直接出力はできません。
これらには、角括弧[ ]や二重引用符“が該当します。しかし、このような文字の出力が必要になる場合があります。
その場合、以下の例のように、出力を希望する特殊文字のASCII値の10進相当を角括弧で囲んで行うことができます。この方法は、印刷不可の文字を含むすべてのASCII値の挿入に利用可能です。
- [91] 左側の角括弧を出力します。
- [93] 右側の角括弧を出力します。
- [34] 二重引用符を出力します。
- [13] キャリッジリターン(復帰)を出力します。
- [10] ラインフィード(改行)を出力します。
特殊文字を使用するファイルの例として、以下のファイルを参照してください。Biesse_Rover_Arcs_mm.pp
例: 工具変更コマンドの追加
多くの場合、使用するコントローラに適応するようにカスタマイズされたポストプロセッサを生成する最も迅速で容易な方法は、既存のポストプロセッサを編集することです。まず、使用するポストプロセッサの出力をテストするために、シンプルなテストファイルを作成します。シンプルなファイルとは、1つの線と2つの円などを含むファイルを指します。各形状に対し、ライン「上」、一方の円の「内側」、もう一方の円の「外側」の浅い加工を行う輪郭工具経路を生成します。
基本のポストプロセッサを使用して工具経路を保存し、任意のテキストエディタで内容を確認します。以下は、「G-Code Arcs (inch) (*.tap)」ポストプロセッサを使用してポストが行われたテストファイルの例です。以下の例では、Notepad ++エディタを使用して表示しています。
例えば、このポストプロセッサに工具変更セクションを加えていきます。まず、カスタイマイズを行うポストプロセッサのコピーを作成します。テキストエディタでポストプロセッサを開くと、テストファイルの出力をフォーマットしたポストプロセッサ内のテキスト行を確認することができます。
PostPフォルダは、アプリケーションのメインメニューから「ファイル > アプリケーションデータフォルダーを開く」を選択してアクセスします。
ポストプロセッサに工具変更セクションを追加するには、工作機械のコントロール(またはコントロールのソフトウェア)のドキュメントを参照する必要があります。たとえば、特定の工作機械に対して工具変更を実行するために追加する命令が、以下のようであると仮定します。
- M05命令は、工具変更前にスピンドルをオフにします。
- M0命令は、既存の工具を工具ホルダーに戻します。
- M06TTool_Number n命令は、工具番号nの新規工具を選択します。
- G43HTool_Number n命令は、コントロールに対し、工具番号nに工具長のオフセットを使用するように命令します。
- Sxxx M03は、回転速度をxxxに設定し、スピンドル(時計回りの回転)をオンにします。
任意のテキストエディタを使用してポストプロセッサを編集
使用するコンピューターのオペレーティングシステムがMicrosoft Vistaで、ユーザーアクセス制御が有効になっている場合、編集するポストプロセッサをPostPフォルダーからユーザー領域下のフォルダーにコピー、または移動します。
ファイル内で最初に編集すべきセクションは履歴コメントで、ここに変更内容を記載します。
次に、当該ポストプロセッサ出力が、自動工具変更(ATC)コマンドを出力することを明示するように、POST_NAMEを編集します。これにより、新規のポストプロセッサは、ポストプロセッサのリストで「G-Code ATC Arcs (inch)(*.tap)」と表示されるようになります。
続いて、命令を含む工具変更セクションを追加します。ファイル内における新規セクションの場所は重要ではありませんが、ヘッダーと早送り動作セクションの間が、挿入に適しています。
新規セクションの最初に、(「+」文字で始まる)コメント行を追加します。これにより、ファイル全体が読みやすくなります。ポストプロセッサに、各工具変更に対して以下の命令の出力を命令するために、「begin TOOLCHANGE」行を入力します(コマンドがヘッダーに含まれている最初の工具変更を除く)。
必要な命令を二重引用符で囲んで入力します。例の3行目と4行目にある“[T]”は、ファイルのポストプロセスが行われると工具番号で代用されます。5行目にある“[S]”は、工具の回転速度で代用されます。
最後に、ファイルに変更を保存します。すでにPOST_NAMEを変更してあるので、「GCODE_ATC_Arcs_inch.pp」のような新規名でファイルを保存します。
使用するコンピューターのオペレーティングシステムがMicrosoft Windows 7またはMicrosoft Vistaで、ユーザーアクセス制御が有効になっている場合、編集済みのファイルを「PostP」フォルダーにコピーして戻します。
ソフトウェアの実行中に新規のポストプロセッサをテストする場合は、ソフトウェアを再起動します。
ポストプロセッサに構文エラーがある場合、ソフトウェアの開始時に次図のようなエラーが表示されます。また、編集を行ったポストプロセッサは、ポストプロセッサ構成ファイルのドロップダウンリストに表示されません。すべてのエラーを修正し、ソフトウェアを再起動します。
ソフトウェアの再起動時にエラーが表示されない場合、テストファイルを開き、単数または複数のテスト工具経路を保存します。
ポストプロセッサ構成ファイルのドロップダウンリストからポストプロセッサを選択し、「工具経路保存」ボタンをクリックします。
テキストエディタで保存したファイルを確認します。
ファイルの内容に問題がなければ、マシン上でファイルを試行します。
修正したポストプロセッサからの出力を初めて実行する場合は、細心の注意を払ってください。
例: ファイル拡張子の変更
ポストプロセッサに自動的に生成されたファイル拡張子は、「工具経路保存」ボタンのクリックにより表示される「名前を付けて保存」ダイアログ内で変更することができます。
しかし、 毎回ファイル拡張子を変更する代わりに、ポストプロセッサから生成されるファイル拡張子を永久に変更することもできます。
以下のように実行します。
編集するポストプロセッサのコピーを作成してください。
ポストプロセッサ構成ファイルは、「.PP」拡張子付きで、製品インストールフォルダーの「PostP」フォルダーに保存されています。Aspireバージョン2では、デフォルトのPostP folderは「C:\Program Files\Aspire V2.0\PostP」です。PostPフォルダーの場所は、インストールされた製品と、ソフトウェアのインストール時にソフトウェアがカスタムロケーションにインストールされたかにより異なります。
任意のテキストエディタを使用してポストプロセッサを編集します。
使用するコンピューターのオペレーティングシステムがMicrosoft Windows 7またはMicrosoft Vistaで、ユーザーアクセス制御が有効になっている場合、編集するポストプロセッサをPostPフォルダーからユーザー領域下のフォルダーにコピー、または移動します。
ポストプロセッサ構成ファイル内で、以下の2行で始まる行を検索します。
POST_NAME =
FILE_EXTENSION =
これらを変更します。
例えば、「G Code ATC (inch)(*.tap)」ポストプロセッサに生成されるファイル拡張子を「.tap」から「.nc」に変更します。その場合、
POST_NAME = "G Code ATC (inch) (*.tap)"
FILE_EXTENSION = "tap"
を以下のように編集します。
POST_NAME = "G Code ATC (inch) (*.nc)"
FILE_EXTENSION = "nc"
変更をファイルに保存します。使用するコンピューターのオペレーティングシステムがMicrosoft Windows 7またはMicrosoft Vistaで、ユーザーアクセス制御が有効になっている場合、編集済みのファイルを「PostP」フォルダーにコピーして戻します。
ソフトウェアの実行中に新規のポストプロセッサをテストする場合は、ソフトウェアを再起動します。ポストプロセッサに構文エラーがある場合、ソフトウェアの開始時に次図のようなエラーが表示されます。また、編集を行ったポストプロセッサは、ポストプロセッサ構成ファイルのドロップダウンリストに表示されません。すべてのエラーを修正し、ソフトウェアを再起動します。
ソフトウェアの再起動時にエラーが表示されない場合、テストファイルを開き、単数または複数のテスト工具経路を保存します。
ポストプロセッサ構成ファイルのドロップダウンリストからポストプロセッサを選択し、「工具経路保存」ボタンをクリックします。
テキストエディタで保存したファイルを確認します。
ファイルの内容に問題がなければ、マシン上でファイルを試行します。
修正したポストプロセッサからの出力を初めて実行する場合は、細心の注意を払ってください。
ヒント
- 最初からやり直す場合を考慮し、必ず編集を行うポストプロセッサのコピーを作成してください。
- ポストプロセッサの編集にMicrosoft Wordなどのワードプロセッサプログラムを使用する場合は、ファイルをテキスト形式で保存してください。
ファイルにフォーマット情報を含めることはできません。 - Microsoft Windows 7またはMicrosoft Vistaを実行するコンピューターでポストプロセッサを編集する場合は、「Program Files\Product folder\PostP」フォルダー内で直接ファイルの編集を行わないでください。常に、ユーザー領域内でファイルを編集し、編集済みのファイルを「Program Files\Product folder\PostP」にコピーしてください。
- 変更を加える場合は、「+」または「|」文字で開始するコメントを使用してください。
コメントはプログラムに作用しませんが、変更の記録により、将来変更を理解する際に役立ちます。 - 全ての命令を二重引用符で囲んでください。
- 可能な限り、行番号を利用できるテキストエディタを使用してください。ファイル内でエラーが検出され、ポストプロセッサのデバッグを行う際に有用です。プログラムの開始時に、プログラムはPostPフォルダー内のポストプロセッサをチェックします。ファイル内に構文エラーが存在する場合、最初に検出された行番号を示すエラーメッセージが表示されます。
- ポストプロセッサの編集が完了したら、必ずコピーを作成してください。より新しいバージョンのVectric製品をインストールする場合は、新バージョンのソフトウェアのPostPフォルダーに修正済みのポストプロセッサをコピーしてください。初めて工具経路を保存する際に、修正済みのポストプロセッサを選択してください(ソフトウェアは選択を記憶するため後続動作では不要)。
- 別バージョンのソフトウェアをインストール、またはソフトウェアのバージョンをアップグレードする場合は、新バージョンのPostPフォルダーに修正済みのポストプロセッサをコピーしてください。初めてファイルのポストプロセスを行う場合は、ソフトウェアの新バージョンが使用されるように、適切なポストプロセッサを選択してください。
- 新しいバージョン(V5.5以降)のソフトウェアでは、アプリケーションで「ファイル > アプリケーションデータフォルダーを開く...\PostP」をクリックして、ポストプロセッサにアクセスすることができます。
- ポストプロセッサのカスタマイズリストは、「ファイル > アプリケーションデータフォルダーを開く...\My_PostP」に必要なポストプロセッサのみをコピーして作成することができます。.ppファイル拡張子を持つファイルが「My_PostP」フォルダーに存在する場合、「My_PostP」フォルダーに存在するポストプロセッサのみが、ポストプロセッサのドロップダウンリストに表示されます。