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.
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).
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)
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.
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.

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:
102Rack and Slot: the position of the CPU within the controller. On an S7-300, the CPU almost always sits in rack
0, slot2, 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 slot2or3. 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.

Click Save and confirm with Save and try to connect. The Edge Device then connects to the controller.
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.

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.

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.
Select STEP 7 project folder.
Click Browse files and select the entire project folder, not just the
.s7pfile. The folder must contain exactly one.s7pfile.
Uploading the STEP 7 project folder The project is read in your browser. If it contains several controllers, choose the CPU that belongs to this data source under Device.
Check the variable preview. Variables with unsupported data types are listed and not imported (see Supported data types).

Choosing the CPU and checking the variable preview Click Start import and close the dialog with Done once it finishes.

Starting the import
The summary shows how many variables were newly imported, updated, left unchanged, or failed.
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.
Select WinCC runtime file (.fwx, .fwc). The Flex Configuration Extractor opens in a new tab with site, machine, and data source already selected.
Upload the HMI device's
.fwxor.fwcfile, select the display elements, and give each one a display name and a unit.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.
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:
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
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