Distributed Control & Automation Framework (DCAF)

cancel
Showing results for 
Search instead for 
Did you mean: 

DCAF TagBus Engine Communication (TEC) Module Documentation

Overview

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.

 

Description

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.

 

image001.png

 

 

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’.

 

image002.png

 

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.

 

image003.png

 

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).

 

Module Pairing:

 

image004.pngimage005.png 

 

Channel Mapping (Direction either input = ‘From External Engine’ or output = ‘To External Engine’ determined by module configuration that created ‘Available Tags’):

 

image006.pngimage007.png

 

 

Module Settings specified:

 

image008.pngimage009.png

  

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.

 

image010.png

 

 

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.


Software Requirements

  • LabVIEW 2014 or later

Limitations

  • The TEC module supports the same datatypes supported by DCAF tags
  • UDP data may be lost and/or received in a different order than sent

Installation

Install the DCAF TEC module directly from VI Package Manager: DCAF TagBus Engine Communication (TEC) Module

 

Support

Visit Collaborating on the Development of DCAF to learn how to contribute your own improvements to this module directly.

 

Doug
NI Sound and Vibration
0 Kudos
Message 1 of 1
(4,479 Views)