I am using parallel model. My requirement is to add additional fields example P/N to UUT Information dialog box and has to be touchscreen friendly. Although to start only 2 sockets are needed but to keep it scalable for additional sockets in future thought of updating default UUT Information dialog.
1. Modelsupport2.prj reports missing files under \\Shared\CVI\Instr folder. I don't see the instr folder installed at all, how can I install this? Have LabWindows and TestStand currently installed and Microsoft SDK as well.
2. Also would like to find thoughts on, if it is advisable to update modelsupport2 project to customize UUT dialog or should the approach be taken as per shipped example "Overriding PreUUT and PostUUT callbacks.seq". Although the example sequence has individual dialogs instead of all together.
Solved! Go to Solution.
In general, you should never modify the files which installed with TestStand directly (or you risk damaging the default installation, and you could make it difficult on yourself to reproduce the solution on another test station). It's best to make a copy of them in your project directory before making your modifications. After you've made your copy, simply override the callback for PreUUT (browse to Edit > Sequence File Callbacks, and select PreUUT) and replace the step labeled "Call DoPreUUT" with the call to your customized dialog.
Hope that helps.
CLD, and TestStand enthusiast
Thank you for your direction.
When I override the PreUUT callback with Dialog made in LabVIEW and execute "TestUUTs" in TS, LabVIEW dialog does not display. I used sequential model and am trying to create custom UUT Info dialog in LabVIEW.
What is the best method to create custom LV dialog for UUT Info and pass to TestStand. I do see build in example but that is using message popup step.
Should ActiveX be used or simply connector pane(as done in this screen shot) to pass data to and fro? Application does require some logic to parse the serial number in two number separated by colon and save in separate variable to display on report (say P/N and S/N).
If ActiveX is a better approach, could you please point to how it can be done with simple example?
Also wondering if it is good practice to use event loops in LabVIEW code modules.
I realized after you responded that my suggestion of overloading the PreUUT callback works only to launch a standalone dialog for each UUT, and wouldn't work at all without first disabling the built-in dialog by overloading the ModelOptions callback as shown in "<TestStand>\Examples\Modifying Process Models\Overriding Model Callbacks - Parallel Model".
Parameters.ModelOptions.ParallelModel_ShowUUTDlg = false
I did a little more digging, and found this previous post from the community forums: https://forums.ni.com/t5/NI-TestStand/Replacing-the-default-Parallel-model-UUT-Dialog/m-p/334028#M10...
In user dug9000's response, he offers 2 possible options to replace this dialog. First, by disabling the built-in dialog (as shown above), and overloading the ProcessSetup and ProcessCleanup callbacks to launch and shutdown your own custom dialog. And Second by modifying the existing ModelSupport2 dialog (though if you elect this approach, you should make a copy of it in the TestStand Public directory (%teststandpublic%/Components/Models/TestStandModels/) to prevent breaking the default deployed version).
Your dialog could be written in any language (maybe start by duplicating the existing dialog functionality and modifying as desired).
To answer your original question about failure to compile the existing code, I found this file in the modelsupport2 directory which may explain why it's not able to be built on your PC. The file indicates that you might be missing the Windows SDK for CVI (which can be installed from your CVI install media).
Again, I hope this helps give you some direction.
CLD, and TestStand enthusiast
In the example "<TestStand>\Examples\Modifying Process Models\Overriding Model Callbacks - Parallel Model" they override PreUUT. If I have process model open it will not allow me to override PreUUT subsequence. Should the UUT custom dialog and steps be added to DoPreUUT subsequence and update the parallel model itself instead of overriding?
In other words is it advisable to update the model steps itself after making a copy of the model in public directory?
Using the example "<TestStand>\Examples\Modifying Process Models\Overriding Model Callbacks - Parallel Model" as starting point, I replaced the message pop-up dialog with LabVIEW VI which has custom UUT Info dialog box. Made some variable changed in PreUUT callback.
I am using 2 Test sockets to test but will need upto 5 sockets. When run for TestUUT execution I notice the following issues:
1. LabVIEW UUT Information dialog for only one of the socket gets displayed, mainly socket 1 first.
2. When Stop is pressed on UUT Information dialog, it stops test socket 1 but test socket 0 hangs and all execution needs to be terminated.
Any suggestions on how to fix this issue when using custom LabVIEW UUT Info dialog?
It all worked by setting the LabVIEW VI properties >> under Windows appearance >>window behavior to Floating and uncheck the Hide when LabVIEW is not active box.
As long as you've copied the model to the %teststandpublic% directory you can modify it and make it your own. To prevent confusion however, I would recommend renaming the model to something unique to your application. As recommended above however, you can still use the overloaded callback for ModelOptions to disable the built-in dialog, and then add your own dialog to overloaded ProcessSetup and ProcessCleanup callbacks to create a similar behavior.