-
Try out the new Jake: AI Coding Assistant for LabVIEW (beta)!
Get answers to questions about LabVIEW and discuss your code.
Omni-Bus by TSA - Toolkit for LabVIEW Download
This is a Tag to Variable API
Version | 2.0.1.6 |
Released | Jul 01, 2024 |
Publisher | TSA |
License | GPL-3.0 |
LabVIEW Version | LabVIEW>=21.0 |
Operating System | Windows, Mac, and Linux |
Dependencies | jdp_science_jsontext jdp_science_lib_common_utilities tsa_lib_abstract_data_classes |
Used By | tsa_lib_shared_variable_bus tsa_lib_behaviour_tree |
Project links | Homepage Discussion |
Description
The Omni-Bus Maps Tags to Most LabVIEW datatypes.
The difference between this and other Tagbus API's, the "Bus" API that plugs in to the Omni-Bus class factory to make Tag to Value mappings from multiple different buses.
The buses extend the TSI Abstract Data Classes and so the data can be accessed as the abstract class or as the specific variable. There is API to access both methods
Buses included are:
- 'Local Bus', this is a DVR based local variable. But future buses include shared variables, cRIO scan engine IO,
- 'Aggregator Bus' this adds descrete classes to the API, such as constant classes.
- 'Remap Bus' this is a wrapper bus is used to rename the exisiting tags
- 'Fault Injection Bus', This is a wrapper bus that wraps the other bus value objects with the Fault Injection objects.
Examples are available
Release Notes
V2.0.1.6
The previous changes broke Remap bus. This is now fixed
Added Example 9 that highlights the usage of the "Multi" value access objects that makes it easier to access multiple values of the same type.
v2.0.0.5
Added the "Fault Injection Bus.lvclass" decorator class. When added after other "Bus Access" Classes it can their value objects with the Fault Injection Value objects that add additional Fault Insertion Functionality.
An Example 8 is added to demo the Fault Injection features.
Other changes are:
- LabVIEW polymorphic VI's don't work with dynamic dispatch methods so a wrapper "Static Get" VI's was needed. With changes I have made to how I implemented Fault Injection, the requirement for dynamic dispatch the omni-bus methods was not required so I was able to remove the redundant wrapper VI's. The downside is the polymorphic Get VI now point to different Get VI's and they will need to each reselected.