Essen Messe, June 5, 2019

Last week I attended a trade show in Essen, Germany. It was a fairly small one as trade shows go, but the company Fischertechnik, whose models I use for my training simulators, was there and I needed to discuss some ideas and gather information. I spent a week traveling through Amsterdam and Brussels, Belgium on the way to the show and made it a bit of a working vacation.

It was interesting to contrast trade shows in Germany with those in the US. I have attended several of the larger ones in the US including Automate in Chicago and many of the Rockwell Automation Fairs. I also used to participate in some of the regional ISOA shows, exhibiting my own products as well as some items sold by controls vendors. Notable was the lack of major PLC vendors such as Siemens and Rockwell, though I thing Rockwell doesn’t do much outside of the Automation Fair any more.

As you might guess, a lot of stuff was in German. And not everyone spoke English. And some of the product brands are not commonly used in the US.

But some of the product names looked quite familiar, and was in English! There were also lots of goodies such as pens, bags, candy etc. I picked up a cool little piece of cable track (“cat track” for some of you old-schoolers) from Igus. I had no idea they made it that small, useful for some of my simulations.

There were dancing robots, these guys knew where each other were at all times….

And of course Fischertechnik had an Industry 4.0 factory demo there, though it won’t be out for another month or so, and the PLC-Ready version won’t be out until 2020.

I did get a lot of my questions answered about the product, and was able to make some connections in Europe. As I mentioned in a previous post, these models are in use in technical schools in Germany, and I think that there is potential to use them here. There is something about making things move that motivates students and helps them visualize things better.

This post is more about the trade show itself though. After I’ve had a chance to edit some of the videos I took of the new Fischertechnik model I will write a post about that also.


Today’s post is actually a video… I have mentioned before that I feel kind of like I’ve run out of things to write about. So this is a video I made about my new training equipment.

I hope to start putting more video content here. I recently upgraded my Camtasia software and so far it seems much easier to use than the old version. This should make it easier to put some good PLC programming examples on this site and hopefully be a bit more regular on this site.


My New Book is Out!

Hello all, I know its been a long time since I last posted, a lot going on here. Most importantly, my new book, Advanced PLC Hardware and Programming, is officially on sale! Final edits were done last week, and the official release date was April 8, 2019. I ordered a physical copy and after inspection decided to have it printed on a heavier paper even though it cost me a bit more.

It’s a pretty big book physically, 8 1/2″ x 11″ x 0.94″, 346 pages and 2.4 lbs. The information density is pretty high, but there really is a lot of advanced stuff in there. My class manual, PLC Hardware and Programming Multi-Platform, makes up the first part. This is a generic approach to PLCs with 12 exercises explaining most of the basic PLC hardware and software concepts, including all of the typical instruction types found in PLCs. It also has a pretty good history of PLCs and computing devices and most of the basic PLC math concepts you need to know.

The second part I call “The Art of PLC Programming”, and it goes into more detail about the types of routines used in industry, and most of the concepts found in the PLC tab on this blog. It also describes some of the different kinds of training equipment available, leading to the final exercise, which is writing a program for the Fischertechnik Trainers I have discussed here. The answers to all of the exercises and a printout of the completed trainer program for the Color Sorting Conveyor application is printed in the back of the book.

The final section of the book is specific to Allen-Bradley and Siemens PLC platforms. There are full instructions for building an Allen Bradley program on both RSLogix500 (SLC and MicroLogix) and RSLogix5000 (ControlLogix and CompactLogix) platforms. The same is true for Siemens, I made complete instructions for programming both Siemens Step 7 (S7-300 and 400) and TIA Portal (S7-1200 and 1500). Most of the instruction sets for all platforms are there, plus a pretty complete description of the hardware. Lots of advanced material there too, including AOIs, Tasks/Programs/Routines, OBs, FCs and FBs and the way all of it fits together.

Overall I think its the best book available anywhere for PLC programming, but of course I am quite prejudiced since I wrote it. I’d love to hear your feedback, and if you buy it on Amazon I’d like an honest rating. When I had my first book Industrial Automation Hands On published, I had no control over much of anything. McGraw-Hill was the publisher and the priced the book and even picked the name.

This time, I published it myself under my company name, Automation Consulting, and had it printed through Ingram Spark. It is still available at all bookstores and outlets, but I was able to do everything my way. My daughter’s company, Huckleberry Branding, did the editing and the cover, while I did everything else. So now I have the ability to publish books for myself and others, let me know if you have an automation-related book that YOU want published through my company!

One thing McGraw-Hill did was sent books to a bunch of reviewers for free. There were three problems with this. One: most reviews now are on Amazon, and the books were not purchased from Amazon, so they don’t show as verified purchases. Two: Since the books were free, it is hard to say that the reviewers had an unbiased opinion. Three: for me, the books cost money to print and ship. And once again, even if I sent a copy to prospective reviewers, they wouldn’t show as verified purchases on Amazon.

So I really don’t have much of an answer for this. It is up to me to promote and advertise the book as much as possible. If you clicked the link at the beginning of this blog, it goes to the Amazon page for the book. It is advertised for $65, which is the list price I entered into Ingram’s site based on the printing cost. I will be selling the book on my website and on my new Amazon storefront “The Automation Arcade” for $55, but it will be a while before either are active. I also can’t ship for free like Amazon can.

So anyway, I hope you buy the book, I think it is worth it. If you take a class from me here at my place in Tennessee, the book comes with it.

Again, I think it’s the best, most advanced PLC programming book in the world, and I hope you agree.


Just an update on my PLC Trainer project. These are two of the Allen-Bradley Micrologix 1400 Trainers along with the Fischertechnik models I mentioned in my last post. The program and documentation for the Color Sorter, shown at left, is completed. I am still working on the program for the High Bay Warehouse, shown at right.

I received my first order for a trainer and Fischertechnik model, the High Bay Warehouse. The Light Blue enclosure on the left is the finished trainer, which will be delivered in a few weeks along with the model. The manual for the model is pretty much completed also with exercises that step a programmer through the procedure of writing a full program. The beginning part discusses System Functions, Auto, Manual and Autocycle. All of the beginning parts of the program for all trainers is the same. It then instructs the programmer in setting up the inputs and outputs, making them work together with permissives in their own routines. For all models there is an analysis section where the programmer discovers physical parts of the models such as numbers returned by the color sensor in the Color Sorter, pulses versus distance on the conveyor, and encoder positions for the horizontal and vertical axes on the Warehouse model. This information is then used in writing the Auto Sequence(s) and Faults.

I am also working on the PLC Hardware and Programming final edition with Hardware (Allen-Bradley and Siemens) and the advanced topics I mentioned earlier this year. Because students (and instructors) will need the information in the advanced section, I have been working on the topics in a separate document tentatively titled “The Art of Programming”. Most of the topics in the PLC tab of this blog, including System, Inputs, Outputs, Auto Sequencing and Faults are included in this document.

I wrote most of the above referenced posts over five years ago, so they are different than this site’s articles, but they still use the generic approach I use here. The “Art of Programming” document and the appropriate hardware section for the PLC platform purchased will be included with orders, along with the trainer and Fischertechnik manuals and both incomplete and completed PLC programs.

A bit more about Fischertechnik: As some of you may know if you follow this blog, I spent a lot of time looking for lower cost options than some of the trainers and models I use for my classes.

While these trainers and the conveyor are awesome and certainly do the job, they are very expensive.  I have discovered over the last few years that students do like the hands-on approach of using moving equipment, but the conveyor and trainers shown above are over $4000 each! Hence my search for e less expensive alternative.

As I mentioned in my previous posts on this subject, the trainers have very few components, and therefore take less labor to build. I also buy the Fischertechnik models from the US representative at a discount and am able to pass the savings along to the user. I can sell the models at list price this way if an enterprising programmer wishes to mate it up with their own trainer or build it as a kit.

When I complete all of the documentation and programs for these models I intend to sell them on my business website. If I can interest colleges and plants in my training programs, I think this will evolve into something beyond what current classes have to offer.


I mentioned in my last post that one of the projects I have been working on is to build less expensive, more functional training accessories than are currently on the market. The picture at the top of this post is of the plastic boxes and touchscreen plates that I designed and had fabricated by a local plastics house.

I have finished the first prototype and have connected it with the small Fischertechnik factory toy I described a few months ago. It has been pretty fun putting together this little project, but to make this a marketable idea I have a ways to go. Let me describe some of the features I have included that will make it better than anything else on the market:

First, my goal is to make it as inexpensive as possible, hence th plastic enclosures and simple wiring. There are few terminal blocks, almost everything is direct wired. I did use ferrules on everything, but rather than wire labels the schematics will only have color codes. This should reduce labor costs.

The touchscreen is a Chinese model that I have used before on some projects. It is less than a third the cost of even an Automation Direct “C-More” of equivalent size. The buttons and lights are also from less costly sources. Notice that there is an EStop, power button and an MCR, this simulates many machine control systems I feel that this can be an important training feature. The three lighted pushbuttons on the left simulate a stack light, also a standard in many industrial applications.

My training programs are focused on what’s actually used in industry, and this trainer works well with the manual I have already created. The cable that goes to the little factory will be standard for all the factory attachments I create. So far I have the three from the Fischertechnik demos, but will be creating standardized pushbutton/pilot light attachments similar to those used on my other training demos.

The advantage of the touchscreen is that I have created Pushbutton Screens (64 buttons and indicators), Integer Screens (64) and REAL data screens (32). Each field can be labeled using a pop-up keyboard from the touchscreen. This makes it a much more flexible training system than any of the more expensive trainers on the market.

I am also creating documentation and training manuals for each of the attachments and applications I build. This takes a while, but one of my customers has already ordered a couple.

In retrospect I wish I had ordered the boxes in solid colors. I am painting two of them, but I will have them made in solid colors when they are ordered. As you can see, the faceplates are already available in a variety of colors.

My wife gave me some good advice: only paint two for now before you see what it will look like. I am painting the inside, so the color will show through. When I ordered the original enclosure, I thought it would look cool to see the wiring inside: I guess that depends on how artistic you are when wiring. I made the first prototype, my wife is making the second I’m sure hers will look much better than mine.

Anyway, that’s where I am at on this project. By next year I hope to be marketing these online, I have a lot more documentation and testing to do before I’m ready. I also don’t intend to manufacture these myself, its not the best use of my time. Besides, I’m not so artistic at wiring 🙂

I will be looking for other options/partners etc. when it comes time to produce lots of these. Drop me a line if this is an interesting topic for you!


So I guess its pretty obvious I haven’t posted for a while… and I really don’t have any good excuses. Of course I still travel a lot, and I am still working on a lot of projects when I’m in town, but you would think I could make time to post something here.

Part of it I guess is that I haven’t had a lot of feedback lately. I honestly can’t think of any unique topics that I haven’t written about already, or that aren’t thoroughly covered somewhere else. So if you have something you’d like me to discuss, send me a line and I’ll try to write about it.

I’m still teaching lots of classes, both at my facility and on the road for Automation Training. I’ve still been doing work in Miami at the bottling company, upgrading some of the equipment and working in their Ignition SCADA system.

I’ve done a little more work on my PLC book, added some Siemens material to it. I still use the original PLC Hardware and Programming manual when teaching my own material, but I have several platform based printouts that I use when teaching custom stuff. Hopefully I’ll be able to finish the book next year.

I finished my first trainer for my hands on classes and will be using it next week for a custom student. Still working on the HMI, a Samkoon SK-070HS. There is a serious lack of documentation for the software, but I think I’ve got it worked out. It also integrates with the Fischertechnik demos, but I haven’t had time to work on that part much. I’ll post some pictures when I get a chance to upload them.

So yes, I’m still alive, even though the site doesn’t seem to be. Let me know if there is something specific you’d like me to cover.


Today’s post relates to a new method I am using to teach some of my advanced classes. In a basic PLC training class, pushbuttons and pilot lights built into a trainer are used to complete exercises, usually in order to illustrate the use of different instructions on the PLC software platform. Advanced classes concentrate more on the techniques used in programming, such as Auto Sequences, Part Tracking, and other System functions.

Making all of the elements of a properly organized program operate together can be a daunting task. All of the different types of routines I have described in my previous PLC articles relate to each other, coils and Move instructions from one routine often drive contacts and comparison instructions in others. For contacts that represent the state of a machine or sequence they are easy enough to test; after all, things like Auto/Manual Mode, AutoCycle and even Faults are generally indicated by internal memory bits.

Inputs and outputs however are a different story. In a larger machine or system, they represent a lot of different types of sensors or output devices. With the trainers that are often used in training classes, you quickly run out of buttons, switches and pilot lights to substitute for your real world devices. Input devices such as buttons, switches and potentiometers also don’t react automatically in real-time to sequences and output commands.

This is where a Simulation routine can be useful. The output logic shown above is similar to those I used in my Ladder Logic 202 article from several years ago. In this illustration, notice that the inputs and outputs are “aliased” to memory bits rather than real world I/O. If you are using a platform other than Allen-Bradley, don’t worry; the point is to uses internal memory rather than real inputs and outputs.

When the Z-Axis_Lower_SV output is activated in a real machine, the Z Axis Lowered sensor would usually be activated automatically. Since this is not a real solenoid valve driving an air cylinder with a sensor on it, we need to simulate the sensor being made.

This timer circuit does the job nicely. Notice once again that a memory bit needs to be used to simulate the input. The input memory bits can then also be used in the auto sequence to step from one sequence state to the next. The EnableOut bit is used in case a Fault needs to be simulated. If the bit is disabled, it is as if the output activated but the input was never detected, the fault timer will then time out and latch a fault condition.

Also notice here that a “latch” or “set” bit is used for the input. This is especially important for solenoid valves that are turned off when the sequence proceeds to the next step. When the output goes off the simulated sensor will stay active.

It is best to put all of the simulation rungs in a separate routine. If the program is not just for training but for a real machine, the simulation routine can be removed or disabled later. Simulated I/O can also be replaced later with the real stuff.

What about analog values? Once again, a timer is used for the simulation. In this case, the tank level will increment by five every twenty milliseconds. Both the timer value and the tank level addend can be adjusted to achieve the desired result. There is more conditioning that should be done to simulate a real tank, but this shows the general idea. To drain the tank, use a subtract instruction. This can be used to test PID instructions also.

I have started using this technique in some of my advanced classes. About a month ago I taught a class where we wrote a palletizing program. Students used pushbuttons and pilot lights for some of the I/O, but for sensors that we wanted to react automatically I showed students this technique and it worked quite well. Since real I/O is pretty limited on training equipment it also allowed for writing much larger programs.

Hopefully this will inspire you to use this technique when you need to test your program. Often real equipment is not available during the design phase of a project, this allows the programmer to test some of the more critical code before deploying it on a machine. With an HMI, it even allows for visualization of the process via animated objects.


Courtesy of

This post is another guest post from MRO Electric. I thought it was an interesting topic.

PLC Security In The Heating Industry: Keep Your Friends Close, and Your Enemies Closer

No one understood or more succinctly described strategies and philosophies of war than the great Chinese general, Sun Tzu. Despite living and penning these words of wisdom almost 2700 years ago, leaders of today still apply the tactics described in the Art of War in in the technology-driven world we live in today.

Sun Tzu also said, “To know your Enemy, you must become your Enemy.” Now as a control engineer working for a reputable organization no one is advocating that you become a dark web hacker to understand the challenge you are facing when creating security for PLCs, but there is value at understanding who the enemy is and what their motivation and techniques may be.

When PLC’s developed in the early 1970’s replaced relays in control systems for automotive assembly lines and rapidly adopted and integrated across the industrial landscape security was entirely physical as there was no access to these systems outside a given facility. Times have obviously changed dramatically.

Advances in technologies involving M2M communications has given organizations access to massive amounts of data that can be translated into actionable information leading to better and more timely decision making. The rise of IoT has quickly brought access to this volume of valuable data over the internet. Machines can now be connected anywhere on the planet. This increased connectivity and access has also greatly increased the vulnerability of networks and the machines and PLCs utilizing them.

Whether it be the heating or manufacturing industry, security has come to the forefront and must be a top concern and consideration during all phases of design and implementation. So, who and what constitutes the primary threats in the machine builder environment for those in the heating industry utilizing PLCs? Here are some considerations:

New Threats
Malware has been the primary cause of most disruptive and destructive attacks over the last decade. Hacktivist would target an organization or industry based on their own beliefs with a goal of causing massive disruption and destruction. An often-cited example is the 2010 Stuxnet malware attack on the Natanz nuclear facility in Iran that resulted in the destruction of 1000 centrifuges. Over the past few years we have seen a rise in the number of attacks utilizing Ransomware to hold organizations as well as individuals sensitive or proprietary data hostage. Unless exorbitant payments were made the victim’s information or digital assets would be destroyed or leaked to the public.

In sports, the cheaters and dopers always seem to be one step ahead of the regulatory agencies trying to maintain a level playing field. The Academy Award winning documentary Icarus illustrates just how far individuals and states will go to cheat the system and stay ahead of doping controls. The same is true of hackers. It is much easier for any hacker to take advantage of the cracks in a new emerging technology than it is for an organization or industry to create impenetrable security measures.

These threats used to emanate mainly from small groups of hackers hiding in the shadows. Today organized crime groups and even state-sponsored action constitute the greatest threats. Syndicates have the money and the muscle to employ the most accomplished hackers on the planet, who are all available for a price. The proliferation of nation-grade malware has put these powerful weapons in the hands of individuals who can inflict as much harm as a rogue nation.

Change is Constant

Today, attacks tend to happen quickly and are relatively short in duration. Even though a breach can usually be eliminated swiftly, the fallout and damage can be more far-reaching and lasting. While attacks against infrastructure such as the electrical grid or water supplies could pose an imminent threat to human lives, those targeting consumer data can be equally as devastating. A company or industry’s reputation may never recover in the wake of such an event.

Markets and Industries are moving quickly. Companies are seeking to be innovators or disruptors and are racing to be first to market and are under intense pressure to perform. We are now in the midst of the rapidly emerging 4th Industrial Revolution and continue to see Moore’s Law on display as technology and innovation continue to accelerate at a dizzying pace. What constituted state-of the-art security in any industry 12-18 months ago can be woefully obsolete today.

Even though it may be impossible to eliminate all security breaches in systems and devices, machine builders can never rest on their laurels and have to remain proactively vigilant to maintain the best PLC security that can be incorporated into a design. These are the new battle lines in 21st century digital warfare. Sun Tzu said, “Invincibility lies in the defense.” How strong is your defense?

Security Factors:

  • Although it may not actually connect to the internet, a control system is unsafe. Contrary to popular belief, a modem connection could also experience intrusion and a hack.
  • Wireless networks, laptop computers, and trusted vendor connections could be other sources of connections in which people may be likely to overlook.
  • Keep in mind that the majority of IT departments are unaware of factory automation equipment, including CNCs, CPUs, PCBs, robotics parts and, last but not least, PLCs.
  • Piggybacking off of the last point, IT departments’ lack of experience with the aforementioned equipment, along with their lack of experience with industrial standards and scalable processes indicate that they should not be in-charge and responsible for a company’s PLC security. Nobody wants an annoyed employee to make inappropriate changes to a PLC’s communication highway.
  • Hackers do not necessarily need to understand PLC or SCADA to block PC-to-PLC communication. They absolutely do not need to understand a PLC or SCADA system to cause operational or programming issues.
  •  Often times, control systems, including ones that many PLCs integrate with, use Microsoft Windows, which is very popular amongst hackers.
  • Some PLCs crash simply by pinging an IP address, like what happened at the Brown’s Ferry Nuclear Plant, which is located in upstate Alabama. Since the incident in 2006, the plant has undergone numerous security, operational, and management improvements.

In conclusion, when a security breach occurs, regardless of the specifics, understanding that time is of the essence will help smooth over most incidents. Trusting who has access to a control systems environment and thumb drive is crucial. If someone has access to the control system environment and thumb drive, ensure they’re well-qualified and up-to-speed with their team and/or company.

Joseph D Zulick is a manager, writer, and editor at MRO Electric and Supply.


As part of a consulting project I am involved in, I have created a list of acronyms and terms that are used in manufacturing and industrial automation. These are terms and acronyms from Lean/Six-Sigma, controls, electronics, business software and general corporate use. Part of the reason I did this is to ensure that everybody is on the same page when discussing different topics; everyone’s background is different and especially with acronyms, some are duplicated.

I plan to update this list regularly since it seems like a good resource. Please throw any of your own ideas in!


5S – Sort, Set in Order, Shine, Standardize, Sustain. (Seiri, Seiton, Seiso, Seiketsu and Shitsuke).
Andon – System to notify management, maintenance, other workers of a quality or process problem via signal lights or audio.
ANSI – American National Standards Institute
API – Application Programming Interface (System specific program interface, MS Windows)
ASCII – American Standard Code for Information Interchange (represents text in computers)
ASME – American Society of Mechanical Engineers
Best Practices – Method or technique that has been generally accepted as superior to any alternative because it produces results that are superior to those achieved by other means or because it has become a standard way of doing things, e.g., a standard way of complying with legal or ethical requirements.
BI – Business Intelligence
CE Marking – A certification mark that indicates conformity with health, safety and environmental protection standards for products sold within the European Economic Area.
CRM – Customer Relationship Management
DBMS – Database Management System
DCS – Distributed Control Systems
DQL – Data Query Language
EATM – Enterprise Appliance Transaction Modules
ECO – Engineering Change Order
ECR – Engineering Change Request
ERP – Enterprise Resource Planning, automating back office functions.
ERP II – Expanded ERP, goes beyond corporate walls to interact with other systems. Web based software that provides real-time access to ERP systems for employees and partners.
FIFO – First In First Out
FMEA – Failure Mode Effects Analysis. A step by step approach for identifying all possible failures in a design, a manufacturing or assembly process, or a product or service. “Failure mode” means the ways or modes in which something might fail.
GRP – Government Resource Planning (ERP for public sector)
GUI – Graphical User Interface
Heijunka – Smoothing of production, production leveling
Heijunka Box – Visual scheduling tool
HMI – Human Machine Interface
HTML – Hyper Text Markup Language
IEC – International Electrotechnical Commission
IEEE – Institute of Electrical and Electronics Engineers
IP (as in IP67) – Ingress Protection. An electrical rating for resistance to water
ISA – International Society of Automation
Jidoka – A quality control method
Jishu Hozen – Autonomous maintenance, a pillar of TPM
JIT – Just In Time
Kaizen – Improvement, continuous improvement
Kanban – Pull Systems
Kohai – Junior
KPI – Key Performance Indicator
Lean Enterprise – A practice focused on value creation for the end customer with minimal waste and practices.
Lean Manufacturing, “Lean” – Systematic method for waste minimization (Muda) without sacrificing productivity.
Lean Six Sigma – Six Sigma applied with the principles of Lean Manufacturing
LIFO – Last In First Out
MES – Manufacturing Execution Systems
MMI – Man-Machine Interface
MOM – Manufacturing Operations Management
MOS – Manufacturing Operating System
MRP – Material Requirements Planning
MRP II – Manufacturing Resource Planning
MTM – Methods Time Measurement
Muda – Waste Minimization
Mura – Waste though unevenness in work loads
Muri – Waste created through overburden NEC – National Electrical Code. A US design standard on electrical wiring and equipment.
NEMA – National Electrical Manufacturers Association
NFPA – National Fire Protection Association
NPN – Type of transistor used for sensors, “Sinking”.
NUMMI – Toyota GM joint venture
NVA – Non Value Adding operations.
OEE – Overall Equipment Effectiveness
OIT – Operator Interface Terminal
OSHA – Occupational Health and Safety Administration
P&ID – Piping and Instrumentation Diagram
PID – Proportional Integral Derivative. A method of process control.
PLC – Programmable Logic Controller
PLM – Plant Lifecycle Management (Process of managing an industrial facility’s data and information throughout its lifetime)
PLM – Product Lifecycle Management (Process of managing the entire lifecycle of a product)
PMTS – Predetermined Motion Time System
PNP – Type of transistor used for sensors, “Sourcing”.
Poka-Yoke – Error Proofing
PPM – Planned Predictive Maintenance
PPM – Parts Per Million
Prox – Proximity switch, usually inductive (detects metal)
PWM – Pulse Width Modulation
QC – Quality Control
QD – Quick Disconnect (cable)
RPN – Risk Priority Number (used in FMEA)
SCADA – Supervisory Control and Data Acquisition
SCARA – Selective Compliance Assembly Robot Arm, a form of robot
SCM – Supply Chain Management
Senpai – Senior
Sensei – Teacher
Sinking Sensor – An NPN solid state sensor
Six Sigma – SQC applied to business strategy
SMED – Single Minute Exchange of Die
Sourcing Sensor – A PNP solid state sensor
SQC – Statistical Quality Control
SQE – Software Quality Engineering
SQL – Structured Query Language
Takt Time – Average time between the start of production of one unit and the start of production of the next unit
TEEP – Total Effective Equipment Performance (OEE vs. Calendar Hours)
Time and Motion Study – evaluation of personnel/human activities.
Timing Chart – used for machine design
TMU – Time Measurement Units (0.00001 hours, 0.036 seconds)
TPM – Total Productive Maintenance
TPS – Toyota Production System, flexible mass production.
TQC – Total Quality Control
TQM – Total Quality Management (US Department of Defense (DOD))
UL – Underwriters Laboratories. An American safety, consulting and certification company.
Value Stream Mapping – Lean management method for analyzing the current state and designing a future state for a product. Charts a series of events that takes a product or service from its beginning through to the customer. Focuses on areas of a firm that adds value to the product or service. Also known as material and information flow mapping.
VFD – Variable Frequency Drive
XML – Extensible Markup Language


Part of the purpose of this list is to illustrate that words and acronyms can mean different things to different people, especially from different disciplines in the workplace. Make sure that you and the person you are communicating with are “on the same page”!


Today’s post is a guest post on HMI programming from MRO Electric, an automation product supplier.

Designing HMIs for Mobile Devices

Well-designed human-machine interfaces (HMI) reduce operator error, saving companies millions of dollars by reducing down-time and increasing worker safety. HTML5 programming enables the transfer of HMI designs to mobile devices, but programming is just the enabler. Let’s learn some best practices for HMI design elements that are specific to mobile devices due to size and interface considerations.

Blend In to Stand Out

A well-designed HMI reduces user error from misunderstandings or not having all relevant information available when they need to make critical decisions. The key to designing a successful HMI on a mobile interface is building one that is functional and, at the same time, delights the user. Most users are going to be running either Apple’s iOS or Google’s Android. Design your interface to blend in to the native platform that the user is comfortable with. Make heavy use of the native UI features for each platform wherever possible. This will make your life easier as the platforms evolve and the users update their operating system; ultimately making your users feel immediately at home when they open your application.

Navigation and Layout

The users of your HMI will need to be able to do two things: view content and navigate to content they want to find. On a large screen HMI best practice is to minimize the number of physical screens to simplify navigation. An example of a well-designed HMI on a large screen might looks like this. The content is well organized and all of the summary information is immediately visible. Each of these views can be further expanded following a hierarchical navigation structure.

Source: The High Performance HMI Handbook

On a mobile device, however, having this amount of visual information on a single screen would be incredibly difficult for a user to interpret. Best practices instead are to prioritize user actions and the number of paths to reach the information they need vs minimizing the number of screens. Start by presenting a system level view which has the minimal level of information then provide navigation paths connecting different views for the users to follow. At each view, the content should fill the entire screen, while translucency and blurring can hint at more information. Avoid the use of bezels, gradients, and drop shadows as they introduce noise which takes the focus from the views content.

Navigation through your app should be intuitive and predictable. A good choice for a navigation pattern is a slide navigation drawer which displays many navigation targets at once, yet remains hidden until invoked by the user. This allows you use the entire screen for content while still maintaining a rich navigation model between parent, children and sibling views. This navigation model will also allow a user to quickly switch between unrelated views, while maintaining the ability present a deep hierarchical structure. It will also help your users learn about alternative views or features while building a mental model of how to interact with the system through your HMI.

System Control and User Actions

An HMI designer must consider the developer model and the user model as they create and HMI to interact with the system. On a mobile device, we can state these more clearly as what visual controls are we presenting to a user and how are they going to interact with these controls. A general rule of thumb is whenever the number of possible actions exceeds the number of controls, you are likely going to confuse your users or obscure valuable features of your HMI. For example, you wouldn’t want to hide critical information behind a long press because the user may never find. Instead, you might add an info button in the top corner of the screen as an overlay. This design will subtly guide the user to discover the information without being intrusive or vague.

A number of control models have been developed for mobile interfaces to help minimize confusion for the user. Some common control models are: when something can only be on or off use a Toggle Button. If the user can only select one option, but this option has a range of possible values, such as screen brightness, use a slider. If the user can only select one option with a range of values, but they need fine control use a stepper button. If a user needs to select one of many categorical values use dropdowns or scroll wheels. As a last resort use text entry, as that is the slowest and most error prone way to interact with a mobile device. You can also combine tactile feedback through a vibration or sound with any of these control functions, however tactile feedback should be used carefully and only to bring visibility to interactions where visual cues are not enough.

You should design your controls with the thought that if that an error is possible, someone will make it. Therefore, design to minimize the chance of the error in the first place, or its effect once it is made. Maintain enough spacing for controls so that the users are able easily access them without making unintended touches. Also, make use of full screen pop ups to confirm actions that can have effects that are difficult to reverse.

For mobile devices gestures, such as tapping and swiping, are the ideal paradigm for users to interact with your HMI. Reusing common gestures will ensure your app behaves in a predictable manner. Some common gestures that you should make use of when bringing your HMI to a mobile screen are shown below:

Design with Scale in Mind

Traditionally, HMI have fixed screens and physical controls that you can design towards. When creating an HMIs for mobile devices you are no longer guaranteed a common screen resolution. As a result, UI elements (such as a button) appear physically larger on low-density screens and smaller on high-density screens. Because of this, you need to ensure that your visuals such as text, icons and graphical images are clear at every screen size you expect your users have. To help you create a HMI that can fit a variety of different resolutions, follow these ratios so that your images, controls and text will look the same when displayed across multiple screen sizes.

Wrap up!

We have laid out some best practices for moving an HMI to a smaller screen. We have talked about how the basic rules of good design still hold; provide a good conceptual model and make things visible. However, there are certain unique challenges that must be designed around such as only being able to show limited visual information and a different user interaction paradigm.. What are some design rules that you have found useful when building HMI on mobile devices?

Joseph Zulick is a writer and editor at MRO Electric.