Problem Description
Engineers integrating a SIWAREX WP231 weighing module into a SIMATIC S7-1200 project and selecting "Download to PLCSIM" inside TIA Portal V15 – V18 receive a compile/download error that prevents simulation of the entire CPU. The error message indicates that know-how protected blocks shipped in the SIWAREX library cannot be loaded into the PLCSIM virtual controller. The same behavior reproduces with the SIWAREX WP321 (ET 200SP) and with Siemens-supplied "Ready for Use" example projects downloaded from the Siemens Industry Online Support portal.
Know_HOW_protected Blocks can not be loaded in the simulation. Remove the know How Protection before download.The dialog is raised by the TIA Portal download manager (graphical "Load preview" dialog) the moment the SIWAREX library blocks (FB
SIWA, FBs WP231 / WP321, the technology data blocks, and the instance DB family) are scheduled to be written to the simulated target. The download aborts before any block is written to PLCSIM.
The error is not the result of an operator mistake, corrupted project, or wrong TIA Portal version. It is a structural limitation that applies to every S7-1200 PLCSIM instance carrying the SIWAREX WP2xx blocks in the program. Engineers evaluating a new weighing cell layout, validating scale calibration sequences, or developing HMI faceplates cannot exercise the program through PLCSIM and must adopt one of the workarounds described in this article.
Affected Components and Versions
| Component | Catalog / Firmware | Role in the Error |
|---|---|---|
| SIWAREX WP231 | 6AG1097-2AA00-0BA1 / 7MH4960-6AA01 | Single-channel weighing module, plugs onto the analog front connector of the S7-1200 CPU (left side of the CPU) |
| SIWAREX WP321 | 6AG1097-3AA00-0BA1 / 7MH4900-6AA01 | Multi-channel weighing module for ET 200SP, also reproduces the same restriction when simulated |
| S7-1200 CPU | CPU 1211C – 1215C, firmware V4.2 – V4.6 (V4.7 where released) | Host CPU; PLCSIM instance targets the S7-1200 firmware model |
| S7-PLCSIM | V15, V15.1, V16, V17, V18 (incl. Update 1 – Update 5) | Loader enforces the know-how protection download restriction |
| SIWAREX WP2xx library | Siemens Industry Online Support entry ID 109769338 (manual) and 94109373 ("Ready for Use" project) | Supplies the protected FBs and UDTs that trigger the error |
| SIWATOOL V7 | V7.4 / V7.5 | PC commissioning tool used as a workaround (does not require PLCSIM) |
The restriction is independent of the HMI used, the TIA Portal language, and the CPU article number; it is a property of the library blocks themselves. Siemens deliberately distributes the weighing firmware / scale algorithm as know-how protected code so that calibration data, filter coefficients, and trace buffer structures are not visible to the integrator.
Root Cause: Know-How Protection in the SIWAREX Library
Know-how protection in TIA Portal is a source-code confidentiality mechanism applied to blocks of type FB, FC, OB, and DB. When you open a know-how protected block in the project tree, the title bar of the editor shows "Block is know-how protected" and the body of the block is replaced by placeholder code; only the block interface (IN, OUT, IN_OUT, STAT, TEMP) remains visible. Without a valid password, no one can view, modify, or trace the internal logic.
The SIWAREX WP231 and WP321 library FBs are protected with a Siemens-internal password and shipped as part of the global SIWAREX library. The protection covers:
- The scale algorithm (gross/net computation, tare handling, filter chains)
- Calibration sequence (zero, span, multi-step, theoretical calibration)
- Drift compensation, temperature compensation, and creep detection
- Trace buffer, diagnostic buffer, and command interpreter
Removing the protection would expose Siemens intellectual property and is not technically possible for the integrator because the password is not distributed. The protection is also "stamped" on the block header so that the loader verifies the protection attribute independent of the TIA Portal user interface.
Two further behaviors of know-how protected blocks drive the PLCSIM failure:
- PLCSIM's loader is implemented as a strict subset of the real firmware loader. It is shipped to let integrators exercise application logic, not to emulate every protected-block scenario. The PLCSIM downloader verifies each block's "know-how protected" attribute and refuses to commit the block image to the simulated memory.
- When the SIWAREX library is inserted, the SIWA, technology-DBs, and FB instances are added to the program with the protected attribute set. The downloader therefore rejects the entire load operation, even if the rest of the project is plain user code.
Why PLCSIM Cannot Load Know-How Protected Blocks
The technical reason is the S7-PLCSIM architecture. PLCSIM is not a virtualized firmware; it is a host process that emulates the S7-1200 / S7-1500 instruction set, memory layout, and I/O image. The loader portion of PLCSIM, however, shares most of its code with the offline tools. To guarantee that the simulated CPU behaves identically to the physical one with respect to know-how protection (and to avoid creating a side channel that would let an integrator reconstruct protected logic by running it on PLCSIM), Siemens has chosen to refuse the download of any know-how protected block to PLCSIM outright. The same applies to blocks protected with the "block privacy" attribute and to OPC UA method blocks when downloaded standalone.
Consequences for the user:
- Removing the protection from a copy of the block does not help; the library copy is read-only and the protection is enforced by the loader regardless of project-level attributes.
- Compiling the project with "Use know-how protection" off has no effect on the SIWAREX FBs because the attribute is set on the library source itself.
- There is no TIA Portal option flag, registry key, or command-line parameter that overrides the PLCSIM loader for protected blocks.
- Using "Download to file system" or generating a "Simulation support package" does not bypass the restriction; the support package still carries the protected attribute.
Reproducing the Error
The error is reproducible on any installation that satisfies the conditions below. Use this section as a quick check before adopting one of the workarounds in the next chapter.
- Open TIA Portal V16 (or later up to V18) and create a new S7-1200 project with a CPU 1214C, firmware V4.4.
- From the hardware catalog (Detecting & Monitoring → SIWAREX → WP231), drag a SIWAREX WP231 into the device configuration. The module is inserted to the left of the CPU.
- Open the "SIWAREX WP231" task card in the project tree and drag the "WP231" FB family into the program blocks of the CPU. The program now contains FB
WP231(instance DB), the technology DBWP231_Tech, and the global DBs that drive calibration and trace. - Start PLCSIM, create a new instance, select the S7-1200 CPU type, and click "Download".
- In the "Load preview" dialog, TIA Portal lists the protected FBs with a red marker. Clicking "Load" produces the message:
Know_HOW_protected Blocks can not be loaded in the simulation. Remove the know How Protection before download.
The download aborts; no block is written to PLCSIM.
Workarounds and Engineering Path Forward
There is no supported configuration that enables SIWAREX WP2xx blocks to run inside PLCSIM. The following workarounds are the only practical options for an integrator today; choose the one that matches your test objective.
Option 1 – Validate the user program on real S7-1200 + SIWAREX hardware
This is the official Siemens recommendation. Acquire or borrow a CPU 1214C (or 1215C) and a SIWAREX WP231 module. The hardware can be the production CPU you intend to ship, an engineering CPU, or a stock S7-1200 starter kit. A SIWAREX demonstration case or a load cell with 5 V / 10 V excitation completes the test rig.
- Connect the WP231 to the analog front connector of the S7-1200. Power the system with 24 V DC.
- Use the SIWATOOL V7 PC software (Ethernet, port 1115) to load the calibration data to the WP231 module before downloading the TIA Portal project. SIWATOOL can also be used for live trace, parameter dump, and zero/span adjustment.
- Download the TIA Portal project to the real PLC. The know-how protected blocks load normally because the real firmware accepts them.
- Validate scale zero, span, filter constants, and HMI faceplate behavior with a known load.
Option 2 – Split the program: weigh logic on real hardware, rest in PLCSIM
If your goal is to validate HMI navigation, recipe handling, or sequence logic, isolate the SIWAREX calls inside one FB and connect that FB to a proxy interface. Use PLCSIM for the rest of the program and a separate physical S7-1200 with a SIWAREX module to execute the weighing FB. The two halves communicate over PROFINET or over shared data tags. The proxy approach lets you test the HMI and the high-level control loop end-to-end while keeping the weighing code on hardware.
Option 3 – SIWATOOL V7 + virtual I/O simulation
For algorithms that do not require live weight data, the SIWATOOL V7 PC software offers a configuration and trace interface that does not depend on TIA Portal at all. The operator sets calibration values, zero/span, filter constants, and limit values directly. The TIA Portal project only contains the application layer; SIWATOOL provides the offline commissioning interface. The downside is that the TIA Portal program cannot be exercised end-to-end, but the weighing behavior itself is fully tested.
Option 4 – S7-PLCSIM advanced with manual block substitution
S7-PLCSIM advanced (V16+) supports a larger set of features, but the know-how protection restriction still applies. Replacing the SIWAREX FBs in the offline project with user-written surrogate FBs that mimic the interface (input/output/IN_OUT signatures only) lets PLCSIM run the rest of the program. This approach is feasible only if the surrogate FB returns realistic values for the upper-level logic; it does not validate weighing accuracy.
// Surrogate FB for PLCSIM development (interface must match WP231 FB)
FUNCTION_BLOCK "WP231_Sim"
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
VAR_INPUT
LoadValue : Real; // simulated load in kg
Mode : Int; // 0 = ready, 1 = weigh, 2 = tared
CalibrationOK : Bool;
END_VAR
VAR_OUTPUT
GrossWeight : Real;
NetWeight : Real;
Status : Word;
Error : Bool;
END_VAR
BEGIN
IF CalibrationOK THEN
GrossWeight := LoadValue;
NetWeight := LoadValue - 5.0; // assume 5 kg tare
Status := 16#0001;
Error := FALSE;
ELSE
Status := 16#8000;
Error := TRUE;
END_IF;
END_FUNCTION_BLOCK
Option 5 – Use the older SIMATIC S7-200 SIWAREX MS or the SIWAREX FTC (if applicable)
Some weighing modules in the legacy SIWAREX line (for example, SIWAREX MS on S7-200, SIWAREX FTC on S7-300) ship with library blocks that are not know-how protected or are protected with a customer password. If the application permits, switching to a different weighing platform that does not enforce the restriction lets PLCSIM simulate the full program. Always verify the alternative platform against the mechanical, accuracy, and rate requirements of the application before adopting this option.
Real PLC Behavior and Hardware Validation
The error is strictly a PLCSIM limitation. On a real S7-1200 CPU, the SIWAREX WP231 blocks download without any message, start, and process load cell signals at 100 Hz (WP231 default) or 1 kHz (WP231 fast mode). Engineers concerned that the protection might block commissioning in production can disregard the concern: Siemens customers running thousands of SIWAREX WP2xx installations confirm that the real PLC is unaffected.
Use the following checklist to validate the system on a real PLC before sign-off:
| Step | Action | Expected Result |
|---|---|---|
| 1 | Power up the S7-1200 + WP231 with the load cell connected | SF LED on the WP231 is off; BF LED off after PROFINET connection |
| 2 | Download the TIA Portal project | No error; the SIWA and technology DBs are written to the CPU |
| 3 | Open the SIWAREX technology DB in TIA Portal online | Status word 0x0001 (ready), no diagnostic bit set |
| 4 | Run zero calibration via SIWATOOL V7 or HMI faceplate | Zero command acknowledged; gross/net weight drift within ±0.01 % of full scale |
| 5 | Apply a calibrated test load | Reading matches ±0.05 % of full scale (typical WP231 accuracy class) |
| 6 | Run the diagnostic buffer dump | No entries "Block download failed" or "Know-how protection" in the diagnostic buffer |
| 7 | Power-cycle the CPU | All SIWAREX parameters retained (persistent in the WP231 module, not in the CPU) |
Alternative Simulation Strategies
When the test objective is to exercise the HMI or the sequence logic, consider the following layered test bench:
- Unit test on PLCSIM: Run the non-SIWAREX portion of the program in PLCSIM, with the SIWAREX calls stubbed by the surrogate FB shown above. The HMI connects to the PLCSIM instance; the surrogate FB returns values that mimic a real load cell under test.
- Integration test on real hardware: Once the surrogate-driven logic behaves as expected, download the full project (with the real SIWAREX library FBs) to a real S7-1200. The hardware test is short and focuses on accuracy, calibration, and field wiring.
- Acceptance test with the HMI on the shop floor: Connect the WinCC Runtime or HMI panel to the real CPU over PROFINET. Validate end-to-end behavior with a real load cell, real material, and the production operator interface.
This three-stage approach mirrors the V-Model recommended for safety-related machinery and lets the integrator test software modules without requiring a SIWAREX-equipped CPU for every PC in the engineering office.
Troubleshooting Matrix
| Symptom | Likely Cause | Action |
|---|---|---|
| Error at first download of a fresh project | SIWAREX library FBs are know-how protected | Use a real S7-1200 + SIWAREX rig or the surrogate FB approach |
| Error only after upgrading TIA Portal | New TIA Portal version inherits the protection attribute | Update SIWAREX library to the matching version; do not attempt to remove protection |
| Error after copying the project from another PC | Library path points to a different version | Update the library in the project tree, then re-compile |
| Error on PLCSIM advanced, but not on PLCSIM standard | Stale project tree; PLCSIM advanced validates block attributes more strictly | Perform a full project "Compile → Software (rebuild all)" before download |
| Real PLC refuses the download as well | Different issue: corrupted SD card, mismatched firmware, or wrong CPU type | Check the diagnostic buffer; verify CPU article number and firmware version |
| SIWATOOL V7 cannot connect to the WP231 | Ethernet cable, IP address, or firewall blocks port 1115 | Verify IP, ping from PC, allow port 1115 in the Windows firewall |
Engineering Recommendations
- Always test SIWAREX WP2xx logic on a real S7-1200 + WP231 hardware pair, because PLCSIM cannot load the protected library blocks.
- Plan the engineering bench: at least one S7-1200 CPU and one SIWAREX module are required for offline development.
- Use SIWATOOL V7 for calibration, parameter dump, and trace recording. It does not require TIA Portal and does not interfere with PLCSIM.
- Document the PLCSIM limitation in the project QA folder so that future engineers do not waste time searching for a TIA Portal option that does not exist.
- When commissioning on a new TIA Portal version, verify first that the SIWAREX library is still know-how protected. If Siemens ever changes the protection model, PLCSIM simulation of the weighing module will become possible; until then, treat the restriction as a fixed property of the library.
- Use the surrogate FB technique only for logic validation. Never use a surrogate FB in a production machine; the production code must call the real SIWAREX library FBs.
- For trade scales (legal-for-trade applications) verify the SIWAREX configuration against the OIML R76 / R107 / R51 requirements that apply in your jurisdiction.
Frequently Asked Questions
Can SIWAREX WP231 / WP321 blocks be downloaded to PLCSIM at all?
No. The library FBs are know-how protected by Siemens, and PLCSIM's loader refuses protected blocks. The error "Know_HOW_protected Blocks can not be loaded in the simulation" appears on every TIA Portal version from V15 through V18, including V18 Update 5.
Will the same error appear on a real S7-1200 PLC?
No. The real S7-1200 firmware accepts know-how protected blocks; only PLCSIM restricts them. The restriction is a deliberate choice to avoid creating a side channel for protected code, not a defect in your project.
Is there a TIA Portal option to disable the protection for the SIWAREX library?
No. The protection is set on the library source itself and is enforced by both the offline tools and the loader. The integrator cannot remove the protection because the password is held by Siemens and is not distributed with the library.
What is the recommended way to develop and test SIWAREX application code?
Develop the application on a real S7-1200 + SIWAREX WP231 rig. Use SIWATOOL V7 for calibration and trace. For logic that does not require live weight values, isolate the SIWAREX calls behind a surrogate FB and exercise the rest of the program on PLCSIM.
Are there alternatives to SIWAREX WP231 that can be simulated in PLCSIM?
Some legacy SIWAREX modules (for example, SIWAREX MS on S7-200) ship with library blocks that are not know-how protected. Always check the specific library version and the data sheet before substituting a module, because the accuracy, sample rate, and mounting form factor differ across the SIWAREX family.
Does the error also affect the ET 200SP SIWAREX WP321 variant?
Yes. The same know-how protection mechanism protects the WP321 library, and the PLCSIM loader refuses the protected blocks regardless of the host station (S7-1200, S7-1500, or ET 200SP CPU).