I have here an nearly 20 years old 8753 ES (6 GHZ) Network from Agilent in our lab.
It is possible to get a 2sp ASCII (touchtone) file quick transfer via GPIB to a Windows 7 PC.
We have Labview 14 and the USB to GPIB Adapter from NI.
I found in the Forum here an older VI from year 2011 that is written for a 8722 A networkanalyzer (Create S2p for 8722A NA.llb 1990 KB ).
It works for smaller sizes with small number of Points also with the 8753ES.
But I Need a s2p file up to 6 GHZ with 400 Points and then the VI crashes or the 8753 hangs during Transfer.
I Play with the "Output / Form" command from the programmer Manual but with low success so far.
It is also possible to Transfer a binary from the 8753 via GPIB and later convert it with a Labview VI to a ASCII S2p file quicker ?
If someone has an example Vi or an idea that you can share with me or a hint that will be very nice to solve this.
With best regards
This came from an older HP8719D Network Analyzer Programmer's Guide. It's not the same model as yours, but the protocol is identical. I looked at the *.llb you attached and it should work. I don't know why it hangs up. It's probably due to the "GPIB Read" mode setting (default is mode 0) and the llb hard codes a byte count of 25600. Try using mode 1 or 2 to enable a termination character with the ASCII protocol (FORM4)
If you want to use a binary transfer (FORM2), it would look something like this. I used GPIB primitives (not VISA). Even though the GPIB default is mode 0, I explicitly set it just to emphasize the fact that the binary transfer does not use any termination character. It relies on the byte count obtained from the second two bytes. The first two bytes are "#A". Attached is the VI saved in ver 2014.
I forgot to mention that some older HP/Agilent, and even newer Keysight equipment append an extra LF (x0A) and the end of the binary transfer. That last byte is NOT included in the byte count found in the header and it may give you problems with subsequent reads.
You may want to experiment with your analyzer as follows: Add a final GPIB read (for 1 more byte). See if it the analyzer responds with a LF with that last read. If it does, leave it in the code. If not, make sure you delete it. EDIT - If you don't, you will wait 10 seconds for that read to timeout each and every time you try to transfer data.
thank you for your help.
If I run your example VI on my 8753ES I get only values for Magnitude in the Array and no values for Phase.
If I want later have a complette s2p file with S11 S21 S12 S22 values with Magnitude and Phase. I must do 4 different sweeps to generate this in labview or is there an easier and quicker way to do it ?
If I storage manualy an ASCII s2pfile (s1) to a floppy disk or memory the 8753 will do it also at once and make no 4 different sweeps or ?
Or do you know an easy way or an example vi to store the ASCIII s2pfile (s1) in the internal Memory storage of the 8753 and Transfer it via GPIB to the Windows PC ?
Or do you have other ideas ?
Thank you for your Feedback.
I have a 8753D (not the ES model). It's been many, many years since I used that Analyzer so I may be wrong about the following. From what I remember, it all depends how you define the traces:
There are only 2 channels, you can only define 2 measurements at a time. So for your case, you would need two separate sweeps not 4: the first sweep would measure S11 (CH#1) and S21 (CH#2), and for the second sweep reconfigure to measure S22 (CH#1) and S12 (CH#2). You will also need to display either "Polar" or "Smith Chart" to get both magnitude AND phase. If you display "LOG MAG", that's the only data that will be returned (no phase).
And Yes, you need to make four separate reads: two reads "CHAN1;FORM2;OUTPFORM" and "CHAN2;FORM2;OUTPFORM" after first sweep, and repeat the same two commands after the second sweep. I can't remember what the units are for the Polar or Smith Chart: lin mag/deg, log mag/deg, real/imag, etc. But it should be easy to figure out.
As for saving the trace data to internal memory, I would guess that you are still constrained to take only 2 measurements per sweep. I don't think this would be any easier to implement. USB port? Don't think it has one. I believe it has a 3.5" floppy drive. You could save the data there, but most modern computers don't have a 3.5" disk drive. So you are stuck trying to get the data from internal memory to your PC.
Is there an "easier or quicker way" to do it ?... It depends on your application. If this a one time measurement, it's probably easier to manually setup the Network Analyzer and use GPIB to just transfer the data. If you plan on repeating this measurement many times, it may be worth your while to fully automate the setup/calibration/measurement/data retrieval.
thank you for your tips, I will try to implement in my VI.
That helpful to do it with two measurements instead of 4.
Have nice weekend
Something else to consider. Instead of completely automating the measurement with LabVIEW, there is another method that may be easier. You can fat finger all the setups once for all the various measurements you want, then save the instrument state for each setup to internal memory. In the future, all you would need to do is simply recall the appropriate state then read the data via GPIB.
NOTE: The instrument state also saves/recalls the calibration data. You would have to determine if the saved cal data is still valid, or you may need to re-calibrate. However, this would be true for any method you do.
i am not sure if I understand it correct.
it is possible to Transfer the Instrument state from the internal Memory of the 8753 via Gpib to the PC ?
Or still use Output Form 2 command to do this or you have a better proposal ?