LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Property Node and RT (again!)

To start off:  Sorry for bringing this topic again -- I know there are a few threads on this already.  And I am aware that Property Nodes "do not work well" on RT. 
 
Do they not work at all?  They work when targeted but not in a built executable?  What's the crux of the problem here? 
 
A property node (for the number of items in an Enum) somehow crept into my RT code.  When targeted, the app worked just fine!  However, it failed when the app was turned into an executable (and this is how I found out about the property node in there).  So, it seems that property nodes do work when targeted (at least the aforementioned one did).  But not when turned into an executable.  I also noticed that when building the executable, the front-panel for the particular VI which had the offending property node was not being removed. 
 
I would like to know if this is by design?  I feel we need a better understanding of what and why a particular functionality doesn't work on RT -- when targeted and in a standalone executable -- and, better yet, a way of automatically detecting if these rules are being broken. 
 
-Khalid
Message 1 of 2
(3,248 Views)
Hi Khalid:

Take a look at this document:

http://zone.ni.com/devzone/conceptd.nsf/webmain/60644843d0c0395286256d17007ff5fd

If you read through the recommendations right at the bottom you will find this:

"Avoid using property nodes in your application. In general, LabVIEW Real-Time does not support property nodes for deployed applications. Also, property nodes reduce the determinism of a thread. Use property nodes only for updating indicators and controls on remote panels."

Usually property nodes are linked to front panel objects. In RT programming, it is recommended that you design your application without any controls, indicators, or any other objects that my reside on the front panel such as graphs because these tend to harm determinism. Furthermore, RT applications that run on the target as an executable, are headless, hence having controls and indicators do not make sense. When in development mode however, we can have a front panel on our host that can be used to receive data from the RT target essentially for debugging purposes. This is known as a front panel connection. In RT, property nodes are only supported when a front panel connection is established with the RT Target. A front panel connection is created when you open LabVIEW on your host computer and switch execution target to your RT system. However, when building executables this is not the case. This is why you are running in to problems.

Another good source to refer to is the LabVIEW RT User Manual: http://www.ni.com/pdf/manuals/322154e.pdf (Read page 1-5 or pg 13 of 72)
0 Kudos
Message 2 of 2
(3,215 Views)