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 KB
Hey 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)
Similar Messages
-
I'm getting a cwinstr error after upgrading from labview 7.0 to labview 2010
Hello
recently upgraged a PC from Labview 7.0 pro to Labview 2010 pro. Now I can not open a calibration executable we been using for a xantrex xfr power supply (unfortunately I don't have source code). The only error I get is "cwinstr-can't load program" pop-up when trying to run the executable. The calibration SW will run on multiple platfroms, Win 95, Win 200 0 and XP and this is the first time getting this error. The calibration SW ran fine until the Labview 2010 install. My question is does LV 2010 change the registry files when loaded? Visa and MAX still run fine on this PC and were loaded when LV 7.0 was installled. I know the calibration SW uses the VISA drivers so this is what's confusing. i don't want to downgrade back to LV 7.0 unless I have to.
ThanksHello Tanya,
I'm a little confused here. i only started having issues with the executable (it ran previously with the visa drivers from 7.0) after I loaded LV2010. After the install, the exectuable started giving me the cwinstr error. As best I can tell, this may be an activex issue, but since I only have the executable it hard to tell.
My question id do i have to install both labview 7.0 in addition to labview 2010 on the pc. Fom the the readme file, it looks like Labview 2010 won't support certain vi's older than 8.0. But since I'm dealing with an exectuable only here, I thought I should be able to open it at least.
So instead of updating the visa drivers, should i re-install the old visa drivers (Ni-Max) for 7.0 instead? would this even work without removing LV2010.
Thanks Again -
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 -
UDP Error when upgrading from Labview 8.6 to Labview 2009
I recently updgraded from Labview 8.6 to Labview 2009. I am writing an application to stream data to disk from UDP. My VIs run just fine in Labview 8.6, but when I try to run them in Labview 2009 my UDP read times out despite being able to monitor UDP traffic and see that the data is being sent and nothing in the file is changed from 8.6 to 2009. Is there a known issue related to this?
How are you moniting the UDP traffic? Have you verified that the port you are trying to use is actually available? When you installed 2009 there may have been an additional service installed that may have used the port you're trying to use. If you're running on Windows you can use the command "netstat -n -o -a" to see all the ports that are currently in use, as well as the process ID that has that port open.
-
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 -
Strange error when saving from workbench
I get this error when i try and save my project from the workbench. Any ideas?
thanks
craig
Throwable Class Name:
oracle.toplink.exceptions.QueryException
Message:
Exception Description: The object [MWTable[1144A84] (ARGUMENTS)], of class [class oracle.toplink.workbench.model.db.MWTable], with identity hashcode (System.identityHashCode()) [18,107,012],
is not from this UnitOfWork object space, but the parent session's. The object was never registered in this UnitOfWork,
but read from the parent session and related to an object registered in the UnitOfWork. Ensure that you are correctly
registering your objects. If you are still having problems, you can use the UnitOfWork.validateObjectSpace() method to
help debug where the error occurred. For more information, see the manual or FAQ.
Stack trace:
Local Exception Stack:
Exception [TOPLINK-6004] (OracleAS TopLink - 10g (9.0.4.1) (Build 040128)): oracle.toplink.exceptions.QueryException
Exception Description: The object [MWTable[1144A84] (ARGUMENTS)], of class [class oracle.toplink.workbench.model.db.MWTable], with identity hashcode (System.identityHashCode()) [18,107,012],
is not from this UnitOfWork object space, but the parent session's. The object was never registered in this UnitOfWork,
but read from the parent session and related to an object registered in the UnitOfWork. Ensure that you are correctly
registering your objects. If you are still having problems, you can use the UnitOfWork.validateObjectSpace() method to
help debug where the error occurred. For more information, see the manual or FAQ.
at oracle.toplink.exceptions.QueryException.backupCloneIsOriginalFromParent(QueryException.java:153)
at oracle.toplink.publicinterface.UnitOfWork.getBackupClone(UnitOfWork.java:1529)
at oracle.toplink.publicinterface.UnitOfWork.calculateChanges(UnitOfWork.java:433)
at oracle.toplink.publicinterface.UnitOfWork.getChanges(UnitOfWork.java:1584)
at oracle.toplink.workbench.ui.WorkbenchSession.saveProject(WorkbenchSession.java:676)
at oracle.toplink.workbench.ui.MainView.saveProject(MainView.java:1951)
at oracle.toplink.workbench.ui.MainView.saveSelectedProjects(MainView.java:2031)
at oracle.toplink.workbench.ui.ActionManager$103.actionPerformed(ActionManager.java:2198)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)Does it happen when you do a "Save As" also? Are you able to do a "Save As" immediately after you get the error and perhaps rescue the project?
You'll need to open a tar, hopefully the series of steps that led up to this is reproducable.
- Don -
Strange error message coming from mail
I'm getting this weird error message from mail and it's very random. " The mail server denied access to the account because an administrator or other mail client was using it when mail tried to login. Internal login failure" I dont have any other mail client checking my mail. I'm using pop3. If anybody has some information on this it would help.
Keith
Warren Brodt here... I just sign on with comcast.net and have the same problem with Mail
I know I have the server correctly identified. I can receive mail but not send it. Have you had any
luck fixing the problem? Could you share the solution if you did?
Warren -
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 -
I receive an error message (code -17600) while loading my test sequence after switching from LabVIEW Development System (2009 f3) to LabVIEW Run-TIme Engine using the Adapter Configuration.
ErrorCode: -17600,
Failed to load a required step's associated module.
LabVIEW Run-Time Engine version 9.0.1f3.
When I switch back to the LV development system, everything is OK, and the sequence loads and runs perfectly.
My TestStand Engine Version is 2012 f1 (5.0.0.262).
I'd appreciate any help on this issue.
RomanHi Roman,
There are a couple of things you can try:
1) Determine if the LabVIEW RunTime Engine is corrupted in some way. Create a new simple VI with no sub-VIs, using the same LabVIEW Development system you used for mass-compiling the VIs. Create a TestStand step that calls this VI and ensure it runs correctly. Now switch your LabVIEW adapter to use the RuntimeEngine and choose the "Auto detect using VI version" option.
Check if the simple VI is loadable and runs without errors in TestStand.
If the step generates the same error, you should try a re-install of the LabVIEW development system.
If not, its most likely that there is some VI you are using that is not loadable in the LabVIEW Runtime Engine because:
1) Some sub-VI is still not saved in the right version or bitness. Open the VI heirarchy of the top-level VI that you are calling from TestStand and examine the paths of all the sub-VIs to check if they were in the folder you masscompiled and re-save any that are outside this directory.
Also, when you try to close the top level VI, do you get a prompt to save any unsaved files? If so, they could be the sub-VIs that are not saved in the right version. Save all of them.
Check if you are loading any VIs programatically and if these are compiled and saved in the right version as well.
2) There is some feature you are using in your LabVIEW code that is not supported in the LabVIEW RunTime Engine. To check this, add your top-level VI to a LabVIEW project and create a new build specification and create a new executable from this VI.
Right-click "Build Specifications" and choose "New->Application(EXE)".
In the Application Properties window, select Source Files and choose the top level VI as the start-up VI.
Save the properties.
Right-click on the newly created build specification and choose Build.
Run this executable (it will be run using the LabVIEW RunTime) and check if the VI has a broken arrow indicating that it cannot be loaded and run in the LabVIEW Runtime Engine.
You might need to examine your code and find the feature which is not supported in the LabVIEW RunTime and find an alternative.
Another thing i forgot to mention the last time around is if you are using 64-bit LabVIEW with 32-bit TestStand, then executing code using LabVIEW RTE from TestStand will not work since the 64-bit LabVIEW RTE dll cannot be loaded by the 32-bit TestStand process.
If none of the above steps resolve the issue, consider sharing your LabVIEW code so i can take a look.
Regards,
TRJ -
How can I convert a Database Handle from TestStand to LabVIEW?
I want to use a Database Handle (already created in TestStand by an Open Database step) in a LabVIEW-VI (called from TestStand) to connect it with the "Connection Reference" input of the "Easy SQL.vi"? If I use a directly connection via the "TestStand - Get Property Value (Number).vi" I get back the error message 4101 in LabVIEW. How can I convert the Database Handle?
Test Engineering
digades GmbH
www.digades.comThe TestStand database step types use the CVI SQL Toolkit to talk to databases. The handle that you are referencing is an internal memory location and not a actual handle that you can directly use. Currently as implemented the handle that is stored in a numeric TestStand property for the connection and the SQL statement are the handle values returned from the CVI SQL Toolkit. So for the connection handle, you could call the CVI SQL Toolkit function
DBGetConnectionAttribute (
int Connection_Handle,
tDBConnectionAttr Attribute,
void *Value);
and get the CVI CAObjHandle reference. With this you could then call the CVI ActiveX function
CA_GetInterfaceFromObjHandle(
CAObjHandle Object_Handle,
const IID *Interface_Id,
int Force_AddRef,
void *Inte
rface_Ptr,
int *Did_AddRef);
to get the actual ActiveX interface reference. This would have to be converted into a LabVIEW reference.
You may want to consider just using LabVIEW to open a new parallel reference only using the toolkit.
Scott Richardson
National Instruments -
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. -
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? -
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. -
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
Maybe you are looking for
-
Cannot deploy app files to j2ee engine in NWDS
Hi, I`ve got NWDS ver. 2.0.15 and I am trying to deploy some files to app server but I got message Cannot determine sdm host (is empty). Please configure your engine/sdm correctly ! I am almost 100% it`s because I need to use proxy to connect the
-
I'm downloading a movie to each of my kids new ipads. it says that it's downloading, but the completion % has shown the same % since it began 2 hours ago. is this normal? one shows 94%, the other 24%. how do I know if it's progressing?
-
Freight charges on return delivery
Hi, How freight chargers are reversed while doing 161 mvt type. Is there any separate mvt required to return freight charge. How do we handle this plz clarify me.... BR Vel Note :Please search forum,subject is widely discussed in various threads in t
-
Conversion factor missing for Exchange rate type BE
Dear Friends, I am getting error while doing GR as " Conversion factor missing for exchange rate type INR TO USD" waiting for your advice. Thanks
-
ISE ( Idendity Service Engine ) & MSE (Mobility Service Engine ) & Prime Infra
What is the difference between ISE ( Idendity Service Engine ) & MSE (Mobility Service Engine ) & Prime Infra . How this will be used along with WLC & AP & wireless Users.