Hello Guest it is March 28, 2024, 02:58:59 PM

Author Topic: Help with a macro issue please  (Read 2671 times)

0 Members and 1 Guest are viewing this topic.

Help with a macro issue please
« on: June 15, 2017, 06:03:37 PM »
I have a macro working a 8 position ATC on a Boxford 160 lathe. The problem is that sometimes maybe every 8th change or even every 2 changes the X and Y fail to move to the safe position prior to the change but the change still takes place :o In the message screen it shows " cannot use G53 incremental Block = G0G53Z0.0000

I can't see this G53 code anywhere in the macro (below) Can someone offer up any suggestions to why this is happening?

thanks
Jason

'This macro drives an 8 position stepper driven ATC.
'It drives forward past a ratchet, then backwards a little to stall the motor
'The Y axis is setup for 20 steps per mm, my ATC requires 900 steps per index
'of 45 degrees.
'Because of the stall, steps are lost. So, we switch to INC mode for the ATC,
'then back to ABS mode before we exit.


'OEMDRO(1200) is utilized to store the last used tool (OldTool) and is updated
'upon final execution of the macro. This is resorted to as the Txxyy will overwrite
'the "CurrentTool" DRO.
'The Y axis is zeroed if tool is Number1, to prevent an overflow of the DRO after
'multiple changes.


'M6Start.m1s
Message ("macro running")

OldTool = GetOEMDRO (1200)
Tool = GetSelectedTool()
MaxToolNum = 8 'Max number of tools for the changer

If OldTool = Tool Then
Message ("Selected Tool already loaded")
Exit Sub
End If

While Tool > MaxToolNum
Tool = Question ("Enter New Tool Number up to " & MaxToolNum)
Wend

xval= getoemdro(800)   'get x
zval= getoemdro(802)   'get z
Call Dooembutton(138)
While IsMoving()
Wend


moveto = Tool- OldTool

If moveto<1 Then moveto=8+moveto

code "G91"   'inc mode

code "G00 Y"+Str((moveto*45)+5)
While IsMoving()
Wend


code "G00 Y-5"
While IsMoving()
Wend

code "G01 Y-2 F100"
While IsMoving()
Wend

code "G90"   'abs mode

NewTool=Tool
If NewTool=1 Then
Call DoOemButton (1009)      'zero Y
End If


Call SetUserDRO (1200, NewTool)
SetCurrentTool(NewTool)
code "G0 Z"+Str(zval)      'return to initial position
code "G0 X"+Str(xval)      'before tool change
While IsMoving()
Wend

Re: Help with a macro issue please
« Reply #1 on: June 15, 2017, 08:04:46 PM »
After some testing I have found a pattern to this problem but I'm no closer to understanding why it's happening.

 It seems that on every 8th turret index I end up with the  "cannot use G53 incremental Block = G0G53Z0.0000" So, this could be two tool changes for instance tool from tool 7 to 6 and then 6 to 7 so eight indexes in total I'll get the error message.  Or 3 to 4 then 4 to 5 then 5 to 6 then 6 to 7 then 7 to 8 then 8 to 1 then 1 to 2 then on the 2 to 3 I'll get the error message. what ever happens on the 8th tool position I'll get the message and the XY won't move to safe position but the change still happens.

Help!
« Last Edit: June 15, 2017, 08:10:03 PM by jetrebel »
Re: Help with a macro issue please
« Reply #2 on: June 15, 2017, 09:12:18 PM »
OK some further information that may help someone to help me!!!


It seems the cause in this part of the macro:

NewTool=Tool
If NewTool=1 Then
Call DoOemButton (1009)      'zero Y
End If


 Where is says "If NewTool=1 Then"  I changed the number 1 to 999 and the macro seems to work fine but of course the DRO is not resetting when tool 1 is selected so this will cause the DRO to overflow.

Does this give any clue?

« Last Edit: June 15, 2017, 09:17:06 PM by jetrebel »
Re: Help with a macro issue please
« Reply #3 on: June 15, 2017, 09:32:16 PM »
OK some further information that may help someone to help me!!!


It seems the cause in this part of the macro:

NewTool=Tool
If NewTool=1 Then
Call DoOemButton (1009)      'zero Y
End If


 Where is says "If NewTool=1 Then"  I changed the number 1 to 999 and the macro seems to work fine but of course the DRO is not resetting when tool 1 is selected so this will cause the DRO to overflow.

Does this give any clue?



Edited to add that it seems to work fine as long as the number in the line "if NewTool=1 Then" is above 8.

Surly this must me giving someone an idea??

thanks
Jason
Re: Help with a macro issue please
« Reply #4 on: June 16, 2017, 06:00:32 AM »
Sorry guys, I'm still in new to this so getting the Axis's confused. The Y axis is actually used for the turret and of course when I wrote  "X and Y" on the first post I should have wrote X and Z

sorry!

Jason

Offline Tweakie.CNC

*
  • *
  •  9,196 9,196
  • Super Kitty
    • View Profile
Re: Help with a macro issue please
« Reply #5 on: June 16, 2017, 07:40:02 AM »
Hi Jason,

I am sorry you are not getting any additional forum help with this - for my part, I have absolutely no idea but someone here on the forum must have some ideas ??

Tweakie.
PEACE

Offline TPS

*
  •  2,501 2,501
    • View Profile
Re: Help with a macro issue please
« Reply #6 on: June 21, 2017, 06:07:11 AM »
Hi,

have you tryed to use DoButton(9) insted of DoOEMButton(1009).
this button is used in the Standard Screen set.

Thomas
anything is possible, just try to do it.
if you find some mistakes, in my bad bavarian english,they are yours.
Re: Help with a macro issue please
« Reply #7 on: June 21, 2017, 03:10:54 PM »
No but I will and get back to you. Thanks for your input.

Jason