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.
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