For the complete documentation index, see llms.txt. This page is also available as Markdown.

S7 Classic

Set up the S7 Classic protocol for ENLYZE.

This guide walks you through connecting data sources that communicate via the S7 Classic protocol. S7 Classic (S7comm) is the classic Siemens protocol of the S7-300 and S7-400 generations. ENLYZE connects these controllers over Ethernet via RFC1006 (ISO-on-TCP, default port 102). In the ENLYZE Platform, the connector is called S7.

Import variables instead of Variable Discovery

S7 Classic addresses data through absolute memory addresses (e.g. data blocks, flags, inputs and outputs) rather than symbolic tags, so Variable Discovery is not possible. Instead, you import the variables directly in the ENLYZE Platform from one of these sources:

  • the controller's STEP 7 project folder (SIMATIC Manager)

  • the HMI configuration of a Siemens panel (.fwx / .fwc)

The files are read exclusively in your browser. No project files are transferred to ENLYZE or stored on our servers. Only the variables you select are registered in the platform. To find out which option fits, see Import variables.

Supported devices

For a complete overview of the Siemens families and the recommended connector for each, see the Siemens page. Devices you can connect via S7 Classic include:

  • Siemens S7-300 (e.g. CPU 315-2 PN/DP, 317-2 PN/DP)

  • Siemens S7-400 (e.g. CPU 414, 416)

  • Yaskawa (VIPA) SPEED7 controllers, which are compatible with the S7-300

You connect controllers without an integrated Ethernet interface (PROFIBUS-only or MPI-only CPUs) through a PROFIBUS/MPI adapter. The adapter bridges the controller to the Edge Device. The configuration in the ENLYZE Platform stays the same.

You can buy the adapter directly from ENLYZE. We used to use adapters from IBH Softec, but they repeatedly caused outages and problems. We therefore recommend the ACCON-NetLink-PRO compact adapter from Softing (formerly DELTALOGIC).

For TIA Portal generation controllers (S7-1200, S7-1500), we recommend the S7+ connector. It supports Variable Discovery and optimized data blocks.

Before you start

Have the following ready:

  • the IP address of the controller or of the PROFIBUS/MPI adapter

  • one source for the variables: the STEP 7 project folder, the WinCC runtime file (.fwx, .fwc) of the HMI device, or an address list (see Import variables)

1

Connect the data source to the network

If not done yet, first establish a network connection between the data source and the respective Edge Device. You can find the possible networking scenarios here. The connector opens a TCP connection to the controller on port 102.

Use the network tools to check that the controller is reachable from the Edge Device.

2

Create the data source

Open the ENLYZE Manufacturing Data Platform, select the machine you want to add this data source to, and click + Data source.

Enter a descriptive name and add the manufacturer (Siemens, or Yaskawa for VIPA controllers) and the CPU model, e.g. CPU 315-2 PN/DP, under Device details.

Data source form with name, machine, and the device details manufacturer Siemens and device model S7-300 CPU315-2 PN/DP
Name and device details of an S7 Classic data source
3

Add connection details

Under Connection details, select the Edge device. Its name is printed on a sticker on the device (pattern adjective-scientist). Choose S7 as the Connector and enter the connector details:

  • IP address: the IPv4 address of the controller or of the PROFIBUS/MPI adapter

  • Port: 102

  • Rack and Slot: the position of the CPU within the controller. On an S7-300, the CPU almost always sits in rack 0, slot 2, the default values. On an S7-400, the slot depends on how many slots the power supply to the left of the CPU occupies. It is often slot 2 or 3. You find both values in the hardware configuration of the STEP 7 project (HW Config) at the position of the CPU.

S7 Classic does not need a password.

Connection details with connector S7 and the fields IP address, Port, Rack, and Slot
Connection details of an S7 Classic data source

Click Save and confirm with Save and try to connect. The Edge Device then connects to the controller.

If you are still missing some details, you can save the data source as a draft first. You add the connection details later via Add connection details on the data source page.

4

Import variables

S7 Classic addresses data through absolute memory addresses instead of symbolic tags, so Variable Discovery as with S7+ or OPC UA is not possible. Instead, you import the variables.

On the data source page, open the Variables tab and click Import variables.

Variables tab of a data source without variables and the Import variables button
Variables tab of a new S7 Classic data source

Then choose where the variables come from. The STEP 7 project folder gives you every variable of the controller. The WinCC runtime file gives you only the values operators see on the HMI, with display name and unit right away. You can combine both and repeat them as often as you like, for example after a change to the PLC program.

Import variables dialog with the options STEP 7 project folder and WinCC runtime file (.fwx, .fwc)
Choosing the variable source for an S7 Classic data source

You need the complete project folder from SIMATIC Manager, i.e. the .s7p file with all its subfolders. If the project is stored as an archive (.zip), extract it first.

  1. Select STEP 7 project folder.

  2. Click Browse files and select the entire project folder, not just the .s7p file. The folder must contain exactly one .s7p file.

    Upload step of the STEP 7 import with the Browse files button
    Uploading the STEP 7 project folder
  3. The project is read in your browser. If it contains several controllers, choose the CPU that belongs to this data source under Device.

  4. Check the variable preview. Variables with unsupported data types are listed and not imported (see Supported data types).

    Configuration step with the selected device, the unsupported data types, and a preview of the variables
    Choosing the CPU and checking the variable preview
  5. Click Start import and close the dialog with Done once it finishes.

    Import step with the number of variables to import and the Start import button
    Starting the import

The summary shows how many variables were newly imported, updated, left unchanged, or failed.

Large projects can take a few minutes to import. Keep the browser window open during that time.

You need the runtime file of the HMI device: .fwx (WinCC flexible 2005/2008) or .fwc (WinCC Runtime in TIA Portal). To find out where to get it, see Get the configuration file.

To find out how the selection works in detail, see Variable mapping via HMI configuration.

  1. Select WinCC runtime file (.fwx, .fwc). The Flex Configuration Extractor opens in a new tab with site, machine, and data source already selected.

  2. Upload the HMI device's .fwx or .fwc file, select the display elements, and give each one a display name and a unit.

  3. Send the variables to the platform with Send variables to ENLYZE platform.

You need a list of addresses and data types, e.g. from the machine manufacturer.

Send the list to support@enlyze.com. ENLYZE registers the variables for you. To see how addresses and data types are specified, see Addresses and data types.

5

Select variables for recording

The import registers the variables in the ENLYZE Platform. Variables imported from the STEP 7 project are not recorded yet, though. Select the variables you need in the variable selection and contextualize them. See all available variables in the Variables tab takes you straight there.

Addresses and data types

The import takes over the address and data type of every variable automatically. You only need the following details if variables are registered via an address list (option C) or the ENLYZE API.

Address scheme

The connector uses the English operand identifiers (I / Q instead of E / A) and separates the data block from the byte address with a colon:

Memory area
Scheme
Examples

Data block

DB<number>:<byte>[.<bit>]

DB400:12, DB327:6.1

Flags (Merker)

M<byte>[.<bit>]

M6.1, MW2

Inputs

I<byte>[.<bit>]

I0.5, IW4

Outputs

Q<byte>[.<bit>]

Q8.0

The size marker (B, W, D) is optional because the data type is specified separately. The Siemens notation DB1.DBW0 therefore corresponds to DB1:0 with data type WORD. Peripheral I/O (PI/PQ), timers, and counters are not supported.

Supported data types

S7 data type
Data type in the ENLYZE Platform

BOOL

Boolean

BYTE, CHAR, INT, WORD, DINT, DWORD

Integer

REAL

Float

STRING, STRING[n]

String

Unsupported types include LREAL, TIME, DATE, S5TIME, and arrays. Structures (STRUCT) are resolved into their individual elements when importing from the STEP 7 project.

Further reading

  • Tips & practical notes: notes on operating the S7 Classic connector and the recommended way to handle them.

  • Siemens: overview of all Siemens families and the recommended connectors.

If you have any questions, feel free to contact us at support@enlyze.com.

Last updated