LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

RT 1.6.1 problem can't install NI-IMAQ on my host machine

 
0 Kudos
Message 1 of 6
(3,143 Views)
Hello tricocefalos1,

Thank you for contacting National Instruments.  Based on the version number that you mentioned, it sounds like you are referring to NI-IMAQ Server 1.6.1 for a Compact Vision System.  However, I do not want to make any assumptions just to ensure that I am solving the right problem.  Could you provide some more detail on what it is that you are trying to do, and what error you are receiving?

Thanks!

Mike T
National Instruments
0 Kudos
Message 2 of 6
(3,126 Views)
Thank you I got that problem solved but now I Have a problem with RT labVIEW programming I now that you can use the variables to pass data from the RT target machine to the host machine (I now there are vairable-network functions that allow that to happend but I can't find  that type can pass image data coming from the NI-IMAQ Get.VI to my host machine)  So what do I do to pass that data?
0 Kudos
Message 3 of 6
(3,121 Views)
tricocefalos1,

The reason why you were not able to find the appropriate datatype for transferring live images across a network is because the image dataype is actually a pointer to a location in memory.  Passing this pointer across the network would produce meaningless results.  In order to correctly transmit a live image across a network, lets say using a shared variable, you must flatten the images to a string.  I have an example attached that demonstrates how to do this.  This code is part of an example program that is currently undergoing technical review because it is brand new.  I suggest that you try this program at your own risk since we have not thoroughly tested it yet.  Here is the description for the example:

This example demonstrates how to transfer IMAQ images over a network using a LabVIEW shared variable. This example was designed to run on an NI CVS-1450 device; although, any target will work. This example includes two VIs. The first VI, Image Broadcaster.vi, acquires the images and flattens them to a string. The Image Broadcaster VI then publishes the string to the network using a LabVIEW shared variable. The second VI in this example, Image Reciever.vi, reads the string from the LabVIEW shared variable and converts the string back into an IMAQ image type. The Image Reciever VI then displays the image on its front panel. This example works even if you have multiple Image Reciever VIs running on multiple computers, or targets, at the same time.

Note that this example requires LabVIEW Full Development System 8.0 and IMAQ Vision for LabVIEW 8.0 to run.

Please let me know whether or not this helps.

Regards,

Mike T
National Instruments
0 Kudos
Message 4 of 6
(3,111 Views)
Ok Got it, but now what if I just wante to take pictures save them in memory of the RT target machine and then pass the whole thing, I guess what I am asking is if how can I send an array of stings or is that not possible (going by the example program you sent me)?
0 Kudos
Message 5 of 6
(3,079 Views)
Hello tricocefalos1,

There are two ways to tackle this problem.  One is to build one large string seperated by some type of delimiter (comma, space, or tab) through the shared variable using the concatenate string function.  This is not a very efficient way to do this mainly because every time this function is called, it reserves an extra copy of memory space.  If a large quantity of images are going to be built, this will consume a large amount of memory. 

An alternative approach, which would be preferred, is to create a custom control of an array of strings that the shared variable will pass.  You will have to create the custom control yourself.  Here is a good resource to refer to on doing this:

Creating Custom Controls, Indicators, and Type Definitions
http://zone.ni.com/reference/en-XX/help/371361A-01/lvconcepts/custom_cont_ind_type/

Once you have the custom control created and saved as a .ctl file, you can configure the shared variable to accept this custom control by opening the Picture shared variable in the project of this example, and selecting "custom" as the datatype.  A prompt will appear to navigate to the custom control that you created.

The example will have to be modified to build the array of strings that you will be passing to this custom control.

I hope this helps.

Mike T
National Instruments
0 Kudos
Message 6 of 6
(3,023 Views)