DCAF provides a Static Channel Module sample project that allows developers to create custom processing modules with a fixed number of inputs and outputs, and run the processing logic as a module within the framework.
Figure 3. DCAF Static Channel Module Template
This sample project provides a dialog which the developer uses to specify the names and data types of the module inputs and outputs. Once entered, the sample project will script out the majority of code necessary for the new module. In many simple cases a user can add their logic in a single VI, such as the one below.
The framework offers many extension points for customizing module behavior, but default implementations are automatically created by the project template script. The module can be customized for initialization or safe-state logic, adding new configuration parameters to the editor, or by adding a custom glyph for display in the editor’s tree control.
The main limitations of this simple solution for processing module development is that the quantity, name, and data type of all inputs and outputs must be static. Changes to inputs and outputs are facilitated by an easy-to-use script, but the final design must be decided at edit time instead of at run time.
The framework supports modules with dynamic run time channels, like a generic data logger whose inputs are configured in the editor. Their development is more complex, both due to requiring a greater understanding of the framework as well as the general challenges associated with developing dynamic code. Overall, the Static Channel Module sample project provides an easy way to create custom execution logic that benefits from the framework rules without a lot of complexity.