Send UI meassages from teststand sequence to Simple CVI Operator Interface with Asynchronous Timer
Hello,
Is it possible and how is it possible to send UI meassages from a teststand sequence to the Simple CVI Operator Interface with Asynchronous Timer which could be downloaded from NI Hompage. I use this problems because it is more stable than the standard OIs
regards samuel
This post could help:
http://forums.ni.com/ni/board/message?board.id=330&message.id=7567
Regards.
Similar Messages
-
When I attempt to send a text from the new iPad, a dialog box appears with the option to either sign in with Apple ID Password or Create New Account. I try signing in using my Apple ID password but IMessage informs me that email address cannot be verified because it is already in use ??? What am I doing wrong?
settings -> iTunes & App Store
click on apple ID listed there
select Sign Out
sign in with the proper account
from then on, when the store ask for your password it should be with the correct ID -
Remove step icons from CVI Operator Interface to improve execution performance
The CVI Operator Interface updates the icons for each step (lower right) when tracing is enabled. Can these be stopped but the steps still visable and would this improve execution performance.
Hi Dave,
I take it you are using the old style Teststand Operator Interface.
The only way would be to modify the code in the exedisp.c, in UpdateOnStepChange() function. Just comment out the SetCtrlBitmap() function there are two calls in this function.
As to whether it is going to make a noticable different in performance, well that depends on the spec of the controller (PC), graphics card etc. you are using. But you probably wouldn't notice any diference.
Before you make any changes, copy the sub-folders from the NI folder to the User folder and work from the User folder.
Regards
Ray FarmerMessage Edited by Ray Farmer on 05-07-2005 06:29 PM
Regards
Ray Farmer -
Can i send my music from mac to iphone without connect my iphone with usb ?
can i send my music from mac to my iphone without connect my iphone with usb ?
iOS: How to transfer or sync content to your computer - http://support.apple.com/kb/HT1296 > Wi-Fi syncing
How to Use Wireless Sync in iOS 5 - http://www.pcworld.com/article/242242/how_to_use_wireless_sync_in_ios_5.html
iTunes 10.5 and later: Troubleshooting iTunes Wi-Fi Syncing - http://support.apple.com/kb/TS4062 -
Hello Forum-Members,
I have a problem concerning the execution of an TestStand-Sequence in LabVIEW. I have created a VI that offers the ability to choose a TestStand-Sequence-File and then executes the sequence using the TestStand-API. The implementation is based on an example in C++-Application found following this link:
http://forums.ni.com/t5/NI-TestStand/Unreleased-references-using-engine-API-in-C/m-p/2927314#M46034
The implementation works quite solid in case the VI is executed the first time. The VI processes the chosen sequence in a acceptable duration.
But in case the execution is started a second time, the execution of the sequence takes ca. 30sec more than in the first case.
Until now I have not found a solution and hope someones got a hint concerning this problem...
I am using LabVIEW 2013 and TestStand 2013.
I have attached my own VI, a sample sequence with a small sample VI, so you can reproduce the problem.
Kind regards,
TobiKi
Solved!
Go to Solution.
Attachments:
Exe-TestStand-Sequence.vi 25 KB
Sequenz.vi 8 KB
Test-Sequenz.seq 5 KBHi Norbert,
first thanks for your answer.
What would be a reasonable way to replace the "Execution.WaitForEndEx"? My first idea is to get the respective thread of the execution and use the "Thread.WaitForEnd".
To clarify my problem:
The execution of the sequence itself takes longer time and so the execution of the calling VI. I have attached pictures of the log file of the first and second execution.
Further I don't get any dialog popups during the shutdown of TestStand. (I have activated the "ReportObjectLeaks" using the "DebugOptions") While developing the attached VI I've gotten several popups. But these popups disappeared after closing all references.
Maybe you have another hint how to locate the problem.
TobiKi
Attachments:
FirstExecution_20-08-2014.png 16 KB
SecondExecution_20-08-2014.png 16 KB -
Why I get an error when running a sequence using the LabVIEW operator interface ?
I have a simple TestStand sequence calling LabVIEW vis that is giving me an error when I run it with the .exe version of the LabVIEW operator interface and I set TestStand to run the vis using the 8.2.1 runtime engine instead of the development adapter. I made a change in the operator interface to open a vi programatically and get the value of a control, this vi is also used in the TestStand sequence I am trying to run. Could this be causing my problem ?
ThanksHello Verdulken,
I have a few additional questions:
Does your application function correctly when running the LabVIEW operator interface you have created as a VI in the LabVIEW development environment (i.e. does this problem only occur when the LabVIEW operator interface is run as an executable)?
What is the error that you are receiving?
Regarding the VI that you open programmatically, do you open it in a visible manner (i.e. use the Show front panel when called option from VI Properties)?If so, do you also close this VI after it finishes (i.e. use the Close if originally closed option from VI Properties)?
Does the error occur on the step that calls this very same VI again later in the sequence?
Does your application function correctly if you use the development adapter for all of your calls?
Thank you in advance for this information,
Matt G.
National Instruments
Applications Engineering -
TestStand Error only when using Operator Interface
My testStand sequence runs correctly when I run it from the seqEditor, but when I run it from our Operator Interface (modified version of the simpleOI example), I get the following error,
"Error Message: Parameter 'Input Files': System Level Exception. [Error Code: -17502]
Input Files is a parameter of the LabView vi being called, and is an array of strings. The VI executes correctly even when called fromthe OI, but when it returns to TestStand (when called from the OI) the error occurs.
Thanks for any info and help on this. Also any info on why the simpleOI would cause an error would be appreciated too.Hi Ray,
Here are some answers to your questions.
This VI that error's, is it part of the simpleOI or part of the Sequence File being run by the simpleOI?
---- The VI is part of a sequence file that is called by the OI.
If it is in a Sequence File, does this run in the default OI?
---- No, it's part of a new set of test sequences for our equipment.
What does the simpleIO do with the data contained in Input Files?
---- The data is just passed to another VI to load our input vectors.
What version's of TestStand and LabVIEW are you running.
---- I believe it's LV 8.5.1 and TestStand 4.0
What sort of modification have you done to the simpleOI example?
---- I think we only added our new sequences, a Operator info popup, and a few more buttons (Pass/Fail light, Change Op Info). And we removed some unused code to make it more simple.
Thanks again for your help.
Billy -
Is it possible to shutdown TestStand LabWindows/CVI operator interface programmatically?
Hi,
Like the title says, I'm trying to find a way to shutdown TestStand operator interface automatically after sequence execution is completed.
Any suggestion is appreciated, thanks in advance.Thank you for your reply.
I did a loop but it wouldn't work :s
I managed to create an ActiveX button to exit test stand.
I found an example within the TestStand Course I and II.
static void ExitApplication(void)
VBOOL canExitNow;
TSUI_ApplicationMgrShutdown (AppManagerHandle, &errorInfo,&canExitNow);
if (canExitNow)
QuitUserInterface(0);
// the ApplicationMgr control sends this event when it is ok to exit the application.
HRESULT CVICALLBACK ApplicationMgr_OnExitApplication(CAObjHandle caServerObjHandle, void *caCallbackData)
ExitApplication();
return S_OK;
void CreateTSEngineHandle ()
GetObjHandleFromActiveXCtrl (panelHandle, PANEL_APPLICATIONMGR,&AppManagerHandle);
GetObjHandleFromActiveXCtrl (panelHandle, PANEL_EXIT, &AppExit );
TSUI__ApplicationMgrEventsRegOnExitApplication (AppManagerHandle, ApplicationMgr_OnExitApplication, NULL, 1, NULL);
TSUI_ApplicationMgrConnectCommand (AppManagerHandle, &errorInfo, AppExit, TSUIConst_CommandKind_Exit, 0,
TSUIConst_CommandConnection_NoOptions, NULL);
TSUI_ApplicationMgrGetEngine (AppManagerHandle, &errorInfo,&EngineHandle);
TSUI_ApplicationMgrStart (AppManagerHandle, &errorInfo);
TS_EngineGetGlobals(EngineHandle,NULL,&Globals);
This way I click my QuitButton and it calls the the ActiveXExitButton witch calls the ExitApplication function.
The ApplicationMgr control sends ApplicationMgr_OnExitApplication event when it is ok to exit the application.
Hope this was clear enough and I hope this may be helpfull for someone else.
I apreaciate all the help.
Regards,
Daniel Coelho
Daniel Coelho
VISToolkit - http://www.vistoolkit.com - Your Real Virtual Instrument Solution
Controlar - Electronica Industrial e Sistemas, Lda -
Send numeric limit data from TestStand sequence to Accesss database
I use the "None" adapter to perform numeric limit testing on results from expression steps, but when I enable saving the report to an Access database the Name of the parameter is not shown. I noticed that when I use the multiple numeric limit step the option to name the parameter is built in, but the numeric limit test doesn't give that option. Is there a way around this? I have left the database options in their default settings.
By default the numeric limit test doesn't log the name of the step into the MEAS_NUMERICLIMIT table. This make sense since the name of the step is already logged into the STEP_RESULTS table. For the multiple numeric limit test, make sense to have a name to differentiate the different tests within the same step. That's why the default setting is set to log the test name in the MEAS_NUMERICLIMIT table.
Do you need the step name to be also in the MEAS_NUMERIC table or is it enough to have it on the STEP_RESULT one?
Best Regards,
Alejandro del Castillo
Application Engineer
National Instruments Co. -
Sending a message from PXI CAN Series 2 to device interface
Is it possible to send a CAN message to a device interface? What VIs should be use? I need to send a single message ("x92") to a device interface in order to enable its function.
Thanks!Great! That worked smoothly! Thanks DirkW
We now have this VI that sends a message to enable a sensor and then starts reading raw data. We understand this data is CAN frames which now we need to convert to channel in order to get scaled values. We tried "CAN Frame to Channel vs 2_2_2" from NI but it needs some cRIO parameters that we don't have. We also looked at the "CANConversionLibrary" but nothing that applies to our case.
How could we process the "Data" shown in the last column of the attached VI?
Thanks!
Attachments:
CAN_Test_AmmoniaSensor.vi 44 KB
CAN_Test_AmmoniaSensor_front.JPG 36 KB -
How do I customize the TestStand menu in a LabVIEW operator interface
I manage the sequence files that the application uses to test a part. I would like to remove several of the default (TestStand) menu items from the File (TS__FILE) and the Configure (TS__Configure) MENUS. Where do I adjust those menus?
-KennethHi Kenneth,
The menu bars in the LabVIEW OI are built during runtime in "Rebuild
Menu Bar.vi" that is located in the Case 3 of the only case statement
in the top level VI.
Here you can decide what commands are available to the user from the menu bar by limiting which commands are inserted.
Check out this forum post for more detailed information on how you would go about this process.
LabVIEW version of TestStand OI
Hope this helps Kenneth. Have a good one.
Dan Weiland -
I recently added two accounts to Thunderbird and everything seemed to be going smoothly. Today I was using one of the new accounts and wanted to change to my old Edurostream account. But it was nowhere to be found. The new accounts and another old account are there. If I go to "accounts" Edurostream is still there, but there is no way I know of to get from there to the inbox for that account. There is no error message. I am using the latest version of Thunderbird (24.6)
If you have all your emails going to Local folders, this sounds like you have a Global Inbox for the pop mail account.
You can check this here:
Tools > Account settings > Server Settings for the mail account.
click on 'Advanced' button.
Is this selected?
'Inbox for a different account' and 'Global Inbox (Local Folders)'
Global Inbox accounts do not show the mail account name in the Folder Pane as it does not use those folders.
See info on Global Inbox account:
http://kb.mozillazine.org/Global_Inbox
If you remove the account, the emails will remain in Local Folders.
If you change the settings as described above to point to 'Inbox for this servers account (also see image below - words may be a bit different as not an image of latest version), then you will see the mail account in the Folder Pane with it's own set of folders. New mail will go to those folders, but old mail will remain in Local Folders. -
Need simple usb/firewire interface with digital in
I want the simplest, cheapest way to transfer the 44.1kHz/24bit digital output of my ProTools system into the usb or firewire port of my Mac (OS X). I don't want to convert to analog. Any ideas gratefully received!
Hi,
This post is too confusing...do you have one or two Macs? Is your PT rig on one and your "Mac(OSX)" another computer?Well,here's what I can come up with...
1. If you are using ProTools,why are you posting in a Logic Pro forum?Just thought I'd ask...
2.If it is in your Mac already,why do you want to go out of your computer and back into it? Your audio is already in your computer,simply bounce it out,and import it into the other software you want the audio to be used in...
3.If you are talking about 2 different computers,you can connect them via ehternet network and transfer your audio that way...without doing it "realtime playback."
4.If you are wanting to print your audio onto another computer...meaning what you said you wanted to do...then you could get a cheap 2 channel interface that is supported by your Mac(OSX)...whatever that is(without knowing if you have a new Intel chipset Mac or an older Mac,or a dual processor Mac,or a Quad Mac...it's hard to know what to recommend...)
I hope this helps...
Nick -
Hide disabled executions in Teststand 4 Operator interface?
Hi:
I'm customizing the Teststand 4 Full Featured CVI Operator interface.
When running in the Batch model, we often run on less then the full number of test sockets indicated in our model options.
In this case, the unused test sockets show up as disabled executions in the operator interface.
Is it possible to hide the disabled executions?
Thanks,
DaveHi:
I was working on the batch model TileWindows changes in parallel and had noticed the tracing problem as well. The TileWindows subsequence from your BatchModel fixes this problem - thanks.
However, I'm able to reproduce a run time error through a sequence of (perhaps unlikely) events:
* start a test sequence with 4 test sockets using the batch model
* run the first socket, terminate in PreUUT, don't restart the first socket
(only the initial TestUUTs execution plus socket 0 will be visible in the operator interface, as expected)
* run the second socket, terminate in PreUUT, don't restart the second socket
(only the initial TestUUTs execution is visible in the operator interface)
* run the third socket, terminate in PreUUT: run time error popup:
Execution is already closed. Not found in list of executions
Operation Failed. [Error Code: -17500]
I'm assuming this has to do with the PreUUT call being before the TileWindows call. Suggestions on how to get around this error? Do I need to force all socket windows back open before the TileWindows call to catch this condition?
Thanks,
Dave -
Results from Executing Sequence in VB
I�m trying to control the TestStand engine from
Visual Basic. I�m using the Automation Server
interface rather than the ActiveX control because
ultimately I want to be able to interface with it
from script running in a web browser.
The problem I'm having is that I can execute a
sequence file but I can't get any meaningful
results out of it. For example the ResultStatus
property of each step in a sequence is blank.
However, when I run the same file in the sample
VB Test Operator program everything seems to work.
I guess it's probably because I'm not handling
the engine's UIMessageHandler properly.
The relevant code is as follows:
Set moTS = New TS.Engine 'using as Automation
Server
'Get a sequence file
Set moSequenceFile = moTS.GetSequenceFile
("c:\program
files\teststand\tutorial\sample2.seq")
'Get the main sequence
Set oSequence = moSequenceFile.GetSequence(0)
SequenceName = oSequence.Name
'Enable polling for UIMessages
moTS.UIMessagePollingEnabled = True
Timer1.Enabled = True
'Start an execution on this sequence, bypassing
the Proces model
Set moExecution = moTS.NewExecution
(moSequenceFile, SequenceName, Nothing, False,
ExecTypeMask_Normal)
'In UIMessage Handler code
Dim UIMsgCode As TS.UIMessageCodes
If Not moTS Is Nothing Then
If moTS.IsUIMessageQueueEmpty Then
Set moUIMsg = moTS.GetUIMessage
UIMsgCode = moUIMsg.Event
Select Case UIMsgCode
Case UIMsg_StartExecution
Case UIMsg_EndExecution
Debug.Print "Num Threads = " &
moExecution.NumThreads
Debug.Print "Execution Status = "
& moExecution.ResultStatus
'Print info about the steps
Set moSequenceFile =
moExecution.GetSequenceFile
Set oSequence =
moSequenceFile.GetSequence(0)
NumSteps = oSequence.GetNumSteps
(StepGroup_Main)
For i = 0 To NumSteps - 1
Set oStep = oSequence.GetStep
(i, StepGroup_Main)
Debug.Print "Name = " &
oStep.Name
Debug.Print "Description = "
& oStep.Description
Debug.Print "Result Status
= " & oStep.ResultStatus 'This is empty
Next
Debug.Print "Report = " &
moExecution.Report.All 'This is empty
Set oSequence = Nothing
Set moThread = Nothing
Timer1.Enabled = False
Case UIMsg_BreakOnUserRequest
Case UIMsg_BreakOnBreakpoint
'etc.
End Select
Set moUIMsg = Nothing
End If
End If
Sent via Deja.com http://www.deja.com/
Before you buy.Hi Paul,
Thanks for the examples web reference. The simple VB example will be
useful as there's less stuff to wade through! Plus, I'll probably also
eventually need to refer to the C++ examples.
Re: the current problem, I had in the meantime solved it on my own. I'd
done what you say below, but the critical thing I missed was defining
the sequence context object.
Kevin
In article <[email protected]>,
"Paul Mueller" wrote:
>
> Kevin,
>
> You'll need to use a timer callback or some asynchronous technique to
poll
> for UIMessages. Furthermore, you need to release the UIMessage
before TestStand
> will continue with the execution. The execution pauses while you are
handling
> the UIMessage. And the execution continues only when you release the
UIMessage
> (or set it to Nothing).
>
> THere is a Simple VB Operator Interface example on the web at
www.ni.com/support/epd/
>
> Hope this helps,
> Paul
>
> [email protected] wrote:
> >I�m trying to control the TestStand engine from>Visual Basic. I�m
using
> the Automation Server>interface rather than the ActiveX control
because>ultimately
> I want to be able to interface with it>from script running in a web
browser.>>The
> problem I'm having is that I can execute a>sequence file but I can't
get
> any meaningful>results out of it. For example the
ResultStatus>property of
> each step in a sequence is blank.>However, when I run the same file
in the
> sample>VB Test Operator program everything seems to work.>>I guess
it's probably
> because I'm not handling>the engine's UIMessageHandler properly.>>The
relevant
> code is as follows>>Set moTS = New TS.Engine 'using as
Automation>Server>>'Get
> a sequence file>Set moSequenceFile = moTS.GetSequenceFile>
("c:\program>files\teststand\tutorial\sample2.seq")>>'Get
> the main sequence>Set oSequence = moSequenceFile.GetSequence(0)
>SequenceName
> = oSequence.Name>>'Enable polling for
UIMessages>moTS.UIMessagePollingEnabled
> = True>Timer1.Enabled = True>>'Start an execution on this sequence,
bypassing>the
> Proces model>Set moExecution = moTS.NewExecution>(moSequenceFile,
SequenceName,
> Nothing, False,>ExecTypeMask_Normal)>>'In UIMessage Handler code>>Dim
UIMsgCode
> As TS.UIMessageCodes>>If Not moTS Is Nothing Then>> If
moTS.IsUIMessageQueueEmpty
> Then>> Set moUIMsg = moTS.GetUIMessage>> UIMsgCode =
moUIMsg.Event>>
> Select Case UIMsgCode> Case
UIMsg_StartExecution>
> Case UIMsg_EndExecution>> Debug.Print "Num
Threads =
> " &>moExecution.NumThreads> Debug.Print "Execution
Status
> = ">& moExecution.ResultStatus>> 'Print info about the
steps>
> Set moSequenceFile
=>moExecution.GetSequenceFile>
> Set oSequence =>moSequenceFile.GetSequence(0)>>
NumSteps
> = oSequence.GetNumSteps>(StepGroup_Main)>> For i = 0
To NumSteps
> - 1> Set oStep = oSequence.GetStep>(i,
StepGroup_Main)>
> Debug.Print "Name = "
&>oStep.Name>
> Debug.Print "Description = ">& oStep.Description>
Debug.Print
> "Result Status>= " & oStep.ResultStatus 'This is
empty> Next>>
> Debug.Print "Report = " &>moExecution.Report.All 'This
is
> empty> Set oSequence = Nothing> Set
moThread
> = Nothing>> Timer1.Enabled = False>> Case
UIMsg_BreakOnUserRequest>
> Case UIMsg_BreakOnBreakpoint> 'etc.>>
End Select>>
> Set moUIMsg = Nothing>> End If>End If>>>Sent via Deja.com
http://www.deja.com/>Before
> you buy.
>
Sent via Deja.com http://www.deja.com/
Before you buy.
Maybe you are looking for
-
I have suddenly unable to upload any files through FIrefox
I have been unable to upload files on Firefox and Chrome. This happened suddenly.
-
Link labview data with excel sheets
I would like to save the output of a cluster(containing strings and numeric data) in a specific format(each data in respective columns) in an excel sheet. how do I do it in labview?? I tried mathscript, is there any other way? If there isnt can u sug
-
Hi, I have a UDP created by 7911 phone type for 400 users, now we are changing the phones to 6945, User will able to login (EM) without issues but the problem is in 6945 phones but they will not get the additional "4" lines becz their UDP was create
-
My Iphone 4 droped in water, phone is working but with no display, what to do?
My Iphone 4 droped in water, phone is working but with no display, what to do?
-
OPEN lcur_trade_cursor FOR select Syntax
HI I am new to cursors .i am seeing this code in my package .any help what the code in block will do?what for this is defined ? or can u please explain the behaviour of this cursor meaning the data how populated? I would like to understand especially