The demo/office version of GoldExI uses EMDAQ.DLL (or EMDAQ32.DLL) instead of NIDAQ.DLL (NIDAQ32.DLL). In the rest both versions are completely identical. In addition to the emulation of some demonstration circuit (in the current version it is a small Josephson junction), EMDAQ.DLL is a convenient way to control non-NIDAQ devices (DAC/ADC cards) using GoldExI. Although, this approach requires some additional programming i.e. you, as person who is interested to run GoldExI with non NIDAQ cards, have to write your custom EMDAQ.DLL which will, from one side, emulate a subset of functions of NIDAQ.DLL and, from other side, communicate with a real hardware installed at your place.
This concept was already implemented in two research labs:
IRE RAS, Moscow.
They had an ancient PC-Lab-718 DAC/ADC card and wrote a EMDAQ.DLL for
Win3.11 which fools GoldExI and tells to it that there is a NIDAQ
card with unknown ID having 8 ADC and 2 DAC and capable of doing this
and that.
In addition, custom EMDAQ.DLL can be used as a dispatcher between GoldExI and mixed OEM hardware e.g. NIDAQ cards, 3rd party cards, GPIB etc...
Currently GoldExI uses about 10 of NIDAQ API functions. Every time it uses new function, all custom EMDAQ.DLLs should be updated to work with new version of GoldExI. In turn, GoldExI provides a limited (I hope I will have time to provide more) support for such a new hardware.
To facilitate the development of your custom EMDAQ.DLL, I provide the source code of EMDAQ.DLL included in the demo version of GoldExI. This EMDAQ.DLL emulates a Josephson junction connected to the 0-th DAC and 0-th ADC channel of the 1st emulated card and it also emulates resistor connected in series with Josephson junction so that the voltage on the resistor is applied to the 1st ADC channel of the 1st card. The Josephson junction is assumed to be placed in a magnetic field which magnitude is proportional to the value set on 1st DAC channel of the 1st card. This current is monitored by channel 6 of the 1st ADC. The bias current trough JJ and resistor can be monitored using channel 4 of the 1st ADC.
GoldExI supports custom DAC/ADC card IDs and list of gains by reading the name of the card with unknown ID from nidaq.ini file situated in the same directory as GoldExI.exe. The list of valid gain factors can be also specified. This feature is great also for the brand new NI-DAQ cards, which you just bought and wanna use, but existing version of GoldExI does not know yet about the existence and characteristics of this card. So, all you have to do is to fill nidaq.ini with the proper information like this:
;brand new (imaginary) NIDAQ card
[301] ;card ID (see NIDAQ docs for this ID)
name=NI:PCI-9876
gains=1,2,3,5,8,13,21,34,55,89
;Meilhaus card via EMDAQ.DLL
[31000] ;custom ID
name=ME:AD-Link PCI-9112
gains=1,2,5,10,100
Now, the IDs of NIDAQ cards are in the range from 0 to 300 and continue to grow as NI releases new DAQ products. To be safe I recommend to choose a custom ID somewhere in the range from 30000 up to 32000. Good idea is to let me know which ID you choose for your card (write to me also what kind of card is it) so I can maintain a list of IDs already in use to avoid conflicts.
A table of occupied card IDs (in addition to those of NI):
card ID |
card name |
Description |
31000 |
Meilhaus
Electronics |
"KVARZ" Research Inst., Nizhnii Novgorod, Russia, 1999. |
31234 |
PC-Lab 718 (unknown vendor, may be HP?) |
Moscow, Russia, 1997 |
emdaq.zip
(12kB)-- the source code of EMDAQ.DLL used with demo version of GoldExI.
[Review]
[Download]
[Gallery]
[Links]
[F.A.Q.]
[HerStory]
[Bugs]
[Suggestions]
[Author]
[EMDAQ.DLL] [Home]
[forum]
Designed
by Edward
Goldobin.
All Rights Reserved |
|