Fanuc から OSP へ 変換ソフト公開

フリーソフト

やはり、国内では二大巨頭だと思います。Fanuc と OSP。
工具軌跡を定義する、基本的なGコードは、ほぼ同じですが、制御装置は各メーカーがそれぞれで開発しているので加工動作以外の機械動作や穴あけサイクルなどでは違いが多くあります。
このサイトでも、下記で説明してありますので、チェックしてみてください。

ここで書いた以外でも、機械特有の機能を操作するコードは、さらに違ってきます。
機種依存機能は、Fanuc、OSPなど違うメーカーと言うだけでなく、
同じFanuc機でも違ってきますので最終的には保有機械の取説で確認してください。

変換ソフト開発

Fanuc、OSPに限らず、数種類のNC機を保有している場合、
CAMでNCデータを作成する場合では、CAMに各機械のポストプロセッサを用意して
各々専用のNCデータを準備するのが、一般的だと思います。
一番安心な方法かもしれませんが、機械の種類が増えてくると、結構面倒です。
機械操作側とデータ作成側が違う組織で、特にデータ修正作業を行い、
加工機械が変更になった場合などデータ管理ミスが発生する可能性もあります。
そんな事もあり、筆者は、CAMによるNCデータは一種類の標準構成のデータのみ作成し、
各機械へは自作したNCデータ変換ソフトにより各機械へ供給する方法で運用しています。
同じFanuc機でも機械オプションにより違いがありますが、Fanuc制御機同士であれば
冷却コードやコンベアなど補助コードの違いが多く基本的なコードは互換性も多いので、
文字列の変換程度で対応できる場合も多いと思います。
手打ち修正でもできなくはないですが、程度にもよりますが、
エクセルやエディタマクロでも対応できる場合もあると思います。
とりあえず実際に変換データで動作させ、実績が出てくれば非常に便利です。
ただ、Fanuc、OSPになると、重要なコードの違いも多いのでソフト開発も結構面倒ですね。
特に、加工動作に直接かかわる、ワーク座標系や工具長補正コードが違うのは厄介です。
今回は、投稿用として基本コードのみの仕様ですが、C++Builder で、
変換ソフトを作成しましたので、紹介したいと思います。

変換コード

ワーク座標系

FanucOSP
G54 ~ G59G15H1 ~ G15H6
G54.1P1 ~G15H1 ~

工具長補正

FanucOSP
G43G56
G49G53

原点復帰

FanucOSP
G28なし(G00Z1000.0で代用)

固定サイクル

FanucOSP
G99M54
G98G71Z50.0 ; M53
L0 または K0NCYL

ドウェル

FanucOSP
G04P2000____G04P2.0____G04X2.0G04P2.0

その他

FanucOSP
%なし
主軸工具呼び出し、OK主軸工具呼び出し、NG
コメント ( ~ ) 複数行対応コメント ( ~ ) 複数行NG

仕様

違いは、まだまだ、あると思いますが、同じメーカー製であっても機械仕様などでも変わってくるので、今回は上記の項目を変換対象にしようと思います。
また、今回のソフトは、サブプロ形式には、対応しません。
もし、サブプロを変換させたい場合には、下記ソフトでメインのみに変換させてください。

変換プログラミング作成のポイント

コメント文

NCデータの処理をさせる場合で、結構面倒なのが、「コメント文」です。
人間へのメッセージとしては便利ですが、制御機的には、無視するコードです。
無視するので、GコードやMコードもコメントとして書くこともありますが
これが、変換ソフトにとっては厄介です。
単純な文字列変換だけでは、つじつまが合わなくなる可能性もあります。
変換をさせる場合、まずコメント文か純粋なNCコードかの判断が必要になります。

NCワード

指令の最小単位が「ワード」です。
通常ワードは、「アドレス(半角英文字)」と「数字・数値」で構成されています。
「アドレス」は「G」とか「M」とかですが、「数字」の部分が厄介です。
例えば、「G1」と「G01」は同じ意味です。
さらに、モーダルという機能があるので、そのコードがない場合でも、
前のコードを引き継いでいる場合もあります。
ここでも、単純な文字列変換だけでは、正常に変換できない可能性があります。

工具呼び出しと工具交換

工具交換する場合には、「T数字」で指定番号の工具を待機させ、「M06」で主軸へ交換させます。
この指令もちょっと厄介です。機械構造により動作や指令方法が違う場合があります。
私の経験では、「T02 M06」と同じ行で指令しなければいけない機械と、逆に行をわける必要がある場合がありました。
さらに、「T02」の指令で、特別な工具待機位置へ移動する機械もありました。
変換ソフトを開発する場合、このへんも、少し頭に入れておく必要があります。
今回は、Fanuc から OSP へ変換する場合、基本的な単純な変換機能しか考えていませんが
筆者の知っているオークマの機械では、主軸工具の番号を呼び出し指令すると、アラームになった記憶があります。
ファナック機では、単純に無視するだけの機械もあったので、この部分は変換ソフトにも盛り込んだほうがよさそうです。
基本構成としては、主軸工具を呼び出すコードが来た場合、コメント文に変更しようと思います。
ただし、次工具を事前に呼びだしておいて、さらにその工具番号を呼び出す場合は?

T10 M06
T11


T11 M6

実機を触れないので、よくわかっていません。このソフトでは、この場合は、無視しています。

サブプログラム構成

上にも書きましたが、今回のソフトは、サブプログラムには対応しません。
サブプロ構成のNCデータを変換したい場合には、「フリーソフト」のページ
「メイン・サブ構成のNcデータを一つのメインにまとめる」ソフトを使用してみてください。

ソフト公開

上記の仕様で、ソフト開発しました。
単純な文字列変換だけでなく、少しはNCプログラムを理解させていますが
標準的なコードのみ変換の仕様です。
ただし、実際の機械での検証をおこなっておりません。
もし、実加工に使用する際には、十分に確認して使用してください。
著作者は一切の責任を負いかねますので、ご了承ください。

コメント

タイトルとURLをコピーしました