|
先日作ったスクリプト。
本日早速問題が出たので修正。
問題はプログラムによっては工具交換指令を受け付けない、高さ違いのワークに交換して数値を入力しても反映されなかった等。
これで解決。
勝手に命名
「Auto Surface」
==========
Rem VBScript To probe top edge
If GetOemLED (825) <> 0 Then
DoSpinStop()
Code "(The probe is already gournded.)"
Else
z = GetUserDRO( 1202 ) 「Z軸の原点に戻る」
Code "G0"
Code "G53Z" & Z
Code "G4 P1"
Code "(Finding surface...)"
Code "G53 X176.3 Y-11.5" 「ツールセッターの絶対座標XとY軸」
Code "G4 P1"
Code "G53 Z-127" 「ツールセッターの絶対座標Z軸」
While IsMoving()
Wend
End If
If GetOemLed (825) <> 0 Then
Code "(Probe plate is grounded, check connection and try again)"
Else
Offset = 7.88 ' Tool setter Hight to surface 「ツールセッターと加工面との高さ」
Hight = 30.20 'WCS Hight to surface 「ワーク高さ 加工開始前に変更すること」
ZOffset = - (Hight - Offset) '+ WCS Hight + Offset, Will possition the Proble over the Material.
ZCurrent = GetOemDro(802)
Code "G4 P1"
Code "F160"
ZNew = ZCurrent - 73
Code "G31 Z" &ZNew
While IsMoving()
Wend
ZPos1 = GetVar(2002)
Code "G0 Z" &(ZPos1 + 1.0)
Code "G4 P1"
Code "F10"
ZNew = ZCurrent - 73
Code "G31 Z" &ZNew
While IsMoving()
Wend
ZPos2 = GetVar(2002)
Code "G0 Z" &ZPos2
While IsMoving()
Wend
Call SetDro (2,ZOffset)
End If
Code "G4 P1"
Code "G0"
Code "G53Z" & Z 「絶対座標Z0へG0で移動」
Code "F1100" 「指定速度へ復帰」 ============
コピペで使えるけど、使うときは 「日本語」 を消してネー。
ただ、加工プログラムによっては時々回転指令を飛ばしたりすることがあるので実際に使う時は気をつけてネー。。。
理由は不明。
誰か修正したら教えて。。。
|
雑多的な何か
[ リスト | 詳細 ]
|
何を思いついたのか、勢いで作ってみた。
何がどうなのかwww
とりあえず説明。
切削工程で切削工具を交換する必要があるのは当たり前。
マシニングセンターではATCという自動でツールを交換するシステムがある。
しかしながら自作系CNCや通常のNCフライス等ではATCを積んでいるものは少ないのぜ。
なので、いちいちツール交換後はZ軸の刃高を測定し、入力してから次の切削工程に入るわけなのだけど、これを自動化できたら良いんじゃね?ということで考えた(笑)
要はATCでツールチェンジ後、自動で刃物を測定し、自動入力して次の工程に入る部分の、ツールチェンジ以外を自動化してしまおうというね。
何度かテストして使えるようにしてみたよっと。
ひとまず実用する前に実際のテーブル面とツールセッターの高さ校正をするところから始まる。
ツールセッターの位置はあらかじめ決めておき、実際の機械原点からの座標を測定し、マクロに入力してやれば、どの機械でも使用可能なはず。
Z軸の設定がちょっと厄介なんだけど、加工プログラム上で一番長い刃物長+2mm程度の座標を入力しておけばOKかと。 これが出来たらMach3側の設定をハンドツールチェンジに変更すれば使用準備完了。
あとはGコードのプログラム上でツールチェンジ指令が来たら、勝手に切削工程を一次中断し、ツールチェンジのために機械原点に戻り、スピンドルが停止します。
そしてツールチェンジ後に再スタートボタンを押すと、勝手にツールセッター上空まで移動、マクロどおりに刃物を測定、自動で原点に入力、そのまま次の加工工程に移行しますw
一応、連続加工工程になるので、加工原点が共通点となりますが、それなりにプログラムが組めていればワークを取り外さない限り、X,Yの加工原点は維持され、ツール交換ごとにZ軸の原点のみ更新していきますw
こんなマクロ↓
====================
If GetOemLED (825) <> 0 Then
Code "(The probe is already gournded.)"
Else
Code "(Finding surface...)"
Code "G53 X185 Y-20" 'ツールセッターの位置を入力
Code "G4 P1"
Code "G53 Z-150" '最長刃物長先端のZ軸座標
While IsMoving()
Wend
Call SetOemDro (802,0)
End If
Rem VBScript To probe top edge
If GetOemLed (825) <> 0 Then
Code "(Probe plate is grounded, check connection and try again)"
Else
FeedCurrent = GetOemDRO(802)
ZOffset = 14.90 ' ツールセッター接点とテーブル表面までの高さ
ZSal = (ZOffset - 0.00) '数字の部分に捨て板等の厚さを入力、何もなければゼロのまま
ZCurrent = GetDro(2)
Code "G4 P1"
Code "F100"
ZNew = ZCurrent - 75
Code "G31 Z" &ZNew
While IsMoving()
Wend
ZPos1 = GetVar(2002)
Code "G0 Z" &(ZPos1 + 1.0)
Code "G4 P1"
Code "F10"
ZNew = ZCurrent - 75
Code "G31 Z" &ZNew
While IsMoving()
Wend
ZPos1 = GetVar(2002)
Code "G28 Z0"
Code "F" &FeedCurrent
Call SetDro (2,ZSal)
End If ===============
日本語の部分を消せば使えるはず。
Mach3フォルダ内のマクロ、M6END m1s ファイルを編集して使用するのぜ。
間違って変な動作しても知らんよ?(笑)
うちのはこれで動くw
むしろ間違ってたら直して。そして教えて(笑)
|
|
昨日から仕事してますけど。
っていうか、時間あるときは設計したりしてましたけどね。
今回は西に北に移動しまくり、総移動距離が2000kmを超えましたわ(笑)
そして金も使いすぎたww
ま、嫁実家込みの家族サービスみたいなもんだから良いけれど。
で、挽回すべく、コレ↓作るわ(笑)
他にも
全部燃焼室が取れる仕様。
そして全部の燃焼室が使いまわし可能。
何用なのかは使ってから公表するっぽい。
下のはうちのやつなのでコレは判るっぽい?
上のはレースで使うので結果出るまでは内容は公表無しなのぜw
集中して製作するっぽい。
他にもいよいよテスター用のPJSCを組み立て中。
うまく行けば本当に年内に販売可能かも。
他にも製作物多数。
ちょっと本気出すっぽい。
。。。たぶんね!!!
|









