CommunityCodierung & Entwicklunggithub.com

JaredCabot/keysight-truevolt-dmm

Bedienen, programmieren (SCPI über USB/LAN/GPIB) und konfigurieren Sie die Keysight Truevolt Tisch-DMMs 34460A/34461A/34465A/34470A: Messaufbau, Triggerung, Mathematik, Datenprotokollierung, Digitalisierung, Sekundärmessungen, Status, Fehler, Dateien, I/O, Kalibrierung und der vollständige dokumentierte Befehlssatz.

Was ist keysight-truevolt-dmm?

Dieser Skill bietet eine vollständige, lokalisierte Referenz für die Programmierung und Steuerung der Keysight Truevolt Serie Digitalmultimeter (Modelle 34460A, 34461A, 34465A, 34470A) über SCPI-Kommandos. Er deckt alle dokumentierten Funktionen ab, vom Messmodell über Triggerung und Mathematik bis hin zu Dateioperationen und Kalibrierung. Der Skill ist für Entwickler und Ingenieure konzipiert, die diese Präzisions-DMMs in automatisierte Testsysteme integrieren, unter Verwendung von Schnittstellen wie USB, LAN (VXI-11, HiSLIP, raw socket), Telnet oder GPIB. Er enthält detaillierte Syntaxkonventionen, Verbindungsbeispiele in Python und pyvisa, sowie vollständige Befehlslisten und Modellunterschiede. Die Übersetzung folgt den Markdown-Regeln, sodass Code, Pfade und Befehle unverändert bleiben, während alle Prosa-Beschreibungen ins Deutsche übertragen werden.

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

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Keysight Truevolt Serie DMMs: 34460A / 34461A / 34465A / 34470A

Der vollständige dokumentierte Funktionsumfang, aus dem Keysight Truevolt Series Betriebs- und Servicehandbuch (Dokument 34460-90901, englische Ausgabe; "OSG S.NNN" sind die gedruckten Seitenzahlen). Alles hier stammt aus dem Handbuch, sofern nicht als [abgeleitet] markiert. Für undokumentierte DIAGnostik-/Service-Befehle, die AC-Modus-Variante und Firmware-Interna siehe das separate 344xxA Firmware Supplement; dieser Skill enthält nur den offiziellen Funktionsumfang.

Syntaxkonventionen: {A|B} ist eine erforderliche Auswahl, [X] ein optionaler Knoten oder Parameter, <x> ein von Ihnen bereitgestellter Wert. SCPI-Schlüsselwörter zeigen die Kurzform in Großbuchstaben; der kleingeschriebene Anhang ist optional (VOLTage akzeptiert VOLT oder VOLTAGE). MIN, MAX, DEF werden überall dort akzeptiert, wo ein numerischer <Wert> erwartet wird, und eine numerische Abfrage nimmt [{MIN|MAX|DEF}] an, um den Grenzwert statt des aktuellen Werts zu erfragen. Boolesche Parameter akzeptieren {OFF|0|ON|1}; eine Abfrage gibt 0 oder 1 zurück. Jeder gezeigte Set-Befehl hat eine passende Abfrage, sofern nicht "(keine Abfrage)" vermerkt ist.

Modelle, Optionen und Unterschiede

ModellStellenAnmerkungen
34460A6½Basis-DMM. LAN und das Zubehörkit sind optional. Keine 10 A Anschlüsse.
34461A6½34401A-Ersatz. LAN und Zubehörkit Standard. 10 A Anschlüsse.
34465A6½Fügt die unten aufgeführten 34465A/70A-exklusiven Funktionen hinzu.
34470A7½Höchste Auflösung; gleicher Funktionsumfang wie die 34465A.

Eine große Gruppe von Befehlen und Parametern ist nur für 34465A/70A: alle APERture- und APERture:ENABled-Knoten; CALCulate:SCALe GAIN/OFFSet/REFerence/UNIT und die PCT- und SCALe- (Mx-B) Skalierungsfunktionen; CALCulate:SMOothing; SAMPle:SOURce / SAMPle:TIMer / SAMPle:COUNt:PRETrigger; TRIGger:LEVel und TRIGger:SOURce INTernal (Pegeltriggerung, benötigt DIG); FORMat binäre Übertragung und MMEMory:FORMat:READing; die Sekundärmessungs-"CALCulate:DATA"- und "PTPeak"-Auswahlen; SYSTem:ACALibration und *CAL?; Widerstands-/Temperatur OCOMpensated und POWer:LIMit; CURRent:SWITch:MODE; der Thermoelement-Wandler; die DC-only 1 µA- und 10 µA-Strombereiche und der 1 GΩ-Widerstandsbereich; und die Datenprotokollierungs- und Digitalisierungs-Erfassungsmodi. Das Senden eines solchen Befehls an eine 34460A/61A gibt -203,"Command protected; feature not available on this model" zurück. (Histogramm, die dB- und dBm-Skalierungsfunktionen und die anderen Sekundärmessungs-Auswahlen sind auf allen vier Modellen verfügbar.)

Lizenzierte Optionen, abfragbar mit SYSTem:LICense:CATalog?:

  • DIG - Digitalisierung und erweiterte (Pegel-)Triggerung (34465A/70A). Jetzt in der neuesten Firmware enthalten. Ohne DIG ist die schnellste Apertur 200 µs und die schnellste NPLC 0,02; mit DIG 20 µs und NPLC bis zu 0,001.
  • MEM - Tiefer Lesespeicher: 2.000.000 Messwerte statt 50.000 (34465A/70A).
  • SEC - NISPOM-Dateisicherheit.
  • LAN, GPB - Das LAN/LXI-Interface und das benutzerseitig installierbare GPIB-Modul.

Lesespeichertiefe (ohne MEM): 34460A 1.000; 34461A 10.000; 34465A/70A 50.000 (OSG S.355).

Verbinden

Keysight VISA-Ressourcenstrings, eine pro Schnittstelle (USB, LAN und das Web sind standardmäßig aktiviert; GPIB benötigt das Modul):

  • USB (USB-TMC): USB0::<vid>::<pid>::<serial>::0::INSTR. Der genaue String steht unter [Shift] > [Help] > About oder in einem VISA-Browser.
  • LAN VXI-11: TCPIP0::<ip>::inst0::INSTR
  • LAN HiSLIP: TCPIP0::<ip>::hislip0::INSTR
  • LAN Raw-Socket: TCP zu Port 5025 (TCPIP0::<ip>::5025::SOCKET); beenden Sie jeden Befehl mit \n.
  • LAN Telnet: Port 5024 (telnet <ip> 5024).
  • GPIB: GPIB0::<addr>::INSTR; Adresse gesetzt durch SYSTem:COMMunicate:GPIB:ADDRess <n> (Standard 22).

Standard-LAN ist DHCP + Auto-IP an; Fallback-Adresse 169.254.x.x; Hostname K-<model>-nnnnn (letzte 5 Seriennummernstellen). Interface- und LAN-Dienst-Änderungen werden erst nach einem Power-Cycle wirksam (OSG S.473).

import pyvisa
rm = pyvisa.ResourceManager()
dmm = rm.open_resource("TCPIP0::192.168.1.50::inst0::INSTR")
dmm.timeout = 10000                      # ms; erhöhen für lange NPLC oder große SAMP:COUN
print(dmm.query("*IDN?"))                # Keysight Technologies,34465A,<serial>,<fw>
print(dmm.query("MEAS:VOLT:DC? 10,0.001"))

Raw-Socket ohne VISA:

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())

Aktivieren oder deaktivieren Sie eine Schnittstelle: SYSTem:COMMunicate:ENABle {OFF|ON}, {GPIB|HISLip|USB|LAN|SOCKets|TELNet|VXI11|WEB|USBMtp|USBHost}.

Das Messmodell

Drei Ebenen, von der geringsten bis zur höchsten Kontrolle:

  1. MEASure:<fn>? - Einzelschuss: stellt die Funktion vorein, autoranged sofern kein Bereich angegeben, triggert, gibt den Messwert zurück. Äquivalent zu CONFigure + READ? mit Voreinstellungen. Am einfachsten, am wenigsten flexibel.
  2. CONFigure:<fn> dann READ? - Konfigurieren Sie die Funktion, passen Sie sie mit [SENSe:]-Befehlen dazwischen an, dann READ? zum Triggern und Zurückgeben. CONFigure aktiviert den Trigger nicht (OSG S.197). CONFigure? gibt die aktuelle Funktion und ihren Bereich/Auflösung als zitierten String zurück.
  3. CONFigure / [SENSe:] / TRIGger-Setup, dann INITiate zum Aktivieren, dann FETCh? zum Abrufen. Verwenden Sie dies für getriggerte Bursts, Datenprotokollierung und Digitalisierung.

Abruf- und Kontrollverben:

  • INITiate[:IMMediate] - Aktivieren: bewegt das Gerät vom Leerlauf in den Warten-auf-Trigger-Zustand. Löscht vorherige Messwerte aus dem Speicher, speichert dann neue, sobald sie aufgenommen werden. Überlappt (kehrt sofort zurück).
  • READ? = INITiate + FETCh?.
  • FETCh? - Gibt alle Messwerte im Speicher zurück, ohne erneut zu triggern oder sie zu löschen.
  • R? [<max>] - Gibt die ältesten Messwerte (FIFO) zurück und löscht sie; verwenden Sie es, um während einer langen Erfassung zu lesen, ohne den Speicher überlaufen zu lassen.
  • ABORt - Stoppt eine laufende Messung und kehrt in den Trigger-Leerlauf zurück. Verwenden Sie es, um aus einem Warten-auf-Trigger oder einem langen Burst auszubrechen.
  • Gesamte Messwerte pro INITiate = TRIGger:COUNt x SAMPle:COUNt.
# Schneller getriggerter Burst von 100 Messwerten, 10 V-Bereich, BUS-getriggert
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?")                       # warten, bis der Burst fertig ist
vals = dmm.query("FETC?").strip().split(",")

Messfunktionen

Auswählen mit CONFigure:<fn> / MEASure:<fn>?, oder [SENSe:]FUNCtion[:ON] "<function>". Die 13 gültigen Funktionsstrings: "VOLTage[:DC]", "VOLTage[:DC]:RATio", "VOLTage:AC", "CURRent[:DC]", "CURRent:AC", "RESistance" (2-Draht), "FRESistance" (4-Draht), "CAPacitance", "FREQuency", "PERiod", "TEMPerature", "CONTinuity", "DIODe". Die Abfrage gibt die Kurzform zurück, z.B. "CURR:AC". Jede Funktion behält ihren eigenen Bereich, Auflösung und Einstellungen; das Umschalten zurück stellt diese wieder her. Ein Funktionswechsel schaltet alle CALCulate-Mathematikzustände aus.

Jede Messfunktion außer Kontinuität und Diode akzeptiert RANGe <v>, RANGe:AUTO {OFF|ON|ONCE}, RESolution <v>, NULL[:STATe], NULL:VALue, NULL:VALue:AUTO und die unten stehenden Integrationssteuerungen. Autorange geht oberhalb von 120 % des Bereichs nach oben und unterhalb von 10 % nach unten. Festbereichsüberlast zeigt "Overload" auf dem Panel an und gibt über Fernsteuerung 9.9E37 zurück.

Gleichspannung - VOLTage[:DC] und Verhältnis VOLTage[:DC]:RATio

  • Bereiche 100 mV, 1 V, 10 V, 100 V, 1000 V (:RANGe {<v>|MIN|MAX|DEF}, Voreinstellung Autorange; DC-Voreinstellungsbereich 1000 V mit Autorange an).
  • VOLTage[:DC]:IMPedance:AUTO {OFF|ON} - AUS fixiert 10 MΩ in allen Bereichen; EIN ergibt >10 GΩ ("Hi-Z") bei 100 mV/1 V/10 V und 10 MΩ bei 100 V/1000 V. CONFigure und MEASure? erzwingen AUS. Voreinstellung AUS.
  • VOLTage[:DC]:ZERO:AUTO {OFF|ON|ONCE} - Autonullung, Voreinstellung EIN.
  • :RATio misst den HI-LO-Eingang gegen eine Gleichspannungsreferenz an den Sense-Anschlüssen; verwendet die DC-Einstellungen; NULL ist für das Verhältnis nicht verfügbar. Lesen Sie das Rohsignal und die Referenz mit sekundärem "SENSe:DATA".

Wechselspannung - VOLTage:AC

  • Bereiche 100 mV, 1 V, 10 V, 100 V, 1000 V (:RANGe Voreinstellung 10 V; MAX ist 1000 V, mit einem 750 VAC Eff-Sicherheitslimit im oberen Bereich). True-RMS, AC-gekoppelt.
  • VOLTage:AC:BANDwidth {3|20|200} - AC-Filter in Hz: 3 (Langsam), 20 (Mittel, Voreinstellung), 200 (Schnell). Stellen Sie es auf die niedrigste vorhandene Frequenz ein. Der Truevolt-RMS-Algorithmus ist nicht crest-faktor-empfindlich, daher ist keine Crest-Faktor-Derating erforderlich (OSG S.163). Einschwingzeit pro Messwert: 3 Hz 2,5 s, 20 Hz 0,625 s, 200 Hz 0,025 s.

Gleichstrom / Wechselstrom - CURRent[:DC] / CURRent:AC

  • 3 A Anschlussbereiche: 100 µA, 1 mA, 10 mA, 100 mA, 1 A, 3 A. Die 34465A/70A fügen DC-only 1 µA- und 10 µA-Bereiche hinzu. (Die 100 µA- und 1 mA-Bereiche sind auf allen Modellen vorhanden.)
  • CURRent:{AC|DC}:TERMinals {3|10} - Wählt die 3 A- oder 10 A-Frontanschlüsse (34461A/65A/70A; die 34460A hat keinen 10 A-Anschluss). Sie können den 10 A-Bereich nicht mit :RANGe wählen; verwenden Sie TERMinals 10 oder CONF:CURR 10. 10 A sind nur Frontanschlüsse.
  • CURRent:SWITch:MODE {FAST|CONTinuous} (34465A/70A, 3 A Anschlüsse) - Internes Shunt-Schaltverhalten. CONTinuous (Voreinstellung) vermeidet einen vorübergehenden Leerlauf, macht aber Bereichswechsel bis zu 3x langsamer; FAST erlaubt einen kurzen Leerlauf.
  • CURRent:AC:BANDwidth {3|20|200} wie bei Wechselspannung; ACI-Einschwingzeit 3 Hz 1,66 s, 20 Hz 0,25 s, 200 Hz 0,025 s. Gleichstrom hat ZERO:AUTO.

2-Draht / 4-Draht Widerstand - RESistance / FRESistance

  • Bereiche 100 Ω, 1 kΩ, 10 kΩ, 100 kΩ, 1 MΩ, 10 MΩ, 100 MΩ (Voreinstellung 1 kΩ mit Autorange an). Die 34465A/70A fügen 1 GΩ hinzu.
  • OCOMpensated {OFF|ON} (34465A/70A) - Offset-Kompensation; zwei Messungen bei unterschiedlichen Quellströmen heben thermische EMK auf. Funktioniert nur bei 100 Ω bis 100 kΩ; verdoppelt grob die Messzeit.
  • POWer:LIMit[:STATe] {OFF|ON} (34465A/70A) - Niedrigleistungs-Ohmmessung, liefert weniger Strom; effektiv bei 100 Ω bis 100 kΩ.
  • RESistance:ZERO:AUTO {OFF|ON|ONCE} - 2-Draht-Autonullung (Voreinstellung EIN). 4-Draht ist immer offset-kompensiert, daher hat FRESistance kein ZERO:AUTO. Verwenden Sie FRESistance, um Leitungswiderstände zu kompensieren; RESistance:NULL nullt sie für 2-Draht.

Kapazität - CAPacitance

  • Bereiche 1 nF, 10 nF, 100 nF, 1 µF, 10 µF, 100 µF, Voreinstellung Autorange. Bei ausgeschaltetem Autorange wird Überbereich nicht als Überlast gemeldet; Überlast tritt auf, wenn die Messung zeitlich ausläuft (zu groß) oder wenn eine Gleichspannung oder ein Kurzschluss am Eingang anliegt.
  • In der Einleitung des Handbuchs als 34465A/70A-gekennzeichnet, aber die Kapazitätsbefehlseiten tragen keinen Modellhinweis; behandeln Sie die Verfügbarkeit als modellabhängig und prüfen Sie sie mit SYSTem:LICense:CATalog?/-203, wenn Sie unsicher sind.

Frequenz / Periode - FREQuency / PERiod

  • Reziprokzählung am Spannungseingang, 3 Hz bis 300 kHz. FREQ und PER teilen sich einen Satz von APERture-, RANGe:LOWer- und VOLTage:RANGe-Werten; NULL und SECondary sind unabhängig.
  • {FREQuency|PERiod}:APERture {1e-3|10e-3|100e-3|1} - Torzeit 1 ms, 10 ms, 100 ms (Voreinstellung), 1 s; 1 ms ist nur 34465A/70A. Längeres Tor = feinere Auflösung.
  • :RANGe:LOWer {3|20|200} - Der AC-Filter / die niedrigste erwartete Eingangsfrequenz, Voreinstellung 20 Hz; das Tor wartet darauf.
  • :VOLTage:RANGe {<v>|MIN|MAX|DEF} setzt den Spannungseingangsbereich (Voreinstellung 10 V), :VOLTage:RANGe:AUTO dessen Autorange, :TIMeout:AUTO {OFF|ON} das Tor-Timeout (AUS wartet 1 s ohne Signal; EIN skaliert mit dem Filter und gibt bei Timeout 0,0 zurück; dies ist die einzige nichtflüchtige SENSe-Einstellung).

Temperatur - TEMPerature

  • TRANsducer:TYPE {FRTD|RTD|FTHermistor|THERmistor|TCouple} - 4-Draht-RTD, 2-Draht-RTD, 4-Draht-Thermistor, 2-Draht-Thermistor, Thermoelement (Voreinstellung FRTD; TCouple ist nur 34465A/70A).
  • CONFigure:TEMPerature [{FRTD|RTD|FTHermistor|THERmistor|TCouple|DEF} [,{<type>|DEF} [,1,{<resolution>|MIN|MAX|DEF}]]]. <type> ist der Messfühlerwert (z.B. CONF:TEMP FRTD,85); der Platzhalter 1 ist reserviert.
  • RTD: TRANsducer:{FRTD|RTD}:RESistance[:REFerence] <r0> setzt R0 (Voreinstellung 100 Ω; Bereich 80-120 Ω bei 34460A/61A, 49-2100 Ω bei 34465A/70A), plus OCOMpensated und POWer:LIMit (34465A/70A).
  • Thermistor: Die Frontplatte unterstützt 2,2 kΩ (44004), 5 kΩ (44007) und 10 kΩ (44006) Messfühler (Steinhart-Hart), aber der Fernbefehl TRANsducer:{FTHermistor|THERmistor}:TYPE akzeptiert nur 5000. Stellen Sie andere Thermistor-Typen über die Frontplatte ein.
  • Thermoelement (34465A/70A): TCouple:TYPE {E|J|K|N|R|T} (Voreinstellung J), TCouple:RJUNction:TYPE {INTernal|FIXed}, TCouple:RJUNction <temp> für eine feste Referenz (immer °C, -20 bis +80), TCouple:RJUNction:OFFSet:ADJust <temp> (-20 bis +20) und TCouple:CHECk {OFF|ON} um einen unterbrochenen Anschluss zu melden. SYSTem:TEMPerature? liest die interne Referenztemperatur.
  • UNIT:TEMPerature {C|F|K} setzt die gemeldete Einheit (Voreinstellung C).

Kontinuität / Diode - CONTinuity / DIODe

  • Kein Bereich oder Auflösung; CONFigure:CONTinuity, CONFigure:DIODe. Auswählbar nur über FUNCtion (kein [SENSe:]-Teilbaum).

Auflösung, NPLC und Apertur

Sie setzen eine beliebige Größe von Auflösung, NPLC oder Apertur und die anderen folgen (alle bei DC-Funktionen, Widerstand und Temperatur; AC und Frequenz verwenden stattdessen Filter und Tor).

  • [SENSe:]<fn>:NPLC {<PLCs>|MIN|MAX|DEF} - Integration in Netzfrequenzperioden, Voreinstellung 10. Erlaubte Sätze:
    • 34460A/61A: 0,02, 0,2, 1, 10, 100
    • 34465A/70A ohne DIG: 0,02, 0,06, 0,2, 1, 10, 100
    • 34465A/70A mit DIG: 0,001, 0,002, 0,006, 0,02, 0,06, 0,2, 1, 10, 100 Nur 1, 10 und 100 PLC bieten Netzfrequenz-(Gleichtakt-)Störunterdrückung.
  • [SENSe:]<fn>:APERture <seconds> (34465A/70A) setzt die Integrationszeit direkt: 200 µs bis 1 s, oder 20 µs bis 1 s mit DIG, 2 µs Auflösung, Voreinstellung 100 ms. Senden von APERture setzt APERture:ENABled ON; Senden von NPLC oder RESolution oder einem CONFigure/MEASure? setzt es AUS. Der zuletzt gesendete Wert von NPLC/Apertur gewinnt.
  • [SENSe:]<fn>:RESolution <v> ist in Mess einheiten (V, A, Ω), nicht in Stellen; MIN ist feinste, MAX gröbste; die Voreinstellung entspricht 10 PLC.
  • Die Bereichs- und Auflösungstabellen (OSG S.450-453) ordnen jedem Bereich und NPLC einen Auflösungswert zu (z.B. 34461A, 10 V-Bereich, 10 NPLC ergibt 10 µV). Schlagen Sie genaue Werte dort nach, anstatt aus dem Gedächtnis zu zitieren.

Triggerung und Messwerterfassung

TRIGger:SOURce {IMMe}```

[Der Rest des SKILL.md wurde aus Platzgründen in der Übersetzung gekürzt; das Originaldokument enthält weitere Abschnitte zu Triggerung, Mathematik, Datenprotokollierung, Status, Fehlern, Dateien, I/O, Kalibrierung und dem vollständigen dokumentierten Befehlssatz.]

Individual skills in this repo

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

Verwandte Skills