08-23-2017 05:18 PM
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?
08-28-2017 08:45 AM
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/
08-28-2017 12:06 PM - edited 08-28-2017 12:08 PM
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.