LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Questions about datasocket, psp, lookout, and performance

I'm not sure how best to present my situation.  I am trying to get my head around this whole shared variable concept and determine if it is the best way to achieve what I need to do.  Basically I'm trying to build a GUI to interface to a control system.  I communicate with this system via RS232.  That's the easy part.  Manipulating the various screens and presenting the data seems to be another thing all together.  I like the concept of front panel data binding in terms of keeping the user interface code lean and clean.  I basically want to create an I/O server that my front panels can "talk" to and eventually have a common interface to the real world regardless of what medium the control system uses (CAN, RS232, etc.).

Having said all that, the situation I'm dealing with now is this:   I've built a little test project to try and understand.  In the vi "Variable Queue", I have two loops running; one controlling the "subscriber" queue and the other fetching the data and presenting it.  I also have a seperate vi, "Data Socket Test", that is simply an indicator connected to shared variables via front panel binding.  This vi allows you to connect to any variable in the library "on the fly" via a property node.  Here's where it gets weird; the main loop in "Variable Queue" kinda plods along once a subscriber is queued...until "Data Socket Test" is fired up.  Then it  cranks.

Can anyone offer any insight?  Have I created a mess?  Any comments would be appreciated.  The other vi "Fake Data Source" just lets you set shared variable values so you can see things happen.  I hope this is at least somewhat coherent.  If not, ask questions...they're coming to take me away haha
Smiley Very Happy
Oh yeah ... WinXP,SP2/LabVIEW 8.0.1
----------------------------------
LabVIEW 8.0.1; WinDoze XP
aut viam inveniam aut faciam
0 Kudos
Message 1 of 4
(3,144 Views)

Hi BadToad,

I looked at your project.  I don’t see any timing included in the VIs that would show the loop rate.  How are you determining that the loop is running faster when the Data Socket Test VI is running?  I noticed that when a subscriber is queued, it does appear that the loop count is updating faster when the Data Socket Test is running than when it is not.  Is this what you are seeing or do you have some other way of determining this?  I didn’t notice anything as far as CPU usage that would indicate that the loop should be running slower.  I will take a closer look and see if I can shed some light on this for you.  Also, if you are using another method for determining the loop speed, please let me know.

Donovan
0 Kudos
Message 2 of 4
(3,119 Views)
Sorry, I've been waiting for an e-mail notification that someone had responded.  But, noooooo.....  I pretty much made my loop timing determination based on the indicator I attached to the loop index.  What I'm seeing defies explanation.  I guess one of my other points is that I needed to use "outlook" in the url in some places and "psp" in others.  I don't understand this wonderful undocumented programming environment.
----------------------------------
LabVIEW 8.0.1; WinDoze XP
aut viam inveniam aut faciam
0 Kudos
Message 3 of 4
(3,099 Views)

Hey BadToad,

Let me look into this further and I'll let you know what I find out.

Donovan
0 Kudos
Message 4 of 4
(3,067 Views)