; ******************************************************** ; #NOTES ; ******************************************************** ; Rev 1.0.69 Released 2025-10-28 ; Based on maukka's 34401A definition file. ; ******************************************************** #metadef #author KungFuJosh #idString Agilent Technologies,34411A, #name Agilent 34411A #handle AG34411A #metadef #author KungFuJosh #idString Agilent Technologies,34410A, #name Agilent 34410A #handle AG34410A #meta #author KungFuJosh #idString Agilent Technologies,3441XA, #name Agilent 3441XA #handle AG3441XA #port 5025 LXI GPIB #driver SCPIx #helpurl https://www.youtube.com/watch?v=dQw4w9WgXcQ #value VoltageDC V D6 DC_Voltage,Diode #value CurrentDC A si DC_Current #value VoltageAC V D6 AC_Voltage #value CurrentAC A si AC_Current #value Resistance ohm si 2W_Resistance,4W_Resistance,Continuity #value Capacitance F si Capacitance #value Frequency Hz si Frequency #value Period s d6 Period #value Temperature °C d3 Temperature #askValues READ? #readingDelay 10 #modeChangeDelay 10 #askMode FUNC? ;#initCmd ;#finalCmd #interfaceType DMM BMM #interface readValue 0 #cmdModeLayout 3 4 #cmdMode DC_Voltage VOLT CONF:VOLT:DC; #cmdMode AC_Voltage VOLT:AC CONF:VOLT:AC; #cmdMode 2W_Resistance RES CONF:RES; #cmdMode DC_Current CURR CONF:CURR:DC; #cmdMode AC_Current CURR:AC CONF:CURR:AC; #cmdMode 4W_Resistance FRES CONF:FRES; #cmdMode Diode DIOD CONF:DIOD; #cmdMode Continuity CONT CONF:CONT; #cmdMode Frequency FREQ CONF:FREQ; #cmdMode Period PER CONF:PER; #cmdMode Temperature TEMP CONF:TEMP; #cmdMode Capacitance CAP CONF:CAP; ; ******** MODE ******** #cmdSetup info Active_Mode :read: FUNC?; :readmath: getElement("DC Voltage;AC Voltage;2W Resistance;DC Current;AC Current;4W Resistance;Diode;Continuity;Frequency;Period;Temperature;Capacitance",listIndex(unQuote(value),"VOLT VOLT:AC RES CURR CURR:AC FRES DIOD CONT FREQ PER TEMP CAP"," "),";") :updatemodechange: ; ******** VOLT DC ******** #cmdSetup radio Range_Auto DC_Voltage :write: VOLT:DC:RANG:AUTO #; :read: VOLT:DC:RANG:AUTO?; :updatedelayed: 0.5 :update: Range DC_Voltage Auto 1 Manual 0 :updatemodechange: #cmdSetup radio Range DC_Voltage :write: VOLT:DC:RANG #; :read: VOLT:DC:RANG?; :updatedelayed: 0.5 :update: Range_Auto DC_Voltage 100mV 0.1 1V 1 10V 10 100V 100 1000V 1000 :updatemodechange: #cmdSetup radio Auto_Zero DC_Voltage :write: ZERO:AUTO #; :read: ZERO:AUTO?; :updatedelayed: 1 Off 0 On 1 Once ONCE :updatemodechange: #cmdSetup radio Input_impedance_Auto DC_Voltage :write: INP:IMP:AUTO #; :read: INP:IMP:AUTO?; Off 0 On 1 :updatemodechange: #cmdSetup radio NPLCycles DC_Voltage :write: VOLT:DC:NPLC #; :read: VOLT:DC:NPLC?; 100PLC 100 10PLC 10 1PLC 1 0.2PLC 0.2 0.02PLC 0.02 :updatemodechange: ; ******** VOLT AC ******** #cmdSetup radio Range_Auto AC_Voltage :write: VOLT:AC:RANG:AUTO #; :read: VOLT:AC:RANG:AUTO?; :updatedelayed: 0.5 :update: Range AC_Voltage Auto 1 Manual 0 :updatemodechange: #cmdSetup radio Range AC_Voltage :write: VOLT:AC:RANG #; :read: VOLT:AC:RANG?; :updatedelayed: 0.5 :update: Range_Auto AC_Voltage 100mV 0.1 1V 1 10V 10 100V 100 1000V 1000 :updatemodechange: #cmdSetup radio AC_Filter AC_Voltage :write: DET:BAND #; :read: DET:BAND?; >3Hz 3 >20Hz 20 >200Hz 200 :updatemodechange: #cmdSetup radio Auto_Zero AC_Voltage :write: ZERO:AUTO #; :read: ZERO:AUTO?; :updatedelayed: 1 Off 0 On 1 Once ONCE :updatemodechange: ; ******** 2W RESISTANCE ******** #cmdSetup radio Range 2W_Resistance :write: RES:RANG:AUTO #; :read: RES:RANG:AUTO?; :updatedelayed: 0.5 :update: Range 2W_Resistance AUTO 1 Manual 0 :updatemodechange: #cmdSetup radio Range 2W_Resistance :write: RES:RANGE #; :read: RES:RANGE?; :updatedelayed: 0.5 :update: Range_Auto 2W_Resistance 100Ohm 100 1kOhm 1000 10kOhm 10000 100kOhm 100000 1MOhm 1000000 10MOhm 10000000 100MOhm 100000000 :updatemodechange: #cmdSetup radio Auto_Zero 2W_Resistance :write: ZERO:AUTO #; :read: ZERO:AUTO?; Off 0 On 1 Once ONCE :updatemodechange: #cmdSetup radio NPLCycles 2W_Resistance :write: RES:NPLC #; :read: RES:NPLC?; 100PLC 100 10PLC 10 1PLC 1 0.2PLC 0.2 0.02PLC 0.02 :updatemodechange: ; ******** 4W RESISTANCE ******** #cmdSetup radio Range 4W_Resistance :write: FRES:RANG:AUTO #; :read: FRES:RANG:AUTO?; :updatedelayed: 0.5 :update: Range 4W_Resistance AUTO 1 Manual 0 :updatemodechange: #cmdSetup radio Range 4W_Resistance :write: FRES:RANGE #; :read: FRES:RANGE?; :updatedelayed: 0.5 :update: Range_Auto 4W_Resistance 100Ohm 100 1kOhm 1000 10kOhm 10000 100kOhm 100000 1MOhm 1000000 10MOhm 10000000 100MOhm 100000000 :updatemodechange: #cmdSetup radio Auto_Zero 4W_Resistance :write: ZERO:AUTO #; :read: ZERO:AUTO?; Off 0 On 1 Once ONCE :updatemodechange: #cmdSetup radio NPLCycles 4W_Resistance :write: FRES:NPLC #; :read: FRES:NPLC?; 100PLC 100 10PLC 10 1PLC 1 0.2PLC 0.2 0.02PLC 0.02 :updatemodechange: ; ******** DC CURRENT ******** #cmdSetup radio Range DC_Current :write: CURR:DC:RANG:AUTO #; :read: CURR:DC:RANG:AUTO?; :updatedelayed: 0.5 :update: Range DC_Current AUTO 1 Manual 0 :updatemodechange: #cmdSetup radio Range DC_Current :write: CURR:DC:RANG #; :read: CURR:DC:RANG?; :updatedelayed: 0.5 :update: Range_Auto DC_Current 10mA 0.01 100mA 0.1 1A 1 3A 3 :updatemodechange: #cmdSetup radio Auto_Zero DC_Current :write: ZERO:AUTO #; :read: ZERO:AUTO?; Off 0 On 1 Once ONCE :updatemodechange: #cmdSetup radio NPLCycles DC_Current :write: CURR:DC:NPLC #; :read: CURR:DC:NPLC?; 100PLC 100 10PLC 10 1PLC 1 0.2PLC 0.2 0.02PLC 0.02 :updatemodechange: ; ******** AC CURRENT ******** #cmdSetup radio Range AC_Current :write: CURR:AC:RANG:AUTO #; :read: CURR:AC:RANG:AUTO?; :updatedelayed: 0.5 :update: Range AC_Current AUTO 1 Manual 0 :updatemodechange: #cmdSetup radio Range AC_Current :write: (getElement("DIAG:POKE 25,0,1_CURR:AC:RANG 1_CURR:AC:RANG 3",(value==0.01?0:(value==1.0?1:2)),"[_]+")); :read: CURR:AC:RANG?; :updatedelayed: 0.5 :update: Range_Auto AC_Current 10mA 0.01 1A 1 3A 3 :updatemodechange: #cmdSetup radio AC_Filter AC_Current :write: DET:BAND #; :read: DET:BAND?; :readFormat: u >3Hz 3 >20Hz 20 >200Hz 200 :updatemodechange: #cmdSetup radio Auto_Zero AC_Current :write: ZERO:AUTO #; :read: ZERO:AUTO?; Off 0 On 1 Once ONCE :updatemodechange: ; ******** CONTINUITY ******** #cmdSetup radio Beeper Continuity :write: SYST:BEEP:STAT #; :read: SYST:BEEP:STAT?; Off 0 On 1 :updatemodechange: ; ******** FREQUENCY ******** #cmdSetup radio Range Frequency :write: FREQ:VOLT:RANG:AUTO #; :read: FREQ:VOLT:RANG:AUTO?; :updatedelayed: 0.5 :update: Range Frequency AUTO 1 Manual 0 :updatemodechange: #cmdSetup radio Range Frequency :write: FREQ:VOLT:RANG #; :read: FREQ:VOLT:RANG?; :updatedelayed: 0.5 :update: Range_Auto Frequency 100mV 0.1 1V 1 10V 10 100V 100 1000V 1000 :updatemodechange: #cmdSetup radio Aperture Frequency :write: FREQ:APER #; :read: FREQ:APER?; 0.01 0.01 0.1 0.1 1 1 :updatemodechange: ; ******** PERIOD ******** #cmdSetup radio Range Period :write: PER:VOLT:RANG:AUTO #; :read: PER:VOLT:RANG:AUTO?; :updatedelayed: 0.5 :update: Range Period AUTO 1 Manual 0 :updatemodechange: #cmdSetup radio Range Period :write: PER:VOLT:RANG #; :read: PER:VOLT:RANG?; :updatedelayed: 0.5 :update: Range_Auto Period 100mV 0.1 1V 1 10V 10 100V 100 1000V 1000 :updatemodechange: #cmdSetup radio Aperture Period :write: PER:APER #; :read: PER:APER?; 0.01 0.01 0.1 0.1 1 1 :updatemodechange: ; ******** TEMPERATURE ******** #cmdSetup radio Transducer_Type Temperature :write: TEMP:TRAN:TYPE #; :read: TEMP:TRAN:TYPE?; :update: Temperature_Settings :string: Thermocouple TC 2W_RTD RTD 4W_RTD FRTD Thermistor THER :updatemodechange: #cmdSetup selector Temperature_Settings Temperature :read: TEMP:TRAN:TYPE?; :update: Transducer_Type :updatedelayed: 0.2 :updatemodechange: RTD Temperature2.Transducer_Type Temperature2.RTD_R0 Temperature2.RTD_Type Temperature2.NPLCycles Temperature2.Auto_Zero FRTD Temperature2.Transducer_Type Temperature2.RTD_R0 Temperature2.RTD_Type Temperature2.NPLCycles Temperature2.Auto_Zero THER Temperature2.Transducer_Type Temperature2.Thermistor_Type Temperature2.NPLCycles Temperature2.Auto_Zero TC Temperature2.Transducer_Type Temperature2.Thermocouple_Type Temperature2.Reference_Junction Temperature2.NPLCycles Temperature2.Auto_Zero #cmdSetup radio Auto_Zero Temperature2 :write: ZERO:AUTO #; :read: ZERO:AUTO?; Off 0 On 1 Once ONCE :updatemodechange: #cmdSetup radio NPLCycles Temperature2 :write: TEMP:NPLC #; :read: TEMP:NPLC?; 100PLC 100 10PLC 10 1PLC 1 0.2PLC 0.2 0.02PLC 0.02 :updatemodechange: #cmdSetup comboboxHot Thermocouple_Type Temperature2 :write: TEMP:TRAN:TC:TYPE #; :read: TEMP:TRAN:TC:TYPE?; :update: Active_Type B B E E J J K K N N R R S S T T :updatemodechange: #cmdSetup number Reference_Junction Temperature2 :write: TEMP:TRAN:TC:RJUN #; :read: TEMP:TRAN:TC:RJUN?; :buttontext: Set °C -1 +55 :updatemodechange: #cmdSetup radio Thermistor_Type Temperature2 :write: TEMP:TRAN:THER:TYPE #; :read: TEMP:TRAN:THER:TYPE?; 2.2kOhm +2200 5kOhm +5000 10kOhm +10000 :updatemodechange: #cmdSetup number RTD_R0 Temperature2 :write: TEMP:TRAN:RTD:RES:REF #; :read: TEMP:TRAN:RTD:RES:REF?; :buttontext: Set Ω 4.9 2100 :updatemodechange: #cmdSetup radio RTD_Type Temperature2 :write: TEMP:TRAN:RTD:TYPE #; :read: TEMP:TRAN:RTD:TYPE?; alpha_=_0.00385 85 alpha_=_0.00391 91 :updatemodechange: ; ******** CAPACITANCE ******** #cmdSetup radio Cap_Range_Auto Capacitance :write: CAP:RANG:AUTO #; :read: CAP:RANG:AUTO?; :updatedelayed: 0.5 :update: Cap_Range Capacitance Auto 1 Manual 0 :updatemodechange: #cmdSetup radio Cap_Range Capacitance :write: CAP:RANG #; :read: CAP:RANG?; :updatedelayed: 0.5 :update: Cap_Range_Auto Capacitance 1nF 1.0E-09 10nF 1.0E-08 100nF 1.0E-07 1uF 1.0E-06 10uF 1.0E-05 :updatemodechange: ; ******** MODE SETTINGS ******** #cmdSetup selector Mode_settings :read: FUNC? :readmath: unQuote(value) :updatemodechange: VOLT DC_Voltage. VOLT:AC AC_Voltage. CURR DC_Current. CURR:AC AC_Current. DIOD Diode. FREQ Frequency. RES 2W_Resistance. FRES 4W_Resistance. CONT Continuity. PER Period. TEMP Temperature. CAP Capacitance. ; ******** DISPLAY ******** #cmdSetup buttonsOn Display :write: DISP (value);[500] :read: DISP?;[500] :updatedelayed: 0.2 Off 0 On 1