Develop the analog output signal

Let me start by saying that I am a new user of LabVIEW. My experience with LabVIEW is limited to a briefing in which we covered documents in the guide, «Introduction to LabVIEW and Computer-Based measurements» manual the customer Hands-on  With regard to what I'm trying to accomplish:

I'm using LabVIEW 8.6, OR cDAQ-9172 and number of NI 9205 and NI 9264 module.  I have a load cell that requires a constant supply of 10V to operate.  I don't know how to generate this signal or the signal in mV, which is removed from the load to the cDAQ-9172 cell.  I tried using DAQ-Express for entry and exit signals.  Once I have created two assistants DAQ, I'm not sure what to do next.  In addition, the load cell has four sons: green, white, red and black.  Green = + GIS, red = + EXC, white = - GIS and black = - Exc.  The Red wire is connected to ao0 and the black wire is connected to the COM of NI 9264.  the Green wire is connected to ai18 and the white wire is connected to the NI 9205 module ai26.

Any help on this is greatly appreciated!

Yatsco

Hello Yatsco,

Fan of the crows is correct that you would be more successful using a NI 9219 instead of the combination of the PCI module, HAVE / AO. However, it might be possible to use the modules, you should use the load cell, that you try to use, but we need more information on the sensor to say with certainty. A link to form would be preferable.

Assuming that everything would work out with the sensor itself, I would do something like the following:

  1. Configure your analog output DAQ Assistant for output on the 9264 ao0, leave all default settings except for the generation Mode, you should change it to 1 sample (on request).
  2. Configure your analog input DAQ Assistant enter ai18, keep all the default settings again except for sync settings, which should resemble the following:
  3. Your drawing should look like this:

If you do this and you encounter problems with your sensor or its response after the datasheet (or at least the manufacturer and part number), and I'll look into it further.

Tags: NI Software

Similar Questions

  • How do I get the analog input signal and send it to output analog (real time)

    Hello world

    I do a simple task in Visual C++ and I use PCI-6221(37 pin).

    Basically, I want to send the same signal of "analog input" to the "analog output".

    at the same time (or almost), to make real-time application.

    Can someone provide me with sample program please.

    I would be grateful if you could provide me with the great tutorial that explains

    step by step everything about NOR-DAQmx for C/C++ programming.

    Best regards

    Khassan

    This is my code in C++, you can optimize it if that seems too messy. This code reads the analog input signals and exports it through the analog outputs.

    To make this code additional work of the directories include and library directories must be added to OR.

    I hope it helps someone.

    #include
    #include
    #include "NIDAQmx.h".
    #include

    #define DAQmxErrChk (functionCall) {if (DAQmxFailed (error = (functionCall))) {goto error ;}}

    int main (int argc, char * argv [])
    {
    Int32 error = 0;
    TaskHandle taskHandleRead = 0, taskHandleWrite = 0;
    Read Int32 = 0;
    float64 context [1000];
    char errBuffRead [2048] = {'\0'};
    char errBuffWrite [2048] = {'\0'};
    bool32 done = 0;
    Int32 wrote;

    DAQmxErrChk (DAQmxCreateTask("",&taskHandleRead));
    DAQmxErrChk (DAQmxCreateAIVoltageChan(taskHandleRead,"Dev1/ai0","",DAQmx_Val_Cfg_Default,-10.0,10.0,DAQmx_Val_Volts,NULL));
    DAQmxErrChk (DAQmxCfgSampClkTiming(taskHandleRead,"",100.0,DAQmx_Val_Rising,DAQmx_Val_ContSamps,0));
    DAQmxErrChk (DAQmxCreateTask("",&taskHandleWrite));
    DAQmxErrChk (DAQmxCreateAOVoltageChan(taskHandleWrite,"Dev1/ao0","",-10.0,10.0,DAQmx_Val_Volts,NULL));
    DAQmxErrChk (DAQmxCfgSampClkTiming(taskHandleWrite,"ai/SampleClock",100.0,DAQmx_Val_Rising,DAQmx_Val_ContSamps,1000));

    DAQmxErrChk (DAQmxStartTask (taskHandleRead));
    DAQmxErrChk (DAQmxStartTask (taskHandleWrite));

    While (! fact &! _kbhit())

    {

    DAQmxErrChk (DAQmxReadAnalogF64(taskHandleRead,1,10,DAQmx_Val_GroupByScanNumber,dataRead,1000,&read,));

    DAQmxErrChk (DAQmxWriteAnalogF64(taskHandleWrite,read,0,10.0,DAQmx_Val_GroupByChannel,dataRead,&written,));

    }
    _getch();

    Error:
    If (DAQmxFailed (error))

    {
    DAQmxGetExtendedErrorInfo (errBuffRead, 2048);
    DAQmxGetExtendedErrorInfo (errBuffWrite, 2048);
    }
    If (taskHandleRead! = 0)

    {

    DAQmxStopTask (taskHandleRead);
    DAQmxClearTask (taskHandleRead);
    }
    If (taskHandleWrite! = 0)

    {

    DAQmxStopTask (taskHandleWrite);
    DAQmxClearTask (taskHandleWrite);
    }
    If {(DAQmxFailed (error))
    printf ("error DAQmx: %s\n",errBuffRead); ")
    printf ("error DAQmx: %s\n",errBuffWrite); ")
    }
    printf ("end of the program, press the Enter key to quit\n");
    GetChar ();
    return 0;
    }

  • How can I check if the counter entry is synchronized with the analog output?

    Hello

    I'm working on an application for counting photons.  I use two channels of analog output on a PCI-6713 card to send a frame model to a set of XY scan mirrors.  I then a photon count unit that emits a TTL signal when the photons are detected as a result of this raster analysis.  I then use a surfboard USB-6211 to count the edges on this TTL signal.

    I have problems that seem due to synchronization problems.  I use the sample AO on the PCI-6713 card clock like the door of my meter on the map USB-6211.  I use a trigger to start digital to analog output and a trigger of arms for the entrance to counter early. Is there a way to check that the analog output and counter entry of start of operations at the same time and are are synchronized?  I basically want to monitor and compare the ao real sample of the PCI-6713 card clock door signal used by the jury of the USB-6211.  I was able to export the sample AO clock and watch it on my oscilloscope, but not the signal from the door of the USB-6211.

    Thanks for your help,

    Brian

    Update... It turns out that there is no problem of synchronization between my meter input and the analogue output.  There was a difference of impedance when I connected my unit of counting photons to my USB-6211.  This caused an error variable count rate.  After accouting for this shift, the problem disappeared.

  • Sampling frequency of adjustment for the analog output of sine

    Hello

    I tried to do something very simple: using an analog output card PCI 6221 to produce a frequency 50 Hz sine curve. For this I used a Vi to create a curve sinus and different screws DAQmx. But I have trouble understanding the principle of virtual channel and I think I do an error of adjustment of the sampling frequency and number of samples: once for the vi, second time sine "DAQmx - synchronization. Can I use the same values for both of these screws?

    On my oscilloscope, with frequency = 50 Hz and the sampling frequency = 1 kHz, I get a null signal. Then according to two values, I'm differently evaluated signals. For example, with f = 1 Hz and sr = 10 kHz, a frequency 0.7 Hz sinus.

    Make sure that the start for the analog input task occurs after the analog output.  By plugging in the wrong thread to an analogue output start task first, and then to the start task, you guarantee that the AI cannot start until after the startup of the AO.

  • How can I pause and resume the analog output using DAQmx?

    I use a DAQ hardware to produce an analog waveform.  I would like simply to break the output of the wave and then resume where it left off.  I use DAQmx and LabVIEW 2011.

    I've seen examples that use a digital or analog break trigger, but I would take a break in the software only.  How can I do this?

    -Joe

    Hi Joe!

    I spent some time thinking about it and I realized that you can technically use a fundamental mission of the analog output, as you previously wrote that runs continuously. However, the generated output samples are controlled by the sample clock pulses, and can be manipulated to fit our needs "suspension."

    To do this, we will need another counter task that generates a pulse train (see our examples of shipping under material input and output > DAQmx > generating digital pulses > generate dig Pulse Train - Continuous.vi) that stops and starts the user to choose. This can be in another quite VI or controlled by software. We will use this as the task of our output sample clock.

    Then, the task of the AO, wire a constant to the sample clock source and select ' DevX/CtrXInternalOutput"based on the counter that you specified in the task of counter. You will need to choose "I/o name of filtration" and check the box that says "include advanced terminals' and right-click of the constant. See picture attached as a reference. In this way, the task of the AO is constantly running, but it generates only actually all data when the meter running task.

    Let me know if you have any questions!

    Have a great day!

  • "The analog output control.

    I am newbie in Labview... and it is very difficult to find good help and tutorials... it's really disappointing.

    I want to find a good simple example of 'the analog output control "...

    I found these 'words' somewhere on the internet in the file 'DAQBasic.pdf '.

    It is mentioned I need 'VI' easy, but I can't find something like 'Easy VI' in the functions available.

    There is far too much info anywhere and there is no structure...

    How can I 'the analog output control "?

    And please, I want simple examples...

    Thank you!

    Why spoil things by connecting the key to something?

    Your code should be close to what you asked. You want to make sure that there is no case of timeout. I would use the event to change value instead of the key down. At startup, the acquisition of data code run once and then after that, wait key. A couple of different ways to fix this. Simply place the code for the acquisition of data inside the event.

  • Control the analog output in *.vi

    Hi you all,.

    I have a PCI-6281 with a Bob SCB - 68 in any case, I use two channels of analog output to cross strains of certain instruments. Every time I restart the computer, I reset the tensions Explorer automization and measures. (I'm on measures and Explorer automization > devices and interfaces > NI PCI-6281 dev 1 > test panels... > analog output). Is there a way to have the VI set it each time I run it? THX

    Watch the DAQmx Write.vi in the DAQmx palette.  Also look in the viewfinder of the example (help-> find examples...) for the analog output DAQmx.  There should be a lot of examples that you should be able to disassemble to simply adjust the tensions.

  • Problem of generation of the analog output on PCI-7342

    I use for the control of servo motor with encoder Axis 1 of my PCI-7342 feedback

    and trying to out of the velocity of the encoder on the analog output of the axis-2 which is currently not used.

    For testing purposes, I pulled out a constant 16383 (half of 32767) to the analog output

    through load DAC.flx permanently, but there is no voltage on the map of the motion.

    I read

    http://digital.NI.com/public.nsf/WebSearch/102BE3EEED8A8B0DC1256EDA0059EC47?OpenDocument

    http://forums.NI.com/T5/motion-control-and-motor-drives/analog-output-voltage-from-UMI-7764/m-p/5219...

    http://forums.NI.com/T5/motion-control-and-motor-drives/configuring-the-analog-output-of-PCI-7358-mo...

    and configure my 2 axis to be a stepper motor. I also tried to disable axis - 2. None of them works for me.

    Also, I tried to read the value of CAD using reading DAC.flx right after that load DAC.flx is called.

    Correctly, the value was shown on the screen. (See the attached figure)

    I'm really bad now. Please, please, please help!

    Any possible solution is fully appreciated!

    Ron Liou


  • To input analog shutdown when the analog output is completed and synchronization

    Hello

    I'm trying to get my LabVIEW program to send analog output to a computer and read acceleration using the cDAQ-9184. Chassis output that I use is the NI 9263 and the chassis of entry is the NI 9234. I generate a signal of white noise using LabVIEW Express signal generator.

    The first problem I have is the synchronization. I had an old VI that has begun to measure the acceleration just about a second after the entry has been given to the machine. I used the LabVIEW tutorial on how to sync the analog input and output, only to discover that it does not work with two different hunts. Then I found another tutorial that shows how to synchronize different frames between them.

    The second problem is the cessation of the LabVIEW program. What I want to do is to generate the signal and then simultaneously send and read the input and output analog, respectively. It is because I don't want a phase difference or any shorter signal for a direct comparison. But as soon as the signal is sent to the machine, I want the entry to stop analog playback and then then the LabVIEW program must stop. I want to be able to choose any length of signal to be generated and stop as soon as the entire duration of the signal has been sent to the machine.

    I tried 'DAQmx stop', "DAQmx Timer" and 'DAQmx's task made?' and none of them have worked for me. It is also my first time on a forum posting, so I hope I gave enough information. I enclose my VI as well. The VI shows I read an entry for the analog input voltage, but I am only using this to try to get to the work programme.

    I'd appreciate any help I could get.

    Thanks in advance

    Peter

    Hi Peter,.

    I have some recommendations for you that I think you will get closer to your solution. First of all, I assumed you meant that you had 1 chassis (cDAQ-9184) who had two modules in it (NOR-9263 and NOR-9234). My next steps are based on this assumption, so if it's wrong, please let me know.

    For your first question about the synchronization, the code you provided is very close to what you need. You need to do, however, implement architecture master/slave for startup tasks DAQmx functions. To do this, you can add another frame to the flat sequence structure and put the master start task (input voltage) after the start slave (output voltage) task.

    To manage your second question and that the program ends at the point where you, the first step is to get rid of all the logic that you use with the local variable of length of time. Rather than use this logic, just wire the node "task performed?" of "is task performed?" operate to stop the loop. This will cause your loop to stop as soon as the signal is sent to the machine.

    I have some other recommendations for you that will increase the performance of your program:

    (1) rather than writing on file inside the last loop, you can use the DAQmx Configure Logging (PDM) .vi. You will place this VI between DAQmx Timing.vi and DAQmx Start Task.vi to the task of the analog input voltage.

    (2) after the last while loop, you want to stop the task and analog outputs as well with another DAQmx stop Task.vi.

    (3) rather than using a local variable for the entrance of displacement and wiring it in the DAQmx Write.vi, you can wire directly from the output waveform of the wave to build function node.

    That should help you get started in the synchronization of these tasks.

    -Alex C.

    Technical sales engineer

    National Instruments

  • Simulate the analog output of arbitrary waveforms

    Simulate it Arbitrary Waveform VI Express can be used to generate analog signals to the physical channels in analog output mode systems such as the NI 9263? I am trying to use the VI arbitrary signal generator to produce a signal used to excite the magnetic coils.

    Why don't you just try and see what happens?  As far as I know, it should work.

  • generate a square on the analog output wave

    I use a PXI-6229 DAQ card and I need to generate a square on ao0 wave.  I'm programming in c# and have found an example of the expedition, which generates a sine wave.  I need to be able to modify the function generator that was provided with the example of the expedition to produce a square wave 7.2 kHz with duty cycle of 50% and 2 v peak-to-peak.  I enclose the code generator to function.

    Thank you

    After a lot of trial and error and adapt the example to generate a sinusoidal signal, I have the solution to generate a square signal of analog output.  I enclose the code.

  • Generating analog output signals 4 with different frequencies

    Hi all

    I was trying to say to generate 4 different signals at different frequencies

    1. first waveform is a sine wave with 5000 Hz,

    2. other with 8000Hz,

    3. third, one is a square with 25 Hz waveform and

    4. fourth one with triangular waveform 50 Hz

    all waveforms must be generated simultanoeusly.

    I tried to generate with the task unique analog output and sample clock (clock rate is 100000). Cross in scope that I see only 5000 and 8000 Hz we generated correctly and the rest two waveforms show the incorrect frequency.

    I guess that's due to the frequency of high clock to sample for more low frequencies for ex 25 Hz and 50 Hz. If I reduce the clock rate to get the lower frequencies properly so I can't generate frequencies higher correctly. (there's a clsh between frequencies and the clock frequency)

    Is it possible to use DAQ board master sample clock and its magnitude downward revision (everywhere where it is necessary for each waveform separately) to generate all the signals at different frequencies at the same time in a single task?


  • variable phase shift between two analog output signals

    Hey! I would drive two different piezo elements with an sine - / square signals and have a phase shifted output signals. After some trail and error, I was able to get a second analog output on my card PCI-6221 (using LabView 8.2) also allowed me to have different amplitudes for both signals. However, I could not output signal having a frequency different and most importantly to my request to have one of the signals variably shifted phase.

    Thanks for the very useful suggestion. I have attached the file .vi installation I've run so far.

    Hello!

    A way to generate waveforms is using the analog waveform Toolbox. I created an example VI that is attached and that shows you a way to use the base generating function VI. I saved for LabVIEW 8.2.

    I hope this helps!

  • DAQmx: Analog input directly to the analog output at the hardware level

    Hi all

    I searched for a while, but I couldn't find any suitable implementation for what I'm trying to do.  A person where I work introduced me to an interesting challenge.  Is there a way to set up a DAQmx task (or set up otherwise an MIO Board) to route an entry directly to an output to the analog analog hardware level?  You may be thinking, "why the hell would you do?  To reduce the electrical complexity, a colleague would like to concurrently read an entry while 'reproduction' of its signal on analog analog output.  I know that I can easily accomplish this while the buffering by the PC, but they are interested in ensuring that the output signal is also similar to the input at the level of KHz signal, by introducing a minimal difference in phase (shift buffering of the PC).

    For the record, we have for most old maps of the E series here like the PCI-6070E (PCI-MIO-16-1).  I was first asked if it could be done through SCXI, but I figured I would start by asking about the MIO tips.

    This looks like a long shot, and I've never heard of someone at - he never did this, but I thought I'd ask to be sure!

    Thank you

    Jim

    Hi Jim,.

    With the help of our driver is not a means of generating data directly from the FIFO of AI, it must first pass through the software.  You can try the following code to the output of one of THE duplicate on the AO line to see what kind of delay you can imagine.  It is similar to your original with a few adjustments code:

    Use delayed output Version of avian influenza in DAQmx AO

    It seems you need to do, you might consider instead the search by using a voltage follower to isolate the Vout wine.

    Best regards

    John

  • Trigger start analogue does not work for the tasks of the analog output

    Hello. I wonder - what someone has tested the trigger mode analog start for continuous output voltage-. example of VI under hardware input and output - analog output folder in the Labview.

    My camera's SMU-6358, who has two lines APFI and supports analog trigger. Although it is very difficult to find information on the use of analog trigger for analog output of the tasks, what I've learned so far is to connect the interested analog trigger signal (such as an external noise) on both the AI channel which is used as a source of relaxation (ai0 in my case) and a two-channel (APFI0 in my case) APFI.

    During the test the example above vi, any level of relaxation that I put (even with 0), the task of output did not work at all. No error message is returned either. Just for your information, I do physical tests, not only the software simulation, so no signal means no signal.

    Any help is appreciated!

    I have here is that the solutions to this issue, just want to say thank you to all who have helped me on this subject.

    Use the analog analog trigger output tasks, make sure that the trigger signal (input HERE) is connected to APFI0. There is no need to connect the trigger even signal to ai0 if you do not want to save the trigger signal. However, if you do not want to save the trigger signal, connect the trigger signal to both ai0 and APFI0 with a signal splitter. In the latter case, the task of the AI shouldn't take the same trigger that the task of the ao. This means that you can start your registration with or without a trigger, while leaving the task of ao wait a trigger of some signal. This is useful in a situation that you only want to generate ao task to a certain trigger event, as when a signal reaches a certain level of sound pressure.

Maybe you are looking for