Multiple DAQ Cards, Multiple While Loops

I'm writing a code to support 3 small test stands that each have the same outputs and inputs as the others. I'm running them all off of an 8-slot DAQ. Each test stand has its own dedicated RTD Card and Analog Out card, but they all share a 32-channel Analog Input card.
I'd like to decouple the 3 test stands as much as possible - if I have to take out an RTD card or Analog Output card, I don't want the entire LabVIEW program to stop running. I want to be able to keep running and logging data on the other two test stands if I were working on the other test stand. Is there a way to do this with only 1 cDAQ? Is it simply a matter of creating separate, independent while loops for each test stand? If so, would LabVIEW have issues with each while loop writing its own measurement file in parallel with the others?
Thank You.

Is it safe to assume you've been running the three tests?  Some of your post makes it sound like you've run them coupled while other parts make it sound like you haven't successfully had all three tests running simultaneously.
If you aren't running them, are you using hardware timing (counters) for your tasks?  If you're looking to use counters, you're only using one per task, correct?  The cDAQ will only have four counters total to be shared between your loops.
I can't remember off the top of my head if it is the task or the computer that reserves a cDAQ chassis.  I want to say it's the computer so you can run multiple tasks from the same cDAQ.  But, you'd still need to choose ctr0, ctr1, ctr2, etc in each task so that you don't share these resources between tasks.
Are you looking to pull the shared module out frequently?  If not, are you gaining enough functionality to justify buying two redundant modules to gain decoupling?

Similar Messages

  • VI Logger - use of multiple DAQ cards

    How do I configure VI Logger to acquire data from multiple DAQ cards?
    I have set up channels for two DAQ cards but the VI Logger Tasks seems only capable of acquiring from either DAQ card, not both.

    Hi Metronet,
    VI Logger doesn't support acquiring data from multiple DAQ cards.
    VI Logger was a free software tool that came with new DAQ cards up until the end of March. To get customers up and running and acquiring data in the quickest possible time.
    VI Logger however is not LabVIEW, and as such cannot use more than 1 DAQ card at any one time. If you want to acquire from multiple cards then you will need to program in LabVIEW, CVI, Visual Basic or Visual C.
    I am sorry that I have to inform you of this, but NI has no plans to release VI Logger with support for multiple DAQ cards.
    Regards
    James
    Applications Engineer
    NI UK

  • My daq 6008 wil not drop the 5V after the VI is stopped, i have a digital signal going from the error out on the daq in the while loop to the error in on the daq outside the while loop and a boolean going to the data of the daq outside

    my daq 6008 wil not drop the 5V on a digital output after the VI is stopped, i have a digital signal going from the error out on the daq in the while loop to the error in on the daq outside the while loop and a boolean going to the data of the daq outside, but i can t seemto get it to work

    i attached the block diagram so you can have a look
    Attachments:
    PID Temp control.docx ‏120 KB

  • Method for accessing multiple DAQ cards

    Hello, I am trying to access two analog-input cards in a "ping-pong" type fashion with LabVIEW 7.1.
    The two cards are PCI-6052E DAQ cards (call them "B" and "C"). What I'd like to do, is get data in this fashion: B/ai0, C/ai1, B/ai2, C/ai3, B/ai4 ..... etc. However when I try to do this I get this error :
    "Error -200558 occurred at DAQmx Create Channel (AI-Voltage-Basic).vi.
    Possible reason(s):
    One task cannot contain multiple independent devices.
    Create one task for each independent device.
    Device: B
    Device: C"
    So my question is, IS there a viable way to do this? I have attached my .vi that contains the trouble. Any help would be GREATLY appreciated! Thanks!
    Attachments:
    Surrogate.vi ‏251 KB

    One task cannot span multiple devices. Your problem is that your physical channels in DAQmx Create Channel reference two different devices. You cannot create tasks like that. If you want to ping pong between devices, you'll have to do it with single point reads like this:
    B/ai0 >> DAQmx Read Single Channel Single Sample
    C/ai1 >> DAQmx Read Single Channel Single Sample
    etc...
    Hope this helps.
    Regards,
    Erin

  • IMAQ 1408 + DAQ cards crashing when loop iteration 1

    I have a problem trying to run some code which outputs a synchronised analog and digital pattern using the PCI-DIO-32HS and PCI-6713 DAQ cards which triggers an external analog camera. The images from the camera are then read via the IMAQ 1408 frame grabbing card.
    When I run the code once, it executes successfully every time. If, however, I select 'run continuously', or alternatively place a FOR-loop around the pattern output and image collection, the computer executes the pattern once, then completely freezes the computer, requiring a hard reboot of the computer.
    I have attempted to add wait times at various points through the code, however even if I place 10s delays in the loop (the pattern takes around 1s) the computer hangs and crashes. Running the code by repeatedly clicking 'run' however works every time, with no error or crashes.
    Is there any way to extract or trace the error causing this behaviour - the issue must be with the IMAQ drivers, however I cannot see what is different between running the VI manually 10 times in a row, and running it continuously with a wait to prevent it running at full speed. Any advice for debugging this error would be much appreciated. I have attached the code with subVIs necessary to reproduce the error.
    Attachments:
    JAI_Testing.zip ‏841 KB

    Hi Fan Wu,
    You're right that you only have two counters on your USB DAQ device. If we limit the problem to only one channel, then I would recommend using the counter because it sounds like you're creating a pulse train of known parameters. Since the counters use a fast timebase (if you're using Mseries you're using an 80MHz clock), you'll get very predictable performance at 1ms of interest.
    The other way to do this (since you'll need more channels) is to use a counter to setup a timing engine. A simple pulse train with 50% duty cycle and whatever frequency you're interested in (sounds like 1kHz) can be used as your DI/O timing clock. You can then create a digital waveform with the characteristics you are interested in and write that to your buffer. With your Digital task correlated to your counter output, you can output this waveform at the rate of your counter output.
    While this is NOT the end application you are looking to write, this example has some great parallels to what you are trying to do. It illustrates creating a clock with the counter and then writing a digital waveform to correlate to that clock.
    http://zone.ni.com/devzone/cda/epd/p/id/3687
    PBear
    NI RF

  • Mac pro - multiple graphics cards - multiple monitors - gaming?

    Hi there
    Early 2008 I purchased a mac pro, with 2 8800gts and 1 2600xt. Works amazingly well, as it was originally purchased for number crunching (video cards were purchased to take advantage of openCL in snow leopard) and more screen realestate. (3 monitors)
    But the thought occurred to me... I am also a bit of a gamer...
    Are there any games that take advantage of multiple video cards???
    Mac or windows game recommendations are welcomed!
    Thanks!

    I'm sorry if my question was a little ambiguous, let me try to rephrase.
    If anyone is familiar with the Nintendo DS system, you will understand that this handheld device has 2 screens.. one is used primarily as a game screen, the second screen has the game map or console or some kind of readout or whatever. Bottom line is, the game takes advantage of 2 screens.
    My question to the masses is:
    Are there any games in Mac OS or Windows that take advantage of multiple monitors, and therefore multiple video cards. Not SLI or Crossfire as I understand the Mac Pro hardware does not support it. My question relates to any software titles like Flight Simulators, that can render images on 2 screens connected to 2 separate video cards.
    I have a copy of XPlane, and unfortunately, it only supports multiple monitors on a single video card, not multiple monitors on multiple video cards.
    So, just rehashing,
    Are there any games that are capable of rendering images or gameplay on 2 different video cards at the same time?
    If so, what are they?
    Cheers and sorry for the confusion.

  • How do I use two DAQ cards in one Labview code? Current I'm getting error " error 200558 occurred at DAQmx Create Channel.vi. One task cann't contain multiple independent devices". Can someone help me?

    The two DAQ cards are NI PCI-6070E & NI PCI-6052E. The Labview I'm using is labview 7 Express and the Window system is Window XP. I'm using NI SCXI-1000 chasis and SCXI-1102 & 1102B two modules plus a feedthrough SCXI-1180. 1102 is connected through SCXI-1349 cable to DAQ card 6052E while 1102B is connected through SCXI-1349 cable to DAQ card 6070E. SCXI-1180 is connected to 6070E through SCXI-1349 adaptor on the back of 1102B.

    Sarah, thank you for replying my question. It seems that I'm making progress everyday (smile). I'm able to run the test using both daq cards in my code now. But as I'm moving forward, I'm getting new questions too. How do I use one STOP button to control both tasks and how can I save data into one single file?
    I attached my code here hoping you can get the specifics on my application by looking at the code. Thanks very much!
    Thanks.
    Attachments:
    DAQmx_Task_Example_plus_voltage_2.vi ‏416 KB

  • How does the PCI-6229 DAQ-card communicate with CB-68LP connector block?

    Hello!
    I want to do a very simple task which is to just turn on/off a LED. I am using LabVIEW 7.1 and I have a DAQ-card PCI-6229. The DAQ-card is then wired to a connector block CB-68LP.
    Now my problem is to figure out how the connector block communicates with the DAQ-card?
    In the file I attached there is a picture of connector block and the device pinouts from the DAQ-card. But how do I know which of pinouts triggers some connector on the connectorblock?
    Which are digital outputs on the DAQ-card?
    Where can I read about this?
    Attachments:
    daqANDconnectorblock.bmp ‏2437 KB

    Hello asc01001:
    The digital pins of the PCI-6229 are labelled as Px.y, where x is the port name while y is the channel name.  For example, pin52 of the NI 6229 is P0.0; which is also port 0, channel 0 of the digital I/O of the DAQ card.
    While "D GND", which are located at pin53, pin18, pin50, etc. are the negative terminal of all digital I/O of the DAQ cards.
    Please advice if this helps.

  • Stop multiple while loops in Vision Aquisition

    Hi,   I want to close multiple while loops with one stop button. I'm using the Vision Acquisition software for recording from multiple cameras and I want to close this recording from all cameras simultaneously. Since I'm knew to LABView I don't know how to do this. I'll include my VI here and maybe someone can help me.  Thanks!
    Solved!
    Go to Solution.
    Attachments:
    Aquire Images 2 with Cameras.vi ‏410 KB

    A local variable should be enough for your implementation. Look at the following article:
    Stopping Parallel While Loops in LabVIEW With One Stop Button
    Adnan Zafar
    Certified LabVIEW Architect
    Coleman Technologies

  • Starting stopping multiple while loops

    I have a rather large VI that runs multiple while loops with case strutures inside.
    I would like to be able to shut off and on the while loops programmatically depending on events.(cycle complete or cycle started)
    I need to store my measured data in a table but everytime I shut off the while loop  the data I gathered is lost.
    So it goes like this- measure analog voltage-put it in a numeric indicator...now I want to put in a table only once per cycle of my machine.
    If the opeator pushes the reset button the table is available for a report generation acquisition.
    Any help would be appreciated.
    Thanks
    Solved!
    Go to Solution.

    Do you want something like this?
    Attachments:
    Loop_Control_Multi.vi ‏109 KB
    Loop_Control_Multi_Demo.vi ‏177 KB

  • Multiple event structure in a while loop

    Dear All,
                   I had a multiple event structure inside a while loop. The purpose of doing so is because I had a few 2D picture on the front panel. I would like to detect which 2D pictures had been click using the mouse down event structure for 8 of my 2D pictures.
                  The problem that I faced now is that when I of the event case or one of the 2D pictures had been click, it will not exit the while loop. I had to click on all the 8 2D pictures before it will exit the loop.
                  I had uncheck the under the "Edit Event" --> "Lock Front Panel (defer processing of user action) until this event case completes". But I am still stuck inside the loop.
                  Each 2D picture will perform different action therefore I cannot have an event case of all 2D pictures inside else I would know which 2D picture had been click.
                 Is there any other way out of this situation? Pls help. Thanks a lot

    A producer/consumer architecture (look at the examples that ship with LabVIEW) is comprised of two parallel while loops. One loop contains the event structure. The other contains your consumer which is basically a queued state machine. It receives messages from the producer via a queue. Your event structure can register a separate event for each 2D picture control or it can use a single event that would determine which spefic controls was clicked on. This is a more general approach and expands easily. Here is a basic example of what I am talking about.
    Mark Yedinak
    "Does anyone know where the love of God goes when the waves turn the minutes to hours?"
    Wreck of the Edmund Fitzgerald - Gordon Lightfoot
    Attachments:
    Event Producer-Consumer.vi ‏14 KB

  • When I add a while loop to the vi "niScope EX Multi-Device Configured Acquisition (TClk)" to acquire data for multiple times, it works but it runs very slowly.

    Because I want to acquire the similar data for multiple times and then take an average to increase SNR, I add a while loop to the vi "niScope EX Multi-Device Configured Acquisition (TClk)".  It works but it runs very slowly (about 1 sec for each iteration). I think I had put the while loop at a wrong position, which makes the vi run from the very beginning in each iteration. So I really want to know where should I put the while loop to improve the speed? I have attached all the vi and subvi.
    Thanks very much.
    Attachments:
    Multi-Device External Clocking (TClk).vi ‏1166 KB
    avgWfm.vi ‏15 KB

    Dear Zainykhas,
    Thank you for posting this to the discussion forums and for uploading some sample code.  I took a lok at the issue you have been having, and it is unclear to me as to why you have placed two for loops around the original while loop.  My understanding is that you want to use the original Sample.vi and want to execute this N times where N is the Max Freq divided by Interval so that you can scan for a range of frequencies.
    Why not just put Sample.vi around one for loop and use the increment counter scaled by the interval to count up towards Max Freq and insert the desired Frequency into the cluster using Bundle By Name?
    Kind Regards,
    Robert Ward
    Applications Engineer, NI
    Attachments:
    Modified - RW.vi ‏48 KB

  • Read multiple DAQ data packet in one WHILE iteration

    Hello,
    I am looking for a solution to the following problem :
    I am using a PXI-6132 to acquire an anlogue waveform, the DAQ is trigerred by the falling edge of an other analog waveform with the same theoritical frequency. What I would like to do is to acquire for example 30 samples after the trigger, then store this data in the on-board memory; then wait for the next falling edge (my trigger) to acquire another 30 samples batch and, after let say 5 acquisition events, transfer this data form the on-board memory to my host computer memory to be read by a classical "Read fonction" in one itération of my while loop. I tried a lot of solutions (for ex. by setting the on-board memory buffer size to 150 before entering the while loop) but the read function still reads only 30 samples in one iteration. Is it possible to find a solution with the classical : create channel, timing function, trigerring function then a read function in a while loop or do I need to use a more complicated structure ....
    Thanks in advance for your help

    Please post questions only once. This is a double post - see here

  • How to use one single boolean button to control a multiple while loops?

    I've posted the attached file and you will see that it doesn't let me use local variable for stop button, but I need to stop all the action whenever I want but more than one single button on the front panel would look ugly... The file represents the Numeric Mode of
    HP 5371A. thanks for your time
    Attachments:
    NUMERIC.vi ‏580 KB

    In order to use a local variable, you can change the mechanical action of stop button (Switch When Pressed will work), or create a property node for it and select values. You'll also have to do a lot of work changing those for loops into while loops so that you can abort them.

  • How do you plot multiple curves on the same graph when using a while loop?

    I am writing a program that will plot the IV Output chracterisitcs curves for a MOSFET transistor. I have two sweep variables Vg and Vd. For each Vg valve selected, Vd is swept from its start to stop voltage creating a graph for that Vg valve. Both of the sweeps are done using while loops. Ideally I would like to display all of the Vg plots on the same graph while having the ability to do real-time graphing. Can anyone help me figure this problem out? I have attached my program. Thanks!!
    Tammy
    Attachments:
    outputfin2.vi ‏165 KB

    Hi Tammy & Tica T,
    As far as I see it - this thread is a very bad version of already existing bad version......
    http://forums.ni.com/ni/board/message?board.id=170&message.id=127857
    I expected, that an Applications Engineer from NI knows something about  a Transistor and how an Output characteristic looks like !!  Take a look to a typical Transistor Datasheet ( e.g. n-channel MOSFET) - you will see, that there is no relation of ID vs Time like in your example ( values vs time )  but  IDrain vs VDrain at different VGate's ( no relation to Mr. Bill Gates ).
    Find attached a vi, that in general does what you need - drawing of  curves vs x-axis (XY-graph in use)  - in test_sweep.zip.  And that you geet an impression, how it might be done ...... dynamic Output characteristic of a Transistor with Standard Equipment of a Lab ( Scope + Generator + Power Supply ) find in addition a Frontpanel - picture. One of the interesting points here is - the self-heating effect; visible on ch3 of scope - 5µs Pulse is already a very long time...... This measurement was done in order to compare with our own Transistors......... 
    Hope this helps a little bit to understand, what we are talking about.
    Regards
    Werner
    Attachments:
    test_sweep.zip ‏358 KB
    dynamic Transistor char.png ‏65 KB

Maybe you are looking for

  • I updated the photos that share with Apple TV but old photos display during music

    I updated the photo file that shares with Apple TV, and they display correctly when I play the slide show, but when they play slideshow with music playing it's the old photo file. How do I get the new photos to display during music? Thanks

  • Just updated to Firefox 23... now I cannot see.......

    Hi .... I just updated to Firefox 23 on my black macbook running 10.6.8 Snow leopard...... and now when I open the Firefox preferences window I cannot see the very bottom part of the window....and there is no green dot in upper left corner to enlarge

  • REST to SOAP: Invalid number of elements in URL "/"

    Hi, So having read the great blog series PI Rest Adapter - Don't be afraid by Alexander Bundschuh and I decided to try and set up my first scenario using the REST adapter in the same vain as Working with REST Adapter: A REST to SOAP Scenario in SAP P

  • Multi response for Async/Sync bridge.

    Hi everyone! We have a scenario with Async/Sync Bridge. It is JDBC-BAPI-JDBC. So it uses 3 communication channels. Sender/Receiver for JDBC and Receiver for BAPI. Now we need to modify scenario so that it will send BAPI response not only to JDBC but

  • User interfaces to access Content services...

    I am using the following user interfaces to access content services: 1) Web UI 2) Oracle drive 3) WebDAV with Windows XP But in the oracle content sevices data sheet which I downloaded from the Oracle site, its given there is a rich WebUI with dynami