2008
04.02

Mコードって便利? だけど欠点は・・・ パート1

NC ファナック FANUC

FS31iの言語設定CNCを利用した設備ではNCプログラム中に、必ずと言っていいほどMコードが使われています。「Mコード」とは? という詳細な解説ネタはまた今度書かせてもらうとして、今回はこのMコードの便利さとその裏に隠された苦行を紹介します。
MコードはNCプログラム中で、G01Z100.0M03 のように記述してある部分の「M※※」に該当する部分です。このMコードはCNC制御装置側から機械側の制御装置(通常はシーケンサとかPLCとかPMCと言われるもの)へ信号を出力する命令です。この信号はCNCの機種によって使用できる数値の範囲が決まっている事が多いのです。
結局このMコードで何をするのかというと、例えばM03と指令したら主軸を正回転させなさい。あるいはM08と指令したら切削水を出しなさい。という一定のルールをあらかじめ決めておき、それに従ってCNCのプログラムを作成します。
Mコードでは機械側のジグやその他装置類の制御、電磁弁のON-OFFやリミットスイッチの状態確認など、様々な機械側の現象や動作を制御させます。これらをCNCからコントロールすることができるような仕組みは、シーケンサ側でラダーでプログラムしておきます。(ラダーじゃなくてもいいんですが。)
内部処理は、一つのMコード信号(リクエスト)に対応した応答信号としてFIN(アンサー)を返すことで、一種の通信(コミュニケーション)が成立するようになっています。FIN(アンサー)が帰ってこない場合、通常はCNCプログラムがそのブロックで待機状態(FIN待ち)になりそれ以降のプログラムに移行することができません。

コメントは利用できません