Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

Is it possible to delay GPIB response without causing a timeout?

I understand that a GPIB slave needs to respond within a certain time to avoid a timeout error from the master.

 

However, if I'm the slave, and the command the master has sent is going to take a very long time to to perform, what can I do on the GPIB to tell the master that I'm still processing and to not move on (and not timeout)?

 

According to the datasheet for the GPIB chip (NI NAT9914 / TI TMS9914A ) there is a GPIB hardware handshake line for 'Not Ready for Data', but how can I hold off the bus once I received the data?

 

0 Kudos
Message 1 of 3
(2,648 Views)

Hello blipton

I guess you could force some delays in between VISA functions, similar to the step 4 of the following document:

http://digital.ni.com/public.nsf/allkb/874B379E24C0A0D686256FCF007A6EA0

 

Additonally, you could avoid timeout by working with VISA events instead. 

http://zone.ni.com/reference/en-XX/help/370131S-01/ni-visa/visaevents/

0 Kudos
Message 2 of 3
(2,584 Views)

When you send your SCPI command(s) on GPIB, attach the following to the string

*OPC?\n

This is a command that allows the bus to wait until all previous commands sent to the instrument have been processed.  It should always return a "1" as the response.  If it returns a "0", then it is still processing the command requests.

 

Help the Community (and future reviewers) by marking posts as follows:
If it helped - KUDOS
If it answers the issue - SOLUTION
0 Kudos
Message 3 of 3
(2,575 Views)