Resolving LOGO! 230RCE Real-Time Clock Drift with NTP Sync

David Krause14 min read
PLC HardwareSiemensTroubleshooting
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

Problem Statement: LOGO! 230RCE Clock Drift on Standalone Bell Schedules

The Siemens LOGO! 230RCE is widely deployed as a low-cost logic relay for repetitive time-of-day switching tasks: school bells, factory shift horns, irrigation valves, parking-lot lighting, and HVAC night-purge routines. In standalone installations (no PLC backplane, no operator panel, no internet) the module must keep accurate wall-clock time using only its internal real-time clock (RTC). Field reports consistently show that after 90 days of continuous operation the unsynchronized 230RCE drifts 1 min 30 s to 3 min off the reference time, which is enough to fire a school bell visibly early or late and trigger complaints from staff.

This drift is not a defect; it is the published specification. The Siemens LOGO! manual states the integrated RTC accuracy as typ. ±2 s/day at 25 °C. Over 90 days the worst-case accumulated error therefore reaches ±180 s = ±3 min, with typical behaviour in the middle of the band. The drift is dominated by the tolerance and temperature coefficient of the 32.768 kHz quartz crystal that clocks the RTC counter, and it accelerates at temperature extremes.

Engineering rule of thumb: Expect 0.5 min to 3 min drift per quarter from a non-networked LOGO!. Plan either an NTP uplink, a periodic site visit, or an external time reference for any application where a ±2 min error is unacceptable.

LOGO! 230RCE Identification and RTC Architecture

The "230RCE" suffix decodes to the feature set of the LOGO! 8 base module:

Suffix letter Meaning
230 Power supply 115 V AC / 230 V AC/DC, wide-range
R Relay outputs (4 × 5 A changeover contacts, no solid-state variant)
C Integrated weekly timer + yearly timer + RTC
E Ethernet interface (RJ45, 10/100 Mbit/s) — base module of LOGO! 8
(no trailing letter) Blind / no display variant — programming only via Ethernet or LogoSoft Comfort

The RTC block sits inside the CPU of the LOGO! 8 base module. It is fed by a watch crystal at 32.768 kHz and counted down to 1 Hz for seconds. The counters, day-of-week, date, and DST flags live in a battery-backed SRAM region so that power-down does not reset the schedule. The integrated Ethernet port (introduced with the LOGO! 8 generation, part numbers 6ED1052-2HB08-0BA0 family and successors) is the path used for NTP synchronization in firmware versions that expose the NTP client function block.

Identify the module on the project documentation page or in LogoSoft Comfort under Tools → Transfer → Detect Target. The order number, hardware version (FS), and firmware version are required to confirm whether NTP is available — older LOGO! 6/7 generations (without Ethernet) cannot synchronize over NTP at all.

RTC Accuracy Specification: ±2 s/day (Typical)

Direct quote from the LOGO! 8 system manual (chapter "Real-time clock"):

Accuracy of the real-time clock: typ. ±2 s/day

The spec is qualified as "typical" rather than maximum because crystal aging and thermal coefficient shift the actual error band. Key dependencies:

Parameter Value Notes
Nominal accuracy typ. ±2 s/day 25 °C ambient, 24 h after power-up
Temperature coefficient negative (frequency rises when cold) Worst at equipment-room extremes (0 °C, 40 °C)
Aging ±1 ppm/year typical for tuning-fork crystal Compounds the daily offset over years
Power-down hold battery-backed, no drift while powered off Drift only resumes when RTC is running

The "typ." prefix means most modules stay inside ±2 s/day at room temperature, but the manufacturer does not guarantee this for every individual unit. A fielded module may sit at +1.5 s/day or −1.8 s/day, and at 5 °C ambient it can push beyond ±3 s/day.

Calculating Expected Drift Over Operating Periods

Use the formula:

Δt_drift = ε × N_days

where ε is the daily error (seconds/day, signed) and N_days is the operating interval. Worked examples for a school-bell installation:

Interval N_days Min drift @ −2 s/day Max drift @ +2 s/day Threshold of complaint
1 week 7 −14 s +14 s Barely noticeable
1 month 30 −60 s +60 s Bell rings ~1 min early/late
1 quarter 90 −180 s +180 s Reported drift (this article)
1 year 365 −730 s ≈ −12 min +730 s ≈ +12 min Schedule useless without resync

The reported "more than 1 minute 30 seconds after 3 months" therefore falls squarely inside the published tolerance window. The module is not defective; it is operating within specification.

Root Cause: Uncompensated 32.768 kHz Crystal Oscillator

The drift is dominated by three physical effects, all of which act on the quartz tuning fork that drives the seconds counter:

  1. Initial frequency tolerance. Even a "tight" 32.768 kHz crystal is cut to ±20 ppm at 25 °C. ±20 ppm at one day equals 86 400 s × 20 × 10⁻⁶ ≈ ±1.7 s/day — already near the spec. Cheaper crystals run ±50 ppm (±4.3 s/day).
  2. Temperature coefficient. A typical tuning-fork crystal has a parabolic TC centred near 25 °C with a coefficient of about −0.04 ppm/°C². At 5 °C ambient the offset is roughly −3 ppm, adding another ~15 min/year. The clock speeds up in cold weather and slows down in heat.
  3. Aging. Crystal mass loading changes over time as electrode metal migrates. Aging adds another ±1 ppm/year after the first year of operation. Combined with TC, an uncompensated LOGO! RTC drifts ~5–10 min/year in a benign indoor environment and 15+ min/year in a cold plant room.

None of these effects are calibrated at the factory because adding a TCXO (temperature-compensated crystal oscillator) would raise the cost of every LOGO! base module. The intended mitigation path is network synchronization — NTP — which Siemens exposes on Ethernet-equipped modules.

Solution 1: Enable NTP Time Synchronization

The cleanest fix is to let the LOGO! 230RCE poll a Network Time Protocol server on the LAN. With NTP enabled the module re-aligns its internal RTC each poll interval and the practical long-term drift collapses to the network jitter of the LAN — typically <100 ms against a GPS-disciplined NTP source. Once a network drop is detected, the LOGO! falls back to its internal RTC and resumes drift at the spec rate, so the Ethernet cable must remain plugged for the benefit to persist.

Prerequisites:

  • LOGO! 8 base module with Ethernet (230RCE, 230RCEo, or BM with Ethernet). Legacy LOGO! 6/7 230RC modules cannot run NTP — they have no Ethernet port.
  • Firmware version that exposes NTP parameters. Confirm the module's firmware under Tools → Diagnostics → Module Information in LogoSoft Comfort.
  • Reachable NTP server on the same subnet. A LAN-attached router, a Raspberry Pi running chrony, or an industrial NTP appliance all work.
  • LogoSoft Comfort V8.x or later (V8.3 and newer recommended for the most recent LOGO! 8 FS4+ firmware).

LogoSoft Comfort Configuration Procedure for NTP

  1. Open the project in LogoSoft Comfort and connect to the LOGO! via Ethernet (target IP set under Tools → Transfer → Ethernet Connection).
  2. In the project tree, right-click Properties → Time / Date (or Online → Time Synchronization depending on firmware generation).
  3. Enable NTP client and enter the NTP server address. Two server entries are typically allowed for redundancy.
  4. Set the synchronization interval. A value of 3600 s (1 h) is a good compromise between LAN traffic and accumulated drift between polls.
  5. Set the time zone offset (UTC+1 for CET, UTC+2 during CEST) and enable the automatic DST flag so the LOGO! follows the EU summer-time rule.
  6. Click PC → LOGO! to download the new parameters. The transfer requires the LOGO! to be in STOP for parameter changes, then back to RUN.
  7. Verify under Online → Diagnostic → Time that the displayed clock is now within ±1 s of your PC time.
Important: DST handling on LOGO! 8 follows the European rule (last Sunday of March / October). Sites outside the EU must either run a UTC-only schedule with offset math in the program, or replace the LOGO!'s DST flag with a manual logic block.

NTP Parameter Reference Table

Parameter Typical value Field guidance
NTP server 1 192.168.1.1 (gateway router) Use an IP, not a hostname, if DNS is not configured on the LOGO!
NTP server 2 192.168.1.50 (Pi hole / Pi NTP) Redundancy against single-server outage
Poll interval 3600 s Shorter intervals waste LAN; longer intervals (24 h) approach the spec drift between syncs
Time zone UTC+1 (CET) Match the wall-clock time of the schedule
DST rule EU (LOGO! default) Disable for non-EU installations
UTC offset seconds 3600 Auto-applied when time zone is selected
Authentication None / key-based (firmware-dependent) Plain NTP is acceptable on trusted LAN segments

Solution 2: External NTP-to-Modbus Gateway

For installations where the LOGO! firmware does not expose NTP, or where the Ethernet port is needed for programming only, add an industrial NTP-disciplined RTC that writes time into the LOGO! over Modbus TCP. Two common product families serve this role:

  • Moxa NTP/Modbus gateways (e.g. MGate MB3170) accept NTP from a LAN source and publish the synchronized time as Modbus holding registers. The LOGO! program reads the registers via Network Analog Input function blocks and re-aligns its internal time.
  • Self-hosted Linux box (Raspberry Pi running chrony + modbus-tk) writing time-of-day into a Modbus server. Lower cost, requires IT engagement.

Whatever the gateway, the LOGO! program must convert the binary hour/minute/second registers into the four integer inputs the internal RTC function block expects, then issue a single "set time" pulse once per NTP poll. After that the LOGO! RTC is again free-running until the next sync.

Battery Backup and Power-Cycle Behavior

LOGO! 8 base modules accept a coin-cell backup battery (order number varies by hardware revision; commonly CR1025 or CR2032 depending on FS variant — verify against the battery compartment label before ordering) that powers the RTC during a power loss. Behavior summary:

  • Battery present, mains lost: RTC continues. Weekly/yearly schedules fire as programmed if the relay outputs are wired to a buffered supply. Typical hold-up: 1–2 years depending on cell capacity and ambient temperature.
  • Battery absent or flat, mains lost: RTC stops at the time of power-down and resumes from that value when power returns. The schedule is therefore valid until the first power cycle, after which all times become wrong until manual re-entry.
  • Battery low warning: LogoSoft Comfort raises a diagnostic bit (BAT) under Online → Diagnostic when the cell drops below the warning threshold. Replace within 30 days.
Field practice: Replace the RTC battery every 2 years preventively in a school installation. A dead battery masquerades as a "drift" problem because each weekend power-down resets the clock to a fixed 00:00:00.

Manual Time Calibration and Drift Compensation

If neither NTP nor an external gateway is acceptable, two manual strategies exist:

  1. Periodic site visit. Upload corrected time at semester start and mid-semester. Worst-case drift is then bounded to ~45 days × 2 s/day = ±90 s = ±1.5 min, which most users tolerate.
  2. Drift offset block. Build a small ladder program that measures the actual daily drift over a one-week test, then issues a Time Offset correction via the weekly timer offset input. This requires firmware that exposes the offset input and is rarely worth the effort when NTP is free.

To characterize the actual drift on a specific unit before deciding:

  1. Set time to a known reference (radio clock, smartphone).
  2. Read time at 24 h, 72 h, and 168 h via LogoSoft Comfort Online → Time.
  3. Compute ε = (t_read − t_ref) / days_elapsed.
  4. If |ε| > 3 s/day consistently, the unit is at the edge of the spec and should be replaced; otherwise NTP sync will compensate perfectly.

Verification and Field Test Procedure

After configuring NTP, validate end-to-end:

  1. Force the LOGO! into STOP, then RUN, and watch the diagnostic page for the Time synchronized bit.
  2. Disconnect the NTP server (unplug the LAN cable or stop the chronyd service). Confirm that the NTP sync bit clears within one poll interval.
  3. Reconnect and verify that the clock resyncs within one poll interval and that the diagnostic page now reads NTP OK.
  4. Disconnect mains for 5 minutes with battery fitted. Confirm RTC time is preserved to the second.
  5. Disconnect mains for 5 minutes without battery. Confirm the clock stops, then resumes from the stop time (this confirms the battery state, useful as a one-off test).
  6. Run the bell schedule through one full day and confirm each ring fires within ±1 s of the programmed time.

Comparison Table: Timekeeping Accuracy Options

Method Steady-state accuracy Cost Effort Best fit
LOGO! 230RCE, no network ±2 s/day (typ.) $0 incremental None Throwaway tolerance
LOGO! 230RCE + NTP <100 ms vs UTC Free (LAN NTP server already present) 15 min setup Recommended default
LOGO! 230RCE + external Modbus NTP gateway <1 s vs UTC $150–$400 gateway Half-day wiring + program Legacy firmware without NTP
Replace LOGO! with LOGO! 8 FS4+ with built-in NTP <100 ms vs UTC Module replacement Re-commissioning Existing modules without Ethernet
GPS-disciplined NTP appliance on LAN <10 ms vs UTC $300+ GPS receiver Antenna install Multi-site campus needing traceable time
Cellular NTP modem on industrial IoT gateway <1 s vs UTC $200 + SIM Cellular signal needed Remote sites without LAN

Troubleshooting Matrix

Symptom Likely cause Action
Drift exactly ±2 s/day, sign consistent Uncompensated RTC, normal Enable NTP
Drift >5 s/day, sign consistent Faulty crystal or extreme temperature Replace module; check enclosure temperature
Clock resets to 00:00 on every power cycle Battery missing or dead Replace coin cell; verify BAT bit clears
Clock random or jumps by hours Loose battery contact or corrupted RTC register Reseat battery; perform factory reset; re-upload program
NTP configured but sync never OK Firewall blocking UDP 123, wrong IP, no DNS Test with ntpdate -q <server-ip> from a laptop on the same VLAN
Clock 1 h off twice a year DST transition Verify DST rule matches region; otherwise disable and add ladder logic
Bell fires early by 1–2 min after weekend Power-down with no battery Fit / replace battery
Bell fires randomly, schedule ignored Wrong weekday input on weekly timer Verify program; LOGO! week starts on Monday

Spare Parts and Documentation References

Identify the module before ordering spares — the LOGO! family has overlapping suffixes that look identical:

  • LOGO! 230RCE (no display, relay, Ethernet, 115/230 V AC/DC): order number 6ED1052-2HB08-0BA0 (FS4) or later revision. Confirm hardware version (FS1, FS2, FS3, FS4, FS5, FS6) before ordering, as NTP support and battery part numbers vary.
  • LOGO! 230RCEo: same feature set with o suffix indicating "without battery slot" — order number 6ED1052-2HB08-0BA1 family. RTC does not survive power-down; NTP becomes mandatory for any schedule that must remain valid across outages.
  • Coin-cell battery: confirm with the battery-compartment label on the module; common part numbers are CR1025 (3 V, 30 mAh) and CR2032 (3 V, 220 mAh). Do not substitute a different chemistry.

For official specifications, refer to the Siemens LOGO! 8 system manual (article ID 109751413) and the LOGO! 230RCE product information page (article ID 109766631) on the Siemens Industry Online Support portal. The RTC accuracy line item appears in the "Technical data" chapter of the system manual and is reproduced verbatim above.

Field Commissioning Checklist for School Bell Applications

  1. Confirm LOGO! 230RCE firmware supports NTP (FS4 or newer recommended).
  2. Verify LAN connectivity to the NTP server (ping, then ntpdate -q from a laptop).
  3. Configure NTP server IPs, poll interval (3600 s), time zone, and DST rule in LogoSoft Comfort.
  4. Download to LOGO!, restart, verify sync bit.
  5. Fit a fresh coin-cell battery and verify the BAT diagnostic bit is clear.
  6. Load the bell schedule, run for 24 h, and log actual ring times vs scheduled times.
  7. Repeat the log at 7 days and 30 days to confirm long-term drift <1 s.
  8. Document the NTP source IP, the poll interval, and the maintenance window in the school's asset register so the next technician inherits the configuration.

Why does my LOGO! 230RCE lose 1–3 minutes per quarter?

The internal real-time clock is specified at typ. ±2 s/day at 25 °C, set by a 32.768 kHz quartz crystal with no temperature compensation. Over 90 days the worst-case error accumulates to ±180 s (±3 min), with most units sitting in the middle of the band. This is normal behaviour, not a defect.

Can the LOGO! 230RCE synchronize with an NTP server?

Yes — LOGO! 8 base modules with Ethernet (230RCE, 230RCEo, and equivalents from FS4 firmware onwards) expose an NTP client. Configure the server IP, poll interval, and time zone in LogoSoft Comfort under the Time/Date properties and download to the module. Accuracy improves from ±2 s/day to under 100 ms against the NTP source.

Does the LOGO! 230RCE keep time during a power outage?

Only if a coin-cell backup battery is fitted and healthy. Without the battery the RTC stops on power-down and resumes from the lost time, which looks like a "reset to 00:00" symptom on the next power-up. Replace the battery every two years preventively.

What accuracy can I expect if I cannot run NTP?

±2 s/day at 25 °C per the published specification, which works out to ±60 s per month or ±180 s per quarter. A periodic manual resync once per term brings the worst-case error down to about ±90 s — acceptable for most school-bell installations but not for shift-change horns or billing-grade schedules.

Is there a firmware version that fixes the drift permanently?

No. The drift is a physical property of the crystal and is unaffected by firmware. Firmware updates add NTP support and DST handling, but the only ways to eliminate the drift are NTP synchronization or replacement with a temperature-compensated external RTC module.

Back to blog