LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

how to program compactrio as hot swapable

We are using CompactRIO 9004 for one of our application. Program is developed for data acquisition using AI 9215 and 9237. (mounted in slot 1 & 2)
 
As crio modules are hot swappable , we desire to change the slots. The program does not work with this change.
How to program FPGA independent of slot in which module is mounted. ??
Is it possible to programmincally recognise , module and corresponing slots mounted on the chassis ??
 
S/W && H/W used :  Compactrio 9004 controller  , 8 slot 3M chassis
Labview 8.0
 
 
Please treat the matter as very urgent
 
0 Kudos
Message 1 of 3
(3,662 Views)
Hi,
 
The FPGA communicates with the modules based on the slot configured in the bitfile. Since you have two different cRIO modules configured on the two slots, you will have to recompile the FPGA VI each time you hot swap the modules. In essence you can only hot swap the 9215 on slot 1 with another 9215 and likewise for the 9237 without recompiling the FPGA VI.
 
One option will be to create separate bitfiles for each module configured on the two slots and manually select which bitfile to download and run from the host VI.
 
Tunde.
0 Kudos
Message 2 of 3
(3,630 Views)
Just to extend Tunde's comment, there is a way to programmatically detect what module is inserted on a given slot. All module's provide a "Module ID" property that is accessible by placing an FPGA Property Node and linking it to a module (a given slot). With that logic in your FPGA VI, you can detect what module you have in each slot.

Based on that information, as Tunde's pointed out, you can make your host VI download a different bitfile (or FPGA VI) depending on what the state of the hardware is.

One of the things to note about the Module ID property node, is that it could change the timing of your acquisition if you are not careful on when to run it.

Hope this helps.

JMota
National Instruments R&D

0 Kudos
Message 3 of 3
(3,619 Views)