LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Defining classes for an acquisition data application

Hi, all.

I'm working on an acquisition, monitor and control application. I use a wide variety of devices like GPS, total stations, IMUs and others that aren't defined yet. A low level data acquisition algorithm written in C++ has already been implemented for each device type. The acquisition data stream wouldn't be continuous, but only one data read every a certain period of time.

I want to use LabView for the main application of monitor and control, but I don't know exactly how to communicate with the devices. I want to create a general purpose application, independent from the number and type of devices used.

- Could I define a "device" class, and manage every device defining class properties and methods?

For each "device" object, every method would perform the acquistion data functions written in C++. So,

- Could I define methods that would call to C++ functions?

Hope you can help me.

Thanks in advance,
Francisco
0 Kudos
Message 1 of 3
(2,549 Views)

What kind of acquisition device are you going to use? Multifunction cards or more specific HW? This hardware is from National Instruments?

 

If you are using NI hardware, you have to use NI drivers that are OO drivers with properties and methods already defined and generic for all HW of his family. These drivers have support for C and LabVIEW.

 

In addition, LabVIEW can call C methods via DLLs using the VI "call library function node" Do you know how to use this VI?

 

 

0 Kudos
Message 2 of 3
(2,523 Views)
Hi, sendia.

Thanks for your support.

The acquisition devices are not from NI. I have to make use of the data acquisition programs already written in C++. I don't know exactly how they work, I only have been told to abstract from that layer, don't worry about the details of these low level algorithms, and communicate with these devices in LabView by calling their data acquisition algorithms.

I have followed several tutorials about LVOOP, how to create and manage classes, member VIs (methods), inheritance, dynamic dispatching... So, I suppose that I'll have to call every C++ function using the VI "Call library function node" from every member VI, isn't it?

How can I create class objects (instances)? For example, the application will have to deal with an undefined number of devices, so every time we include a new device, I'll have to create a new object (instance) belonging to the "device" class. I have read some about in the forums, but they used a LabView toolkit called GOOP. Is it necessary?

Thanks again.

Regards,
Francisco
0 Kudos
Message 3 of 3
(2,512 Views)