1. Problem Overview
Engineers using SIMATIC STEP 7 V5.5 with an S7-300 CPU 315-2DP (typical MLFB 6ES7315-2AF03-0AB0, 6ES7315-2AH14-0AB0, or 6ES7315-2EH14-0AB0) frequently report a symptom cluster in which the initial project download succeeds, but any subsequent partial download of a modified FC, FB, or OB fails. The classic manifestation is:
- Full project download (PLC → Download User Program to Memory Card) works the first time.
- Subsequent edits to FCs/FBs/OBs cannot be selectively downloaded to the CPU.
- STEP 7 raises the dialog: "Monitor (30:547) – The offline block is different from the associated block on the CPU. The program can therefore not be monitored."
- The download icon in the FC/FB/OB tree is greyed out (inactive).
- Switching the project Type from PCS 7 back to STEP 7 revives download capability.
The error string is a STEP 7 internal diagnostic code (event ID 30:547) that ties to the Online/Offline Consistency Check of the S7-300/400 online interface. The same condition appears with CPU 312, 314, 315-2DP, 315-2 PN/DP, 317-2DP, 318-2DP, 319-3 PN/DP, and ET 200S IM 151-7 CPU when the offline block container, the system data, or the project framework has been re-organized in a way STEP 7's online monitor cannot reconcile.
2. Engineering Context: CPU 315-2DP and STEP 7 V5.5
| Parameter | Value / Range |
|---|---|
| CPU family | SIMATIC S7-300, CPU 315-2DP |
| Typical MLFB (older) | 6ES7315-2AF03-0AB0 / 6ES7315-2AF04-0AB0 |
| Typical MLFB (current) | 6ES7315-2AH14-0AB0 |
| Work memory | 128 KB / 256 KB / 384 KB code+data (variant dependent) |
| Load memory | MMC up to 8 MB (MMC required — no onboard RAM load memory on 2xx/3xx series) |
| Modes (key switch) | RUN, RUN-P, STOP, MRES |
| DP / PN interfaces | 1× MPI/DP, 1× DP master/slave (or PN on -2 PN/DP) |
| Programming tool | STEP 7 V5.5 + SP2/SP3/HF7 (V5.5 retired; migrates to TIA Portal V15+) |
| Firmware range | V2.x to V3.x; status in Module Information → Diagnostic |
Reference: Siemens S7-300 CPU 315-2DP operating instructions and the STEP 7 V5.5 SP5 programming and operating manual.
3. Root Cause Analysis
Event 30:547 is a STEP 7 online-monitor self-check failure, not a CPU fault. It occurs whenever the block container visible in the offline project cannot be paired one-to-one with the block container in the CPU's load memory. The most frequent triggers on CPU 315-2DP are:
- Project type set to PCS 7. When the offline S7 project is created from a PCS 7 template (or its Object Properties → Type field is "PCS 7"), the block headers and the symbolic table carry PCS 7-specific extensions. The CPU's online interface compares the block signature and refuses the partial download, because the runtime will treat the blocks as belonging to a different control system class.
- Offline/online timestamp or CRC drift. The S7-300 stores the time stamp, checksum (CRC), and author / family / name in the block header. If the offline block was edited in a different STEP 7 instance, copied from another station, or saved with a different CPU firmware revision, the CRC diverges and the monitor path throws 30:547.
- CPU in RUN (not RUN-P) with key removed. RUN-P enables program changes from PG; RUN locks them out. On a partially-out-of-sync container, STEP 7 silently disables the download icon.
- Load memory fragmentation. After several partial downloads and deletes, residual holes in MMC load memory prevent the new block image from being staged. Compress is required.
- System data (SDB) inconsistency. Hardware configuration edited while online or pulled from an unrelated station. SDBs are the largest online objects and dominate the consistency check.
- Know-how-protected or encrypted blocks (S7-Block Privacy, KM-attribute). Without the matching source the partial download is blocked.
4. Preconditions Before Changing Anything
- PG/PC interface set to PC Adapter (MPI) / CP5611 / CP5711 / IE-PG matching the cable. (See STEP 7 V5.5 manual, section "Setting the PG/PC Interface".)
- Project offline archive saved: File → Archive → User project.
- CPU firmware status read: Online → Accessible Nodes → Module Information → Diagnostic Buffer.
- MMC write-protect slider unchecked; spare MMC on hand (e.g. 6ES7953-8LF20-0AA0 4 MB).
5. Step-by-Step Resolution
5.1 Verify and correct the project type
- In SIMATIC Manager, right-click the S7 Program (or the Station) → Object Properties.
- Open the Type tab.
- If it reads "PCS 7 Project" or "PCS 7 Vxx Library", change to "STEP 7 Project".
- Click OK, close the project, and re-open it.
- Compile the S7 program: Program → Compile All (Ctrl+F9).
- Retry the FC/FB partial download. The download icon should now be active.
5.2 Set the CPU mode key correctly
| Key position | Effect on program changes from PG |
|---|---|
| RUN-P | Allows online download of blocks and SDBs while process is running |
| RUN | PG read-only (monitor only). Download icon greyed out |
| STOP | All downloads allowed; outputs de-energised (or fallback per wiring) |
| MRES | Memory reset (deletes all blocks — destructive) |
- Turn the key switch on the CPU 315-2DP door to RUN-P. The status LED shows "RUN" steady and "DC5V" on.
- From the PG, Online → Accessible Nodes → [CPU315-2DP] and confirm the mode reads RUN-P.
- If the CPU lacks a key switch (rare for the -2DP family) or the key has been removed, you must stop the process and use STOP.
5.3 Bring CPU to STOP and download
- Select Online → Stop CPU (or move the key to STOP).
- Confirm the dialog: "CPU changes to STOP — output of outputs deactivated".
- Re-select the modified FC/FB/OB, right-click → Download (or click the toolbar download button).
- Confirm "Do you want to load the block ... and overwrite the existing block?" with OK.
- Switch back to RUN-P when the field is safe.
5.4 Compress CPU load memory
If the download still fails after the project type fix and the mode-key check, the load memory may be fragmented. Compression rebuilds a contiguous image and is the Siemens-blessed recovery path.
- Online → Accessible Nodes → [CPU315-2DP] → Module Information.
- Open the Memory tab.
- Click Compress.
- Confirm with OK. The CPU enters STOP briefly, compacts, then returns to its prior mode (RUN-P only if compress from RUN-P is permitted by the active project setting).
- Re-attempt the partial download.
5.5 Re-align offline and online blocks
- In SIMATIC Manager, open the Blocks container offline.
- Switch to the online view: View → Online (or Online → Online View).
- Compare the two containers block by block. Any block present online but missing offline is a "ghost" block; any offline block whose time stamp does not match online will show a small red marker.
- For each mismatch: right-click the offline block → Delete and accept the prompt to remove it from the project, or right-click the online block → Upload to PG to pull the current CPU-side version into the offline project.
- Recompile (Program → Compile All) and re-download.
5.6 Reset CPU and reload (last resort)
- Turn key to STOP.
- Hold key in MRES for ~3 s until the STOP LED blinks, release.
- Within 3 s, turn the key back to MRES until STOP LED lights steady.
- CPU is reset; all RAM and (if MMC absent) load memory cleared. On a 315-2DP an MMC remains; reset clears working memory only.
- PLC → Download User Program to Memory Card (full project) to repopulate.
- Verify with Monitor / Modify on a known tag.
6. Verification Checklist
| Step | Expected result | Pass criteria |
|---|---|---|
| 1. Open Online → Accessible Nodes | CPU 315-2DP listed with correct MPI/DP address | Module name matches offline |
| 2. Online → Module Information → Diagnostic Buffer | No SDB errors, no "Block inconsistent" entries | Buffer clean since last start |
| 3. Modify an FB; click Download on that FB only | Download dialog appears, completes in < 5 s | No 30:547 message |
| 4. Online → Monitor / Modify | Block opens, variable status values update | "MONITOR" status indicator on toolbar |
| 5. Force a known output | Output energises as expected | Field device responds, no SF/BF LED |
| 6. Trigger the previously failing download scenario | Download icon is now active and succeeds | No offline/online mismatch warnings |
7. Extended Diagnostics
7.1 Read the diagnostic buffer (event IDs)
Open CPU → Module Information → Diagnostic Buffer. Common events surrounding 30:547:
| Event ID (hex) | Meaning | Action |
|---|---|---|
| 4300 | Stop by operator / PG | Verify intentional stop |
| 4301 | Stop by memory reset | Reload project |
| 4541 | No user program on MMC | Reload via Download User Program to Memory Card |
| 4570 | Block inconsistent (F-CPU) | Recompile and full download |
| 4940 | Compressed memory successfully | Continue |
| 80A1 | Module removed / faulted | Check IM, ET 200 stations |
| 8F22 | Error in lower-level rack / PROFIBUS | Inspect DP slave diagnostics |
Full list: STEP 7 V5.5 Manual, Appendix A — Diagnostic Events.
7.2 Reference data and cross-reference
If 30:547 recurs after a sequence of edits, generate reference data and look for unresolved or multiply-assigned symbols.
- Options → Reference Data → Generate.
- Open Program Information → Cross References.
- Search for any block flagged "Block is inconsistent / Block does not exist / Address used several times".
- Re-instantiate the multi-instanced FBs from a single source FB; never paste FB headers across projects.
7.3 PC Adapter / cable sanity
Intermittent PG/PC interface faults can corrupt the partial download in flight and surface later as 30:547 on the next attempt.
- USB-to-MPI/PC Adapter (6ES7972-0CB20-0XA0): driver SIMATIC PC Adapter USB V2.0 (current build 2.x). Verify in Device Manager that the COM port enumerates.
- For TCP/IP routes, use the S7-300 Accessible Nodes only when the CP (e.g. CP343-1) is online and a valid IP is set; otherwise the CPU's online view may be served stale data from a previous session.
- Set the PG/PC interface first, then open the project — the wrong interface binding silently disables per-block download.
8. Cross-Platform Notes
| Controller | Symptom analog to 30:547 | Equivalent fix |
|---|---|---|
| S7-300 (CPU 31x) | 30:547 — offline/online block mismatch | Project type, mode key, compress |
| S7-400 (CPU 41x/416/417) | 30:547 with red marker on FB/FC/DB | Same procedure; on F-CPU, recompile the safety program |
| S7-1200 (TIA Portal V15+) | "Online connection disrupted" / "Block differs" in compare view | Right-click → Compare → Detailed, then Download to device |
| S7-1500 (TIA Portal) | "Download to device is not possible" (know-how protect) | Check protection → Know-how protection settings |
| ET 200S IM 151-7 CPU | Same 30:547 dialog | Project type fix + STOP download |
| WinAC RTX (PC-based) | Online → Compare → mismatch in "User" SDB | Recompile and full download |
9. Common Pitfalls
- Editing offline project while the CPU is online in RUN without RUN-P: edits look correct in the editor, but the download command is gated by the key position and silently drops.
- Mixing block versions across stations by copy/paste: the block CRC inherits the source CPU. Always regenerate source blocks from the original STEP 7 source, not the binary copy.
- Long block names (> 8 chars in family/author fields) on legacy 6ES7315-2AF03/AF04 may trigger inconsistency with newer PG tools; trim to 8 chars and reset timestamp via recompile.
- MMC write protection: SIMATIC MMC has a yellow slider; leaving it in the "protected" position blocks every download.
- Out-of-date GSD files for PROFIBUS slaves: the SDB generated for the DP master may differ from what is loaded in the CPU, surfacing as 30:547 on the SDB container.
- Reinstalling STEP 7 over a non-English MUI: project type defaults to PCS 7 if a PCS 7 option pack was once installed; reverting does not always strip the project type until the manual fix in § 5.1.
10. When to Migrate to TIA Portal
STEP 7 V5.5 reached end of lifecycle in 2020; SIMATIC Manager and the classic S7-300 CPUs remain supported but no new patches are issued. If 30:547 keeps reappearing after compression and full re-download, the path of least resistance is migration:
- Use the TIA Portal migration tool: Project → Migrate project → STEP 7 V5.x.
- Re-compile the S7-300 program for the new target (CPU 315-2DP → CPU 315-2 PN/DP, MLFB 6ES7315-2EH14-0AB0, or S7-1500 ET 200S equivalent).
- Validate the program with the S7-PLCSIM in TIA before live cutover.
Reference: STEP 7 V5.5 manual archive and SIMATIC S7-300 to TIA Portal migration guide.
11. Safety and Operational Notes
12. Quick Reference Matrix
| Symptom | Likely cause | First action |
|---|---|---|
| Download icon greyed out | Project type = PCS 7 | Object Properties → Type → STEP 7 |
| 30:547 in monitor | Offline/online CRC mismatch | Upload from online, then recompile |
| Partial download rejected | Key in RUN, not RUN-P | Switch to RUN-P or STOP |
| Download completes but values reset | OB100/101/102 re-initialised | Check retain attributes on DBs |
| Repeated 30:547 across sessions | Load memory fragmented | Module Information → Memory → Compress |
| 30:547 only on F-blocks | F-signature / F-CRC mismatch | Recompile safety program, accept new signature |
| Download OK but cannot monitor | Different PG project than CPU | Online → Upload station to PG |
13. Frequently Asked Questions
What does Step 7 V5.5 error 30:547 mean?
It is an online-monitor self-check failure: the offline block's time stamp, CRC, or project-type signature does not match the CPU's block header. STEP 7 will not display the program and disables the per-block download until the offline and online containers are aligned.
Why does changing the project type from PCS 7 to STEP 7 fix the download?
PCS 7 templates attach class extensions and symbolic table metadata that the CPU 315-2DP online interface does not pair with a plain STEP 7 project. Switching the Type field removes the PCS 7 attributes; recompiling and reopening the project refreshes the block headers and re-enables the download icon.
Can I download a modified FB to a CPU 315-2DP without stopping the process?
Yes, provided the key switch is in RUN-P, the block is not a system block, and the safety program signature is unchanged. Use Right-click FB → Download and confirm the overwrite dialog. Outputs are not de-energised; running FBs transition to the new code at end of cycle.
How do I clear 30:547 on a CPU 315-2DP with no PG project?
From a fresh STEP 7 V5.5 project of the same station, PLC → Upload Station to PG to mirror the online blocks into a new offline project. Then recompile, fix any compile errors, and download back to the CPU via STOP + full project download.
Will compress memory on CPU 315-2DP delete my program?
No. Compress rearranges the active block image on the MMC into a contiguous space and releases deleted block slots. Block contents, time stamps, and CRCs are preserved; however, the CPU briefly enters STOP during the operation. See STEP 7 V5.5 manual § 17 — Compress.
Is the same fix applicable to S7-1200 / S7-1500 in TIA Portal?
The principle (offline/online block alignment) is the same, but TIA Portal uses the Compare editor instead of the 30:547 dialog. Set the project type correctly in the device configuration, set the PG/PC interface to the right IE or PROFIBUS connection, and use Online → Download to device with the "Consistent download" option.