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 lamaLibrary:Simatic LamaLibrary
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.
80C8The slave does not respond within the set time
Solution: Check the data transmission rate, parity and wiring of the slave.
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.
80C9The slave does not respond within the time set by Blocked_Proc_Timeout.
Solution: Check the setting for Blocked_Proc_Timeout.
Check if the module has been configured with the Modbus_Comm_Load instruction. The module may possibly need to be reconfigured using Modbus_Comm_Load after a pull/plug or after voltage recovery.
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.
80D1The wait time for XON or CTS = ON has expired.
Solution: The communication partner has a fault, is too slow or is offline. Check the communication partner or change the parameters, if necessary.
80D2There is no DNS server address configured.
80D2“Hardware RTS always ON”: Send job canceled due to change from DSR = ON to OFF
Solution: Check the communication partner. Make sure that DSR is ON for the entire duration of transmission.
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.
80E0Frame aborted: Send buffer overflow / send frame too long
Solution: In the user program call the instruction more often or configure a communication with data flow control.
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
80E1Frame aborted: Parity error
Solution: Check the connection line of the communication partners, or verify that the same data transmission rate, parity and stop bit number are configured for both devices.
80E2Unsupported / Invalid Certificate
- Possible cause: The time of the module concerned has not been set or the module is not synchronized.
80E2Frame aborted: Character frame error
Solution: Check the settings for start bit, data bits, parity bit, data transmission rate, and stop bit(s).
80E3Certificate has been discarded.
80E3Frame aborted: Character overflow error
Solution: Check the number of data in the frame of the communication partner.
80E4No valid certificate authority was found.
80E4Frame aborted: Maximum frame length reached
Solution: Select a shorter frame length at the communication partner. The following are valid (depending on the module): 1-1024/2048/4096 (bytes)
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)
8180Invalid value for MB_DB parameter
Solution: The value configured for MB_DB (instance data DB) at the Modbus_Comm_Load instruction is not valid. Check the interconnection of the Modbus_Comm_Load instruction and its error messages.
8181The module does not support this data transmission rate.
Solution: Select a valid data transmission rate for the module at the BAUD parameter.
8182The module does not support this parity setting.
Solution: Select a suitable value for “Parity” at the PARITY parameter. The following are valid:
• None (1)
• Even (2)
• Odd (3)
• Mark (4)
• Space (5)
• Any (6)
8183The module does not support this type of data flow control.
Solution: Select a valid data flow control for the module at the FLOW_CTRL parameter.
8184Invalid value for “Response timeout”
Solution: Select a suitable value for “Response timeout” at the RESP_TO parameter. Valid range of values: 1 to 65535 (ms)
8185Diagnostics code NOT supported. (Error in the 1st call parameter)
8186Invalid slave address
Solution: Select a suitable slave address at the MB_ADDR parameter.
The following are valid: 1-247 at standard address area;
1-65535 at extended address area (0 is reserved for Broadcast)
8187Invalid value at MB_HOLD_REG parameter
Solution: Select a suitable value for the hold register at the MB_HOLD_REG parameter.
8188Invalid operating mode or broadcast (MB_ADDR = 0) and MODE parameter ≠ 1
Solution: Select the value 1 for MODE in Broadcast mode or select a different operating mode.
8189Invalid data address
Solution: Select a suitable value for the data address at the DATA_ADDR parameter.
818AInvalid length
Solution: Select a suitable data length at the DATA_LEN parameter.
818BInvalid value for DATA_PTR
Solution: Select a suitable value for the data pointer at the DATA_PTR parameter (M or DB address).
818CThe pointer to a MB_HOLD_REG area must be a data block or a bit memory address area.
Solution: Select a suitable value for the pointer to the MB_HOLD_REG area.
818CInterconnection error of the DATA_PTR parameter
Solution: Check the interconnection of the instruction.
818DThe area addressed by DATA_PTR is longer than the DB, or the area addressed is too small for the number of data bytes to be read or written.
Solution: Check the DATA_PTR pointer
8189Invalid addressing OF data at the MB_DATA_ADDR parameter. (Error in the 1st call parameter)
8200..82FFError in the 2nd call parameter
8200The interface is busy with an ongoing request.
Solution: Repeat the command later. Make sure that there are no commands still running before you start a new one.
8280Negative acknowledgment when reading module
Solution: Check the input at the PORT parameter.
You can find more detailed information on error causes in the Send_Config.RDREC.STATUS or Receive_Config.RDREC.STATUS static parameters or RDREC.STATUS and in the description of the SFB RDREC.
8281Negative acknowledgment when writing module
Solution: Check the input at the PORT parameter.
You can find more detailed information on error causes in the Send_Config.WRREC.STATUS or Receive_Config.WRREC.STATUS static parameters or WRREC.STATUS and in the description of the SFB WRREC.
8282Module not available
Solution: Check the input at the PORT parameter and ensure that the module can be reached.
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)
8380CRC error
Solution: Checksum error of the Modbus frame. Check the communication partner.
8381The function code is not supported or is not supported for broadcast.
Solution: Check the communication partner and make sure that a valid function code is sent.
8382Invalid length information in the request frame
Solution: Select a suitable data length at the DATA_LEN parameter.
8383Invalid data address in the request frame
Solution: Select a suitable value for the data address at the DATA_ADDR parameter.
8384Invalid data value error in the request frame
Solution: Check the data value in the request frame of the Modbus master
8385The diagnostic value is not supported by the Modbus slave (function code 08)
Solution: The Modbus slave only supports the diagnostic values 16#0000 and 16#000A.
8386The returned function code does not match the requested function code.
Solution: Check the response frame and the addressing of the slave.
8387A slave that was not requested answers
Solution: Check the response frame of the device. Check the address settings of the slave.
8388Error in the response of the slave to a write request.
Solution: Check the response frame of the slave.
8389Invalid data area definition:
• Illegal value of data_type
• DB number not permitted or not available:– Invalid value of db– DB number does not exist–DB number is already being used by another data area– DB with optimized access– DB is not in work memory
• Illegal valid for length
• Overlapping of MODBUS address areas that belong to the same MODBUS data type
Solution: Check the definition of the data areas.
8400..84FFError in the 4st call parameter
8452MB_HOLD_REG is not a pointer to a DB or a bit memory area
Solution: Check the MB_HOLD_REG pointer
8453MB_HOLD_REG is not a pointer of type BOOL or WORD
Solution: Check the MB_HOLD_REG pointer
8454 The area addressed by MB_HOLD_REG is longer than the DB, or the area addressed is too small for the number of data bytes to be read or written.
Solution: Check the MB_HOLD_REG pointer
8455MB_HOLD_REG points to a write-protected DB
Solution: Check the MB_HOLD_REG pointer
8456 Error during instruction execution. The cause of the error is shown in the STATUS parameter
Solution: Determine the value of the SFCSTATUS parameter. Check what this means in the description for SFC51, STATUS parameter.
8852Error 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
8828DATA_PTR points to a bit address that is not equal to n * 8
Solution: Check the DATA_PTR pointer
8852DATA_PTR is not a pointer to a DB or a bit memory area
Solution: Check the DATA_PTR pointer
8853DATA_PTR is not a pointer of type BOOL or WORD
Solution: Check the DATA_PTR pointer
8855DATA_PTR points to a write-protected DB
Solution: Check the DATA_PTR pointer
8856Error during call of SFC51
Solution: Call the Modbus_Master instruction again
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)
8FFFThe module is not ready temporarily due to a reset.
Solution: Repeat the request.

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

Modbus topics on lamaPLC

PageDateUserTags
2023/05/26 15:15 , , , ,
2024/11/18 21:23Sandor Vamos, , , , , , ,
2024/11/18 20:36Sandor Vamos, , , , , , ,
2023/07/04 17:30 , , , , , , , , ,
2024/09/05 15:06Sandor Vamos, , , ,
2024/08/18 14:47Sandor Vamos, , , ,
2024/02/02 16:19 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
2024/11/18 17:55 , , , , , , , ,
2023/06/24 22:42 , , , , , , , , , ,
2023/06/19 21:24 , , , , , , , , , , , , ,
2023/06/24 22:43 , , , , , ,
2024/12/06 21:37Sandor Vamos, , , , , , ,
2024/08/18 14:52Sandor Vamos, , , , , , ,
2023/06/01 11:49 , , ,
2024/03/20 17:19 , , , , , , , , , , , , , , , ,
2023/06/17 19:43 , , , , ,
2023/06/01 11:45 , , , , , , ,




This page has been accessed for: Today: 17, Until now: 2033