DAQmxbase with pci 6220

I have developed C code to sample a USB-9215A using nidaqmxbase on windows xp. Installing only nidaqmxbase (not nidaqmx) the code ran well. Now on the same machine I have installed a PCI-6220 card and am trying to reuse the same code (for both devices  Dev1, Dev2). After trying many different strategies it is not working and the USB device no longer works either. Sequence of events:
1) There did not appear to be a driver for the 6220 using nidaqmxbase
2) So removed nidaqmxbase and installed nidaqmx (940f1) , the device is now found (Usb on Dev1 and PCI on Dev2)
3) Tried to compile the code but it appears  nidaqmxbase is not a subset of nidaqmx as indicated in the documentation (e.g. calls to "DAQmxBase****" functions are not found when linking against NIDAQmx.lib) and code will not compile
4) So reinstalled nidaqmxbase (345) over the top of nidaqmx, code now compiles (linking against nidaqmxbase.lib) but will not run (for either USB or PCI)
5) Error is DAQmxBase Error: 2288296
6) The devices do not appear to be available to nidaqmxbase e.g. program "lsdaq" does not show devices
So the question is do I need to ditch the nidaqmxbase software and re-write it using nidaqmx functions or can nidaqmxbase be made to work with the pci-6220 (my preference)

Solution found
It seems that 6220 is not supported in nidaqmxbase, so removed all ni software and installed nidaqmx only
Then the code can easily be ported by changing all DAQmxBase**** function calls to DAQmx***** function calls

Similar Messages

  • Problems with PCI-6220

    Hi Labviewers,
    I'm using a a PCI 6220 card for AI and having some troubles (LabView 7.0 / XP on industrial PC / DAQ-mx 7.4 but I also tried with other versions).
    1) the card is not "plug'n'played", at least not completely; it's recognised as a NI card, but with no model: I need to reinstall the driver and let XP to search automatically the correct driver to have it working
    2) my program works well if manually launched, but doesn't acquire data when launched at Startup; in this last case, after the program is closed, MAX is not able to access the card (it cannot even reset it!), moreover, restarting/switching off the PC does not help: the only way to get the card working again is to completely uninstall the driver and reloading it!
    I found a workaround, though: keeping the program into the Startup folder, I delayed launching by some seconds.
    Has anyone seen something similar?
    Paolo
    Paolo
    LV 7.0, 7.1, 8.0.1, 2011

    I think you found the answer yourself by delaying the startup of your application.
    1) my suggestion is to always use the latest Driver. NIDAQmx 8.1 is out and available for free download.
    2) There might be something related to your specific HW that shows this behaviour. Basically, the driver is loading up sometime after the app has started. This means that when the DAQmx functions are called, the driver has not yet gotten hold of the PCI-6220.
    Try and change the PCI Slot for the card and see what happens. Anyways, adding a few seconds of delay at the beginning of your application may just do the trick.
    3) Also, did you check if your PCI bus is supplying 3.3 V as well as 5V on the rails?
    AlessioD

  • PCI-6220 and Absolute Encoder

    Hi,
    Can anyone point me to a C# compatible example that would serve as a good starting place for determine the position of an UUT?
    Using 12-bit absolute encoder with PCI-6220, I need to determine if the UUT (with optical encoder mounted) is moved either up/down 30 degrees from 0.
    This piece of code will be called from another API to tell the motor to move then stop moving when the desired position of the UUT is found.
    Any advice would be appreciated.
    Sonny

    Hi nimaq,
    If you are using the DAQmx drivers, you can find the .NET examples here:
    C:\Documents and Settings\All Users\Documents\National Instruments\NI-DAQ\Examples\DotNET2.0\
    The position measurement example is located here:
    C:\Documents and Settings\All Users\Documents\National Instruments\NI-DAQ\Examples\DotNET2.0\Counter\Measure Position
    Chris Bolin
    LabVIEW Partner Program, CLA

  • [Question] PCI-6220: digital level at the pause of a continuous impuls train with external trigger

    Hallo,
    I'm trying to use a PCI-6220 card to generate a continuous impuls train which will be paused at an external trigger. I've used the example code in the example library to generate the impuls train. The idle state of the impuls train is set to be high. But I figure that die digital level at the pause is sometimes high and sometimes low. I suppose that the level stays at the exact time when the pause begins?
    Is my assumption correct? Is there any way to let the impuls always pause at the idle state, like it will then be paused after a full impuls is finished? Any tips or links will help. Thanks in advance.
    Wei

    Yes your assumption is right. The output is latched to the last set value.
    If you are generating the pulse through the counter,  setting the Idle state in Create Virtual Channel.vi   doesnt help?

  • PCI 6220 how to route I/O signals?

    Hi
    I am using a PCI 6220 connected with a SCC 2345, on labview 71 XP based.
    I have 24 V signal and I want to divide the frequency, and send out divided signal on RTSI 0.
    I tryed to use a SC-DI on the 2345, but I don't know how to route the DI signal to the CRT0 source signal?
    Any Ideas?
    Laurent

    There is an infodoc numbered 48430 which helps

  • PCI-6220 Analog output to Biometrics DataLOG?

    Hello all,
    I am trying to send an analog signal to our Biometrics DataLOG device.  Currently, I have the PCI-6220 card installed and am running the signals through a BNC-2111 DAQ.  I am getting no output from our card through our DAQ, any suggestions?  Thank you!

    Provide some detailed information. How is the 6220 configured? How is it wired to the bnc? Do you see an output when you test the device in MAX? Are you checking the output with a meter or a scope or are you just relying on this unknown (to most of us) logger?

  • PCI 6220 digital I/O CB68LPR

    Hi,
    I would like to know how to connect the PCI 6220 with CB68LPR for digital input and output? appreciate your answers.
    regards,
    nazreen

    Hello Nazreen,
    You can use the SHC68-68-EPM 68 Pin Shielded Cable (part #: 192061-01) to connect your PCI 6220 to the CB-68LPR. 
    The CB-68LPR connector block has 68 pins labelled "J0" through
    "J67".  These pins have a one-to-one correspondance with the 68
    pins of your PCI 6220, i.e. pin "J5" of the CB-68LPR correspondes to pin 5 of the PCI 6220.  From looking at the M-Series Help
    manual under 'IO Connectors and Pinouts'', you can find what pins
    correspond to what actual signals on your DAQ device.  The PCI
    6220 has three ports (groups of 8 lines) available for digital
    I/O.  I can see from the pinout diagram for the 6220, that port 0
    line 0 (P0.0) corresponds to pin 52, or terminal "J52" on the
    CB-68LPR.  I hope this helps!
    Travis G.
    Applications Engineering
    Message Edited by Travis G. on 04-05-2006 04:54 PM

  • Optimum sampling freq. in PCI-6220 DAQ

    The NI PCI-6220 DAQ has a fixed anti-aliasing filter (called "small signal bandwidth" in the documentation) of 700 KHz. The DAQ itself has a maximum sampling rate of 250 KHz.
    Currently, I sample a given signal (which may have lots of interferences) at 256 Hz, and then digitaly filter it and decimate it to get a final sampling rate of 16 Hz. This gives me a signal of a bandwidth up to 8 Hz, which is fine. Thus, I effectively oversample by 16, and then decimate by 16.
    I am wondering that, since the anti-aliasing filter is 700 KHz, then I might be better off sampling at a much higher rate, say 200 KHz, and then filter-decimate accordingly. I believe this should give a better performance since the anti-aliasing filter will work best in this case, while if I sample at 256 Hz then I am effectively not benefiting much from it.

    Your sampling rate needs to be at least twice as high as the highest frequency interfering signal, so it sounds like >=100 kHz will be needed to meet the Nyquist criterion on all the interference.  Any interfering component which is aliased in cannot be removed by filtering or other post processing. So you need to prevent the aliasing.
    The 16-bit converter of the 6220 has a theoretical dynamic range of ~96 dB. So to get the best measurement of the interfering signals you want to make sure that the signal is very near the full scale of the selected range.
    Even a simple RC antialiasing filter with a time constant of ~10 ms would substantially reduce the higher frequency interference components and make you signal processing much simpler.  Why do you not want an external filter?
    Lynn

  • Trouble Acquiring Digital Input through 1302- 1180- 1349-PCI 6220- software

    Hi,
    I've got an SCXI-1000 chasis, and I'm trying to use an external clock and trigger signal to acquire data from a BNC 2095 board.  I have the 1302 unit to input my external digital signals.  The information feeds through the following units:  1180--> 1349 --> SHC 6868 EPM cable --> PCI 6220 card --> software
    I've got my trigger connected to terminals 39(+) and 24(-) in the 1302 unit.  The external clock is connected to terminals 38(+) and 33(-). 
    Within the DAQ Assistant, I've selected the trigger as PFI 1 and the clock as PFI 0.
    I'd like to test the setup, but the test panel in the MAX won't let me select PFI0 or PFI0 as a channel.  I've also got a acquisition VI made, but it doesn't log any data even though there are no errors.  That's why I want to check that I'm getting the trigger/clock signals properly.
    Any ideas on what to check or change? 
    Thanks,
    Michael

    Hi Michael,
    In general, it's not a good idea to call the DAQ Assistant in a loop, since it allocates and frees resources every time it runs. You might want to take a look at the DAQmx examples in the NI Example Finder (Help>>Find Examples). There are located in the Hardware Input and Output\DAQmx directory in the Example Finder. There are several examples, with several timing and triggering configurations.
    Here is some information about reference triggers: In NI-DAQmx, the stop trigger is referred to as a reference trigger. The reference trigger establishes the reference point in a set of input samples. It allows you to acquire samples both before and after the trigger is received. The number of pretrigger samples to be acquired is set using the Pretrigger Samples input. The number of posttrigger samples to be acquired is automatically determined by subtracting the number of Pretrigger Samples specified from the number of Samples to Read specified.
    Also, take a look at the article I am linking below for information about NI-DAQmx. I hope all of this helps!
    Learn 10 Functions in NI-DAQmx and Solve 80% of Data Acquisition Applications
    Michael P
    National Instruments

  • Synchronizing 1 PCI 6220 and 2 PXI 6711 Boards

    Hello,
    I have created a program that writes both digital signals to the PCI 6220 board and analog functions to two 6711 boards.  Upon testing the output of these boards on the oscilloscope, I discovered that the timing of the digital board was about a half of a second behind the timing of the analog board.  If anyone has any ideas about why this may be happeneing itd be greatly appreciated.  I believe it is a synchronization mistake.  I have the boards connected with an RTSI cable but i never reference the cable in the program.
    Attachments:
    Ultracold Bloom User interface.vi ‏77 KB

    One solution would be to run a wire (a real one! you know with copper inside it? ) from the counter output to one of the PFI lines on the same card and then tie the PFI line to RTSI bus...
    There might be a more elegant way of doing it that someone could share, but this would certainly work. Just make sure that you document in your code the assumption that this jumper wire is in place.
    Mike...
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • Data acquisition and frequency generation togather with PCI-6251 and LV8.2

    Hi friends,
    I am a new user of Labview. I am using LB8.2 with PCI-6251 .
    I have to generate frequency and then measure the data and then for next frequency and so on.
    i know that for this i have to use looping and that is not a problem. The real problem for measurement is to identify whether the frequency is been generated. if yes then measurements starts otherwise it should wait until it started. then after finishing the measurements send a signal to generator for changing the frequency and amplitude.
    Now these two things {generation and measurement} togather are not working correctly for me. so i make 2 diff file, one for generation and other for measurements <by modifying the examples>. I can run both file togather and it works. But it need lots off effort and time. I have to measure from 10Hz to 1000Hz in 2Hz frequency step and i cannt leave in between .
    can anyone help me how to syncronize these two togather .
    Trying to attatch. both the files here ..
    main_v1.1.vi --> for Measuring
    Oscilloscope.vi --> for waveform generation
    Attachments:
    main_v1.1.vi ‏150 KB
    Oscilloscope.vi ‏37 KB

    Hay thnx dude..
    I found the example and now it works
    once again thanks a lot

  • How to use external timebase for Two Edge Separation measurement with PCIe 6351

    Hi
    I am working with PCIe 6351 x series DAQ card.
    counter measurements.
    Here i need to measure the time/no edges between two edges. Falling to Raising of two signals.
    I got the measurement with internal time base.
    here i need to synchronize the measurements with external clock from the external setup.
    so i need to use that external clock,timebase for the counters.
    Any solution please..
    Regards,
    Hari

    First, the VI you mention is NOT for STC timer/counters. Therefore, it won't work.
    If you want to get the time interval between two edges, you want to use the Functions -> Data Acquisition -> Counter -> Count Events or Time VI. This will do the function you are looking for.
    Mark

  • Position Control of compumotor linear servo table and GV-U6E with PCI-7344

    I'm referring PCI-7344 (not 7334).
    I have the GV-U6E which is a drive only and does not possess control functionality. the drive only version does not store or use programs. So, serial commands can not be sent through COM port by LabVIEW even though A few basic commands can be emulated.
    I am trying to do position control as I mentioned. For example, the motor should move A point to B point exactly with a certain speed. The points must be aboulte position.
    I would like you to see the reference comment that I have been contacting with in your website forum.
    http://exchange.ni.com/servlet/ProcessRequest?RHIVEID=101&RPAGEID=135&HOID=506500000008000000DD490000&USEARCHCONTEXT_CATEGORY_0=_14_&USEARCHCONTEXT_CATEGORY_S=0&UCATEGORY_0=_14_&UCATEGORY_S=0
    Regard,
    Jin Ho Lee
    ----- Original Message -----
    From:
    To:
    Sent: Thursday, September 26, 2002 5:00 PM
    Subject: Re: (Reference#1549-QYW196) "Position Control of linear servo table and GV-U6E with PCI-7344
    >
    > Note: Your reference number is included in the Subject field of this
    > message. It is very important that you do not remove or modify this
    > reference number, or your message may be returned to you.
    >
    >
    > JinHo. Compumotor is a very popular brand, and I know of several customers
    > who integrate our 7334 with Computmotor drives. However, when you say that
    > the MAX configuration doesn't fit in the compumotor drive settings, are you
    > referring to the specs from the 7344? It looks like the 7344 and the
    > Compumotor will work well together through a UMI break out box. If you're
    > referring to specific commands that the Compumotor receives, I'd have to
    > know more about the protocol. If the Compumotor needs serial commands,
    > then you can send them through the computer's COM port from LabVIEW.
    > Please let me know exactly what kind of configurations you're trying to
    > set. The 7344 can be completely configured in MAX and LabVIEW.
    >
    >
    > Best Regards
    >
    > Kyle Voosen
    > Applications Engineer
    > National Instruments
    > http://www.ni.com/support
    >
    > ------------------------------------------------------------------------------
    >
    > Problem Description :
    > "Position Control of compumotor 406LXR linear servo table and GV-U6E(motor
    > drive) with PCI-7344"
    >
    > "Since I had the answers referring:
    > http://exchange.ni.com/servlet/ ProcessRequest?RHIVEID=101&RPAGEID=135&
    > HOID=506500000008000000DD490000& USEARCHCONTEXT_CATEGORY_0=_14_&
    > USEARCHCONTEXT_CATEGORY_S=0& UCATEGORY_0=_14_&UCATEGORY_S=0
    >
    > Wiring step was done well. However, I still have a problem that MAX
    > configuration doesn't fit in compumotor drive settings. Therefore, the
    > setup is shown below, and I want to know how I can set up PCI-7344
    > configuration in MAX or LabVIEW VI.
    >
    >
    > -----------------------------------------------------
    >
    > Uploaded from device address 0
    >
    > Gemini GV Servo Drive Setup
    >
    >
    >
    > Motor Setup
    > DMTR 1703
    > Motor ID (406-x-LXR-M-x-D13-x-x-x-x-E5-x-x-x)
    > DMTIC 2.48
    > Continuous Current (Amps-RMS)
    > DMTICD 0.00
    > Continuous Current Derating (% derating at rated speed)
    > DMTKE 17.6
    > Motor Ke (Volts (0-to-peak)/krpm)
    > DMTRES 10.10
    > Motor Winding Resistance (Ohm)
    > DMTJ 119.300
    > Motor Rotor Inertia (kg*m*m*10e-6)
    > DPOLE 1
    > Number of Motor Pole Pairs
    > DMTW 40.5
    > Motor Rated Speed (rev/sec)
    > DMTIP 7.40
    > Peak Current (Amps-RMS)
    > DMTLMN 3.4
    > Minimum Motor Inductance (mH)
    > DMTLMX 3.4
    > Maximum Motor Inductance (mH)
    > DMTD 0.000000
    > Motor Damping (Nm/rad/sec)
    > DMTRWC 0.23
    > Motor Thermal Resistance (degrees Celsius/Watt)
    > DMTTCM 20.0
    > Motor Thermal Time Constant (minutes)
    > DMTTCW 0.33
    > Motor Winding Time Constant (minutes)
    > DMTAMB 40.00
    > Motor Ambient Temperature (degrees Celsius)
    > DMTMAX 90.00
    > Maximum Motor Winding Temperature (degrees Celsius)
    > DHALL 1
    > Disable Hall Sensor Checking
    > DMTLQS 0
    > Set Q Axis Inductance Saturation
    > DMTLDS 0
    > Set D Axis Inductance Saturation
    > DTHERM 0
    > Disable motor thermal switch input
    >
    >
    >
    > Drive Setup
    > DMODE 2
    > Drive Control Mode
    > DRES 8400
    > Drive Resolution (counts/rev)
    > DPWM 16
    > Drive PWM Frequency (kHz)
    > SFB 1
    > Encoder Feedback
    > ERES 8400
    > Encoder Resolution (counts/rev)
    > ORES 8400
    > Encoder Output Resolution (counts/rev)
    > DMEPIT 42.00
    > Electrical Pitch (mm)
    > SHALL 0
    > Invert Hall Sensors
    > DMTLIM 1.5
    > Torque Limit (Nm)
    > DMTSCL 1.5
    > Torque Scaling (Nm)
    > DMVLIM 119.000000
    > Velocity Limit (rev/sec)
    > DMVSCL 119.000000
    > Velocity Scaling (rev/sec)
    >
    >
    >
    > Load Setup
    > LJRAT 0.0
    > Load-to-Rotor Inertia Ratio
    > LDAMP 0.0000
    > Load Damping (Nm/rad/sec)
    >
    >
    >
    > Fault Setup
    > FLTSTP 1
    > Fault on Startup Indexer Pulses Enable
    > FLTDSB 1
    > Fault on Drive Disable Enable
    > SMPER 8400
    > Maximum Allowable Position Error (counts)
    > SMVER 0.000000
    > Maximum Allowable Velocity Error (rev/sec)
    > DIFOLD 0
    > Current Foldback Enable
    >
    >
    >
    > Digital Input Setup
    > INLVL 11000000
    > Input Active Level
    > INDEB 50
    > Input Debounce Time (milliseconds)
    > INUFD 0
    > Input User Fault Delay Time (milliseconds)
    > LH 0
    > Hardware EOT Limits Enable
    >
    >
    >
    > Digital Output Setup
    > OUTBD 0
    > Output Brake Delay Time (milliseconds)
    > OUTLVL 0100000
    > Output Active Level
    >
    >
    >
    > Analog Monitor Setup
    > DMONAV 0
    > Analog Monitor A Variable
    > DMONAS 100
    > Analog Monitor A Scaling (% of full scale output)
    > DMONBV 0
    > Analog Monitor B Variable
    > DMONBS 100
    > Analog Monitor B Scaling (% of full scale ouput)
    >
    >
    >
    > Servo Tuning
    > DIBW 1500
    > Current Loop Bandwidth (Hz)
    > DVBW 100
    > Velocity Loop Bandwidth (Hz)
    > DPBW 40.00
    > Position Loop Bandwidth (Hz)
    > SGPSIG 1.000
    > Velocity/Position Bandwidth Ratio
    > SGIRAT 1.000
    > Current Damping Ratio
    > SGVRAT 1.000
    > Velocity Damping Ratio
    > SGPRAT 1.000
    > Position Damping Ratio
    > DNOTAF 0
    > Notch Filter A Frequency (Hz)
    > DNOTAQ 1.0
    > Notch Filter A Quality Factor
    > DNOTAD 0.0000
    > Notch Filter A Depth
    > DNOTBF 0
    > Notch Filter B Frequency (Hz)
    > DNOTBQ 1.0
    > Notch Filter B Quality Factor
    > DNOTBD 0.0000
    > Notch Filter B Depth
    > DNOTLG 0
    > Notch Lag Filter Break Frequency (Hz)
    > DNOTLD 0
    > Notch Lead Filter Break Frequency (Hz)
    > SGINTE 1
    > Integrator Option
    > SGVF 0
    > Velocity Feedforward Gain (%)
    > SGAF 0
    > Acceleration Feedforward Gain (%)
    > -----------------------------------------------------
    >
    >
    > Regards,
    > JinHo"
    > NI Software :
    > LabVIEW version 6.0
    > NI Hardware :
    > Motion Control device PCI-7344
    > Driver Version :
    > no
    > OS :
    > Windows 2000
    > CPU :
    > Pentium
    > RAM :
    > 128
    > Vendor :
    > DELL
    > Customer Information :
    > Jin Ho Lee
    > North Carolina State Univ.
    > US
    > [email protected]
    > Ph: (
    > 919
    > )
    > 512-9929
    >
    >

    Yes, we used an NI PXI-7344 motion control card with an NI UMI-7764 box connected to a Gemini GV-U12E servo drive. (which is a drive only.)
    We did positional control in absolute position mode.
    I can send you an AutoCAD schematic detailing how to connect the UMI-7764 to the Gemini GV servo drive.
    In regard to the Rs232 interface to the GV servo drive,
    the GV drive only model is "configurable" not "programmable". You can create unique GV configuration files with Compumotor's Motion planner then download the configuration via Rs232 using LabVIEW as desired. Or, using LabVIEW via Rs232 you can change individual GV drive parameters on demand,
    or use the GV's two analog outputs back to LabVIEW's analog inputs to measure commanded motor current or torque, etc.etc.etc

  • Using a laptop for image acquisition in combination with PCI-1428/PCI-8252

    I am not too confident about PCMCIA framegrabbers so that I would like to use either a cameralink camera with the PCI-1428 or a Firewire one with PCI-8252.
    Are there any obstacles accommodating the PCI cards in an PCI Expansion box?

    You could do it, but why? Just get a firewire card for the laptop and go direct. You can get them with external power supplies to power the camera. It will work just the same and you won't have to lug around a big box with all your other equipment.
    Bruce
    Bruce Ammons
    Ammons Engineering

  • Work with PCI-6052E and PCI-6601 simultaneously

    Hi, I'm working with PCI-6052 for bufered data output and PCI-6601 for read two encoders at same time, when I work with single board I don't have problems but when I work both simultaneously I have a problem only I can out data or only I can read the encoders but not both at the same time. How I make this?

    Hi,
    You probably have one task in LabView running in series after the other. Both of these tasks require a loop. Your buffered data output needs to be written in continuous fashion in a loop (I believe) and your encoder measurements are being read constantly as well (should be in a loop). Try experimenting with these two suggestions.
    I would copy both programs into 1 VI and keep them running completely separate. LabView will be able to assign each a different thread so they should be able to run completely in parallel. Therefore you would have 2 parallel loops that are not connected at all.
    You can also create two completely different VIs and run them in parallel. There is no reason why the two different programs would interfere.
    Hope that he
    lps. Have a good day.
    Ron

Maybe you are looking for