Programming DAQ Board using C++ Builder 6.0

"Hello,
I'm trying to program PCI-DIO-32HS using C++ Builder 6.0 and DAQ driver 6.9.3 in Windows XP.
I added nidaq32b.lib and nidex32b.lib to my C++ project, and compiled C++ file slightly changed from Borland C example, but always got the error message related with something of initialization.
So I made lib files from the start using implib command, but got no results either.
Could anyone let me know the another way?"

Make sure you add the include and library paths to your C++ directory paths. Are you getting compile errors or run-time errors? I would also try running some of the shipping examples for the PCI-DIO-32HS.
Joshua

Similar Messages

  • 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

  • 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.

  • 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

  • Recovering DAQ Board channel lists from a program in LabView 2

    I am working on updating a LabView program that was written in LabView 2 or even possibly earlier. I got the conversion CD and upgraded the program so I could open it on LabView 6.1. Unfortunately, in the process of this upgrade, all information regarding the access to the lines of the board was lost. At the time it was last used, it accessed a Multifunction I/O Board for Macintosh Nu-Bus, Part Number 320174B-01 and was using a Macintosh IIci computer. I have a new DAQ board, the NI-PCI-6221 that is in a new Dell workstation, running Windows 2000 and LabView 6.1. I was wondering if there is a way to recover the channel lists that should be in the subVis. Do I need to track down a copy of LabView 2 or 1 to do so? This conversion also involved a Macintosh to PC switch, which if I understand correctly is a problem in the earlier versions of LabView? I was hoping to find the best way to recover this information, so I can properly adjust the program and configure it to my new DAQ board. Thank you.
    Kathleen

    Hello again, and thank you for all of your help thus far. I'm trying to obtain information on the access to the lines of a DAQ board in a program that was written on a Macintosh IIci in LabView 2 (The program and some of the created subVIs are attached). I was hoping someone may have access to LabView 2 and an old Macintosh that could run this. If the program opens I'd like to see snapshots of the screen for the DAQ subVIs. This would help me greatly in what I am trying to do. Thank you.
    Kathleen
    Attachments:
    Archive.zip ‏167 KB

  • 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.

  • When i run labview6.1 on my pc with windows the "DAQ Solution " was gary doesn't work i don't know why ?i don't have a daq board card is that a reason? i want to know what should i have to use labview in data acquisitio​n?

    i am using a platform windows 98 ,and labview 6.1
    thanks in advance

    With the NI-DAQ driver, you can build VIs, but you can not acquire data until you have a Data Acquisition card. You can get these from National Instruments over the web or by calling.
    J.R. Allen

  • 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

  • Is it possible to access channels on a DAQ board while the device is used by another application?

    I am curious if is possible to run an application that reads one channel of a DAQ board while another application already is reading different channels on the board.

    Shoe,
    You can have more than one application accessing a DAQ board at a time but not for the same type of process, such as analog input. I tried a setup where one program was accessing analog input channel 1 and a separate program was accessing analog input channel 2. Only one program would run at a time. However, you can have an analog input program and a separate analog output program accessing the same board running at the same time.
    Hope this helps!

  • Is it possible to access channels on a DAQ board while the device is used by another applicatio​n?

    I am curious if is possible to run an application that reads one channel of a DAQ board while another application already is reading different channels on the board.

    Shoe,
    You can have more than one application accessing a DAQ board at a time but not for the same type of process, such as analog input. I tried a setup where one program was accessing analog input channel 1 and a separate program was accessing analog input channel 2. Only one program would run at a time. However, you can have an analog input program and a separate analog output program accessing the same board running at the same time.
    Hope this helps!

  • Using Labview on a non-daq board device

    How would one go about using a device, connected through USB, in labview that doesn't have a daq board? I have a signal monitor that I've managed to get to work with C++ and was wondering if there was a way to integrate it with Labview at all. I hope that makes sense.

    If they've provided a DLL then you can use the Call Library Function Node to call the DLL. You should read the chapter in the LabVIEW Help on calling code from external languages. If it's a C++ DLL you may have problems because LabVIEW only supports C DLL, not C++. A common issue is name mangling. If you do a search on the NI site for "DLL name mangling" you will come across several Knowledge Base articles that discuss this issue. Another common problem is that if the DLL uses complex datatypes (such as structures with strings inside, or pointers to complex structures then you will need to write a wrapper DLL that converts simple datatypes that LabVIEW can handle to the complex datatypes that the DLL uses. Again, there is a wealth of information on the NI site on calling DLLs, so a search will yield lots of information.

  • Which DAQ board to use?

    We're doing a research that is dealing with daq and control. Basically, we
    have about 60 input and exactly 5 output to 5 control motors. We're
    considering buying a daq board. With this spec, does anybody have any idea
    on which ni board to choose?

    The main problem being that no NI multifunction daq card has more then 2 output channels, your solution will be to have more than one card in your system. To be more detailed, some more details are required on your needs, and perhaps the best solution is to call a NI office.
    To design the correct mix of cards to use you will decide:
    . Which signal to output (current or tension, and in which range)
    . Characteristics of the input signal (again: current or tension and which range; in addition: if single ended or differential, i.e. common referenced or floating sources)
    . Sampling rate desired both for output and input
    . Software to use for the system. If labview: development system or standalone executable?
    You could also use the daq designer (the ni utility for
    configuring an acquisition system, http://cosine.ni.com/ddonline.htm - there is also the possibility to have a free copy on CD): you will probably be guided into an SCXI system, which can be neither the simplest nor the cheapest according to your actual problem.
    Hope this helps
    Roberto
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

  • Selection of daq board to find angular position of 6 motors using encoder

    can you suggest me best daq board to use 6 motors positions as outputs using encoders attached to the motors. i will be using single counter for each motor. Or can i use a single counter for all the motors encoders??
    Solved!
    Go to Solution.

    Hello Prabhakar7117,
    You would need a counter for each encoder. Since you will be using 6 encoders, you should get a DAQ device with 6 or more counters. Take a look at the PCI-6624 or PCI-6602. Another option would be a CompactDAQ chassis with modules that are able to access the counters. Take a look at them.
    PCI-6624
    PCI-6602
    KB Which cDAQ Modules can be Used to Access the On-board Counters?
    Best Regards,
    Alina M

  • I want to run my program with continuous aquisition and write data to file when a button is pressed and get the most recent samples from the DAQ board.

    This is an update to a question I asked earlier. I am still trying to solve the problem. I have included a zip file with a library file. The file to open in pj_pushbutton.vi. I have placed comments explaining the issues and problems in this vi and the subvi's.
    When I push my button to write the data to file I think it is writing the data that has already been stored in the buffer and writing to file all at once. I want the data that is taken from the DAQ board from the time that I press the Write File button. How do I do this?
    Attachments:
    pj_pushbutton.zip ‏692 KB

    Hi,
    1. In AI read, you need to set the Read/Search option to "Relative to End of Data".
    2. Next you should not start AI Read VI until you press the Write to File. I am attaching an example VI below. Please see if it helps.
    Regards,
    Sastry V
    applications Engineer
    National Instruments
    Attachments:
    MostRecentAcquiredData.vi ‏97 KB

  • I want use c++ for NI DAQ board and remote data access(RDA)

    how can i control NI DAQ board with c++(bolandc) through network?

    This is a forum for Measurement Studio development tools for Visual C++. You should post questions like this to the Measurements->Multifunction IO section of Developer's Exchange.
    Best Regards,
    Chris Matthews
    National Instruments

Maybe you are looking for

  • MacBook pro 13" mid 2010 "USB drawing too much power" HELP

    Hi, my MacBook Pro keeps coming up with a window about 30 after start up saying "USB drawing too much power" and none if the USB ports work neither does the iSight camera (green light is constantly on) and the headphone jack won't work! I have tried

  • Output Post Processor not coming up

    Hi Friends, We have a single node production instance (R12.1.1 with 11.1.0.7) We cloned a test instance from this production instance. Now everything is fine except that the Output post Processor. OPP is not coming up. Also, there are no FNDOPP* logs

  • Uploading in CCM

    Hii all, Here I have a situation where I have a catalog already uploaded in the system,now I want to make changes to the schema of that supplier catalog and I need to change the schema of the procurement catalog also related to that supplier catalog

  • Sending mail to agent at run time determination

    hi all i have a problem sending mail to the person who has been identified on runtime basis. scenario is that i have created a custome rule to determine the person (partner function) on run time basis but problem is that i need to send only mail to t

  • Nested CASE Statements in my SELECT of Query not calculating correctly

    Hi - Am doing simple query to calculate statistics on students per course, the WHERE includes a parameter for Academic Year, so need If Academic Year = x then calculate age in the 1st Sept of that Year, then count number of 19Yrs&Over. Have included