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. Didier > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Dr. David Kirkby > Sent: Saturday, May 24, 2008 9:13 AM > To: [EMAIL PROTECTED]; 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@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 5:24 PM _______________________________________________ time-nuts mailing list -- time-nuts@febo.com To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts and follow the instructions there.