AnsweredAssumed Answered

vrf Problems with READ Transactions. Vee 6.0

Question asked by VRFuser on Jan 18, 2004
> a). How long can the gap be between a WRITE Transaction
      completing and getting the READ Transaction set up.
      Can anything be done to reduce this.?

If they're in the same direct IO box I'd think it would be ASAP - like less
than milliseconds. However, "when the Lockin next stores a data point it
also sends a message to the PC" seems to indicate a loop with some kind of
termination condition, maybe a read timeout? Anyway, it shouldn't be *that*
big a deal even if the read is in a loop. What's the Lockin's timeout?
250ms. should be plenty. Anyway, if the instrument is setup to SRQ whenever
it sends data then the driver will service it within microseconds of the
SRQ. Latency in NT kernel drivers is difficult to pin down exactly, but at
the kernel level a microsecond is an awfully long time.

> b). When a READ Transaction is executing can anything else
      in the programme run. (i.e. Any Time Slicing going on
      during a READ?)

Well, assuming a read transaction uses the Windows ReadFile paradigm, then
yes. Any other threads in the system can execute while the driver is waiting
on data arrival or while other Agilent code (i.e., IO Libs) is waiting on
the driver for data arrival. The answer is really heavily "it depends"
based: there are two basic models to use (wait or callback) and I don't know
how it's done. If you mean in the VEE program, I wouldn't think so but I
don't know. Direct IO Objects are atomic - that is, while VEE is "in the
box" nothing else (in VEE) executes.

Now, if you're in a loop then there are other objects in the receiver
function and VEE will slice with other parallel "threads". You can nix that
by calling the receiver function (the function with the short loop that
reads points and terminates on some condition) via a formula box who's
formula is input via the Formula control input pin. VEE will not timeslice a
function so called.

There may be other options too. If you have an ActiveX control for the
instrument for instance, data arrival will fire some event. An ActiveX event
caught in VEE will execute completely to it's exit and not time slice with
any other VEE code.

You are currently subscribed to vrf as:
To subscribe send a blank email to "".
To unsubscribe send a blank email to "".
To send messages to this mailing list,  email "". 
If you need help with the mailing list send a message to "".
Send your favorite VEE example to "" for possible inclusion in VEE 7.0!