ModbusCloud

Read out Modbus devices without programming.

Browse 900+ templates
Back to knowledge base
Comparisons9 min read5 October 2026

Modbus data logger: local SD card or cloud logging

A Modbus data logger polls registers as master and stores them with a timestamp, locally or in the cloud. How to choose, and how to size the memory.

Comparison of a local Modbus data logger with SD card and a cloud logger with buffered upload

A Modbus data logger is a device that polls registers as the master on the bus, gives each reading a timestamp and stores the series. Local logging means an SD card, USB stick, or internal memory in the cabinet. Cloud logging means the logger sends each reading over the internet to a server. Local works without a network, but someone has to collect the data. The cloud gives you the history remotely and needs a buffer for when the connection drops.

If you record consumption, temperatures, or fault codes as an installer, this choice decides how soon you see a fault and how much history a dropout costs. Below are the bus rules, a memory calculation, a comparison, and three checks before you start logging.

The data logger is the master on the Modbus bus

On a Modbus RTU bus the data logger asks and the Modbus device answers. The Modbus over Serial Line specification (V1.02, §2.2) puts it plainly: "Only one master (at the same time) is connected to the bus". Slaves never transmit on their own.

So the logger sends a request per register to an address between 1 and 247 and waits for the reply. What comes back is a bare number. Modbus carries no time: the MBAP header of Modbus TCP holds only Transaction Identifier, Protocol Identifier, Length, and Unit Identifier (Modbus Messaging on TCP/IP Implementation Guide V1.0b, §3.1.3). The timestamp comes from the logger's own clock.

Data loggerMASTEREnergy meter01Heat pump02Inverter03Chiller04RequestResponse
The data logger asks each Modbus device at its own address for a register value. The device only answers when asked.

On 9 July 2020 the Modbus Organization replaced master and slave with client and server. Manuals and logger menus use both; they mean the same thing.

Without the register map the logger cannot tell what a number means. On the Eastron SDM630, total active energy sits in input register 30343 (address 0x0156) as a float32 across two registers, read with function code 04 (Eastron SDM630 Modbus Protocol V1.8). Reading such a map is covered in Modbus register map explained.

Free: RS485 and Modbus RTU installation checklist (PDF)

The pre-commissioning checklist for every RS485 bus.

  • Wiring order: A/B polarity, GND and shielding
  • Termination and biasing, with the multimeter checks
  • Communication settings crib sheet (baud rate, parity, stop bits)
  • The 10 most common faults and how to spot them

Logging locally to SD card, USB, or internal memory

A local data logger keeps the readings in the cabinet, and they stay there until someone collects them. The Datexel DAT9011DL writes to an SD card and the DAT9011USB to a USB flash drive. Both log at most every 10 seconds and store up to 256 registers as a CSV file. The ProSoft PLX51-DL-232 holds up to 16,777,216 records in internal memory, according to the manufacturer.

Local data loggerMeterLoggerSD cardTechnicianCloud loggerMeterGatewayServerBrowser
Local data logger. The readings stay in the cabinet until someone collects the card or downloads the file.
Cloud logger. The readings leave the building after each poll and are stored on a server.
The same meter, two places where the history ends up.

Local logging suits a site without internet, or a measurement campaign of a few weeks. The downside shows later. A fault on Tuesday is only visible when you read the card. A full card either stops logging or overwrites the oldest data, depending on the device.

You can build one yourself. A thread on the Revolution Pi forum describes a logger that writes registers to a file with Bash scripts and uses crontab to schedule them. It works, but you then maintain the script, the clock, and the storage.

How much memory a Modbus data logger needs

Readings per day equal the number of registers times the number of polls per day. Twenty registers once a minute is 20 x 1,440 = 28,800 values a day.

The table sets that against the Senseca DLF4, which stores at least 800,000 readings according to its datasheet.

RegistersIntervalValues per day800,000 values full after
201 minute28,800about 27 days
2015 minutes1,920about 416 days
515 minutes480over 4.5 years

Own calculation based on the Senseca DLF4 datasheet.

Count the data type as well. A float32 takes two registers, so 256 registers hold at most 128 float values. The KSH WPC-832-MQD stores up to 30 registers and, according to the manufacturer, does not support floating point. It reads an energy meter's float32 as two unrelated integers.

Logging to the cloud

A cloud logger sends each reading over the internet to a server. You see the history in a browser without driving to site, or download a CSV file for analysis. The Senseca DLF4 transmits over LTE-M1, NB-IoT, or EGPRS to a web portal or an FTP server. The WPC-832-MQD sends to a server you specify and lets you download CSV files remotely.

The connection is the weak point. When the network or mobile coverage drops, the logger has to keep polling and hold each timestamped reading until the link is back. A logger without a buffer leaves a gap in the history.

Link downOnlineOnlineTimeBufferSent later
Reading stored on the server directly
Timestamped reading held in the buffer
The logger keeps polling while the link is down and sends the buffer afterwards.

How much a gap matters depends on the register. A cumulative counter such as total kWh bridges it: the difference between the last reading before and the first after the outage is the consumption in that period. An instantaneous value such as power or temperature is lost for that period.

Check which way the connection opens. A logger that connects outwards itself needs no open port on site. The reasons are in remote Modbus monitoring, and for sites without a fixed line in 4G Modbus gateway.

Local and cloud logging compared

The choice depends on who needs the data, and when. The table puts the differences side by side.

Local data loggerCloud logger
Where readings are storedSD card, USB, or internal memory in the cabinetOn a server, opened in a browser
Collecting dataOn site or over the local networkRemotely
Internet neededNoYes, with a buffer for outages
Memory fullStops or overwritesServer keeps the history
When you see a faultAt the next visitAs soon as the data arrives
Typical useMeasurement campaign of weeks, site without networkOngoing monitoring of your customers' installations

Adding a logger to a bus that already has a master

A second master on the same RTU bus does not work. If a BMS or PLC already polls the bus, two masters transmit over each other and corrupt each other's frames.

There are two ways out. The first is to run the logger as a slave and have the existing master write the values into its registers. Campbell Scientific states that its dataloggers "can serve as both Modbus masters and slaves", and the DAT9011DL has a separate RTU slave port. That route means changing the master's program. The second is to log over Modbus TCP, where several clients may query one server. The specification leaves the number of connections to the device (Implementation Guide V1.0b, §4.2.1), so check the manual.

For a new bus, keep to the specification: 32 devices without a repeater, up to 1000 m at a maximum of 9600 baud with AWG26 or thicker (§3.4). Wiring is covered in the RS485 wiring guide.

Check the clock and data types before you log

A wrong timestamp or a misread data type makes a month of data useless. Three checks prevent that.

  1. 1

    Synchronise the clock

    Switch on time synchronisation if the logger supports NTP, as the WPC-832-MQD does. A free-running clock drifts, and the timestamps drift with it.

  2. 2

    Check data type and word order

    Look up in the register map whether a value is int16, int32, or float32, and in which word order. Read one value by hand and compare it with the device display.

  3. 3

    Match the serial settings

    Logger and device only communicate when baud rate, parity, and stop bits are the same in both configurations. The default parity in the specification is even.

Frequently asked questions

What is a data logger used for?

Recording measured values over time. A data logger reads values at set moments, gives each one a timestamp and stores the series. A Modbus data logger reads registers from meters, inverters, or controllers over RS485 or Ethernet. It keeps the data on a card in the cabinet or on a server.

Is RS-485 and Modbus the same?

No. RS-485 is the electrical layer: two wires, differential, 32 devices without a repeater. Modbus RTU is the protocol on top that decides who asks and how a register is read. Modbus also runs over Ethernet as Modbus TCP on port 502, with no RS-485 involved.

What software can I use to read Modbus data?

Any program that works as a Modbus master or client and knows the device's register map. For a quick test on a laptop or PC, a Modbus tool with a USB to RS485 adapter is enough. For continuous recording you need a logger that stores timestamped readings and handles a full memory or a lost connection.

Can a data logger listen in on a bus that already has a master?

No, not as a second master on the same RTU bus. Two masters transmit over each other and the frames break. Run the logger as a slave and have the existing master write values to it. Or log over Modbus TCP, where several clients may query one device.

How long can a data logger run before its memory is full?

That depends on registers, interval, and memory. Twenty registers every minute is 28,800 values a day. A logger with 800,000 values, such as the Senseca DLF4, is then full after about 27 days. Polling once every 15 minutes, the same memory lasts more than a year.

What are the downsides of using Modbus for logging?

Modbus carries no timestamps and no units. The logger adds the time from its own clock, and the register map tells you the unit, scaling, and data type. Only one master may poll an RTU bus, so adding a logger to a bus with a BMS or PLC needs a slave port or Modbus TCP.

Question about your setup?

Ask it here. We think along with your project, and building a free integration is part of that.

Or take a look at the gateway first