[time-nuts] OT: Anyone programmed HP 59306A relay actuator (or other old device)?

Dr. David Kirkby david.kirkby at onetel.net
Sat May 24 12:45:56 EDT 2008

Brooke Clarke wrote:
> Hi David:
> The HP 59000 series boxes were some of the very first HP-IB 
> instruments made. They are what might be called glue boxes used to 
> build systems.  As has been pointed out there is not a micro 
> controller and in addition there is no IEEE-488 interface chip (this 
> was before there was an IEEE specification).

Hi Bruce,

Seems they are very old then.
> In addition they are slow.  The handshake on the HP-IB slows the buss 
> down to the slowest instrument that's on the buss even if you are not 
> talking to that instrument.  This has two implications, first, it's 
> good to put the slow instruments on a different bus from instruments 
> where you want speed and second, when talking to a slow instrument add 
> a time delay after you send it a command before the program proceeds 
> so that there's time for the instrument to process the command.

I did think about adding a few sleep() commands, but it went out of my 
mind.  I'll try that later tonight when I get home.

The speed is a bit worrying, as it will slow things down if this device 
takes significantly longer to respond than the instrument making the 
measurement. Unfortunately the 1U server I intended using for this only 
has one PCI slot, so I could not add another GPIB board. Anyway, that is 
another issue - the first problem is to be able to get it working at all.

I did think about programming the parallel port of the Sun - something 
that was very easy on PCs under DOS, but is far from as simple on a 
multi-user UNIX operating system.
> The 59306 has two modes, local and remote.  You can press buttons on 
> the front panel in local mode and use it without a remote control.  
> When you want to use remote control you must first send the remote 
> command <$>.  The front panel switches stay pressed and when the box 
> is put into local mode those switch positions well be restored.

Where do you get the $ as being the remote command? It appears to be % 
in my manual, but I'm not sure if that would be sent with ibwrt or not. 
The fact the control lines are different in the manual for sending the % 
to other commands makes me think it might have to be done another way.
> The three letter line names are control lines on the HP-IB and modern 
> interface cards take care of most of those signals.  But, since 
> there's no micro controller you should not send any characters after 
> the single command byte. No <CR><LF>, no <EOI>.  You may need to 
> explicitly set the termination sequence so that these are avoided.
You might have solved it there.

I'm opening the device with

  dd=ibdev(0, gpib_address, 0, T3s, 1, 0);

the 5th argument to ibdev is the 1, not 0. The manual for linux at least

says "If |send_eoi| is nonzero, then the EOI line will be asserted with 
the last byte sent during writes"

So it seems I might be sending EOI, which you are saying I should not do.

I hope you are right!!! I'm not in a position to test now, as I am about 
50 miles away from the instrument.


More information about the time-nuts mailing list