Close
0%
0%

HP3455A Multimeter Command Line Control Tool

A Linux command line tool to control a vintage digital multimeter

Similar projects worth following
The HP3455A is a mid 1980s vintage bench digital multimeter. This project is a continuation of my efforts to have working low level control libraries for all my GPIB capable instruments. This tool allows reading data from and controlling an HP3455A multimeter. It uses the linux_GPIB package to handle the GPIB interface, so it supports a number of different GPIB interface boards and dongles. ANSI C source code for the tool is included in a tarball in the files area. Code should be considered to be Beta level code.

The HP3455A is a mid 1980's product. It still has respectable specifications as a meter, with 6 1/2 digit resolution. The instrument is old enough that the GPIB language is not SCPI, but R2D2. This tool will convert the R2D2 into human readable language. Sending commands and reading data are fairly straight forward, reading the configuration is kind of messy.

All of the GPIB commands listed in the programming section of the manual are supported. Commands can be supplied to the tool on the shell command line, from a script file, or from an internal shell-like mode. Arbitrary delays between commands can be set. Capturing multiple measurements to a file with a user supplied delay between measurements is also possible.

This tool reuses the architecture of the project #HP34401A Meter Command Line Control Software Tool . Both tools share a lot of their source code. GPIB interface tasks are handled by the linux-gpib library that is available via Source Forge and other places. Linux-gpib supports many different interface boards and dongles. Development was done under Fedora 40 and tested on several other Fedora versions. You must install the linux-gpib package before building this tool.

Both the linux-gpib library and the National Instruments NI488-2 libraries are compatible with each other with minor exceptions. It is possible to build this package to run under Windows using the NI488-2 library. Instructions to do so can be found in my #HP545xx Data Acquisition Software project.

In order to build this project on a Linux machine, you must already have the linux-gpib package installed. There is a .h file needed at compile time and a library that is needed at link time for this package to compile successfully. Create a working directory to build the tool in and copy the .tgz file into it. Un-tar the file and type make:

> mkdir HP3455A_ctl

> cd HP3455A_ctl

> cp wherever/HP3455A_ctl_xx_xx_xxxx.tgz  .

> tar -xzvf HP3455A_ctl_xx_xx_xxxx.tgz

> make

and the software should build with no errors or warning messages. Finally, copy or link the executable program to a convenient directory in your executable path like ~/bin. There should be no need to do any of these tasks as root unless you want to put the executable in a directory off the /usr tree.

The default address for the HP3455A (currently 4) is stored in the file HP3455A.h. If your instrument is not configured for that GPIB address, you can edit the file and re-compile or you can use the -d command line option to supply the correct address.

Typing ./HP3455A_ctl    with no parameters will give you a command listing:

Usage: HP3455A_ctl [-d DEV_Address] CMD1 [arg1] [CMD2...

  where CMDn [argn] is one of:

  • HELP                         cmd_name
  • READ_CMDFILE       cmdfilename
  • INTERACTIVE            [TOLERANT]
  • SLEEP_MS                NmilliSeconds
  • GET_MEAS               No Parameters
  • SET_MODE               DC_VOLTS/AC_VOLTS/AC_VOLTS_FAST/OHMS_2W/OHMS_4W/VDC/VAC/VACF/OHMS2/OHMS4/TEST
  • SET_RANGE              0.1/1/10/100/1000/10000/1K/10K/AUTO
  • SET_TRIGGER_SOURCE     INTERNAL/EXTERNAL/MANUAL
  • SET_MATH               SCALE/ERROR/OFF
  • SET_Y_Z_VAL          Y/Z val.xxx
  • STORE_Y_Z              Y/Z GET_Y_Z_VAL            Y/Z SET_DISPLAY_REG_A     ...
Read more »

HP3455A_ctl_11_22_2024.tgz

Source code for building the HP3455A_ctl tool. Date: 11/22/2024. Includes stuff to make it easier to build under MINGW/Windows. Released under the BSD License.

x-compressed-tar - 28.68 kB - 11/23/2024 at 13:37

Download

  • 11/22/2024 Code - files to ease building for MINGW/Windows

    Bharbour11/23/2024 at 13:53 0 comments

    This code includes code that I wrote to smooth over the differences between linux-gpib and NI488-2 libraries. Some conditional include files got added to the existing  .c files and a function to map the error numbers to human readable strings that the NI488-2 library lacks.

    There is also a make script file: Makefile_MINGW that works under MINGW environments.

    Not included are the National Instruments NI488-2 library stuff and a Microsoft file CHKSTK.O. Both of these are copyrighted to someone else. NI488-2 can be downloaded from National Instruments web site. The version that I am running is fairly old, version 14, Windows 7 era which is the latest MS code that I have access to. CHKSTK.O can be found in Microsoft compiler distributions.

    Both the ni488-2.obj file and CHKSTK.O should be placed in the directory that you are building HP3455A_ctl in.

    Building under MINGW is similar to building under Linux. Use the Makefile_MINGW instead of the Linux Makefile:

    > make -f Makefile_MINGW

    should compile and link everything. There should not be any errors or warning messages from the build.

View project log

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates