IGSS SCADA Software * Schneider Electric Denmark A/S * Lautrupvang 1 * DK-2750 Ballerup * Denmark
Phone: +45 88 30 20 00 * E-mail: [email protected] * www.igss.com
7TS7TCP (Driver 72)
IGSS Siemens S7 TCP/IP Interface Driver
User’s Manual
IGSS Siemens S7 TCP/IP Interface Driver (72) - V13
Schneider Electric Denmark A/S 2018-05-23 1
DISCLAIMER
The information contained in this user’s manual is
the property of Schneider Electric Denmark A/S.
All rights reserved.
No part may be reproduced or used except as
authorised by contract or other written permission.
The copyright and the foregoing restriction on
reproduction and use extend to all media in which
the information may be embodied.
Any information provided in this document is subject
to change and is provided for information purposes
only, and is supplied without liability for errors or
omissions.
Due to the changing nature of the information
contained in this document Schneider Electric shall
have no liability whatsoever for any damages or
losses arising directly or indirectly as a result of any
of the information in this document not being
accurate, complete or up to date.
IGSS Siemens S7 TCP/IP Interface Driver (72) - V13
Schneider Electric Denmark A/S 2018-05-23 2
Contents
CONTENTS ................................................................................................................................... 2
1 INTRODUCTION ................................................................................................................. 3
1.1 Software Requirements .......................................................................................... 3
1.2 Hardware Requirements ........................................................................................ 3
2 INSTALLATION .................................................................................................................. 4
1.3 Automatic Installation ............................................................................................. 4
1.4 Manual Installation .................................................................................................. 4
3 CONFIGURING THE DRIVER ............................................................................................ 6
1.5 EVENT DRIVEN COMMUNICATION ..................................................................... 9
1.6 MULTI READ FUNCTION .................................................................................... 10
1.7 FAST ACTIVATION .............................................................................................. 18
4 CONFIGURING THE DRIVER SYMBOLIC ...................................................................... 19
5 CONFIGURING THE OBJECTS ...................................................................................... 21
1.8 Supported Memory Types .................................................................................... 22
6 CONFIGURING THE OBJECTS’ SYMBOLIC ................................................................. 23
7 PERFORMANCE AND THROUGHPUT ........................................................................... 24
8 ERROR CODES ................................................................................................................ 25
9 SET UP PLC TO COMMUNICATE WITH IGSS (SIEMENS S7 1200 & 1500 PLCS) ..... 29
IGSS Siemens S7 TCP/IP Interface Driver (72) - V13
Schneider Electric Denmark A/S 2018-05-23 3
1 INTRODUCTION
This document describes how to set up and troubleshoot the IGSS 7TS7TCP Interface Driver.
1.1 SOFTWARE REQUIREMENTS
The driver requires a standard Microsoft TCP/IP protocol stack. This protocol stack is normally
installed on all Microsoft systems and can be used as is. DNS and other helper protocols are not
used by the driver and thus not required to be installed nor configured.
The driver uses ISO transport on top of TCP/IP as defined by RFC. This means that TCP/IP port
number 102 MUST be available and open for use. If you use any kind of Fire-Wall products then
please make sure that TCP/IP port 102 is open for bidirectional use. If the network paths from the
IGSS system to the PLC(s) include multiple Fire-Walls then these must be configured correctly as
well.
The driver is designed to be used with IGSS version 13.0 and higher.
1.2 HARDWARE REQUIREMENTS
The driver requires a standard Ethernet NIC in the PC where the IGSS system is installed. The NIC
must have a Microsoft approved NIC driver with an active TCP/IP stack.
IGSS Siemens S7 TCP/IP Interface Driver (72) - V13
Schneider Electric Denmark A/S 2018-05-23 4
2 INSTALLATION
1.3 AUTOMATIC INSTALLATION
The driver is normally installed automatically along with the rest of the IGSS system. To verify if the
driver has been installed, open the System Configuration (sysconfig.exe) and check if a driver with
ID:67 is present in the list of available drivers:
If the driver is present then you can proceed to the next section: “Configuring the Driver”, otherwise
install the driver using the manual installation procedure described below.
1.4 MANUAL INSTALLATION
Using the following step-by-step guide will install the driver manually on a PC where the IGSS system
has already been installed. You need to stop the IGSS system prior to the installation and you need to
be logged in with a user account with “Administrator” rights.
IGSS Siemens S7 TCP/IP Interface Driver (72) - V13
Schneider Electric Denmark A/S 2018-05-23 5
Step 1: Verify that the files:
7TS7TCP.DLL
7TS7TCPc.DLL
7TS7TCP.REG
exists in the GSS\ directory. If the files doesn’t exists run the IGSSUpdateClient to get the files from
the IGSS Update server – or contact IGSS Support ([email protected]) to
get the files via e-mail.
Step 2: Double-click on the 7TS7TCP.REG file to import the registry settings needed for the system
to recognize the driver.
The driver is now installed.
IGSS Siemens S7 TCP/IP Interface Driver (72) - V13
Schneider Electric Denmark A/S 2018-05-23 6
3 CONFIGURING THE DRIVER
This section describes how to configure the driver parameters. All parameters must be configured by
using the System Configuration (sysconfig.exe) application.
Please note that the IGSS system MUST be stopped and restarted for the configured
parameters to take effect.
Start the System Configuration application and add the driver 7TS7TCP (ID:72) to the requested
station.
Once the driver has been added to the relevant station then you are ready to proceed with adding
PLC nodes. This is done by right-clicking on the driver and select “New Node” menu point.
IGSS Siemens S7 TCP/IP Interface Driver (72) - V13
Schneider Electric Denmark A/S 2018-05-23 7
Each PLC node requires following fundamental parameters:
IGSS node number: This is the node number which IGSS uses to reference a unique PLC. This
node number is required when binding and IGSS atom (tag) to a register in the PLC. Any number
from the drop down list can be used.
Processor type: This is for select of PLC type.
IP address for PLC node: Here you must enter the IP address of the PLC node. The PLC
programmer will be able to provide you with this number. The format must be in dotted decimal and
the IP address must be reachable from the PC – either through a gateway or directly on the subnet.
IP port for PLC node: The port number of the PLC, standard is 102.
IGSS Siemens S7 TCP/IP Interface Driver (72) - V13
Schneider Electric Denmark A/S 2018-05-23 8
CPU rack number in PLC: Here you must fill in the rack number where the CPU is physically
located. This will normally be rack 0 when using a single PLC. Using the PLC S7-400H 2 different
rack numbers have to be selected, normally rack 0 and rack 1 for the CPU1 and CPU2.
CPU slot number in PLC: Here you must fill in the slot number where the CPU is physically located
in the PLC rack. This will normally be either slot number 2 or slot number 3 but is may vary
depending on the PLC type and/or the power supply used in the rack. The PLC programmer will be
able to give you information about which slot number is used for the CPU.
Communication Timeout: Normally, you don’t need to change this parameter. The default value of
1000 mS will be OK on most networks; However, if you are going to use the driver to communicate
through the internet and/or through a complex network, you might want to increase this parameter in
order to avoid undesired alarms from the communication monitor.
If CPU stopped: The CPU variables can be read when the CPU is stopped and not giving any errors
on IGSS objects. To avoid this, set checkbox and all messages from PLC will have error indication
CPU stopped when CPU is switched to from run to stop mode.
IGSS Siemens S7 TCP/IP Interface Driver (72) - V13
Schneider Electric Denmark A/S 2018-05-23 9
Use optimized bit read: To avoid a lot of reading of bits in the PLC it is possible to read the whole
word of the bits (bits have to be in the same data group and word offset) in the PLC and then split the
bits in the driver before they are send to IGSS bit objects. To activate this function set checkbox.
Telegram retries: If an error in the communication occurs the message can be retransmitted a
number of times before an error response with error code is returned to IGSS.
Processor max segment length: Each PLC can have its own specific max. segment length. Notice
that the processor’s max. segment length cannot be longer than the segment length defined under
the tab Advanced for the Siemens S7 TCP/IP protocol driver. The processor’s max. segment length
can be used if you have new and old types of Siemens PLCs connected to IGSS with the old PLCs
having max. up to 32 bytes per message, and new PLCs more than 200 bytes.
Please note that it is EXTREMELY important that the IP address, the IP port, the CPU rack
number and the CPU slot number parameters are configured correctly. If any of these
parameters are not correct communication cannot be established.
If the PLC and the PC are connected to the network, and are up running, the IP address can be
verified by using the “ping” command. E.g.
ping 172.16.18.20
Please note that some Fire-Walls don’t allow ping request/responses. In this case ping can’t be used
to verify the IP address.
The CPU slot number parameter can’t be verified easily. It is therefore important to be absolutely
sure that this parameter is set correctly, otherwise communication can’t be established.
When a PLC node has been added, you can add another by clicking the “New Node…” menu point
again. The driver supports up to 16 PLC nodes.
1.5 EVENT DRIVEN COMMUNICATION
Under the button Advanced Connection Properties you can set checkbox Use event driven
communication messages to activate reception of spontaneous event messages from the PLC.
This can be done simultaneously running scan of inputs from the PLC.
IGSS Siemens S7 TCP/IP Interface Driver (72) - V13
Schneider Electric Denmark A/S 2018-05-23 10
1.6 MULTI READ FUNCTION
Under the button Advanced connection properties you can under the Multi read specification
activate the packing of more scan records into one message that will be sent to the PLC. The
response message from the PLC will contain data for the scan records in the message to the PLC.
IGSS Siemens S7 TCP/IP Interface Driver (72) - V13
Schneider Electric Denmark A/S 2018-05-23 11
If desired, you can pack the multi read
message further by selecting the checkbox
Use merge scans if possible. Then all
messages having the same data group and
following each other by offset and length will
be packed together as one object in the
message. This can be relevant if you are
using a short segment length in order to get a
better pack functionality. The scan records
will then be calculated to follow each other.
If you are using a PLC with different max.
response length you can change this in
Max response length of message.
The same function is available for
Max. number of objects in message.
You can define how long time a read value
from the PLC should be valid to avoid that old
values are accepted be IGSS. If the defined
time has passed, a new read in the PLC will
be performed by the driver.
To show the scan array containing the
amount of the different lengths of the scan
records, select the checkbox
Dump multi read data in Driverlog.
If you only select Use multi read, the driver
will pack the scan records as they occur in scan record table.
Explanation of Dump multi read data in the Driverlog (see screen dump below):
len Length of every scan record in the projects file nnn.PRT.
cnt Amount of scan records with the same length.
cx Count of number of scan records
IGSS Siemens S7 TCP/IP Interface Driver (72) - V13
Schneider Electric Denmark A/S 2018-05-23 12
cxt Sum of all the lengths of the scan records. The last cxt gives the optimal number of
received bytes from the PLC.
Rcvbytes Sum of received bytes in actual multi read scan record
total rcvbytes Sum of rcvbytes for each multi read scan record
parts Part length in bytes of each scan record in the scan message to the PLC. Data
transfer from this PLC requires that part lengths consist of even numbers only, if
possible of even length. Part lengths are therefore adjusted by adding typically 4
bytes to even numbers and 1 extra byte to uneven numbers.
The last total rcvbytes gives the actual number of received bytes from the PLC.
Example of Driverlog using multi read function and not sort of scan record table having Level 1 and
Level 2 equal to -1.
2017/10/05 11:49:18:831 -1 15960 9472 node:200 scanInterval:5000 MaxRspLen:466 MaxObjects:19 Level1:-1 Level2:-1 Merge:0
2017/10/05 11:49:18:832 -1 15960 9472 node:200 scanArr[0] len:56 cnt:1 cx:1 cxt:56
2017/10/05 11:49:18:832 -1 15960 9472 node:200 scanArr[1] len:52 cnt:2 cx:3 cxt:160
2017/10/05 11:49:18:832 -1 15960 9472 node:200 scanArr[2] len:48 cnt:4 cx:7 cxt:352
2017/10/05 11:49:18:832 -1 15960 9472 node:200 scanArr[3] len:44 cnt:1 cx:8 cxt:396
2017/10/05 11:49:18:832 -1 15960 9472 node:200 scanArr[4] len:40 cnt:1 cx:9 cxt:436
2017/10/05 11:49:18:832 -1 15960 9472 node:200 scanArr[5] len:24 cnt:10 cx:19 cxt:676
2017/10/05 11:49:18:832 -1 15960 9472 node:200 scanArr[6] len:22 cnt:1 cx:20 cxt:698
2017/10/05 11:49:18:832 -1 15960 9472 node:200 scanArr[7] len:20 cnt:13 cx:33 cxt:958
2017/10/05 11:49:18:832 -1 15960 9472 node:200 scanArr[8] len:16 cnt:4 cx:37 cxt:1022
2017/10/05 11:49:18:832 -1 15960 9472 node:200 scanArr[9] len:8 cnt:3 cx:40 cxt:1046
2017/10/05 11:49:18:833 -1 15960 9472 node:200 scanArr[10] len:4 cnt:2 cx:42 cxt:1054
2017/10/05 11:49:18:833 -1 15960 9472 node:200 scanArr[11] len:2 cnt:2 cx:44 cxt:1058
2017/10/05 11:49:18:833 -1 15960 9472 node:200 scanArr[12] len:1 cnt:1 cx:45 cxt:1059
2017/10/05 11:49:18:833 -1 15960 9472 multiread:1 db:2099142 woff:9248 rcvbytes:420 total rcvbytes:420 parts 6 12 44 8 26 60 8 28 12 12 52 52 48 52 0 0 0 0 0
2017/10/05 11:49:18:833 -1 15960 9472 multiread:2 db:1946 woff:101 rcvbytes:452 total rcvbytes:872 parts 52 56 52 24 24 56 28 28 6 20 24 6 24 28 24 0 0 0 0
2017/10/05 11:49:18:833 -1 15960 9472 multiread:3 db:1925 woff:398 rcvbytes:420 total rcvbytes:1292 parts 28 20 24 24 24 28 28 24 24 28 28 24 20 20 28 24 24 0 0
The scan records array can be sorted using a value different from -1 in position Level 1 for each scan
interval. This can be done to reach the nearest value of the max. response length of the message,
which is given by the type of PLC.
IGSS Siemens S7 TCP/IP Interface Driver (72) - V13
Schneider Electric Denmark A/S 2018-05-23 13
The position Level 1 indicates where to start making the multi read message to be sent to the PLC. If
a value in the scan array is used in position Level 1, sorting will start picking up scan records from
that position until cnt in scan array is 0 and then continue to the end of the scan array.
Example of Driverlog using multi read function and sort of scan record table using position Level 1
set to 8.
IGSS Siemens S7 TCP/IP Interface Driver (72) - V13
Schneider Electric Denmark A/S 2018-05-23 14
2017/10/05 12:02:01:732 -1 6088 18224 node:200 scanInterval:5000 MaxRspLen:466 MaxObjects:19 Level1:8 Level2:-1 Merge:0
2017/10/05 12:02:01:732 -1 6088 18224 node:200 scanArr[0] len:56 cnt:1 cx:1 cxt:56
2017/10/05 12:02:01:733 -1 6088 18224 node:200 scanArr[1] len:52 cnt:2 cx:3 cxt:160
2017/10/05 12:02:01:733 -1 6088 18224 node:200 scanArr[2] len:48 cnt:4 cx:7 cxt:352
2017/10/05 12:02:01:733 -1 6088 18224 node:200 scanArr[3] len:44 cnt:1 cx:8 cxt:396
2017/10/05 12:02:01:733 -1 6088 18224 node:200 scanArr[4] len:40 cnt:1 cx:9 cxt:436
2017/10/05 12:02:01:733 -1 6088 18224 node:200 scanArr[5] len:24 cnt:10 cx:19 cxt:676
2017/10/05 12:02:01:733 -1 6088 18224 node:200 scanArr[6] len:22 cnt:1 cx:20 cxt:698
2017/10/05 12:02:01:733 -1 6088 18224 node:200 scanArr[7] len:20 cnt:13 cx:33 cxt:958
2017/10/05 12:02:01:733 -1 6088 18224 node:200 scanArr[8] len:16 cnt:4 cx:37 cxt:1022
2017/10/05 12:02:01:733 -1 6088 18224 node:200 scanArr[9] len:8 cnt:3 cx:40 cxt:1046
2017/10/05 12:02:01:734 -1 6088 18224 node:200 scanArr[10] len:4 cnt:2 cx:42 cxt:1054
2017/10/05 12:02:01:734 -1 6088 18224 node:200 scanArr[11] len:2 cnt:2 cx:44 cxt:1058
2017/10/05 12:02:01:734 -1 6088 18224 node:200 scanArr[12] len:1 cnt:1 cx:45 cxt:1059
2017/10/05 12:02:01:734 -1 6088 18224 multiread:1 db:1931 woff:518 rcvbytes:454 total rcvbytes:454 parts 20 20 20 20 12 12 12 8 8 6 6 6 60 56 56 52 52 28 0
2017/10/05 12:02:01:734 -1 6088 18224 multiread:2 db:1990 woff:210 rcvbytes:448 total rcvbytes:902 parts 52 52 48 44 28 28 28 28 28 28 28 28 28 0 0 0 0 0 0
2017/10/05 12:02:01:734 -1 6088 18224 multiread:3 db:1990 woff:570 rcvbytes:338 total rcvbytes:1240 parts 26 24 24 24 24 24 24 24 24 24 24 24 24 24 0 0 0 0 0
The position Level 2 is used to spread the pickup of the different lengths in scan array.
IGSS Siemens S7 TCP/IP Interface Driver (72) - V13
Schneider Electric Denmark A/S 2018-05-23 15
Example of Driverlog using multi read function and sort of scan record table using position Level 1
value 8 and Level 2 value 11. The pickup of data starts in incrementing steps from position 8 (Level
1) of scan array, and ends in position 11 (Level 2). Then it continues from position 0 with as many
scans of that length as possible, and finally it tries to achieve a fit of the MaxRspLen.
2017/10/05 13:13:13:937 -1 2420 17192 node:200 scanInterval:5000 MaxRspLen:466 MaxObjects:19 Level1:8 Level2:11 Merge:0
2017/10/05 13:13:13:937 -1 2420 17192 node:200 scanArr[0] len:56 cnt:1 cx:1 cxt:56
2017/10/05 13:13:13:937 -1 2420 17192 node:200 scanArr[1] len:52 cnt:2 cx:3 cxt:160
2017/10/05 13:13:13:938 -1 2420 17192 node:200 scanArr[2] len:48 cnt:4 cx:7 cxt:352
2017/10/05 13:13:13:938 -1 2420 17192 node:200 scanArr[3] len:44 cnt:1 cx:8 cxt:396
2017/10/05 13:13:13:938 -1 2420 17192 node:200 scanArr[4] len:40 cnt:1 cx:9 cxt:436
2017/10/05 13:13:13:938 -1 2420 17192 node:200 scanArr[5] len:24 cnt:10 cx:19 cxt:676
2017/10/05 13:13:13:938 -1 2420 17192 node:200 scanArr[6] len:22 cnt:1 cx:20 cxt:698
2017/10/05 13:13:13:938 -1 2420 17192 node:200 scanArr[7] len:20 cnt:13 cx:33 cxt:958
2017/10/05 13:13:13:938 -1 2420 17192 node:200 scanArr[8] len:16 cnt:4 cx:37 cxt:1022
2017/10/05 13:13:13:938 -1 2420 17192 node:200 scanArr[9] len:8 cnt:3 cx:40 cxt:1046
2017/10/05 13:13:13:938 -1 2420 17192 node:200 scanArr[10] len:4 cnt:2 cx:42 cxt:1054
2017/10/05 13:13:13:939 -1 2420 17192 node:200 scanArr[11] len:2 cnt:2 cx:44 cxt:1058
2017/10/05 13:13:13:939 -1 2420 17192 node:200 scanArr[12] len:1 cnt:1 cx:45 cxt:1059
2017/10/05 13:13:13:939 -1 2420 17192 multiread:1 db:1931 woff:518 rcvbytes:466 total rcvbytes:466 parts 20 12 8 6 60 56 56 52 52 52 52 28 12 0 0 0 0 0 0
2017/10/05 13:13:13:939 -1 2420 17192 multiread:2 db:1916 woff:688 rcvbytes:464 total rcvbytes:930 parts 20 12 8 6 48 44 28 28 28 28 28 28 28 28 28 26 24 24 0
2017/10/05 13:13:13:939 -1 2420 17192 multiread:3 db:1901 woff:271 rcvbytes:310 total rcvbytes:1240 parts 20 6 24 24 24 24 24 24 24 24 24 24 24 20 0 0 0 0 0
IGSS Siemens S7 TCP/IP Interface Driver (72) - V13
Schneider Electric Denmark A/S 2018-05-23 16
If a value of 1000 is added to the position Level 1, the same function will be performed as in the first
example with a value of 8 in the position Level 1 except that a prior sorting of the scan records with
the highest data group and the highest word offset as first scan records will be executed before the
normal sort function is run.
IGSS Siemens S7 TCP/IP Interface Driver (72) - V13
Schneider Electric Denmark A/S 2018-05-23 17
If a value of 2000 is set in the position Level 1 a sorting of the scan record with the highest data group
and the highest word offset will be executed. This can be done to optimize the merge scans if
possible.
IGSS Siemens S7 TCP/IP Interface Driver (72) - V13
Schneider Electric Denmark A/S 2018-05-23 18
1.7 FAST ACTIVATION
Newer PLCs can provide faster response on scan records e.g. 1-2 msec. However, the driver only
has an activation interval of 5 msec (set under tab Advanced and Activation interval for the driver),
giving only 200 scan records and output messages per second. This can be improved by the fast
activation function.
Select the checkbox Use faster handling
of messages if a message is waiting.
The driver will then send a new scan record
or output message immeiately after having
received the response message of the
previous scan record from the PLC, instead
of postponing the activation interval until it
has checked if any scan records are waiting
to be send. If no scan records are waiting,
the driver will check for new scan records
within the activation interval.
Notice that if you use the multi read
function, faster activation will automatically
be performed.
IGSS Siemens S7 TCP/IP Interface Driver (72) - V13
Schneider Electric Denmark A/S 2018-05-23 19
4 CONFIGURING THE DRIVER SYMBOLIC
As an alternative to specifying a specific value name for the PLC addressing when configuring the
driver, you can use symbolic programming using the AGLink40_Config.exe program.
Start the AGLink40_Config.exe program. In Setting directory select the path to the IGSS program
directory and press OK.
In the following window, select the Devices tab. Select Device number and S7-TCP/IP TIA.
IGSS Siemens S7 TCP/IP Interface Driver (72) - V13
Schneider Electric Denmark A/S 2018-05-23 20
In the Connections tab, click the Change button to enter PLC numbers, IP address and type (should
be S7-1500 TIA if you use a S7-1500 PLC running symbolic) for each PLC (0 ... 126).
Exit the AGLink40_Config.exe program and start the IGSS System configuration.
For each node in the Siemens S7 TCP/IP protocol driver’s IP network, setup the following:
• Processor type: Select type S7-1500 SYMB to use symbolic programming
• Path and file name to the TIA project file: Select the project file of the TIA project.
• Device number: Select device number 0 as first device number, if desired. Use 0..15.
• PLC number: Select PLC number 0 as first PLC number, if desired. Use 0..126.
• Connection number: Select Connection number 0 as the first connection number, if desired.
IGSS Siemens S7 TCP/IP Interface Driver (72) - V13
Schneider Electric Denmark A/S 2018-05-23 21
5 CONFIGURING THE OBJECTS
Once the driver and the PLC nodes have been defined, IGSS Objects and Atoms can be linked to the
process variable in the PLC. Different types of PLC memory can be accessed for read/write
operations using the driver.
By using the “Atom Mapping” tab in the Object Properties dialog you can specify the binding
between the object’s atoms and the PLC process variables. Start by selecting an atom and select the
7TS7TCP driver in the “Driver” drop down list:
Now select the desired PLC node number and continue by setting the desired Data Area (normally
DB – Data Block). Then specify the Data Block Number and the Adressing method and Offset.
Note that the corresponding Simatic Mnemonic is displayed and updated as you select the
appropriate parameters. This is a help to make sure you always bind to the correct process variable.
Continue this process for each atom on the object, and save the parameters by clicking the OK
button when finished.
IGSS Siemens S7 TCP/IP Interface Driver (72) - V13
Schneider Electric Denmark A/S 2018-05-23 22
1.8 SUPPORTED MEMORY TYPES
The driver supports a number of different memory types in the PLC and a number of different
addressing methods.
Data Blocks can be addressed in the range from DB0 to DB32000. Process variables stored in
Data Blocks can be specified using:
Word (16-bit): The driver will read/write a 16 bit value from/to the PLC. E.g. DB47.DBW4.
Byte (8-bit): The driver will read/write an 8 bit value from/to the PLC. E.g. DB51.DBB211.
Bit (1-bit): The driver will read/write a single bit from/to the PLC. E.g. DB311.DBX15.3.
These addressing methods allow you to bind to any type of process value in the PLC Data Block
memory area. Please note that if you want to bind to a 32 bit (DWORD) value, use Word addressing
and specify the external type as one of the supported 32 bit types. Then the system will automatically
do the correct addressing. If you e.g. want to bind to a floating point process value at DB31.DBD70
you should specify: DB31.DBW70, Word (16-bit) and select the external type FLOAT.
Other less used, also supported types are:
Q (Output): Read/write from/to Output addresses directly.
I (Input): Read from Input addresses directly.
C (Counters): Read from Counters directly.
IT IS HIGHLY RECOMMENDED to use Data Blocks as the primary memory type for exchanging
variable information between IGSS and the PLC. Read- and especially write operations directly to
Output or Counters cannot be verified by the PLC problem and might thus lead to hazards.
IGSS Siemens S7 TCP/IP Interface Driver (72) - V13
Schneider Electric Denmark A/S 2018-05-23 23
6 CONFIGURING THE OBJECTS’ SYMBOLIC
Once the driver and the PLC nodes have been defined, run the driver once and the IGSS Objects
and Atoms can be linked to the process variable in the PLC.
By using the “Atom Mapping” tab in the Object Properties dialog you can specify the binding
between the object’s atoms and the PLC process variables. Start by selecting an atom and, if
symbolic programming has been chosen, select the 7TS7TCP driver in the “Driver” drop down list:
In the Item window, select the desired PLC node number, and the relevant object in the browse tree.
The DB number, Offset and External type are greyed out as they only serve to illustrate the IGSS
objects internally. External type is automatically set according to the selected Item.
The Data Area is fixed to Data Block. Addressing is not used when running symbolic. Change Bit
Offset to another value than 0 if desired.
IGSS Siemens S7 TCP/IP Interface Driver (72) - V13
Schneider Electric Denmark A/S 2018-05-23 24
7 PERFORMANCE AND THROUGHPUT
The driver is designed for maximum throughput on any given TCP/IP network. On a standard PC with
a 100 Mbit/s connection to the PLC you should expect a throughput of 10+ request/response cycles
pr. second. Each PLC node is handled concurrent and independently. This means that if you add
more PLC’s to the system, the throughput pr. PLC should only be affected marginally, provided that
the overall network throughput is sufficient.
IMPORTANT NOTICE:
The IGSS communication engine optimizes communication throughput by seeking to group data
whenever possible. This means that if the communication engine is required to read e.g. data block
DB100.DBW20 and DB100.DBW40 then it will read data block 100 offset 20 and 21 through to data
block 100 offset 40 as one block. This is much more efficient than reading the two data blocks using
two separate read requests.
IGSS Siemens S7 TCP/IP Interface Driver (72) - V13
Schneider Electric Denmark A/S 2018-05-23 25
8 ERROR CODES
#define _7TS7TCP_SEND_SOCKET_FAILED 0x4801
//Cause: Failed to send data to PLC.
//Action: Check sub error code for details.
//Subcode: Windows Socket error code
#define _7TS7TCP_RECV_MAXLEN_EXCEED 0x4802
//Cause: Receive telegram length exceeded. Telegram too long.
//Action: Contact 7T technical support
//Subcode: Telegram length
#define _7TS7TCP_RECV_TIMEOUT_DATA 0x4803
//Cause: Receive Timeout (data part)
//Action: Increase driver Timeout parameter
#define _7TS7TCP_RECV_TIMEOUT_HEADER 0x4804
//Cause: Receive Timeout (data part)
//Action: Increase driver Timeout parameter
#define _7TS7TCP_RECV_SOCKET_FAILED_HEADER 0x4805
//Cause: Failed to receive telegram header from PLC.
//Action: Check sub error code for details.
//Subcode: Windows Socket error code
#define _7TS7TCP_RECV_SOCKET_FAILED_DATA 0x4806
//Cause: Failed to receive telegram data from PLC.
//Action: Check sub error code for details.
//Subcode: Windows Socket error code
IGSS Siemens S7 TCP/IP Interface Driver (72) - V13
Schneider Electric Denmark A/S 2018-05-23 26
#define _7TS7TCP_S7_CONNECT_FAILED 0x4807
//Cause: Failed to make S7 connection to PLC
//Action: Check sub error code for details.
//Subcode: PLC error code
#define _7TS7TCP_S7_PDU_NEGOT_FAILED 0x4808
//Cause: Failed to negotiate PDU sizze with PLC
//Action: Contact 7T technical support
//Subcode: PLC error code
#define _7TS7TCP_WRONG_SIZE_CODE_READ 0x4809
//Cause: Unsupported size code (only bits/bytes and words supported)
//Action: Check addresses in configuration
//Subcode: Size code
#define _7TS7TCP_WRONG_TYPE_CODE_READ 0x480A
//Cause: Unsupported type code (only DB/DI/A/E/TIM/CNT/MERKER supported)
//Action: Check addresses in configuration
//Subcode: Type code
#define _7TS7TCP_S7_NO_DATA_REPLY 0x480B
//Cause: Received PDU with no data
//Action: Check that requested data area exists
#define _7TS7TCP_S7_PDU_FORMAT_ERROR 0x480C
//Cause: Received PDU with unexpected format
//Action: Check driver Log file for additional information
#define _7TS7TCP_S7_PDU_SEQ_ERROR 0x480D
//Cause: Received PDU with unexpected sequence number
//Action: Check network quality (use e.g. repeated ping commands).
If problem persists contact 7T technical support
IGSS Siemens S7 TCP/IP Interface Driver (72) - V13
Schneider Electric Denmark A/S 2018-05-23 27
#define _7TS7TCP_WRONG_SIZE_CODE_WRITE 0x480E
//Cause: Unsupported size code (only bits/bytes and words supported)
//Action: Check addresses in configuration
//Subcode: Size code
#define _7TS7TCP_WRONG_TYPE_CODE_WRITE 0x480F
//Cause: Unsupported type code (only DB/DI/A/E/TIM/CNT/MERKER supported)
//Action: Check addresses in configuration
//Subcode: Type code
#define _7TS7TCP_CPU_NOT_IN_RUN_MODE 0x4810
//Cause: The driver has detected that the PLC CPU is not in RUN mode.
// This warning is by default given every minute if the PCU is not in RUN state.
//Action: Check the CPU state and the PLC program.
//Subcode: CPU RUN state returned by the PLC: 0x08 => RUN, other => STOPPED
#define _7TS7TCP_RECV_WRONG_NEXT_PART 0x4811
//Cause: Receive wrong start of next part of telegram.
//Action: Contact 7T technical support
#define _7TS7TCP_LOAD_ERROR_SYMBOLIC 0x4812 //Cause: The symbolic layer cannot load TIA project
//Action: Check setup for position of TIA project
IGSS Siemens S7 TCP/IP Interface Driver (72) - V13
Schneider Electric Denmark A/S 2018-05-23 28
#define _7TS7TCP_OPEN_ERROR_SYMBOLIC 0x4813
//Cause: The symbolic layer cannot open PLC connection
//Action: Check setup for symbolic AGLink40CfgDev0000.xml file //Subcode: Symbolic error code
#define _7TS7TCP_WRITE_ERROR_SYMBOLIC 0x4814 //Cause: The symbolic layer cannot write object
//Action: Check setup for symbolic object
//Subcode: Symbolic error code
#define _7TS7TCP_READ_ERROR_SYMBOLIC 0x4815
//Cause: The symbolic layer cannot read object
//Action: Check setup for symbolic object //Subcode: Symbolic error code
IGSS Siemens S7 TCP/IP Interface Driver (72) - V13
Schneider Electric Denmark A/S 2018-05-23 29
9 SET UP PLC TO COMMUNICATE WITH IGSS (SIEMENS
S7 1200 & 1500 PLCS)
For Siemens S7 1200 and 1500 series PLCs certain functions must be enabled in the PLC’s
properties before the IGSS SCADA system can read data from the PLC.
Setup” Optimized block access”
1. Open the PLC’s Program blocks folder
2. Right-click the Data block folder and select Properties
3. In the Data block’s General pane, select Attributes and remove the check mark in the
Optimized block access box (see screen dump next page).
IGSS Siemens S7 TCP/IP Interface Driver (72) - V13
Schneider Electric Denmark A/S 2018-05-23 30
Enable “PUT/GET” communication from remote partner
1. Open the PLC folder
2. Select Device configuration
3. In the PLC’s General tab, select Webserver> Protection
4. Mark the Permit access with PUT/GET communication
from remote partner (PLC, HMI, OPC,…..) box.