LOGO! 0BA8 Data Logging: Bypassing 20,000-Entry SD Limit to PC

David Krause13 min read
Other TopicSiemensTechnical Reference
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

1. Overview: LOGO! 0BA8 Data Logging Constraints

The Siemens LOGO! 0BA8 (LOGO! 8 series) is a modular logic module widely used in small test rigs, laboratory benches, and pilot plants. It supports on-board DataLog functionality to Siemens SD cards, but the storage envelope is finite. Engineers running long-duration tests (1–30 days) at sub-minute sample rates quickly collide with three hard limits:

  • Internal DataLog without SD: 512 bytes rolling buffer (FIFO overwrite).
  • Internal DataLog with SD: maximum 50 files × 20,000 lines = 1,000,000 rows of cumulative capacity, but no more than 20,000 lines in any single file before roll-over.
  • LOGO! Access Tool CSV stream: 1 sample/second fixed, but unbounded row count on the host PC.

For a 30-day test at 5-second intervals, the required sample count is:

N = (30 days × 24 h × 3600 s/h) / 5 s = 518,400 samples

This exceeds a single 20,000-line DataLog file by a factor of 25.9×. The only practical options are (a) chaining multiple SD card files, (b) reducing the sample interval, or (c) streaming directly to a network computer. This document focuses on path (c) using the official LOGO! Access Tool, a free MS Excel add-in published by Siemens that exposes the =LOGOVARL and =LOGOVAR worksheet functions to live cells of the LOGO! 0BA8 controller over Ethernet.

Scope note: The Access Tool is bound to the LOGO! 8 generation (0BA8). LOGO! 0BA7 and earlier do not support the Access Tool protocol; use LOGO!Soft Comfort V8.x for older firmware.

2. The Three Logging Paths on LOGO! 0BA8

LOGO! 0BA8 firmware exposes three distinct logging paths. Select the path by matching test duration, sample rate, and post-processing needs.

Path Storage Max Capacity Sample Rate Overwrite Policy Data Types
DataLog (no SD) Internal RAM 512 bytes Program-defined (cycle/scheduled) FIFO (oldest deleted) Variables, parameters, VM addresses
DataLog (with SD) SD card (Siemens-branded recommended) 50 files × 20,000 lines Program-defined New file when current reaches 20,000 lines Variables, parameters, VM addresses
Access Tool CSV stream Host PC (Excel/LibreOffice CSV) Limited only by disk Fixed 1 s None (appends until closed) Variables (via =LOGOVARL), or Standard I/O (via I/O Status)

Decision tree:

  1. If total expected samples < ~5,000 → use internal DataLog (no SD), 512-byte buffer is sufficient.
  2. If samples ≤ 1,000,000 across 50 files, and the LOGO! is standalone with no host PC → use SD card DataLog.
  3. If samples > 1,000,000, or long-duration unattended capture is needed, or you require live monitoring on a network PC → use the LOGO! Access Tool.

3. LOGO! Access Tool Architecture and Prerequisites

The Access Tool is a Microsoft Excel COM add-in (.xll) that talks to LOGO! 0BA8 over TCP/UDP via the S7-200-compatible protocol exposed on port 102 (ISO-on-TCP / RFC 1006). The tool can be installed on a workstation that has a routed path to the LOGO!'s Ethernet port.

3.1 Hardware and software prerequisites

  • LOGO! 0BA8 base module with Ethernet (LOGO! 8.1, 8.2, or 8.3) — order numbers 6ED1052-1xxx08-0BA0 series or later.
  • LOGO!Soft Comfort V8.0 or later installed (for project transfer and IP assignment).
  • Microsoft Excel 2010/2013/2016/2019/365 (32-bit or 64-bit matching the add-in).
  • Network connectivity: switched Ethernet between PC and LOGO!, same subnet, or routed via VPN for remote test cells.
  • LOGO! firmware 1.08.xx or later for full Access Tool compatibility (verify via menu: LOGO! → Diagnostics → Firmware).

3.2 Network configuration

Assign a static IP to the LOGO! 0BA8 (default is DHCP). Recommended test bench pattern:

Device IP Address Subnet Mask Notes
LOGO! 0BA8 192.168.0.10 255.255.255.0 Static, set via LOGO!Soft Comfort or on-device menu
Logging PC 192.168.0.50 255.255.255.0 Static (DHCP reservation acceptable)
Default gateway 192.168.0.1 — Required if PC logs across routers

Verify reachability before installing the add-in:

ping 192.168.0.10
telnet 192.168.0.10 102

A successful TCP connect on port 102 confirms the LOGO! is responding to the S7 protocol. If the connect fails, check the LOGO!'s Network menu and confirm the access protection password is not blocking the read session.

4. Installing and Configuring the LOGO! Access Tool

4.1 Download and install

  1. Navigate to the official Siemens LOGO! portal at siemens.com/logo.
  2. Select More about LOGO! in the right-hand navigation, then Update, Demo, Tools.
  3. Locate the LOGO! Access Tool entry and download the ZIP archive.
  4. Extract the package. Confirm the contents include the add-in DLL/XLL, the bundled user PDF (typically LOGO_Access_Tool_en.pdf), and any supporting .dll runtime files.
  5. Close all open Excel instances before installing.
  6. Run the setup executable. The installer registers the add-in with Excel and creates a startup menu entry.

4.2 Enable the add-in in Excel

  1. Launch Excel.
  2. Open File → Options → Add-Ins.
  3. At the bottom of the dialog, choose Excel Add-ins in the Manage dropdown, click Go….
  4. Check the entry labelled LOGO! Access Tool and confirm.
  5. The LOGO! ribbon or sidebar appears once the add-in is active.

4.3 Connect to the LOGO!

From the LOGO! Access Tool ribbon:

  1. Click Connect.
  2. Enter the LOGO!'s IP address (e.g. 192.168.0.10).
  3. Confirm the connection status indicator turns green. The status dialog should show firmware version, project name, and run/stop state.

If the connection fails, the most common root causes are (a) Windows Firewall blocking outbound TCP 102, (b) incorrect IP or subnet, (c) LOGO! access protection password in effect, or (d) project on the LOGO! not yet transferred from LOGO!Soft Comfort.

5. The =LOGOVARL Function Reference

The Access Tool exposes two worksheet functions for reading LOGO! variables into Excel cells.

Function Behavior Recommended Use
=LOGOVAR(IP, VariableName, [Format]) Reads a single value on demand when the worksheet recalculates. Manual inspection, ad-hoc reads, dashboard snapshots.
=LOGOVARL(IP, VariableName, [Format]) Continuously samples the variable at the Access Tool's polling interval (1 s default) and appends each new value to a new row in a configured log range. Long-duration CSV capture to host PC.

5.1 =LOGOVARL syntax and parameters

=LOGOVARL("192.168.0.10", "VM0", 0)

Parameter breakdown:

  • IP: STRING, IP address of the LOGO! 0BA8 in quotes.
  • VariableName: STRING, the symbolic name as declared in LOGO!Soft Comfort (e.g. TempSensor), or the absolute VM address (VM0 through VM850 depending on LOGO! 0BA8 firmware max).
  • Format: INTEGER optional, controls numeric formatting (decimal places, hex display, etc.). 0 = default.

5.2 Building a logging workbook

  1. Open a blank workbook.
  2. Create column headers: Timestamp, TempSensor, PressureSP, CycleCount.
  3. In the Timestamp column, enter =NOW().
  4. In each variable column, enter the corresponding =LOGOVARL referencing the LOGO!'s IP and the variable name.
  5. Configure the Access Tool to Start Logging from the ribbon. The add-in will append one new row per second to the configured log range until stopped.
  6. Save the workbook as .xlsm to retain the add-in macros. For pure CSV export, use File → Save As → CSV UTF-8 after stopping the logging session.
Workbook persistence: Excel limits a single worksheet to 1,048,576 rows. A 30-day continuous log at 1 s produces 2,592,000 samples, which exceeds that limit. For a 30-day run, either (a) split the capture across multiple workbooks daily, (b) export to CSV and reopen, or (c) log only the variables you need at 1 s and store less time-critical variables at slower rates via LOGO! program scheduling.

6. I/O Status CSV Recording Path

If the variables of interest are standard digital or analog I/O and not internal VM memory or function block parameters, the Access Tool provides a faster path: Transfer I/O Status.

6.1 I/O Status workflow

  1. Connect to the LOGO! as in section 4.3.
  2. Open the I/O Status dialog from the ribbon.
  3. Select Start Recording and choose the destination CSV file.
  4. The tool records the state of every standard I/O point on the base module and any connected expansion modules (DM8/AM2/AM2 RTD) at the polling cadence.
  5. Close the I/O Status dialog or click Stop Recording to finalize the CSV.

6.2 I/O Status coverage matrix

Source Captured by I/O Status? Workaround
Digital inputs (I1…I24 with expansions) Yes —
Digital outputs (Q1…Q20 with expansions) Yes —
Analog inputs (AI1…AI8) Yes —
Analog outputs (AQ1, AQ2) Yes —
VM memory locations (VM0…VM850) No Use =LOGOVARL
Function block parameter values No Use =LOGOVARL with the block's symbolic name
Flags (M1…M27) Limited Mirror to a VM if logging flags is required

7. Network PC Deployment Topology

For multi-shift labs, the typical topology is a single test bench PC running the Access Tool while the LOGO! remains in a closed test chamber or remote site. Two common deployments are illustrated below.

7.1 Direct Ethernet (single bench)

The simplest topology: a single crossover or patch cable from the PC's Ethernet NIC to the LOGO! 0BA8. No switch is required. The PC's Ethernet port can be configured with the static IP 192.168.0.50/24 and the LOGO! at 192.168.0.10/24.

7.2 Switched LAN with multiple LOGO!s

For cell-wide logging, place a managed switch on the test bench. Each LOGO! is assigned a unique static IP. The logging PC can run multiple Access Tool instances or a single workbook that switches the IP parameter between =LOGOVARL calls.

7.3 Remote logging across VPN

When the test rig is in a remote facility, expose the LOGO!'s TCP 102 over an IPsec or WireGuard tunnel. Add a keep-alive to the LOGO! side to prevent tunnel idle-timeout. The Access Tool is a long-lived client; the S7 protocol does not require continuous traffic, but routers often drop idle TCP sessions after 5–30 minutes unless keep-alive is configured.

8. Calculation: Capacity, Duration, and Sample Rates

Use the formulas in this section to size the host PC's storage before the test begins.

8.1 Total samples over a test run

N_samples = T_hours × 3600 / Δt_seconds

Example: 30 days × 24 h = 720 h. At Δt = 5 s, N = 720 × 3600 / 5 = 518,400 samples.

8.2 CSV row size estimate

Each CSV row is approximately:

Row_bytes = 24 + N_vars × (8 + commas + quote_overhead)

For a typical 4-variable capture with timestamps, expect ~80 bytes/row. For 518,400 rows:

Disk_MB = 518,400 × 80 / (1024 × 1024) ≈ 39.5 MB

This is trivial for any modern PC, but write the CSV to a local SSD rather than a network share to avoid dropped rows on link interruptions.

8.3 Access Tool polling cadence

The Access Tool polls at 1 Hz. If the application requires 5-second samples, either (a) accept the 1-second rate and aggregate in post-processing, or (b) use LOGO!Soft Comfort's Data Log block to throttle the variable writes at 5-second intervals and read them with =LOGOVARL while accepting the 1-Hz sample rate on the wire.

9. Verification and Field Acceptance Checks

After commissioning the Access Tool capture, perform the following verification sequence before trusting the data.

  1. Connection state: Confirm the Access Tool status indicator remains green for at least 5 minutes without flicker.
  2. Live value sanity: Toggle a known digital input on the LOGO! and verify the corresponding cell in the Excel log updates within 2 seconds.
  3. Timestamp drift: Use =NOW() as a reference and compare against the LOGO!'s built-in time-of-day clock (visible via LOGO! → Setup → Time). Drift should be < 1 second over a 10-minute window.
  4. Gap audit: After 24 hours, scan the timestamp column for missing rows. A correctly running capture at 1 Hz should produce exactly 86,400 rows in 24 hours (± a small tolerance for Excel recalculation pauses).
  5. Row limit test: Fill the workbook to 1,048,000 rows and confirm the add-in continues writing past the Excel soft limit without crashing.
  6. Recovery test: Disconnect the Ethernet cable for 30 seconds. The Access Tool should buffer or surface an error; on reconnect, it should resume capture from the last good state, not duplicate or lose rows.
Field tip: Schedule an automatic workbook save every 15 minutes using a VBA hook in the Access Tool, or via File → Options → Save → AutoRecover. Power loss to the logging PC is the most common cause of partial CSVs in 30-day tests.

10. Limitations, Edge Cases, and Open-Source Alternatives

10.1 Documented limitations

  • The Access Tool is Excel-centric. LibreOffice and OpenOffice do not load the XLL add-in directly. Engineers who need an open-source workflow can capture the S7 traffic to port 102 with Snap7, an open-source C/C++/Python/.NET library that speaks the LOGO! 0BA8 S7 dialect. A Python script using snap7 can replace the Access Tool and write to CSV or InfluxDB at any sample rate.
  • Mac and Linux users have no first-party tool. A Linux capture rig is achievable with snap7 + Python 3 + pandas + CSV writer; the MacOS port of snap7 is community-maintained.
  • Only one Excel session can host the add-in at a time. Multiple parallel captures require multiple workbook instances, each with its own connection state.
  • Variable name lookups depend on the project being transferred to the LOGO! with LOGO!Soft Comfort V8.x. A LOGO! that has been programmed via the on-device menu may not have symbolic names; use absolute VM addresses (VM0, VM1…) in that case.

10.2 Snap7 reference script (Python 3)

import snap7
from snap7.util import get_bool, get_int, get_real
import time, csv

client = snap7.client.Client()
client.connect("192.168.0.10", 0, 1, 102)  # IP, rack, slot, port

with open("logo_log.csv", "a", newline="") as f:
    w = csv.writer(f)
    w.writerow(["Timestamp", "VM0", "VM2", "VM4"])
    while True:
        data = client.db_read(1, 0, 16)  # adjust DB and length to project
        w.writerow([time.strftime("%Y-%m-%d %H:%M:%S"),
                    get_int(data, 0), get_int(data, 4), get_int(data, 8)])
        f.flush()
        time.sleep(1.0)

This script reproduces the Access Tool's 1-Hz capture on any platform with python-snap7 installed and writes directly to CSV with no Excel dependency.

10.3 Edge cases encountered in the field

Symptom Likely Cause Resolution
Access Tool shows "Project not found" LOGO! has no project transferred from LOGO!Soft Comfort Re-transfer the .lsc project; reboot LOGO!
=LOGOVARL returns #N/A Variable name typo or VM address out of range Check spelling; verify max VM range for installed firmware
Capture stops after ~50 minutes Windows TCP keep-alive drops the S7 session Enable KeepAliveTime via registry, or schedule a refresh in the workbook
Duplicate rows in CSV Excel recalculation retriggered the add-in Set calculation to manual; trigger via macro
Connection refused on port 102 Windows Firewall or third-party AV blocking Add firewall rule for %ProgramFiles%\Microsoft Office\root\Office16\EXCEL.EXE outbound on TCP 102

11. Frequently Asked Questions

Can the LOGO! Access Tool sample faster than 1 second?

No. The polling interval of =LOGOVARL is fixed at 1 second by the add-in's internal S7 read cycle. For higher rates, use the SD card DataLog feature in LOGO!Soft Comfort, which can be programmed down to the LOGO! scan cycle (typically 50–100 ms), or use a Snap7-based script with a custom timer.

Does the Access Tool work with LibreOffice or OpenOffice?

No. The official LOGO! Access Tool is a Microsoft Excel COM/XLL add-in and is not compatible with LibreOffice Calc or OpenOffice Calc. For a cross-platform open-source alternative, use the python-snap7 library and write a small script that captures VM memory to CSV at the desired interval.

What is the maximum CSV row count Excel can hold in a single sheet?

1,048,576 rows. For a 30-day test at 1 Hz that is approximately 2.59 million samples, which exceeds the limit. Split the capture across multiple workbooks (one per day) or export to CSV and reopen a new workbook to continue logging.

Does the Access Tool work with LOGO! 0BA7 or earlier?

No. The Access Tool is a LOGO! 8 (0BA8) feature. LOGO! 0BA6 and 0BA7 do not expose the S7 protocol variant that the add-in expects. For older LOGO! generations, use LOGO!Soft Comfort's Data Log viewer or a third-party OPC bridge.

What happens if the Ethernet connection drops during a 30-day test?

The Access Tool pauses logging and surfaces a connection error. When the link is restored, it resumes from the next polling cycle. The CSV will contain a gap, not duplicates. To prevent idle-timeout disconnects, configure a TCP keep-alive on the PC or schedule a periodic refresh of the workbook so the S7 session stays warm.

Back to blog