[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).
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