이 페이지는 기계 번역을 사용하여 번역되었습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
VISA를 사용하여 스윕 사인파를 생성하고 Quick-Control 오실로스코프를 사용하여 파형 캡처
이 예제는 함수 생성기를 사용하여 스윕된 사인파 파형을 생성하는 방법과 오실로스코프를 사용하여 이를 캡처하는 방법을 보여줍니다.
지원되는 하드웨어의 전체 목록을 보려면 Instrument Control Toolbox 제품 페이지를 방문하십시오.
요구 사항
이 예제는 Keysight Technologies® 33522B 함수 생성기와 Tektronix® TDS 1002 오실로스코프를 사용하여 테스트되었습니다. 함수 생성기와 오실로스코프의 GPIB 주소는 각각 GPIB0::5::INSTR과 GPIB0::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