Resolving Siwarex WP321 bo_LifeBitError: SIWAREX Not Responding
The bo_LifeBitError boolean output of the SIWAREX WP321 function block is one of the most frequently misdiagnosed error bits in ET 200SP weighing applications. By definition, the bit means SIWAREX no longer responds, but in practice the module can still be visible in the device configuration, can still report "no fault" in the diagnostic buffer, and can still be reached by the SIMATIC CPU on PROFINET. The bit is a process-level error indicating that the cyclic user-data exchange between the function block and the weighing ASIC has stopped, and the gross/net weight is frozen at zero or the last valid value.
This reference describes the meaning of the bit, the underlying communication mechanism, the most common root causes observed in ET 200SP installations, and a field-proven diagnostic and replacement workflow that returns the weighing system to service without invalidating the calibration trace.
1. What the bo_LifeBitError Bit Actually Means
Inside every SIWAREX WP321 function block (FB) shipped with the SIWAREX WP321 library for S7-1200 / S7-1500 and ET 200SP, a free-running life bit is toggled by the module once per acquisition cycle (typically every 100 ms). The FB reads this bit back through the standard S7 technology module data record interface (data records DR 0..3) and compares it to the expected pattern. When the FB no longer sees the expected toggle, it sets the boolean output bo_LifeBitError := TRUE and freezes the process weight r_GrossWeight / r_NetWeight at its last valid value (or 0 kg if no valid value has ever been received).
According to the official SIWAREX WP321 function block error codes documentation, the definition is explicit:
bo_LifeBitError — SIWAREX no longer responds.
bo_StartUpError — Command was sent although StartUp is still TRUE.
bo_WrongFW — Data record version does not match the function block version.
The same information is reproduced in the equipment manual SIWAREX WP321 (A5E33715669A) from the Siemens Industry Online Support portal. The bit is a process-level error, not a hardware-configuration error. The module can still be present in the device configuration, can still report "no fault" in the online diagnosis, and can still be reached by the S7 diagnostic buffer, while the user-data interface has gone silent. This is the symptom most likely to be misinterpreted as a programming error when the actual root cause is on the hardware side.
2. System Architecture and Required Signals
The SIWAREX WP321 (Siemens article number 7MH4138-6AA00-0BA0) is a single-channel weighing module designed for the ET 200SP distributed I/O system. The module occupies a standard technology module (TM) slot in an ET 200SP station and is inserted into a Type W0 (BU15-P16+A0+2B) or Type F0 BaseUnit. The signals that must be present for correct operation are:
| Signal | Source | Function |
|---|---|---|
| 24 V system supply (backplane) | ET 200SP BaseUnit, type B (...D) | Powers the WP321 logic and the load-cell bridge regulator. |
| 6 V load-cell excitation | BaseUnit terminals 5 / 6 | Feeds the bridge supply of the connected load cells. |
| Sense lines (optional, 6-wire) | BaseUnit terminals 7 / 8 | Compensates cable resistance on long runs. |
| Signal lines (4-wire) | BaseUnit terminals 1 (+SIG) / 3 (-SIG) and 2 (+REF) / 4 (-REF) | Differential mV input from the load cell bridge. |
| ET 200SP backplane (PROFINET) | Interface module / CPU | Carries the cyclic data record read/write of the FB. |
3. The Function Block Interface in Detail
The standard "SIWAREX WP321" function block exposes a clearly documented input / output structure. The exact names and data types shown below are taken from the TIA Portal V20 function block library and align with the equipment manual:
| Signal | Direction | Data type | Purpose |
|---|---|---|---|
| i_b_StartUp | Input | Bool | Initialise / re-initialise the FB and the module. |
| i_b_Reset | Input | Bool | Reset the FB error latches. |
| i_b_ZeroScale | Input | Bool | Perform an automatic zero adjustment. |
| i_b_Calibrate | Input | Bool | Perform span calibration with a test weight. |
| bo_LifeBitError | Output | Bool | SIWAREX no longer responds. |
| bo_StartUpError | Output | Bool | Command issued before StartUp completed. |
| bo_WrongFW | Output | Bool | Data record version mismatch. |
| bo_CommandError | Output | Bool | Module rejected the last command. |
| bo_OperationError | Output | Bool | Module reports an internal hardware error. |
| bo_SensorError | Output | Bool | Load cell signal out of range. |
| r_GrossWeight | Output | Real | Current gross weight in the configured unit. |
| r_NetWeight | Output | Real | Current net weight in the configured unit. |
| w_StatusWord | Output | Word | Bit-coded module status (see Section 10). |
| w_ErrorCode | Output | Word | Hex error code from the module (DS 0 byte 0..1). |
The function block must be called in a fixed cyclic OB (typically OB1) with an instance DB created under the program blocks of the S7-1200 / S7-1500 / ET 200SP CPU. A typical SCL call is:
// SIWAREX WP321 - cyclic call
IF "DI_WP321".bo_LifeBitError THEN
// Latch the event in HMI alarm log
"HMI_WP321_Fault" := TRUE;
END_IF;
"DI_WP321"(i_b_StartUp := bStartUpAck,
i_b_Reset := bResetAck,
i_b_ZeroScale := bZeroScale,
i_b_Calibrate := bCalScale,
HW_SubModule := "WP321_HW_IO".SIWAREX_WP321);
4. Root Cause Analysis of bo_LifeBitError
The bo_LifeBitError is a symptom, not a fault class. Investigate the following root causes in order of likelihood for a previously working, then suddenly silent installation:
- Defective SIWAREX WP321 module. The most frequent cause in field reports. The module's internal ASIC or firmware stops toggling the life bit, but PROFINET diagnostics and the hardware configuration remain intact. The 6 V supply on pins 5/6 collapses because it is generated locally from the 24 V rail by the WP321 itself.
- Missing 6 V load cell supply on BaseUnit pins 5/6. A blown fuse, a mis-wired BaseUnit, or a Type W1 BaseUnit used where W0 is required will leave the load cells un-powered.
- BaseUnit mismatch or damaged spring contacts. An incorrect BU type (BU15-P16+A0+2B versus a feed-through variant) breaks the internal power rail to the WP321 slot.
- PROFINET name / IP conflict after maintenance. The CPU still "sees" the device but the cyclic data is not being delivered to the FB on schedule. The bo_WrongFW bit may also appear when a saved topology is re-loaded.
- Excessive EMC on the load cell cable. The module enters a safety reset and the life bit pauses until the disturbance clears. Typical sources are VFD bearing currents and welding return paths sharing the same tray.
- Firmware / function block version mismatch. The bo_WrongFW bit is set in this case, but a borderline version can also produce a non-steady life bit before the bit is asserted.
- Excessive scan time on the controller. OB1 cycle time greater than the FB watchdog (default 1 s) prevents timely DR read.
- Incorrect parameter "Read cycle" in the device configuration. A read cycle set higher than 1 s masks intermittent comms losses and looks identical to a frozen life bit.
5. Pre-Diagnostic Checklist
Capture the following information before opening the cabinet. It will compress the on-site diagnostic to a few minutes.
| Item | How to capture |
|---|---|
| Module order number and firmware version | Read from the module label, or via online → "Module information" in TIA Portal. |
| Function block version and instance DB number | Project tree → PLC program → Technology objects / function blocks. |
| Last calibration data record (DR 0..3) | Read online → "Module → Weighing module → Calibration data". |
| Diagnostic buffer of the CPU at the moment bo_LifeBitError went TRUE | Online → "Online & diagnostics → Diagnostic buffer". |
| Plant history: any welding, lightning, panel work | Operator interview; check the maintenance log. |
| 24 V backplane voltage at the BaseUnit | Measure with a calibrated DMM at the BU power terminals. |
| 6 V load-cell voltage at pins 5/6 | Measure with a calibrated DMM at the BaseUnit with the load cells connected. |
6. Step-by-Step Diagnostic Procedure
-
Confirm the symptom online. Open TIA Portal, go online with the ET 200SP station, and watch the FB instance DB. Confirm that
bo_LifeBitErroris TRUE,r_GrossWeightis frozen at 0 (or the last valid value), and thatbo_StartUpError,bo_WrongFWandbo_CommandErrorare FALSE. - Inspect the diagnostic buffer. Look for "Station failure", "Module removed/inserted", "Life-sign of module missing", or PROFINET IO timeout entries that coincide with the moment the bit flipped.
- Check the PROFINET connection. In the online device view, the WP321 should still show a green check mark. A yellow triangle with an "!" indicates a cyclic-data problem; a red "x" indicates the module is off-bus.
- Measure the 6 V load cell supply. With the system powered and the load cells connected, measure between BaseUnit pin 5 (+) and pin 6 (–). The reading must be 6.0 V ± 0.3 V. If it is missing, the load cells are dark and the WP321 has nothing to convert.
- Measure the load cell input. With a calibrated mV source or with the load cell itself, verify that a differential voltage of 1–3 mV/V appears between pins 1/3 (signal+) and 2/4 (signal–). Zero mV = open bridge or broken cable.
- Power-cycle the station. Remove and re-apply 24 V. If bo_LifeBitError stays TRUE across a clean power cycle, the issue is not a transient.
- Swap the BaseUnit for a known-good W0 type. If the 6 V is missing but the 24 V rail is healthy, the BaseUnit is the prime suspect.
- Swap the WP321 module. Replace the module with a known-good unit of the same order number and firmware. Transfer the calibration DRs to the replacement module before commissioning.
- Transfer the calibration data. With the new module online, write the saved DR 0..3 (zero, span, filter coefficients, weight unit) to the new module. Without this step the weight is technically valid but legally non-conformant.
- Verify on the HMI. The bo_LifeBitError should clear within two acquisition cycles (typically ≤ 200 ms) and the gross weight should follow a known test weight within ± 0.05 %.
7. BaseUnit Power and the 6 V Load Cell Supply (Pins 5 / 6)
The 6 V supply on pins 5 / 6 of the ET 200SP BaseUnit is generated locally by the SIWAREX WP321 from the 24 V backplane. It is not a separate external rail. If the module is unpowered, missing, or defective, the rail collapses. The two failure modes that present as "bo_LifeBitError + 0 kg" are therefore easily confused unless the rail is measured:
| Failure | 6 V on pins 5/6 | Module online | bo_LifeBitError |
|---|---|---|---|
| Wrong BaseUnit type installed (W1 instead of W0) | 0 V | Yes | TRUE |
| Defective WP321 module | 0 V | Yes | TRUE |
| Damaged BU spring contact | 0 V | Yes / intermittent | TRUE / toggling |
| Load cell cable open | 6 V normal | Yes | FALSE (weight stuck at last value) |
| PROFINET cable removed | 6 V normal | No / red | TRUE |
| Function block version mismatch | 6 V normal | Yes | TRUE + bo_WrongFW |
Use a DMM with at least 0.1 mV resolution on the 6 V range. The reference polarity is pin 5 = positive, pin 6 = negative. A reading of ± 0.3 V around 6.0 V is acceptable; anything below 5.4 V indicates a loaded regulator that is about to fail.
8. Module Replacement Procedure
- Lock out and tag out the 24 V supply to the ET 200SP station. SIWAREX WP321 does not support hot-swap of a weighing module that is mid-batch; weighings in progress are lost.
- Open the front flap of the BaseUnit, press the release lever, and remove the defective module.
- Inspect the spring contacts of the BaseUnit for contamination, bent clips, or burnt marks. Replace the BaseUnit if any contact is damaged or if the BU type is not W0.
- Insert the replacement SIWAREX WP321. Verify that the locking lever snaps fully home and that the module LED flashes its start-up sequence.
- Re-apply 24 V. Wait for the station to come back on PROFINET (the IM 155 diagnostic LED goes green, the WP321 "BF" LED goes off).
- Open TIA Portal, go online, and right-click the new module → "Assign PROFINET device name" if the device name was tied to the old module's MAC.
- Write the calibration data records (zero, span) into the new module. Use "Module → Weighing → Calibration data → Restore" and select the most recent export file.
- Set the scale to service mode in the HMI, place a known test weight, and confirm the reading matches the certificate within ± 0.05 %.
- Release the scale to production.
- Document the module replacement in the calibration logbook. The certificate of the scale now references the new module serial number.
9. Recommissioning the Replacement WP321
After mechanical replacement, perform the following logical steps to bring the FB back to a clean state:
- Reset the FB instance by toggling
i_b_Reset := TRUEfor one OB1 cycle. - Call the command
i_b_StartUp := TRUEand observe thatbo_StartUpErrorremains FALSE. According to the function block documentation, sending a command whilebo_StartUpis still TRUE will assertbo_StartUpError. - Verify that
bo_LifeBitErrorclears within two acquisition cycles (≤ 200 ms on a WP321 with default 100 ms DR cycle). - Verify that
bo_WrongFWis FALSE. If it is TRUE, the function block version does not match the module firmware; load the matching library or update the module firmware. - Run the verification acceptance test described in section 10.
- Re-arm the HMI alarm suppression and re-enable the production interlocks that were bypassed during the diagnostic.
10. Verification and Acceptance Test
| Test | Expected result | Pass criteria |
|---|---|---|
| Power-on self-test | Module diagnostic LED green | All four status LEDs match the manual (PWR, BF, SF, MT) |
| Life bit observation | bo_LifeBitError = FALSE for 5 min | No transient TRUE in the trend |
| Test weight 1 (~25 % of range) | Within ± 0.05 % of nominal | Drift < 1 digit per minute |
| Test weight 2 (~75 % of range) | Within ± 0.1 % of nominal | Linearity < 0.1 % |
| HMI value update | Weight updates ≥ 5 Hz | No "stale data" indicator |
| Diagnostic buffer | No "module failed" entries | Clean for 24 h |
| 6 V load cell supply (pins 5/6) | 6.0 V ± 0.3 V under load | Stable for 1 h |
| Command execution (zero, calibrate) | Command accepted, bo_CommandError FALSE | Round-trip < 1 s |
11. Related SIWAREX WP321 Function Block Error Codes
The complete set of boolean error bits exposed by the standard SIWAREX WP321 function block, as published in the TIA Portal V20 SIMATIC ET 200SP manual collection and the SIWAREX WP321 equipment manual (A5E33715669A), is summarised below.
| Bit / Word | Meaning | Typical root cause | First action |
|---|---|---|---|
| bo_LifeBitError | SIWAREX no longer responds | Module defective, BaseUnit issue, or comms lost | Measure 6 V on pins 5/6, swap module |
| bo_StartUpError | Command sent although StartUp is still TRUE | Sequence error in user program | Wait for StartUp to clear before sending commands |
| bo_WrongFW | Data record version does not match | FB version vs. module firmware mismatch | Update FB library or module firmware |
| bo_CommandError | Module rejected the last command | Invalid parameter, command not allowed in current state | Check command sequence and parameter limits |
| bo_OperationError | Module reports an internal error | Hardware fault, RAM/ADC error | Power-cycle, replace module if persistent |
| bo_SensorError | Load cell signal out of range | Open bridge, sense line, overrange | Inspect load cell cabling, check sense jumpers |
| w_ErrorCode (hex) | Detailed module diagnostic | See module manual, Section 8.3 | Decode against the equipment manual table |
Common hex values for w_ErrorCode on a WP321 include 0x0001 (calibration data missing), 0x0002 (load cell signal out of range), 0x0004 (sense line open), 0x0008 (overrange), and 0x0010 (ADC saturation). Always cross-reference the value with the equipment manual table for the firmware version installed on the module.
12. Edge Cases and Field-Proven Caveats
- Intermittent bo_LifeBitError during welding. In plant environments with resistance welding, the load cell cable can pick up common-mode transients. Route the load cell cable in a dedicated grounded steel conduit, separated by at least 200 mm from welding returns. Add a 6-wire load cell connection (use sense lines on pins 7/8) to cancel cable resistance effects.
- bo_LifeBitError only during CIP. The PROFINET device name is sometimes overwritten by the CIP cleaning PLC's tools. Always assign a PROFINET device name programmatically from the CPU and disable PROFINET name discovery on the engineering station.
- bo_LifeBitError after firmware update. Update the FB library to the matching version first, then perform a module reset. Mixing FB and module versions from different TIA Portal releases is the most common source of the bo_WrongFW pairing.
- bo_LifeBitError with redundant CPU. In an H-CPU / R-CPU redundant ET 200SP configuration, the master CPU updates the life bit but the standby does not. This is normal. Configure the standby to suppress the bo_LifeBitError evaluation until it takes over.
- Legal metrology considerations. A SIWAREX WP321 used in a trade-legal scale (OIML R76, class III) is sealed. Breaking the seal for diagnostic or replacement voids the certificate. Always involve the local weights & measures authority before opening the cabinet.
13. Quick-Reference Diagnostic Flow
+----------------------------------+
| bo_LifeBitError = TRUE? |
+-----------------+----------------+
| YES
v
+----------------------------------+
| Module online in HW config? |
+----+-------------------+---------+
NO| |YES
v v
Check PROFINET Measure 6 V on
cable, name, IP, pins 5/6 of BU
IM/CM status (load cell supply)
| |
v v
Repair network 6 V OK? -- NO --> Replace
and retry Check BU type BaseUnit
| W0 vs W1
| |
| v
| 6 V OK + module online
| |
v v
+----------------------------------+
| Power-cycle the station. |
| Still TRUE? Replace WP321. |
+----------------------------------+
14. Frequently Asked Questions
What does bo_LifeBitError mean on a SIWAREX WP321?
It means the function block no longer receives the module's toggling life bit. According to Siemens documentation, the literal definition is "SIWAREX no longer responds". The bit is a process-level symptom indicating that user-data exchange has stopped, even if the module is still visible in the PROFINET device list.
Why is the gross weight showing 0 when bo_LifeBitError is TRUE?
The function block freezes the weight output at 0 (or the last valid value, depending on the FB version) when the life bit is missing, because it cannot trust a process value that has not been refreshed by the module. Once communication is restored, the weight updates at the configured acquisition rate (default 100 ms on the WP321).
Can the SIWAREX WP321 be hot-swapped when bo_LifeBitError is TRUE?
No. The module must be powered down before removal. In addition, the calibration data records (DR 0..3: zero, span, filter, unit) must be backed up and restored to the replacement module, otherwise the scale reading is technically valid but legally non-conformant and the production lot may need to be re-weighed.
Does the 6 V on BaseUnit pins 5 and 6 come from the WP321 or from the 24 V backplane?
It is generated locally by the SIWAREX WP321 from the 24 V backplane power. If the WP321 is unpowered, missing, or defective, the 6 V rail collapses. A missing 6 V reading is therefore a strong indicator that the WP321 itself is the fault, not the BaseUnit.
How do I distinguish a defective module from a wrong BaseUnit type?
Swap the BaseUnit first if you have a spare of the correct W0 type. If the 6 V still does not appear on pins 5/6 and the module is the correct WP321, the WP321 is defective and must be replaced. Always check the BaseUnit type label (W0 for the WP321) before any module swap.
What is the difference between bo_LifeBitError and bo_WrongFW?
bo_LifeBitError means the module has stopped responding to the FB in cyclic operation, while bo_WrongFW means the function block library version does not match the firmware on the module. Both can coexist, but they point to different root causes: a comms or hardware issue for the former, and a version mismatch for the latter.