Page 1 of 1

Post Processors - in depth (If statements?)

Posted: Wed Feb 01, 2017 10:56 pm
by frare bear
Hello again :)

I've had good success modifying my post processors to move spindle 1 or spindle 2 (spindle one runs of x,y,z signals, and spindle two runs of x,a,b signals).

However, now I'd like to streamline things and get one post processor that can determine which spindle it needs to move, and output the appropriate code. Essentially I just need an "If" statement within the post processor... If tool one is equipped, output x,y,z and if tool two is equipped, output x,a,b

Does anyone have any experience with something like this? I feel like it might be somewhat similar to tool change programs, so I'm about to dive into those and see what I find.

Is there a specific language it's written in? Lua?

Thanks for any feedback!

Re: Post Processors - in depth (If statements?)

Posted: Thu Feb 02, 2017 9:42 am
by Adrian
It's the language that your machine uses rather than the post processor code in this case. From your profile it looks like you have a ShopBot in which case it's very easy. You can call ShopBot routines directly from the Post Processor and embed any SBP programming code directly into it as well.

This the header from my own customised ShopBot PP which has a couple of IF statements in it. The SBP language is pretty primitive when it comes to control flow but you can get by with it. Note that the [34] is the ascii code for double quotes as the SBP language needs the quotes but they have to be embedded within quotes for the PP language.

Code: Select all

"Print [34][TIME] - [DATE] - [ZLENGTH]mm[34]"
"Print [34]Z Origin  = [Z_ORIGIN][34]"
"IF %(25)=0 THEN GOTO UNIT_ERROR	'check to see software is set to standard"
"IF [XLENGTH] > [YLENGTH] THEN GOTO XDOM"
"Print [34]Short edge on long axis.[34]"
"GOTO YDOM"
"XDOM:"
"Print [34]Long edge on long axis.[34]"
"YDOM:"
"SA                             	'Set program to absolute coordinate mode"
"CN, 90"
"Print [34]Toolpath Name  = [TOOLPATH_NAME][34]"
"&PWZorigin = [Z_ORIGIN]"
"&PWMaterial = [ZLENGTH]"
"&ToolName = [34][TOOLNAME][34]"
"&Tool = [T]"
"C9"
"TR,[S],1"
"C6"
"MS,[FC],[FP]"
"JZ,%(28)"