LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

What LabVIEW for Linux based on ?

Whar is the way LabVIEW 7 for Linux communicate with
DAQ boards ?
Is it the same as on Windows ?
Can I write application on 'C/C++', that use only low level library that LabVIEW based on ?
It this possible on Windows with Visual C?
With LabWindows it is possible.
More precisely, I may use only NI-DAQ library and do
nothing with IDE of LabWindows.
But if I right, neither LabWindows nor NI-DAQ/NI-DAQmx is't for Linux.
I have some experience with LabWindows/CVI, but nothing
with LabVIEW.
What is principal difference between them in low level communication with DAQ boards ?

Thanks.
Andrey
0 Kudos
Message 1 of 11
(3,651 Views)
AndreyCherepenko wrote:

> Whar is the way LabVIEW 7 for Linux communicate with
> DAQ boards ?
> Is it the same as on Windows ?

No! LabVIEW for Linux does not come with any DAQ libraries. There are
basically two options at this time:

You can download the NI Measurement Hardware DDK from NI and the
according LabVIEW VI libraries or you can use Comedi.

> Can I write application on 'C/C++', that use only low level library
> that LabVIEW based on ?

The NI Measurement Hardware DDK (and Comedi) is a C based interface with
precompiled binary libraries which you can use from your C/C++
application. The NI provided VI libraries allow access of that API from
within LabVIEW.

> It this possible on Windows with Visual C?

The NI Measurement Hardware DDK is also available for Windows in which
case it consists of a number of DLLs, header files and examples. They
are callable from any C application. But this DDK is in principle a low
level API which often requires you to go down to register level directly.

You can also call NI-DAQ (the API LabVIEW uses on the Windows platform)
from your C compiler, Visual C or whatever, but that API is not
available on non Windows platforms (oh well there was an old version for
MacOS and Sun Solaris but that is I don't know how many years old).

> With LabWindows it is possible.
> More precisely, I may use only NI-DAQ library and do
> nothing with IDE of LabWindows.

LabWindows just provides FrontPanels to the NI-DAQ libraries. It is not
a LabWindows implementation of NI-DAQ but instead it accesses exactly
the same libraries LabVIEW does or your own C application would.

> But if I right, neither LabWindows nor NI-DAQ/NI-DAQmx is't for Linux.

No! They aren't and except hopefully for a limited DAQmx library
probably never will be.

> I have some experience with LabWindows/CVI, but nothing
> with LabVIEW.
> What is principal difference between them in low level communication
> with DAQ boards ?

LabVIEW is a graphical programming environment whereas LabWindows CVI
uses C programming. The difference between LabWindows and a standard C
compiler is the standard built in support for many libraries used in
Test & Measurement, Data Acquisition etc, the extensive library of
graphical user interface components and the FrontPanels provided for all
the library functions. Nothing you couldn't do with a normal C compiler
nowadays, but they are very tightly integrated in CVI and generally
working together well.

As an experienced LabWindows CVI user it may be better to stay in that
environment than starting to use LabVIEW. LabVIEW is similar in what you
can do, a lot more comfortable for the casual programmer, but on the
other hand also a little patronizing in more advanced features. As much
as it is comfortable to generally not have to worry about memory
allocation and code frameworks before you even can start to implement
your first algorithme, it can get in the way when you try to do high
performance operations as you not only don't have to worry about memory
allocation but you have in fact limited and only indirect influence in
how memory is allocated.

Rolf Kalbermatter
Rolf Kalbermatter
My Blog
Message 2 of 11
(3,652 Views)
Thank you, Rolf.
But some things remain not clear for me.

Is LabVIEW for Linux full equivalent to one on Windows
in low level function sense ?

If I right understood, LabVIEW on Linux based on MHDDK
(comedi inrerface is option as I suppose).
CDs that I have got with NI boards contain NI-DAQ[mx]
only and nothing related to Linux.
I assume LabVIEW on Windows based on NI-DAQ and
interface trough MHDDK is option.
Am I right ?

Linux is primary environment for me.
I am looking for replacement (functionally) NI-DAQ for Linux. Comedi have't released some board functions and is't reliable.

Andrey
0 Kudos
Message 3 of 11
(3,652 Views)
AndreyCherepenko wrote:

> Is LabVIEW for Linux full equivalent to one on Windows
> in low level function sense ?

LabVIEW itself is the same but for obvious reasons there are many things
which work not or not the same on the different LabVIEW platforms.
Basically anything Windows specific (ActiveX, DDE, etc) will not work on
any other LabVIEW platform. The same is true in the opposite direction
such as Apple Events on the Mac.

Also support for hardware interfaces other than serial, TCP/IP, and GPIB
is not always as simple as under Windows. Especially DAQ support is
tricky as a good DAQ driver is quite complicated and consequently not
simple to port to a different platform. NI has had trouble in the past
to recognize that non-Windows platforms may also be interesting markets
to sell hardware products for. It's not to strange, as their sales
figures for DAQ hardware were more and more pointing in a Windows
direction, their focus shifted in that direction which made support for
other platforms look bad in comparison, which again made the sales
figures move even more into Windows direction.

> If I right understood, LabVIEW on Linux based on MHDDK
> (comedi inrerface is option as I suppose).

No, MHDDK does not come with LabVIEW for Linux. You have to download it
from the NI site. It is a first attempt by NI to make its DAQ hardware
also work on non-Windows platforms. It is not as comfortable as DAQmx
but it allows determined people to get NI DAQ hardware to run on Linux
and other platforms and consequently make use of them also in LabVIEW.

> CDs that I have got with NI boards contain NI-DAQ[mx]
> only and nothing related to Linux.

You buy LabVIEW for a specific platform and get the CD with the LabVIEW
version for that platform. If you want to use LabVIEW for Linux you have
to buy a LabVIEW for Linux license in addition to the LabVIEW for
Windows license you already have and will receive a different CD with
the LabVIEW for Linux installation.

> I assume LabVIEW on Windows based on NI-DAQ and
> interface trough MHDDK is option.

Yes there is also an MHDDK for Windows you can download. I don't think
there are many people using it on standard desktop machines, as normal
DAQ is way more comfortable. But for Windows embedded systems and such
it would seem an interesting option.

> Linux is primary environment for me.
> I am looking for replacement (functionally) NI-DAQ for Linux. Comedi
> have't released some board functions and is't reliable.

You could always help them get that function in there and makeing it
more reliable ;-). It's how Open Source works.

Rolf Kalbermatter
Rolf Kalbermatter
My Blog
0 Kudos
Message 4 of 11
(3,652 Views)
Question is left.
What LabVIEW for Linux based on ?

That is I have already understood :
NI-DAQ - no, MHDDK - no.

>You buy LabVIEW for a specific platform and get the CD with the LabVIEW
>version for that platform. If you want to use LabVIEW for Linux you have
>to buy a LabVIEW for Linux license in addition to the LabVIEW for
>Windows license you already have and will receive a different CD with
>the LabVIEW for Linux installation

What librarry for communicate whith DAQ board on that "different CD" ?

May be there is some library that have interface
the same as NI-DAQ (if LabVIEW calls are the same)
and that call MHDDK ?

It is my fantasy of course.

Andrey
0 Kudos
Message 5 of 11
(3,652 Views)
AndreyCherepenko wrote:

> Question is left.
> What LabVIEW for Linux based on ?

Well, "based on" has a specific meaning to me. LabVIEW for Linux is
based on the same source code LabVIEW for Windows is using. What you
probably want to ask is what possibilities are there to use DAQ in
LabVIEW for Linux.

The answer is MHDDK and Comedi! Both are not part of LabVIEW (as NI-DAQ
is also not part of LabVIEW) but while NI-DAQ/DAQmx comes with your
hardware and also as Driver CD with LabVIEW as well, you will have to
download and install MHDDK or comedi seperately.

> What librarry for communicate whith DAQ board on that "different CD"?

There is no DAQ CD which comes with LabVIEW for Linix!

> May be there is some library that h
ave interface
> the same as NI-DAQ (if LabVIEW calls are the same)
> and that call MHDDK ?

That could be done with some work for the simpler NI-DAQ functions. For
the more complex things I wouldn't think it is possible, and DAQmx is a
to complex environment that one could hope to get it to work like that.

Rolf Kalbermatter
Rolf Kalbermatter
My Blog
0 Kudos
Message 6 of 11
(3,652 Views)
> What LabVIEW for Linux based on ?
>

LabVIEW for Linux is based upon unix, XWindows, and the same C/C++
source code used to build LV for all the other platforms. Specifically,
LV is programmed to the XLib layer of XWindows, and typically chooses
the posix libraries for unix. Of course for other functionality, it has
to have special code for the window manager, KDE, etc.

Greg McKaskle
Message 7 of 11
(3,652 Views)
>What you probably want to ask is what possibilities are there to use DAQ in LabVIEW for Linux.

Yes! Sure1 You are right.
I am not wondering about LabVIEW but only
looking for replacement NI-DAQ for Linux.
If LabVIEW for Linux support all functions of NI-DAQ that avaibale
under Windows then must been library such as NI-DAQ.
Am I right ?
Or it is secret ?
MHDDK is't this one because it is only basic RPL,
then need another library (what ) to add functionality NI-DAQ.
comedi is not candidate, because I don't intend
to participate in development and don't solder DAQ boards myself too ;(

>There is no DAQ CD which comes with LabVIEW for Linix

And that is't on CDs that I have recieved with boar
ds
but only NI-DAQ[mx].
NI-DAQ must been updated after every new device
release.

Andrey
0 Kudos
Message 8 of 11
(3,652 Views)
Only library provided interface to DAQ boards is interested for me.
I hav't plan to use LabVIEW but only "C/C++" with that library.
For Windows it is NI-DAQ, but what is for Linux ?

Andrey
0 Kudos
Message 9 of 11
(3,653 Views)
AndreyCherepenko wrote:

> Yes! Sure1 You are right.
> I am not wondering about LabVIEW but only
> looking for replacement NI-DAQ for Linux.
> If LabVIEW for Linux support all functions of NI-DAQ that avaibale
> under Windows then must been library such as NI-DAQ.
> Am I right ?

You would be right, but there is no secret NI-DAQ for LabVIEW for Linux.
Niente, nada, nix! It simply doesn't exist yet.
When you buy LabVIEW for Linux you do NOT get a driver CD with any DAQ
software on it (because that CD doesn't exist) and when installing
LabVIEW for Linux you do NOT have any DAQ VIs available at all out of
the box.

> MHDDK isn't this one because it is only basic RPL,
> then need another library (what ) to add functionality NI-DAQ.

MHDDK is not a replacement for NI-DAQ. It is a library which allows to
use NI boards on the more populare computer systems where NI-DAQ is NOT
available. It's API is low level and different than NI-DAQ. If you
develop an application to this API you could also use MHDDK for Windows
instead of NI-DAQ to make your application compile on Windows without
having to modify your application (if you manage to get all the other
code such as system API and UI management cross platform as well).

You could also develop a software layer which translates the MHDDK API
to NI-DAQ but to my knowledge this hasn't been done by anyone and I
doubt it would be an easy nor very useful idea to do.

> comedi is not candidate, because I don't intend
> to participate in development and don't solder DAQ boards myself too

Well, you just excluded the only two currently available solutions to
use DAQ boards from National Instruments under Linux. That leaves little
to look for, doesn't it?

> And that isn't on CDs that I have recieved with boards
> but only NI-DAQ[mx].

There is no DAQ support for Linux shipping with the National Instruments
boards at this time. The only 2 solutions are either MHDDK or Comedi and
they are both not included with any NI hardware but must be downloaded.
They have both their limitations and in fact NI-DAQ has limitations too
as has every other software on this planet.

> NI-DAQ must been updated after every new device
> release.

Of course at least as long as you want to use such a new board. If your
board is working fine with the software version you got together with it
and you are using, you don't need to upgrade NI-DAQ every time it is
released. Also upgrading NI-DAQ does not mean that anything in your
application would suddenly not work anymore as it is an external shared
library which is designed to maintain a compatible binary API across
versions.

There is no way that a software from last year is going to support
hardware released next year. Time machines haven't been invented yet
other than in Science Fiction.

Rolf Kalbermatter
Rolf Kalbermatter
My Blog
0 Kudos
Message 10 of 11
(3,652 Views)