When using the NI 9144, there are several options for exchanging data between the main Real-Time Controller and the EtherCAT Slave using LabVIEW. Depending on your requirements, you might need to program the FPGA of the NI 9144 for maximum customization and flexibility or use the NI Scan Mode for simplicity. The methods you could use for these two cases are described below.
In this case you can directly access the inputs and outputs of the modules by dragging their corresponding I/O variables to the VI running on the Real-Time Controller. These variables will be updated at the same rate of the Scan Engine.
As there are I/O variables, starting with LabVIEW 2010 you can also access them using the Shared Variable API with the Scanned Read, Scanned Write, Direct Read and Direct Write VIs.
The communication with the NI 9144 will always rely on the Scan Engine. Therefore, the only method available to communicate with the FPGA of the NI 9144 to your Real-Time controller will be through User-Defined I/O Variables. You will not be able to use other methods like DMA FIFOs or Read/Write Controls. User Defined I/O Variables will also be updated at the same rate of the Scan Engine.
Please consider the documentation below for more information on setting up the NI 9144 and User Defined I/O Variables.
Note: In versions of LabVIEW older than LabVIEW 2009, the NI 9144 can only be used with the CompactRIO Scan Interface and the FPGA cannot be programmed.