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.
Add Device
Go to Configuration -> South Devices, then click Add Device to add the driver. Configure the following settings in the popup dialog box.
- Name: The name of this device node.
- Plugin: Select the Siemens S7 ISOTCP plugin or Siemens S7 ISOTCP for 300/400.
Plugin | Description |
---|---|
Siemens S7 ISOTCP | For Siemens S200, S200smart, S1200, S1500 PLC |
Siemens S7 ISOTCP for 300/400 | For Siemens S300, S400 PLC |
Device Configuration
After clicking Create, you will be redirected to the Device Configuration page, where we will set up the parameters required for Neuron to establish a connection with the northbound application. You can also click the device configuration icon on the southbound device card to enter the Device Configuration interface.
Parameter | Description |
---|---|
PLC IP Address | Target PLC IPv4 Address |
PLC Port | Target PLC port, default 102 |
PDU Size | PDU size, default 960 |
PLC Module | Target PLC module, S7-200/300/400/1200/1500 |
Connection Type | Only for S7-300/400/1200/1500, Connection type, default PG |
CPU Rack | Only for S7-300/400/1200/1500, PLC CPU rack, default 0 |
CPU Slot | Only for S7-300/400/1200/1500, PLC CPU slot, default 1 |
Local TSAP | Only for S7-200, local TSAP |
Remote TSAP | Only for S7-200, remote TSAP |
TIP
When interfacing with Siemens S7 1200/1500 PLC using the Siemens S7 ISOTCP plugin, certain modifications are required in the Siemens software (TIA16) settings:
- The
optimized block access
must be turned off. - The
access level
must be full and the connection mechanism must allow GET/PUT.
For detailed operating steps, please refer to Tailor S7 1200/1500 PLC for Effective ISOTCP Plugin Use.
Configure Data Groups and Tags
After the plug-in is added and configured, the next step is to establish communication between your device and Neuron by adding groups and tags to the Southbound driver.
Once device configuration is completed, navigate to the South Devices page. Click on the device card or device row to access the Group List page. Here, you can create a new group by clicking on Create, then specifying the group name and data collection interval.
Upon successfully creating a group, click on its name to proceed to the Tag List page. This page allows you to add device tags for data collection. You’ll need to provide information such as the tag address, attributes, and data type.
For information on general configuration items, see Connect to Southbound Devices. The subsequent section will concentrate on configurations specific to the driver.
Data types
- INT8
- UINT8
- INT16
- UINT16
- INT32
- UINT32
- FLOAT
- DOUBLE
- BIT
- STRING
Address Format
AREA ADDRESS[.BIT][.LEN]
AREA ADDRESS
AREA | DATA TYPE | ATTRIBUTE | REMARK | PLC Area |
---|---|---|---|---|
I | int8/uint8/int16/uint16/bit/int32/uint32/float | read | input | Input I、E |
O/Q | int8/uint8/int16/uint16/bit/int32/uint32/float | read/write | output | Output Q、A |
F/M | int8/uint8/int16/uint16/bit/int32/uint32/float | read/write | flag | FLAG Memory M |
T | int32/uint32/float | read/write | timer | Timer T |
C | int16/uint16 | read/write | counter | Counter C |
DB | int8/uint8/int16/uint16/bit/int32/uint32/float/double/string | read/write | global DB block | Variable Memory V, DB index 1 |
TIP
For the global data block DB, in the PLC side of the address such as DBX, DBW, DBB, etc., directly converted to DBW can be, do not need to do byte conversion, such as DBX1 -> DBW1.
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 |
Q4 | uint16 | Q area, address is 4 |
F4 | int16 | F area, address is 4 |
F5 | int16 | F area, address is 5 |
M6 | int16 | M area, address is 6 |
T6 | int32 | T area, address is 6 |
T7 | int32 | T area, address is 7 |
C8 | uint16 | C area, address is 8 |
C9 | uint16 | C area, address is 8 |
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, range 0 - 7.
.LEN
When the data type is a string type, it is required and indicates the length of the string.
Example Addresses
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.0 | bit | In a data block of 1, the starting data word is 10, bit 0 |
DB2.DBW1.7 | bit | In a data block of 2, the starting data word is 1, bit 7 |
DB1.DBW12.20 | string | In a data block of 1, the starting data word is 12, string length is 20 |
Use Case
This chapter also provides practical examples to facilitate a quick start.
Data Monitoring
After completing the point configuration, you can click Monitoring -> Data Monitoring to view device information and control devices. For details, refer to Data Monitoring.