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 KB
Hi,
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
Similar Messages
-
Does anyone have any experience using NIST software with Labview. I am wanting to call NIST to get properties of two different gases, and not exactly sure how to accomplish this.
Can anyone point me in the right direction?aputman wrote:
I use a TCP connection to get NIST time. Not sure if something like this is available for what you are looking for. Hope it helps.
NISTime-32.exe is shareware and available here
Their is a command line hook so you can just call it with the system exe from LabVIEW
Jeff -
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) -
LabVIEW Gurus:
I am working with some software engineers who have no experience in LabVIEW. Unfortunately I have little experience in C/C++ to make sense of their inquiry.
Basically we are dealing with “Data Marshalling”. I will call a DLL and issue a command (string) and get back a 2-D array and an integer. So far so good.
The C/C++ programmer requested that I provide them with a pointer/memory address in which they will store data, so I can read it once the dll returns the array and integer. I browsed through the example online http://decibel.ni.com/content/docs/DOC-1690 and thought that if I wanted to read from the dll, the process is a simple as calling the appropriate function and configure the parameter (no pointers needed).
So, is there a specific way that they need to write the C/C++ code to be used in LabVIEW? Or what else to I have to take into consideration?
Thank you,
SantiagoThat example is pretty simplistic as it only deals with integers. In this case no pointers are required since everything is returned by value. When you're dealing with arrays, however, you need to deal with pointers. If you open the Example Finder (Help -> Find Examples) and search for "dll" you will see the "Call DLL" example. That contains many examples of how to call DLL functions with a wide variety of datatypes. I strongly suggest looking at that example. There is also a chapter in the LabVIEW Help on calling DLLs (Fundamentals -> Calling Code Written in Text-Based Progamming Language).
You have 2 things to consider:
You're dealing with arrays - this means you typically need to pre-allocate the memory in LabVIEW, and it sounds like that's what the DLL expects you to do. This amounts to using the Initialize Array function to create your 2D array of the appropriate size and datatype.
You may be dealing with a C++ DLL. LabVIEW can only interface to C DLLs. This doesn't mean that you can't create a DLL in C++, but it does mean that the C++ programmers need to add an extern "C" modifier to the function calls, otherwise you get name mangling, and LabVIEW won't be able to call the DLL. The DLL programmers should know what that means. -
How to call Exe from labview?
Hello NI,
I want to call the exe from the labview. presently i am using command.vi to open the exe. but it works only with source code. after creating the exe it doesnt work.
I checked the path of exe.
do you have any solution for this?
Regards,
Balaji DPWorking directory should be c:\windows\system32
copy your winword.exe into that system32 folder and just try this
Message Edited by mathan on 01-06-2009 03:24 AM
Attachments:
untitled.PNG 3 KB -
Calling executables from LabView
I would like to know how to call an executable program from within my LabView program.
use the
System Exec.vi
you find it under the menu "Communication" -
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 -
Calling Matlab from Labview returns a 1047 error - what am I doing wrong
above
Does your script work fine in MATLAB? Do you run a VI or an .exe?
MATLAB must be running, otherwise LabVIEW will be unable to access the MATLAB server. This will cause the 1047 error. Manually start MATLAB, and your program should run without the error.
The following KnowledgeBase may also be useful in troubleshooting this issue
LabVIEW 6.x and Earlier Does Not Interface Properly with MATLAB 6.1 or MATLAB 6.5
Zvezdana S.
National Instruments -
Easiest way to call MATLAB from Labview
I have a bunch of MATLAB scripts I've developed over the years. I'd
like to have Labview collect data and pass it off to my MATLAB scripts
for plotting and analysis as it is streaming in. What is the easiest
way for me to do this?
Thanks for your help,
Matthew Little[email protected] (Matthew Little) wrote in message news:<[email protected]>...
> I have a bunch of MATLAB scripts I've developed over the years. I'd
> like to have Labview collect data and pass it off to my MATLAB scripts
> for plotting and analysis as it is streaming in. What is the easiest
> way for me to do this?
>
> Thanks for your help,
> Matthew Little
Matthew:
Have you tried the Matlab script container in the Mathematics->Formula
function palette? This node allows you to put your scripts into the
Labview diagram. I haven't tried it myself, but it should work. Good
luck.
sm -
How to call another program from LabVIEW?
Hi!
Is there anyone that can answer my question? I have found a similar thread where the user needed to call labVIEW from some program but I want to do the opposite.
I made a program in labVIEW that communicates via COM-ports (serial communication) with the processor I use at the job (Ubicom´s IP2022).
Now I want to add more funcionality to this program. I want to be able to program re-program IP2022 through this LabVIEW application.
The programming is done via an Ethernet-dongle. I start a program called IP2kProg, I write the ip-address of the dongle and the program-file (.elf) downloads at this address. But how can I do this from
LabVIEW, do I need to open IP2kProg or can I send some values to it via LabViEW?
Ant suggestions?
Thanks, AmirAmir,
There are couple of options:
1. If your IP2kProg program has a command-line interface, you can use LabVIEW's System Exec.vi and send the commands and parameters to it.
2. If the IP2kProg has an API / exported functions, you can call them from LabVIEW using the Call Library Function Node.
Hope this gives you some ideas.
-Khalid -
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 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. -
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
Maybe you are looking for
-
In the downloads section there is an error that there is still not enough space to get the movie. It is taking up half of my space and there is no abort download. Help!
-
Can i hook up ethernet and use airplay on Apple tv 3rd gen?
I would like to connect to my apple tv with an ethernet connection for fast networking from my iMac, but would still like to use airplay with iphone and ipad. Is it possible to have both ethernet connected and wifi on at the same time?
-
Execute a function module when user exits.
Dear All, Do tell me like there is a FM wherein I can pass a username and TCode for the user at the start up, NAVIGATION_SET_START_TCODE is there any for EXITS/LOGOFF. We have an requirement wherein we need to update some details when user logoff fro
-
Deleted emails pop up again in inbox. why??!
I delete emails and in a few minutes or hours they are in my inbox as unread, new emails? I have not changed anything. Do i need to change a setting. I'm a novice. I emptied the recycle bin, trash, ect. Thank you for your time!
-
Firefox after updating to 37.0.1 doesn't play yahoo news videos ?
After updating to 37.0.1 yahoo news videos are not playing. Youtube/msn videos are working. It did not have this issue before this 37.0.1 update. I tried deleting history, cache etc. completely but it did not help. I tried the steps described in Fire