Resolving STEP 7 'Address Cannot Be Monitored' Error in Blocks

David Krause10 min read
HMI ProgrammingSiemensTroubleshooting
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

Problem Overview

When commissioning or debugging a SIMATIC S7-300/S7-400 program in STEP 7 V5.3, V5.4, or V5.5, an engineer may see the literal symbol Address Cannot be Monitored (German: Adresse kann nicht beobachtet werden) appear in the Monitor/Modify view or in the Declaration View of a Function Block (FB), Function (FC), Instance Data Block (DB), or Shared Data Block. The placeholder appears in the Actual Value, Setpoint, or Status column in place of the live process value, blocking visibility into the tag during online operation.

The same symbol can also appear when an attempt to modify an address online returns --- with a status field of Status: cannot be monitored. This article decomposes the four documented causes in the STEP 7 online help, maps them to real CPU families, and provides field-verified workarounds.

Scope: This reference applies to classic STEP 7 (V5.x) used with SIMATIC S7-300, S7-400, S7-400F/FH, and WinAC. TIA Portal (STEP 7 Basic/Professional V13+) handles the same class of issue differently and uses a distinct diagnostic vocabulary.

Root Cause Analysis: The Four Documented Reasons

STEP 7 online help enumerates four scenarios that produce Address Cannot be Monitored. Each must be eliminated before suspecting hardware or wiring faults.

# Cause Typical CPU Families Detection Method
1 Address outside the permitted monitoring range of the CPU S7-300 (CPU 312-318), S7-400 (CPU 412-417) Cross-check address against CPU datasheet (work memory, process image, address area)
2 Data Block not loaded into the target CPU All S7-300/S7-400 PLC → Monitor/Modify → verify DB exists with INFO→DB
3 Attempt to monitor a peripheral output (PQ) All S7-300/S7-400, ET 200M/ET 200S Symbol table entry begins with PQ (e.g., PQW 256, PQB 258)
4 Block protected by password or F-attribute; access denied S7-300F, S7-400F/FH, blocks with KNOW_HOW_PROTECT Block properties → Protection tab; F-block signature tab in Safety Matrix

Cause 1: Address Outside the Permitted CPU Range

Every S7 CPU has a hard-coded address space that defines which inputs (I/IB/IW/ID), outputs (Q/QB/QW/QD), peripheral (PI/PQ), and bit-memory (M) areas can be online-monitored. The maximum values differ by CPU model and firmware version.

Reference ranges for common S7-300 CPUs

CPU Order Number (MLFB) Process Image I/O (bytes) Peripheral I/O (bytes) Bit Memory (bytes)
CPU 312 6ES7312-1AE14-0AB0 128 / 128 1024 / 1024 128
CPU 315-2 DP 6ES7315-2AH14-0AB0 128 / 128 2048 / 2048 2048
CPU 317-2 PN/DP 6ES7317-2EK14-0AB0 256 / 256 8192 / 8192 4096
CPU 319-3 PN/DP 6ES7319-3EL00-0AB0 256 / 256 8192 / 8192 8192

Reference ranges for common S7-400 CPUs

CPU Order Number (MLFB) Process Image (bytes) Peripheral (bytes) Bit Memory (bytes)
CPU 412-2 PN 6ES7412-2EK07-0AB0 4096 / 4096 16384 / 16384 16384
CPU 414-3 PN/DP 6ES7414-3EM07-0AB0 8192 / 8192 16384 / 16384 16384
CPU 416-3 PN/DP 6ES7416-3ES07-0AB0 16384 / 16384 16384 / 16384 32768
CPU 417-4 6ES7417-4XT07-0AB0 16384 / 16384 16384 / 16384 32768

Resolution procedure

  1. Open the symbol table (Symbols) in STEP 7 and locate the operand flagged with Address Cannot be Monitored.
  2. Confirm the absolute address (for example MW 12000) against the CPU datasheet on the Siemens Industry Online Support portal. Search by MLFB and verify the Address areas section of the technical data sheet.
  3. If the address exceeds the CPU limit, the application logic must be re-mapped into a valid range. STEP 7 cannot lift this limitation at runtime.
  4. If the address is valid but still shows Address Cannot be Monitored, proceed to Cause 2 (missing DB).

Cause 2: Data Block Not Present in the Target CPU

When monitoring a tag inside an instance DB or shared DB, the block must be physically loaded into the CPU. STEP 7 will refuse to display any value from a DB that does not exist in the target system.

Diagnostic sequence

  1. Connect online: PLC → Connect to Target System.
  2. Open the S7 Program → Blocks container. The online view (small icon next to the block) reveals which blocks are actually on the CPU.
  3. Compare offline (PG) vs online (CPU) block list. Any block marked with a yellow triangle is either missing on the CPU or has a different timestamp/checksum.
  4. For a missing DB: select the block and execute PLC → Download (or PLC → Download User Program to Memory Card if the DB is large).
Edge case: With optimized blocks (S7-300/400 from STEP 7 V5.4 SP3 with newer CPUs only) the symbolic-only access is enabled by Symbolic access only in DB properties. If this attribute is set without an actual value supplied, the monitor view still shows Address Cannot be Monitored. Clear the attribute in DB Properties → Attributes and recompile.

Cause 3: Peripheral Outputs (PQ) Cannot Be Monitored

STEP 7 prohibits online monitoring of peripheral output addresses (PQ, PQB, PQW, PQD). The CPU does not return a current image for the output side of the I/O bus, so the symbol Address Cannot be Monitored is hard-coded.

Why peripheral outputs are not readable

  • Peripheral outputs are write-only from the CPU's perspective; reading them requires a hardware echo that PROFIBUS/PROFINET slaves typically do not provide.
  • The process-image output (Q) is readable, but only if the corresponding PQ is mapped into the process image partition (OB1-OB100 in HW Config → Update of the process image tab).

Field-verified workarounds

Approach Implementation Trade-off
Mirror to a process image bit Write the value to QW x in OB1 first, then copy QW x → MW y via a move block. Monitor MW y. One extra scan delay; safe.
Use a Variable Table (VAT) Insert PQW 256 in a VAT with Trigger set to Monitor (continuous). STEP 7 will display the value only for reads; some firmware versions (CPU 31x ≥ V3.x) refuse and show the same symbol. Not portable across CPU firmware.
Force the value via VAT Use Modify (write) instead of Monitor. Force operations are allowed on PQ for diagnostics, even if monitor is blocked. Risk of process disturbance; requires Force password.
Workaround code example (ST / STL):
// In OB1, mirror the value just written
L PQW 256
T MW 200
The VAT can then monitor MW 200 with the full engineering view.

Cause 4: Block Password / F-Safe Access Restrictions

The fourth and most common cause during commissioning of safety projects is that the block is protected by KNOW_HOW_PROTECT or by an F-attribute applied to a F-safe block running on an F-CPU (e.g., CPU 315F-2 DP, CPU 416F-3 PN/DP).

Recognising the four block-protection states in STEP 7 V5.3+

Block Attribute Online Monitor Possible? Online Modify Possible? Reading the STL Source
None Yes Yes Yes
KNOW_HOW_PROTECT without password Yes Yes No
KNOW_HOW_PROTECT with password Only after entering password Only after entering password Only after entering password
F-block (F-attribute set) Yes, read-only No Yes (with safety password)

Procedure for F-Safe blocks (S7-300F/S7-400F)

  1. Right-click the block in the SIMATIC Manager and select Object Properties → Protection.
  2. If the Safety tab is present, the block carries an F-attribute. STEP 7 enforces read-only access.
  3. From the LAD/FBD/STL editor, choose Options → Block Protection → Read-only access → For this access only. This opens the block for one online session without modifying the safety password.
  4. Confirm by monitoring a known tag (e.g., DB100.DBD0). If a numeric value appears, the F-block is now observable for the current session.

Procedure for KNOW_HOW_PROTECT blocks

  1. If you know the password: Options → Block Protection → Enter Password. The block becomes fully readable; monitoring proceeds normally.
  2. If you do not know the password: monitor is blocked for that block. There is no STEP 7 menu path to bypass KNOW_HOW_PROTECT.
  3. Contact the original programmer or the OEM that delivered the machine. The password must be supplied by the project owner; field engineers should not rely on third-party "password recovery" utilities, which target outdated project files and may violate the end-user license agreement.
Compliance note: Bypassing KNOW_HOW_PROTECT on an S7-300F/S7-400F safety project may invalidate the TÜV certification. Any change to F-block logic must be performed by the safety programmer of record and re-validated per IEC 61508 / IEC 61511.

STEP 7 Version-Specific Behaviour

STEP 7 Version Build / SP Notable Monitoring Behaviour
V5.3 SP1 / SP2 / SP3 First version to expose the Address Cannot be Monitored string. F-block handling is consistent with S7 Distributed Safety V5.4.
V5.4 SP1 / SP2 / SP3 / SP4 / SP5 Adds Optimized Block attribute; symbolic-only access can mask values even when the address is valid. See the SIMATIC Programming with STEP 7 V5.3 manual (PDF) for the canonical wording.
V5.5 SP1 / SP2 / SP3 / SP4 Last V5.x release; integrates S7-1500 communication but does not change S7-300/400 monitor behaviour. Required for S7-1500 online work in conjunction with TIA Portal.

Diagnostic Workflow Summary

Start: Address Cannot be Monitored appears in STEP 7 V5.x Operand starts with PQ* ? Block has F-attribute or KNOW_HOW_PROTECT? DB missing on target CPU? Mirror to QW/MW or use Force (VAT) Read-only access (For this access only) PLC → Download the missing DB

Verification

After applying the appropriate fix, perform these checks to confirm that monitoring is restored:

  1. In SIMATIC Manager, open PLC → Monitor/Modify → Monitor (New VAT).
  2. Enter the previously failing operand (e.g., MW 200 for a mirrored PQ, or DB100.DBW0 for an F-block).
  3. Set the trigger to Monitor (continuous) or Monitor once / now. The actual numeric value (decimal or hex) must replace the Address Cannot be Monitored placeholder.
  4. Toggle the input in the running process; the value must update within one OB1 cycle.
  5. If the symbol persists, re-check Cause 1 by verifying the address against the CPU datasheet on Siemens Industry Online Support.

Troubleshooting Matrix

Symptom Likely Cause First Action Persistent Action
PQW/PQB/PQD always shows "Cannot be Monitored" Cause 3 (PQ not readable) Confirm operand prefix Mirror to process image
All tags inside a specific FB/FC show the symbol Cause 4 (KNOW_HOW_PROTECT) Check Block Properties → Protection Request password from OEM
All tags inside an F-block show the symbol Cause 4 (F-attribute, safety lock) Options → Read-only access Configure safety password
One specific DB shows the symbol Cause 2 (DB not loaded) Compare online vs offline Download DB to CPU
All tags in the project show the symbol Cause 1 (CPU firmware / wrong target) Check online connection Verify CPU MLFB and firmware

Best-Practice Checklist

  • Always cross-reference the absolute address with the CPU datasheet (MLFB) before assuming a wiring fault.
  • Use a mirrored tag pattern (QW→MW) for any output value that must be observable during FAT/SAT.
  • Document the safety password of every F-block in the project vault; never rely on a single engineer remembering it.
  • When commissioning a third-party machine, request the unencrypted STEP 7 source alongside the compiled .s7f archive.
  • Keep STEP 7 V5.5 SP4 (or the latest SP) installed; older versions ship with the F-block handling bugs that have been patched in V5.4 SP5 and later.

FAQ

Why does STEP 7 V5.3 refuse to monitor any PQW address?

Peripheral outputs (PQ*) are write-only from the CPU. STEP 7 V5.3 onward returns the literal "Address Cannot be Monitored" because no read-back value exists. Mirror the value to a bit-memory word (for example L PQW 256; T MW 200) and monitor the mirror.

Can I monitor F-block tags on an S7-400F without entering the safety password?

Yes, for the current session only. In the LAD/FBD/STL editor open the block, choose Options → Block Protection → Read-only access → For this access only. The safety password remains unchanged but values become visible until the editor closes.

How do I confirm whether a DB is actually loaded on the CPU?

Open the S7 Program → Blocks container online (small PLC icon). Blocks present on the CPU show a yellow online marker; missing blocks show no marker. A red timestamp mismatch indicates a different version is loaded.

What is the maximum bit-memory area for a CPU 315-2 DP?

CPU 315-2 DP (6ES7315-2AH14-0AB0) provides 2048 bytes of bit memory. Any operand above MB 2047 will return "Address Cannot be Monitored" in STEP 7 V5.4 and later. Re-map the symbol into a valid range.

Is "Address Cannot be Monitored" the same error in TIA Portal?

No. TIA Portal (STEP 7 V13+) replaces the symbol with the wording "Value not available" or shows a red exclamation mark on the tag in the watch table. The underlying causes (missing DB, F-block, optimized block without symbolic access) remain the same, but the troubleshooting paths differ.

Back to blog