ほんのチョッピリ進展 投稿者:YUSA 投稿日:2010/09/05(Sun) 19:49 No.2961
なかなか仕事が多忙で進まなかったのですが本日チョッピリ進みました。
まず〔けんざえもん先生〕に作って頂いたインターフェースを〔secさん〕に戴いたケーブルで無事(?)PCとPLCの接続がおわりました。
接続設定は〔indianaさん〕のご教授通りに下記様接続しました。
・ツール番号1 =ポート2の3ピン(出) = PLCのX01へ接続 ・ツール番号2 =ポート2の4ピン(出) = PLCのX02へ接続 ・ツール番号3 =ポート2の5ピン(出) = PLCのX03へ接続 ・ツール番号4 =ポート2の6ピン(出) = PLCのX04へ接続 ・ツールチェンジ動作完了 =ポート2のピン10(入) = PLCのY15へ接続
で・もってMach2の設定で増設パラレルポートの設定をしました。
Re: ほんのチョッピリ進展 - YUSA 2010/09/05(Sun) 19:53 No.2962 で次に、これも〔indianaさん〕のご教授通りに〔InputSignals〕で〔OEM Trigger1〕にチェックを入れて
Re: ほんのチョッピリ進展 - YUSA 2010/09/05(Sun) 19:56 No.2963 〔Input Pins〕の〔OEM Trigger1〕にもチェックを入れて〔Port#〕を〔2〕に〔Pin#〕を〔10〕に設定して
Re: ほんのチョッピリ進展 - YUSA 2010/09/05(Sun) 20:02 No.2964 〔Output signals〕の〔Relay activatikn signals〕の〔Output #1〕〜〔Output #6〕までにチェックをいれました。
#1〜#3までは既に使っていました。 たしか・・・#1はスピンドルのON/OFFそして#2と#3はエアーブローとクーラントだったと思いますが#3はツールに変更しきす。
Re: ほんのチョッピリ進展 - YUSA 2010/09/05(Sun) 20:08 No.2965 〔Output Pin〕の〔Port#〕と〔Pin#〕をそれぞれ#2のPin#3〜#6に設定しました。
Re: ほんのチョッピリ進展 - YUSA 2010/09/05(Sun) 20:09 No.2966  * で・まずは、ここまでは・これで良いのかなぁ〜 ?
Re: ほんのチョッピリ進展 - YUSA 2010/09/05(Sun) 20:20 No.2967  で・Gコードに〔 M6 T1〕と記載されていてMach2が、それを読み込むと・・・〔ツールNO〕をPLC側に送出するのかなっ ?
あっ・・そ〜かっ (^^ゞ MAchに〔マクロ〕を仕込まなければならないのですね。
これは〔indianaさん〕が添付してくれたファイルの名前を〔M6Start.m1s〕と変更してマクロフォルダーに入れれば良いのかなっ ?
このマクロフォルダーって〔Mach2〕フォルダーの中の〔macros〕フォルダーで良いのかなっ ?
Re: ほんのチョッピリ進展 - YUSA 2010/09/05(Sun) 20:50 No.2968 で〔indianaさん〕が考えてくれたマクロがツール信号(M6 T1〜T4)が入ると +200mm退避する仕様なのですが
できればツール信号が入ると
@一旦、各軸 X=0 Y=0 Z=+20 (ワーク座標)に移動して主軸を停止する。
A座標を〔ワーク座標〕から〔機械座標(絶対座標)〕"G53"(?)に切り替える
BZ軸を〔機械座標〕の"0"に移動(最上部のZ軸原点)
Cツール信号を出してPLCからの完了信号を待つ 注: #1〜#4以外のツール信号(#0とか#6〜)を読み込んだ場合はBで待機して再度〔スタート〕ボタンが押されるのを待つ
D完了信号を受けると座標を再度〔ワーク座標〕(G54?)に切り替えて主軸を回転させて〔ワーク座標〕の"+20"に移動(下降)させる。 注:Cで設定外のツール番号で待機している時に〔スタート〕ボタンが押されても同じ動作
E次のGコードを読み込み次の切削を開始する。
・〔indianaさん〕・・・ってな動作にしたいのですが、同でしょうか ? (^.^) Re: ほんのチョッピリ進展 - YUSA 2010/09/05(Sun) 21:13 No.2969 追伸: 一旦 〔ワーク座標〕で各軸 X=0 Y=0 Z=+20 (ワーク座標)にしなくても〔機械座標〕に切り替えてZ=0に移動して・・・・完了信号をもらった後・・先程の〔ワーク座標〕での元の位置に戻しても良いのかなっ?
それの方が面倒なのかなっ? (^^ゞ
〔indianaさん〕・よろしくお願いします m(__)m
Re: ほんのチョッピリ進展 - YUSA 2010/09/05(Sun) 21:23 No.2970 再度追伸:
2010/03/09(Tue) 01:41 No.2761
> [Config]>[General Config]のToolChangeを"AutoTool Changer"を選択しておくと、GコードでM6(ツールチェンジ)が出てきた際に、予め別途用意(定義)しておいた"M6Start/M6End"マクロを呼び出すことができるようです。
これを設定して置かないとダメですね ? (^^ゞ
Re: ほんのチョッピリ進展 - indiana 2010/09/05(Sun) 22:45 No.2971 はい、ツールチェンジコードが出てきた時にMachから「マクロさん、この処理おねがーい」とマクロが呼び出されるように、予め組み込んでおきます。
実際の設定作業では2段階となります。 1.マクロファイルを指定の場所に移す(コピー) Mach2をインストールすると、プロファイルはたぶん2個用意されます。(Mill=フライスとTurn=旋盤) 今回の件ではMillを使っていますので、マクロを置いておくべきフォルダは C:\Mach2\macros\Mach2Mill となります。
2.次に1.で設定したマクロ本体をちゃんと呼び出してもらう設定を行います。 Config>Logic>Logic ConfigurationのTool Changeの部分で設定します。 設定値は以下の選択になります 「ツールチェンジコードが出てきたら?」 ・Ignore Tool Change/デフォルトの設定で、出てきても無視します。 ・Stop Spindle. Wait for Cycle Start./(Machからコントロールされていれば)スピンドルを停止してコード実行を中断します。手動でツールチェンジするときに使うのでしょう。余談ですが、この選択時はMachは再開の際にM6End.m1sマクロを呼び出します。ここに仕掛けをすれば手動交換の機械でツールセッターは自動化したい際に使えると思います。 ・Auto Tool Changer/今回設定する選択肢です。この選定によって初めてM6Start.m1sをMachが呼び出すようになります。 ---- 書くのに時間かかって再投稿してたらすでにお気づきになっておられました。しつこい表記になっていますが、そのままにしておきますー。 ---- 見直していたら先のマクロ中いい加減(無理解でした)な部分がありましたので、修正をおこないたいと思います。しばし時間をください (ぼやき:Mach2がタイミングによってG49指定を飛ばす。どうやって逃げようかな。Mach3は通じるのに。) 動作については、追伸のほうがやりやすいですね。 1.スピンドル止めてG53でZ0に移動 2.ツール信号出して、動作待機する ツール番号#1-4以外では信号出しと動作待機をせず手動再開を待って3.へ 3.ツール長さを差し引きした指定のZ高さまで移動(これは絶対/ワークを選べるようにしようと思います) 4.次のGコード実行を再開Re: ほんのチョッピリ進展 - YUSA 2010/09/05(Sun) 23:25 No.2972  はぁ〜い ヽ(^。^)ノ
意思疎通・完璧です・全くその方向でOKです。
>・・・・・しばし時間をください
もちろん了解です (^^)
ゆっくり本業に差支えが無いように進めてください。 私の方も、ここまできたら焦らずにジックリと配線の手直しなど、まだまだやる事がありますので進めてますネっ (^・^)
それでは、本当にお手数をおかけしますが、よろしくお願い致します。 Re: ほんのチョッピリ進展 - indiana 2010/09/06(Mon) 22:10 No.2980 マクロ頭の設定値は以下の意味になります、 UseAfterZ:別の行で設定するAfterZ値の扱いを指定します。 = 0 AfterZ値は使用せず、刃先をツールチェンジ前と同じにします = 1 AfterZ値をワーク1座標(G54)として刃先をその高さにします = 2 AfterZ値を絶対座標(G53)としたZ高さに移動します。刃先(ツール長さ)は考慮されません。
ToolMax:実装されているツール番号の最大値を設定します。 = 4の時にT5が指定されると、ツール番号0と見なしツールチェンジ位置(ToolChangeZ:絶対座標)まで移動した後停止します。 T0(ツール番号0)はMach内部ではリファレンスツール扱いとなり、ツール長は0で固定になります。 ツールチェンジを使用しない場合に、ツール長さを考慮しない今までの使い勝手が通用すると思います。
その他の動作変更: ・S値が0の場合、スピンドル回転を自動再開しなくなりました ・ツールチェンジ信号を出してからメッセージが表示されるようになりました(44,45行を入れ替えれば今までどおり)添付: 2980.txt
(3KB)
Re: ほんのチョッピリ進展 - YUSA 2010/09/07(Tue) 16:13 No.2983 〔indianaさん〕ありがとうございます。 ヽ(^。^)ノ
早速やってみますねっ
@まず前回のお話のように再スタート(完了信号受付後)のZ値ですが ツール交換スタート時の刃の高さにツールオフセットを加味して戻すのであれば
>= 1 AfterZ値をワーク1座標(G54)として刃先をその高さにします
これを選択すれば良いのでしょうか? >Const UseAfterZ = 1 のままでOKと言う事でしょうか?
A次に"チェンジ動作を待つ時間"については >Const TimeOut = 10 この"10"を好みの時間に秒単位で変更すれば良いのでしょうか?
と・言う事は〔Const TimeOut〕以外は作って頂いた標準でOKと言う事でしょうか? ヽ(^。^)ノ
B後はGコードの必要な行に "M6 T1(T1〜T4)"を書き込めば良いのですね?
例えば下記のように ・ ・ ・ N5460 X28.I28. N5470 X-7.781Y-28.196I-29. N5480 X-5.012Y-28.817I7.781J28.196 N5490 G00Z1.
N5495 M6 T1 ←
N5500 (Layer="CAM02" start) N5510 X0Y-38.25 N5520 G01Z-0.15F50. N5530 G03J38.25F600. N5540 G01Z-0.4F50. ・ ・ ・Re: ほんのチョッピリ進展 - YUSA 2010/09/07(Tue) 17:30 No.2984 追伸
>Const UseSerial = False 'シリアルポートで使用するしない(しない場合OUTPUT3-6)
今回の増設パラレルポートの場合は"False"の分部を"OUTPUT3-6"に書き換えるのでしょうか? Re: ほんのチョッピリ進展 - indiana 2010/09/07(Tue) 18:59 No.2985 ・UseAfterZ設定値 はい、前回のおはなしの中で出ておりましたので、添付のものは最後刃先がワーク座標+20になるようにUseAfter=1になっています。
・TimeOut値 YUSAさんのご理解のとおり、実機の所要時間に合わせて秒数にて設定してください。3600(1時間)とかに設定してもいいですよ(笑。その場合通知信号を1時間見張って返事がなければエラー停止します。
・ツールチェンジコード 仰る通りです。工具替えを行う箇所に記述を行ないます。 同じ行内であればM6とT1は逆順の「T1 M6」でも良いようです。行を跨いで N0001 T1 ←ツール番号1を指定 N0002 G53G90G00Z10 ←命令を挟んでみます N0003 M6 ←実際に1番ツール交換開始 のような記述もでき、Gコードの予令・動令則が通じます。
・UseSerial値 これは当初私が想定していたシリアルポート経由でPLCへの指示を出す部分を残してあるのですが、それを使うか今回のパラレル信号を使うかの選択を行ないます。 設定値は"True"か"False"の2つになります。 YUSAさんはパラレルポートを使うので"False"にしてください。もし他の方がこのマクロを使用する場合に、パラレルポート増設無し+シリアルポートが考えられますので残してあります。"True"値を設定すると、シリアルポートに"Tool#1"のように出力されます。
前回の添付のものの初期値は、YUSAさんの環境で"TimeOut"だけを実機に合わせて変更していただければ、動くだろうという設定値になっています。(私の想定が合っていれば・・・ですが)Re: ほんのチョッピリ進展 - indiana 2010/09/07(Tue) 20:10 No.2986 YUSAさんが示された設定であれば、あとはマクロがうまく起動すれば信号は出ると思います。 安全のためパラレル2とPLCへの接続を切り離し、パラレル2の3ピンにテスターを当てておいてください。(GNDはパラレルポートのシェルや18-25ピンでよい) パラレル2の10ピンとGNDの間をショートできるプッシュスイッチなどを繋ぎます。(ご使用のARENAの基板はピンがプルアップされていますので短時間であればこれで入力テストできます)
1.Mach2を起動し、Offsets Alt5画面がやりやすいかな・・・DRO表示選択は機械座標(以下ABS)"Machine Coord's"が良いかと思います。 動作確認のためあらかじめ少しZ軸を下げておきます。(ABSで-50.00くらい?) RESET上のMDIボックスに"M6T1"を入力してEnterします。 メッセージボックスに"Now Moving to Tool Change Position."が出ればマクロの起動設定が反映されてマクロが起動している証拠となり第一段階クリアです。 同時にZ軸がABS 0(ToolChangeZ値)に向かって動き出すはずです。
2.ABSが0になると同時にパラレル2の3ピンが3秒間出力されます。接続したテスターで確認できます。上の発言で論理をLow=Active設定としておられますので、3秒間Lowになるはずです。これで第二段階クリア。
3.メッセージが"Now Progress, Change to Tool #1"に変化し通知待ちになります。 ピン10に接続したスイッチを押すと"Tool #1 Selected"に変わりZ軸が復帰を始めます。これで第三段階クリア。 もし、"TimeOut"値で設定した秒数内にスイッチを押せなかった場合は"*Tool Change Failed,Because TimeOut.*"になります。 また、スイッチを押してないのに即座に"Tool #1 Selected"が出る場合はOEMTrigger1の論理設定が反転している可能性があります。
4.1.でMDIボックスに入れるコマンドを替えて4,5,6ピンについてもテスターで確認します。 "M6T2"→2.で出力されるのは4ピン "M6T3"→2.で出力されるのは5ピン "M6T4"→2.で出力されるのは6ピン これでマクロとピン設定の確認は完了になります。 変な動きをしてなければ、PLCを接続してみてください。たぶんだいじょぶです。Re: ほんのチョッピリ進展 - YUSA 2010/09/07(Tue) 20:37 No.2988 〔indianaさん〕本当にありがとうございます m(__)m
本件から離れますが・・ 今回のご教授といい、ご説明の細かさといい・・・ 私の目指している"技術者"の肌の匂いがされます。 常日頃から私が目指している第一の事は、技術者たるもの片言の相手のニーズを汲み取り相手の満足のゆく結果を提供する・・・と・言う事です。
一般的な・・・ちょいとカジリの技術者は自分の拙い技術を一方的に拙い専門用語で押し付け気味ですが、本当に熟知した至高の技術者は"素人"にも理解できる優しい言葉(語句)を使い相手に理解させる事ができるものだと思います。
そして私も・・それを求めているのですが・・・まだ・なかなかデス・・(^^ゞ
その点〔indianaさん〕の相手(今回は私)に対する読解力と細かな説明力は正に私の求めている技術者の真髄ですね (^。^)
私も〔indianaさん〕に近づくべく精進しますねっ (^^ゞ
ハイ・・そんなんで本題に戻ります。 諸々・・了解です。 ご教授のとおりやってみますね。
ところで・・ツールチェンジでマクロが働き出した時に〔ツールオフセット〕などを行う時・Machの〔ツール・テーブル〕を参照するのでしょうか?
もし、そうであればツールテーブルの設定は添付画像のようなもので良いのでしょうか?
Re: ほんのチョッピリ進展 - indiana 2010/09/08(Wed) 19:27 No.2996 はい、ツールテーブルのツール長さをちゃんと設定しておくと、ツールが変わってもGコードを書く際にG54(WORK#1)座標高さが変わらず(気にせず)書くことができます。
図で上は補正を行わない場合です。材料の上面が0とします。 この場合、#1から#2番目のツールにすると、G54で0でも実際の刃先は+5のところになり、切削命令ではZ-5が材料面として考えなくてはいけなくなります。 #1から#3にしたときはZ-8、#4ならZ+3が・・・Gコード書くときは大混乱ですよね。
図の下は工具長補正を用いています。 刃の長さの違いは、Z軸の絶対値側で吸収させてしまい、G54座標ではどの刃物に交換しても材料上面は常にZ0として扱えます。 使う刃物の長さが変わっても、ツールテーブルに正確な値を設定すれば勝手にやってくれます。
この補正はチェンジャーが無い環境でも刃物交換時や切削開始時に日常的に行っていることですよね。(手動やゼロセッターでワーク座標をオフセットすることで)
これらはG54(ワーク1座標で)Z+20にセットして、20mm下が材料面としても大丈夫です。(20mm丸棒でのセット法で刃先を一度合わせればどの刃物に変えても常に20mm下が材料面として扱える)
もちろん工具補正コードはGコードなので、Gコードリストに埋め込んでもいいのですが ・刃が摩耗したので交換した ・他の機械に流用する といった時には書き換えが必要になります。 交換マクロ側でやってしまえば、Gコードリスト側は楽になります。
脱線: 今回のマクロではスピンドルの扱いもそのような方針で、ツールチェンジコードの後にM03を入れなくても、スピンドルを再開させるようになっています。 実はM6Start.m1sが呼ばれると、マクロに制御が来る前にMachが勝手にスピンドルを止めます。が、再開は自動ではないのです。(工具径が変わってスピンドル速度を変えることを考慮してあるのかな??) 既存のコードリストに1行追加すれば、ひとまず流れるにはこのほうがいいかなぁと思っておりました。
脱線復旧: ツールテーブルに設定する工具長は、 ・基準工具を何か定めてそれに対する+-相対値・・・現在のYUSAさんの設定値ですね ・コレットやテーパーを基準にした+値(突き出し量とでも表現するべきでしょうか) が考えられると思います。-値うまく動くかなー?と思って追試してみると、それらしく動いてますので、どちらでも良いと思います。
Re: まずは御礼から - YUSA 2010/09/08(Wed) 23:07 No.2997 〔indianaさん〕こんばんは〜 (^。^)
まずは御礼申し上げます m(__)m
作って頂いた〔マクロ〕を入れて実機テストを行いましたところ
〔M6 T3〕を読み込んだところ無事主軸は停止して〔機械原点(絶対原点)〕に移動して〔T3(ツール#3)〕の信号を送出しPLCがそれを受けてツール交換しPLCが〔完了信号〕を送出し、それを〔Mach2〕が受けて主軸の回転を再開し元の位置に下がり切削を再開し、めでたくプログラム終了となりました。
全くご教授の通りの完璧な動作です。 ヽ(^。^)ノ
本当にありがとうございます m(__)m
後は色々な条件で動作テストしてみてPLC側のシーケンスをチェックしてみます。
Mach2の動作は完璧です ヽ(^。^)ノ
さて、本題の〔ツールテーブル〕の設定の反映(オフセットの反映)は週末にテストしてみますね。
例題の私の設定は まず切削開始時に取り付けた〔T1〕でZ値を設定しますので、それを基準の"0"にして後はT2〜T4のツールの刃物長が、その基準であるT1にたいして何ミリ長いか短いかを設定してみたものです。 例ではT2は基準ツールT1に対して"5mm"短いので -5.0と入力してみました。
・・・・・このような考えで良いのですよねっ ?Re: ほんのチョッピリ進展 - indiana 2010/09/08(Wed) 23:47 No.2998 動作成功との由、まずはおめでとうございます!! (よかったー)
ツールテーブルの設定についてですが、仰る通りの考え方で良いと思います。 上の図も先にお示しいただいた T1=0(基準) T2=T1より-5.0mm短い T3=T1より-8.0mm短い T4=T1より+3.0mm長い で描いてあります。(下の細長いとこに斜め線描いとけばエンドミルとコレットキャップにみえたか?と反省)
また、マクロ動作にあやすい動きがありましたらお知らせいただければ、、、と思います。
|