Data Acquisition (DAQ) and Control from Microstar Laboratories

Knowledge Base: Control

  • See the list of other topics for category Control

Q10002 Low level optimization by direct device control

Tags: Help, DAP, DAPL, device drivers, control, optimization, host applications

Applies to: All DAP models and all DAP software

I want to optimize my control processes by having my PC application send data directly to hardware devices. Can I do this?

No, you can't. And if you could, this would make things worse, not optimize them.

This idea faces two major challenges.

  1. Completely configurable measurement devices like a DAP are much more than simple registers, counters, and flip flops operated by firmware. You cannot "run" DAP hardware. That would be like trying to run an automobile by operating the fuel injectors and ignition signals for each cylinder.
  2. The second problem is that you can't directly access hardware devices at the application level in a Windows system. Your application program must work through several layers of application "API" interfaces, operating system task management, virtual and physical device drivers. The same problems apply twice, once for getting data in, and again for getting data out. Operating hardware devices is difficult for all operating systems, not just Windows.

The DAP solution to getting through the tangle of software is to bypass it. Devices are controlled directly by the DAPL system. But that means they are not controlled by API's and software layers. You must use the DAPL services. But since the DAPL services are already optimized to give you performance beyond what you could possibly get otherwise, this isn't necessarily a bad thing.