Siemens S7 ISOTCP

Siemens S7 ISOTCP is a protocol developed by Siemens for communication with Siemens S7 series PLCs. This protocol is based on the TCP/IP protocol stack and uses the ISO-TSAP protocol for handling connections and data transmission. It enables read and write operations on various data types of the PLC, including bits, bytes, word, double word, timers and counters.

The implementation of S7 ISOTCP in Neuron is divided into two plugins. The Siemens S7 ISOTCP plugin is mainly used to connect to PLC modules such as Siemens S200, S200smart, S1200 and S1500. The Siemens S7 ISOTCP for 300/400 plugin is mainly used to connect to PLC modules such as Siemens S300 and S400 that have an Ethernet module.

Plugins

Plugin Description
Siemens S7 ISOTCP For Siemens S200, S200smart, S1200, S1500 PLC
Siemens S7 ISOTCP for 300/400 For Siemens S300, S400 PLC

Parameters

Parameter Description
PLC IP Address Target PLC IPv4 Address
PLC Port Target PLC port, default 102
PLC Module Target PLC module, default S7-1200
CPU Rack PLC CPU rack, default 0
CPU Slot PLC CPU slot, default 1

tip When using the Siemens S7 ISOTCP plugin to access the S7 1200/1500 PLC, you need to use Siemens software(TIA16) to make some settings for the PLC.( For detailed settings, please refer to plc-settings. )

  • The optimized block access must be turned off.
  • The access level must be full and the connection mechanism must allow GET/PUT.

Data types

  • INT16
  • UINT16
  • INT32
  • UINT32
  • FLOAT
  • DOUBLE
  • BIT
  • STRING

Address Format

AREA ADDRESS[.BIT][.LEN]

AREA ADDRESS

AREA DATA TYPE ATTRIBUTE REMARK S7-200 smart
I int16/uint16/bit read input Input I、E
O int16/uint16/bit read/write output Output Q、A
F int16/uint16/bit read/write flag FLAG Memory M
T int32/uint32 read/write timer Timer T
C int16/uint16 read/write counter Counter C
DB int16/uint16/bit/int32/uint32/float/double/string read/write global DB block Variable Memory V, DB index 1

Example:

Address Data Type Description
I0 int16 I area, address is 0
I1 uint16 I area, address is 1
O2 int16 O area, address is 2
O3 uint16 O area, address is 3
F4 int16 F area, address is 0
F5 int16 F area, address is 0
T6 int32 T area, address is 0
T7 int32 T area, address is 0
C8 uint16 C area, address is 0
C9 uint16 C area, address is 0
DB10.DBW10 int16 In a data block of 10 , the starting data word is 10
DB12.DBW10 uint16 In a data block of 12 , the starting data word is 10
DB10.DBW10 float In a data block of 10 , the starting data word is 10
DB11.DBW10 double In a data block of 11 , the starting data word is 10

.BIT

Optional, referring to a bit of an address.

.LEN

When the data type is a string type, it is required and indicates the length of the string.

Address Examples

Address Data Type Description
I0.0 bit I area, address 0, bit 0
I0.1 bit I area, address 0, bit 1
O1.0 bit O area, address 1, bit 0
O1.2 bit O area, address 1, bit 2
F2.1 bit F area, address 2, bit 1
F2.2 bit F area, address 2, bit 2
DB1.DBW10.1 bit In a data block of 1 , the starting data word is 10, bit 0
DB2.DBW1.15 bit In a data block of 2 , the starting data word is 1, bit 15
DB1.DBW12.20 string In a data block of 1 , the starting data word is 12, string length is 20