Discussion:
Shared variables on host instead of RT system?
(too old to reply)
hkowalczyk
2008-07-31 14:40:18 UTC
Permalink
I have developed an RT application, based on the 2 loop continuous communication architecture project, to control a dynamometer, all of the control and data acq is done on the RT target and all of the local variables packed in to a network array.  The array is then displayed and logged on  the host computer.  The system works 99.9% of the time. However, every once in a while the data seems to pause, i.e. the graphs displayed on the host don't change values anymore, however, the time index is still increasing. The pause varies from about a second to up to 10 seconds. Most of the time the dyno is still under control, i.e. the RPM doesn't runaway, so obviously the main control loop is still functioning.  So I was thinking that perhaps the RT system is getting overloaded and I'm trying to get rid of as much load as possible, however, apparently I have a fundamental misunderstanding of how the  network variable server/host works.
 
I moved all of the network published variables to a new variable file and put that on the host computer project, I left all of the single process variables in the RT library file so that the RT system could still find them. Then I repointed all of the variables on the RT vi to use them on the host system. I assumed that this would have the effect of launching the SVE on the host and not on the RT system thus lowering its load. However, when I run the software it no longer communicates the variables back and forth to the RT system.  If I run variable manager it shows all of the variables on both systems, however, if I watch them on the the RT system, they never get updated, the only changes happen when I watch them on the local system.
 
Any susggestions?
 
Thanks
Henri
Pie56694
2008-08-01 23:10:04 UTC
Permalink
Hi Henri,


There are many references on variables in LabVIEW RT.  These are two of the best, in my opinion.
<a href="http://zone.ni.com/devzone/cda/tut/p/id/4679" target="_blank">Using the LabVIEW Shared Variable</a>
<a href="http://digital.ni.com/public.nsf/allkb/7AE7075AF1B2C58486256AED006A029F?OpenDocument" target="_blank"> Real-Time FIFO Frequently Asked Questions</a>
Shared variables remain deployed until you manually un-deploy them.&nbsp; You may have to manually undeploy the variables from the target, especially if you moved the variables from the target to the host in the Project Explorer.&nbsp; If you're really trying to trim the fat around the RT application, use RT FIFO VIs for inter-thread communication on the target, and TCP/IP VIs to transfer data back to the host.&nbsp; I hope this helps.
hkowalczyk
2008-08-06 20:10:06 UTC
Permalink
Thanks..&nbsp; turned out to be windows firewall. -Henri
Pie56694
2008-08-06 20:40:05 UTC
Permalink
Hi Henri,Thanks for following up.&nbsp; Ah, the firewall...&nbsp; I shouldn't even read the real-time posts, just reply with, "It's the firewall".&nbsp; Just kidding :smileywink:
Loading...