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.
After about 4 or 5 VME Map commands using different programs I can not open anymore VME spaces. Each program opens a window of about 1-2k. I have the hardware configured for 256K or A32 sharing and PCI. But even when I increase this number I get the VME MAP Error. Is there a limit to the number of threads that can map to VME at any one time?
There are a maximum of 4 windows that you can map at any one time using the viMapAddress (NI-VISA API) or MapVXIAddress (NI-VXI API) commands.
As an alternative, considering using high level operations like viIn or viOut for register accesses or viMove operations for block moves of data. We optimize our high level access operations so that for many scenarios, it might actually be faster to use the high level operations instead of manually mapping a window and using peek/poke operations.
With the NI-VXI driver that you have installed, you will find examples that have shipped with the product.
With a VXI/VME system, the preferred API is NI-VISA.
For example on Windows systems, you could look for examples based on NI-VISA under: C:\VXIpnp\WinNT\NIvisa\Examples (note that "WinNT" may be replaced with "Win95" on some versions of Windows).
You can also check out the Development Library on the NI Developer Zone for VXI/VME example code.