Sometimes we have a need to do some mild synchronization between otherwise parallel tasks. Typically we would use a flat sequence (but there are also exceedingly fancy tools such as "Rendezvous"). Even a flat sequence is often overkill for the given situation: It is a 2D object with it's own diagram and input and output tunnels. We need to decide what should be inside and what should be outside.
I suggest to extend the idea to a 1D object: The "Synchronizer Bar". It is basically a flat sequence with zero frames, condensed to a single vertical line (Maybe we could even allow kinks in it???).
The function is very simple and immediately intuitive (as anything in LabVIEW should be!!) and can be described in a single sentence:
"No data can leave any of the tunnels until all tunnels in the structure have received data."
Ideally, we should be able to "free-hand draw" this structure interactively with the mouse and a tunnel will be automatically generated for each wire we cross.
Here is a dumb (but illustrative) example (ignore the code itself). That's how it could look like.
(At the moment I simply merged the edges of a flat sequence, but I am open for prettier suggestions ;))
Overall, it should be closely related to the flat sequence and include certain right-click actions (e.g. Add frame before/after, which would expand it into a flat sequence).
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
In the G Language, this is what the Flatten Sequence structure is for. Not going to add a second way to do this.