The Fadal CNC

By David M. de Caussin


The Fadal CNC from the beginning... A first hand account

The real power of any Machining Center is the Control.

 At the introduction of the first Fadal machine we were pressured to add other controls.  It was quite common at the time for machine tool builders to add virtually any CNC control that the customer requested.  It was difficult, but we resisted and forged ahead developing one of the best CNC controls every produced.  Feature for feature, very few, even today, can match all the features we provided with the CNC88.  Besides cost advantage of having our own control, the primary reason for having our control was to be able to efficiently service the machine.  Having one control allows the servicemen to stock all the parts needed in his service van.

Image of the IMSAI computer used to develope the Fadal CNC in 1975.Image of the original Teletype used to interface to the control.
Development of the CNC88- Beginning in 1975, we used one of the early desktop computers that came in a kit form.  It was the IMSA 8080 based on the Intel 8080 microprocessor and used the North Star Disk Operating System. The very first unit did not have a video monitor, it used a Teletype via an RS-232 port to display and input information.  The IMSAI sold for $599 as a kit, then you had to build it yourself; the kit came with bare boards and a bag of IC's.  The main processor was the Intel 8080A and was clocked at 2.0 MHz.  The system RAM came with 64K and was the maximum memory available for the time. To start, the programmer used the front 16 toggle switches to set the Bootstrap address, flip the LOAD address switch and then the RUN switch.  With this computer one could step through all the binary data by watching all the LEDs change.  Just like the really old computers seen in the movies.
Image of the North Star Disk Operating System logo.The RUN switch would boot the DOS system and run the Northstar Disk Operating System.  With the DOS running, we could load the NC kernel and start the CNC processor assembly code. 
The IMSAI used the S-100 bus interface design (common in those days) which is the same basic design we used as the heart of the CNCs motherboard bus activity controller; we called it "the traffic cop".  This is the primary function of the 1030 board; it controls the flow of communication between the main CPU board and all the peripheral devices.  In the case of the CNC88, the flows between 1010 axis controller CPU boards, the M-function board and the Mill interface board.   

Once the IMSAI "booted" and loaded what we called the NC processor, it would come alive, the teletype in its clunky, mechanical fashion, would simply display "R>" which signified READY.  In the beginning, as the software code advanced, we used the system to generate paper-tape programs for our machine shop and at the same time debug and test the CNC functions.  In the beginning, the software allowed us to input a program using the IN command, list the program using the LI command and punch the program to paper tape using the PU command.  
We had another command that would process the NC program.  It expanded fixed cycles to single axis Z moves and for milling it used the cutter-radius-compensation to allow us to output the actual tool path.  After creating the tool path program, we would punch a paper tape for our NC machines.  At the time, most controls did not have CRC; that's why they were called NC's and not CNC's.  It was a great feature for our Job Shop because we used a lot of reground endmills.
The two letter mnemonic command structure(LI, CH, PU, etc.) was eventually increased to cover all functions we needed for the CNC.  It was not until the advent of the VMC40 around 1984, that we changed the "R" prompt to "ENTER NEXT COMMAND".  Later, we added a Menu system to the control that simplified having to remember the various commands.

Image of what the prototype Fadal CNC looked like in the early stage.The year of the very first working CNC88 prototype that actually turned motors was about 1977.  It was a free standing control that looked like an early video game.  In the early 70's many CNC's were basically a self-contained console.  At the time, one of the most common was the Slo-Syn control that came out of the 60's; no video monitors, basically just knobs and a paper tape reader.
About 1980, the first production machine was the VMC45, it had a hanging pendant design. The keyboard was to the right of the video monitor and It was one of the very first CNC's to use a standard keyboard interface.  The design only needed a keyboard, a feed-pot and an Emergency Stop button.  At the time, most, if not all controls had many knobs, buttons and maybe a data input keypad.  We based the entire interface on software rather than hardwired switches.  The idea was complete flexibility where we could add features and easily update in the field.  Sadly no actual pictures are available.  But the picture to the left is what the very first prototype looked like.



The 1400-1 CPU Board
VMC45 and early VMC40

The 1400 board is the Central Processing Unit of the CNC control. All CPU boards came with 38K of battery backed memory. This memory is managed by the main CPU and used to store the following:
   • CNC Part Program
   • Tool Data – both Length and Diameter
   • Fixture Offset Data
   • SETP parameters
   • Backlash 
The CPU board interprets the part program and executes it by issuing commands to the other boards, it monitors the inputs and proceeds as required by the program and external feedbacks; simply put it orchestrates all activity of the CNC. 

The first 1400 board was the original CPU board designed and used primarily by the VMC45.  It was basically the same as the 1400-1 board as shown above, except the first CPU did not have battery back memory (the four memory chips above the purple battery). The original 1400 card (1400-0), used "Bubble Memory" for permanent program storage, which was very slow and expensive.  There was not a 1610 software module, so the control software was "burned" directly to the Eproms on the board by removing the Eprom jumper ribbon cables and connecting to Eprom "burner".  To greatly simplify the software update process, it with the 1400-2 hardware, we designed the pluggable 1610 module.
The 1400-0 CPU was based on the Intel 8080, which eventually ran at 8 MHz; state of the art in those days!
As the Intel microprocessor improved, we upgraded our hardware and came out with revisions signified by dash numbers.  Click Here for more information about the 1400 CPU boards.

The CNC MP Design -The pendant is the main interface to the Fadal CNC.

The second generation pendant was called the "CNC88" for the Intel 8088 processors.  With that we added dedicated switches and knobs for the operators convenience and to help our salesmen compete with the Fanuc machines.  After a while, it was renamed the MP control, which basically was the same internally as the CNC 88, the new faceplate was done mostly for a fresh look.
The MP signifies Multiple Processors and does better describe the architecture of using many CPU's to do the work that one CPU can not do efficiently.  It is a design that is commonly referred to as "Distributed" or "Parallel Processing" architecture, and is technically defined as "a distributed system that consists of multiple autonomous computers that communicate through a computer network. Where as the computers interact with each other in order to achieve a common goal". A computer program that runs in a distributed system is called a "distributed program", and "distributed programming" is the process of writing such programs.  Today's Dual Core and now the Quad Core processors all operate on this principle.

Functional diagram of the Fadal CNCWith the CNC88 on a standard machine there's five CPU boards working together.  The Main CPU, the X,Y,Z and Spindle CPU boards; all working together and independently in conjunction to make the machine function.  This design allows for maximum speed with minimally powered CPUs.  With this design the control can do five things simultaneously; something a single 64-bit control could never do because it is limited to only one function at a time.

Servo Performance:

At the time we introduced our control, the typical CNC controlled the axis servo position loop at rate of approximately 2 millisecond intervals.  That means correcting the servos position 500 times per second.  With a three axis machine and a single CPU it  can only adjust the position error 167 times per second, per axis!  The result is a "sloppy" servo system in what is called the position loop, most seen in contouring.  The faster you program the more apparent the error becomes.
With the MP design, the position loop of each axis is adjusted at 1 millisecond intervals which was far beyond most controls then, even by today's standards it is considered exceptional.

Control Throughput:
Throughput is defined as the speed and volume that the CNC can process the high level NC code, convert it to a low level set of positions commands and execute them to cause machine motion.  With the MP design, the main CPU is processing the high level NC code while at the same time the axis CPU boards are executing low level motion commands.  Originally the CNC88 could process between 10 and 100 NC blocks per second.  It depended on the complexity of the NC block; simple G1 moves are processed faster than CRC (cutter radius compensation) type moves that requires much more calculations than simple linear moves.  As the CPU processor improved, so did the control throughput.  With the 1400-4 version CPU, we got up to 1000 block per second throughput for simple XYZ linear moves.



Historical Interests -

First show with the VMC40:
In 1984, we had our first booth at the LA WESTEC show for the VMC40.  It was only about 6' x 12' in size, just enough for a machine and a desk.  We were just down the isle from the ACROLOC booth.  At the time, they sold one of the most popular machines and they had a booth that was about 200' x 200', they really put on a show.  They even had the LA RAMs cheerleaders signing autographs and a mill that was upside down and 40' in the air.  I was told it was to show that with their machine you could drill a hole anywhere, but the cheerleaders got most of the attention!
One morning as we were walking up to our booth we came around the corner and saw a dozen Acroloc guys standing around our machine with one of them standing at the control, pointing and talking.  We stood back and listened to him talk, at one time we heard him say that "This design was the control of the future"...  We competed directly with them, they had one of the fastest tool changer with a 2 second chip to chip time, but because of the tool holder design, it couldn't mill as good as we could and they never offered a 10,000 rpm spindle.  Needless to say their booth size got smaller and smaller over time.

Advent of 1000 blks per second:
In the early 90's, we were getting our booth ready for one of the WESTEC shows, and as always it was pretty chaotic as all the other exhibitors were scrambling to finish the last details.  Anyone who has been an exhibitor at a convention knows exactly what I mean.  We noticed one of our biggest competitors was setting up a demo to show a machine cutting a part at 250 blocks per second.  At the time, the CNC88 could run at 100 blocks per second.  Not wanting to be "out done" at a show and in the true spirit of competition, the control design team got together and did some brainstorming about how we could squeeze out the maximum speed of the control.  This was Tuesday morning and the show started Thursday, so we had little time work with but a good "fire drill" is always a good thing now and then.  With a bit of creativity, we ended up reorganizing the control code and found we could get 1000 blocks per second.  So we rewrote the code, tested it, developed a working 3D demo and printed up all the show display signs and material.  Then took it all down to Westec, set it up and starting running.  We finished Thursday morning just as people were walking in for the first day of the show.  It ended up being one of the biggest and best demos!  Few people had ever seen a control cutting at 1000 blks per second.  Needless to say our competitor was not very happy that we took the wind out of their sails...

We often get asked "Who was first Fadal or HAAS?"
I can tell you first hand it was Fadal.  One of our earliest customers was Gene Haas.  At the time, his company was called Haas Brothers and they bought a VMC40 to make indexer parts.  It was about machine number 25 that they bought.  After the installation, I spent three days training him in his shop.  
It was about a month or two later that I asked Harry Nash, his salesmen, how Gene was doing because I hadn't heard a thing from him.  Harry said that he stopped by Genes' shop and the machine was in pieces "all over the floor".  After that we decided it best to limit Gene's visits to our factory.  We remained "friendly competitors".  Gene used to come over to Fadal when we were in North Hollywood quite often, maybe a little too much...


Overtime the CNC88 was used by so many different people and in every imaginable industry.  Even today it's amazing to hear who has bought them and where the machines ended up...  One thing is sure, most customers love their control, still to this day!