02-18-2009 03:09 PM
Hi,
I am using labview 8.6 with CRIO 9014 and 9103 fpga chassi. I am using FPGA VI to acquire data (2 signals) and using DMA FIFO, i am transferring data to RT host vi. In RT host vi, I am processing data and displaying them in 2 graphs. In a separate loop i am using property nodes to set a value to a control in RT host vi. This loop takes a about 700ms to iterate when its changing values of those controls. Should i use property nodes in real time application? Thanks.
02-19-2009
11:12 AM
- last edited on
04-18-2025
03:27 PM
by
Content Cleaner
Hi Suni,
You can use property nodes with a LabVIEW Real-Time application. Be sure to check the readme to ensure the LabVIEW Real-Time Module Readme File as this will contain any information if there is a particular bug with a property node. Not all property nodes are supported in Real-Time engines. Be sure to check the help file for the property node before using the property node. Also this documents discusses the pitfalls of using property nodes with front panel interaction
" Modifying Front Panel Objects of RT Target VIs
When a VI or stand-alone application runs on an RT target, you cannot execute VIs that modify a front panel. For example, you cannot change or read the properties of front panel objects with property nodes because there is no front panel for VIs that run on the RT target. The VI still runs on the RT target but the front panel object is not affected and returns an error. In some cases, you can establish a front panel connection with the RT target to use some unsupported LabVIEW features. Right-click an RT target in the Project Explorer window and select Connect from the shortcut menu to open a front panel connection with the target.
The following features only work on an RT target with a front panel connection:
Note An RT target updates the values of property nodes and control references asynchronously, meaning a property node or control reference might not contain the latest value of the indicator or control. |
Hope this helps!
02-20-2009 12:03 AM
Hi,
Thanks for the reply. I tried property node function in my vi to change value of a control that runs on RT target. It worked but that process slowed the loop. Do you mean real time stand alone applicaton will not work with property nodes? Is there any aother way i can change value of controls in vis except using propety nodes? thanks.
02-20-2009 04:28 AM
Hi friends
I am Joseph from London. Plz tell me more about the property.
Joseph
02-20-2009
06:01 AM
- last edited on
04-18-2025
03:27 PM
by
Content Cleaner
STTLLER wrote:
Hi friends
I am Joseph from London. Plz tell me more about the property.
Joseph
Property nodes are LV nodes that let you modify the settings of LV object's attributes. They come in both implicit and explicit forms.
THis Nugget will show you properties bing used.
Ben
02-20-2009 02:46 PM
Suni,
There will be no front panel when the application runs on the RT Target. Property nodes are mostly used to modify the appearance of front panels objects programmatically. The key word here being appearance. In the case of a real-time application, there shouldn't be a front panel at all or any front panel interaction. Having any type of front panel interaction will result in the loss of determinism. Loss of determinism defeats the purpose of using real-time.
In your case, it sounds like you do have a front panel where you are modifying the appearance of front panel objects. If this is the case, you might want to rethink application architecture to ensure that your application is still running deterministically and remove the any property nodes that modify the front panel objects.
Hope this is clear.
02-20-2009 05:22 PM
Hi,
Thanks for the reply.
I do have front panel for my RT vi. In my RT VI, I am displaying data that come from FPGA vi using DMA FIFO. I am using FPGA VI to do my closed loop control system entirely. But I need away to display a psd function of input signal. I also need some boolean user controls to ouput data using digital I/O module. Those boolean controls are also in the RT front panel. depending the level of the input signals I want to be able to set these boolean controls to false automaticaly (safety feature). That is why i used property nodes. Could you tell me a better way to do this? Thanks very much.
02-23-2009
03:06 PM
- last edited on
04-18-2025
03:28 PM
by
Content Cleaner
Hi Suni,
For your application, it is probably best to have two different VIs. One running on the host and the other running on the target system. There are a number of ways to communicate between the two.
This document lists a number of ways to communicate between the two:
Real-Time VI to Host VI Communication Methods
There are also a number of examples in the NI Example Finder. The directory structure for this is Toolkits and Modules-> Real-Time->Network Communication. The examples in that folder were specifically meant for RT Targets.
With LabVIEW 8.0, you can use shared variables to deterministically transfer data. I would recommended shared variables, if the data traffic isnt too heavy
Like I mentioned earlier, using property nodes will reduce the determinism of your program and defeat the purpose of using Real-Time software.
Hope this helps.
02-24-2009 09:43 AM
Hi,
Thanks for your reply. I tried using shared variables method and it got out of hand because I had to create lots of shared variables. In my application I have 10 boolean controls and 3 boolean indicators. i also have 6 arrays of numeric and 2 waveform (PSD) to diplay. Could you tell me where i can find a vi somthing similar to this using network communiation? Should I use STM read/write functions instead of regular TCP functions?
02-25-2009 03:21 PM
Hi Suni,
Like I mentioned in my previous post, there are examples with TCP/IP located in the NI Example Finder. The directory structure for this is Toolkits and Modules-> Real-Time->Network Communication. The examples in that folder were specifically meant for RT Targets.
Hope this helps!