Using windows messages to interface with data acquisition

2 visualizzazioni (ultimi 30 giorni)
Hello,
We are trying to build a Matlab GUI that interfaces with a custom instrument. We have a DLL that handles data acquisition for this instrument, and which posts a windows message to a user-defined Window handle when there is data available for retrieval.
Is it possible to catch this Windows message in Matlab and activate a callback that will communicate with the instrument DLL (using calllib) then store the data in one of the global variables in the main GUI code for display/processing/storage (the data display/processing/storage would be handled by timers or clicking other buttons on the main Matlab GUI).
Thank you, Stefan

Risposte (2)

Jing
Jing il 13 Dic 2012
I think if the Windows message is a output of DLL, MATLAB sure can accept the output, but how to activate certain callback using this output will be more tricky.

Philip Borghesani
Philip Borghesani il 14 Dic 2012
Modificato: Philip Borghesani il 14 Dic 2012
To do this you will need a mex or loadable c function that creates a dummy window that can receive the messages and does the needed setup for the notifications. Doing this correctly is quite a bit of work I suggest using the Data Acquisition toolbox if it supports your hardware.
  1 Commento
Stefan
Stefan il 14 Dic 2012
Thanks for the suggestion. Do you know of any example code for the mex function? DAQ toolbox would be difficult because even though the actual DAQ card is supported, the DLL that we have already handles quite a bit of signal post-processing and is also part of the instrument control loop, plus it contains low-level work arounds for bugs in some of the data acquisition hardware itself that have never been fixed by the original vendor.

Accedi per commentare.

Categorie

Scopri di più su Data Acquisition Toolbox Supported Hardware in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by