How to program labview to output continous voltage using NI PCI-MIO-16XE-50

I am an undergraduate student working on a research project. I need to program a labview block diagram to output continous voltage using DAQ NI PCI-MIO-16XE-50. I am new to this and having problems with formulating.
For example, if i need to output 4V, how to output 4V from the DAQ.
I know that there are 2 channels for output. But having problems figuring out which pins to use as well.
If there are any examples,tutorials or whatever hints i could get in order to solve this, that would be great. I am simply confused and wondering where to start.
Thanks in advance.
Confused undergraduate student

Here is an example of how to do some basic analog and digital communication. Since you need a 4V signal you are going to want to use Analog Output.
http://decibel.ni.com/content/docs/DOC-15408
Product Support Engineer
National Instruments

Similar Messages

  • How do I add a multiplexer accessory device to my PCI-MIO-16XE-10

    I've been told I have to add a multiplexer to my PCI-MIO-16XE-10 card (so I can read more than the 10 chanels it provides for at the same time).
    How do I do this in the Measurement&Automation Explorer?
    Thanks for any help!

    Brain&Body,
    The card can function as either 8 channels in differential mode or 16 channels (Referenced single ended or None referenced single ended - later uses system ground). The single ended mode(s) will allow you get access to all the channels, though it would mean that you would expect to see more noise on the signal than in differential mode.
    You can select these modes within MAX under the properties for the specific DAQ card. Look under analogue input (AI) there you will see a pull down for the modes please select the mode you want. I would recommend that you read the user manual regarding the benefits and limitations of the modes. If using a developement tool (LV,CVI, VB or VC++) please make sure that you are reading single ended signals.
    If you wish to expand the system further you might want to consider purchasing a multiplexer system such as an SCXI system (reference page 184 of the 2005 catalogue). I would recommend that you contact your local sales office and speak with one of our Internal Sales Engineers - UK general number of +44 1635 572400.
    Kind regards
    JoeW
    NI-UK

  • Does LabVIEW under Mac OS X support the PCI-MIO-16XE-50?

    Or indeed any PCI DAQs for that matter?
    Thanks!

    pemanu wrote in message news:<[email protected]>...
    > Or indeed any PCI DAQs for that matter?
    > Thanks!
    To the original question: No. However, we have written control and
    display applications on Mac OS X that access PCI-MIO-16XE-50 cards
    from other computers in an embedded configuration. The Mac OS X box
    acts as a UI controller interface and also shows the data in real
    time. It can also multiplex across several distributed controllers.
    thanks!-
    -lance
    [email protected]

  • Configuring executable labview programs originally configured with a PCI-MIO-16XE-10 on a system with a PCI-MIO-16XE-50 card

    I'm hoping someone can help me. I have executable labview programs created in another lab which used a PCI-MIO-16XE-10 card. I need to install these programs in a new lab which has a PCI-MIO-16XE-50 card installed. When downloading the executable files, Measurement and Automation Explorer gave a message that the physical devices could not be located. I presume this is because the executables are configured for the PCI-MIO-16XE-10 but the PCI-MIO-16XE-50 is installed instead. Any suggestions on how to get these programs configured with the PCI-MIO-16XE-50 would be greatly appreciated? Thanks.

    As long as you have the device identifier of the PCI-MIO-16XE-50 set the same as the PCI-MIO-16XE-10 for which the program was written, you shouldn't have a problem doing what you describe.
    One thing that confused me about your posting, however, is the statement When downloading the executable files, Measurement and Automation Explorer gave a message that the physical devices could not be located. This doesn't make sense to me. You're getting an error from MAX when downloading your program? MAX shouldn't be involved at all here, and especially not when just downloading your program. If you can provide more details about exactly what you are doing (maybe post some screenshots) then I'm sure we can help you get your program working.
    Good luck,
    Joe

  • NI PCI-MIO-16XE-50 voltage output

    I am an undergraduate student working on a research project. I need to program a labview block diagram to output continous voltage using DAQ NI PCI-MIO-16XE-50. I am new to this and having problems with formulating.
    For example, if i need to output 4V, how to output 4V from the DAQ.
    I know that there are 2 channels for output. But having problems figuring out which pins to use as well.
    If there are any examples,tutorials or whatever hints i could get in order to solve this, that would be great. I am simply confused and wondering where to start.
    Thanks in advance.
    Confused undergraduate student

    Confused Undergraduate Student,
    Dont worry, we have a huge amount of resources and tutorials available specifically for people in your situation. 
    For understanding pinouts, you can look in the user manual here:
    http://digital.ni.com/manuals.nsf/websearch/06115536722DAA558625728E007E6BA4
    here is good getting started guide:
    http://www.ni.com/pdf/manuals/373737d.pdf
    we also have some great tutorial videos for new users here:
    http://www.ni.com/dataacquisition/videos
    We have many more resources available at NI.com. From there just use the search bar in the top right. Results can be sorted by type on the left. 
    Regards,
    Kyle Mozdzyn
    Applications Engineering
    National Instruments
    Regards,
    Kyle M.
    Applications Engineering
    National Instruments

  • How to do a single channel DAQ using NI-DAQ driver software with a PCI-MIO-16XE-10 card

    Hi,
    I would like to find out how I could do a simple one channel Data Acquisition from a signal generator using the NI-DAQ driver software with a PCI-MIO-16XE-10 card.
    I have written some test problem but even when the signal generator is turned on/off I get back some weird values.
    Here is my code.
    CString sFunctionName("");
    double volt[OUTPUT_POINTS*2];
    double out[OUTPUT_POINTS*2];
    short timebase, ready, code, stopped;
    unsigned short sampleInterval;
    int i, status, count=0;
    unsigned long update, points;
    short* ai_buffer;
    short output_ch_vector[16];
    int local_ITERATIONS = 2;
    SAFEARRAYBOUND bound[1];
    double dataItem = 9.9;
    long j;
    long k;
    double* pTheValues;
    LPTSTR lpsz_ErrMsg;
    // Initialise device
    status = Init_DA_Brds (deviceNumber, deviceNumberCode)
    Initializes the hardware and software states of a National Instruments
    DAQ device to its default state and returns a numeric device code that
    corresponds to the type of device initialized
    Init_DA_Brds(DEVICE, &code);
    // Check return code from Init_DA_Brds
    Code return should be 204: PCI-MIO-16XE-10.
    if (code < 0)
    CString sError;
    sError.Format("Code error: %d", code);
    if (code == -1)
    sError = sError + ": No device found";
    LPTSTR lpsz = new TCHAR[sError.GetLength()+1];
    _tcscpy(lpsz, sError);
    AfxMessageBox(lpsz);
    delete lpsz;
    return S_FALSE;
    // Allocate memory for analog output and input arrays
    //ao_buffer = new short[OUTPUT_POINTS*2];
    ai_buffer = new short[OUTPUT_POINTS];
    // Set double-buffering
    status = DAQ_DB_Config (deviceNumber, DBmode)
    Enables or disables double-buffered DAQ operations.
    status = DAQ_DB_Config(DEVICE, 1);
    if (status < 0 )
    sFunctionName = "DAQ_DB_Config";
    goto TidyUp;
    // Get the rate parameters
    status = DAQ_Rate (rate, units, timebase, sampleInterval)
    Converts a DAQ rate into the timebase and sample-interval
    values needed to produce the rate you want.
    status = DAQ_Rate(RATE, 0, &timebase, &sampleInterval);
    if (status < 0 )
    sFunctionName = "DAQ_Rate";
    goto TidyUp;
    // Setup scan
    status = SCAN_Setup (deviceNumber, numChans, chanVector, gainVector)
    Initializes circuitry for a scanned data acquisition operation.
    Initialization includes storing a table of the channel sequence
    and gain setting for each channel to be digitized
    status = SCAN_Setup(DEVICE, 1, ai_channels, gain);
    if (status < 0 )
    sFunctionName = "SCAN_Setup";
    goto TidyUp;
    status = SCAN_Start (deviceNumber, buffer, count, sampTimebase,
    sampInterval, scanTimebase, scanInterval)
    Initiates a multiple-channel scanned data acquisition operation,
    with or without interval scanning, and stores its input in an array
    status = SCAN_Start(DEVICE, ai_buffer, OUTPUT_POINTS, timebase, sampleInterval, timebase, 1000);
    if (status < 0 )
    sFunctionName = "SCAN_Start";
    goto TidyUp;
    while(count < local_ITERATIONS)
    // Check whether we are ready to input another half-buffer
    status = DAQ_DB_HalfReady(DEVICE, &ready, &stopped);
    if (status < 0 )
    sFunctionName = "DAQ_DB_HalfReady";
    goto TidyUp;
    if (ready == 1)
    status = DAQ_DB_Transfer(DEVICE, ai_buffer, &points, &stopped);
    if (status < 0 )
    sFunctionName = "DAQ_DB_Transfer";
    goto TidyUp;
    count++;
    // Clear the analog input
    status = DAQ_Clear (deviceNumber)
    Cancels the current DAQ operation
    (both single-channel and multiple-channel scanned) and reinitializes the DAQ circuitry.
    status = DAQ_Clear(DEVICE);
    if (status < 0 )
    sFunctionName = "DAQ_Clear";
    goto TidyUp;
    status = SCAN_Demux (buffer, count, numChans, numMuxBrds)
    Rearranges, or demultiplexes, data acquired by a SCAN operation
    into row-major order, that is, each row of the array holding the
    data corresponds to a scanned channel
    status = SCAN_Demux(ai_buffer, OUTPUT_POINTS * 2, 2, 0);
    if (status < 0 )
    sFunctionName = "SCAN_Demux";
    goto TidyUp;
    //Convert binary values to voltages (Doesn't actually take a reading from board)
    status = DAQ_VScale (deviceNumber, chan, gain, gainAdjust, offset, count, binArray, voltArray)
    Converts the values of an array of acquired binary data and the gain setting for that data
    to actual input voltages measured.
    status = DAQ_VScale (1, 0, 1, 1.0, 0.0, OUTPUT_POINTS , ai_buffer, volt);
    if (status < 0 )
    sFunctionName = "DAQ_VScale";
    goto TidyUp;

    Hello,
    Please take a look at lots of examples available at :
    1. www.ni.com >> NI Developer Zone >> Development Library >> Measurement Hardware
    2. C:\program files\national instruments\ni-daq\examples\visualc
    Sincerely,
    Sastry V.
    Applications Engineer
    National Instruments

  • How to calculate min/max scan rate of PCI-MIO-16XE-50

    My board: PCI-MIO-16XE-50 , 20MHz timebase
    The min/max scan rate is0.00596-20K scan/s and the channel rate is 1.53-20Kchannels/s
    How do they calculate these data?

    Hi May
    Check out the knowledge base locate at http://digital.ni.com/public.nsf/websearch/EA4E306828AF05B586256B8F00661A8B?OpenDocument . I think it answers your question.
    Serges Lemo
    Applications Engineer
    National Instruments

  • How to program labview

    Excuse me I am programming in labview an i2c sensor but I don't know how to program it in labview please help me
    Solved!
    Go to Solution.

    How are you interfacing with the sensor?  You need to know that before you can start writing anything.  Maybe something like the USB-8451 or USB-8452 would work for you.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • How to avoid dependance between output digital port with a PCI 1200 daq card?

    Hello,
    I don't manage to fix the state of a line on one port (PA0 for ex) without change the state of another line of another digital port (PB0 for ex)
    I use a PCI 1200 Daq card with Labview 5.0.1 (under Windows 98)
    How to configure a robust state (high logic level) on a line of a port??
    Does anybody have an idea on this problem?
    Thanks a lot in advance and happy new year to the community
    JF LAVEZARD

    jflab a écrit:
    Hello,
    I don't manage to fix the state of a line on one port (PA0 for ex) without change the state of another line of another digital port (PB0 for ex)
    I use a PCI 1200 Daq card with Labview 5.0.1 (under Windows 98)
    How to configure a robust state (high logic level) on a line of a port??
    Does anybody have an idea on this problem?
    Thanks a lot in advance and happy new year to the community
    JF LAVEZARD
    Hello,
    I've found the problem
    The PCI1200 has a chip 8255 for Digital I/O
    If I use the bad VI, it reconfigures the port and all the lines go in a low logic state
    so I'd to write only on the port or the line without reconfigure the port
    So the good VI in the palett is: Port Write and not Digital Port write!
    See attached file..
    Thanks
    Best Regards
    Attachments:
    port_dio.jpg ‏771 KB

  • How can a labview acquisition/output be triggered by matlab?

    i hope to find a way that matlab can control the start of a simultaneous analog input and output. triggering seemed like the most logical, but i have not been able to find a way to carry this out.

    > i hope to find a way that matlab can control the start of a
    > simultaneous analog input and output. triggering seemed like the most
    > logical, but i have not been able to find a way to carry this out.
    One way to do this is to use the ActiveX automation interface of
    LV. Write a LV VI that performs the Data Acquisition, and write a
    small script to call the VI. The automation interface allows you
    to open a connection to a VI in advance, and call the Run method
    to execute the VI. Prior to Calling Run, you can write to controls
    to pass in parameters, and following the completion, you can read
    back the parameters.
    Another approach, a bit easier if using LV6, is to build a DLL from
    the VI and simply call the DLL.
    Greg McKaskle

  • How can i retrieve the output of procedure using a select statement ?

    Hi every one.
    this mite be dumm ?
    how can i use the output of the a procedure containing multiple rows of data in a select statement ?

    This is not  a SQL Developer question. You should ask it in the SQL and PL/SQL forum.
    The short answer is you can't.  Sounds is if you are trying to use MSSQL techniques in oracle. Learn oracle techniques

  • How to measure more than 10V DC voltage using NI 9205

    Hello everyone,
    I have a solar panel, controller, battery and load. I need to measure their voltages and currents.
    The tensions are higher than 10V DC.
    I need to use the NI 9205 to measure them? I do not know if a resistive divider will work?
    Anyone have any suggestions?
    thank you

    In the past, we've used simple resistor dividers.  More recently, we added op-amps to the circuit so that the DAQ impedence didn't mess with our signals.  But the simple resistor dividers work just fine.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • How do you force DAQmx output to 0 at the end of program execution?

    I am using a 6713 to generate an arbitrary analog waveform on its output. However, once the labview vi has finished execution, the output voltage from the 6713 does not go back to 0 V. I have tried to force it back to 0 V by appending a 0 V amplitude waveform to the end of the analog waveform to mixed results (if I give it thousands of points, it goes to 0, but if I make it a more reasonable 100 points, it doesn't). How can I force the output back to 0 V. I tried stopping the task, clearing it, and stopping it and then clearing it. None of those worked.
    Any help would be greatly appreciated.
    Attachments:
    6713 Interface.vi ‏144 KB

    First, I have to ask, did you write this VI?
    It is very hard to follow and has a lot of confusing structures in it.  IN the middle area where a lot of the DAQmx functions are, the error wire loops around so much it is hard to tell what is happening in what order.  To the lower left, an array is converted to a cluster, the cluster is unbundled, the individual elements are fed to a compound addition to get a single value.  Why not just use a sum array function on the original array?
    The stop button is fed to the Stop Sign function.  This is Abort execution which is the same as hitting the red stop button at the top of the VI.  It ends the execution of the VI right then and there and doesn't allow anything else to happen.  Read the context help for that function.  As someone else has said on the forum,  "Using the Abort button is like using a tree to stop your car.  It will stop it, but there might be consequences."
    How is this VI being run?  Is the Run Continuous button being used?  My guess is yes because I don't see any While loops and the only thing the stop button does is end the program abruptly.
    You will need to rethink your whole architecture.  Stuff that needs to happen once should be set up before a while loop that has wires leading to the while loop or uses a flat sequence to make sure that it happens first.  This is you program initialization.
    Everything that happens repeatedly would be in the while loop.  The front panel Stop button is what ends this loop.
    Anything that has to happen before the program ends like closing out tasks happens after the while loop (either by wires for dataflow or in 3rd frame of a flat sequence structure.  With this, you should be able to reset your tasks so they output a zero voltage from the analog outputs before the tasks are closed and the program ends naturally.
    Appending a zero to the end of the waveform won't help because if the waveforms run continuously, it will restart back at the beginning.
    I would highly recommend looking at the example VI's for DAQmx functions and taking the tutorials for Labview that are available on the NI website.
    Message Edited by Ravens Fan on 02-23-2008 10:45 PM

  • How to pass a pointer in labview library call function by using dll programmed in Labwindows​?

    Hi,
    I'm trying to interface a camera with Labview.  However, the camera can only be programmed by C, so I'm using Labwindow CVI.
    I need to pass a camera handle from one function to another, eg. from a opencamera function to setparameter function.  
    /* Load the Qcam driver and Open the First Camera */
    void DLLEXPORT LoadDriverAndOpenCamera()
    QCam_CamListItem cameraList[10];
    unsigned long cameraListLength=sizeof(cameraList)/sizeof(cameraL​ist[0]);
    //load the driver
    QCam_LoadDriver();
    //get a list of the cameras
    QCam_ListCameras(cameraList,&cameraListLength);
    //listLength is now the number of cameras available
    QCam_Handle hCam;
    //Open the first camera in the list
    QCam_OpenCamera(cameraList[0].cameraId, &hCam);
    Apparently, caemraId is an unsigned long (unsigned 32-bit in Labview 2012 32-bit? ) and QCam_Handle is defined as void*, so it's a pointer that points to an unsigned 32-bit.
    When I only use C for programming, I can pass hCam variable to other functions as long as it's declared as global variable.  Ex, the next function can be void SetParameter(QCam_Handle hCam).  However, here I'm trying to make a dll by Labwindows/CVI and then call LoadDriverAndOpenCamera() function through library call in Labview.  
    My question is:  How can I pass hCam to other functions in the same dll?  Do I have to add paramter to the function? For example:
    void DLLEXPORT LoadDriverAndOpenCamera(unsigned long cameraId, QCam_Handle* cameraHandle)
    And then add two lines:
    cameraId=cameraList[0].cameraId;
    cameraHandle=hCam;
    into the function?  Then I can pass cameraHandle out?  However, hCam will still have void* type.
    Even if that's the case, how can I set up library call node on Labview?  In the arg parameter set up, I don't see pointers?  It seems I cannot set up an output node to be a pointer that points to a unsigned long.
    Thank you very much for your help!
    Best,
    Charles
    Solved!
    Go to Solution.

    Hello Charles, 
    I noticed you posted a similar question here. do you have any further questions about using the call library function node? 
    Haley N
    Applications Engineer
    National Instruments

  • How to run labview program in debugging mode in windows 95 version

    Respected all,
    I am facing probelm while running probe.vi.
    I received this command "connection to acquisition board was not found" when i run labview program.
    I  am using labview 5.1, fieldpoint FP 1000, NI-DAQ 6.5, Field point explorer version 1.6, Measurement and Automation Explorer 1.0.1.
    I would kindly request you please help me how to run my program probe.vi in debugging mode in windows 95 version, so that i can locate where error occurs.
    Thanking You
    Yours faithfully
    M.Vijay

    Respected Norbert,
    Thank you very much to for your help.
    Norbert : Possible reasons are e.g. wrong IDs for measurement devices. If the error is connect to the FieldPoint, it is possible that it isn't configured correctly.
     I am using Field point explorer 1.6, The Field point instrument FP 1000 and RS-232 port is using. It is confirmed that the field point instrument is working properly by LED light indication test.
    Norbert: It sound like you are using DAQ devices (like PCI MIO 6952E) in the application. Are you sure that you select the correct device ID for this?
    I am asking you to know, If i using Labview and  Fieldpoint instrument FP 1000 to monitor my parameter interms of All, Channel 0, Channel 1, Channel 2, Channel 3, Channel 4, Channel 5, Channel 6, Channel 7 for my measurement.
    But now i need to solve the command connection to acquisition board was not found, The expert say this command is due to there was no AT-AO-10 Analog Output board was present in CPU.
    I do not find AT-AO-10 Analog Output board in my CPU, Previously the instrument was worked perfectly by other person who assembled everthing to measure temperature.
    The only aswer know send by previous person is if my task does not imply the use of a DAQ you probably have to locate where the DAQ driver is called and exclude it from the program. try to run the program in debugging mode so that you can locate where the error occurs.
    I do not know how to proceed his instruction. So i would kindly request you to please help me to solve my probelm.
    I also removed AT-AO-10 software from device manager >> Data Acquisition system >>  AT-AO-10 just now.
    I also find GPIB version 1.30, when i remove in add or remove program, it say that Error removing the GPIB.
    I am eagerly waiting for your help.
    Thanking You
    Yours faithfully
    M.vijay

Maybe you are looking for

  • Best Practice for Developer update access to database in Production

    I am curious to find out what other organizations are doing as to developer access to sysadm in production. Such as using a database account created like sysadm that can be checked out for use and locked when not in use? or ?

  • Credit block at delvery level & billing level

    Dear Friends, if in case of emergency i want to deliver the certain product, but there is customer due, because of credit block then is it possible to prepare the billing document and accounting document for emergency.....? its very urgent... points

  • POP LOV and Branching ( Partial page refresh)

    I have a POP LOV (Shows description and returns id). I want to change certain elements on the screen based on the user selection. It is not possible via POP LOV. I cannot use selection lov since the number of values returned is going to be very large

  • Field population In MIGO on F4

    Hello Guru's, I am struck at one point In the MIGO transaction I added a Field (GR Number). Also In the PO Srch Help I Included a Srch Help For my requirement . Following Search Help is in MIGO for searching PO. a. GR Number b. Challan Number c. Truc

  • RMAN  %N Format Backup

    Hi Gurus, I have rman script that backups up my 10g database. I'm trying to format the backup ser as databasename_tablespaceName_date_UniqueNo.dbf. This is my script: backup incremental level 1 filesperset 1 format '%d_%N_%T' keep until time "sysdate