ミスを減らすためにすること

NCプログラムを使用した加工で発生する不具合として、「プログラムそのものが間違っている」場合と「プログラムに対しての設定が間違っている」場合が主に考えられます。工具軌道や座標が違っていれば確認の段階で気づきやすいですが、例えば、平面設定を「いつもG17を使っているから」という理由で入れなかったりした場合に、万が一設備側がG19になっていたりすれば、工具軌道が変わってしまうこともありますので不具合となってしまいます。これはプログラムそのものが間違っているということです。

プログラムに対しての設定が間違っている例としては、工具径補正値を設備に直接入力する場合に補正番号を間違えたり、入力値を間違えたり、変えてはいけない変数を変更してしまったなどがあります。

これらはプログラムを作る段階で未然に防ぐことができます。


加工前に必ず平面、座標系、アブソリュートを指令する

まず平面設定は、設備側では必ずG17、G18、G19のどれかが設定されていますので、そのプログラムに適した値に書き換えなければなりません。座標系も同様です。

座標系を設定した直後はアブソリュート指令で軸移動を行わないと正常に動作しないことがありますので、アブソリュート指令も必須です。

これは3つは、加工前にまとめて指令することで確認作業も簡単になります。

ひとつのプログラムでアブソリュートとインクレメンタルを混在させない

理由はひとつです。わかりづらい。

サブプログラムやマクロプログラム全体をインクレメンタルで指令するなら良いとは思いますが、このブロックはアブソリュート、次のブロックはインクレメンタル、のようになってしまうとわざわざ考え方を切り換えなければなりません。

私の場合は機械原点へ復帰させるとき以外はインクレメンタル指令は使いません。

オペレーターが変更しなければならない変数は、プログラムの先頭に持ってくる

変更しなければならない変数がプログラムのあちこちにあると、オペレーターは確認作業が大変になり、見落としも増えてしまいます。

変更してもよい変数をプログラムの先頭に持ってくることで、自然と変更してはいけない変数と区別することもできます。

工具径補正への入力は、システム変数を使用する

これは時と場合にもよるのですが、工具径補正値を設備に手入力する場合とシステム変数を使用してプログラム内で入力する場合で、そのプロセスを考えてみると下記のようになります。

工具径補正値を設備に手入力
  1. 工具直径を確認する
  2. 2で割って半径を出す
  3. 工具径補正番号を確認する
  4. 半径を入力する
システム変数を使用して入力
  1. 工具直径を確認する
  2. 変数に工具直径を入力する

上記のように、システム変数を使用したほうが人間が行う作業を減らすことができるので、オペレーターへの負担が減ることや、入力ミスが出る確率を減少させることができるというメリットがあります。

ただし、機種の異なる複数の設備を使用している場合は、プログラム内のシステム変数を確認する作業が必要になります。

コピーするならマクロにする

他の製品と似ている形状だからという理由で、複数のプログラムをコピーしてつなぎ合わせるという作り方をする人がたくさんいます。このようなプログラムは、ひとつの変数をまったく別の用途で複数回使用していたり、プログラム自体が非常に長くなって見づらくなったり、なによりもプログラムを一から十まで確認しなければなりません。

似たような形状の製品が複数あるなら、マクロにして使いまわしたほうが、確認作業も楽になりますし、データ容量も節約できます。

当サイトのPDF版を作成しました

コラム一覧
メニュー
NC旋盤
サブメニュー
OSP(オークマ)
雑学
NCプログラマの為の数学