このQ&Aは役に立ちましたか?
マクロの利点とは?
2023/10/16 13:21
- マクロとは、マシニング加工者にとって非常に便利な機能です。それにより、作業効率を大幅に向上させることができます。
- マクロはコモン変数から始めるのがおすすめです。コモン変数を使えば、重要なパラメータを簡単に管理できます。
- マクロを使えば、同じ作業を繰り返す必要がなくなります。一度設定すれば、次回以降は簡単に同じ作業を行うことができます。
マクロの利点
2008/03/10 14:08
こんにちわ、毎回お世話になってます。
大雑把な質問ですみませんが、
僕はマシニング加工者なのですが、当社ではマクロという機能を使ったことがありません。でもこの技術の森をみていると、マクロという言葉が結構出てきています。便利な機能であれば、覚えていこうかなと思っているのですが・・・。
そこで質問なのですが、マクロという機能はどういう機能なのでしょうか
?過去の投稿を少し見てみたんですが、便利なのかなぁ!!??っていう感じでいまいち理解し切れていません。
お暇なときでよろしいので、大雑把な回答でいいので回答いただけるとうれしいです。
よろしくお願いします。
回答を下さった皆様ありがとうございました。
ただいま勉強中で、まずはコモン変数あたりからはいっていこうかなと思っています。
またわからないことが出てきましたら質問するかとは思いますがよろしくお願いします。
質問者が選んだベストアンサー
貴方様が回答2のお礼に書かれているように、
OSPに元々入っている[真円サイクル]や[ポケットミル]などのミーリングサイクルはメーカー純正のマクロだと思って差し支えありません。
極端な話、スキル次第で同じ事あるいはそれ以上の動きをさせることが可能です。
ちなみに真円サイクルはマクロとしては簡単だったりもします。
マクロプログラムの作り方を覚えるとああいった事が実現する。
そう考えると用意に便利さが想像出来るかと思います。
変なネーミングですが、
四角サイクル、六角サイクル、長穴サイクル…、
アイデア次第ですね。
その他、加工だけににとどまりません。
ちなみに、OSPでは「ユーザータスク2」というオプションが入っていないと、sin,cos,tanや四捨五入等の関数機能が使えないので、マクロ十分活かせません。
オプションの有無で可能なマクロが制限されます。ご確認下さい。
また、コモン変数とローカル変数は特性が違い、使いどころも違ってきますのでマニュアルでご確認下さい。
機械の状態の読み書き等の変数はシステム変数と呼びます。
それぞれの変数の説明はマニュアルを読んでみて下さい。
マクロとまでいかなくとも、まずは変数としては比較的簡単なコモン変数を使用したプログラムから入ると良いと思いますよ。
変数の扱いに慣れることが第一歩だと思います。
もしも貴方様が、ベーシック等の簡単なパソコンプログラム言語の基本程度を知っていた場合、マニュアルを読んだら即実践可能でしょう。
何冊か付いてくるOSPのマニュアルには変数を使ったプログラム例はどっかに(どの本か忘れました)書かれています。
では、頑張ってください!
このQ&Aは役に立ちましたか?
この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。
その他の回答 (5件中 1~5件目)
条件分岐が特に便利です(個人的にはですが)
もし○○ならN○○にジャンプする とか
もし○○=○○ならO○○にジャンプするとか
補正や時計も管理できますので昔の最近まで?ポケコンでよく使われていたベイシックプログラムのように自由なプログラムが作れます
固定サイクルもマクロです
上手に使うとすごく便利ですよ
お礼
2008/03/12 09:36
回答ありがとうございます。
ベーシックでいうIFやGOTO的なことができるのですね!!
ベーシックもすっかり忘れかけているのですが、なんとか理解はできそうです。
ありがとうございました
丸穴切削の一例
-- 一般のプログラム--------
M98P9010
O9010
G91G01G41D1X50.
G03I-50.
G01G40X-50.
M99
--マクロプログラム-------------
G65P9010R50.(R値の変更で穴サイズが変わる)
O9010
G91G01G41D1X#18
G03I-#18
G01G40X-#18.
M99
メインの引数"R"値を操作するのみで、パラメトリックな形状加工が実現します。弊社ではマクロで各種の安全チェック確認動作を組み込んで活用しております。
マクロを使用しないマシニング運転は考えられません。
少し解りかけるとハマリますので要注意!
>#18とありますが#18は変数ですよね?これはどこかで数値を入れる欄があってそれを呼び出してくるってことでよいんでしょうか?
OSPの仕様は不明ですのでFANUC仕様の場合として理解ください。
#18はローカル変数と呼ばれるものであってプログラム上に#18=50.というような代入式で使用することができますが、これとは別にローカル変数特有の使い方ができます。
「G65P9010R50.」のところの「R50.」で#18に50.を代入しています。
ローカル変数#1~#26はG65でのサブプロ呼出での引数アドレスA~Z(O,P,N,Gを除く)にそれぞれ対応しています
「R」は#18に対応しているため#18=50.と同意です。
Aは#1
Bは#2
・・・
・・
・
Xは#24
Yは#25
Zは#26
にそれぞれ対応しています。
ローカル変数とコモン変数の違いについての詳しい説明はWeb上に山ほどありますのでそちらを参照ください。
お礼
2008/03/11 10:41
回答ありがとうございます!!
#18とありますが#18は変数ですよね?これはどこかで数値を入れる欄があってそれを呼び出してくるってことでよいんでしょうか?
当社ではOSPを使用しているのですがコモン変数というのがそれにあたるものでしょうか?
回答ありがとうございます。
なるほど、各#番号にAなりXなり決められたものがはいってるんですね。
少し勉強してわからなくなりましたら、またよろしくお願いします。
大雑把に、しかも端的に言えば、G81などのドリルサイクルみたいなものを自分で作れる!といったところでしょうか。
サブプログラムと違う点は、X、Y、ZやA、B、Cなど自分が使いたいアルファベットを変数にしてプログラムを呼び出せるということでしょう。
なので、途中まで普通のドリルサイクル、指定したZ座標に達すると深穴ドリルサイクルに変わる、といった標準には無いドリルサイクルなどを自作できます。(加工時間短縮のため)
キー溝を掘るのに溝幅と深さ、使用する工具の径、切削送り、開始点と終点を入力すれば自動で加工してくれる、といったマクロもできますね。
第四軸などの回転軸がある場合は、現在のワーク座標が○○°回転したときのワーク座標、などを自動で計算し、指定したアドレスに入力する、といったこともできます。
実際にプログラムを組むには変数や関数などの知識が必要ですが、マニュアルに載っているような簡単なプログラムの見本を見ながら独学で習得することは可能です。
最近はマクロ自体、出番も少なくなってきていますが、円周等分の穴の位置決めのプログラムなどをはじめてみた時、たった数行のプログラムでこんな複雑な結果をだせるなんて!と、そのプログラムの美しさに感動したのを覚えています。
お礼
2008/03/11 10:39
わかりやすい説明ありがとうございます!!
すごく利点が見えてきました。
最初は気にも留めていなかった機能だけに、すごく便利な機能だということがわかりました。
少しづつテキスト見るなりして勉強していきたいと思います。
あと、当社ではOSPを使用しているのですが、OSPに組み込まれている真円切削やポケットなどもOSPがはじめから用意しているマクロにあたるのでしょうか?
?プログラム作成を簡略化したい。
ピッチ円上の等分割や角ワーク上の繰り返しパターンのタップ穴加工など、マクロを使えばプログラム短く出来る。一部変更ならそのままで使える等々。。。
これはCAMからプログラムを吐き出したものをそのまま使うことが多くなっており、メリットが少なくなってます。
?工具長補正の自動測定。加工後のワーク自動計測。その他何か便利な動かせ方をしたい。
直近ではこんな質問があります。
『No.24318 マクロプログラム』
メーカ任せの場合もありますが、改良するにはマクロの知識が必要です。
また、穴あけ固定サイクルのパターンを少しイジッテ能率を上げることもあります。
?故障時
プログラムではありませんが、パラメータの知識があると、このSWがONになるべきところ検出していないから異常箇所は此処と、、処置が早くなります。
?の(システム)パラメータとは、マシンの動作状態をすべて表してる情報ですから、意味は違いますが、マクロの知識があるとこれを操作してマシンを意のままに操れます。
>マクロってどういう意味?
ふつうはミクロの反対語ですが、それだけではよく判りません。
Wikipedia
マクロ (コンピュータ用語)
コンピュータ言語においてマクロとは、プログラム中の文字列を、
あらかじめ定義された規則に従って置換すること。
さらに??ですが、コンピュータ言語において便利なツールをそのように呼び始めたからではないでしょうか。
良く知られたものではエクセルの(キーボード)マクロがあります。
NCでは、文字列ではなく、数値の置き換えと理解すれば宜しいかと思います。
直接数値を打ち込むのでなく、下のように変数で書いて、その実行前に変数を操作して動きを可変するやりかたです。
#1=2
・・・・・・
G#1X#2Y#3R#4F#5
お礼
2008/03/10 15:12
回答ありがとうございます。
マクロといってもいろいろあるのですね。
?は、サブプロなどを使用せずとも作れるといった感じでしょうか??
?は、すでにある機能を、改良させるということですね!!
?は、何度か電話で確認したことはあります。右から何個目のゼロはどうなってる??見たいな感じに。それもマクロになるんですね。
そもそもマクロってどういう意味なんだろ・・・??
ウィキで調べれば出てくるかなぁ・・・
回答ありがとうございます!!
わざわざ調べていただいて感謝しています。
マクロプログラム内で#1=2的なものを指示してあげるのでしょうか??
お礼
2008/03/12 09:34
回答ありがとうございます。
OSP関連の本をがそごそ探してみたら出てきました!
これを見て勉強してみたいと思います。
ありがとうございました。勉強してまたわからないことが出てきたらそのときはよろしくお願いします