Test controller, intro

Commands

This is software to control and log data from many different devices (Like: DMM, power supplies, electronic load). It is not designed to use devices to their limit, but to run test where different brands of devices is used together and make a common logfile in CSV format from all of them. It can also be used for some data analyses and make charts.
It has a command line, but that is only necessary to use for more advanced stuff, for simple setup, logging and looking at data the line is not needed.

Contents
    Other documents
    Commands
    Current values
    Table
    Chart
    Scales for chart
    Histogram
    Range
    Math
    Remap handles
    Load devices
    Configuration
    Generally
    Getting started
    Conclusion
    Notes & Download


Other documents

This document is only a introduction, the documents below will contain more details:

Commands page documentation
Current value page documentation
Table documentation
Chart page documentation
Histogram page documentation
Scales for chart page documentation
Range page documentation
Math page documentation

Configuration of a SCPI devices
Configuration of a non SCPI devices

Functions for use in calculator and definitions

TestController, scripting example





Commands

Commands1

This is the initial screen that is shown, it may look boring, but there is a lot of functions hidden on it. For SCPI devices it will directly pass commands to them, for other devices it has build in command parse, making it possible them.
PopupIT85121

Setup popup for an electronic load (These popups are customized for each brand/device).

PopupQPX1200

Setup popup for a power supply.

PopupDMM6500

Mode popup for a DMM.

PopupCurrentConnectedDevices

This popup shows all connected devices with their serial number and software version, a copy of this can be used to keep record of what devices was used to generate a dataset.

PopupTimer

A timer that can be used to manually time events.

PopupCalculator

A calculator, it can do all standard operations and functions. It do also have a some electronic related functions.



Current values

CurrentValues

Next page is the current values, when it is selected it will request values from all devices a few times each second and show them.
Some calculations are also done.



Table

Table

This is used for the logged values or for a loaded CSV file. The largest dataset I have tested with until now is 5.5 million samples with 3 devices (The 3 internal), it took 55 hours to log.
There is support for two CSV formats and a TAB format for saving and loading. The export button do also use CSV formats, but allows customizing formats, columns and select part of the data.



Chart

Chart

The chart screen is used to view and select part of the data

Chart1

The chart has a cursor that can do a couple of things. It is used to locate and copy position to the two boxes below the chart, this can then be used to zoom the chart and be transferred to some other pages. The cursor works directly on the raw data, not the data shown in the chart, i.e. search functions will work at any zoom.

PopupValuesFromChart

When the cursor is visible a small popup will show the values at the curser.



Scales for chart

Scales%20for%20chart

The get the best charts there is a rather elaborate setting for the scale, they can be automatic with some restriction or manually.



Histogram

Histogram

This shows the distribution of values over a range of data.

Histogram1

Up to 3 histograms can be shown at once.



Range

Range

This will do calculations over a range of the data, it can be all the data or a small part of them.


Math

Math

Want Ah, but you only have the current, this page can add columns to the table that is calculated from the other data in the table.
The formula is one or more column names and the standard mathematical operators and functions. The result is then passed to the the type that can sum over time, filter and many other things.
These calculates do also work on "Current values".


Remap handles

Remap%20handles

All devices get a short handle to use for references to it, this may not work well if there are multiple of the same device. This page makes it possible to give devices any handle and if possible it will track the device on serial number.



Load devices

Load%20devices

This is the inventory of the devices you have, check the ones that is connected. The devices is found in the combobox at the bottom.



Configuration

Configuration

On the configuration it is possible to adjust over load handling, font size, chart export sizes and setup a fixed screen layout.



Generally

Settings are automatic saved to disk, this includes: Math, Remap handles, Load devices and configuration.
Many tables can be right clicked and copied as text that can be pasted into a spreadsheet.
The shown window size is the minimum, the program can scale to a larger window.
Number input to expressions support SI prefixes, i.e. 33k or 4.7n is valid value.

The software is tested on a fairly fast Windows machine with lots of ram where is works very smoothly.
I have also tested with a limited virtual Linux machine on the same computer, doing fast logging is not a good idea there.




Getting started

This is a very short instruction in how to connect some device and use them.

Before the program can be used Java must be installed on the computer and on Linux access to serial port must be enabled (For serial devices).
In windows the program can be started with a click on TestController.jar or testController.bat, depending on Windows configuration. In Linux the execute bit must be set and the it can be started with a click on TestController.jar

SelectDevice

First go the the "Load devices" page, find the devices and add them to the list. To test without any actual hardware connected select one or more of the virtual devices.

Load%20devicesBaud

Type in serial port or IP address and for some devices a baudrate.

Load%20devicesCheck

Secure the ones that you want to use is checkmarked and press "Reconnect"

CommandsFound

Change to command page and check they show up (The presence of some handheld DMM is not verified as long as the COM port is present).

CurrentValuesCheck

Change to "Current values" and check that you get readings from the devices.

CommandsLog

To log go back to command page and press "Log" and select interval (I like 1 second).


Now data is logging and can be viewed in the table, on the chart, histogram and range pages. The current values page will also work.



Conclusion

All the screens show above works and I have tested with a lot of different equipment and have added what I believe to be equipment with the same protocol. I have not retested after each change, i.e. some equipment may not work anymore (But will be fixed when I discover a problem).
For now this software is a alpha version, it is missing some functionality, documentation, testing and there is probably lots of bugs in it.

The software frequently get updates, this can fix bugs or add new functions. New devices are also added to the software.

Adding new devices can not only be done by me, the configuration of a device is a plain text file that is used to configure a device driver (Multiple are included). There are some articles on configuring devices.


Notes & Download

Ideas and bug rapport can be send to my email: info@lygte-info.dk

A discussion thread about TestController can be found on EEVBlog, it is also possible to post ideas and bug rapports there.

Download program