Crash using two DAQ boards, VB6.0, ComponentWorks 3.0, Nidaq 6.9.2.

I am trying to run 2 applications which access different cards at the same time. One is doing a continuous analog input, the other is doing a finite
analog acquisition. In that scenario, I am getting messages that either say "Acquisition already in progress" or "Unable to access Nidaq, load the
driver".
I tried making a simple program that did constant reads and running them against separate cards at the same time. That worked without error, but when I shut them down and went back to the original app., it gives me "transfer is already in progress for the specified resource, or the operation is not allowed because the device is in the process of performing
transfers, possibly with differn"
When I strip the programs down to the essentials,
it seems to run fine. However, occasionally,shutting down one program while the other is running causes my machine to reboot.
The problem with the full-blown applications is intermittant on my machine, fairly constant on the lab machine. On the lab machine, the problem is
immediately apparent if the asynch program is started before the synch program. If they are started in the reverse order, they run for a while before crashing.
These are both stable programs that have been running on separate machines for about 4 years in one incarnation or another. For now, I am going to go
back to that solution, expensive and inconvenient as it may be. Without the ability to get inside National's drivers, I am pretty much stuck on
debugging, and I can't give you a tight example that consistantly blows up.
FYI, I am running VB6.0, ComponentWorks 3.0, Nidaq 6.9.2. Attached are some files showing the calls and the order in which
they are made. Unfortuneatly, these files work.
Attachments:
Examples.zip ‏5 KB

Hello;
The best way to handle multiple applications acquiring data from the same DAQ device is to make both asynchronous. Once there is a synchronous acquisition, the execution pointer can get stuck inside one of the analog input read functions, and when the other application tries to get the control of the execution pointer, that message shows.
Hope this helps.
Filipe A.
Applications Engineer
National Instruments

Similar Messages

  • Two DAQ-boards in one PC problems.

    Hi!
    I'm trying to use a PCI-MIO-16E-4 and a PCI-6031E in one PC
    (win98,P3,733 Mhz,384MB RAM) using NI-DAQ 6.7 and Matlab 5.3
    (Data Acquisition Toolbox 1.0.1).
    The boards are trigged by the same external trigger but have different
    samplerates. I use the 16E-4 as both output (dual DMA) and input
    (single DMA) and the 6031E as input (single DMA) only.
    I can create objects for both boards in the same Matlab program without
    problems but when the output starts it is cut off or doesn't output anything
    at all. I've tried to issue the start-command for the different boards at
    different times and it seems like the start-commmand for the 6031E is
    the problem.
    What's wrong? Is Matlab incapable of handling two boards
    simultaneously
    ? Or is it some kind of system limitaton?
    I would appreciate it if you would like to send your answers to my email
    since I'm not visiting this newsgroup very often.
    Thanks in advance!
    Joacim Karlsson
    Cetus Systems, Sweden

    Joacim,
    I would assume that this is a MatLab problem. Although I don't have a whole lot of MatLab experience, I have run simultaneous boards (similar to the ones you have) at the same time with both input and output on both, and have had no problems. Therefore, I don't believe that this is a hardware problem.
    Mark

  • How do I use two DAQ cards in one Labview code? Current I'm getting error " error 200558 occurred at DAQmx Create Channel.vi. One task cann't contain multiple independent devices". Can someone help me?

    The two DAQ cards are NI PCI-6070E & NI PCI-6052E. The Labview I'm using is labview 7 Express and the Window system is Window XP. I'm using NI SCXI-1000 chasis and SCXI-1102 & 1102B two modules plus a feedthrough SCXI-1180. 1102 is connected through SCXI-1349 cable to DAQ card 6052E while 1102B is connected through SCXI-1349 cable to DAQ card 6070E. SCXI-1180 is connected to 6070E through SCXI-1349 adaptor on the back of 1102B.

    Sarah, thank you for replying my question. It seems that I'm making progress everyday (smile). I'm able to run the test using both daq cards in my code now. But as I'm moving forward, I'm getting new questions too. How do I use one STOP button to control both tasks and how can I save data into one single file?
    I attached my code here hoping you can get the specifics on my application by looking at the code. Thanks very much!
    Thanks.
    Attachments:
    DAQmx_Task_Example_plus_voltage_2.vi ‏416 KB

  • Using Two DAQ, is it possible?

    Hi you guys! First of all, my name is Carlos and i´m a student of Mechanical Engineering. At the time, we dispose (in our university) from several test banks that are in poor conditions, so I been told to repair one of them. In`s a Refrigeration Test Bank (I attached a photo), it´s out of any operation so I have to put it operative again at first, then I have to replace all the analog indicators you see at the photo and become them digital. I`ve been doing some research on the web and I found the NI-6008 (This DAQ has been used in several applications in the University), I saw it can be connected with the LABVIEW SignalExpress, and it´d would be easy (in a manner of speak) in my case because all I have to do is display and register the values (temperature and pressure) from the bank and the program allows me that.
    The problem surges when I see that NI-USB 6008 has 8 Analog Inputs, and I need 10 AI, so I´d have to buy two of them (Because is the cheapest one and I don´t have too much money) and I would like to know if there is any problem about connecting both DAQ at the same time? Is it possible to connect them with the Labview SignalExpress?
    I hope to get some replies so I can solve my problem. Thanks for your help
    Best regards
    Attachments:
    IMG00394-20101110-0956.jpg ‏369 KB

    You can certainly use two 6008s at once.  And SignalExpress will handle them, as well.  If you have no programming experience, SignalExpress can get you started.  If you want specialized analysis or display, you can use SignalExpress to generate code to LabVIEW to get you started on an application.  Note that this code will be the data acquisition and analysis part of your code.  You will still need to write the GUI properly using event structures.  If you do this, post on these forums for some tips to get you going in the right direction (e.g. use producer/consumer and state machine architectures).
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • Comm with rt system using two ethernet boards

    I am using two ethernet ports in my host computer.  One for LAN communications and the other as a link to my PXI RT system.  I've not been able to establish comms with the RT system.  Any suggestions?
    Steve Hall
    [email protected]

    I found a cable causing the problem.  With correct cable MAX recognized the remote PXI embedded controller and all is fine. 
    Steve Hall
    [email protected]

  • Samples missing when two DAQ boards synchronised

    I am attempting to synchronise the input from two NI DAQ cards using the RTSI bus: an analogue PCI-6110 card (slave) and a digital PCI-DIO32HS card (master). I think I have the cards working OK together now and they appear to be taking samples in sync. However, although both cards are configured with the same size buffer the analogue card never seems to complete it's aquisition and always records 3 scans less than the digital card. Does anyone know why this happens or how to get both cards to aquire the same amount of scans.
    See attached code for details. Cheers, Tim
    Attachments:
    Analogue and Digital Capture11.vi ‏4658 KB

    I believe the 6110 has a analog input pipeline depth of three samples. This is from the NI-DAQmx help under Device Considerations -> Timing -> S Series: if the pipeline depth for a device is three, the first sample will be acquired on clock tick 1, but it will not be available for reading until clock tick 4. Following this logic, you must supply pipeline depth extra clock pulses for a finite acquisition to flush the pipeline.

  • I am using a DAQ board to get the singnal now i need to perform frequency analysis and this system doesn't employ any filters etc it's just a signal

    Iam using AT-MIO-16E-2 board to retrieve the signal now i need to perfrom a frequency analysis and this process doesn't employ any filters etc.

    There are a lot of shipping examples that you can look at. They're under Analyzing and Processing Signals>Signal Processing. There are software filters and window functions that you can use but if you are having aliasing problems, then the only thing you can do is add hardware filtering.

  • How do i read out the actual voltage range of the daq board as calculated by labview based on my input voltage range

    I am somewhat new to DAQ so I hope I describe this well enough, but I have encountered a requirement for my VI that I am not sure how to obtain from LabVIEW. It is my understanding that when using a DAQ board (I'm using a PCI-6034 E) you can specify the voltage range you expect from your measurements, and then the software calculates the actual voltage range it will be measuring to ensure that you get the best resolution in your range that you can given the voltage step size, etc. of the equipment. I know how to extract the voltage input that I enter into the virtual channel, but I was wondering how I can extract the actual voltage range that the hardwar
    e/software is using based on its own calculations from my input. Can anyone help me with this?

    If I understand correctly, you want to retrieve the actual gain value (and, therefore, usable input range) used by your DAQ card for a particular measurement.
    I think there's a good KnowledgeBase entry with your solution entitled "Programmatically Determining the Gain Used by a DAQ Device". Here's the URL:
    http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/c93d3954ec02393c86256afe00057bb0?OpenDocument
    Regards,
    John Lum
    National Instruments

  • How to use 2 1409 boards with sony xc55 to acquire 2 images simutaneously

    We want to use two 1409 boards with two sony xc55 cameras to acquire two images simutaneously. From the attached files, you will find what I have done and the problems. I just followed the example program from you. But it doesn't work well. Could you help me? thank you very much.
    Attachments:
    What_happen_now.doc ‏25 KB
    XC55_Asynchronous_Reset_ExampleTwo_Cameras1.vi ‏265 KB

    Kobel,
    Both cameras are being triggered at the same time, and both boards are aquiering the image at the same time. The problem you are seeing is related to copying the correct image.
    The IMAQ driver is not currently multithreaded, therefore your second copy opperation can not execute until your first one is done. The trouble is that you have the immediate terminal set to false which forces the copy to wait for the next available image before returning.
    Since the second copy does not execute until the first one is complete, it will consider the frame that just passed as old and wait for the next available frame.
    The quick solution is to change the immediate terminal to true on both copies. The best solution depends on your entie application. You may want to re
    ad this application note on Ring Aquisitions for ideas.
    Regards,
    Amaury Rolin
    NI Applications Engineer

  • How can I acquire data in a PCI DAQ board using a SCXI rack?

    Hello.
    I have an acquisition system that consists in:
    · 3 PCI DAQ boards:
    - PCI-MIO-16-E-1
    - PCI-6052-E
    - PCI-6034-E
    · 3 cables to connect PCI boards and SCXI modules
    · 1 SCXI chassis:
    - SCXI-1001
    · SCXI modules + terminal blocks:
    - 4x SCXI_1121 + SCXI_1320 (for voltage analog inputs)
    - 1x SCXI_1520 + SCXI_1314 (for strain gauges)
    - 1x SCXI_1530 (for accelerometers)
    I have been trying to acquire different signals (specially voltage signals that are easier to reproduce) but I haven't been able to do it. I can't read anything from MAX or LabView. I have tested the PCI boards with a SCB68 terminal block (without any SCXI component) and they work properly. Problems appear when I use the SCXI chassis and the SCXI modules. I don't know if there is a problem with the hardware or it is a wrong configuration.
    I guess channels in the SCXI modules correspond to analog input channels in the PCI board they are connected to, but I don't know if I have to read data from analog input channels of the PCI boards or from SCXI channels that appear in MAX (I have tried both posibilities, but they don't seem to work).
    I don't know if I have to use Differential, RSE or NRSE configuration. I have tried all of them. Sometimes I only read noise, sometimes signal is fixed in a limit value (maximum or minimum, it depends), sometimes it's fixed in a value near zero,... I have changed connections and configuration options so many times I can't exactly say when one thing or another happens.
    I have tested only one PCI board with only a SCXI module in order to avoid interaction and confusion. Nothing.
    I think I have tried changing almost every option in MAX, but it doesn't work.
    I'm sure I'm missing something and solution is quite simple, but I can't find it.
    Can anybody explain to me how to connect and configure my system to read any signal? I only need a few steps or highlights. Maybe some clues about what the problem can be.
    Thanks!

    I have several comments and suggestions:
    A) Have you "added a device" in MAX and actually added the SCXI chassis? This step is necessary to get the chassis to work. Click on "add a device" and choose the 1001 chassis . Do this for one DAQ card and one module only initially. The Set Up wizard should walk you through the configuration. If you are unable to add a chassis within MAX, I suspect the chassis is not working correctly.
    B) Once configured, you can examine the SCXI channels in MAX as follows:
    1) Open the DAQ card in MAX and Open the Test Panels
    2) For the SCXI channel to view, use the following convention OB0!sc(n)!md(m)!ch where the letter (n) corresponds to the chassis number in MAX (usually = 1), the letter (m) corresponds to the module number (slot) where the module is located in the chassis, and (ch) represents the channel(or channels) you wish to view. So presuming chassis ID=1, and a module in slot 1, and you wish to view channel 3, you would type the following in the channel field for the DAQ card channel to view:
    OB0!sc1!md1!3 (note OB0!sc1!md1!3:6 will display channels 3 through 6)
    All of the SCXI channels for a given DAQ card are multiplexed through channel 0 of the DAQ card, Channels 1 and up are not used, hence the initial three characters in the SCXI call refer to "On-Board Channel 0 (OB0)"
    C) For the subsequent set up, it will be necessary to first add the additional modules to the chassis (when powered off). Then open MAX and update the chassis. (If you get an error then simply delete the chassis reference in MAX and add a new chassis). You will then be required to set the interface mode of each module as either parallel or multiplexed. In parallel mode, you associate a distinct module with a distinct DAQ card in the host PC. For those DAQ cards that will address multiple modules, you must first configure the modules to be in adjacent slots in the chassis and then assign the first module to the cabled DAQ card - then all of the modules assigned to that DAQ card should be configured in "multiplexed" mode.
    D) Once the chassis has been properly configured, you can click on each module and set the gains, filters, and terminal block types.
    I hope that this helps to get you started.

  • Can I use my DAQ on two different computers?

    Hi there.
    Sorry if this might seem like a stupid question but I'm trying to save money lol. I have two test stations, each station has it's own computer and power supply. The power supply powers a certain device and the computer communicates with it via an USB to RS422 serial converter. I am using the 2 analog outputs on my NI-USB 6008/6009 DAQ to control the 2 power supplies. AO 0 to control the power supply on station #1 and A0 1 to control the power supply on station #2.  I can control these 2 power supplies just fine with one computer connected to my DAQ. But i need each computer to be running tests independently. I only have 1 DAQ but 2 computers, is there way to use this DAQ on both computers???
    thanks for any help!
    Don't think twice.
    Solved!
    Go to Solution.

    No.  Because there is no way you can take one USB-DAQ and plug it into two computers at the same time.
    You would probably be better off having one PC that communicates with the USB-DAQ and have your application on one computer talk to the other computer to pass commands and get back data from the USB-DAQ, probably by way of TCP/IP.
    I would actually make an application that only handled the USB-DAQ operation.  Then have the program that runs on each computer be the same and talk to the USB-DAQ application which would act like a TCP/IP server.  The program that is on one PC would call the IP address of the other PC.  The program that is on the same PC as your USB-DAQ server would just call the local host to establish communication.

  • How to generate a pulse of 5 V -ve polarity in synchronis​ation with a 10 v input using PCI 6251 DAQ board

    HI
    I want to generate a 5V -ve polarity pulse to trigger my IEEE 1394 camera using an PCI 6251 (scb68 pin E) device, furthermore I am reading a standard Vsync signal from a SVGA port which is 10 v.
    Now I want to synchronise the image capture of an IEEE 1394 camera with the Vsync signal so that camera is triggered to capture at every 4th Vsync signal (which is 50HZ.). Presently I am able to read the Vsync signal and also generate the -5 v signal But the Daq board generates a continues -5v signal while I want a 1 ms pulse (for every 4th Vsync).
    Also this 5 v signal is generated even if the vi is stopped running.
    Can anybody guide me so this problem can be solved.
    Thanks a lot in advance
    Shri

    You can use the Write function, that is you can use the 10 volt signal as a trigger for the task, and when you get this trigger, the task starts and generate (writes) a waveform you defined in an array ("data", in the example).
    Something like this..
    DAQmxCreateTask("",&taskHandle);
    DAQmxCreateAOVoltageChan (taskHandle, clokSource, your_sampling_freq, -10.0, 10.0,
    DAQmx_Val_Volts, "");
    DAQmxCfgSampClkTiming (taskHandle, clockSource, SAMPLING_RATE,
    DAQmx_Val_Rising, DAQmx_Val_FiniteSamps,
    samp_to_read);
    DAQmxCfgAnlgEdgeStartTrig (taskHandle, input_channel, DAQmx_Val_RisingSlope, 9.0);
    DAQmxWriteAnalogF64 (taskHandle, 1000, 0, 10.0,
    DAQmx_Val_GroupByChannel, data, //data contain a pulse
    &samp_per_channel, 0);
    DAQmxStartTask(taskHandle);
    // and then you create a loop....
    For example you can specify data to be like this:
    data[0] = -5;
    for(i=1;i<1000; i++){
    data[i] = 0;
    Tell me if you need more help.....
    bye

  • How do I control DAQ boards under Linux using C (gcc)?

    I need to control multifunction DAQ boards using C (gcc) under Linux/x86. What drivers/packages do I need to use?

    Hi NEB,
    You will need to download DAQmxBase 1.3.1 found here:
    http://digital.ni.com/softlib.nsf/websearch/47D4C7DDD7C777C886256F230070A606?opendocument&node=132060_US
    The readme file contains information about what kernels it has been tested on.
    Thanks,
    Sal

  • Program NI boards using the DAQ Libary and Borland C++ builder 5

    Hi,
    I am programming Lab PC-1200 NI boards using the DAQ Libary and Borland C++ builder 5.
    But I get the following error msg:"[Linker Error] 'C:\NI-DAQ\LIB\NIDEX32.LIB' contains invalid OMF record, type 0x21 (possibly COFF)" although I have linked all DAQ lib files in C builder.
    Anyone who had tried or succeeded in a similar application and solved this problem??
    Thank you in advance for your help!

    Hi w,
    Please check out this related DevZone question/answer:
    http://exchange.ni.com/servlet/ProcessRequest?RHIVEID=101&RNAME=ViewQuestion&HOID=5065000000080000007D180000&ECategory=Measurement+Hardware.Real-Time+Data+Acquisition
    The basic reason is that we design our libraries for many environments, but Builder is not one of them. You can use the dll's (they're just dll's), but you will need to make your own library or use run-time linking.
    For more information about run-time linking, you can try http://msdn.microsoft.com and search for "About Dynamic-Link Libraries"
    I hope this gives you a start.
    John N
    Applications Engineer
    National Instruments

  • Hi. Can use events to look out for input switches from any DAQ board?

    I tried using events to detect signals from input switches Advantech PCL-8181L, but it seems no response.
    I have read an article about the events that user controls can trigger and some external IO cannot.
    Is there any one know how I can get the program to monitior them all the time without using event function?

    Astroboy,
    I am not sure that I have a complete understanding of your question. Are you attempting to use LabVIEW Events (Functions >> Application Control >> Events) with your Advantech DAQ board? This will not be possible. Could you expand upon the functionality you are trying to achieve?
    Spencer S.

Maybe you are looking for

  • Error in Document (?)

    While trying the example of constructor which is in "Oracle8- SQL Reference", I get ORA error. Let me update if I am wrong. I have Oracle 8i personal version (Win98). This is details CREATE TYPE foo AS OBJECT (a1 NUMBER, MEMBER FUNCTION getbar RETURN

  • Web service and pointbase

    Hi, I created a web service client.In development mode it works ok but in production mode it doesn't. My question is: when I create the client, behinde the scenes does weblogic uses pointbase to store something? I ask this beacause the main differenc

  • I purchased a song as a gift and I want to know if it was received

    I purchased a song as a gift. Is there any way I can confirm it was received without asking the person the gift was for?

  • Cannot scroll or resize

    Hello I installed Java Java Plug-in 1.5.0_05 Using JRE version 1.5.0_05 and when the applet window loads it is a frame with no scrollbars and cannot be resized,I reinstalled two times but it remains the same so if I am viewing an applet window or pla

  • Brother MFC 640CW Error Message

    Hey when I try and add my printer to my computer, all i get is the following error message: server-error-service-unavailable and that happens when it is plugged into my system via USB and it also happens when I use it's built-in wireless feature to c