- 締切済み
一行にMコードが二つだとエラーになる理由とは?
- 一行にMコードが二つ指令されるとエラーになります。ファナックの0MCという制御装置では、一行にはひとつのMコードしか指令することができません。
- したがって、M3M8;などと一行に複数のMコードを入力してしまった場合、後ろのM8のみが指令され、M3は無視されるため、主軸は回らずにZ軸の動きになってしまいます。
- このミスはドライランなどで確認することができますが、安全装置として一行の間にMコードが二つあるプログラムの場合、アラームなどで通知し、プログラムの見直しを促すことが可能です。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
プログラムは機械に直接手打ちしているのですか? PCでプログラム(手打ちも含めて)しているのであれば、PC上でチェックしてはどうでしょう? 例えば秀丸というシェアウェアのエディターソフトなら、ある文字に対して強調表示させることができます。 通常、黒で表示されているフォントに対して、M3、M98、M198などM+数字(+数字+数字)というコードを赤で表示するといった機能を自分好みに設定できます。 そちらを使えば簡単に間違いを発見でき、かつ、機械側で処理させるよりはるかに簡単だと思います。 比較的扱いやすいマクロ機能をもっていますのでM3+M8だけでなく、ほぼ自分の頭に思い描いたことはできると思いますよ。 ただ、それを実現できるかどうかはあなた次第ですけどね。 あと、単に色で確認とありますが、こちらもMコードが二つ以上並んだ時のみ、変色して強調表示させることもできます。 それと、逆にこちらがお聞きしたいのですが、ソフトメーカーにはその旨をお伝えしたのですか? ナスカシリーズは使用していませんので何とも言えないのですが、シミュレーションであれば機械の仕様を登録しておけば、チェック可能なはずですが?? 見たところ別注カスタマイズもお受けしているようですので、可能だと思いますよ。
- 参考URL:
- http://hide.maruo.co.jp/
全てのMコードやGコードについて、その様に処理する事は 一般的にユーザー側では不可能です. 少なくともマクロなどで対処できるレベルではなく、 できたとしても専用コードをNCに組み込まなければならず、 “NCのカスタマイズ”という話になるでしょう. ただし、Mコードの場合は10個までなら “Mコードによるカスタムマクロ呼び出し”機能を使って実装できます. 実用性の有無は別として、具体的には、 Mコードで呼び出されるマクロプログラム内で アドレスMに対応するローカル変数が空でない場合に アラームを出すコードを組む事になります. IF[#13NE#0]THEN#3000=0(M-CODE PILED) これは言ってしまえば実際には擬似的な処理になりますが.
補足
回答ありがとうございます。 >ただし、Mコードの場合は10個までなら >“Mコードによるカスタムマクロ呼び出し”機能を使って実装できます. なるほど。今M6で交換位置へテーブルを退避させているのはこれでやっているわけですね。 >アドレスMに対応するローカル変数が空でない場合に >アラームを出すコードを組む事になります. ローカル変数が空でない状態とはどういう状態なのでしょうか?
補足
ありがとうございます。 直接手打ちすることもあります。 確かにPCでみる方がはるかに簡単ですね。 ありがとうございます。 そのソフトは単に色でMコードが2つならんでいることが目で確認できるだけでしょうか? 非回転で切削に入ったらアラームとかはできますか? ナスカビューでM3M8のプログラムを描画させてみたところ、 無回転で切削へ入ったというアラームが表示されませんでした。 非回転で切削の場合アラームをだすにチェックをしていてもです。 M3M8でも 回転していることになっているのでしょう。。 M3をはずして初めてアラームがなりました。 描画ソフトでは今どちらのMコードが有効かまでは判別できないのでしょうか ? ありがとうございます。体験版なのですが、聞いてみました。 Mコード二つならんだ時に後ろの方だけ有効で認識させるとか できないといってました。 色を表示させるというのもききましたが、出来ないといってました。 これが本当ならシェアウエアの方が優秀ですね。 別注カスタマイズならできるのでしょうね。