From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
08-19-2010 09:17 AM
Here is my current setup:
Hardware:
cRIO 9025 with 6x32 channel AI modules and 2x16 channel TC modules
NI 9144 with 8x32 channel AI modules connected via EtherCAT to above
Software Architecture:
FPGA on cRIO 9025 running two FIFOs (Target to Host) pumping AI data and TC data (I cannot use the same FIFO for this because the FXP data returned by the AI/Tc modules have different encoding)
Host RT VI is sucking data from the FPGA via FIFO reads and streaming to disk. However, I can't access the 8xAI modules on the NI 9144 with DMA... how am I supposed to read this data?
08-19-2010 09:53 AM
It seems I'm forced to use a "Target Scoped" FIFO on the NI 9144's FPGA... what is this? How am I supposed to transfer data from the NI9144 to the cRIO 9025 host VI?
I'm trying to do 256 channels at 1000Hz... what other architectures can I use to achieve this? There is basically no documentation describing how to do this.
08-19-2010 10:08 AM
The 9144 chassis doesn't support DMA or fronpanel control transfer. The only way to get the data to the RT Host is to create User Definded I/O variables in project for each 9144 Slave device. These UDVs support only single values and use the scan engine to transfer the data. Make sure you are not writing tom these UDVs faster then the scan engine transfers the data.
There are examples for this coming with the driver for LV.
DirkW
08-19-2010 10:17 AM
So basically i should just abandon FPGA completley and do this entire project in Scan Mode?
08-19-2010 10:22 AM
That would be the easiest if you like I/O variables. Otherwise you could go hybrid means mix scaned I/O and FPGA with UDVs on 9144 and 9025.
LV 2010 and Ethercat 2.0 introduced progammatic discovery and I/O for 9144.
DirkW
08-19-2010 10:24 AM
I was going to use an expansion chassis with one cRIO 9025 controller but found out that only User IO variables can be used to get data from one to the other. I decided to go instead with two separate controllers so they each can run their own program and FPGA intelligence and exchange data over CAN. That way they each have their own smarts and can buffer the exchange of data. A more expensive solution but then again it is more robust.
08-19-2010 10:45 AM
So I just tried reading 32x4 AI modules in Scan Engine mode @ 1000Hz from RT project... terrible. Lags behind by several hundred milliseconds.
I would like to see how they expect you to record data on over 128 channels @ 1000Hz.
08-19-2010 12:31 PM
Lags behind what? What are you trying to do? What is your LV version?
The 9144 ethercat scan engine combination is not build for speed, more for deterministic data transfer. 1KHz might be to much for a cRIO but should be easy for a PXI system.
DirkW
08-19-2010 01:40 PM
What I am trying to do:
cRIO 9025 with 6x32 channel AI modules and 2x16 channel TC modules
NI 9144 with 8x32 channel AI modules connected via EtherCAT to above
Record all channels @ 1000Hz.
08-19-2010 01:56 PM
So you are using scan mode to do that? The 9144 needs to switch to active mode and the cRIO doesn't so there could be a 100 ms difference in startup.
Besides that there is no hardware synchronization between RIO I/O and 9144 I/O.However all connected 9144s are harware synchronized to each other.
DirkW