Teststand API in LABVIEW

Hello Friends,
In the sequence editor , i am able to get the TestStand API  RunState.Step.Module.AsLabVIEWModule.RemoteHost = ""
But i am not able to get the same Teststand API properties in Labview with sequence Context. Herewith in attached the image for your ref.
Anyone knows how i can get the above teststand API in LABVIEW.
Thanks
Prithivi
Attachments:
Labview Teststand API properites1.JPG ‏51 KB

Hi Prithivi,
you have to cast the Module Reference to LabVIEWModule Type before you can use it. Following document will be useful to you:
How Can I Programmatically Access Information about a Code Module that a Step Executes (e.g. Name, Path)?
http://digital.ni.com/public.nsf/allkb/ADC6909C20E27D4886256E94005424E3?OpenDocument
Regards
MY
Attachments:
LVModule.JPG ‏17 KB

Similar Messages

  • Add limits to step settings via TestStand API from LabVIEW

    Dear LabVIEW and TestStand Community!
    I'm trying to add FileGlobal Variables as limits to TestStand step NumericLimit programmatically, via LabVIEW, via TS API. I attach screenshot of the code, which I use (part of it - the module, which only sets values to low and high limit of the step), and also I attach, what I manage to get.
    In TS, when I open sequence file, after running of the code, I can see in the description line of the test, that it accepted limits, which I set from LV - you can see it from the screenshot, it is marked with yellow. But in the Tab "Limits", there are still default numeric values, not FileGlobal Variables.
    Could anyone explain, what doest it mean, and how to set up them correctly?
    Thanks a lot in advance!
    Solved!
    Go to Solution.
    Attachments:
    Limits.PNG ‏33 KB
    Add Limits.PNG ‏15 KB

    It's kind of sequence generator what I'm doing now...
    Thank you very much for fast reply, but when I setup "UsexxxExpr" to true, it doesn't change the situation... Could you, please, check my attachment? Maybe, some mistake in syntax?
    Attachments:
    Add Limits.PNG ‏23 KB

  • Using TestStand Engine API in LabVIEW

    Hi all,
    I am currently working for a proejct where automation of testing is involved, For which NI LabVIEW and TestStand are used. My previous experience is in LabVIEW only and not in TestStand. In the current project I have to develop a UI where user can select the test sequences and execute them  automatically with a simple start command. So I thought to develop a UI in LabVIEW where I will call TestStand APIs in LabVIEW. I have a developed a code by calling the TestStand APIs and able to execute the sequence, but unable to generate the report. Does  any have stuff where in TestStand APIs are called in LabVIEW and test report is generated.
    As I mentioned earlier I haven't worked much in TestStand. I have gone through the TestStand examples like Simple UI. But it didn't helped me much.
    To put our project requirement in simple.
    1.It should  have the UI to select the TestCases (Test Sequences) and an option to select the no.of times the test cases needd to be executed.
    2. It should generate the reports for all the test cases.
    3. UI should support localization.
    Considering the above requirements I have thought to develop UI in LabVIEW calling the TestStand APIs. I also got to know that UI can be developed using TestStand, but I am not sure whether the above mentioned requirments can be fullfilled or not.
    I am attaching the VI what I have developed in the LabVIEW with which I am able to execute the sequences, but unable to generate the report. Kindly look into the VI and let me know what need to be corrected to generate the report using the same VI.
    Thanks and Regards
    Giridhar
    Attachments:
    TestStand_Enginevi.vi ‏21 KB

    If you want to generate a report you'll have to choose an entry point. You should have a look at the LabVIEW OI (operator Interface) shipped with TestStand
    Rodéric L
    Certified LabVIEW Architect

  • LabVIEW V'sI containing TestStand API saved on different Windows versions

    Hi.
    I have a question regarding saving and loading of LabVIEW VI's that contains calls to the TestStand API in different versions of Windows:
    Can it be true that if I create such a VI in e.g. 64 bit Windows 7 and then load it in 32 bit Windows 7 or XP with the exact same versions of LabVIEW and TestStand, the VI will need to be recompiled?
    I am currently using LabVIEW 2012 SP1 f9 and TestStand 2012 SP1 f1.
    Best regards
    Jens Christian Andersen.
    Best regards
    Jens Christian Andersen.
    CLA, CTA

    Hi,
    If the labview version is same then it need not be re compiled.
    It will work with different versions of Windows (for both bitness 64\32 OS)
    Ravi

  • Execution of TestStand-Sequence in LabVIEW via TS-API: Different Execution times for same sequence

    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 KB

    Hi 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

  • How to build a TestStand 2012 workspace ( insert a project / insert a folder) programmat​ically using LabVIEW 2012 and the TestStand API.

    Hi everybody!
    I am just trying to find out how to create a TestStand workspace … in LabVIEW using the TestStand API.
    To create a new workspace was quite easy. Unfortunately I am not successful to insert a new or existing project to the workspace.
    Furthermore I have to insert a folder from disk to the new or existing project in the way that I can use an absolute path for the directory …  
    Maybe someone had already solved this problem, in any case  I am thankful for any hint.
    Greetings from Germany,
    Norbert

    Have you find out how to add a folder to a project? I'm looking for this to... I tried WorkspaceObject.NewFolder[Name]whitout success...
    For creating Workspace and project see the newer resolved thread I created.
    Martin

  • Teststand api Creating/deleting Users

    Hi,
    I am using Teststand API with Labwindows and i have a problem with creating/deleting Users.
    In fact, to explain easily my problem when you use the full-featured Teststand  with the "CreateDeleteUsers.seq" sequence and create a user, then close the full-featured Teststand, you loose your new users in the previous opening.
    Whereas, with the Teststand 4.0, with the same "CreateDeleteUsers.seq", when you close, it propose to save the changed file "UserManagement" (Users.ini) and everything's fine...
    And as i am using a Labwindows project to login/logout to teststand, i am using TS_... functions i can't find a way to save or to have this save popup to keep my users.
    I hope that i am clear, and that someone will be able to help me ! 

    Hello,
    As you could see in the following KB: How Can I Edit and Save Changes for the Current User? you have to get the users file as a PropertyObjectFile as it's done in the CreateDeleteUsers sequence, and then use two methods, IncChangeCount() wich is also already done in the example sequence, and the SaveFileIfModified().
    See attached file below for the example sequence changed with the file saving.
    Regards,
    Olivier L. | Certified LabVIEW Developer
    Attachments:
    CreateDeleteUsersAndSave.seq ‏11 KB

  • Load a VI (including TestStand API) in TestStand

    He,
    I'd like to load a VI in TestStand without LabVIEW.
    LabVIEW Version 8.5
    TestStand Version 4.0
    The PC with TestStand just have LabVIEW Runtime Engine 8.5, and the VI is used to import data in station globals; Also, This VI calls TestStand API and TestStand Engine.
    On a PC with LabVIEW and TestStand, all is OK.
    But, on a PC with Runtime only, even if I configure Adapters in TestStand and Select LabVIEW Run time 8.5, an error message is displayed (unable to load VI ... )
    I have tested with a simple VI (dialog box), all is ok;
    But with VIs thaht called API TestSTand, error is displayed
    Do you have an idea ?
    Thank you for your responses
    Solved!
    Go to Solution.

    Yes, I understand that you use TestStand in development system and the VIs are in an llb there. What I ASKED was where you placed the TestStand VIs on the runtime only pc. It sounds like you did not place them anywhere. If you didn't, how do you think the top level VI is going to work? You don't think that these VIs are included in the runtime engine do you? They are not. Only the LabVIEW primatives are in the runtime engine.
    You should really consider using the deployment tool.

  • J'aimerais lire ou modifier des variables globales sur TestStand à partir de LabVIEW

    Bonjour,
    J'utilise LabVIEW pour lancer TestStand et j'aimerais avant de lancer la sequence, modifier les variables globales sous LabVIEW.
    Pourriez vous m'indiquer comment faire?
    Merci,
    Cordialement
    Résolu !
    Accéder à la solution.

    Bonjour,
    En cherchant un peu dans l'API de TestStand (TestStand API Poster : http://www.ni.com/pdf/manuals/372844b.pdf)
    On trouve :
    Typically, you use the PropertyObject class to get or set the values of custom step properties, sequence local variables,
    sequence file global variables, and station global variables.
    Ce qui donne :
    Cordialement,
    Da Helmut
    Pièces jointes :
    TestStand Globale.vi ‏11 KB

  • How do you get a handle to a TestStand API SequenceCallModule Object?

    I am trying to programatically specify the SequenceName for a sub sequence, created using the TestStand API called from LabView.  SequenceName is a property of the SequenceCallModule object but I cant see how to get the object handle.
    Can anyone help?
    Regards
    Steve
    There are 10 types of people in the world that understand binary, those that do and those that don't.

    Hi,
      you can actually do this. I was speaking to Steve yesterday on this :
    starting with the handle to the appropriate step (I've done it in the attached sequence file in TS, but should translate nicely to LV)
    so I use the sequence to get the step by name
    I can then get the step.module
    then using the TESTAND ADAPTER API (and not the Teststand API)
    I can use the module returned above with the SequenceCallModule class from the TestStand AdapterAPI then. (you have to know ahead of time what the appropriate module / adapter type is otherwise it will have problems)
    Hope that helps
    Sacha Emery
    National Instruments (UK)
    // it takes almost no time to rate an answer
    Attachments:
    3_0 using adapter specific sequencecallmodule.seq ‏39 KB

  • Hide Label step icon using Testand API and LabVIEW

    Hi,
    can anyone tell me how it is possible to hide the icon of a label step using Testand API and LabVIEW?
    In the Teststand Sequence Editor, on the Label Edit Tab there is a Checkbox called "Hide Icon". Is there something similar in the API?
    Thanks
    Solved!
    Go to Solution.

    Yes you can, you will have to set the IconName property of the step to "ni_blank.ico"

  • TestStand API External Component Modified Since Last VI Save

    I'm using TestStand 3.5 with LabVIEW, and deploying my code across multiple stations.  The code is managed by Perforce (source code control).  I'm keeping the stations identical by installing NI software from the same CDs (which I'll refer to as an "Original Station"), but it seems that over time the TestStand API will somehow be externally modified ("Modified Station"), which causes LabVIEW to recompile the VI.  The Explain Changes dialog box states "VI recompiled.  External component modified since last VI Save."  If I save the recompiled changes on a Modified Station and submit the changes, an Original Station opening the VI will then recompile VI, stating that an external component has been modified since the last VI save.  If I resave the VI on an Original Station, then the next time I open it on a Modified Station the recompile will occur.
    This is problematic, because there will be a performance hit if LabVIEW has to recompile when opening VIs.  In addition, it makes debugging difficult, because LabVIEW will prompt to save changes on all the VIs if they were saved on a different station state.  Not to mention the unnecessary copies made in the source code control to maintain the history of the recompiling.
    My current solution is to reinstall TestStand on all the Modified Stations.  I set any TestStand strict typedefs that I use to non-strict typdefs, mass compile the TestStand addon folder in vi.lib, and then the station becomes an Original Station again.  Overtime, it will modify itself and turn into a Modified Station.  Since these stations are at multiple sites, it is very inconvenient to manage.
    My questions are the following:
    1. What is causing this external modification?  Is there anyway to prevent it, so that the installation and code will not get modified so that all will remain Original Stations?
    2. If it is not preventable, how can I force all stations to become a Modified Station, so at least they are all the same?
    I've attached LabVIEW 8.5 VIs that demonstrate the VI differences.  I've observed this behavior in LabVIEW 7.1 and 8.2 previously.  If anyone also experience this behavior or has a work around, please post to this thread.  If NI has insight on what is causing this behavior and how to prevent it, it will help me out greatly.
    Thanks!
    Attachments:
    test_recompile_original_lv85.vi ‏7 KB
    test_recompile_modified_lv85.vi ‏7 KB

     Wilbur,
    Do you have more than one version of TestStand or LabVIEW on the stations?   Switching the active version of TestStand changes the registered version of the TestStand API which I believe is the external change that forces a recompile.  If version switching is the cause of the problem you could prevent these changes by not sharing any TestStand VIs between different versions of TestStand.  If each version of TestStand has its own VIs then a VI is compiled against one and only one engine version.
    -Rick Francis

  • How to read and write data from Excel to TestStand without using LabVIEW VIs

    Hi,
    How can I read in columns of data from Excel into a TestStand array and write columns of data to Excel from TestStand without using LabVIEW VIs?
    I don't think the Property Loader custom step type in TestStand will work because the data I would like to read in from Excel is in a column that is thousands of rows long and the data has to be in the proper format to use the Property Loader to load in an array from Excel.
    Thanks for your help.

    That example does not use LabVIEW and it does about 40% of what you need to do by calling Excel through ActiveX. If you don't know how to use Excel through ActiveX then you'll need to brush up on that.
    http://www.microsoft.com/en-us/download/details.aspx?id=16250
    http://support.microsoft.com/kb/141759
    http://support.microsoft.com/kb/302084
    CTA, CLA, MTFBWY

  • TestStand API in C#

    Hi,
    we develop a software in C# which uses the TestStand API.
    we note that TestStand API allocates memory at the first execution of a TestStand sequence
    All the memory of this first execution is not deallocate at the end.
    why ?
    Is it a problem with Active X technology ?
    Is it a conserved memory for the next execution ?
    Is it possible to not have this comportment ?
    For information, we have deactivated the generation of the TestStand report.
    Thanks for the answers
    Best regards

    There is memory allocated when an execution is run for many different reasons. Please be more specific as to which memory you are referring. Choose one of the following (or add your own if I have forgotten one).
    1) Memory used by result collection (to store results under Locals.ResultList while an execution is running). These are typically freed once the process model is done processing them typically for report generation or database logging. By default the process model processes them between runs of the mainsequence on the UUT. These results are also freed when the execution completes (i.e. stops running). If you are not using a process model or do not need results for specific steps or sequences you can disable result collection on a per-step, per-sequence, or global basis.
    2) Memory used to keep the sequences and executions themselves in memory. These datastructures stay in memory as long as you have a reference to them. One additional twist with .NET is that you might not think you have a reference to them, but you really still do because .NET hasn't gotten around to garbage collecting the references yet. You can force garbage collection as follows with the following code:
            public static void DoSynchronousGCForCOMObjectDestruction()
                // To make sure activex refs are synchronously released
                // we need to call GC.Collect() and GC.WaitForPendingFinalizers()
                // at least twice, according to the following document:
                // http://msdn.microsoft.com/en-us/library/aa679807%28v=office.11%29.aspx
                // The reason we have to do it twice is that the the first call
                // might just sweep the objects into generation 2 rather than collecting
                // them immediately.
                GC.Collect();
                GC.WaitForPendingFinalizers();
                GC.Collect();
                GC.WaitForPendingFinalizers();
    3) Memory used by code modules being loaded. This memory is freed when the step settings on your code modules say to unload your modules, but the behavior is somewhat different depending on the adapter. Some adapters can unload code modules on a per-code module basis, but the .NET adapter can only unload code modules when all code modules and .NET objects created by the .NET adapter are no longer supposed to be loaded or referenced. That is because in .NET the only way to unload code modules is to unload the appdomain containing them. TestStand uses a single appdomain for the .NET adapter and unload that appdomain when all .NET code modules referenced by the adapter are unloaded and all .NET references gotten from those code modules into TestStand are no longer in scope.
    Hope this helps explain things.
    -Doug

  • Activating locks using TestStand API

    Hello,
    I have a question... how do I lock and unlock a lock, created in TestStand, in Visual Basic (by using the teststand API)?
    Greetz Jan Toebes

    Hello,
    To understand you correctly you are trying to perform a lock or unlock through Visual Basic. For this you have to use the synchronization server, which has a different API for itself. You can get more information about this under "TestStand Supplemental Reference Help" section in the TestStand Help.
    For simplicity sake, lets assume that you have a lock step created in teststand and you want to perform an unlock using Visual Basic.
    To perform this task, you need the SyncManager. This is the main class for all Synchronization objects. This class helps manage the creation and sharing of the different Synchronization objects between threads. You must create all Synchronization objects using this class.
    To get the appropriate instance of the TestStand Synchronization Manager call the Engine.GetSyncManager TestStand API method. The Engine.GetSyncManager method returns the TestStand Synchronization Manager for the appropriate process based on the name of the Synchronization object. So the call would be
    SyncManager = Engine.GetSyncManager(* Name_of_the_lock_Step)
    where the Name_of_the_Step is the actual name of the lock step that we created in TestStand. The "*" before that indicates that this lock step was created in a separate thread and is being shared.
    Now Mutex is the class that implements the Lock synchronization and is used to implement the Lock step type in TestStand. So using the SynCManager will get an instance of this Mutex class by using:
    Mutex = SyncManager.GetMutex(* Mame_of_the_lock_step)
    Now using Mutex you can perform an unlock by using:
    Mutex.EarlyUnlockMutex ( threadId)
    Please refer to the help for more information regarding these functions. I hope this helps.
    SijinK
    National Instruments

Maybe you are looking for

  • How to check the "check box" based on an event on form

    Hi, I have couple of text items and a check-box on a form. Is there a way I can check the box automatically when the text item values are edited/enterd by user ? I'm using the JS shown below but it doesn't work. I have this JS in page header. +<scrip

  • Selection-screen design

    Hi everyone, I am working on a project for which I have to design a selection-screen. The requirement is such that there are 3 obligatory fields to be filled by the user, which are as follows: P_LAUFD(parameter,obligatory-date), P_LAUFI(parameter,obl

  • Is it possible? RFC to IDOC Scenario

    Hi, Is it possible direct RFC to IDOC scenario ? How many message interface? Message mapping? Interface Mapping are neccessary. (scenario is simple and i think there is no need for message type or data type as i can map my fields easily in message ma

  • Can't get installing "wheel" to stop spinning

    I am working on a Mac Book system OSX 10.9.2. I joined Creative Cloud and paid for the monthly $49..95 fee. When I downloaded it , as it it said it was installing,a spinning blue wheel came up. A red cloud appeared and I was able to "tell it" to stay

  • Ultra 10 showing Date ERROR

    Ultra 10 frequently showing Date Error, date changed year --:--:1967, sometimes it automatically changed correct time. I need solution for this issue.