You are online with the processor, the machine is running, and the edit toolbar is greyed out. Or you get the edit in, but there is no way to back it out. Or a second engineer uploads and kills your pending changes. Three different faults, three different causes. Work them in order.
Check 1: Confirm the Processor Supports Online Program Edits At All
Start here. Before you chase cables, drivers, or key switches, confirm the hardware class actually does program editing in RUN. Data-value changes and output forcing are not the same feature, and several platforms give you the second while refusing the first.
| Symptom on the panel | Cause | Next check |
|---|---|---|
| Edit functions unavailable on a MicroLogix 1500, but data table writes work | The MicroLogix range does not do online program editing | Stop. Go to Check 4 (commissioning workaround) |
| SLC 500 fixed, 5/01, or 5/02 rejects rung edits online | Those processors have no online program edit; only data changes and forces | Move the application to a 5/03 or higher, or accept download-to-PROG |
| S7 accepts your change but there is no test/untest step | Block-level download, not true rung-level online editing | Check 3 |
| Edits blocked on hardware/I-O configuration while logic edits succeed | Configuration is not online-editable in RUN on most platforms, including GE Fanuc 90-30 | Schedule a stop; configuration needs a mode change |
| Your pending edits vanished while another engineer was connected | Full upload performed against a controller with active edits | Check 5 |
| ZEN programmable relay will not go into edit | The ZEN is the one Omron device with no online editing | Stop. Edit offline and transfer |
That MicroLogix limitation is the one that burns commissioning schedules. It is a design boundary, not a fault, and no firmware update, cable swap, or software reinstall changes it. If your customer chose MicroLogix on price to replace SLC 500 applications, you have already bought a slower commissioning cycle. Budget for it instead of debugging it.
Check 2: Determine Whether Your Platform Gives You an Undo Path
The next reading is not electrical. It is procedural: can you back out a change after the scan has executed it?
Allen-Bradley SLC 500 and PLC-5 platforms give a three-stage edit cycle. You enter the edit, you Test the edits so the processor executes the modified rungs without committing them, and then you either Assemble/accept or Untest to drop back to the original logic. The controller keeps both versions resident during test. That is the reason this family survives a bad edit on a running machine: when the pump slams or the axis jumps, you untest and the original logic is executing again on the next scan.
Omron's cycle is a single commit. In CX-Programmer you enter online edit with Ctrl+E, make the change, and write it with Ctrl+Shift+E. Syswin behaved the same way. Fast, but there is no test state — once written, the change is live, and your undo is a second edit that puts the old logic back.
Mitsubishi behaves as though there is no mode distinction at all: being online is the only difference from offline editing. Modicon under MODSOFT, LMODSOFT, or Concept edits live and gives fast screen update so you see the logic state change immediately after the write. GE Fanuc 90-30 with VersaPro 2.3 edits logic in RUN, including live variable changes on running PID loops, but locks hardware configuration.
Decide before you touch the keyboard: if the platform commits on write, you write the change and immediately have a rollback edit staged. If the platform tests, you use the test state and do not accept until the machine has proven the change over several cycles.
Check 3: Identify Whether the Change Is Rung-Level or Block-Level
Siemens S7 is the branch that trips people who came from Allen-Bradley. It is an offline/online hybrid: you modify the block in the editor, download the changed block, and the CPU accepts it without stopping. The machine keeps running, so it looks like online editing. It is not the same mechanism.
Two consequences you must plan around:
- The unit of change is the block, not the rung. Everything you edited in that block goes live in one transition. Partial verification is not available.
- There is no untest. Your rollback is a download of the previous block version, which means you must have that version saved locally before you start.
Before any S7 online change on a running process, archive the block you are about to touch. That archived block is your undo. Skip it and you are recompiling logic from memory with the machine running.
Check 4: Work the MicroLogix and Fixed-SLC Commissioning Path
When the processor has no online program edit, stop trying to force it and change the commissioning method.
- Build the logic offline with the process in a known safe state and all actuators isolated or in local.
- Group your changes. Every download costs you a mode change to PROG and a restart sequence, so batch ten edits, not one.
- Use data table values and forces for the tuning work the processor does allow. Timer presets, counter presets, setpoints, and scaling constants can be adjusted with the processor running on these platforms — reserve the download cycle for logic structure changes only.
- Structure new logic so the tunable elements live in the data table rather than as literal constants in rungs. That converts a future download into a data write.
- Record the restart sequence for the machine before the first download so each subsequent cycle is repeatable and short.
Do not waste time hunting for a firmware revision or a software option that unlocks online editing on these processors. It does not exist.
Check 5: Resolve Multi-User Edit Collisions
ControlLogix allows several engineers online with the same controller at once, each with a local copy of the project open, each editing a different section. It works, and it collapses commissioning time on a large program. It has one failure mode, and you will hit it: one engineer has edits active while another performs a full upload.
Handle it procedurally, because the software will not stop you.
- Nominate one person per session as the only one permitted to upload.
- Before any full upload, poll every connected engineer for active or pending edits. If any exist, they finalize or discard first.
- Partition the program by routine and assign ownership. Two engineers must never hold edits in the same routine.
- Keep each engineer's local project file current — the multi-user capability depends on it, and a stale local copy is how a good edit gets overwritten.
Verify the Edit Before You Walk Away
An accepted edit is not a verified edit.
- On test-capable platforms, run the machine through a full production cycle in the test state before accepting. Watch the modified rungs and the outputs they drive, not just the rung you typed.
- On commit-on-write platforms, watch the same rungs for a full cycle immediately after the write, with the rollback edit already prepared in the editor.
- Confirm the processor is not in a faulted or minor-fault state after the change. A logic edit that references a missing element will show up here first.
- Upload the running program to a fresh file and diff it against your offline master. This is the only proof that what is in the processor matches what you think you wrote.
- Archive the verified program to your version store before disconnecting, with the date and the change described.
On Omron platforms, allocate a portion of PLC memory to symbol storage and download the symbol table with the program. Rung comments do not go into the controller, but the symbols do, and the next engineer who connects to that machine can upload readable logic instead of raw addresses. Do this on every commissioning, including brick-style micro PLCs — it needs no memory card.
Pitfalls That Recur
- Editing a running machine without knowing the process state. The software will let you delete an interlock rung on a live process. Confirm the machine state and the safety condition of what the rung controls before the edit, every time.
- Assuming forcing equals editing. A processor that accepts forces and data writes may still refuse program edits. Test the actual capability on the bench, not from a spec sheet reading.
- Treating a block download as reversible. On S7, it is only reversible if you archived the previous block.
- Changing hardware configuration in RUN. Logic edits and configuration edits are separate permissions. GE Fanuc 90-30 permits the first and blocks the second; plan a stop for I/O changes.
- Long edit sessions left uncommitted. Pending edits are fragile — they die on a full upload, a lost connection, or a processor mode change. Finalize in small increments.
FAQ
Why does the MicroLogix 1500 not allow online program editing?
The MicroLogix range has no online program edit capability by design. You can go online, change data values, and force outputs, but every logic change requires a download with the processor out of RUN.
Why does my SLC 500 reject rung edits while online?
Check the processor type. The fixed, 5/01, and 5/02 SLC 500 processors have no online program editing — only data value changes and output forces. Move to a 5/03 or higher for test/untest editing.
Why can't I undo an online edit on a Siemens S7?
S7 uses an offline/online hybrid: you download a changed block and the CPU accepts it without stopping, so there is no test state to reverse. Archive the block before editing — that archived copy is your only rollback.
Why did my ControlLogix edits disappear when a colleague went online?
Another user performed a full upload while your edits were still active. Assign one uploader per session and confirm no one holds pending edits before any full upload.
Escalate to the manufacturer when the processor refuses an edit it should accept, faults during an accepted edit, or loses a program after a verified download — those point at firmware or memory, not procedure. Have the processor catalog number, firmware revision, and programming software version ready before you open the case. Do not spend a shift on it when a support ticket resolves it in an hour.