Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

488.2 standard compatable with older HP-IB?

Having problems communicating to a HP 3708A Noise and Interference Test set with a NI PCI-8212. I am using the NI-488.2 Communicator and doing simple querys such as an ID? or REV? I get and iberr = EABO indicating that the I/O operation was cancelled likely due to a timeout during a GPIB read. The HP 3708A will have the TLK indicator turned on as if it is trying to talk and the SRQ indicator is lit up as well. Other commands listed in the 3708A manual do not work completely either. I am using NI 488.2 version 2.42 on Windows 2000.
 
Has anyone ever run into a similar issue with a older HPIB device? Are there known compatability issues? How can I get around this?
 
 
0 Kudos
Message 1 of 8
(5,304 Views)

I think you may have a termination problem on GPIB write/read.  Unlike recent IEEE488.2 or SCPI instruments, that old HP instrument may require explicit terminate conditions on IBWRT and IBRD operations. 

As for writing, try to check a non-query programming command is accepted or not.
ibwrt( ud,  "xxx\r");  -- send with CR terminator
ibwrt( ud,  "xxx\n"); -- send with LF terminator
ibwrt( ud,  "xxx\r\n"); -- send with CR/LF terminator

As for reading, the instrument may not send EOI signal on the final byte.  Try to terminate with a specific termination character on read. The termination condition can be changed by:
ibeos( ud, 0x040A); - set LF for read termination
ibeos( ud, 0x040D); - set CR for read termination

Message 2 of 8
(5,286 Views)
Thanks for your help!
 
I am now doing only writes/reads (no more queries) and I look for only the CR on reads (0x040d). For writes, I explicitly use \r\n. Everything is working correct now, I can't thank you enough for your help!
0 Kudos
Message 3 of 8
(5,265 Views)
Im having a similar problem. Im writing a labview vi for a few older HP instruments via instrument assistant and I can write to them with no problems. My problems occur when I attempt a read. I have used the interactive control in MAX to try and understand the bytes being returned by the instruments. They all have 0a and 0d as the final two bytes sent after the stored measurement. However I just cant seem to get MAX into a configuration to stop on seeing these word terminations. I have also tried to use the commands listed in this thread but I dont understand the syntax enough. When I enter the command it asks for an addition number. Im missing something that no doubt will make me kick myself when I finally find the problem. Could you help.

When I do a IBrd and specifiy the exact byte length of the measurement word I get a lovely instant return from the instrument. So I just need to understand how I can get IBeos command set to allow me to read from these older instruments. I take it that when this is set its only set for the instrument I have presently selected and not a global setting.



0 Kudos
Message 4 of 8
(4,910 Views)
You say you are able to get a read but the strings are terminated with a CR and LF. I don't have a GPIB board installed right now but there is a setting for an EOS character. Right click on the controller in MAX and select properties. It's available in there. You can set the EOS to be CR or LF and ther read should terminate with the EOS, byte count, or EOI. When you use the GPIB functions, there is a mode input that you can use as well. You can also set the VISA termination character with a property node.
 
You might also want to think about writing your own code intead of relying on the instrument I/O assistant. It's a great little tool for simple tasks but I'm not sure it is really designed for use with old non-4988.2 instruments. 
0 Kudos
Message 5 of 8
(4,906 Views)
Thank for getting back to me. The problem is I cant get a read using either the communicator or the instrument assistant only when I specifiy the exact length of the word using IBrd within Interactive Control am I able to pick the measurement off the instruments buffer. Im not writing my own code because Im handing the VI over to non-programmers to maintain within the company and Im trying to keep the content as basic as possible.
When I specifiy the length of the word with in the interactive control I see that the measurement instrument has terminated the end of returned word with both the LFand CR. I just cant seem to get MAX into a mode to indentify these. I have tried all the settings in MAX properties and I have tryed the mode changes within Interactive control. However I dont have enough experience with the mode change syntax to know effectively what I need to input to get it into a readable state. Thank you again for your time.

0 Kudos
Message 6 of 8
(4,887 Views)
I have tryed to use the following mode change code within the interactive control:

ibeos(ud,0x140d)

but the control prompt then asks you to enter a number. ?????????

I have also selected .....terminate read on EOS within GPIB properties. still no luck.


0 Kudos
Message 7 of 8
(4,876 Views)
Hi
 
It looks like you have an interesting little problem/confusion here.
 
when you state that the control prompt asks you to enter a number can you post a screen shot of which view you are looking at when this happens as i cannot work out which number that you are referring too.
 
Also have a look at this knowledge base, I dont know if it will be exactly relivant to you but i think it would definatly be worth a read 
 
 
Thanks
Graham Green

Sr. Product Marketing Manager

National instruments
0 Kudos
Message 8 of 8
(4,845 Views)