02-16-2024 01:43 PM
We have multiple instances of a system and our software is setup to make an assumption about the number of a PXI chassis in MAX. Sometimes, on certain systems, this chassis number is not as expected. Changing it manually in NI MAX is simple enough, but wanted to ask if there is an automated or programmatic way to update this number. I didn't see a way to do it with nisyscfg. We've also tried ResetNIConfig.exe but it does not seem to affect chassis numbers.
02-16-2024 05:50 PM
What do you mean by the chassis number? There is no chassis number in NI MAX. Do you mean the PXI1Slot2 in the Name field?
02-20-2024 08:34 AM
Interested in updating the actual chassis number under Devices and Interfaces:
This can be done manually in NI MAX with a right-click of the chassis and selecting Renumber...
I'm interested in doing this programmatically.
02-20-2024 10:59 AM
You can do this with a System Configuration Hardware Property node.
You may need to update PXI Platform Services to get these properties to show up.
02-20-2024 12:10 PM
Thanks Captain_K, unfortunately we are not using LabVIEW. We would be able to use C++ or anything .NET, scripting would be ok too.
02-20-2024 07:00 PM
NI System Configuration API does support .NET.
Installing NI System Configuration .NET Examples
02-21-2024 08:01 AM
So after installing PXI Platform Services, nisyscfg was updated to include nisyscfg_pxi.h which contains the property "NISysCfgPxiPropertyChassisNumber". Its type is NISysCfgPxiProperty and I'm having a hard time figuring out how to use it with nisyscfg functions. The NISysCfgGetResourceProperty and NISysCfgGetSystemProperty functions want a NISysCfgSystemProperty type. Can I just typecast or is there a different function I should be using?
I've looked through all of the documentation I can find and even tried a dumpbin on nisyscfg.lib to see if there were any functions I'm missing - it's not clear how to get/set PXI properties.
02-21-2024 11:21 AM
I'll answer my own question. We found just passing the value of NISysCfgPxiPropertyChassisNumber to NISysCfgSetResourceProperty worked correctly, I imagine casting the enum to a NISysCfgResourceProperty would also work