PXI 4461 simultaneously read and generate

I am using PXI 4461 card, which has 2 inputs and 2 outputs.
I have a sequence, which will be loaded for multi UUT testing at the same time. I am trying to use AI0, AI1 to read the signals, which are generated by UUTs at the same time. One UUT can measure signal at AI0 and other UUT should measure AI1.
I was in impression that it can be possible to measure both AI0 and AI1 at the same time. But it's giving the error, when I try to measure.
I made the attached VI as an reentrant. Please let me know if this is possible.
I would like to know same if this is possible to generate from AO0, AO1 at the same time with different frequencies (1KHz, 10KHz). AO0 should generate signal with 1KHz and AO1 should generated signal with 10KHz. Is this possible?
Thanks,
Attachments:
4461.vi ‏17 KB

LV2010, 
Thank you for using the forums!
First off, I ran your VI as is with one AI. I received the following error:
The message is letting you know you have your MIN set higher than your MAX. Basically, your max value is currently set to -10 and your min value is set to 10. Switch those, and you eliminate the error. 
In order to read from both ai0 and ai1, you can simply put them both in the control window:
This is called channel expansion.
In order to see the waveforms, I added a Waveform Graph to my front panel and then on the block diagram I wired it to the data output of the DAQmx read. 
The DAQmx Read VI will read the channels in the order in which you specify in the Physical Channels terminal.
In terms of generating two outputs from AO0 and AO1 at the same time, that is definitely something you can do! I have attached the final VI, but this is how I did it...
First, I opened the example finder by going to Help >> Find Examples. On the bottom left, I selected the PXI-4461 and marked the box next to where it says "Limit results to hardware". Navigating to Hardware Input and Output >> DAQmx >> Analog Generation >> Voltage, I opened the example "Cont Gen Voltage Wfm-Int Clk-Non Regeneration.vi". 
Taking a look, this will allow us to generate one waveform at one frequency. First off, I know I want to output two different waveforms with separate information. I selected the relevant indicators and controls, then pressed Ctrl+C and dragged it over to create a copy. I changed labels and moved stop button to make it more appealing, and changed the waveform information.
Then, I moved to the block diagram. I placed a new Function Generator.vi and moved/wired the controls/indicators I created above to the inputs/outputs of the new function.  I changed the error wire to go through the new Function Generator.vi before going into the DAQmx write. Lastly, I connected the sampling information from the first function generator to the new one.
Next, we need to change the write function. It is currently set up to write an along waveform with 1 channel and N samples. We want N channels and N samples. Change the DAQmx write to Analog >> Multiple Channels >> Multiple Samples >> 1D Waveform. By doing so, it creates an broken wire between the output of the one function generator.vi that is still wired to the input of the DAQmx write vi. 
The reason for this is that the DAQmx write with N channels and N samples expects an array of waveforms, not a single waveform. I deleted this wire and placed a Build Array (Programming >> Arrays >> Build Array). I dragged it down to expand it to hold two waveforms, one for ao1 and one for ao0. 
The order that you wire the two waveforms into the array will determine which waveform is output on which channel. The first waveform in the array will be output first. We will put the first function generator output to the first row of the Build Array function and the second to the bottom row. Then wire the output of the Build Array function into the DAQmx write. 
The block diagram now looks like this:
All that is left is left is to specify what channels we want. We will again use channel expansion. Remember, the first waveform we wired into our array will be the first output, and the first in the list of the control will be the channel output first.
The front panel now looks like this:
And we are done! I have attached the final version of this VI as well as the edited version of the VI you posted.
I know this was long, but I hope it was helpful!
Also, here is an article and here is an example from our community forums you may find helpful. 
The attached Code is provided As Is. It has not been tested or validated as a product, for use in a deployed application or system, or for use in hazardous environments. You assume all risks for use of the Code and use of the Code is subject to the Sample Code License Terms which can be found at: http://ni.com/samplecodelicense
Katie
Katie Collette
National Instruments
Attachments:
Edited-Cont Gen Voltage Wfm-Int Clk-Non Regeneration.vi ‏38 KB
Edited 4461.vi ‏22 KB

Similar Messages

  • PCIe-6536 Simultaneous Read and Write

    I have an application where I need to simultaneously read 24 bits (Ports 0-2) and write 8 bits (Port 3), using an external clock.  The way it is done now is I create a read task and I create a write task.  I send my external clock to PFI4 and PFI5, because two clock inputs are required (one for read, one for write).  And I send a trigger signal to PFI3 to start and synchronize the tasks.
    However it is not working correctly.  My clock is ~15MHz and the reads and writes are off by a random number of a few clock cycles.  For example when I start writing out Port 3, the reading into Ports 0-2 will start 2 or 3 or 4 clock cycles later.  
    Is there a way that I can read and write simultaneously that will work correctly??

    I am still trying to figure out this problem.  I want to simultaneously write bytes out of Port_3  and acquire 24 bit words into Ports 0-2.  The only way I know to synchronize the tasks is to have them both start on a rising edge trigger signal on PFI3.
    If my clock is a few hundred kilohertz, the tasks are synchonized.  When the clock is over 1 MHz then I start seeing the read of 24-bit words lagging the output write by 1 clock cycle sometimes.  The higher the clock rate, the more delay I see.  With a 20MHz clock I see a lag of 8 or 9 or 10 clock cycles.  I spent a lot of money on this card but it apparently doesn't work as advertised.  It is supposed to work up to 25MHz but I have problems at 1MHz.
    The way I am testing it is to loop Port_3 directly into Port_2 with a short ribbon cable (using the CB-2162 test board made for the I/O card).  I can send a pattern out and read it in and see how many of the first bytes were not read in.  For some reason the Acquire task is lagging the Generate task...

  • How to Read and Generate XML file from java code.

    hi guys,
    how to read the xml file (Condition :we know only DTD or Shema only).
    How to Generate the new xml file ?(using Shema )
    And one more how directly Generate the xml from DB?
    Pleas with code or any URL

    Using XMLbeans you can generate Java objects from an XSD schema (perhaps DTDs aswell)
    Then you can create an instance of the Document object and ask it to write itself.
    This will create an XML document complient to the schema.
    XMLBeans generates a "type" safe DOM where you can only ever have a structure compilent to you schema.
    matfud

  • Reading and generate IDocs with Java

    Hello guys,
    I need to develop an application that transform IDocs to XML and XML to IDocs, doing modifications like sum on some fields (by a metadata file).
    Can anyone help me to find how I can do that?
    Regards,
    Julio Sardella

    Thank you guys, but that didn't helped me so much.
    I've forgot to say that my application has to be a stand-alone app that convert xml to idoc and vice-versa but outside the SAP environment. It's kinda robot app. It's just convert the files and trasnfer to the both sides (DI and a private app).
    Sorry for the low level of information.
    Regards,

  • Simultaneous read and write to a cube - critical issue

    Hello xperts,
    I am facing a critical issue.
    I have Cube A which has loads of data in it. I need to take the data of CubeA to a new CubeB as a backup purpose.This activity will take a lot of time.
    Concern1 - In the night we have the master data job which runs including the attribute change run job. Will this have any effect on the load happening from Cube A to Cube B.
    Concern 2 - After master data job finishes in the system , we then run the transaction data jobs which would update Cube A with the delta data. Now the issue is can this delta load happen  to Cube A while there is data load going on from Cube A to Cube B??
    Please help me out with this ASAP.
    Thanks & Regards
    Rohit

    Rohit,
    Attribute change runs will get affected only when you drop or rebuild the indices - this activity locks the cube - any activity that locks the cube will affect attribute change run - reads on a cube will not lock the cube.
    However when you are loading data into your new cube - you cannot load data into the cube - for the very fact that when you load data into the cube - you will drop indices - this will affect the data load into the new cube.
    Arun

  • Simultaneously read more than one input and generate output

    Is it possible To simultaneously read more than one input and generate outputs depending on these inputs? If this isn't possible what is the best way to go about making some sort of timed loop that will read an input, read the next input, decide whether or not to output and so on. Hope someone can help. Thanks.Message Edited by Esmith13 on 05-25-2005 01:36 PM

    Hi,
    You should look at the synchronized examples for analog input and output that can be found in the example finder under:
    Help>>Find Examples>>Hardware Input and Output>>DAQmx>>Synchronization>>Multi-Function
    These will get you started to being able to handle multiple tasks at the same time.
    I hope this helps. Have a Great Day!
    George

  • How to read and display a signal from my a miccrontroller (MCB1700) onto labview connected via a CAN port on a PXI machine

    How do you read and display a signal from my a miccrontroller (MCB1700) onto labview connected via a CAN port on a PXI machine?
    I tried using a DAQ Assistant but the CAN port is not included as one of the supported physical channels even though all its drivers are upto date.
    Please help..
    Thanks.
    Solved!
    Go to Solution.

    Attached herewith is a print screen of what is showing on MAX
    The CAN ports are on NI PXI-8461
    Hopefully that clarrifies something.
    Attachments:
    Untitled.png ‏212 KB
    Untitled.png ‏212 KB

  • Plugin-container and Flashplugin are both generating a million reads and writes an hour... even when Firefox is minimized and running no audio/video; how can I

    I am running FF 18.0.2 on a Win7 system with an i7 CPU and 8GB RAM. My Flash plugin is newly-updated. I've used Firefox on this machine its entire life (3 years).
    Since 3 or 4 (?) versions ago, I've been getting massive activity on my hard drive with Firefox. When I check with Win Task Manager, I see the plugin-container.exe *32 and the FlashPlayerPlugin_11_5_502_149.exe *32 processes are generating millions of I/O reads and writes, even while Firefox is idle (minimized, running no audio or video). On this latest version, 18.0.2, the drive activity stalls out YouTube videos repeatedly, even though I can see they're buffered ahead. The playing video will stop, audio will continue to end of buffer, and then EVERYTHING stops (Firefox not responding) for 30 seconds or so. It will then pickup again and play until it repeats the same pattern in a minute or so.
    Example: I closed and restarted Firefox 2 days ago. Earlier today I checked Windows Task Manager and found the two processes EACH generated about 161 million reads and 141 million writes since then! My wife's laptop is showing nothing like a hundredth of that.
    The constant drive activity is slowing down all programs outside of Firefox too, as you might imagine. The PC is acting like it's a dedicated machine for Flash.

    The Reset Firefox feature can fix many issues by restoring Firefox to its factory default state while saving your essential information.
    Note: ''This will cause you to lose any Extensions, Open websites, and some Preferences.''
    To Reset Firefox do the following:
    #Go to Firefox > Help > Troubleshooting Information.
    #Click the "Reset Firefox" button.
    #Firefox will close and reset. After Firefox is done, it will show a window with the information that is imported. Click Finish.
    #Firefox will open with all factory defaults applied.
    Further information can be found in the [[Reset Firefox – easily fix most problems]] article.
    Did this fix your problems? Please report back to us!

  • Instrument i/o assistant always generates async methods for read and write!

    I am trying to generate VI by instrument i/o assistant, but it generated 'Visa write' and 'Visa read' always in asynchronous mode. Even if I unchecked asynch boxes in MAX->Visa Test Panel.
    I need only synchronous mode! And it is very uncovenient after open front panel change  Synchronous I/O Mode from Asynchronous to Synchronous!

    postoroniy_v wrote:
    Asynchronous mode does not work for my hardware.
    and before Instrument i/o assistant  generate diagram I have possibility to check requests and responses to/from my hardware. in this case everything is fine.
    after generate  does not work.
    Is it possible you don't have a sufficient amount of wait time between a VISA Write and VISA read to give the instrument time to receive the communication and turn around a response?  Take a look at Basic Serial Read and Write example VI.  If you are using the I/O assistant and checking things manually, it will work because there is no way you can generate a Read too fast.  It still would take a fraction of second to generate the write and do whatever clicking to generate the read.

  • Does Aperture read and display XMP data generated by LR?

    Does anyone know if Aperture reads and displays XMP data generated by LR? I am not interested particularly in keywords.

    Thanks for the quick reply, William.
    I would suggest to David Schloss and AUPN that this would be a feature worth supporting. Although, hopefully both new software and improving skills in using them make me less concerned about preserving a static conversion or interpretation of an image, I think that whatever software we use to read/exchange keywords and other IPTC data is a constant.

  • How get output generated as csv file  by reading  by buffered reader and wr

    how get output generated as csv file by reading by buffered reader and writer

    String file_location = "C\temp\csv.txt");
    try {
         URL fileURL = getClass().getResource(file_location);
         if (fileURL != null){
              BufferedReader br = new BufferedReader(new InputStreamReader(fileURL.openStream()));
              String s = br.readLine();
              while (s != null)  {
                   if (!s.equals ("")) {
                        System.out.println(s);
                   s = br.readLine();
              br.close();
         else {
              // error
    catch (IOException ex){ex.printStackTrace();}rykk
    Message was edited by: a dummy
    rykk.

  • PXI-6508 Read and Write Problem

    Hi,
    I have two PXI-6508 DAQ cards. I am using one for inputs and one for outputs. Using read data socket vi I am able to read from the input card, and using write data socket I am able to write to the output card. I am configuring one card to read and one to write, both work seperatly but when I put both vi into my application it crashes and refuses to work. I then need to reboot my PC to then start again. What am I doing wrong?

    Hi gedsy
    I guess you are using some ressources at the same time. The ressource can be a VI or a refnum or any other thing of this kind.
    You should check you are not using the same vis and expect different dataspaces. If you want to use different data spaces with same VIs, you must set them as re-entrant.
    Doc-Doc
    Doc-Doc
    http://www.machinevision.ch
    http://visionindustrielle.ch
    Please take time to rate this answer

  • Read and write analog fast varying signal simultaneously using Ni 6008 + vb6 code

    i want to write analog fast varying signal to AO same time I want read analog signal simultaneously each after 10 millisecond I am using vb6 platform. 
    Kindly help...

    http://forums.ni.com/t5/Measurement-Studio-for-VB6/simultaneous-read-amp-amp-write-fast-varying-anal...

  • PXI-4461 Onboard device memory underflow

    I am using a PXI-4461 to generate an aquire a singal. When i generate the signal i get error -200621( onboard device memory underflow) onDAQmx Stop VI. I donot understand what the error means.
    Signal Information
    Signal Type=Sine Wave
    Frequency=3K
    amplitude=0.3V
    Sampling Rate=48K
    Number of samples sent=48000 or 1sec
    I have tried reducing my sample rate to 20000 but that didnot help much. How do i get rid of this error
    I have attached an picture of my vi below
    Thanks. Any help whould be much appreciated.
    CS
    Solved!
    Go to Solution.
    Attachments:
    Code Image.png ‏82 KB

    Welcome and thank you for using the Discussion Forums! This error is most likely due to the non-regeneration property you have set. What's happening is that LabVIEW generates your two sine waves continuously, but slower than the update rate of the DAQ card, so the buffer gets empty before it can write enough samples to the buffer so that the 4461 can keep generating the voltage values on the channel.
    What you could do is simply set the Regeneration mode to "Allow Regeneration". I tried the non-regeneration and regeneration property on the "Voltage - Continuous Output.vi" and it works with regeneration enabled.
    Regards,
    Daniel REDS
    RF Systems Engineer
    Help us grow.
    If a post solves your question, mark it as The Solution.
    If a post helps, give Kudos to it.

  • Low Amplitude Signal on PXI-4461

    I am curently using two PXI's to output an analog signal through LabVIEW 2009 to an oscilloscope:
    PXI-4461 is running the attachment (labeled appropriately) below.  It also produces the green line on the graph.  It appears correct on the oscilloscope.
    PXI-5412 is running the other attachment (labeled appropriately) below.  It produces the yellow line on the graph.  This amplitude is measured correctly (or so it shows in the margin of the picture), however it gives me a "Low Signal Amplitude" warning and displays the wave much smaller than the "correct" version from the 4461. 
    *Note:  I suppose it is possible that the PXI-4461 (green) is wrong and the PXI-5412 (yellow) is right, but since the PXI-5412 (yellow) produces the error, i am lead to believe that it is the problem.
    I could use some help figuring out what might be causing this inconsistency and how might I go about remedying this issue.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    If someone helped you out, please select their post as the solution and/or give them Kudos!
    Solved!
    Go to Solution.
    Attachments:
    PXI-4461 Function Generator.vi ‏87 KB
    PXI-5412 Function Generator.vi ‏23 KB

    This has nothing to do with LabVIEW.  It is all oscilloscope related.  The reason the yellow signal is smaller than the green is because your scales are different.  Look at the bottom of your oscilloscpe: Ch2 says "500mV per division" while channel 3 says "1V per division".  You probably get a "low signal amplitude" because you signal is less than "2 divisions" and the scope sugests you to change this.  There should be a button named "Autoscale" on your scope which you can hit if you want. 

Maybe you are looking for

  • Logical export

    In Lookout when I go to Historical data viewer and select a view to export, that is a logical value that is a switch, when I look at the text of the export all the values are just opposite of the real value of the switch. That is at the time it said

  • How to fix YouTube HTML5 playback?

    All I want is to have 1080p available for YouTube with HTML5. The only way to achieve this I know of is enabling MSE (media source extensions). Enabling the required option [1] leads to stalled playback of videos. They don't play. Sometimes they do b

  • To activate costing based COPA while Account basedCOPA activated previously

    Dear all, I have a client which currently using Account-based COPA which activated 5 years ago. Due to requirement to analyse production variance by variance categories, costing-based COPA needs to be activated. Can anyone tell me whether is it possi

  • Where could I read the Temp of NB ? Help please!

    Hallo everyone ! I just wonder  how you guys can read the temp of NB ??!! I don't find that in the BIOS ( mine is 1.1 ) and when I run CoreCenter client , it shows the Temp of NB like that : N/A how can I read the temp of NB please ? Any comment ??

  • Syncing Treo 680 with Mac PIMs (using Missing Sync)

    Thanks to Michael Lafferty's excellent advice, I was ready to start syncing my Treo 680 with Mac's PIMs using Missing Sync. However, after extensive research and asking questions on five different forums, I'm getting conflicting advice. H Here's my T