Connected Components Workbench: what the free edition actually does, and where it bites

September 17, 2026
Allen-Bradley Micro820 PLC controller, front view showing terminal blocks and status indicator LEDs
Published on  Updated on  

A guy I was helping over the phone burned most of a day getting Connected Components Workbench onto a laptop that already had RSLinx on it. Install stalled, he rebooted, second attempt ran over an hour, then it threw an activation error and would not open. RSLinx was broken by then too. He rolled the whole machine back to a restore point, and the Micro820 sat on his bench for another week.

None of that day was spent on ladder logic. That is the pattern with this package: the download is free and the controllers are cheap, and both of those stay true right up until an afternoon vanishes into something that has nothing to do with your program. So here is what Connected Components Workbench actually covers, what the free edition gives up, and the handful of things that cost people the most time once the controller is in front of them.

What Connected Components Workbench programs, and where it stops

One project file holds the controller, the HMI and the drive. That part is not marketing. A Micro850, a PanelView 800 and a PowerFlex 525 on the same machine get configured out of one project instead of three packages with three separate install headaches, and on a small skid that genuinely saves a morning.

Device

What you do with it here

Micro800 controllers

Full programming: ladder, function block diagram, structured text

PanelView 800 terminals

Screen design and download

PowerFlex 520-series drives

Parameter setup, startup, comparing two parameter sets

Kinetix 5100 servo drives

Configuration

SMC soft starters

Configuration

Guardmaster safety relays and GuardShield light curtains

Configuration

E200 electronic overload relays

Configuration

CompactLogix and ControlLogix

Nothing for programming the controller itself. Those are Studio 5000, though Connected Components Workbench can map a PanelView 800 screen to one and copy logic in from Studio 5000.

 

That last row is the one that catches people. Connected Components Workbench will not open a CompactLogix project, and the controller list inside it does not offer one. I have watched somebody download it because a distributor rep said "grab the free Rockwell software," then spend an hour hunting for a controller family that was never in there to begin with.

Standard or Developer, and what the free tier gives up

Connected Components Workbench ships in two editions, and the free one is genuinely free, no trial clock running in the background. Standard programs the whole Micro800 line, sets up the drives and the safety devices, and builds PanelView 800 screens. For a machine builder doing a handful of small panels a year, that is the entire job.

Developer is the paid tier. What it adds, per Rockwell's own edition comparison: the full Micro800 Simulator rather than the ten-minute runtime demo the free version ships with, the Archive Manager, and extended programming capability on the controller side.

 

Standard

Developer

Price

Free download

Paid, ordered as 9328-CCWDEVENE

Micro800 programming

Full line

Full line

PanelView 800, PowerFlex, safety devices

Yes

Yes

Micro800 Simulator

10-minute runtime demo

Full

Archive Manager

No

Yes

User-defined function blocks

Yes

Yes

User-defined data types

No

Yes

 

Field pricing on the Developer license lands around $400 a year, sold as a subscription bundled with support rather than a one-time purchase. Rockwell does not publish a list price, so a distributor quote is the only number worth budgeting against.

Here is where people argue with each other, and both sides are half right. User-defined function blocks work fine in the free edition. You can write them, edit them, pull them out of the sample code library and modify them. What the free edition does not give you is user-defined data types, the structures. Two different features, similar names, and the confusion sends people off to buy a license they did not need. Worth confirming against Rockwell's current edition comparison before you raise a PO, because that feature line has shifted between releases.

One limit that applies to both tiers and is easy to design yourself into: a user-defined function block can call another one, but only five deep. Go further and the build fails. A user-defined function, the simpler flavor without instances, uses roughly 30% less memory than a function block for a typical program, and that gap widens as you add instances. On a 20 KB controller that is not a footnote.

Pick the controller before you argue about the software

Most complaints I hear about Connected Components Workbench turn out to be complaints about the controller somebody already bought. The Micro810 is the usual culprit.

Controller

I/O on board

Ethernet

Expansion I/O

Where it fits

Micro810

12 points (8 in, 4 out)

No

No

Smart-relay replacement. No port for an HMI, and it needs a USB adapter just to program

Micro820

20 points

Yes

No

microSD slot, remote LCD support, retains up to 400 bytes

Micro830

10 to 48 points

No

No

USB plus an RS-232/RS-485 combo port, 2 to 5 plug-in slots

Micro850

24 or 48 points

Yes

Up to 4 modules

The default for most small machines

Micro870

24 points

Yes

Up to 8 modules

20K program steps and 40 KB of data, double the 850

 

The Micro820 and Micro850 both give you about 10K program steps and 20 KB of data. Those are typical figures rather than hard ceilings, because memory gets allocated dynamically at build time: a program that stays lean on variables can run longer than the published step count, and a variable-heavy one runs shorter.

Two numbers on that table cost real money when they get missed. The Micro810 has no way to talk to an HMI at all, so any project that grows a screen later means a new controller. And the Micro820 retains a maximum of 400 bytes of your variables through a power cycle. Not all of them. You pick which ones on the global variable page, and anything you did not tick comes back at its initial value. I have seen a recipe setup lose half its stored values on a Monday morning because nobody read that line.

Spend the extra fifty dollars and start at the Micro820. If there is any chance of expansion I/O, start at the 850.

Allen-Bradley Micro830 controller next to a Micro850 controller, showing the Micro850's added Ethernet port

Micro830 on the left, Micro850 on the right. Same family, same software, and only one of them has an Ethernet port to flash firmware through.

 

The two fault codes that send you back to the panel

Micro800 faults come in two flavors, and the status light on the front tells you which one you have before you open Connected Components Workbench at all. Flashing red is recoverable: clear it from the software and carry on. Solid red is non-recoverable and needs a power cycle first.

Code

Type

What it means

Check first

0xF000

Recoverable

Controller reset unexpectedly, from a noisy environment or an internal hardware failure

Wiring and grounding, before you condemn the controller

0xF001

Recoverable

The program was cleared: power lost during a download or a memory module transfer, cable pulled mid-download, or a failed RAM integrity test

Reload, then find out why power or the cable dropped

0xF002

Non-recoverable

Hardware watchdog fired because program scan ran past three seconds

Scan time. Power cycle to clear

0xD011

Recoverable

Scan time passed the watchdog setting, which defaults to 2 seconds

A structured text FOR loop whose upper limit sits at the data type maximum

0xF006

Recoverable

The program is not compatible with the controller firmware revision

Version match, covered below

 

0xF000 is the one that generates arguments. Rockwell lists two possible causes in the same breath, noise or a hardware failure, and points you at the wiring recommendations before anything else. That ordering is correct and I would follow it. The tell is the pattern: if you have five identical panels built off the same drawing and one of them faults while the other four never do, that is not a batch of bad controllers. That is one panel with a routing or grounding difference somebody made on the bench at four in the afternoon.

0xD011 has a cause specific enough to be worth memorizing. Write a FOR loop in structured text with a USINT counter and the limit set to 255, or a UINT with the limit at 65535, and the loop can never exit, because the counter can never exceed the maximum its own data type holds. Scan runs long, watchdog fires. Rockwell spells that exact trap out in the recommended action. Fix the limit rather than raising the watchdog.

While you are in there: the fault log lives under Diagnose, then Fault, in the Connected Components Workbench project organizer. It holds brief information on the last fault and detail on the last ten non-recoverable ones, and Get Fault Log saves the lot to a text file. On firmware 22.011 and later for Micro830, Micro850 and Micro870 (23.011 for Micro820), with a matching Connected Components Workbench version, you can also pull a core dump, capped at 8 KB, which is what Rockwell support will ask for. Grab both before you clear anything, because updating firmware wipes the core dump.

Version mismatch, and the flash I will not do over USB

Every Connected Components Workbench project carries a version. So does the controller firmware. When those two disagree the download fails, and which fault code you get back depends on how the program was going in.

Diagram showing which Micro800 fault code appears for each version-mismatch download path: direct download, memory module restore, or module and firmware incompatibility

One version mismatch, three different fault codes, depending on how the program was going in. The memory module ones get blamed on bad hardware more often than they deserve.

Direct download from the laptop with an incompatible project gives you 0xF006. Restoring from a memory module whose project does not match the firmware gives 0xF301, or 0xF022 if the program itself is the incompatible piece, or 0xF003 when the module and the firmware revision simply cannot work together. Same root cause, three different codes, and the memory module ones send people off replacing perfectly good hardware.

The fix is usually a firmware update on the controller. Which brings me to a habit I picked up the hard way and will not change: if the controller has an Ethernet port, flash it over Ethernet. I have heard enough stories of Micro830s that never came back after a firmware update pushed over USB, and while I cannot tell you the failure rate, I can tell you I have never lost one over Ethernet. Five minutes of cable swapping against a controller you might not recover.

Things in Connected Components Workbench that cost people time

None of these are bugs exactly. They are design decisions that surprise anyone arriving from RSLogix 500, and each one has burned an hour somewhere.

MOV exists in Connected Components Workbench. Go looking for it and you will turn up advice, some of it more than a decade old, insisting the closest equivalent is 1GAIN. That is out of date. MOV is documented for the Micro810, 820, 830, 850 and 870, and it handles every data type you would expect including TIME and STRING. In structured text you skip it entirely and use the assignment operator instead.

Timers use the TIME data type, which is clean to program with and awkward the moment an HMI gets involved, because the screen wants a number. Conversion instructions handle it, ANY_TO_TIME and back the other way. Plan the tag names for it up front. Naming your HMI-facing values so they filter together in the global variable list takes two minutes at the start and saves a lot of scrolling later.

Comments do not attach to individual instructions the way they do in RSLogix 500. Rung comments work. A description typed against a tag stays in the variable table and does not appear in the rung. Aliases do show up in the ladder, so the working habit is to let the alias carry the meaning: the name is the comment, because it is the only thing the reader sees.

An array index that runs past the end of the array is a runtime fault, not a build error. 0xF870 if the index leaves the data space, 0xF0878 if it reaches for a bit outside the data type. The build passes, the machine runs, and then it faults in week three on a value nobody tested. Check your bounds in logic rather than trusting the compiler to catch it.

By default the controller faults if a plug-in or expansion module is configured but missing. From software release 10 onward there is an Optional Module setting that lets it start anyway, enabled per module. Useful for a machine that ships in two variants off one program. There is a catch though, and Rockwell flags it: with that option on, the controller will not fault for the missing module, so your logic has to call MODULE_INFO and check for itself. Turn it on without adding that check and you have a machine that quietly runs with no analog input and never says a word.

Each program is capped at 64 KB of internal address space. Split large programs rather than fighting the ceiling: on every controller except the Micro870, where Rockwell does not make the same recommendation.

Frequently asked questions

Is Connected Components Workbench free?

The Standard edition is, with no trial period, and it programs the entire Micro800 line plus the PanelView 800, PowerFlex 520-series drives and the component safety devices. Developer is the paid tier and mostly buys you the full simulator, the Archive Manager and user-defined data types.

Can Connected Components Workbench program a CompactLogix?

No. Micro800 and the component-class devices only. CompactLogix and ControlLogix are Studio 5000 territory, and no edition of this software changes that.

Why does Connected Components Workbench refuse to download to my controller?

Nine times out of ten it is a version mismatch between the project and the controller firmware, which shows up as fault 0xF006 on a direct download. Check both revisions before you touch anything else. A firmware update on the controller is the usual fix, and use the Ethernet port for it if the controller has one.

What does a flashing red fault light mean on a Micro800?

Recoverable fault. You can clear it from the software without cycling power. Solid red is non-recoverable and needs a power cycle before it will clear. Either way, pull the fault log before you clear it, because that is the only record of what happened.

My Micro820 keeps losing values after a power cycle. Is it broken?

Probably not. It retains a maximum of 400 bytes of user variables, and only the ones you selected for retention on the global variable page. Everything else returns to its initial value. Count the bytes you actually need to keep and pick them deliberately.

If the controller turns out to be the problem

Sometimes the software is fine and the hardware is what is finished. A controller that faults in one panel and nowhere else usually has an install problem behind it, but one that has been sitting in a hot cabinet since 2014 is a different conversation, and the Micro800 line has been around long enough now that plenty of them are.

IQElectro keeps the family on the shelf, tested, with a 2-year warranty. Micro820 controllers for the small jobs with Ethernet, Micro830 when you need the point count without the network, Micro850 and its EtherNet/IP variants for anything that will grow expansion I/O, and the Micro870 when the program outgrows 20 KB. The 2080-REMLCD remote display and PanelView 800 terminals are there too, since both get configured from the same Connected Components Workbench project as the controller. Send over the part numbers off your panel and we will tell you what is in stock.

Published on  Updated on