Distributed Control & Automation Framework (DCAF)

cancel
Showing results for 
Search instead for 
Did you mean: 

Scan Engine Module - Discover Channels?

What does the "discover channels" checkbox do on the scan engine module?

0 Kudos
Message 1 of 4
(5,222 Views)

It determines whether the discover channels method on the runtime class will execute on the target.  (vi.lib\NI\DCAF\Modules\scan engine\execution\discover channels.vi)

For the scan engine module, this will scan the cRIO system for C-series modules and create the necessary IO variables at runtime.

Cheers,

Matt Pollock
National Instruments
0 Kudos
Message 2 of 4
(5,043 Views)

Added issue to the github repo to add some mouse over documentation:

https://github.com/LabVIEW-DCAF/VariableEngineModule/issues/18

Cheers,

Matt Pollock
National Instruments
0 Kudos
Message 3 of 4
(5,043 Views)

The high-level of what this does is fairly simple. First some quick background, module channels and mappings are statically defined in the configuration editor. A user can change and reload a configuration, but they must know which channels they need. However we've seen plenty of applications with a desire to add and map channels based on the hardware that the system discovers at runtime. This is where that checkbox comes in.

DCAF provides a hook at initialization for plugin modules to add additional channels to their configuration at runtime. Scan Engine supports discovering I/O at runtime based on the modules plugged in, and the module will add new channels for any I/O that it finds if this checkbox is selected. The DCAF Standard Engine also supports the ability for other modules to request mappings for these new channels. The one example that supports this today is the TDMS module.

This functionality hasn't been used extensively. However combining these two capabilities, it should be possible to create a single DCAF configuration that automatically logs data to a TDMS file based on any channels that are discovered automatically from the Scan Engine module. Plug in a module and log the data to disk. Technically this functionality could be expanded to other modules in the future as well as needed. Let me know if you have questions about this.

Message 4 of 4
(5,043 Views)