PLC Programming

Allen-Bradley Micro800 Controllers: PLC Programming for Beginners (Structured Text and Ladder)

MSc. Matthew Kurantowicz 11 min read Updated

Micro800 PLC programming is one of the easiest ways to start with Allen-Bradley controllers, because the software is free and you can run everything on a built-in simulator without any hardware. In this guide you will create your very first project in Connected Components Workbench (CCW), write your first program in Structured Text, and then build a classic ladder diagram latching circuit. Every step comes from our two short workshop videos, with a screenshot from the exact moment in each demo.

Elmark Automatyka

Allen-Bradley hardware used in our materials (Micro800 controllers, HMI panels and accessories) is supplied by our technology partner Elmark Automatyka, an authorized Rockwell Automation distributor.

This is a beginner friendly, step-by-step tutorial. You only need the free Rockwell Automation software and the embedded Micro800 Simulator.

Allen-Bradley Micro800 PLC programming, new project in Connected Components Workbench
Allen-Bradley Micro800 PLC programming, new project in Connected Components Workbench

What is the Micro800 family and Connected Components Workbench?

The Micro800 family (Micro810, Micro820, Micro830, Micro850, Micro870) is Allen-Bradley's line of compact, low cost controllers from Rockwell Automation. They are aimed at small machines and standalone applications, and they are programmed in the free environment called Connected Components Workbench (CCW).

This programming environment supports the three IEC 61131-3 languages most automation engineers use every day:

  • Structured Text (ST), a text based language that looks like Pascal.
  • Ladder Diagram (LD), the graphical relay logic almost every PLC programmer learns first.
  • Function Block Diagram (FBD), blocks wired together.

The best part for learning is the Micro800 Simulator built into the software. It emulates a real Micro850 controller, so you can download a program and watch the inputs and outputs change without owning any hardware.


What you need before you start

You only need one free download:

  • Connected Components Workbench (Standard Edition is free), version 23 is used here.
  • The Micro800 Simulator, which is installed together with the software.

No physical PLC is required. The simulator runs in RUN mode for 10 minutes at a time, which is more than enough to test the small programs in this tutorial.

You can download Connected Components Workbench and the Micro800 Simulator for free from the official Rockwell Automation website. See the Connected Components Workbench product page.


Part 1: Your first Structured Text program

In the first video we create a project from scratch and write the simplest possible program: copy one input to one output. It teaches the whole round trip, from a new project to a running program in the simulator.

Step 1: Create a new project

Open Connected Components Workbench and click New. Give the project a name and confirm the location, then click Create. Leave Add Device on Create checked so the software asks you for a controller straight away.

New project dialog in Connected Components Workbench
New project dialog in Connected Components Workbench

Step 2: Add a Micro850 controller from the catalog

In the Add Device window expand Controllers, then the Micro850 family. Pick an active Micro850 variant (avoid the ones marked *Discontinued*). For this tutorial choose a version that matches the simulator, then click Select and Add To Project.

Selecting a Micro800 controller from the device catalog
Selecting a Micro800 controller from the device catalog

Step 3: Add a Structured Text program

In the project tree right click on Programs, choose Add, and select a new Structured Text program. You can rename it later by right clicking the program and choosing Rename.

Adding a Structured Text program in the project tree
Adding a Structured Text program in the project tree

Step 4: Create aliases for your I/O

Open Local Variables, switch to the Micro850 I/O tab, and give friendly aliases to the physical channels. Here the output _IO_EM_DO_00 gets the alias xCoil and the first input _IO_EM_DI_00 becomes the start button. Aliases keep your code readable instead of full of raw channel names.

Assigning aliases to inputs and outputs in local variables
Assigning aliases to inputs and outputs in local variables

Step 5: Write the program

The whole program is a single line. In Structured Text you assign the input to the output with the assignment operator and finish with a semicolon:

_IO_EM_DO_00 := _IO_EM_DI_00;

When the input is true, the output is true. That is it.

The first Structured Text line in the Connected Components Workbench editor
The first Structured Text line in the Connected Components Workbench editor

Step 6: Start the Micro800 Simulator

Open the Tools menu and start the Micro800 Simulator. It comes up with a local IP address such as 127.0.0.1. Note the controller model shown in the simulator, because it must match the controller in your project.

Micro800 Simulator window with a local IP address
Micro800 Simulator window with a local IP address

Step 7: Build, then connect through RSLinx

Build the project from the toolbox. Then open the connection path and pick the simulator in the RSLinx Classic connection browser using its IP address, and Connect. If the controller type does not match the simulator, change the controller in the project tree (right click the controller, Change Controller) and pick the simulator variant, then connect again.

Choosing the simulator in the RSLinx connection browser
Choosing the simulator in the RSLinx connection browser

Step 8: Download, run, and watch it work

Download the program to the simulated controller and switch it to RUN mode. In a Structured Text program you can monitor variable states directly. Open the simulator, toggle the first input, and the output turns on. In Local Variables you can also watch the logical and physical values change live.

Monitoring the program: input on, output on
Monitoring the program: input on, output on

Part 2: Your first ladder diagram, the latching circuit

The second video builds the most important pattern in ladder logic: the latching (seal-in) circuit that starts and keeps a motor running. This is the program every PLC programmer should know.

Step 1: New project and Micro850 simulator device

Create a new project, for example *Ladder diagram test*, and click Create. In the catalog select the Micro850 LC50 simulator variant (the one described as an EtherNet/IP simulator), then add it to the project.

New ladder diagram project in Connected Components Workbench
New ladder diagram project in Connected Components Workbench
Selecting the Micro850 simulator controller
Selecting the Micro850 simulator controller

Step 2: Declare your variables

Right click Programs, choose Add, and select a new Ladder Diagram program. Open Local Variables and assign aliases using the Hungarian notation the instructor recommends, where the x prefix marks a Boolean:

  • xStart_PB for the start push button (first input).
  • xStop_PB for the stop push button.
  • xMotor_Out for the motor output.

The x prefix tells you instantly that the tag is a Boolean, which only holds true or false.

Assigning Boolean aliases in Hungarian notation
Assigning Boolean aliases in Hungarian notation

Step 3: Build the rung

On the first rung add a normally open contact for xStart_PB, then in series a contact for xStop_PB, and finish the rung with a coil assigned to xMotor_Out. Drag the elements from the toolbox and double click each one to pick its variable.

Building the first rung with contacts and a coil
Building the first rung with contacts and a coil

Step 4: Add the seal-in branch (the latch)

Now add a parallel branch around the start contact and drop a normally open contact of xMotor_Out into it. This is the seal-in: once the motor output is on, it keeps its own rung energized even after you release the start button. That is exactly what makes the circuit latch.

Adding the parallel seal-in branch to create the latch
Adding the parallel seal-in branch to create the latch

Step 5: Build, download, and run

Build the project, set the connection path to the simulator IP, Connect, and Download. Switch the controller to remote RUN (it runs for 10 minutes at a time). When the rung is live, the energized parts are highlighted in green.

Run mode with the rung highlighted in green
Run mode with the rung highlighted in green

Step 6: Test the latching behavior

Because the stop button is wired as a normally closed contact, it shows green at rest. Click the start input and the motor starts immediately, and the output goes true. Release the start button and the motor keeps running, that is the latch. To stop it, press the stop button, which breaks the rung.

The motor latched on after releasing the start button
The motor latched on after releasing the start button

Micro800 PLC Family: Which Controller to Choose?

All controllers in the Micro800 series share the same programming environment and instruction set, so a program written for one model is easy to move to another. Rockwell positions the Micro800 platform as control solutions for a standalone machine, and the difference between the PLCs is in size, I/O and communication options:

ControllerTypical useKey features
Micro810Smart relay replacement, very simple machinesSmallest controller of the family, few I/O points
Micro820Small standalone machines, remote I/OEmbedded Ethernet and serial port, plug-in slots
Micro830Small machines with simple motionSeveral I/O sizes, plug-in modules, pulse train output (PTO) on DC models
Micro850The most popular choice for standalone machinesEmbedded Ethernet, plug-in modules and expansion I/O modules, PTO motion
Micro870Larger machine controlMore memory and more expansion I/O than the Micro850

For learning, the Micro850 is the best starting point: it is the controller emulated by the Micro800 Simulator, and it has every feature you will meet on real machines. You can read a hardware walk-through of a complete set in our article about the Micro850 2080-L50E build and capabilities.

Plug-in modules and expansion I/O

Micro800 controllers can be extended in two ways. Plug-in modules snap into slots on the front of the controller and add a few channels or functions, for example analog inputs (2080-IF4), analog outputs (2080-OF2) or an isolated serial port (2080-SERIALISOL). Larger controllers such as the Micro850 and Micro870 also accept expansion I/O modules that snap onto the right side of the controller, for more digital and analog channels.

Communication options and motion control

Depending on the model, Micro800 controllers communicate over embedded Ethernet (EtherNet/IP and Modbus TCP) and serial ports (Modbus RTU, CIP Serial and ASCII). These communication protocols make it easy to connect HMIs, SCADA systems or PowerFlex drives, and on models with an Ethernet port you configure the IP address directly in the controller properties. Models with DC outputs offer pulse train output (PTO) for stepper and servo drives, programmed with PLCopen-style motion instructions. For HMI, the PanelView 800 terminals are configured in the same software as the controller, so one project covers the controller and its HMIs.

Micro800 vs MicroLogix and CompactLogix

Micro800 controllers are programmed in Connected Components Workbench, not in Studio 5000 Logix Designer. The older MicroLogix controllers use RSLogix 500, and the larger CompactLogix and ControlLogix controllers use Studio 5000. If you work with bigger plants, you will meet all of them - see our overview of Allen-Bradley controllers: CompactLogix, ControlLogix and Micro800. The good news is that ladder logic, timers, counters and Structured Text you learn on a Micro800 PLC transfer directly to the other platforms.

Structured Text vs Ladder Diagram: which should a beginner start with?

Both languages run the same Micro850 controller, so the choice is about how you think:

  • Ladder Diagram is visual and maps directly to relay logic, which makes troubleshooting on a live machine very intuitive. Most beginners and maintenance teams start here.
  • Structured Text is compact and powerful for math, loops, and state machines, and it scales better to large programs. It feels natural if you already know any text based language.

A practical path is to learn the latching circuit in ladder first, then rewrite the same logic in Structured Text to see how the two map onto each other.


Common beginner problems

  • Connection failed: controller type does not match. The project controller and the simulator model are different. Use Change Controller in the project tree and pick the simulator variant.
  • The simulator dropped out of RUN. The Micro800 Simulator only stays in RUN mode for 10 minutes, then it returns to PROGRAM mode. Just switch it back to RUN.
  • A discontinued device in the catalog. Pick an active Micro850 version so you keep getting firmware and support.
  • Nothing changes when I toggle inputs. Make sure you are in RUN mode and connected to the simulator, and that your aliases point to the right physical channels.

FAQ

Is Connected Components Workbench really free? Yes. The Standard Edition of Connected Components Workbench is a free download from Rockwell Automation, and the Micro800 Simulator is included, so you can learn Micro800 PLC programming without buying any hardware.

Do I need a physical Micro850 to follow this guide? No. Everything here runs on the built-in Micro800 Simulator. A real controller behaves the same way once you change the connection path to the hardware.

What is a latching circuit? It is a ladder pattern where the output seals itself in through a parallel contact, so a momentary start button keeps a motor running until a stop button breaks the rung.

Is the Micro800 PLC good for beginners? Yes. The software is free, the simulator removes the need for hardware, and the controllers support the same IEC 61131-3 languages you will use with other PLC brands. It is one of the cheapest ways to start with Allen-Bradley programming.

Has the Micro800 PLC been discontinued? No, the Micro800 family is a current Rockwell Automation product line. Some older catalog numbers are marked as discontinued in the device catalog, which is why this guide recommends picking an active variant for new projects.

Why use the x prefix on variable names? It is Hungarian notation. The x marks the tag as a Boolean, which makes the program easier to read at a glance.


Summary

You now know the full workflow for Micro800 PLC programming with Allen-Bradley controllers: create a project in Connected Components Workbench, choose a Micro850 controller, declare aliased I/O, write a program in Structured Text and in Ladder Diagram, and test it on the free Micro800 Simulator. With the latching circuit under your belt you have the foundation every PLC programmer builds on.

Try both programs on your own, then extend the ladder with timers and counters for a more realistic machine.


Want more?

If you are into PLC programming and industrial automation, check out our materials:

Online courses

Want to program PLCs in practice?

Siemens, CODESYS, communication and safety courses with a certificate and instructor support. Start with a free mini-course.

See courses
Select the fields to be shown. Others will be hidden. Drag and drop to rearrange the order.
  • Image
  • SKU
  • Rating
  • Price
  • Stock
  • Availability
  • Add to cart
  • Description
  • Content
  • Weight
  • Dimensions
  • Additional information
Click outside to hide the comparison bar
Compare