NC

1/2ページ

カスタムマクロ、G66モーダル呼び出しで固定サイクルを自作してみる。

前回、カスタムマクロプログラムの例として、ハイデンハインサイクルをマクロ化する例を紹介しました。 ハイデンハインサイクルに比べると、ファナック固定サイクルの機能は非常に貧弱ですが、カスタムマクロを自作する事で、無限に拡張する事が可能です。今回は、カスタムマクロのモーダル呼び出し「G66」を利用して、穴を面取りするサイクルを作成してみようと思います。 G66:マクロモーダル呼び出し 固定サイクルを呼 […]

カスタムマクロでハイデンハインサイクルを作ってみよう!

最近、機械の立ち上げ作業でバタバタしていて、すっかり更新がご無沙汰しています。忘れられそうなので、5月の連休の空き時間で更新します。ネタとしては、以前から考えていたもので、ファナックカスタムマクロの使用例として、ハイデンハインサイクルをマクロ化してみたいと思います。ハイデンハインサイクルについては、下記で記事にしています。ご興味あれば、覗いてみてください。 マクロとは? マクロ言語は、プログラム言 […]

ハイデンハインのサイクル機能

ファナック系では、G73やG81~の固定サイクルと呼ばれている、ドリル加工用サイクルがありますがハイデンハイン制御機には、さらに高機能なサイクルが用意されています。変数で加工形状をカスタマイズできる点は、カスタムマクロに似ていす。多様なカスタムマクロが、標準で用意されているイメージです。さらに、ドリルサイクルだけでなく、ポケットや測定用のサイクルも用意されています。ファナック機では標準にない追加機 […]

Fanuc と OSP の違い。

昔の資料を整理していたところ、違いを書きだしたメモが出てきました。最近はあまり必要としていませんが、とりあえず、残しておこうと思います。もう、15年以上前の資料なので、現在では変わっている箇所もあるかもしれません。この手の記事は、ネット上には沢山あると思うので、怪しい場合にはそちらも参考にしてください。 基本的な、工具の位置移動指令は、ほぼ同じ 工具の移動先を指令する、基本的なコードはほぼ同じです […]

Fusion360、更新でポスト処理が変わった?デフォルトになった「NCプログラム」機能を説明します

2021/08/24付近の更新からかな?「アクション」>「ポスト処理」で出てくる、ダイアログが変わったみたいですね。「NCプログラム作成」がデフォルトになったようです。ちょっと戸惑ったのと、「NCプログラム」意外と便利なので、説明したいと思います。後半では、ポストファイルをネットワークフォルダで共有する方法も解説しています。 ポスト処理ダイアログが変わった 以前はこんなダイアログでした。 先日気が […]

Fusin360 CAMポストプロセッサ徹底解説・onSectionEnd( ) & onClose( )

いよいよ最後の締めくくりです。今回検討している、NCデータ仕様では、各セクション(工程)の終了と、NCプログラム全体の終了処理を担当します。 加工後の終了処理 セクション(工程)の終了 ①M09 (クーラント停止)②M05 (主軸回転停止)③G91G28Z0. (リファレンス点へ退避)④G49 (工具長補正キャンセル)⑤G90G00G17 (モーダル情報リセット)⑥M01 (単工程再加工考慮、オプ […]

Fusin360 CAMポストプロセッサ徹底解説・onSection( )の編集 No2

onSection( )改造の第二弾です。前回は、シーケンス番号、工具情報、リファレンス点へ退避、工具長補正キャンセル、モーダル初期化、まで行いました。今回は、⑥~⑪ 工具交換、工具長補正、主軸回転、クーラント、ドゥウェルのコードの出力を行います。 onSection( )編集 第二弾 セクション(工程)の始まり ①N0001 (工程番号と同じシーケンス番号)②(工具情報)③G91G28Z0. ( […]

Fusin360 CAMポストプロセッサ徹底解説・onSection( )の編集 No1

前回は、NCプログラムの始まりを担当する、onOpen( )関数を編集しました。今回は、各セクション(工程)ごとの始まりを担当する、onSection( )を編集していきます。 オリジナルポストの確認 前回、オリジナル(fanuc.cps)のonOpen部分を改造し「fanuc_new.cps」として保存しました。onSection( )はオリジナルのままなので、このファイルでポスト処理させてみま […]

Fusion360 CAM ポストプロセッサ徹底解説・onOpen()の編集

前回で作成したいNCプログラムの構成は決定できました。また、参考にしている「fanuc.cps」のエントリー関数の影響範囲も把握できました。今回からは、希望のプログラム構成にするために、オリジナル「fanuc.cps」を改造していきます。 オリジナルと希望NCプログラム構成を比較 NCスタート時のプログラム構成は、このようにしようと思います。 %O番号(コメント)(全工具情報)G90G00G17G […]

Fusion360 CAM ポストプロセッサ徹底解説・NCプログラム仕様検討

ポストプロセッサファイルの編集前にNCデータ仕様を検討します。対象は、Fanuc系マシニングセンター用のNCプログラムで工具の自動交換に対応したデータをターゲットにしようと思っています。今回もFusion360に標準でインストールされている「fanuc.cps」を参考に説明していきます。まずは、適当な名前でコピーしておきましょう。ここでは、「fanuc_new.cps」としました。 ポストプロセッ […]

Fusion360 CAM ポストプロセッサ徹底解説・関数

Fusion360 ポストファイルの構成は、グローバルセクションやグローバル変数定義の後は、関数の集まりになっています。関数とはなんでしょう? 関数とは? 決まった処理をさせるプログラミング指令のかたまりですが、場合によっては引数から情報を受け取り、結果を返したりします。NC言語で例えると、サブプログラムやマクロ呼び出しのような機能です。関数は、言語に標準で付属している定義もありますし、自分で作成 […]

Fusion360 CAM ポストプロセッサ徹底解説・グローバルセクション

ポストプロセッサが最初の初期化に使用する、変数やテーブルをグローバルセクションと呼ぶようです。これには、ポストカーネルからの情報であるカーネル設定変数、ポスト処理のダイアログに表示されるプロパティテーブル、NCデータの出力形式を制御するフォーマット定義、さらに、全ての関数がアクセスできるグローバル変数などが定義されています。今回の記事を書くにあたっては、標準でインストールされている「fanuc.c […]

Fusion360 CAM ポストプロセッサ徹底解説・変数

さぁ、いよいよ前回説明した、エントリ関数を編集して、希望のNCデータ構成にしてみようか・・・と思っていましたが、トレーニングガイドを眺めて見るとポストプロセッサとのやりとりや、NCデータの出力書式などを定義している、グローバルセクションは少し理解しておいた方がよさそうです。その前に、JavaScript言語の変数についても、少し詳しく調べてみました。偶然、変数宣言で、Fusion360ポストと一般 […]

Fusion360 CAM ポストプロセッサ徹底解説・構成編

このサイトのNCプログラム構成の記事でも、触れていますが、NCデータの構成は4つに整理する事ができます。 ・全工程の始まり・加工工程の前・・・ 実際の加工経路 ・・・・加工工程の後・全工程の終わり 同様の視点でしょうか、前回の記事、ポストプロセッサの構成も同様になっていますね~ onOpen( )onSection( )・・・・・・・・onSectionEnd( )onClose( ) したがって […]

Fusion360 CAM ポストプロセッサ徹底解説・概要編

数回にわたって、Fusion360 CAM のポストプロセッサの説明をしようと思います。しかし、筆者自身も独学なので、わかっている範囲での説明になりますし、もしかすると間違いもあるかもしれませんので、ご了承ください。ただ、ポストプロセッサはNCデータを出力する機能であり、それ自身が機械を動かすわけではありません。最終的にはポストプロセッサによって出力されたNCデータを確認する事が重要になります。 […]

ソフトの終了状態を記録。C++BuilderでINIファイルを利用する。

前回公開した、NCデータ確認ソフトはエディタ部分のフォントを変更できる仕様としました。でも、再起動時には初期状態へ戻ってしまうため、フォントの設定状態を、次回起動時にも反映できないかな~との要望を「ZENKYUさん」よりいただいたので、やってみました。前回起動時の状態の保存・取出しに、初期化ファイル(INIファイル)を使用し、フォントの設定に、「Font」プロパティを使用したので、覚書として残して […]

NCデータをDXF変換するためのDXFフォーマットを解説します

前回公開した、NCデータ確認ソフトに、少し名前を変更しDXF変換機能を追加しました。 「NcCheck2Dxf Ver3.41」こちらからダウンロードできます。 機能追加にあたり、DXFファイルの情報を集めなおしたので、今回はDXFについての記事を書いてみます。 以前の記事で、DXFには少し触れていますので、興味ある方は下記もご覧ください。 DXFから、穴情報を取出す こちらは、DXFファイルから […]

Gコード確認ソフトが進化しました。改造に利用した、C++BuilderのCancasを説明しています。

前回公開したソフト、進化させました。変更点の一番の目玉は、キャンパスのサイズ変更と、図形の拡大・縮小です。この機能追加は、自分自身でもかなりC++Builder の勉強になりましたのでC++Builderでの図形描画方法なども記事にしてみようと思います。簡単な図形描画のC++Builder のサンプルソースも添付します。他は、レイアウト変更や、真円への対応。G90・G91モードの表示。データの読み […]

GコードNCデータの確認と学習支援ソフトを作ってみた

こちらで、ファナック系NCデータで図形を定義する方法を説明しました。 NCプログラム/Gコード 工具経路指令 絶対座標系(G90)の場合には、原点基準からのX軸やY軸の移動位置は、比較的イメージできますが、相対座標系(G91)モードの場合は、次の移動位置はわかりますが、全体的な図形形状はなかなかイメージできません。さらに、「I」「J」円弧の場合はその中心と半径も、電卓を叩かないとわかりませんね。N […]

カスタムマクロで段取り支援

オプション扱いの場合もありますが、CNC制御にはNCデータを操作したり、制御機のデータを読み書きしたりできる、マクロと呼ばれているプログラム機能があります。マクロは、簡易的ですがプログラミング的な言語構造と変数を使用できるため、NCプログラムをパラメータ化して汎用的なプログラムを作成する事ができます。ただし、制御機によってプログラム構文は違うため、違う制御機での互換性はありません。今回はマクロの使 […]