Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

missing interupts in Agilent scope

I have a very frustrating problem using the Agilent 54XXX drivers I have downloaded from NI.
I sometimes receive timeout problems when either trying to trigger or acquire measurement data.
Sometimetimes the vi will complete and I get proper data. Sometimes the particular vi will timeout giving me an error of 1073807339. I know the scope has satisfied the trigger parameters because I can see the waveform on the scope, but the vi timesout like it missed the interupt. This occurs across several different scopes, so I know its not my hardware.
I have tried changing the timeout values with no luck.
0 Kudos
Message 1 of 4
(3,552 Views)
Hello,

Can you post an NI-Spy capture of this? Here are directions on how to perform such a capture, it will show the operations and allow me to take a closer look at the issue:

http://digital.ni.com/public.nsf/websearch/8D890EC09B15C05A86256E6F007E3E86?OpenDocument

If possible, capture the behavior you describe (both working and yielding a timeout) and give a step-by-step "operations performed" list; this will make for an efficient interpretation of the spy capture. After the capture, you can simply save the file from the file menu.

I look forward to your repost!

Best Regards,

JLS
Best,
JLS
Sixclear
0 Kudos
Message 2 of 4
(3,528 Views)
I seem to be having trouble uploading the spy capture. I have tried quite a few time. Perhaps the file is too large.
I will keep trying.

The vi routine is basically :

open a visa ref to the scope
initialize (using the NI driver)
config ch1 for dc 50 ohm 8 volt scale
config horiz time base for 10ps/div 100ps f.s.
config trigger for rising edge/single sweep
setup acquisition / measurement settings
perform run/stop (wired true)
wait for trigger
acquire single measurement from scope (V amplitude)

The spy capture runs on for 1000's of line waiting on event. I edited most of them out to make the file manageable.

Thanks for looking.
I hope this posts
0 Kudos
Message 3 of 4
(3,476 Views)
Hello,

Interesting; things look ok and consistent with your description, where you seem not to be seeing the event you are waiting for:

25. viEnableEvent (0x00180FF8, 0x3FFF200B, 1, 0)

26. viDiscardEvents (0x00180FF8, 0x3FFF200B, 1), with Status: 0x3FFF0004 (VI_SUCCESS_QUEUE_EMPTY)

27. viWrite (0x00180FF8, "*CLS;*SRE 1", 11, 11)

28. viWaitOnEvent (0x00180FF8, 0x3FFF200B, 0, NULL, NULL)

.
.
.

1000. viWaitOnEvent (0x00180FF8, 0x3FFF200B, 0, NULL, NULL)


The viDiscardEvents() operation discards all pending occurrences of the specified event types and mechanisms from the specified session; in particular here, it returns with a VI_SUCCESS_QUEUE_EMPTY which means that the operation completed successfully, but the queue was already empty. Thus, I don't think it discards the event you are waiting for, however, you are correct that it seems to never come thereafter. There are a list of events in the NI-VISA Help; do you know which event you are waiting on? Since this is on your host (PC) side, you are expecting a notification of some kind (an event) from your scope. Thus, it would seem that although your scope is receiving the actual trigger signal, and performing the acquisition, the scope is not causing the expected event to occur (which indicates to your host PC that the action has completed). Perhaps, in fact, the acquisition is not completing; is it possible you are specifying a continuous acquisition and that your scope is simply never done? I realize you said this only happens sometimes, so my suspicion is that we have some kind of a programmatic issue. For example, perhaps the exact sequence of operations you are specifying is leaving the instrument in a state where it cannot give notification of the event after some period of execution. If there are examples with the driver, try taking a look at them and following the programming model as closely as possible. Also, I don't have the scope you are using, but if you can identify which driver VI is causing the error, perhaps I can download just the driver and take a closer look.

Try taking the above, albeit long, paragraph into consideration with respect to your program; hopefully it will provide you clues as to what is causing the issue.

If you continue to have problems, feel free to repost with any additional information you have and/or answers to questions or inquiries above!

Thank you,

JLS
Best,
JLS
Sixclear
0 Kudos
Message 4 of 4
(3,449 Views)