Mach3turn offsets + TC macro

Vragen die je boven niet kwijt kunt, kan je hier stellen.

Moderator: Moderators

Plaats reactie
FSSF
Berichten: 880
Lid geworden op: 07 jun 2011 22:20
Locatie: Den haag

Mach3turn offsets + TC macro

Bericht door FSSF »

Het is weer een lekker gevecht, ik blijf problemen houden met mach3turn en dan met name de tooltable met bijbehorende offsets. Het ''inmeten'' van de gereedschappen leek bijna niet te doen, vreemde waardes die werden ingevuld na het aanklikken van de ''touch off'', reden hiervan is mij nog steeds onduidelijk. Heb nu vier gereedschappen met juiste waardes er in staan, nu lijkt Mach3 de offsets echter niet goed op te pakken.

Programmaatje voor draadsnijden met T4, gereedschap wordt gewisseld en gaat naar het startpunt. Startpunt klopt niet want het lijkt erop dat de offsets van T1 nog gebruikt worden. Zodra ik handmatig op het scherm de tool wissel naar T1 (enkel het cijfer in de rode cirkel) blijft de offset namelijk gelijk, wissel ik deze terug naar T4 dan klopt de offset wél.

Afbeelding

De macro voor de gereedschapswissel is niet alles maar mij lijkt dat als er naar gereedschap nummer vier gewisseld wordt en op het scherm ook nummer vier staan aangegeven dat het toch zou moeten werken.

Iemand een verklaring?

EDIT:

Denk dat het toch te maken heeft met de TC macro. Omdat de wisselaar geen positiesensoren heeft wil ik dat voor elke wissel de wisselaar gehomed wordt zodat deze elke keer een verse referentie heeft. Na het homen wordt ook T1 ingesteld.

Iemand die mij om weg kan helpen dat de macro wat beter werkend te krijgen? Het is een macro ergens van het forum hier met wat aanpassingen.

DoOemButton(1025)

SetOEMDro(1024,1)


If IsLoading() Then
'Do Nothing, program loading


Else






' Dim Variables


Dim Num_Tools As Integer
Dim CW_Steps_Per_Tool As Integer
Dim CCW_Steps As Integer
Dim HoldingDRO As Integer
Dim Requested_Tool As Integer
Dim Current_Tool As Integer
Dim CW_Feed As Integer
Dim CCW_Feed As Integer


'Dim moves As Integer
'Dim total_move As Integer




' set up some vars


Num_Tools = 4
CW_Move_Per_Tool = 350/Num_Tools
CCW_Move = 25
HoldingDRO = 1050
Requested_Tool = GetSelectedTool()
Current_Tool = GetCurrentTool()
CW_Feed = 3000
CCW_Feed = 2000
Current_Feed = GetOEMDRO(818)




' start tool change


Message ("Requested Tool No=" & Requested_Tool)


If Requested_Tool > Num_Tools Then
Message "Requested Tool No. too high, program stopped."
' do nothing"
End
End If


If Requested_Tool < 1 Then
'Message "Requested Tool No. too low, program stopped."
Code "M30"
End
End If

If Requested_Tool = Current_Tool Then
Call SetDro(24, 1)
DoOemButton(1025)
' do nothing
Else
' lets do some changing

If Requested_Tool > Current_Tool Then Call SetDro(24, 1)
DoOemButton(1025)




While IsMoving()
sleep(2)
Wend


total_move = ((Requested_Tool - 1) * CW_Move_Per_Tool)+(CCW_Move/2)



SetCurrentTool Requested_Tool




'Move to safe position
Code "G0 G53 Z-1 X-.25"
'Pause for 1/2 second
Code "G04 P0.5"


Code "G91 G94" 'incremental & Feed per minute
Code "G01 A" & total_move & " F" & CW_Feed
Code "G01 A-" & CCW_Move & " F" & CCW_Feed
While IsMoving()
sleep(10)
Wend


SetCurrentTool Requested_Tool
SetUserDRO HoldingDRO, Requested_Tool
Code "G90" ' back to absolute movement
Code "F" & Current_Feed
End If
End If


' end of tool change
Plaats reactie