02-04-2013 02:54 PM
Dear All
I am trying to grab and save a video from ni smart camera (NI 1744). I
am using Grab and save vi which is attached. I open a new project in
labview 10. To this project I add the smart camera as a RT target and
then add the attached grab and save vi under the smart camera in the
project. I right click the smart camera and select " Deploy all".
Deployment starts but it terminates displaying the following error
message:
" LabVIEW: Failed to load shared library
nivissvc.*:LV_AviMovieOpen:C. Ensure that the library is present on
the RT target. Use MAX to install NI software or FTP to transfer
custom libraries to the RT target.
Deployment completed with errors "
Kindly note that I am able to grab a video using MAX (Measurement and
Automation) without any problem. I have also re installed IMAQ RT,
Vision RT, IMAQdx RT and Labview RT on the smart camera several times
but that has not solved the problem. I shall be really grateful if
anyone can provide any guidance regarding how to carry out successful
deployment of the attached vi or if anyone can suggest an alternative
way of grabbing and saving a video from NI smart Camera (NI 1744).
System Specifications: Toshiba Satellite Laptop, Windows 7 home
premium. Labview 10.
02-05-2013 05:50 AM
Hi,
The problem is that you try to use the AVI function directly in your target. Wich is I think impossible, because your smart camera doesn't have hard drive and only a small amount of memory. So you won't be able to record AVI in your smartcam.
What you have to know when you create a RT project is that the code is executed directly on your target device, not on the host.
What you may try is first to transfer the images to your computer and then use the AVI recording functions on the computer side.
To achieve this, you can try to use a shared variable to retrieve the images on the host.
Hope this helps
Regards
02-06-2013 05:58 AM
Thank you so much for your response, it really helped me in understanding my problem. Actually I am kind of new to Labview and i don't know much about it. I would be much obliged if you can refer me to a step by tutorial or explain in detail the approach regarding how to "use a shared variable to retrieve the images on the host" and then be able to "save the video". I am actually doing an Image processing project and my main goal is the algorithm development. It would help me a lot if I can get the video saved and then move on with the main part of my project. Once again thanks a lot for your previous response.
02-07-2013 01:56 AM - edited 02-07-2013 01:58 AM
Hi,
Take a look at the following KB articles:
Shared Variables if you use VBAI
Using the LabVIEW Shared Variable
Then, to save the AVI on the host side, just modify your existing code so that it uses the Shared Variable image as input.
Regards
02-13-2013 05:11 AM
HI,
I have gone through the links you provided and now i have developed the understanding that i need to use 'Network-Published shared variables' in my code. Since i have very little understanding of labview, therefore I am having extreme difficulty in developing such a code. Can you please provide with an example that uses shared variables in a similar manner or direct me to some online resource through which I can quickly learn to develop such a code. I really appreciate the help provided so far. Thanks
02-14-2013 05:11 PM
Burki you only need to move the files to the host you can use the VBAI ftp function to store the frames on an ftp server from the host machine. Then you can open the frames and convert them to AVI files. Another option which is the easiest is to upgrade to Vision Development Module 2012 SP1 which is backwards compatible with LabVIEW 2010. The AVI functions palette has been updated to include Real-Time support. You would be limited by the amount of memory available on the smart camera.
02-14-2013 10:44 PM
AVI is still not supported for the 1744, which uses a VxWorks Operating System (as compared with the newer series of smart cameras the 177x which use pharlap OS and support the new AVI functions).
Attached is a sample LV project and code to illustrate how to acquire images on your smart camera and write those to a network image variable. I also made a host side VI to read the image variable where you can use your AVI function to save to your local host machine images acquired from the smart camera.
Hopes thishelps,
Brad
02-18-2013 08:27 AM
Dear Brad,
Thank you for your reply. I tried to use the sample code you provided.
Here is what I did. I changed the IP of the smart camera in the project from 0.0.0.0 to the IP of my smart camera which is 169.254.0.0. Then i right clicked the smart camera in the project and selected 'deploy all'. The deployment was successful. Then i ran the 'Smart Cam Acq.vi' by selecting it in the project. I received the following error:
Code: 1074397150
Source: IMAQ Grab Acquire.vi:1
Can you please explain what am I doing wrong this time? Thanks in advance.
02-18-2013 09:09 AM
That is a timeout error. I would go to MAX and verify you don't have trigger enabled (there is a tab for triggering when you click on your smart camera under Remote Systems). If you really do want to use a trigger, make sure you are actually triggering the camera. You may want to test this out in MAX first to make sure pressing the Grab button at the top of MAX actually works. Once you get this working, the example should work (make sure to close MAX before running the example though).
Hope this helps,
Brad
02-21-2013 05:26 AM