Agilent Technologies 86060A User Manual page 86

Lightwave switches
Table of Contents

Advertisement

Description
Listing
Line No.
10 to 170
Same as in Example 1 except for declaration of
Status_byte.
190 to 240
The new Wait_to_settle subroutine.
200
Start REPEAT loop.
210
Send the *STB? command to the switch. This queries the
switch to return the value of the status byte.
220
Read the status byte.
230
If the LSB (Least Significant Bit) of the status byte is
0 (that is, the switch is settled), exit the loop. If the LSB is
1 (that is, the switch is moving), then loop back to line 200.
240
Return from subroutine.
Example 3: Switch position using the *OPC command
This program is identical in functionality to the first two example programs,
except that it uses yet another method for determining when the switch is set-
tled. This settling method sends the *OPC command before the
ROUTE:LAYER:CHANNEL commands and then reads the Standard Event Sta-
tus Register repeatedly until bit 0 is set to one.
10
INTEGER Switch_addr,A_position,B_position,Esr_byte
20
DIM Command$[80],Channel$[80],Error_return$[80],
Config$[80]
30
Switch_addr=711
40
CLEAR SCREEN
41
OUTPUT Switch_addr;"SYSTEM:CONFIG?"
42
ENTER Switch_addr;Config$
43
PRINT "SWITCH CONFIG = "&Config$
50
INPUT "Enter A-port position : ",A_position
60
INPUT "Enter B-port position : ",B_position
70
Channel$="A"&TRIM$(VAL$(A_position))&",B"&TRIM$
(VAL$(B_position))
80
Command$="ROUTE:LAYER1:CHANNEL "&Channel$
81
OUTPUT Switch_addr;"*OPC"
90
OUTPUT Switch_addr;Command$
100
GOSUB Wait_to_settle
110
REPEAT
120
OUTPUT Switch_addr;"SYSTEM:ERROR?"
130
ENTER Switch_addr;Error_return$
Programming
Programming Examples
4-35

Advertisement

Table of Contents
loading

This manual is also suitable for:

86060c series

Table of Contents