Re: [time-nuts] OT: Anyone programmed HP 59306A relay actuator (orother old device)?
Mark, If it is more recent than this one, please could you scan it for me? http://www.ko4bb.com/Manuals/HP_Agilent/HP_-_59306A_59306-90001.pdf I would then post it there for all to see :-) Thanks in advance, Didier KO4BB -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Mark Stephens Sent: Thursday, May 29, 2008 9:24 PM To: time-nuts@febo.com Subject: Re: [time-nuts] OT: Anyone programmed HP 59306A relay actuator (orother old device)? Doctor, I have the full manual for HP 59306A, please contact me offline if you would like me to scan it for you. Mark 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.
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.
Re: [time-nuts] OT: Anyone programmed HP 59306A relay actuator (orother old device)?
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.
Re: [time-nuts] OT: Anyone programmed HP 59306A relay actuator (orother old device)?
Hi David You'll need a scope to look at the lines. If you try reading with a voltmeter, you'll only get the average value of the data that is being transmitted. There are a couple of control line as part of the bus. The most important one for our purposes here is the ATN line. When this line is asserted, Data on the 8 DATA lines is in what is known as the COMMAND mode. In this mode, the ASCII code you see make up the commands to do the Unlisten, Untalk, Listen, and Talk commands and the associated addresses. You don't need to worry about that stuff. That's what the drivers are for. At the programming level, all you need to be concerned with is who's talking (the controller, i.e. the computer), and who's the listener (the 59306). As an aside, there can be only one talker, but many listeners. Other (transparent) details include the handshake lines and some other dedicated support lines that may or may not be used in any particular scenario. So again, all you need to do is address the 59306 as a listener, and send the specific ASCII characters that comprise the command. With this instrument, since it is so very simple, doesn't even know what to do with end of line sequences. (CR/LF). It would simply ignore them. (I say this because most computers customarily send this unless specifically suppressed). Hope this helps. If not enough, I'll have to see if I can dig out some of the old HPIB tutorials I used to teach from twenty some years ago. Daun -Original Message- From: Dr. David Kirkby [mailto:[EMAIL PROTECTED] Sent: Saturday, May 24, 2008 10: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.
Re: [time-nuts] OT: Anyone programmed HP 59306A relay actuator (orother old device)?
Didier Juges wrote: 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. Could be that. 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. I've always used the NI controllers and never had any problems with any micro processor controlled instrument. This is the first item I've ever programmed a device without a micro, and so far it is beating my attempts to program it. Didier ___ 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.