JaredCabot/keysight-truevolt-dmm

Operar, programar (SCPI via USB/LAN/GPIB) e configurar os multímetros de bancada Keysight Truevolt 34460A/34461A/34465A/34470A: configuração de medição, disparo, matemática, registro de dados, digitalização, medições secundárias, status, erros, arquivos, E/S, calibração e o conjunto completo de comandos documentados.

O que é keysight-truevolt-dmm?

Esta habilidade fornece um guia completo e traduzido para controlar remotamente os multímetros de bancada da série Keysight Truevolt (34460A, 34461A, 34465A, 34470A) através de comandos SCPI sobre USB, LAN ou GPIB. Ela documenta todo o conjunto de recursos oficiais, desde medições básicas de tensão e corrente até funções avançadas como registro de dados, digitalização, matemática de canal e calibração. A habilidade esclarece diferenças entre modelos, opções licenciadas (como DIG para digitalização e MEM para memória profunda) e fornece exemplos práticos de código Python usando PyVISA para iniciar rapidamente a comunicação e a aquisição de dados. É ideal para engenheiros de teste e automação que precisam integrar esses multímetros em sistemas de teste automatizados.

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

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Multímetros da Série Keysight Truevolt: 34460A / 34461A / 34465A / 34470A

O conjunto completo de recursos documentados, extraído do Guia de Operação e Serviço da Série Truevolt da Keysight (documento 34460-90901, edição em inglês; "OSG p.NNN" refere-se aos números de página impressos). Tudo aqui é do guia, a menos que marcado como [inferido]. Para comandos DIAGnósticos/serviço não documentados, a variante do modo AC e os detalhes internos do firmware, consulte o suplemento separado 344xxA Firmware Supplement; esta habilidade cobre apenas o conjunto de recursos oficiais.

Convenções de sintaxe: {A|B} é uma escolha obrigatória, [X] é um nó ou parâmetro opcional, <x> é um valor fornecido por você. Palavras-chave SCPI mostram a forma abreviada em maiúsculas; a parte restante em minúsculas é opcional (VOLTage aceita VOLT ou VOLTAGE). MIN, MAX, DEF são aceitos onde quer que um <valor> numérico seja esperado, e uma consulta numérica aceita [{MIN|MAX|DEF}] para perguntar o limite em vez do valor atual. Parâmetros booleanos aceitam {OFF|0|ON|1}; uma consulta retorna 0 ou 1. Todo comando set mostrado tem uma consulta correspondente, a menos que indicado "(sem consulta)".

Modelos, opções e diferenças

ModeloDígitosNotas
34460A6½Multímetro básico. LAN e o kit de acessórios são opcionais. Sem terminais de 10 A.
34461A6½Substituição do 34401A. LAN e kit de acessórios padrão. Terminais de 10 A.
34465A6½Adiciona os recursos exclusivos do 34465A/70A listados abaixo.
34470A7½Maior resolução; mesmo conjunto de recursos do 34465A.

Um grande grupo de comandos e parâmetros é exclusivo do 34465A/70A: todos os nós APERture e APERture:ENABled; CALCulate:SCALe GAIN/OFFSet/REFerence/UNIT e as funções de escala PCT e SCALe (Mx-B); CALCulate:SMOothing; SAMPle:SOURce / SAMPle:TIMer / SAMPle:COUNt:PRETrigger; TRIGger:LEVel e TRIGger:SOURce INTernal (disparo por nível, precisa de DIG); FORMat transferência binária e MMEMory:FORMat:READing; as escolhas de medição secundária "CALCulate:DATA" e "PTPeak"; SYSTem:ACALibration e *CAL?; resistência/temperatura OCOMpensated e POWer:LIMit; CURRent:SWITch:MODE; o transdutor termopar; as faixas de corrente de 1 µA e 10 µA somente DC e a faixa de resistência de 1 GΩ; e os modos de aquisição Data Log e Digitize. Enviar um desses para um 34460A/61A retorna -203,"Command protected; feature not available on this model". (Histograma, as funções de escala dB e dBm e as outras opções de medição secundária estão disponíveis em todos os quatro modelos.)

Opções licenciadas, lidas com SYSTem:LICense:CATalog?:

  • DIG - digitalização e disparo avançado (por nível) (34465A/70A). Agora incluído com o firmware mais recente. Sem DIG, a abertura mais rápida é 200 µs e o NPLC mais rápido é 0,02; com DIG, 20 µs e NPLC até 0,001.
  • MEM - memória de leitura profunda: 2.000.000 leituras em vez de 50.000 (34465A/70A).
  • SEC - segurança de arquivos NISPOM.
  • LAN, GPB - a interface LAN/LXI e o módulo GPIB instalável pelo usuário.

Profundidade da memória de leitura (sem MEM): 34460A 1.000; 34461A 10.000; 34465A/70A 50.000 (OSG p.355).

Conectando

Strings de recurso VISA da Keysight, uma por interface (USB, LAN e web são habilitadas por padrão; GPIB precisa do módulo):

  • USB (USB-TMC): USB0::<vid>::<pid>::<serial>::0::INSTR. A string exata está em [Shift] > [Help] > About ou em qualquer navegador VISA.
  • LAN VXI-11: TCPIP0::<ip>::inst0::INSTR
  • LAN HiSLIP: TCPIP0::<ip>::hislip0::INSTR
  • LAN raw socket: TCP para porta 5025 (TCPIP0::<ip>::5025::SOCKET); termine cada comando com \n.
  • LAN Telnet: porta 5024 (telnet <ip> 5024).
  • GPIB: GPIB0::<addr>::INSTR; endereço definido por SYSTem:COMMunicate:GPIB:ADDRess <n> (padrão 22).

LAN padrão é DHCP + Auto-IP ativado; endereço reserva 169.254.x.x; nome do host K-<model>-nnnnn (últimos 5 dígitos do serial). As alterações de interface e serviço LAN só entram em vigor após um ciclo de energia (OSG p.473).

import pyvisa
rm = pyvisa.ResourceManager()
dmm = rm.open_resource("TCPIP0::192.168.1.50::inst0::INSTR")
dmm.timeout = 10000                      # ms; aumente para NPLC longo ou SAMP:COUN grande
print(dmm.query("*IDN?"))                # Keysight Technologies,34465A,<serial>,<fw>
print(dmm.query("MEAS:VOLT:DC? 10,0.001"))

Raw socket sem 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())

Habilitar ou desabilitar uma interface: SYSTem:COMMunicate:ENABle {OFF|ON}, {GPIB|HISLip|USB|LAN|SOCKets|TELNet|VXI11|WEB|USBMtp|USBHost}.

O modelo de medição

Três camadas, da menos à mais controle:

  1. MEASure:<fn>? - disparo único: predefini a função, autorrange a menos que você forneça uma faixa, dispara, retorna a leitura. Equivalente a CONFigure + READ? com padrões. Mais fácil, menos flexível.
  2. CONFigure:<fn> em seguida READ? - configure a função, ajuste-a com comandos [SENSe:] entre eles, depois READ? para disparar e retornar. CONFigure não arma o gatilho (OSG p.197). CONFigure? retorna a função atual e sua faixa/resolução como uma string entre aspas.
  3. CONFigure / [SENSe:] / TRIGger setup, em seguida INITiate para armar, depois FETCh? para recuperar. Use isso para rajadas disparadas, registro de dados e digitalização.

Verbos de recuperação e controle:

  • INITiate[:IMMediate] - armar: mover o instrumento do estado ocioso para aguardar gatilho. Limpa leituras anteriores da memória e armazena novas à medida que são feitas. Sobreposto (retorna imediatamente).
  • READ? = INITiate + FETCh?.
  • FETCh? - retorna todas as leituras na memória sem re-disparar ou apagá-las.
  • R? [<max>] - retorna e apaga as leituras mais antigas (FIFO); use para ler durante uma aquisição longa sem sobrecarregar a memória.
  • ABORt - interrompe uma medição em andamento e retorna ao estado ocioso do gatilho. Use para sair de uma espera por gatilho ou de uma rajada longa.
  • Total de leituras por INITiate = TRIGger:COUNt x SAMPle:COUNt.
# Rajada rápida de 100 leituras, faixa de 10 V, disparada por 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?")                       # aguarda o fim da rajada
vals = dmm.query("FETC?").strip().split(",")

Funções de medição

Selecione com CONFigure:<fn> / MEASure:<fn>?, ou [SENSe:]FUNCtion[:ON] "<function>". As 13 strings de função válidas: "VOLTage[:DC]", "VOLTage[:DC]:RATio", "VOLTage:AC", "CURRent[:DC]", "CURRent:AC", "RESistance" (2 fios), "FRESistance" (4 fios), "CAPacitance", "FREQuency", "PERiod", "TEMPerature", "CONTinuity", "DIODe". A consulta retorna a forma abreviada, por exemplo, "CURR:AC". Cada função mantém sua própria faixa, resolução e configurações; alternar para outra restaura as configurações anteriores. Mudar de função desliga todos os estados de cálculo matemático CALCulate.

Toda função de medição, exceto continuidade e diodo, aceita RANGe <v>, RANGe:AUTO {OFF|ON|ONCE}, RESolution <v>, NULL[:STATe], NULL:VALue, NULL:VALue:AUTO e os controles de integração abaixo. O autorrange sobe acima de 120% da faixa e desce abaixo de 10%. A sobrecarga com faixa fixa mostra "Overload" no painel e retorna 9.9E37 remotamente.

Tensão DC - VOLTage[:DC] e relação VOLTage[:DC]:RATio

  • Faixas 100 mV, 1 V, 10 V, 100 V, 1000 V (:RANGe {<v>|MIN|MAX|DEF}, padrão autorrange; faixa padrão DC 1000 V com autorrange ligado).
  • VOLTage[:DC]:IMPedance:AUTO {OFF|ON} - OFF fixa 10 MΩ em todas as faixas; ON fornece >10 GΩ ("Hi-Z") em 100 mV/1 V/10 V e 10 MΩ em 100 V/1000 V. CONFigure e MEASure? forçam OFF. Padrão OFF.
  • VOLTage[:DC]:ZERO:AUTO {OFF|ON|ONCE} - autozero, padrão ON.
  • :RATio mede a entrada HI-LO contra uma referência DC nos terminais Sense; usa as configurações DC; NULL não está disponível para relação. Leia o sinal bruto e a referência com o secundário "SENSe:DATA".

Tensão AC - VOLTage:AC

  • Faixas 100 mV, 1 V, 10 V, 100 V, 1000 V (:RANGe padrão 10 V; MAX é 1000 V, com um limite de segurança de 750 VAC rms na faixa superior). True-RMS, acoplado AC.
  • VOLTage:AC:BANDwidth {3|20|200} - filtro AC em Hz: 3 (Lento), 20 (Médio, padrão), 200 (Rápido). Defina-o para a frequência mais baixa presente. O algoritmo RMS Truevolt não é sensível ao fator de crista, portanto, nenhuma derating de fator de crista é necessária (OSG p.163). Tempo de estabilização por leitura: 3 Hz 2,5 s, 20 Hz 0,625 s, 200 Hz 0,025 s.

Corrente DC / AC - CURRent[:DC] / CURRent:AC

  • Faixas do terminal de 3 A: 100 µA, 1 mA, 10 mA, 100 mA, 1 A, 3 A. O 34465A/70A adiciona as faixas 1 µA e 10 µA somente DC. (As faixas de 100 µA e 1 mA existem em todos os modelos.)
  • CURRent:{AC|DC}:TERMinals {3|10} - seleciona os terminais frontais de 3 A ou 10 A (34461A/65A/70A; o 34460A não tem terminal de 10 A). Você não pode escolher a faixa de 10 A com :RANGe; use TERMinals 10 ou CONF:CURR 10. 10 A é apenas terminais frontais.
  • CURRent:SWITch:MODE {FAST|CONTinuous} (34465A/70A, terminais de 3 A) - comportamento interno de comutação de shunt. CONTinuous (padrão) evita um circuito aberto momentâneo, mas torna as mudanças de faixa até 3x mais lentas; FAST permite um breve circuito aberto.
  • CURRent:AC:BANDwidth {3|20|200} como tensão AC; tempo de estabilização ACI 3 Hz 1,66 s, 20 Hz 0,25 s, 200 Hz 0,025 s. Corrente DC tem ZERO:AUTO.

Resistência 2 fios / 4 fios - RESistance / FRESistance

  • Faixas 100 Ω, 1 kΩ, 10 kΩ, 100 kΩ, 1 MΩ, 10 MΩ, 100 MΩ (padrão 1 kΩ com autorrange ligado). O 34465A/70A adiciona 1 GΩ.
  • OCOMpensated {OFF|ON} (34465A/70A) - compensação de offset; duas leituras em diferentes correntes de fonte cancelam a FEM térmica. Funciona apenas em 100 Ω a 100 kΩ; aproximadamente dobra o tempo de leitura.
  • POWer:LIMit[:STATe] {OFF|ON} (34465A/70A) - ohms de baixa potência, fornece menos corrente; eficaz em 100 Ω a 100 kΩ.
  • RESistance:ZERO:AUTO {OFF|ON|ONCE} - autozero de 2 fios (padrão ON). 4 fios é sempre zerado por offset, então FRESistance não tem ZERO:AUTO. Use FRESistance para cancelar a resistência dos cabos; RESistance:NULL zera para 2 fios.

Capacitância - CAPacitance

  • Faixas 1 nF, 10 nF, 100 nF, 1 µF, 10 µF, 100 µF, padrão autorrange. Com autorrange desligado, a sobrefaixa não relata sobrecarga; a sobrecarga ocorre quando a medição expira (muito grande) ou se DC ou um curto está na entrada.
  • Marcado como exclusivo do 34465A/70A na introdução do guia, mas as páginas de comando de capacitância não carregam nota de modelo; trate a disponibilidade como dependente do modelo e verifique com SYSTem:LICense:CATalog?/-203 se não tiver certeza.

Frequência / período - FREQuency / PERiod

  • Contagem recíproca na entrada de tensão, 3 Hz a 300 kHz. FREQ e PER compartilham um conjunto de valores de APERture, RANGe:LOWer e VOLTage:RANGe; NULL e SECondary são independentes.
  • {FREQuency|PERiod}:APERture {1e-3|10e-3|100e-3|1} - tempo de porta 1 ms, 10 ms, 100 ms (padrão), 1 s; 1 ms é exclusivo do 34465A/70A. Porta mais longa = resolução mais fina.
  • :RANGe:LOWer {3|20|200} - o filtro AC / menor frequência de entrada esperada, padrão 20 Hz; a porta espera por ela.
  • :VOLTage:RANGe {<v>|MIN|MAX|DEF} define a faixa de tensão de entrada (padrão 10 V), :VOLTage:RANGe:AUTO seu autorrange, :TIMeout:AUTO {OFF|ON} o tempo limite da porta (OFF espera 1 s sem sinal; ON escala com o filtro e retorna 0,0 no tempo limite; esta é a única configuração SENSe não volátil).

Temperatura - TEMPerature

  • TRANsducer:TYPE {FRTD|RTD|FTHermistor|THERmistor|TCouple} - RTD de 4 fios, RTD de 2 fios, termistor de 4 fios, termistor de 2 fios, termopar (padrão FRTD; TCouple é exclusivo do 34465A/70A).
  • CONFigure:TEMPerature [{FRTD|RTD|FTHermistor|THERmistor|TCouple|DEF} [,{<type>|DEF} [,1,{<resolution>|MIN|MAX|DEF}]]]. <type> é o valor da sonda (por exemplo, CONF:TEMP FRTD,85); o espaço reservado 1 é reservado.
  • RTD: TRANsducer:{FRTD|RTD}:RESistance[:REFerence] <r0> define R0 (padrão 100 Ω; faixa 80-120 Ω no 34460A/61A, 49-2100 Ω no 34465A/70A), mais OCOMpensated e POWer:LIMit (34465A/70A).
  • Termistor: o painel frontal suporta sondas de 2,2 kΩ (44004), 5 kΩ (44007) e 10 kΩ (44006) (Steinhart-Hart), mas o comando remoto TRANsducer:{FTHermistor|THERmistor}:TYPE aceita apenas 5000. Defina outros tipos de termistor a partir do painel frontal.
  • Termopar (34465A/70A): TCouple:TYPE {E|J|K|N|R|T} (padrão J), TCouple:RJUNction:TYPE {INTernal|FIXed}, TCouple:RJUNction <temp> para uma referência fixa (sempre °C, -20 a +80), TCouple:RJUNction:OFFSet:ADJust <temp> (-20 a +20) e TCouple:CHECk {OFF|ON} para sinalizar uma junção desconectada. SYSTem:TEMPerature? lê a temperatura de referência interna.
  • UNIT:TEMPerature {C|F|K} define a unidade relatada (padrão C).

Continuidade / diodo - CONTinuity / DIODe

  • Sem faixa ou resolução; CONFigure:CONTinuity, CONFigure:DIODe. Selecionável apenas através de FUNCtion (nenhuma subárvore [SENSe:]).

Resolução, NPLC e abertura

Você define qualquer um de resolução, NPLC ou abertura e os outros seguem (todos nas funções DC, resistência e temperatura; AC e frequência usam o filtro e a porta).

  • [SENSe:]<fn>:NPLC {<PLCs>|MIN|MAX|DEF} - integração em ciclos de linha de energia, padrão 10. Conjuntos permitidos:
    • 34460A/61A: 0,02, 0,2, 1, 10, 100
    • 34465A/70A sem DIG: 0,02, 0,06, 0,2, 1, 10, 100
    • 34465A/70A com DIG: 0,001, 0,002, 0,006, 0,02, 0,06, 0,2, 1, 10, 100 Apenas 1, 10 e 100 PLC fornecem rejeição de ruído (modo normal) da linha de energia.
  • [SENSe:]<fn>:APERture <seconds> (34465A/70A) define o tempo de integração diretamente: 200 µs a 1 s, ou 20 µs a 1 s com DIG, resolução de 2 µs, padrão 100 ms. Enviar APERture define APERture:ENABled ON; enviar NPLC ou RESolution, ou qualquer CONFigure/MEASure?, define OFF. O último de NPLC/abertura enviado vence.
  • [SENSe:]<fn>:RESolution <v> está em unidades de medição (V, A, Ω), não dígitos; MIN é o mais fino, MAX o mais grosso; o padrão mapeia para 10 PLC.
  • As tabelas de faixa e resolução (OSG p.450-453) mapeiam cada faixa e NPLC para uma figura de resolução (por exemplo, 34461A, faixa de 10 V, 10 NPLC fornece 10 µV). Consulte figuras exatas lá em vez de citar de memória.

Disparo e aquisição de leitura

TRIGger:SOURce {IMMediate|BUS|EXTernal|INTernal|MANual|HOLD}

... (conteúdo truncado devido ao limite de caracteres)

Individual skills in this repo

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

Habilidades Relacionadas