Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Delphi+At-MIO-16E-10 multithreading, also board identification

Hi Everyone,

I've got two questions to ask....

Has anyone done multithreading using Delphi to control a
nidaq card?

Basically, I want to know if it feasible to
output a function to an analogue output channel using
WFM_op, for example, in one thread, while doing data
acquisition in another thread (using scan_op).
Does anyone know of the limitations here?

Furthermore, since we sometime use multiple cards in the same
computer, if would be useful if we could call a routine to
identify which cards are present (and assigned devicenumbers)
and what board type they are. Note that I don't want to change
the board addresses, just determine which ones are present, and set up
the code depending on
which board the user chooses.
I haven't come across a function that can does these things and I'd
appreciate
any advice.

--



Regards,

Roland


----------------------------------------------------------------------------
----------
Dr. Roland I. Keir Phone: +61 8 8302 3252 (Lab) / +61 8 8302
3024 (Office)
School of Physics and Electronic Systems Engineering Fax: +61 8
8302 3389
University of South Australia E-mail:
Roland.Keir@UniSA.edu.au
The Levels Campus, Mawson Lakes, SA 5095
www.laser.unisa.edu.au
----------------------------------------------------------------------------
----------
0 Kudos
Message 1 of 4
(2,375 Views)
Hi Roland,

>I've got two questions to ask....
>Has anyone done multithreading using Delphi to control a
>nidaq card?

Not in Delphi, in Java. No problems running change detection
together with digital in- and output (on a 6527 card). Ni-Daq has no
problems with multithreading. I don't know how the AT-MIO-16E board
behaves.

>Furthermore, since we sometime use multiple cards in the same
>computer, if would be useful if we could call a routine to
>identify which cards are present (and assigned devicenumbers)
>and what board type they are.

You can poll each device number (1 to 16) using Get_DAQ_Device_Info
with infoType = ND_DEVICE_TYPE_CODE. It returns an infoValue, which
is an identifier for the device type. It's ugly, but it works. See the NI-Daq
help
o
n Get_Daq_Device_Info and Init_DA_Brds.

Hope it helps,
Walter van Iterson
0 Kudos
Message 2 of 4
(2,375 Views)
Hi Walter,

From your comments it looks like it will be possible.
Many thanks for your advice, you've saved me
a great deal of time.

Cheers,

Roland


"Walter van Iterson" wrote in message
news:3924fea1@newsgroups.ni.com...
>
> Hi Roland,
>
> >I've got two questions to ask....
> >Has anyone done multithreading using Delphi to control a
> >nidaq card?
>
> Not in Delphi, in Java. No problems running change detection
> together with digital in- and output (on a 6527 card). Ni-Daq has no
> problems with multithreading. I don't know how the AT-MIO-16E board
> behaves.
>
> >Furthermore, since we sometime use multiple cards in the same
> >computer, if would be useful if we could call a routine to
> >identify which cards are present
(and assigned devicenumbers)
> >and what board type they are.
>
> You can poll each device number (1 to 16) using Get_DAQ_Device_Info
> with infoType = ND_DEVICE_TYPE_CODE. It returns an infoValue, which
> is an identifier for the device type. It's ugly, but it works. See the
NI-Daq
> help
> on Get_Daq_Device_Info and Init_DA_Brds.
>
> Hope it helps,
> Walter van Iterson
>
0 Kudos
Message 3 of 4
(2,375 Views)
Roland,

I do not know how the awnser to your question. However I would like to ask if you know how i output two signals simult. in Delphi using 1 card and the FRM_Op function.
0 Kudos
Message 4 of 4
(2,375 Views)