PCI6602 functions in DAQmx

I have been using PCI6602 in NI-DAQ for a long time. Recently I upgraded to DAQmx. The standard tasks such as frequency measurement is very simple in DAQmx. But for special needs, I can't find the corresponding functions as in NI-DAQ such as selecting source and gate signal. Furthermore, I can't find the detail explanations of DAQmx functions in DAQmx Help, such DAQmxCfgSampClkTiming() in the ANSI C examples.

I am glad that you decided to upgrade to DAQmx!  You will be very happy about it once you get used to the new functions available.  The C reference help is located in:
Start>>Programs>>National Instruments>>NI-DAQ>>NI-DAQmx C Reference Help
This is where you can find all the information on the functions and properties in DAQmx.  Also, there are C examples for DAQmx located in:
C:\Documents and Settings\All Users\Documents\National Instruments\NI-DAQ\Examples\DAQmx ANSI C
Regards,
Jordan F
National Instruments

Similar Messages

  • Why can I not use the channel name, which is obtained from the function of DAQmx Task, as the input of the channel name for the function of Get Channel Information of DAQ?

    Why can I not use the channel name, which is obtained from the function of DAQmx Task, as the input of the channel name for the function of Get Channel Information of DAQ?

    Not a lot of details here, but my guess is this isn't working for you because you are wiring in the task to the Active Channels Property and not the actual Channel Name. I have attatched a screenshot of what I believe you are trying to do. The Task has 2 channels in it, so I need to index off one of the channels and wire it into the active channels input of the Channel Property node. Then I can read information about that channel
    Attachments:
    channel_name.JPG ‏69 KB

  • PCI-4472 not functioning with DAQmx Linux 8.0

    We have multiple systems with PCI-4472 cards in them running SUSE Linux, and all but one of them function properly.  On the particular system in question (which has identical hardware and software to the functioning systems), nilsdev lists no devices.  Further investigation revealed the following excerpt from dmesg:
    allocation failed: out of vmalloc space - use
    vmalloc=<size> to increase size.
    Unable to handle kernel NULL pointer dereference at virtual address
    000002fc
     printing eip:
    f9ede608
    *pde = 00000000
    Oops: 0002 [#1]
    SMP
    Modules linked in: nidsark nistcrk nicdrk nistc2k nimru2k nimxpk ipt_pkttype
    ipt_LOG ipt_limit nipxirmk nidimk nimsdrk nidmxfk nimxdfk nimstsk nimdbgk
    niorbk speedstep_lib freq_table nipalk nikal snd_pcm_oss snd_mixer_oss snd_seq
    snd_seq_device button battery ac af_packet video1394 raw1394 edd ide_cd cdrom
    sk98lin ohci1394 ieee1394 snd_intel8x0 snd_ac97_codec snd_ac97_bus snd_pcm
    snd_timer snd soundcore snd_page_alloc i2c_i801 i2c_core hw_random generic
    ehci_hcd intel_agp agpgart uhci_hcd usbcore shpchp pci_hotplug ip6t_REJECT
    ipt_REJECT ipt_state iptable_mangle iptable_nat iptable_filter ip6table_mangle
    ip_conntrack ip_tables ip6table_filter ip6_tables ipv6 parport_pc lp parport
    nls_iso8859_1 nls_cp437 vfat fat nls_utf8 ntfs dm_mod ext3 jbd sg fan thermal
    processor ata_piix libata piix sd_mod scsi_mod ide_disk ide_core
    CPU:    1
    EIP:    0060:[<f9ede608>]    Tainted: PF    U VLI
    EFLAGS: 00010246   (2.6.13-15-smp)
    EIP is at nidsark-unversioned0004550+0x70/0x11e4 [nidsark]
    eax: 00000000   ebx: f6be1d68   ecx: 00000000   edx: 00000000
    esi: f6514770   edi: f6514760   ebp: f6be1964   esp: f6be1958
    ds: 007b   es: 007b   ss: 0068
    Process nipalsm (pid: 6952, threadinfo=f6be0000 task=c2344540)
    Stack: f6be1d68 f6514b68 f6be1d68 f6be197c f9efb4d0 f6514760 f6be1d68 f6514b68
           f6b82690 f6be1a1c f9e93409
    f6514b68 f6be1d68 f6514760 f6be1d68 00000004
           f6be1d6c 00000100 f6be19b8
    f95bbf19 f6be1bd0 f6be1d6c f6be1d6c f6be1b98
    Assuming that the NULL pointer deference was caused by the preceding failed vmalloc, I attempted to increase the vmalloc size to 512MB (which is certainly overkill).  This did nothing to clear the error.  One final detail is that this computer dual boots Windows, while the others have only ever run Linux.  It shouldn't matter, but I feel it is worth mentioning in the event that DAQmx for Windows somehow mangles the configuration of the card to a point where it no longer functions with DAQmx for Linux.  It should be noted that the card works just fine under Windows.
    I have the output from niSystemReport available in the event that it will help in diagnosing the problem, but am unable to attach it due to the size restriction of this forum.  The call trace from dmesg is in the attached file.  Any help would be greatly appreciated.
    -Peter Lisherness
    Message Edited by PeterLisherness on 07-10-2006 12:36 PM
    Attachments:
    dmesg.txt ‏5 KB

    Peter,
    I have a couple of other questions which might help us narrow this down.
    1.  You said both the working and non working machines have identical hardware and software.  I'm assuming this means both machines are Pentium 4 3.2 GHz SMP machines 2 GB of RAM, have the same motherboards etc.  I also assume that this means that they also are both running SUSE 10.0 and have the same updates, and kernel versions.  Is this correct?  A system report from the working machine could also help us confirm this.
    2.  Can you easily reproduce the Oops?  When does it occur?  Does it happen when the machine first boots up, or do you have to run nilsdev first?
    Thanks,
    Shawn B.
    Use NI products on Linux? Come join the NI Linux Users Community

  • NiSwitch_ConfigureScanTrigger equivalent function in DAQmx

    Which function in NI-DAQmx library corresponds to the function niSwitch_ConfigureScanTrigger from NI-SWITCH?
    Solved!
    Go to Solution.

    HI MirKoz!
    As you can read in help, the niSwitch_ConfigureScanTrigger VI is used to configure the scan triggers for the scan list established with  the  niSwitch_ConfigureScanScanList VI. Not all of the switch modules supports scanning.
    The niSwitch_ConfigureScanTrigger sets the location that the switch expects to receive an input trigger to advance through the scan list. This function also sets the location where it outputs a scan advanced signal after it completes an entry in the scan list.
    Detalide help: http://zone.ni.com/reference/en-XX/help/375472F-01/switchviref/niswitch_configure_scan_trigger/
    The Scan Delay input of the niSwitch_ConfigureScanTrigger VI Specifies the minimum amount of time the switch module waits before it asserts the scan advanced output trigger after opening or closing the switch.
    The switch module always waits for debounce before asserting the trigger. 
    I searched for similar behaivour, and I found the DAQmx Switch Create Scan List VI in the following palette:
    This VI creates a new switch scanning task with the sequence you specify in the scan list input. This scan list uses a special syntax to specify the sequence of connections and disconnections for the task. 
    If you use the ; caracter  in the list, thedevice will wait for debounce, send scan advance output signal, then wait for trigger input.
    You can use SW or HW based triggering, in exmaple finder you can find the Switch Scanning-SW Trigger.vi, which uses sw trigger.
    The detailed help of the VI is avaliable here: http://zone.ni.com/reference/en-XX/help/370469AA-01/lvdaqmx/mxswitchcreatescanlist/
    The syntax of the scan list is here: http://zone.ni.com/reference/en-XX/help/370466V-01/mxcncpts/scansyntax/
    Could you tell me more from your application? It would help me to make better suggestions, but I hope this post will be useful for you.
    Please let me know if it works.
    Best regards,
    Balazs Nagy

  • DAQmx Timing (sample clock).vi

    do u know what is the critaria to use DAQmx Timing sample clock.vi... or in what situations this vi must b used?

    Hi Pritam,
    Thank you for posting on the National Instruments forums.
    The DAQmx Timing.VI is used when you need to perform an operation that requries sample timing whether it's Analog Input, Analog Output or Digital IO. 
    Here is a Developer Zone Article that explains how the Sample Timing VI can be used:  Learn 10 Functions in DAQmx and Handle 80% of Your Data Acquisition Applications.
    Hopefully this will tell you what you need to know.
    Thank You,
    Nick F.
    Applications Engineer

  • Monitor multiple channels for analog trigger with DAQmx drivers

    Hello! I would like to start a data acquisition of multiple analog channels (16) from an analog trigger. I would like trigger to monitor four of the (same) channels, and trigger when any one of them reaches a certain voltage. I found an example that would work with the Traditional DAQ drivers (using occurances), but can't figure out how to do something similar in DAQmx.
    Time is also an issue, as I would like to collect the first 80 milliseconds of data after the trigger (at a rate of 500,000 Hz).
    I'm using LabView 7.0 and collecting data off of two PXI-6133 cards.
    Thanks for your help!

    Hi Denise-
    After some research, I have found that it is not possible to use the functionality of DAQ Occurrences in DAQmx. Ironically, the reason that this functionality is available in Traditional and not DAQmx is due to the exploitation of an inherent limitation of Traditional that was upgraded in DAQmx. The multi-thread capability of DAQmx is a major advantage for most applications, but in this case it prevents the use of occurrences as they existed in Traditional DAQ.
    In short, this means that you can't directly use this functionality in DAQmx. You can however emulate this functionality with minimal software analysis of the incoming signal. I have attached a modified example VI that logs data to a chart only when the analog level of one of the channels being measured has exceeded a user-defined reference value. Basically, the task is running continuously in the background but the data is not actually logged until the signal is above a predetermined "trigger" level.
    Please let me know if the attached example is helpful for your application. You will see the input channels listed in the format "DevX/ai0:y" where X is the device number and y is the highest channel number of interest.
    Regards,
    Tom W
    National Instruments
    Attachments:
    Cont Acq&Graph Voltage-Int Clk Analog SW Trigger.vi ‏83 KB

  • Callback Visual C++ 6.0 and DAQmx

    I'm using Visual C++ 6.0 and trying to use a callback function in DAQmx. I am using the example "VC_ContGen_IntClk". This program compiles and runs fine in .NET but in Visual C++ 6.0 I get an undeclared indentifier error.
    In my .h file for class CniDAQ I declare the function: int32 CVICALLBACK DoneCallback(TaskHandle taskHandle, int32 status, void *callbackData) ;
    and the .cpp file defines int32 CVICALLBACK CniDAQ:oneCallback(TaskHandle taskHandle, int32 status, void *callbackData)
    However in the call: DAQmxErrChk (DAQmxRegisterDoneEvent(*taskHandle,0,DoneCallback​,NULL));    ---- DoneCallback is flagged as an error as an undeclared identifier.
    Can someone please help with this?
      Thanks,

    Hello,
    A good starting point demonstrating the use of DoneCallback would be to run the following example. It shows how to use a Done event to output a finite number of voltage samples to an Analog Output Channel using an internal sample clock. This example can be found by navigating to Start»Programs»National Instruments»NI-DAQ»Examples»DAQmx ANSI C»Events»Done»Mult Volt Updates-Int Clk-Done Event. Does this error still occur?
    Regards,
    Ali M
    Applications Engineer
    National Instruments
    Message Edited by Ali M on 03-23-2010 06:24 PM

  • Replace function!!!

    Hi!
    I want to replace Write to Digital Line.vi function to Daqmx write .vi in given example.
    I did it but I couldn't run the VI.
    if anybody knows than edit this example.
    thanks
    Attachments:
    replace.JPG ‏27 KB

    The DAQmx equivalent is shown below. If you have additional problems, you really need to provide more information than just 'it couldn't run'. You need to provide error codes and the actual code that you've written instead of an image of something before you've made any modifications. You should also look at the shipping examples for DAQmx>digital Generation.
    You'll also notice that I removed the completely unneccessary sequence structure.
    Message Edited by Dennis Knutson on 01-02-2007 08:46 AM
    Attachments:
    Digital Output.PNG ‏5 KB

  • NI-DAQmx 7

    Hi,
    The data acquisition functions (NI-DAQmx 7) that appear in LV 7.0 Express doesn't work with my device NI PCI-6025E. Why?
    Thanks.

    Also posted and solved here:
    http://forums.ni.com/ni/board/message?board.id=170&message.id=257800&jump=true
    Pls keep clean the forum and do not start lots of threads for the same question
    Look for some DAQ tutorial on the NI Developer zone inside the ni website ... u will find them very usefull if u ar starting programming with DAQ.
    Regards,
    Jaime Cabrera
    NI Applications Engineering Spain

  • Dig_Block_In with DAQmx

    Hello,
    I have to transfer a program for a 6534 card from traditional NIDAQ
    to DAQmx for digital data acquisition. Now I am searching how I can
    translate the Dig_Block_In function to DAQmx.
    I found some identical question here in the forum but I didn't found the answer.
    Does any one of you know how I can realize the Dig_Block_In function with DAQmx?
    Thanks in advance
    Oliver

    "Walter van Iterson" wrote:
    >>Hi John,>>> DIG_Block_Check(FiDevice, iIN_GROUP, @ulBytesLeft);>> if ulBytesLeft
    > 0 then DIG_Block_Clear(FiDevice, iIN_GROUP);>>Just a silly question...>>If
    you call DIG_Block_Clear also when ulBytesLeft <= 0, does it also >give a
    blue screen? I know, the documentation says... but the >documentation doesn't
    say anything about a blue screen either...>>Maybe a DIG_SCAN_Setup with a
    groupsize of 0, to release the ports?>>Good luck,>Walter
    Hi Walter,
    If ulBytesLeft <= 0, then there is no transfer in progress and DIG_Block_Clear
    will return an error. Releasing the ports appears to have cured the problem
    though.
    Thanks for the suggestions.
    John

  • 6602 quadrature encoder with c code

    I need to implement a quadrature encoder on the 6602 board usinng c language.
    I found some good function, for example  DAQmxBaseCreateCIAngEncoderChan, but i think this function is only for DaqmxBase,
    is there some similar function for Daqmx, or have i to do it myself?
    From where can i start?
    Thank you in andvance
    There are 10 kinds of people. Those who understand binary notation, and those who do not.

    Solved my problem.
    I installed the daqmx version on CD and it was old.
    Now i installed the new version daqmx 9.0 , that i toke from the site.
    This version has the function i need  DAQmxCreateCIAngEncoderChan,
    it compiles , now i have only to attach my encoder.
    Thank you lo stesso
    Message Edited by blacksocket on 02-08-2010 05:32 AM
    There are 10 kinds of people. Those who understand binary notation, and those who do not.

  • 6221 pulse generation using external digital trigger

    Hi there: I am trying to do something very basic, but cannot figure out how to do it. I have an NI 6221 USB I/O device.  I want to program it to generate a digital output 100ms after receiving a digital input. I am trying to create a task to do this using NI Max, but all of the options on the trigger source menu are greyed out. There is no way to specify an external hardware trigger.  Do I have to program this functionality using DAQmx in the code?

    I found the solution to this question in Gen Dig Pulse-Dig Start.vi from the NI example finder. The answer is that you do need to configure the input trigger programmaticaly using the DAQmx functions. See example code for more details.

  • Not enough memory issue while acquiring data

    Hi all,
    I am trying to acquire audio data @ 50KS/s for 20 sec. using the PXI 4498 card in the PXI system. To acquire data I am using the DAQmx functions.
    Step1 : Created DAQmx channel
    Step2: Set the no. of sample to read as 20X50=1000000 to the DAQmx Timing function
    Step3: DAQmx Read funtion to read the data. (Set the timeout as 20x2=40Seconds)
    PLease find the attached screen shot of the block diagram.
    Issue is sometimes I am facing the memory issue when I run this VI. Popup saying that "Not enough memory to complete this Operation"  is getting popup and the Vi getting stop abruptly. Kinldy look into the screen shot and suggest me the apprapriate method to read the data at mentioned acquisition rate.
    Note: The problem is not consistent. Sometimes I am facing the error and sometimes not.
    Thanks in advance
    Giridhar
    Attachments:
    Block diagram.jpg ‏208 KB

    I think actdi is talking about loading an external database directly from the XML file using the jdbc XML driver, correct? I have not tried this yet, but am curious as to the results.
    http://docs.oracle.com/cd/E17904_01/integrate.1111/e12644/appendix_xml_driver.htm#CHDFIJEH
    Hope this works.
    Enjoy!
    Michael R.

  • Bad readings from DAQCard-6036E after DAQmxSelfCal() call

    Hi,
    I have a very urgent problem that I would like investigating.
    I have a DAQCard-6036E and have noticed that, occassionally, after a call to DAQmxSelfCal(), the AI readings are incorrect.
    All channels in my application are configured in differential mode, and the readings returned are occassionally wrong by ~9mV on channels with gain of 1, and ~0.9mV on channels with a gain of 10.
    If I repeatedly call DAQmxSelfCal(), I seem to get the bad readings after about every 3rd call to DAQmxSelfCal() - then the next call will usually correct the calibration coeffns, and so on. I have not been able to establish an exact pattern to the problem, but have tried with the laptop on mains power, and internal batter
    ies and the problem is the same.
    Could there be a problem with the self calibration function in DAQmx, or could there be an external influence? When I call DAQmxSelfCal() my signals are connected to the card, but I assume the inputs get isolated from connected signals during the calibration routine.
    Thanks

    Hi Ed,
    I got a loan DAQCard-6036E from NI and tried that and had the same problems. I am suspicious that it is something to do with my laptop, maybe the battery monitoring circuitry or something. Assuming that there is nothing wrong with the DAQCard 6036 internal design, my theory is that if the laptop generates noise while the self-cal is in progress then this can affect the calibration coeffns that are generated. This might be a rubbish theory, but believe me, the effect is genuine.
    I would say proceed with caution, put the self cal in, but test it thoroughly by calling it repeatedly with a high precision voltage reference attached and check the returned values. Note that I only think this is an issue with DAQCards, I have not seen it with PCI cards, but then I have not tested these as much.
    By the way, doing a self cal once per day is more than enough. Once per hour is too much. There is an article somewhere on NI.com that talks about the recommended interval. Make sure the laptop has been on for at least 15 mins first.
    Let me know how you get on.
    Regards
    Jamie

  • Multiple DAQs in one vi

    Hi.
    I want to aquire data from 4 separate DAQs in one.vi (at 0.5 sec)
    How can i do this, easier ?
     Of course, i tried 4 DAQ asistants, but it is not working ( Error 50103. it says that the specified resource is reserved.)
    how can i do 4 separate tasks and read analog voltages from each DAQ ?
    Thanks.

    dsasorin wrote:
    I think using daq mx modules, i avoid conflicts and limited resources when using daqs like in this case. ( Or not ?) This is why  i want use daq mx modules.
    Ok, I think you wanna say, instead of using DAQ Assistant, you want to use low level functions using DAQmx VIs... Thats definitely a good idea.
    Well the code that you had attached, has issues.
    In you code you're trying to.
    1. Use an existing global task.
    2. Add few more physical channels to that task.
    3. Trying to just one sample from one channel... and this will throw an error ( -200523).
    Coming back to same question.
    Moderator1983 wrote:
    Well answer two simple questions:
    1. How many DAQ devices & what model are avilable (connected) with your computer.
    2. How many channels from each DAQ device, you're planning to use (for acqusition of various signals)
    And if you want to start exploring the DAQmx functions, refer to this link.
    I am not allergic to Kudos, in fact I love Kudos.
     Make your LabVIEW experience more CONVENIENT.

Maybe you are looking for

  • Can I keep my AT&T & Yahoo email addresses after we go back to Time Warner?

    When we found that we could be paying $76.95 LESS per month for MORE, better service with TWC, we decided to swtich back to TWC. (This would never have happened if AT&T wouldn't have sent us a bill asking for $54 more starting this month without even

  • Installer says it is corrupt.

    First a little backgorund. My macbook is currently running 10.7.3. I have had numerous failed attempts to update to 10.7.4. Everytime I try and run the updater or installer it says the download is corrupt and to try downloading it again. I've tried u

  • GUI STATUS IN ALV USING OOPS

    How can we set GUI STATUS  in a alv program using oops...Is there any method we need to use for this ????

  • Mac mini AirPort and Linksys

    I have a Mac mini with an AirPort Extreme Card built in. I got a Linksys Router because I am having Cable Internet installed next weekend. The cable modem will have to connect to my brother's PC because he doesn't have a wireless internect card. Anyw

  • IOException while parsing'ejb-jar.xml

    Hi, While I am building my project I am getting the below error. Please anybody help suggest me to overcome this problem. [ejbjar] Unable to load dependency analyzer: org.apache.tools.ant.util.depend.bcel.FullAnalyzer - dependent class not found: org