Q10105 Getting repeatable DAP board naming
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:
Go to the Control Panel, and run the Data Acquisition Processors control panel application.
Click on the Browser tab to select it.
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.
L-----
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.