meta data for this page
  •  

Simatic Modbus S7 error- and statuscodes

lamaPLC Simatic know-how contents

Simatic S7-1500 / S7-1200: Simatic S7-1500 / S7-1200
Simatic TIA portal (and classic) type-definitions: TIA Data-types
Simatic TIA SCL commands: SCL commands
Simatic TIA Basic know-hows: TIA Portal know-how
Simatic (TIA and classic) Modbus error- and statuscodes: Simatic Modbus S7 error- and statuscodes
Simatic S7 PLC types: S7 PLC types
Simatic TIA Diagnose generator: TIA Diagnose generator

2024/03/20 17:20

Simatic S7 error- and statuscodes


List of error codes related to Simatic communication (especially Modbus communication). I added a little to the list based on my own experience (red entries).

If you have more information about Modbus error signals, or if you found any error in the table, let me know!

I am constantly expanding and improving the table based on my own experience.



Status codesTextnotes and example call functions
0000ok - No error / Instruction executed without errors
0001Connection established
0003Connection terminated
7000#no job active AND no connection established (REQ=0, DISCONNECT=1)
7001Start of job processing / Connection establishment triggered,
BUSY = 1, DONE = 0.
7002Intermediate call. Connection is being established,
BUSY has the value “1”.
7003Connection is being terminated
7004Connection established AND monitored. No job processing active.
7005data is being sent.
7006data is being received.

If this status “freezes”, i.e. the #busy signal is not followed by #done, the unit does not respond, but is technically available. In the case of Modbus communication, it is worth checking the unit address and setting it. This is especially valid if the TCP/RTU converter is used, in this case “MB_CLIENT_DB”.MB_Unit_ID := address; may be important. It is worth testing the operation of the converter beforehand on a PC with the modbus client test program. - vamsan
00 .. 7FxxCPU Kein Fehler oder keine Warnung
8x3AInvalid pointer at parameter x.
8070All internal instance memories are in use.
8080The identifier entered for the communications port is invalid.
8081Timeout, module error, internal error.
The system data type used must match the organization block in the user program.
8082Parameter assignment failed because parameter assignment is currently being performed in the background.
8083Buffer overflow: The CM or CB has returned a receipt message with a length that is greater than permitted by the length parameter.
8085Error specifying the length at the LENGHT parameter. The specified length is “0” or greater than the maximum permitted value.
The connection ID (ID parameter) is already in use by a configured connection.
LEN parameter is greater than the largest allowable value (For S7-1200: 8192; for S7-1500 (TCP): 65536; with S7-1500 (FDL): 240 / 236)
- Parameter DATA and LEN both have the value “0”.
- The value of the LEN or DATA parameter was changed after the first call.
8086The ID parameter is out of range (1 .. 0x0FFF).
8087Maximum number of connections reached, no further connection possible.
8088 - LEN parameter is larger than the range specified in DATA.
- Receive area is too small.
8089The CONNECT parameter does not point to a connection description or the connection description was created manually.
8090Message length invalid, module invalid, message invalid.
Logical start address not valid.
8091Incorrect version in parameterization message.
Path does not exist or is invalid. (FileWriteC)
8092Invalid record length in parameterization message.
Illegal type for VARIANT pointer
The source or target area is only available in the load memory.
The “Name” parameter is not of the data type “STRING”, is too long or contains invalid characters. (FileWriteC)
8093The DP component addressed using ID or F_ID is not configured.
The “Offset” parameter points past the end of the file to be written. (FileWriteC)
The creation of the file is rejected because “Offset” is greater than zero. (FileWriteC)
8094“Length” is greater than the maximum permitted value. For an S7-1500 CPU, for example, the maximum value permitted is 16 MB, i.e. 16,777,216 bytes. (FileWriteC)
“Length” + “Offset” is greater than the maximum permitted value. (FileWriteC)
809AThe structure at the CONNECT parameter is not supported on an integrated interface or the length is invalid.
809BThe InterfaceId element within the TCON_xxx structure does not reference a hardware ID of a CPU or CM/CP interface or has the value “0”.
80A0Negative acknowledgment when reading from the module
80A1The specified connection or port is already in use.
Communication error:
- The specified connection has not yet been established.
- The specified connection is being terminated. Transmission via this connection is not possible.
- The interface is reinitialized.
- Negative acknowledgment when writing to the module
- Write error; the data in the file on the memory card may be partly overwritten. (FileWriteC)

This error is often due to a conflict of IDs (CONN_OUC). In case of this error, it is worth recompiling the entire program (compile → software (rebuild all) and downloading it (PLC newstart!)) - vamsan
80A2Local or remote port is used by the system. The following ports are reserved locally: 20, 21, 80, 102, 135, 161, 162, 443, 34962, 34963, 34964 and the range 49152 to 65535.
DP protocol error at layer 2 (e.g. slave failure or bus faults)
80A3ID is used by a connection created by the user program that also uses the same connection description at the CONNECT parameter.
80A3An attempt is being made to terminate a non-existent connection or the connection has already been terminated.
General communication error or IO device / DP slave cannot be reached
80A4IP address of the remote endpoint of the connection is invalid or it matches the IP address of the local partner.
80A4Temporary communication error: The interface is being reconfigured or the connection is being set up.
80A7Communication error: You executed “TDISCON” before “TCON” was completed.
DP slave or module is busy (temporary error)
80A8DP slave or module reports inappropriate versions
80A9Feature not supported
Function is not supported by the DP slave or the module
80AA .. 80AFDP slave or module reports a manufacturer-specific error in its application. Please refer to the documentation provided by the manufacturer of the DP slave or module.
80B0Invalid index
Module does not recognize the data set Data set number ≥ 256 is not permitted
80B1Write length error
Error in length specification.
You changed the DATA parameter before the current job ended.
The source area specified by the “Data” parameter is shorter than the length required at the “Length” parameter. (FileWriteC)
80B2Invalid slot
The configured slot is not occupied.
80B3Type conflict
Actual assembly type not equal to target assembly type
The parameterized protocol variant (parameter ConnectionType in the connection description) is UDP. Please use the “TUSEND” / “TURCV” instruction for a UDP connection.
There is not enough space on the memory card or in the internal load memory. (FileWriteC)
80B4Invalid area
DP slave or module reports access to an illegal area
Only with TCON_IP_RFC: The local T-Selector was not specified or the first byte does not contain the value 0x0E (only with a length of T-Selector = 2) or the local T-Selector begins with “SIMATIC-”.
The memory card or file is write-protected. (FileWriteC)
80B5State conflict
DP slave or module is not ready
With connection type 13 = UDP, only passive connection establishment is permitted (ActiveEstablished parameter of the TCON_IP_v4 / TCON_PARAM structure has the value TRUE).
80B6Invalid connection type / access denied only TCP connections are supported.
DP slave or module denies access
Parameterization error in the ConnectionType parameter of the data block for the connection description.
- Only valid for TCON_IP_v4: 0x11, 0x0B and 0x13.
- Only valid for TCON_IP_RFC: 0x0C and 0x12
80B7Invalid range
DP slave or module reports an invalid range of a parameter or a value
For TCON_IP_v4:
- TCP (active connection establishment): Remote port is “0”.
- TCP (passive connection establishment): Local port is “0”.
- UDP: Local port is “0”.
- Partner endpoint IP address was set to 0.0.0.0.
For TCON_IP_RFC:
- Local (LocalTSelector) or remote (RemoteTSelector) T-selector specified with a length greater than 32 bytes.
- A length greater than 32 was entered for TSelLength of the T-selector (local or remote).
- Error in the length of the IP address of the respective connection partner.
- Partner endpoint IP address was set to 0.0.0.0.
80B8Invalid parameter
DP slave or module reports an invalid parameter
The ID parameter in the local connection description (structure at the CONNECT parameter) and the ID parameter of the statement are different.
80B9DP slave or module reports an invalid type, eg buffer too small
80BAS7-1500-R/H-CPU: The primary CPU fails while reading or writing a data record.
80BBInvalid type
Invalid value at ActiveEstablished parameter.
80C0Read constrain conflict
The data is only written when the CPU is in STOP mode. Note: This means that the user program cannot write. The data is only written online with PG/PC.
The file cannot be accessed. (FileWriteC)
80C1Write constrain conflict
The module has not yet processed the data from the previous write request for the same data set on the module.
80C2Resource busy
The module is currently processing the maximum possible number of jobs for a CPU.
80C3Resource unavailable
All connection resources are in use or ports may be in dynamic use by other applications or connections.
80C3 - A block with this ID is already being processed in another priority group.
- Internal lack of resources.
The maximum number of simultaneously active FileWriteC instructions has already been reached.
80C4Temporary communication error:
- The connection cannot be established at the moment.
- The connection cannot be established because firewalls on the connection path are not enabled for the required ports.
- The interface is receiving new parameters.
- The configured connection is currently being removed by a “TDISCON” instruction.

Most often, the solution to this error is to recompile the entire program (compile → software (rebuild all) and download it (PLC newstart!) - vamsan
80C5DP slave or module not available.
The connection partner refuses to establish the connection, cleared down the connection or actively ended it.
- Connection terminated by the communication partner.
- LSAP of the remote connection partner not released
80C6Network error - The connection partner cannot be reached.
Record transfer aborted due to priority class abort.
80C7Execution timed out.
Job aborted due to restart (warm start) or cold start of the DP master.
80C8..80CFDP slave or module reports a manufacturer-specific error regarding its resources. Please refer to the documentation provided by the manufacturer of the DP slave or module.
80C8No response OF the server in the defined period.
Value at the ID parameter is already being used by a connection that was created via the user program. The connection uses the same ID but different connection settings on the CONNECT parameter.
80C9Connection partner validation failed. The connection partner who wants to establish a connection does not correspond to the partner defined in the structure at the CONNECT parameter.
80C9The length of the receive area is smaller than the length of the sent data.
80CEThe IP address of the local interface is 0.0.0.0
80D0Related to TCP and the active connection endpoint: The remote_qdn parameter is an empty string. In this case no connection can be established.
80D1The remote_qdn parameter is not a fully qualified domain name. Possibly the dot is missing at the end.
80D2There is no DNS server address configured.
80D3The fully qualified domain name could not be resolved. Possible causes:
- The DNS server cannot be reached, e.g. B. because it is down or the remote port is unreachable.
- An error occurred while communicating with the DNS server.
- The DNS server returned a valid DNS response, but the response did not contain an IPv4 address.
80E0Inappropriate or bad message was received.
80E1Error during handshake. Possible causes:
- Canceled by user
- Security not high enough
- Renegotiation is not supported
- SSL/TLS version is not supported
- Hostname validation failed
80E2Unsupported / Invalid Certificate
- Possible cause: The time of the module concerned has not been set or the module is not synchronized.
80E3Certificate has been discarded.
80E4No valid certificate authority was found.
80E5Certificate expired.
80E6Integrity error in transport layer security protocol.
80E7Unsupported extension in X.509 V3 certificate.
80E9TLS server without server certificate is not supported.
80EADTLS (UDP) protocol is not supported.
80EBA client cannot request a client certificate.
80ECThe server cannot validate against the subjectAlternateName (Only clients can do that.)
80EDTLSServerCertRef_m ID not valid
80EEHandshake not finished yet
8100Invalid operating mode
8100..81FFError in the 1st call parameter
8152The WSTRING, WCHAR, BOOL, ARRAY of STRING, ARRAY of WSTRING and ARRAY of WCHAR data types are not supported at the SRCBLK parameter. (Error in the 1st call parameter)
8181Function code is NOT supported. (Error in the 1st call parameter)
8182the length OF the Modbus frame in the frame header does NOT match the number OF received bytes. (Error in the 1st call parameter)
8183#error reading OR writing data OR access outside the address area (Error in the 1st call parameter)
8184Invalid exception code received. (Error in the 1st call parameter)
8185Diagnostics code NOT supported. (Error in the 1st call parameter)
8186received function code does NOT match the one sent originally. (Error in the 1st call parameter)
8187The MB_HOLD_REG parameter has an Invalid Pointer. Data area is too small. (Error in the 1st call parameter)
8188The MB_MODE parameter has an Invalid value. (Error in the 1st call parameter)
8189An invalid data used in MB_DATA_ADDR (Error in the 1st call parameter)
818AInvalid data length at the MB_DATA_LEN parameter. (Error in the 1st call parameter)
818BThe MB_DATA_PTR parameter has an Invalid Pointer. (Error in the 1st call parameter)
818CTimeout at parameter BLOCKED_PROC_TIMEOUT OR RCV_TIMEOUT (Error in the 1st call parameter)
8189Invalid addressing OF data at the MB_DATA_ADDR parameter. (Error in the 1st call parameter)
8200..82FFError in the 2nd call parameter
8200A different Modbus request is currently being processed via the PORT. (Error in the 2nd call parameter)
8281Function code is NOT supported. (Error in the 2nd call parameter)
8282the length OF the Modbus frame in the frame header does NOT match the number OF received bytes. (Error in the 2nd call parameter)
8283#error reading OR writing data OR access outside the address area. (Error in the 2nd call parameter)
8284Invalid exception code received. (Error in the 2nd call parameter)
8285Diagnostics code NOT supported. (Error in the 2nd call parameter)
8286received function code does NOT match the one sent originally. (Error in the 2nd call parameter)
8300..83FFError in the 3st call parameter
8352The WSTRING, WCHAR, BOOL, ARRAY of STRING, ARRAY of WSTRING and ARRAY of WCHAR data types are not supported at the DSTBLK parameter. (Error in the 3st call parameter)
8380received Modbus frame has incorrect format OR too few bytes were received.(Error in the 3st call parameter)
8381Function code is NOT supported.(Error in the 3st call parameter)
8382the length OF the Modbus frame in the frame header does NOT match the number OF received bytes.(Error in the 3st call parameter)
8383#error reading OR writing data OR access outside the address area. (Error in the 3st call parameter)
8384Invalid exception code received. (Error in the 3st call parameter)
8385Diagnostics code NOT supported. (Error in the 3st call parameter)
8386received function code does NOT match the one sent originally. (Error in the 3st call parameter)
8387the protocol ID OF the Modbus TCP frame received BY the server is NOT “0”. (Error in the 3st call parameter)
8388the Modbus server sent a different data length than was requested. (Error in the 3st call parameter)
8389Invalid data area definition. (Error in the 3st call parameter)
8400..84FFError in the 4st call parameter
8500..85FFError in the 5st call parameter
8600..86FFError in the 6st call parameter
8700..87FFError in the 7st call parameter
8800..88FFError in the 8st call parameter
8900..89FFError in the 9st call parameter
8A24The “Data” points to an impermissible area, for example to the load memory or the local data. (FileWriteC)
8A51Invalid data type of the “Data” parameter. (FileWriteC)
8A52The tag at the Data parameter is insufficient. A part of the source area data may have been written. (FileWriteC)

This error log is my own “collection”. It may contain errors and inaccuracies, Sandor Vamos, 12.05.2023.


This page has been accessed for: Today: 5, Until now: 663