Problem Summary
The Siemens LOGO! 0BA6 generation does not contain a native Astronomical Clock (Astro-Uhr / ASTO) function block in its firmware image. When a program built in LOGO! Soft Comfort references this block, the compiler accepts the program (because LOGO! Soft Comfort 7.x and 8.x ship with the block library active), but the transfer step fails on hardware 0BA6 with errors such as "Unknown function block," "Program incompatible with device," or "Block not supported by target hardware."
Two paths resolve the issue: (a) reconstruct sunrise/sunset logic with available 0BA6 blocks using a polynomial regression or seasonal table, or (b) migrate the project to LOGO! 0BA7 or 0BA8 where the native Astronomical Clock block is implemented in firmware. This article documents both paths and the verification procedure.
Affected Hardware and Firmware Matrix
| LOGO! Generation | Order Number (example) | Firmware Image | Native Astro Block | LOGO! Soft Comfort Version |
|---|---|---|---|---|
| 0BA4 | 6ED1 052-1xx00-0BA4 | 0BA4 | No | V5.x |
| 0BA5 | 6ED1 052-1xx01-0BA5 | 0BA5 | No | V6.x |
| 0BA6 | 6ED1 052-1xx02-0BA6 / -0BA7 (Ethernet) | 0BA6 | No | V7.x |
| 0BA7 | 6ED1 052-1xx03-0BA7 | 0BA7 | Yes | V8.0 / V8.1 |
| 0BA8 (Standard) | 6ED1 052-1xx08-0BA8 | 0BA8 | Yes (extended) | V8.2 / V8.3 |
| 0BA8 (Pure) | 6ED1 052-2xx08-0BA8 | 0BA8 | Yes | V8.2 / V8.3 |
The native Astronomical Clock block appears in the palette as B020 - Astronomical Clock from LOGO! Soft Comfort 8.0 onward. It is hidden when the active hardware target is set to 0BA4, 0BA5, or 0BA6.
Root Cause Analysis
Three independent faults generate the "Cannot download Astro-clock in 0BA6" symptom reported in the field:
- Hardware-target mismatch. The project was authored against a 0BA7/0BA8 device and is being downloaded to a 0BA6 base module or expansion. LOGO! Soft Comfort only validates the hardware target during the PC → LOGO! transfer, not during FBD editing.
-
Firmware image older than 0BA7 on the device. The label on the unit may show 0BA6 even if the catalog number ends in
-0BA7; conversely, early 0BA6 stock shipped pre-0BA7 firmware. Read the firmware string with LOGO! → Diagnostics → Device Information in Soft Comfort, or via the LOGO! display menuESC → Diagnostics → SW Version. - Corrupted program memory or incompatible module cluster. Mixed clusters (e.g., DM8 on a 0BA6 base + DM16 on a 0BA8 expansion) reject transfers that contain blocks unique to one generation.
Step 1 - Select the Correct Hardware Target
- Open the project in LOGO! Soft Comfort.
- Press
Ctrl+Hor choose Tools → Select Hardware. - In the dialog, pick the exact catalog number printed on the front of the LOGO! base module (for example
6ED1052-1MD08-0BA8for a 0BA8 with display and Ethernet). - Confirm with OK. The block palette refreshes; any block the target cannot run is greyed out.
- Re-open the program. Blocks incompatible with the selected hardware now display a yellow exclamation mark.
Step 2 - Read the Device Firmware Version
- Connect LOGO! Soft Comfort to the device via Ethernet or USB cable.
- Choose LOGO! → Diagnostics → Device Information.
- Record the FW version, Type, and Order number fields.
- Compare the FW string with the table below.
| FW String on Display | Generation | Astro Block Available |
|---|---|---|
| 0BA4 ES 1 / ES 2 / ES 3 | 0BA4 | No |
| 0BA5 ES 1 / ES 4 / ES 5 | 0BA5 | No |
| 0BA6 Standard / ES8 / ES9 | 0BA6 | No |
| 0BA7 ES 10 / FS:05 | 0BA7 | Yes |
| 0BA8 FS:01 ... FS:05 | 0BA8 | Yes |
If the device is 0BA6 and you need the native block, plan a hardware migration to 0BA7 or 0BA8 (catalog numbers listed above) before authoring new programs that depend on the Astro block.
Step 3 - Polynomial Regression Workaround for 0BA6
When the project must stay on 0BA6 hardware, derive sunrise and sunset minutes-from-midnight (local time) as two analog values that update once per day at 00:02 local. The reference implementation uses a 9th-degree Chebyshev polynomial fitted to NOAA solar position tables; coefficients are computed once in a spreadsheet and pasted into the LOGO! program as constants.
- In Excel, compute sunrise_min(day_of_year, latitude) and sunset_min(day_of_year, latitude) using the SPA algorithm or NOAA's
solposmodel. - Fit two polynomials P_sunrise(d) and P_sunset(d) where d = (day_of_year - 1) / 365.
- Truncate to degree 8 or 9; residual error below 90 s for π/3 < latitude < 5π/6 is typical.
- Export coefficients c0 ... c8 as constants.
- In LOGO! Soft Comfort for 0BA6, implement the polynomial with the
Analog Math(B015) andAnalog Multiplexerblocks chained:
y = c0 + c1*d + c2*d^2 + c3*d^3 + c4*d^4
+ c5*d^5 + c6*d^6 + c7*d^7 + c8*d^8 + c9*d^9
The single block diagram uses nine Analog Math instances, each adding one term; the cumulative sum drives an Analog Threshold Trigger (B007) compared to a real-time clock hour:minute value to switch the digital output Q1.
| Block | Function | Inputs | Memory Footprint (RAM / Retain) |
|---|---|---|---|
| B007 Analog Threshold Trigger | Compare minutes-from-midnight with computed sunrise/sunset | Ax, threshold, hysteresis | small |
| B015 Analog Math | Evaluate one polynomial term | Ax, Ay, operator, gain, offset | small (x9) |
| B014 Analog Multiplexer | Sum polynomial partials | EN, S1..S4, Ax..Ay | small |
| B012 Yearly Timer | Pulse trigger at 00:02 daily to advance day counter | ON, OFF date | medium |
| B001 AND | Combine Q1 (sunrise), Q2 (sunset) with enable flag | Bool | trivial |
Step 4 - Native Solution: Migrate to LOGO! 0BA7 or 0BA8
- Open the existing 0BA6 project in LOGO! Soft Comfort 8.x.
- Press
Ctrl+H, pick a 0BA8 catalog number (for example6ED1052-1MD08-0BA8for a 24 V DC, 8 DI / 4 DO, Ethernet variant). - The conversion wizard flags unsupported blocks; the Astro block on 0BA6 was a workaround, so it can be removed and replaced with
B020 - Astronomical Clock. - Insert the Astro block and configure:
- Latitude: signed decimal degrees, range -90 .. +90
- Longitude: signed decimal degrees, range -180 .. +180 (East positive, West negative)
- Time zone: offset in minutes from UTC, e.g. +60 for CET
- DST: "EU", "US", or "Off" depending on region
- Download to the new device. The Astro block delivers sunrise and sunset as digital outputs Q1 and Q2 of the block.
Astronomical Clock Block Parameters
| Parameter | Range / Format | Example (Munich) | Notes |
|---|---|---|---|
| Latitude | -90.0 .. +90.0 ° | +48.137 | North positive, South negative |
| Longitude | -180.0 .. +180.0 ° | +11.575 | East positive, West negative |
| Time zone offset | -720 .. +720 min | +60 (CET) | Applied to UTC before DST rule |
| DST rule | EU / US / Off | EU | EU = last Sunday March/October; US = 2nd Sunday March / 1st Sunday November |
| Sunrise output | Bool | Q1 | High from sunrise to sunset |
| Sunset output | Bool | Q2 | High from sunset to sunrise (inverse) |
| Offset Δtrise | -59 .. +59 min | +10 | Shift sunrise later (shading compensation) |
| Offset Δtset | -59 .. +59 min | -10 | Shift sunset earlier (shading compensation) |
Daylight Saving Time (DST) Handling on 0BA7 and 0BA8
The Astro block on 0BA7 firmware ES10 and later and on 0BA8 firmware FS:01 and later respects the DST rule set in the device. The clock block (B019) handles the actual hour step. If the LOGO! is set to "EU" DST but the application runs in a region with fixed UTC offset, set DST to Off and supply the local standard offset via the Time zone parameter.
| Symptom | Likely Cause | Remedy |
|---|---|---|
| Sunrise drifts 60 min after DST change | DST rule set to EU but clock set to manual | Switch clock to auto-DST in device menu |
| Sunrise drifts 60 min in spring | Local standard time used instead of DST-adjusted time | Verify DST parameter = EU or US |
| Sunrise jumps 120 min twice yearly | Time zone offset not aligned with DST rule | Set Time zone to UTC offset of standard time only |
| No sunrise/sunset output pulse on leap day | Day-of-year counter not handled | Update to FS:02 firmware (0BA8) or ES11 (0BA7) |
Step 5 - Verification and Commissioning Checklist
- After download, open LOGO! → Online Test and verify Q1 of the Astro block toggles within ±90 s of computed sunrise.
- Compare the LOGO! on-screen sunset time against a reference (e.g. NOAA solar calculator) for the configured coordinates; deviation must stay below 2 minutes at solstice.
- Force the time forward by 23:59 and observe the next day's transition; confirm the day-of-year counter advances and no rollover glitch occurs.
- For the polynomial workaround, log the computed minutes-from-midnight via the LOGO! Data Log feature to a microSD card and verify against an Excel reference for at least three seasonal dates.
- Power-cycle the LOGO! and confirm the sunrise/sunset schedule resumes without manual time re-entry.
Troubleshooting Matrix
| Symptom | Root Cause | Diagnostic | Fix |
|---|---|---|---|
| "Unknown block B020" on transfer to 0BA6 | Astro block not in 0BA6 firmware | Read FW version; see table above | Use polynomial workaround or migrate to 0BA7+ |
| "Program incompatible with device" | Hardware selection not updated in Soft Comfort | Check Tools → Select Hardware | Pick the exact 0BA6 catalog number; replace B020 |
| Transfer aborts at 47% | Mixed cluster (0BA6 base + 0BA8 expansion) | List expansion modules in Soft Comfort | Align expansion FW to base; remove B020 from base program |
| Astro block present but output stuck LOW | Latitude/longitude entered with wrong sign | Check coordinates against a map | Correct sign convention (N/E positive) |
| Sunrise 60 min off after autumn DST | DST rule disabled in device clock | Inspect clock menu on LOGO! | Set DST to EU (or US) and reboot |
| Workaround output drifts 30 s/day | Real-time clock not synchronized to 00:02 trigger | Inspect B012 Yearly Timer configuration | Trigger at 00:02 daily with NTP sync where possible |
| Block count exceeded on 0BA6 | Polynomial chain uses 12+ blocks | Block count summary in Soft Comfort | Reduce polynomial to degree 7 or offload to expansion DM8 |
| Astro time wrong by 30 min near longitude boundary | Time zone offset is integer minutes only | Test at solstice vs NOAA reference | Use exact offset; some zones (e.g. India +5:30) need +330 |
Field-Proven Notes
Engineers porting 0BA6 polynomial programs to 0BA8 frequently observe the following:
- The Astro block on 0BA8 firmware FS:02+ honours leap seconds; 0BA6 firmware never tracks them, so long-running installations accumulate up to one minute of drift per decade.
- Battery-backed RTC on 0BA6 holds time for about 1 week without power; 0BA8 retains for up to 4 weeks. If the application loses power frequently, fit a fresh CR2032 backup cell before relying on Astro accuracy.
- Where the LOGO! is networked, enable NTP via the LOGO! CSK or a 4G router; the Astro block recalculates instantly on time correction, while the polynomial workaround still uses yesterday's day-of-year until 00:02.
Why does LOGO! 0BA6 reject the Astronomical Clock block even though the symbol exists in LOGO! Soft Comfort?
The B020 Astronomical Clock block is implemented in firmware only on 0BA7 (ES10) and 0BA8 generations. LOGO! Soft Comfort 7.x and 8.x display the block in the palette for editor convenience, but the runtime image on 0BA6 firmware does not contain the block interpreter, so transfer fails. Migrate to 0BA7/0BA8 hardware or use the polynomial workaround on 0BA6.
How do I confirm whether my LOGO! is 0BA6 or 0BA7 without opening it?
Use Tools → Select Hardware (Ctrl+H) in LOGO! Soft Comfort, then click Detect Device over Ethernet or USB. The Device Information dialog lists the exact catalog number, FW version, and hardware generation. Alternatively, navigate the LOGO! on-board menu: ESC → Diagnostics → SW Version shows the firmware string.
Can the polynomial workaround match the accuracy of the native Astro block?
For a single fixed latitude, a 9th-degree polynomial fitted to NOAA solar tables achieves residuals below 90 seconds year-round, which is sufficient for lighting and shading control. The native B020 block uses the SPA algorithm and reaches ±10 seconds. If the application requires < 30 s accuracy (greenhouse climate, astronomy experiments), migrate to 0BA8 firmware FS:02 or later.
Does the Astro block on 0BA8 require a battery to retain the schedule?
No. Sunrise and sunset are calculated in firmware from latitude, longitude, time-zone offset, and DST rule. These parameters live in non-volatile program memory and are preserved through power cycles regardless of the battery state. The battery only retains the real-time clock; without it, the Astro block simply holds its last output until the RTC resumes.
What is the maximum program size on 0BA6 if I implement the polynomial workaround?
LOGO! 0BA6 firmware allows up to 200 function blocks and 250 analog flags. The polynomial workaround consumes roughly 12-15 blocks plus 4-6 analog flags, leaving ample headroom. If the program already approaches 200 blocks, reduce the polynomial degree to 7 (residual error < 3 min) or migrate to 0BA8, which supports 400 blocks and 250 analog flags.