~~NOCACHE~~ ====== Simatic Modbus S7 error- and statuscodes ====== {{page>simatic:content}} {{ :simatic:clipboard01.png|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 codes^Text^notes and example call functions| |0000|**ok** - No error / Instruction executed without errors|| |0001|Connection established|| |0003|Connection terminated|| |7000|#no job active AND no connection established (REQ=0, DISCONNECT=1)|| |7001|Start of job processing / Connection establishment triggered, \\ BUSY = 1, DONE = 0.|| |7002|Intermediate call. Connection is being established, \\ BUSY has the value "1".|| |7003|Connection is being terminated|| |7004|Connection established AND monitored. No job processing active.|| |7005|data is being sent.|| |7006|data 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 .. 7Fxx|CPU Kein Fehler oder keine Warnung|| |8x3A|Invalid pointer at parameter x.|| |8070|All internal instance memories are in use.|| |8080|The identifier entered for the communications port is invalid.|| |8081|Timeout, module error, internal error. \\ The system data type used must match the organization block in the user program.|| |8082|Parameter assignment failed because parameter assignment is currently being performed in the background.|| |8083|Buffer overflow: The CM or CB has returned a receipt message with a length that is greater than permitted by the length parameter.|| |8085|Error 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.|| |8086|The ID parameter is out of range (1 .. 0x0FFF).|| |8087|Maximum number of connections reached, no further connection possible.|| |8088| - LEN parameter is larger than the range specified in DATA. \\ - Receive area is too small.|| |8089|The CONNECT parameter does not point to a connection description or the connection description was created manually.|| |8090|Message length invalid, module invalid, message invalid. \\ Logical start address not valid.|| |8091|Incorrect version in parameterization message. \\ Path does not exist or is invalid. (FileWriteC)|| |8092|Invalid 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)|| |8093|The 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)|| |809A|The structure at the CONNECT parameter is not supported on an integrated interface or the length is invalid.|| |809B|The 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".|| |80A0|Negative acknowledgment when reading from the module|| |80A1|The 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 || |80A2|Local 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)|| |80A3|ID is used by a connection created by the user program that also uses the same connection description at the CONNECT parameter.|| |80A3|An 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|| |80A4|IP address of the remote endpoint of the connection is invalid or it matches the IP address of the local partner.|| |80A4|Temporary communication error: The interface is being reconfigured or the connection is being set up.|| |80A7|Communication error: You executed "TDISCON" before "TCON" was completed. \\ DP slave or module is busy (temporary error)|| |80A8|DP slave or module reports inappropriate versions|| |80A9|**Feature not supported** \\ Function is not supported by the DP slave or the module|| |80AA .. 80AF|DP 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.|| |80B0|**Invalid index** \\ Module does not recognize the data set Data set number ≥ 256 is not permitted|| |80B1|**Write 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)|| |80B2|**Invalid slot** \\ The configured slot is not occupied.|| |80B3|**Type 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)|| |80B4|**Invalid 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)|| |80B5|**State 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).|| |80B6|**Invalid 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|| |80B7|**Invalid 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.|| |80B8|**Invalid 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.|| |80B9|DP slave or module reports an invalid type, eg buffer too small|| |80BA|S7-1500-R/H-CPU: The primary CPU fails while reading or writing a data record.|| |80BB|**Invalid type** \\ Invalid value at ActiveEstablished parameter.|| |80C0|**Read 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)|| |80C1|**Write constrain conflict** \\ The module has not yet processed the data from the previous write request for the same data set on the module.|| |80C2|**Resource busy** \\ The module is currently processing the maximum possible number of jobs for a CPU.|| |80C3|**Resource 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.|| |80C4|Temporary 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 || |80C5|DP 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 \\ || |80C6|**Network error** - The connection partner cannot be reached. \\ Record transfer aborted due to priority class abort.|| |80C7|Execution timed out. \\ Job aborted due to restart (warm start) or cold start of the DP master.|| |80C8..80CF|DP 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.|| |80C8|No 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.|| |80C9|Connection 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.|| |80C9|The length of the receive area is smaller than the length of the sent data.|| |80CE|The IP address of the local interface is 0.0.0.0|| |80D0|Related to TCP and the active connection endpoint: The remote_qdn parameter is an empty string. In this case no connection can be established.|| |80D1|The remote_qdn parameter is not a fully qualified domain name. Possibly the dot is missing at the end.|| |80D2|There is no DNS server address configured.|| |80D3|The 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.|| |80E0|Inappropriate or bad message was received.|| |80E1|Error during handshake. Possible causes: \\ - Canceled by user \\ - Security not high enough \\ - Renegotiation is not supported \\ - SSL/TLS version is not supported \\ - Hostname validation failed|| |80E2|Unsupported / Invalid Certificate \\ - Possible cause: The time of the module concerned has not been set or the module is not synchronized.|| |80E3|Certificate has been discarded.|| |80E4|No valid certificate authority was found.|| |80E5|Certificate expired.|| |80E6|Integrity error in transport layer security protocol.|| |80E7|Unsupported extension in X.509 V3 certificate.|| |80E9|TLS server without server certificate is not supported.|| |80EA|DTLS (UDP) protocol is not supported.|| |80EB|A client cannot request a client certificate.|| |80EC|The server cannot validate against the subjectAlternateName (Only clients can do that.)|| |80ED|TLSServerCertRef_m ID not valid|| |80EE|Handshake not finished yet|| |**8100**|**Invalid operating mode**|| |**8100..81FF**|**Error in the 1st call parameter**|| |8152|The 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//)|| |8181|Function code is NOT supported. (//Error in the 1st call parameter//)|| |8182|the 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//)|| |8184|Invalid exception code received. (//Error in the 1st call parameter//)|| |8185|Diagnostics code NOT supported. (//Error in the 1st call parameter//)|| |8186|received function code does NOT match the one sent originally. (//Error in the 1st call parameter//)|| |8187|The MB_HOLD_REG parameter has an Invalid Pointer. Data area is too small. (//Error in the 1st call parameter//)|| |8188|The MB_MODE parameter has an Invalid value. (//Error in the 1st call parameter//)|| |8189|An invalid data used in MB_DATA_ADDR (//Error in the 1st call parameter//)|| |818A|Invalid data length at the MB_DATA_LEN parameter. (//Error in the 1st call parameter//)|| |818B|The MB_DATA_PTR parameter has an Invalid Pointer. (//Error in the 1st call parameter//)|| |818C|Timeout at parameter BLOCKED_PROC_TIMEOUT OR RCV_TIMEOUT (//Error in the 1st call parameter//)|| |8189|Invalid addressing OF data at the MB_DATA_ADDR parameter. (//Error in the 1st call parameter//)|| |**8200..82FF**|**Error in the 2nd call parameter**|| |8200|A different Modbus request is currently being processed via the PORT. (//Error in the 2nd call parameter//)|| |8281|Function code is NOT supported. (//Error in the 2nd call parameter//)|| |8282|the 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//)|| |8284|Invalid exception code received. (//Error in the 2nd call parameter//)|| |8285|Diagnostics code NOT supported. (//Error in the 2nd call parameter//)|| |8286|received function code does NOT match the one sent originally. (//Error in the 2nd call parameter//)|| |**8300..83FF**|**Error in the 3st call parameter**|| |8352|The 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//)|| |8380|received Modbus frame has incorrect format OR too few bytes were received.(//Error in the 3st call parameter//)|| |8381|Function code is NOT supported.(//Error in the 3st call parameter//)|| |8382|the 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//)|| |8384|Invalid exception code received. (//Error in the 3st call parameter//)|| |8385|Diagnostics code NOT supported. (//Error in the 3st call parameter//)|| |8386|received function code does NOT match the one sent originally. (//Error in the 3st call parameter//)|| |8387|the protocol ID OF the Modbus TCP frame received BY the server is NOT "0". (//Error in the 3st call parameter//)|| |8388|the Modbus server sent a different data length than was requested. (//Error in the 3st call parameter//)|| |8389|Invalid data area definition. (//Error in the 3st call parameter//)|| |**8400..84FF**|**Error in the 4st call parameter**|| |**8500..85FF**|**Error in the 5st call parameter**|| |**8600..86FF**|**Error in the 6st call parameter**|| |**8700..87FF**|**Error in the 7st call parameter**|| |**8800..88FF**|**Error in the 8st call parameter**|| |**8900..89FF**|**Error in the 9st call parameter**|| |8A24|The "Data" points to an impermissible area, for example to the load memory or the local data. (FileWriteC)|| |8A51|Invalid data type of the "Data" parameter. (FileWriteC)|| |8A52|The 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: {{counter|today}}, Until now: {{counter|total}}