Machsupport Forum

Mach Discussion => VB and the development of wizards => Topic started by: jetrebel on June 15, 2017, 06:03:37 PM

Title: Help with a macro issue please
Post by: jetrebel 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

Title: Re: Help with a macro issue please
Post by: jetrebel 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!
Title: Re: Help with a macro issue please
Post by: jetrebel 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?

Title: Re: Help with a macro issue please
Post by: jetrebel 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
Title: Re: Help with a macro issue please
Post by: jetrebel 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
Title: Re: Help with a macro issue please
Post by: Tweakie.CNC 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.
Title: Re: Help with a macro issue please
Post by: TPS 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
Title: Re: Help with a macro issue please
Post by: jetrebel on June 21, 2017, 03:10:54 PM
No but I will and get back to you. Thanks for your input.

Jason