Triggering and simultaneous measurements

Hi everybody 
I've written a Vi to to acquire data simultaneously from 7 devices. I'll be using cDAQ9178 with NI9203. The vi will acquire current values 4 to 20mA. Could you please check the attached file and let me know if I need to improve it.
I have some question and I should be grateful if anyone can help me to answer them.
1. How to open the binary file from write to measurement file by EXCEL?
2. Is it better to use write to spreadsheet for data logging, if yes how to include the time column??
3. I'm going to use external signal for triggering through PIF0 port, is it Ok to do that through dag assistance?? I've not tried yet but it seems straightforward?
4. Finally I have another vi for valve control that should be triggered with the measurement vi, is their any way to do that?? I was thinking about notifiers but I don't know how to use them ?
Sorry for asking to much  I really in urgent need of all of this. I should finish my data acquisition system by Tuesday 
Best Regards 
Solved!
Go to Solution.
Attachments:
triggering and simultaneous measurements.vi ‏97 KB

1. How to open the binary file from write to measurement file by EXCEL?
If you select TDMS as the file format in the write to measurement file, you should be able to open it directly from Excel if you install the TDMS Excel Add-In. Be aware that at 1kHz data rate, you will exceed the capability of old versions of Excel to read the entire file in about 65 seconds. Newer versions can read more, but anything over a couple thousand points gets difficult to analyze. That is about my limit. Over this, I go to something else for analysis, such as LabVIEW or Mathematica.
2. Is it better to use write to spreadsheet for data logging, if yes how to include the time column??
The write to spreadsheet file is very inefficient for data logging and cannot be recommended. Given your data (an array of waveforms), TDMS is your best bet. The write to measurement file Express VI is the easy way to do this. I, personally, prefer the control I get from using the TDMS API directly. Note that under the hood, the output of the DAQ Assistant is an array of waveforms with individual t0s and dts. The t0s are all different due to the fact that your 9203 is a scanned device, not a simultaneously sampled device. It scans at 200kHz, so the differences are not large, but they are there. I would convert the DDT into an array of waveforms, then use the native TDMS API, but I have a lot of experience. Since you are in a hurry, the Express VI using TDMS is probably your best bet.
3. I'm going to use external signal for triggering through PIF0 port, is it Ok to do that through dag assistance?? I've not tried yet but it seems straightforward?
That should work fine. Given your continuous acquisition, the trigger will only start the acquisition, not gate it or trigger it at later times.
4. Finally I have another vi for valve control that should be triggered with the measurement vi, is their any way to do that?
We do not have enough information to answer this question. Specifically, how is the valve being triggered (boards being used, hardware interface, software interface). The ideal way would be to run it through the same cDAQ 9178 so that it can be synchronized through hardware. Software synchronization cannot be guaranteed better than about ±50ms. Read up on how to synchronize things through DAQmx and you should be good.
Good luck!
This account is no longer active. Contact ShadesOfGray for current posts and information.

Similar Messages

  • Triggering and Recording for specific duration

    Enclosed is the VI which I am using to trigger a electrical circuit for generating a spark.
    My system is very simple wherein I am generating spark in a vessel (by a triggred electrical pulse to HV generator) and measuring the pressure and temperature for a specified time of X and Y seconds after the spark.
    Part A:
    On a single Boolean input (TRUE) I would like to have following:  
    1. The Trigger pulse (USB 6009 device) should start and last for say 1.5 sec. which is input to my electrical circuit. Two DAQ max is used since current from one port is not sufficient to trigger the HV generator - electrical circuit.
    2. At the same time the pressure inside the vessel should be recorded for X sec. only (writing to file)
    3. Simultaneously the temperature should also be recorded for Y sec. only (writing to file)
    In the present VI, I have to keep the “Auto fire and record” button pressed to write the data to file. I have set up preset time for the trigger pulse.
    After triggering and recording for specific time 1.5, X and Y sec. the Boolean should go to FALSE position since long duration pulse to electrical circuit can be damaging.
    *** REQUEST SOME-ONE HELP ON THIS MATTER ASAP. ****
    Part B:
    Later I have to record the values of current and voltage measured at three locations by Tektronix TDS 3034B Scope (channel 1, 2  and 3) for a duration of 300 nano-seconds after the spark has occurred (i.e. say P sec. after trigger pulse and recording till P + 300 duration)
    This simple logic seems to be more difficult than, I expected, can some one please help
    / suggest in the right direction. (**VI attached**)
    Sorry for the language – New to Labview and not an electrical engineer. So pl. explain.
    THANKS
    Email: [email protected]

    Hi xseadog,
    Sincere apologies for inordinate delay in reply.
    Was blocked up with actually setting up the experiment in physical sense. Keeping all the bits and pieces in right place.
    The pressure sensor / transducer is Omega PX219 with output 0 – 5 V. Recording pressure reading every 0.001sec. immediately after the spark trigger (USB 6009 signal) is switched ON. (through labview)
    The temperature is K type thermocouple. Recording temp every 1/12 sec.(0.0833 sec) after spark.
    I have made a provision to trigger the spark manually – through push button. But this mode requires me to start recording press and temp., before pushing the button to generate spark. Hence keen on using the trigger initiated through Labview.
    Regarding relay controlled by the 6009, I understand that circuit is similar to that. The HV is generated through an EHT pulse generator, which is ready now, the only thing is it requires a trigger of 5 V and more than 10 mA.
    Manually when we generate spark, we do not require the USB 6009, so we get spark every time when button is pushed, it was only during the Labview trigging we diagnose this prob. And hence clubbed the two channels of 6009.
    As of now the loop time “Auto fire and record” which is the key for firing –spark generation –runs every 1.011 sec. can you suggest, how to reduce the loop time ?.
    Does the DAQ’s consumes time or which step consumes more time. I would request your comments.
    Thanks for the continuous help / replies.
    nnnsh

  • How to use analog Triggering and External clock scan

    Hi, there. I want to measure the engine cylinder pressure with an PXI6070-E card and BEI encoder. I have tried using Cont Acq&Graph ExtScanClk D-Trig.vi and Cont Acq&Graph ExtScanClk Soft A-Trig.vi , but they don't work. What I did was to connect a 50HZ pulse to PFI0 (analog triggering, I changed the code from digital triggering to analog triggering), and a 100K pulse to PFI7 (startscan), and an 50 HZ analog signal to ACH0. But the code always says: timeout. If I use internal clock, it works fine. Could you please give me some help? THANKS A LOT!

    Hey Wyuan,
    I tested the Cont Acq&Graph ExtScanClk Soft A-Trig.vi and it worked fine. However, the Cont Acq&Graph ExtScanClk D-Trig.vi has a small error in its logic that will prevent the data from ever being displayed to the graph. In order to run the examples you need to connect a trigger to pin 11 and a scan clock to pin 38. A 10kHz square wave would be fine for the clock signal and just a single pulse would work for the digital trigger.
    One additional think to keep in mind is the grounding. You might need to connect you ground from your signals to a DGND pin. I am including the two programs that I used for the test.
    I hope this helps,
    Joshua
    Attachments:
    Cont_Acq&Graph_ExtScanClk_D-Trig.vi ‏121 KB
    Cont_Acq&Graph_ExtScanClk_Soft_A-Trig.vi ‏153 KB

  • Triggering and reading on two HP/Agilent 34401A DMMs at same time

    Hi folks,
    I'm VERY new to LabVIEW and need some help with a measurement.  I'm using LV 8.2 with all equipment on GPIB.  I have two 34401A multimeters, triggered externally using an HP 33120A function generator.   I've downloaded the example vi's and drivers and everything works fine.  My problem is with the speed of the triggering and the synchronization between the two multimeters on the same trigger.  I've read the manual and for this multimeter, it claims it can be triggered and read over GPIB at 1kHz (display off, auto range off, delay= 0, 4.5 digits).  I'm finding it is nowhere near this speed.  The fastest I have successfully triggered and recorded the data was at 100 Hz, anything higher and it no longer stays in sync with the trigger (i.e. for 200 measurements at 100 Hz, I'm getting all 200 measurements, but over 3-5 seconds).  The trigger speed is the first problem.  The second problem is getting the two meters to take a reading at the same time.  One meter always lags the other (or vice versa) by 1 to 3 readings.  My goal is to continuously (for about 60 seconds) read both multimeters as fast as possible and at the same time (250-500 Hz would be fantastic) and write it to a file.  Can anyone give me some advice on this?  Is a software trigger the way to go?  Is there some limitation with GPIB that it cannot read/write to two devices this fast? 
    Thanks!
    P.S. I've been experimenting mostly with the example code provided by NI and a .vi posted in this forum thread (http://sine.ni.com/niforum/niforumforumDU=http://forums.ni.com/ni/board/messageboard.id=170&message....) hp34401a_-_testing.vi from Kunal.  If anyone could share some other example vi's it would be very helpful!

    Hi plasma420,
    I should have read your post more carefully - was thinking it was a 1 sec acquisition, not 1 minute!
    Getting your LabVIEW app to reliably respond to a measurement (detect/read) every 2 to 4 ms is going to be tough - especially if in a multi-tasking OS environment.  On a 2GHz box running a normal Windows XP or 2K install,  I suspect you could see an occasional "hiccup" even at 100Hz.  A bit of searching the forum turned up this old-but-still-valuable (even entertaining) post related to improving determinism of DAQ applications on a PC.
    Observation: The listed max measurement-rate of the 34401 (1000Hz) may assume the GPIB-bus is dedicated to one instrument - the requirement to read from two instruments sequentially, may necessarily increase time spent servicing each trigger - decreasing maximum theoretical throughput.
    The first rule for "high-speed" multi-sample DAQ - especially under Windows - is to make it a hardware task instead of a software loop;  the 34401 doesn't seem well suited here.  I hate to suggest this, but... have you considered purchasing one of NIs multi-channel DAQ devices?  With a $360 PCI 6010 + cable and break-out box, you could have one of the LabVIEW DAQ examples running in ~ 30 min.  The 6010 was the cheapest 16-bit board I could find, ask your sales-rep for other alternatives if you go this route...
    Cheers!
    "Inside every large program is a small program struggling to get out." (attributed to Tony Hoare)

  • Amplitude and level measurement two signals

    Hello,
    I am delveloping a data aquisition VI, I am using the DAQmx and it works fine. I am using the amplitude and measurement express vi to obtain data such as peak to peak etc... I can aquire up to eight channels using the DAQmx, just by selecting the physical channels, but the amplitude and level measurement vi only seems to give me the value of one of the signals (the first one aquired), even though two are being displayed on the graph or even three. How can I display all the peak to peak values for all waveform simultaneously. I am aware that the measurement express is a dynamic data type and conversting the output into an array would work, but I keep on getting errors. Any advice. Attached is the VI and a snapshot of the VI. I also tried splitting the signal with no luck.
    Thank you
    Attachments:
    run.JPG ‏152 KB
    Cont-Acq-and-Graph-Voltage-Int-Clk6.vi ‏144 KB

    HI Tareq,
    Well I think I tired what you said but it is still not working, here is a snapshot of my VI and the VI itself. I still get the same output
    Thank you for your help
    Alloush
    Attachments:
    Cont-Acq-and-Graph-Voltage-Int-Clk7mod.vi ‏145 KB
    run.JPG ‏160 KB

  • Recording Temperature and Voltage measurements using Keithley 2182 Nanovoltmeter

    Hello all,
    I am relatively new to LabView and looking to extend a vi I am currently using.
    I am trying to record voltage and temperature measurements from a Keithley 2182 nano voltmeter using a GPIB cable. I have a vi that can do this for either voltage or temperature not both. At the moment I only record what is shown on the display of the nano voltmeter.
    Could somebody explain how I could get labview either to change between voltage and temperature on the nano voltmeter or whether it is possible to have two simultaneous measurements of temperature and voltage and how I would achieve this.
    Thanks
    Mike

    Hi,
    For each read, no matter Temperature or Voltage there is a certain command that is send to the voltmeter.
    I don't think (actually I'm pretty sure) you cannot read it in parallel but you can do it successively: One read Voltage, one read Temperature and so on.
    There should be something like:
    while not STOP do
      1. send GPIB command for changing Keithley to Voltage Measurement
      2. send GPIB command for Voltage Read
      3. read GPIB -> Voltage
      4. send GPIB command for changing Keithley to Temperature Measurement
      5. send GPIB command for Temperature Read
      6. read GPIB -> Temperature
    end
    You can take a look in VI to see which are the commands send for Voltage and Temperature reads and to mixed them like I described it above.
    If you don't manage it share your VIs (for temp and volt.) maybe it will be easier for me (or something else) to give you some additional advices.
    Paul

  • Can I share my internet with my Ipad and simultaneously connect to a airport express that I use to remotely connect speakers?

    Can I share my internet from my Imac with my Ipad and simultaneously connect to a airport express that I use to remotely to connect speakers?
    The big problem that I'm having is that when internet sharing via the airport I can not simultaneously connect with my airport express.  It would be great to be able to share internet from my Imac so I can be using my Ipad and at the sametime have my wife use the airport express to stream music in a different room. It would be awesome to be able to have the ability to do both. Does anybody know how?

    Unless your iMac was made before 2006 (this forum is for old iMacs), you might get better assistance by posting in one of the following forum areas:
    AirPort
    Using iPad
    iMac (Intel)

  • I have a problem with my iPhone 5 stopped working the sleep / power and simultaneously refused to obey the HOME button. I can not use either one or the other. I can not enable or disable the device, display lights up when you plug the charger. same displa

    I have a problem with my iPhone 5 stopped working the sleep / power and simultaneously refused to obey the HOME button. I can not use either one or the other. I can not enable or disable the device, display lights up when you plug the charger. same display works fine as it is surprising. or maybe someone knows what is the reason for this? is there any way to solve this problem?

    More than likely its a hardware issue, I have never encountered such a problem and best bet is to just go get it replaced. If you have insurance on your device apple will replace it as long as there was no water damage, if you dont have insurance they will charge $200 more or less. Hope you get it fixed

  • Function and triggers and procedures

    sorry to asking this question,
    In oracle. we use the function and triggers and procedure.
    for eg:
    if we wrote an trigger for a table. it fires at a time manipulating table. (database contains table contains datas and database also contains triggers likewise function,procedure).
    but my questions?: is
    In my database I kept only tables. no triggers,no function,no procedures. and
    i dont want to kept this triggers, function, procedures in database  Instead of i want to kept this triggers, function, procedures in business logic layers(middle tier)
    is it possible? .
    if yes means, how to write or where to write? please help me, or else send the guidance documents or blog releated to it.

    Subu123,
    the +1 related to Would be great if you can take step back and see the implementation from another angle. First see why do you need DB trigger/function etc.Then check whether it is possible to implement the functionality using ADF BC + feasibility study between 2 approaches(I didn't mean to invoke DB objects from business components, instead checking the feasibility of implement the same functionality in your EntityObj/ViewObj/Service calls )Before making a decision for or against holding fuctions, triggers and procedures in the DB, you have to get the whole picture.
    Think about a trigger outside the DB. What could this be and why or for what is it used?
    All the answers are pointing to 'lets keep them in the DB'. Now there are situation where you don't have a DB or are not allows to use it. Still there can be triggers, only they are implemented in a different way.
    The same can be said for procedures and functions.
    So you have to think about the whole problem and how each sub problem you have to solve work together to resolve the whole problem.
    I'm personally tend to keep the business logic the the DB if the business logic is already there (e.g. I have to migrate an old forms app).
    If I design a new app I tend to keep the logic in java. Only sequences (for generating ids) and some other stuff which is purely db related like cleaning up tables I keep in the DB.
    Timo

  • Problem using TAPI triggers and merge statement

    Hi,
    I use Designer tapi triggers on a table. When I try to execute a merge statement, I get the following error:
    ORA-06502: PL/SQL: numeric or value error: NULL index table key value.
    Is there a restriction when using TAPI triggers and merge statements that anyone is aware of?

    No restrictions on MERGE commands that I know of. I have, however, seen the TAPI give inexplicable ORA-06502 errors. It would help to know what line in which procedure or trigger gave the error. That information should have been in the error stack.

  • DAQ vi to perform digital write and read measurements using 32 bits binary data saved in a file

    Hi
    DAQ vi to perform digital write and read measurements using 32 bits binary data saved in a file
    Two main
    sections:
    1)     
    Perform
    write and read operations to and fro different spread sheet files, such that
    each file have a single row of 32bits different binary data (analogous to 1D
    array) where the left most bit is the MSB. I don’t want to manually enter the
    32 bits binary data, I want the data written or read just by opening a file
    name saves with the intended data.
          2)     
    And
    by using test patterns implemented using the digital pattern generator or  build digital data functions or otherwise, I need to
    ensure that the     
                binary data written to a spreadsheet file or any supported file type
    then through the NI-USB 6509 is same as the data read.
    I’m aware I can’t use the simulated
    device to read data written to any port but if the write part of the vi works I
    ‘m sure the read part will work on the physical device which I’ll buy later.
    My Plan
    of action
    I’ve
    created a basic write/read file task and a write/read DAQ task for NI USB 6509
    and both combine in a while loop to form a progress VI which I’m confuse of how
    to proceed with the implementation.
    My
    greatest problem is to link both together with the correct functions or operators
    such that there are no syntax/execution errors and thus achieve my intended
    result.
    This
    project is one of my many assignments for my master thesis, so please i’ll
    appreciate every help as I’m not really efficient with LabVIEW programming but
    I prefer it because is fun and interesting if I get to know it.
    Currently I’m
    practicing with LabVIEW 8.6/NI DAQmx 8.8 Demo versions and NI USB 6509
    simulated device.
    Please see
    the attached file for my novice progress, thanks in
    advance for the support
    Rgds
    Paul
    Attachments:
    DIO_write_read DAQ from file.vi ‏17 KB

    What does your file look like?  The DAQmx write is expecting a single U32 value, not an array of I64. 
    Message Edited by vt92 on 09-16-2009 02:42 PM
    "There is a God shaped vacuum in the heart of every man which cannot be filled by any created thing, but only by God, the Creator, made known through Jesus." - Blaise Pascal

  • Fieldpoint and Labview 64 bit - why is the LabVIEW Support missing from MAX and the Measurement I/O Pallette?

    I am running Labview 2010 on a Windows 7 virtual Machine, I have installed Fieldpoint 6.0.7 with all the appropriate support. The VIs are in vi.lib. BUT, MAX doesn't show the LabVIEW support as existing, and the Measurement I/O pallette doesn't have the Fieldpoint VIs linked into it.
    Anyone out there with any idea what I might need to do to get these seen? I've uninstalled, re-installed, installed only sections, and so far - no sign of these VIs appearing.
    So, any ideas?

    Not quite. I can see Fieldpoint, but not the LabVIEW support section.
    The first screenshot is from my 32-bit system, the second is the one from the 64-bit system.
    Attachments:
    Fieldpoint Screenshot 1.JPG ‏20 KB
    Fieldpoint Screenshot 2.JPG ‏15 KB

  • Sql query to  know the number of triggers and cursors present in a schema?

    friends,is there any way to know the number of triggers and cursors preseent in a schema.
    thanks in advance..

    what do you mean by triggers in a schema? is it the triggers owned by that schema? or the triggers applied on tables owned by that schema? remember you may own triggers applied on the tables belong to other schemas. Anyways, all this information can be extracted from oracle dictionary using a combination of all_triggers and all_tables.
    As far as cursors, please elaborate. Do you mean cursors declared in PL/SQL blocks?

  • Trigger, triggers and more triggers

    I've been given theenviable task of reviewing the triggers on a legacy application, as an example a typical table will have between 1 and 10 before insert triggers and I've been asked to validate the logic in the triggers.
    Does anyone know if there are any tools available to help with this, so far having looked at the first table (I was asked to loko at this specifically because someone wants to add yet another trigger) I'm starting to lose the will to live, 4 of the triggers currently in place alter similar fields makeing the results indeterminate. I have a nasty feeling the only way to be certain is to cross check every trigger and compile some kind of cross reference I'd really like some kind of toolset to make this easier.
    So far my analysis is the logic is horribly broken and really the whole shambles should be ripped out an re-wrtten properly this time, preferably fixing the problems in the front end rather than trying to bandage the data using triggers..

    You may have to look into dba_triggers and dba_dependenices too see how may triggers and if all depned on same object,
    This is why Tom kyte recommands using inline code instead of triggers.
    Good luck,

  • My client with autism needs to be able to speak/sing into a microphone and simultaneously hear his voice through a headset, preferably with reverb set on high.  Is it possible to do this with the iPad and OS7?  If so, what setup do I need?

    My client with autism needs to be able to speak/sing into a microphone and simultaneously hear his voice through a headset, preferably with reverb set on high.  Is it possible to do this with the iPad and OS7?  If so, what setup do I need?  I have a SM58 type mic and-over-the ear headphones.

    This implies that ODP.NET does NOT need to be installed on a client. However, I cannot find OraOPs9.dll on a machine with Client Release 9.2 installed. Should OraOps?.dll automatically come with a Client installation of 9.2 or higher?
    ODP.NET needs to be installed on the client. OraOps9.dll is part of ODP.NET, not the Oracle Client.
    Also, if an application is built with the 10g ODP.NET, can it be run from a machine with OraOps9.dll?
    If an application is built with 10g ODP.NET, it can be run with 9.2 ODP.NET as long as you do not use any 10g APIs. The new features in 10g ODP.NET are included in the doc and the ODP.NET FAQ for your reference.

Maybe you are looking for