Sign Up

IG FlexChannels by Illuminated G - Toolkit for LabVIEW Download

New Channel template where readers determine mechanism: lossy, lossless, or event-driven and lossless readers can be restartable.

Watch * 0 ↓170
ReleasedMar 04, 2022
Publisher Illuminated G
License MIT
LabVIEW VersionLabVIEW>=20.0
Operating System Windows, Mac, and Linux
Used By illuminatedg_lib_ig_flex_channel_examples  
Project links Homepage   Repository  


Adds a new Channel template to the create channel dialog in LabVIEW. This combines the behavior of several other templates. Multiple communication mechanisms can be used with the same channel wire and the reader determines the mechanism. A monitoring status endpoint is also available so code can monitor the status of value updates and the queue sizes of all lossless readers.

Since the channel can be forked to multiple readers, it is possible for the readers to influence the performance of each other and of the writer. Each lossless reader endpoint gets its own dedicated queue and can specify the maximum queue depth individually. Once a queue is full, the timing of the reader will dictate the timing of the writer.

Lossy readers can be used when only the latest value is important, similar to notifiers/tags. Lossy readers can be configured to wait for the next new element with a timeout.

Event-based communication is also possible with an endpoint that returns an event registration. Events also perform lossless transmission, albeit with less control, so care should be taken and tests done to ensure acceptable performance for higher bandwidth communication. Events are perfectly suited for configuration and command style communication.

There are no palettes for this package, interactions with channels are done from the Right-Click -> Create -> Channel Reader/Writer menu. Several simpler examples are included but don't utilize the full channel process present in LabVIEW. For more extensive examples check out IG Flex Channels Examples.

Release Notes (Mar 04, 2022)'s change log
- Fix erroneous claim in package description about throughput compared to high speed stream channel template due to the new features added.

Including's change log:
- Added ability for lossless reader endpoints to be restarted
- Added event registration endpoint
- Fix auto-indexing in writer for when data type is array
- Add Pause status to channel (similar to Data Valid/Invalid mechanisms)
- Replaced Lossy Reader (Notifier Style) sequence count output with a boolean set to true when the returned element is new since the last call
- Added close channel endpoint
- Creation of separate github repository from FlexBlocks package

Download Package

All Contributors

  Post an Idea   Post a Resource

Recent Posts