04-17-2012 10:35 AM - edited 04-17-2012 10:43 AM
I've been using Profibus in ETS for a long time. I just starting having a problems when I upgraded to 2011 SP1 f1. The problem only occurs in built exe's. I made a simple project (see attached) with the Comsoft example VI (DFP2_DP-SlaveExample.vi). Everything works fine in development mode by clicking the run arrow. If I build the VI into and exe and deploy, it reports the following error in right after DFP2_Initialisation.vi:
Error 1055 occurred at Property Node in DFP2_DP-SlaveExample.vi
LabVIEW: The object reference is invalid
Here my setup:
Windows 7 Ultimate SP1 32-bit
Labview (32-bit) 11.0.1f1 (2011 SP1 f1) (patch from here)
Labview Real-Time ETS (11.0.1)
NI Part# 780160-01 (Profi-2-PCI)
This seem to be a new problem since I patched Labview 2011 SP1 with f1. Is it possible the patch is not compatible with Labview Real-Time and the Comsoft VISA driver? Can I roll back the f1 patch? If so, how?
04-17-2012 12:19 PM - edited 04-17-2012 12:20 PM
It looks like property nodes to front panel object behave differently than before. Front panel property nodes now report 1055 error when built into and exe since front panel objects to not exist inside Real-Time exe's. The Profibus example does have some front panel property nodes. These types of errors are "really hard" to find since they do not show up in development mode.
Is the change to property nodes noted anywhere? Why can't the Labview compiler ignore errors to front panel property node like it did before? Was there a good reason for this change? Is it possible this was introduced because of the patch to f1?
04-18-2012 10:28 AM
I have an help file from the manual that explains some of the things you can't do in RT VIs.
Specifically, check out the section on "Modifying Front Panel Objects of RT Target VIs". I believe that this has been true for a while, so I'm not sure why you're seeing this error since the patch upgrade.
04-18-2012 12:17 PM
Thanks for the reply. I do not see error 1055 on other versions of Labview. I just took the code above and saved it for Labview 2010, built an exe and ran it on my ETS system. The front panel property nodes did not report error 1055. I agree that property nodes to front panel objects in build Real-Time applications are not supported. However, the error 1055 is new. I've had those property nodes in this code since Laview 8.5.1 (incorrectly might I add) and they never reported error 1055. The behavior of front panel property nodes has changed in Labview 2011. And since this behavior is only in the built exe, its very painful to debug.
04-19-2012 04:17 PM
I was able to reproduce this issue in LabVIEW 2011 SP1 (without the f1 patch) using a very simple program that does nothing besides produce a heartbeat and access a property node of a front panel indicator. As you said, it does not occur in LabVIEW 2010 SP1, and it does not occur unless the front panel is closed. The error didn't even happen when I was using remote debugging on the executable.
I will be looking into this further, and I'll keep you posted. For now it sounds like you were able to just modify the code to not use those property nodes.
04-20-2012 08:42 AM - edited 04-20-2012 08:42 AM
Thanks for testing this too! This problem has really nothing to do with Profibus except the fact that the Profibus slave example code has property node to front panel objects. Those property nodes have been removed and my Profibus application is working fine now in Labview 2011 SP1 f1. What's really strange is why the behavior of front panel property nodes (in real-time exe's) has changed. I suggest Comsoft update their examples to have conditional disable structures when the code is compiled to a real-time exe.
04-23-2012 02:51 PM
I've finished looking into this, and R&D is aware of this issue. If you want to look for the fix in future releases of LabVIEW, the error is associated with CAR 348079.
We will also look into getting the profibus example modified.