LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Subvi called by reference node, sometimes responsive

Hi
I am using Labview 7.1.1
 
I am feeling frustrated and puzzled as the function called by reference node, sometimes responds or hang up. 
 
I am building where the application runs two tests and configuration functions simultaneously.
However, whenever the configuration function is used, these tests will not be used, even though they are still running, waiting for input to start the test. In it, there are 4 loops running.
Loop A runs the test to acquire
Loop B runs the similar test to acquire, togehter in the same program.
Loop C runs to display the acquired values , obtained from Loop A and B , by means of notification
Loop D runs the configuration , for setting, modifying and adding the limit
 
Loop D is controlled  by event structure for setting, modiying and adding, although there are other controls added.
Whatever the functions, each function would be called by means of reference node. I am using the common type specifier VI Refum, shared by 3 functions. That is each has the same number of IO connections and control arrangement, thus only one is sufficient.
 
Fot these functions, the event structure's Lock Front panel until the event case for this event completes, is disenabled.
 
Sometimes, any one function would responds, sometimes it would not repond and hang up.
 
Becos the program is big, so I decide to incorporate the same test into a new vi, without any additions like Loop  A, B and C.
It works and seems to have no problem.
 
so I tried using panel's defer panel updates, to put the Loop A, B and C on hold when the configuration is used. But it does not work.
So how? And I could not open the function if call by reference node is used,  I have no way to debug it.
 
Here's the layout below and this is how it would look like.
 
Please advise
Clement


Message Edited by astroboy on 05-26-2008 08:54 PM
0 Kudos
Message 1 of 4
(2,940 Views)
This might be a rough guess, but it sounds like your configuration events may not be completing because the tests haven't had a chance to complete, or are hanging.  The call by reference node will always wait until done, and if one of your producer loops is hanging, it may hang your event structure and display loops.  It's hard to tell more specifically what may be wrong without code, though.


Message Edited by JeffOverton on 05-27-2008 10:46 AM
0 Kudos
Message 2 of 4
(2,912 Views)
Hi Jeff.
Here is the code in LV7.1.
You will need mySQL3.2 and  4, ODBC/connector driver for mySQL.
I am using LabSQL, so download it from http://www.jeffreytravis.com/lost/labsql.html
 
In the attached there are myconfig.ini for initalising and folder MK10IMPtest3. Put folder MK10IMPtest3 into C:/mysql/data/
and the DNS (data source name)  for ODBC is MK10IMPS3
 
To login, user = clement and password = imde1234
 
The responsible for running are:-
1) mk10impsz.vi (the main player)
2) set_limita.vi (sub_vi)
3) modify_limits.vi (sub_vi)
4) add_limita.vi (sub_vi)
 
Each sub-vi as mentioned above is called by reference node.
 
So when running, just ignore the upper part but focus on the lower part like 6 tabs and the last tab that allows you to login.
See the pic as below, We will focus on the those inside the red outline box.
 
The funny is that while subvi may appear in the subpanel but they won't work properly.
But when each subvi is opened outside but not run yet, then mk10impsz is ran. then each module is ran, and those controls reponse very well. I know is that mk10impsz is disenabled whenever module is ran and enabled again when the module is closed though I did not programmatically do it. It's fine with me as i wanted the configuration of he limits to be completed before test.
 
I am puzzled and I have no way to find out what went wrong with those in the subpanel.
 
Clement
 
 
0 Kudos
Message 3 of 4
(2,862 Views)
I don't have permissions to install things, so I can't help you because of the SQL stuff Smiley Sad
0 Kudos
Message 4 of 4
(2,843 Views)