Resolving Siwarex WP321 Lifebit False: ET 200SP Process Image Fix

David Krause15 min read
SiemensTIA PortalTroubleshooting
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer
Symptom: SIWAREX WP321 on ET 200SP shows a static life bit, bo_lifebit_error = TRUE, and no cyclic toggle of the lb_status/li_lifebit tags in DB321/DB322, even though the FB WP321 is instantiated once with a unique HW address.

1. Problem Description

The SIWAREX WP321 is a single-channel, strain-gauge based weighing module for the SIMATIC ET 200SP distributed I/O system. It is integrated into the PLC cycle through a function block (FB321 "WP321" in classic STEP 7, or FB "SIWA" blocks in TIA Portal) which is supplied as a library by Siemens. The block reads a process image fragment from the module and exposes a toggling life bit to confirm cyclic communication. A healthy system toggles this bit every PLC cycle (typically every OB1 sweep, e.g. 10-100 ms depending on the cycle clock).

Engineers frequently copy the Siemens sample project, drop FB321 / FB WP321 on a cyclic OB, fill in the HW address (start address) of the head module, download, and go online. The first sanity check is always the life bit. When the bit does not toggle and the diagnostic tag bo_lifebit_error latches to TRUE, application code that depends on weight stability, dosing, or batching downstream stops updating correctly.

Symptoms reported in the field include:

  • li_lifebit or lb_lifebit in DB321 / DB322 stays at 0 or 1, no toggle
  • bo_lifebit_error = TRUE and stays latched
  • Weight value ld_weight frozen at 0 (or at last raw ADC value)
  • DR (Data Ready) flag not transitioning
  • No diagnostic entries in the module’s diagnostic buffer (PRM, OK, SF all green)
  • Hardware interrupt OB (OB82) not being triggered even though the LED on the module appears normal

2. Affected Systems, Firmware and Library Versions

The condition applies across both classic STEP 7 (SIMATIC Manager) and TIA Portal projects, with the variants listed below:

Controller family Engineering Library block Typical start address range
S7-300 / S7-400 (e.g. CPU 416F-2) SIMATIC Manager V5.5 / V5.6 FB321 "WP321" from SIWAREX WP321 library 256 … 4095 (word-aligned)
S7-1200 / S7-1500 TIA Portal V15 … V19 FB "SIWA" / "WP321" (TIA WP321 V2.x library) 0 … 65535 (depends on device configuration)
ET 200SP CPU (CPU 1510SP / 1515SP) TIA Portal FB "WP321" from TIA WP321 library Per HW Config slot

SIWAREX WP321 module relevant firmware range:

  • Module firmware V1.0 … V2.0 (FW 2.0 ships as standard since approx. 2017; modules with FW ≥ 2.0 are required when using TIA Portal V16+ blocks that use the new SSP_GSD for SIWAREX)
  • BaseUnit type A0 / A1, ET 200SP head module (IM 155-6 PN ST / HF, article numbers 6ES7155-6AUxx-0BN0 / -0CN0)

The official Siemens device documentation is the SIMATIC ET 200SP Manual Collection – SIWAREX WP321 device-specific information (TIA Portal).

3. Root Cause Analysis

The SIWAREX WP321 exchanges its process data with the PLC through a 16-byte input area and a 16-byte output area beginning at the head module’s slot start address (for example PI 3632 … PI 3647 and PQ 3632 … PQ 3647 in a SIMATIC Manager project). The Siemens faceplate and library FB WP321 read these IO areas using direct peripheral access (PEW / PAW) or, more often, through a data block fragment that the user maps onto the process image.

The life bit is generated inside the WP321 module firmware and copied into the least-significant or user-defined bit of the output process image (the exact bit position is documented in the FB321/WP321 manual). The PLC-side FB samples this bit on every call and toggles its mirror bo_lifebit. If FB WP321 is called and the bit never changes state, the FB raises bo_lifebit_error.

There are three root-cause classes, in order of frequency in field calls:

  1. Process image exclusion (default for partial process image on S7-300/400). In SIMATIC Manager, when a module is placed in a partial process image (PII/PID), the OB1 call uses inputs E / outputs A prefixes (process image). If the head module slot address (e.g. 3632 … 3647) is configured under "Update of the process image" only as a peripheral I/O area, or is not assigned to OB1’s process image partition at all, the FB does not read the WP321 outputs and the life bit mechanism cannot observe the toggle.
  2. FB instance called once but bound to wrong address. The FB WP321 is instantiated on a DB (DB321 in classic, an instance DB in TIA). The start address of the WP321 in the HW catalog must be entered inside the FB’s input i_hw_address (or ADDR in some library variants). A mismatch – e.g. typing the slot index instead of the start byte – silently disables the cyclic update.
  3. Module placed in slot with insufficient update time / wrong GSD. In TIA Portal, if the module is dragged from a generic SIWAREX catalog entry instead of "SIWAREX WP321" with the correct FW, the I/O length may be wrong (4 bytes instead of 16 bytes) so that the cyclic handshake never lines up.

3.1 Why the Siemens expert pointed at the process image

The standard SIWAREX WP321 FB (FB321 in classic STEP 7 / FB "WP321" in TIA) uses direct I/O access L PIW … / T PQW … not L EW …. That means the toggle check no longer depends on the PLC process image partition. However, the life bit mirror that the FB writes into the cyclic DB is generated by sampling the I/O directly and incrementing it locally. If the FB is not executed each cycle (for example because OB1 is wrong, or because a higher-priority OB skips the call), the internal counter still toggles — but the user’s mirrored tag bo_lifebit never reflects it because the input copy never lands in the DB.

The two most common reasons the FB executes but the mirrored tag stays still are:

  • OB1 is too fast (cycle time < module update time); the WP321 module keeps returning the same bit value because the toggle happens between two PLC reads. With OB1 priority and a normal 10 ms cycle this is rarely seen.
  • The FB WP321 is called inside an OB whose process image is not updated. In S7-300/400, OB1 always updates the process image of inputs; on S7-1500 it is also implicit. The trap is on S7-1500 when using user-defined process image partitions and the user ties the partition to OB3x (cyclic interrupt) but still reads the FB through an EW/ AW reference in the FB body — not a direct peripheral one — which is the case in some older FB321 “SIWATOOL V3” library versions. The life bit mechanism requires the FB to be in the same update class as the configured module interrupt.

In other words, the Siemens recommendation ("the WP321 module has to be in the process image of the PLC") is the canonical answer: ensure that the WP321 slot address is registered in some process image partition that is actually refreshed in the OB executing FB WP321.

4. Pre-Checks Before Touching HW Config

Before changing process-image configuration, run this ordered checklist. Each item must pass before moving to the next.

  1. Slot address visible in the HW catalog. Open HW Config (SIMATIC Manager) or the device view (TIA Portal). Verify the WP321 appears in the slot list with the correct article number (6ES7135-6LB00-0CA0 / -0DA0 for the standard variant; -0CA1 etc. for the high-precision variant) and that the slot is not crossed out as "not assigned."
  2. Start address matches FB input. Read the start byte from the module Properties → Addresses. Compare byte-for-byte with the i_hw_address or LADDR parameter of FB WP321/FB321 in the open instance DB. A common site error is to put the slot number (e.g. 4) instead of the start byte (e.g. 256).
  3. Module diagnostics clear. Force the WP321 → Diagnostics buffer in the online HW view. Look for entries "Parameter error" (0x10), "Channel error" (0x20), "External fault" (0x40). If any diagnostic is present, the life bit mechanism is suppressed by firmware.
  4. Module firmware update state. In TIA Portal: Properties → Module parameters → "Module information". If the firmware is V1.0 and the library expects V2.0 features (extended life bit handshake), upgrade the firmware using the SIWAREX FW update tool or TIA Portal online & diagnostics.
  5. Cable and base unit. Verify the BaseUnit type matches the WP321 (BU type A0 for standard, A1 with shield contact). Poor contact on the backplane bus yields the same signature — life bit static, error flag true — even though everything looks configured.

5. Solution A: SIMATIC Manager (S7-300 / S7-400, classic FB321)

This procedure applies when FB321 "WP321" from the SIWAREX WP321 library (V3.2.x or later) has been instantiated and the program reports the start address 3632 (the value from the discussion), or any user-assigned address in the partial process image area.

5.1 Add the WP321 slot to OB1 process image

  1. In SIMATIC Manager, open HW Config.
  2. Select the WP321 slot.
  3. Open Properties → Addresses.
  4. In the "Process image" group (sometimes labelled "Update of process image"), tick OB1 (or a user-defined partition of OB1’s process image). The default on a fresh HW Config is "None" for partial-sized modules, which is the cause of the issue.
  5. Click OK, then Station → Save and Compile and download HW Config to the PLC.
  6. Go online, monitor DB321. lb_lifebit should toggle within two OB1 cycles and bo_lifebit_error should fall to FALSE within the FB’s monitoring timeout (default 5 s).

5.2 If a partial process image (PIP) is mandatory

When using OB10 … OB17 / OB30 … OB38 for deterministic dosing, the WP321 must be assigned to the same PIP. The procedure:

  1. HW Config → right-click the CPU → Properties → Process image.
  2. Open "Process image partitions" tab. Note the partition number mapped to the cyclic OB (default OB35 ⇒ PIP 1).
  3. Back in WP321 → Properties → Addresses, tick only the matching partition (OB1 + OB35 if it’s called from there, or OB35 alone if FB WP321 lives only in OB35).
  4. Save, compile, download. Stop and restart OB35 if necessary.

5.3 Force the FB to use peripheral I/O

If a process image assignment is not possible (e.g. legacy slot binding), switch FB321 to its second variant "WP321 with PIA / PEB direct" by swapping the block with the SIWAREX WP321 library variant named "WP321_PE". This variant accesses PEW / PAW only, never touches the process image, and is the correct choice if the FB is called from OB82 or other interrupt OBs that do not refresh a PIP.

6. Solution B: TIA Portal (S7-1200 / S7-1500 / ET 200SP CPU)

In TIA Portal the equivalent setting is exposed differently per device view.

6.1 Verify the slot is registered with the system clock

  1. Project tree → Devices & Networks → select the ET 200SP station.
  2. Click the WP321 module in the device view.
  3. Properties → General → IO addresses.
  4. Ensure "System clock is used" or, more commonly, that the "Process image" column is set to Automatic update. By default TIA assigns input/output 0 … 99 to the OB1 process image; WP321 placed at byte 100+ may sit outside the automatic range.
  5. If it sits outside the automatic range, in the same dialog set "Process image" to OB1 explicitly, or to the cyclic-interrupt OB that calls FB "WP321."
  6. Compile (rebuild all) and download to the station.

6.2 TIA Portal library – which FB to drop

The TIA WP321 library ships multiple blocks. Pick the one that matches your framework:

Library block Access path When to use
FB "SIWA" / "WP321Base" PI/PQ Default, S7-1500 with OB1 process image
FB "WP321_PE" PEW/PAW Called from OB82 / OB3x in PIP-free setup
FB "WP321_SSP" SSP_iQ S7-1500 modules with FW ≥ 2.0 + SSP IOLink topology

6.3 Hardware Interrupt – does it need to be enabled?

Hardware interrupts (OB82 for diagnostics, OB40 for process alarms) are not required to enable the life bit. The life bit is part of the normal cyclic process data. Hardware interrupt enabling is only required when the application wants to react to alarm bits such as "weight value outside limits" or "scale tare error." Leave the option disabled unless downstream OBs depend on it.

6.4 Compiling the user program with the right "Update of process image" cycle

TIA → PLC Programming → Program blocks: open Properties on FB WP321 instance, look under "Cyclic interrupt OBs" or "Process image." Make sure the OB that calls the FB is the same OB associated with the WP321 address’s process image. If you split user code between OB1 (slow user code, OB1 PII) and OB35 (fast weighing code, OB35 PIP), the WP321 address must be in both PIPs, or you must use the PE/PA variant.

7. Hardware Interrupt and CMD Handling – Optional, but Often Confused

8. Verification Procedure

After applying the fix, run this ordered verification to confirm the issue is resolved and to capture commissioning evidence.

  1. Bring the CPU to RUN. Open the WP321 instance DB online (DB321 or your custom instance).
  2. Observe li_lifebit/lb_lifebit for at least 10 OB1 cycles. The value must toggle 0 ⇄ 1 each cycle.
  3. Confirm bo_lifebit_error = FALSE.
  4. Apply a known load (e.g. 1.000 kg calibration weight) and read ld_weight. Compare to a calibrated reference within the WP321 accuracy class (0.05 % of full scale for the standard variant).
  5. Check the CPU diagnostic buffer for absence of WP321-related OB82 entries.
  6. Force a tare command (i_CMD := 1, rising edge) and verify ld_weight = 0.000 within 1 s, then reset the command.
  7. Capture a trace (S7-1500: Trace) of the toggling life bit for at least 30 s to record commissioning evidence.

9. Extended Troubleshooting Matrix

Use this matrix to triage re-occurrences or related symptoms reported alongside a static life bit.

Symptom Most likely cause Diagnostic step Fix
Life bit static, error true, no SF LED Process image not registered HW Config → WP321 addresses → process image Assign to OB1 / matching PIP
Life bit static, SF LED red Module diagnostic event Online & Diagnostics → Diagnostic buffer Clear the event; verify scale wiring / load cell
Life bit static, error false FB not called from OB1 CFC/SFC view of FB calls Move FB call into OB1 (or correct PIP)
Life bit toggles, weight frozen CMD latch Monitor bo_cmd_busy Reset CMD to 0 with rising edge to clear
Life bit toggles, weight offset Calibration Run calibration wizard Re-calibrate with SIWATOOL or WP321HMI
Life bit OK, bo_lifebit_error briefly TRUE at startup Normal start delay Cycle observation Allow 5 s after RUN for handshake
Life bit random spikes ET 200SP PN update jitter / PN cable PRPnet monitor / ET200 PN analyzer Shielded cable, MF-DB, check ground
Life bit OK in CPU’s online view, but PLC application shows static User-defined PIP mismatch Compare PIP OB vs FB call site Realign PIP mapping

10. Field-Proven Caveats

  • The WP321 toggles the life bit on the output side (PLC → module) by writing into byte 0 / bit 0 of the outputs. Do not write into this area from your own program or hand-force outputs — the module interprets them as commands and may return wrong data while doing so.
  • Do not place the WP321 next to a non-SIWAREX high-speed digital module on the same ET 200SP station; some users have reported life-bit glitches caused by emission coupling in mixed high-speed DI/DO slots. Keep at least one BaseUnit spacer slot between WP321 and DO modules.
  • The classic FB321 in SIWATOOL V3 has a watchdog timer default of 5 s. If the application takes longer than that to come online (e.g. on warm restart after PROFIBUS recovery), bo_lifebit_error may latch TRUE before the cyclic handshake has completed. The recommended value for dirty networks is 8 … 10 s; configure via the FB input i_lifebit_time.
  • In TIA Portal, if the system clock setting is on "Automatic update" but the WP321 ends up outside the configured PII range (when the project has user-defined partitions), the symptom is identical to no process image at all. Always check the byte address against the partition table under CPU Properties → Process image → Partition overview.
  • Modules delivered with FW 1.0 do not support the SSP protocol variant – do not upgrade a TIA WP321 "SSP" block onto such a module; downgrade the library block to the non-SSP base variant instead.

11. Frequently Asked Questions

What does the Siwarex WP321 life bit actually measure?

The life bit is a single bit in the WP321 module’s output process image that toggles every cycle of the module firmware. The FB WP321/FB321 on the PLC samples the bit, mirrors it inside the instance DB as li_lifebit/lb_lifebit, and raises bo_lifebit_error if the mirror does not change within the configured monitoring window (default 5 s).

Do I need to enable a hardware interrupt in HW Config to make the life bit work?

No. The life bit is part of the cyclic process data, not of a hardware interrupt. Hardware interrupts (OB40 / OB82) are only required for diagnostic or process alarms. Enabling them does not influence the life bit toggling behaviour.

The WP321 is at start address 3632 – does that address automatically belong to the OB1 process image?

On S7-300 and S7-400 the partial process image is partitioned by default and very few address ranges beyond 256 are included automatically. On an S7-1500, the default OB1 process image is bytes 0 … 99. Address 3632 is outside the OB1 process image in both families; the WP321 slot must be added explicitly to OB1 (or to the matching PIP) through HW Config or the device view properties.

Can I call FB321 from OB82 instead of OB1 to fix this?

Yes, but only with the PEW/PAW variant of the block (block named “WP321_PE” in the library). The standard FB321 uses EW/AW (process image), so it must be called from an OB whose associated PIP includes the WP321 addresses – typically OB1.

My bo_lifebit_error latches TRUE for ~5 s at startup and then clears – is that a fault?

No. The default monitoring timeout is 5 s. During a cold/warm restart the module needs a few cycles to complete its handshake; a transient bo_lifebit_error that self-clears is normal. If the bit never clears, the process image / FB call mapping is the primary suspect.

Which Siemens manual covers this?

Refer to the SIMATIC ET 200SP Manual Collection – SIWAREX WP321 (TIA Portal) and the SIWAREX WP321 function manual shipped with the library, sections “Commissioning” and “Process image.”

Back to blog