People tell me they love their Bridgeport DX32 controls. There’s a small but vocal minority of folks still using them, and the DX32 topped the list of requested Post upgrades on our recent G-Wizard G-Code Editor Survey. So, I rolled up my sleeves and over the last 2 releases of G-Wizard Editor, I added a bunch of things to the post that deal with the unique g-code dialect of the DX32. In case you thought g-code is just g-code, here are some of the “big ticket” items I tackled:
The DX32 uses what I call “Triple Z’s” on the drilling cycles. In other words, there are three Z-words in the block that specify:
– Hole depth
– First peck amount
– Remaining peck amounts
For most controls, repeating a word on a line is an error. Not so the DX32 and its “Triple Z’s”.
Fanucs and many other controls use a subprogram syntax most g-code programmers are familiar with. But the DX32 does something completely different:
“#” is used to identify subprogram numbers. So “#32” is like “O32” on most controls.
“=#” calls the subprogram. “#=32” is the same as “M98 P32”.
“$” signifies return from the subprogram just as “M99” does on Fanucs.
I’m sure there’ll be more things from my DX32 users, but this moves the ball considerably closer.
FWIW, here’s what the actual post looks like in the file:
#include = postFanucMill.pst;
Comment = “Bridgeport DX-32”;
Name = BridgeportDX32; Word.A = ->5.>3;
ArcOptions.AutoIJK = false;
ArcOptions.IncrementalIJ = false;
Cycles.CycleROptional = true;
Cycles.DrillDepthStyle = 1;
Cycles.CycleIncrZ = true;
FullLineComment = “%;'”;
Macros.SetVN = false;
Word.F = >3[.]>1;
Word.G = >3 0;
Word.M = >2 0;
Word.N = >8 0;
Word.O = >4 0;
Word.R = ->3[.]>4;
Word.S = >5 0;
Word.T = >2 0;
Word.X = ->3[.]>4;
Word.# = >2 0;
MCodes.M20.Hint = ‘Spindle Orient OFF’;
MCodes.M20.Parameters = ”;
MCodes.M20.Enabled = ‘ignore’;
MCodes.M20.Uses = ”;
MCodes.M20.CodeType = ‘M-Code’;
MCodes.M20.Notes = ”;
MCodes.M98.DX32Replace = true;
This is not too hard to read. You can see the various “Word.<letter>” commands set up the exact allowed syntax for each Word and Address combination. This is a common source of differences for controls. “#include” means to start with some other post so we can just tell what’s different from the other post. In this case, we start from a Fanuc post. Then we have a long series of “Post variables” that set up how things work. These are the same Post variables you change under “Setup Post”.
You can see we have one specialized M-code definition for “M20”. It’s an M-code that was in some sample code that was sent to me that was showing an error message. It’s very easy in GW Editor to simply ignore either a G-code or an M-code but still give it a useful Hint. In this case, “Spindle Orient OFF” doesn’t affect the backplot in any way so this is a good way to handle the “M20” code for this post.
Just wanted to give an idea of how the Posts work. I’m still adding new Posts to GWE. Next up is LinuxCNC which was the second most highly voted after the DX32.
Like what you read on CNCCookbook?
Join 100,000+ CNC'ers! Get our latest blog posts delivered straight to your email inbox once a week for free. Plus, we’ll give you access to some great CNC reference materials including:
- Our Big List of over 200 CNC Tips and Techniques
- Our Free GCode Programming Basics Course
- And more!
Just enter your name and email address below:
100% Privacy: We will never Spam you!