Measurement Studio for VC++

cancel
Showing results for 
Search instead for 
Did you mean: 

Using Borland C++ with NI-DAQ 7 (mX & traditional)

I would like to know the implications of the upgrade from Ni-DAQ 6.9.x to Ni-DAQ 7 on my Borland C++ code. As I understand it, Ni-DAQ 7 includes 2 versions
- the new mX version which has a new set of function calls and so would require me to re-write existing software
and
- the traditional version which has the same function calls as V6.9.x.
Is this correct? (I have had some confusing telephone support which suggested that even the traditional version would require me to re-write my software for new function calls but I think that was just poor communication).

I am aware of the lack of support of Borland C++ in Ni-DAQ 7 (why doesn't it list that in the manual?). So, if I don't want to change my software, am I right in thinking I can install the traditional version of Ni-DAQ 7, download and install the libraries from the 'How Can I Use The NI-DAQmx ANSI C Function Library With Borland C and Delphi?' knowledgebase article, add the few lines of code explained in that knowledgebase article and carry on as normal?

Then, when I've got a bit more time to spare to change my code, is it likely that the mX version would improve my software performance where I am attempting to acquire from all channels of 3 PCI-6110 cards simultaneously? Or is it more geared towards simplifying code produced with NI software and as long as I write well-timed code I should be able to achieve similar performance?

I would appreciate answers to any of the many questions I have asked. Additional information - I am using PCI-6110 cards and Borland C++ Builder Professional under Windows 2000 & XP.
0 Kudos
Message 1 of 5
(4,176 Views)
If I can write for NIDAQmx with Borland's Delphi 5, I cannot see why you can't do it with C++7. I haven't utiized but 8 functions, but they all work without any surprises. I don't know why I would have any difficulty with the others.
The DAQmx gives lots more functionality, but as in my case, you have to use it when you are using a newer design board. Personally, I *really* like the simulated device feature and virtual channels.

hth,

Jim
0 Kudos
Message 2 of 5
(4,169 Views)
Hi CAS,

NI-DAQ 7.4 (latest version) includes two API's, the Traditional DAQ driver and the new DAQmx driver (released in version 7 of NI-DAQ).

If you wanted to upgrade from NI-DAQ 6.9.3 to NI-DAQ 7.4 and use the Traditional DAQ API, there should be no need to make any changes to your code, (we have no documented information on this for Borland C++ users, so cannot guarantee it). You will however need to generate the import library from the dll to work with version 7.0 as there is no shipping .lib file for Borland. See the following knowledge base article which explains how to do this.

http://digital.ni.com/public.nsf/websearch/7793F4D8AFC47C1E86256E84005BBBE8?OpenDocument

The knowledge base article you refer to "How Can I Use The NI-DAQmx ANSI C Function Library With Borland C and Delphi?" refers to the new DAQmx API and so will not apply in your case unless you decide to re-work your code to include calls to this new API (which will require quite a bit of work). DAQmx offers much better performance over Traditional DAQ, take a look at this list of FAQ's for more information

http://zone.ni.com/devzone/conceptd.nsf/webmain/ee47b125bb9e053686256fbc0014c384

I hope this information is helpful to you, if you have any more questions, please post back, I would be happy to answer them

Regards
Hannah
Applications Engineer
National Instruments
0 Kudos
Message 3 of 5
(4,153 Views)
Hannah

Thanks for your reply. I had not spotted that the article I had referred to was for mX as it was recommended to me by the customer support guy on the phone for use with the traditional drivers. Anyway, I have had a look at the article you referred to for generating the import library. I am a little confused as the library I already have (with V6.9.1) is nidaq32b.lib not nidaq32.lib. Do I still need to upgrade my library to the one that ca be downloaded from that page? I notice that the library does have a later date than the one I am currently using.

I appreciate your help with this.

Cheryl
0 Kudos
Message 4 of 5
(4,131 Views)
Hi Cheryl,

If you update the driver to 7.x then you will need to go through the process of re-generating the import library. The libraries included in that document will be for the version 7.3 so if you upgrade to 7.3 then you could just download these files. If you upgrade to a different version, then re-generate the import library using the process defined in 'solution 2' in the knowledge base article i referenced before (see below for additional link)

http://digital.ni.com/public.nsf/websearch/7793F4D8AFC47C1E86256E84005BBBE8?OpenDocument

Hope this helps.

Hannah
0 Kudos
Message 5 of 5
(4,116 Views)