08-24-2016 04:45 AM
Hi there, in need of some guidance here.
Due to certain reasons, I need to build two executable files from Labview. (to set different CPU affinity)
The second exe is processing image output from first exe. These is done through network shared variable as for now. Which is actually quite slow.
Is there a way that second exe can refer to buffer in first exe? for example image pointer?
Appreciate any input.
Rgds,
Winston
08-24-2016 05:13 AM
I sometimes do that using VIServer calls.
In the EXE that acquires the image, I place the IMAQ image buffer in a FGV and from the second EXE, I make a call to the FGV vi to receive the IMAQ image buffer.
I've never tried with network variables so I can't compare performance.
Hope this helps
We have two ears and one mouth so that we can listen twice as much as we speak.
Epictetus
08-24-2016 07:24 AM - last edited on 08-09-2024 04:06 PM by Content Cleaner
I am not sure about sharing IMAQ buffer between PCs, as i understand the memory for image will be allocated in local PC. And trying to access something in remote machine to process it might even take more time.
How much is slow? What is the image type and size? What is your network type and speed?
Actually you can try Network streams which will provide efficient data streaming.
-You can get more info on choosing the right netwrok protocol based on requirement: https://www.ni.com/en/shop/labview/using-the-right-networking-protocol.html
-About Network streams https://www.ni.com/docs/en-US/bundle/labview/page/designing-applications-using-network-streams.html
08-24-2016 07:53 AM
Hi TiTou & Udka,
Im trying with the FGV method. Following are my findings...and kinda expected findings...
FGV works across different vis if they run within the same project file.
FGV will also work when I select both vi and build together as one exe.
However when vi1 and vi2 are build separately, FGV will not work as expected.
As they are treated to be in their own preallocated memory space?
I have attached a project file to explain better the situation. : )
*many thanks guys
08-24-2016 10:10 AM - last edited on 08-09-2024 04:07 PM by Content Cleaner
See this on how to share a FGV between 2 apps
It also works to share between EXE that run on different computers, I'm pretty sure Vision Builder also uses VIServer to transfer images between RT Vision targets and computer.
We have two ears and one mouth so that we can listen twice as much as we speak.
Epictetus
08-29-2016 01:50 AM - last edited on 08-09-2024 04:08 PM by Content Cleaner
take look this link may be it could solve your problem
http://digital.ni.com/public.nsf/allkb/70A5D11517DBA50C86256E6A0070E5A7