07-07-2010 01:31 PM
Hi all,
I'd like to hardware-time the signals I'm sending with my GPIB board. I can create a counter or some sort of signal using another one of my PXI boards. However, I'm unsure if there is a way to somehow route this signal to the GPIB board so it will send out a signal when the timer ticks.
Is something like this possible? If not, I need to find some way to send out GPIB messages with fairly high timing precision, in the range of plus or minus 10 microseconds. I'm using CVI, but I'm also familiar with LabVIEW. Looking through the GPIB function tree, http://zone.ni.com/reference/en-XX/help/370051H-01/cvi/cvigpibgpib4882_library_function_tr/, I'm unsure of what would be useful for this purpose.
Thanks,
Dan
07-08-2010 07:23 PM
Hi again,
I think a more succinct way of asking my question is this:
Is it possible to have my GPIB board wait on a hardware signal before it sends out or receives a message? E.g. can I have it wait until a timer signal goes high before sending out a message?
Thanks,
Dan
07-08-2010 08:44 PM
No, a GPIB has no 'external trigger' input. Perhaps the instrument does?
Unclear why you would need this. What kind of command are you sending?
07-08-2010 08:57 PM
Thanks for the reply. I need this, or something equivalent, because I must send out GPIB commands to various instruments with very high precision: precise to tens of microseconds. If a command is sent 10 microseconds too late it is unacceptable.
I'm not using a realtime OS, so the only way I can conceive of doing this is to somehow trigger GPIB commands off of a more precisely timed hardware signal from another board of mine.
07-08-2010 09:19 PM
Precisely writing or reading to an instrument is not something that GPIB is designed to do. Precisely triggering an instrument to take a measurement or output a signal is.
You still have not explained exactly what commands need this sort of precision but to initiate a write is strictly a software operation.
07-09-2010 11:00 AM
Dennis,
Thanks again for the reply. I'm sorry for being unclear before. What I want to do is, as you say, precisely trigger an instrument to take a measurement or to output a signal. For example, at one point in my program, I want to trigger a GPIB-controlled waveform generator to begin outputting a certain type of waveform. However, I cannot have the trigger arrive too late and thus have the waveform output begin too late, hence my need for high precision.
You say a GPIB is designed to precisely trigger an instrument. I'm sorry for sounding so confused, but does this mean it is indeed possible for me to send a trigger to a device with the required timing precision? If so, I assume this triggering is device-specific? I'm confused as to how I can achieve the necessary timing precision by calling a function, such as a GPIB trigger function, without having some sort of hardware signal to provide the necessary timing precision.
Thanks,
Dan
07-09-2010 11:12 AM
Thanks for clearing things up. The triggering mechanisms are device specific. Check the specs of the instrument manual to see if it supports an external hardware trigger. Some instruments do and some don't. Some only have a bus trigger (i.e. the GPIB trigger function).
If you are attempting to synchronize multiple instruments, then you could still perhaps use the bus trigger. The GET (Group Execute Trigger) will send the trigger command to multiple instruments.
07-09-2010 12:24 PM
Thanks for the help. I'll check out the devices and see what my options are.