주요 콘텐츠

이 페이지는 기계 번역을 사용하여 번역되었습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

VISA를 사용하여 스윕 사인파를 생성하고 Quick-Control 오실로스코프를 사용하여 파형 캡처

이 예제는 함수 생성기를 사용하여 스윕된 사인파 파형을 생성하는 방법과 오실로스코프를 사용하여 이를 캡처하는 방법을 보여줍니다.

지원되는 하드웨어의 전체 목록을 보려면 Instrument Control Toolbox 제품 페이지를 방문하십시오.

요구 사항

이 예제는 Keysight Technologies® 33522B 함수 생성기와 Tektronix® TDS 1002 오실로스코프를 사용하여 테스트되었습니다. 함수 생성기와 오실로스코프의 GPIB 주소는 각각 GPIB0::5::INSTRGPIB0::11::INSTR입니다. 함수 생성기는 채널 1에서 100ms마다 1V의 오프셋으로 2V p-p 스윕 사인파(20~200Hz)를 생성하도록 구성되어 있습니다. 오실로스코프는 채널 1에서 파형을 수집하도록 구성되어 있습니다.

오실로스코프 구성

Quick-Control(오실로스코프)를 사용하여 오실로스코프를 구성합니다.

scopeResource = "GPIB0::11::INSTR";
ch = "CH1";

오실로스코프 객체를 생성하고 계측기에 대한 연결을 엽니다.

scope = oscilloscope;
scope.Resource = scopeResource;
connect(scope)

autoSetup 함수는 연결된 신호에 따라 채널, 수직, 수평 및 트리거 제어를 자동으로 조정합니다.

autoSetup(scope)

채널 1을 활성화하고 구성합니다.

enableChannel(scope,ch);
configureChannel(scope,ch,"VerticalCoupling","DC")

채널을 1 VOLTS/DIV로 표시하도록 구성하십시오.

configureChannel(scope,ch,"VerticalRange",1)

프로브 감쇠를 1x로 설정합니다(옵션으로는 1, 10, 100이 있습니다).

configureChannel(scope,ch,"ProbeAttenuation",1)

The AcquisitionTime 속성은 파형 지속 시간을 초 단위로 나타냅니다. AcquisitionTime을 설정하면 SEC/DIV 제어도 그에 따라 변경됩니다. AcquisitionTime은 일반적으로 10개 칸(division) 또는 데이터 한 화면에 해당합니다.

scope.AcquisitionTime = 0.25;

scope.TriggerLevel = 2.56;
scope.TriggerSource = ch;
scope.TriggerSlope = "rising";
scope.TriggerMode = "normal";

disp(scope)
oscilloscope: TEKTRONIX,TDS 1002

   Instrument Settings:
      AcquisitionStartDelay: 'Not supported'
            AcquisitionTime: 0.25 s
               ChannelNames: 'CH1', 'CH2', 'MATH', 'REFA', 'REFB'
            ChannelsEnabled: 'CH1'
            SingleSweepMode: 'off'
                    Timeout: 10 s
             WaveformLength: 2500

   Trigger Settings:
               TriggerLevel: 2.56
              TriggerSource: 'CH1'
               TriggerSlope: 'rising'
                TriggerMode: 'normal'

   Communication Properties:
                     Status: 'open'
                   Resource: 'GPIB0::11::INSTR'

lists of methods

함수 생성기 구성

VISA-GPIB 객체를 사용하여 스윕 파형을 생성하도록 함수 생성기를 구성합니다.

fgenResource = "GPIB0::5::INSTR";
vfgen = visadev(fgenResource)
vfgen = 
  GPIB with properties:

         ResourceName: "GPIB0::5::INSTR"
                Alias: "FGEN_2CH"
               Vendor: "Agilent Technologies"
                Model: "33522B"
           BoardIndex: 0
       PrimaryAddress: 5
     SecondaryAddress: 65535
    NumBytesAvailable: 0

  Show all properties, functions

스윕 진폭과 오프셋을 구성합니다.

writeline(vfgen,"SOUR1:VOLT +1.0")
writeline(vfgen,"SOUR1:VOLT:OFFS +1.0")

스윕 모드를 활성화합니다.

writeline(vfgen,"SOUR1:FREQ:MODE SWE");
writeline(vfgen,"SOUR1:SWE:STAT ON");
writeline(vfgen,"SOUR1:SWE:SPAC LIN");

시작 및 종료 주파수를 구성합니다.

fstart = 20;
fstop = 200;

writeline(vfgen,compose("SOUR1:FREQ:STAR %d",fstart));
writeline(vfgen,compose("SOUR1:FREQ:STOP %d",fstop));

시작 주파수에서 종료 주파수까지 스윕하는 데 걸리는 시간을 sweepTime으로 구성합니다.

sweepTime = 0.1;
holdTime = 0;
returnTime = 0;

writeline(vfgen,compose("SOUR1:SWE:TIME %0.1f",sweepTime));

holdTime으로 정지 주파수를 유지하는 시간을 구성합니다.

writeline(vfgen,compose("SOUR1:SWE:HTIME %0.1f",holdTime));

시작 주파수로 돌아가는데 필요한 시간을 returnTime으로 구성합니다.

writeline(vfgen,compose("SOUR1:SWE:RTIME %0.1f",returnTime));

트리거를 구성합니다.

writeline(vfgen,"TRIG1:SLOP POS"); 
writeline(vfgen,"TRIG1:SOUR IMM");

파형 수집

오실로스코프를 사용하여 파형 데이터를 수집합니다. AcquisitionTime 속성은 파형 지속 시간을 초 단위로 나타냅니다. WaveformLength 속성은 파형 데이터의 점 개수를 나타냅니다.

y = readWaveform(scope);
t = linspace(0,scope.AcquisitionTime,scope.WaveformLength);

파형 플로팅

plot(t,y)
ylim([0.5,3.5]);
title("Acquired waveform (sweep)")
xlabel("Time (s)");
ylabel("Voltage (V)");

정리

작업이 끝나면 작업 공간을 비웁니다.

disconnect(scope)
clear scope vfgen