NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Pass Cluster in PostUIMessage Using LabVIEW

Hi All,

I am sending the data from LabVIEW VIs (In TestStand) to Operator Interface via PostUIMessage property.  But when I tried to pass the cluster, I am getting Error 91 in LabVIEW.  Attached the method which I tried to pass the cluster. Please help me by providing the right method to pass the cluster in PostUIMessage.

Thanks in Advance.

Regards,

Sathish kumar D

 

 

0 Kudos
Message 1 of 11
(5,939 Views)

From my experience and reading the forum, Teststand

cannot deal yet with arbitrary complex data format like

clusters. You have to pass data one by one element.

 

Container/cluster seamless conversion is still a major

feature missing to communicate amount of data from

Labview to Teststand. But both products are young

(1986 and 1999) so leave NI some time to implement

the desired functionnality 🙂

 

David Koch

 

PS: http://forums.ni.com/t5/LabVIEW/Pass-Cluster-in-PostUIMess-age-Using-LabVIEW/td-p/3071032

0 Kudos
Message 2 of 11
(5,871 Views)

Hi David,

 

Thank you very much for your reply.

 

I can break that cluster and pass the data one by one as you suggested. I tried the same and succeed in sending string data through the postUImessage using LabVIEW but  please let me know the method to pass the "String Array" in the similar way.   Do I need to pass the string array in "activeXDataParam"? In what way? Example screenshots/VI woudl be very helpful.  Thanks Again.

 

Best Regards,

Sathish kumar D

0 Kudos
Message 3 of 11
(5,859 Views)

Maybe as someone suggested, encapsulate your string array

in a variant, flatenize it, transfert it, recompose it on the other

end.

 

Otherwise try the JSON/XML approach and try to get lucky 🙂

 

Perhaps use the 'file' method as universal format :

 

http://mooregoodideas.com/readwrite-anything-vis/

 

Courage !

 

David Koch

0 Kudos
Message 4 of 11
(5,814 Views)

Try the JSON/XML approach, or the INI file as

a universal container :

 

http://mooregoodideas.com/readwrite-anything-vis/

 

Good luck !

 

David Koch

0 Kudos
Message 5 of 11
(5,814 Views)

Hey Sathish,

 

You can pass the sequence context in a UI Message like this:

RunState.Thread.PostUIMessageEx(UIMsg_UserMessageBase + 2, 0, "", ThisContext, True)

 

This way you can access all of your data by using lookup strings.

 

The attachment shows how you can access different data.  With Clusters sometimes you have to access individual components one by one.  But you can still use Lookup strings to drill down to the correct component.

 

Hope this helps,

jigg
CTA, CLA
testeract.com
~Will work for kudos and/or BBQ~
0 Kudos
Message 6 of 11
(5,840 Views)

Here's another example.  It is showing how to send data from the UI back to the sequence file.  Using the TestStand - Set Property Value.vi you can send the following UIMessage from PreUUT to allow the user to enter the serial number on the Front Panel of your UI.

 

RunState.Thread.PostUIMessageEx(UIMsg_UserMessageBase + 3, 0, "", ThisContext, True)

jigg
CTA, CLA
testeract.com
~Will work for kudos and/or BBQ~
0 Kudos
Message 7 of 11
(5,836 Views)

Dear Jigg,

 

Thanks for your inputs.  The serial number passing info is really useful and I understand from your reply that 'RunState.Thread.PostUIMessageEx()" could be used to send data from Teststand to Operator Interface.

 

In my case, I am have a test VI (.vi) in the test sequence file(.seq). The test VI will perform 5-6 test measurements one after another and I want to pass the test results to the operator interface after every test measurement. If I use the 'RunState.Thread.PostUIMessageEx()' method (send the data from teststand), I could not be able to pass the test result after each test measurements; in other words, the test result of all the test measurements could be passed to operator interface ONLY after the end of last test measurement (when the test VI execultion completes and control backs to TestStand).  But I would like to pass the test result after each test measurments which would make sense to the user and that why I am seeking for some options to send the data (test results) to the operator interface through Test VI (LabVIEW) itself. Please let me know your valuable comments on this.

 

Thanks again!

 

Best Regards,

Sathish kumar D

0 Kudos
Message 8 of 11
(5,822 Views)

Cut you test into sub-steps, each having its dedicated

interface and conclusion ?

 

David Koch

0 Kudos
Message 9 of 11
(5,820 Views)

Hi David,

 

Its my last option :).

Thanks.

 

Regards,

Sathish kumar D

 

0 Kudos
Message 10 of 11
(5,765 Views)