Getting Started with DCAF

Updated Apr 12, 2023

Environment

Software

  • Distributed Control and Automation Framework
  • LabVIEW
  • LabVIEW Real-Time Module

The Distributed Control and Automation Framework (DCAF) is an application framework designed to help developers by simplifying and accelerating the development of reliable and robust industrial and embedded control applications in LabVIEW and LabVIEW Real-Time. This tutorial orients you to the paradigm DCAF uses, how to install the core framework and find additional modules, and links to the hands-on guide.

Orientation

Hi there!  DCAF operates a little differently than most NI hardware or software products.  This section is meant to orient you to these differences.  A large underlying difference is that DCAF is community-driven and open source.  As such, we host our code on GitHub.

 

Source Code

The source code for all packages may be found on GitHub, in the LabVIEW-DCAF group (github.com/LabVIEW-DCAF).  Within this group, there are projects for different modules and components. 
You can download the current version of code, make your own branches of code, and submit pull request back to the main trunk.  If you are interested in contributing to the DCAF code base, you can communicate with the current code owners and developers through the Issues list on the project you are interested in.

 

Development Releases

DCAF uses an NI-managed build server, which automatically builds code after any changes are made on a related GitHub project.  This build server also exports all code to a Google Drive account.  If you are interested in using fresh builds of a given project, you may access the individual VIP files directly from this location.

Note that these are development builds that may not have been validated and may have any number of unknown consequences.  Use at your own risk.  The recommended starting point is to use release builds, which are posted to the Tools Network and are available for download through the steps in Installation, below.

 

Support

Support questions and other questions about using DCAF should be posted as a new discussion item in the DCAF community group.  This forum is actively monitored by DCAF users and contributors. As of Fall 2017, NI has officially added R&D support for the DCAF Core.

 

Issue Tracking

If you encounter any technical issues (bugs, unexpected behavior, etc.) or other concerns that you think require correction or fixes in the code, you may add them to the issues list in the appropriate project on GitHub by selecting the project and then navigating to the Issues tab.  If you are unsure where an issue belongs, you may add it to the “DCAF Core” project's issue tracker.

 

 

Installation

The main components of the framework are available in the JKI VI Package Manager (VIPM) and can be installed into your LabVIEW environment directly from VIPM.  The framework is compatible with LabVIEW 2014 or greater, although some framework modules may require newer versions of LabVIEW.  Since this is a community-driven product, additional modules may be available on GitHub before they migrate to distributing via VIPM.

If you have used or installed any previous versions (1.2.0 or prior) of DCAF or the Tag Bus Data (TBD) framework, please uninstall all previous framework components before installing the current version of DCAF.  If you have developed any application code using these frameworks, you should make a separate backup copy of your code before installing the new framework and opening your application code.

Installing DCAF using VIPM requires VIPM version 2014 or later.  Version 2013 and earlier are incompatible with the DCAF VI packages.  If you run into any issues, make sure you update VIPM. 
To install the main components of DCAF, start VI Package Manager, then browse to and install the DCAF Core package.  DCAF Core contains all of the required components of DCAF including examples and project templates, as well as a selection of the most commonly used modules:

Figure 1. DCAF packages in VIPM


Additional I/O and data processing modules for DCAF are available in VIPM and can be installed individually based on your application needs.  The list of known available DCAF modules is available here .

 

 

Hands On

To get started using DCAF, we recommend following the Hands On after completing the installation process.

We believe this to be the best way to jump-start your knowledge and abilities in DCAF. It walks through an example application (RT Temperature Controller) that will expose you to the workflow and main toolchain of DCAF.  The hands-on is estimated to take between 3 and 6 hours to complete.  It can be completed with or without a CompactRIO controller, although the exercise is more valuable if you try it with one.

Figure 2. RT Temperature Controller project
 

If you’re following our recommended learning pathway for DCAF, the next document is Understanding the Different Components of DCAF.