Как считывать данные сканирования в диапазоне от 30 МГц до 1 ГГц?
Ответ
Приведенная ниже программа определяет сканирование в диапазоне от 30 МГц до 1 ГГц, запускает его и записывает все данные сканирования в файл.
10 IEC TERM 10
20 IEC TIME 5000
25 REM Данные сканирования будут сохранены в файл 'DATA.DAT'
30 OPENO# 1,"DATA.DAT"
35 REM Сканирование определяется в строках с 40 по 200
40 IEC OUT 21,"*RST;*CLS;*OPC"
50 IEC OUT 21,"INSTRUMENT RECEIVER"
60 IEC OUT 21,"SCAN:RANGES 1"
70 IEC OUT 21,"FREQUENCY:START 30MHZ"
80 IEC OUT 21,"FREQUENCY:STOP 1GHZ"
90 IEC OUT 21,"DISPLAY:TRACE:Y:TOP 100"
100 IEC OUT 21,"DISPLAY:TRACE:Y:BOTTOM -20"
110 IEC OUT 21,"SWEEP:SPACING LINEAR"
120 IEC OUT 21,"DETECTOR:RECEIVER POSITIVE,AVERAGE"
130 IEC OUT 21,"SCAN1:START 30MHZ"
140 IEC OUT 21,"SCAN1:STOP 1GHZ"
150 IEC OUT 21,"SCAN1:STEP 50KHZ"
160 IEC OUT 21,"SCAN1:BANDWIDTH:RESOLUTION 120KHZ"
170 IEC OUT 21,"SCAN1:TIME 1MS"
180 IEC OUT 21,"SCAN1:INPUT:TYPE INPUT2"
190 IEC OUT 21,"SCAN1:INPUT:ATTENUATION:AUTO ON"
200 IEC OUT 21,"SCAN1:INPUT:GAIN:AUTO ON"
203 IEC OUT 21,"DISPLAY:FORMAT SINGLE"
205 REM Мы должны задать real 32 в качестве формата передачи данных
210 IEC OUT 21,"FORMAT REAL,32"
220 IEC OUT 21,"*CLS"
225 REM Мы включаем передачу данных сканирования во время сканирования
230 IEC OUT 21,"TRACE:FEED:CONTROL ALWAYS"
235 REM Сканирование начинается как одиночное сканирование
240 IEC OUT 21,"INITIATE2:CONTINUOUS OFF;*OPC"
250 IEC OUT 21,"INITIATE2:IMMEDIATE"
260 REPEAT
270 REPEAT
275 REM Бит 9 из STATUS:OPERATION:CONDITION устанавливается при доступности
276 REM данных сканирования
280 IEC OUT 21,"STATUS:OPERATION:CONDITION?"
290 IEC IN 21,S$
300 UNTIL S$="512"
305 REM Мы получаем блок сканирования и сохраняем его в 'DATA.DAT'
310 IEC OUT 21,"TRACE? SCAN"
320 IEC IN 21,T$
330 PRINT# 1,T$
333 REM У блока сканирования есть заголовок. Первым символом является #. Второй
334 REM символ указывает количество последующих байтов с дополнительной
335 REM информацией, к примеру. 2. Дополнительная информация определяет число
336 REM последующих байтов с данными сканирования, например 32.
340 A=VAL(MID$(T$,2,1))+4
345 REM Мы будет повторять выполнение строки 260 цикла до тех пор, пока не будет установлен бит 12
346 REM в блоке сканирования (без заголовка).
350 UNTIL MID$(BIN$(ASC(MID$(T$,A,2))),12,1)="1"
360 CLOSE# 1
365 REM Теперь весь результат по кривой находится в файле 'DATA.DAT'
370 END