LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Issues with Channel Wires on Larger Projects

Solved!
Go to solution

@JÞB wrote:

For Ben

CLD is orange with a "+" glyph Yellow on Black

CLED is orange with a "+" glyph Black on Yellow

Both have the word "Developer" in Black

 

Ryan is sporting right- you just need a better field guide to observe them in the wild.


Even after reading that, I will have a 50/50 chance of recognizing one vs. the other which would be the same odds as if I had no idea in the first place.

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 11 of 20
(1,863 Views)

@Ben wrote:

@JÞB wrote:

For Ben

CLD is orange with a "+" glyph Yellow on Black

CLED is orange with a "+" glyph Black on Yellow

Both have the word "Developer" in Black

 

Ryan is sporting right- you just need a better field guide to observe them in the wild.


Even after reading that, I will have a 50/50 chance of recognizing one vs. the other which would be the same odds as if I had no idea in the first place.

 

Ben


I didn't design them.  Look on the bright side, at least you now know for sure that you will be uncertain in the future.  Isn't that progress?


"Should be" isn't "Is" -Jay
0 Kudos
Message 12 of 20
(1,858 Views)

My little joke about those kind of 50/50 things is that if I know nothing and am not careful my odds are 50/50 of getting it right.  As I pay attention and try to be careful, the odds go down...

 

(This is especially the case where there are multiple 50/50 junctions in series, such as polarity and sign-convention things where any even number of wrong choices still looks right at the final output).

 

 

-Kevin P

ALERT! LabVIEW's subscription-only policy came to an end (finally!). Unfortunately, pricing favors the captured and committed over new adopters -- so tread carefully.
Message 13 of 20
(1,846 Views)

I like channel wires and am in the process of updating my templates using them.

Today I encountered the problem of a broken 'event messenger channel' vi that has a typedef'd cluster at its element input terminal. When loading my project, it was complaining about the typedef, but I can't recall the exact message.

I manually deleted and rebuilt the channel wire endpoints, which at first seem to work. But closing and reloading my project again showed a broken 'event messenger channel' vi.

ChannelWire.PNG

Eventually I undid the typedef and now it seems to work. It is not clear to me why this is.

Good to know that I can safely delete the ChannelInstances folder, however my coworkers are somewhat less experienced and should not be confronted with a broken channel wire vi. 

0 Kudos
Message 14 of 20
(1,721 Views)

A number of suggestions to the Channel Developers have been made, including

  • Provide better knowledge (and an easier way to do it) to zap the Channel Instances folder (you need to be sure you get the right one, the one associated with your LabVIEW Version).
  • Possibly add additional "syntax sugar" to prevent "confusion" with Channel Wire definitions.  Sadly, the easiest way to have a problem is to follow Good Practices and create TypeDefs for all your Clusters.  Now have two projects, each with a Cluster of the same name but different types, and create channels for them.  You'll probably have a conflict ...
  • A suggestion was made three years ago to "bind" Channels with LabVIEW Projects (to obviate the problem above).  There are probably good reasons that this was not done ...

Bob Schor

0 Kudos
Message 15 of 20
(1,698 Views)

@Bob,

 

Thanks for clarifying things.

However, it makes me feel a bit uncomfortable now.

- zapping a folder (Channel Instances), for the right LabVIEW version, even more confusing with multiple development PC's and multiple developers

- be careful with Type Defs for Clusters

 

Just when I thought channel wires will clean the diagram a bit, are easy to create and easier to follow .......... 😞

0 Kudos
Message 16 of 20
(1,687 Views)

Well, I use Channel Wires a lot -- one Project spawns up to 24 Clones, each of which has four independent parallel routines running a Channel equivalent of a QMH (I call it a Channel Message Handler), with perhaps a dozen channel wires running among and between them.  It hasn't been deployed in full force (we are currently running up to 6 Stations (clones), but when you count the top level VI, that's on the order of 80 Channel Wires working away.

 

I find the "metaphor" (meaning the visual appearance) and the ease of use of Channel Wires particularly appealing.  I use mainly Tag, Messenger, and Stream Channels in their "vanilla" formulation (no Aborts, no Schedules).  Even when things get cranky (and I swear a bit at NI), I've managed to get things (eventually) loaded by deleting the ChannelInstances folder and reloading the Project.  For this "Big" Project (and especially for LabVIEW 2017), I had to load the Project "slowly", not try to load the Top Level VI first (which tries to pull many other things into memory).  There does seem to be some "order issues" in the way things get loaded, which have been brought to NI's attention, but for non-Mega Projects, I've had no serious problems (other than having the same-named TypeDef with different Definitions, usually a Cluster, in different Projects, requiring nuking ChannelInstances).

 

Bob Schor

0 Kudos
Message 17 of 20
(1,680 Views)

I like the appearance and ease of use as well !

 

I even consider it a completion of my idea underpass (subway) for data exchange between parallel loops.

Idea is simple, the right implementation a very different matter.

NI did a very exhaustive job on asynchrnous data transfer between parallel loops!

 

 

I will use channel wires only in fairly small applications and hope NI will resolve the remaining (small) issues with them.

0 Kudos
Message 18 of 20
(1,661 Views)

@donkdonk wrote:

I will use channel wires only in fairly small applications and hope NI will resolve the remaining (small) issues with them.


I would say that any Project with <100 VIs and <25 TypeDefs, with perhaps a dozen Channel Wires, should be no trouble.  The only possible problem could come with having two Projects with the same-named TypeDef but a different definition of the Types, but if you know about deleting the ChannelInstances Folder and are patient for the 5-10 seconds LabVIEW needs to rebuild the Channel Wire Instances, you'll be fine (and if you do still run into a problem, please post it here and let me know -- I'm very "invested" in this feature).

 

Bob Schor

0 Kudos
Message 19 of 20
(1,658 Views)

@Bob

Thanks for being interested. I have the same thoughts and warm feelings about the potential of channel wires.

I meant to say that all my projects are relatively small, so I can use channel wires without problems.

I probably just ran immediately into this typedef issue (I used to have a typedef'd cluster on my channel input) and may have another project with same named type def open.

It was the first time I actually was going to use channel wires for a serieus template we use for all our projects, therefore it made me a bit nervous. Now I know the cause, I am more relaxed about using them.

0 Kudos
Message 20 of 20
(1,632 Views)