Importing Siemens S7-1200 Tags into Wonderware InTouch

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

Bringing a Siemens SIMATIC S7-1200 controller online with AVEVA Wonderware InTouch requires three coordinated components: a tag source on the PLC, a runtime I/O service (an OPC UA server, an OPC DA bridge, or a native SuiteLink driver), and a populated InTouch Tagname Dictionary. A raw CSV export from TIA Portal will not load into InTouch directly; InTouch tags are owned by the application and must be created with valid Access Names, Item references, and types. The most reliable path in 2024-2026 deployments is OPC UA from the S7-1200 to an OPC client such as AVEVA DAServer for Siemens TCP/IP, KEPware Siemens Plus, or the Matrikon Siemens OPC Server, terminated by InTouch through a SuiteLink topic.

This reference walks through the full commissioning path: defining an HMI-facing Data Block on the S7-1200, activating the integrated OPC UA server on firmware V4.4 and higher, configuring the OPC/IO bridge, and finally creating or importing tags in the InTouch Tagname Dictionary.

Architecture and Connectivity Options

Three viable connection paths exist between an S7-1200 and InTouch. The selection depends on firmware version, license budget, and IT/OT network policy.

Path PLC side SCADA side Tag transfer mechanism Notes
OPC UA (recommended) OPC UA server embedded in S7-1200 firmware ≥ V4.4 OPC UA client in DAServer or KEPware, surfaced as SuiteLink topic Browse OPC UA address space or import CSV of node IDs No additional S7-1200 hardware required; certificate-based security available
S7 TCP/IP native driver S7-1200 built-in PROFINET interface, no extra config AVEVA DAServer for Siemens TCP/IP or KEPware Siemens Plus Manual address entry or DB browse Lowest latency, no security, no firmware minimum
Modbus TCP S7-1200 with MB_SERVER instruction block (no server before V4.0) DAServer Modbus TCP or InTouch Modbus I/O driver Register map (4x holding registers) Use only when retrofitting legacy Modbus tooling
S7-1200 firmware V4.4 introduced the OPC UA server with the SIMATIC standard symbol set. Earlier firmware (V4.0-V4.3) supports OPC UA client only and cannot expose tags to a SCADA client. Confirm the firmware in TIA Portal under Online > Diagnostics > CPU Information before selecting the OPC UA path.

Prerequisites

  • TIA Portal V16 or later (V17/V18/V19 recommended) for OPC UA server configuration and project symbol export.
  • SIMATIC S7-1200 CPU with firmware V4.4 or higher. Supported CPUs include 6ES7211-1AE40-0XB0 (CPU 1211C), 6ES7212-1AE40-0XB0 (CPU 1212C), 6ES7214-1AG40-0XB0 (CPU 1214C), 6ES7215-1AG40-0XB0 (CPU 1215C), and 6ES7217-1AG40-0XB0 (CPU 1217C). Verify against the SIMATIC S7-1200 Programmable Controller System Manual.
  • AVEVA InTouch 2020 R2 / 2023 or Schneider Electric InTouch 2017 with the latest cumulative patch installed. See the AVEVA InTouch Tagname Dictionary documentation.
  • IO / OPC Server: either AVEVA DAServer for Siemens TCP/IP (catalog DAS-SVR-SIEMENS), KEPware Siemens Plus, or Matrikon OPC Server for Siemens.
  • Ethernet connectivity between the engineering station and the S7-1200 PROFINET port on the same subnet (e.g. 192.168.0.x/24).
  • Administrator rights on the engineering PC for installing SuiteLink and OPC Core Components.

Step 1: Build an HMI-Facing Data Block on the S7-1200

Create a single global Data Block dedicated to the SCADA interface. Keeping all exchanged variables in one DB simplifies browsing, exports, and version tracking.

  1. In TIA Portal, expand Program Blocks, double-click Add new block, choose Data block, name it DB_HMI (e.g. number 100), and uncheck Optimized block access only if your IO server requires absolute addressing. With OPC UA, optimized block access is permitted.
  2. Declare the structure. Use consistent naming with prefixes that map to engineering discipline: HMI_TankLevel, HMI_MotorCmd, HMI_AlarmWord.
  3. For each variable, set Accessible from HMI/OPC UA = true (visible in the Properties > Attributes tab).
  4. Compile the project (Project > Compile > Software (rebuild all)). Resolve all warnings before download.

Recommended Data Block conventions:

Name Type Initial value Comment
HMI_TankLevel_PV REAL 0.0 Process value, % fill
HMI_TankLevel_SP REAL 50.0 Setpoint, %
HMI_Pump1_Cmd BOOL FALSE Start/Stop command
HMI_Pump1_Status BOOL FALSE Running feedback
HMI_Alarm_Word DWORD 16#0 Bit-packed alarms
HMI_Heartbeat INT 0 1 s toggle for comms watchdog

Step 2: Enable and Configure the OPC UA Server on the S7-1200

  1. In the TIA project tree, select the S7-1200 CPU and open Properties > OPC UA > Server.
  2. Check Activate OPC UA Server.
  3. Confirm the port: default 4840. Change only if the OT firewall mandates a non-standard port.
  4. Set the Endpoint security policy: None for lab, Basic128Rsa15 or Basic256Sha256 for production.
  5. Under Server certificates, accept either Anonymous or Username/Password authentication. For production, use Certificate-based client authentication.
  6. Under Security > Server interface > Address space, verify that SIMATIC standard symbol set is enabled. This is the namespace that exposes DB tags.
  7. Apply the project to the PLC (Project > Download to device > All). Confirm the PLC restarts; OPC UA configuration changes require a STOP-to-RUN transition.

After restart, validate the server with a generic client such as UaExpert from the OPC Foundation. Browse the address space for ns=4;s=|var|STANDARD::DB_HMI.HMI_TankLevel_PV. If the node resolves with a current value, the server is correctly configured.

The S7-1200 OPC UA server license is included with the CPU firmware; no separate license key is required for the basic server. The number of OPC UA sessions is limited to 4 concurrent clients on most S7-1200 CPUs - size your SCADA redundancy accordingly.

Step 3: Configure the OPC Server / IO Server

The following procedure uses AVEVA DAServer for Siemens TCP/IP (DAS-SVR-SIEMENS). The KEPware workflow is functionally identical at the Access Name boundary.

  1. Launch DAServer Manager from the Wonderware program group.
  2. Select Configuration > DAServer for Siemens TCP/IP.
  3. Create a new Channel: name it S71200_PLANT1, device driver Siemens TCP/IP, link type TCP/IP.
  4. Under Devices, add a device with the S7-1200 IP (e.g. 192.168.0.10), Rack 0, Slot 1.
  5. Save and right-click DAServer > Activate Server. Status should report Running.
  6. Click DAServer > OPC DA Browser or use the ArchestrA IDE Quick Browser to confirm that DB100.HMI_TankLevel_PV (or the OPC UA node ID path) is visible.

Note the SuiteLink Topic Name defined in the DAServer channel (default TOPIC_S71200). This topic is what InTouch Access Names will reference.

Step 4: Build the InTouch Access Name

  1. Open InTouch WindowMaker with the target application loaded.
  2. From the menu bar select Special > Access Names.
  3. Click Add and configure:
Field Value
Access Name PLC_S71200
Node Name Localhost (when DAServer runs on the same machine) or remote DAServer hostname
Application Name DAServer
Topic Name TOPIC_S71200
Protocol SuiteLink
Use Advise Checked (recommended for > 200 tags)

Click Save. Confirm in the DAServer Status dialog that the InTouch node appears as a connected client.

Step 5: Populate the InTouch Tagname Dictionary

Tags must be created in the InTouch Tagname Dictionary before they can be referenced in animations, scripts, or I/O fields. Use the Tagname Dictionary workflow documented by AVEVA.

  1. In WindowMaker select Special > Tagname Dictionary.
  2. Click New and add an entry per S7-1200 tag. Example row:
Tag Type Access Item
TankLevel_PV Float (32-bit IEEE) PLC_S71200 DB100,HMI_TankLevel_PV
TankLevel_SP Float (32-bit IEEE) PLC_S71200 DB100,HMI_TankLevel_SP
Pump1_Cmd Discrete PLC_S71200 DB100,HMI_Pump1_Cmd
Pump1_Status Discrete PLC_S71200 DB100,HMI_Pump1_Status
AlarmWord Integer (32-bit) PLC_S71200 DB100,HMI_Alarm_Word

The Item field format depends on the IO server driver. For DAServer for Siemens TCP/IP, the syntax is DB<number>,<symbolname>. For KEPware Siemens Plus the syntax is typically <symbolname> or DB<n>,<offset>,<type>.

Step 6: Bulk Import via the Tag Import / Export Utility

For projects with hundreds of tags, manual entry is impractical. AVEVA provides the TagImport CLI utility, and InTouch 2020+ exposes a CSV import in the Tagname Dictionary Import dialog. The expected CSV schema is:

Tagname,Type,AccessName,Item,Comment,EngUnits,Min,Max
TankLevel_PV,Real,PLC_S71200,DB100,HMI_TankLevel_PV,"Tank level %",0,100
Pump1_Cmd,Boolean,PLC_S71200,DB100,HMI_Pump1_Cmd,"Pump 1 start",0,1
AlarmWord,Integer,PLC_S71200,DB100,HMI_Alarm_Word,"Bit-packed alarms",0,4294967295
  1. Generate the CSV from the TIA Portal Symbol table: Project > Export > Symbol table (CSV UTF-8).
  2. Open in a spreadsheet and map TIA columns (Name, Data type, Address) to the InTouch schema. The mapping table below covers the common conversions.
  3. Save as intouch_tags.csv and import through WindowMaker Special > Tagname Dictionary > Import.
TIA Portal Data Type InTouch Type Item example
BOOL Discrete (Boolean) DB100,HMI_Pump1_Cmd
INT Integer DB100,HMI_Counter
DINT Integer (32-bit) DB100,HMI_LongVal
REAL Real (Float) DB100,HMI_TankLevel_PV
STRING Message DB100,HMI_OperatorMsg
WORD Integer (16-bit) DB100,HMI_StatusWord
DWORD Integer (32-bit) DB100,HMI_AlarmWord
Avoid using TIA Portal optimized Data Blocks (attribute "Optimized block access") with the legacy S7 TCP/IP driver path. The symbol-based OPC UA path tolerates optimized blocks; the legacy S7 fetch path requires absolute offsets.

Step 7: Verification

  1. Confirm the DAServer status is Running with the InTouch node listed.
  2. In WindowMaker open View > Tag Viewer. Filter for the imported tags; the Quality column must show Good.
  3. From WindowViewer, right-click an animated object bound to TankLevel_PV and select Force Value. The PLC value should respond within one OPC polling cycle (typically 250 ms with SuiteLink).
  4. In TIA Portal, run Monitor & Modify on DB100.HMI_TankLevel_PV. Change the value and confirm it updates in the InTouch Tag Viewer.
  5. Validate alarms by forcing HMI_Alarm_Word bits via TIA Portal; InTouch alarm subforms should populate.

Troubleshooting Matrix

Symptom Likely cause Corrective action
All tags show Quality = Bad - Configuration Error Access Name Node Name or Topic Name mismatch Verify Access Name Node Name resolves to the DAServer host and Topic Name matches the DAServer channel topic
OPC UA browser returns no nodes OPC UA server not active or certificate trust not established Confirm firmware V4.4+, port 4840 reachable, OPC UA server activated, certificate trusted in the client trust list
Tag shows Bad - Out of Service DAServer runtime stopped Open DAServer Manager, activate the runtime, set startup to Automatic in the SMC
Discrete tags read as 0 / 1, but Real tags show 0.0 Type mismatch between InTouch and PLC; REAL values stored as 32-bit but accessed as 16-bit Set InTouch tag type to Real (not Integer), verify Item path uses the symbolic name not a DB offset
Imported CSV produces 0 tags Missing header row or wrong column separator Ensure header row present, comma-separated, fields with commas quoted, file saved as UTF-8
InTouch loses connection after PLC restart OPC UA session not re-establishing automatically Enable OPC UA reconnection in DAServer, increase the OPC keep-alive time, configure Suitelink redundancy if needed
Tag values oscillate between two stale values PLC Accessible from HMI/OPC UA attribute disabled Open DB properties > Attributes > ensure Accessible from HMI/OPC UA = true

Performance and Capacity Notes

  • The S7-1200 OPC UA server typically supports 1,000 published tags and 4 concurrent sessions. For larger tag counts, segment by CPU or move to an S7-1500.
  • SuiteLink throughput comfortably supports 10,000 tags per topic at 1 second update rate; DDE/SuiteLink polling default is 1,000 ms but is configurable down to 100 ms for critical loops.
  • Set Use Advise = true on the InTouch Access Name whenever the tag count exceeds 200; advised subscriptions minimize network chatter versus polled reads.
  • For deterministic I/O, prefer the S7 TCP/IP native driver over OPC UA; OPC UA adds serialization overhead that is irrelevant for HMI but matters for high-speed polling.

Security and Hardening

  • Replace Anonymous OPC UA authentication with certificate-based client auth in production.
  • Deploy the OPC UA endpoint on a dedicated OT VLAN; do not expose port 4840 outside the cell.
  • On the S7-1200, set the access level of DB_HMI to Full for the OPC UA read/write user; restrict other DBs to Read via the Protection > Access Level properties.
  • Lock the InTouch application with user authentication so that operators cannot modify tag values that bypass PLC write-protection.

FAQ

What firmware version does the S7-1200 require for OPC UA server?

Firmware V4.4 or later. V4.4 introduced the integrated OPC UA server in the SIMATIC standard symbol set. Earlier firmware versions support OPC UA client only and cannot expose tags to a SCADA client. Confirm with TIA Portal under Online > CPU Information.

Can I import a TIA Portal symbol-table CSV directly into InTouch?

No. InTouch requires its own CSV schema with Tagname, Type, AccessName, and Item columns. The TIA export must be transformed: map TIA Data Type (BOOL, INT, REAL, etc.) to InTouch types and build the Item string from the DB number and symbolic name.

Which InTouch Item syntax should I use for a DAServer for Siemens TCP/IP tag?

Use the symbolic format DB<number>,<SymbolName> such as DB100,HMI_TankLevel_PV. This requires the Data Block to be non-optimized or the OPC UA symbol path to be exposed. Optimize the DB symbol set in TIA Portal under Properties > OPC UA > Symbol set.

Why are all InTouch tags showing Bad quality after I enable OPC UA?

Most often the Access Name Node Name or Topic Name does not match the running DAServer. Verify in Access Names that Node Name resolves to the DAServer host and the Topic Name matches the configured DAServer channel. Confirm the DAServer runtime is in the Running state from the System Management Console.

How many tags can the S7-1200 OPC UA server expose to InTouch?

Approximately 1,000 published tags with up to 4 concurrent client sessions on a typical S7-1214C or S7-1215C. For larger applications segment the tag set across multiple S7-1200 CPUs or upgrade to an S7-1500 which exposes a larger address space and higher session count.

Back to blog