We really know too little about your configuration and programs (you didn't mention your 1/X requirement any more) but here's another attempt to help, based on assumptions that me be incorrect:
The HP 3458A User Manual explains that SINT does in fact stand for Single (precision) INTeger. It uses two bytes, representing values as two's complement (-32768 to +32767). Obviously, there's a scale factor. The "ISCALE?" command is used to retrieve it. SINT makes it possible to continuously send two-byte integers ("mantissa") and only get the "exponent" of the measurement on request. This is asking for trouble unless values stay within a known range and the HP 3458A doesn't switch ranges (automatically). Using SINT in any calculation is a bad idea.
The examples on page 100 of the HP 3458A User Manual suggest that doing calculations with the data should be easy. The SINT values can be treated like any other number. There should be no difference just because it's SINT and conversion is implied: The "MFORMAT SINT" command (page 96) tells the 3458A to output (calculated?) values as SINT.
You seem to have made changes to the existing program in the HP
3458A. A listing of the program in that area may be helpful. It may tell us how "588" represents (plus or minus?) 0.051 V.
From what I read, HPBASIC has no problem reading and correctly interpreting SINT numbers. It may be easier for you to write a program that takes the BDAT file, does the scaling and offset calculations and writes a new BDAT file. Unfortunately, you said that you don't know anything about programming...
Raymond
|
?
Hi ok the X array is stored in SINT (I also believe
this is signed integer where numbers below 8xxx in hex are positive and above
are negative) format. BUT your offset value of ?0.051 is not an interger so
cannot be represented in SINT format.....UNLESS there is a scaling
factor?somewhere else in the program..... say this was 1000
(millivolts?)? then 51(decimal) converts to 33(hex) if the sign bit is zero
for positive.? 558(hex) converts to 1368(decimal)? So I am afraid you
need to understand a lot more about what the program is doing.
?
If you want to multiply the array value by three
the easiest way without converting to decimal is perhaps to use
X(1,1)=SHL(X(1,1)) + X(1,1)? ....3 (decimal) being 11(hex)? where SHL
is a "shift left" function equivalent to multiplying by 2. I dont know if such a
function is available, or if there are other functions for manipulating singed
integers. The reason for their use seems to be to pack the information into 2
bytes for transfer instead of 4bytes for floating point.
?
Again this assumes I understand the problem
correctly
?
Alan
G3NYK
?
toggle quoted message
Show quoted text
----- Original Message -----
Sent: Friday, October 09, 2015 3:33
AM
Subject: Re: [hp_agilent_equipment] Re: I
need a SINT value!
Here
is the background of this golden oldie system I have to make work.: A Viper
card (with onboard HP Basic and integrated HPIB) in a PC sends a command to
the HP DMM which causes it to respond by sending via HPIB the current voltage
in SINT format. So? X is already in SINT format. In this config, when I
just added 0.051 to X(1,1) , I did not get the expected results. When
I? use? x(1,1)+558? I get the desired value.
SO.... I am
thinking I need x(1,1)* (the SINT value for 3)
(BTW you are right- I
don't know beans about programming- I just need to change the existing
pgm!)
The program then goes on to get another value from a different
instrument, combine to 2 values in matrix(?) format, then create a BDAT file.
?This file must be analyzed by another program for which I do not
have source code, so I am stuck with maintaining accepting SINT output from
the DMM (unless there is a way to use HPBasic to convert another format from
the DMM to SINT).
I think the original programmer wanted to maximize
the data throughput by use of SINT and BDAT.
|
Battery might be getting weak... It would have been a good idea for him to record the actual error message.
|
Re: Comment on the UGSimple USB to GPIB adapter
" The unit will drive up to just 5 instruments. I suppose it is fair value?compared with some other offerings of this function."
Reason being that each instrument sources 5V through 3k. You need to pull that below 0.8V. Say that you need .5V to be on the safe side. That means you need to sink 1.5mA per instrument on the bus.
So, how many you can handle depends on the chosen microcontroller as none of the cheap GPIB interfaces, including mine, use the dedidated SN75160/75161 chips.
|
Re: Comment on the UGSimple USB to GPIB adapter
Hi Alan, ??????????
sequence and display the responses.> there is truly fantastic freeware windows batch automation program called Autoit,for integrating disparate windows programs not designed to work together.
This would allow you to easily test sequences of scripts using the interface you describe.
Autoit was originally developed for systems admin to do automated installations, but it can do so much more now.
This allows you to? exec software and feed keystrokes into specific windows etc. It is a very full scripting language with a Basic like syntax.? It runs rings around traditional windows scripting hosts (like vbscript,jscript), for conventional scripting and then can identify windows and buttons on windows and press them etc.delay ,wait on window focus,change window focus,wait for window to popup etc etc. It even can do simple UI's.
I have used it for creating really complex scripts for integrating a number of different programs on windows, including complex remote terminal logins for networked Unix boxes and automatic import of thousands of medical records every evening.
Although writing? software like this for scripting a UI, leaves a bad taste in the mouth,it certainly is very useful for integrating different programs not designed for integration.
The price of the HP usb clones has been dropping, so now you can get the ones that look the same as real HP units for as little as $80 on ebay.? Still more? than you paid, but *if* they work with the HP drivers maybe worth the extra $.
I am now suspicious the "Agilent" unit I bought quite a while ago, may be a clone too, even though it has worked reliably with John Miles software and my own Visa software.
Tim
toggle quoted message
Show quoted text
From: "'Alan Melia' Alan.Melia@... [hp_agilent_equipment]" To: hp_agilent_equipment@... Sent: Thursday, October 8, 2015 4:46 PM Subject: [hp_agilent_equipment] Comment on the UGSimple USB to GPIB adapter
?
I have just received this unit so not a lot of time to evalute it yet.
The user manual is a bit thin but adequate in most cases. I initially
bemoaned the lack of an example but bearing on the very different commands
for different types of equipment it seems to work using the basic command
window. However it does not seem possible to stack a few commands and reads.
The problem also is the window clears the address once send command has been
pressed. If you call for a sample on the non-HP unit I was testing with, the
response data has been sent before you can reset the address and press
read-data. Maybe I am using the window incorrectly, but maybe a "send
command and read response" button would we more useful. To some extent this
is not a problem as serious use would involve writing a program to use the
API provided (for Windows) There does not seem to be any support for Linux,
which is a limitation.
It would be nice if the basic command window would read a text file command
sequence and display the responses. Above all it would make the unit easier
to check out before the effort was put into program development. It would
also make checking units with some of the "odd" early implementations
easier.
I am a novice at GPIB so perhaps I have missed something, but there is
little space in an 8 side "manual" for much information.
The unit will drive up to just 5 instruments. I suppose it is fair value
compared with some other offerings of this function.
Alan
G3NYK
|
Here is the background of this golden oldie system I have to make work.: A Viper card (with onboard HP Basic and integrated HPIB) in a PC sends a command to the HP DMM which causes it to respond by sending via HPIB the current voltage in SINT format. So? X is already in SINT format. In this config, when I just added 0.051 to X(1,1) , I did not get the expected results. When I? use? x(1,1)+558? I get the desired value.
SO.... I am thinking I need x(1,1)* (the SINT value for 3)
(BTW you are right- I don't know beans about programming- I just need to change the existing pgm!)
The program then goes on to get another value from a different instrument, combine to 2 values in matrix(?) format, then create a BDAT file.
?This file must be analyzed by another program for which I do not have source code, so I am stuck with maintaining accepting SINT output from the DMM (unless there is a way to use HPBasic to convert another format from the DMM to SINT).
I think the original programmer wanted to maximize the data throughput by use of SINT and BDAT.
|
Re: Fake NI-USB-HS adapters on ebay.
|
I think it was NTE ?
? However, I¡¯ll have to check to make sure. ? Joe ?
toggle quoted message
Show quoted text
From: hp_agilent_equipment@... [mailto:hp_agilent_equipment@...] Sent: Thursday, October 08, 2015 6:13 PM To: hp_agilent_equipment@... Subject: [Bulk] RE: [Bulk] RE: [Bulk] RE: [hp_agilent_equipment] Re: fixing an 8481H? ? Yes, I think you are correct. ? I¡¯ll have to ¡®pillage¡¯ the workshop to find it. ? Joe ? ? ? It was a lab in So Cal, I think.
Dave?
To: hp_agilent_equipment@... From: hp_agilent_equipment@... Date: Thu, 8 Oct 2015 18:04:46 -0500 Subject: RE: [Bulk] RE: [hp_agilent_equipment] Re: fixing an 8481H
? ? Em!? I have a problem remembering past 4 hours. ? Let me think about it.? I can probably come up with it but probably not tonight. ? Whoever it was, was not ¡®inexpensive¡¯ but were much less than HP.? They worked but I¡¯m not sure how precise they were. ? If you need precision, you might want to go with HP (if they still support the part).? For less than precision, it will likely work for you. ? I¡¯ll see if I can chase it down. ? Joe ? ? ? To J.L. Trantham:? Who did your 8482 service in California back in 2009? ?
|
Comment on the UGSimple USB to GPIB adapter
I have just received this unit so not a lot of time to evalute it yet.
The user manual is a bit thin but adequate in most cases. I initially bemoaned the lack of an example but bearing on the very different commands for different types of equipment it seems to work using the basic command window. However it does not seem possible to stack a few commands and reads. The problem also is the window clears the address once send command has been pressed. If you call for a sample on the non-HP unit I was testing with, the response data has been sent before you can reset the address and press read-data. Maybe I am using the window incorrectly, but maybe a "send command and read response" button would we more useful. To some extent this is not a problem as serious use would involve writing a program to use the API provided (for Windows) There does not seem to be any support for Linux, which is a limitation.
It would be nice if the basic command window would read a text file command sequence and display the responses. Above all it would make the unit easier to check out before the effort was put into program development. It would also make checking units with some of the "odd" early implementations easier.
I am a novice at GPIB so perhaps I have missed something, but there is little space in an 8 side "manual" for much information.
The unit will drive up to just 5 instruments. I suppose it is fair value compared with some other offerings of this function.
Alan G3NYK
|
Yes, I think you are correct. ? I¡¯ll have to ¡®pillage¡¯ the workshop to find it. ? Joe ?
toggle quoted message
Show quoted text
From: hp_agilent_equipment@... [mailto:hp_agilent_equipment@...] Sent: Thursday, October 08, 2015 6:08 PM To: hp_agilent_equipment Subject: [Bulk] RE: [Bulk] RE: [hp_agilent_equipment] Re: fixing an 8481H? ? It was a lab in So Cal, I think.
Dave?
To: hp_agilent_equipment@... From: hp_agilent_equipment@... Date: Thu, 8 Oct 2015 18:04:46 -0500 Subject: RE: [Bulk] RE: [hp_agilent_equipment] Re: fixing an 8481H
? ? Em!? I have a problem remembering past 4 hours. ? Let me think about it.? I can probably come up with it but probably not tonight. ? Whoever it was, was not ¡®inexpensive¡¯ but were much less than HP.? They worked but I¡¯m not sure how precise they were. ? If you need precision, you might want to go with HP (if they still support the part).? For less than precision, it will likely work for you. ? I¡¯ll see if I can chase it down. ? Joe ? ? ? To J.L. Trantham:? Who did your 8482 service in California back in 2009? ?
|
It was a lab in So Cal, I think. Dave?
To: hp_agilent_equipment@... From: hp_agilent_equipment@... Date: Thu, 8 Oct 2015 18:04:46 -0500 Subject: RE: [Bulk] RE: [hp_agilent_equipment] Re: fixing an 8481H
?
Em!? I have a problem remembering past 4 hours. ? Let me think about it.? I can probably come up with it but probably not tonight. ? Whoever it was, was not ¡®inexpensive¡¯ but were much less than HP.? They worked but I¡¯m not sure how precise they were. ? If you need precision, you might want to go with HP (if they still support the part).? For less than precision, it will likely work for you. ? I¡¯ll see if I can chase it down. ? Joe ?
toggle quoted message
Show quoted text
From: hp_agilent_equipment@... [mailto:hp_agilent_equipment@...] Sent: Thursday, October 08, 2015 1:42 PM To: hp_agilent_equipment@... Subject: [Bulk] RE: [hp_agilent_equipment] Re: fixing an 8481H? ? To J.L. Trantham:? Who did your 8482 service in California back in 2009?
|
Em!? I have a problem remembering past 4 hours. ? Let me think about it.? I can probably come up with it but probably not tonight. ? Whoever it was, was not ¡®inexpensive¡¯ but were much less than HP.? They worked but I¡¯m not sure how precise they were. ? If you need precision, you might want to go with HP (if they still support the part).? For less than precision, it will likely work for you. ? I¡¯ll see if I can chase it down. ? Joe ?
toggle quoted message
Show quoted text
From: hp_agilent_equipment@... [mailto:hp_agilent_equipment@...] Sent: Thursday, October 08, 2015 1:42 PM To: hp_agilent_equipment@... Subject: [Bulk] RE: [hp_agilent_equipment] Re: fixing an 8481H? ? To J.L. Trantham:? Who did your 8482 service in California back in 2009?
|
A coworker told me that when he turned on his HP 54542C, it showed an error. It told him to throw the programming switch to the "unprotected" postion, and restart. He did, and it booted up fine. It didn't say to put it back, but he did, and it is still working fine. Does anyone know what this means? Surely something is wrong....
Thanks dan
|
Re: RF Impedance Measurement
?
You could certainly do this. The professionl way is
to use a ganged source-detector. You might achieve a sufficient sensitivity by
using a logaritmic detector rather than a diode rf voltmeter. The problem using
this set up for antennas as I mentioned earlier is that the null is compromised
by any strong signals you may receive and also by the source harmonics which
will not be nulled of course. You will really need, from my experience, around 3
to 5 volts source drive for the bridge. I have wonder about using the same
source as an LO for a direct converstion receiver. Here screening would be of
paramount importance. Maybe optical fibre coupling the source to the
receiver??
?
Alan
G3NYK
toggle quoted message
Show quoted text
----- Original Message -----
Sent: Thursday, October 08, 2015 8:06
PM
Subject: Re: [hp_agilent_equipment] RF
Impedance Measurement
I have another idea.? The purpose
of using noise as a signal source is so that the frequency of interest can be
selected by the detector/receiver.? The same thing can be accomplished
with a signal generator and voltmeter, with the signal generator providing the
frequency of interest, the only issue being that of getting a sufficiently
sensitive detector (the same receiver would work here).
So now the problem is reduced to
fabricating the bridge itself.? The excitation and detection has become
simple and thus the balance of the drive signal has to be considered.?
Further, I wonder how to calibrate the capacitor; it will not read the unknown
reactance directly but a calculation must be made.? If the basic impeda
nce of the bridge (standard value) is 50 Ohms, then the ratio of the unknown
(measured) resistive component to this needs to be the scaling factor for the
capacitance (or negative capacitance).
Has anyone done the arithmetic for
this?? I am agonizing over the what might be the best way to mark the
bridge dials.? I presume that marking them with the value of the
component and calculating later might work best.
If I make several
transformers, I won't have to make a very wide band transformer.? If I
use several values of standard resistance I can cover a wide impedance
range.? And with a couple of variable capacitors the frequency and
impedance range can be extended.? Sensitivity at balance is also an
issue.
This has moved from a difficult project to a simple one and now
is back to being difficult.
Bob
On Thursday, October 8, 2015 11:55 AM,
Bob Albert wrote:
Robert,
Thanks for telling me,
but I suspect the shipping cost (based on your callsign) would make the cost
prohibitive.? I am in Los Angeles.
So my intent is to use
the main dial on an old cheapie signal generator and custom calibrate
it.
Bob K6DDX
On Thursday, October 8, 2015 11:17 AM,
"robert8rpi@... [hp_agilent_equipment]"
wrote:
Hi Bob, I have some
Hammarlund 25pF to 250pF precision variables. They are straight law with
built-in anti-backlash reduction gears. They came from aircraft fuel quantity
gauge test sets and look like new. A lot of variable capacitors have non
linear laws to give a linear frequency scale on receivers. let me know off
list if you are interested in one of the Hammarlunds. Robert G8RPI.
|
?
I'm not sure what language that is...... obviously
one of the HP Basics.....but as I see it you have conpletely misunderstood the
meaning of the command syntax and usage.
?
"X" is not really a "value" it is the tag for an
array like X(y.z) maybe in a definition lineat the start.
?
"X(1,1)" is the value?stored in the first
column, first row of the array and you are adding a constant value to?say
offset to it. If you want 3 times that value the syntax is X(1,1)*3? the
reciprocal of the value is 1/X(1,1)?
?
If the offset needs changing it is an interger
(probably 16 bit) but is just mulltiplied.If you need to divide the offset you
should use integer division which dumps the residual ( It is function
DIV,?I think)
?
I hope this helps but I feel like the others I
might have totally misunderstood what you are trying to achieve.
?
Best Wishes
Alan
G3NYK
?
toggle quoted message
Show quoted text
----- Original Message -----
Sent: Thursday, October 08, 2015 9:06
PM
Subject: [hp_agilent_equipment] Re: I
need a SINT value!
It
is not? Signed Integer? but a probably obsolete? Single Integer
format. It is note on page 98 of this manual;
|
I know next to nothing about the software interfacing and capabilities of the HP 3458A. Still, I'll try and help a little. Unfortunately, your setup still isn't clear to me. Are you making voltage measurement with the HP3458A and send acquired values over HP-IB, or are you acquiring values from another meter and combining the measurements in your HP3458A, or are you just reading the values on the displays of each instrument?
I assume from your description it's the third and you want to convert the HP3458A's display of its measurements for easier comparison with the other instrument.
Why use SINT at all? The instrument can use both SREAL and DREAL. Unless it's to do with speed over the HP-IB bus (fewer bytes)? For one, the note on page 92 of the user manual seems to discourage using SINT if you want to do on-board calculations. For another, it's much easier to use floating point (single or double real) if you want to do calculations. For yet another, you'll lose lots of significance in many cases.
Lastly, 1/x (which is in your expression) will always return 0 for all values of x > 1 if you use SINT...
It may be much easier to determine the correct representation of 588 in REAL. I guess it could be + or - 0.051...
Just do REAL calc and convert either at the start or end of your calculation - or both, if necessary.
Please let me know if I've completely misunderstood your plan.
Raymond
|
Re: HP1651B Boot and other Disks needed
Hello Sam, Group,
Regarding failure to use Lifutil.exe on "DOS" machine: When downloading "1650_51B_V2.11_OS_SYS.zip" from HP-A-K website you get the LIF Utilities A.00.00, known to be quite fussy (to not say unusable) for machines it runs on. See end of document for details: ftp://ftp.hpmuseum.org/lif/lifutil/lif_over.txtYou can find LIF Utilities A.00.03 in the self extracting "Lifarc.exe" by searching for "LIFUTIL" on HP-A-K website. HTH, Paul
toggle quoted message
Show quoted text
?
Sam,
Is you address correct in the FCC database?? I can send you the boot disk that I'm using if you want to try it.
Gary
|
Re: RF Impedance Measurement
At 03:06 PM 10/8/2015, Bob Albert wrote: Further, I wonder how to calibrate the capacitor ...
Has anyone done the arithmetic for this? Have a look at the GR 1606-A manual:
|
It is not? Signed Integer? but a probably obsolete? Single Integer format. It is note on page 98 of this manual;
|
I am changing an existing program which has a SINT value of 558 added to a value (which is 0.051 V in this application) the current program line is V(N,2)=X(1,1)+558
Yes, the program as it now is, adds 558 to the X value.? X comes from the DMM in SINT format, so in order to add the desired 0.051 volts, the SINT value of 558 is used. This currently works.
I need to change this so the output will more closely agree with another instrument, so I want to scale the voltage coming from the voltmeter with ; ((1/x) *3)+x
You are right I was missing a set of brackets! But, will the DMM accept regular brackets?
I need to multiply the x value by 3, so I think I need that quantity in SINT.
I also need to multiply by the reciprocal of x- would the following be the proper syntax?
V(N,2)=((1/X(1,1))*3)+X??? where 3 would be in SINT
Since I am multiplying a SINT value I think I must use a SINT value ( I had to when I added in the original line)
|