02-23-2015 01:23 PM
I am writing a program using the HP8566 spectrum analyzer. During long sweeps, I need to have the bus back for a parallel program that is running. I cannot get the HP8566 to relinquish the bus during the sweep. From the programming manual, if you suppress the carriage return or line feed command at the end of a "Take Sweep" (TS) command, the HP8566 will return the bus. I have not been able to do that. (I have made sure that the VISA Write is in asynchronous mode as well.) Does a VISA Write automatically add this termination?
From the HP8566 manual:
"In normal programming practice, a semicolon terminates each command statement. By using the semicolon as a
terminator, an automatic carriage-return/line-feed is performed by the controller. However, the controller can
perform computations or address other instruments while the analyzer is executing TS, if the carriage-return/linefeed
is suppressed."
Any help would be appreciated.
Regards, Cris
02-24-2015 10:00 AM
Cris,
Are you writing your program in LabVIEW?
You could try to duplicate the issue with GPIB Interactive Control:
http://digital.ni.com/public.nsf/allkb/1EF8765D2948A3F4862571C5007D7237
Does the same problem happen?
How are you suppressing the carriage-return/line feed? Initially reading the manual may suggest that you simply remove the semi-colon, when that is not the case. If you read the next paragraph, it shows how to suppress the carriage-return/line-feed.
In the program line below, the semicolon at the end of the line (outside the quotation marks) suppresses the carriage-return/line-feed. The controller is now available to proceed to the next program line while the analyzer is completing its sweep.
OUTPUT718;“ST5SC;R2;TS";
02-24-2015 05:32 PM
S. Moore:
I am programming in LabView. I understand the removal of the semi-colon inside the quotes is supposed to suppress the carriage return/line feed, and adding the semi-colon outside the quotes is supposed to allow the program to continue before the sweep has ended. The "R2" command is a service request to return to the HP 8566 after the sweep is complete.
What I don't understand is how to realize this in the graphical programming environment of LabView. What is the equivalent of adding a semi-colon outside the quotes in LabView? In other words, what would signal for the program to continue without waiting for the sweep to end.
Thanks, Cris
02-25-2015 03:06 AM
02-25-2015 06:53 PM
Albert:
Thanks for the respose. I realize there are no quotes in VISA. I was looking for the equivalent VISA graphical structure for the recommended text based suggestions.
The "termination character enable" is for VISA Reads. However, within the message base settings, the "send end enable" does apply to VISA Writes and would seem to be applicable to what I am trying to achieve.
Here is how I have fixed (worked around) this problem. As the HP8566 programming manual suggested, removing the semicolon from the end of the TS does allow the HP8566 to move to the next command before the sweep is complete, however, it seems to send it to the next HP8566 command and still ignores any other instruments on the bus. Adding a wait right after the take sweep command freed up the bus for the other instruments. I set the wait to the length of the sweep. During the wait and for all other subsequent HP8566 commands the bus servies other instruments normally.
Not a perfect solution, but it has allowed me to move on with my programming.
Regards, Cris