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:
Triple Z’s
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”.
Subprogram Syntax
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!
Bob
Now you have my interest.
Because I have a Bridgeport 308 with the DX32 control and hope you continue working on this.
Should you need a copy of the programing manuals I would be willing to send you
a copy if they would help you with the DX32 programing.
Lance Marczak
Hi Lance, got the programming manuals. Mostly, I just need feedback and sample code to guide further progress. Email me directly if you have any.
Best,
BW
Hi Bob,
This is great news – and GWE is behaving much better now.
The M20 is a move to table clearance position, and wait for the operator to hit start again before continuing.
One minor correction, while the subroutine begin define is “=#1” the call is just plain “#1”
Hope that helps!
oops, crud, reverse that comment please! plain old “#1” defines the macro, and “=#1” calls it. Sorry, it’s Sunday and I shouldn’t be working. !! 🙂
Felipe, I’m not your man. You need to find someone who works on DX32’s. They’re out there.
Track down whoever used to sell them in your area, for example.
Felipe,
Check with the guys at EMI, http://www.emi-inc.net They procured all of the old Bridgeport parts when Bridgeport went under, and also have techs available with over 30 years of experience working on Bridgeports. They have been invaluable. Plus, they have the latest software upgrades, replacement circuit boards, etc. available.
Bulmaro Felipe
Make sure the emergency stop switch is not on or activated then
power down the CNC wait about 30 sec and power up the CNC
and see if the error is gone.then enable the drives then see if it will
home.
Hope this helps
if not give EMI a call like Bret posted.
Bob, I was doing some study on my DX 32 control today, and came across your stuff in the process.
Looking at the picture in this post,
The control panel has everything on it. I want one.
I am always jumping back and forth between the MDI knob on the machine and the keyboard to do every setup.
And as most of my stuff is one-offs… I spend a good deal of time just setting part zeros and TNO’s.
Thanks again,
Mark
Programming manual seems to be a joke. Spend more time trying to figure it out than running the machine.
Does anybody have a working sample of G81 or G181 CODE?
I’m looking for a post processor for Mastercam 2018. I use a Bridgeport Torq-cut 22 with DX-32 control. I’m having a lot of trouble while programing in mastercam with the generic post. Also i have trouble while trying to send programs through a 3.5″ disk, i get errors like “Reading disk error”. If you have a post for mastercam i will appreciate. My email is alejandromanriquezvaldez@gmail.com