OR PCI-6251 correct integer scaling

I use the NI PCI-6251 and DAQmx in Labview to acquire the tension given with the set - 10V,-10V range.  I want to acquire raw 16 bit non adjusted integer of the map data and save to disk, but I want to display data to the scale on the scopes of my slave to data.  I'll also have to evolve then saved data to be analyzed in MATLAB.

I assumed that the scale factor would be 20 /(2^16), but when I display data scale in this way that I seem to be getting slightly different readings that I do when I'm DAQmx acquire and display data directly bracts.

My approach to data acquisition is presented here:

What is the correct method of scaling of this card?

Thank you

-Jack Wimbish

Hi Jack,

Series-M devices like your PCI-6251 calibrated in the software, which means that you cannot use the method of multiplication by voltage range and dividing by 2 ^ 16.  To see how to get the correct scaling coefficients, please see this knowledge base:

http://digital.NI.com/public.nsf/allkb/0FAD8D1DC10142FB482570DE00334AFB

Hope this helps,
Dan

Tags: NI Hardware

Similar Questions

  • PCI-6251 - Acquisition on hard drive

    Hello

    I bought a PCI to acquisition model Multifunction PCI-6251.

    How much time Prime Minister of United Nations of in the know I'd like to connect a hard drive directly on this card, and what should be the characteristics of this hard drive in terms of size, speed of rotation and memory cache.

    From there, what are the software configurations allowing the acquisition of half a score of analog channels directly on the hard drive? Can we start the recording of the tracks on hard drive from Labview? And how the get?

    Finally I would like to know what kind of performance I could you reach in terms of number of "recordable samples and frequency acquisition

    Thank you in advance.

    Hi all

    xdaf is correct that you will need a host PC to communicate with the 6251.  The 6251 can acquire analog inputs to 1 MHz multiplexes (for 10 channels that would be 100 kHz per channel), so you will probably not all the problems at these rates simply by using the DAQ Assistant as mentioned xdaf.  That said, I wanted to take some time to more carefully address the following question:

    Q: "therefore, what are the software configuration used to acquire a dozen analog channels directly on the hard drive?"

    A: DAQmx 9.0 introduced a very cool feature called DAQmx Logging that will allow you to easily optimize your streaming to disk.  You can read more about it in the link provided, but essentially this function allows you to write directly on your hard drive since the DMA buffer without going through the application memory.  Comparing the two methods:

    Old method: FIFO edge > buffer DMA > LabVIEW memory > buffer DMA > hard drive

    New method: FIFO edge > buffer DMA > hard drive

    The new method will use minimum CPU since all transfers are implemented by DMA.  The result is a binary file of PDM (2 bytes per sample on a 16-bit card) which can be read with the viewer PDM or imported in LabVIEW for analysis.  The file header stores the calibration and scaling information.  If you need to integrate this file with other software, the following link contains more information: TDMS integrating third-party programs

    You also have the option, if you want to import the data into LabVIEW to look at one/one immediate treatment.

    I would probably also add that the benchmark of 1.2 GB, mentioned in the DAQmx logging Article would require a faster bus and configuration of the hard drive.  We used two 2 x 8164 matrices Raid in conjunction with a full chassis SMU cards simultaneously.  The 80 MB/s this mentioned xdaf is on par with some hard disks more quickly and is close to the practical limit of the speed of the PCI bus.  This is information probably just extra, since the data from your card PCI-6251 will be far from this limit.

    Even if rates continuously to acquire from a single card PCI-6251 should not be too demanding, I suggest you look into the new DAQmx 9.0 streamline registration of your data, optimize code and functionality for fast disk with minimal use of CPU.  I hope this has been helpful!

    Best regards

    John

    PS once DAQmx 9.0 is installed, several examples can be found of LabVIEW under help > find examples... > DAQmx > Analog measures > power > TDMS Streaming... VI

  • Analog triggering on PCIe-6251 using BNC-2120 on Mac Pro?

    Hello all-

    There, does anyone know how an analog trigger using a PCIe-6251 card connected to a box of BNC-2120 interface?  I am running LabVIEW 8.6 on a Mac Pro OS 10.5.6 and my VI of analog data acquisition seems to work but hangs up waiting for a trigger.  The trigger analog signal must be applied to the terminal APFI0 and the BNC-2120 contains no connector with this name.  On the M-series cards, APFI0 corresponds to pin 20 on the map itself, but I was not to locate any information that shows how the pins of the connector BNC-2120 connect internally to different spring on its façade and BNC connectors.  Sales people NOR recommended the BNC-2120 as the correct one to use with the PCIe-6251, interface box so I think that probably one of the many connectors on the front panel of the box is wired to pin 20.  Am I wrong?  I spent hours to connect signals to the box in the hope of getting a trigger, and nothing has worked yet.  To make matters worse, reviewing the VI to trigger a data acquisition using a TTL signal connected to all of the PFI 0... 9 connectors on the BNC-2120 just causes of VI to give undefined error message ' specific 89136 route cannot be met because the hardware does not support it.»  The specifications for the PCIe-6251 indicate that a digital trigger should be possible through the PFI connectors, so it's a puzzle.  I have an interface BNC-2110 box in the case which turns out be a solution, nothing about it is named APFI0 either.  Any suggestion would be of interest.  Thank you.

    -Ken1

    Hi Ken,

    Unfortunately, the BNC-2120 doesn't have a connection available on the APFI your M series line.  The BNC-2110 has this connection available.

    A possible workaround is that you can trigger off channels of analog inputs as well.  Here is a screenshot of the M Series User Manual that shows the analog switch-off circuits:

    There are a few caveats to trigger off AI channels (mentioned in Chapter 11 of the manual)

    If you use a trigger to start, the analog channel that will be triggered off the coast of must be the first string in your scan list.

    If you use an analog input as a reference or a relaxing break, it must be the only channel in the scan list.

    I hope this helps!

    Best regards

    John

  • Entered analog PCI 6251 not extent of tension of a mass flow controller

    Hey,.

    I have a data PCI 6251 M acquisition with a break in Council SCXI 1302.

    I'm trying to measure a 0 - 5v analogue output voltage from a mass flow controller (check picture of PIN)

    When I measured with a digital multimeter the voltage of the flow signal (PIN2) and common signal (PIN12) I get a stable right tension between 0 and 5v depending on the flow set up. I can control the amount of the charge by providing a data output set point PIN8 and common PIN12 of the 0 - 5V analog signal.

    Now when I connect the signal flow PIN2 and on my DAQ signal common PIN12 AI and AIGND, I don't get readings on my labview VI of the AI. In addition the flow does not meet the setpoint voltage, it get stuck in a range of values no matter how I vary the OD 0 - 5V of data acquisition in setpoint PIN8 and PIN12 common signals.

    I have to add that I tried different ports HAVE with results of sam, and I also tried to measure my supply voltage with my HAVE and all the good work.

    It seems that the entry of AI affects the AO output voltages to my charge. What would cause this? That would be a problem of impedance adaptation?

    Management or ideas are appreciated.

    Thank you

    Ali T.

    Update for anyone that might interest you:

    I not connected to the ground of the power of the mass of the signal of FJA FJA.

    Once I did the acquisition of data reads all data as expected.

    So it turns out not to be a problem of acquisition of data, OR at all, but a game of question for my part, as I suspect is the case with most of the problems.

    Jeff Merci for your comments.

    Ali T.

  • Error 200452 with break triggered DI on PCI-6251

    Hey guys,.

    I am writing a program to snoop on SPI communication between a microcontroller and two MAX-7221 display drivers. Essentially, I want to read the PIN Din of both fleas and convert the data stream in the numbers that are displayed on the front panel of devices (each chip controls two 3 figures, 6 total). The data is 16-bit and contains a 4-bit address and a 4-bit code representing the number b. I recognize these two values in the vi, convert code B in decimal and use the address to combine each digit in the corresponding 3-digit numbers that I can view and save to a file.

    Each chip has a Din row that contains data, a clock and a load signal (called CS). In my vi I acquire the data using the remote clock signal and use a trigger break to acquire only when CS is low. It worked perfectly to collect data of a single chip MAX-7221, but I started to run into problems when you try to acquire data of these two channels at the same time.

    Since I am on two different trigger and clock signals, I couldn't use a single data acquisition. I got a PCI-6251 card laying around and decided to use it to develop a single chip and my original USB-6361 to acquire the other. Acquisition data from as chips with the USB-6361 works perfectly, but when I try to acquire two Renault at the same time I get error 200452 associated with the trigger break PCI-6251.

    I did a ton of digging, but I can't seem to understand what the problem is. The Web site OR said that the PCI-6251 supports triggering of break, and any channel I use, I still get the same error. I even tried to use other types of triggers, but no matter what I do error 200452.

    Thoughts?

    Thanks in advance!

    Colin

    It seems that the PCI-6251 card only supports digital break triggering on a similar task. You use it on a digital input task. 6361 USB supports triggering of break on the two types of tasks. That's why you get an error.

  • How to generate two pulses per cycle? PCI-6251/6255

    Hello. I want to generate two or more pulses per cycle like the timming diagram. This pulse will be used to trigger the sampling data.

    I am ussing the PCI-6251. The VI examples to counter outputs can easily generate the first line, but the second I have no idea. All information can help.

    Another problem could be the synchronization of this lines and data acquisition.

    Concerning

    Ivan C.

    I would like to use the digital outputs for this - just generate a continuous at 1 MHz clock using one of the counters and write the following in your digital output lines:

    H H H L L L L L L L

    H L H L L L L L L L

    If you want to use these signals to pick a different spot on the 625 x, you the output of wire in a PFI lines.

    Best regards

  • connect labveiw 8.2 with nor pci-6251

    I have no pci-6251 and its cd driver with labview 8. How can I connect the daq with labview 8.2 and run programs

    Hello

    I can't download the driver of NOR-DAQmx 8.7.1, connect labview 8.2 with NOR-DAQmx PCI-6251...

    Why?

    Please answer...

  • How to read digital signals with pre-and post-trigger on a card PCI-6251

    I have 22-bit parallel position of data entering TTL lines to 16 kHz with a pulse of marker that says when the data is valid. I also have a fault line which gives an impulse when an error condition is met. I want to read in the 22 lines of position with 500 positions of pre-event and post-event 500 data when the fault line says. How do I pre and post-déclencher lines digital input on a card PCI-6251?

    If this is not possible on this map, which maps PCI would be possible?


  • PCI-6251 vs PCIe-6351

    Hi all

    In another thread here somehwere I spoke getting the smaller possible buffers to reduce latency when reading and writing to the acquisition of card data in a loop.  The "10% rule" came (i.e. setting the buffer size of e/s to 10% of the sampling rate of 100ms per buffer) and although it seems to work on most systems, on some systems, well I can do much better than this, reliable: I can do full Visual Studio 2010 then builds in this loop , using a few sizes of buffers of 20ms, without a single negative overflow error.  It's all about a card PCI-6251.

    I decided to see if I could do better with a PCIe-6351 surfboard, hoping all latency issues could be mitigated by the PCI express bus.  Unfortunately, things are much worse.  On the same system where using 20ms puts in buffer (at 100 kHz sampling) was the test of the bullets; for example I couldn't fail any load I put on the CPU (a quad core Xeon hyperthreading), using the same code with the PCIe-6351 could not even past the start of my loop of I/O without meeting many overflow errors.  I increased the sizes of buffer to 100ms (as recommended by the basic rule), but still have occasional overflow errors, even with virtually no load on the PC.

    Another question, I noticed during the transition to the 6351 that surprised me was synchronization; another application considerably depends on the sync input and output buffers. It worked well on the 6251, taking into account delays caused by the buffering.  The same code fails on the 6351; not with a code error, but tampons are not synchronized.  I did a thorough analysis of this yet (I put emphasis on the first problem above), but it seems that the IO can be synchronized by a partial buffer; in any case, the behavior is quite different, questioning reports cards of the same physical buffer size in each case, using DAQmxGetBufOutputOnbrdBufSize.

    I'm not sure what my question is, except, "huh?"  The biggest difference that I could find on the sheets, is that the 6351 has several DMA channels, which could only help (although I don't think I need more than what's on the 6251).  If someone could shed some light on that, I'm all ears.

    (It was all done using the 9.3.5 drivers supplied with the PCIe-6351;) I don't have the time to go through the pain and suffering that is updated to the NOR-DAQ drivers yet - my company has limited bandwidth and, let's face it, 1.3 GB for a simple driver update is ridiculous, not to mention the time it takes actually install.)

    Hi, JSA,.

    Take a look at your other thread, my first suggestion is to disable the regeneration on your output task.  In c#, use the following text:

    myTask.Stream.WriteRegenerationMode = WriteRegenerationMode.DoNotAllowRegeneration;

    WARNING 200015 can only come when you use regeneration, and it occurs when you copy data on the same portion in the output buffer that the device is being read.  It does not necessarily indicate that an overflow would occur with disabled regeneration.  If you have enabled the regeneration (which is the default) then the unit will try to keep its edge FIFO (8191 samples) filled with data that is currently in the output buffer, so you could get the additional data transferred to the device before you have a chance to replace the previous buffer.

    In addition, you mentioned that "i/o can be out of sync by a partial buffer."  While I don't have too much to go here, I wouldn't be surprised if regeneration disabling fixed this problem as well.  If you transfer a partial buffer of data to the device, and then write the new data, your output waveform may appear out of sync with where you expected it to be.  It is best to simply disable the regeneration, in which case the output buffer is treated as a FIFO, and not a circular buffer, so you're never more than expected.

    Once you disable the regeneration, you will no longer receive WARNING 200015 and I believe that potentially you will not see the synchronization problem.  If the loop of Scripture cannot meet the generation, you will now see 200290 error, which is a mistake of underflow true (i.e. no data is present in the FIFO shipped on time the sample clock is received).  If you encounter some errors-200290 rates and sizes of memory buffer that you think are unreasonable, please do after return and I will be happy to take a look at your code to see if what you see is logical.

    Best regards

  • Blocking of blue screen with the analog voltage (WinXP, PCI-6251)

    Hello

    I'm looking to solve a problem of blue screen with my measure blocking
    application, which I am developing with C++. Blocking seems manifest
    a little random after a variable amount (500-50 000) of voltage analog
    measures. My application needs to make a huge amount of these digitally
    trigger voltage measures after a certain period of time, and I'm using a
    unique
    task to do. The task is stopped and started after a single measure
    is
    which is done around 10 000 - 100 000 times per second. For this
    because I do synchronized with the PCI-6251 map data acquisition and
    one
    Ztec oscilloscope card. It seems that the probability of blocking could be
    associated with
    the frequency of measurements of voltage that I perform.

    The
    the app itself is multithreaded, but I'm blocking concurrent access
    TO
    the card with lock - all access to the card are behind a single mutex

    lock, so simultaneous access is blocked. In any case, all data acquisition
    access
    o the map is initially a single thread, which is dedicated to the acquisition of data
    operations.

    I also did stress tests with Ztec scope map, which does not
    result
    in all the problems. I also disabled in order of acquisition of Ztec map data
    TO
    Make sure that it wasn't the card scope, the origin of the problems - the problem
    persistent, so this seems to point towards the direction of the nidaq map.

    The deadlock appeared when I used the original supplied with drivers
    the
    card. I installed the latest drivers (removed the device from)
    ' Windows
    Device Manager and your application Measurement & Automation, reinstalled), but the blue screen still appears.

    Blue screen gives me a few debug data, but it does not mention any

    files .dll or something that would be of course point to a specific file (driver). I enclose at least partially matching code snippets.

    Hello again! I've been in contact with a local support person, who suggested that I have use DAQmx_Val_FiniteSamps instead of DAQmx_Val_HWTimedSinglePoint. I don't have any other changes, but this (see below) and the problem disappeared, so this seems to be an acceptable solution, because I don't see at all why not do this way. (Thanks Henry!)

    DAQmxErrChk (DAQmxCfgSampClkTiming (task_reader, NULL, 100000.0, DAQmx_Val_Rising, DAQmx_Val_HWTimedSinglePoint, 1));
    DAQmxErrChk (DAQmxCfgSampClkTiming (task_reader, NULL, 100000.0, DAQmx_Val_Rising, DAQmx_Val_FiniteSamps, 2));

  • Outbreak of similar PCI-6251 reference edge does not work with two channels?

    I use this card PCI-6251 to acquire data from two channles of entry. I need to use reference similar edge trigger. the trigger for the chan signal 1 and acquire data from chan 1 and 2 chan. However, the error is that this card can't take two channels with similar trigger edge reference. Please check if it's the PCI-6251 limilation. If so, can you suggest any other card can do this work? The normal extent can trigger from one channel and acquire data from many other channels.

    Thank you

    Liming


  • Output TTL triggers analog input with PCI-6251

    Hello, I'm new to LabVIEW and have a question that I hope I can get a response on this forum.  I am currently using a PCI-6251 DAQ card with a block of connection BNC-2120.  I would like raise an event on an input, for example a sine wave, which is connected to AI0 analog.  Then I would send a TTL pulse train via the digital output.  What I'm describing can be better understood by the images of this link:

    http://zone.NI.com/DevZone/CDA/tut/p/ID/3017

    In the tutorial page linked above, they do mention the card PCI-6251, but when I read the specs and compared, 6251 also has analog and digital Board, trigger functions, as well as digital I / Os... so I think he should be able to do what I want it to do.  Can anyone confirm this?  If anyone could help me by providing a VI that could do what I ask, just to help me get started, would be greatly appreciated.  Thank you!

    Hello!

    Please post on the Forums OR! My suggestion would be to use build it digital Pulse - Retriggerable.vi found in the Finder for example of OR. Open LabVIEW, go to help > find examples > input/output equipment > DAmx > generating digital pulses > generate digital Pulse-redeclenchables. Change the type of trigger for this departure vi > Analog edge and make the source one line APFI (pin 20 of your card is APFI0). This will generate a pulse based on an edge similar to a level that you specify.

    I hope this helps!

  • Synchronization between PCI - 6251 / PCI - 7811R

    Hello

    I need to synchronize two card PCI, PCI - 6251 / PCI - 7811R. This is my first time with a huge app, and I don't know where I should start.

    PCI - 6251 I connected SCXI - 1001, (in chassis: SCXI-1161,-1326,-1327,-1125,-1324) and I'll use it for measurements. Through the PCI - 7811R I want to communicate using the JTAG Protocol, SPI and meaby measure PWM signals. I'm not sure that anything is possible.

    Please help me or give me some tips where I can find some examples.

    Kind regards

    __behemot_

    Hi __behemot_,

    First synchronization between these two modules can be done thanks to the RTSI, the easiest way bus. The two modules must RTSI connector, so no problem should be there. You can find useful information on the RTSI bus on the following link:

    http://zone.NI.com/DevZone/CDA/tut/p/ID/4322

    Also search NI example Finder on RTSI, you will find beautiful examples.

    Concerning the programming of FPGA section, the following links are of course useful when it comes to digital Communication Interfaces and PWM on FPGA:

    http://zone.NI.com/DevZone/CDA/tut/p/ID/5385

    http://zone.NI.com/DevZone/CDA/EPD/p/ID/4725

    Please also check the NOR example Finder (easier to find in LabVIEW is the Help menu): in search for a selected tab Toolkits and Modules--> FPGA--> series a. here you can find a lot of examples that may be useful to start.

    Let us know if you need anything else!

    Best regards

    David Varga

    Technical sales engineer

    NIH

  • Strange problem with analog output PCI 6251 and BNC-2110

    I'm controlling current source of third parties using the connectors of analog output on my card PCI 6251 and BNC-2110.

    The current source needs an input signal of 0.1V. I tested it using a battery, the potentiometer and the voltmeter, and by manually adjusting the voltage of power current works - current output with control voltage scales according to the specifications and is relatively stable.

    The data acquisition card works too - when I connect a voltmeter to the AO0 AO1, the measured voltage corresponds to the target with great precision value.

    But when I connect the current source of third AO0 AO1 data acquisition card, the measured output voltage drops and fluctuates. This applies to both channels of the AO.

    I wonder what is the problem here. I suspect it could be a matter of the grounding - the current analog control of the source is an entry with two floating terminals differential. I tried to return the switches FS/GS on the BNC-2110, but that makes no difference.

    Anyone knows similar behavior? Does anyone have any suggestions?


  • analog input PCI-6251, implemented

    Hi all

    Can I set the analog inputs of the PCI-6251 in configuration of mix (some in differential mode) and others in single ended mode. Because in my set up the differential option is grayed out.

    Thank you

    dphan128

    Yes, you should be able to do. You have 16 analog inputs. Differential, you will use two of them per channel. See the manual of series DAQ M. you can program channels on a M Series device to acquire with different

    reference to the ground. To allow m

    ultimode sweep in LabVIEW, use OR-DAQmx create

    Virtual channel.VI of the API OR-DAQmx. You must use a new VI for

    each channel or group of channels configured in another mode of entry.

    Don't forget that for a premium that you would for example wire HAVE 0 to the + side and AI 8 - side. So now you can not use the AI 8 for simple nerve. HAVE 1 corresponds to the AI 9 etc. until 7 AM, GOT 16.

    I hope this helps.

Maybe you are looking for

  • HP Designjet T3500 printer: Printer - scanner calibration target T3500 is not accepted

    We need to calibrate the Analyzer (rolls and glasses are empty) our T3500 printer, but the calibration target is not accepted (calibration target is not valid), we tried in user (maintaining the image quality) and also in service (service utilities -

  • 7000 R as point of access one using the integrated switch

    I use the first 7000 R as a router and the second 7000 R as an Access Point. I can even if need the integrated switch of one Access Point is this switch automatically connect with the same netzwork? Marcel

  • Add mSATA to Y580

    I had a problem adding mSATA my Y580. I've successfully added in the system, but I can not boot up to windows. The thing can be seen in the BIOS, and I put my HARD drive to be the 1st boot. Now, once that windows is about to load I've always had a bl

  • Histogram with text labels

    Histograms can be created in LabVIEW that have a digital number for the axis y and help text of the x-axis labels?  I want to be able to use the text to describe the bins on the x-axis.  You want to add names and not numbers to the x-axis. Simular to

  • Windows 7 crashes 5-10 minutes after the game starts!

    Whenever I load my games that all crash after 5-10 min I have all new drivers and all games are compatible... PLEASE TELL ME WAT I'M DOING