Problem Overview
Engineers migrating STEP 7 Basic V10.5 projects into TIA Portal V11 frequently encounter a compilation error against the PID_Compact (formerly PID_Basic) technology object. The compiler reports that the INPUT_PER input of the PID block is "out of range," after which the TIA Portal V11 IDE itself may terminate unexpectedly. The fault can manifest in three distinct patterns:
- Compile-time diagnostic against an existing PID DB followed by an IDE crash.
- Compile error reported repeatedly with no IDE crash but the project can never be brought to a clean state.
- The PID instruction cannot be inserted at all from the technology palette or via Add new object in the project tree — the instruction graphic renders only as a background image with no executable body.
All three symptoms share the same root condition: the project contains a PID technology object whose instance DB structure and INPUT_PER pointer semantics were redefined between V10.5 and V11 SPx. Because the legacy PID_Basic technology object was renamed and its I/O schema restructured, the converter leaves an instance whose background data block no longer matches the new FB signature, producing the out-of-range diagnostic at compile time.
Affected Software and Firmware Versions
| Component | Version | Status |
|---|---|---|
| STEP 7 Basic V10.5 (source project) | 10.5.x | Pre-conversion |
| STEP 7 Basic V11 (initial release) | 11.0.0.0 | Affected |
| TIA Portal V11 Service Pack 1 | 11.0.1.0 | Partial fix |
| TIA Portal V11 Service Pack 2 | 11.0.2.0 | Recommended target |
| S7-1200 CPU firmware pre-2.1.2 | 2.0.x – 2.1.0 | Affected (download integrity) |
| S7-1200 CPU firmware 2.1.2 and later | 2.1.2 + | Add-on integrity check on download |
The out-of-range compile error is most reliably reproduced on the initial V11.0.0.0 build. V11 SP1 partially addresses the problem; V11 SP2 closes the gap completely. The download-integrity issue (CPU going to STOP on next power cycle) is firmware-side and is independent of the TIA Portal version used to author the project.
Root Cause Analysis
2.1 PID Block Schema Mismatch
In STEP 7 Basic V10.5 the technology object exported as a PID_Basic instance with a fixed parameter set. TIA Portal V11 ships a renamed and refactored PID_Compact block whose INPUT_PER input is an INT (-27648 to 27648) scaled to the configured input range, but the background data block generated by the V10.5 converter still references the legacy PID_Basic UDT layout. When the V11 compiler walks the instance DB it reads the converted INPUT_PER word — typically sourced from a peripheral word such as %IW or a flag word such as %MW108 — and attempts to validate it against the new scaling metadata, which the converted DB does not contain. The result is the "out of range" diagnostic.
If INPUT_PER is wired to %MW108 (as reported in the field case), the value carried in that word is not the issue itself; the value is irrelevant because the compiler is failing on schema validation before runtime.
2.2 Converted Project Skips Re-link Pass
Project conversion in TIA Portal V11 performs symbol and block re-binding in two passes: a structural conversion during the open operation, and a full re-link pass that is only triggered by an explicit Compile > Software (rebuild all blocks). The wizard-driven "Compile" invoked at the end of the conversion wizard does not perform this full re-link, so the partially-bound PID instance DB remains in the project tree and the next compile produces the diagnostic.
2.3 Download Integrity Issue (Firmware Bug)
Independent of the editor-side compile error, the S7-1200 firmware prior to V2.1.2 only validated the PID configuration block on a power cycle. If the user downloaded a project with a partial PID configuration (e.g., the initial incremental download after a hot-edit), the configuration block was incomplete in load memory, and the next STOP-to-RUN transition or power cycle would send the CPU into STOP mode with diagnostic buffer entries pointing at the technology object. Firmware 2.1.2 added a download-time integrity check that catches the partial state and forces a full download.
Diagnostic Workflow
- Open the project in TIA Portal V11 SP2. Earlier V11 builds should be patched to SP2 via Siemens Automation Update (SCC) or the Siemens Industry Online Support package center before any conversion is attempted.
- Read the TIA Portal version banner. Help → About will confirm 11.0.2.0 or later.
- Read the CPU firmware version. Online → Accessible devices → Online & diagnostics → CPU → Operating mode. The diagnostic buffer will report the firmware identifier (e.g., 6ES721x-1xxx-x0Bx, firmware V2.1.3).
-
Locate the offending PID instance DB. Project tree → PLC_1 → Technology objects →
PID_Compact_x→ Configuration. The compile error will reference the DB number assigned to the technology object. -
Export the diagnostic buffer. Save the buffer to a
.txtfile for inclusion in a support request if the field workaround fails.
Solution: Primary Recovery Procedure
The recommended recovery sequence resolves both the compile-time diagnostic and the firmware-side download integrity issue.
3.1 Force a Full Re-link of the Converted Project
- In the project tree, right-click Program blocks.
- Choose Compile > Software (rebuild all blocks).
- Wait for the full compile to complete; expect the diagnostic to either clear or be replaced by a more specific message identifying the offending DB.
This re-link pass refreshes all background DBs, including PID instance DBs, and resolves the bulk of conversion-induced diagnostic noise.
3.2 Replace the Converted PID Instance
If the rebuild leaves the diagnostic in place, the PID technology object itself must be replaced. This is the only path that reliably clears the out-of-range error when the source block originated in V10.5.
- Note the existing
INPUT_PER,Setpoint,Output, andManualEnablewiring of the legacy block. - Right-click the legacy
PID_Compact_x(originallyPID_Basic_x) instance DB and select Delete. Confirm deletion. - From the project tree, right-click Technology objects and choose Add new object > PID > PID_Compact. Use the same instance number or a free slot.
- Re-enter the configuration: Input/Output → Input_PER set to the original peripheral or memory word (e.g.,
%MW108as in the field case, or an analog input such as%IW64for an integrated analog channel). - Re-wire the
PID_Compactcall in the cyclic OB to the new instance DB. - Right-click Program blocks → Compile > Software (rebuild all blocks) again.
3.3 Replace the PID Block at the Call Site
If the legacy block is the V10.5 PID_Basic with a V11 PID_Compact replacement:
- Open the cyclic OB (typically
OB1 "Main"or a scheduledOB35). - Delete the existing
PID_Compact/PID_Basiccall from the network. - From the Instructions > Technology > PID Control palette, drag a fresh PID_Compact block into the network.
- Assign the new instance DB created in step 3.2.
- Re-wire
Input_PER,Setpoint,Input,Output_PER, andManualEnableper the original logic.
Solution: Firmware-Side Workaround
The download integrity issue is masked by V2.1.2+ firmware but persists on older firmware. Use the following workarounds in order of preference.
4.1 Recommended: First Download After Factory Reset
- Online → Accessible devices → select the target CPU.
- Online → Reset to factory settings.
- With the CPU in STOP, perform the initial download via right-click the device → Download to device > Software (all blocks).
The first download after a factory reset always writes a complete PID configuration block, eliminating the partial-configuration STOP condition on the next power cycle.
4.2 Alternate: Use "Software (all blocks)" for Any Download
For users who cannot reset the controller, the same effect is achieved by selecting Download to device > Software (all blocks) from the project tree right-click menu on every download that touches a PID technology object. This forces a complete load image rather than an incremental delta.
4.3 Permanent Fix: Update Firmware to V2.1.2 or Later
- Open the project in TIA Portal V11 SP2 (or later).
- Online → Accessible devices → select the CPU.
- Online → Online & diagnostics → Firmware update.
- Select the
.updfile for the target CPU (e.g.,6ES7214-1AE30-0XB0_V02120000.updfor CPU 1214C DC/DC/DC). - Perform the update. The CPU will restart automatically.
From V2.1.2 onward, the firmware checks the PID configuration block on download and refuses to accept an incomplete image, surfacing the error in the TIA Portal download dialog before the user can place the CPU in an inconsistent state.
INPUT_PER Parameter Specification
| Parameter | Data Type | Range | Source |
|---|---|---|---|
| Input_PER (PID_Compact, V11) | INT | -27648 to +27648 | %IW, %MW, or PIW |
| Input_PER (PID_Basic, V10.5) | INT | -27648 to +27648 | %IW, %MW, or PIW |
| Setpoint | REAL | Process-dependent | User program |
| Input | REAL | Process variable | Scaled value |
| Output_PER | INT | -27648 to +27648 | %QW or PQW |
| Output | REAL | Process-dependent | User program |
The 16-bit INT range of -27648 to +27648 corresponds to the Siemens analog I/O scaling convention where 0 = 0% and 27648 = 100% of the configured range. A value outside this range at runtime — for example, an analog input wired above 20 mA on a channel configured for 4-20 mA — will cause the PID block to enter a defined "input out of range" state and cease regulation, but this is a runtime diagnostic distinct from the compile-time out-of-range error treated in this article.
Compilation and Download Integrity Matrix
| Action | TIA V11.0.0.0 | TIA V11 SP1 | TIA V11 SP2 | CPU Firmware < 2.1.2 | CPU Firmware ≥ 2.1.2 |
|---|---|---|---|---|---|
| Project convert wizard compile | Fails with PID INPUT_PER out-of-range | Fails on converted PID_Compact only | Clean | — | — |
| Manual rebuild all blocks | Recovers most cases | Recovers most cases | Recovers all cases | — | — |
| Incremental download (delta) | — | — | — | CPU enters STOP on next power cycle | Download rejected with diagnostic |
| Download all blocks (first after factory reset) | — | — | — | Clean | Clean |
| Download all blocks (mid-session) | — | — | — | Clean | Clean |
Verification Steps
- Clean compile. Right-click Program blocks → Compile > Software (rebuild all blocks). The output window must show "Compile finished without errors." Any reference to the legacy PID DB indicates the technology object replacement was not completed.
- Go online and read the diagnostic buffer. Online & diagnostics → Diagnostic buffer. Confirm no PID-related STOP events are present.
- Power-cycle the CPU. With the firmware at V2.1.2 or later and a complete download image present, the CPU must return to RUN without re-entering STOP.
-
Watch table test. Insert a watch table referencing the PID instance DB. Force
Input_PERto a mid-scale value (e.g., 13824 = 50%) and verifyOutput_PERresponds according to the configured control direction. - Technology object commissioning view. Open Technology objects → PID_Compact_x → Commissioning. The trend view must display live process variable and setpoint without raising an out-of-range alarm.
Edge Cases and Field Notes
8.1 Legacy PID_Basic Block Cannot Be Inserted After V11 Install
Symptom: the PID icon in the technology palette renders only as a faded background image; dragging it into a network produces no callable block. This typically indicates that the V11 install overwrote a corrupted technology palette registration, or the project was opened on a workstation where V10.5 was uninstalled before V11 was installed (the shared palette folder is the same on both versions).
Resolution: reinstall TIA Portal V11 SP2 and ensure the install media matches the language of the original V10.5 install. If the issue persists, repair the installation via Control Panel → Programs and Features → TIA Portal V11 → Repair.
8.2 Filter Block Output Wired to INPUT_PER
The field case wired %MW108 to INPUT_PER. The flag word was the output of a signal filter block. When migrating, ensure the filter's output is still in INT range. If the filter block itself was changed in V11, the output type or scaling may have shifted; re-run the filter configuration wizard against the new block signature.
8.3 Persistent Compile Error After Block Replacement
Some users report that the compile error returns after deleting and reinstating the PID block in V11. This is almost always caused by an orphaned PID_Basic background DB still present in the project that is referenced by a hidden or unused block. Search the project for any remaining PID_Basic symbols with Find and replace → Across project, and delete the corresponding DBs.
8.4 Cannot Reopen Project in V10.5 After V11 Conversion
Project conversion is one-way. The V11 project cannot be downgraded back to V10.5. Maintain a backup of the V10.5 source under version control (e.g., Git, SVN, or a manual .zap10 archive) before invoking the conversion wizard.
8.5 PID Background DB Locked After Replace
If the technology object shows a red padlock in the project tree, an online connection to the CPU is holding the DB open. Disconnect via Online → Disconnect from all online partners, then retry the replacement.
Related Siemens Documentation
For deeper parameter descriptions, see the S7-1200 Programmable Controller System Manual and the TIA Portal V11 SP2 release notes. Always cross-check PID parameter limits against the firmware-specific manual, as range constants changed between firmware V1.x and V2.x.
Why does TIA Portal V11 report INPUT_PER out of range on a converted PID block?
The V10.5 PID_Basic technology object is converted to a V11 PID_Compact instance, but the converter does not rebuild the background data block. The V11 compiler validates the legacy instance against the new FB signature and fails. Replace the technology object and rebuild all blocks to clear the diagnostic.
How do I fix the CPU STOP that occurs after a power cycle following a PID download?
Upgrade the S7-1200 CPU firmware to V2.1.2 or later. The new firmware validates the PID configuration block on download and refuses incomplete images, eliminating the partial-configuration STOP on power cycle. As a workaround, perform a factory reset and a full "Software (all blocks)" download.
Can I downgrade a V11 project back to V10.5?
No. TIA Portal project conversion is one-way. Keep a backed-up copy of the original V10.5 .zap10 or .zap11 archive before invoking the conversion wizard.
What is the valid value range for PID_Compact INPUT_PER?
INPUT_PER is an INT scaled to the Siemens analog convention of -27648 to +27648, corresponding to 0% to 100% of the configured process variable range. A value outside this range at runtime will cause the PID block to flag an input error and stop regulating.
Which TIA Portal V11 service pack fully resolves the PID conversion error?
TIA Portal V11 SP2 (build 11.0.2.0) is the first service pack to fully address the PID INPUT_PER out-of-range compile diagnostic. V11.0.0.0 and V11 SP1 exhibit the error on converted PID_Basic instances.