02-01-2013 02:17 AM
Hi marcus
In attachment the screenshoot that you asked . i have added also the information about the memory status at the first run and after around 300 repetitions of the same sequence. and you can see that is increase at every run as also the execution time of the test.
i did not see the Update VI Calls in the tools menu i dont now why so i cannot test it
Thanks for support
MY
02-04-2013 01:31 AM
Hi Marcus ,
I have some new information about the memory problem .
I have created a sequence file that execute only the RF operation of the peak measure , tracking the memory occupation on each run using as adapter labview ( development system) and Runtime option.
The results in the picture attached . You can see that there are a lot of I/O activity during the execution when the Runtime option is selected and the memory increase at every run comparing with the other case when i m using the labview development system as adapter option.
Another thing that i have note is that if you did not performe the open and close operation of the Ni 5600 board during the loop but only one time leve in the loop only the measurement session , this problem disappear .
An additional information on the system configuration that i can give to you is that the SO is windows XP
In attachment you can find a zip file with the sequence file, the VI used to run the test and the two picture mentioned before.
If you can give me some information on how solve this problem i would appreciate 🙂
Thanks for the support
MY
02-05-2013 01:46 PM
Hi MY,
I believe the open and close operations should be on the outside of the while loop. Mainly, this is to increase performance speeds but it may affect memory as well. This is also true of any configuration settings if they stay the same throughout your application.
If you run this application multiple times in just the LabVIEW development system environment, do you still see these memory spikes? In other words, is this inherent to your program in LabVIEW or is this caused by TestStand? This will help us narrow down where to look and how to troubleshoot.
02-06-2013 12:51 AM
Hi Josh
thanks for your reply
I didn't see these spikes when i run the same sequence using as adapter the labview development system ( as you can see in the zip folder in the image MemoryTest_LVadapter) .
So i think there is some difference between this two selection in Teststand. I've note also that when is selected as adapter the LV runtime system in Teststand there is a thread ( Kernel32.dll) that is create and destroyed continuously but i don't know if this is normal.
I've tried to separate the VI in 3 single VI called Initialization +Measurement +Close but i did not able to pass tthe reference created in the initialization VI through the other .
Do you have any suggestion on this point ?
Thank you
MY
02-06-2013 05:58 PM
Hi MY,
If you don't see the spikes using the LabVIEW development system, do you see the spikes using the LabVIEW Run Time Engine? We're basically trying to narrow down where the issue lies. TestStand shouldn't change things based on whether you're using the development environment compared to the run time engine. However, if you do not see this issue at all outside of TestStand, then we know where to look.
Regarding splitting the initialization, measurement and close into three separate VIs, is there a particular reason you want to do this? Typically, if you want to split these steps up, you can use a state machine architecture or create subVIs. To create a subVI, you need to use the connector pane and (to a lesser degree) the icon. In your initialize subVI, you can have the initialize VI connected to an indicator for the instrument handle as the output. You can then use this output as the input for your measurement subVI.
Regards
02-07-2013 01:19 AM
Hi Josh
I know how to create subvi. 🙂 my problem is pass the reference in TS using Fileglobals or locals variables.
I have insert the initialization and the close operation in PreUUTloop and PostUUTloop callback in TS and the measurement part in main .
But when i pass the indicator that exit from the initialize VI to a fileglobals , this cannot pass correctly to the measurement VI that did not work ( i cannot see any measure ) . The Fileglobals is created using the same typedef of the indicator that exit from the initialize VI -
I'm trying to make this separation to workaround the problem of the memory increasing. This because i note that if you perform only one time the open and close operation and loop only the measurement leave the resource open the problem that i have described did not happens when i run the sequence using the Labview runtime engine
In attachment you can find a zip file with the three VI and and example of the sequence that im trying to use so you can better understand the problem and tell me if something is wrong on how i pass the reference.
Thank you
MY
.
02-07-2013 06:31 PM
Hi MY,
It looks like you aren't setting the output of your VI to your file globals in TestStand. The sequence you sent passes variables into your VI from the FileGlobals you have created.
You will notice below that the parameters highlighted in green are inputs and the red parameters are outputs.
You will need to store the output of your VI in your FileGlobals in order to then pass it to another VI.
Please let me know if this answers your question.
Warm Regards,
02-08-2013 01:03 AM
Hi D-Cubed
As you can see from picture below ( and also in the picture you have posted there are flag on the Default value) there are some default value setted
So is not necessary use globals value to pass some value.
Maybe you cannot see the correct value passed because as i can see on your posted picture the VI measurement is not linked in right way (e.g picture not avaiable and red dot near the create VI icon ) .
The only thing that i have forgot to link is the reciever info out but is an output of the VI so is necessary for the close operation not for the Measurement operation
By the way even if i link this output to the file globals variable did not solve the problem
Thanks for your answer but this did not solve my problem yet unfortunatley 🙂
MY
02-08-2013 06:44 PM
Hi MY,
The reason the VI did not display properly in the screenshot I sent is because the VI you attached was broken. It contains subVIs which I did not have access to. What have you installed on top of LabVIEW to run these VIs?
Does your sequence give you any errors when run? Have you tried seeing what values are getting stored in the FileGlobals Type by setting break points between your sequences?
I think maybe we are missing each other on this issue. Would you mind stating clearly what is happening and what you would like to accomplish? I think if we can better parameterize the problem, we will make more progress.
Warm Regards,
02-11-2013 01:14 AM
Hi Daniel,
You can find additional information about this problem in the previous messages that i have posted before
I have send also an email to the support service but no ticket was open yet on the request
By the way the The setup of my application is
PXIe 1065
NI 5600+NI5620
Labview 2011
TS 2010Sp1
NIRFSA 2.4.5
Spectrum measurement toolkit 2.6.1
Windows Xp SP3
Yes i have tried to run the sequence setting some breakpoint and i recieve an error when run the measurement VI (initialize VI didn't give any error).
In attachment you can find the File globals value during the run and the error message in the measurement VI .
Just a note on the pics ,The file globals value for the correction factor array is filled with 500 elements ( i dont get a screenshoot for this but they are generated )
Thanks for your support
Orlando. R