01-14-2014 08:45 AM - edited 01-14-2014 08:47 AM
Hi,
I have a cRIO-9076 controller chassis with a NI 9025 (AI DAQ) and a NI 9213 (Temp DAQ) inserted into slots 1-2 respectively. I need to figure out the following error conditions in software -
1. Module not present
2. Modules present but not instered in the correct position
I was able to use the FPGA I/O Property Node to retrive the Module ID for each DAQ (see image below), but the Module IDs simply get reversed when I change the position of the DAQs.
Is there a way to match the Module ID to the physical Slot ID on the chassis so I can check for error condition 2 ?
Thanks,
Gagan
01-15-2014 02:46 PM
Hi gmahan
That property node in the FGPA will return a decimal number, which represents the hexadecimal number of the serial number.
If the module is not present the serial number will be FFFFFFFF, if it is present it will return the corresponding serial number.
Probably in your project you named one of the modules as “Analog input DAQ” and that one corresponds to a specific slot, so what we could do is compare the serial number of the module that should be there ( a constant or a table) with the information that we get form the property node.
Regards
Esteban R.
01-16-2014 07:27 AM
Thanks for the response. That is exactly what I did, I am comparing the returned module ID to what I expect the module ID to be for that SLOT.
I am wondering if this code will break if I were to download this bitfile to another cRIO chassis with the same configuration. My application requires multiple cRIOs to be running the same code, I am hoping i can simply download the bitfile to multiple targets, without worrying about causing runtime issues due to my naming convention.
01-17-2014 11:36 AM
Hi
There is no real reason why this should not work as you want, if the module id does not correspond to what is expected it will depend of the code what decision to take.
I check with tow modules of the same type and replace them to see if it returns the same module id.
Regards
Esteban R.