Quantcast
Channel: NI TestStand topics
Viewing all 6247 articles
Browse latest View live

Custom Menu item in Tools menu - Enable Expression

$
0
0

Hi All,

 

I am trying to add a custom menu item into the TestStand >> Tools menu. This menu item should be accessible only during edit-time and not while any executions are running. I want the menu item to be enabled only on the condition that the directory in which the active sequence file is present should also contain an associated file with the same name as the sequence. I tried getting the Active sequence file path with Runstate.SequenceFile.Path and Runstate.InitialSelection.SequenceFile.Path expressions but the menu item is always disabled whenever I click on the Tools menu.

 

The entire expression that I use to check whether this associated file is available or not is this:

FindFile(SearchAndReplace((Split(RunState.SequenceFile.Path,"\\")[GetNumElements(Split(RunState.SequenceFile.Path,"\\"))-1]),".seq",".ini",0,False,-1,False,0),True,"",3,1,False,False)

 

Split(RunState.SequenceFile.Path,"\\") - Splits the entire path with \\ demiliter. The output of the function is an array.

 

Split(RunState.SequenceFile.Path,"\\")[GetNumElements(Split(RunState.SequenceFile.Path,"\\"))-1] - Splits the entire path with \\ delimiter, get the number of elements in this array and indexes the last element. The last element would give the name of the sequence.

 

SearchAndReplace((Split(RunState.SequenceFile.Path,"\\")[GetNumElements(Split(RunState.SequenceFile.Path,"\\"))-1]),".seq",".ini",0,False,-1,False,0) - Searches and replaces the .seq file extension with .ini extension.

 

Finally the Find File function searches for the ini file in the same directory as the sequence.

 

If I put this same expression in a Message popup and convert the result of FindFile to True/False, the result is displayed properly based on the sequence that I put this message popup into.

 

If the expression I have used is not correct, how should the expression be?

 

Thanks,

Saranya


Can I use active directory to validate users?

$
0
0

Hi

 

Is it possible to link Active Directory to Teststand users ?

I would like to do this as it  will allow the user to use their same log in password for the PC.

 

Kind Regards

Shakeel

Error on changing the teststand version from 2014 to 2010 using version selector

$
0
0

Hi All,

 

I am obtaining the following error when I try to change the active version of teststand.

 

Untitled.png 

 

Also I get the same error whenever I launch Teststand 2014. Any inputs in resolving it are welcome. Thanks in advance.

 

Regards,

Prasaanth

TestStand menu, how to show & hide

$
0
0

I have a copy of TestStand where the menu (File, Edit, view, Execut, etc.) is not visible.  How can I make it visible?

How to get Socket Time shown in OI in Sequence Editor?

$
0
0

Hello Everyone,

 

Is it possible to get the socket time shown in the default NI Semiconductor Test Operator Interface of NI in Sequence Editor?

OI Socket Time.png

Is there any expression in Sequence Editor that can get this socket time in Operator Interface?

How can I include this Socket Time in the STDF generated by Result Processing in Sequence Editor?

ThanksSTDF Result Processing.png

 

 

How to correctly start / shutdown TestStand engine using API?

$
0
0

I try to restart TestStand engine between 2 sequence file executions. Using the TS API from VB .Net.

 

Steps: Start the TestStand engine -> execute a sequence -> close the engine -> start the engine again -> execute a sequence ....

 

When I want to start the second execution I get the following error:

 

"

Exception thrown: 'System.Runtime.InteropServices.COMException' in RestartEngineTest.exe

Additional information: Operation failed because TestStand Engine was shutdown.

"

 

What would be the correct engine restart procedure?

 

2'nd problem: If I try to force the Garbage Collector

                        'GC.Collect()
                        'GC.WaitForPendingFinalizers()
                        'GC.Collect()
                        'GC.WaitForPendingFinalizers()

 

after Engine.Shutdown(True) complete application hangs "inside" the first GC.Collect().

 

A sample solution is Enclosed.

 

I start the execution with "myTsEngine.NewExecution"

Upon API.UIMessageCodes.UIMsg_EndExecution I release the sequence file and the model.

Upon API.UIMessageCodes.UIMsg_ShutDownComplete I unload all modules and type palletes and call Shutdown(false) followed on second entry by Shutdown(True)

 

 Private Sub StartSequenceExecution(nameOfExistingSequenceFile As String)

        Try
            myTsEngine = New API.Engine()
            myTsEngine.LoadTypePaletteFilesEx()

            sequenceFile = myTsEngine.GetSequenceFileEx(nameOfExistingSequenceFile, 107)
            modelSequenceFile = myTsEngine.GetSequenceFileEx("SequentialModel.seq", 107)

            myExecution = myTsEngine.NewExecution(sequenceFile, "Single Pass", modelSequenceFile, False, 0)
        Catch ex As Exception
            Throw New Exception("TestStand Api Problem!" & vbCrLf & ex.Message)
        End Try
    End Sub

    Public Sub TS_UI_Message_Handler(ByVal aktUImessage As NationalInstruments.TestStand.Interop.API.UIMessage) Handles myTsEngine.UIMessageEvent

        Try
            Select Case aktUImessage.Event

                Case Is = API.UIMessageCodes.UIMsg_EndExecution
                    Try
                        If Not sequenceFile Is Nothing Then

                            If sequenceFile.CanUnload Then
                                myTsEngine.ReleaseSequenceFileEx(sequenceFile, 5)     ' UnloadFile, UnloadFileIfModified
                                sequenceFile = Nothing
                            End If
                        End If

                        If Not modelSequenceFile Is Nothing Then
                            If modelSequenceFile.CanUnload Then
                                myTsEngine.ReleaseSequenceFileEx(modelSequenceFile, 5)     ' UnloadFile, UnloadFileIfModified
                                modelSequenceFile = Nothing
                            End If
                        End If

                        myTsEngine.ShutDown(False)

                    Catch ex As Exception
                        ' ignore
                    End Try

                Case Is = API.UIMessageCodes.UIMsg_ShutDownComplete
                    If Not isFinalShutdown Then
                        myExecution = Nothing
                        myTsEngine.UnloadAllModules()
                        myTsEngine.UnloadTypePaletteFiles()
                        'GC.Collect()
                        'GC.WaitForPendingFinalizers()
                        'GC.Collect()
                        'GC.WaitForPendingFinalizers()
                        myTsEngine.ShutDown(True) ' 2'nd shutdown

                        isFinalShutdown = True
                    Else
                        myTsEngine = Nothing
                        'GC.Collect()
                        'GC.WaitForPendingFinalizers()
                        'GC.Collect()
                        'GC.WaitForPendingFinalizers()
                        MsgBox("First Execution Complete, Starting the second one...", MsgBoxStyle.ApplicationModal Or MsgBoxStyle.Exclamation Or MsgBoxStyle.OkOnly)
                        StartSequenceExecution("Test.seq")
                    End If

                Case Else
                    ' Optional: Do something or not to notify the the user/programmer about unknown messages !
            End Select

            aktUImessage.Acknowledge()
            aktUImessage = Nothing

        Catch ex As Exception
            MsgBox("UIMessageEvent Error: " & ex.Message, MsgBoxStyle.ApplicationModal Or MsgBoxStyle.Exclamation Or MsgBoxStyle.OkOnly)
        Finally
        End Try
    End Sub

Batch model resource management with step order flexibility

$
0
0

Hey, Teststand folks.  What's the best way in Teststand 2014 to do this?  I'm setting up testing 4 UUTs in parallel using the Batch model.  The test sequence has two parts.  2 UUTs at a time can run Part 1.  While 2 UUTs are doing the Part 1 test, I want the other 2 UUTs to do the Part 2 test.  Then when they're done Part 2, wait for Part 1 slots to become available and then run Part 1.  And those UUTs that had run Part 1 first will then run Part 2.

 

Thanks.   -Joe

 

Joe Czapski

Sonos

Boston, Mass.

 

 

Teststand has Detected a Fetal Error !!

$
0
0

an error box called "Teststand has Detected a Fetal Error" accures while the teststand works. And it show up randomly. if we click OK it close the Teststand. Anyone saw thiss ?? and How can I solve it?


cannot load VI using user interface standalone executable

$
0
0

Hello everyone,

 

I am preparing for my deployment. I build an executable for my user interface (based on Simple UI example), I get the following error when trying to run my test sequence using this executable as standalone.

 

I do not get this message when I am running the user interface vi (note: the LabVIEW adapter is configured to use LVRTE).

 

There are many code modules in the test sequences, but this error only occur for 3 of these code modules. These 3 code modules are run from another 'sub' sequence located in the same sequence file as in the main sequence. These sub sequence (the first one is call Stop Valve Monitor as indicated in the error message) are run asynchronously and they each calls the LabVIEW code module (the first one calls StopValve.vi as indicated in the error message). The rest of the code modules which are able load correctly are normal code modules call from the main sequence.

 

Can anyone please help me to find out why these 3 code modules are not able to load in ? Any way to solve this problem?

 

I am using LabVIEW 2014 32 bit and Teststand 2014 32 bit.

 

Yours sincerely,

hlim

 

 

 

unabletoload.jpg

Adding a New User using Labwindows/CVI

$
0
0

Hi 

 

I really need help as i am strugggling to find a solution.

I would like to add a new user and to view the list of users using CVI?

When Adding the user i would like to add the full name and password as well.

 

I dont want to use this TS_EngineDisplayNewUserDialog as i want it to be done with out user input of all that information as i am getting the information from Active Directory.

 

Is this possible?

 

Kind Regards 

Shakeel

break on first step property and tracing

$
0
0

Hi

 

I am missing the property to dynamically set "Execute" --> "Break On First Step". Any who know where it is?

(As example "Break on Step Failure" is found at "RunState.Engine.StationOptions.BreakOnStepFailure")

 

Also missing the properties for "Allow Tracing into Setup/Cleanup" + "Allow Tracing into Pre-/Post-Step Callbacks" + ....... (the rest of the tracing flags in StationOptions).

 

Thanks in advance

 

Vagn

NI-Scope Soft Front Panel Load Configuration (.h5 file) VI

$
0
0

Hello,

 

I want to use the NI-Scope Soft Front Panel to Set up my NI PXIe Scope/Digitizer (5160), then save the configuration to a file (looks like the file is saved in ".h5" format). Then I want to load that configuration in a TestStand Sequence. The Soft Front Panel has a "Load Configuration" (see attached image

s) option that lets a user point to that .h5 file to load the configuration to the instrument. Does anyone know where the VI for this is so I can call it in my teststand sequence? If not, is there a solution to load a .h5 file to an instrument in TestStand?

 

NIScopeFileMenu.png -->  SelectConfigurationWindow.png

 

Thanks!

master copy typedef not found

$
0
0

Hello everyone,

 

I originally posted this question in LabVIEW forum, but I guess maybe the teststand discussion forum is more suitable, so I am now posting it here.

 

I have a problem with my typedefine (Teststand UI Data.ctl) in the user interface (derived from the Teststand Simple UI). In the implementation, I was always able to add callbacks to response to Teststand events in the past.

 

Recently when I try to add a new callback to a Teststand events, I get error saying that the Typedef master copy was not found or contain error. What I find it strange are:

1. If the Typedef master copy was not found or contain error, why would the error not affecting the already implemented callbacks for other Teststand events?

2. If the Typedef master copy was not found or contain error, why is it possible to run the program?

 

Here I have 2 screen shots. The first screen shot shows the existing callback, where there is no error indicating Typedef master copy not found or error. The second screen shot shows the error when a new callback is added to another event.

 

The Typedef master copy, call TestStand UI Data.ctl is also shown in the 1 screen shot, and it is located in the TestExec.llb, as shown in the third screen shot.

 

I am not quite sure how to begin debugging this problem, that's why I hope the teststand experts out there can give me some pointers.

 

I am using LabVIEW 2014 32 bits and Teststand 2014 32 bits. Running on Windows 7 system.

 

Thanks.

 

Yours sincerely

hlim

Effect of different rows of NI SCXI 1130 on each other

$
0
0

Hello

I have NI SCXI-1001 Chassis with NI SCXI-1130 switching slots. What  I am going to do is: generating a signal by a RIGOL Function Generator and switch this signal to excite some piezoelectric sensors and reading the response signals by a Tektronix oscilloscope.

The problem is that when I connect both of the function generator and oscilloscope to different rows of the matrix I see the actuating signal in the response channel of oscilloscope, but when I connect one of the function generator or oscilloscope to the matrix and the other one directly to the piezoelectric there is no problem and I have the correct signal. What can be the problem?

I'll be thankful if you could help me

Regards

Saeed

IVI instrument not visible from teststand

$
0
0

 

I have a keysight amplifier 33502A, with the IVI driver.  The Amplfier is defined on NI-MAX but not visible on teststand.  I could understand of the Amplifier is not part of the standard IVI class but is was expecting of the direct IVI command will be available on the IVI Tools step.

 

Why is not the case?

 

Do i need to verify, for each instrument, who IVI driver is available, if instrument is supported by teststand IVI step Type?

 

Can i create an IVI step type for my unsupported instrument?

 

 


How to use if else condition to determine sequence pass fail

$
0
0

I have a sequence where I need to determine its pass fail status by comparing two values. The values are returned by different LabVIEW vis', say. Locals.ValueReturnedByVI_1 and another value say  Locals.ValueReturnedByVI_2. Now, I intend to compare those values using a If-Else Condition and determine whether this sequence has passed or failed.

 

If (Locals.ValueReturnedByVI_1 == Locals.ValueReturnedByVI_2)

/*This sequence has failed*/

else

/*This sequence has passed*/

End

 

I dont know what should be done inside the conditon blocks to state the pass-fail of the sequence.

Or is there a better way to do this?

api dll windows 10 teststand 2014 SP1

$
0
0

Hello,

 

I'm searching a fix to my issue since few hours but I found nothing. I'm working on Teststand 2014 SP1 32bits with a windows 10.

 

I made a sequence on the same version of teststand on a windows 7 but I now have a windows 10. I openned my sequence (which worked well on W7) on W10 but when i'm exécuting it I have the following message.

http://puu.sh/pizsw/deabdd594d.png

 

I tried to install the W10 SDK, and some versions of Visual studio but didn't work. On my 64 bit version i have an other message which seems normal cause it says TS is unable to open my 32 bits DLLs.

 

I think i forgot to install something but I don't find what, if soemone found a solution at this problem, should be great to share =)

 

Best regards,

Guillaume

How to search for text in parameters?

$
0
0

Hello,

i have some labview-actions that have a StationGlobal as input parameter.

Why is the teststand searhc not working for these parameters?

When i am doing a search then nothing is found. Only values in statements are listet in the search box.

Thx

How to determine the number of rows in database and save that result to a local variable?

$
0
0

Hello,

 

I'm a newbie in using TestStand, databases and SQL, and now I have faced trouble. I'm using TestStand 2014 (32-bit).

 

I have a need to find the number of rows in a database and save that number to a local variable. I have tried to practise using the Database Step Types provided with TS. I tried using the following in a SQL Statement:

 

Locals.NumberOfRows = ("SELECT COUNT(*) FROM TEST_TABLE")

 

It returns an error: Specified value does not have the expected type. Can my goal be achieved this way, or am I doing this completely wrong?

 

 

-RautSa

Sequence Editor Fonts in Windows 10

$
0
0

Hello all,

 

Hopefully this is a question with a simple answer. I did search to no avail.

 

I've just upgraded from Windows 7 to Windows 10 on my development PC. I have TestStand 2014 and TestStand 2010 SP1 to support existing applications, and both exhibit this behavior:

 

Many fonts display correctly in the sequence editor, but the majority of them are annoyingly huge. (Please see attached screenshot)

 

Things I have tried:

  • Checking the sequence editor options dialog
  • Configuring Windows correctly. (No other applications have this issue, and our IT department confirms I'm not missing anything obvious on the OS side)
  • Editing SeqEdit.xml in <user>\appdata\local\National Instruments\<TestStand Version>\SeqEdit.xml.  When I edit font settings here they get mysteriously set back upon launching the sequence editor.

Does anyone know where these settings originate from and how to modify them for correct display?

(I'll feel really embarassed if it's something simple)

 

Thanks,

 

Jim

 

 

Viewing all 6247 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>