How to select the correct factory automation controller for your application

Picking the right hardware is critical, but users also need to make sure they include controller programming software in the evaluation process.

By Jeff Payne, AutomationDirect January 2, 2018

When selecting a controller for factory automation, it’s not just about if a programmable logic controller (PLC), programmable automation controller (PAC), or industrial personal computer (IPC) should be used. It’s also about defining application requirements including control basics and scalability for the future.

However, the programming software platform can be just as important as selecting the right hardware and needs to play a big part in the decision-making process.

Whether it’s machine or process control, typical families of controllers include PLCs, PACs, and IPCs. There are many differences among these controller types, but their features and functionality are merging.

While the PLC was first to the game as a relay replacer, it remains the best choice for small- to medium size-applications. PLC capabilities are growing as new technologies are adapted. Many lower-end models use ladder logic programming, which is sufficient for most applications. More expensive PLCs are able to use function block and other IEC 61131-3 programming languages.

The PAC adds capabilities to the PLC including improved motion, safety, and vision capabilities. PLC-based PACs also are available as a subset of this class of controllers, providing PAC power with easy functionality of a PLC. IPCs are ideal for more complex applications because of their more advanced features and the ability to work with additional languages, such as variants of C.

Regardless of which controller family is chosen, vendors offer a wide variety of controller form factors within each family, from small, medium, or large (see Figure 1).

Within each family of controllers, there are many configuration options and different combinations of built-in and remote input/output (I/O). There are also communication options from simple serial to Ethernet. Hardware configurations also may include standalone controllers with built-in I/O, often called bricks, which can be expanded with stackable I/O and rack-based options.

Controller selection considerations

While understanding and evaluating the controllers’ specifications is critical-application requirements, plant personnel capabilities, and future connections are also important factors in the decision process. Key controller selection considerations include: 

  • Automation experience of plant personnel
  • Number and type of I/O
  • Required control functions such as closed-loop proportional-integral-derivative (PID), motion, and speed
  • Communication options
  • Data collection requirements
  • Special function requirements.

Some facilities are automation-savvy and can handle a wide range of controllers and equipment while others have limited familiarity with newer technologies. PLCs are the primary automation tool for many industries and applications because they provide accurate, reliable, and modifiable control while being easy to work with due to their widespread use and familiarity.

If plant personnel are new to using PLCs, consider using a PLC that is small and simple. These controllers are designed for easy expansion while having many of the features present on larger PLCs. 

PLC selection, applications

The next step is examining application requirements. A good starting point is to estimate the number of discrete and analog I/Os. A list of major components, such as actuators and cylinders—along with position and presence sensors—will help determine an accurate count.

In addition to discrete machine and analog process functions, some PLCs have evolved to perform complex tasks, such as motion and PID control (see Figure 2). This type of controller can handle complex applications such as a high-speed packaging line using registration alignment or synchronized velocity control with encoder feedback.

Servo and variable speed drives used for some motion control functions don’t always require coordination, but they still can be quite complex in terms of communication and other requirements. Many controllers can communicate to multiple drives at one time to command position, speed, or torque. RS-232, RS-485, Ethernet, and other options are all valid choices to communicate to drives. Choosing a digital communication protocol is a better choice compared to a discrete I/O because they simplify wiring, allow more parameters to be monitored and commanded, and is more flexible when changes are needed.

Data collection requirements should also be considered. Fortunately, many controllers, even the new small PLCs, have built-in communications, data logging, web server access, and email capabilities. The ability to write data to micro SD cards is another feature worth having along with web server functionality and remote access.

Some applications require safety ratings to meet regulatory requirements. While the application may suggest using a safety-rated PLC, using a non-safety rated PLC along with one or more programmable safety relays can reduce costs while providing the functionality that is required. 

Evaluating software programming

Software programming is about half the effort on a typical automation project, but the time required to program the controller and the required level of expertise can vary widely depending on the controller programming software (see Figure 3). Controller programming software considerations include: 

  • Ease of programming
  • Preferences and comfort zone
  • Time and money investment
  • Available training resources
  • Data logging and remote access.

Simple—and sometimes free—software with limited programming instructions covers most applications suitable to use with these small controllers. While some controllers may only have 20 or so types of instructions-such as contacts, coils, timers, and counters-this is often sufficient for small applications. As machine size and complexity increases, most midsize and larger PLCs provide software platforms, which take longer to learn than their simpler counterparts.

Controller programming software choices often relate to a user’s preferences and comfort zone. While the hardware required is driven and determined by the application requirements, software selection is usually a subjective decision. While many programmers have their own opinion of what software works best, most companies should enforce a standard controller programming software platform along with consistent programming methods.

Users should consider training resources that are available when selecting programming software. The internet and growth of multimedia has changed the way programmers learn and develop applications. There are huge libraries of technical information and user manuals exist online. Some suppliers have extensive online documentation and embedded videos in the software development platform to quickly improve the user’s understanding and fluency of the programming software. However, not all suppliers are created equal when it comes to training resources so these resources must be carefully evaluated.

The availability and cost of technical support also should be considered. Some suppliers offer free technical support while others charge for this type of service with a limited free service option, which may not be as helpful depending on the situation.

Once the software program is developed, it needs to be tested. The programming software should include the ability to view a PID loop response and motion profiles and to simulate other software functionality. Built-in project simulators can be a huge timesaver by allowing code to be tested without the hardware present or before being downloaded to an existing system.

While there are many considerations for selecting the right hardware and programming software for a controller, it’s unlikely there’s a "one size fits all" approach to selecting a controller. It’s better to pick a family of controllers capable of handling a company’s range of requirements.

Jeff Payne, automation controls group product manager, AutomationDirect. Edited by Emily Guenther, associate content manager, Control Engineering, CFE Media,


KEYWORDS: programmable logic controllers (PLC), programmable automation controllers (PAC), industrial personal computer (IPC)

  • How to choose a controller for particular applications
  • Developing the controller’s software programming
  • Proper testing methods for software programs.

Research: see controller research results at

Consider this

What is the most cost-effective way to properly test and simulate the controller’s software program?