Subscribe to CMM Quarterly



Sponsored Links

  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
CMM Development Memories of Joe Watson
Written by Administrator   

Part 1 - Arrival Of The Practical CMM

This story starts in 1963 in a small village 15 miles southwest of Dayton, Ohio. Just over five years earlier, the Soviets had launched Sputnik, the world's first artificial satellite. We were all still fearful of the possibility that atomic bombs could be dropped from the sky with us having almost nothing we could do to prevent it. The space race had begun. The cold war was reaching a fever pitch. Some people who could afford it were even building bomb shelters in hopes of surviving a possible nuclear attack. Wright Patterson Air Force Base lay a mere 25 miles distant. We knew it would surely have been a major target had war come.

 

I had been growing up in this environment. Our school classes were small with only thirty in my graduating class. Forever destined to be short of stature, I was the shortest kid in my class until the last few years when I managed to barely outgrow one girl. Clearly not destined to be a basketball star, my interests were drawn primarily to science and somewhat to mathematics. If there were nerds in our school, I must have been one.

Dad had had a variety of jobs ranging from operating a garage, machinist, model maker, appliance repairman, small gas engine repairman, deliverer of LP bottled gas tanks, and licensed sewage treatment plant operator. Much of the appliance and small gas engine repair experience took place in our garage at home operating under the name of Joe's Fixit Shop. (As you can see, my name is the same as his.) I learned a lot by being around my dad. However, Dad just could not get a grip on electronic things. It all seemed too much like magic to him.

In those days, computers were indeed in their infancy and were quite rare. They appeared only now and then in newspaper articles and magazine stories and always seemed to fill a large room. Nobody we ever met had ever actually seen one.

Playing with electronic parts had become my hobby of choice. Endeavoring to tinker together wierd and fun circuits, taking apart every old radio or TV that I could find for parts, and working after school in a radio/TV repair shop filled all my spare time. One magical characteristic of computers that seemed inherently most puzzling was how one electronic circuit could solve all different sorts of problems.

Besides myself, our household was also occupied by my maternal grandmother, my parents, a younger brother and sister, and a cousin who was about the same age as me. He too was interested in science and we did several projects together.

Vietnam was looming large as a military issue in those days. Right out of high school and unable to pay for college, to avoid being drafted into the army I decided to join the U.S. Air Force at the age of 17 weighing a mere 112 pounds, only two pounds over the minimum permitted weight. Guaranteed an Air Force job that involved electronics, I hoped to find out more about computers there.

After some tests, the Air Force tried in vain to convince me to become a computer programmer but since that was a desk job and did not involve electronics, they could not force the issue. Consequently, I was assigned a role servicing an electronic communication system that used digital circuitry like the circuits in computers. In the middle of my 46 weeks of electronics training there came a one-week course called the Concept Of Programming. They surely could have skipped me around that little course since the communications equipment did not involve programming at all but it seems that anyone who was to work on digital equipment was channeled through this little course.

As I had progressed through previous courses, I recognized how the various circuits being taught performed all of the basic logical work such as how to add or subtract numbers, how to test if some set of conditions was true or not, how to store data and retrieve it, etc. but there still lurked in my mind that long-standing question of how one circuit could solve many different kinds of problems without being rewired.

The one-week Concept Of Programming course did not involve any real computer at all. It was designed around a very simple hypothetical machine with a very limited memory of 128 memory cells of 10 bits each. Such a machine would be nearly useless in the real world but it was only intended to be a vehicle to demonstrate the idea of how a computer program worked.

About halfway through that week, a very bright light abruptly turned on inside my head. I suddenly recognized how programming was the answer to the question of what could make one circuit solve any number of different problems. Some people have very emotional moments often described as a religious awakening. For me, although not religious, this was surely mine. In an instant I clearly saw how all the electronics could come together to become a computer. Literally, within minutes I became obsessed with having a computer of my own. This was February of 1964, years before you could buy an integrated circuit and easily more than a decade before owning even a simple home computer would become at all commonplace.

I started visiting electronics surplus shops and buying anything with parts that I thought could be useful to gain some practical experience with designing and building digital circuits. I built a circuit that could dial a number on a telephone line despite the fact that it was strictly illegal to use a home built gadget to do that in those days. My next project displayed four-digit numbers on a TV screen.

I then felt ready to tackle the big job of actually constructing the hypothetical machine described in the training course. Despite living in an Air Force barracks, I spent the next three years filling a six-foot electronic equipment rack with digital circuits, a salvaged magnetic drum memory, a converted electric typewriter, and power supplies. I spent all my spare time on this thing, struggling long and hard, especially in trying to get any type of digital memory to work. I did not actually finish it until a few months after completing my four years in the service. By then I was living back home with my parents. They were very understanding in allowing me to sponge off of them for those last three critical months of that project.

After that, it was time to get on with life. I needed a job and thought that my experience as an electronics technician in the service might help me find one working as an electronics technician on computers. I was not even sure what to call that type of position so I chose the term "computer technician" to describe it. I went to the only company in the Dayton area that had a reputation for building computers, The National Cash Register Company. Knowing nothing of resumes or selling my qualifications, I just walked into the employment office there and announced that I wanted to apply for a job. I held the simple belief that one just hires in at some low level position and attempts to migrate up in the company over the course of a career.

After filling out the application form detailing my personal information, address, education, work history, etc., I handed the lady there my form. She did not glance at it for more than three seconds before cleanly knocking me off my feet with this statement, "I am sorry, Mr. Watson, but we cannot hire you because you are too short." It seems their assembly line was designed for people who were at least five feet five inches tall and I was only five foot four and three quarters. She would not let me round it up that last quarter inch either. I went home dejected, my computer career blown away by a measly quarter inch of height.

My grandmother's hobby in those days was to discuss everyone's problems with other old ladies around town as well as with her former employer, the owner/operator of a hardware store in Dayton. When she told him about my encounter with NCR, he said he knew of a company called Data Corporation just to the east of Dayton that had computers. His connection with them was that he sold them lawn equipment.

It was a Friday. I looked up Data Corporation in the Dayton telephone book and drove there, about a 45 minute drive in those days. I walked in the front door and told the receptionist that I was looking for a job as a "computer technician". She directed me to another building where I was to meet with a gentleman who lead me to an area resembling a huge waterless aquarium with glass walls from the floor to the ceiling on nearly every side and a raised floor. It contained two large computers, an IBM-360 system and a somewhat smaller NCR 315 system. Each was surrounded by a bank of magnetic tape drives, disk drives each the size of a washing machine, card readers, printers, and featured lots of blinking lights. For 1967, this was pretty advanced stuff.

From his presentation, it was clear that the company was especially proud of the IBM-360 system. It was one of the largest for several states around and featured half a megabyte of memory. There were two computer operators inside the room who hustled about the IBM-360 with decks of punched cards, tape reels, and printouts. It looked like something in a science fiction movie only better.

As he kept talking, I kept looking around for electronics technicians at workbenches with their soldering pencils at the ready but I didn't see any. Eventually, I asked about that and he told me that Data Corporation did not work on the computers there because they leased these machines and they were maintained by IBM and NCR. That left me stumped. I asked how I could fit into this operation. He said he was thinking of hiring me as a computer operator for the IBM-360 system. I replied that I had never even seen one before. He said that was no problem and that they would show me how. I hired on and started work on the following Monday earning $2.00 per hour.

Note that during this interview, everything was quite informal with no application forms and no written resume. I was so overwhelmed with even seeing all this high-tech equipment that it never even occurred to me to tell him about building a computer on my own. I was just pleased to have found a job that was in some way related to computers.

Over the next few weeks, even though performing in just the role of a computer operator, I felt most fortunate to be involved with several very amazing projects. One program being tested later evolved into today's Lexis-Nexis information service. Another project involved resolving details with the computer in high altitude photographs for the U.S. Air Force. However, without doubt the most interesting project was the processing and enhancing of photographs sent back from satellites orbiting the Moon in an effort to help NASA choose the best landing sites for the Apollo Moon missions yet to come. I was single and willing to invest a lot of time to help these images be procesed. It took 16 hours of computer time to process each single image.

While working in that position, I told a fellow operator about my home built computer.

One day, my boss called me into his office and directed me to close the door. It seemed I was probably in some sort of trouble but I could hardly have guessed that my life was about to take a big change of direction.

The first thing my boss did was to reveal that my co-worker had told him how I had been talking about my home built computer. He wanted to hear the details of my machine so I filled him in.

My boss had been programming computers for a number of years and had experience on a variety of types of machines. At this time he was in charge not only of the computer operators but a staff of computer programmers that wrote programs for the large IBM-360 system.

He told me about how an electrical engineer named James Coggin at a company called Sheffield Measurement in Dayton had decided to interface a computer to some type of manually operated 3-axis precision measuring machine. Not having any computer programmers of their own, Sheffield had contracted Data Corporation to write a program for that computer. Mr. Coggin had written a specification for what the program was to do. My boss had assigned the job to one of our professional programmers.

The programmer had phoned Mr. Coggin and asked if the computer he was using could be programmed in Fortran, a common computer language in those days. Mr. Coggin had looked through the library of software that came with the computer and found a program labelled "Fortran Compiler". Armed with that information the programmer had set out to write the required program in Fortran, test it on the IBM-360 system, and then transfer it to the computer being connected to the measuring machine.

When the program had appeared to operate properly on the IBM-360 system, my boss and the programmer took the program over to Sheffield. The computer Mr. Coggin had selected was a new type of small computer called a minicomputer. In fact, the first computer that could be purchased for under $10,000, it featured a total memory of 4,096 12-bit words. Expressed in today's terms, it had 0.006 megabytes (or 0.000006 gigabytes) of memory and no hard drive or other form of mass storage. When they had tried to load the program into the minicomputer, it read in perhaps a quarter of it and then complained that its memory was full.

At this point, only a couple of weeks remained before the completed program was due. My boss had concluded that the only chance of packing the required program features into such a small machine was to write the program in the assembly language for the minicomputer. Assembly language permits the most compact programming density but it is more difficult to write than higher level languages and requires maximum attention to the tiniest details.

He knew that virtually none of the regular programmers in his group were suitably oriented for the work. The IBM-360 featured a multitude of internal registers and other features designed to maximize speed. Even those IBM-360 programmers who knew anything about assembly language would have struggled with the simple single-accumulator register structure of the minicomputer. The minicomputer's program instructions used numbers in the octal numbering system whereas all the IBM-360 programmers were accustomed to hexadecimal numbers, not octal. The minicomputer had no mass storage and all the IBM-360 programmers were very accustomed to using a system with lots of mass storage on magnetic tape and magnetic disk.

My boss had concluded that he himself would have to work on the program for the minicomputer but when he heard about my little computer system, he thought I might be of assistance in helping him to do the job because, like the minicomputer, my little computer had essentially the same simple internal structure, no mass storage, used the octal number sytem, and was programmed in a similar little language.

He made the decision to do it himself with me as his assistant right there in his office while we were discussing it. He then handed me the book describing the instruction set for the minicomputer and told me to go directly home and read and absorb as much of the book as I could. Then I was to come back the following morning and be ready for long hours. I never again worked as an IBM-360 computer operator.

The next morning, we started at 8:00 AM as usual but we worked until 5:00 PM the FOLLOWING day, a 33-hour shift! Then we went home, rested overnight, came back at 8:00 AM and did it again, repeating that cycle over and over.

The first thing we concluded was that we needed to try to borrow one of these minicomputers for our own development efforts. The one at Sheffield was being interfaced to the coordinate measuring machine there and was not available for us to use. The minicomputer was a PDP-8/S model manufactured by DEC (Digital Equipment Corporation). We called the local DEC sales representative. He had not yet been able to open a sales office in the Dayton area and was still operating out his kitchen. He had a PDP-8/S there for demonstration purposes. My boss talked him into loaning it to us for a few weeks. We drove to his house in a station wagon to pick it up.

Today we would regard the interface with the minicomputer's teletypewriter to be totally unreasonable. This device included a typewriter-like keyboard, a printer, a paper tape reader, and a paper tape punch. It's top speed was a blazing 10 characters per second. The interface electronics in the base of the teletypewriter was connected to the minicomputer itself by no less than 54 coaxial cables! Being uncertain if we would ever get the thing reconnected correctly if we disconnected it, we carried the computer and teletypewriter units to the car still interconnected by all those cables.

Back at our offices, we began designing and writing code. My boss laid out and coded the primary elements of the program. I was assigned the task of writing some of the subroutines. Once the code was written on paper, we had to punch the assembly language source statements onto paper tape. Then the next step required loading an assembler program into the computer and allowing it to read our source tape three times. The result would be a printed listing of our program and an object tape that could then be loaded into the computer connected to the measuring machine.

A totally unexpected problem arose. The teletypewriter's paper tape reader could not read our long source tape three times the same way. It kept misreading the tape. It would not suffice to assemble our program the way it was.

We called the DEC sales rep. He sent us the DEC service engineer. Despite working with the people at DEC headquarters in Massachusetts, the service engineer was simply unable to get the system to read long paper tapes accurately and so he just left. We needed a new approach.

We dreamt up a crazy solution. We would assemble our program totally by hand, turning each command into its equivalent octal numeric machine language code. Then we would very carefully key each of these 2,800 four-digit octal codes into the computer one at a time through the switches on the computer front panel. Next, we would step through the computer's memory and display the numbers we had keyed in to double check that each and every one was exactly right. Then we would use a little utility program that could read the memory and punch all of the object codes into a single paper tape with the appropriate format for delivery to Sheffield.

Despite these obstacles, we completed the program only a day or two late and since Mr. Coggin was having difficulty getting his measuring machine interface electronics to work correctly, it didn't really matter. Within a week or two, it all came together and the job drew to a close. Sheffield shipped its 3-axis Cordax coordinate measuring machine, its DEC PDP-8/S minicomputer, and our Cordax Measurement Monitor program to the end customer.

Prior to that system, the CMM had been little more than a laboratory curiosity because while it could help one gather some measurement data, the measurements were only meaningful if the part being measured was very carefully aligned physically with the axes of the CMM itself. Even then the measurements, which were typically recorded one after the other by manually reading the CMM's three axis displays and writing the numbers down on paper, had to be compared with the nominal part dimensions read from the part's blue print, deviations from the nominal computed, and the deviations compared with the part's tolerance limits to determine if the part's dimensions fell within spec. It must have seemed as though the CMM would never find a place in a true manufacturing environment. It was just too slow.

Crude as it was, the minicomputer running the Cordax Measurement Monitor program provided a straightforward means for precisely measuring the angular misalignment of a part in the X/Y plane then computationally correcting all subsequent measurements for that misalignment. The program included the automatic comparison of measured values with nominal blue-print values and the application of tolerances. It also featured the built-in calculation of true-position deviation for certain part features. As a final touch, it produced a formatted hardcopy inspection report on a teletypewriter printer.

Sheffield soon began to find a more customers interested in duplicate systems so they sold more of them.

Now the story turns to a manufacturer of glass television picture tubes for the color television sets of the day. It seems that when glass is molded to make such a tube, the interior surface of the tube's screen area has a very critical surface profile shaped by a steel mold plunger that is pushed into the molten glass. Odd as it may sound, molten glass is pretty abrasive and tends to wear away the surface of the steel plunger. Eventually, the plunger is switched out for a new one and the old one is reworked to restore its surface profile.

The glass company wanted a CMM system that could take not just a few measurement points here and there but rather dozens or even hundreds of points at prescribed target points lined up in straight rows across the critical surface of the glass part or a steel plunger. The idea was that the CMM operator would lock the CMM's Y-axis at a prescribed dimension, lower the solid ball tip probe of the CMM onto the part, and manually slide the probe across the surface of the part. The computer was to monitor the ever-changing X and Z axes of the CMM and record the Z-axis value just as the X axis crossed each target point in a list of prescribed X-axis targets. When the end of each such "scan" had been completed, the computer would print the list of recorded Z values, comparing each with the ideal dimension for that point. Those points whose deviation from nominal exceeded a specified tolerance would be flagged in the report.

Again, it was Mr. Coggin at Sheffield who wrote the specifications for the software to perform this manual scanning operation and requested that Data Corporation quote a price to produce it. As expected, the request for a quotation came before my boss. He immediately sent it to me to have it quoted. I had never written a job estimate for anything in my life. It surely seemed like I was not the person best suited to write one but my boss asserted that he was too busy being a supervisor and was not going to be involved in this next job. If we got the job, I would be asked to write it by myself so I thoughtfully wrote the estimate. We were again selected to write the software and I had to do that job by myself. It only took about two or three times as much time as I had estimated. So much for the accuracy of my first quotation.

Soon a third job was in the works. This time, it was to be a program for a minicomputer with twice the memory as before. It was to be a very special purpose program used to measure fuel rod guides for a nuclear reactor. About half way through the programming of this job, Sheffield announced that it appeared there was no end in sight for the need for minicomputer software. They had decided to hire their own programmer.

It occurred to me that if Sheffield hired someone else to be their programmer, there would be no more contracts coming my way from them so I wondered what I would be doing if I remained at Data Corporation. So I applied at Sheffield and was then hired as the first computer programmer in Sheffield's Engineering department. That was November 25th, 1968.

I wondered how that third job would be completed after I left Data Corporation. We held an odd meeting. It included some management people from both companies and me. They asked me how much of the job had been completed. I estimated it was about half done. So Sheffield paid Data Corporation half the total agreed amount and the job was moved into Sheffield where I completed it.

At this time, all CMMs were manually operated. There were no servos. With very few exceptions, there were no soft probes. Probe tips generally consisted of two types. One was a solid spherical ball ranging in size from about 1/4 inch to 1 inch in diameter. The other type was a solid tapered probe used primarily to find the center location of a hole. These ranged in a series of sizes suitable for finding the center of any hole with a diameter from about 1/16 inch to about 2-1/2 inches.

In order to get the best readings, when the operator placed a probe in contact with the part, he/she would have to wait a few seconds before tripping a switch or button telling the computer to take a reading because the CMM itself provided a large inertial mass that took time to settle on a good reading. It was also important that the operator learn how to do this without applying any pressure to the machine or part that would influence the readings. Some operators had a much better "touch" than others.

It would be another year or two before it came to my attention that the Cordax Measurement Monitor program which I had helped my boss at Data Corporation write was the first commercial CMM software product in the world. Many more adventures and a few more world firsts lay ahead. I had become a member of the team that would play a leading role in the development of the coordinate measuring machine.

 

Advertisement