
21
HPB units on a multidrop bus have a preassigned order to follow when they are responding to a global (*99)
command. Each HPB on the communication bus must have a unique address in order to individually receive
commands from the host processor.
To assign device IDs when the HPBs are on a multidrop network takes a bit more record keeping than for a ring
network. When a multi-drop unit has a null address (unassigned), it will only respond to null addressed (*00)
commands with a ?00 reply header. All null addressed units will listen to a group or global addressed command and
take action, if required. If there are two or more HPBs on the bus with null addresses, then they will both respond
together and may cause a garbled message. Null addressed units will still receive global (*99) commands but will not
answer. It is important to assign each unit a unique and sequential device ID to begin any useful communication.
Assign Device IDs:
Start with a list of all the units serial numbers. For example, send the global commands *
99WE
and *
99S=00001234
. This will prepare the HPB with serial #00001234 to assign itself the number from the next global
ID command. Send *
99WE
, *
99ID=02
, *
02WE
, and *
02SP=ALL
to complete the device ID assignment. Repeat this
for each unit on the multi-drop network. Other methods for device ID assignments are described in the
ID
command
description.
Assign Group Numbers:
Once the device IDs are set the group IDs can be assigned. Each unit in the same group
must have a sequential sub-address - beginning with 01. The sub-address tells each unit what order it should
respond in a group addressed command. To set the group (91) and sub-address (01) for device ID=02, send the
following commands: *
02WE
, *
02ID=9101
, *
02WE
, *
02SP=ALL
. Now when a command is sent to group 91, device
ID=02 will be the first one to reply. In Figure 11, there are two address groups, 91 and 93; each have 3 HPB units
assigned.
Every
HPB in the network receives all commands. If the command has a group or global address requiring a response,
the HPBs addressed will wait until the correct number of carriage returns
<cr>
have been received before sending its
response. If the command had a global address (*99), then the HPBs will respond in the order of the assigned device
IDs. If the command had a group address (*90 to *98), then only HPBs with the correct group address will respond in
order of the assigned group sub-addresses.
For example, send the command (
*99P1<cr>
) to a multi-drop network with three units having sequential device IDs
(01-03). Unit 01 will respond immediately after receiving the first carriage return
<cr>
assoicated with the
*99P1
command. Unit 02 will require a second
<cr>
from the host before it will respond and unit 03 will require a third
<cr>
.
Any additional carriage returns will be ignored.
If a group command (
*94P1<cr>
) is sent to a multi-drop network with six units assigned group and group sub-
addresses of 9401, 9402, 9403, 9501, 9502 and 9503, only three units will respond in the following manner. Unit 9401
will respond immediately after receiving the first carriage return
<cr>
associated with the
*94P1
command. Unit 9402
will require a second
<cr>
from the host before it will respond and unit 9403 will require a third
<cr>
. Any additional
carriage returns will be ignored.
It is important that during the above response sequences, the host processor or user not transmit on the bus until the
last unit has finished its message. A carriage return
<cr>
sent during the response sequence will cause the next unit
ID to send its response even though the previous unit ID is still transmitting.
Another option in the multidrop network is the use of alternate headers. That is, the leading symbol (*, #, etc.) in
command and response communications on the bus. The
M=ALT
command is used to select the alternate message
headers of non-printing characters. This option is useful when there is a conflict between the standard HPB message
headers and the message characters used by some other components that share the multi-drop TTL bus.