1. Overview of STEP 7-Micro/WIN and the S7-200 Family
STEP 7-Micro/WIN is the dedicated Siemens engineering tool for the SIMATIC S7-200 micro-PLC family. It supports all three IEC 61131-3 graphical and textual editors used on the S7-200: Ladder Logic (LAD), Function Block Diagram (FBD), and Statement List (STL). The final released version of the classic Micro/WIN is V4.0 Service Pack 9, which Siemens published to support Windows 7/8/10 deployment for legacy S7-200 CPUs that remain in service worldwide.
The S7-200 line is a small modular controller aimed at standalone machine automation. CPUs range from the compact CPU 221 (6 inputs / 4 outputs, no expansion) to the CPU 226 (24 inputs / 16 outputs with up to seven expansion modules). All CPUs share a common instruction set, the same memory model, and the same PPI/MPI/Modbus/PROFIBUS-DP slave communication stack, which is why a single Micro/WIN installation handles every variant.
Reference the official Siemens support entry for the latest Micro/WIN service pack at Siemens SIOS: STEP7-Micro/WIN V4.0 SP8 and SP9.
2. Prerequisites and System Requirements
Before installing Micro/WIN, verify the engineering workstation meets the published requirements for V4.0 SP9:
| Item | Requirement |
|---|---|
| Operating system | Windows XP SP3, Windows 7 SP1, Windows 8 / 8.1, Windows 10 (32-bit and 64-bit with V4.0 SP9) |
| CPU | Pentium 1 GHz or higher |
| RAM | 512 MB minimum, 1 GB recommended |
| Free disk | ~700 MB for the install plus project libraries |
| Display | 1024 × 768 minimum, 1280 × 1024 recommended for STL |
| PC interface | RS-232 serial port or USB-to-RS-232 adapter for PPI/MPI; Ethernet for CP 243-1 |
| User rights | Administrator rights for installation and driver registration |
Hardware you will need on the shop floor or lab bench:
- One S7-200 CPU (CPU 222, 224, 224XP, or 226 recommended for a learning rig — they expose the full instruction set and have removable terminal blocks).
- A PC/PPI cable (Siemens 6ES7 901-3CB30-0XA0 for RS-232, or 6ES7 901-3DB30-0XA0 for USB). Modern USB variants require the Siemens PC-Adapter USB driver.
- A 24 VDC power supply sized for the CPU plus any I/O and expansion modules.
- If you will be integrating an HMI: a SIMATIC OP3 (text panel) or OP7/OP17, plus the matching ProTool/Pro version (ProTool V6.0 SP2 or ProTool/Pro CS6) installed on the same engineering PC.
3. Installing STEP 7-Micro/WIN V4.0 SP9
- Close all Siemens applications, including WinCC flexible and older ProTool versions, to avoid COM/DCOM conflicts.
- Right-click the installer and choose Run as administrator. The V4.0 SP9 MSI is dual-platform; on 64-bit Windows it installs to
C:\Program Files (x86)\Siemens\STEP 7-MicroWIN V4.0. - When prompted, select English documentation and install the PPI Multi-Master Cable drivers (USB or RS-232). If you skip this step, the PC/PPI cable will not enumerate.
- Restart Windows. The installer registers the
S7MicroWservice and adds Micro/WIN to the Siemens Automation License Manager. - Activate the license. V4.0 SP9 ships with a floating license on the Automation License Manager; a 14-day trial is automatically granted if no license is detected.
- Launch Micro/WIN. The first run creates the default workspace at
%USERPROFILE%\Application Data\Siemens\STEP7-MicroWIN V4.0\Projects.
4. S7-200 CPU Family Reference
Micro/WIN supports the full S7-200 family. Use the table below to select a CPU for a development rig and to map digital I/O addresses in your first program.
| CPU | MLFB | Digital In | Digital Out | Analog In | Analog Out | Max expansion | Communication |
|---|---|---|---|---|---|---|---|
| CPU 221 | 6ES7 211-0AA23-0XB0 | 6 | 4 | 0 | 0 | 0 | PPI/MPI/Modbus RTU slave |
| CPU 222 | 6ES7 212-1AB23-0XB0 | 8 | 6 | 0 | 0 | 2 modules | PPI/MPI/Modbus RTU slave |
| CPU 224 | 6ES7 214-1AD23-0XB0 | 14 | 10 | 0 | 0 | 7 modules | PPI/MPI/Modbus RTU slave |
| CPU 224XP | 6ES7 214-2AD23-0XB0 | 14 | 10 | 2 | 1 | 7 modules | PPI/MPI/Modbus RTU slave, plus 2 × 100 kHz HSC |
| CPU 226 | 6ES7 216-2AD23-0XB0 | 24 | 16 | 0 | 0 | 7 modules | 2 × RS-485 ports, PPI/MPI/Modbus/PROFIBUS-DP slave |
The last two digits of the MLFB (post 2003) identify firmware level 23. Verify your CPU's firmware by selecting PLC > Type > Read CPU Type in Micro/WIN; mixing firmware levels in a multi-master PPI network is a common cause of bus faults.
5. Creating Your First Project
- Launch Micro/WIN. From the File menu choose New and accept the default project name
Project1.mwp. - Open the Project Tree (View > Component > Project Tree). The tree shows the CPU type, program blocks (OB1, SBR_0, INT_0), data blocks, status chart, cross-reference, and symbol table.
- Set the CPU type to match your hardware: PLC > Type > CPU 224. The instruction set in the toolbar updates automatically.
- Open Symbol Table and define your first tags:
I0.0 START_PB BOOL I Start pushbutton (NO)
I0.1 STOP_PB BOOL I Stop pushbutton (NC)
Q0.0 MOTOR BOOL Q Motor contactor
Q0.1 RUN_LAMP BOOL Q Run indicator - Save the project. Micro/WIN files are stored in the binary
.mwpformat; the File > Export menu generates editable.awlSTL dumps for version control.
6. PG/PC Interface and Communication Setup
Before you can download, the PC interface must match the physical cable and the CPU baud rate.
- Open Set PG/PC Interface from the Communications toolbar or the Windows Control Panel.
- Under Access Point of the Application, select Micro/WIN > PC/PPI cable (PPI).
- Click Properties:
- For RS-232 PC/PPI cable: leave PPI master mode enabled, network address 0, transmission rate 9.6 kbit/s (default for new CPUs).
- For USB PC/PPI cable: keep auto-detect; in V4.0 SP9 the driver exposes a virtual COM port — set COM number to match Device Manager.
- Click Communications > Search for Baud Rates. Micro/WIN scans 9.6 k / 19.2 k / 187.5 k. When the CPU replies, the status bar displays its address (default 2) and network statistics.
- If scanning returns Cannot reach CPU, physically verify A/B polarity on the RS-485 connector, then re-check the cable driver in Device Manager.
For Ethernet-connected S7-200 networks add a CP 243-1 (6GK7 243-1EX01-0XE0) and configure its IP via the Ethernet Wizard. The wizard generates configuration blocks (ETH0_CTRL, ETH0_XFR) that you call from the main OB1.
7. Programming Languages: LAD, FBD, STL
Micro/WIN lets you switch the active editor for OB1 at any time. The choice is purely presentation — the compiled instruction set is identical.
| Editor | Best use case | Strengths | Limitations |
|---|---|---|---|
| LAD (Ladder) | Discrete logic, motor starters, interlocks | Symbolic, electrician-friendly, mirrors relay diagrams | Long networks become wide; some math needs explicit EN/ENO handling |
| FBD (Function Block) | Analog scaling, PID, complex interlocks | Compact math, clear data flow | Harder to debug online |
| STL (Statement List) | Indexed loops, indirect addressing, performance | Full power, conditional jumps, indirect V-memory access | Textual; requires understanding of accumulators |
To change the active view: View > STL or click the editor dropdown in the toolbar. Switching from LAD to STL and back is non-destructive; Micro/WIN preserves comments and network structure.
8. Memory Model and Address Syntax
The S7-200 uses a flat, byte-addressed memory model. All areas except timers, counters, and high-speed counters are byte-granular. The following table summarizes each area and its access qualifiers.
| Area | Prefix | Size | Read/Write | Retentive on power loss | Typical use |
|---|---|---|---|---|---|
| Process image input | I | 0.0 – 15.7 (CPU-dependent) | R | No | Digital inputs, scanned at OB1 start |
| Process image output | Q | 0.0 – 15.7 | R/W | No | Digital outputs, written at OB1 end |
| Bit memory (flags) | M | 0.0 – 31.7 | R/W | Configurable (MB0 – MB13 default retentive on CPU 224/226) | Intermediate boolean results |
| Variable (data block) | V | 0.0 – 10239.7 (CPU 224) | R/W | Yes (entire V area) | All non-I/O data: recipes, scaling, strings |
| Timer | T | T0 – T255 | R (current), R/W (preset) | Preset only | TON, TOF, TONR timing |
| Counter | C | C0 – C255 | R (current), R/W (preset) | Yes (current and preset) | |
| Analog input | AIW | AIW0 – AIW62 (word-aligned) | R | No | 12-bit analog inputs (CPU 224XP, EM 235) |
| Analog output | AQW | AQW0 – AQW62 | R/W | No | Analog outputs |
| Special memory | SM | SM0.0 – SM549.7 | Mostly R; some R/W | First 30 bytes (SMB0 – SMB29) on CPU 224 | System status, first-scan bits, run/stop flags |
| High-speed counter | HC | HC0 – HC5 | R only | Yes | 32-bit count, read with HDEF/HSC instructions |
| Accumulators | AC | AC0 – AC3 | R/W | No | STL scratch registers, indirect addressing |
Bit access uses the format Area Byte.Bit (for example I0.0, V100.3). Word access is byte-granular and must be even-addressed for AIW/AQW and 32-bit operands: VW100 is valid, VW101 overlaps and should be avoided.
VD100 places the low byte at VB100. Use View > Data Block to lay out multi-word structures (real, DWord, strings) and avoid overlapping addresses.9. Building a Sample Ladder Program
The program below is the classic motor start/stop with seal-in and run indication, expressed in LAD. Enter it in OB1 Network 1.
Network 1 — Motor seal-in
| START_PB STOP_PB MOTOR |
| |--|/|--+ MOTOR Q0.0 |
| +--( )----+ |
| |
+-- RUN_LAMP Q0.1 MOTOR ---|
| MOTOR +--( )----------|
Symbolic representation:
- Contact
--| |--onSTART_PB(I0.0) in series with contact--|/|--(normally closed) onSTOP_PB(I0.1). - Coil
--( )--onMOTOR(Q0.0) paralleled by a contact--| |--ofMOTORto provide the seal-in. - Coil
--( )--onRUN_LAMP(Q0.1) driven fromMOTOR.
To download: File > Download (or Ctrl-F9). Click Yes on the STOP-to-RUN prompt if you want the program to start on completion. Use the Status Chart to monitor I0.0, I0.1, and Q0.0 in real time by enabling Chart Status (Ctrl-F10).
For online troubleshooting use the Program Status toggle (Debug > Program Status). LAD networks show power flow as a colored highlight; STL views show the current value of the accumulator and the status word bits.
10. Integrating the OP3 Operator Panel with ProTool
The SIMATIC OP3 is a 2-line, 20-character text display that connects to the S7-200 RS-485 port as a Modbus master or as a PPI slave. Configuration uses ProTool (legacy) or ProTool/Pro CS6.
- Install ProTool/Pro CS6 from the SIMATIC HMI Tools DVD. Activate the license via the Automation License Manager.
- Launch ProTool, choose New Project, and select the OP3 as the target device.
- Define the PLC connection: PLC > Connection > PPI. Configure the OP3 station address (default 1), CPU station address (default 2), baud rate 9.6 kbit/s, and the RS-485 cable type.
- Map OP3 function keys (F1 – F4) and the four cursor keys to bits in the V area, for example:
- F1 → V100.0 (Start)
- F2 → V100.1 (Stop)
- SHIFT+F1 → V100.2 (Acknowledge fault)
- Create a screen with the tag display: Insert > Text Field > Motor Current = {VW200:4.1f} A. The placeholder
{VW200:4.1f}tells the OP3 to read word VW200 and format it as four characters with one decimal. - Compile and transfer the OP3 project: Target > Transfer > MPI/PPI. Power-cycle the OP3 with the service key held to enter transfer mode.
Alternative: configure the OP3 as a PPI slave and use the S7-200's NETR/NETW instructions to exchange data with it from OB1. This frees ProTool from polling and reduces bus latency on multi-panel networks.
11. Programming Tips and Common Pitfalls
-
First-scan flag: Use
SM0.1for one-shot initialization (presets, defaults) andSM0.0(always-ON) for any logic that must run every scan. SM0.5 is a 1 Hz clock useful for blinking run indicators. -
Indirect addressing: STL is required for indexed operations. Load the pointer into an accumulator first, e.g.
MOVD &VB200, AC1followed by+D AC1, AC1to offset by the index in VW300. Misalignment faults typically trace back to indirect addresses that cross byte boundaries. - Subroutine discipline: The S7-200 supports up to 64 subroutines (SBR_0 – SBR_63). Pass parameters via the local variable table (LAD) or via dedicated V-memory slots (STL). Avoid global overuse of M-bits beyond MB13 because non-retentive flags reset on power loss.
- Scan-time sanity: Watch the Scan Time readout in the Status Chart. A typical S7-200 ladder program should run in under 25 ms. If the scan creeps above 150 ms, look for un-homed pointer loops or oversized ASCII string processing.
-
Project backup: Use File > Export > STL Source to save an editable copy alongside the binary
.mwp. The.awlfile is the only version-control-friendly format.
12. Migrating to S7-200 SMART
For new machines and for retrofitting projects with limited spare-part risk, migrate the S7-200 to the S7-200 SMART. The migration preserves the instruction set, V-memory layout, and most user program logic.
- Open the S7-200 project in Micro/WIN V4.0 SP9 and run File > Export > STL Source to produce an
.awlfile. - Install STEP 7 Micro/WIN SMART (current version: V2.7 as of the latest service pack) on a Windows 10 64-bit PC. Micro/WIN SMART is free of charge for the standard edition.
- Open Micro/WIN SMART, select File > Import > STL, and choose the
.awlfile. The importer preserves the program structure, comments, and symbol table. - Re-bind the CPU type: PLC > Type > CPU SR20 / ST20 / SR30 / ST40 / SR60 / ST60. The SMART CPU does not have a CPU 224XP equivalent; use the SR60 or pair the SR40 with an EM AE04 (4 AI) for analog I/O.
- Adjust communication: S7-200 SMART integrates Ethernet (RJ45) and the CPU acts as PROFINET device. Existing PPI panels must be re-cabled to RS-485 ports 0/1 on the SMART CPU or replaced with SMART line panels (SMART 700 IE / SMART 1000 IE) using WinCC flexible SMART or TIA Portal.
- Recompile and download. The migration is rarely 100 % click-through — typical adjustments are HSC definitions, PID loops, and Modbus master/slave library calls, which use the updated USS/Modbus libraries that ship with Micro/WIN SMART.
13. Frequently Asked Questions
What is the latest version of STEP 7-Micro/WIN for the S7-200?
The final released version is STEP 7-Micro/WIN V4.0 Service Pack 9 (V4.0.9.25), which adds Windows 10 64-bit support. It is distributed through Siemens SIOS entry 58523240 and remains available for service work on legacy S7-200 hardware.
Can I program an S7-200 over Ethernet with Micro/WIN?
Yes, with a CP 243-1 Ethernet module installed to the left of the CPU. The module is configured through the Ethernet Wizard, which generates ETHx_CTRL and ETHx_XFR subroutines. Maximum usable data per call is 240 bytes, and a single CPU supports one CP 243-1.
How do I connect the OP3 to the S7-200?
Use a shielded RS-485 cable wired A-to-A, B-to-B between the OP3 and CPU port 0. Configure the OP3 station address (default 1) and baud rate (9.6 kbit/s) in ProTool, then transfer the project with the OP3 in service mode. The OP3 acts as a PPI master and exchanges bits/words with the V area on the CPU.
Why does my PC/PPI cable show "Interface not reachable" on Windows 10?
Most often the cable driver is unsigned or assigned to the wrong virtual COM port. Open Device Manager, confirm the cable's COM number, then in Micro/WIN open Set PG/PC Interface > Properties > Connection to Interface and select that COM. Using a Siemens 6GK1 571-0BA00-0AA0 PC Adapter USB with the WHQL driver eliminates the issue.
How do I migrate an S7-200 project to S7-200 SMART?
Export the S7-200 program to STL source (.awl) from Micro/WIN V4.0 SP9, import it in Micro/WIN SMART V2.7 or later, change the CPU type to the SMART equivalent, recompile, and adjust communication to the integrated Ethernet port. Plan 1 – 3 days of engineering time per machine for full validation.