What's new
What's new

FANUC CNC retrofit controller. Control relays, pumps, lights, valves. Interested?

EVX

Plastic
Joined
Dec 30, 2019
Location
Sheridan, IL USA
Long story short, 25 years ago I found that I could plug a buzzer into the back the M7 (coolant thru spindle) outlet on a Fadal VMC to use as an alarm at my convenience during the run of a Gcode program. I valued the buzzer going off about a half minute before the cycle ended, especially if I wanted to go home without missing a cycle that day.

I have been on Fanuc machines for many years since and I had to find a way to buzz a buzzer or get other auxiliary things done automatically while the program was running. A few years ago, I came up with a micro controller that listens to the COM port (RS232) and reacts to specific information sent from within the Gcode program. I currently use it to open and close an electrical relay to control an air valve for $$$ high tech end mills that need substantial air blast to run best.

I have been running my prototype controller since 2016 without any faults. Let me know if you are interested in such a device. I might as well build 10 while I build one... you know how that goes...

My main concern about trying to scale up any production would be the support involved in getting every end user up and running. I'll just see if anyone replies to this in the first place I suppose! I can provide support and gain info on how implementation goes.

This thing only works if you can DPRNT out the serial port. I know that most FANUC machines I own and have used can DPRNT to the 232 programming port.

Let me know if you are interested!

Thanks,

-Eric
 
This thing only works if you can DPRNT out the serial port. I know that most FANUC machines I own and have used can DPRNT to the 232 programming port.

And where do I check in the control to see if mine had it?
2nd on $?
 
So kinda like M codes, but only one way? Like you could run a light bulb or air blast, but you probably wouldn't tie it into an indexer or a something critical that needs a finish signal?
 
As for cost, I have yet to determine. I want to avoid plans, as they would likely take a fair amount of support with end users. That leaves me with selling a complete unit and slowly dealing with implementation bugs that I can't forsee. I'd estimate around $379 USD to get them all wired, boxed, programmed and tested. The hardware would be controller, RS232, relay to activate a solenoid air valve. I'm working on how to let the end user interface the unit to provide more functions at the moment.
 
So kinda like M codes, but only one way? Like you could run a light bulb or air blast, but you probably wouldn't tie it into an indexer or a something critical that needs a finish signal?
There would not be a finish signal but if a few seconds to spend you could use a M04 to wait for worst time response of the system.
Yes, you will be guessing that things outside went well and indexing 10 is a lot shorter than indexing 3600 degrees. (10 revs on purpose here if you need to index the gear train for accuracy)

The problem I see is that the port in most cases is already used by the CAD/CAM up/download.
So a box switch in run time? What if I do not flip that?

It is a great idea and 400 bucks is not unreasonable. Maybe add more outputs than one.
Will you drive ac and dc out and high and low currents? Cheap SSR boards get very handy here if your product has easy to connect cable interfaces which is not a lot of cost at the board level.
Think flexible and outside what you are now doing.
Bob
 
A quick way to test DPRNT in my shop would be set the PC to receive on an editor that is used to TX/RX to the machine, like hyperterminal, predator editor for bobcad, etc. Get the PC ready to receive and run some DPRNT[test] commands from a quick Gcode program in an M99 loop with a dwell. On my latest Fanuc oi with AICC I had to disable the look ahead. I can provide the DPRNT code that works for me. I run a local sub with M98 Q1234 with dwells for the hell of it, something like this:

%
O2


M98Q1234
G4P2000
M98Q1235
G4P2000
M99



N1234
G05.1Q0(DISABLE LOOK AHEAD)
POPEN
(AIR ON)
G4P200
DPRNT[1]
PCLOS
G4P200
G05.1Q3X0Y0Z0(ENABLE LOOK AHEAD)
M99


N1235
(AIR OFF)
G05.1Q0(DISABLE LOOK AHEAD)
POPEN
G4P200
DPRNT[2]
G4P200
G05.1Q3X0Y0Z0(ENABLE LOOK AHEAD)
M99

%

This should show up on the terminal on the PC, just as if you were sending a program back to store. The unit will "hear" all this and react to specific characters. When it hears a "%" sign it will quit responding until the next "%" sign to avoid random activity when sending programs back and forth to the machine.

I am hoping $379 can get a unit boxed up and working. The end user will have to deal with the air lines and fittings.

Let me know if you have more questions/comments, I'm excited that you have some interest!
 
Last edited:
A Skip signal only needs to complete a circuit, yes indeed it could be depended on for that. The skip signal Mcode could be written into the routine that issued the command to accomplish something.
 
There would not be a finish signal but if a few seconds to spend you could use a M04 to wait for worst time response of the system.
Yes, you will be guessing that things outside went well and indexing 10 is a lot shorter than indexing 3600 degrees. (10 revs on purpose here if you need to index the gear train for accuracy)
Bob

A finish signal would be likely a relay for the "skip signal" function. It would take an interface signal (probably an ADC or switch) that shows the task was accomplished and then the unit logic would close the skip signal relay for a brief time while the machine waited.

This would take more a tiny bit more programming and a little more electronics, but it is certainly possible and in the scope of what I want to do with this project. The way this unit works, a specific string of characters can effectively launch software such as a music player or video, relay, light, e-stop/disconnect etc etc.

I'm starting small, but we can go big!
 
The problem I see is that the port in most cases is already used by the CAD/CAM up/download.
So a box switch in run time? What if I do not flip that?

It is a great idea and 400 bucks is not unreasonable. Maybe add more outputs than one.
Will you drive ac and dc out and high and low currents? Cheap SSR boards get very handy here if your product has easy to connect cable interfaces which is not a lot of cost at the board level.
Think flexible and outside what you are now doing.
Bob

Bob, Thanks for the great input! I have designed the unit to stop listening for data when it hears the top of program, (such as a % or :). It resumes listening once it hears the end of program character. This eliminates any activity caused by data sent from the machine to PC. (Thats a huge deal!) As for anything with high current regardless of volts, the unit is just a simple TTL logic level device and we'll let the high end UL devices handle the amps! As long as you can hook a relay, DAC, serial connection up to a device, it can be controlled easily in one direction.

Feedback from external devices can be considered on a case by case basis.

Right now, this is just an air-blast valve with a buzzer. It runs on linux. : )
 
I do not see anyone else who has said it so to EVX a big welcome to the all stuff and people here.
(That and 75 cents will buy you terrible coffe in the machine and then.......)

Can't help myself and I have just have to ask, why the overhead of Linux on such a basic embedded device? Ease of implementation or coding at a high level?
Bob
 
Can't help myself and I have just have to ask, why the overhead of Linux on such a basic embedded device? Ease of implementation or coding at a high level?
Maybe its of no cost, faster to code and way fast enough to run in real time...... I'm so old in this world.
Bob

Bob, it's $26 to my door for the PI zero controller, it runs human readable python script, posesses generous I/O, and support from the community. It boots up quick too! (Faster than any cnc!) The rest of the project is what ends up costing a bit, box, electronics, air valve, machining, programming, wiring, testing... Keep the questions coming and thanks so much for the warm welcome!

-EVX
 
Last edited:
Allright! Got the latest hardware working.

I'm weeks away from boxing up my first test units, who wants to try one? I need real-world testing!

So here's where you guys come in. I'd like any input you have on what you expect from an external controller that you add to your machine. Right now, the plan is to have a solenoid air valve and a piezo buzzer controlled by the DPRNT statements. I have seen people asking about SKIP signals, I'll need specifics on what is being interfaced for that addition to be considered. Right now, let's stay with relays and maybe audio output (yes, if you want to play a song after the cycle).
I have used this controller since 2016 on a 1986 Mori with a Fanuc 10M. No problems, no faults. It worked perfectly on a 1997 Haas and my 2018 Doosan mill.

I use this controller to activate a relay with a "1" and turn off with a "2" (for a solenoid air valve) . There is plenty of room for additional relays, up to 16 for sure, audio output, and PWM for things like hobby servo motor control. Right now I have a single digit or letter do all the switching, but it could be tailored to listen for words or other data.

PM me for details, I'm excited to finally get this off the ground. I'll have to charge for the unit, but surely not for any troubleshooting that could be encountered on the first couple units.

-EVX
 








 
Back
Top