03-04-2008 03:50 PM - edited 03-04-2008 03:51 PM
03-04-2008 06:21 PM
David,
We were hoping to use VS2008 for a 3 year R&D project (Capability Technology Demonstrator) that we are currently in the requirements definition phase. Our preliminary design phase starts in 2 months.
We have written MFC C++ libraries (Extension DLLS’s) that use the C API for NiDAQmx, NiSync etc. Typical hardware that we use includes the PXI-6652, PXI-4461 & PXI-6533. We are also investigating the migration from the Datum bc635cpci to the PXI-6682.
E.g. The PXI-6682 is synchronised to UTC (IRIG-B, IEEE1588, GPS) and outputs a 1MHz clock (CLK_OUT) that is sourced by the PXI-6652 (CLK_IN). The PXI-6652 generates / routes UTC derived 10 MHz clock to the backplane and DDS clock to PXI-4461 sigma/delta over-sampling clock. Additionally the PXI-6682 routes a digital trigger to the PXI-4461 to initiate analogue I/O.
One of our software projects has started using VS2008 C#. Can you comment on how difficult it would be to program the above hardware using C#? Our typical applications use NI graphs / controls in SDI Formview. We also use Stingray for layout managers, tabbed windows etc.
Regards,
Steve
03-05-2008 10:48 AM
Steve -
It is my understanding that the C APIs to DAQmx and NI-Sync work just fine in Visual Studio 2008. This means that you should be able to migrate your projects, which create the MFC class libraries that wrap these drivers, to Visual Studio 2008 without having any issues related to the code that calls the driver C APIs. Whether you have issues related to MFC and compiler changes depends on what you are doing in your code and what version of Visual Studio you are migrating from.
Are you aware that Measurement Studio includes an NI-DAQmx MFC API? If so, is there a reason that you prefer your own wrappers to the C API over the Measurement Studio API?
Regarding your question about programming NI-DAQmx and NI-Sync hardware in C#:
So, in summary, I am of the opinion that for someone familiar with C# and NI-DAQmx, programming NI-DAQmx in C# is quite easy. Programming NI-Sync isn't quite as easy, but it isn't too bad; it's just a little clunky.
David Rohacek
National Instruments
03-06-2008 01:21 AM
David,
We used our own wrappers around the c API as a lot of the code was developed initially under NIDAQ using the PCI-4451. We started using the PXI-4461 when it was in its BETA phases and not a lot of the higher level libraries existed in NiDAQmx.
It looks like maybe we should be investigating the move towards C# in the longer term given your feedback.
Thanks,
Steve
04-01-2008 09:31 AM
04-02-2008 12:14 PM
04-20-2008 11:57 AM
04-21-2008 08:59 AM
06-02-2008 05:34 AM