I have a strange problem with one of my libraries. Including the library in an application causes visualizations to stop working. This happen even if the library is only included in the library manager, and none of the function blocks are actually used in the program. I get a message "The online visualization is waiting for a connection. Please start the application", and applies to web visualizations as well. I can see by monitoring the cycle times in VISU_TASK that it's not actually doing anything (33uS cycle time), though it does show a status of "Valid, Active"
The rest of the program runs without any issues. I included checks_in_libs in the compile options, and have set breakpoints in all the implicit checks. There are no out of bounds issues, or bad pointers.
I can get this to consistently occur by simple adding or removing the library from the library manager. One other thing happens whenever the library is included. The program downloads and runs. I remove the library from library manager, perform a "Clean All", and try to download the new program, without the library. Every time, I'll get a message: "No connection to the device. Please rescan your network." The application in the PLC is then deleted, the PLC restarts, and then I can then download as normal.
There's nothing wrong with any of the code in the libraries. If I copy the function blocks and visualizations from the library directly into my project, I can use them without any issues. I thought maybe I could pinpoint which object was causing the problem by deleting them one by one in the library, but this doesn't solve the problem. If I delete everything from the library and include it as an empty library, the visualization works.
1. If I include a library in the library manager, but don't actually use any of the objects in it, should it have any effect on the program? I have to do a "Clean All" in order to download after making changes to the library, because the compiler seems to recognize that I haven't actually made any changes to the program by changing a library that's not used anywhere. But it makes a difference on the visualization for some reason.
2. Is there any way to further troubleshoot why a visualization won't start? The log file doesn't contain anything useful, though sometimes I get "LOGGING BUFFER OVERFLOW; LOG MESSAGES DISMISSED"
I'm using Schneider Machine Expert 1.2.4 (Codesys 188.8.131.52), with an M241 controller
Log in to post a comment.