Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Home
  • Knowledge base
  • Contact Us
  • Home
  • Connectors
  • Industrial Connectors
  • Siemens S7 Plus

Configure the Siemens S7 Plus Connector

Configure Siemens S7 Plus instances and symbolic items, discover PLC variables, use arrays and UDTs, and troubleshoot S7CommPlus communication.

Written by Mads Mikkelsen

Updated at September 10th, 2026

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Installation & Technical information
    Introduction SIA Connect Standalone SIA Connect Standalone Plus SIA Connect ANY-Ware Cellular & WiFi connectivity
  • Edge Portal (Next-gen)
    Getting started with the Edge Portal Workspace Configuration Instances Data Interfaces Tools
  • Connectors
    Industrial Connectors Databases Cloud Connectors
  • Scripting & Variables
    Data formatting Advanced Data Processing
  • Developers
    API documentation Shadow API
  • Tutorials & Guides
    InfluxDB AWS IoT Core - Amazon Web Services Microsoft Power BI KaaIoT Siemens S7 AVEVA Insight SIA Connect Demo Rack Grafana Notification & Messaging Azure Cumulocity MQTT MS SQL OPC-UA Server
  • General
  • Configuration in the Edge Portal (legacy)
    Getting started with the UI Connectors Instances Items Mapping Data System Network Tools & Add-ons DigiCert IoT Trust Manager Remote Access & VPN tunneling
+ More

Table of Contents

Prerequisites Configure a Siemens S7 Plus instance Instance parameters Discover items Configure an item manually Item parameters Address symbolic variables Use direct input, output, and marker addresses Supported data types Read and write arrays Read and write UDTs and structures Verify communication Troubleshoot the Siemens S7 Plus Connector Related articles

The Siemens S7 Plus Connector reads and writes symbolic variables in Siemens S7-1200 and S7-1500 PLCs. Use it for optimized data blocks, symbolic tag paths, arrays, user-defined types, and direct input, output, or marker access.

This guide explains instance configuration, item discovery, symbolic and direct addressing, supported data types, array and UDT handling, and troubleshooting.

Use the Siemens S7 Connector instead when you need absolute addressing for S7-300, S7-400, S7-1200, or S7-1500 controllers.

 

 

Prerequisites

  • Install the Siemens S7 Plus Connector.
  • Use a Siemens S7-1200 or S7-1500 PLC that supports S7CommPlus communication.
  • Connect SIA Connect and the PLC to networks where they can reach each other.
  • Allow ISO-on-TCP communication on TCP port 102.
  • Download the current PLC program and place the PLC in the required operating state.
  • Configure PLC users, passwords, and access rights when authentication is enabled.
  • Identify the exact symbolic paths and data types when creating items manually.

Only configure write access for variables that are safe to change. A write can affect PLC logic and connected equipment.

 

 

Configure a Siemens S7 Plus instance

  1. Open Workspace > Instances.
  2. Create an instance and select the Siemens S7 Plus Connector.
  3. Enter a clear instance name.
  4. Enter the PLC IP address or hostname in Address.
  5. Enter the PLC Username and Password when authentication is required.
  6. Set the connection Timeout.
  7. Create the instance.

The Connector communicates on TCP port 102. The port cannot be changed in the instance parameters.

 

Instance parameters

Parameter Required Default Description
Address Yes None IP address or resolvable hostname of the PLC.
Username When required by the PLC Empty PLC username used by newer authentication configurations.
Password When required by the PLC Empty Password used for PLC authentication.
Timeout Yes 5000 ms Maximum time allowed for connection and communication operations. Enter a positive value in milliseconds.

The Connector attempts a secure S7CommPlus connection first. It can automatically try a compatible legacy S7CommPlus connection when the PLC rejects TLS initialization.

 

Discover items

The Siemens S7 Plus Connector supports item discovery on an existing instance. It does not support instance discovery.

  1. Open the Siemens S7 Plus instance.
  2. Start item discovery.
  3. Wait while the Connector connects to the PLC and browses its symbols.
  4. Review the discovered candidates and warnings.
  5. Select the required candidates.
  6. Import the selected items.

Discovery uses the instance Address, Username, Password, and Timeout. It imports supported scalar leaf symbols and assigns their detected data types.

Discovery does not import complete array roots or complete STRUCT and UDT roots. Supported scalar members inside structures can appear as individual candidates. Unsupported data types are skipped and reported in the discovery warnings.

Discovered items are configured for read and write access. Confirm the PLC permissions and the intended item direction before using a discovered item as a mapping receiver.

 

Configure an item manually

  1. Open the Siemens S7 Plus instance.
  2. Create an item.
  3. Enter a clear item name.
  4. Enter the PLC tag path or direct memory address in Symbol.
  5. Select the matching Type.
  6. Configure the item's access and polling settings as required.
  7. Create the item.

The selected Type must match the PLC variable or array element type. A mismatch can cause incorrect values, failed writes, or skipped operations.

 

Item parameters

Parameter Required Default Description
Symbol Yes None Symbolic PLC path, array element, UDT member, or direct I, Q, or M address.
Type Yes REAL Siemens data type used to format reads and convert writes.

 

Address symbolic variables

Use the data block and variable names exactly as defined in TIA Portal.

Purpose Symbol example
Data block variable Data_block_1.Counter
Nested structure member Data_block_1.Motor.Speed
Array root DB_Arrays.IntArray
Array element DB_Arrays.IntArray[3]
Member inside a UDT array element DB_Process.Motors[2].Speed

Quoted and unquoted names are accepted. For example, "DB_Arrays"."IntArray" and DB_Arrays.IntArray refer to the same symbolic path.

 

Use direct input, output, and marker addresses

Address type Examples
Input bit I0.0, I1.7
Output bit Q0.0, Q2.3
Marker bit M10.2
Input byte, word, double word, or long word IB0, IW2, ID4, IL8
Output byte, word, double word, or long word QB0, QW2, QD4, QL8
Marker byte, word, double word, or long word MB0, MW10, MD20, ML24
  • An optional percent prefix is accepted. For example, %MW10 is treated as MW10.
  • I0, Q0, and M0 use byte access when no size letter or bit number is provided.
  • Analog forms such as AIW0 and AQW0 are not supported.
  • PLC input memory is normally read-only. The PLC will usually reject writes to an I address.

 

Supported data types

Type Size Value
BOOL 1 bit 0 or 1
BYTE 1 byte 0 to 255
WORD 2 bytes 0 to 65535
DWORD 4 bytes 0 to 4294967295
LWORD 8 bytes 0 to 18446744073709551615
SINT 1 byte -128 to 127
USINT 1 byte 0 to 255
INT 2 bytes -32768 to 32767
UINT 2 bytes 0 to 65535
DINT 4 bytes -2147483648 to 2147483647
UDINT 4 bytes 0 to 4294967295
LINT 8 bytes -9223372036854775808 to 9223372036854775807
ULINT 8 bytes 0 to 18446744073709551615
REAL 4 bytes 32-bit floating-point value
LREAL 8 bytes 64-bit floating-point value
STRING Variable Single-byte Siemens string
WSTRING Variable Wide-character Siemens string

For BOOL writes, 0 and false are written as false. 1 and true are written as true. Any other non-empty value is also treated as true.

 

Read and write arrays

Read a complete array

Use the array root symbol without an index. The value is returned as a compact JSON array.

Example: DB_Arrays.IntArray can return [0,1,2,3,4].

BOOL arrays are returned as numeric values, such as [1,0,1,0].

Read or write one element

Add the PLC array index to the symbol. For example, DB_Arrays.IntArray[4] reads or writes only element 4.

The Connector respects arrays whose lower bound is not zero. An array declared as Array[1..10] accepts indexes from 1 to 10.

Write a complete array

Use the array root symbol and write a valid JSON array, such as [10,20,30,40]. The Connector expands the value into indexed writes starting from the PLC array's lower bound.

  • The JSON array must contain at least one element.
  • The number of supplied elements cannot exceed the PLC array length.
  • The configured Type must match the PLC array element type.
  • Full and indexed writes to STRING and WSTRING arrays are not supported.
  • Indexed writes to multidimensional arrays are not supported.

 

Read and write UDTs and structures

Operation Example Behavior
Read or write a member DB_Process.Motor.Speed Uses the member's normal scalar Type.
Read a complete UDT or STRUCT DB_Process.Motor Returns a compact JSON object.
Write a complete UDT or STRUCT {"Running":1,"Setpoint":12.5,"Mode":2} Expands the JSON object into writes for supported child fields.
Read or write a scalar member inside a UDT array element DB_Process.Motors[2].Speed Targets the selected element and member.

Complete UDT writes support primitive scalar fields and primitive arrays. Missing or unknown JSON fields are ignored, which allows partial object updates. For example, {"Setpoint":33} updates only the matching Setpoint field.

BOOL fields in returned UDT JSON use 0 and 1.

Writing a complete element of a UDT array is not supported. Writing an indexed array member inside a UDT array element, such as DB_Process.Motors[2].Values[1], is also not supported.

 

Verify communication

  1. Enable the Siemens S7 Plus instance and its items.
  2. Confirm that the instance has no connection or authentication error.
  3. Confirm that scalar item values match the corresponding PLC variables.
  4. Check array and UDT values for valid JSON formatting.
  5. For a writable variable, perform a controlled write only when it is safe.
  6. Confirm the value in TIA Portal and verify that the item reads back the expected result.

 

Troubleshoot the Siemens S7 Plus Connector

Issue or message Cause Action
Failed to connect to PLC or TCP connection failed The PLC address cannot be reached or TCP port 102 is unavailable. Confirm the Address, PLC power, network configuration, routing, and firewall. Test the PLC address with the Ping tool.
ISO-on-TCP connection failed The TCP connection opened, but the ISO-on-TCP session was rejected or interrupted. Confirm that the target is a supported S7-1200 or S7-1500 and that port 102 is not being redirected or filtered.
TLS handshake failed or SSL certificate error The PLC and Connector could not establish the secure S7CommPlus session. Check the PLC firmware, security configuration, date and time, and network path. Update the PLC or Connector when required.
Authentication failed or Legitimation rejected by PLC... The username, password, or PLC access rights are incorrect. Confirm the credentials and the assigned PLC role. Leave Username empty when the PLC uses password-only authentication.
PLC requires legacy (non-TLS, symmetric-key) S7CommPlus mode The PLC rejected TLS initialization and requires its legacy security profile. Confirm that the current Connector package is installed. Retry after restarting the instance. Update the PLC security configuration when legacy access remains unavailable.
Legacy auth helper is not configured or a legacy authentication failure The required legacy authentication component is missing or could not complete authentication. Reinstall or update the Siemens S7 Plus Connector. Confirm the PLC security configuration and credentials.
Failed to resolve symbol: ... The symbolic path does not match a variable returned by the PLC browser. Copy the exact data block and variable names from TIA Portal. Check spelling, nesting, quotation marks, and array indexes.
Invalid tag configuration Symbol is empty, Type is invalid, or the array-index syntax cannot be parsed. Enter a valid Symbol and select a supported Type. Use one numeric index inside square brackets.
Symbol is not an array An index was added to a scalar variable. Remove the index or select the correct PLC array symbol.
Array index ... out of range (bounds ...) The selected index is outside the PLC array bounds. Use an index within the bounds defined in TIA Portal, including any non-zero lower bound.
Read error: failed to extract indexed struct member The Connector could not extract the requested member from the selected UDT array element. Confirm the array index, member path, UDT definition, and selected Type. Try the member as a separately exposed PLC variable when necessary.
Read failed: ..., Write failed: ..., or a hexadecimal read error The PLC returned a connection, permission, address, or data-type error. Review the complete error and Connector logs. Confirm the PLC state, access rights, Symbol, Type, and value format.
PLC browse failed with error ... Item discovery connected but could not browse the PLC symbol table. Confirm credentials, PLC access rights, Timeout, and the availability of symbols in the downloaded PLC program.
Browse completed, but no importable leaf symbols were found... The browse returned only arrays, structures, or unsupported symbols. Create supported array roots, UDT roots, or members manually. Confirm that scalar variables use supported data types.
A write has no effect and no item error remains The Connector can skip unsupported array, structure, or value conversions and record the reason in the Connector logs. Review the logs. Confirm valid JSON, matching Type, supported array dimensions, supported member access, and a value within the data-type range.
A complete REAL array contains repeated values The current Connector source duplicates each REAL element during JSON serialization. Create one indexed item per required REAL element until the Connector is corrected.

 

Related articles

  • Install and manage Connectors
  • Create and edit instances
  • Create and edit items
  • Discover instances and items
  • Ping tool
  • Troubleshoot Connector, instance, item, and mapping errors
  • Configure the Siemens S7 Connector
  • Send Siemens S7 Plus data to an MQTT broker
  • Siemens S7 Plus releases
siemens s7 plus siemens s7-1200 s7-1500 symbolic addressing optimized blocks connector arrays udt troubleshooting

Was this article helpful?

Yes
No
Give feedback about this article

Related Articles

  • Change network settings in the Edge Portal
  • Configure and review system logs
  • Get started with SIA Connect: A Step-By-Step guide
  • Find your SIA Connect UUID
  • Manage system settings and time

0
0
Expand