Hello,
once every few months a CP-1006 unit stops working with an E-95-00-00ff6a (run time exceeded) error code and shows the attached popup window when I prompt the "About error..." button. It seems it has trouble with the built-in file writing function, which we use here regularly(about once every 5 minutes). What can cause the error and how can we prevent it? Does the function have a built-in integer type counter that gets overflown at 32768, or some similar issue?
Thanks,
Answers 4
Hello Márk,
Calling the write function to a file will definitely increase the cycle time. To begin with, I would recommend analyzing the values in which the cycle time normally varies. This value for the previous cycle can be seen in the %SW22 system register. You can capture and display the value of this parameter using the GraphMaker tool in Mosaic.
Through the Progress Manager (marked in red) you specify that you want to monitor the value of this variable and you start the recording when you call the write function to the file.
Upload the program with the analyzer set to the PLC and click on the Launch analyzer icon (marked in blue). Until the write function is called, the first half of the buffer will be filled. After the condition is met, the second half (marked in yellow) begins to be fulfilled. You can download the contents of the buffer at any time by clicking the Download analyzer buffer icon (marked in brown in the image).
In GraphMaker, you will then see how the cycle time changes, what the usual time is, and how much longer it will be when writing to the file. You can compare the average value with the value that is set in the project manager in the SW / CPM node. When it exceeds the First warning value and approaches the Crash time, then the risk of write failures is higher. It is enough for a couple of circumstances to come together that adversely affect the length of the cycle. If it is possible to further increase the value of the parameter Crash time, do so. If it will already be so high and the PLC cycle should last in the order of hundreds of milliseconds, it is necessary to figure out how to reduce the cycle time.
Thank you Lubos, it was very informative, the crash time increment should solve this then.
In GraphMaker, does the value of %SW22 equal to the program's runtime in milliseconds? If so, then I've definitely found the issue.
Best wishes,
Márk
No, the value in %SW22 is in hundreds us (1 unit = 100 us).
In that case, the issue must be that the program cycle reaches ~130ms several times an hour, and goes over 150ms every now and then. I raised the default values a bit, that should be an adequate solution for it. Thank you for the assistance.
This question is solved.