USB 6009 Python Control

 Hello, 
I am attempting to use python (with ctypes) to control my USB-6009.  The goal is to write out an analog voltage and then read in the voltage through an analog input with ability to change the number of points averaged and the number of times this is repeated(sweeps) averaging the analog input array.  The issue is that as we increase the number of times the voltage ramp is repeated (sweeps) we get a time out error (nidaq call failed with error -200284: 'Some or all of the samples requested have not yet been acquired).  This has us confused because the sweeps are in a larger loop and the Daq function should be the same if there are 10 sweeps (works) or 1000 sweeps (crashes).  Any insight would be greatly appreciated.  I have included the code below for reference.  
import ctypes
import numpy
from time import *
from operator import add
nidaq = ctypes.windll.nicaiu # load the DLL
# Setup some typedefs and constants
# to correspond with values in
# C:\Program Files\National Instruments\NI-DAQ\DAQmx ANSI C Dev\include\NIDAQmx.h
# Scan Settings
aoDevice = "Dev2/ao0"
aiDevice = "Dev2/ai0"
NumAvgPts = 10
NumSweeps = 50
NumSpecPts = 100
filename = '12Feb15_CO2 Test_12.txt'
Readrate = 40000.0
Samplerate = 1000
StartVolt = 0.01
FinalVolt = 1.01
voltInc = (FinalVolt - StartVolt)/NumSpecPts
# the typedefs
int32 = ctypes.c_long
uInt32 = ctypes.c_ulong
uInt64 = ctypes.c_ulonglong
float64 = ctypes.c_double
TaskHandle = uInt32
# the constants
DAQmx_Val_Cfg_Default = int32(-1)
DAQmx_Val_Volts = 10348
DAQmx_Val_Rising = 10280
DAQmx_Val_FiniteSamps = 10178
DAQmx_Val_GroupByChannel = 0
def CHK_ao( err ):
"""a simple error checking routine"""
if err < 0:
buf_size = 100
buf = ctypes.create_string_buffer('\000' * buf_size)
nidaq.DAQmxGetErrorString(err,ctypes.byref(buf),buf_size)
raise RuntimeError('nidaq call failed with error %d: %s'%(err,repr(buf.value)))
if err > 0:
buf_size = 100
buf = ctypes.create_string_buffer('\000' * buf_size)
nidaq.DAQmxGetErrorString(err,ctypes.byref(buf),buf_size)
raise RuntimeError('nidaq generated warning %d: %s'%(err,repr(buf.value)))
def CHK_ai(err):
"""a simple error checking routine"""
if err < 0:
buf_size = NumAvgPts*10
buf = ctypes.create_string_buffer('\000' * buf_size)
nidaq.DAQmxGetErrorString(err,ctypes.byref(buf),buf_size)
raise RuntimeError('nidaq call failed with error %d: %s'%(err,repr(buf.value)))
def Analog_Output():
taskHandle = TaskHandle(0)
(nidaq.DAQmxCreateTask("",ctypes.byref(taskHandle )))
(nidaq.DAQmxCreateAOVoltageChan(taskHandle,
aoDevice,
float64(0),
float64(5),
DAQmx_Val_Volts,
None))
(nidaq.DAQmxCfgSampClkTiming(taskHandle,"",float64(Samplerate),
DAQmx_Val_Rising,DAQmx_Val_FiniteSamps,
uInt64(NumAvgPts))); # means we could turn in this to continuously ramping and reading
(nidaq.DAQmxStartTask(taskHandle))
(nidaq.DAQmxWriteAnalogScalarF64(taskHandle, True, float64(10.0), float64(CurrentVolt), None))
nidaq.DAQmxStopTask( taskHandle )
nidaq.DAQmxClearTask( taskHandle )
def Analog_Input():
global average
# initialize variables
taskHandle = TaskHandle(0)
data = numpy.zeros((NumAvgPts,),dtype=numpy.float64)
# now, on with the program
CHK_ai(nidaq.DAQmxCreateTask("",ctypes.byref(taskHandle)))
CHK_ai(nidaq.DAQmxCreateAIVoltageChan(taskHandle,aiDevice,"",
DAQmx_Val_Cfg_Default,
float64(-10.0),float64(10.0),
DAQmx_Val_Volts,None))
CHK_ai(nidaq.DAQmxCfgSampClkTiming(taskHandle,"",float64(Readrate),
DAQmx_Val_Rising,DAQmx_Val_FiniteSamps,
uInt64(NumAvgPts)));
CHK_ai(nidaq.DAQmxStartTask(taskHandle))
read = int32()
CHK_ai(nidaq.DAQmxReadAnalogF64(taskHandle,NumAvgPts,float64(10.0),
DAQmx_Val_GroupByChannel,data.ctypes.data,
NumAvgPts,ctypes.byref(read),None))
#print "Acquired %d points"%(read.value)
if taskHandle.value != 0:
nidaq.DAQmxStopTask(taskHandle)
nidaq.DAQmxClearTask(taskHandle)
average = sum(data)/data.size
Thanks, 
Erin
Solved!
Go to Solution.

This forum is for LabVIEW questions.

Similar Messages

  • Usb-6009 high-speed continuous acquisition for slow control loop application

    Hi,
    After watching a few Youtube videos, I successfully built a control loop in LabVIEW using my USB-6009. Currently, this loop is limited by the speed my actuator can take and respond to commands, topping out at 200 Hz. This is completely sufficient for my application. My question is more regarding the wasted potential of the USB-6009 to acquire samples at a much higher rate than what would be obtained if I used a simple single sample-on-demand during every iteration of the loop.
    It seems to me that having the USB-6009 continuously acquire samples and having my control loop periodically check in for the latest data when it is ready to execute would have the advantage of allowing me to average groups of samples together to lower the overall noise associated with the measurement process (I am reading voltages from an amplified photodiode).
    1) Does anyone know how I would instruct the USB-6009 to continuously acquire at say 10 kHz, so that on each loop I will have 50 or so samples that can be averaged together for a more accurate measurement of my control variable? Unfortunately, I'm new to this and not too familiar with DAQmx Timing.vi.
    2) I've heard that reading into a buffer can increase latency for moving data into the computer. Given the low speed of my control loop, I don't foresee this as being a problem. Is this a correct assumption? I can probably live with an extra millisecond of latency.
    3) I goofed around briefly with DAQmx Timing and managed to see a buffer overflow error. Certain rare events will by necessity cause my control loop to take much longer to execute, so I cannot guarantee that occasionally during normal operation I will not overflow the buffer. Can I suppress this error so that the dialog box does not pop up and the program continues to run uninterrupted? If the buffer overflows and old data gets overwritten it isn't a big deal for me since the control loop is only concerned with the latest data anyway.
    Thanks for any info!

    Howdy Patrick!
    Here is a picture of the front panel:
    Here is the block diagram:
    And I've attached a copy of the VI saved for LabVIEW 7.1.
    Regards,
    Barron
    Applications Engineering
    National Instruments
    Attachments:
    most recent samples.vi ‏73 KB

  • USB-6009, mac OS 10.6.8 and python

    Hello!
    I am using USB-6009 under mac OS 10.6.8 and python.
    I am trying to run the following commmand:
    analogOutputTask = nidaqmx.AnalogOutputTask(name='MyAOTask')
    I get the following message
    File "/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/nidaqmx/libnidaqmx.py", line 180, in CALL
    AttributeError: 'NoneType' object has no attribute 'DAQmxCreateTask'
    Any help would be very mch appreciated,
    Thanks 
    j.

    Hello Jamyamdy, 
    Honestly, I am not too sure about this, but were you able to acquire data before or is this your first trial? 
    From the usb-6009 product page, it says the following. 
    For Mac OS X and Linux users, download the NI-DAQmx Base driver software and program the USB-6009 with NI LabVIEW or C.
     http://sine.ni.com/nips/cds/view/p/lang/en/nid/201987
    Regards,

  • USB-6009 Sine Wave

    Hi,
    I am new to LabView and am having some trouble. I need to input two sine waves into a USB-6009. I have a voltmeter that should read the output. Two of the problems that I have had thus far: I can only use "On Demand" in DAQ Assistant and even when I throw the DAQ Assistant into a while loop I still do not get a readout on my voltmeter. Any suggestions? Thanks for the help.

    That is confusing. You say you need to input 2 sine waves into a 6009 and that to me implies that you are doing a DAQmx Read. Then you say you have a voltmeter to read the output. That implies you are doing a DAQmx Write. If you are really doing a write from the 6009, then on demand is, of course your only choice. As the specs clearly indicate, the output of the 6009 is strictly software timed so you would need to pass a sine wave point by point and then you would have very little control over the frequency. And, again as the specs clearly state, the fastest output rate you could expect is 150Samples/sec.

  • Usb 6009 continuous analog output

    Hi
    I'm pretty new to Labview, so you may have to bear with me. I have a USB-6009 and I want to generate a continuos analog output voltage. I've got the example you have posted 'Gen Mult Volt Updates-SW Timed_LV7.1 (0 to 4).vi' working and it outputs a continuous sine wave.
    In a similar manner I need to generate:
    1. Ramp up voltage (and ramp down voltage): starting with a continuos constant voltage, which after a period of time linearly increases to another constant voltage, and which allows me to specify the 3 time intervals and the rate of increase.
    2. Pulsations: whereby I can specify the amplitude and time interval of each pulsation
    This is so that I can control voltage to a valve which regulates my pipe flow. In the example I have (one stated above), I do not understand specifically:
    i. Why I need both a 'Software Loop Time (ms)' as well as 'Timeout'
    ii. The 'Sinusoidal Pattern' input which seems to generate data for a sine wave- I can't get a description of that and there are no similar VIs for other waveforms; and what is the function of the two numbers it has?
    iv. How do I change amplitude and time period for the wave?
    iii. What does 'Index Array' do?
    thank you

    Hi there,
    I'm guessing the VI you are using is the one from this KB:
    http://digital.ni.com/public.nsf/allkb/6F2C2B49A89D685C8625711D007BDD64
    i. The software timed loop control is to control the rate at which you change the voltage output.  The timeout on the DAQmx Write VI is the maximum time in seconds the VI will wait to output a sample (eg. if the write buffer is full, the Write VI will wait for it to become available for 'timeout' seconds before outputting an error).
    ii. The sine pattern is just an array constant of doubles that make up the sine wave voltage values, and the for loop adds an offset (of two volts) to every single one of those values. You might want to replace that entire array constant and for loop with a Simulate Signal Express VI (just search for Simulate Sig or look in the Functions >> Input palette) and convert the dynamic data output to an array of doubles.  You can configure the type of waveform, amplitude, and time period from that express VI as well.
    iii.  Refer to previous answer.
    iv.  Index array returns an element of an array based on the index input.  You can turn on the context help and move your mouse over functions to get more help on them.
    I hope that helps!
    Way S.
    NI UK Applications Engineer

  • Usb 6009:connecting the sensor and motor

    Hi there,
    I am new to the labview also the usb-6009. I want to know if I can connect my sensor to the device. The output of the sensor is either analog voltage, pulse width or serial.If I want to use the AN pin, can I just connect the wire to the ADC from the usb or I need to add some circuit before connect it to the usb?also, if I want to control the brushless dc motor with the driver, can I just connect the wire from the motor driver direct to the device? How to connect it?
    Thanks

    You can connect analog voltages directly to the USB-6009 to be measured as long as they do not exceed the input limits (-10V to +10V).
    Connecting the motor directly to the outputs is a bad idea.
    Digital output is 0-5V, 8.5mA
    Analog output is 0-5V, 5mA
    So unless your motor draws less than 5mA (extremely unlikely) you'll blow up your DAQ!
    You will need to buffer the outputs somehow unless you are just driving logic gates.
    It's all on the datasheet... http://www.ni.com/pdf/products/us/20043762301101dlr.pdf
    Message Edited by Troy K on 06-06-2008 02:36 PM
    Troy
    CLDEach snowflake in an avalanche pleads not guilty. - Stanislaw J. Lec
    I haven't failed, I've found 10,000 ways that don't work - Thomas Edison
    Beware of the man who won't be bothered with details. - William Feather
    The greatest of faults is to be conscious of none. - Thomas Carlyle

  • USB 6009 Up/Down Counters

    Hello to everybody,
    I'm going to buy a USB 6009 for a low cost application and it fits my requirements except the counter.
    In fact, I would need an Up/Down counter while USB 6009 has an event counter type only.
    Do you know whether is possible to create the count direction by using one of the DIO bit?
    I have been thinking to design an external circuit for creating the right signal but I have no idea for a while.
    Please, let me know any suggestion.
    Thanks in advance.
    Regards 

    Hi,
    These device can be used only for simple event counting using PFI 0 as an event counter input. The counter gate is not accessible on the USB 6008/6009 devices.
    No Quadrature Encoder Capability is available: USB-6009 has counter. However, in DAQmx Base, externally controlled count direction is not supported. Notice that for a CI input task in the NI-DAQmx Base configuration utility, you can only specify count up. You cannot select "externally controlled." or "Count Down".
    I hope it helps,
    Marco

  • USB 6009, DLL

    Dear Friends,
    I would like to control USB 6009 through a C# DLL. Do you have any samples or document to develop a DLL for USB 6009.
    Could you please provide, If you have any samples
    Thanks,
    Best Regards,
    Rathan

    How to create a DLL in C# doesn't really fit into a LabVIEW forum, I think you will find different online resources how to create a DLL in C#, maybe at MSDN.
    Within the DLL you simply need to make the Function Calls to the DAQmx C API, where you will find examples online, or also provided by the driver itself.
    Under Start>Programms>National Instruments>NI DAQ> Textbased Code Support you will find the C Documentation of the DAQmx API.
    Christian

  • Usb - 6009 Device Recongition Problems

    Hi,
    I just got a USB-6009 DAQ. I have labview 7.0, drivers software and the supplied software installed with no problems. In the measurment nad automation explorer (MAX) the device is recongnised and declared problem free. I tried to test the device in labview using help tutorials which suggests the DAQ assitant block. After selecting Analogue input and then voltage I am told that no device is detected i.e. Where I should be selecting my terminal(s) I am not giving any options.
    If anyone has had the same problems or know how to fix them I would be thankful of your help.
    Kyle

    Hi Kyle,
    The USB-6009 device works on DAQmx base. This is a restricted version of NI-DAQmx which is used on some of our products. Unfortunetly it is incompatible with DAQmx and the DAQ Assistant uses DAQmx. Therefore you can't use the UDB-6009 with the DAQ Assistant.
    To use the device, load up the USB-600x Interactive Control which should be located in the following directory.
    C:\Program Files\National Instruments\LabVIEW 7.0\examples\daqmxbase
    Take a look at this and figure out how the code works. If you want to configure it to do your own specific functions then I would suggest that you use this program as a base and customise it for your purposes.
    Best regards,
    Peter H.
    Applications Engineer.
    NIUK.

  • Opening & closing a solenoid valve using ni usb-6009

    Hi,
    I am very new to labview so any help would be apprciated.
    I am using the ni usb-6009 as a power source for my solenoid valve. The valve is 12vdc but because the max output voltage for the ni usb-6009 is 5v i have designed and build an op-amp circuit which will amplify the voltage. I want to create a vi that will give a +5v digital output when a push button is pressed and 0v when the push button is off. What would be the most efficient way of doing this? Thank you.
    Solved!
    Go to Solution.

    How much current does the solenoid draw? You say that you are powering the solenoid from the USB-6009 so just converting the voltage from 5V to 12V will not work - there is a current limit of 8.5mA on the 6009 which will not be enough to power the solenoid. You will need to use an external supply that can provide sufficient current to drive the coils of the solenoid and then use a transistor circuit to switch on the supply from the digital output of the 6009 (which can't draw more than 8.5mA).
    Once you've got your circuit right, you can use MAX Test Panels, the Data Acquisition Express VIs or the DAQmx palette in LabVIEW to control the digital output. There are lots of examples in LabVIEW on how to do this
    Certified LabVIEW Architect, Certified TestStand Developer
    NI Days (and A&DF): 2010, 2011, 2013, 2014
    NI Week: 2012, 2014
    Knowledgeable in all things Giant Tetris and WebSockets

  • How do I set up a triggered analog output on a USB 6009?

    Hi! I am very new to LabView and am working on the control portion of my senior ME design project. It is an anti-tip brake system for a bicycle. The goal is: When critical time to tip is reached (by reading values from a rear wheel normal force sensor, taking the derivative and calculating this critical time), my cheap DAQ USB-6009 device will put out an analog signal to a transistor, which will spin a DC motor (attached to a worm gear setup) for a certain length of time (...This will change a pivot location in the mechanical assembly which will decrease brake mechanical advantage).
    I have been trying to work with LabView 8.5. I get bogged down in confusion when I try to use G-code and get unexplained errors in using Express VI's (they're rather black box-ish to me).
    I think that all I need to do is set up an analog input channel, take derivatives and values and put them into a formula for critical time. Then if the result is a "True", I want to begin an analog out sequence for a certain period of time (to get the motor to the right position).
    I would appreciate any help that I can get with this one.
    Attachments:
    ABScontrol1.JPG ‏43 KB

    chowph,
    You are
    correct with your last statement about performing a comparison on your data.
    1.  Are there any error codes or messages in the
    errors you are getting? Or if you have screenshots of the errors you could post
    then that would work too.  Knowing the
    errors would help in understanding where to start. 
    2.  In your previous
    post did you have a chance to try the examples or Kent’s example code he
    posted?
    3.  What were the results of those examples and
    your experiment?  Again screenshots would
    work fine here.
    Since you
    new to LabVIEW make sure to take advantage of the online training material and
    tutorials we have on ni.com.  I have posted
    a few that I think may be helpful.
    Learn 10 Functions in
    NI-DAQmx and Handle 80 Percent of Your Data Acquisition Applications
    Complete Data Acquisition
    Tutorial
    How Can I Learn
    LabVIEW?
    I hope this helps!!
    Message Edited by Ryan N. on 03-31-2008 11:52 AM
    Ryan N
    National Instruments
    Application Engineer
    ni.com/support

  • Using USB 6009 on Ubuntu 12.04

    So I've read many forums on this and it seems to be a common issue, which no one has figured out (from what I've read so far). I need to have the USB 6009 working on Ubuntu 12.04 for some field experiments and I don't have alternatives / options.
    I decided to go ahead and try installing the drives. I found this page (http://maztories.blogspot.sg/2013/03/ni-usb-6008-card-can-be-installed-in.html) which I thought explained the steps in a simple way. I was able to install the latest versions of NI-KAL and NI-VISA with the steps mentioned. But I had problems installing NI-DAQmx Base.
    I reached this point (alien -k --scripts *.rpm) where I got the error, the rpm packages are 32-bit (i386) and cannot be extracted on a 64-bit machine. I started looking at alternative ways to convert the RPM files to DEB.
    I tried the steps below mentioned in this link (http://askubuntu.com/questions/215624/alien-cannot-built-package-for-architecture-ubuntu-amd64) but was stuck again at "...labview2010 / 2011 / 2012..." RPM files, which didn't have an "install" folder.
    alien --to-tgz --scripts file.i386.rpm
    mkdir unpack
    cd unpack
    tar -xpzf ../file.tgz
    mv install ..
    cp -rv * /
    cd ../install
    ./doinst.sh
    I continued looking for alternatives and found this link
    and I followed the steps below.
    The process is quite easy, in short you need to modify the control file and that's it.
    sudo alien -g package-name.rpm
    cd package-dir/
    sudo vi debian/control
    Now change the architecture (i386 in my case) to be the one you need. For example, I added the amd64 archicture and this is how the line ended up:
    Architecture: i386, amd64
    Last step:
    sudo debian/rules binary
    This will produce the .deb file.
    I was able to create the DEB files successfully. I tried the next step of installing DEB file (dpkg -i *.deb) and it worked! I followed the remaining steps until ./updateNIDrivers and everything worked fine.
    After this, I updated the firmware on DAQ to that of DAQmx base since I had used it on windows machine with DAQmx earlier. I followed the steps in these links:
    https://decibel.ni.com/content/docs/DOC-12153
    http://digital.ni.com/public.nsf/websearch/91CBCFE9E171C845862572CF0077D8F9?OpenDocument
    I went back to Linux and tried connecting the USB DAQ. The LED light on the DAQ blinks. I tried the lsusb command and I get the following:
    $ lsusb
    Bus 002 Device 003: ID 0a5c:5800 Broadcom Corp. BCM5880 Secure Applications Processor
    Bus 002 Device 004: ID 3923:717b National Instruments Corp.
    Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 001 Device 003: ID 05ca:1814 Ricoh Co., Ltd HD Webcam
    Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    I see National Instruments Corp. as one device which means the DAQ is being recognized. But when I type lsdaq I get the following: 
    /usr/local/natinst/nidaqmxbase/bin$ lsdaq
    Detecting National Instruments DAQ Devices
    Found the following DAQ Devices:
    /usr/local/bin/lsdaq: line 7: /etc/natinst/nidaqmxbase/bin/daqmxbase_listdevices: No such file or directory
    I'm not sure what to do after this point. Since the error says No such file or directory, I don't know if the NI DAQmx base installed properly. Are the steps that I followed correct? Is converting RPM to DEB in the way I mentioned the right way? 
    Any suggestions would be greatly appreciated. I really need to get this working.
    Thanks!

    Hello all,
    I am also having a problem getting this working. 
    It was installed on an old i386 machine with Redhat, but I am now trying to move it to a new amd64 machine with Ubuntu as the old PC died.
    I have used alien -g name.rpm and /debian/rules library to create the deb files.  dpkg -i installed them ok.
    When I try to compile any code that has #INCLUDE "NIDAQmxBase.h" it gives a fatal error : No such file or directory.
    I added the location of this file /usr/local/natinst/nidaqmxbase/include/ to the path but still got the same error when I run gcc.
    I created a Makefile and added includes=I/usr/local/natinst/nidaqmxbase/include/
    This has got me past the missing NIDAQmxBase.h problem but now it cannot find lnidamxbase lnidaqmxbaselv and llvrtdark
    I tried adding nilibs=-lnidamxbase -lnidaqmxbaselv -llvrtdark to the makefile with out any luck. 
    I do not know much about LD so I am not sure if I still have an issue there.
    I also do not have the lsdaq command in the bin directory so I may not have successfully installed the ni software packages.
    Has anyone managed to solve the USB6009 on a 64 bit Debian base at all?
    I am running Ubuntu 12.04 64bit.
    Hopefully between us all we can crack this for debian based machines.
    s.vignesh  wrote:
    I continued looking for alternatives and found this link
    and I followed the steps below.
    The process is quite easy, in short you need to modify the control file and that's it.
    sudo alien -g package-name.rpm
    cd package-dir/
    sudo vi debian/control
    s.vignesh, your link to these steps is not showing up.  Can you repost it.  I am not sure what other steps you did after the dpkg -i
    Regards,
    Phil

  • Is it possible to install a usb-6009 in Dasylab?

    I need to install a usb-6009 in Dasylab, but Dasylab does not recogise daqmx-devices, or so it seems.
    In MAX, I can see that I have traditional NI DAQ installed (7.4.2f3), but the usb devices are listed as daqmx devices.
    Is there any way to trick Dasylab into seeing my device?
    I usually work in Labview, but now I need to replicate a measurement from  a colleague from Ethiopia and Dasylab is confusing in the beginning.
    Would it be easier to use a pci card (we have pci 6220 available)?
    max version4.3.0f0
    daqmx 8.6.1f0
    traditional NI daq 7.4.2f3
    dasylab 8.00.00 from 2004, old, I know)
    labview 8.2
    Solved!
    Go to Solution.

    I want to apologize in advance for incomplete technical competence
    in the subject, because my amateur level of training.
    I also want to apologize to experienced professionals
    and especially Mr. CJ_Butler,
    for my English machine translation.
    I hope you will indulgent  to the Russian citizen,
    who is actively interested in operation
    of the device NI USB-9006 program DASYLab.
    In Russia, unfortunately, very few know
    about object-oriented programming in the program DASYLab
    (compared with a developed system of training LabVIEV).
    Given the popularity of the brand as the NI USB- 6009 ,
    I would like to understand in detail the stages of installation,
    work in the program DASYLab. ( I use DASYLab 11 , in Windows XP)
    My first question is as follows :
    why I can not directly see and work with the NI USB- 6009 program DASYLab,
    as it comes with a sound card or other devices e.g. , Measurement Computing?
    When you open the tab «Hardware Setup» error appears: «No hardware driver loaded»?
    Can we do without NI MAX ( task creation and other unnecessary actions (!),
    and produce all presets in the program DASYLab (Hardware Settings)?
    Indeed, in the program directory has the files as : nddi.dll, niezio.dll?
    Why they can not determine the direct control of NI USB- 6009 in DASYLab?
    2) Is there a " prime-driver » DASYLab for NI USB- 6009 in DASYLab 11 ? ? ?
    Or how else can modify DASYLab driver  (DASYLab NI-DAQmx (?))  for NI USB- 6009 ?
    http://dasylab.com/content/driver.php?action=filelist&sid=33 (?)
    http://dasylab.com/content/driver.php?action=filelist&sid=575 (?)
    Thank You in advance for the opinions expressed.
    Igor Viktorovich, from Russia
    https://fbcdn-sphotos-c-a.akamaihd.net/hphotos-ak-prn2/t1.0-9/10302230_395793633896399_2521902383856967762_n.jpg

  • Relay for use with USB 6009

    Hello
    I would like to control a Red Hat solenoid valve with the USB 6009 (Very neat and economical multifunction DAQ!). The USB 6009 has some digital output lines specified as TTL. Can someone advise me as to a suitable relay for a 120V AC valve with a 6Watts power consumption?
    Thanks John Brohan

    John,
    Here is the simple solution to your problem. You can tie two or more ports together which to get higher current capacity.Make sure you use the 4.7k pull up resistor after tieing them together.Then output all the tied ports together as if it is one port. In your case if you need 20ma you can tie-up 3 ports for 24ma capacity.
    Warning!!!! You have to turn all the ports ON or OFF at one time otherwise it may burn the board.
    Kanwar

  • USB 6009 lock-ups?

    Hello,
    I'm having a strange problem with my newly aquired USB 6009. I've written an app to read the temperature from a temperature controller using the 6009 and that all works fine. However, the problem comes when I port this code into another application. The code is intended to run in a parallel loop to the main execution loop, to continuously read the temperature whilst other data is captured and process (all done in the main loop). Both applications run quite happily when separate. When I bring them together the applications sometimes, but not all the time, refuse to quit and just lock up. I have no idea what is happening as it is not a case of one loop remaining running (I've tried separate stop buttons) and they will run together quite happily. The problem only comes when I hit the button that terminates the main loop (this also triggers the other loop to stop - I'm sure this bit works as I've used the same method in another vi).
    The main loop should, in theory, just close. The loop with the USB reads (using DAQmx Base) will stop and then clear the task (DAQmx Base Clear I think). Sometimes the DAQmx Base Clear runs and the program stops fine, other times it runs and the program locks, other times it locks as soon as I hit the quit button.
    Any thoughts as I'm completely stumped on this one? Like I say, apart from the one button triggering both loops to terminate there is no link between the two loops.
    My only thought is it could be a USB issue as the PC also has a USB keyboard and mouse. I know from my home experience, when for instance plugging in my camera, it can cause the USB to lock if, say, my USB modem is running.

    See the thread
    http://forums.ni.com/ni/board/message?board.id=250&message.id=13722
    John Weeks
    WaveMetrics, Inc.
    Phone (503) 620-3001
    Fax (503) 620-6754
    www.wavemetrics.com

Maybe you are looking for

  • What's wrong with my flash tags?

    I'm writing my own software to generate SWF files (very simple ones that just display a single image). The order the SWF entries are written in are: SWF Header (the main file header) Tags:      FileAttributes (required for version 8 or higher)      D

  • Images still soft

    I have read several threads on this and my images are still soft when posted on iweb. I tried the program Downsize and they still don't look great. Any advice would be appreciated. Take a look if you don't mind. www.enchanted-images.net Click on the

  • DataGrid - Freeze

    Hi Friends,              i am having doubt about the datagrid.Whether its possible to use datagrid columns as a Freeze panes like a MS - Excel?... if it possible how to create using flex3?... Thanks and Regards Karthick.S

  • Lightroom 5 missing serial number

    I just purchased Lightroom 5, student teacher edition from the university book store.  While attempting to install, realized that I have a product code on the back of the CD box but no serial number.  My last purchase was lightroom 2 and the serial n

  • Not able to deinstall 10g from system

    Hi, Please help me de-installing 10g rom my system. Operating system is Windows XP. When I try to delete it from C:/, returns error that some other program is using this. Even I ma not able to find oracle in control pannel under add or ramove s/w.