Technical Article

How To: Simple Programming with AutomationDirect Productivity PLCs

May 03, 2023 by David Peterson

AutomationDirect’s Productivity line of PLCs is known for cost-effectiveness and ease of use. Learn how to build and download a simple program using discrete input and output ladder commands.

For many control system engineers, AutomationDirect is synonymous with a wide variety of cabinets, supplies, devices, and tools used for nearly every aspect of automation design. The catalog is dedicated to the control space and includes many advanced devices, including PLCs, VFDs, and motion controllers.

One of the flagship platforms for AutomationDirect is the Productivity lineup, with versions including the 1000, 2000, and 3000 series, each with advancing capabilities and diagnostic abilities.


Productivity Series PLCs

The Productivity 1000 series is modular and DIN-rail compatible but is not chassis-based. The CUPs include multiple EtherNet and RS-232/485 ports for various protocols. Modules include discrete and analog I/O.

The Productivity 2000 series is chassis-based with front-facing LED displays on CPUs and all modules to provide menu-based diagnostics and discrete/analog I/O statuses, including a live display of analog values.

The Productivity 3000 series improves on the previous line by adding more I/O capacity and options for remote CPUs to create larger plant-wide networked systems.


Creating a New Productivity PLC Project

Regardless of the Productivity platform, the same software and process are used, which reduces the learning curve. The software is called Productivity Suite and is free from the AutomationDirect site. In fact, this is one of the first programs I used to become acquainted with ladder logic programming before being able to purchase an actual PLC.

On opening the software, you will be presented with the typical PLC options of designing a new project, opening an existing project, or loading a current project directly from a connected PLC.


start productivity screen

Figure 1. Start Productivity screen.


Define the Project Hardware

We will start a new project, with the next step being the CPU selection and defining the I/O modules.

I chose to complete this step first since some program commands are only available with select CPU versions, and I would rather know that my project is definitely compatible with my current CPU.


browse server

Figure 2. Choose CPU.


My CPU is indeed a P1-550, the dual-EtherNet CPU from the basic Productivity 1000 series. Moving into Hardware Configuration, I can define the combination input/output module which is installed on my benchtop unit.

Once in Hardware Configuration, double-click on the image of the CPU in the ‘Local Base Group’ window. From here, you can drag and drop the proper module(s) into the proper locations according to your hardware setup. Since I only have one P1-16CDR (16 terminals, combo digital in/relay out), that will be my hardware.


adding unique alias tag names directly when the module is added to the project

Figure 3. Adding unique ‘alias’ tag names directly when the module is added to the project.


When I add this P1-16CDR, I can choose to write the names of the real-world I/O tags right here in the hardware definition.

For example, if the first input (DI- is a green button, I can just write ‘Green Button’ in the User Tagname column in the appropriate row, and defining tag names just got much simpler.

In my simple process, I have a green button in terminal 1 and a red button in terminal 2, as well as a single relay in output 1. I will add these tag names. Do not click OK just yet.



Any tags I create here in the hardware setup, or later, can be monitored to display their current boolean, integer, or string text value. If I’m creating an entire module of I/O points and I’m going to monitor all of them, I will save time by clicking the ‘Monitor’ button at the bottom of the P1-16CDR window.

When I click Monitor, it gives me the choice of adding these tags to an existing data view (which we might call a ‘watch table’) or adding to an existing one. For clarity, I usually add each module to its own tab, then use the default ‘Data View 1’ tab to monitor the collective few tags that are the most critical and valuable for my process.


adding the tags to a watch or data view table

Figure 4. Adding the tags to a watch or ‘Data View’ table.


In the main programming window, I can always find these data view tabs on the left Application Tools tab of the screen.


locating the data view tab to monitor tag values

Figure 5. Locating the data view tab to monitor tag values.


If you forgot to add any of the hardware (or you end up getting more), you can easily access the Hardware Config menu from the left side of the screen.


locating the hardware config tab to add/edit modules

Figure 6. Locating the Hardware Config tab to add/edit modules.


Programming a Ladder Logic Rung

Input and output instructions (as well as timers, counters, math, etc.) are stored in an instruction catalog on the far right side of the screen. The input and output contacts and coils are near the top.

In this view, you should notice that NC Contact and NO Contact most closely match the often-used instruction in every language, like the XIO and XIC in Rockwell’s Logix studio software.

The most common momentary output (OTE) is referred to as the ‘OUT’ coil you can see about halfway down the ‘Coils’ folder.


input and output instructions

Figure 7. Input and output instructions.


To get started building an actual program, drag one single NO Contact near to the left side of the first ladder rung in the program screen, and give it the name ‘Green Button’ as you defined earlier.

Likewise, drag an OUT coil and drop it in the rung, and it will attach itself to the far right side. Give it the name ‘Relay 1’ as you defined earlier.


Download the Program

The only remaining step for this (albeit simple) program is to establish a connection to the PLC. For the P1000 and P2000 series, a micro-USB port provides simple no-address programming. EtherNet is more practical but requires more steps and will be addressed in the next tutorial.

Connect the micro-USB cable between your PC and the PLC (be SURE it’s a data cable, not just for charging).

Click the Choose CPU button near the top center.


choose cpu button

Figure 8. Choose CPU button.


If only one PLC is connected, this USB connection will be the only entry on the list. You may safely ‘Connect’, and if prompted to use the PLC or PC program, be sure to use the PC program unless you want to upload the program and lose the hard work you have just done.

PLC and PC may look almost the same, but in this context, they are very different!

Finally, once the connection is established, you can download this program and any future changes at the top.


transfer button for downloading any program updates

Figure 9. Transfer button for downloading any program updates.


Once the program is loaded, use the ‘Monitor’ button, which looks like a pair of binoculars near the top of the program window, to view the online, live status of the commands.


monitor tags live in the ladder logic

Figure 10. Monitor tags live in the ladder logic.


Cool Tip: Run the Program Without a PLC

Have you made it this far in the program, and you don’t actually own a Productivity PLC, but you’d still like to test the program? That’s great—there’s a simulator!

Near the ‘Choose CPU’ button is a simulator. Click this button, then download the program according to the steps above. No physical PLC connection required.


PLC simulator button

Figure 11. PLC simulator button.


Finally, put the PLC into ‘Run’ mode using the button below.


place the simulator in run mode

Figure 12. Place the simulator in ‘Run’ mode.


Forcing Inputs

In order to test the program using actual literal tags from an I/O module, you must allow the input tags to be forceable. Double-click on the Tag Database tab to find your two inputs.


tag database

Figure 13. Tag Database.


Once you have located the Red and Green Buttons, click the checkbox to allow them to be forced on and off.


allowing inputs to be forced on and off

Figure 14. Allowing inputs to be ‘forced’ on and off.


Now, go back to that Data View tab, find the Green Button, and you can Edit it ‘on’, then Send Edits and watch the ladder logic respond just as it would in real life!


forcing to simulate logic

Figure 15. Forcing to simulate logic.


AutomationDirect PLC Series Programming

Have you always wanted to learn and practice PLC logic, but you don’t have a PLC beside you? Now, you can not only simulate the programs but prepare them to load right into a brand-new Productivity PLC and get your own system running.

Happy trails, fellow programmers!

Love PLCs and ladder logic and ready to practice more? Check out our worksheet for PLC Programming!

*Featured image used courtesy of AutomationDirect