DAQmx, DIO, and TestStand

Recently, we have improved our NI TestStand from 4.2.1 to 2014.  Our SW architect is on a trip to China, so I can't to understand these small problems that can harass you.  For example, when I drag the DAQmx step server type for my sequence I have difficulties to get the help to understand this function.  All I'm doing is a relay nearby.  I know that I create, write and close.  Where to get help on writing?  There isn't any help DAQmx for TestStand I can find.

Tony Hey,

In fact, the DAQmx steps do not part of default TestStand. It seems that it is a custom step type developed by your organization (on behalf of the dialog box, the prefix is 'HR', which I believe are the initials of your company). It is also why there is no help for these types of step within TestStand himself.

It might be a little difficult for give us to you advice on why the step does not work correctly (although we could certainly try). You have all other architects or the contribution of TestStand users in your business that you might be able to ask how to use step?

Tags: NI Software

Similar Questions

  • integration of vi and teststand DAQmx

    So far I did well on teststand using instruments ordinary like scope, power, electric, generator functions, dmm and switches.

    So I had to use a map of daqmx for a particular test. And I found that I can't pass the reference to the task through teststand because he would be with a regular dmm, function generator tool. the trial regular that I'm used to is to:

    * init instrument (reference get)

    * use Vi to:

    Configure

    Read

    Beginning

    Stop

    * Close reference

    So what I had to end up doing for example in a test were I put the analog output value to my DUT then via a serial port, get the value that my DUT is reading.

    the ususal way will be as follows:

    -define daqmx

    -Start daqmx

    -DUT Serial read and limit test

    -Stop daq

    -Close task

    but it does not work like that.

    what I end up doing is run a vi on the bottom with the Daqmx task and have a notifier of testand my vi as the closing image

    TestStand notifier

    My daqmx statement is correct?

    It's one of the ways to do it with daqmx?

    your feedback to improve the use of daqmx on testand will help me much.

    Thank you

    Buton,

    You can pass the task handle DAQmx between different measures of LabVIEW. TestStand has what is called a LabVIEWIOControl, which is a particular type of object used to transfer these settings LabVIEW IO between steps. More information on this process can be found here: http://digital.ni.com/public.nsf/allkb/131A6A87C331B3CA862571EA0004D8C1

    Side of LabVIEW, all you need to do is create necessary/indicators controls wired to your façade with the task handle entries and exits; the KB above describes how to implement the object that manages these references on the side of TestStand.

  • Difference between DAQmx DAQmx Base and acquisition of Legacy data

    Hello

    What is the difference between NI-DAQmx, DAQmxBase and acquisition of data Legacy and what are the characteristics of these materials

    See this FAQ.

    And it's the software, not hardware.

  • LabVIEW and TestStand compatibility chart

    Hello

    There are various compatibility tables LabVIEW NOR as this Web site but it seems not to be a LabVIEW and TestStand compatibility chart.

    I think I found my answers, but I had to get through all the Notes version of TestStand to get.

    Hi Ray,

    The lists of the political of TestStand page on the different version of TestStand compatibility with:

    • Operating systems
    • LabVIEW
    • LabWindows/CVI

    (In addition to information about the cycle of life and support policy)

    Specifically, here's a screenshot of LabVIEW support:

    With each new version of TestStand, we will update the policy life cycle page, so you can always go for information.

  • Table does not work correctly between LabView and TestStand

    I'm doing a TestStand program that reads data from a LabView VI.

    If I run the VI in LabView, it works perfectly well and generates a table with 18 points in length, the first 3 are numbers between 0 and 10 and the rest being-1 as I intended. Re-run the VI causes the re - initialize correctly and I get a new table that also meets my specifications.

    When I run the VI of TestStand, it works fine once, producing a table with 18 points, the first 3 are numbers between 0 and 10, and the rest is-1.

    If I run the VI in TestStand once again it increases the length of array in 18 each time. In so doing, it fails to write the new 3 numbers and just add - 1 in table 18 times. If I restart TestStand will work fine once more, he repeats the error if I re - run the VI. I don't understand why this is happening.

    I have re-product the error in a separate VI and the order, and I have attached an example in this post. The VI contains all the necessary information (if not, please say so and I will correct it), and TestStand sequence is configured to put all results, I would find useful in the report (as additional results).

    Your problem is your VI.   Specifically the comment nodes.  They initialize on the first call.  TestStand retains the VI in memory.  So when the VI is called again, the comments always nodes have their last value.  You will get the same results if you have VI your ArrayBuild.vi twice appealed.

    The way you use the feedback nodes, they really replace with Shift Registers.  I like your comment nodes, but since you pass the value of the node in the loop, the SHIFT registers are much more appropriate.  Just make sure you initialize your Shift Registers.

  • Passing variables between LabVIEW and TestStand

    Hello

    I'm just learning how to use TestStand and although there are a multitude of resources available, I always find me at a loss on how to pass variables between TS and LV, leaving me to think that there is one fundamental thing that I'm missing which is likely, given that I have a weeks experience with LabVIEW and a days of experience with TestStand.

    I took a glance to the example of 'Clusters' to the Code Modules in TestStand examples (I use TS 2016 if it matters) because I thought it would be quite ideal for what I hope. In this case, I hope to be able to pass a string (a file path) to LabVIEW and VI power take this string and use it as part of an order for the Exec.VI system.  Then, I would be able to pass strings back to TestStand to show the user if an error occurred, but I thought I should get the first part of work.

    I guess my question is what do I have to wait to see in clusters to the example of the Modules of Code? The Watch window displays all defined variables premise on which has the ContainerOut in the Variables pane, but I don't see any kind of update on facades (VI1.vi and VI2.vi) LabVIEW code. Should I be?

    I looked at a few other discussions of the forum here and here, as well as the document of the basis of knowledge here, but could not recreate their solutions. It seems that the connector pane would be a viable way to go, but I'm not sure on how we create and use effectively. According to this document , it makes it seem like it should be simple enough to makes these terminals, but I am still missing a key step. I was able to follow all the steps on the knowledge base document and run the sequence, but then had no idea if it worked or not; I have the report show me the values of the variables I put, but I have no idea whether or not he actually did anything with the LabVIEW VI, or how I could see that.

    Please let me know if you need further information or clarifaction everything I ask.

    Thank you for your time,
    JColvin

    Digilent, a company of National Instruments

    If you want to enter values, you must create a vi for instance dialog box

    The OK button will allow new values to pass to the output terminals.

    A Cancel button will pass just the original through the output values without alteration. The VI will close when either the OK button or cancel were pressed.

    Concerning

    Ray

  • LabVIEW and TestStand licenses

    Hello everyone, I did a lot of reading through the info OR on the case, but thought someone here could explain a little more clearly. Basically, I would like to know what is the licensing for Lv and TS applications, if I understand correctly, I will require an individual license for deployment on each machine that I want to run an application of TS, regardless of whether or not I have the software but launch an executable instead.

    In regards to LabVIEW, is the way to understand it, it seems to me that if a machine without LV who has LV runtime can run my executable, it does not require a special license? Can anyone shine some light on the matter?

    All this comes from the fact that my current job could ask implement TestStand and LabVIEW, as our current sequencer is simply too basic and rudimentary to the applications that we expect. It's a place big enough then, what would the licensing conditions? Runtime engine just for what works and a deployment of TS for stations that run it?

    ATTENTION: OR licenses are business of OR to keep up with your Rep OR!

    But in a word (as I navigate these waters for a living)

    • The LV runtime is all that is required to run that a LabVIEW built applications or LabVIEW modules called by TestStand in most cases.  The RTE LV is provided with an end-user license agreement, but the license is free.  OK OK... some LsbVIEW SDK may require additional deployment licenses.  I think that the Vision is one of those rare "needs a key deployment that is not free" toolboxes.  I've never deployed an executable LV requiring a deployment Toolkit cost-once again, check with your representative.
    • TestStand deployment licenses cost by target computer.  There are several options to the less expensive, the deployment of Base, more flexible options as a deployment "Debug" to risk mitigation, workflow of your compay, number of test stations and familliarity with deployment options, maturity of the Test system is expected to help guide the process of voluntary decision.

    Since it is a new path for your company, consult with an Alliance partner with experience in assessing your needs, regulatory environment, level of skills and practices.  (And no, TestStand deployment methods assessment is not a base of 8-Ball consulting so compentancy think not that I am marketing here)  You ask OR Rep and look the Alliance Partner Locator

  • Using the Manager of synchronization for exe OI LabVIEW and TestStand

    We would like our operator LabVIEW executable Interface send data via a queue of TestStand to a sequence of logging.  The SyncManager API looks like a slick way to do this because it allows access to the synchronization objects other processes outside TestStand TS.  I created an experimental sequence of trying the concept.  The sequence creates a queue with a step of queue TestStand, up a point to another TS not queue, then uses calls to ActiveX in the SyncManager API to add another element to the queue of waiting.  That all works.

    When I added a LabVIEW VI to place another element through similar calls to ActiveX in the SyncManager API, the VI is not a valid reference to the queue and so it cannot place the element.

    I read on the forum that TS queue name must start with * in order to be accessed by separate processes on the same computer.  When I add a * on my queue name, queue TS operations continue to operate, but step that uses a call of ActiveX in the SyncManager API to get a reference to the queue returns one null ref so the next step of enqueue ActiveX returns an error.  In addition, the LabVIEW VI still does not receive a valid reference to the queue either.

    Ideas and suggestions welcome!  The sequence and LabVIEW VI are attached. Using LV and TS 2012, obtained similar results in 2013SP1.

    Thank you!
    Hans

    The queue API expects a PropertyObject not a string for the newElementPropObj parameter (not sure why LabVIEW similarly let you thread a string). To create a new PropertyObject, you can do something similar to the following:

    myProperty = engine. NewPropertyObject (PropValType_String, false, "", 0);

    myProperty.SetValString ("", 0, theActualString);

    Enqueue it.

    Close the ref to myProperty after you're done with it (i.e. after the queue it) in order to avoid leaking.

    -Doug

  • How to pass variables between Labview and Teststand

    It is probably a trivial question, but I'm new to TestStand. All I'm doing is updated to a variable in Labview and then pass this value in a local variable Teststand. A simple test that VI is attached. I get no error and it seems correct, but when I followed the variable via TS watch display is not updated. Also I am not able to read the variable outside TS. It is probably a trivial thing, I'm doing wrong, but I'm stuck.

    Too bad, it was simple. Just need to add the context of sequence as input, then set it to ThisContext TS

  • DAQmx start and read series vi low bits before actually reading

    I use DAQmx writing to set the bit on a map of 9403. When I set a little high, then try to read this small in a vi subseqeuent little gets low! Both DAQmx Start DAQmx Read screws seem to back the lower wick. How is that supposed to happen? I was certain that bits would not be initialized weak unless the device has been reset.

    I'm guessing that you create a digital output channel, call start, writing and then create as a separate digital input channel and call start-> reading or reading.

    Create the input channel changes the direction of the line.  This happens to commit (which you cross when they if call to start, or read with no departure).  Once the changes of direction, you no longer drive line.  That's why you always read zero.

    You have two options.  You can call read after write (in the task of digital output), or you can have fun with the tristate property.  TriState is a channel DAQmx (DigitalOutput-> Tristate) property.  Aid that it is good enough.

    Two ways to read the value of the line without changing the current state of the row.

  • Queues of LabVIEW and TestStand

    Hello

    I have a VI that uses several loops/queues to acquire data from a data logger and write the data to a csv file.

    What I want to do is start this TestStand VI and run data acquisition/writing until certain conditions require the data logger to be returned to power.

    Is it possible to pass a reference to the queue of the VI running somehow to TestStand and update the queue of TestStand to stop/start datalogging necessary?

    Maybe there's a better way to do it?

    Any help is greatly appreciated!

    Thank you best regards &,.

    Shane.

    TestStand access not directly a queue in LabVIEW.  TestStand and LabVIEW do not share an instance of the application.

    I Assume you called the QMH asynchonously so that the Launcher ends while the QMH continues to run

    Pass the reference queue to TestStand (U32) and call a specific "Enqueue for MySpecific Queue.vi" LabVIEW Module with the appropriate ref and data.  All this presupposes the QMH remains in memory.

    This example gets to be excessively complex, so I tend to use the Action with TestStand engines.  Loading and unloading options need attention though as long as the shift register (and, therefore, private data) leave no memory until you want to close the three-year

  • Configuration of input DAQmx terminal and choice of the sample mode

    Hello

    I'm studying 'Timing and synchronization features of NOR-DAQmx' from the following link,.

    http://zone.NI.com/DevZone/CDA/tut/p/ID/4322

    Pourrait
    someone tell me how to Figure 2, input terminal in configuration
    the part "DAQmx virtual channel creat? Shoud I double-click
    the icon to change it? Or there is a way I can show in the
    Block diagram as the sample in the DAQmx part mode?

    One
    more question, in the DAQmx calendar part, how can I put continues «»
    "" "Samples" here? It comes from the function palette? Thank you.

    No, you do not double click on the icon to change it. To answer these two questions, just right click on the device and select ' Create > constant "."

    It comes to LabVIEW basics. I would recommend that you study only here before you start experimenting with DAQmx.

  • What are the current versions of Labview and Teststand

    Hello

    I currently am downlading the current versions of teststand and labview for evaluation.

    The Teststand-link I saw that it is called "Teststand" 2012.

    1 but there is no version information in the Labview download. Is also 2012 version?

    2 is the two 32-bit-software things?

    3. After installing the evaluation-downloads - can they be activated with a key, or what I need to install again when the CDs arrive in my office?

    Thanks for help

    Iliale wrote:

    Thx for the links.

    I am using Windows 7 64 bit - I'd rather then also Labview 64? (Links to download NOT only provides 32-bit for download)

    There will be problems with my existing 8, 5 - screw Labview conversion to the new Labview2012?

    Thank you

    You can have as many 32-bit and 64-bit installed.  Don't forget your target when you generate an exe file.  64-bit compiled programs can run on 64-bit computers.

    You should have no problem upgrade your code of 8.5.

  • Operator Interface labview and teststand back the call for promotion of status sequential

    Hello

    I am looking for a solution to be able to take by the API Testand 'call sequence' status key of my teststand sequence.

    The idea is to combine, on my operator labview interface a specific indicator pour each call sequence 'important '.

    Example: an indicator to test consumers, another for power supply, an another SoftComm ex but not pour tests under

    The first solution that comes to me and inspired by what I could find on this forum is the utilistion method PostUIMessageEx en post expression for each call sequence don't I want to get the result.

    I find this solution satisfactory sector a bit heavy and a little too dependent on the test sequence she herself.

    Other solutions of would they?

    Please pour your contributions

    Hello

    In general, I get the UIMessage TraceCallback. So based on the name of the step (say consolidated test for example) I can do whatever I want since LabVIEW update my GUI without having to change the TestStand sequences.

    Kind regards

  • USB6363 DAQmx (reading and writing) calendar seems slower than other similar USB DAQ devices

    Hey people,

    I have currently a service waiting number with OR the subject, but I thought I'd post up incase anyone has ever dealt with a similar question pertaining to USB DAQ hardware.

    Try to understand why there is a difference of synchronization between the 6363 USB and some of the other less expensive USB devices like the 6525 or 6501.

    It's a watered the actual code that my team has noticed this difference in the simplified version.  The actual code is a reading analog daqmx (it's triggered hw, so we begin the task of analog playback, trigger, wait the time we acquire to and then run reading daqmx. who takes 6 ms to read a single 50 values of the buffer).

    Thank you

    -Pat

    Hi Pat,

    Try benchmarking of HAVE it read that way (with the wait timed by the software, it seems to me that the task is probably not yet made to the time you want to read - I guess that the question is relative between the event of the task performed and all the data is available in the DAQmx buffer, I don't have a series of X USB to see) :

    Try benchmarking your writing clocked by the software in this way (there no reason to include the check/reserve/validation/start sequence in your writing of reference when the task can easily be launched during initialization of your program):

    On my PCIe X Series as the two cases take< 1="">

    Best regards

Maybe you are looking for