Siemens S7-200 Online Monitoring and Program Editing Guide

David Krause14 min read
S7-200SiemensTutorial / How-to
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

Overview

The SIMATIC S7-200 is Siemens' legacy micro-PLC family for compact machine control, and its successor, the S7-200 SMART, continues the same programming model with built-in Ethernet. Engineers who are new to either platform often struggle with three first-time tasks: establishing a PC-to-PLC link, entering the online Program Status view, and forcing or editing values while the CPU is in RUN. This guide walks through every step of online monitoring using STEP 7 Micro/WIN (for the classic S7-200) and STEP 7 Micro/WIN SMART (for the S7-200 SMART), with explicit references to the official Siemens system manuals.

Online monitoring is fundamentally different from programming offline. In offline mode, the editor shows the project as it exists on disk. When you go online, STEP 7 Micro/WIN uploads the current block contents from the CPU and overlays them onto the editor view. From that moment on, what you see is the live logic executing inside the S7-200. Understanding that distinction prevents a class of common mistakes (such as editing the offline copy and wondering why the machine never changes behavior).

Prerequisites

Before attempting any online operation, verify that the following items are available and consistent with each other.

  • CPU hardware: Any classic S7-200 CPU (CPU 221 6ES7 211-0AA23-0XB0, CPU 222 6ES7 212-1AB23-0XB0, CPU 224 6ES7 214-1AD23-0XB0, CPU 224XP 6ES7 214-2AD23-0XB0, CPU 226 6ES7 216-2AD23-0XB0) or any S7-200 SMART CPU (CPU SR20, SR30, SR40, SR60, ST40, ST60, CR40, CR60, UR20).
  • Programming software: STEP 7 Micro/WIN V4.0 SP9 (final release for classic S7-200) installed on a Windows PC, or STEP 7 Micro/WIN SMART V2.7 / V2.8 for S7-200 SMART CPUs.
  • Communication cable:
    • USB/PPI Multi-Master Cable 6ES7 901-3DB30-0XA0 for classic S7-200 over PPI.
    • RS-232/PPI Multi-Master Cable 6ES7 901-3CB30-0XA0 for legacy serial PCs.
    • Standard Cat5e or better Ethernet cable for S7-200 SMART.
  • Mode switch: Physical key on the CPU faceplate (STOP / RUN / TERM) accessible and not locked by an OEM door.
  • Project file: A Micro/WIN .mwp project that matches the target CPU type, or a fresh project built on the bench for first-time commissioning.
Safety notice (per Siemens system manual): Online edits in RUN mode affect a running machine. Siemens warns that "Program Edit in RUN" can cause dangerous machine motion if outputs toggle as a result of the edit. Always place the machine in a safe state, isolate hazards, and have an E-stop within reach before performing an online edit.

S7-200 CPU Family and Communication Capabilities

Communication path selection depends on which CPU generation you are using. The table below summarizes the supported interfaces.

CPU family Port 0 Port 1 (if present) Typical cable Default address / baud
CPU 221 / 222 RS-485 (PPI/MPI/Freeport) USB/PPI Multi-Master Address 2, 9.6 kbps
CPU 224 / 224XP / 226 RS-485 (PPI/MPI/Freeport) RS-485 (PPI/MPI/Freeport) USB/PPI Multi-Master Address 2, 9.6 kbps
S7-200 SMART SR/ST RS-485 (PPI/Freeport) Ethernet (RJ45) Cat5e Ethernet IP 192.168.2.1, port 102
S7-200 SMART CR RS-485 only (no Ethernet) USB/PPI Multi-Master or RS-485 Address 2, 9.6 kbps
S7-200 SMART UR (relay) RS-485 (PPI/Freeport) Ethernet (RJ45) Cat5e Ethernet IP 192.168.2.1, port 102

For the official port-pinouts and freeport framing, refer to the SIMATIC S7-200 Programmable Controller System Manual (sections 5 and 7) and the SIMATIC S7-200 SMART System Manual (section 6).

Mode Switch: STOP, RUN, and TERM Positions

The three-position key switch on the front of every classic S7-200 CPU (and the equivalent toggle on S7-200 SMART) controls how the CPU responds to commands from STEP 7 Micro/WIN. The behavior is defined in chapter 4 of the S7-200 System Manual.

Position CPU execution PC download from Micro/WIN Online edits Forcing
STOP Logic does not execute; outputs de-energize (or hold last state if configured) Always allowed Not applicable (CPU is not running) Force table accessible, forces accepted but have no effect on running scan
RUN Full scan execution Blocked by default unless mode switch is at TERM Allowed via Debug → Program Edit in RUN only when switch is at TERM or RUN with edits unlocked by firmware Allowed; force table takes effect immediately
TERM (terminal) Full scan execution identical to RUN Allowed (acts as "software STOP") Allowed without prompt Allowed

The most common confusion reported by first-time S7-200 users is: "When the switch is in RUN, my PC cannot communicate with the CPU." The CPU is actually communicating fine — what blocks the user is the download or program-edit attempt, which the firmware rejects when the switch is hard-set to RUN. Setting the switch to TERM gives you RUN behavior with full programmer authority, which is the recommended position for commissioning.

Establishing the PC-to-PLC Connection

Classic S7-200 over PPI

  1. Plug the USB/PPI Multi-Master Cable 6ES7 901-3DB30-0XA0 into Port 0 of the CPU and a USB port on the PC. Windows will load the Siemens USB driver automatically if STEP 7 Micro/WIN is already installed.
  2. Open STEP 7 Micro/WIN and select Communications → Communications Wizard.
  3. Step 1 of the wizard: select PC/PPI cable (PPI).
  4. Step 2: select the COM port assigned to the USB cable (Device Manager → Ports).
  5. Step 3: set the network address. The default for the CPU is address 2; the cable's network address should be 0.
  6. Step 4: choose 9.6 kbps if you are unsure of the CPU baud rate; this is the factory default.
  7. Click OK. Micro/WIN writes the new PPI parameters into the cable and the project.
  8. Click the Communications icon (top toolbar, two PCs with a cable). The dialog should display the CPU as a node on the PPI network. Double-click the node to verify read/write access.
If the wizard reports Cannot find station, verify that the baud rate in step 6 actually matches the CPU. CPU 221/222/224/224XP/226 firmware versions prior to V1.21 default to 9.6 kbps; firmware V2.0 and later default to 187.5 kbps. The CPU baud rate can be read with System Block → Communication Ports while connected.

S7-200 SMART over Ethernet

  1. Connect the PC and the SMART CPU to the same Ethernet switch, or use a point-to-point patch cable.
  2. Open STEP 7 Micro/WIN SMART and click Communications.
  3. The "Communications" dialog performs a UDP broadcast on the local subnet and lists every SMART CPU discovered, along with its MAC address, IP address, and firmware version.
  4. Select the discovered CPU and click OK. The status bar should change from Disconnected to Connected (RUN) or Connected (STOP).
  5. If no CPU is discovered, verify that the PC's IP is on the same subnet (default SMART IP is 192.168.2.1, mask 255.255.255.0). Open a command prompt and run ping 192.168.2.1. If the ping fails, do not proceed — fix the IP addressing first.

Going Online: Program Status Monitoring

Once Micro/WIN is connected, the editor shows the project as it sits on disk. To see the CPU's actual executing logic, you must download the program (or upload the CPU's program to the PC) and then enter the Program Status view.

  1. Click File → Download (or press Ctrl+D) to push the project to the CPU. Confirm the prompt — if the CPU is in RUN, Micro/WIN will warn that RUN-to-STOP transition is required for a full download.
  2. After a successful download, click the Program Status button on the toolbar (it is the icon to the right of the "Stop Program" button — a small monitor with a green play arrow). The toolbar button location is described in the project editor overview of the S7-200 System Manual.
  3. When Program Status is active, the editor background turns from gray to blue. This is the visual indicator that you are now seeing live execution, not the offline file.
  4. Each contact and coil in the network is overlaid with power-flow indicators. Energized conductors display as solid blue lines; de-energized as thin gray lines. Coil states are shown with a small rotating icon when true and a hollow icon when false.
  5. Data values (timers, counters, V-memory words) appear in their assigned boxes. Hover the mouse over a value to see the format (decimal, hex, binary, real).
A common pitfall is to assume that an offline edit followed by clicking "Program Status" reloads the project. It does not. Program Status only reflects the CPU's currently executing block. If you edit offline while in Program Status, the editor overlay stops updating and a yellow bar at the top of the LAD/FBD window indicates "Project modified offline — CPU program differs." Compile and download again to restore the overlay.

Forcing and Writing Values to Addresses

Forcing is the S7-200 equivalent of Allen-Bradley's Force I/O and Omron's CX-Programmer Force Set/Reset. Forces override the value an address would otherwise hold as a result of program execution.

  1. Open Debug → Force Table or press Ctrl+T. The default Force Table has columns for Address, Current Value, Forced Value, and Force Enable.
  2. Type the address you want to force, for example Q0.0 for output 0 of byte 0, or VW100 for V-memory word at byte offset 100.
  3. Enter the desired value in the Forced column. For a bit, type 1 or 0. For a word, type the integer or use the format selector (decimal, hex, binary, real).
  4. Right-click the row and select Force, or press F7 while the row is selected. The Force Enable column toggles to Yes.
  5. Click Write All Forces on the toolbar (the icon resembling a downward arrow into a stack). Micro/WIN confirms each force and sends it to the CPU. The CPU's FORCE LED on the faceplate illuminates.
  6. To release a single force, change its Forced Value to a blank entry and click Unforce. To release all forces, click Unforce All. The FORCE LED extinguishes when no forces remain active.

Forcing has strict rules documented in chapter 10 of the S7-200 System Manual:

  • You can force I, Q, M, S, T, C, AI, AQ, V, L, and AC addresses within their CPU-specific ranges.
  • Forces are retained through power cycle (stored in non-volatile memory) until explicitly unforced.
  • Forces are cleared by a factory reset of the CPU.
  • You cannot force inputs that are physically driven by hardware whose value is still being read; the CPU applies the force on top of the physical input. To test an input rule without field wiring, isolate the sensor first.

Performing Online Edits in RUN Mode

Program Edit in RUN is the S7-200 equivalent of RSLogix 5000's online edit with final edit assembly. It allows you to add or modify logic without stopping the machine.

  1. Confirm the CPU mode switch is at TERM, not RUN. Hard RUN blocks edits; TERM allows them with a warning.
  2. Make the desired edit in the editor while online in Program Status. Examples include adding a parallel contact to a rung, changing a comparison value, or inserting a new network.
  3. From the menu, select Debug → Program Edit in RUN. Micro/WIN uploads the executing program from the CPU to compare it to your edited copy.
  4. Read the safety warning dialog carefully. Click Continue only after verifying the machine is in a safe state.
  5. Micro/WIN compiles the edited logic into the free program memory and queues it for assembly.
  6. Click Download. The CPU performs the edit assembly at the end of the current scan — execution pauses for a few milliseconds, then resumes with the new logic.
  7. Monitor the Force LED and the RUN LED. If the RUN LED begins flashing red, the edit was rejected; restore from the offline backup.

The number of edits you can perform before a stop-and-restart is required depends on the amount of free program memory remaining. The S7-200 System Manual specifies that the CPU reserves a small region for edit assembly; if you exceed it, Micro/WIN prompts you to STOP the CPU and perform a full download.

Verification and Diagnostics

After completing online work, run the following verification checklist before walking away from the machine.

  • Read the SF (System Fault) LED on the CPU. Off = no faults. Solid red = fatal fault; cycle power or perform STOP-to-RUN. Flashing red = non-fatal fault; check the diagnostic buffer in PLC → Information.
  • Open the Status Chart (Ctrl+I) and watch the values you edited or forced. Confirm they remain stable across at least 50 scan cycles.
  • Click PLC → Compare to verify that the offline project on your PC matches the executing CPU program. The dialog reports differences at the sub-routine and network level.
  • Save the project with Ctrl+S. Siemens recommends naming files with the firmware version suffix, e.g. Line1_CPU226_FW2.04.mwp, to avoid confusion during future rebuilds.
  • Document any forces that remain active. Force tables persist across reboots and will surprise the next shift if left in place.

Troubleshooting Matrix

Symptom Likely cause Diagnostic Corrective action
Communications dialog shows no nodes Baud rate mismatch Read System Block → Communication Ports from the CPU directly (requires being able to connect at any baud) Cycle through 9.6, 19.2, 187.5 kbps in the wizard
CPU found but download fails with 0006H Mode switch hard in RUN and project is larger than 1 KB free edit memory Check switch position Move switch to TERM or STOP
Program Status button is greyed out Not connected, or CPU is in STOP Check status bar at bottom of Micro/WIN Re-establish connection; switch CPU to TERM
Forced value reverts to old value after one scan Application code is overwriting the forced address Search the project for assignments to the address Use Write All Forces again; forces re-assert each scan only if Force Enable column is Yes
Online edit rejected, RUN LED flashes red Edit introduced a syntax error not caught offline Open the build window Undo edit, recompile, retry
FORCE LED on, no forces visible in table Forces were set by another programming station Click Read All Forces Audit and unforce as required
SF LED solid red after online edit Indirect addressing violation or new rung references out-of-range address Read PLC Information → Error Log STOP, edit offline, full download

Migration Notes for Allen-Bradley and Omron Users

Engineers familiar with RSLogix 500 or CX-Programmer often expect different default behaviors. The following table maps the conceptual equivalents.

Task Allen-Bradley (RSLogix 500) Omron (CX-Programmer) Siemens (STEP 7 Micro/WIN)
Online monitoring mode Toggle: Remote Run/Program, then Test → Continuous Scan Online → Monitor Mode (PLC must be in Monitor) Program Status toolbar button
Force I/O Force File double-click, Force On/Force Off Force Set/Reset from Address toolbar Debug → Force Table, right-click Force
Online edit in RUN Accept Pending Rung Edits (Assemble Edit) Transfer to PLC (Online Edit) Debug → Program Edit in RUN, Download
Mode switch REMOTE / PROG / RUN keyswitch Programming Console mode select STOP / RUN / TERM physical switch
Bit addressing I:0/0, O:0/0, B3:0/0 W0.00, H0.00, CIO0.00 I0.0, Q0.0, M0.0, V0.0

The S7-200 V (variable memory) region is the closest analog to the AB B (binary) and N (integer) file combined. Most scratch, recipe, and HMI tag data live in V-memory. The address format is byte.bit for bits and byte-only for byte/word/double-word access — for example, VB100 is the byte at offset 100, VW100 is the word, and VD100 is the double-word. V-memory offsets must be even for word and quadruple for double-word access, or Micro/WIN flags a range error.

FAQ

Why does the mode switch on my S7-200 have three positions instead of two?

The three positions are STOP, RUN, and TERM. STOP halts execution, RUN runs with download protection, and TERM runs with full programmer authority. Use TERM whenever you intend to download, force, or edit online.

My PC cannot communicate with the S7-200 when the switch is in RUN. What is wrong?

Nothing is wrong — the CPU is communicating, but it blocks download and online edits in hard RUN. Move the switch to TERM, establish the connection, perform your work, then return the switch to RUN if required by the application.

How do I force an output on the S7-200 from STEP 7 Micro/WIN?

Open Debug → Force Table, enter the address (for example Q0.0), enter 1 in the Forced column, right-click the row and select Force, then click Write All Forces. The FORCE LED on the CPU faceplate will light. Use Unforce All to release every active force.

What is the difference between STEP 7 Micro/WIN and STEP 7 Micro/WIN SMART?

STEP 7 Micro/WIN V4.0 SP9 is the final release for classic S7-200 CPUs (CPU 22x). STEP 7 Micro/WIN SMART is the separate, free tool for S7-200 SMART CPUs and uses Ethernet as the primary connection. The two projects are not interchangeable.

Are forces cleared by a power cycle of the S7-200?

No. The S7-200 stores forces in non-volatile memory; they survive power loss and CPU restarts. They are only cleared by an explicit Unforce, an Unforce All, or a factory reset performed through the System Block download.

Can I edit a subroutine online in RUN mode?

Yes, as long as the cumulative size of pending edits fits in the CPU's edit-assembly buffer. If your edits exceed the buffer, Micro/WIN prompts you to STOP the CPU and perform a full download. Plan major rewrites for a planned downtime window.

Back to blog