Problem Description: Error 43 ord1 on Sinumerik 840C
When a Siemens Sinumerik 840C returns to service after a CSB (Central Service Board) lithium backup battery has expired, the most common operator-visible symptom is a persistent HMI alarm:
43 ord1 PLC CPU not ready for operation
The fault prevents the hydraulic contactor from being enabled, all axis and spindle drives remain blocked, and the integrated SIMATIC S5 PLC refuses to transition to RUN. The NCK (Numerical Control Kernel) and the operator interface appear to load normally, but the PLC flag image is uninitialized and ANW_PROG is flagged as invalid. In nearly every case the PLC alarm buffer reports:
002A Data loss (Datenverlust) on the PLC
and any attempt to commit the current PLC image back to the CSB returns:
PLC Error (ANW_PROG) cannot be created
This alarm cluster is fully described in the Siemens Sinumerik 840C Diagnostics Guide, chapters 2.1 (PLC alarms) and 2.2 (PLC data backup and restore), and in the 840C Commissioning (Inbetriebnahme, IBN) guide section "Loading from hard disk with user data". The following procedure is the field-proven recovery workflow used by service engineers when a 840C fails to come back up after a CSB battery event.
Root Cause: CSB Battery and SRAM Data Loss
The CSB hosts the 840C integrated SIMATIC S5 PLC CPU and the battery-backed SRAM that retains the entire runtime dataset across power-down:
- ANW_PROG (Anwender-Programm) - the current user PLC program
- BNW_PROG (Backup-Programm) - the frozen backup of the user program
- The PLC flag/word/data image used by the NCK/PLC interface
- Tool offsets, settable zero offsets (G54-G57), and pitch error / sag / SSFK compensation tables
- The active machine data set (MD) loaded at the last successful cold start
The on-board lithium cell (typically a 3.6 V primary cell such as the Tadiran TL-5186 / SL-861 or a Siemens-branded equivalent) maintains SRAM retention when the main 24 V and 5 V supplies collapse. When the cell voltage drops below the undervoltage threshold of approximately 2.8 V under load, the CSB writes the battery warning flag and raises a corresponding PLC alarm. If the cell is not replaced in time, the next power-down destroys the SRAM contents.
After a cold start with a fresh cell, the CSB SRAM region is uninitialized. The PLC CPU performs its cold-restart self-test (OB 20 equivalent) and detects an invalid PLC program checksum, raising PLC alarm 002A. The NCK is informed via the PLC status interface (DB 36 / status word), and the NCK surfaces alarm 43 "ord1 PLC CPU not ready" on the HMI.
Hardware Identification: CSB, PLC CPU, and Battery Variants
The Sinumerik 840C shipped with three principal PLC CPU populations. The CSB order number is in the 6FX1 132-1Bxx range.
| PLC CPU | CSB Order Number | Battery | Program Memory | Typical Use |
|---|---|---|---|---|
| SIMATIC S5-130A | 6FX1 132-1BA | 3.6 V Li, 1.7 Ah | 32 KB EPROM + 16 KB SRAM | Early 840C, single-channel |
| SIMATIC S5-130W | 6FX1 132-1BB | 3.6 V Li, 1.7 Ah | 64 KB EPROM + 32 KB SRAM | 840C, 840CE standard |
| SIMATIC S5-135W | 6FX1 132-1BC | 3.6 V Li, 2.4 Ah | 128 KB EPROM + 64 KB SRAM | 840C Performance, complex tooling |
The lithium cell is a replaceable module on the front panel of the CSB. Some service kits provide an AA-size Tadiran holder as a drop-in replacement. The PLC flag word "Battery" is set when the loaded cell voltage drops below 3.0 V; the "Battery alarm" flag is set below 2.8 V and forces the HMI to surface a battery message on next power-on.
PLC Alarm 002A - Data Loss Diagnostic
When PLC alarm 002A appears in the buffer, perform the following verification steps before attempting any reload. Skipping these is the most common cause of a failed recovery.
- Verify the new battery is correctly installed and that the polarity matches the silk-screen legend on the CSB holder. Reverse polarity will damage the CSB regulator within minutes.
- Measure the open-circuit battery voltage with a calibrated DMM. A fresh Tadiran TL-5186 reads 3.65 V +/- 0.05 V. Any reading below 3.55 V indicates a stale cell - reject it.
- Power on the control. Measure the loaded battery terminal voltage at the CSB. Loaded voltage must not drop below 3.0 V at any time during the boot sequence.
- Clear the PLC alarm buffer from the HMI:
Diagnostics > PLC > Alarms > Clear. - Inspect the PLC status word (DB 36 on the integrated S5). If "PLC STOP" persists with no further error, the PLC is halted by OB 31 (warm restart block) rather than by a battery problem and the recovery is different.
ANW_PROG. If this has already happened, the recovery must be done from an offline PG copy or commissioning diskette.Pre-Recovery Prerequisites
Confirm every item below before opening the HMI commissioning menu. Each missing item is a documented cause of a failed recovery.
- The FDS backup set is present in the system. On a 840C this is typically on the boot partition under
/SIN840Cor on a separate service partition accessible from the HMI service shell. - The new battery is installed, its voltage is verified, and the CSB has been powered continuously for at least 30 minutes so the SRAM retention is reliable.
- The 840C is at a known machine data state. Note the current MD values in the 200*, 300*, 500*, and 1000* ranges on paper in case the FDS load resets them.
- The PLC password (if assigned) is known. PLC programs on 840C are not encrypted by default, but
BNW_PROGmay be write-protected. - The original commissioning diskettes or the latest INI/MDA backup set is available as a secondary fallback.
- The HMI keyboard and CRT are functional. A failed CRT during the recovery blocks the verification step.
- A PG with STEP 5 / COM 840C software and a connecting cable (MPI / SINEC H1 / RS-232) is on the bench, in case the HMI menu cannot complete the cold restart.
Step-by-Step Recovery from FDS (Hard Disk)
The following sequence follows the 840C IBN guide, section "Loading from hard disk with user data".
Step 1 - Power down and check hardware state. Open the main breaker. With the control de-energized, verify the battery is correctly seated and the CSB LEDs (H1 "RUN", H2 "STOP", H3 "BAT") show the expected standby state. H3 must be OFF (battery OK). A lit H3 indicates either a missing battery or a polarity error.
Step 2 - Power on and enter HMI Service mode. Close the main breaker. Wait for the HMI to finish its boot sequence, typically 60-90 s. On the HMI main menu navigate:
Setup > Service > Commissioning
Enter the service password when prompted. On a 840C this is the 4-digit numeric code; on a 840CE it is the 6-digit code supplied at original installation.
Step 3 - Select "Load from hard disk with user data". In the Commissioning menu, locate the option:
Load from hard disk with user data
Confirm the path /SIN840C/USER and proceed. The 840C reads the following objects from the FDS:
- Machine data (MD)
- Tool data and tool list
- Zero offsets (G54-G57)
- Compensation tables (SSFK, pitch error, sag)
- PLC user program (
ANW_PROGandBNW_PROG) - PLC text buffer (alarm texts)
- Drive parameters (SIMODRIVE 611-A / 6SC6x)
Step 4 - Confirm the load request. The 840C displays a confirmation prompt:
WARNING: All current NC and PLC data will be overwritten.
Continue? (Y/N)
Select Yes. The system reboots partway through the load. Do not interrupt mains power during this phase.
Step 5 - Cold restart the PLC. After the FDS load the PLC CPU is in STOP. From the HMI:
Diagnostics > PLC > Cold restart (PC-COLD-RESTART)
The PLC CPU clears its work memory, reloads ANW_PROG from the CSB SRAM (now populated by the FDS load), and transitions to RUN. Watch the HMI for the message "PLC in RUN".
Step 6 - Verify alarm 43 is cleared. Return to the HMI alarm display. The 43 ord1 alarm must be absent. If it persists, repeat Step 5; if it still persists, see the troubleshooting matrix below.
Step 7 - Restore machine-specific settings. Some machine-specific adjustments (e.g., axis compensation values, handwheel scaling factors, end-of-travel soft limits) may not be present on the FDS backup. Re-enter these manually from the commissioning record.
Handling the "ANW_PROG cannot be created" Error
If the HMI returns PLC Error (ANW_PROG) cannot be created during Step 5 or when selecting "Save PLC", the root cause is one of the following. Work through them in order.
-
CSB SRAM has not been re-populated by the FDS load. Re-execute Steps 3 and 4 of the recovery procedure and verify the FDS path is
/SIN840C/USERand not a different partition. -
PLC password-protected BNW_PROG is interfering with the cold restart. From HMI
Diagnostics > PLC > Info, view the program status. If BNW_PROG showsPASSWORD, enter the password to unlock. - Residual PG loader on the CSB EPROM is detected before the SRAM. Power down, reseat the CSB memory sub-module, and retry. This forces a re-initialization of the boot sequence.
-
PLC has crashed during cold restart because of an OB 21 / OB 22 syntax error in the restored program. Connect a PG (programming device) via SINEC H1 or RS-232 MPI and use STEP 5 to inspect
ANW_PROGfor OB 21 / OB 22 corruption.
Field-proven workaround when the HMI path is blocked: force a fresh ANW_PROG write from STEP 5.
# STEP 5 / COM 840C procedure
1. Online > Connect to PLC
2. PLC > Reset (cold)
3. File > Open ANW_PROG from FDS path
4. PLC > Download to AG
5. PLC > Cold restart
If the PG reports the same cannot be created text, the CSB EPROM is corrupt and must be replaced. The CSB is hot-swappable when the control is de-energized and the new battery is installed.
ANW_PROG and BNW_PROG Strategy
ANW_PROG is the active user program; BNW_PROG is a frozen copy used as a fallback when ANW_PROG has an invalid checksum. The 840C cold restart sequence prefers ANW_PROG and falls back to BNW_PROG only if ANW_PROG cannot be loaded.
The recommended service workflow after every commissioning change is:
- From HMI
Diagnostics > PLC > Save > ANW_PROG. Verify the save returns no error and the timestamp in the HMI matches the edit. - Use HMI
Diagnostics > PLC > Copyand selectANW_PROG -> BNW_PROGto refresh the backup. - Confirm
BNW_PROGis readable by selectingDiagnostics > PLC > Infoand verifying the BNW_PROG checksum. - Create a third offline copy of
ANW_PROGon a service PG and label it with the machine serial number and date. This is a third-tier recovery if both the CSB and FDS backups are lost.
ANW_PROG (active) with BNW_PROG (backup) and to edit the wrong one. After any save, always check the HMI program list to confirm the active program is the one you just edited.Battery Maintenance Schedule
The CSB battery is a wear part. Recommended service intervals:
| Operating Mode | Replacement Interval | Periodic Check |
|---|---|---|
| 24/7 operation | 5 years | Verify cell voltage annually |
| 8 h/day operation | 4 years | Verify cell voltage every 6 months |
| Infrequent use | 3 years | Power on control monthly for at least 1 hour |
| Stored / shipped | 2 years | Replace before commissioning |
Critical rule: A machine that is not running 24/7 must be powered up for at least one continuous hour per month. This allows the PLC to execute its battery self-test (OB 100 / OB 101) and surface a battery warning to the HMI well before SRAM data is at risk. Skipping the monthly power-up is the most common cause of a 840C arriving at a customer site with a dead CSB battery and an unrecoverable PLC.
Verification and Commissioning Tests
After the recovery is complete and alarm 43 is cleared, perform every step below before returning the machine to production. Each test verifies a specific layer of the recovery.
- Alarm buffer check. From the HMI clear the alarm buffer and power cycle the control. On reboot no alarms should be present. PLC alarm 002A must be absent.
-
PLC status display. HMI
Diagnostics > PLCmust show "PLC in RUN, no errors". - Hydraulic enable. From the operator panel request hydraulics on. Verify the PLC outputs Q0.0 to Q0.7 (typical hydraulic contactor cluster) energize within 2 s.
-
Axis reference point. Reference all axes. Verify the position display matches the machine coordinate system. If positions are off, re-initialize the MCS via HMI
Setup > Reference. - Tool table verification. Load a known tool. Verify the loaded Z offset matches the value recorded in the commissioning sheet.
-
PLC program checksum. From PG / STEP 5 request the
ANW_PROGchecksum. It must match the checksum recorded at commissioning. A mismatch indicates partial restoration. - End-of-travel soft limit. Manually jog each axis into its software limit. Verify the PLC-driven rapid stop fires within 50 ms of the limit crossing.
- Emergency stop. Press E-Stop. Verify the PLC de-energizes all spindle and axis enable outputs. Reset E-Stop and verify the standard restart sequence is required.
- Battery alarm test. With the control running, momentarily disconnect the battery while powered. Within 10 s the HMI must display a battery alarm. Reconnect; the alarm must clear after a power cycle.
Troubleshooting Matrix
| Symptom | Probable Cause | Action |
|---|---|---|
| 43 ord1 persists after FDS load | PLC cold restart not executed | HMI Diagnostics > PLC > Cold restart
|
| 002A persists after battery change | Old battery still installed | Verify battery voltage and orientation |
| ANW_PROG cannot be created | CSB SRAM not populated | Re-execute FDS load, then PLC cold restart |
| PLC STOP, no error | OB 21/22 syntax error in restored program | Reload ANW_PROG from STEP 5 |
| BNW_PROG shows PASSWORD | PLC password not entered | Enter password from HMI |
| Hydraulic enable does not energize Q0.0 | PLC flag "Hyd ready" not set | Verify NCK-MMC interface via HMI Diagnostics > NC/PLC
|
| FDS load aborts with "read error" | Hard disk failure | Boot from service floppy, restore from offline backup |
| 43 ord1 returns after power cycle | Battery not retaining load | Replace battery, verify under-load voltage |
| Machine data lost after FDS load | Wrong FDS partition selected | Repeat load, verify path /SIN840C/USER
|
| Spindle enable missing after recovery | Drive parameters not loaded | Reload drive parameters separately |
| HMI displays "Battery" after recovery | Cell under load, marginal battery | Replace cell, run battery alarm test |
| PLC goes to STOP within 5 s of RUN | OB 1 cycle time exceeded | Check OB 1 / OB 31 timing on PG |
PLC Alarm Code Reference
Selected PLC alarms relevant to the battery / recovery scenario on the 840C integrated S5 PLC:
| Alarm | Text (EN) | Text (DE) | Cause | Action |
|---|---|---|---|---|
| 002A | Data loss | Datenverlust | SRAM contents invalid (battery loss) | Reload FDS, PLC cold restart |
| 002B | Battery warning | Batterie-Warnung | Cell voltage low | Replace battery within 4 weeks |
| 002C | Battery alarm | Batterie-Alarm | Cell voltage critical | Replace battery immediately |
| 0031 | PLC stop, syntax error | PLC-Stop, Syntaxfehler | OB 21/22 has syntax error | Reload ANW_PROG |
| 0032 | PLC stop, OB missing | PLC-Stop, OB fehlt | Required OB not present | Restore OB from PG |
| 0043 | PLC CPU not ready | PLC CPU nicht betriebsbereit | PLC in STOP or faulted | Cold restart or reload |
The NCK alarm 43 ord1 is the cascaded indication of the underlying PLC alarm 002A or 0031. Resolving the PLC alarm clears the NCK alarm on the next warm restart.
Frequently Asked Questions
What does Siemens Sinumerik 840C alarm 43 ord1 mean?
Alarm 43 ord1 "PLC CPU not ready for operation" indicates the integrated SIMATIC S5 PLC on the CSB is not in RUN. It is the NCK-level cascade of a lower-level PLC fault - typically 002A (data loss) or 0031 (syntax error) - and is resolved by fixing the underlying PLC condition and performing a PLC cold restart.
How do I clear PLC alarm 002A after a CSB battery replacement?
Replace the lithium cell on the CSB with a fresh 3.6 V Tadiran TL-5186 (or approved equivalent), confirm loaded voltage is above 3.0 V, navigate HMI Setup > Service > Commissioning > Load from hard disk with user data, then execute Diagnostics > PLC > Cold restart. Do not run "Save PLC" before the FDS load has populated ANW_PROG.
What causes "PLC Error (ANW_PROG) cannot be created"?
It indicates the CSB SRAM is still uninitialized because the FDS load did not complete, the BNW_PROG password is blocking the cold restart, or OB 21/22 in the restored program is corrupt. Reload from FDS, unlock BNW_PROG, or rewrite ANW_PROG from STEP 5 on a programming device.
Can I copy ANW_PROG to BNW_PROG as a spare?
Yes. From HMI Diagnostics > PLC > Copy select ANW_PROG -> BNW_PROG. This creates a frozen backup that the cold restart will use if ANW_PROG is corrupt. Always verify the BNW_PROG checksum via Diagnostics > PLC > Info after the copy.
How often must the CSB battery be replaced on a Sinumerik 840C?
Replace every 5 years for 24/7 operation, every 4 years for single-shift operation, every 3 years for intermittent use, and every 2 years for stored or shipped units. If the machine is not running 24/7, power it on for at least 1 continuous hour every month to surface a battery warning before SRAM data is lost.
Where is the FDS backup located on a 840C?
The default path is /SIN840C/USER on the boot partition. The Commissioning menu reads this path during "Load from hard disk with user data". If the path is missing, the FDS has been overwritten or the disk is failing; boot from a service floppy and restore from the offline commissioning diskette set.
What CSB order number fits the 840C integrated PLC?
CSB order numbers 6FX1 132-1BA (S5-130A), 6FX1 132-1BB (S5-130W), and 6FX1 132-1BC (S5-135W) cover the 840C family. The battery is a 3.6 V primary lithium cell, 1.7-2.4 Ah depending on variant. Confirm the part number on the CSB front panel label before ordering a replacement.