Operation
4-6
IEEE-488 bus operation
Bus operation is demonstrated using Microsoft QuickBASIC
4.5, the Keithley KPC-488.2 (or Capital Equipment Corpo-
ration) IEEE interface, and the HP-style Universal Language
Driver (CECHP). Refer to “QuickBASIC 4.5 Programming”
in the mainframe manual for details on installing the Univer-
sal Language Driver, opening driver files, and setting the
input terminal. Program statements assume that the primary
address of the mainframe is 07.
Closing and opening channels
The following SCPI commands are used to close and open
channels:
:CLOSe <list>
Closes specified channels
:OPEN <list>|ALL
Opens specified (or all) channels.
The following program statement closes channels 1!1, 1!4
through 1!6, and the channels that make up channel pattern
M1.
PRINT #1, "output 07; clos (@ 1!1, 1!4:1!6,
M1)"
Notice that the colon (:) is used to separate the range limits.
Either of the following statements opens channels 1!1, 1!4
through 1!6, and the channels of M1:
PRINT #1, "output 07; open (@ 1!1, 1!4:1!6,
M1)"
PRINT #1, "output 07; open all"
Scanning channels
There are many commands associated with scanning. How-
ever, it is possible to configure a scan using as little as four
commands. These commands are listed as follows:
*RST
:TRIGger:COUNt:AUTo ON
:ROUTe:SCAN <list>
:INIT
The first command resets the mainframe to a default scan
configuration. The second command automatically sets the
channel count to the number of channels in the scan list, the
third command defines the scan list, and the fourth command
takes the Model 7001/7002 out of the idle state.
The following program fragment will perform a single scan
of channels 1 through 4 of slot 1 and the channels that make
up channel pattern M1:
PRINT #1, "output 07; *rst"
PRINT #1, "output 07; trig:coun:auto on"
PRINT #1, "output 07; scan (@ 1!1:1!4, M1)"
PRINT #1, "output 07; init"
The first statement selects the *RST default configuration for
the scan. The second statement sets channel count to the
scan-list-length (5). The third statement defines the scan list,
and the last statement takes the mainframe out of the idle
state. The scan is configured to start as soon as the :INIT
command is executed.
When the previous program fragment is run, the scan will be
completed in approximately 240msec (3msec delay for
channel closures and 3msec delay for each open), which is
too fast to view from the front panel. An additional relay
delay can be added to the program to slow down the scan for
viewing. The program is modified by adding a statement to
slow down the scan. Also, a statement is added to the begin-
ning of the program to ensure that all channels are open
before the scan is started. The two additional statements are
indicated in bold typeface.
PRINT #1, "output 07; open all"
PRINT #1, "output 07; *rst"
PRINT #1, "output 07; trig:coun:auto on"
PRINT #1, "output 07; trig:del 0.5"
PRINT #1, "output 07; scan (@ 1!1:1!4, M1)"
PRINT #1, "output 07; init"
The first statement opens all channels, and the fourth state-
ment sets a 1/2 second delay after each channel closes.