Software — HardwareRTD

HardwareRTD

A live instrument reading, in an Excel cell — from anywhere.

Available 1.1.0 HardwareRTD — command line and desktop app

What it does

A background engine that owns your serial and TCP ports, and an Excel RTD server so any cell can pull a live value out of it. Values arrive as real numbers, so B1*2 computes and charts and AVERAGE work on them.

  • =RTD("HardwareRTD", , "CAN", "RPM") - any cell, any tag
  • One tray engine owns the ports; Excel never holds a COM port open
  • Serial, TCP out and TCP listen, Modbus TCP and RTU, SCPI, CAN and built-in timers - all at the same time, on one engine
  • Two-way on all of them: a device can be written to as well as read, per device, and only when Allow writes is ticked - a PLC is not a spreadsheet's to move without being told
  • CAN frames from an SLCAN adapter, decoded against a DBC file
  • Any instrument the engine can reach over TCP — the bench, a line PC at your contract manufacturer, a chamber at a third-party lab, a unit in the field on another continent
  • Values land as real numbers, not text
  • Works with the MbLabScpi Arduino library out of the box
The engine owns the ports; Excel just reads from it. Anything that can reach the engine over TCP can feed a cell — a serial rig on the bench, a line PC at a contract manufacturer, a chamber at a third-party lab behind a VPN, or a unit in the field that dials in from another continent.
The engine owns the ports; Excel just reads from it. Anything that can reach the engine over TCP can feed a cell — a serial rig on the bench, a line PC at a contract manufacturer, a chamber at a third-party lab behind a VPN, or a unit in the field that dials in from another continent.
Five devices on one engine: an Arduino Mega on a serial port at 9.6 lines a second, a TCP listener waiting for a client, two Modbus PLCs, an AOI Inspector on its SCPI port, and a built-in clock. Each shows its state, rate, line count and latest channel values, with the raw last line underneath so a mis-parsed column is obvious. Closing the window does not stop it - it keeps capturing from the notification area, with Excel shut.
Five devices on one engine: an Arduino Mega on a serial port at 9.6 lines a second, a TCP listener waiting for a client, two Modbus PLCs, an AOI Inspector on its SCPI port, and a built-in clock. Each shows its state, rate, line count and latest channel values, with the raw last line underneath so a mis-parsed column is obvious. Closing the window does not stop it - it keeps capturing from the notification area, with Excel shut.
Ten worked examples built into the application, three of which need nothing installed at all - a CSV feeder, a Modbus PLC stand-in and a CAN bus stand-in. Each one adds its own device, starts its own source and gives you the cell formula to read it, so the whole chain can be seen moving before any hardware is connected. There are stand-ins for Allen-Bradley, Siemens S7 and OpenPLC too. The block defining the device, which carries the address the example listens on, is blurred.
Ten worked examples built into the application, three of which need nothing installed at all - a CSV feeder, a Modbus PLC stand-in and a CAN bus stand-in. Each one adds its own device, starts its own source and gives you the cell formula to read it, so the whole chain can be seen moving before any hardware is connected. There are stand-ins for Allen-Bradley, Siemens S7 and OpenPLC too. The block defining the device, which carries the address the example listens on, is blurred.

On video

One recording of it actually running.

A screenshot of a program that moves is only half of it, so here it is moving. Recorded off the screen, with a real Arduino on COM8 sending into the engine and the engine answering Excel. Every number in the sheet is a live value, not a sample file. Nothing plays until you press it.

34 s Five channels of a board coming into Excel as ordinary cells: =RTD("HardwareRTD",,"Device","A0") and four more like it. The milliseconds since the board booted, the analogue input, a sine it generates, a ramp and a sample count - all of them changing while the sheet sits there. Underneath, two cells of ordinary arithmetic on those values, because once a reading is a number in a cell the spreadsheet does not care where it came from.

Get in touch

HardwareRTD is not a download. It is one of the tools the work is done with, installed and licensed when an engagement starts. Tell me what you are working on and I will tell you what it would do for it.

Or email mblab.technology@gmail.com. Your details are used to answer you and to follow up — nothing else.

Requirements

  • Windows 10 or 11, 64-bit
  • About 200 MB of disk
  • No .NET install needed — the runtime is bundled
  • No Excel needed — workbooks are written directly

Also in the set