NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

MultiWindow Operator Interface - Modify Execution Window Title

Solved!
Go to solution

Hi,

 

I am using the multiwindow operator interface obtained from:  http://zone.ni.com/devzone/cda/epd/p/id/6372

 

I would like to modify the title displayed in the execution windows to show the test socket number and UUT serial number as I am running 6 UUTs in the batch process model and it is not obvious from the current title which execution window belongs to which UUT.  The current title shows:  TestStand Operator Interface - [Test UUTs -- Test Socket Entry Point - SequenceName.seq[#]]

where # varies from 3 to 8.

 

Does anyone have any suggestions on how to do this?

 

Thanks!

 

Note that I am using the multiwindow user interface instead of the TestStand Operator interfaces because I want to have tiled execution windows displayed for each of the test sockets, and the TestStand OIs do not do this.

0 Kudos
Message 1 of 4
(3,624 Views)
Solution
Accepted by topic author ShawTestEng

Hi George Mah,

 

To Change the Operator interface you will need to change the source code, that is written in C#. To change it, open the solution in Visual Studio and open the MainForm.cs and follow the instructions on the following picture:

 

Socket_Title1.png

When you double click that "UIMessageEvent" you will be taken to the code for it. In the code you will have to add a new case to handle the changes you would like to make. Here is the code that you can use:

 

case UIMessageCodes.UIMsg_ModelState_Identified: // This message fires after the serial numbers are entered
                    foreach (Execution value in axApplicationMgr.Executions) // This allows for every socket to be updated
                    {
                        if (value.ForegroundThread.GetSequenceContext(0, out frameId).Root.AsPropertyObject().Exists("Parameters.TestSocket.UUT.SerialNumber",0)) // Checkto see if the serial number exists
                       {
                        FindForm(value).Text = "Index Number: " + value.ForegroundThread.GetSequenceContext(0, out frameId).AsPropertyObject().GetValNumber("RunState.TestSockets.myIndex", 0).ToString() + "      Serial Number: " + value.ForegroundThread.GetSequenceContext(0, out frameId).AsPropertyObject().GetValString("Runstate.root.Parameters.TestSocket.UUT.SerialNumber", 0); // Here are the paths through the teststand API to get to the information.
                       }
                    }
                    break;

 

This should take care of it. I hope that this helps.

 

Regards,

 

Perry S.

 

Applications Engineer
National Instruments
Message 2 of 4
(3,597 Views)

Hi Perry,

 

I added the code you provided and rebuilt the solution successfully, but upon execution, there are no apparent changes visible.

 

I also noted that (on both the original as well as the new executable) if I hover the mouse over the bottom left corner of the execution window status bar (next to the green circle icon) then I can see the UUT socket number and serial number.  This would work for me if I could get the info to be displayed always instead of just when the mouseover event occurs.

 

Thanks for your assistance.

0 Kudos
Message 3 of 4
(3,594 Views)

Hi Perry,

 

I reviewed the code you provided and noticed that when I cut and pasted it into my solution, some "?" had somehow materialized in the code.  I removed them and rebuilt the solution and it now works as desired.  Thanks for the support!

 

George

0 Kudos
Message 4 of 4
(3,582 Views)