View Full Version : Zero routine off the bed
Have seen numerous examples of Zzero methods here and in web columns. The super zero block looks interesting, though I believe i'd like to try either an aluminum post level with the bed, or the caliper method .
The catch is that I'd like to place it outside the table limits for ease of bit changes and zeroing within a multi-tool change part file. I've grown attached to zeroing to bed vs material when processing plywood, but find an excessive amount of keypadding around the workpiece and over to a neutral part of bed is going on, plus too many inconsistencies in the resultant zeroing - (lots of pausing and nudging afterward).
In a July 2012 thread regarding this topic, Adrian Matthews shared his method of zeroing off table and stated:
"I have a variable set in the PostProcessor that feeds into the Manual Tool Change routines which then knows which ZZero routine to call depending on whether the bit is zeroed to the surface or the bed."
I'm more than ready to switch to this method, but I guess I simply need someone to spell it out. I think I understand what the post-processor is/does, but certainly don't feel bold enough to just go in there and start hacking away.
Any input is appreciated.
jeff
adrianm
05-13-2013, 12:27 PM
I have this line:
"&PWZorigin = [Z_ORIGIN]"
in the HEADER section of the Post Processor.
I then check the value of that in a customised version of the MTC.SBP file to work out whether to use the standard C2 zzero routine or call the version that goes to my "off the table" zzero bar.
' PWZorigin is set in the Post Processor
&zero_to_bed = 0
If &PWZorigin = "Table Surface" Then &zero_to_bed = 1
and later on
ZERO_Z:
If &AreadyZeroed = 1 Then Goto FINISH_ZERO_Z
SO,4,0 ' Turn #4 Off then on to force message to press start
Pause .5
SO,4,1
If &zero_to_bed = 1 Then Goto ZERO_TO_BED
FP, C:\SBPARTS\FD_ZZERO.PLATE.SBP ' modded C2 routine
FINISH_ZERO_Z:
Return
ZERO_TO_BED:
FP, C:\SBPARTS\FD_ZZERO.BAR.SBP
Return
That allows me to not worry about which routine to run as SB3 calls the right one for me depending on what I've set the toolpath to.
Of course I can run the ZZERO_PLATE (C2) and ZZERO_BAR routines separately. Basically all I did with those was to tell the Shopbot setup routine that I always wanted to zero at the same place on the table (where my bar is). My modded C2 routine ignores those values and the ZZERO_BAR routine doesn't.
Lots and lots of different ways of doing it. Some a lot simpler and some a lot more complex. This way suits my workflow.
Adrian,
Thanks for the response!
Are you simply replacing that first line of code that appears in the header with what follows?
Trying to get my head wrapped around these "easily" modifiable open source codes via the SB manual and the Vectric editing guide. Usually can follow such written instructions, but evidently I need a foundation course in programming before I can really start customizing things for my bot.:(
At very least, I know one can dictate a favorite Zzero location in control software settings, but how to deal with hitting limit switches, which inevitably results in losing X,Y coordinate accuracy?
adrianm
05-13-2013, 01:51 PM
I always zero my machine using the C3 routine at the start of the day. If I have an issue that triggers a stop or I hit a switch I always do the C3 again to make sure that the base co-ordinates are set properly.
Might be overkill but that way I know when I run the zero routine I don't need to worry about it not knowing where the bar is.
The underlying question still is: aren't you going outside those limits every time you Zzero? (thereby triggering a limit switch fault in the process)
I'm sure you're not C-3ing after each ZZero, correct?
Is your Zzero point within the default -.50" (-12mm) margin?
Should I alter location of prox switch targets and change the X/Y zero offset to a higher number to create a larger "margin" around workpiece, thereby eliminating an unwanted triggering of the proximity switch?
Thanks for all your help, Adrian
adrianm
05-13-2013, 02:41 PM
My limit switches are set outside the area where the bar is located so I don't trigger them when zeroing.
When I set the machine up I moved the stop blocks out as far as I could on the X and Y axis and then I set the limit switches about 10mm back from there.
I'll work it that way as well. Thanks again!
jeff
srwtlc
05-13-2013, 03:30 PM
If you can't get your prox switches out beyond where you want to zero, you can temporarily turn them off and then back on within the file with a VN,0 'Limits Off and VN,1 'Limits On.
Better if you can though.
Powered by vBulletin® Version 4.2.2 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.