The TagBus Engine Communication (TEC) Module allows DCAF applications to share data between engines using UDP communication. This allows DCAF engines to share data while still minimizing coupling and code dependencies.
The DCAF TEC module installs a class implementation of tag bus functionality that allows DCAF applications to share data between DCAF engines by copying data to/from engine-specific tag buses on either side of an exclusive UDP connection between two paired UDP modules. The TEC modules implemented using UDP broadcast and receive data on configured ports. Each broadcast datagram includes a header with a DCAF key and a unique key for the paired modules and these keys are verified on each received datagram before the data table is updated. The TEC module follows the typical plugin module format that includes configuration, editor node, and runtime classes. The runtime class override for input receives UDP data on the ‘receive on port’ and adds it to the local data table which then updates the engine-specific tag bus.
The runtime class override for output pulls data from the engine-specific tag bus, updates the local data table, and then broadcasts the data via UDP from the ‘send from port’ to the ‘send to port’.
Currently, paired TEC modules use UDP communication exclusively. Other transport protocols may be supported in the future.
Configuration of the TEC Module
Use the LabVIEW>>Tools>>DCAF>>Standard Configuration Editor to configure DCAF applications. Under each Standard Engine in your application, you may add a TEC module to communicate data by right-clicking the engine and selecting Add>>Remote I/O>>TEC. This selection adds a UDP Module to the engine.
In the DCAF Standard Configuration Editor, selecting the UDP Module launches the TEC configuration UI (TEC editor node.lvclass:configuration UI.vi). Configuration of tag engine communication includes configuration of tags, mappings and UDP modules within each engine. Most of this configuration is automated once the UDP modules are paired and tags have been created from other modules (such as the UI Reference Configuration modules in the engines in the application above). Remember that all DCAF applications enforce the safe policy that each tag may have only one writer. Here is the configuration of paired UDP Modules (A and B).
Channel Mapping (Direction either input = ‘From External Engine’ or output = ‘To External Engine’ determined by module configuration that created ‘Available Tags’):
Module Settings specified:
The ‘send to port’ and ‘receive on port’ are automatically set to complimentary values when modules are paired. The ‘send from port’ must be unique for each UDP module or your application may return Error 60.
Steps before Configuration
If your application requires a user interface (UI) for the user to set data values or read current data values, create a UI VI. Then, add a UI Reference module and configure it from the UI VI.
Install the DCAF TEC module directly from VI Package Manager: DCAF TagBus Engine Communication (TEC) Module
Visit Collaborating on the Development of DCAF to learn how to contribute your own improvements to this module directly.