[time-nuts] OT: Anyone programmed HP 59306A relay actuator (orother old device)?
didier at cox.net
Sat May 24 10:46:23 EDT 2008
Remember these units don't have uC, so any signal that would normally depend
on some timing must be generated externally, i.e. come from the bus. I
suspect the box might need some signals that other equipment (uC equipped)
may not absolutely require. However, this being a piece of HP equipment, I
am pretty confident that is will strictly obey (and require strict adherence
to) the HPIB specification, even in areas where more recent equipment will
show significant tolerance.
Now that I think of it, I really never cared much for the low level NI
programming. I did some of it way back under DOS, and ever since finding the
BlackBox and more recently the Prologix controllers, I have not looked back.
> -----Original Message-----
> From: time-nuts-bounces at febo.com
> [mailto:time-nuts-bounces at febo.com] On Behalf Of Dr. David Kirkby
> Sent: Saturday, May 24, 2008 9:13 AM
> To: daun at yeagley.net; Discussion of precise time and
> frequency measurement
> Subject: Re: [time-nuts] OT: Anyone programmed HP 59306A
> relay actuator (orother old device)?
> Daun Yeagley wrote:
> > Hi David
> > Don't worry about all the level stuff. That's internal to
> the box (59306).
> > The only thing you need to worry about is how to generate
> the proper
> > commands on the bus for your particular H/W-S/W combination.
> But looking at the example program, one sends
> * "?" to clear all listeners
> * "%" to listen
> * The commands to set relays, such as "B123", or "A1"
> * REN=H to reset to local control.
> But all 4 combinations have different TTL levels on the control lines.
> On my bench multimeter, something as simple as
> dd=ibdev(0, gpib_address, 0, T3s, 1, 0); /* open a device at
> address 'gpib_address' with 3 s timeout. */ ibclr(dd); /*
> Clear it */ ibwrt(dd,"PRESET",6); /* Can't recall what this
> command did on my meter, but it works! */ ibwrt(dd,"DCV",3);
> /* Set to DC voltage. Command ends in 3, as DCV is 3 characters */
> will set it to DC voltage. If I want frequency, the last
> command would be
> ibwrt(dd,"FREQ",4); /* ends in 4, as FREQ is 4 characters */
> But this HP 59306A relay actuator will *not* respond
> similarly if I send
> ibwrt("A1",2); /* Unsuccessfully try to join contacts A-C on
> relay 1 */
> In various attempts, I've managed to get the odd click from
> the relays, but nothing useful is happening. I've got two of
> these, and neither is doing what I expect, so I suspect the
> units are not faulty, but just my bad programming.
> > In hopefully simple terms, you need to address the 59306 as a
> > listener, and then send the ASCII string that represents the relay
> > state you need. In Didier's example:
> >> 1) to turn all channels off, send "B123456"
> >> 2) to turn channel 1 on: send "A1"
> > You don't need (or want an end of line sequence or anything). When
> > done sending the command, just unaddress it.
> Perhaps that is what I am doing wrong. I am not un-addressing
> it. But I've never had to before. I've normally on other
> instruments just sent the command via ibwrt(), then read
> responses with ibrd(). For this instrument, I don't believe
> there is anything that can be read - you can't for example
> read the state of the relays, so I don't think there is any
> need for using ibrd().
> > Hope that removes a bit of fog.
> > Daun
> time-nuts mailing list -- time-nuts at febo.com To unsubscribe,
> go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
> and follow the instructions there.
Internal Virus Database is out-of-date.
Checked by AVG.
Version: 7.5.519 / Virus Database: 269.23.11/1422 - Release Date: 5/8/2008
More information about the time-nuts