Data Acquisition (DAQ) and Control from Microstar Laboratories

Knowledge Base: Installation

Q10105 Getting repeatable DAP board naming

Tags: Help, board names, DAP names, DAP order, enumeration, hardware slot, Windows device, UNC

Applies to: DAP, iDSC

I assembled a multi-DAP system in my test lab, building things up until everything worked together correctly. But after I moved everything to an identical second machine, the names Dap0, Dap1, and so forth were scrambled — so of course my application software no longer worked correctly. How did this happen, and how can I fix it?

Windows did it. (And this is not a problem unique to Windows.)

Every time Windows boots up, it goes through a process of identifying all of the hardware in your host system. As it finds each device, Windows informs the driver software associated with that device. It does this in a precise and completely consistent order — as long as you continue using the same computer hardware and same operating system software installation, this sequence never changes. But the problem is that the sequence is explicitly undefined.

The DAPcell "server side" software (the part that interacts with DAP hardware) will learn about the presence of DAP boards and xDAP units from the Windows system, in whatever order Windows happens to report them. This is where the "DAP names" are assigned. The DAPcell software will retain information in its own little "database" in the Windows registry, associating the hardware codes reported by the Windows system, the board serial number, and an assigned resource name such as Dap0, Dap1, and so forth.

Suppose for example that you had one DAP in your system and added a second DAP board. Suppose that when Windows boots, it happens to find the added new board first. When the DAPcell software sees that there is no record of this board's existence in its little database, it creates a new record, and this board is registered as Dap0. When Windows continues and detects the other board — the one there originally — it will find a record for this hardware with the assigned name Dap0 — but that can't be right! Another board is already using that name. So DAPcell updates the record, assigning a new name Dap1. If the DAPcell software found the matching hardware in its database, with a name not already used, it would continue using the old name, even if this left "gaps" in the sequence.

You can't do anything about the order that Windows reports the hardware it finds, but you can do something about the accumulated history in the DAPcell database — you can reconstruct it so that the numbering of the DAP names corresponds exactly to the order that devices are reported by Windows, as follows.

Reordering DAP devices

DAPcell Server 6.00 and newer (on DAPtools Software CD versions 5.00 and newer) provides an option to reorder DAP/iDSC/xDAP devices using the Data Acquisition Processor application in the Control Panel.

Install all of the DAP units you wish to use, then perform the following steps:

  1. Go to the Control Panel, and run the Data Acquisition Processors control panel application.

  2. Click on the Browser tab to select it.

  3. Expand the "device" tree as needed until you can see your PC host. Right-click on the PC host icon and select "Reorder DAP default names". Click "Yes" when asked whether you want to reorder the default names.

After you have done this, the DAP names shown in the Browser tab will match the sequence that Windows identifies hardware. This process is repeatable, so if there is any doubt, there is no harm to apply the re-ordering again.

Establishing Reproducible Names

Before working out all of the other details of the application system you are building, install/plug-in all the DAP software and DAP devices in the host. When the system is stable and boots correctly, with all of the DAP hardware present and identified, perform the "Reorder names" operation in the Data Acquisition Processors control panel application as previously described.

When you are back again at the Browser tab in the Data Acquisition Processors control panel application, click on the DAP units displayed there. Observe the serial numbers. This will allow you to identify the hardware slot associated with each DAP name, and from that determine the order in which physical locations are checked and names assigned by DAPcell and Windows at boot time. If this does not give the naming sequence you want, you can make some adjustments by swapping DAP boards in slots or swapping USB plugs, and reordering again. This gives you a lot of control over the "default order," but not total control — for example, there is nothing to force the system to count its PCI slots before counting its active USB ports.

Consistently reordering the board naming as described in this article, with appropriate board placement, can make the board identities Dap0, Dap1 and so forth repeatable. Thus, if you wire thermocouples to Dap0 and pressure sensors to Dap1, your data acquisition software will never shuffle the two kinds of measurement data. However, mounting the boards consistent with the Windows ordering predicts nothing about mechanical mounting locations. Even subtle chip set or motherboard model revisions can affect the physical slot ordering. If physical requirements force you to place boards at certain physical slot positions, the board reordering process will at least give you some consistency, and tell you how the Windows system will order them, so you can adjust your software application or your DAPcell address mapping as described in topics Q10106 and Q10107.


See topic Q10106 for more information about software path remapping.

See topic Q10107 for more information about path remapping in the server software.

See DAPcell Manual for more information about DAPcell software systems.

See Data Acquisition Processor control panel application manual for more information about DAP board configuration.