¿ªÔÆÌåÓý

Date

New 141T Spectrum Analyzer CRT available + Stuff Day

walter shawlee
 

While getting things ready for Stuff Day (April 13th), I found a new factory boxed 5083-2511 storage CRT tucked away in the back room. If anybody has a 141T with a poor CRT that needs love and attention, this can do the trick. I used to have two 141T systems, so was always looking for spares, thus this tube. Now I have two 70K SA systems instead, and no need for the tube. Please email me off list if interested at walter2 -at- sphere.bc.ca? Still a few of those snap in black HP feet left too.

We will have lots of Tek, Philips (fluke), generic and HP CRTs at the upcoming stuff day event, and all will be dirt cheap, so come visit if you can, we need the space!? all the event details are here:?https://www.sphere.bc.ca/test/stuffday.html

there is a lot of one of a kind HP and Tek spare stuff we never have time to post on line, so a visit on stuff day reveals many surprises and goodies you will never see otherwise.? plus, Kelowna is a great place to visit.

all the best,
walter
sphere research corp.
https://www.sphere.bc.ca


HP8714ET Impedance

 

A fellow engineer raised a question re the 75 ohm characteristic impedance of the HP8714ET I just purchased off eBay. Although I have minimum-loss matching pads ordered and enroute, does anyone here know just what would be involved if I were to open up the unit and try to change the impedance with some part swaps? The firmware already supports a choice of 75 ohm or 50 ohms as the impedance, for Smith charts, etc. I suspect that before I do that, I had better get the service manuals, but that's for the future - thus far I'm less than 1/4 of the way thru reading the user manual, and I have a bunch of other documentation to read as well. I'm very pleased with my purchase, if only for the education I'm getting!

Steve Hendrix


Re: Help with EZGPIB

 

On Tue, 5 Feb 2019 09:57:45 +0000, you wrote:

If you need to parse and filter strings, Pascal is way and above much
easier than C to use.?? C++ is different again.
For the ST Micro, using TrueStudio, I use

tokenptr = strtok((char*)&WIFI.RXbuffer.data[j],delimiters);
strcpy(token[i],tokenptr);
for a snippet of code.

In pascal (first Delphi, then Lazarus), I had to write my own.

What did I miss here in Pascal (just curious, already got a parser and
so on done....)?

Feel free to reply off list.

Harvey



As EZGPIB is Pascal based, best look up the string handling scheme on
the web.? There are LOADS of tutorials out there to show you how it's done.

It's common to need to either top/n/tail a string before conversion to a
numeric value, and there are just too many ways to do that, to list here.

As EZGPIB is in essence an interpreter, you can play with it live, with
test strings, no need to have it hooked to any hardware...

Cheers.

Dave G0WBX.


Re: Help with EZGPIB

 

Thanks Reg; this was exactly the sort of suggestion I was looking for.
It needs a closing bracket to compile? ? ? EZGPIB_ConvertRemove('(NZFN|NTDN|K)',Answer);
However it does not remove any items. This is a sample from the file generated:

NZFN+011.92E+03,NTDN-022.92E+00,K+010.00000
NZFN+09.968E+03,NTDN-022.57E+00,K+020.00000
NZFN+09.241E+03,NTDN-023.56E+00,K+030.00000 // note comma separated
etc.

This is a sample using? ?? Answer:=EZGPIB_ConvertStripToNumber(Answer);? ? ? ?// strip off all ID

+017.78E+03.NTDN-005.38E+00.K+01.000000? ? // note period separated, this could cause problems

This is a sample from the file when I use the three separate lines.? ? ??EZGPIB_ConvertRemove('NZFN', Answer);
It is strange that it changes from commas separated to period separated.
I suspect that I am not using proper syntax.

+017.79E+03.-005.40E+00.+01.000000
+017.23E+03.-010.15E+00.+02.000000
+016.45E+03.-014.13E+00.+03.000000
+015.60E+03.-017.19E+00.+04.000000

On Tue, Feb 5, 2019 at 10:42 AM Reginald Beardsley via Groups.Io <pulaskite=[email protected]> wrote:
It's very common in string processing libraries to only replace the first instance unless a flag is passed.? All the traditional Unix tools work that way as best I can recall.? Does the EZGPIB documentation say anything about it?

As a wild guess, try this *exactly* as typed:

EZGPIB_ConvertRemove('(NZFN|NTDN|K)',Answer ;

This is standard regular expression syntax and if the authors of EZGPIB had any sense they used one.? Henry Spencer's was always held in high regard, but there are a lot to choose from.? Very likely if you add a 3rd string between the current two it will replace the first string with the 2nd string in sed(1) style.

FWIW Almost all the processing you might want to do is trivial using awk and gnuplot.




Re: HP8595E adding tracking generator

 

On 1/23/19 1:43 PM, Steve Hendrix wrote:
? I don't use any of my VNAs very often, but when I do, they're
indispensable.? I don't know where you're based, but if you're anywhere
near Pittsburgh, you're certainly welcome to use mine if the need
arises...I have a lot of presets and calibration frequency range subsets
for those two ISM bands in particular. ;)
Not all that far...I once made a day trip over there to do my own
investigation of relatives that Children Services was contemplating
placing our foster baby with. I'm about halfway between Akron and
Cleveland, right off I-80 at SR 8.
Wow, this half-typed reply has been sitting there buried under another
window for two weeks. Sorry about that.

But yes, not far at all. You're welcome any time. And I can take you
on a tour of the museum as well, if you're interested.

And don't bother with any of that football rivalry stuff!
Ah, no. Watching grown men chase a ball is not within my spectrum of
pursuits.

I'm curious what model VNAs you have found to be most useful. My test
equipment runs toward the oldie and goodie types, not the
latest-and-greatest whiz-bang gadgets. I like HP gear, except for that
standing for High Priced. My instruments aren't very new, but I know how
to run them and I know how to avoid having them fib to me (mostly).
Looking around my test bench, the only ones I see that I actually bought
new are the TDS220 scope with the full FFT and communications packages,
and an MPJA power supply. Just about everything else is HP (not Agilent
nor Keysight) gear that I've scrounged on eBay etc. I'm a one-man shop,
originally mostly embedded firmware, migrating over the years to digital
hardware, then analog hardware, then RF. I've had to learn as I go and
pick up equipment as I go. My strong suits are 1) Asking stupid
questions 2) Mixing firmware and hardware for an optimum solution, and
3) Being able to work anywhere across the firmware / hardware fence, and
at extremes. Recent projects have ranged from fA to hundreds of A, nV to
KV, DC to GHz, fF to F, etc.
It sounds as though we are cut from the same cloth. ;) My emphasis is
on performance and trustworthiness; no other considerations really get
much attention. I'm not a rich man, but even pricing doesn't bother me
much, as one can always find a deal if one looks in the right place. I
can put pretty much anything in my lab these days...I strive to get the
very best instrument(s) to perform a given function, regardless of age.
This is how I feed myself and my family, so being able to count on my
tools is important to me.

The VNA I use is a well-appointed HP 8510C. I started to "upgrade" it
to an 8753 series machine (because newer is always better, right?), but
the user interface on those is complete ass and they're nowhere near as
flexible as an 8510 system.

I'm still watching for a good buy on a VNA that will go to 3 GHz,
preferably 6 GHz. One got away yesterday when it went from $150 to $2000
in the last 30 seconds of the auction. Ah well, my time will come!
I think I saw that you picked one up. Too bad it's a 75-ohm unit. :-(
But you should be able to just use minimum-loss pads and extend the
reference plane out past them during calibration. I've not done that (I
have no 75-ohm gear) but I see no reason why it wouldn't work.

P.S. Oops! I meant this to be offline, not to the whole group. I thought
there was a way to do a private reply.?!?
There is if you don't bother with the web forum garbage and use it as
a mailing list! ;)

-Dave

--
Dave McGuire, AK4HZ
New Kensington, PA


Re: Help with EZGPIB

 

Thanks Harvey;

I was hoping for a simple answer such as:

Sname:=EZGPIB_ConvertStripToNumber(Sname,Sname,Sname); // where Sname is the string

Or some variation that uses commas, colons, quotes, or other punctuation. I looked through all the sample code and examples from Ulrich Bangert and found nothing (that I understood anyway). I tried some guesses and came to the conclusion that this function will not do what I want.

?

I went through all the functions and found the

?

EZGPIB_ConvertRemove(What:string;FromWhere:string);

Removes all instances of ¡°What¡± in ¡°Where¡±

?

This is the total description and a novice programmer, like me, does not really understand how to use this when there are no examples. What exactly do I put in the brackets? I tried different things until the compiler stopped complaining. I probably have it wrong even though it works.

?

I also went through a Pascal tutorial but it does not go beyond simple strings. Strings separated by commas may be regarded as an array, or more than one string. I am not a programmer and writing a page of code to replace three lines is asking for frustration.

?

So the following works

?

EZGPIB_ConvertRemove('NZFN', Answer);??? ??????????? // Answer is the string

EZGPIB_ConvertRemove('NTDN', Answer);

EZGPIB_ConvertRemove('K', Answer);

?

but with the correct punctuation it might be written as one line such as

?

EZGPIB_ConvertRemove('NZFN', Answer; 'NTDN', Answer; 'K', Answer); ?// does not work

?

Attempts at variations gave compile errors like ¡°too many variables¡±

?

My complete program is not very elegant but is easy to understand and modify, and it works.

It sets up the 4192A to display Magnitude, Phase, and Frequency. Then it starts with a frequency, and step frequency, and reads 9 times (e.g. 1kHz to 9kHz in 1kHz steps), the step frequency is increased and 9 more reads are taken (e.g. 10kHz to 90kHz in 10kHz steps), this is repeated again (e.g. 100kHz to 900kHz in 100kHz steps). If this was the last loop then 10 reads can be taken (e.g. 100kHz to 1000kHz in 100kHz steps). All reads are appended to the end of a buffer and upon completion the buffer is read to memory. Copy and paste makes variations easy so any of the units the 4192A can calculate can be read. The 4192A is quite versatile but is 1980 technology so the 7470A plotter was not yet invented and I have to work within the limitations.

The same program with slight modifications will control the HP4193A Vector Impedance Meter.

If there is no simple improvement then I will post the program to a file in a 4192A folder. Maybe an expert could re-write it to be easier to use. I cannot see how to pass variables to the EZGPIB functions and could not find suitable examples to follow.

?

This is an interim solution as I would like to move on to a C++ program that could be more interactive. Perhaps someone has already written such programs in C++.

?

My present program is this:


Program HP_4192A_Project;????????????????????? ??????????????? // LF Impedance Analyzer

// Note this is a work in progress. It acquires 3 freq decades of Z, phase, and Freq

?

?const filename= 'C:\users\user\My Documents\GPIB Prologix\HP4192A_Data.txt';

?? HP4192A???? =16;????? ?????????????????????????????????????????????????????? // LF Impedance Analyzer

?? Timeout?? =10.0;????? ?????????????????????????????????????????????????????? //

?var Answer:string;

???? i:integer;

????

begin

? ezgpib_screenclear;??????????????????????????????? ???????????????????????????????????? // Clear output console screen

? EZGPIB_ScreenWriteLn('HP 4192A Project');? ? ? ? ? ? ? ? ? ? ? ? ? // display title

? EZGPIB_fileclearbuffer;????? ??????????????????????????????????????????????????????? // clear buffer

?if EZGPIB_FileExists(Filename)then EZGPIB_fileDelete(Filename); // delete old file

? EZGPIB_BusWriteData(HP4192A,'A1B1T3F1');?? ??????????????????????????????? // Z, deg, hold/manual trig, display A/B/C

? EZGPIB_BusWriteData(HP4192A,'FR1EN');????????? ??????????????? // Spot Fequ 1 kHz

? EZGPIB_BusWriteData(HP4192A,'SF1EN');????????????? ??????????? // Step 1kHz

? EZGPIB_BusWriteData(HP4192A,'ABW0');?????????????? ?????????? // Abort Sweep, Manual Sweep

for i:=1 to 9 do

begin;

? EZGPIB_BusWriteData(HP4192A,'EX');???????????????? // Trigger

? EZGPIB_BusWaitForData(HP4192A,Answer,Timeout);??? // Get data

? EZGPIB_ConvertRemove('NZFN', Answer);?????? ??????????????? // delete NZFN

? EZGPIB_ConvertRemove('NTDN', Answer);?????? ??????????????? // delete NTDN

? EZGPIB_ConvertRemove('K', Answer);??????????????? ??????????????? ??????????????? // delete K

? EZGPIB_FileAddToBuffer(Answer);? ???????????????????????????????????? // add to buffer

? EZGPIB_ScreenWriteLn(Answer);????????????????????? ??????????????????? // Display on screen

? EZGPIB_TimeWaitForMultipleOf(1);?????????????????? ?????????????????? // Delay 1 seconds

? EZGPIB_BusWriteData(HP4192A,'W2');???????????????? ?????????????? // Step up

end;

? EZGPIB_BusWriteData(HP4192A,'SF10EN');???????????? ?????????? // Step 10kHz

for i:=1 to 9 do

begin;

? EZGPIB_BusWriteData(HP4192A,'EX');???????????????? // Trigger

? EZGPIB_BusWaitForData(HP4192A,Answer,Timeout);??? // Get data

? EZGPIB_ConvertRemove('NZFN', Answer);?????? ??????????????? // delete NZFN

??EZGPIB_ConvertRemove('NTDN', Answer);?????? ??????????????? // delete NTDN

? EZGPIB_ConvertRemove('K', Answer);??????????????? ??????????????? ??????????????? // delete K

? EZGPIB_FileAddToBuffer(Answer);??????????????????? ?????????????????? // add to buffer

? EZGPIB_ScreenWriteLn(Answer);????????????????????? ??????????????????? // Display on screen

? EZGPIB_TimeWaitForMultipleOf(1);?????????????????? ?????????????????? // Delay 1 seconds

? EZGPIB_BusWriteData(HP4192A,'W2');???????????????? ?????????????? // Step up

end;

? EZGPIB_BusWriteData(HP4192A,'SF100EN');???????????? ??????? // Step 100kHz

for i:=1 to 10 do

begin;

? EZGPIB_BusWriteData(HP4192A,'EX');???????????????? // Trigger

? EZGPIB_BusWaitForData(HP4192A,Answer,Timeout);??? // Get data

??EZGPIB_ConvertRemove('NZFN', Answer);?????? ??????????????? // delete NZFN

? EZGPIB_ConvertRemove('NTDN', Answer);?????? ??????????????? // delete NTDN

? EZGPIB_ConvertRemove('K', Answer);??????????????? ??????????????? ??????????????? // delete K

? EZGPIB_FileAddToBuffer(Answer);??????????????????? ?????????????????? // add to buffer

? EZGPIB_ScreenWriteLn(Answer);????????????????????? ??????????????????? // Display on screen

? EZGPIB_TimeWaitForMultipleOf(1);?????????????????? ?????????????????? // Delay 1 seconds

? EZGPIB_BusWriteData(HP4192A,'W2');???????????????? ?????????????? // Step up

end;

? EZGPIB_FileWrite(Filename);??????????????????????? ?????????????????????????? // write to file

end.


On Tue, Feb 5, 2019 at 12:20 AM Harvey White <madyn@...> wrote:
On Mon, 04 Feb 2019 15:36:34 -0800, you wrote:

What happens if you run the strip program, then copy the result string
from the beginning up to the comma?? In pascal, you can find the
location of the comma, and delete all the characters before it.? This
ought to give you the second part of the string, which you can strip
off the beginning.

This uses standard pascal functions.

Of course, if you could read one thing at a time (NZFN, then NTDN,
etc), you could convert each item individually.

Another option would be to search the string for NZFN, then replace it
by spaces, ditto for NTDN, etc.


maybe easier to copy out to substrings.

C has a token function that automatically parses things like this, and
pascal doesn't (that I know of).

You may want to look for parsing programs, just for fun

depends on how involved you want to get with the programming.

Harvey



>I am looking for help from someone experienced with EZGPIB, or possibly Pascal if any of this makes sense. I wrote a program in EZGPIB that is working well to get data from my HP4192A.?Each read of data is in the following format which is added to a buffer and, at the end of the program, stored in a file. I think the reads are tab separated but that is not the problem.?NZFN+017.78E+03,NTDN-005.38E+00,K+01.000000?To remove unwanted characters (NZFN = |Z|, NTDN = Phase, K = kHz) I used?Answer:=EZGPIB_ConvertStripToNumber(Answer);?// an EZGPIB function. Answer is a string variable?This only strips the first characters so I get?+017.78E+03,NTDN-005.38E+00,K+01.000000?I think the comma terminates the string as far as the function is concerned. I don¡¯t know how to make the function remove all unwanted characters. Does anyone know? I tried a different function three times to remove all characters. It works however I should be able to use it once with the proper formatting to do the job but
>I don¡¯t know how. Any suggestions??EZGPIB_ConvertRemove('NZFN', Answer); EZGPIB_ConvertRemove('NTDN', Answer); EZGPIB_ConvertRemove('K', Answer);?The result is what I am after: +017.78E+03,-005.38E+00,+01.000000
>
>





Re: Help with EZGPIB

 

It's very common in string processing libraries to only replace the first instance unless a flag is passed. All the traditional Unix tools work that way as best I can recall. Does the EZGPIB documentation say anything about it?

As a wild guess, try this *exactly* as typed:

EZGPIB_ConvertRemove('(NZFN|NTDN|K)',Answer ;

This is standard regular expression syntax and if the authors of EZGPIB had any sense they used one. Henry Spencer's was always held in high regard, but there are a lot to choose from. Very likely if you add a 3rd string between the current two it will replace the first string with the 2nd string in sed(1) style.

FWIW Almost all the processing you might want to do is trivial using awk and gnuplot.


Re: Help with EZGPIB

 

¿ªÔÆÌåÓý

Sadly, I cannot help - but I am interested in an answer to this as I will probably need to do much the same in the near future.

David


On 04/02/2019 23:36, peter bunge wrote:

I am looking for help from someone experienced with EZGPIB, or possibly Pascal if any of this makes sense.

I wrote a program in EZGPIB that is working well to get data from my HP4192A.

?

Each read of data is in the following format which is added to a buffer and, at the end of the program, stored in a file. I think the reads are tab separated but that is not the problem.

?NZFN+017.78E+03,NTDN-005.38E+00,K+01.000000

?To remove unwanted characters (NZFN = |Z|, NTDN = Phase, K = kHz) I used

?Answer:=EZGPIB_ConvertStripToNumber(Answer);? // an EZGPIB function. Answer is a string variable

?This only strips the first characters so I get

?+017.78E+03,NTDN-005.38E+00,K+01.000000

?I think the comma terminates the string as far as the function is concerned. I don¡¯t know how to make the function remove all unwanted characters. Does anyone know?

I tried a different function three times to remove all characters. It works however I should be able to use it once with the proper formatting to do the job but I don¡¯t know how. Any suggestions?

?EZGPIB_ConvertRemove('NZFN', Answer);

EZGPIB_ConvertRemove('NTDN', Answer);

EZGPIB_ConvertRemove('K', Answer);

?The result is what I am after:

+017.78E+03,-005.38E+00,+01.000000


Re: Help with EZGPIB

 

¿ªÔÆÌåÓý

Peter.

Try this worked example.


Program Trial3;??

Procedure ShowError();


begin? // show an exeption message

?? EZGPIB_ScreenWriteln('A "' + ExceptionToString(ExceptionType, ExceptionParam) + '" Error occured!');

end;


// Find and remove, a substring within a string.

Function Remove(SubStr:string; BodyStr:string):String;

Var SubPos, SubLen: LongInt;

Begin

????? SubPos := Pos(SubStr, BodyStr);

????? SubLen := Length(SubStr);

????? Delete(BodyStr, SubPos, SubLen);

????? result := BodyStr;

end;???


// Variables.

Var DatainStr: String;

?

Begin

?? EZGPIB_ScreenClear;? // wipe the console clean

?? DataInStr := 'NZFN+017.78E+03,NTDN-005.38E+00,K+01.000000'?? // Test Data

?? try? // run this block of code

????? EZGPIB_ScreenWriteln(DataInStr);


??? ? DataInStr := Remove('NZFN', DataInStr);

????? DataInStr := Remove('NTDN', DataInStr);

????? DataInStr := Remove('K', DataInStr);

????????

????? EZGPIB_ScreenWriteln(DataInStr);

?? except? // if(when) the above block causes an error, then..

????? ShowError;

?? end;


End.


?

The Function ¡°Remove¡± uses EZGPIB¡¯s general Procedure ¡°Delete¡±.

Try it.?? It seems safe in the event that the substring is not found too.

Dave B

?


Subject: Help with EZGPIB
From: peter bunge
Date: Mon, 04 Feb 2019 15:36:34 PST

I am looking for help from someone experienced with EZGPIB, or possibly Pascal if any of this makes sense.

I wrote a program in EZGPIB that is working well to get data from my HP4192A.

?

Each read of data is in the following format which is added to a buffer and, at the end of the program, stored in a file. I think the reads are tab separated but that is not the problem.

?NZFN+017.78E+03,NTDN-005.38E+00,K+01.000000

?To remove unwanted characters (NZFN = |Z|, NTDN = Phase, K = kHz) I used

?Answer:=EZGPIB_ConvertStripToNumber(Answer);? // an EZGPIB function. Answer is a string variable

?This only strips the first characters so I get

?+017.78E+03,NTDN-005.38E+00,K+01.000000

?I think the comma terminates the string as far as the function is concerned. I don¡¯t know how to make the function remove all unwanted characters. Does anyone know?

I tried a different function three times to remove all characters. It works however I should be able to use it once with the proper formatting to do the job but I don¡¯t know how. Any suggestions?

?EZGPIB_ConvertRemove('NZFN', Answer);

EZGPIB_ConvertRemove('NTDN', Answer);

EZGPIB_ConvertRemove('K', Answer);

?The result is what I am after:

+017.78E+03,-005.38E+00,+01.000000

-- 
Created on and sent from a Unix like PC running and using free and open source software.
::


Re: HP 3314A - experience

 

On Feb 5, 2019, at 08:43, Tobias Pluess <tobias.pluess@...> wrote:

I also managed to get a (very ugly PDF scan) service manual.
Maybe less ugly:


(Says for 2141A and greater)

Gr¨¹?e, Carsten


Re: Help with EZGPIB

 

If you need to parse and filter strings, Pascal is way and above much
easier than C to use.?? C++ is different again.

As EZGPIB is Pascal based, best look up the string handling scheme on
the web.? There are LOADS of tutorials out there to show you how it's done.

It's common to need to either top/n/tail a string before conversion to a
numeric value, and there are just too many ways to do that, to list here.

As EZGPIB is in essence an interpreter, you can play with it live, with
test strings, no need to have it hooked to any hardware...

Cheers.

Dave G0WBX.

--
Created on and sent from a Unix like PC running and using free and open source software.
::


Re: Help to fix power supply (A80) of an old HP 3586A

 

Is this the same board from the earlier images?? If so I hadn't imagined that Vinegar could remove the gold plating.? Overnight in white vinegar was quite excessive and has visibly damaged the board.? We sometimes assume everyone knows basic procedures.? Please be sure to ask if you? are unsure or use the internet to seek out tutorials.? This is a common problem and there is a lot of information available.
When you?neutralize the battery electrolyte on?a board the idea is to use a mild acid (if the leakage was from a NiCad or alkaline cell).? You want the chemical reaction between the acid and the base (electrolyte).? Full-strength white vinegar has a PH of approximately 2.5, which is?a bit?too strong to put on a board and much too strong to leave in contact with a board any longer than necessary to assist mechanical removal of the residue.??I usually dilute the vinegar with?at least 2?parts water for 1 part vinegar when working on boards.? It should be applied with an acid brush or?similar?where there is residue and gently scrubbed until clean then immediately rinsed and dried thoroughly.? I clip the bristles off to?about 10cm or less?so you can scrub?harder. If there is solder resist on the board the electrolyte?can get under it and travel as much as 250mm or even more in some cases.? You will see discoloration and will need to remove the resist coating to neutralize the electrolyte.?You can buy a pen to re-coat the traces if needed.?Sometimes the traces are etched?and will have to be repaired.? The electrolyte can also travel up component leads and get inside components.? It is usually better to just replace any part that has corroded leads for best reliability.? You would not apply the vinegar (or vinegar/water diluted solution) to a socketed part, at the least you would want to remove the part so nothing is left trapped?between the leads and the socket.??In this case the vinegar was in contact with the component leads and traces long enough to visibly etch/corrode them.? It may even have leaked inside?some of the parts after etching the plating?from the leads.??There?could be vinegar residue trapped in between the IC legs and the socket. and the connections could be corroded.? This is not good, the board may be ruined or unreliable if not ruined.? Sorry for the bad news and the long post.


Clay


Re: HP 3314A - experience

 

Thanks for those hints.
I also watched the easter egg video. Seems like the developers had some spare time to implement these kind of feature :-)
I also managed to get a (very ugly PDF scan) service manual. It seems to be true that there are only two ASICs, so probability is high that the unit is repairable given that those two ASICs are still good. I will give it a try!

Thanks
Tobias


Re: Help with EZGPIB

 

On Mon, 04 Feb 2019 15:36:34 -0800, you wrote:

What happens if you run the strip program, then copy the result string
from the beginning up to the comma? In pascal, you can find the
location of the comma, and delete all the characters before it. This
ought to give you the second part of the string, which you can strip
off the beginning.

This uses standard pascal functions.

Of course, if you could read one thing at a time (NZFN, then NTDN,
etc), you could convert each item individually.

Another option would be to search the string for NZFN, then replace it
by spaces, ditto for NTDN, etc.


maybe easier to copy out to substrings.

C has a token function that automatically parses things like this, and
pascal doesn't (that I know of).

You may want to look for parsing programs, just for fun

depends on how involved you want to get with the programming.

Harvey



I am looking for help from someone experienced with EZGPIB, or possibly Pascal if any of this makes sense. I wrote a program in EZGPIB that is working well to get data from my HP4192A.?Each read of data is in the following format which is added to a buffer and, at the end of the program, stored in a file. I think the reads are tab separated but that is not the problem.?NZFN+017.78E+03,NTDN-005.38E+00,K+01.000000?To remove unwanted characters (NZFN = |Z|, NTDN = Phase, K = kHz) I used?Answer:=EZGPIB_ConvertStripToNumber(Answer);?// an EZGPIB function. Answer is a string variable?This only strips the first characters so I get?+017.78E+03,NTDN-005.38E+00,K+01.000000?I think the comma terminates the string as far as the function is concerned. I don¡¯t know how to make the function remove all unwanted characters. Does anyone know? I tried a different function three times to remove all characters. It works however I should be able to use it once with the proper formatting to do the job but
I don¡¯t know how. Any suggestions??EZGPIB_ConvertRemove('NZFN', Answer); EZGPIB_ConvertRemove('NTDN', Answer); EZGPIB_ConvertRemove('K', Answer);?The result is what I am after: +017.78E+03,-005.38E+00,+01.000000


Help with EZGPIB

 

I am looking for help from someone experienced with EZGPIB, or possibly Pascal if any of this makes sense.

I wrote a program in EZGPIB that is working well to get data from my HP4192A.

?

Each read of data is in the following format which is added to a buffer and, at the end of the program, stored in a file. I think the reads are tab separated but that is not the problem.

?NZFN+017.78E+03,NTDN-005.38E+00,K+01.000000

?To remove unwanted characters (NZFN = |Z|, NTDN = Phase, K = kHz) I used

?Answer:=EZGPIB_ConvertStripToNumber(Answer);? // an EZGPIB function. Answer is a string variable

?This only strips the first characters so I get

?+017.78E+03,NTDN-005.38E+00,K+01.000000

?I think the comma terminates the string as far as the function is concerned. I don¡¯t know how to make the function remove all unwanted characters. Does anyone know?

I tried a different function three times to remove all characters. It works however I should be able to use it once with the proper formatting to do the job but I don¡¯t know how. Any suggestions?

?EZGPIB_ConvertRemove('NZFN', Answer);

EZGPIB_ConvertRemove('NTDN', Answer);

EZGPIB_ConvertRemove('K', Answer);

?The result is what I am after:

+017.78E+03,-005.38E+00,+01.000000


Re: Help to fix power supply (A80) of an old HP 3586A

 

After any acidic wash, you should immediately give the board an alkaline final cleaning and scrubbing, and thorough rinse under hot tap water. Use liquid dish washing detergent and an old toothbrush for this. Since it appears you have overdone the acid wash a bit, do vinegar again with a toothbrush scrub for a few minutes to remove the tarnish, then rinse and then detergent scrub, then rinse it all off with hot water. For quick drying, you can blow compressed air at it, or use a hairdryer, or oven bake it at around 110 deg C for a while. Be sure there are no polystyrene plastic capacitors on a board that's to be heat dried - they melt at around 85 deg C. If there are any, they should be removed, or the board should be cool air dried.

Again, never leave a board in any ionic wash for extended periods, and never leave acidic residue especially. A little alkaline residue is much less harmful to the metals, so that should be the last thing before final and thorough rinsing.

Ed


Re: Help to fix power supply (A80) ofan old HP 3586A

 

On 2/4/19 3:49 PM, cc@... wrote:
now?the welds and the traces are a bit blackened. Is it a problem?
That chip in socket is going to be a problem. The through hole solder can be touched up
with flux and an iron.


Re: Help to fix power supply (A80) of an old HP 3586A

 

Thanks everybody

I used white vinegar and it has removed perfectly all green?crusts from leaked alkaline. But maybe I exaggerated holding the cards for a whole night in the vinegar... now?the welds and the traces are a bit blackened. Is it a problem?


Re: Help to fix power supply (A80) of an old HP 3586A

 

On Mon, 4 Feb 2019 20:59:57 +0100, you wrote:

On Feb 4, 2019, at 13:41, Chuck Harris <cfharris@...> wrote:

Perhaps that may be so, in part, but if you take
a nicad cell that is crusted up with whatever, and
put it into a vinegar solution it will foam up
vigorously for about 1/2 hour.
I don¡¯t know about NiCad cells. But bubbling would not surprise me on a crusty leaked alkaline cell, as the stronger acetic acid would drive out the carbonic acid from the salts in the crust, and carbonic acid is unstable and comes up as CO2 bubbles.
Vinegar is also a decent way to remove leaked alkaline batteries from
a flashlight, or damage from leaking batteries in a piece of
equipment. You'd like to get the vinegar on as little extra circuitry
as possible, of course.

This also works if the battery "fluff" has cemented the battery in
place. May take a while, but it does work.

Harvey



There is so little CO2 in the air
Don¡¯t we all wish that were still true¡­

that you really
cannot expect it to clean up your mess.
No, in particular not if air flow was restricted (as in a closed case) ¡ª there is only 0.04 % CO2 in fresh air (current value ¡ª I memorized 0.03 % when I was in school).
But with a little air flow (in particular if there are humans in the room, which drive up CO2) and a little time, there will be little hydroxide left.
You still have to clean up the carbonates!
(If you do get a little hydroxide on your fingers, the skin fat turns to soap, so you easily know.
Not that I recommend that as the test¡­
But maybe you can think of fixing leaky battery cells, and the fingers only rarely turn soapy, usually when there is no crust.)

Gr¨¹?e, Carsten




Re: Help to fix power supply (A80) of an old HP 3586A

 

On Feb 4, 2019, at 13:41, Chuck Harris <cfharris@...> wrote:

Perhaps that may be so, in part, but if you take
a nicad cell that is crusted up with whatever, and
put it into a vinegar solution it will foam up
vigorously for about 1/2 hour.
I don¡¯t know about NiCad cells. But bubbling would not surprise me on a crusty leaked alkaline cell, as the stronger acetic acid would drive out the carbonic acid from the salts in the crust, and carbonic acid is unstable and comes up as CO2 bubbles.

There is so little CO2 in the air
Don¡¯t we all wish that were still true¡­

that you really
cannot expect it to clean up your mess.
No, in particular not if air flow was restricted (as in a closed case) ¡ª there is only 0.04 % CO2 in fresh air (current value ¡ª I memorized 0.03 % when I was in school).
But with a little air flow (in particular if there are humans in the room, which drive up CO2) and a little time, there will be little hydroxide left.
You still have to clean up the carbonates!
(If you do get a little hydroxide on your fingers, the skin fat turns to soap, so you easily know.
Not that I recommend that as the test¡­
But maybe you can think of fixing leaky battery cells, and the fingers only rarely turn soapy, usually when there is no crust.)

Gr¨¹?e, Carsten