Birth of the Programmable Controller


Today’s post is extracted from my new “generic” PLC course manual, PLC Hardware and Programming – Multi-Platform. In the manual, I also cover the origins of the computer, beginning with the Babbage Analytical Engine, all the way back in 1823!

I have also created videos for both of these histories as part of my not-so-soon to be released online PLC training course. As my new business website evolves a bit more I plan to make them available for the low-low price of your e-mail address.


In 1968, a group of engineers at General Motors presented a paper at the Westinghouse conference detailing the problems they were having with reliability and documentation of the machines at their plant. One of the engineers, Bill Stone, also presented design criteria for a “standard machine controller”.

The criteria stated that the design would need to eliminate costly scrapping of assembly-line relays during model changeovers and replace unreliable electromechanical relays. It also needed to:

  • Extend the advantages of static circuits to 90% of the machines in the plant.
  • Reduce machine downtime related to controls problems, be easily maintained and programmed in line with already accepted relay ladder logic.
  • Provide for future expansion. It had to be modular to allow for easy exchange of components and expandability.
  • It had to work in an industrial environment with dirt, moisture, electromagnetism and vibration.
  • Include full logic capabilities, except for data reduction functions.

These specifications, along with a proposal request to build a prototype, were given to four controls builders:

  • Allen-Bradley, by way of Michigan-based Information Instruments, Inc.
  • Digital Equipment Corporation (DEC)
  • Century Detroit
  • Bedford Associates

The DEC team brought a “mini-computer” to GM, which was rejected. A lack of static memory was one of the major reasons.

Allen-Bradley was a major manufacturer of relays, rheostats and motor controls. Even though this new idea would compete with one of its core businesses, electromechanical relays, they went from prototype to a production unit in 5 months. The first attempt was the Program Data Quantizer, or PDQ-II. This was judged to be too complex and difficult to program and was quite large. The next attempt was the Programmable Matrix Controller, or PMC. Though smaller and easier to program, this was still not sufficient for GM.

At the time of GM’s design criteria, Bedford Associates was already working on a design. Its system was modular and rugged, it used no interrupts for processing and mapped directly into memory. Since this was the 84th project for the company, they named this unit the 084. The project team included Richard Morley, Mike Greenberg, Jonas Landau, George Schwenk and Tom Boissevain. After obtaining funding, the team formed a new company called Modicon, an acronym for MOdular DIgital CONtroller.

The Modicon 084 was built ruggedly, with no on-off switch, no fans, and totally enclosed. Richard Morley explained, “No fans were used, and outside air was not allowed to enter the system for fear of contamination and corrosion. Mentally, we had imagined the programmable controller being underneath a truck, in the open, and being driven around in Texas, in Alaska. Under those circumstances, we wanted it to survive. The other requirement was that it stood on a pole, helping run a utility or a microwave station which was not climate controlled, and not serviced at all”.

In 1969, Bedford and Modicon demonstrated their 084 Programmable Controller to GM and won the contract. The controller consisted of three components: the processor board, the memory, and the logic solver board, which used a form of ladder logic to solve the algorithms.

Dick Morley (L) and Modicon 084

Dick Morley (L) and Modicon 084

According to Morley, the original machine only had 125 words of memory and did not need to run fast. In his interview with Howard Hendricks, he said “You can imagine what happened! First, we immediately ran out of memory, and second, the machine was much too slow to perform any function anywhere near the relay response time. Relay response times exist on the order of 1/60th of a second, and the topology formed by many cabinets full of relays transformed to code is significantly more than 125 words. We expanded the memory to 1K and thence to 4K. At 4K, it stood the test of time for quite a while. Initially, marketing and memory sizes were sold in 1K, 2K, 3K, (?) and 4K. The 3K was obviously the 4K version with constrained address so that field expansion to 4K could easily be done.”

Meanwhile, Allen-Bradley had gone back to the drawing board. By 1971, engineers Odo Struger and Ernst Dummermuth had begun to develop a new concept that improved on their PMC, Programmable Matrix Controller. This concept became the Bulletin 1774 PLC. Allen-Bradley named this the “Programmable Logic Controller”; the term later became the industrial standard when the acronym PC became associated with personal computers.

In 1972, Allen-Bradley also offered the first computer for use as a programming terminal. Other manufacturers in the 1970s and 1980s typically used dedicated programming terminals with (or without) a small screen. Instructions were entered as three or four letter mnemonics. As technology improved, these terminals were reduced in size to a hand-held device.

By the later years of the 1970s, several other companies had entered the PLC market, including General Electric, Square D, Omron and Siemens.

Modicon improved on the 084 in 1973 with the 184, which made them the early leader in the market. This was followed in 1975 with the 284 and 384 models. The 984 was produced in 1986 and remained a Modicon standard for many years. In a joint venture with AEG Schneider Automation, the Quantum series of controllers was released in 1994. In 1977, Modicon was bought by Gould Electronics, and later in 1997 by Schneider Electric, who still owns them today (2016).

PLC Improvements

The 1980s saw many new companies entering the PLC market. Japanese companies such as Mitsubishi and Omron entered the U.S. market as automotive manufacturing began using PLCs extensively in their manufacturing processes. Giants like Westinghouse, Cutler Hammer and Eaton created products, as well as machine tool manufacturers such as Giddings & Lewis. In 1980, the market was estimated at $80 million, and it had grown to a billion dollars worldwide by 1988.

As IBM-compatible personal computers became smaller and less expensive, companies began developing DOS-based software for use in programming. This allowed users to enter the program graphically. Rather than only seeing the alphanumeric characters of text commands, ladder logic could be visualized on a CRT monitor.

With the release of the Windows 3.0 operating system in the early 1990s, software had improved with colored graphics and multitasking. PC clones made computers less expensive, and the laptop computer all but replaced handheld programmers. Many companies began producing smaller, cheaper “brick” PLCs for simple applications. Allen-Bradley’s Micrologix 1000 in 1995 competed with relatively unknown names, such as Eagle Signal’s “Micro 190” and PLC Direct, which brand labeled Koyo PLCs from Japan.

Tim Hohmann (L) and Frank Lamb (R)

Tim Hohmann (L) and Frank Lamb (R)

Koyo had produced PLCs for Texas Instruments, Siemens, and GE since the 1980s. In 1994, they established a company in the U.S. that began marketing PLCs by mail order. Tim Hohmann founded PLC Direct in Atlanta as a joint venture, which was renamed Automation Direct in 1999.

Allen-Bradley remained the dominant brand in the U.S. during the 1990s. They had been bought by Rockwell in 1984 and spun off Rockwell Software in 1994 after purchasing ICOM, which had made a competing programming software product for the Allen-Bradley PLC. The SLC500 line, a smaller modular controller, was released in 1991, followed by the first MicroLogix product in 1995.

Siemens became the dominant player outside of the U.S. and Japan. The S5 controller, developed in 1979, had a large installed base in Europe through the 1980s. When the S7-200, S7-300 and S7-400 series were released in 1994, many companies began upgrading their existing platforms. Siemens was an early innovator in the use of User Defined Data Types (UDTs) and advanced programming using their version of Instruction List, known as STL (Statement List). They also allowed for use of re-useable code by defining local variables within subroutines, or functions.

In 1994, the International Electrotechnical Commission (IEC) began to define the languages that PLCs would be programmed in, data types, and other details pertinent to Programmable Controllers. IEC 61131-3 defined the rules manufacturers followed in order to standardize their products. Five languages were defined: Ladder (LD), Instruction List (IL), Function Block Diagram (FBD), Structured Text (ST), and Sequential Function Charts (SFC).

Mitsubishi gained the largest market share in Japan and much of Asia, while Omron saw gains worldwide.

By the 2000s, PLCs had become much more powerful and began gaining traction in process control, which had long been the domain of DCS (Distributed Control Systems). With the ability to use I/O networks such as DeviceNet, Profibus and Ethernet, these more powerful platforms became known as “Programmable Automation Controllers”, or PACs. With improved memory, higher speed processors and the ability to control thousands of analog and digital points at once, PACs could control large chemical processing plants, wastewater treatment and pipelines.

Multi-axis motion control also began to be integrated into PACs in the early 2000s. Allen-Bradley, Siemens, Modicon and Mitsubishi all have integrated controllers that can operate independently of the central CPU. Multiple or redundant CPUs can also be used within the same rack. Variable Frequency Drives (VFDs) and robots often now contain microprocessors that can be programmed in ladder logic. Hybrid HMI touchscreen controllers have also become common.

Today’s landscape includes more than 20 PLC manufacturers with international markets, with about 15 that have a 1% or more market share each. Open platforms have appeared allowing smaller manufacturers to offer their own PC-based or board-level controllers that program in ladder or other IEC 61131-3 languages. Companies such as Codesys now provide a platform for some of the major PLC manufacturers such as Modicon, ABB, Beckhoff and Bosch.

With higher speed Ethernet-based communication and control networks, systems have become more distributed, with microprocessors in “smart nodes” of I/O to detect errors and perform autonomous logic and monitoring tasks. As of 2016, the PLC market seems to be converging on Ethernet/IP based control networks.


* This timeline is a work in progress… if you know of PLC families/platforms that should be on here, please shoot me an e-mail or leave a comment.

** For even more on PLCs, check out the PLC tab at the top of this page!

Posted in PLCs Tagged with: , , , , , , , , , , , ,

Sensors 101 – Control System Inputs


In today’s post I’m going to ask you to think of sensors in a different way. Most engineers who are specifying equipment think of sensors as discrete or analog devices, proxes or photoelectrics, flow or pressure sensors, thermocouples and the like. If asked to classify them into categories, they might say analog and digital, machine level or process control, optical or inductive.

There is another way to think of sensors also; as any physical input to a control system. If you broaden your thinking as to what constitutes a sensor, it opens up a lot of new possibilities. Is a pushbutton a sensor? Sure, it detects an operator’s decision to do something. How about a relay? Yes, it provides the status of some device or machine condition.

I’d also like to suggest that another way to categorize sensors other than the method they use to detect things is by their function. Sensors pretty much all fall into two categories; those that detect the condition of the machine or system (cylinder switches, MCRs, encoders, some photoeyes and vibration sensors), or those that detect or evaluate the parts or substance that the system processes (flow and pressure sensors, machine vision and discrete part presence detectors).

If you think of sensors in this way, you will realize that not all sensors fall into neat categories like analog and digital. A vision system is a good case in point; the actual method of detection involves optics and millions of individual pixels. The actual interface to the control system may be a simple digital pass/fail signal, or involve sending strings of data that need to be decoded. But you certainly need to understand all of the details of the complex topic of machine vision before specifying it.

Another example is encoders and resolvers; the data may consist of discrete pulses or a sinusoidal analog signal, but you can’t simply feed these signals into your digital and analog input cards. These factors need to be taken into account when deciding what kind of hardware is specified; not only the sensor itself, but also the complexity and cost of the interface with your control system.

Thermocouples are also analog, but you can’t simply wire them into an analog card. A thermocouple card actually contains an algorithm that knows what kind of response curve goes with the type of thermocouple selected (for instance J, K, R, T, etc.). Not only that, but you can’t simply wire your thermocouple into a standard terminal block and run regular copper wire back to the card. Since a thermocouple is simply two dissimilar types of metal, you will actually be creating new thermocouples in series with your original one.

Here are some other oddball sensors I have dealt with on the past that are off the beaten path:

Eddy Current Tester: An inductive probe inserted into a machined hole to determine if it had been threaded.
Capacitive Ion Leakage Probe: a charged probe and plate placed on the opposite sides of a piece of plastic to determine if a pin sized hole actually allowed ions through to the other side.
Mass Spectrometer: A customized spectroscopy system intended to detect the presence of a deadly nerve agent.
Ultraviolet Camera: A machine vision application where we actually coated rubber gaskets with an ultraviolet ink to detect if raised areas had been molded correctly. * A very messy operation – I have a much better solution for this now, 17 years too late!
Floating Rocker Arm Cover Measurement: A system with independent LVDTs that calculated the intercept of an imaginary plane to determine if a rubber gasket had been mounted correctly.
Ultrasonic Paint Level Detection: Only oddball because the application had to be intrinsically safe.

Back when I started my career there was no internet, so educating yourself on sensors required talking to vendors, attending trade shows, and reading catalogs. Now the resources are easily accessible online, but of course the technology has changed along with the times. As part of my early post-college training I was fortunate to attend some excellent manufacturer training at Allen-Bradley, Omron, Pepperl+Fuchs, Tri-Tronics and more. It was very useful to actually connect and test all of the latest devices and talk to some of the designers. There are still some opportunities to do this at some of the trade shows, but where there used to be four or five shows a year just in my state, now there are just a few big national ones.

Over the next year, I am building a pretty comprehensive training center here near Nashville. Part of the intent is to teach both my custom PLC course and Automation Training’s classes, but also to create courses concentrating on pneumatics, machine vision and sensors. A big part of all of these new classes is to allow students to get their hands on the components and learn how they all work together. Whether the focus is on troubleshooting existing equipment or designing new systems and machines, understanding how all of these sensing devices work together with your control systems is an important part of a good well-rounded education.

* For more posts on Sensors, check out the tab at the top of this page!

Posted in Automation Concepts, Sensing, Sensors Tagged with: , , , , , , , , ,

Sensor Resources


When I got up this morning, I had fully intended to write a post on sensors and sensing techniques. I was even going to title it “Sensors 101”, similar to the series that I started on PLCs several years ago.

Part of what was motivating me to do this is that I’ve been invited by Control Engineering magazine and CFE Media to make a presentation on sensor selection at a webinar sometime towards the end of March. I started researching some of the posts I had written in the past on sensors, and I came to realize that most of the stuff I have written is from a long time ago. I also realized I have concentrated extensively on PLCs, which was never the original intent of this blog. But that is what a lot of people have asked for, besides I spend a lot of my time teaching PLC classes.

Anyway, I started looking over this site and I realized that not only were the articles on sensors mostly from 2011-2013, but also they were really hard to find. You may not realize it just by looking at the Home page or this post, but as of today there are over 300 pages of articles and posts on this site, covering almost six years.

So today I spent some time rearranging this site. You’ll notice that there are fewer tabs at the top of the page; I’ve moved some of the old content such as The Primer, Contribute and T.A.I.I. under other tabs. I also updated the PLC and Applications tabs, adding more links to posts.

I also added a new tab titled Sensors. As I added my sensor-related posts to the list, this was when I realized how much I had migrated from the original intent of the blog. The last sensor-related post was from 2015, and even that was related to PLCs. Now its not like I have only discussed PLCs over the last few years, there are all kinds of articles on a wide variety of subjects, but I definitely have a lot more to say about sensors and sensing techniques, so you might want to bookmark the sensors tab if that is of interest.

I will be adding more links to sensor manufacturers to the Resources/Controls Hardware and Software tab, currently there are only 4 links there.

As I write more posts on sensors, the links will also be added to the new sensors tab. I do plan to add a Sensors 101, 102 etc. series, similar to the PLC series, though probably not as extensive. More on machine vision, ultrasonics and process sensors are also on the agenda.

I’d also like to get some more guest posts by manufacturers and vendors on the subject, similar to those on PLCs. I do get a lot of requests to do guest posts, but some I turn down because they aren’t really topic related or they are too commercial and not very informational. I am always up for good technical contributions though.

Posted in Sensing, Sensors, Vendors and Manufacturers, Website Tagged with: , , , , , , ,

Ladder Logic 305: ASCII and Strings


Today’s post covers ASCII, string manipulation and how to deal with readable text in a PLC.

The picture above is from a ControlLogix program (Allen-Bradley, RSLogix5000 v.16) I wrote back in 2006. The program communicated with a PC-based Cognex machine vision system that sent and received strings of data for everything from its camera triggering to its reporting of positional data for the object it was inspecting.

First lets talk about ASCII: American Standard Code for Information Interchange is a byte-based encoding of text into numerical values. While it isn’t the only method of turning printable characters into numbers that PLCs can deal with, it is the one most commonly used in the US.


The tables above show some of the printable characters and their corresponding values in Binary, Octal, Decimal and Hexadecimal. Notice that there are only 7 bits in the Binary column; the original teleprinter based encoding left open the option of using the eighth bit for parity checking when the bits were transmitted serially. The standard ASCII table has 128 (0-127) characters, while there are also 8 bit (or more) variants that include characters such as pi, foreign currency symbols and others.


As you can see in the above picture, not all ASCII characters are printable. As a matter of fact, there are 95 printable characters in Standard ASCII, while the other characters are made up of other keyboard-related commands such as backspace, tab and carriage return/line feed. The Null, SOH, STX and ETX characters are often used in interfacing with devices such as printers.

In some PLC classes there are lessons where students are given a Double Integer (DINT) that is supposed to represent a bar code. The lesson usually uses masks, rotates and bit shifts to extract sections of the DINT representing a product color, type or other value. While this is a good exercise in explaining how data may be encoded, bar codes actually read ASCII strings that have to be decoded in a different way.

Following are some of the common string manipulation instructions used in PLCs, along with their purpose. This is reprinted from my recently published training manual, “PLC Hardware and Programming, Multi-Platform”:

“As mentioned in the data section of this manual, strings are arrays of SINTs, or Single Integers (Bytes). The array elements contain ASCII characters, which can be thought of as printable characters with a few non-printable commands included. Values contained in strings can be displayed as decimal or hexadecimal numbers, or as text characters. If in text, they are often displayed with a “$” sign before the character, such as Text = $T, $e, $x, $t characters. These equate to the decimal numbers 84, 101, 120, 116 or the hex numbers 54, 65, 78, 74. These can be found in a standard ASCII table; there is one in the appendix of this manual.

Strings may also contain a length (LEN) field that contains the number of characters that exist in the string. For instance, if a string has space for 80 characters, but is filled with the characters “Today is Tuesday, September 13” then LEN = 30.”

Concatenate (CONCAT) – Connect two strings together, one after another.
Middle (MID) – Copies a specified String into the middle of another String at a specified location.
Find (FND) – Locate the starting position of a specified String within another String. Usually returns the position of the found String.
Delete (SDEL) – Removes characters from a String at a specified position.
Insert (INS) – Adds characters to a String at a specified position.
Length (LEN) – Finds the number of characters in a String if length is not part of the string definition.

A couple more tips on dealing with Strings:

1. It is important to clear any data from a string register before overwriting it with a new string. Otherwise, if the new data is shorter than the old, there will be characters left over; this can really mess with your calculations.

2. It is a good idea to create tags or registers for characters or strings that are used multiple times in your data processing. A “Null String” full of empty values is useful for clearing data, and as you can see above I created characters named “ampersand” for @ and “comma” as a delimiter.

There is a lot more to be said on this topic, but this should give you an idea of how to deal with text and strings. Dealing with strings is pretty code intensive; for instance the n_Vision_Command and o_Vision_Response routines in the example at the top of this post were 37 and 11 rungs long. That’s not even counting the d1_Seq_Auto routine (56 rungs) and q_Clear_Data routine (6 rungs) which were entirely dedicated to communicating with the vision computer. This program was written before the advent of AOIs (Add-On Instructions), which would have made the code a bit more organized.

For those who deal with other IEC 61131 PLC languages, yes this is probably easier using Structured Text (ST). But after all, this is a Ladder Logic series, and it illustrates the point that no matter how you choose to deal with ASCII and String data types in a PLC, it is going to be pretty complex!

Posted in PLCs, Software & Programming, The Book Tagged with: , , , , ,

The Difference Between PLCs and Computers


What makes a PLC different from a typical computer? After all, computers are used to control things, they can even run a software PLC.

This short video is part of the introduction to a new training course I am producing on the Thinkific LMS. It also follows the text on page 6 of my new training manual, PLC Hardware and Programming: Multi Platform. Text is reproduced after the video.

So exactly what is a PLC?

A PLC is a digital computer used to control electromechanical processes, usually in an industrial environment. It performs both discrete and continuous control functions and differs from a typical computer in several important ways:

  1. It has Physical I/O; electrical inputs and outputs bring real world information into the system and control real world devices based on that information. If you were a PLC, your inputs can be thought of as “senses” like vision and touch, while your outputs could be thought of as your arms and legs.
  2. It is Deterministic; it processes information and reacts to it within defined time limits. PLCs operate on a timescale of milliseconds or even microseconds
  3. It is often Modular; it can have I/O modules, communication modules or other special purpose modules added to it for expansion. PLCs may also take the form of a computer or a small single module.
  4. It is programmed using several defined Languages. Some languages allow the program to be changed while the machine or system being controlled is still running.
  5. Software and Hardware are Platform Specific; components and programming software usually can’t be used between different manufacturers. But there are exceptions…
  6. It is Rugged and designed for use in industrial environments.

Unlike computers, PLCs are made to run 24 hours a day, 7 days a week and are able to resist harsh physical and electrical environments.

Where are PLCs used? PLCs are used for many different kinds of applications and industries. In a 2012 Control Engineering magazine poll, 87% of machine control applications used a PLC as the control platform. This includes assembly, packaging and other manufacturing operations. 58% of process control applications used PLCs, in such industries as chemical processing and the oil and gas industry. Power plants and wastewater treatment also fall into this category. 40% of motion control and robotics, 26% of batch control and 18% of diagnostic or testing applications used PLCs. Many applications are a combination of these.

PLCs are used anywhere, and everywhere!

Did I leave anything out? Can you think of other differences between typical computers and PLCs? How about other places where PLCs are used? Leave your comments below!

Posted in PLCs, Training Tagged with: ,

So… What Do You Do?


Hello from mushy Sacramento, CA. Flying in this afternoon the whole area looked like a big sponge, everything looked flooded out, and its still raining. And I thought there was a severe drought here…


Most people have heard this question before… “What do you do?” Usually the person asking is wanting to know your job title or occupation.

If you are a trucker or a chef the answer might be fairly simple, but in technical fields the answer can be more complex. People are familiar with food and 18 wheelers, but if you say you’re a controls engineer, PLC programmer or panel builder people may look at you with a blank stare. My wife has built industrial control panels for about 20 years now, and it can be pretty complicated to explain her job to her woman friends who have never been in a factory.

When I was building custom machinery and doing a lot of PLC programming I often had the same problem, even with guys. There are a lot of buzzwords and acronyms involved in the explanation, it can be pretty confusing for people not familiar with industry.

If you are involved in any entrepreneurial activity, you are probably familiar with the idea of an “elevator pitch”. The premise is that you meet some person you need to impress in an elevator and only have 30 seconds or so to let them know your big idea, or why they might want to hire you. Conventional wisdom is that its a bad idea to just state your job title or recite your resume. Instead, some people advise describing what you do in terms of the problems you can solve for that person. Maybe describing the services you offer or listing some of your credentials would be part of that also. You might even follow up with how you got where you are.

One suggestion I recently read advises that you condense your idea or description of what you do even more. Twitter only allows messages of 140 characters or less; this can be quite challenging. In “Talk like TED” by Carmine Gallo, he suggests condensing what you do into a “Twitter Friendly” headline. He says that this can be an excellent exercise even if you aren’t pitching an idea or looking for a job. It tends to provide clarity to your thoughts.

I took this advice and decided to try and define my “mission statement” or what I do into a Twitter friendly phrase. What I came up with is the following:

“Helping People Understand All Aspects of Automation”

This came out to a very condensed 51 characters. I then elaborated on each concept to ensure this is really what I meant and came up with the following:

Helping: No one can “make” someone learn. The person needs to have the desire, all I can really do is help.

People: Male or female, all races, backgrounds and beliefs, all educational levels. Yup, this is pretty much what I meant.

Understand: This means not only learning how to repeat or memorize, but to truly be able to draw ones own conclusions and create original thoughts.

All: This is very broad. Obviously I can’t include everything, but it does imply needing to think outside of the confines of the technology.

Aspects: May include societal impacts, psychology, education, financial concerns, required knowledgebase, safety and employment.

Automation: Includes Industrial (machines and processes), robotics, sensing, circuits/components/microprocessors, home automation, building automation (commercial and industrial  facilities), mechanical, electrical, pneumatic & hydraulic, software, IOT (Internet Of Things), communications and computers.

Right now I spend a lot of my time teaching for Automation Training in a fairly narrow part of this field, primarily PLCs, HMIs and SCADA. But the book I wrote several years ago covered a lot of subjects (though very shallowly); I still find myself visiting a lot of these concepts when teaching. I get people from manufacturing, process control, teachers in universities, laboratory types and students right out of school. Some people want to learn to program, and others want to concentrate on troubleshooting and maintenance. Long term, I think this statement really does reflect what I hope to accomplish.

This was a pretty effective exercise for me, plus it made the time flying today go by pretty quickly. I would encourage anyone to try it out, you might find it challenging to condense what you do even more than an elevator pitch does.

So… What do you Do?

Posted in Business, Sales and Marketing, Training Tagged with: , , , , ,

The Dangers of Not Using Local Vendors


In these days of online access to any product you can think of, it seems like your best option for buying technical products is to just find the best price and play vendors off against each other. I get offers from China often; buy cheap! We sell Allen-Bradley, Siemens, machine tool parts, tooling, whatever!

I must admit I do my share of buying from eBay and PLCCenter. Both are good for used parts, and every once in a while you will find a good vendor that happens to be located somewhere else, but here are 5 good reasons to establish a relationship with your local representative or vendor:

1. Technical Support. Some companies don’t realize that your vendor may be required by the manufacturer to hire specialist engineers with expertise in such areas as PLCs, Drive Systems and Motion Control. Allen-Bradley is a good example of this; their vendors operate within “APRs”, or Areas of Primary Responsibility. They are not supposed to operate outside of their defined area, and must support products sold by their company, for free. This is at a pretty high expense to the vendor. Its been more than 20 years since I worked for the Allen-Bradley vendor in East Tennessee, and the two engineer specialists that I worked with back then are still there. They were pretty experienced guys back then, you can only imagine what they have learned by now.

2. Education. A lot of vendors do “Lunch and Learns” on their products for their customers. Representatives from the manufacturers bring their latest products and let you check them out and answer any questions you may have. Plus you get a free lunch out of it, can’t beat that! They also often have training rooms at their facility where they do training courses.

3. Stocking Programs. In these days of JIT (Just In Time) manufacturing, some manufacturers need to ensure that there is always enough of whatever component they need on the shelf. Companies often coordinate their production schedules with vendors to ensure that components are never more than an hour away, also reducing their own storage requirements. While at Wright Industries, we had a program where pneumatic fittings and electrical accessory bins were refilled weekly. When I owned ACS, we ensured that our local cable supplier always stocked the special cable types we needed.

4. Shipping Costs/Time. This one is easy; of course it takes more time to ship products from places that aren’t local, especially from overseas. But its not as obvious that the shipping costs are already built into the pricing from your local vendor. When buying from outside area, there is not only the shipping cost from the manufacturer to the vendor, but also from the vendor to you. Some local vendors run a truck around the area and deliver their products for no additional charge.

5. A Friendly Face. Sales people perform a valuable service in terms of offering advice and education on the product itself, but when I had my own machine building company I also relied on their news about what local companies (potential customers) or even my competition was up to. I also appreciated the occasional lunch or trinkets (hats, screwdrivers, etc.) 🙂

One of the things that prompted this post is a particular customer I have that has burnt a lot of bridges with local vendors. He has had a lot of local reps come in and quote product solutions including providing design advice, then shopped the orders around the country online, sometimes even buying used equipment. Of course the locals follow up hoping to get an order, but after this has happened a few times the vendors understandably stop providing quotes. When components break down he doesn’t have the local connections to get quick replacements or repairs.

Some of this is due to a lack of knowledge about how distributors work, and some of it is due to wanting to pinch the penny until it yells, but the end result is undoubtedly higher costs and less support.

Plus, he always has to buy his own lunch!

Posted in Business, Vendors and Manufacturers Tagged with: , ,

Happy New Year 2017!


Well, its that time again where people around the world review the last year and make plans for the new one to come. While this can be done at any time of year, people often choose this particular day to reflect on what changes they want to make in their lives.

Way back in 2011 I mentioned that I often use Chris Guillebeau’s technique of an annual review followed by defining my goals for the upcoming year. I think people are constantly evaluating the past, but the new year is a particular time where they set goals connected to their previous results. Some go as far as making “New Year’s Resolutions”, though this formality can often lead to disappointment when one’s goals aren’t met. Its a well known fact that more gym memberships are sold in January than any other month.

Looking back on my last year, I did make some fairly serious changes. I moved my office from a single room in a shared space 25 miles away in Nashville to a much larger location only a mile and a half from my house. At the time I thought I was just doing it for convenience, but it has turned into much more than that.

I started creating a series of my own classes on PLCs, troubleshooting, Machine Vision and other automation topics. In support of this I was able to write and publish a new book in only four months.

I have started creating an “Automation Academy” that will eventually have at least one of every major PLC brand along with hands on stations for troubleshooting, board level work and a small machine vision lab. I hope to add a small robot at some point in the future. I have also added class space for up to eight students, and will be teaching my first Automation Training class (on Siemens S7) here January 17-20. This will be a great test of my logistics!

Last year at this time none of this was really even on my radar. I knew that I enjoyed teaching, and my overall plan was mostly focused on just doing classes for AT. I spent 38 of 52 weeks on the road last year. Though not all of them were for AT, I realized that for my own health I needed to figure out a way to spend more time at home where I tend to eat better and exercise more. Much of my goal setting for next year has been a direct result of that.

One of the benefits of having a blog like this is that when you write down your goals for all to see it makes you more accountable. Some of my friends (and even my mom!) occasionally read it and know if I’m slacking off. So here are some of my goals for the upcoming year:

1. Do not schedule consecutive weeks teaching classes out of town. I have already had to modify my original goal of being home every other week because I still have other customers besides AT, and one of them has requested some time at the end of January. I also sometimes get asked to do longer trips, such as my class several months ago in Trinidad.

2. Eat better. I haven’t mentioned this here before, but I have had a health problem (Diverticulitis) for the past four years. This has led to one trip to the hospital and several other miserable weeks getting over attacks. While doctors have given me some broad guidelines on how I should eat, its not always possible to stay strictly between the lines. I have already been pretty good about eating much less meat and almost no fast food, but I know I can do better.

3. Exercise more. This goes hand in hand with being on the road less. There is a nice gym right up the hill from my house, and when I am home I tend to use it pretty regularly.

4. Continue building on my training programs. It is difficult to put completion dates to some of my projects, since I am new to the course design process. I had hoped to have my first PLC class online by the beginning of the year since I had most of December at home, but I got pretty sick in the middle of the month, which seriously slowed me down. Among other things, my voice couldn’t be used for recording for over two weeks. I did manage to start much of the remodeling and planning of my new facility though. My new website and training software projects also made progress especially since they are being handled by others.

It goes without saying that I am also always striving to be a better husband, father, friend and mentor to all of the people in my life. I don’t really consider these to be things that I confine to goal-making and planning at the beginning of the year.

I would like to take this opportunity to wish everyone a truly heartfelt happy new year, and I hope that everyone uses this time to reflect on their goals and progress. Over the past several years I have made hundreds of new friends in person through training and thousands of contacts through professional activities and this blog. Many of you have reached out to me here and on Linked In, especially from other countries. I would like to pass on some advice and words of encouragement to those of you getting started in the automation field:

Many of you are getting formal education and degrees, while others are taking classes or online training, hoping that these will lead to better opportunities and well paying jobs. I receive hundreds of unsolicited resume’s and job requests every year from people looking for work.

One of the “resolutions” I made when I closed my business in 2006 was to never have employees again. Though sometimes I am tempted when I see the wealth of opportunities for growth out there, I have managed to turn my new business into something I am very happy doing without bringing others into the mix.

At the same time I recognize the struggles others are going through. The best thing I can advise others to do is be patient. Before trying to get a job in another country, develop your resume by getting some good experience right where you are. If you aren’t the very best where you are, why would someone who doesn’t even know you in another place want you to come there?

I get a lot of contacts from people who have just gotten advanced degrees or technical training who hope to pick up a job here in the US or outside of their home country. Even for people with lots of experience and advanced degrees this is very difficult to do. In this country you have to be sponsored by the company that hires you, and they have to show that they couldn’t find someone here to do the work. For every one of these jobs, there are thousands of applicants.

The most important thing you can do in my opinion to have a great career in the automation world is to develop a passion for the field. Of course your resume needs to have those classes, degrees and experience to get the interview, but ultimately you are going to have to convince a real person that you are a better choice than the thousands of others who want the same job. This is not something you can fake, your enthusiasm for the work needs to shine through. No class or degree is going to provide this.

I hope everyone has a wonderful 2017, and remember to keep learning!

Posted in Life, Thoughts Tagged with: , , , , ,

Automation Training is Hiring!


As many of you know, for the past three years or so I have been teaching PLC, HMI and SCADA classes for Automation Training, a Canadian company. During that time I have visited many places and met a lot of great people.

Now Automation Training has grown to the point where they have more class requests than they have instructors to teach them. The owner, Steve Woodhouse, asked me last week if I knew of anyone who might be interested in teaching for AT, and I told him I’d look around.

I do know several good integrators in my area who might be good candidates; they have the requisite experience. But as I mentioned to Steve, knowing how to do something does not necessarily make someone a good teacher of that thing.

What Automation Training is looking for is someone who knows primarily Allen-Bradley or Siemens PLCs very well (5-10+ years of in-depth, continuous experience) and has good communications skills and patience. Oh, and there is of course travel involved, but most people who work with PLCs, at least as integrators, are used to that. Most of the classes are on the AB SLC-500 and ControlLogix platforms, and the Siemens S7-300 or TIA platforms. AT also holds classes in WonderWare, FactoryTalk View SE and ME, Kinetix Motion, Safety PLCs and more, but the vast majority of class requests are for AB and Siemens PLCs.

If you think you might be interested in teaching classes for Automation Training in the US or Canada you can contact Steve at 866-532-7628 or through the website at If you have any questions on what its like to teach classes for AT you can also contact me here and I’ll get back to you. You would be working as a contractor, so this is not a standard employment position. This type of work is best for people who already contract as an integrator or who are semi-retired from a teaching or technical position.

I’ve really enjoyed teaching for AT and hope to continue doing it for the foreseeable future. You get to meet a lot of different people and see a lot of places, and you have control over which weeks you want to work. Overall I recommend it highly!

Posted in Contracting, Training, Travel Tagged with: ,

PLC Hardware and Programming – Multi-Platform Manual

Over the past few months I’ve mentioned that I am working on a new online course for PLC’s. Almost a month ago I posted a request for pictures due to some of the publisher restrictions on that sort of thing. I’m happy to say all of that has been resolved, and the manual has officially been published! The above video explains how you can get one, either from me or online at Amazon, Barnes and Noble and various other places. If you are annoyed by videos, the gist of the one above is that I now have a bunch of copies and am selling them (via PayPal only at this time) for $32 + shipping. This is a couple of dollars less than Amazon, who has it listed at $33.99. Just send me an e-mail at and I can hook you up.

This video is the intro to the course itself that I have posted on the course site. It’s an overview of the course, but since the course follows the outline of the manual it also gives you an idea of what’s in the book. This is NOT an advanced course, and it is not specific to any particular PLC, but it does leverage Allen-Bradley and Siemens more than others. It does discuss most types of available instructions and has a pretty cool PLC and computer history section. I plan on creating an advanced technique-based course after I finish this one.

The process of creating the manual and the class has involved a pretty huge learning curve. Among other things I have had to learn the LMS (Learning Management System) platform on Thinkific, The video editing software from Camtasia, self-publishing with AuthorHouse, and how hard it is to record yourself through many hours of retakes. These two videos use some of the features available on the Camtasia program, including audio music clips, fading, pixellating and a bunch of other little details. While I am getting better at editing and producing all of this, I’ve got a long way to go before I’m a pro. Speaking in front of the camera is one of the particular things I’m learning a lot about. I teach classes for Automation Training all over the country several times a month and have no problem getting in front of people and speaking, but its a lot more difficult when I have some specific rehearsed thing I need to say.

I’ve learned some interesting things about myself while doing it though, like if you tilt your head up when you speak you can come across as an arrogant a$$, if you tilt your head down you can look very confused, and waving your hands around for no apparent reason (“gestures”), can distract people from the fact that you’re kind of funny looking. Oh, and that I’m old and have hair growing out of my ears.

Anyway, if you are interested in picking up a copy of the manual send me an e-mail, or visit one of the stores I listed above. I’d love some feedback on it. There are several exercises in it, and though the answers are in the back of the book, if you e-mail me with questions I’ll be happy to discuss them with you.

Posted in PLCs, The Course Tagged with: , , ,