NCプログラムとは

NCはNumerical Controlの略だそうです。
翻訳サイトにかけたら…「数値制御」。
おー、すごい、たぶん当たっているっぽい!

プログラム、というと、SEとかプログラマー見たいなものを
思い浮かべてしまいますが(少なくとも私はそう思っていました)、
NCプログラムは、そんなに難しいものではありません。

簡単に言うと、機械を動かすための命令コードです。
それをテキスト(文章)で人間にもわかりやすい形で書いて、
機械に読ませて動かす、と言うものです。

基本的には
「1分間3000回転のスピードで主軸を時計回りに回転させる」とか
「端から端まで1分間に500mmのスピードで削る」とか
そういう命令の組み合わせになります。

最初はちんぷんかんぷんですが、先輩の作ったプログラムを
ひとつひとつ後ろから見て、意味を憶えていけば大丈夫です。

すこしずつ意味を解説してきますので、憶えていきましょう。


最後に朗報。
NCプログラムは簡単なプログラム、と書きましたが、
「マクロ」と呼ばれる機能があります。

これは、条件文や変数が使える拡張機能で、
これを憶えると、ちょっとしたプログラムっぽいこともできます。

この辺は「プログラミング」の世界と同じ概念があるので、
「マクロ」を憶えてしまえば、Excelのマクロ機能(VBA)だとか
C言語などと言う、ちょっとかっこよさげなプログラムの初歩も、
とても理解しやすくなります。

勉強のしがいのある分野ですので頑張りましょう!
posted by center drill at 22:56 | Comment(2) | NCプログラム

NCプログラムの種類

実は、NCプログラムと言っても、複数の種類があります。
困ったことに、統一されていないのです…。

大まかな仕様は同じなのですが、
追加機能などに違いがあり、Gコードが違っていたりします。

私が知っているのは
FANUC(ファナック)とTOSNUC(トスナック)の2種類です。
しかしネットで調べてみると、他にも種類がありそうな気配でした。

ちなみに2つの特徴は、

・FANUC(ファナック)
これが今の切削機械の主流?
今、働いている会社で新しく購入した機械の大半は
これに対応しているみたいです。

・TOSNUC(トスナック)
東芝製の機械はこれでした。
実はこっちの機械ばかり担当していたので、
こっちのほうが詳しいのですが…。

ちなみに同じFANUC、TOSNUCでも、バージョン違いがあり、
対応している機能に違いがあったりします。
一台一台、機械の説明書を読んで、対応している機能を
把握しないといけないようです。
posted by center drill at 15:10 | Comment(0) | NCプログラム

NCプログラムの基本ルール

NCプログラムはアルファベットと数字の組み合わせで表現します。

例)
G00 X150.0 Y200.0

「G00」は早送りの意味ですので、
「早送りで X150 Y200 の位置へ移動」という指令になります。

上記のように、数字の前には必ずアルファベットが付きます。

また、原則としてアルファベット・数字・記号は全て、
半角文字を使います。

これはPCでプログラムを組むときに注意してください。
半角文字と全角文字は見た目では区別が付きにくいものもあり、
思わぬエラーになります。
(このミスに気が付かず、機械の前で30分悩んだことがあります)

文字入力は必ず半角モードで!
やむ得ず全角で打っているときは、「F10」キーで変換すると
強制的に半角変換になります。
「F10」キーを押す癖をつけておくといいかもしれません。

あと、XYZなど、座標を指定するアルファベットのあとには
小数点を付けましょう。
機械によっては、小数点が無いと、最小単位を1の位とした数値に
判断してしまうようです。

つまり「Z100」と入力すると、原点から高さ100mmの位置ではなく、
最小単位1/1000mmの100倍、0.1mmの高さに移動してしまう
危険があります。
posted by center drill at 12:07 | Comment(0) | NCプログラム

座標とは・XYの座標

NCプログラムを作成するには、座標の考え方が必要なので、
最初に説明いたします。

座標。

NC学習座標その1
中学校の数学で、グラフを書くときに使う、あれですね。
基本的にはあれと同じです。

原点があって、水平線がXで、右に行くほどプラス。
垂直線がYで、上へ行くほどプラス。
それぞれ、原点よりも後退すると、マイナスの値が表現できます。

マシニングセンターの場合、主軸を上から見た図が、そのまま
XYの座標となります。

つづく。
posted by center drill at 20:59 | Comment(0) | NCプログラム

座標とは・機械座標

機械座標
マシニングセンターには機械ごとに
主軸の動く範囲が決まっています。

機械座標その1

上の図は縦400ミリ×横600ミリの移動が可能なマシニングセンターの
機械座標です。

機械座標は(少なくとも普通に作業している限りは)
変化することの無い、絶対的な座標です。

機械座標で「X200.Y200.の位置」というように指定すれば、
機械上の位置を確実に指定できます。

機械座標その2


さて、それでは、実際に加工する時のことを考えて、
機械座標を使ってみましょう!
下図参照。

300×200の製品の中央に穴をあける

300×200の製品の中央に穴をあけるため、
座標を指定したいと思います。

製品はどこに置きましょうか…。
とりあえず決めてしまいましょう。
左下の角が機械座標の「X200.Y50.」の位置に来るように
製品を置きます。

製品を置く場所を決める

そうすると、製品の左下から、X+100.Y+150.の位置に穴を
開けることになります。
左下の角が「X200.Y50.」でしたから、
X200.+100. Y50.+150. を計算して「X300.Y200.」ですね。

加工位置の機械座標を計算!

この機械座標を指定すれば、ドリルなどの工具を、穴をあけたい
位置へ移動させることができます。

これで機械座標の説明はおしまいです。
機械座標さえあれば、加工ができそうな感じもしますが、
実際にやってみると、ものすごく不便だったりします。

そこで、もうひとつの座標、プログラム座標が登場します。

つづく
posted by center drill at 21:31 | Comment(0) | NCプログラム

座標とは・プログラム座標

プログラム座標
前回、座標とは・機械座標で、機械に製品を載せて
座標を指定する方法を書きました。

しかし、前回書いた方法は、実は現実的ではありません。
"左下の角が機械座標の「X200.Y50.」の位置に来るように〜"
なんて、そう簡単にきちっと置けないからです。

どこに置くかわからない…

治具を工夫すればできないことはないのですが、
クランプ方法が限定されてしまいます。

また、違う位置にセットしたいとか、
違う機械で加工することになった場合、いちいちプログラムを
書き直さなくてはなりません。

そこで、プログラム座標という、別の考え方の座標を使います。

今度は機械座標はとりあえず考えません。

製品のことだけを考えましょう。

300×200の製品の中央に穴をあける

上の図面(ぽいの)を見ると、どの寸法も左下から出ていますので、
原点を左下の角に決めます。

プログラム座標

すると、穴をあけたい場所は左下の角からX方向に100.
Y方向に150.の位置です。
なので、そのままズバリ、「X100.Y150.」と指示すればいいのです。
機械座標のときみたいに、余計な計算が無くて楽ですね。

実際に加工するときは、治具または製品をセットしてから、
左下の角の機械座標をセンサーなどを使って測ります。

機械座標とプログラム座標を一致させる

たぶん、このくらいの加工なら1/100ミリまで調べる必要は
ありませんが、一応…。
左下の角の機械座標は「X277.11 Y82.34」だそうです。
この座標をマシニングセンターに登録します。

すると、機械座標からプログラム座標を導く、面倒な計算は
機械の方でやってくれます。

あとは、プログラム座標のみを考えるだけで、加工をすることが
できます。

プログラム座標だけ考える!

ちなみに、プログラム座標は、機械によって複数設定することが
できます。
これは、複数の面を加工する場合や、繰り返し作業などに
効果を発揮します。

また、プログラム座標の有効範囲は、あくまでも機械座標の
範囲を超えることはできないので、
プログラムを作る際には注意しなくてはなりません。
(内段取りに入ってから、オーバーしていることに気が付くと、
すごく慌てます…)
posted by center drill at 21:02 | Comment(0) | NCプログラム

ワードとブロック

ワードとブロック

NCプログラムの中で、アルファベットと数字で表される、
ひとつのコードを「ワード」と呼びます。
これが最小単位となります。

また、一行分のプログラムを「ブロック」と呼びます。

ワードという呼び方は、あまり現場では聞きません。
しかし、ブロックは、「シングルブロック」「ブロックスキップ」など、
MCの操作盤にも使われていますし、よく使います。

ちなみにNCプログラムは、機械では、ブロック単位で読み込まれます。
(1行ずつ、上から順に読み込まれます)
posted by center drill at 21:20 | Comment(0) | NCプログラム

「モーダル」と「ワンショット」

NCプログラムのGコードは「モーダル」と「ワンショット」に分類されます。

「ワンショット」とは、そのブロックのみに影響のあるGコードのことです。
例えば、「G04」主軸を一定時間停止する、ドウェル機能などが該当します。
これについては、特に問題ありません。
一行にしか影響がないので、いちいち、このGコードはワンショット…と考える必要がないのです。
Gコードの意味を理解していけば、自然と身につくと思います。


問題は「モーダル」と呼ばれるタイプです。
感覚的にわかりにくいので、私は理解するのに苦労しました。

「モーダル」は、いくつかのGコードがグループになっていて、必ずいずれかの状態が保持されるタイプのGコードです。
座標の指定モードを決める「G90」「G91」や主軸の移動方法を指定する「G00」〜「G03」などが該当します。

例えば「G90」(アブソリュート)と「G91」(インクレメンタル)は、NCプログラムが実行されている間、今どちらのモードで動くか、マシニングセンターに情報が保存されています。

この時、「G90」と「G91」は、一つのグループと見なすことが出来ます。
同じように、「G00」〜「G03」は、XYZなどの座標指令が行なわれた時、どのように動くのか?というグループになります。
「G80」〜の、穴あけ用の固定サイクルは、全て同じグループです。

これを理解するには、インターネットのアンケートで見かける、ラジオボタンをイメージすると、わかりやすいように思います。

G90 (アブソリュート)
G91 (インクレメンタル)
G00 (早送り)
G01 (切削送り)
G02 (円弧切削右回り)
G03 (円弧切削左回り)


上のように、同じグループの中で、必ずひとつだけが選択された状態にあります。
もし、この状態で、「G91G01」というプログラムが読まれると、以降はその状態が続くのです。

G90 (アブソリュート)
G91 (インクレメンタル)
G00 (早送り)
G01 (切削送り)
G02 (円弧切削右回り)
G03 (円弧切削左回り)


このように、「モーダル」タイプのGコードは、一度宣言すれば、その後は同じグループのGコードが読まれない限り、状態が維持されます。
つまり、最初に「G90G00」と入力すれば、その後はブロック毎に「G90」や「G00」を入れなくても、同じように動くのです。

G90G00Z10.
X100.Y50.
Z0.

←→
同じ動き
G90G00Z10.
G90G00X100.Y50.
G90G00Z0.


上の二つは、同じ動きになります。
どちらでもプログラム上は問題ありません。
しかし、左の方が、見た目がスッキリして、見やすいプログラムになります。
また、プログラムの容量にも影響するので、なるべく省略した記述を、目指したほうがよいでしょう。

ここで注意しなければならないのは、一度読んだモーダルタイプのGコードは、その後も変更されないことです。
一時的に「G91」のインクレメンタルを使用した時や、円弧切削の「G03」を使用した時は、特に注意が必要です。
この状態で、「G90」や「G01」のつもりでXYZの座標指令をしてしまうと、とんでもない動きになります。
慣れてくると、よくやるミスなので、忘れずにチェックしましょう。
加工の開始と終わりに、「G90G00」を入れる癖を付けておくと、ミスが減ります。

G90G00

X100.Y100.
Z10.

G91G01Z-10.F250.
X100.
G03Y20.R10.
G01X-100.
G03Y-20.R10.
G01Z10.

G90G00
Z300.
posted by center drill at 18:12 | Comment(3) | NCプログラム
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。