LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Trouble with Labview version creating a Stand-Alone application for Raspberry

Hello,

The equipments I'm using have the following specifications:

Computer:

-Desktop PC with Windows 7 64-bit

- Labview 2015 (32-bit) with Vision Acquisition

- Labview 2014 (32-bit) with Vision Acquisition

- LabVIEW 2014 Real Time Module

- LINX 3.0

 

Raspberry:

-Pi 3 Model B

- OS: 2017-04-10-raspbian-jessie

 

 

 

I am currently running a VI on my computer that acquires both Image and a Spectrogram and it's called "Image and Data.vi", this VI was created using Labview 2015, and has some specific Vision resources for the 2015 version on one of its SubVI's.

What I want to do is build this VI as a Stand Alone Application on my Raspberry so it doesn't need to be connected to my computer all the time.

I know that in order to connect the Labview to the Raspberry I must use the 2014 version, so I saved my VI using the command "Save for Previous Version" in which I chose the following options:

- Labview Version 14.0

- Toolkit Version LV 2012

- Picture Control v2

Now a folder has been created for the "Previous Version VI", and I add it to my Raspberry on a project as follows: 

(I don't know what is the difference between the 2 options of Add Folder Snapshot and Auto-populate, in this case I used Snapshot)

 image.png

 

I can see these folders include all the VI's involved in "Image and Data.vi" and also some files for the driver of my Spectrophotometer (Ocean Optics s2000+).

 

Now when I try to execute the "Image and Data.vi" (in this case "Image and Data alt.vi") it does not find the files related to Vision, that is "IMAQdx.ctl", "IMAQdx Snap2.vi", "IMAQ Rotate.vi", "IMAQdx Open Camera.vi", "IMAQdx Close Camera.vi" and etc.

If I try to select these files manually it shows this message:

image.png 

 

So I wonder, is there a way I can make Vision Acquisition work on my 2014 version of the vi?

The Vision Resource I use that is specific of the 2015 version is the "IMAQ Rotate", is there some way of transforming it to a 2014 version?

Please help me ! (:

 

Thanks in advance,

Oscar

0 Kudos
Message 1 of 13
(2,275 Views)

As far as I can tell, you can only deploy.  That being said, I made a little LV application that reads the status of the NTP server and lights up physical LEDs, somewhat like your cable modem.  It doesn't need my PC to run.

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 2 of 13
(2,265 Views)

Hey, thanks but you kinda overlooked my problem. I am not able to deploy the VI because of some 2015 Vision Acquisition VI's that are found missing.

I would like to know how could I fix that, or the only way would be not to use those VI's?

Thanks

Oscar

0 Kudos
Message 3 of 13
(2,218 Views)

Oops, sorry - the sentence tripped me up:

What I want to do is build this VI as a Stand Alone Application on my Raspberry so it doesn't need to be connected to my computer all the time.

 

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 4 of 13
(2,205 Views)

Yeah so it looks like your 2014 project is still referencing the 2015 vision VIs.  Did you install the vision tools after installing 2014?  And do you have the vision tools on the palette of your 2014 install?  If not then I'd suggest doing a repair install of the vision tools, making sure it installs support for 2014.  Then make sure your project links to the 2014 functions, under the 2014 install and not 2015.

0 Kudos
Message 5 of 13
(2,199 Views)

And what makes you think that the Vision module can run code on the PI? 

LINX for PI has a limit feature set, and Vision is not one of them. 

Also, as a normal part of installation on a RIO, you would need to install the correct driver and modules. 

 

I would not expect the Vision functions to work on a PI with LINX. 
Vision is not a cheap module for the home/base user. 

0 Kudos
Message 6 of 13
(2,178 Views)

dkfire nailed it. There are two things that will likely simply not be visible to a LabVIEW build under a Linx taget.

1) The IMAQ Vision toolkit while theoretically compiled by NI for the ARM architecture, this is specifically for the RIO based ARM devices with NI Linux RT. The Vision module will not work on other ARM targets just like that, especially since Linux does not equal Linux at all even if compiled for the same CPU architecture.

2) Then there is the Vision Acquisition library IMAQdx. Expecting that to work on the Pi is very naive. There is of course theoretically the Linux4Video interface but that is very Linux like, not binary compatible across versions, since everybody builds software only from sources, right!. And as far as I know NI doesn't have a Linux4Video interface for their IMAQdx driver anyhow, and the DirectX based driver for Windows will certainly not work! Smiley Very Happy

Rolf Kalbermatter
Averna BV
0 Kudos
Message 7 of 13
(2,168 Views)

So, what would you recommend me to do? How can I access my cameras and obtain images while on Raspberry Pi 3? 

I need some guidance.. Am kinda lost since I have been using this VI with Vision Module for the past 2 years...

 

Thanks

Oscar

0 Kudos
Message 8 of 13
(2,147 Views)

So, what would you recommend me to do? How can I access my cameras and obtain images while on Raspberry Pi 3? 

I need some guidance.. Am kinda lost since I have been using this VI with Vision Module for the past 2 years...

 

Thanks

Oscar

0 Kudos
Message 9 of 13
(2,138 Views)

Well the reality is that you will not be able to deploy your program to a Raspberry Pi (or Beaglebone Black) using Linx. NI Vision is a professional software (including in price) and the Linx offering is specifically limited to only be used for non commercial projects. So expecting this to work is kind of far fetched.

 

If you really want this to work and have lots of time available you could investigate into alternatives for NI IMAQdx and NI Vision that you can compile for the Raspberry PI. Good candidates would be probably OpenCV. It can do most of the things NI Vision does and also includes an interface to the platform specific video interface such as Video4Linux including framegrabbers that are supported by it.

 

However OpenCV is C(++) software and while there have been some attempts to make a LabVIEW interface for it on at least Windows, there isn't a ready made VI library even for Windows for it, and definitely not for non-Windows systems, such as OX X and Linux. Expect to dive deep into C++ programming to get the interface library running that is necessary to interface LabVIEW with OpenCV.

 

Alternatively you could possibly craft something together by placing your image acquisition and analysis into a Python module and call that as an external command through the command line with System Exec.

 

Whatever you end up doing, it won't be a out of the box solution. NI really doesn't and couldn't support NI Vision and IMAQdx on every hardware out there. They already have to maintain it on 5 different realtime OS targets they sell themselves in addition to Windows 32 and 64 bit.

Rolf Kalbermatter
Averna BV
0 Kudos
Message 10 of 13
(2,108 Views)