• 締切済み
※ ChatGPTを利用し、要約された質問です(原文:モーダル情報の読み取り(シーケンス番号))

モーダル情報の読み取りについて困っています

このQ&Aのポイント
  • OKKVM4IIIに移行した装置で、シーケンス番号のモーダル情報を読み取る際に問題が発生しています。
  • マクロプログラムを移植した際に、システム変数#4114を使用してモーダル情報を変数#1に入れたいのですが、うまくいっていません。
  • 取説を確認した限り、OKKのVM4IIIと三菱のCNC700シリーズの仕様はほぼ同じと思われますが、原因がわかりません。

みんなの回答

noname#230359
noname#230359
回答No.2

こんにちは。 FANUCとMELDASでは、 O番号がL番号となり、 G65P10がG65L10となります。 また、M98がG22、M99がG23となります。 パラメータでFANUC仕様に切り替えられますが、 完全ではありません。 この場合、MELDAS仕様で、サブ10番に行っていないように思うのですが、 このあたりはいかがでしょうか? おもしろいところでは、サブ呼び出しで G22L10H1(サブ10番のシーケンス番号1番へジャンプ) なんてことも出来ます。 G23H1(リターン シーケンス番号1番へ)は、 M99P1でFANUCでもできますがね。 こんにちは。 #1=#4114 の部分が、マクロの先行処理が原因でとばされているのであれば、 O10 G04 #1=#4114 G04 とすることで先行処理が止まるかも。 もしくは、 O10 G04 #1=#4114 G04 という具合に、空白行を前後に入れることで先行処理を止められるかも。 古い制御ではG04で止まるのですがねぇ。 こんにちは。 ならば、 メイン側で、 N11G65P10 を N11 #101=#4114 G65P10 とし、 サブ側で、 #101を見に行けばよいと思います。 変数番号100番以降を使うとよいと思います。

noname#230358
質問者

お礼

回答ありがとうございます。自分もワイヤの経験があり、三菱のシステムと聞いたときはそうだと思ったんですが、OKKでのシステムでは取説でもほぼファナックの仕様になっていまして、その他のマクロ(自作)はほぼ何も手をつけずにそのまま移植できたんですが、今回のシーケンス番号に関する部分だけはうまく機能してくれませんでした。 なるほど、確かにその方法も有効かもしれません 早速試してみたいと思います。 これでうまくいけば、メイン側は変更しなくて済むので良いですね、 ありがとうございます。 今日実機にて試した見ましたが、駄目でした。というよりサブに移行した時点でN(シーケンス番号)の情報が下位レベルまで引き継いでないようで、 サブ側にて、 O10(SUB MACRO) N10 #1=#4114 のように、すると上手く行きました。 このことから、システム変数自体はちゃんと動作しているようですが、仕様によりメイン側のシーケンス番号のモーダル情報はサブでは引き継がないので、読み込めないようです。 ファナックでは上手くいっていたのですが、、 残念ですが、三菱の仕様としてあきらめるしかないようです。 いろいろとありがとうございました。

noname#230359
noname#230359
回答No.1

メルダスは触った事がないので的確には答えられませんが、 変数番号が違っているのでなければ、 もしかして、サブプログラム内でのシーケンス番号の扱いが ファナックとメルダスとで違っているという事はないでしょうか. 件のサブプログラム冒頭で、OKK機の#4114が 実際に幾つになっているのか知りませんが、 例えば、マクロ呼び出しが実行された時点で、この変数の内容が 一旦リセットされている可能性というのがあると思います. もしくは、G65が一般のGコードではなく マクロ指令として機能する様な場合には、 マクロが前のブロックの完了を待たずに先行して計算して行くために、 呼び出し先でこのシステム変数を参照した時点では 実際にはまだ“N11”というコードが実行されていない、とか.

noname#230358
質問者

お礼

回答ありがとうございます。 なるほど、確かにその点は気になるところですね、 質問には書きませんでしたが、取説にモーダル情報の読み取りが「先読み:#4114」と「実行:#4314」の2種類あり、一応その両方とも試してみたんですが駄目でした。 再度、行を変えるなどして試してみたいと思います N11 G65P10 のような感じで、 ただ、この方法だと他の機種と同じメインプログラムが使用できないんで、意味がないんですが、、 今日実機にて試した見ましたが、駄目でした。 アキオさんのいわれる通りで、サブに移行した時点でN(シーケンス番号)の情報が下位レベルまで引き継いでないようです。

関連するQ&A

専門家に質問してみよう