Display "About NI TestStand..." from LabVIEW
I'm creating a LabVIEW UI that calls TestStand to run sequence files and I want to include a menu Item to display the "About NI TestStand..." window, but I can seem to figure out to tell TestStand to launch the window from LabVIEW.
Can anyone direct me to the appropriate API call or example?
Ryan Podsim, CLA
BEI Precision Systems and Space Company
www.beiprecision.com
Solved!
Go to Solution.
The Example you mentioned was informative, but I see can't seem to find a way to display the "About NI TestStand..." dialog. The list of commands to bind to menu itemsm via Insert Command into Menu.vi, has just about every item in the TestStand help except the About item.
This is the dialog I'm looking for.
Ryan Podsim, CLA
BEI Precision Systems and Space Company
www.beiprecision.com
Similar Messages
-
Calling Teststand from labview
Hi,
I am trying to open teststand(3.0) from labview(7.1). When run the VI In highlight mode it works fine and opens the Teststand login panel.When try to run the VI in normal mode the VI Hangs and it doesn't open the Teststand also i have to terminate the application using taskmanger. I have attached the VI and the snap shot in highlight mode for your reference.Any suggestion will be appreciated.
Thanks & regards,
sathyendra N
Attachments:
VIANDSNAP.zip 90 KBHi,
Thanks for your Response. I am trying to use customize the Opertor Interface developed in labview.
Regarding the complete Application Back ground.
The complete Application was developed previously using labview 6.1 and Teststand 3.1 and it was working fine. Now i am trying to port the application to Labview 7.1 and Teststand 3.1 at that time it is not all opening the Teststand login so i thought tried only the basic part out of my code and that given the inconsistent problem so i am trying to slove that part first so i have made a simple vi which i included in my last mail.I want to maintain the same functionality previously developed in Labview 6.1 without any major changes so i am trying the same way in labview 7.1.can you please suggest some examples or suggestion.Waiting For Your Response.
Regards,
sathyendra N -
Strange error in teststand from labview-vi
Hello,
i have the attached vi "labview.jpg" that i call in Teststand.
But: There is see much more error-text what i never set in labview.
Where is this text coming from?
Thanks
Solved!
Go to Solution.
Attachments:
labview.jpg 25 KB
error2.jpg 33 KBHey again OnlyOne!
The reason you're getting this output is because you've specified an error code which is already in use.
Error Code 0:
FieldPoint: Success
=========================
LabVIEW: Error connecting to GPIB driver or device.
=========================
Motion: No error.
=========================
NI SoftMotion: No error.
=========================
NI-488: Error connecting to driver or device.
=========================
VISA: (Hex 0x0) Operation completed successfully.
In order to work around this you need to define your own custom error code for the 'V3 is Null' instance. This error code will need to be included with your future builds.
Defining a Custom Error Code:
Go to Tools > Advanced > Edit Error Codes
Choose Create New Error Code File
Choose a code to fit your new error within the range of -8999 to -8000, 5000 to 9999, or 500,000 to 599,999 so as to not overwrite an existing error code.
Add the error code text and save in the LabVIEW\user.lib\errors directory.
Using the Error Cluster from Error Code VI enter the value of your error code and wire a True Constant to the Show Call Chain input.
Use the Error Cluster from Error Code VI to generate your error.
Alex Thomas, University of Manchester School of EEE LabVIEW Ambassador (CLAD) -
Hiding and Displaying TS UI Controls from LabView
We have a custom TestStand User Interface, written in LabView, that is a modified 'Simple' User Interface as installed with TestStand.
When our UI is initialising the TestStand UI controls are immediately displayed with nothing displayed inside them, this looks very untidy. Is there a way of hiding and displaying TS UI controls on demand?
Regards
Steve
Message Edited by SercoSteve on 03-09-2006 09:22 AM
There are 10 types of people in the world that understand binary, those that do and those that don't.TestStand I am still learning, but LabVIEW I know. There are several things that you could do. One thing would be a splash screen. I don't think that this is what you are after, though.
Each control has a terminal on the block diagram. If you right click on the terminal, you can create a property node. There are lots of properties that you can set on a control, including whether it is visible or greyed out. I think you want to hide the controls and SAVE the VI that way. Then, when the VI is run, where the control/indicator gets its data, set it to visible with the property node as well. If this is in a subVI, you might need to create a reference to the control/indicator and pass that into the VI as well. You can then wire it to a property node in the subVI.
There are several examples on using property nodes that ship with LabVIEW that should be able to get you started.
Hope that this helps,
Bob Young
Bob Young - Test Engineer - Lapsed Certified LabVIEW Developer
DISTek Integration, Inc. - NI Alliance Member
mailto:[email protected] -
Acces FilesGlobals of Teststand from LabVIEW?
Hi,
What happens, when you try to get the value of a Teststand variable (FileGlobals) with the Get Property in LabVIEw and at the same time, Teststand whant to access the same variable. Is there some conflicts?
Regards,
RisottoThis could be, even though this is rare, but it could happen, that right in the moment when TestStand writes to the global variable, the thread changing happens, and labView might see strange data (for example if the variable is a array, that not all values had been updated, so LabView would see a mi of old and new data). This is a general problem, when working with multiple threads, and is not TestStand specific. The solution is using synchronisation step types, for example the lock steps to secure the access of global variables, files or devices. You place a lock step before and after the step that works with the variable. before the step you "lock" the step, after the step you can "early unlock" it again. When you do the same on some other position, but with the same lock-reference, you can garantuee, that as long as one thread "locked" the lock, no other can do the same, and so your steps following the lock-step are secure.
Hope that was good to understand. Here you can find some more Information concerning parallel tests:
http://zone.ni.com/devzone/devzone.nsf/webcategories/F255EBD2FF79B055862567B3006BE376 -
The NI TestStand Advanced Architecture Series consists of documents covering topics of interest to advanced NI TestStand developers. The series' authors are NI TestStand architects and developers who provide insightful content that goes beyond basic documentation by offering best practices for large and complex projects. The series will release new documents quarterly so check back to see what's new in a few months!
Follow the link to visit the NI TestStand Advanced Architecture Series.
Josh W.
Certified TestStand Architect
Formerly blueHello J.Venkatesh,
You should have posted a new post rather than attach it to this post. Other than TestStand, it has no relation to Tables in Reports.
Have you looked at some previous post such as the link below
http://forums.ni.com/ni/board/message?board.id=330&message.id=3528&query.id=73853#M3528
Regards
Ray Farmer
Regards
Ray Farmer -
Change teststand post actions from labview
Hi,
Is there a way to change the post action of a test in teststand from Labview.
At the moment, if one of the tests fail out of limits then the post action is set to 'ON FAIL - GO TO NEXT STEP' but if the unit does not run then a diagnostics labview routine runs and at the end of that I would like to change the teststand post actions to 'ON FAIL - GO TO CLEANUP'
Can you tell me if this is possible
Thanks
ChrisHi
Yes it should possible.
Step step = m_SequenceContext.Step; if(nValue == 0) {
step.FailAction = "Next";step.FailActionTarget = ""; }
else{step.FailAction = "Goto"; step.FailActionTarget = "<End>";
Regards
Juergen
EDIT: This example Goto Endgroup --Sorry!
Message Edited by j_dodek on 04-21-2010 01:51 PM
=s=i=g=n=a=t=u=r=e= Click on the Star and see what happens :-) =s=i=g=n=a=t=u=r=e=
Attachments:
DotNet.zip 17 KB -
Hi,
I have asetup module in labview operator interface. Iam getting the type of UUT in the setup. I want to update this type value into a locals variable in teststand from labview. How to perform this?
I want to update a locals variable from labview programmatically.
Regards
GopalHi Gopal,
The following KnowledgeBase article explains this:
AE KB 2PPEJF6E: How Can I Programmatically Change the Default Value of a TestStand Local Variable?
Cheers,
David Goldberg
National Instruments
Software R&D -
How do I return a Boolean array from LabView to TestStand?
I am trying to return a Boolean array from Labview to TestStand and have TS evaluate the results. I can do this for arrays of integers or reals but booleans do not work. I tried copying the PassFailTest step type and adding an array of Bool but I couldn't get it to evaluate the array. It simply always passed. How can this be done?
Bob A.I have thought about evaluating the Boolean data in TestStand but, as you say, this is a lot of work. What I have been doing is to map the boolean data to integers in LV (very easy) and then use the multiple numeric step type to evaluate the integer array automatically. This feels kludgy and I have tried a couple of times to create a "multiple boolean" step type with little success. I'm surprised TS hasn't anticipated a test returning multiple pass/fail results. I do this all the time for production code.
What I have tried is to copy MultipleNumericLimitsTest data type to a custom type and add a BooleanArray with a data type Array of Boolean[0..empty]. Then when I specify module, I select Step.BooleanArray as the value. The last step (that I know of) is to select Step.BooleanArray as the data source in the edit limits window. At this point if I run the test, I get the error "expect numeric, found boolean" (or something similar). When I look at the properties of my custom step type, the Substeps has DoMultiNumericMeasEvaluation as the Post-Step. I believe this is the root of my problem but I can't figure out how to change this to "DoMultiBooleanMeasEvaluation" or similar. Any Ideas? -
I have a number of test systems that use a parallel model with labview. We have a good number of instruments(PXI).
What is the prefered method for open,closing and passing instrument handles in teststand using labview?
Solved!
Go to Solution.Hi,
No, Below is a bit from the Session Manager Help
Currently, Session Manager supports the following instrument session types:
IVI Sessions—Use an IVI session to obtain the C-based instance handle for an IVI logical or virtual instrument name. NI Session Manager does not support IVI-COM drivers at this time. When IVI-COM drivers are available, you can use an IVI session to obtain an ActiveX interface reference to an IVI-COM driver.
VXIplug&play Sessions—Use a VXIplug&play session to obtain a C-based instance handle for a VXIplug&play logical or virtual instrument name. Configure VXIplug&play names in the <VXIplug&play directory>\<Platform directory>\NISessionMgr.ini file.
VISA Sessions—Use a VISA instrument session to obtain a C-based viSession handle to a VISA resource or logical name. Configure VISA logical names in the <VXIplug&play directory>\<Platform directory>\NISessionMgr.ini file.
Custom Sessions—Use a custom session to create a data container object that shares ActiveX objects you create or other data between software components you write. Use the Attach and Get methods to attach data to and retrieve data from a session. A custom session does not initialize, close, or own an instrument handle. The data you share with a custom session does not have to be instrumentation related. You can create a custom session with any name you request.
Regards
Ray Farmer
Regards
Ray Farmer -
How to Pass Container in a queue from LabVIEW to TestStand?
I was succussful to pass simple type(string, number) using queue from LabVIEW to TestStand base on the example: Use TestStand Queue.seq.
I want to pass a container variable from LabVIEW to TestStand. But there are some errors happen.
Anyone who can help on this issue?
Thanks in advance.
Attachments:
Sequnce and VI.zip 28 KB
VI Error.jpg 61 KB
Run_time Error -17001.jpg 41 KBYou ought to have a listener somewhere that calls a function
to then set up the loaded swf. In that function you can do this
kind of thing:
var ldrmc:MovieClip;
function swfloaded (e:Event) {
ldrmc = null;
if (e.target.content is MovieClip) {
ldrmc = e.target.content as MovieClip;
If the swf was published for AS3, then ldrmc will end up
being a pointer to the root of the swf, and you can call functions
or set variables however you like. If it was an AS2 swf, ldrmc
would be null.
Inside the loaded swf you could try trace statements, to make
sure you're looking up the hierarchy far enough. Like this:
trace(MovieClip(parent.parent));
If that doesn't trace MainTimeLine, then maybe you're not
looking up far enough. Don't forget that the swf itself is in a
loader, and so may be one level down from where you thought it was. -
Passing an ActiveX reference from TestStand to Labview
How can I pass and ActiveX reference (for a dll) created and used in a TestStand sequence (under Locals) to a VI running within that sequence so that I can then call the same instance of the dll from Labview?
(I know this isn't the best approach to programming but I'm more interested in proving the point than anything else)
Cheers
DanHere's what I think you are tyring to do. Within your sequence, instantiate an object from an ActiveX DLL, storing a reference to it within a TS variable. Then, within a VI called by this sequence, call a method of the intantiated object.
To do this, when specifying your module on your LV step you must check the Sequence Context ActiveX Pointer check box. In the called VI you must have the a Sequence Context control on your front panel and have it wired to your connector pane along with a TestData cluster control and a LV Error Out cluster control.
Within the VI you use an invoke node to invoke the AsPropertyObject method on the SequenceContext (Make sure you use the ActiveX close function on this new reference when you are done with it.). Use another invoke node to call GetValInterface method on the sequence context property object reference (you could probably also use the GetValIDispatch method. See the help). For this invoke node you will want to use a lookupstring that reference the variable, relative to yo sequence context, in which you stored the refernce to the instantiated object in your sequence file. This will return a variant reference. You must convert this reference to a LV reference using the "To G Data" function in the ActiveX palette. The "To G Data" function requires a type input. You will need an ActiveX Automation Refnum control as the input to this (see ActiveX control palette). You will need to right click on this automation refnum control and browse the ActiveX automation server until you find the DLL ActiveX server from which you instantiated your object within your sequence. Once selected, also select the object that you instantiated. The "To G Data" function will then give you a reference to you object on which you can happily used in your desired manner. Make sure to close this reference with an ActiveX Automation close function when you are done with it.
I would definitely clean this up with a subVI to perhaps generalize the solution. -
Export Typedefs from TestSTand to LabVIEW
Hi there,
is there a possibility to simply export a typedef made in TestStand to LabVIEW? I want to prevent making the same definitions twice.
Cheers
Oli
Programming languages don't create bad code, programmers create bad code....Hi Andre,
that's what I feared importing cluster definitions from LabVIEW into TestStand is out normal way, unfortunately this time we have an exception to the habit
Thank you very much. Enjoy the public holiday
Cheers
Oli
Programming languages don't create bad code, programmers create bad code.... -
Opening TestStand Ref from LabView sometimes fails
I'm having an intermitten problem when opening a TestStand reference from LabView. The error explaination just says, "LabVIEW: (Hex 0x80004005) Unspecified error." Attached is a little vi that can reproduce the problem when set to run continuously.
Any idea on how to fix this? Thanks a lot.
Note that because of compatibility requirements I have to use TestStand 2.0 with LabView 7.1.
Attachments:
TS_Ex.vi 24 KBAttached is a screen shot of the error message. This is one of at least 2 error messages. I will get the other one when I can get time on the equipment. Right now, I would like to get the error log (mentioned in the screen shot), but I can't find it. Where should it be?
Unfortunately, the equipment is being shared and I haven't received time to debug it more. But this is what I have seen.
Trying to Highlight Execution with breakpoints seemed to point the vi closing the reference to TestStand as the source of the error message. Using the Simplified TestStand Operator Interface vi that came with TestStand, and some fake tests, we did not have this error. Only when we use our customized OI with dynamic test sequence generation do we get the error. This error doesn't occur with LabView 6.1. So I think it may be another incompatibility between LV 7.1 and TS 2.0.
Thanks for your help.
Attachments:
Exit-Crash-1.doc 24 KB -
I would like to build a data base in teststand which collect data from labview program , if you have example (sequence) that give me some way to build sequence that have step of action for labview and step
data baseThere is an example in the \TestStand\Examples\Database directory. Basically there are two ways to connect to your database.
1. You can use the TestStand database step types. There are steps for opening/closing a database connection, opening/closing an SQL statement, and a step for performing a data operation.
2. The other way is to use the TestStand database logging capability to write your results to the database. This is the way I would recommend. With database logging, you use the step results container to record all your results as the sequence runs. (This is done automatically by TestStand). When the sequence is complete, the process model calls a "Log to Database" sequence that will write the results to the database. You must define your datab
ase schema using Configure->Database Options. There are some default (or example) schema definitions already defined. Refer to chapter 18 of your TestStand manual.
Another way to log the data as the sequence is running is shown in the \TestStand\Examples\OnTheFlyReports. This has the advantage of recording data as it is obtained, but it is not as efficient in terms of using a database connection. I don't recommend using this method.
Please post again if you have any more questions. If you are using stored procedures with your database, I can probably give you some tips.
Mark
Maybe you are looking for
-
Why does my project keep quitting on it's own?
Hello all; I have a important editing to do, but my Premiere project keeps quitting on it's own, I have no clue why. It never happened before, and the only thing that has changed is that I'm not on the same wifi and the same screen, I brought my Mac
-
Tax Jurisdiction code is not replicating from Delivery address tab to Invoi
Hi Gurus, when i trying to change the value i.e tax jurisdiction code in the delivery address tab that value is not replicating to the Invoice tab in the transaction ME22N. How to resolve this ??? thanks in advance.
-
I installed ios 7.0.2 on my i-pads and now want to delete the pass code, which I originally put in. I no longer want the hassle of the pass code, but cannot figure out how to delete it. I do not want the additional security.
-
How to set custom HTTP header for single sign on
Currently we just begin to use an application called "etran". This application requires user name and password to login. Now, my assignment is to integrate etran application in our internal application. This means that somewhere in our internal appli
-
PORDCR102 - Logical system not updated in EKKO
Hi, I am using idoc PORDCR102 to create Purchase Orders. The PO is created successfully but the LOGSY field in EKKO table is not updated with the value from field LOGSYSTEM in the header segment of the IDOC. Kindly do the needful. Thanks in advance.