6733 multiple frequency waveforms

I am working with the PCI-6733 DAQ card in the DIAQMX C environment (Not Labview).
I need the card to perform two separate (but not simultaneously on the same card) functions
I need to be able to generate 8 sine waves of independently varying frequencies (from 50 to 70 Hz).
I need to be able to generate 8 square wave of independently varying frquencies (from 1 to 10KHz).
Any examples out there?
Thanks,
A Hancock

A. Hancock,
There is a handy example that illustrates waveform output using the onboard clock located in the DAQmx example folder. Assuming you installing DAQmx to it's default location, it would be located:
C:\Program Files\National Instruments\NI-DAQ\Examples\DAQmx ANSI C\Analog Out\Generate Voltage\Cont Gen Volt Wfm-Int Clk
Simply load a regular waveform into this example.  It defaults to a sin wave, you could easily adapt it for a square wave.
Changing the frequency is relatively straightforward, simply make a call to the DAQmxSetSampClkRate function before or while the task is running.  This and all of the other functions are detailed in the DAQmx API located here:
"C:\Program Files\National Instruments\NI-DAQ\Docs\cdaqmx.chm"
or under Start > Programs > National Instruments > NI-DAQ > NI-DAQ C Reference Help.
Good luck,
--Paul
Applications Engineering
National Instruments, Inc
http://www.ni.com/support
--Paul Mandeltort
Automotive and Industrial Communications Product Marketing

Similar Messages

  • Maintenance Plan - Multiple Frequencies

    Hey,
    I need to create a Maintenance Plan with multiple items and multiple frequencies.  Is this possible ie.
    1 x Maintenance Plan
    2 x Items
    Item 1 - 2months
    Item 2 - 6monhths.
    What I want is for the 2 monthly to come out twice and then when the 6 monthly is due, I want to suppress the 2 monthly Item.
    How do I do this???
    Grateful for any assistance.
    Cheers,
    Liz

    Hi Pete,
    Thanks heaps for your reply.
    Please correct me if I'm wrong.  I have since posting my question created a 'test' Maintenance Plan using a hierachy Strategy.  One item was monthly and the other 3 monthly.  I have scheduled the item (in a testing client), and it is showing that the monthly maintenance item is coming out every 2 out of 3 months.  When the 3 monthly item is due the monthly item is not being called.
    This seems to differ from your response.  Can you please confirm. 
    Thanks again,
    Lizzy

  • Turn off a single plot of a multiple plot waveform graph

    I have a multiple plot waveform graph (4 plots). I want to turn off one of the plots, say plot 2. Is this posible from the graphs property node? The property node seems to only give a reference to plot 0. I am using labview 7.
    Cheers,
    Wayne

    I think you can use "active plot" together with "plot.visible"
    property node to control which one you'd like to display. By default,
    the property node refers to plot 0, but you can change to plot 1 or
    other plots by changing active plot property node. You can search
    "Plot" in LabVIEW Help if you'd like to know details.
    Good luck,
    Jian
    On 18 Feb 2004 03:28:49 GMT, [email protected] (Computerman74)
    wrote:
    >>
    >>I have a multiple plot waveform graph (4 plots). I want to turn off
    >>one of the plots, say plot 2. Is this posible from the graphs
    >>property node? The property node seems to only give a reference to
    >>plot 0. I am using labview 7.
    >>Cheers,
    >>Wayne
    >>
    >>
    >>
    >>
    >>
    >>
    >
    >I would love to know if this is possible. I have been trying to figure i
    t out
    >myself.
    >There is a way to turn a single array off and that is what I am doing for now
    >untill this is possible. The plot is still there but reads zero when tunred
    >off. It would be cool to have the abillty to turn off a single plot.
    >I have tryed all the property nodes with no luck. The answer may be in the
    >array size but I can't seem to control that either.
    >For now you can use wire all 4 channels using the comparison select. Use a
    >constant of 0 And wire up a swtich. When the input is false the output is zero
    >in effect making the plot inactive but it still there.

  • Multiple arbitrary waveforms generation

    Hi,
    I would like to generate 1000 packets with 1000 different datas using RF 5670. can we do this using the script triggering. please let me know how can we dynamically update this trasmitted data.
    Thanks and Regards

    Take a look at this little example I wrote. It's kind of off the cuff but should give you an idea of what you can do. Notice that it is meant to go in the "update" case structure that you saw in Multiple Arbitrary Waveforms.vi. I'm assuming that you have some sort of algorithm that creates your 1000 waveforms. I've named them all by just the number 1, 2...etc. You'll place them in an array of strings and then use that to create the script with the Concatenate Strings.vi. I've only created a script (called 1000waves) using 2 of the dynamically created waveforms so you would want to use some sort of looping to create a script of 1000 waveforms.
    Obviously you do have to stop generation and then start again while you're creating and updating the new script so the longer this takes the longer you won't be generating. Just be aware of that.
    Hope this helps!
    Brian Spears
    Attachments:
    script.vi ‏66 KB

  • Multiple channel waveform output using a 6711 board

    Hi,
    I am writing a driver for VxWorks RTOS based on the DDK for a NI6711
    analog output board.  I cannot find an example for timed waveform
    output on  more than one channel. I adopted aoex3.cpp (which works
    fine under VxWorks for one channel) to operate also multiple channels.
    I set all DACs to timed and wrote to the waveform generation register
    once for each channel. I tried several settings  for the number
    of  channels:
        theSTC->AO_Mode_1.writeAO_Multiple_Channels(1);
        theSTC->AO_Output_Control.writeAO_Number_Of_Channe​ls(iNumChans);
    None of the settings of  iNumChans results in the correct output  on all selected channels.
    The comedi driver uses the settings
       theSTC->AO_Mode_1.writeAO_Multiple_Channels(0);
        theSTC->AO_Output_Control.writeAO_Number_Of_Channe​ls(0); But that does not work either
    Any help would be very much appreciated.
    Heike
    Attachments:
    aoex7.cpp ‏20 KB

    Soory , here is the attached example
    Attachments:
    aoex7.cpp ‏20 KB

  • Multiple Axis Waveform Chart History?

    Hello Everyone,
    Recently I have been working on increasing my capabilities with waveform charts.  I am plotting 3 signals on 3 seperate axis.  I'd like to be able to transfer the plot history from one chart to another via property nodes.  The problem is, only 2 of my signals are making it through, and I'm not sure why. 
    For a little background why my code is structured the way it is, I followed an example from here:
    Pausing Charts
    Basically I want to be able to zoom in on the chart while the program is running.   By hitting pause, the data is transfered to another plot that isn't being updated.  Again, only 2 of my signals are making it through, and I'm not sure if there is a property node I'm missing. 
    Any help would be appreciated, the VI is attached below.
    Thanks,
    Alex
    Attachments:
    Chart Test.vi ‏39 KB

    For some reason the "Brake Temp" plot's color was screwed up. If you look at the legend it looks like it's black. However, changing the plot's color doesn't seem to have any effect. If you just recreate the "pause" graph by copying the "Waveform Chart" indicator then it will work.
    Suggestion: look into the Event Structure.

  • Setting up multiple frequency options from the drop-down menu on the subscriptions button

    I have set up four sponsorship (subscription) options using the drop-down menu on the subscription button. Sponsor an:orphan for $35 at monthly frequencywidow for $50 at monthly frequencyorphan for $420 at yearly frequencywidow for $600 at yearly frequency I have checked the settings for the button and the yearly frequency is definitely selected for the two last options, but when the button is clicked the PayPal landing page recognises the monthly frequency only. Is it possible to have two sets of frequency within the one set of options?

    You can use that list and open the previous tab just above the one that appears bold and has a bullet.
    The current active entry has a bullet in front of it.<br />
    If you hover an entry in the tab session history list with the mouse then you see an arrow at the left side pointing left (Back) or right (Forward) to show the direction.<br />
    You can left click an item to open it in the current tab or middle-click or Ctrl left-click an entry in that list to open that link in new tab, just like you can with other links.<br />

  • Pull out individual graph from a multiple graph waveform?

    Hi all, is there a way of parsing out individual graphs from a waveform based on a given description?  I know that the waveform only has the Y, t0, and t attributes, but there must be a way of doing this.  
    The user inputs a cluster of data per channel.  What I'd like to be able to do is isolate a single graph from the waveform based on the TAG name of the channel, and show this on a separate graph.
    I've attached screen shots shots of the code where the plots are generated, and of the user input cluster.
    I'd greatly appreciate any help.  THANKS!
    LabVIEW 2012
    Windows 7 64-bit
    Solved!
    Go to Solution.
    Attachments:
    Settings_screenshot.jpg ‏28 KB
    blockpanel_screenshot.jpg ‏116 KB

    Hi
    Attached is the picture of how i modified your code. In the DAQ Loop case where you are creating task, use your Tag name as the channel name
    In the Main Processing Loop, insdie the New DAQ case, you are reading the waveform and using a case structure. By using the Get Attribute function and reading the value of NI_ChannelName, you can get the task name of each channel read/acquired.
    I had just left an indicator at the output for the Channel name. you can use it for a case strucuture or in any which way you like.
    Let use know if this works.
    Attachments:
    waveform attribute.PNG ‏65 KB

  • Need advice on best way to acquire multiple vibration waveforms from a PXI-4472 board

    I'm using a PXI-4472 board to acquire vibration data from 8 proximity probes, each with different scaling. Confused as to best approach to achieve this given all the options with MAX, LabView and its Sound & Vibration toolset scaling. Reading other posts, it appears that 24 bit acquisition also requires some special treatment.
    This acquisition needs to be done continuously.
    As an additional side note, I will eventually need to synchronize these channels with the channels on 2 other 4472 boards.
    Any advice on how to use MAX in combination with LabView's AI CONFIG, START, READ, CLEAR and scaling
    for this application would be greatly appreciated.
    All the best,
    Hunter

    Hello Hunter --
    In regards to your questions...
    For scaling, I would recommend using either MAX or the Sound and Vibration Toolset (SVT) scaling, but not both together. The SVT is a bit more flexible, and in general I prefer that. One other thing to keep in mind about MAX is that virtual channels for accelerometers and microphones provide an option to control IEPE excitation, but in fact this can only be set from LabVIEW for the 4472.
    24 bit acquisition does not require any special treatment if you are only reading the scaled (i.e. voltage or engineering unit) data. If you use the binary array option for AI read, you will only receive the top 16 bits.
    If you use the SVT scaling, you should not worry about MAX at all. If you you do define virt
    ual channels in MAX for scaling, you should simply wire a channel array with those channel names into AI Config. Other than this, what you do in MAX should not change how you write the LabVIEW code.
    Please see the attached example for synchronizing PXI-4472s.
    Hope this helps!
    Bryan
    Attachments:
    PXI_4472_Continuous_Synchronized_AI.vi ‏156 KB

  • Synchroniz​e reset of multiple waveform charts

    My main VI has multiple sweeping waveform chart, base off the Continuous Measurement and Logging template. I want to be able to change x axis range (toggling between 10 seconds of data and 3 seconds of data)
    I did it by changing the X scale range min to zero and max to the appropiate sample size, and clear the history. While this works for each chart they always ended up off sync instead. 
    At first I thought that's because I put it in a ub VI. But moving everything to te main vi does not change the behavior.
    Any ideas? Thanks.
    Solved!
    Go to Solution.

    Well those all have to run sequentially in the UI thread so there is no way to do them "Simultaineuosly"  HOWEVER, if you bookend those property nodes with an Involk of the method Defer FP Updates (True then False) you'll see much more what you expect.
    Tighter alignment of the "Clear Histoys" would also be done by splitting up your p-nodes so do all of them at first then change all the scales.
    Jeff

  • Generate Waveform

    Hello,
    I would like to generate a voltage waveform with multiple phases (see figure below) where the paramaters (amp, duration, etc) of each phase is independently controlled.
    A, B, ... E are single phase.
    The goal is to have the ability to generate a waveform similar to this, while changing the parameters of any phase I want while the program is running.  The waveform is delivered to a printced circuit board via a DAQ.  To validate that the waveform I generate in LabVIEW is correct, I measure it using an oscilloscope.  With my current program (attached), I cannot get the waveform I generate in LabVIEW to match what I scope. Spcifically, the time scale is not correct.  Any help would be appreciated, and please let me know if any more info is needed.
    Thanks,
    Brandon
    Attachments:
    Current_Source.vi ‏695 KB

    Thank you Mikhail,
    Okay, I will go back to Continuous and use waveform timing.  What should I set the input DAQ Assistant to?
    The main observations are these:
    -Each input phase is exactly 1/10th the size the output (so if I make the duration of a phase in the Source 1 sec, the oscilloscope reads 0.1 secs for that phase).  I found that I can sort of fix this if I make the number of written samples and sampling rate for both DAQs = 10000, and set the sampling rate in the front panel to 10000 as well.  I'm not sure how to make sense of this, though, just worked...  If I up the sampling rate in order to produce higher frequency waveforms, I get an error telling me to reduce the sampling rate or the DAQs buffer.  I couldn't figure out how to reduce the buffer. 
    -The waveform does not hold its shape with time.  It will be a square wave, then look like noise/nothing, then become a square wave again.
    -The waveform also loses resolution at about 0.1 ms/phase.  The edges of a square wave dull out.  My circuit can handle about 1k Hz... This is not crucial, though.  
    -Amplitude is fine
    -The shape and time scale of the waveform I read on the scope matches that displayed in the input waveforms (one input [Solution] is the load across an electrode; the other [Current] is the calculated current through that load [curent = measured voltage/1k]).  This lead me to believe that the waveform I see in the Source graph is not being ouputted to the circuit; a 10-Hz faster waveform is...?
    -I am going back to my lab later today, but off top, I think the four digits of the DAQ is 6221. It's pretty old; the BNC connecter is also pretty old. 
    Oh, another thing I want to achieve is equal time scale for all three graphs.  Right now, if I make each phase of the output 1s, giving me a 5s pulse, the input graphs only go to 1s.  If I manually extend the time axis of the input graphs to 5s, there is no data from 4 to 5s.  Same idea if I make each phase 0.1s (no data past 0.1 s in the input graphs), etc.  My circuit produces negligable phase lag, so this should be doable.   
    Thanks again for you help,
    Brandon

  • Running multiple DAQ tasks at the same time

    I am trying to setup a program that would allow me to run different analog voltage waveforms on different channels.
    The rate at which samples hit each channel can be the same for all 32, but I want each to be sourced by an individual file I/O source.
    I saw the multiple tasks thread and I did try doing the multiple task approach first and needless to say got the same error.
    Saw something about software timed approach working better, but it is still a bit unclear in that post. Can i do with this card what I described above and if so is this software timing approach the way to go?
    Thanks in advance!

    Hi,
    What DAQ device and and programming language are you using, i.e., LabVIEW/CVI/.NET?   If you are new to DAQ, a great place to start are the example programs.  You can find the example programs with the Example Finder, located at Help >> Find Examples in both LabVIEW and CVI.  Once this opens, double click Hardware Input and Output >> DAQmx >> Analog Generation.  This will have many programs for generating waveforms.  I have also found a program online that might be worth looking at.  
    Continuous Multiple AO Waveforms
    Regards,
    Jim Schwartz

  • How does buffer size affect double buffered waveform generation?

    I had originally posted the following question:
    "Why does the double buffered waveform generation pause after the first buffer before continuing?"
    "I am using an AT-AO-10 board to generate a multiple channel waveform in double buffered mode. The board's DAC's are updated by an external clock signal. While the waveform generation performs well, I notice that after the first buffer has been generated there is a time delay before the next buffer is output. However the second buffer and thereafter perform well without any time delays. If anyone can provide me an explanation on why this happens I would appreciate it. I am using NI-DAQ API functions to generate the waveforms and my settings for the WFM_DB_Config function are 1 for oldDataStop to disallow regeneration of data and 0 for partialTransferStop to not stop when a half buffer is partially transferred."
    -posted by Vadi on 6/7/2001
    I received a response from Geneva as follows:
    Geneva L. on 6/11/2001 says:
    "Vadi,
    The first thing is to make sure that you have the latest version of NI-DAQ installed, NI-DAQ 6.9.1. If you need to install it, make sure you completely uninstall any prior versions. Then, you will have examples installed in either the NI-DAQ or the CVI directory. In the AO directory, you should find the WFMdoubleBuf example.
    Start with that to make sure the output appears as you expect. Then, you can modify it to apply your external update clock, following the idea presented in the WFMsingleBufExtUpdate example. You might even want to double-check that your external clock acts as you expect using an oscilloscope.
    Finally, modify the example such that you can update on multiple channels, remembering that you interleave each channels buffer into one buffer for WFM_DB_Transfer. Whatever data is in the buffer will be updated on the output channels.
    Regards,
    Geneva L.
    Applications Engineer
    National Instruments"
    I have checked my version of NI-DAQ and it is 6.9.1. I am generating the double buffered waveform according to the format shown in WFMdoubleBuf and with some modifications from WFMsingleBufExtUpdate to allow me to use my external update clock. However I continue to notice the same phenomena again and again. For a buffer size of 7500 or 10000 points there is a time lag meaning after the first buffer has been output there is a noticeable time delay before the second buffer and buffers there after is output. This time lag doesn't exist for the buffers that are output after the first buffer but it does exist for the first buffer. When I decrease the buffer size down to 5000 points the time lag disappears (Note: this phenomena also occurs when I use an internal time base as opposed to my external clock). Is there a reason for this? I am using a AT-AO-10 board and I know the on board FIFO is 1024 points deep. However from the documentation provided it doesn't indicate that double buffered mode uses the on board FIFO at all. In fact, the functions require that the FIFO mode be turned off (in WFM_Load) for double buffered waveform generation. Is there a reason why when the buffer size is increased that there is a time lag after the first buffer? Is this because of the functions themselves or is this because of the AT-AO-10 board?

    Vadi,
    Make sure that your buffer size is set to the same number of points that you're actually writing to the buffer initially. For instance, if you run the example as-is, the NIDAQMakeBuffer puts exactly the ulCount amount of data into the buffer. Then, it continuously writes out half buffers. Thus, if you are not writing enough data to fill up the buffer the first time, there will be that lag until the section where half buffers are output.
    Regards,
    Geneva L.
    Applications Engineer
    National Instruments
    http://www.ni.com/ask

  • Query Waveform Names

    Is there a way to query the waveform names that are loaded into an RFSG using Labview?  I didn't see it in the RFSG property node options, so I was wondering if there is a DLL that I can access.  I know that the API can do this, because I have received errors calling out specific waveform names.  Any ideas?
    Attachments:
    waveform error.jpg ‏26 KB

    Hi Joel,
    There is a pretty indepth example of how to write and generate multiple waveforms by name from ARB memory located in the LabVIEW Example Finder (Hardware I/O -> Modular Instruments ->NI-RFSG -> Arbitrary Waveforms -> RFSG Multiple Arbitrary Waveforms). 
    Regards,
    Travis Ann
    Customer Education Product Marketing Manager
    National Instruments

  • Problem with waveform chart

    Hello friends.
    I'm in learning lab view and have some questions.
    I get a signal with an Analog to Digital converter (an Atmega 32) and send data to com port .
    I convert my data to real value in voltage and time .
    But i have problem with show wave form in different frequency .
    By Increase of frequency , waveform chart can not draw my data Clearly.
    What i do to show data in different frequency ?
    Thanks .
    Attachments:
    t4.vi ‏13 KB

    Interfacing with hardware is seldom easy. That is why I lean toward NI stuff since they have made there stuff resonably simple and they have good supprt.
    When interfacing with hardware from others, we have to look fo rthe manufacuer of the hardware to provide enough support to get started.
    So I suggest you contact whoever makes your device and get some examples from them.
    Hopefully they have heard of LV and have drivers.
    Otherwise, ther is no guarentee it will be possible.
    If English is not your primary language, plese feel free to post in both English and your native language. We have contributors that can handle most languages so do not let English get in the way.
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

Maybe you are looking for

  • Will not stay on contact...

    i was editing some of my contacts when all of a sudden the page stopped responding and took me back to the home page. now every time i hit iPhone it first shows the number key pad for a second then goes to my contacts. when i press a contact it shows

  • Problems disabling the "Create ZEN partition" with PXE

    I have a new PXE server running ZEN7 on OES2. I have been able to get all the functionality of my older PXE server on Netware, with one exception. The Linux-based PXE server prompts to create a ZEN imaging partition every time a system is imaged. I h

  • Syncing videos taken with iPhone 3GS to iPhoto and back to iPhone again!

    Sorry, I know this has been asked and answered many times over on this forum I still don't understand why these won't sync back? Videos taken with iPhone 3GS. They will play on iPhone. Now synced back to iMac. Videos will play on iPhoto. They will no

  • Use XMLSpy as a SOAP client to POST message to PI u2013 HTTP error

    Hello all, I have developed a scenario in PI 7.0. The sender is SOAP channel and PI acts like a web service server.  The WSDL has been generated in ID using the following URL (https://dalcxid00:8001/XISOAPAdapter/MessageServlet?channel= :BS_Ecomm_WS_

  • Experts plz help me short dump

    hi experts plz help me in ecc 6.0 gettin a short dump THANKS IN ADVANCE error is :: For the statement        "TRANSFER f TO ..."     only character-type data objects are supported at the argument position     "f".     In this case. the operand "f" ha