Post Reply 
Determine HPIB address programatically
02-26-2015, 01:17 AM
Post: #1
Determine HPIB address programatically
I have an HP – 87 connected to a 9127A flexible disk drive.

The computer's HPIB address is set to the default, seven. The drive is set to four-- easy to see since setting the drive address requires that you turn a little numbered dial.

When I turn the computer on, it automatically sees the drive and sets of is the default mass storage device. I can catalog the disc, load and run programs, and do anything I need to.

As I understand it, typing:

mass storage is ":D740"

...should not change the behavior of the system, since the computer is HPIB device number seven in the drive is HPIB device number four.

However, once I use this mass storage statement, I can no longer access the disk. The attempt to gets an "error 131: timeout".

Does anyone have any idea what's going on here? I'm trying to get the syntax of the statement down so I can test an HPIB hard disk drive I acquired.
Find all posts by this user
Quote this message in a reply
02-26-2015, 05:23 AM
Post: #2
RE: Determine HPIB address programatically
Well, either the HP-87 docs are wrong, or there's a fault in the DIP switch on the computer that sets the host address, because with the switches in the position the manual says should be "7", this doesn't work:

MASS STORAGE IS ":D740"

But this does:

MASS STORAGE IS ":D840"

So, mystery solved, kinda.
Find all posts by this user
Quote this message in a reply
02-26-2015, 01:21 PM
Post: #3
RE: Determine HPIB address programatically
(02-26-2015 05:23 AM)dramsey Wrote:  Well, either the HP-87 docs are wrong, or there's a fault in the DIP switch on the computer that sets the host address,...

Perhaps there is confusion about the direction the switches should be to set address 7? If all four were inverted you would get address 8, which is what you are seeing? I've seen this with other pieces of equipment, or even worse, the switch part used was changed at some point and the new switch type needed to be set the "inverse" way to behave like the previous switch type.
Find all posts by this user
Quote this message in a reply
02-26-2015, 02:24 PM
Post: #4
RE: Determine HPIB address programatically
There are only 3 switches to set the select code for the the interface and it is not a standard binary progression. It would seem that the switch settings for the integrated HPIB are the same as for the 82937A card, and I know that the manual for that card is correct. One thing that occurs to me is that to get a binary 1 the switch is in the open position. Select code 7 is SC2-0 100 or open, closed, closed sect code 8 is SC2-0 101 or open, closed, open. It may be that the switch contact for SC0 has gone bad and is now being interpreted as a '1', I would suggest rocking that switch back and forth a few times leaving it solidly in the closed position and see if that clears the issue. Beyond that you would need some kind of continuity tester to check the state of the switches and / or connection from them. There is a service guide for the 87 that includes schematics available at http://www.hpmuseum.net
Find all posts by this user
Quote this message in a reply
02-26-2015, 05:44 PM (This post was last modified: 02-26-2015 07:57 PM by vassilisprevelakis.)
Post: #5
RE: Determine HPIB address programatically
(02-26-2015 01:17 AM)dramsey Wrote:  I have an HP – 87 connected to a 9127A flexible disk drive.

The computer's HPIB address is set to the default, seven.

Hi,

The HP87 makes a very good combination with the 9127A (the older 82902M does not match the lines of the Series 80 very well).

Now back to your problem. In your original message you appear the confuse the “select code” with the HPIB talk/listen address.

The default HPIB address of the HP87 is 21, so assuming that your 9127A is number 4, then you will see transfers between (controller) 21 and 4.

The 7 you mention is the host controller select code. Consider an HP87 (with default configuration) with two HPIB controllers. How do you select between the two? You have to somehow setup one adapter to respond to a different select code. Lets say you set up the external HPIB adaptor to respond to select code 6.

Then

MASS STORAGE IS ":D740"

will address mass storage device 4 on the the built in HPIB adapter, while

MASS STORAGE IS ":D640"

will address mass storage device 4 on the the external in HPIB adapter.


So the MASS STORAGE (and most of the commands that expect arguments of type Dnnn)
does not care about the HPIB controllers address, but needs to know the select code of the HPIB controller that it will use.

——

IMPORTANT:

The DIP switch includes two address groups: SC0, SC1, and SC2 which define the “select code” and A0 to A4 which define the HPIB address.

So my guess is that you are looking at the A1..A4 switches, when you should look at the SC0..SC2 switches.

Page 46 of the “Introduction to the HP-87” (http://www.series80.org/PDFs/Intro87.pdf) explains how to do this.

Best Regards

Vassilis (from the Series80.org site)

PS forgot to mention that you can determine the HPIB address assigned to the HPIB controller by looking at status register (SR4). The HPIB address is the 5 least significant bits
(more info on page 116 of the HP85 I/O Programming Guide)
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)