9/23/2013 11:54 AM | |
Joined: 11/16/2012 Last visit: 2/26/2019 Posts: 42 Rating: (1) |
Hello, We are working on a type of anti-collision system that should calculate distances between vectors in the room. When uploading this program on the real PLC, we are experiencing problems that we cannot understand or explain why they occur. Please see the explanation below. We have a block that makes some geometrical calculations by different matrix operations. This block generates an INT output which says something about the current outreach of a vector. See Pic1 I noticed during testing that this value was changing, although the input was constant, something that is very strange. Therefore a logging block was made to check if the output is actually changing between the scans, but it is so fast that I cannot see it. The logging block runs the following code: See Pic2 When the program is downloaded to the PLC, and I go in and monitor the logging block, see that it has only indicted differences in the first scans. This is normal. This means that the output “nCraneOutreach” is stable. See Pic3 Now, I go to the block that generates “nCraneOutreach”, open the source code for this block and starts the monitoring inside the source code. See Pic4Now, all of a sudden, the output is not equal to 512, it is something entirely different. And this is when it starts go get really strange. Keeping the monitoring active inside the source code, I now go out and check what is happening with the logging block. When the source code monitoring is active, the block gives out different output between the scans,so the logging system is constantly counting up differences. See Pic5 If I stop the monitoring inside the source code, then the error does no longer exist and the logging block stops to count. If I restart the monitoring, then the differences continue and the logging counts up again. This has been tested multiple times on a CPU319 with same result. It does not occur on a 315 and does not occur in simulation. The firmware of the 319 is the latest according to siemens support. How is it possible that monitoring the code can cause changes in how the outputs are calculated? That should in my opinion not be possible. A video has been made to explain and show what is going on. Please see the following link. s397.photobucket.com/user/iqbad/media/PLCproblem.mp4.html AttachmentPictures.zip (147 Downloads) |
9/24/2013 3:59 PM | |
Joined: 11/16/2012 Last visit: 2/26/2019 Posts: 42 Rating: (1) |
Uploading the project prepared for testing on both a 315 and a 319 |
Last edited by: iad at: 10/11/2013 11:30 AM |
|
Follow us on