SCPI boilerplate for configuring a 3457A/44492A for logging voltage references - Page 1
Forum section: electronics / general

author: rhb
author_rank: Super Contributor
timestamp: January 12, 2020, 01:12:32 am
content: I had the good fortune to get a good deal on the setup. This spares me having to build a multiplexer from 44421A boards before I can log my references using one of my 34401As.As logging references seems to be the leading sport in this group I thought I'd ask if logging software is readily available from anyone. My interest is the SCPI code to set up the instrument. The mathematical analysis I prefer to do myself. Poring through the programming manuals for the 3457A to figure out how to configure it is not all that interesting, just time consuming.My *real* interest is seeing if I can accurately predict future aging rates, but as I have been unable to get historical data in a machine readable format from anyone I shall have to collect my own.Given the effect of aging on the uncertainty, I'd expected more cooperation in modeling aging. However, I was clearly wrong. So finding out if I can do it will be delayed by 3-5 years. I find this rather weird as all I am asking for is the opportunity to fail at something no one else seems to be interested in attempting.FWIW the aging curves look to be of the form, a+b*exp(f(x)). While that is a difficult equation to fit, I have lots of practice doing it including 4th & 5th order polynomial functions of the exponent of the exponential.Have Fun!Reg

author: MiDi
author_rank: Frequent Contributor
timestamp: January 12, 2020, 07:42:33 am
content: Code:inst.write("LOCK ON") #only remote operation allowedinst.write("PRESET NORM") #everything to standard - recommendedinst.write("OFORMAT ASCII") #output formatinst.write("DCV 0.1") #range selectioninst.write("TARM HOLD") #stop measurement for setup of instrumentinst.write("TRIG AUTO") #continuously triggerinst.write("NPLC 10") #integration timeinst.write("NRDGS 1,AUTO") #count of readingsinst.write("MEM OFF") #do not store in memoryinst.write("END ALWAYS") #mandatory for reading from instrumentinst.write("NDIG 6") #digits on LCDinst.write("DISP OFF") #turn off LCDinst.write("TARM AUTO") #start measurementsOverview of commands bodged together to start with and that are useful.Some cmds do not make sense to use together or are already set to the value by PRESET NORM.Edit: To be clear: HP instruments do not have SCPI. It is HP style that looks a bit like SCPI.

author: maat
author_rank: Regular Contributor
timestamp: January 12, 2020, 09:37:43 am
content: What programming language are you looking at?I do have some Python stuff including an async wrapper, which works well, when collecting data from multiple instruments.

author: MiDi
author_rank: Frequent Contributor
timestamp: January 12, 2020, 09:51:57 am
content: Quote from: maat on January 12, 2020, 09:37:43 amDefinitly interested, but better to put that into another (existing) topic.

author: rhb
author_rank: Super Contributor
timestamp: January 12, 2020, 04:23:16 pm
content: Thanks.I'm fairly language agnostic, but awk, C or Python are the probable programming language choices. I don't have any experience with Python, but it's become clear I should finally get around to using it.When logging with my 34401As in the USA Cal Club Round 2 I used awk. I was getting time and date from the PC, temperature and pressure from an Arduino and readings from AR488 running on a custom board designed by @vindoline. That was a bit of a hassle, so I plan to add an RTC and T&H sensor or two to a MEGA 256 and add commands to read them to AR488.In particular, I want to use the statistical functions of the 3457A and the 44492A 10 port scanner. At the moment I have 8 or 9 references I'd like to log. My understanding is I can get 8.5 digits reported for the mean value. So I'll probably average 10,000 readings at NLPC 100. That would give me readings from each reference at 4-5 minute intervals.I need to reexamine my analysis of aliasing in the ADC. It might make sense to take more frequent samples and post process. Once I have data to analyze I will finally be able to do some higher order analysis. It would also be very interesting to inject a measured amount of white noise into the output and see how that affects the ADC readings. It would be nice to have an experimental confirmation of the ADC aliasing analysis.Newer HPAK instruments do use SCPI. The 34401A will allow choosing either 3478A or SCPI command languages.Unfortunately, as with most standards, everyone seems to have their own version which may or may not be documented or compatible.Have Fun!Reg

author: RandallMcRee
author_rank: Frequent Contributor
timestamp: January 12, 2020, 08:42:31 pm
content: Quote from: rhb on January 12, 2020, 01:12:32 amYour phrasing makes me think that you are taking this personally. (Specifically the words 'annoying', 'weird', etc) but please don't. Folks like myself and probably many others, just turn the durn things on and then think about logging afterward! I look forward to your adventures. My main doubt, though, is whether or not lack of temperature control will obscure the results and make it hard/impossible to properly fit the aging curve. Temperature will come in twice, independently: for the voltage references themselves and then the measurement equipment.Also 8.5 digits on your equipment does not seem correct?

author: Kleinstein
author_rank: Super Contributor
timestamp: January 12, 2020, 09:36:55 pm
content: The HP3457 is usually not very stable. So a direct measurement of the high grade references (e.g. LM399, 1N829) only makes limited sense.The 30 V range already uses the input divider and is thus less stable than the 10 V range of the 34401. For it's time it was nice fast and the build in scanner option can be handy, but it is not at all metrology grade. It is in between the 3456 and 3458 only by the numbers.Accuracy wise the design of the 3457 deserves a: the input amplifier does not have a gain 1 setting but 3 V with a gain of 0.3 as the prime range, even with an ADC that works with some 10 V full scale.To get good accuracy one may have to measure just the difference to a more stable reference in the 3 V range and not directly a modern 7 V or 10 V reference. For 1.2 V or 2.5 V bandgap references the 3457 may be OK.Fitting a not so well behaved function, like exponential tends to need really good date to get meaningful parameters from the fit.