Qbus is a messaging library for sending and receiving messages or data between asynchronous processes.
Description
Qbus has two types of messages:
Each Qbus message consists of two parts: its name/type and its value. The Qbus API stores message values as variant data. Because message values can be of many data types, such as strings, scalar numerics, and arrays of various data types, Qbus must handle data of many different types in a generic way. The variant data type, a generic container for all other types of data in LabVIEW, is one solution for these situations.
Examples
The palette for the Qbus Messaging Library can be found under Addons.
The library will be used typically in a queued messaged handler (QMH) pattern. Below is a simple example showing a common implementation of a QMH with the Qbus Messaging Library.
Below is a snippet showing use of broadcast messages:
Requirements
Software
References
<links to related information or content>
Support
Please post comments, feedback and questions in the comments below.
History
Version | Date | Description/Changes |
---|---|---|
1.0.0.2 | March 2016 | Initial Release |
Downloads
Use VI Package Manager (VIPM) to install this library.
Good idea! Did you think about using Extensible Session Framework as basis of this tool? Also there is a dictionary library you could use instead of directly using variant attributes.
https://forums.ni.com/t5/Reference-Design-Content/Dictionary-Library-Key-Value-Pairs/ta-p/3537786
I can't speak for Jack but I'm not a huge fan of the ESF for more general uses like this (or the dictionary) as it makes everything a global. As I understand it ESF was mostly targeted at teststand and it definitely can make sense in situations where you're crossing application boundaries (I'd feel the same way about using ESF to communicate with a web service), but turning everything into a global is a mistake in my opinion.