Configuring S7-1200 Web Server with STEP 7 Basic V11

David Krause12 min read
S7-1200SiemensTutorial / 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-1200 CPU family integrates a built-in Web server that exposes diagnostic buffers, tag values, and user-defined HTML pages over HTTP. The feature is configured entirely through the TIA Portal engineering framework; it does not require WinCC Professional, and it does not require STEP 7 Professional on the engineering station for S7-1200 targets. Engineers migrating from STEP 7 Basic V10.5 to V11 (the first TIA Portal release that introduced project-side Web page handling for S7-1200) commonly ask whether they must upgrade their tooling license to enable the S7-1200 Web server. The short answer is that STEP 7 Basic V11 is sufficient. The longer answer, which follows, covers the firmware, licensing, functional scope, AWP command set, and limits of the Web server that the V11 generation ships with.

The S7-1200 Web server is intended as a lightweight diagnostic and operator visualization surface, not as a replacement for a WinCC SCADA runtime. It is suited for remote tag inspection, password-protected maintenance access, and embedding process graphics into thin-client or mobile browsers where the full WinCC Basic HMI stack would be over-specified.

STEP 7 Basic vs STEP 7 Professional V11: What Changes for the Web Server

STEP 7 Basic V11 and STEP 7 Professional V11 differ primarily in the PLC families they can target and in the optional editors they expose, not in the Web server configuration tasks they can perform against an S7-1200. The Web server project node, the user-defined HTML fragment editor, and the Web server activation checkbox are present in both editions when an S7-1200 CPU is selected as the target.

The official distinction between the two V11 editions is summarized in the table below for S7-1200 Web server use cases:

Capability for S7-1200 Web server STEP 7 Basic V11 STEP 7 Professional V11
Add S7-1200 device Yes Yes
Activate CPU Web server Yes Yes
Edit user-defined HTML pages Yes Yes
AWP command set (:= , =:, AWP_*, :SET:, :NOTHING:) Yes Yes
Configure HTTPS / certificates Yes (limited in V11, expanded in later TIA versions) Yes
Manage user / password list Yes Yes
Target other PLC families (S7-300/400, S7-1500) No Yes

If your project is exclusively S7-1200, the V11 license tier you choose has no functional impact on what the Web server can expose at runtime.

Prerequisites: CPU Firmware 2.0 Requirement

The S7-1200 Web server is not available on every firmware revision. It was introduced with CPU firmware version 2.0 and is present on all subsequent firmware releases. CPUs shipped from the factory with firmware 1.x cannot expose the Web server pages even if the engineering project has the feature enabled; the CPU silently rejects the configuration or downgrades the Web server to disabled.

Critical: Before commissioning any V11 Web server project, read the CPU's online Online & Diagnostics > Module Information > Firmware page. If the reported firmware is 1.x, perform a firmware update via SIMATIC Automation Tool, TIA Portal "Online & Diagnostics > Firmware Update", or an SD card with the latest .upd file from the Siemens support download portal before continuing.

The minimum firmware versions for common S7-1200 CPU models to support the Web server are:

CPU model Minimum firmware for Web server Recommended minimum for V11 project stability
CPU 1211C / 1212C / 1214C 2.0 3.0 or later
CPU 1215C 2.0 3.0 or later
CPU 1217C 2.0 3.0 or later
CPU 1212C DC/DC/DC (compact starter) 2.0 3.0

Firmware images are catalog-number specific. The correct .upd file must match the exact MLFB of the CPU installed in the slot, or the CPU will reject the update with diagnostic buffer entry 0xE0F1 "Firmware update file invalid".

Web Server Licensing Model

The Web server feature on the S7-1200 is licensed on the engineering station, not on the CPU. The CPU firmware contains the Web server runtime unconditionally; no runtime license key is required on the PLC to activate it. The engineering station requires a valid TIA Portal license that permits targeting the S7-1200.

STEP 7 V11 is distributed as both Basic and Professional variants. Both ship with the S7-1200 Web server configuration GUI; the difference is the set of CPU families each license authorizes you to attach to a project. Refer to the official Siemens TIA Portal licensing documentation for the authoritative current licensing matrix:

Practical implications:

  1. Buying STEP 7 Basic V11 is enough for an S7-1200-only Web server project.
  2. Buying SIMATIC WinCC Basic V11 (a separate license that also enables STEP 7 Basic programming for the S7-1200) is enough for the same scope and additionally allows building KTP Basic Panel images.
  3. Buying STEP 7 Professional V11 is unnecessary unless the project also needs S7-300 / S7-400 / S7-1500 targets.

The license key is delivered on a USB dongle or as a software license download, depending on the order. The TIA Portal License Manager handles activation and transfer between stations.

Enabling the Web Server in STEP 7 Basic V11

Once the project is open in TIA Portal V11 with an S7-1200 device inserted, perform the following configuration sequence:

  1. Select the S7-1200 CPU in the project tree.
  2. Open Properties > Web server.
  3. Check "Activate web server on this module".
  4. (Optional) Configure a non-standard port if port 80 conflicts with another service.
  5. (Optional) Enable HTTPS and select a CPU-generated self-signed certificate, or import a customer certificate.
  6. (Optional) Configure the user list: at minimum one user with read access; add a second user with write access if remote setpoint changes are needed.
  7. Under Web server > User-defined pages, add HTML files from your project's HTML source directory. V11 introduces a project-side HTML editor; files added here are downloaded to the CPU on every project download.
  8. Compile the project (Compile > Software (rebuild all)) and download to the CPU.
Field note: The CPU retains user-defined HTML pages across power cycles, but a factory reset or a firmware update with the "Reset to factory defaults" option clears them. Always archive the project before a firmware update.

Web Server Functions and Limitations

The S7-1200 Web server exposes two families of pages:

  1. Standard pages - generated by the CPU firmware:
    • Intro (start page, links to other pages)
    • Module Information (order number, firmware, serial, slot configuration)
    • Diagnostic Buffer (chronological event log)
    • Communication (connection statistics)
    • Variable Status (read-only tag inspector with manual update)
    • Variable Tables (custom watch tables marked as "accessible from Web server")
    • User-defined pages
  2. User-defined pages - HTML authored in TIA Portal and downloaded to the CPU. Pages can embed AWP commands to read and write tags.

The Web server has hard limits that must be respected when designing a visualization. From the original V11 functional spec:

Resource Approximate limit Notes
User-defined HTML files ~30 files (load memory dependent) Total HTML size plus AWP expansion must fit in the CPU's Web server load memory partition
PLC tags exposed via AWP Limited by DB size and Web server buffer Large tag lists degrade page render time
HTTPS performance ~5-10 concurrent clients typical HTTPS handshake is CPU-intensive on the S7-1200 ARM core
HTTP connections ~5-8 concurrent clients typical HTTP keep-alive is recommended
Scripting / scripting language None - static HTML + AWP only JavaScript in user pages is permitted but does not access PLC tags except via AWP tags

The Web server is explicitly not a SCADA. It does not provide:

  • Trend curves / historical archives
  • Centralized user alarms with acknowledgement workflows
  • Recipes
  • Multi-user role-based access beyond read / write
  • Redundancy
  • Automatic failover of Web clients

For those features, a WinCC Basic / Comfort / Professional HMI panel or a WinCC Runtime Professional SCADA is required.

AWP Command Reference

AWP (Automation Web Programming) is the markup syntax embedded in user-defined HTML that the CPU rewrites on download to bind tag names to live values. The full set documented for S7-1200 in TIA Portal V11 includes:

Syntax Purpose Example
:=<TagName> Output the current value of the tag (read, displayed in HTML) :="Motor1_Speed"
=:<TagName>: Input field marker; submits the value to the PLC on HTTP POST ="Motor1_Speed":
:SET: Forces a write of submitted input values to the PLC Inserted as a hidden form action URL fragment
:NOTHING: Suppresses the default AWP-generated submit block (used with custom JavaScript) =:"MyTag": :NOTHING:
<!-- AWP_In_Variable_Name ... --> Declares that a tag can be written via this page <!-- AWP_In_Variable_Name ='"Setpoint_RPM"' -->
<!-- AWP_Enum_Def ... --> Maps an integer tag value to a string for human display <!-- AWP_Enum_Def Name='MotorState' Values='0:"Off",1:"Run",2:"Fault"' -->
<!-- AWP_Use_Fragment ... --> Reusable HTML fragment inclusion <!-- AWP_Use_Fragment Name='header.html' -->

A minimal user-defined page that exposes a tag for reading and writing would look like this:

<html>
  <head><title>Motor Status</title></head>
  <body>
    <h1>Motor 1</h1>
    <!-- AWP_In_Variable_Name ='"Motor1_Speed"' -->
    <p>Current speed: <!-- AWP_Out_Variable Name='"Motor1_Speed"' --></p>
    <form method="POST">
      Set speed (RPM): <input name='"Motor1_Speed"' size="5">
      <input type="submit" value="Apply">
      <input type="hidden" name='"Motor1_Speed"' :SET:>
    </form>
  </body>
</html>

After download, the CPU rewrites the file, replacing the AWP markers with the actual tag access code. Browsers see only standard HTML; they never see the AWP syntax.

Accessing the Web Server

From any client on the same subnet, browse to:

http://<CPU-IP-Address>/

or, for a specific user-defined page:

http://<CPU-IP-Address>/index.html

If you enabled HTTPS, use https://<CPU-IP-Address>/ and accept the self-signed certificate warning on first access. Modern browsers will require explicit acknowledgement of the certificate risk.

Default port is 80 (HTTP) and 443 (HTTPS). If you configured alternate ports, append :<port>.

Security Configuration

The S7-1200 Web server is an operator surface and must be treated as one. Recommended baseline:

  1. Always enable at least one user with a strong password. The default "No password" behavior must not be left enabled in production.
  2. Enable HTTPS if the Web server is reachable from any network segment other than a locked-out engineering VLAN.
  3. Place the S7-1200 behind a managed switch with port-based ACLs that restrict TCP 80/443 (or your custom port) to authorized clients.
  4. If a write-capable user is enabled, ensure the application code validates any value submitted via the Web server. The CPU will write any value of the declared tag type (BOOL, INT, REAL, STRING, etc.); there is no field-level validation by the Web server runtime.
  5. Use a separate CPU user account for the Web server versus for the TIA Portal engineering connection. Disabling the Web server user does not block the TIA Portal online connection.

Comparison: Web Server vs WinCC Runtime

Feature S7-1200 Web server (V11) WinCC Basic / Comfort on HMI panel WinCC Runtime Professional (SCADA)
Tag read / write Yes (AWP) Yes Yes
Trends / curves No Yes (limited history) Yes
Alarms with acknowledgement No (display only) Yes Yes
Recipes No Yes Yes
Concurrent clients 5-8 typical Single panel display Many (server-based)
Mobile / browser access Yes (any browser) No (panel-locked) or limited with Sm@rtServer Yes via WinCC WebNavigator / ODK
Engineering tool required STEP 7 Basic or Professional V11 WinCC Basic / Comfort TIA WinCC Professional TIA

For small machines where the operator needs to see a handful of values and acknowledge a few digital inputs from a phone or shop-floor tablet, the Web server is the lower-cost path. For anything that requires trend history or alarm workflows, plan for WinCC.

Verification and Commissioning Checklist

Before declaring the Web server project live, run through the following verification steps:

  1. Firmware check: CPU reports firmware 2.0 or higher in TIA Portal "Online & Diagnostics > Module Information".
  2. Configuration loaded: Project compiled without errors and downloaded to the CPU; the download log shows the user-defined HTML files being transferred.
  3. Web server active: From a PC on the same subnet, browse to the CPU's IP. The intro page loads within 2 seconds.
  4. User authentication: If a user is configured, the browser prompts for credentials and accepts the configured username/password.
  5. Tag read: A user-defined page displays the live value of at least one tag and updates after a forced value change in the PLC.
  6. Tag write: A write-enabled user submits a value via a form; the value changes in the PLC and is observable in a watch table.
  7. Diagnostic buffer: The Web server diagnostic buffer page lists recent events; no Web-server errors are present.
  8. Concurrent load: Three browsers connected simultaneously still load pages within 3 seconds.
  9. Power-cycle retention: After CPU power off / power on, the user-defined pages still load without re-downloading the project.

Troubleshooting Matrix

Symptom Likely cause Corrective action
Browser shows connection refused on port 80 Web server not activated in project Open CPU Properties > Web server and check "Activate"; recompile and redownload
Browser returns 404 for all pages CPU firmware 1.x Update CPU to firmware 2.0 or later
Page loads but tag shows literal text :="Motor1_Speed" AWP syntax error or page not downloaded Recompile project; verify file appears in CPU file browser via Web server
Login prompt loops endlessly User configured with "No password" and Web server requires login Add password to the user in CPU Properties > Web server > Users
HTTPS connection fails with certificate error after upgrade CPU certificate regenerated Re-export certificate or switch back to HTTP for trusted networks
Form submit returns but PLC value unchanged Tag not declared as AWP_In_Variable_Name, or HTML uses GET instead of POST Add <!-- AWP_In_Variable_Name ='"Tag"' --> and use method="POST"
Page renders slowly with many tags Too many AWP tags per page Split into multiple pages; reduce tag count per page to under 50

FAQ

Do I need STEP 7 Professional V11 to use the S7-1200 as a Web server?

No. STEP 7 Basic V11 is sufficient for any S7-1200 Web server project. STEP 7 Professional is only required if the project must also target S7-300, S7-400, or S7-1500 CPUs.

Can SIMATIC WinCC Basic V11 be used instead of STEP 7?

Yes. WinCC Basic V11 includes the STEP 7 Basic programming capability for the S7-1200 and also enables building KTP Basic Panel images. For an S7-1200-only Web server project without any HMI panel, plain STEP 7 Basic V11 is the minimum purchase.

What is the minimum CPU firmware version for the Web server?

CPU firmware 2.0. CPUs shipped from the factory with firmware 1.x must be updated to 2.0 or later before the Web server can be activated. Use TIA Portal's "Online & Diagnostics > Firmware Update" with the catalog-number-specific .upd file.

Is the S7-1200 Web server a replacement for a WinCC SCADA?

No. The Web server supports read / write of tags through user-defined HTML pages and exposes standard diagnostic pages, but it does not provide trend curves, user alarms with acknowledgement, recipes, or multi-user role management. For those features, plan for a WinCC HMI panel or WinCC Runtime Professional.

How many concurrent Web clients can the S7-1200 handle?

Approximately 5-8 concurrent HTTP clients or 5-10 concurrent HTTPS clients, depending on page complexity and CPU load. The CPU terminates additional connections rather than queuing them, so size your operator surface accordingly or place a reverse proxy in front of the CPU.

Back to blog