Community코딩 & 개발github.com

JaredCabot/keysight-truevolt-dmm

Keysight Truevolt 시리즈 벤치 DMM(34460A/34461A/34465A/34470A)을 SCPI 명령어(USB/LAN/GPIB)로 작동, 프로그래밍 및 구성합니다: 측정 설정, 트리거링, 수학 연산, 데이터 로깅, 디지타이징, 보조 측정, 상태, 오류, 파일, I/O, 교정 및 전체 문서화된 명령어 세트를 다룹니다.

keysight-truevolt-dmm란 무엇인가요?

이 스킬은 Keysight Truevolt 시리즈(34460A/34461A/34465A/34470A) 벤치 DMM의 전체 문서화된 기능 세트를 SCPI 명령어를 통해 제어하는 방법을 제공합니다. USB-TMC, LAN(VXI-11, HiSLIP, raw socket, Telnet), GPIB 등 다양한 인터페이스를 지원하며, pyVISA나 raw socket을 사용한 Python 예제를 포함합니다. 측정 함수(DC/AC 전압, 전류, 2선/4선 저항, 커패시턴스, 주파수, 주기, 온도, 도통, 다이오드) 선택, 분해능/NPLC/애퍼처 설정, 트리거 소스 및 샘플링 카운트 구성, INITiate/FETCh/READ/R?/ABORt 명령어를 통한 데이터 수집, 계산 기능(NULL, 스케일, 스무딩, dB/dBm), 상태 및 오류 레지스터 시스템, 데이터 로깅 및 디지타이징 모드(34465A/70A 전용), 파일 시스템, I/O 구성, 교정 및 라이선스 옵션(DIG, MEM, SEC, LAN, GPB)을 포괄합니다. 모델별 차이점을 명확히 구분하여, 34460A/61A와 34465A/70A 간의 기능 차이를 강조합니다.

지원 대상~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/JaredCabot/claude-instrument-skills/tree/HEAD/keysight-truevolt-dmm

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Keysight Truevolt 시리즈 DMM: 34460A / 34461A / 34465A / 34470A

Keysight Truevolt 시리즈 운영 및 서비스 가이드(문서 번호 34460-90901, 영어판; "OSG p.NNN"은 인쇄된 페이지 번호)에 있는 전체 문서화된 기능 세트입니다. 여기의 모든 내용은 별도로 표시되지 않는 한 가이드에서 가져왔습니다. 문서화되지 않은 DIAGnostic/서비스 명령어, AC 모드 변형 및 펌웨어 내부에 대해서는 별도의 344xxA 펌웨어 보충 자료를 참조하십시오. 이 스킬은 공식 기능 세트만 포함합니다.

구문 규칙: {A|B}는 필수 선택, [X]는 선택적 노드 또는 매개변수, <x>는 사용자가 제공하는 값입니다. SCPI 키워드는 대문자로 축약형을 보여줍니다. 소문자 꼬리는 선택 사항입니다(VOLTage는 VOLT 또는 VOLTAGE 허용). MIN, MAX, DEF는 숫자 <value>가 허용되는 모든 곳에서 허용되며, 숫자 쿼리는 [{MIN|MAX|DEF}]를 사용하여 현재 값 대신 한계값을 요청할 수 있습니다. 부울 매개변수는 {OFF|0|ON|1}을 허용합니다. 쿼리는 0 또는 1을 반환합니다. 표시된 모든 설정 명령어에는 "(no query)"라고 표시되지 않는 한 일치하는 쿼리가 있습니다.

모델, 옵션 및 차이점

모델자릿수비고
34460A6½기본 DMM. LAN 및 액세서리 키트는 옵션입니다. 10A 단자 없음.
34461A6½34401A 대체 모델. LAN 및 액세서리 키트 기본 제공. 10A 단자 있음.
34465A6½아래 34465A/70A 전용 기능 추가.
34470A7½가장 높은 분해능. 34465A와 동일한 기능 세트.

대규모 명령어 및 매개변수 그룹은 34465A/70A 전용입니다: 모든 APERture 및 APERture:ENABled 노드; CALCulate:SCALe GAIN/OFFSet/REFerence/UNIT 및 PCT 및 SCALe (Mx-B) 스케일 함수; CALCulate:SMOothing; SAMPle:SOURce / SAMPle:TIMer / SAMPle:COUNt:PRETrigger; TRIGger:LEVel 및 TRIGger:SOURce INTernal (레벨 트리거링, DIG 필요); FORMat 바이너리 전송 및 MMEMory:FORMat:READing; 보조 측정 "CALCulate:DATA" 및 "PTPeak" 선택; SYSTem:ACALibration 및 *CAL?; 저항/온도 OCOMpensated 및 POWer:LIMit; CURRent:SWITch:MODE; 열전대 변환기; DC 전용 1 µA 및 10 µA 전류 범위와 1 GΩ 저항 범위; 데이터 로그 및 디지타이즈 획득 모드. 34460A/61A에 이러한 명령어를 보내면 -203,"Command protected; feature not available on this model" 오류가 반환됩니다. (히스토그램, dB 및 dBm 스케일 함수, 기타 보조 측정 선택은 모든 4개 모델에서 사용 가능)

라이선스 옵션은 SYSTem:LICense:CATalog?로 읽어옵니다:

  • DIG - 디지타이징 및 고급(레벨) 트리거링 (34465A/70A). 최신 펌웨어에 포함됨. DIG 없으면 최소 애퍼처는 200 µs, 최소 NPLC는 0.02; DIG 있으면 20 µs, NPLC 최소 0.001.
  • MEM - 대용량 판독 메모리: 50,000 대신 2,000,000 판독 (34465A/70A).
  • SEC - NISPOM 파일 보안.
  • LAN, GPB - LAN/LXI 인터페이스 및 사용자 설치 가능 GPIB 모듈.

판독 메모리 깊이 (MEM 없음): 34460A 1,000; 34461A 10,000; 34465A/70A 50,000 (OSG p.355).

연결

Keysight VISA 리소스 문자열, 인터페이스별 (USB, LAN 및 웹은 기본적으로 활성화됨; GPIB는 모듈 필요):

  • USB (USB-TMC): USB0::<vid>::<pid>::<serial>::0::INSTR. 정확한 문자열은 [Shift] > [Help] > About 또는 VISA 브라우저에서 확인.
  • LAN VXI-11: TCPIP0::<ip>::inst0::INSTR
  • LAN HiSLIP: TCPIP0::<ip>::hislip0::INSTR
  • LAN raw socket: TCP port 5025 (TCPIP0::<ip>::5025::SOCKET); 각 명령어는 \n으로 끝냅니다.
  • LAN Telnet: port 5024 (telnet <ip> 5024).
  • GPIB: GPIB0::<addr>::INSTR; 주소는 SYSTem:COMMunicate:GPIB:ADDRess <n>으로 설정 (기본값 22).

기본 LAN은 DHCP + Auto-IP 켜짐; 대체 주소 169.254.x.x; 호스트 이름 K-<model>-nnnnn (마지막 5자리 일련번호). 인터페이스 및 LAN 서비스 변경은 전원을 껐다 켠 후에만 적용됩니다 (OSG p.473).

import pyvisa
rm = pyvisa.ResourceManager()
dmm = rm.open_resource("TCPIP0::192.168.1.50::inst0::INSTR")
dmm.timeout = 10000                      # ms; 긴 NPLC 또는 큰 SAMP:COUN의 경우 증가
print(dmm.query("*IDN?"))                # Keysight Technologies,34465A,<serial>,<fw>
print(dmm.query("MEAS:VOLT:DC? 10,0.001"))

VISA 없는 Raw socket:

import socket
s = socket.create_connection(("192.168.1.50", 5025), timeout=10)
s.sendall(b"MEAS:VOLT:DC? 10,0.001\n")
print(s.recv(256).decode().strip())

인터페이스 활성화 또는 비활성화: SYSTem:COMMunicate:ENABle {OFF|ON}, {GPIB|HISLip|USB|LAN|SOCKets|TELNet|VXI11|WEB|USBMtp|USBHost}.

측정 모델

제어 수준이 낮은 순서에서 높은 순서로 세 가지 계층:

  1. MEASure:<fn>? - 일회성: 함수를 미리 설정하고, 범위를 지정하지 않으면 자동 범위를 사용하며, 트리거하고, 판독값을 반환합니다. CONFigure + READ?를 기본값으로 사용하는 것과 동일합니다. 가장 쉽고 유연성이 떨어집니다.
  2. CONFigure:<fn> 다음 READ? - 함수를 구성하고, 그 사이에 [SENSe:] 명령어로 조정한 다음 READ?로 트리거하고 반환합니다. CONFigure는 트리거를 준비하지 않습니다 (OSG p.197). CONFigure?는 현재 함수와 해당 범위/분해능을 따옴표로 묶인 문자열로 반환합니다.
  3. CONFigure / [SENSe:] / TRIGger 설정, 다음 INITiate 로 준비, 다음 FETCh? 로 검색. 트리거된 버스트, 데이터 로깅 및 디지타이징에 사용합니다.

검색 및 제어 동사:

  • INITiate[:IMMediate] - 준비: 장비를 유휴 상태에서 트리거 대기 상태로 전환합니다. 메모리에서 이전 판독값을 지우고 새 판독값을 저장합니다. 중첩됨(즉시 반환).
  • READ? = INITiate + FETCh?.
  • FETCh? - 다시 트리거하거나 지우지 않고 메모리의 모든 판독값을 반환합니다.
  • R? [<max>] - 가장 오래된 판독값을 반환하고 지웁니다 (FIFO). 긴 획득 중 메모리 오버플로를 방지하기 위해 판독하는 데 사용합니다.
  • ABORt - 진행 중인 측정을 중지하고 트리거 유휴 상태로 돌아갑니다. 트리거 대기 또는 긴 버스트에서 빠져나오는 데 사용합니다.
  • INITiate 당 총 판독 수 = TRIGger:COUNt x SAMPle:COUNt.
# 100개 판독의 고속 트리거 버스트, 10V 범위, BUS 트리거
 dmm.write("CONF:VOLT:DC 10,1e-5")
 dmm.write("VOLT:DC:NPLC 1")
 dmm.write("TRIG:SOUR BUS; :SAMP:COUN 100")
 dmm.write("INIT")
 dmm.write("*TRG")
 dmm.query("*OPC?")                       # 버스트가 끝날 때까지 대기
 vals = dmm.query("FETC?").strip().split(",")

측정 함수

CONFigure:<fn> / MEASure:<fn>?로 선택하거나, [SENSe:]FUNCtion[:ON] "<function>"으로 선택합니다. 13개의 유효한 함수 문자열: "VOLTage[:DC]", "VOLTage[:DC]:RATio", "VOLTage:AC", "CURRent[:DC]", "CURRent:AC", "RESistance" (2-wire), "FRESistance" (4-wire), "CAPacitance", "FREQuency", "PERiod", "TEMPerature", "CONTinuity", "DIODe". 쿼리는 축약형(예: "CURR:AC")을 반환합니다. 각 함수는 자체 범위, 분해능 및 설정을 유지합니다. 함수를 전환하면 모든 CALCulate 수학 상태가 꺼집니다.

연속성 및 다이오드를 제외한 모든 측정 함수는 RANGe <v>, RANGe:AUTO {OFF|ON|ONCE}, RESolution <v>, NULL[:STATe], NULL:VALue, NULL:VALue:AUTO 및 아래 통합 제어를 허용합니다. 자동 범위는 범위의 120% 이상에서 위로 올라가고 10% 미만에서 아래로 내려갑니다. 고정 범위 과부하는 패널에 "Overload"를 표시하고 원격으로 9.9E37을 반환합니다.

DC 전압 - VOLTage[:DC] 및 비율 VOLTage[:DC]:RATio

  • 범위 100 mV, 1 V, 10 V, 100 V, 1000 V (:RANGe {<v>|MIN|MAX|DEF}, 기본값 자동 범위; DC 기본 범위는 자동 범위 켜짐 상태에서 1000 V).
  • VOLTage[:DC]:IMPedance:AUTO {OFF|ON} - OFF는 모든 범위에서 10 MΩ으로 고정합니다. ON은 100 mV/1 V/10 V에서 >10 GΩ ("Hi-Z")을 제공하고 100 V/1000 V에서 10 MΩ을 제공합니다. CONFigure 및 MEASure?는 이를 OFF로 강제합니다. 기본값 OFF.
  • VOLTage[:DC]:ZERO:AUTO {OFF|ON|ONCE} - 자동 영점, 기본값 ON.
  • :RATio는 HI-LO 입력을 Sense 단자의 DC 기준 전압과 비교하여 측정합니다. DC 설정을 사용합니다. NULL은 비율에 사용할 수 없습니다. 보조 "SENSe:DATA"로 원시 신호 및 기준을 읽습니다.

AC 전압 - VOLTage:AC

  • 범위 100 mV, 1 V, 10 V, 100 V, 1000 V (:RANGe 기본값 10 V; MAX는 1000 V, 최상위 범위에서 750 VAC rms 안전 제한 있음). True-RMS, AC 결합.
  • VOLTage:AC:BANDwidth {3|20|200} - AC 필터(Hz): 3 (Slow), 20 (Medium, 기본값), 200 (Fast). 존재하는 가장 낮은 주파수로 설정하십시오. Truevolt RMS 알고리즘은 Crest Factor에 민감하지 않으므로 Crest Factor 경감이 필요하지 않습니다 (OSG p.163). 판독당 정착 시간: 3Hz 2.5s, 20Hz 0.625s, 200Hz 0.025s.

DC / AC 전류 - CURRent[:DC] / CURRent:AC

  • 3A 단자 범위: 100 µA, 1 mA, 10 mA, 100 mA, 1 A, 3 A. 34465A/70A는 DC 전용 1 µA 및 10 µA 범위를 추가합니다. (100 µA 및 1 mA 범위는 모든 모델에 존재합니다.)
  • CURRent:{AC|DC}:TERMinals {3|10} - 3A 또는 10A 전면 단자를 선택합니다 (34461A/65A/70A; 34460A에는 10A 단자 없음). :RANGe로 10A 범위를 선택할 수 없습니다. TERMinals 10 또는 CONF:CURR 10을 사용하십시오. 10A는 전면 단자 전용입니다.
  • CURRent:SWITch:MODE {FAST|CONTinuous} (34465A/70A, 3A 단자) - 내부 션트 스위칭 동작. CONTinuous (기본값)는 일시적인 개방 회로를 방지하지만 범위 변경을 최대 3배 느리게 만듭니다. FAST는 짧은 개방 회로를 허용합니다.
  • CURRent:AC:BANDwidth {3|20|200}는 AC 전압과 유사합니다. ACI 정착 시간 3Hz 1.66s, 20Hz 0.25s, 200Hz 0.025s. DC 전류에는 ZERO:AUTO가 있습니다.

2선 / 4선 저항 - RESistance / FRESistance

  • 범위 100 Ω, 1 kΩ, 10 kΩ, 100 kΩ, 1 MΩ, 10 MΩ, 100 MΩ (기본값 1 kΩ, 자동 범위 켜짐). 34465A/70A는 1 GΩ을 추가합니다.
  • OCOMpensated {OFF|ON} (34465A/70A) - 오프셋 보상. 다른 소스 전류에서 두 번 판독하여 열 EMF를 상쇄합니다. 100 Ω ~ 100 kΩ에서만 작동합니다. 판독 시간이 대략 두 배가 됩니다.
  • POWer:LIMit[:STATe] {OFF|ON} (34465A/70A) - 저전력 저항, 더 적은 전류를 공급합니다. 100 Ω ~ 100 kΩ에서 효과적입니다.
  • RESistance:ZERO:AUTO {OFF|ON|ONCE} - 2-wire 자동 영점 (기본값 ON). 4-wire는 항상 오프셋이 제거되므로 FRESistance에는 ZERO:AUTO가 없습니다. 리드 저항을 상쇄하려면 FRESistance를 사용하십시오. RESistance:NULL은 2-wire에 대해 이를 null로 만듭니다.

커패시턴스 - CAPacitance

  • 범위 1 nF, 10 nF, 100 nF, 1 µF, 10 µF, 100 µF, 기본 자동 범위. 자동 범위가 꺼져 있으면 범위 초과가 과부하를 보고하지 않습니다. 과부하는 측정 시간 초과(너무 큼) 또는 입력에 DC 또는 단락이 있을 때 발생합니다.
  • 가이드 소개에서 34465A/70A 전용으로 표시되었지만 커패시턴스 명령어 페이지에는 모델 정보가 없습니다. 가용성은 모델에 따라 다르다고 간주하고 SYSTem:LICense:CATalog?/-203으로 확인하십시오.

주파수 / 주기 - FREQuency / PERiod

  • 전압 입력에서의 레시프로컬 카운팅, 3Hz ~ 300kHz. FREQ와 PER는 APERture, RANGe:LOWer 및 VOLTage:RANGe 값 세트를 공유합니다. NULL 및 SECondary는 독립적입니다.
  • {FREQuency|PERiod}:APERture {1e-3|10e-3|100e-3|1} - 게이트 시간 1ms, 10ms, 100ms (기본값), 1s; 1ms는 34465A/70A 전용입니다. 게이트가 길수록 분해능이 더 미세해집니다.
  • :RANGe:LOWer {3|20|200} - AC 필터 / 예상되는 가장 낮은 입력 주파수, 기본값 20Hz; 게이트는 이를 기다립니다.
  • :VOLTage:RANGe {<v>|MIN|MAX|DEF}는 입력 전압 범위를 설정합니다 (기본값 10 V), :VOLTage:RANGe:AUTO는 자동 범위를, :TIMeout:AUTO {OFF|ON}은 게이트 시간 초과를 설정합니다 (OFF는 신호 없이 1초 대기; ON은 필터에 따라 조정되며 시간 초과 시 0.0 반환; 이것은 유일한 비휘발성 SENSe 설정입니다).

온도 - TEMPerature

  • TRANsducer:TYPE {FRTD|RTD|FTHermistor|THERmistor|TCouple} - 4-wire RTD, 2-wire RTD, 4-wire 서미스터, 2-wire 서미스터, 열전대 (기본값 FRTD; TCouple은 34465A/70A 전용).
  • CONFigure:TEMPerature [{FRTD|RTD|FTHermistor|THERmistor|TCouple|DEF} [,{<type>|DEF} [,1,{<resolution>|MIN|MAX|DEF}]]]. <type>은 프로브 값입니다 (예: CONF:TEMP FRTD,85); 1 자리 표시자는 예약되어 있습니다.
  • RTD: TRANsducer:{FRTD|RTD}:RESistance[:REFerence] <r0>는 R0를 설정합니다 (기본값 100 Ω; 34460A/61A에서는 80-120 Ω 범위, 34465A/70A에서는 49-2100 Ω 범위), OCOMpensated 및 POWer:LIMit (34465A/70A)도 있습니다.
  • 서미스터: 전면 패널은 2.2 kΩ (44004), 5 kΩ (44007) 및 10 kΩ (44006) 프로브 (Steinhart-Hart)를 지원하지만, 원격 명령어 TRANsducer:{FTHermistor|THERmistor}:TYPE은 5000만 허용합니다. 다른 서미스터 유형은 전면 패널에서 설정하십시오.
  • 열전대 (34465A/70A): TCouple:TYPE {E|J|K|N|R|T} (기본값 J), TCouple:RJUNction:TYPE {INTernal|FIXed}, TCouple:RJUNction <temp> (고정 기준, 항상 °C, -20 ~ +80), TCouple:RJUNction:OFFSet:ADJust <temp> (-20 ~ +20), 및 TCouple:CHECk {OFF|ON} (접속 해제된 접합부 플래그 표시). SYSTem:TEMPerature?는 내부 기준 온도를 읽습니다.
  • UNIT:TEMPerature {C|F|K}는 보고 단위를 설정합니다 (기본값 C).

연속성 / 다이오드 - CONTinuity / DIODe

  • 범위나 분해능이 없습니다. CONFigure:CONTinuity, CONFigure:DIODe. [SENSe:] 하위 트리가 없으므로 FUNCtion을 통해서만 선택 가능합니다.

분해능, NPLC 및 애퍼처

분해능, NPLC 또는 애퍼처 중 하나를 설정하면 나머지는 자동으로 따릅니다 (DC 함수, 저항 및 온도에 적용됨. AC 및 주파수는 대신 필터와 게이트를 사용).

  • [SENSe:]<fn>:NPLC {<PLCs>|MIN|MAX|DEF} - 전력선 주기 단위의 통합 시간, 기본값 10. 허용 집합:
    • 34460A/61A: 0.02, 0.2, 1, 10, 100
    • 34465A/70A (DIG 없음): 0.02, 0.06, 0.2, 1, 10, 100
    • 34465A/70A (DIG 있음): 0.001, 0.002, 0.006, 0.02, 0.06, 0.2, 1, 10, 100 1, 10 및 100 PLC만이 전력선 (정상 모드) 노이즈 제거를 제공합니다.
  • [SENSe:]<fn>:APERture <seconds> (34465A/70A)는 통합 시간을 직접 설정합니다: 200 µs ~ 1s, 또는 DIG 사용 시 20 µs ~ 1s, 2 µs 분해능, 기본값 100 ms. APERture를 보내면 APERture:ENABled ON으로 설정됩니다. NPLC 또는 RESolution, 또는 CONFigure/MEASure?를 보내면 OFF로 설정됩니다. 마지막으로 보낸 NPLC/애퍼처가 우선합니다.
  • [SENSe:]<fn>:RESolution <v>는 측정 단위 (V, A, Ω)로, 자릿수가 아닙니다. MIN은 가장 미세, MAX는 가장 거침; 기본값은 10 PLC에 매핑됩니다.
  • 범위 및 분해능 표 (OSG p.450-453)는 각 범위 및 NPLC를 분해능 수치에 매핑합니다 (예: 34461A, 10V 범위, 10 NPLC는 10 µV 제공). 기억에 의존하지 말고 정확한 수치를 해당 표에서 찾으십시오.

트리거링 및 판독 획득

TRIGger:SOURce {IMMediate|EXTernal|BUS|MANual|HOLD|INTernal|LINE}
  • 트리거 소스 선택. IMMediate는 즉시 트리거됩니다. EXTernal은 후면 패널 Ext Trigger 입력을 사용합니다. BUS는 *TRG 또는 IEEE-488 GET(Group Execute Trigger) 명령어를 기다립니다. MANual은 장비 전면 패널의 [Single] 키를 기다립니다. HOLD는 측정을 중단하면 완료됩니다. INTernal (34465A/70A, DIG 필요)은 TRIGger:LEVel 설정을 기반으로 내부적으로 트리거합니다. LINE은 (예약됨, 현재 LINE은 IMM과 동일)입니다.

  • TRIGger:COUNt {<count>|MIN|MAX|DEF} (기본값 1)는 각 INITiate 사이클당 트리거 이벤트 수를 설정합니다. 예: DIG(레벨 트리거)의 경우 1 (단일 설정).

  • TRIGger:DELay {<seconds>|MIN|MAX|DEF} (기본값 0)는 트리거 이벤트 후 첫 번째 판독까지의 지연 시간입니다.

  • TRIGger:LEVel {<level>|MIN|MAX|DEF} (34465A/70A, DIG 필요)는 INTernal 트리거 소스에 대한 전압 레벨을 설정합니다.

SAMPle:COUNt {<count>|MIN|MAX|DEF}

트리거 이벤트당 판독 횟수 (기본값 1, 최대값은 사용 가능한 메모리에 따라 다름, 자세한 내용은 OSG p.355 참조).

SAMPle:SOURce {TIMer|IMMediate} (34465A/70A 전용)

샘플링 타이머 소스. TIMer를 사용하면 SAMPle:TIMer <seconds>로 설정된 간격으로 판독합니다. IMMediate는 가능한 한 빨리 판독합니다.

SAMPle:TIMer {<seconds>|MIN|MAX|DEF} (34465A/70A 전용)

SAMPle:SOURce TIMer의 샘플링 간격. 최소값은 통합 시간(애퍼처)에 따라 다릅니다.

SAMPle:COUNt:PRETrigger {<count>|MIN|MAX|DEF} (34465A/70A 전용)

트리거 조건이 충족되기 전에 획득할 사전 트리거 판독 횟수입니다. DIG(레벨 트리거)와 함께 사용합니다.

데이터 로깅 및 디지타이징 (34465A/70A 전용)

데이터 로깅

CONFigure:LOGGing [<interval>,[<count>]]로 설정하거나 FUNCtion "LOG" 및 [SENSe:]LOGGing: 명령어로 구성합니다.

  • :INTerval {<seconds>|MIN|MAX|DEF} - 로깅 간격 (기본값 5s, 범위 0.001 ~ 3600s).
  • :COUNt {<count>|MIN|MAX|DEF} - 로깅할 샘플 수 (기본값 1000, 2~2,000,000).
  • :STATe {OFF|ON} - 로깅 활성화.
  • :STARt {IMMediate|TIMe} - 즉시 또는 예약된 시작 시간.
  • :STARt:TIMe "<YYYY>,<MM>,<DD>,<HH>,<MM>,<SS>" - 예약된 시작 시간.
  • :STOP {TIMe|COUNt|NEVer} - 중지 조건.
  • :STOP:TIMe "<YYYY>,<MM>,<DD>,<HH>,<MM>,<SS>" - 예약된 중지 시간.
  • [:STOP]:COUNt - 중지 카운트 (위 :COUNt와 동일한 설정).

로깅에서 데이터 검색: FETCh? (모든 데이터) 또는 R? (가장 오래된 데이터 제거).

디지타이징

CONFigure:DIGitize [<function>,[<range>,[<resolution>]]]로 설정하거나 FUNCtion "DIG" 및 [SENSe:]DIGitize: 명령어로 구성합니다.

  • :SRATe {<rate>|MIN|MAX|DEF} - 샘플링 속도 (Sa/s). 최대 속도는 모델 및 DIG 옵션에 따라 다릅니다 (일반적으로 최대 50kSa/s).
  • :POINTs {<count>|MIN|MAX|DEF} - 디지타이즈할 포인트 수.
  • :STARt {IMMediate|TIMe} - 즉시 또는 예약된 시작.
  • :STARt:TIMe - 예약된 시작 시간 (데이터 로깅 형식과 유사).
  • :TIMe - 디지타이즈 지속 시간 (POINTs / SRATe로 재정의됨).

디지타이징에서 데이터 검색: FETCh? 또는 R?.

계산 함수 (수학 연산)

CALCulate:FUNCtion {NONE|NULL|SCALe|AVERage|SDEViation|MINimum|MAXimum|PTPeak|LIMit|dB|DBM|PCT}로 선택합니다 STATe {OFF|ON}으로 활성화합니다.

각 함수에 대한 자세한 설정 명령어:

  • NULL (영점 조정/tare): CALCulate:NULL:VALue <v> (직접 값 설정) 또는 CALCulate:NULL:VALue:AUTO {OFF|ON|ONCE} (현재 측정값을 Null 값으로 자동 획득). 기본적으로 모든 측정 함수에 대해 NULL[:STATe]를 통해 사용 가능 (비율 제외).
  • SCALe (Mx-B): CALCulate:SCALe:GAIN <gain>, CALCulate:SCALe:OFFSet <offset>, CALCulate:SCALe:REFerence <ref>, CALCulate:SCALe:UNIT "<unit>" (34465A/70A 전용).
  • AVERage: 평균/지정된 샘플 수의 평균. CALCulate:AVERage:COUNt <count>.
  • SDEViation: 표준 편차.
  • MINimum, MAXimum: 최소/최대 피크.
  • PTPeak: 피크-투-피크.
  • LIMit: 상한/하한 한계. CALCulate:LIMit:LOWer <limit>, CALCulate:LIMit:UPPer <limit>, CALCulate:LIMit:STATe {OFF|ON}.
  • dB: CALCulate:dB:REFerence <v> 기준 값에 대한 dB.
  • DBM: CALCulate:DBM:REFerence <r> 기준 임피던스에 대한 dBm (기본값 50Ω).
  • PCT: 백분율 (34465A/70A 전용). CALCulate:PCT:REFerence <v>.
  • SMOothing: 이동 평균 스무딩 (34465A/70A 전용). CALCulate:SMOothing:RESPonse {FAST|MEDium|SLOW}, CALCulate:SMOothing:STATe {OFF|ON}.

상태 및 오류

표준 이벤트 상태 레지스터 (ESR)

*ESR?로 읽고 *ESE <mask>로 마스크를 설정합니다. 비트: 0 (Operation Complete), 1 (Request Control), 2 (Query Error), 3 (Device Dependent Error), 4 (Execution Error), 5 (Command Error), 6 (User Request), 7 (Power On).

상태 바이트 (STB)

*STB?로 읽고 *SRE <mask>로 서비스 요청 마스크를 설정합니다. 비트: 0 (Reserved), 1 (Reserved), 2 (Error Queue), 3 (Questionable Data/Signal), 4 (Message Available), 5 (Standard Event), 6 (RQS/MSS), 7 (Operation).

작동 상태 레지스터

STATus:OPERation:CONDition? (조건), STATus:OPERation:ENABle <mask>, STATus:OPERation:EVENt?. 비트: 0 (Calibrating), 1 (Settling), 2 (Reserved), 3 (Reserved), 4 (Measuring), 5 (Waiting for Trigger), 6 (Reserved), 7 (Reserved), 8 (Reserved), 9 (Reserved), 10 (Reserved), 11 (Reserved), 12 (Reserved), 13 (Reserved), 14 (Reserved), 15 (Reserved).

의문 데이터/신호 상태 레지스터

STATus:QUEStionable:CONDition?, STATus:QUEStionable:ENABle <mask>, STATus:QUEStionable:EVENt?. 비트: 0 (Voltage Overload), 1 (Current Overload), 2 (Resistance Overload), 3 (Frequency Overload), 4 (Capacitance Overload), 5 (Temperature Overload), 6 (Reserved), 7 (Reserved), 8 (Reserved), 9 (Reserved), 10 (Reserved), 11 (Reserved), 12 (Reserved), 13 (Reserved), 14 (Reserved), 15 (Reserved).

의문 통합 상태 레지스터

STATus:QUEStionable:INTegrity:CONDition?, STATus:QUEStionable:INTegrity:ENABle <mask>, STATus:QUEStionable:INTegrity:EVENt?. 비트: 0 (Reserved), 1 (Signal > +ve peak), 2 (Signal < -ve peak), 3 (Reserved), 4 (Reserved), 5 (Reserved), 6 (Reserved), 7 (Reserved), 8 (Reserved), 9 (Reserved), 10 (Reserved), 11 (Reserved), 12 (Reserved), 13 (Reserved), 14 (Reserved), 15 (Reserved).

오류 큐

SYSTem:ERRor?로 읽습니다. 가장 오래된 오류를 반환합니다. 오류 큐를 지우려면 모든 오류가 반환될 때까지 읽습니다. 오류 번호 및 메시지 형식: -113,"Undefined header".

파일 시스템

MMEMory:CATalog? [<directory>] - 디렉토리 내용을 나열합니다. MMEMory:CDIRectory <directory> - 현재 디렉토리를 변경합니다. MMEMory:COPY <source>,<destination> - 파일을 복사합니다. MMEMory:DELete <file> - 파일을 삭제합니다. MMEMory:MOVE <source>,<destination> - 파일을 이동/이름 변경합니다. MMEMory:MDIRectory <directory> - 디렉토리를 생성합니다. MMEMory:RDIRectory <directory> - 디렉토리를 제거합니다. MMEMory:DATA <file>,<data> - 파일에 데이터를 씁니다. MMEMory:DATA? <file> - 파일에서 데이터를 읽습니다.

  • MMEMory:STORe:DATA <file> - 판독 메모리(판독 버퍼)를 파일에 저장합니다. MMEMory:LOAD:DATA? [<file>] - 파일에서 판독 메모리로 데이터를 로드합니다.
  • MMEMory:STORe:SCReen <file> - 스크린샷을 파일로 저장합니다.
  • MMEMory:STORe:SETup <file> - 현재 설정을 파일로 저장합니다. MMEMory:LOAD:SETup <file> - 설정 파일을 로드합니다.
  • MMEMory:STORe:STATe <file> - 현재 상태를 파일로 저장합니다. MMEMory:LOAD:STATe <file> - 상태 파일을 로드합니다.
  • MMEMory:FORMat:READing [:TYPE] {REAL|ASCII} (34465A/70A 전용) - MMEMory:STORe:DATA의 저장 형식을 설정합니다.

I/O 인터페이스 및 LAN 서비스 설정은 SYSTem:COMMunicate: 명령어로 수행됩니다. (자세한 내용은 OSG의 해당 섹션 참조)

I/O 인터페이스 설정

  • SYSTem:COMMunicate:LAN:DHCP {OFF|ON} - DHCP 활성화/비활성화.
  • SYSTem:COMMunicate:LAN:IPADdress "<ip>" - 고정 IP 주소.
  • SYSTem:COMMunicate:LAN:SMASk "<mask>" - 서브넷 마스크.
  • SYSTem:COMMunicate:LAN:GATEway "<gateway>" - 기본 게이트웨이.
  • SYSTem:COMMunicate:LAN:HOSTname "<name>" - 호스트 이름.
  • SYSTem:COMMunicate:LAN:MAC? - MAC 주소 쿼리.
  • SYSTem:COMMunicate:LAN:IPAPplied? - 적용된 IP 주소 쿼리.
  • SYSTem:COMMunicate:GPIB:ADDRess <n> - GPIB 주소.
  • SYSTem:COMMunicate:USB:CONTrol - USB 컨트롤 설정.

교정

SYSTem:ACALibration:ALL (34465A/70A 전용) - 모든 AC 교정을 실행합니다. SYSTem:ACALibration:ACAL {OFF|ON} - 자동 ACAL을 활성화/비활성화합니다. *CAL? - 교정 상태를 쿼리합니다 (34465A/70A 전용, 34460A/61A에서는 *CAL?이 지원되지 않음).

CALibration: 명령어는 공장 교정 절차에 사용됩니다. (일반적으로 숙련된 교정 기술자가 아닌 한 사용하지 마십시오).

시스템 명령어

  • *IDN? - 장비 식별 문자열을 반환합니다.
  • *RST - 공장 기본 설정으로 복원합니다.
  • *CLS - 상태 레지스터와 오류 큐를 지웁니다.
  • *OPC - 작업 완료 시 SRQ를 설정합니다.
  • *OPC? - 작업 완료 시 1을 반환합니다.
  • *WAI - 작업이 완료될 때까지 기다립니다.
  • *TRG - BUS 트리거를 생성합니다.
  • *TST? - 자체 테스트를 실행하고 결과를 반환합니다.
  • SYSTem:VERSion? - SCPI 버전을 반환합니다.
  • SYSTem:ERRor? - 오류 큐에서 오류를 읽습니다.
  • SYSTem:TEMPerature? - 내부 온도를 읽습니다.
  • SYSTem:LICense:CATalog? - 설치된 라이선스 옵션 목록.
  • SYSTem:LICense[:INSTall] <code> - 라이선스 코드를 설치합니다.
  • SYSTem:PRESet - 장비를 알려진 시작 상태로 미리 설정합니다.
  • SYSTem:KLOCk {OFF|ON} - 키보드 잠금.
  • SYSTem:BEEPer:IMMediate - 비프음을 발생시킵니다.
  • SYSTem:BEEPer:STATe {OFF|ON} - 비프음 활성화/비활성화.
  • DISPlay:TEXT <string> - 전면 패널 디스플레이에 텍스트를 표시합니다.
  • DISPlay:TEXT:CLEar - 디스플레이 텍스트를 지웁니다.
  • DISPlay:BRIGhtness <level> - 디스플레이 밝기.
  • DISPlay:CONTrast <level> - 디스플레이 대비 (일부 모델).
  • DISPlay[:STATe] {OFF|ON} - 디스플레이 켜기/끄기.
  • SYSTem:LANGuage <language> - 전면 패널 언어를 설정합니다.
  • SYSTem:TIME <hh>,<mm>,<ss> - 시간을 설정합니다.
  • SYSTem:DATE <yyyy>,<mm>,<dd> - 날짜를 설정합니다.

보조 측정

CALCulate:DATA? [<choice>] - 선택적 인수로 보조 측정값을 읽습니다:

  • (인수 없음) - 현재 함수에 대한 보조 측정값을 반환합니다 (예: DC 전압의 경우 온도 기준 접합 온도).
  • "SENSe:DATA" - 보정되지 않은 원시 A/D 판독값을 반환합니다.
  • "PTPeak" (34465A/70A 전용) - 피크-투-피크 값을 반환합니다.
  • "HISTogram" - 히스토그램 데이터를 반환합니다 (모든 모델).
  • "LIMit" - 한계 테스트 결과를 반환합니다.

이 명령어는 판독 데이터를 검색하기 위해 FETCh?와 함께 자주 사용됩니다.

기타 유용한 명령어

  • INITiate:CONTinuous {OFF|ON} - 연속 측정 모드 (기본값 OFF, 유휴).
  • [SENSe:]<fn>:RANGe:AUTO {OFF|ON|ONCE} - 자동 범위.
  • [SENSe:]<fn>:RANGe:UPPer <value> - 자동 범위 상한.
  • [SENSe:]<fn>:RANGe:LOWer <value> - 자동 범위 하한.
  • SYSTem:ERRor:OVERflow? - 오류 큐 오버플로우를 쿼리합니다.
  • SYSTem:ERRor:COUNt? - 오류 큐의 오류 수를 반환합니다.
  • STATus:QUEStionable:NTEGrity:ENABle <mask> - 의문 통합 레지스터 활성화 마스크.
  • FORMat[:DATA] {ASCii|REAL} - 데이터 형식 선호도 (ASCII 또는 바이너리).
  • FORMat[:DATA]:SEParator <string> - 데이터 구분 기호 (예: 쉼표).
  • INPut:FILTer {OFF|ON} - 입력 필터.
  • INPut:IMPedance {1e6|10e6|AUTO} - 입력 임피던스 (DC 전압).
  • ROUTe:TERMinals {FRONt|REAR} - 전면/후면 단자 선택.

SCPI 명령어 구조 참고 사항

  • 모든 [SENSe:] 명령어는 SENSe 접두사를 생략할 수 있습니다 (예: VOLT:DC:NPLC 10은 SENS:VOLT:DC:NPLC 10과 동일). 이 문서에서는 간결성을 위해 생략된 형식을 사용합니다.
  • 모든 명령어에는 일치하는 쿼리(?) 형식이 있습니다 (별도로 명시되지 않은 경우).
  • 여러 명령어를 세미콜론으로 연결할 수 있습니다 (예: VOLT:DC:NPLC 10;VOLT:DC:RANG 10).
  • 명령어는 공백이나 줄 바꿈으로 구분됩니다.
  • 빈 줄이나 공백은 무시됩니다.

모범 사례

  • 항상 명령어를 보낸 후 *OPC?로 동기화하십시오. 특히 긴 통합 시간이나 많은 샘플 수를 다룰 때 중요합니다.
  • 오류를 위해 SYSTem:ERRor?를 정기적으로 확인하십시오.
  • 알 수 없는 장비 상태에서 시작하려면 시퀀스 전에 *RST를 사용하십시오.
  • 데이터 손실을 방지하려면 긴 획득 중에 R?로 데이터를 정기적으로 읽으십시오.
  • 다양한 모델에서 스크립트를 실행하는 경우, SYSTem:LICense:CATalog?로 모델 종속 기능을 확인하십시오.
  • 효율성을 위해 가능하면 짧은 형식의 SCPI 키워드를 사용하십시오.

참고 문헌

  • Keysight Truevolt Series Operating and Service Guide (문서 34460-90901)
  • SCPI 표준 1999.0 (IEEE 488.2)
  • 이 스킬은 공식 Keysight 문서를 기반으로 합니다.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

관련 스킬