Grant:
The answer is that while VISA provides exactly this kind of multi-interface interoperability, it really depends on the modules you are using.
If you are using NI modules such as a VXI-DIO and a PXI-DIO, and you are using the NI-DAQ API, then yes we make that transition transparent.
If you are using third party modules, it depends on how they present their functionality. We recommend that vendors write instrument drivers and use VISA to do the I/O for both VXI and PXI. An example of a company that has done this is Ascor - you can use their switch modules with their instrument drivers and VISA makes that work seamlessly.
I cannot speak for all vendors, although I do know that many of those who provide modules in PXI format do use VISA for their inst
rument drivers. If you are programming directly to VISA and not using instrument drivers, you will need to take into consideration the interface differences. For example, VXI has A16/24/32 spaces, whereas PXI has BAR0/1/2/3/4/5. But as long as the registers within a given address space behave similarly, then all the other operations like viMapAddress and viIn16 and viOut32 work identically.
I hope that helps you.
Dan Mondrik
Senior Software Engineer, VISA
National Instruments