SIWAREX WP231 I/O Interface Update Rate and CPU Scan

David Krause17 min read
S7-1200SiemensTechnical Reference
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

SIWAREX WP231 I/O Interface Update Rate and CPU Scan Synchronization

The SIWAREX WP231 is a single-channel weighing module designed for SIMATIC S7-1200 controllers. It integrates a load cell conditioner, analog front end, and a cyclic process value interface into the S7-1200 backplane. Engineers integrating the WP231 into a TIA Portal project must understand how the module's 100 Hz sampling rate interacts with the CPU's OB1 scan to correctly interpret values such as PROCESS_VAL_1, PROCESS_VAL_2, and the limit-switch / status bits returned in the I/O word.

This reference consolidates the functional timing behavior of the WP231PE function block, the 32-byte I/O footprint, the RS-485 parameter set, and the relationship between module conversion time and CPU cycle time. It is intended as field-notes for commissioning engineers and integrators working with SIWAREX WP231 manual A5E31238908A-02 and the S7-1200 system manual collection hosted on the TIA Portal documentation portal.

Mandatory grounding and shielding practice. The WP231 manual (A5E31238908A-02) requires the shield of the load cell cable to be bonded to the module's shield bar, and the DIN-rail ground terminal to be tied to the cabinet PE bar with a low-impedance connection (≤ 1 Ω at the measurement frequency). Failure to implement the specified shielding path degrades ADC resolution and can cause PROCESS_VAL_1 to drift by hundreds of counts even when the load cell is statically loaded.

1. SIWAREX WP231 Module Architecture

The WP231 is a 35 mm-wide slice module that mounts on the DIN rail directly to the right of the S7-1200 CPU. It occupies 32 bytes in each of the input and output process-image areas of the CPU, as documented on the SIWAREX WP231 product page (ID 109780855) in the Siemens Industry Online Support portal. The 32-byte footprint is fixed regardless of the firmware version of the module and the S7-1200 CPU generation used (CPU 1211C through CPU 1217C, firmware V4.x and later).

Internally the WP231 consists of:

  • An excitation source for the load cell bridge (typically 5 V DC, sense-line compensated).
  • A 24-bit sigma-delta ADC with a fixed decimation ratio giving the 100 Hz output data rate.
  • A digital signal processing chain implementing low-pass filtering, zero / span calibration, and tare memory.
  • A backplane interface that latches the most recent process values into the input process image at the 10 ms cadence.
  • An RS-485 port for the Siwarex WP231 display unit or a Modbus RTU master.

The 100 Hz output data rate of the ADC is the canonical "update rate" cited throughout the WP231 manual. It is a hardware property of the module and cannot be changed by user configuration. Higher-level filters (e.g. FILTER_DEPTH, AVERAGE) operate on the 10 ms samples and do not alter the underlying conversion cadence.

2. Sampling Rate and Update Cycle Fundamentals

The conversion cycle of the WP231 load cell interface is 10 ms (100 Hz). At the end of every 10 ms interval, the module latches a new set of process values into the I/O area it presents on the ET200S-style / S7-1200 backplane connector. The host CPU reads from this area during the update of the process image (PII / PIQ).

Because the WP231 owns the 10 ms cadence, three regimes emerge depending on the relationship between OB1 scan time (TCPU) and the WP231 update period (TWP = 10 ms):

Relationship between CPU scan time and WP231 update rate
Condition Behavior in OB1 What the user program sees
TCPU < 10 ms WP231PE executes multiple times per WP231 update The same PROCESS_VAL_1 is read in consecutive OB1 cycles; the WP231 I/O area has not been refreshed by the module yet.
TCPU = 10 ms WP231PE executes once per WP231 update Each OB1 cycle delivers a new PROCESS_VAL_1; the WP231 updates the I/O area exactly when the CPU is reading it.
TCPU > 10 ms WP231PE executes once per CPU scan; module has produced one or more new values since the last read Each OB1 cycle shows a new PROCESS_VAL_1, but the user program cannot observe every intermediate conversion — one or more samples are lost between two consecutive OB1 reads.

The most common commissioning scenario is TCPU < 10 ms, because S7-1200 CPUs typically run 1–3 ms scans in a weighing application. In that regime the program does not benefit from running faster than 100 Hz and may impose unnecessary CPU load; this is why the WP231 manual recommends matching the application's required weight refresh to 100 Hz, not to the CPU's maximum scan rate.

3. WP231PE Function Block Execution Model

The WP231PE FB is the runtime interface between the user program and the WP231's I/O area. It is instantiated in a global DB and called from OB1 (or any cyclic OB). The FB performs two distinct operations on each call:

  1. It reads the 32-byte input area assigned to the WP231 (the I/O address range beginning at the configured start address) and copies the values into its instance DB.
  2. It writes the 32-byte output area (control words, command bits, setpoint registers) back to the module to acknowledge commands and update tare / zero targets.

Both operations are bounded by the time it takes to read/write the I/O area, not by the 10 ms conversion cycle of the module. As a result, the FB itself completes in the same order of magnitude as a normal S7-1200 word / dword copy. The "sample" the FB returns is whichever value the WP231 had latched at the time of the most recent PII update; it is not a freshly triggered conversion.

From a functional standpoint:

  • Calling WP231PE once per OB1 cycle is the canonical pattern.
  • Calling WP231PE in a faster OB (e.g. OB30, OB35, OB38) is permitted but redundant when OB1 already runs at or below 10 ms, because the underlying I/O area has not changed.
  • Calling WP231PE in OB1 with TCPU > 10 ms causes the application to miss intermediate samples, which is acceptable for static weighing but unsuitable for high-speed dosing or dynamic checkweighing without an additional fast input path.
Do not call WP231PE in OB100 / OB101 / OB102. The startup OBs run before the WP231 has completed its initialization handshake, and the input I/O area may still reflect the module's reset pattern (16#0000 in the status word). Always call WP231PE from a cyclic OB, and gate downstream logic on the Valid bit (bit 0 of the status word) before processing PROCESS_VAL_1.

4. I/O Address Assignment and Data Layout

Each WP231 occupies a 32-byte slot in both the input and output process image. The default address assignment in TIA Portal is shown below for a WP231 inserted to the right of an S7-1200 CPU; actual addresses are user-configurable under Device view > Properties > I/O addresses.

Default I/O address layout for one SIWAREX WP231
Offset (bytes) Input area (read by WP231PE) Output area (written by WP231PE)
0–3 Status word (bits: Valid, Calibrating, Limit 1/2, Tare active, Fault, …) Command word (e.g. Zero, Tare, Calibrate, Reset)
4–7 PROCESS_VAL_1 (DINT, weight in the configured unit × 10⁻³) Setpoint / preload DINT
8–11 PROCESS_VAL_2 (DINT, gross / net / filtered — function of DR2_FUNCTION) Reserved / parameter write slot
12–15 Filtered weight, average, or status extension (depending on firmware) Reserved
16–19 Counter / bit-set registers (limit flags, command echo) Reserved
20–31 Reserved / diagnostic data Reserved

The maximum number of WP231 modules per S7-1200 CPU is limited by the number of free slots and the I/O area size of the CPU. For a CPU 1214C / 1215C the practical ceiling is 7 to 8 WP231 modules in the local rack; for the CPU 1217C the limit is determined by the backplane signal budget, not by the I/O area. The exact ceiling is published on the WP231 product page (ID 109780855) for each CPU type.

5. CPU Scan Time vs. WP231 Update Rate — Quantitative Analysis

The effective sample rate the user program can observe is bounded above by min(1 / TCPU, 1 / TWP):

fobserved = min( 1 / TCPU, 100 Hz )

This is the sample rate the application program can actually consume. The number of WP231 conversions skipped between two consecutive WP231PE calls is:

nskipped = max( 0, ⌊ TCPU / 10 ms ⌋ − 1 )

For TCPU = 25 ms, the program will see one new PROCESS_VAL_1 every 25 ms, skipping one out of every two ADC samples. For TCPU = 100 ms, nine out of ten samples are skipped. For high-speed dosing applications, this is the dominant source of measurement error and must be addressed by either shortening the CPU cycle (raising the OB1 priority / reducing program size) or by routing the WP231 fast signals through a hardware interrupt (e.g. OB40) configured on the limit-switch bits of the WP231 status word.

5.1 Worked example — S7-1214C at 3 ms scan time

With TCPU = 3 ms, the user program calls WP231PE every 3 ms. The WP231 updates its I/O area every 10 ms. Over 10 ms, OB1 executes approximately 3 full scans (10 / 3 ≈ 3.3). Of these three calls, the first two return the same PROCESS_VAL_1 and the third returns the new value. The application therefore observes 100 effective samples per second at the OB1 cadence, but only 33% of OB1 calls expose a fresh ADC result. This is normal and does not require intervention.

5.2 Worked example — S7-1211C at 18 ms scan time

With TCPU = 18 ms, the program calls WP231PE every 18 ms. The WP231 has produced one new value at 10 ms and is mid-cycle when the second OB1 call reads the I/O area. The program observes one fresh value per 18 ms, i.e. 55.6 effective samples per second, while the ADC produces 100 per second. The 44 missed samples per second are not retrievable through software.

6. RS-485 Interface and the BAUDRATE Parameter

The WP231 manual section "I/O interface of function block" defines the BAUDRATE parameter for the on-board RS-485 interface used to connect a Siwarex display or a Modbus RTU master. The parameter is configured via the WP231PE input or via the device configuration in TIA Portal; supported values are:

WP231 RS-485 baud rate options
Parameter value Baud rate Typical use
0 9 600 bit/s Default for Siwarex display panel
1 19 200 bit/s Modbus RTU fast panel
2 38 400 bit/s Modbus RTU, long cable runs
3 57 600 bit/s Reserved
4 115 200 bit/s Reserved / high-speed Modbus

The RS-485 port operates independently of the cyclic process-image update. Values returned over RS-485 (Modbus holding register 100 / 200 / 300) are not subject to the 10 ms WP231 conversion cadence in the same way the I/O area is — they are subject to the RS-485 link latency and the poll cycle of the Modbus master. The two data paths are not synchronized and should not be cross-coupled at the application level.

7. Configuration Parameters That Influence Observed Behavior

The following WP231 parameters, configured in the device view of TIA Portal, control how the 10 ms conversions are preprocessed before they reach the I/O area. They do not change the 100 Hz conversion cadence but do change what PROCESS_VAL_1 and PROCESS_VAL_2 represent.

Selected WP231 configuration parameters
Parameter Function Effect on user program
DR2_FUNCTION Selects the source for PROCESS_VAL_2 0 = gross, 1 = net, 2 = filtered, 3 = tare memory
FILTER_DEPTH Number of 10 ms samples averaged for the filtered value 0..16. Adds delay in multiples of 10 ms
AVERAGE Moving-average length for PROCESS_VAL_x 0 = off; 1..32; multiplies effective latency by the average length
LOW_LIMIT_1/2 Threshold for status bits Limit1 / Limit2 Generates hardware-interrupt source if configured
UNIT Engineering unit written into PROCESS_VAL_1 kg, g, t, lb
RESOLUTION Decimal weight representation Multiplies PROCESS_VAL_1 by 10ⁿ (n = 0..3)

When FILTER_DEPTH is set above 4, the latency through the filter chain becomes a non-negligible fraction of the 10 ms conversion period. Engineers designing a closed-loop dosing system must add the filter latency to the OB1 scan latency to obtain the end-to-end loop delay.

8. Integration in TIA Portal

The integration workflow is:

  1. Add the WP231 to the S7-1200 device configuration. The slot is determined by the physical mounting position to the right of the CPU.
  2. Open Device view > WP231 > Properties > I/O addresses and confirm the 32-byte input / output areas. Capture the start address (e.g. %IW96 for the status word, %ID100 for PROCESS_VAL_1).
  3. Insert the WP231PE FB from the SIWAREX library. Connect the I_ADDR input to the configured start address (use the P# pointer, e.g. P#%IW96 byte 32).
  4. Instantiate a global DB for the FB. Connect PROCESS_VAL_1 and PROCESS_VAL_2 to the application-level variables.
  5. Call WP231PE in OB1. Do not call it in startup OBs.
  6. Build and download the project. After download, the WP231 enters a calibration state and the Valid bit clears until calibration is complete.

The WP231 manual (A5E31238908A-02, section 5.3) provides a worked commissioning example for a static tank weighing application, including the recommended sequence for sending the Zero and Tare command bits in the FB output word.

Library versioning. The WP231PE FB is shipped as part of the SIWAREX program library for TIA Portal. The library revision must match the firmware of the WP231 module. Mixing a V2.x library with a V1.x module causes the FB to read process values from a shifted offset and produces PROCESS_VAL_1 values that appear to be scaled by a factor of 256 or to be sign-inverted. Always verify library and module versions against the WP231 manual (A5E31238908A-02) readme before commissioning.

9. Practical Scenarios and Application Examples

9.1 Static tank weighing

For inventory tracking and fill-level monitoring, a 100 ms-to-1 s effective sample rate is sufficient. The WP231 is operated in its default configuration; OB1 calls WP231PE once per cycle. The application reads PROCESS_VAL_1 directly and applies its own filtering for display purposes. The 10 ms WP231 update is invisible to the user program unless OB1 is faster than 10 ms.

9.2 Loss-in-weight dosing

For loss-in-weight feeders, the dosing controller must react to weight changes within 50–100 ms. With the default WP231 configuration this is straightforward on a CPU 1214C. If the dosing control loop is on a different controller (e.g. CPU 1500 in a separate rack), the WP231 cannot be used directly — the WP231 is local to the S7-1200 backplane. Use a SIMATIC ET 200SP with a SIWAREX WP341 or an Ethernet-based path for distributed dosing.

9.3 Dynamic checkweighing

For in-motion checkweighers, the 100 Hz sample rate is the limiting factor of the WP231. If the conveyor moves at 1 m/s and the package length is 200 mm, each package produces roughly 20 samples at the WP231. This is sufficient for non-classified checkweighing but insufficient for legally-for-trade applications under OIML R51, which require higher update rates. The WP231 is not a legal-for-trade device; it is a process-weighing module.

10. Verification and Diagnostics

To verify the 100 Hz update behavior of a commissioned WP231, perform the following checks:

  1. Open the WP231 instance DB online in TIA Portal. Right-click PROCESS_VAL_1 and select Monitor/Modify.
  2. Apply a step load change (e.g. drop a 1 kg calibration mass on the platform).
  3. Observe the value of PROCESS_VAL_1 for 5 seconds. The value should transition to the new load within one OB1 cycle after the step, regardless of TCPU, because the WP231 latches the new value at the next 10 ms boundary.
  4. If the transition takes longer than expected, check the FILTER_DEPTH and AVERAGE parameters; both add latency in multiples of 10 ms.

Diagnostic indicators on the front of the WP231 module:

WP231 front-panel LED behavior
LED State Meaning
SF (red) Off No fault
SF (red) On Group fault — check FAULT_CODE in the input area
BF (red) Off Backplane communication OK
BF (red) Flashing Backplane communication error — check CPU / module seating
RUN (green) On Module is in cyclic operation, 100 Hz conversions active
RUN (green) Flashing Module is in calibration / startup

11. Troubleshooting Matrix

Common WP231 / WP231PE issues and corrective actions
Symptom Likely cause Corrective action
PROCESS_VAL_1 reads 0 in all OB1 cycles WP231 not yet calibrated; Valid bit (bit 0 of status word) is 0 Perform zero / span calibration per the WP231 manual (A5E31238908A-02), section 6
Same PROCESS_VAL_1 for many OB1 cycles TCPU < 10 ms; normal behavior No action; or raise OB1 cycle time above 10 ms if the application does not need faster scans
PROCESS_VAL_1 updates but skips intermediate values TCPU > 10 ms Reduce OB1 program length; or use a hardware interrupt OB (OB40) for high-priority reads
PROCESS_VAL_1 drifts hundreds of counts at static load Load cell cable shield not bonded; sense lines not connected Re-terminate the shield on the WP231 shield bar; verify sense-line jumpers per the manual
SF LED on; FAULT_CODE = 16#0001 Load cell open / short Measure bridge resistance; expected value 350–1100 Ω depending on the cell
SF LED on; FAULT_CODE = 16#0002 Reference voltage / sense out of range Check sense-line wiring at the WP231 terminal block
BF LED flashing Backplane communication error Reseat module; verify CPU firmware ≥ V4.2 (V4.4 for PROFINET-based S7-1200)
PROCESS_VAL_1 = 16#80000000 (negative full scale) Library / module firmware mismatch Reinstall the SIWAREX library matching the module firmware; rebuild the project
RS-485 display not responding BAUDRATE mismatch Match BAUDRATE to the display device; default is 9 600 bit/s

12. Notes on Module Variants (WP241 / WP251)

The S7-1200 manual collection documents three companion products:

  • SIWAREX WP231 — single-channel static and dynamic weighing, 100 Hz output, RS-485 port.
  • SIWAREX WP241 — belt-scale / flow-rate module with integrator functions; 100 Hz output.
  • SIWAREX WP251 — loss-in-weight dosing module with integrated dosing control loops; 100 Hz output, additional dosing I/O.

All three modules share the 10 ms conversion cadence and the 32-byte I/O footprint pattern. The I/O address layout, the WP231PE-style function block, and the synchronization rules described in this article apply to all three modules. Differences are in the higher-level signal processing (integrator, dosing state machine) and in the available I/O beyond the 32-byte backplane interface.

Safety and legal-for-trade. The SIWAREX WP231 is not a legal-for-trade weighing instrument. It is intended for process automation, inventory monitoring, and dosing control. For OIML R76 / R51 / R107 / R126 applications, the load cell, indicator, and the entire signal chain must be approved to the relevant standard. The 10 ms update rate of the WP231 does not by itself meet the minimum update rate required by R76 Class III for non-automatic weighing instruments when the verification scale interval (e) is finer than 1 kg.

13. Summary

The SIWAREX WP231 delivers a new PROCESS_VAL_1 to its I/O area every 10 ms, independent of the S7-1200 CPU cycle. The WP231PE function block copies that latched value into the instance DB on each call. When the OB1 scan is faster than 10 ms the same sample is read multiple times; when the scan is slower than 10 ms the user program misses intermediate conversions. This is a property of the module, not of the FB, and cannot be "fixed" by changing the FB call frequency. The correct response to a slow OB1 cycle is to either shorten the cycle or, for time-critical applications, use a hardware-interrupt OB triggered on the WP231's limit-switch bits.

FAQ

What is the update rate of the SIWAREX WP231 I/O interface?

The WP231 updates its periphery data (PROCESS_VAL_1, PROCESS_VAL_2, status word) every 10 ms (100 Hz). This is a hardware property of the module and is independent of the S7-1200 CPU cycle time.

Does the WP231PE function block run synchronously with the WP231 conversion?

No. WP231PE runs synchronously with the CPU's OB1 cycle. It reads the WP231's I/O area, which contains the most recent 10 ms sample, and copies it into the instance DB. The FB itself does not trigger a new conversion.

How many bytes does a WP231 occupy in the S7-1200 process image?

32 bytes in the input area and 32 bytes in the output area, for a 64-byte total I/O footprint per module. The exact start address is user-configurable in TIA Portal. See the WP231 product page (ID 109780855) for the maximum number of modules per CPU.

What happens if my OB1 cycle is faster than 10 ms?

The user program reads the same PROCESS_VAL_1 in consecutive OB1 cycles until the WP231 latches a new value at the next 10 ms boundary. This is normal behavior and does not indicate a fault. The CPU cycle simply "doubles up" on the same WP231 sample.

What happens if my OB1 cycle is slower than 10 ms?

Each OB1 cycle exposes a new PROCESS_VAL_1, but the user program cannot observe every conversion performed by the WP231. For example, at 25 ms OB1 time, one out of every two 10 ms samples is skipped. This is acceptable for static weighing but unsuitable for high-speed dosing without a hardware interrupt OB (e.g. OB40) on a WP231 limit-switch bit.

Can I call WP231PE in OB100 (startup)?

No. The startup OBs run before the WP231 has completed its initialization handshake, and the input I/O area may still reflect the module's reset pattern. Always call WP231PE from a cyclic OB and gate downstream logic on the Valid bit (bit 0 of the status word) before processing PROCESS_VAL_1.

What baud rate should I use for the WP231 RS-485 port?

The default is 9 600 bit/s (parameter value 0), which matches the Siwarex display panel. 19 200 and 38 400 bit/s are also supported for Modbus RTU masters. Select the baud rate to match the connected device; the RS-485 port operates independently of the 10 ms cyclic I/O update.

Back to blog