When the panel follows live PLC bits but every button press returns Error Code 0x020d, the link is good and the CPU is refusing the change. Put the CPU key switch in TERM first, then check the tag address for an input point or an octal 8 or 9, any CPU password, and the ladder for a second writer to the bit.
An HMI that follows live PLC bit changes and then returns Error Code 0x020d returned from PLC on every button press has a working communication link. The PLC is receiving the write request and refusing it. Rewiring, swapping cables, and changing baud rate or station number will not clear the fault, because none of those change what the CPU permits. Work the problem in this order: the CPU key switch, the tag address behind the button, any CPU password, and the ladder. The key switch comes first because it produces exactly this pattern: reads pass, every write bounces.
What each symptom points to
- Panel follows PLC bits, and a button press returns Error Code 0x020d. The port, protocol driver, station address, baud rate, parity and cable are all correct, because a wrong value in any of them breaks reads too. The CPU answered the request with a refusal. Start at the key switch.
- Panel shows communication timeouts or no live data at all. This is a link fault, and the write path cannot be judged until reads work. A ping that answers while reads still fail points at the protocol driver, the case walked through in HMI pings the PLC but reads fail.
- Write completes with no error, and the bit changes for one scan and returns to 0. The ladder is rewriting the bit every scan. That is the second-writer branch below.
- Some tags write and one tag refuses. The tag address is the fault. Go straight to the address check.
Run the read-versus-write test
One check before you touch anything:
- Put an indicator lamp on the panel screen, addressed to a bit you can force from the programming software. Force the bit from 0 to 1 and back. The lamp follows on the next poll: the read path is good.
- Open the software status view on the bit behind the failing button. Press the button once. The bit never moves and the panel reports Error Code 0x020d: the write path is the fault, at the CPU end.
The panel's manual carries its error-code list, where the exact definition of the code is printed. The read-good, write-failed pattern already places the refusal on the PLC side, in what the CPU accepts from a remote device.
Turn the CPU key switch to TERM
Read the physical key switch on the CPU faceplate. It is a hardware lock on remote access. On CPUs that have a TERM position, the locked positions let the CPU keep answering read requests while refusing requests that change PLC state, which matches this symptom exactly. Look at the key itself; do not trust memory or a previous shift's note.
Position names differ by family. Some processors use three positions, RUN, REMOTE and PROGRAM, with run and program modes inside REMOTE selected from the software. Others use RUN, TERM and STOP. Whatever the names, one position hands change-of-state control to a connected device, and that is the position a panel write needs.
If the key is out of TERM, turn it to TERM and press the button again. The error clears and the bit moves: the key was the whole fault. Treat this as the permanent fix as well as the restore. Every panel button that writes needs the write-enabled position for as long as the button exists. If plant policy keeps the key elsewhere, the write function will not work there, so change which operations the panel performs, and write the required key position into the machine documentation and the operator instructions.
Check the tag address the button writes to
With the key in TERM and the error still present, open the tag behind the button in the panel project.
| What the tag points at | Why the write fails | What to do |
|---|---|---|
| A physical input point | The input image refreshes from the input module every scan, so the CPU will not hold a remote value there | Point the button at a control relay or a data-memory bit and use that bit in the rung; why an HMI toggle cannot force a PLC physical input covers the redesign |
| The digit 8 or 9 in the bit or I/O part of the address | CPU families that number those ranges in octal have no such address | Re-point the tag to a valid address, confirmed against the CPU memory map |
| An address beyond the memory the CPU has | There is no location to write | Move the tag inside the CPU's memory map |
| A valid control relay or data-memory bit | The address is fine | Go to the password and ladder checks |
Reads can succeed on an address the CPU refuses to write to, so a working read on the same tag leaves this check open.
Check the CPU password and the ladder
Two branches remain when the key is in TERM and the address is a valid writable bit.
CPU password or access restriction. Open the CPU in the programming software and check whether a password is set. A protected CPU can refuse writes from a connected device while reads continue. Get the password from whoever owns the program. Never clear CPU memory or reset the CPU to force a write through; that erases the running program and can drop a machine mid-cycle. PLC password that blocks HMI button presses walks through the same fault from the button side.
A second writer in the ladder. This branch returns no error. If a coil or a set/reset pair also drives the bit, the ladder rewrites it every scan and the button looks dead. Search the program for every coil and every set/reset instruction on that address, and leave the panel as the one writer. If the rung must stay in charge, write to a request bit instead and let the ladder decide when to act on it. HMI button writes vs the PLC input scan shows where the panel's write lands in the scan. For why the rung, not the panel, sets the final coil state, read how rung branches combine before the output is written.
Example: a filler line with two faults
A filler line panel shows the running bit, the e-stop state and a part count of 412 units, all live. The jog toggle returns Error Code 0x020d.
- Read test: force control relay C10 from the programming software, 0 to 1 and back. The panel lamp follows on the next poll. Read path good.
- Key switch: the CPU key sits in RUN. Turn it to TERM. The cycle-start button, tag C60, now writes clean: no error, and C60 latches the sequence start.
- The jog button still returns Error Code 0x020d. Its tag is C178. This CPU numbers bit addresses in octal, so the digits run 0 through 7 and after C177 comes C200. Octal 177 is 1 x 64 + 7 x 8 + 7 = 127 in decimal; octal 200 is 2 x 64 = 128. There is no 178, because octal has no digit 8. The CPU had no address to write and said so.
- Re-point the jog tag to C170, a spare control relay, put a C170 contact in the jog rung, and download the panel project and the PLC program as a matched pair.
- Confirm: five presses on each button, each bit toggling 0 to 1 and back, and the machine jogs. One panel power cycle, two more presses, no error, live data still on screen.
- Write "key switch in TERM required for panel writes" into the machine documentation.
Confirm the write path and keep it
- CPU in run mode, key in TERM: press the button and watch the target bit in the software status view. It must change on the press and change back on the next press.
- Confirm the machine function the bit controls actually operates, with the machine in its normal guarded state.
- Repeat the press several times, including after a panel power cycle, and confirm the error text never returns.
- Confirm the panel still reads live PLC data after the change, so the fix left the link alone.
- Back up the PLC program and the panel project together after any tag change, so the corrected pair survives a replacement.
What to do, case by case
Recommendation: Put the CPU key switch in TERM and press the button again before you touch a single comm setting; a panel that reads live data already has its port, driver, station address and cable right. If the error persists with the key in TERM, open the button's tag and check for an input-point target or the digit 8 or 9 in the address, then the CPU password, then a second ladder writer on the bit.
The decision for each case:
- Reads live, writes refused with Error Code 0x020d: the key switch, then the tag address, then password and ladder, in that order.
- No live data at all: the link. Fix the port, driver and station number before judging any write.
- Write accepted, bit holds one scan and drops: a second ladder writer. Remove it or switch the button to a request bit.
- Writes work on some tags and fail on one: the failing tag's address.
Questions
Can wrong comm settings cause Error Code 0x020d when reads still work?
No. A wrong port, driver, station address, baud rate, parity or cable breaks reads too. When the panel follows live bit changes, those settings are right, and the refusal comes from the CPU end: key switch position, tag address, password, or the ladder. Leave the comm settings alone until those four checks are cleared.
What does the TERM position on the CPU key switch do?
It hands change-of-state control to a connected device. With the key in TERM, the CPU accepts write requests from the panel. In the locked positions it keeps serving reads and refuses writes, which is exactly the read-good, write-failed pattern. Families that use RUN, REMOTE and PROGRAM put this function in REMOTE, with the mode chosen from the software.
Why can a panel button not write to a physical input point?
The input image is refreshed from the input module every scan, so any value written there is gone by the next scan. Point the button at a control relay or a data-memory bit, and use that bit as the contact in the ladder rung in place of the input address.
How do you tell an octal address problem from a key switch problem?
By the error's persistence with the key in TERM. Turn the key to TERM and press the button once. If the write passes, the key was the fault. If Error Code 0x020d stays, open the tag and look for the digit 8 or 9 in the bit or I/O part of the address. In octal-numbered CPU families those addresses do not exist, so the CPU refuses the write.
What should be ready before calling support about a refused write?
The exact error text, the CPU model, the panel model, the protocol driver selected in the panel project, the tag address behind the button, and the key switch position. Note too whether the write fails on every press or only sometimes, and whether any other tag on the same link writes successfully.
Planning information, not legal or engineering advice. Rules differ by place: check codes and permits with your local authority and your licensed trades.