07-27-2005 10:02 AM
07-28-2005 06:05 PM
Hi Charlott,
Unfortunately, there is no way to access those array functions' block diagrams because they don't exist! In fact, they are literally "LabVIEW functions" (denoted by their yellow color), which means that they are the basic building blocks in LabVIEW and therefore do not have block diagrams associated with them. You can think of them as atoms in physics, while VIs are more like molecules (a collection of functions and other VIs).
The good news is that you can do anything (well almost :)) in LabVIEW! You should be able to build the same functionality of those array functions in LabVIEW 5 without seeing any block diagrams, though it will take a little work. I would recommend reading about those functions in the LabVIEW 6/7 Help, and then trying to implement them in LabVIEW 5 from there. And once you have them built, I would definitely encourage you to post those functions here so that others can benefit! If you have any questions along the way, I (and I'm sure others too) would be happy to help.
Also, just a little forum advice: Next time you post, try to cut down the length! There was quite a bit of unnecessary detail in this one, and it can sometimes be a deterrent to prospective answerers 😉
Kind Regards,
07-28-2005 09:39 PM
For what its worth, I liked the length of your post. You gave complete information--including what you are wanting to do and why. I would much rather read a long post than get the all too common:
"My code returned an error XXX, what's wrong?"
Don't worry about the length... It was just fine...
Mike
07-28-2005 09:50 PM
Oh yes, about your problem!
I am assuming that you are wanting to leave the original code as untouched as possible. BUT how about changing the data structure to be a 1D array of clusters where the cluster contains a 1D array of values. You could manipulate things GUI-wise such that it would look almost the same, but when replacing a "row" you are really only replacing a single element in a 1D array -- which even V5 could do...
Accessing the data in a row would be very similar to what you are doing now, except instead of an indexer with two input indices, you'd have a 1D indexer followed by an unbundler and a second 1D indexer.
Just thinking,
Mike...
07-29-2005 03:55 PM
07-29-2005 04:39 PM
Well, algorithms often are proprietary and protected by patents or copyrights.
The functions are not written in LabVIEW but in whatever text language NI uses. I believe it's C++ now. You might be able to find some generic algorithms for array manipulation on the Internet and I know there are lot of books available for C/C++ algorithms. Using the Index Array and Build Array, you can probably come with similar functions but I suspect that to get the same sort of performance as the features in new versions of LabVIEW, you'll need to create a C/C++ DLL just like NI.
07-29-2005 04:45 PM
I also liked your long post. Too often I find short posts where the answer to the question is, "Can you explain more what you are trying to do so that I can help you?" Your post gave the needed details.
I suspect that the code behind the functions is proprietary and is not based upon functions available in LV5. The suggestion by mikeporter appears to be a good workaround.
08-01-2005 08:37 AM
08-01-2005 08:38 AM