As with any engineering decision, it’s always best to put it on paper first to see the “big picture”. The same holds true when choosing the most effective PLC for your application. This choice depends on a number of factors and the following steps serve as a checklist of things to consider when determining PLC requirements. Listed are the most important areas to consider when choosing a control system and can help determine your system needs.

Step 1. Proposed System

Determine whether your system is new or existing. Will your system be installed from scratch or are there existing products already installed? The rest of your system will need to be compatible with new components.

Why this is important: Certain controller products may not be compatible with others. Making sure your existing products are compatible with any new products you are researching will save you time and money.

Step 2. Environmental Issues

Consider any environmental issues that will affect your application (temperature, dust, vibration, codes specific to your facility, etc.)

Why this is important: Certain environments may affect the operation of a controller. For example, typical controllers have an operating temperature of 0-55 degrees Celsius (32-130 degrees F). If your application will include any extreme environmental conditions, or you have specific codes at your facility that must be met, you will need to either research products that meet those specifications or design the installation to meet requirements.

Step 3. Discrete Devices

Determine how many discrete devices your system will have and which types (AC, DC, etc.) are needed.

Why this is important: The number and type of devices your system will include is directly linked to the amount of I/O that will be necessary for your system. You will need to choose a controller that supports your I/O count requirements and has modules that support your signal types.

Step 4. Analog Devices

Determine how many analog devices your system will have and which types (voltage, current, temperature, etc.) are needed.

Why this is important: Same as with discrete devices, the number and type of devices your system will include is directly linked to the amount of I/O that will be necessary for your system. You will need to choose a controller that supports your I/O count requirements and has modules that support your signal types.

Step 5. Specialty Modules or Features

Determine whether your system will require any specialty features. Will your application require high-speed counting or positioning? What about data logging, a real-time clock, or other specialty feature?

Why this is important: Specialty functions are not necessarily available in a controller CPU or in standard I/O modules. Understanding the special functions your system may perform will help you determine which CPU to choose and whether or not you will need to purchase additional specialty modules.

Step 6. CPU Requirements

Determine the type of CPU you will need. How much memory will your system require? How many devices will your system have (determines data memory)? How large is your program, and what types of instructions will your program include (determines program memory)? How fast a scan time do you need?

Why this is important: Data memory refers to the amount of memory needed for dynamic data manipulation and storage in the system. For example, counter and timer instructions typically use data memory to store setpoints, current values, and other internal flags. If the application requires historical data retention, such as measured device values over a long period of time, the size of the data tables required may determine the CPU model you choose.

Program memory is the amount of memory needed to store the sequence of program instructions that have been selected to perform the application. Each type of instruction requires a specific amount of program memory, typically defined in a programming manual. Applications that are basically sequential in nature can rely on the I/O device rule of thumb to estimate program memory (5 words of program memory for each discrete device and 25 words for each analog device); complex applications will be more difficult to judge.

If scan time is important in your application, consider the CPU processor speed as well as instruction execution speed. Some CPUs are faster at Boolean logic but slower with data handling instructions. If special functions such as PID are required, the CPU you select may make those functions easier to perform.

Step 7. I/O Locations

Determine where your I/O will be located. Will your system require only local I/O, or both local and remote I/O locations?

Why this is important: If subsystems will be needed at long distances from the CPU, you will need a controller that supports remote I/O. You will also have to determine if the remote distances and speeds supported will be adequate for your application. Ethernet-connected I/O hardware is becoming one of the more popular communication standards. This I/O may also be referred to as distributed I/O, and may require a particular protocol, such as Modbus.

Step 8. Communications

Determine your communication requirements. Will your system be communicating to other networks, systems or field devices?

Why this is important: Communication ports (other than the programming port) are not always included with a controller. Knowing your system communication requirements will help you choose a CPU that supports your communication requirements, or additional communication modules if necessary.

Step 9. Programming

Determine your programming requirements: Does your application require only traditional programming instructions, or are special instructions necessary? Do you prefer fixed memory addressing or tag name based control? Which programming language are you accustomed to?

Why this is important: Certain controllers may not support every type of instruction. You will need to choose a model that supports all instructions that you may need for a specific application. For example, built-in PID functions are much easier to use than writing your own code to perform closed-loop process control. Typical instructions such as timers, counters, etc., are available in most controllers. Also, many variations exist when it comes to the programming language (ladder logic, structured text, etc.) and memory addressing (fixed or tag name based). Choose the programming package that you are most comfortable with and that will offer the most ease-of-use when developing, troubleshooting and maintaining.

What’s next?

Once you have your control system specifications, it’s time to decide which PLC is right for the job. PLC suppliers are abundant in today’s industrial automation market. With so many choices it can often get confusing as to which PLC will work the best for your application. At AutomationDirect, we try to serve the controller needs of as many industrial automation professionals as possible. Therefore, we offer many PLC choices each intended to fulfill a particular need
or purpose.


The beginner’s best friend

With its 21 straightforward instructions and low learning curve, the CLICK PLC is the ideal choice for simple applications or beginner projects.

Do-more! – 

Master  your control challenge with the power of Do-more!

Do-more! has one of the most robust instruction sets in the market and provides many tools, like the project simulator,
that allow you to tackle complex
applications efficiently.

Productivity – 

Break free from A-B!

The Productivity family of PLCs was designed for those who prefer the custom memory allocation that tag name based controllers provide and to provide a low-cost alternative for those familiar with Allen-Bradley controllers.

Buying the right PLC can sometimes seem like a daunting task, but compiling a list of requirements beforehand can get you headed in the right direction and make you more confident with your final decision. If you have any questions on the hardware capabilities of our many PLCs try our interactive tool at or contact our tech support group at 1(800) 633-0405; they’re always happy to help.

*Originally published: April 17, 2018