Programming the 9103 Picoammeter

Programming the 9103 Picoammeter

Progamming the 9103 Picoammeter

RBD’s 9103 USB PIcoammeter is packaged with Windows application software for control, current display, data-logging, and graphing. However, it’s often desirable to use the 9103 with other operating systems, integrate it with other hardware or software systems, and/or extend the capabilities of the application software. Fortunately, the 9103 utilizes an ASCII command set that exposes all of its features. Programming the 9103 Picoammeter is straightforward and easy to test.

A complete guide to programming the 9103 picoammeter can be viewed and downloaded  from RBD’s website here. This post will give you an overview of setting up communications with the 9103 and the message structure for controlling the unit and gathering status and data.

Of course, every programming environment is different. As long as you are working with a tool that supports USB communication and text streaming, you can create a custom application for your 9103.

Setting up Communications

If you are using your 9103 with Windows, the installed driver creates a virtual serial COM port. RBD’s Actuel application software uses this port for communicating with the 9103, and any application you use to interface with the 9103 will use this same port for communications.

For other operating systems, you’ll need to download the appropriate driver from the manufacturer of the USB communications components, FTDI. Those drivers can be found here.

If you are interfacing the 9103 with LabView, drivers and scripts can be found on the 9103 downloads page.

Communications Protocol

The communications protocol for the 9103 is typical for many serial devices. Whether you configure the USB port using your operating system or program it within your application, the protocol is as follows:

Setting

Value

Bits per Second (Baud Rate)

57600

Data Bits

8

Parity

None

Stop Bits

1

Flow Control

None

Sending and Receiving Commands

Communication with the 9103 is asynchronous. Most commands sent from the computer control device to the Picoammeter will be answered with a response, which may include an error message if there is a problem understanding/executing the command.

All messages are delivered as ASCII text – there is no binary message data. This includes the actual data delivered by the 9103, which is a formatted ASCII value.

Depending on your programming environment and application, you’ll normally be coding (at the least) logic to deliver the messages to the 9103, as well as to monitor the USB port and parse incoming messages.

Message Formats and Sample Messages

All messages are preceded by the “&” character, followed by a single character denoting the command or data type, as well as additional characters representing command parameters or data.

Here are a few examples:

I – From PC, command message to set the data sample interval, parameter is in milliseconds, 0015 to 9999.Example: ‘&I0500‘ sets the sampling interval to 500 milliseconds
F – From PC, controls the filter settings for the sample data. Allowed values are 000, 002, 004, 008, 016, 032, and 064.Example: ‘&F016‘ sets the filter value to 16

Data and status are passed back to the PC from the 9103 using a similar format. For example:

E – From device, sent if there was an error. Includes string description of error.

A full description of the command and data messages, as well as additional information on programming the 9103 Picoammeter are found in the 9103 User Guide.

 

Using Actuel’s Console Window For Debugging

If you are communicating with the 9103 using Windows, you can view the communications taking place in real-time using the Console window – simply click the Console button on the main window. You can also type commands here and see the results in real-time.

 

 

 

 

Synchronizing and Identifying Multiple 9103 Picoammeters

four pico ammetersTwo exciting new features are now available for the 9103 Picoammeter: Synchronization and Device Identification. These features transform the 9103 from a single current measurement device to a multi-channel picoammeter. Up to 127 channels!

 

Picoammeter Synchronization

Synchronization is provided by RBD’s free Actuel picoammeter control and display software. Multiple instances of the software now communicate start and stop information for sampling and recording of data. Additional features are also being added to facilitate exporting and combining of data-sets from multiple picoammeters. While the synchronization is not time sample-accurate, this small offset will not be an issue for most applications.

The newest version of RBD’s Actuel software (1.3) is now available. This update includes additional features such as the ability to run in either Windows Admin or User mode.

actuel picoammeter sampleactuel picoammeter graphe

Device Identification

9103 firmware now includes the ability to set a unique string identifier for your 9103 Picoammeter. The ID can be easily changed at any time by the user, and is recalled when the 9103 is powered off/on. This makes it easier to identify 9103 Picoammeters in a multiple-unit environment.

All new 9103’s will include this feature; existing units can be upgraded for a nominal fee and shipping charge.

More information on the 9103 Picoammeter can be found on our website.

 

 

A Guide to 9103 Picoammeter Compatibility

RBD’s 9103 USB Picoammeter and Actuel application (included in your purchase) are compatible with a number of hardware devices and operating systems. The complex nature of operating systems and hardware, as well as the differences between 9103 hardware and software compatibility, render a simple compatibility table somewhat lacking in clarity. This guide will hopefully serve to answer the most common questions concerning 9103 Picoammeter compatibility.

9103 Picoammeter

9103 Picoammeter

Using the 9103 Picoammeter with Either Actuel or a Custom Application

While many customers will only ever need to use the 9103 with the Actuel data-logging / graphing software, others will want custom or advanced capability and compatibility. Happily, the 9103 is fully programmable in a simple, well-documented ASCII language. We’ll post more in-depth coverage of 9103 programming in the near future. For now, just keep in mind that writing an application to communicate with the 9103 is relatively simple, though of course your application can be as complex as you want it to be.

9103 Hardware / Firmware Compatibility

The 9103 uses industry-standard USB interface hardware based on a chip from FTDI. That means the 9103 is compatible with the all the operating systems supported by FTDI, as long as the device has a compliant USB port. If you are planning to program your own custom control/display application for the 9103, the following operating systems are supported:

Windows 8 x64
Windows 7
Windows 7 x64
Windows Server 2008
Windows Server 2008 x64
Windows Vista
Windows Vista x64
Windows Server 2003
Windows Server 2003 x64
Windows XP
Windows XP x64
Windows ME
Windows 98
Linux
Mac OS X
Mac OS 9
Mac OS 8
Windows CE.NET (Version 4.2 and greater)
Android

Note that the the iOS operating system, installed on the iPhone, iPad, and iPod devices, is not currently supported.

More information on FTDI’s operating system support, as well as drivers for those operating systems, can be found here:

http://www.ftdichip.com/FTDrivers.htm

9103 Actuel Application Compatibility

The Actuel application provided with the 9103 is a Windows PC-only application and compatible with the following operating systems.

Windows 8 x64
Windows 7
Windows 7 x64
Windows Vista
Windows Vista x64
Windows XP (Service Pack 3)
Windows XP x64 (Service Pack 3)

Note that the Microsoft .NET 3.5 library, included with the Actuel application and freely available from Microsoft, must also be installed.

Special Considerations for Using the 9103 on Apple Mac Hardware

While the Actuel application is a Windows application, keep in mind that Apple Mac line now runs on Intel hardware, meaning that Actuel is compatible with any Mac installation running Windows. In fact, Actuel was developed on a MacBook Pro running Windows as a virtual operating system.

Also, since USB port compatibility is operating-system dependent, you can (and must, in fact), use the drivers compatible with your operating system regardless of whether you are running PC or Mac hardware when you creating a custom application for your 9103. If, for example, you are running Linux on a Mac (using Bootcamp), you would use the FTDI drivers for Linux.

The 9103 hardware is compatible with all the operating systems listed for the FTDI drivers when that OS is running on Mac hardware.

Actuel is compatible with the Windows operating systems listed above when running on Mac hardware. The following configurations are examples:

Bootcamp (runs Windows as a boot drive independent from iOS)
VMWare Fusion (runs as a virtual operating system on iOS)
Parallels (similar to Fusion; untested as of this posting)

National Instruments LabView Compatibility

LabView provides a rich environment for programming a current measurement device such as the 9103 USB Picoammeter, which is compatible for any operating system and hardware device that is supported by BOTH Labview and FTDI.

Operating systems supported by LabView can be found here:
http://www.ni.com/labview/os-support/

While RBD does not directly provide LabView instrument drivers/scripts or programming support, a third-party “starter” kit is freely available from our 9103 downloads page:
https://www.rbdinstruments.com/Products/Picoammeter/Downloads.html

I hope this answers most of your 9103 compatibility questions. Keep an eye out for another blog post in the near future with more helpful information on programming the 9103 using simple ASCII commands.