Rack and Stack Systems

Computer Languages

Brooke Clarke 2000 - 2007

Rocky Mountain Basic
    Oswego Utilities
    Interactive Test Generator HP E2000A
Basic Plus
DOS Utility
Trans Era High Tech Basic
Instrument Basic for Windows
Instrument Basic
National Instruments
Standard Commands for Programmable Instrumentation
Apollo Computer

Overview of Instrument Control Languages & Experience Using Them

Note that the test and measurement division of HP split of and is now called Agilent.  Some of the references to HP below now are to Agilent.

Rocky Mountain Basic

During the nineteen seventy and eighties the control language we used was HP Rocky Mountain Basic (RMB) so called because it was from the Colorado division of HP located in the Rocky Mountains.  It ran on HP Work Station (WS) computers that were based on the Motorola 68xxx microprocessors. This was before there was an IBM PC.

I have HP 217, 318 and 340C+ WS computers and many version levels of RMB.  To this day the instruments that HP makes that have IBasic inside the instrument are using a version of RMB.  Programs can be written in HP Basic for Windows that will also run in IBasic.
Ted Dasher & Associates - TSA -Monterey Bay Communications -  used HP RMB WS computers

I have developed all aspects of many dozens of ATE systems based on WS RMB.  These have been used for testing microwave components and semiconductors both packaged and on wafer probes.  A system was used to match the detectors for the AGM-45 Shrike missile.

Oswego Utilities

This was a third party software package of utilities that allowed things like restoring a "protected" RMB program.  The protection was provided by (AFAICR) toggling a bit near the start of each line of code.  When "protected" a printout would show the line number and just "*".

Since RMB has commands that allow peek and poke directly into the memory space many neet things can be done by writing in RMB.  For example you can read the boot ROM.  So the combination of the Oswego utilities and the capability of RMB allowed some very cleaver things to be done.

Interactive Test Generator HP E2000A

It may be that I have the name wrong as I write this (it's 2014).  ITG seems to be about instrument drivers rather than test management.  There was another software package that allow reducing the number of lines in a sub to one.

Because RMB included the ability to call subroutines and either explicitly pass parameters or make use of global parameters the subroutines could be easily added to a program.  For example to set the frequency of the HP 8350B would be one sub, to set it's power level another sub, and so on.  These subroutines could include printer formatting commands like a Form Feet at the top and bottom of the sub so that when you printed the program each sub was on it's own sheet of paper.  By limiting the complexity of each sub so that it fit on one sheet of paper it was also easy to troubleshoot a problem with that sub.

The problem was there was a limit to the number of line numbers allowed so the complexity of any one program was limited.  One way around this line limit was to use ITG.  It allowed compiling a sub into something that only used one line number, so instead of using over 50 lines for a sub it now took only one line.

RMB Controllers - some called 9000 series workstations

Basic Plus

This is an extension to RMB WS, HP Basic for Windows and HTBasic that adds a GUI.  Without the Plus addition the interface is either a command prompt or soft key driven.  With the Plus add on the application program has a lot of the look and feel of a modern windows application.
AFAICR it requires Basic 6.2.

DOS Utility

There is a DOS utility for WS RMB that allows programs to be written and read from 3.5" disks that are formatted in a PC as well as the classical HP LIF format that is not compatible with PC computers.  There are some LIF to DOS programs that can be run on a PC, but they need just the right 3.5" disk drive to work.  They will not work with most modern PC 3.5" disk drives.

Rack and Stack Systems has HP WS computers that can read these files and write the files onto DOS disks to allow transferring programs. Transferring data files requires a custom program that can read the LIF data disk and write the same data to a DOS data disk.

HTB by Trans Era

Since WS RMB had a very large usage in the Automatic Test Equipment business it was clean room cloned by Trans Era.  Their product is called HTBasic.  By clean room cloned I mean that Trans Era developed it's HTBasic product in a legal way, it was not just a copy of the HP product.

Instrument Basic for Windows

This was an HP product that was their first attempt to port WS RMB to the PC.  It had a number of problems and was taken off the market after about a year.  I used it to build an environmental step stress test system for a printed circuit board that turned on and off the DC power to the boards as well as communicating with them via RS-422 to check their status as well as logging any failures.  This system has been working well and has been cloned by the customer because of it's value.

Instrument Basic

Instrument Basic is a version of RMB that runs inside HP test equipment.  These instruments will have a 3.5" disk drive and provision for an external keyboard (either HIL on older instruments or PS2 on newer ones).  This is not a full RMB but has most of the functionality needed to control not only the instrument running it but also other instruments via the HP-IB connector.  This is a very powerful way of automating a test system because it does not require a separate computer to act as the system controller.  Note that features can be added to an instrument by means of a self contained IBasic program.  Instrument Basic is different from Instrument Basic for Windows.

I have written a number of programs in the IBasic environment.

 In order to maintain support for all their customers that were using WS RMB, HP now sells a version of  HTBasic that they customize and support.  It is called HP Basic for Windows and runs on WIN3.1, WIN95/98 and WINNT.  It has support for HP-IB cards from many manufacturers including all the National Instruments GPIB cards.  I have written a number of programs for this version of Basic.

Note that although the language is very close to the WS RMB, there are some differences in the way alpha and graphics data is displayed.  This can cause some rewrite of the code when porting to HP Basic for Windows.

Because of problems with dongles and WIN NT the current version 6.32 does NOT require a dongle and is serial number locked in software.

Agilent stopped OEMing the TransEra product with version 2060D and now sends customers directly to TransEra.

Tams Basic - is a Linux vrsion

 HP VEE is a product similar to LabVIEW.  There are a number of differences.  VEE uses a single large driver that does everything that HP thought of to control the instrument.  This makes it harder to tell what is happening.  Since the driver is so complex it is essentially impossible to modify it.  HP supplies VEE drivers for most of it's instruments, but only supplies a few for other instrument brands.  If your system uses only HP instruments and you are not trying to do something that strains the existing drivers then VEE may be a better solution in terms of time to market than LabVIEW.  I am now learning VEE.  There is a considerable difference in the "look" of VEE and LabVIEW data flow diagrams.  I personally think the LabVIEW diagram tells you more about what the program is doing.
National Instruments

 National Instruments started out by making HP-IB interface cards for about every computer that was popular.  They grew into developing a language "LabVIEW" that has a graphical programming environment.  They continue to expand their offering of both hardware and software in many market areas.  N.I has started a number of independent foundations / organizations to develop standards in areas related to the hardware and software.

 Although this language easily provides a Graphical User Interface (GUI) it's main advantage is that it is a graphical programming language rather than a text based language like RMB.  It is a data flow language which means that the lines shown connecting the components of the graphical program represent data.  Having a graphical image of the program helps to write programs that have fewer bugs as well as the automatic error checks that come with many of the constructs.  Note that the time required to develop a system is about a order of magnitude quicker using LabVIEW than using WS RMB.  WS RMB is at least an order of magnitude faster to develop an application than is "C".  As the language goes down in level from LabVIEW to RMB to "C" more time is spent on getting all the programming details correct and less time on the heart of the code.

Note that although LabVIEW appears to be much easier to use than conventional text based languages, it still is a computer programming language and for anything more than a very simple application will require some learning on the part of the programmer.  Do not think that an engineer is going to "learn" LabVIEW quickley if he has no prior programming experience.

There are dozens of add on packages for LabVIEW with more being added constantly.  This is an area where National Instruments does well.  In some cases N.I. has purchased a package developed by a third party and now supports the package.

Labview Technical Resource

LTR publishes a hard copy magazine that comes with a floppy disk with the code for the example programs in each issue.  They cover some needed topics in much greater depth than is covered in the LabVIEW documentation.

List Server for LabVIEW & FTP site

Send un/subscription messages to the Info-LabVIEW list processor at mailto:listmanager@pica.army.mil

Send other administrative messages to the Info-LabVIEW list maintainer at mailto:info-labview-REQUEST@pica.army.mil

To broadcast a message to subscribers, send it to mailto:info-labview@pica.army.mil

Please prefix your Subject lines with [A] for all platforms, [M] for Mac, [W] for Windows, [S] for Sun, or [H] for HP. When you respond to a message, quote pertinent sections rather than the entire message. Include your email address. If you receive a substantial number of responses to your query, particularly if they come in via private email, please post a summary of the comments.

Our ftp archives are at <ftp://ftp.pica.army.mil/pub/labview/>. If you wish to upload a vi or other material of interest, please place it in the incoming directory ftp://ftp.pica.army.mil/incoming/labview/ and email <info-labview-request@pica.army.mil> with a description of what you've place there.

Brian's LabVIEW pages - Downloads -
ModemNOW! Suite - modem & pager tool kit by Microsys  - also see LTR Vol 5 #1 and Vol 6 #3 for pager info
LabVIEW web ring -

Rack and Stack Systems has written programs to control environmental equipment for testing fiber optic sensors used in aircraft.  This included a temperature + altitude / humidity chamber, a furnace, random vibration system, a combined liquid level and flow bench and a combined pneumatic and hydralic pressure bench.  Another system is used to test a large variety of military 1553 cable assemblies.  This system has been cloned by the original customer since it works so well.  Another system tests a PIC micro controller based circuit that dynamically drives an EL sign.  A LabVIEW system to pass through HP-IB commands from the IEE-488 bus over a modem link, allowing remote control on instruments was done on a MacIntosh. Consulting on the use of LabVIEW is available from Rack and Stack Systems.

SCPI - Standard Commands for Programmable Instrumentation

HP developed a Test and Measurement Systems Language (TMSL) as described in "A Beginner's Guide to TMSL" HP p/n H2325-90001.  In 1991 this book was re-titled "A Beginner's Guide to SCPI" HP put this language into the public domain to be administrated by the SCPI Consortium.  Early test instruments had what is called R2D2 commands.  For example to set the range and function you might sent the string "R2F3".  This command was specific to one manufacturer and model number.  If you changed the instrument you needed to change the code.  With the advent of IEEE-488.2 there was a basis for a common set of commands and responses for instruments.  Some instruments have the capability of using both R2D2 commands and SCPI commands.  It takes much more work to write software in SCPI, but the usefulness of the code is higher with SCPI.


VISA is an outgrowth of the VXIbus Consortium.  Although much of it is standardized, some is not.  If you have an N.I. card you can load the N.I. VISA software package into your computer and then run HP software or N.I. software and it will work.  If you have an HP brand I/O card you can load the HP VISA software package and both N.I and HP software will work.  If you have an N.I. I/O card, load the HP VISA package and just the N.I. VISA driver for the card it will NOT work.  You must load the total VISA software package for the brand of hardware you are using.  This also means that you can only have one brand of hardware in your system if you use VISA.

IVI Interchangeable Virtual Instruments

This is a new idea for National Instruments.  To make the instrument driver independent of the manufacturer - model number.  N.I has an IVI benefits web page and there is an IVI Foundation web page.

I wrote many WS RMB programs that had the interchangeable feature so that we could use different model numbers and manufacturers instruments in Automated Test Equipment.  This was done using sub programs where the list of called parameters was the same for the different instruments of the same type.  There was a routine that checked for the ID string of the instrument then set a parameter so that the proper sub programs for that instrument would be called by the rest of the program.

Other features of this class of program were:


This is a product introduced in 1999.  It is an outgrowth of the Test Executive add on to LabVIEW but now is a stand alone program.  I am learning a little about it and so far it looks good.
Alliance Soultions Directory
Rack and Stack Systems is a member of the National Instruments ALLIANCE program.

Certified Instrument Driver Developer

Rack and Stack Systems is a CERTIFIED INSTRUMENT DRIVER DEVELOPER for LabVIEW.  Note this involves not only understanding the types of problems that instruments often exhibit but also the philosophy of National Instruments that in turn is based on the VXI Plug-n-Play standards.  A good driver removes all the instrument specific aspects of building an system.  In some cases the driver can save 90% of the work in building a system.  I have written on contract a number of drivers for HP microwave instruments.  I have contributed a driver package for the Wiltron 5400 scalar network driver to the N.I. driver library.
Most systems that I work with use the IEEE-488 or now IEEE-488.2 bus.  It was named HP-IB when HP invented it and National Instruments calls it the GPIB.  National Instruments is promoting a change to IEEE-488 to allow a high speed version.  This may not be a good idea.  I have personally seen a case where the NI high speed (TNT) GPIB card and software would not work with an older instrument (HP 4278A) even though the high speed aspect was turned off.  Other NI cards and HP cards all worked fine.

IEEE-1394 Firewire

This is a 6 wire (1 pair serial Tx data, 1 pair serial Rx data and 1 pair DC power) high speed (100, 200, 400 Mbps and soon 1 Gbps) data bus that can handle multimedia audio and video and is being used as an alternative to IEEE-488.x for instrument control.  There are slot zero cards for VXI that allow using an IEEE-1394 link between the control computer and the VXi cage.  Although the data transfer rates are high, there is still overhead associated with a small packet.
About 800Mbit/sec Firewire by Michael D. Johas Teener
www.1394ta.org -
Zayante - silicon & software

Apollo Computer

2019 July 19 - 50th anniversary of the Apollo program. First use of the planar IC from Fairchild (Any Silicon).  Jack Kilby developed a module, i.e. a circuit composed of many parts that where wired toghther by hand at TI.  This was the TI integrated circuit and first sold to the Air Force.

The first generation of digital ICs from Fairchild were the 900 series RTL (Wiki).  I worked with the 923 Flip-Flop (Semi Museum) to make a binary counter, that drove lamps, were in plastic packages, but I'm sure Apollo used ceramic packages.

3138743 Miniaturized electronic circuits, Jack S. Kilby, TI, App: 1959-02-06, Pub: 1964-06-23 - Fig 2 shows about a dozen parts to make a flip-flop (Wiki) that need to be hand assembled.

3025589 Method of manufacturing semiconductor devices, Jean A Hoerni, Fairchild, Priority: 1955-11-04, Pub: 1962-03-20 - Fig 1 shows a number of circuits all on a wafer.

5978786 System and method for automatically executing decisional rules, Donald Eyles, Charles Stark Draper Laboratory Inc, (for NASA), Priority: 1992-05-29, 706/58; 706/46 - YouTube: The Real Story Behind the Apollo 11 Computer Error - Apollo was first use of Integrated Circuits (Wiki: IC).

2874901Tally instruction apparatus for automatic digital computers, Thomas G Holmes, not assigned, App: 1954-12-08, 712/241; 708/446; 708/653; 712/E9.078
2604262 Multiplying and dividing means, Byron E Phelps, George E Mitchell, App: 1949-01-19, 708/550; 708/541; 708/623; 708/651

Cites (11):
2126666 Multiplying machine 1935-11-14 1938-08-09 IBM
Electro Mechanical
2272079 Printing mechanism for accounting machines 1938-12-30 1942-02-03 Underwood
2328611 Dividing machine 1938-06-10 1943-09-07 IBM
Electro Mechanical
2359631 Dividing machine 1941-04-15 1944-10-03 IBM
Electro Mechanical
2409689 Electronic computing device 1942-11-02 1946-10-22 RCA
Vacuum Tube
2435840 Computing device 1943-12-28 1946-10-22 RCA
Vacuum Tube & CRT
2445215 Electronic computer 1943-10-21 1948-07-13 RCA
Vacuum Tube & CRT
2502360 Electronic computer 1947-03-14 1950-03-28 Bell Labs
Special Tube
2521789 Frequency control by electronic counter chains 1948-02-25 1950-09-12 RCA
Vacuum Tube
2539673 Frequency measuring system 1944-04-20 1951-01-30 RCA
Vacuum Tube
Cited By (95):  I'll sample these.
2796218 Electronic computing devices with subsidiary storage P:1949-06-22 - Tubes & Mag Drum
3245039 Electronic data processing machine, IBM, P:1954-03-22 (12 Year Delay), Pub: 1966-04-05 - probably crypto related, Tubes, classical Von Neumann architecture (Wiki), Tubes
3157779 Core matrix calculator, IBM, App: 1960-06-28, Pub: 1964-11-17 - arranged in planes which are stacked, not rope
3436533 Digital log computer, Navy, App: 1965-11-29, Pub: 1969-04-01 - Transistors & Core memory

Back to Rack and Stack Systems