Sign Up

Messenger Library by JDP Science - Toolkit for LabVIEW Download

Advanced messaging made simple! (including easy TCP)

D Discussion Watch * 9 ↓4,717
 screenshot
Version2.1.7.180
ReleasedDec 20, 2024
Publisher JDP Science
License BSD
LabVIEW VersionLabVIEW>=19.0
Operating System Windows, Mac, and Linux
Project links Homepage   Documentation   Repository   Discussion

Description

Advanced messaging made simple!

Messenger Library is a library for message passing using a variety of powerful Messaging Patterns, and a set of Templates for easily creating parallel modules to interact with those Patterns. Together, these comprise a powerful and deep framework for rapid application development. Easy to use and without "boiler plate": adding new messages is low effort and does not require scripting tools.

Communication patterns supported and other features include:
-- Request-and-wait-for-Reply
-- Asynchronous Request-Reply, where the reply is sent to a "reply address" attached to the request
-- Scatter-Gather: Requests sent to multiple addresses, with all Replies gathered together in order
-- Register-Notify, where one process sends a registration message to another in order to subscribe to published messages.
-- Asynchronous Dialog: query the User without blocking (User's response sent as a message)
-- Delayed Request: message sent with a set asynchronous delay
-- Metronome: a source of precisely-timed periodic messages

Freely intermix communication by Queues, User Events or Notifiers.
First-class support for TCP communication, allowing easy interaction of multiple executables using any of the Messaging Patterns. Also supports UDP, including multicast.

Module Templates are simple, consisting of a single VI and a single loop, and are robust against race conditions (unlike the more complex "Producer Consumer" NI templates).

Includes two utilities under the menu "Tools>>Messenger Library":
-- a utility to create a new parallel modules from a set of well-tested templates
-- an "Actor Manager" utility to see all running Modules

Multiple Examples are included. Of particular interest are:
-- An example developed over a series of YouTube videos (linked below)
-- A redo of the standard "Continuous Measurement and Logging" Example using Messenger Library
-- TCP Reconnecting Example, showing easy network communication with handling of temporary disconnects

YouTube Instructional Videos: https://www.youtube.com/playlist?list=PL5AulxutFbdjFzxb-Lr6HItKR_2sG2aFA

LabVIEW Wiki: https://labviewwiki.org/wiki/Messenger_Library

Note: Messenger Library is intended to promote actor-oriented design, but is not related to the Actor Framework.

Release Notes

2.1.7.180 (Dec 20, 2024)

Significantly-improved palette layout.
Better Icons, especially for Register-Notify API;
Better "Create Actor from Template" Tool, with Template Descriptions.
TCP Cient and Sever Templates.
"DEV Top Level" Template now includes Config File done with JSONtext.
Error Dialog (Sync) that tries to present Errors in a more User-friedly way.


Download Package

Versions
All Contributors

  Post an Idea   Post a Resource

Recent Posts

Actor to Actor communication (Messenger Library)
Demo of a ‘Top Level’ actor creating and communicating with an ‘Instrument’ actor. Shows Request-Re…

by James Powell, 2 years, 6 months ago, 0 , 0
Messenger Library for LabVIEW: Quick Introduction
A quick introduction to “Messenger Library” for LabVIEW. Wiki: https://labviewwiki.org/wiki/Messeng…

by James Powell, 2 years, 6 months ago, 0 , 0
Messenger Library Instructional Videos
There are about 10 instructional videos on YouTube. The example project that is developed in these…

by James Powell, 4 years, 4 months ago, 0 , 3
resource
Post Messenger Library videos as resources
We see there are many great tutorial videos for the Messenger Library: https://www.youtube.com/cha…

by VIPM Community, 4 years, 4 months ago, 1 , 2
suggestion