-

Diagnostic codes

The hexadecimal diagnostic codes listed here are output as WORD data type at the DiagCode output of the function block.

Code (hex)DescriptionOptions for remedy
0000 The function block is not activated. The Activate input is FALSE.Activate the function block by switching Activate to TRUE.
8000The FB has been completed successfully: The recipe data set has been written successfully, the written data has been verified. This is indicated by the value SAFETRUE at output Done.Use the CRCs which apply at the FB outputs DataSetCRC and FileCRC when reading data from this data set using the SF_RecipeRead function block.

The next write command can be applied.
8002The function block is in Prepare state. The following operations are done:
  • The values at the inputs are checked for plausibility.
  • Read permission to an existing recipe file (specified at the IDRecipeFile input) is requested at the Safety PLC.
Temporary state. No action required.
8004The FB waits until the recipe file to be written is read and ready in the RAM for the write operation.Temporary state. No action required.
8005After writing/updating the recipe data to the data set (IDRecipeDataSet) in the specified file (IDRecipeFile), the FB waits for the confirmation of the Safety PLC that the file has been written to the file system in the flash memory of the standard controller.Temporary state. No action required.
8006The recipe data is loaded into the RAM of the Safety PLC and is ready to be overwritten. The FB now waits for the write command at the FB input CommandWrite.Switch the CommandWrite input to SAFETRUE to start the write access.
8008Once the CommandWrite input has been switched to SAFETRUE, the FB sends a request to the Safety PLC for writing the data set specified at the IDRecipeDataSet input.Temporary state. No action required.
800CThe written data set is read from the RAM of the Safety PLC and validated. The validation is done in two steps:
  • With a CRC comparison, the FB checks whether the data set has been overwritten in the same cycle by another SF_RecipeWrite instance or deleted meanwhile.
  • Validates whether the values applied to the PayloadWrite** inputs (with ** = 0 to 15) are still the same as written to the file.
Temporary state. No action required.
C010The file ID applied to the IDRecipeFile input is not within the valid value range. Apply a valid file ID to the IDRecipeFile input.
After applying a valid ID, the FB enters the Prepare state (8002).
C020The data set ID applied to the IDRecipeDataSet input is not within the valid value range.Apply a valid data set ID to the IDRecipeDataSet input.
After applying a valid ID, the FB enters the Prepare state (8002).
C030The request for reading the file to be written (sent in state 8002, see above) has been denied by the Safety PLC.Retry to start the write access by applying a rising edge to the CommandWrite input.
After that, the FB enters the Prepare state (8002).
C040Error while reading the recipe file to be written. This diagnostic status may only occur if the file to be written already exists. Either the flash memory of the standard controller cannot be accessed or the file is corrupted.Verify that the flash memory is installed correctly in the standard controller.
C050An error occurred while writing the data set into the RAM of the Safety PLC. The data available in the RAM is not up-to-date.Retry the write command again at a later time.
After applying a rising edge at CommandWrite, the FB enters the Prepare state (8002).
C150An error occurred while writing the file from the RAM into the flash memory file system of the standard controller.
Possibly, the storage medium is write-protected, has been removed or is defective.
  • Retry the write command again at a later time.
    After applying a rising edge at CommandWrite, the FB enters the Prepare state (8002).
  • Verify that the flash memory is installed correctly in the standard controller and is neither defective nor write-protected.
C250An error occurred while reading the newly written data set from the flash memory file system of the standard controller for verification purposes. Without successful verification, the write process cannot be completed. Possibly, the data have been modified or deleted in the meantime by another FB.Make sure that accesses to the same recipe file (data set) are not colliding in your safety application.
(See topic "Preventing multiple and competing accesses to recipe files".)

Retry the write command again at a later time.
After applying a rising edge at CommandWrite, the FB enters the Prepare state (8002).
C070A validation error occurred. The newly written data set could not be validated due to the following reason: The target data set has been overwritten in the same Safety PLC cycle by another SF_RecipeWrite or SF_RecipeDeleteDataSet FB instance.
  • Make sure that only one FB instance is writing the file/data set at the same time.
  • Retry the write command.
    After applying a rising edge at CommandWrite, the FB enters the Prepare state (8002).
C0B0A validation error occurred. The newly written data set could not be validated due to the following reason: The target data set contains different values as applied to the PayloadWrite** inputs (with ** = 0 to 15) of the FB. During an active write operation, the payload values must not be changed.
  • Make sure that the values as applied to the PayloadWrite** inputs (with ** = 0 to 15) of the FB are not modified while the FB is one of the states between 8000 and 8006.
  • Retry the write command.
    After applying a rising edge at CommandWrite, the FB enters the Prepare state (8002).