Keithley 3330 - Page 1
Forum section: electronics / general

author: alocam
author_rank: Regular Contributor
timestamp: August 14, 2017, 07:50:04 pm
content: Hello, does anyone have information on how to retrieve / back up Keithley's 3330 LCR meter calibration data (NF2330A equivalent)? The fact is that the unit looks pretty good, but the only way to gain access to these parameters is via an ancient GPIB board and a DOS calibration utility. I fear the calibration data may end up corrupted, and this will eventually leave the system out of order.In case anyone has any further info on the subject, I will appreciate any feedbackRegards

author: Ash
author_rank: Regular Contributor
timestamp: August 14, 2017, 11:04:21 pm
content: Hi Alocam,I have a Keithley 3322 and you mentioned that there was a way to access the calibration data over GPIB - do you have any more details on that? I know the service manual for the 3330 mentions a calibration kit with software - do you have one?I too have concerns about the cal eventually going bad and I'd like a way to back it up.Thanks,Ash.

author: alocam
author_rank: Regular Contributor
timestamp: August 23, 2017, 03:19:12 pm
content: Hello Ash,I am trying to figure out how to get the calibration data as a backup. I have found out that this data is depending on a non-rechargeable lithium battery, and once this battery is depleted, the system loses cal data, as it is not stored in non volatile memory.I have just ordered a GPIB board in order to run calibration software, apparently there is an option there to read and write cal data, so this would eventually solve the issue.Unfortunately, in order to run calibration you need a specific multimeter (Fluke 8840A/8842A or a pretty expensive HP model) as it is controlled by software to interact with the LCR meter during the cal process. Looks pretty weird.Even though I live in Argentina, and all resources are pretty scarce (it is a nightmare to get hands on components or instruments sold abroad), I am close to getting a 8840A + GPIB to run software, and I could pass on whatever comments might help you out with your issue.I assume that both models are similar, but I have read somewhere that there are certain cal differences between 3330 and the remaining LCR units in this series.If it is useful for you, I will keep you posted on any news.RegardsAlberto

author: Ash
author_rank: Regular Contributor
timestamp: August 23, 2017, 11:39:23 pm
content: Hi Alberto,I would certainly be very interested in your findings.Where did you get the software from? I can't find it. Would you be able to send me the program?I was thinking of looking in the code for the GPIB commands that it uses to control the instrument and play with these. I have a GPIB interface I can program.Thanks,Ash.

author: Stray Electron
author_rank: Super Contributor
timestamp: February 23, 2018, 02:07:43 pm
content: I know this is an old thread but I was wondering if anyone has had any luck with this? In the 332x manual, Keithley says that they will give you the software to recalibrate those machines for free but I wonder if that's still true since Keithley has been bought and sold twice since then.

author: Magnificent Bastard
author_rank: Regular Contributor
timestamp: February 23, 2018, 02:20:00 pm
content: Quote from: Stray Electron on February 23, 2018, 02:07:43 pmDid you ask Keithley customer service? It never hurts to ask nicely... Maybe you will get lucky!

author: alocam
author_rank: Regular Contributor
timestamp: May 28, 2018, 09:56:19 pm
content: Hello, I own a 3330 LCR meter, and I will probably attempt to read the cal data in a few days, using some ancient DOS software that I still need to test.If this is what you are looking for, let me know, and if the software works properly, I will provide further details to you, so that you can run your own cal.However, it looks like you need an ancient ISA (NI GPIB) card, and I was able to grab a used one to run the sw.Regards

author: IconicPCB
author_rank: Super Contributor
timestamp: May 28, 2018, 11:05:35 pm
content: I too have a Keithley 3322 and a GPIB board /cable.Used to live in a flying probe MDA tester.I would like to hear of your experience trying to read write cal data.

author: Brad O
author_rank: Regular Contributor
timestamp: August 08, 2018, 11:31:47 pm
content: Quote from: Magnificent Bastard on February 23, 2018, 02:20:00 pmAlways true! Calling Tektronix support and asking for the Keithley team (or emailing them) will bring you to a team of great guys, including the longest running Keithley employee. With that said, I found some things for this thread:Here is the calibration kit for the LCZ Meters mentioned in the service manuals:https://www.tek.com/software/lcz-meter-calibration-software-and-instructions-700kband the instructions:https://www.tek.com/node/134096Like alocam has already discovered, the calibration procedure is rather complicated and specific, calibrating a 3330 is a fair bit more complicated than the 3321 or 3322 because of the separate multimeter required. Also, the software is written for IBM-PC compatibles, so I have little hope that it will work on things more recent. You can run the file attached in the download link on a modern PC and it will extract the files mentioned in the instructions, but the .EXE files won't run on any PC I tried. You might be able to get an emulator to work with them, I haven't tried that yetUnfortunately I don't have too much more information right now. I've never calibrated one myself, and no one I could find remembers anything specific about the procedure. There's a guy in the our metrology lab that might know more but he's out on vacation right now. I'll try and find out what the calibration program actually does, but I don't have that much hope of finding the source code for you all.

author: IconicPCB
author_rank: Super Contributor
timestamp: August 09, 2018, 12:34:05 am
content: The PDF file on "How To..."

author: IconicPCB
author_rank: Super Contributor
timestamp: August 09, 2018, 12:37:19 am
content: The EXE file on to do.Requires a DOS machine.I knew it would come in handy.

author: alocam
author_rank: Regular Contributor
timestamp: April 12, 2019, 02:14:25 am
content: Hello,It's been a long while since my last post on the K3330 cal issue.Last week the LCZ unit went a bit crazy and showed some weird values, even for simple components like a resistor or ceramic cap.After turning it off for a while, I turned it on again and everything seemed to get back to normal. However, I found out that some values were significantly off the expected readings.I used some high precision resistors, and the outcome is that most of the readings are off by more than 10%.I therefore decided to work on the calibration issue, and found an ancient PC laying around, installed the ISA PCIIA card that I ordered for such purpose a long time ago, configured IRQs, DMA and base I/O address, ending up with an apparently working GPIB link.Bad news is: when running the CAL.EXE program, it quits giving a "Overflow in line No line number in module CAL at address 1945:033B. Hit any key to return to system".No matter what I do, the outcome remains the same, ie: turning on/off the LCZ before running CAL, shorting the CAL terminal to ground or else, quite frankly, I am a bit disappointed to have a failing .exe become a show stopper.I do not feel like the exe is corrupted, so it looks like there is an obscure reason why this message pops up.I will spend some more time figuring out what is going on, but I am no PC assembly expert at all, so chances are that it will not work.I will keep you posted in case this info is useful for people who posted on this thread.Regards!

author: Ash
author_rank: Regular Contributor
timestamp: April 12, 2019, 03:29:23 am
content: Hi,Funny thing - I was looking at this again about 2 weeks ago. I was starting the try to reverse the CAL.exe to work out what it is doing. Seems to be a BASIC program that has been compiled.Was the program able to talk to the LCR meter at all over GPIB? If not check that you configured the interface card correctly - I think you have to disable its internal rom and set the correct location for base address / IRQ. There are some instructions in the calibration PDF attached above.If you are able to at least start the process, there is also a setting for the line ending on the GPIB address for the meter that has to be set correctly - I think you have to have the instrument address being "2.0" where the ".0" indicates CRLF line endings (from memory)Do you have any way to monitor the GPIB bus and see what commands are going past? Would really love to see what it does to dump the cal constants..In the mean time, I'll keep working on reversing and see what I can find out. may take a whileAsh.

author: picburner
author_rank: Frequent Contributor
timestamp: April 12, 2019, 11:50:45 am
content: @ alocam:I tried the program and it works for me (even under Win95).I tried with a very old HP Omnibook 800ct with docking station and NI pcIIa card.It would seem that it is possible to backup and restore the calibration data.I don't have the Keithley 3330 unfortunately and I can't do any more tests of course.

author: alocam
author_rank: Regular Contributor
timestamp: April 12, 2019, 12:34:54 pm
content: Hello Ash,Thank you for your comments.I went through the whole installation procedure for the PCIIA card, and I was able to successfully check the GPIB card by using some utilities that allow you to check proper config.I need to get into the booting sequence. I ran the software on a W98 PC initialized in DOS mode, to no avail. Hence, I formatted an MSDOS 3.2 disk and I will try to check whether it works just booting from a floppy under DOS. I have to check how to install the GPIB software, as it is not enough to edit the config.sys as per the card's instructions.It would be great to reverse engineer the CAL.EXE, as we could get rid of the tedious process of dealing with ancient PC, OS and GPIB cards.I look forward to any news on your side. Later today I will get hands on the subject, and if I finally succeed running CAL, I will definitely share the data, may be we can identify the location for cal variables.Regarding GPIB sniffing, I have an old LogicPort logic analyzer, however it may be a burden to capture data on GPIB bus, and I need to check whether there is any protocol analyzer that can grab the sequence and turn it into the GPIB command sequence, which could then be programmed under a newer platform to get rid of DOS.RegardsAlberto

author: alocam
author_rank: Regular Contributor
timestamp: April 12, 2019, 12:38:29 pm
content: Hello Picburner,Thank you for the feedback. Can you comment on the installation files / diskette that you used to set up the PCIIA?I borrowed by install files from a guy in Sweden, who kindly shared the files, as they are no longer available for download at NI website.May be I am using the wrong set of install files for the PCIIA card, mine is ISA, as requested by Keithley's procedure.Did you install a Windows NI488.2 driver? Do you run a DOS window under W95 and it works flawlessly?Thank you!RegardsAlberto

author: picburner
author_rank: Frequent Contributor
timestamp: April 12, 2019, 01:57:16 pm
content: My configuration under msdos 6.2 / win95 is this:National Instruments NI-488.2 DOS Software for the GPIB-PCIIA version 2.6.GPIB-PCIIA board version 1.6.0in autoexec.bat:SET GPIB0=PC2A 0 0 0SET GPIB1=PC2A 0 0 0in config.sys:DEVICE=C:\GPIB-PC\GPIB.COMIn the case of my notebook I had to configure the NI PCIIA card with:Base i/o address: 02E1HDma channel: noneIRQ: noneI use this notebook to calibrate my TDS694C oscilloscope, it uses an old dos program and only works with this configuration.

author: alocam
author_rank: Regular Contributor
timestamp: April 12, 2019, 05:13:15 pm
content: Have you got a chance to upload the NI488 DOS files so that I can test whether there is a software issue?Thank you!Regards

author: picburner
author_rank: Frequent Contributor
timestamp: April 12, 2019, 07:01:33 pm
content: These are the DOS drivers I use for the PCIIA card.They are also good for Windows 95, Windows 98 instead needs its own 32bit drivers.

author: alocam
author_rank: Regular Contributor
timestamp: April 23, 2019, 12:25:45 am
content: Hello all,I am about to give up attempting 3330 calibration. I installed MS 6.22 on a flash drive running as bootable (C:), then I configured the PCIIA ISA card and installed the DOS drivers. Everything went OK, as it passed all utilities available for config testing.However, each time I run CAL.exe, it gives me the freaking overflow message no matter what I try. Either this is a very simple but non evident issue, or I am having a sort of bizarre incompatibility issue I cannot figure out.I will spend a couple more hours and if I do not achieve any result, I will probably have to stay with an uncalibrated 3330 or consider getting another LCR unit. Pretty odd, since the 3330 looks nice and has all the features I need.I will keep you posted.RegardsAlberto

author: alocam
author_rank: Regular Contributor
timestamp: April 23, 2019, 01:00:20 am
content: Hello picburner,I have just posted a message with comments on a frustrating experience of running cal.exe for Keithley 3330. If you still have the notebook configured at hand, could you please check the contents of the SAVEDAT file? There are no explanations on the contents, but it looks like the default values correspond to those shown on the printscreen you posted, and I wonder whether these are to be edited before running CAL, or whether the CAL program allows to change the options (the way it should) and it then writes the savedat with the chosen ones.This is extremely confusing, as the GPIB board seems to work fine, and the CAL.EXE is not working. By the way, you added a couple of lines to the CONFIG.SYS stating SET GPIB0=PCIIA 0 0 0 and same for GPIB1, however I did not see any reference to editing the ini files with these parameters. Did you experiment on those, or do you have any guidance on why are these needed? May be that due to the fact that I am using an ISA card and you used a PCMCIA, some parameters may change, but on my ISA manual there is no mention to it.Thanks and best regards!Alberto

author: DC1MC
author_rank: Super Contributor
timestamp: April 23, 2019, 03:58:55 am
content: Maybe this helps:The amount of stack space specified in the config.sys is too low.Edit the config.sys and insure the line STACKS is at least set to 12,256 and reboot.For example, the line should be the same as the example below:STACKS=12,256Cheers,DC1MC

author: Andreas
author_rank: Super Contributor
timestamp: April 23, 2019, 05:09:49 am
content: Quote from: alocam on April 12, 2019, 02:14:25 amHmm,could be something like the Borland Bug in the CRT library. (But I think it was Runtime Error 200)The delay routine is calibrated on startup and overflows on faster than 266 MHz CPUs.See e.g. here:http://ss64.net/merlyn/pas-r200.htmHave you tried the "DOSBOX" program which can slow down the execution of the program?There were also some patch programs which patched the .EXE to fix the bug. (at least for the CPUs at that time).But you usually have to know which Compiler version was used to generate the .EXE.with best regardsAndreas

author: picburner
author_rank: Frequent Contributor
timestamp: April 23, 2019, 06:48:41 am
content: Hi Alberto,Although I use a notebook, in its docking station, an ISA NI PCIIA card is installed exactly like yours.The parameters I added in the config.sys and autoexec.bat files had been recommended to me by another user who has the same notebook (with the same docking-station) to allow the calibration program for TDS500/600/700 family Tektronix scopes to run.Note that the software configuration must correspond to the hardware configuration, ie the setting of the dip-switches on the PCIIA board itself.My notebook has a old Pentium 166 MHz processor if your computer has a much more powerful processor, as Andreas said, this old program could cause you problems.I am attaching the dataset file as requested.Good luck.

author: picburner
author_rank: Frequent Contributor
timestamp: April 23, 2019, 11:23:20 am
content: I did a further test and the program also starts from a Windows XP session!The notebook this time is a pentium iv @ 2.4GHz and the program resided on a compact-flash (so the speed of the cpu is not so important).On this notebook there is no NI PCIIA card of course but I usually I connect it to an NI gpib-usb-hs (not present during this test).Of course, as I already told you before, I don't have a Kei3330 and I can't fully test the program but at least it starts without problems.At this point I think there is something that just doesn't fit into your PC or your configuration.Try with another PC.

author: alocam
author_rank: Regular Contributor
timestamp: April 23, 2019, 01:45:49 pm
content: Hi DC1MC,Thank you for your suggestion. I tried to include a stacks directive, to no avail.RegardsAlberto

author: alocam
author_rank: Regular Contributor
timestamp: April 23, 2019, 01:52:59 pm
content: Hello Andreas,Thank you for your feedback. I haven't tried DOSBOX or any other emulation, given that the sw requires a specific PCIIA GPIB ISA board, and I assume there is no way to bind ISA hardware to emulated DOS.Besides, picburner apparently succeeded in running calibration software on a 2.4 GHz based PC, so it rules out the possibility of having a clock speed related issue.As far as I see, it is likely that this is a QuickBasic program, given that there are plenty of Basic application examples on Keithley's manual, and there is also a BASIC directory that comes installed with the ISA GBIB board.I will try to reinstall all stuff on a different motherboard, although I cannot imagine what can go wrong under such basic DOS environment to avoid things going smoothly.In any case, thank you for your concern.Gruessen!Alberto

author: picburner
author_rank: Frequent Contributor
timestamp: April 23, 2019, 02:30:38 pm
content: Hi Alberto,I prepared a diskette image made with Teledisk 2.23 of the working configuration including the operating system.Through this program you have to create a floppy disk (1.44MBytes) and start the PC from A:You have to set the jumpers on the PCIIA card with address: 02E1H, irq and dma: none.The software is already configured.If the address 02E1h is already occupied by some other device or you remove it or you have to reconfigure everything.(You have to download Teledisk from the net, it isn't in the zip file)

author: alocam
author_rank: Regular Contributor
timestamp: April 23, 2019, 10:49:43 pm
content: Hello,Thank you for taking the time to send the file. I prepared a bootable FDD, and booted directly from it. I do have the same base address, no IRQ, no DMA, and when running CAL same error shows up!I cannot even determine whether there is something wrong with the GPIB board I purchased (although it does not seem to be the case) or whether there is something else having to do with the PC config.Anyways, thanks again for helping me on the subject.RegardsAlberto

author: alocam
author_rank: Regular Contributor
timestamp: April 26, 2019, 01:08:45 am
content: Hello,For those who might be struggling with the K3330 or interested on the thread, I was finally able to get the cal data from my unit.After struggling with the DOS programs, I found a "compatible" motherboard that allowed me to run CAL.EXE!!!The motherboard MUST allow you to disable internal L1 cache, and that solved the puzzle, if you enable L1 cache, it won't work, if you disable it, CAL runs as expected.A warning for those willing to CAL their Keithley units: the program runs, but it does not allow me to calibrate output voltage. It stalls asking me to connect the signal to the multimeter (I specifically bought a Fluke 8840A in order to run calibration), even though everything is properly set up.I do not know how much more effort and time I will devote to this issue, but my guesses are that a) there is a problem with GPIB timing and CAL.EXE does not acknowledge the meter's readout (which by the way, is rather consistent at 0.4991VAC), or b) there is some other sort of hidden cause that kills the cal process.I guess Ash was trying to shed some light on the CAL software, therefore I am attaching the cal data that I could read from the unit. If I could manage to effectively CAL the unit, I could try to sniff the GPIB bus in order to emulate this procedure using up to date GPIB / PC hardware.Please find attached the text file that I could get from the unit's cal data.Hopefully all this pain is useful for someone else!Regards!Alberto

author: Ash
author_rank: Regular Contributor
timestamp: April 26, 2019, 02:24:27 am
content: Quote from: alocam on April 26, 2019, 01:08:45 amHi Alberto - Great news!and the file certainly will help me as well.I've been getting into the application code and I've just found where it starts assembling the commands to send over GPIB, but I'm 100% emulating so I don't have hardware. I'll have to modify the GPIB driver code to "succeed" and allow the program to move between steps, but this will take some time. If anyone is interested, it is a compiled Quick Basic application (probably QB4.5), I'd love to be able to reverse the Basic code from it, but it appears that there is no public information about this (but there was a guy who was offering a paid decode service many years ago).I've found all the strings it uses to do the work and teased out all the commands it sends, the only undocumented one I've come across is "KC" (which I had also found by dumping the firmware EPROM). My K3322 responds to this with different errors depending on the state of the calibration write jumper on the device. (By error I mean I get bad parameter errors in cal mode, but invalid command type errors in normal mode)If you have the ability to capture the entire GPIB bus conversations for the calibration and the read/write of the calibration constants that would be a really great help Even if it isn't a fully successful calibration. The Read/Write calibration commands would be really useful as a start even if you don't get the full calibration.From looking at the strings in the application, the calibration seems to be done by reading the standards as a normal measurement and getting back the data to the CAL.exe, then it must do some calculations against the reference standards data to compute the constants and then sends these constants to the device at the end.If you are able to capture the GPIB bus, I'll need that data and the refdata file as well that is used to define the standards used for calibration.Then I'll use that to write a python script to do this in the future so we can continue to support these devices without needing to go through the pain again!CheersAsh.

author: alocam
author_rank: Regular Contributor
timestamp: April 28, 2019, 11:37:17 pm
content: Hello Ash, all,I kept insisting on the subject, up to a certain extent, I am glad I did, as this meter is really good...On one hand, I am still stuck with the CAL software, although I found a very interesting issue: there was a hardware failure on my K3330. The output signal was half of what the CAL routine expected, and I was lucky enough to locate a defective transistor that was responsible for such signal loss. Once I replaced it, the signal got back to its normal amplitude, and I could move one step ahead in CAL. Now it gives me some weird message while trying to run a frequency response test (I guess it will run a measurement of output signal at all available frequencies, but I don't get why it stops and gives an error message. This time output voltages are spot on).In any case, I was able to write the original calibration data back, and I could verify that the system is now performing as expected. This means I would not need to go through calibration as the system is now OK, however I feel that leaving things like this may turn out to be a problem in case I need to run calibration in the future.I have to find out some more time to experiment on the subject, but it is very frustrating to deal with old hardware and software.I am posting a capture of GPIB bus that I could apparently run while writing cal data back into the unit, and while reading cal data from the unit. It's been ages since my last experience with GPIB commands, and more specifically with NI calls, so I do not know whether this info is good enough to make a move on migrating the calibration software to a newer platform.In any case, this is what I have right now. I do not know whether I can manage things to have another GPIB controller as "passive" to listen and capture all bus activity. If anyone is aware on the subject, I look forward to any comments.My current setup is PCIIA (mandatory for CAL.EXE to run), and I could connect an HP E5810A GPIB hub as well.In case you are interested to have a look at the attachments, please check the WriteDat first, as this one may have two commands that belong to the readdata sequence that I ran afterwards. The original CAL data is the one I posted a couple of days ago. Hope this helps.Best regards!Alberto

author: Ash
author_rank: Regular Contributor
timestamp: April 29, 2019, 03:32:46 pm
content: Hi Alberto,Awesome, that has really helped.It appears that the files don't contain the full command list, there seems to be missing values at the beginning of read (the first floating point number read from the LCR meter is half way through the saved constants file you gave. It also appears that the write file contains a bit of the checksum calculation process.. as there are only 3 write operations to select words.I have started to play with what I have found in the file and I have dumped a range of ram from my instrument using the following undocumented commands.Code:CMD Returned Notes------------ ---------------- --------------------------------------------KCx No idea. the command and parameter is accepted for x = 2,3,4,5This command was in the CAL.exe and perhaps is something about saving thecalibration constants. Perhaps the 2-5 relate to the 100, 1K, 10K, 100K standards?as it looks a bit like the number of zeros...?ID 2322,2.00 Needs cal jumber, otherwise Err32.Firmware version 2.0, Keithley 3322 (not sure about the "2322")`~1,0xxxxxx 0yyyy Read an integer at HEX address xxxxxx. Note this is used on2 byte boundaries only.This seems to be used to read back RAM locations to compute a checksum,there are many reads in sections, then a single write.`~1,0xxxxxx,0yyyy Write hex value yyyy to hex address xxxxxx.This seems to be used by the CAL.exe to store a checksum.`~3,0xxxxxx floating point number Read an 8 byte floating point number. Note this is used on8 byte boundaries only`~2,0xxxxxx floating point number This also works, but appears to give different results to the "3" version.different format or floating point number size? it is not used in the calibrationsample data.The type numbers "1, 2, 3" may be related to the NR1, NR2, NR3 formats for the normal GPIP commands as documented in the operation manual.The read commands don't seem to need the calibration jumper enabled, but I'm guessing the write one will. I don't intend to test writes at this stage as I really don't want to mess up my unit. Also strange that the ?ID command needs the jumper.The following is a dump of the ram integers and associated floating point numbers from my ram.Code:0001070: 3F84 9.99978241E-030001072: 7AC40001074: 13350001076: 915E0001078: 3F10 6.28431473E-05000107a: 7955000107c: 0C92000107e: 6A820001080: 3F84 9.99980868E-030001082: 7AC70001084: 99E30001086: 490C0001088: 3F20 1.25666890E-04000108a: 78AE000108c: 5C78000108e: E249I tried converting the number into standard double format and dumping bytes but it doesn't quite work. So I'm guessing it isn't the standard PC format. Will look at this later.More detail coming as I work out more.Cheers,Ash.

author: alocam
author_rank: Regular Contributor
timestamp: April 29, 2019, 05:53:12 pm
content: Hi Ash,Great news, it looks like you are working hard on the subject. I need to catch up with piles of stuff I left aside while repairing the LCZ meter.Just as a comment, you mentioned the 2322 figure, and I guess this is the real model number. My unit is a K3330, also known as NF 2330, which is the original japanese manufacturer of the unit. They still produce great LCR products, but I have already checked and they do not provide any support on the former Keithley/NF units.Your K 3322 should be the original NF2322, Keithley rebranded.Hope this trivia help understand the version figures. I look forward to any progress you achieve, and I will try to set up a workbench to run further tests and GPIB captures as soon as I can.RegardsAlberto