GPIB 有 8 個資料通道,一次可傳送 1 位元 (8 位元) 的資訊。指令訊息會使用八個位元中的七個位元,如下圖 1 所示:
位元 0 到 4 表示裝置的主要位址,而該裝置的傳送器/接收器指派適用於該裝置。如果位元 5 為高準位,則裝置應接收。如果位元 6 為高準位,則裝置應傳送。位元 7 是「無關」位元。其值會遭到忽略,因此在指令訊息中會解譯為 0 個值。
匯流排上的每個裝置都必須有唯一的地址。此位址包含一個主要位址 (PAD) 與一個次要位址 (SAD)。如圖 1 所示,其中五條資料通道可用來指出 GPIB 的主要位址。換句話說,總共有 32 個位址 (2 至 5 個位址) 的值可以介於 0 到 31,不過,PAD 31 絕不會是主要位址,因為它用於特殊指令訊息。總共有 31 個可能的主要地址。匯流排的控制器充電量 (CIC) 幾乎一律是 PAD 0,因此匯流排上的儀器可以有 1 到 30 的主要位址。使用 GPIB 時,常會出錯將相同位址指派給控制器機板與儀器,進而導致 EADR 錯誤 (定址錯誤)。
GPIB 次要位址的範圍是 0 到 30,因此可以使用 961 (31 x 31) 的 GPIB 位址,但次要位址很少使用 (SAD 通常設定為 0)。傳送器/接收器指派屬於主要的定址資訊,因此,當您傳送指令訊息時,可使用 PAD 位元 6 或位元 5。這可能會導致您詢問:「如何傳送 SAD 資訊?」針對次要位址,您會在傳送指令訊息時,同時設定位元 6 與 5 高。若您需要與具有次要位址的裝置通訊,請先註明其主要位址,然後立即註明其次要位址。
若要使用主要與次要定址、指令訊息與資料訊息,最簡單的方式就是使用互動式控制 (IBIC)。舉例來說,如果您在 PAD 0 的機板與配備 PAD 2 和 SAD 4 的儀器,且想要讓機板進行通訊與儀器進行監聽,您會在 IBIC 中傳送下列指令訊息:
ibcmd "\x40\x22\x64"
\x40 代表 Hex 40,代表 0 1 0 0 0 0 0 0 的二進位碼型。這表示位元 6 為高位元 (談話),且主要位址為 0。\x22 代表 Hex 22,代表 0 0 1 0 0 0 0 1 0 的二進位碼型。這表示位元 5 為高位元 (傾聽),且主要位址為 2。\x64 代表 64,代表 0 1 1 0 0 1 0 0 的二進位碼型。這表示位元 6 和 5 為高位元,因此,將下列位址視為次要位址,此位址為 4。
|
十六進制
|
10 月
|
12 月
|
ASCII
|
Msg
|
十六進制
|
10 月
|
12 月
|
ASCII
|
Msg
|
|
00
|
000
|
0
|
NUL
|
20
|
040
|
32
|
SP
|
MLA0
| |
|
01
|
001
|
1
|
SOH
|
GTL
|
21
|
041
|
33
|
!
|
MLA1
|
|
02
|
002
|
2
|
STX
|
22
|
042
|
34
|
"
|
MLA2
| |
|
03
|
003
|
3
|
ETX
|
23
|
043
|
35
|
#
|
MLA3
| |
|
04
|
004
|
4
|
EOT
|
SDC
|
24
|
044
|
36
|
$
|
MLA4
|
|
05
|
005
|
5
|
ENQ
|
PPC
|
25
|
045
|
37
|
%
|
MLA5
|
|
06
|
006
|
6
|
ACK
|
26
|
046
|
38
|
&
|
MLA6
| |
|
07
|
007
|
7
|
BEL
|
27
|
047
|
39
|
'
|
MLA7
| |
|
08
|
010
|
8
|
BS
|
取得
|
28
|
050
|
40
|
(
|
MLA8
|
|
09
|
011
|
9
|
HT
|
TCT
|
29
|
051
|
41
|
)
|
MLA9
|
|
0A
|
012
|
10
|
LF
|
2A
|
052
|
42
|
*
|
MLA10
| |
|
0B
|
013
|
11
|
VT
|
2B
|
053
|
43
|
+
|
MLA11
| |
|
0C
|
014
|
12
|
FF
|
2C
|
054
|
44
|
,
|
MLA12
| |
|
0D
|
015
|
13
|
CR
|
2D
|
055
|
45
|
-
|
MLA13
| |
|
0E
|
016
|
14
|
SO
|
2E
|
056
|
46
|
.
|
MLA14
| |
|
0F
|
017
|
15
|
SI
|
2F
|
057
|
47
|
/
|
MLA15
| |
|
10
|
020
|
16
|
DLE
|
30
|
060
|
48
|
0
|
MLA16
| |
|
11
|
021
|
17
|
DC1
|
LLO
|
31
|
061
|
49
|
1
|
MLA17
|
|
12
|
022
|
18
|
DC2
|
32
|
062
|
50
|
2
|
MLA18
| |
|
13
|
023
|
19
|
DC3
|
33
|
063
|
51
|
3
|
MLA19
| |
|
14
|
024
|
20
|
DC4
|
DCL
|
34
|
064
|
52
|
4
|
MLA20
|
|
15
|
025
|
21
|
NAK
|
PPU
|
35
|
065
|
53
|
5
|
MLA21
|
|
16
|
026
|
22
|
正弦
|
36
|
066
|
54
|
6
|
MLA22
| |
|
17
|
027
|
23
|
ETB
|
37
|
067
|
55
|
7
|
MLA23
| |
|
18
|
030
|
24
|
CAN
|
SPE
|
38
|
070
|
56
|
8
|
MLA24
|
|
19
|
031
|
25
|
EM
|
SPD
|
39
|
071
|
57
|
9
|
MLA25
|
|
1A
|
032
|
26
|
SUB
|
3A
|
072
|
58
|
:
|
MLA26
| |
|
1B
|
033
|
27
|
ESC
|
3B
|
073
|
59
|
;
|
MLA27
| |
|
1C
|
034
|
28
|
FS
|
3C
|
074
|
60
|
<
|
MLA28
| |
|
1D
|
035
|
29
|
GS
|
3D
|
075
|
61
|
=
|
MLA29
| |
|
1E
|
036
|
30
|
RS
|
3E
|
076
|
62
|
>
|
MLA30
| |
|
1F
|
037
|
31
|
TW
|
3F
|
077
|
63
|
?
|
UNL
| |
| 訊息定義 | ||||
| DCL | 裝置清除 | MSA | 我的次要地址 | |
| 取得 | 群組執行觸發 | MTA | 我的討論地址 | |
| GTL | 前往本地 | PPC | 平行輪詢配置 | |
| LLO | 本地鎖定 | PPD | 停用平行輪詢 | |
| MLA | 我的聆聽地址 | |||
|
十六進制
|
10 月
|
12 月
|
ASCII
|
Msg
|
十六進制
|
10 月
|
12 月
|
ASCII
|
Msg
|
|
40
|
100
|
64
|
@
|
MTA0
|
60
|
140
|
96
|
`
|
MSA0,PPE
|
|
41
|
101
|
65
|
A
|
MTA1
|
61
|
141
|
97
|
a
|
MSA1、PPE
|
|
42
|
102
|
66
|
B
|
MTA2
|
62
|
142
|
98
|
b
|
MSA2、PPE
|
|
43
|
103
|
67
|
C
|
MTA3
|
63
|
143
|
99
|
c
|
MSA3、PPE
|
|
44
|
104
|
68
|
D
|
MTA4
|
64
|
144
|
100
|
d
|
MSA4、PPE
|
|
45
|
105
|
69
|
E
|
MTA5
|
65
|
145
|
101
|
e
|
MSA5、PPE
|
|
46
|
106
|
70
|
F
|
MTA6
|
66
|
146
|
102
|
f
|
MSA6、PPE
|
|
47
|
107
|
71
|
G
|
MTA7
|
67
|
147
|
103
|
g
|
MSA7、PPE
|
|
48
|
110
|
72 美元
|
H
|
MTA8
|
68
|
150
|
104
|
h
|
MSA8、PPE
|
|
49
|
111
|
73
|
I
|
MTA9
|
69
|
151
|
105
|
i
|
MSA9、PPE
|
|
4A
|
112
|
74
|
J
|
MTA10
|
6A
|
152
|
106
|
j
|
MSA10、PPE
|
|
4B
|
113
|
75
|
K
|
MTA11
|
6B
|
153
|
107
|
k
|
MSA11,PPE
|
|
4C
|
114
|
76
|
L
|
MTA12
|
6C
|
154
|
108
|
l
|
MSA12、PPE
|
|
4D
|
115
|
77
|
M
|
MTA13
|
6D
|
155
|
109
|
m
|
MSA13、PPE
|
|
4E
|
116
|
78
|
N
|
MTA14
|
6E
|
156
|
110
|
n
|
MSA14、PPE
|
|
4F
|
117
|
79
|
O
|
MTA15
|
6F
|
157
|
111
|
o
|
MSA15、PPE
|
|
50
|
120
|
80
|
P
|
MTA16
|
70
|
160
|
112
|
p
|
MSA16、PPD
|
|
51
|
121
|
81
|
Q
|
MTA17
|
71
|
161
|
113
|
q
|
MSA17、PPD
|
|
52
|
122
|
82
|
R
|
MTA18
|
72 美元
|
162
|
114
|
r
|
MSA18、PPD
|
|
53
|
123
|
83
|
S
|
MTA19
|
73
|
163
|
115
|
s
|
MSA19、PPD
|
|
54
|
124
|
84
|
T
|
MTA20
|
74
|
164
|
116
|
t
|
MSA20、PPD
|
|
55
|
125
|
85
|
U
|
MTA21
|
75
|
165
|
117
|
u
|
MSA21、PPD
|
|
56
|
126
|
86
|
V
|
MTA22
|
76
|
166
|
118
|
v
|
MSA22,PPD
|
|
57
|
127
|
87
|
W
|
MTA23
|
77
|
167
|
119
|
公
|
MSA23、PPD
|
|
58
|
130
|
88
|
X
|
MTA24
|
78
|
170
|
120
|
x
|
MSA24、PPD
|
|
59
|
131
|
89
|
Y
|
MTA25
|
79
|
171
|
121
|
y
|
MSA25、PPD
|
|
5A
|
132
|
90
|
Z
|
MTA26
|
7A
|
172
|
122
|
z
|
MSA26、PPD
|
|
5B
|
133
|
91
|
MTA27
|
7B
|
173
|
123
|
{
|
MSA27、PPD
| |
|
5C
|
134
|
92
|
\
|
MTA28
|
7C
|
174
|
124
|
|
|
MSA28、PPD
|
|
5D
|
135
|
93
|
MTA29
|
7D
|
175
|
125
|
}
|
MSA29、PPD
| |
|
5E
|
136
|
94
|
^
|
MTA30
|
7E
|
176
|
126
|
~
|
MSA30、PPD
|
|
5F
|
137
|
95
|
_
|
UNT
|
7F
|
177
|
127
|
DEL
| |
| 訊息定義 | ||||
| PPE | 啟用平行輪詢 | SPE | 啟用序列輪詢 | |
| PPU | 取消設定平行輪詢 | TCT | 掌握控制 | |
| SDC | 清除精選裝置 | UNL | 不傾聽 | |
| SPD | 序列輪詢停用 | UNT | 取消討論 | |
舉例來說,ASCII「@」字元 (hex 40) 代表訊息「MTA0」,將位於主要位址 0 的裝置指派為「Talker」。另一個範例是,ASCII「」字元 (hex 3F) 代表「UNL」訊息,此訊號指示先前指派為「偵聽器」的所有裝置,停止偵聽 (也就是停止偵聽)。
如果您使用板件等級的 GPIB 函式 ibcmd, Multiline 介面訊息表就非常實用。身為控制器,您會使用 ibcmd 函式傳送指令訊息。舉例來說,如果使用互動式控制 (IBIC) 將控制器 (PAD 0) 指派為講者,並將儀器 (PAD 5) 指派為聆聽器,則使用 ibcmd "?@%" 指示所有裝置停止聆聽 (?, UNL)、控制器進行通話 (@, MTA0),以及儀器進行聆聽 (%, MLA5)。
接著控制器會使用 ibwrt 函式將資料傳送至儀器。(注意:呼叫 ibwrt 會導致 ATN 通道去安裝,因此會使用匯流排上的資料通道傳送資料訊息,而非指令訊息。」若要繼續使用上一個範例,可以使用 ibwrt「Hello」 將資料訊息傳送至儀器,並傳送 Hello 訊息。(當然,您傳送的訊息應該對儀器有意義。」