Symptom Summary
The SIWAREX WP321 weighing module (Siemens order number 7MH4138-6AA00-0BA0) installed on an ET 200SP station enters service mode for approximately 0.5 s and is then forced out of service mode, locking every operator button on the faceplate. When the operator bypasses PCS7 and connects directly to the module through SIWATOOL V7, the "Service" indicator blinks in a fixed pattern: present for 0.5 s, absent for 5 s, then repeats. The behaviour is observed on two physically adjacent WP321 slots while 22 other units in the same plant operate normally. Swapping the WP321 module between the affected slots and the working slots does not move the fault - a brand-new module inserted into the suspect slot shows the same cycle, and the original suspect module behaves correctly when placed in a known-good slot. The diagnosis is therefore a software/program fault, not a hardware fault.
Siwarex WP321 Hardware, Part Numbers, and Base Units
The WP321 is a technology module for the SIMATIC ET 200SP distributed I/O system. It digitises strain-gauge load cell signals with up to 24-bit resolution and supports 4-wire or 6-wire load cell wiring. The module is documented in the SIWAREX WP321 Operating Instructions, available from Siemens Industry Online Support as A5E33715669A-ADen WP321 Operating Instructions (PDF).
| Parameter | Value |
|---|---|
| Order number (this case) | 7MH4138-6AA00-0BA0 |
| Resolution | Up to ± 1 000 000 parts (calibration-dependent) |
| Internal A/D resolution | 24 bit |
| Measuring rate | 100 Hz (10 ms) or 10 Hz (100 ms), selectable |
| Load cell wiring | 4-wire or 6-wire |
| Number of load cells | Up to 4 × 350 Ω or 8 × 700 Ω in parallel |
| Supply voltage | 24 V DC via ET 200SP backplane |
| Service interface | RS485 via USB/RS485 converter (Siwatool V7) |
| Accuracy class | III per OIML R76 (with appropriate calibration) |
WP321 occupies a single ET 200SP slot and must be plugged onto a base unit that supports analog/technology modules. Acceptable base units include 6ES7193-6BP00-0BA0 (Type A0) and 6ES7193-6BP00-0BD0 (Type D0 with AUX terminals). The base unit is part of the configuration: a mismatch between the hardware catalog entry and the physically inserted base unit is one of the few hardware-level causes that can produce intermittent service-mode behaviour and must be ruled out before touching the PLC program.
Service Mode Operation Principle
Service mode (also called "local mode") puts the WP321 into a state where SIWATOOL V7 has exclusive command authority. In service mode, the cyclic data records normally written by the PCS7 driver blocks are not accepted, allowing an engineer to perform zero, tare, span adjustment, and DR3/DR4 write operations directly from the SIWATOOL PC without interference from the CPU. When service mode is active, the module's status word bit "Service_Mode" = TRUE; SIWATOOL displays this bit as the green "Service" indicator.
Two independent paths request service mode:
- Faceplate path (PCS7): The operator selects "Service On" from the SIWA faceplate. The faceplate internally issues a data record write containing the "Service mode On" command code to the WP321 via SFB53 (WRREC) or, on newer TIA/PCS7 driver blocks, via SFB58/SFB59.
- SIWATOOL path: The engineer connects a USB/RS485 converter to the WP321 service port and clicks "Service On" in SIWATOOL V7. SIWATOOL writes the same command code directly through the RS485 service channel.
The full set of commands that the WP321 accepts is documented in the TIA Portal manual collection under SIWAREX WP321 Command List (TIA Portal docs). Among the documented commands are:
- Zeroing
- Tare
- Adjustment / Calibration
- Service mode On
- Service mode Off
- Reset commands
A data or command error is signalled if a command cannot be executed or if the sent data record is rejected. Service mode must be re-armed periodically by SIWATOOL; if the WP321 receives no service-mode refresh within the timeout window (5 s is the typical default), it drops service mode automatically. This timeout is precisely what produces the 0.5 s / 5 s blink pattern reported in the field when the CPU and SIWATOOL are fighting over command authority.
Root Cause: PLC Program Override of Service Mode
The 0.5 s "ON" portion of the cycle corresponds to the PCS7 OB1 cycle or to the SIWA driver block execution time. During each OB1 pass the PCS7 driver writes a data record (typically DR 0 - process data or DR 139 - command interface) to the WP321. As soon as the WP321 sees a cyclic write from the CPU while SIWATOOL is holding service mode, the module applies the command precedence rules defined in the Operating Instructions: CPU cyclic writes take precedence over SIWATOOL service mode unless the CPU is in STOP. The CPU is therefore continuously stripping service mode authority away from SIWATOOL.
The mirror image happens on the SIWATOOL side: SIWATOOL releases service mode after its own 5 s timeout, the CPU sees the dropped service-mode bit and re-asserts operational state, then SIWATOOL re-grabs service mode on its next poll - producing the 0.5 s / 5 s blink. Because both clients are racing, SIWATOOL never accumulates enough hold time to enable calibration operations, and the PCS7 faceplate is locked because the module is reporting an active conflicting command.
The likely culprits inside the PLC program are:
- A SIWATOOL/SP7 faceplate wired to a wrong instance DB or to a non-existent module slot. The faceplate writes the "Service Off" or "Reset" command every cycle because the read-back status never matches the requested state.
- An APL SIWA driver block configured for automatic zero/tare on power-up, executing one of these commands every OB1 pass instead of once on rising edge.
- A user-defined FC/FB that copies a static "Service Off" data record into the WP321 output area as part of cyclic data exchange.
- Two SIWA driver blocks fighting over the same slot - one from the master data set, one from a project copy - both writing the command interface each cycle.
- A wrong SLOT assignment in HW Config: the driver is configured for slot 4 but the WP321 is plugged into slot 5. PCS7 reports a diagnostic interrupt, and the cyclic diagnostic read is interpreted by SIWATOOL as a service-mode drop event.
The slot-swap test result reported in the field ("A different WP321 in the old slot has the same issue. Swapping these 2 does not move the problem.") is the definitive evidence: a hardware fault would move with the module, a slot fault would move with the slot. Neither moved, so the residual cause is the configuration/software bound to that slot pair.
Diagnostic Flowchart
Walk through the following decision tree before changing any code:
Step-by-Step Resolution
- Confirm CPU is not the issue. Place the AS in STOP (MRES is not required; STOP only). Re-attempt service mode from SIWATOOL V7. If service mode holds steadily with the CPU in STOP, the PLC program is the confirmed root cause.
-
Capture the cyclic DR writes. In STEP 7 / TIA Portal, open the online block view of the SIWA driver block (FB1285 or the equivalent APL SIWA instance). Add the instance DB to a watch table. Monitor the command interface - the relevant input pins are typically
CMD,CMD_REQ, andSERVICE_ON. Watch theRDREC_STATUSandWRREC_STATUSoutputs: a value ofDF80hex (write protection while in service mode) on every cycle is a smoking gun that the driver is fighting SIWATOOL. - Identify all SIWA instances touching the slot. Cross-reference the HW Config slot number against every SIWA / SIWA_MOD / SIWA_DR block instance in the program. Two instances writing the same slot is the most common cause of the cycling symptom on adjacent modules.
-
Suppress the offending write during service mode. Inside the SIWA driver block's command-staging section, gate the
CMD_REQpulse with the read-backSERVICE_ONstatus bit. Ladder pseudocode:// STL excerpt A "SIWA_DB".Service_On_Readback // bit from DR read AN "SIWA_DB".Service_Request_Local // operator-initiated S "SIWA_DB".Suppress_Cmd A "SIWA_DB".Suppress_Cmd = "SIWA_DB".CMD_REQ // only assert if not in service - Verify faceplate ownership. Open the WinCC Explorer picture tree and confirm that only one faceplate per WP321 is bound to that instance DB. A duplicated faceplate from a copy-paste during plant expansion is a common source of cyclic command writes.
- Re-attempt service mode through SIWATOOL V7. With the AS still in STOP, click "Service On". The indicator must stay solid green for at least 30 s. If it holds, the fix is correct.
- Bring the AS back to RUN. Restart the CPU. Service mode will drop automatically (this is by design - SIWATOOL cannot hold service mode against a running CPU). The faceplate must now accept the "Service On" button and report the module as "Service Active".
- Calibrate through SIWATOOL while the AS is in RUN. SIWATOOL service mode and PCS7 faceplate service mode are mutually exclusive; use SIWATOOL only while the AS is STOPped, and use the PCS7 faceplate for in-process adjustments. Do not attempt both at the same time.
Siwatool V7 and USB/RS485 Setup
SIWATOOL V7 communicates with the WP321 over RS485 using a dedicated service interface on the front of the module. The PC side requires a USB-to-RS485 converter; Siemens documentation explicitly notes that an additional interface converter USB/RS485 is required to communicate between SIWAREX WP and SIWATOOL V7.
| Item | Specification |
|---|---|
| SIWATOOL version | V7 (V7.04 or later recommended for WP321 firmware ≥ V2.1) |
| PC interface | USB |
| Converter | USB / RS485 isolated, 120 Ω termination switch |
| Baud rate | 57 600 bps (typical) or 115 200 bps module-dependent |
| Termination | 120 Ω at both ends of the RS485 segment if daisy-chained |
| Connector pinout | Refer to WP321 Operating Instructions, section "Service interface" |
PCS7 SIWAREX Block Library and DR Commands
The PCS7 SIWAREX library for WP321 contains the APL driver block (typically named SIWA / SIW_MOD), a faceplate, and a set of driver blocks. The command interface is a fixed data record structure; the driver block writes it via WRREC and reads responses via RDREC on every OB1 cycle. The driver's write priority is higher than SIWATOOL's service mode request. The Operating Instructions confirm the precedence: if a CPU cyclic write arrives while service mode is active, the module drops service mode to honour the CPU command.
Key configuration points:
-
Slot address: The SIWA instance must reference the correct slot. Slot mismatch produces a WRREC status of
DF80hex (module rejects write) orDE80hex (vendor-specific reject). - PROFINET device name: Both affected modules must have a unique, correctly assigned PROFINET name. Duplicate names cause the IO controller to flag a station failure; the WP321 reinitialises, drops service mode, and re-initialises again every PROFINET re-connection cycle.
- DR0 (process data): Cyclic IO, normally 16 words in/out. Driver writes status of the read-back commands.
-
Command DR: Acyclic write of the command interface. SIWA must issue this only when
CMD_REQrises, not continuously. - DR 139 / DR 140: Calibration parameter records; read/write through SIWATOOL only when in service mode.
Firmware Verification and Update
WP321 firmware versions through the WP321 product lifecycle have included V1.0.x, V2.0.x, and V2.1.x. Firmware-related anomalies that produce intermittent service-mode behaviour have been resolved in later firmware revisions. The Operating Instructions identify firmware-dependent command-set changes; for the SIWAREX WP321 manual collection referenced in this article, the firmware revision bundled with the latest TIA Portal HSP is generally the recommended baseline for new PCS7 V9.x deployments.
Procedure to verify and update firmware:
- Read the current firmware revision through SIWATOOL V7 (menu: Module → Information) or via TIA Portal online → Diagnostics.
- Compare the revision against the Siemens HSP (Hardware Support Package) installed in your TIA Portal / STEP 7 version. The exact revision bundled with the HSP can be confirmed in the TIA Portal "Options → Support Packages" view.
- If the firmware is older than the HSP baseline, perform a firmware update through TIA Portal ("Online → Accessible nodes → right-click WP321 → Online & Diagnostics → Firmware Update"). SIWATOOL V7 does not perform firmware updates; use the TIA Portal / SIMATIC tooling exclusively.
- After firmware update, perform a power-cycle of the ET 200SP station and re-download the HW Config to ensure the module is re-parameterised with the new firmware's defaults.
Verification and Long-Term Monitoring
After applying the resolution, perform the following verifications:
- Service mode test (CPU in STOP): Connect SIWATOOL V7, click "Service On". Indicator must remain solid green for at least 60 s. Drive a zero/tare/span cycle and verify the new DR3 / DR4 values persist after a power-cycle.
- Service mode test (CPU in RUN): Click "Service On" from the PCS7 faceplate. Confirm the faceplate reports "Service Active" and that the SIWA instance DB shows
Service_On_Readback= TRUE for at least 30 s. - Diagnostic interrupt check: In TIA Portal / STEP 7 online, open the WP321's diagnostic buffer. No channel diagnostic or module diagnostic interrupts should appear during normal operation. If a
"Service mode quit"diagnostic interrupt is logged during a known-quiet period, a periodic DR write is still occurring - review the driver block for any rising-edge / falling-edge logic errors. - Long-term monitoring: Add the SIWA instance DB
WRREC_STATUSandRDREC_STATUSwords to a PCS7 message archive. Any non-zero value over the first 24 h of operation must be investigated.
Preventive Measures for SIWAREX Service Mode
- Lock the SIWA driver block's
CMD_REQpath with theService_On_Readbackbit. This single change prevents the cycling symptom in every WP321 station, not just the two affected slots. - Maintain a one-to-one mapping between HW Config slot, SIWA instance DB, and WinCC faceplate. Audit the mapping every time the plant expands; a copy-pasted faceplate is the most common trigger of this fault.
- Train service technicians that SIWATOOL service mode is only viable while the CPU is in STOP. Communicate this explicitly in the maintenance plan to prevent on-the-fly dual-connection attempts.
- Add the SIWARE_WP321 firmware version to the plant asset database. Firmware updates must be tracked per slot, not per station.
- Establish a baseline SIWATOOL V7 project per scale. SIWATOOL stores calibration parameters locally; rotating between SIWATOOL installations without saving the project first causes calibration drift that looks like a service-mode fault to the operator.
FAQ
Why does the Siwarex WP321 drop service mode after about 0.5 seconds in PCS7?
The PCS7 SIWA driver block writes the command data record every OB1 cycle (typically 100–500 ms). Once the CPU issues a cyclic write, the WP321 follows the precedence rule documented in the WP321 Operating Instructions and exits service mode. Gate the driver's CMD_REQ with the Service_On_Readback bit to suppress the cyclic write while in service mode.
Why does Siwatool V7 show the service indicator blinking 0.5 s ON and 5 s OFF?
SIWATOOL holds service mode only for a fixed 5 s timeout. The CPU strips service mode within ~0.5 s, SIWATOOL waits out the 5 s timeout, then re-asserts service mode - producing the 0.5 s / 5 s blink. Stop the CPU to confirm; SIWATOOL service mode holds steadily with the AS in STOP.
How do I connect Siwatool V7 to the WP321?
Use an isolated USB / RS485 converter plugged into the WP321 front service port. The Siemens documentation specifies that an additional USB/RS485 converter is required between the PC and the SIWAREX WP service interface. Disconnect the converter while the PCS7 faceplate is in control.
Does swapping the WP321 module between slots confirm a hardware fault?
If the fault follows the module, it is hardware - replace the module. If the fault follows the slot, it is configuration - re-check HW Config, PROFINET name, and base unit type. If neither swap moves the fault (a different module fails in the suspect slot and the suspect module works in a known-good slot), the cause is the PLC program bound to that slot pair.
Can Siwatool V7 update WP321 firmware?
No. SIWATOOL V7 is a service / calibration tool only. Firmware updates are performed through TIA Portal (Online → Accessible nodes → Online & Diagnostics → Firmware Update) or via SIMATIC automation tool. Re-download HW Config after the update and power-cycle the ET 200SP station to ensure the new firmware parameters are loaded.