Can't write to station globals in deployed system

When I run Teststand distribution on the target system, I can’t write to the station globals from my custom application that uses the Teststand engine.  The following are the facts:
When I run my custom application, my sequence can’t write to any of the station globals.  The function TS_PropertySetValString returns : -2147024890.
I made sure that my distribution included the sequence editor.  When I run my sequence in the editor, I don’t get any errors AND the fields in the station globals are actually updated with the correct values.
I have updated all of the users using the “User Viewer” in the sequence editor to make sure that the “Edit Station Globals” and “Grant All” are true.  I have added code to my custom application to query the engine for these flags and display them in a popup, the flags are TRUE.
I also made sure that the “Check User Privileges” under the “User Manager” in the sequence editor is OFF.  It made no difference
I am at a total loss.  Any ideas?
Todd

Inside my custom application EXE that launches the teststand engine, the following call works:
tsErrChkMsgPopup(TS_PropertySetValString (m_oGlobals, &errorInfo, "TestConsoleInfo.Operator", 0, sText));
The above call uses a globals object
Inside the DLL, that is invoked by the sequence file being executed by my custom application, the following function fails with totally bogus info in the tsiErrorinfo structure.  And yes, the sequence handle is valid because this same sequence handle is used to read from the station globals, we just can't write to the station globals.
iStatus = TS_PropertySetValBoolean(g_iTSseqHandle, &tsiErrorinfo,
         "StationGlobals.ErrorInfo.CurrentError.Occured",
         0, 1);
The above call uses a sequence object
Todd

Similar Messages

  • Station Globals in Deployed System

    Hi,
    Do StationGlobals get deployed automatically as do other variables?  I'm trying to deploy a system that uses a property loader to load several values into StationGlobals within the "Setup" sequence.  It works fine in the sequence editor but when deployed, a run-time error occurs saying the station global doesn't exist.  Do I need to do something different during deployment?  (I'm using the TS deployment utility and am using a LV operator interface)
    Thanks, Adam

    Hi Adam,
    The best place to look in the TestStand Reference Manual (found inside the TestStand Bookshelf).  Here, Chpater 14 covers Deploying as well as some common deployment situations.  There is also a section in the TestStand Help that discusses deployments and the Deployment Utility.
    Thanks,
    Caroline
    National Instruments
    Thanks,
    Caroline Tipton
    Data Management Product Manager
    National Instruments

  • How can i write the trigger for Global Temporary Table

    Hi Grus,
    How can i write the trigger for Global Temporary Table.
    I was created the GTT with trigger using the below script .
    CREATE GLOBAL TEMPORARY TABLE GLOBAL_TEMP
    EMP_C_NAME VARCHAR2(20 BYTE)
    ON COMMIT PRESERVE ROWS;
    CREATE OR REPLACE TRIGGER TRI_GLOBAL_TEMP
    BEFORE DELETE OR UPDATE OR INSERT
    ON GLOBAL_TEMP
    REFERENCING NEW AS NEW OLD AS OLD
    FOR EACH ROW
    BEGIN
    INSERT INTO EMPNAME VALUES (:OLD.EMP_C_NAME);
    END;
    trigger was create successfully, but the wouldn't insert into to EMPNAME Table..
    Please guide whether am correct or not? if not kindly give a correct syntax with example
    Thanks in Advance,
    Arun M M

    BEGIN
    INSERT INTO EMPNAME VALUES (:OLD.EMP_C_NAME);
    END;
    you are referencing old value in insert stmt.
    BEGIN
    INSERT INTO EMPNAME VALUES (:new.EMP_C_NAME);
    END;then run ur application it works fine...
    CREATE GLOBAL TEMPORARY TABLE GLOBAL_TEMP
    EMP_C_NAME VARCHAR2(20 BYTE)
    ON COMMIT PRESERVE ROWS;
    CREATE OR REPLACE TRIGGER TRI_GLOBAL_TEMP
    BEFORE DELETE OR UPDATE OR INSERT
    ON GLOBAL_TEMP
    REFERENCING NEW AS NEW OLD AS OLD
    FOR EACH ROW
    BEGIN
    dbms_output.put_line(:OLD.EMP_C_NAME||'yahoo');
    INSERT INTO EMPNAME VALUES (:new.EMP_C_NAME);
    dbms_output.put_line(:OLD.EMP_C_NAME);
    END;
    create table EMPNAME as select * from GLOBAL_TEMP where 1=2
    insert into GLOBAL_TEMP values('fgfdgd');
    commit;
    select * from GLOBAL_TEMP;
    select * from EMPNAME;
    output:
    1 rows inserted
    commit succeeded.
    EMP_C_NAME          
    fgfdgd              
    1 rows selected
    EMP_C_NAME          
    fgfdgd              
    1 rows selectedgot it Arun
    Edited by: OraclePLSQL on Dec 28, 2010 6:07 PM

  • Station globals in debug deployment license

    Hi,
    I have a very simple question:
    Is it possible to view/modify StationGlobals with a Debug Deployment license?
    Thanks.
    S. Eren BALCI
    www.aselsan.com.tr

    Hi ebalci,
    I just tested this out and you are able to edit the station globals from the sequence editor with the debug deployment license.
    Matt M
    NI

  • How do I distribute my station globals to a target machine?

    I am using the deployment tool to distribute my sequences to a target PC. When I ran the sequence on the target machine, it couldn't find the StationGlobals that the sequence uses. How do I include my globals in the StationGlobals.ini on the taget machine so that whenever the sequence gets deployed to any other machine the sequence can read and write to those globals. I realize I could copy the StationGlobals.ini from my development machine to my target machine, but I want it to be done automatically when I deploy the sequence. I also don't want to overwrite a StationGlobals.ini that may be used by some other sequence on that target machine. So, basically I guess I would like to be able to add new station globals to any target machine as part of my deployment.
    ThanksMessage Edited by tman on 03-04-2005 03:23 PM

    The most straightforward way to accomplish this is to include StationGlobals.ini in the workspace file that you are deploying. Of course, this too would overwrite the existing StationGlobals.ini on the target machine.
    From what you have described, it sounds like Sequence File Globals may be sufficient for your needs. Sequence File Globals are global to all of the sequences in a sequence file. StationGlobals are variables that can be accessed by any sequence file run on a station. If you used File Globals, you would not have to be concerned about deploying an INI. The File Globals are included in the SEQ file.
    If your system does require StationGlobals, the ideal way to handle this would be to have the StationGlobals.ini on your development machine have all of the StationGlobals needed by the sequence files on your deployment machine.
    Now, to answer your question, you could use a sequence of ActiveX steps to have your additional StationGlobals programmatically added to the StationGlobals on the target computer. For example, you can have one step check if a particular StationGlobal exists. Then, if it does not exist, you can have a second step run that adds the StationGlobal and sets its value.
    Attached you will find ProgStnGbls.seq that has two ActiveX Action steps. The first step checks for the StationGlobal. A boolean Local is returned by this step. The second step is the step that will, if needed, add the StationGlobal. This second step has a Precondition that checks the boolean Local. If the Boolean is false, a new StationGlobal is added. Then, a Post-Expression sets the value of the new StationGlobal. You would want to Run Main Sequence of this sequence file as a last step after deploying the test system.
    Also, ProgStnGbls.seq is currently saved as version 2.0.1 of TestStand. It has been tested with version 3.1 as well.
    Regards,
    Eric M
    Attachments:
    ProgStnGbls.seq ‏14 KB

  • TestStand station globals sharing between two applicatio​ns

    Hi,
    I am having two applications developed with CVI 8.5 and TestStand 2010. Both are accessing same station global variable”ESSX2_0.Aux.Status”. Please create a station global in TestStand 2010.
    The idea is the Write application shall get the status of the Aux status control at an interval of 1 sec and updates the station global. The Display application shall read the station global and displays the value of the station global.
    The write application is updating the station global and I can see the status in Teststand Sequence editor. But my updated value is not getting reflected to my Display application unless I restart the application. I am understanding that the status of the station global variables is taken at the time of the application start in my display application and is not getting refreshed to get the changes from external applications till we restart.
    Please help me out so that the display application keeps looking for the updated values.
    Attachments:
    Aux Display.zip ‏1759 KB
    Aux Write.zip ‏1760 KB

    Station globals are not shared across processes unless you pass a reference to them across processes. There are several ways to do so. The easiest thing to do is create a TestStand sync object like a notification or queue which can transfer a reference to the station globals across processes. Or use the notification or queue directly as your communication mechanism. TestStand sync objects whose name you start with an asterisk '*' character are automatically shared across processes. You can use Engine.GetSyncManager() to get the appropriate sync manager and then use the SyncManager API. Please see the help for more details.
    -Doug

  • How to transfer Station Globals from 2.0 to 3.1

    I have a Teststand 2.0 sequence.  I notice that after I install
    3.1 it can not access the previously existing station globals.  I
    can enter them by hand but I need to deploy to other machines.  Is
    there a way to import station globals from 2.0 to 3.1. A collegue
    suggested copying the .ini file but I notice those files have teststand
    versioning entries.

    Hi,
    You should be able to do the same as Allen P had responded to the previous query. So did you try that.
    Also what's the point in posting your query here and in it's own post (here), it doesn't get your query answered any quicker.
    Regards
    Ray Farmer

  • Writing to TestStand Station Globals

    Hi,
    I've posted this in the LV board, but realise it may be better suited to the TestStand one...
    I want to write to a TestStand Station Global from within LabVIEW.  I can read from Stations Globals using the method given here: https://decibel.ni.com/content/docs/DOC-11447 but can't work out how to write to them.
    Is it possible? If so, how?
    Any help gratefully received,
    Dan
    Dan
    CLD

    There should be a TestStand palette in your LabVIEW.  In there is a TestStand - Set Property Value.vi.  There is also a TestStand - Get Property Value.vi.  Those will make your life a lot easier.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • How to log strings stored in Station Globals and/or PreUUT values?

    Hi all,
    I have a Station Global that is persistent across all UUTs in a particular PC. I have also created a custom PreUUT dialog to obtain user input that applies to the upcoming UUT (I pass this user input to the UUT by storing it in a File Global). Both the Station Global and the File Global store a string.
    What is a good way to log these strings into the ATML report and SQL database?
    Currently, the best solution I can think of is:
    Create a LabVIEW VI that takes a string input and passes it straight through to the output
    Pass the Station Global (or the File Global) into the VI input
    Assign the VI output to Step.Result.ReportText
    This seems rather cumbersome though. Is there a simpler way to achieve this? (i.e. is there a built-in TestStand action that logs a variable directly into the report?)
    In case it's important, I'm using TestStand 2013 SP1 and I'm using the default report templates: tr5_horizontal.xsl for ATML, and C:\Program Files\National Instruments\TestStand 2013\Components\Models\TestStandModels\Database\SQL Server Create Generic Recordset Result Tables.sql for SQL.
    Thanks!
    Solved!
    Go to Solution.

    JKSH,
    You can handle this with the Additional Results functionality in TestStand, which can be configured in the settings for an existing step, or as a standalone step type. We have an example of this in the TestStand Fundamental Example series here: http://www.ni.com/product-documentation/52354/en/#toc3   (Look for section 3, "Adding Custom Data to a Report"
    I hope it helps, and let us know if we can do anything else to help!
    Daniel E.
    TestStand Product Support Engineer
    National Instruments

  • I can't write to a external disk in my MacBook Air

    Hi, I have a (Samsung M3 Station External Hard drive (1.5T) ) and i want to use it  in my MacBook Air, but i'm having some problems with it. The MACBook Air recognizes de disk and I can read the information but is impossible to copy or  write  any information on this disk. 
    Is there any chance to use an external drive whith MAC computers?

    Your external disk is probably formatted with the NTFS file system (Windows).
    OS X can't write to the NTFS file system.
    If the external disk will only be used with your MBA save any data you don't want to lose and use Disk Utility to re-format it with an OS X supported file system.
    If it needs to work with both OS X and Windows machines then FAT32 or exFAT are the only compatible file systems.
    There is third party software available that will allow OS X to write to an NTFS file system but I have no experience with that so don't know how well it works.

  • Station Globals modified externally are not reflected

    Hi,
    I am having an UI developed in CVI(EXE1) which runs a teststand sequence. The flow of sequence is controlled by Station Globals.
    The Station Globals i am trying to control from another user interface so that the flow in EXE1 will be exrcised. But some reason the updated station globals are not reflected in EXE1.
    In the sequence i have used Engine.ReloadGloabls() but some reason the values are not reflected.
    Anyone can help me out on this.

    Hey ramjeev,
    Are you certain that the globals are being saved from the location you edited them before you call the Engine.ReloadGlobals()? Also, as mentioned in the function help here, you should clear or destroy your existing references to the globals before calling the ReloadGlobals() method. This is because any existing references will retain their values rather than being updated with the method call.
    However, I'm not sure if this is the best approach for your application. Typically, Station Globals are used for configuration settings, particularly those that need to persist between executions. Since you're wanting to control this test sequence from another user interface, I wonder if UIMessages or a synchronization object such as a queue or notifier would be better for this purpose. Have you explored any of these options?
    Daniel E.
    TestStand Product Support Engineer
    National Instruments

  • How to create an array Station Globals programmatically in CVI?

    Hello all,
    I want to create an array Station Globals programmatically in CVI. Where can I find some examples?
    Thanks,
    Zhonghui Ning

    Zhonghui,
    There is a KnowledgeBase on our website that describes the methods needed to do this. You can find the KnowledgeBase at http://digital.ni.com/public.nsf/websearch/C7C81F4AE5A46BB686256CDA005FA4C6?OpenDocument.
    I found this by searching for "teststand create variable". You can find TestStand examples on our Developer Library by going to http://www.ni.com/devzone and clicking on the link for Developer Library. This page has example code as well as tutorials and application notes on many aspects of TestStand. There are quite a few examples there that already address this type of question: Creating Sequence File Global Variables Using the TestStand API with LabWindows/CVI
    and Creating and Inserting a New Data Type into a Sequence File using LabWindows/CVI
    We continually add examples to these web pages, so it is always a good place to look for examples. While they may not have the exact answer to your questions, the examples usually cover a topic that is close enough for you to be able to apply the example to your question.
    Hope that helps.
    Regards,
    Shannon R.
    Applications Engineer
    National Instruments

  • SOA 11.1.1.5 install got can't write cache file

    Hi,
    I installed 2 node cluster of SOA 11.1.1.5 on linux and during domain configuration I got errors i.e.
    **sys-package-mgr: can't write cache file for**
    Installation was done and all the servers start/stop fine am able to deploy the processes, am able to access all the urls fine everything coming up fine BAM, SOA, OSB etc . Just wondering if the error above have any effect on the installation or any piece that might not work. As I have already did the installation and ignored those errors above so just wanted to see if anything I need to look for.
    Thanks

    Hi,
    It's a cluster install and took sometime to do the full install so it will be a pain to re-install everything over. Currently have tested the processes and seems to be working fine.
    Also I don't find
    /var/tmp/wlstTemp
    I do see wlstTemp appended with linux users who did Oracle SOA install.
    Also in-future when creating a new environment besides the above chmod 777 on /var/tmp/wlstTemp is there any parameter we can supply when running config.sh. I read some where that in-order to get by these errors at the time of domain creation we can also pass some parameter.
    Thanks

  • How do you get a station global or any variable to be read across UUTs executing in the parallel Sequence model?

    Dear  Support,
    I have two questions regarding the parallel sequence model:
    I am trying to find a global variable or any variable that can be universally read from any thread / step .   For instance:
    - Parallel sequence Model
    - 2 UUTs
    - The main sequence has 20  steps
    - I am looking for a variable that can be read universally across both UUTs in any step.  I have tried many, even the station global variable - as a Boolean - for "Abort" .  But that did not work either.
    Question TWO:   How can I bring out this universal variable to the UI ?  Can you point me to an example?    Do I use the "Lookup"  ,.  I could not get that to work.  Can I use the "Label"  ?  I could not get that to work neither.
    Thanks! Brad
    Brad Whaley
    LabVIEW Certified Engineer

    1. http://digital.ni.com/public.nsf/allkb/21368C716B06780A86256A5C007075DB
    2. Post UI Message http://zone.ni.com/reference/en-XX/help/370052K-01/tsapiref/reftopics/engine_postuimessage_m/
    Beginner? Try LabVIEW Basics
    Sharing bits of code? Try Snippets or LAVA Code Capture Tool
    Have you tried Quick Drop?, Visit QD Community.

  • Disable Popup confirmation on station globals modified externally

    Hi,
    Is there any way to Disable the Popup confirmation Message saying the staiton globals are modified externally from TestStand?
    Regards,
    Ramjee V

    Hey Ramjee,
    Unfortunately, I don't believe there is any way to disable the dialog. I saw your other thread about the station globals, and would be happy to try and help figure out a different way to accomplish what you're trying to do that wouldn't require you to keep updating the globals. Let us know if we can do anything to help!
    Daniel E.
    TestStand Product Support Engineer
    National Instruments

Maybe you are looking for