Understanding shift registers is a core LabVIEW skill. They are one of the most powerful features in LabVIEW. 🙂
You can think of the entire connected set of shift registers in this example as one single memory location that contains the string array.
In the inner loop you read elements from it and then replace the data in other elements. As long as the array size does not change
(and it does NOT the way I designed it), all operations are performed "in place" in memory (well, this is completely true in cases of
numeric arrays, strings are handled a little bit differently).
Updating a value via a property node is synchronous and this very expensive. Basically, The code needs to drop everything it is doing,
switch to the UI thread, update the control or indicator (in this case a complicated table!), switch back to the original thread, and continue
with the diagram code.
See the following discussion and also the link in it.
Since you are coming from a C background, you still seem to be stuck in a mindset that needs "variables". In LabVIEW, the wire is the variable
and things are much more efficient if you don't constantly punch to the user interface.
OK, here you have some easy reading. Once you grasp the key concepts of dataflow programming, you'll be blown away by its simplicity and efficiency. 😄
Message Edited by altenbach on
05-28-2008 09:21 AM