Siemens LOGO! 0BA8 Programming and Communication Reference

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

Overview of the LOGO! 0BA8 Generation

The LOGO! 0BA8 (commonly referred to as LOGO! 8) is the eighth generation of the Siemens logic module family, succeeding the 0BA7 and 0BA6 generations. It is a compact, modular logic relay that integrates an Ethernet interface, a micro PLC runtime, an onboard Web server, and an SD-card slot into a single 72 mm-wide base unit. Compared with the 0BA7 generation, the 0BA8 quadruples the number of program blocks (from 400 to roughly 8,000 blocks depending on firmware version), raises the digital I/O count to 24 inputs and 20 outputs, expands analog handling to 8 inputs and 8 outputs, and introduces a Status Names feature that lets engineers tag individual inputs, outputs, flags, cursor keys, and LOGO! TDE text fields with readable identifiers that propagate into HMI clients and the Web server.

Engineers moving from earlier generations must unlearn a critical assumption: the 0BA8 firmware reads the address area for inputs, outputs, flags, analog values, and network variables exclusively from a dedicated Variable Memory (VM) mapping table. Without this table, the module will compile, run, and respond to cyclic scan requests but every external client (HMI, SCADA, LabVIEW, PascalSCADA, S7 PUT/GET, Modbus TCP) will see only the default placeholder values. The VM mapping is the single most common point of failure when commissioning LOGO! 0BA8 networks.

Field note: The Siemens support portal entry ID 100782807 (LOGO!Soft Comfort Online Help) is the canonical reference for VM mapping and Status Names; download the latest revision before commissioning.

Hardware Modules and Part Numbers

The 0BA8 base unit is identified by the order suffix 08-0BA0. Five variants cover the common supply-voltage classes:

Order Number Description Supply Inputs Outputs
6ED1052-1CC08-0BA0 LOGO! 8 12/24 RCE 12/24 V DC 8 DI (4 AI) 4 Relay 10 A
6ED1052-1MD08-0BA0 LOGO! 8 24 RCE 24 V DC 8 DI (4 AI) 4 Relay 10 A
6ED1052-1HB08-0BA0 LOGO! 8 230 RCE 115/230 V AC 8 DI 4 Relay 10 A
6ED1052-1FB08-0BA0 LOGO! 8 230 RC 115/230 V AC 8 DI 4 Relay 10 A
6ED1052-2CC08-0BA0 LOGO! 8 12/24 RCEo (no display) 12/24 V DC 8 DI (4 AI) 4 Relay 10 A

Expansion modules are added on the right side of the base unit, up to a total of 24 DI / 20 DO / 8 AI / 8 AQ with a maximum of 11 digital + 8 analog modules. Common expansion part numbers include the 6ED1055-1NB10-0BA2 (DM16 24 V), 6ED1055-1MB10-0BA2 (DM8 12/24), 6ED1055-1MA10-0BA2 (AM2 12/24), and 6ED1055-1MM10-0BA2 (AM2 PT100).

The onboard Ethernet port supports 10/100 Mbit/s half/full duplex and provides three protocol stacks simultaneously: S7 communication (server role for PUT/GET from S7-1200/S7-1500), Modbus TCP (server role), and the LOGO! Web server (HTTP on TCP/80 and TCP/8080 depending on firmware). The SD card slot accepts micro-SDHC up to 32 GB and is used for program transfer, data logging, and recipe storage.

LOGO!Soft Comfort V8 Programming Environment

LOGO!Soft Comfort V8.x is the required configuration tool for any 0BA8 firmware. Earlier versions (V7.x and V8.0 on 0BA7 targets) cannot open 0BA8 projects. Install the latest V8.4 or higher service pack; older V8.0 projects from the launch year (2014) must be migrated because the VM mapping convention changed in subsequent maintenance releases. The software is available from the Siemens Industry Online Support portal under entry 100782807.

The integrated development environment (IDE) provides FBD (function block diagram) and LAD (ladder diagram) editors, an offline simulator, a remote connection manager for Ethernet/USB programming, and a diagnostic window that exposes live VM values when online. The simulator can be run with full VM mapping enabled, which makes commissioning scriptable before physical deployment.

Projects compile into a .lsc file and download to the LOGO! via USB, Ethernet, or micro-SD card. The micro-SD route is preferred for production because it preserves the master copy on the card and allows field replacement without a PC.

Parameter VM Mapping - Address Allocation

The Variable Memory (VM) area is the published read/write address space that all external clients (HMI, SCADA, S7 PUT/GET, Modbus TCP) consume. The mapping is configured inside LOGO!Soft Comfort via the menu Tools → Parameter VM Mapping (or, in localized builds, Extras → Parameter VM Mapping). Each parameter that needs to be visible from outside the LOGO! must be enabled in this dialog and assigned a VM address in one of the following ranges:

VM Symbol Description Address Range Data Type
I Digital inputs I1 – I24 Bit
Q Digital outputs Q1 – Q20 Bit
M Flags / internal relays M1 – M64 Bit
AI Analog inputs AI1 – AI8 Word (signed 16-bit)
AQ Analog outputs AQ1 – AQ8 Word (signed 16-bit)
NI Network inputs NI1 – NI64 Bit
NQ Network outputs NQ1 – NQ64 Bit
NAI Network analog inputs NAI1 – NAI32 Word
NAQ Network analog outputs NAQ1 – NAQ32 Word

Once the mapping is enabled and downloaded to the LOGO!, the values become accessible from:

  • S7 PUT/GET: the LOGO! acts as an S7-200 class server; clients read the VM area via DB1 with byte offsets calculated from the VM base. For example, the byte containing I1–I8 is DB1.DBX0.0, the byte containing Q1–Q8 is DB1.DBX8.0, and the analog words start at DB1.DBW112 (AI1) and step every 2 bytes.
  • Modbus TCP: holding registers expose the same area. Inputs I1–I24 map to Modbus coils 00001–00024, outputs Q1–Q20 to coils 00025–00044, flags M1–M64 to coils 00045–00108, analog values to input registers 30001+ and holding registers 40001+ following the same offset as the S7 DB.
  • LOGO! Web server: the same VM bits populate the variable list displayed at http://<logo-ip>/var.
Troubleshooting tip: If an HMI shows zero for every VM value, the most likely root cause is an empty Parameter VM Mapping. Open the project in LOGO!Soft Comfort, navigate to Tools → Parameter VM Mapping, and confirm each symbol has both a checkbox enabled and a non-conflicting address. Recompile and re-download.

Communication Interfaces and Protocols

Ethernet S7 Communication (PUT/GET)

The 0BA8 Ethernet port implements the S7 communication server role that is compatible with the S7-200 / S7-1200 / S7-1500 PUT/GET instructions. From a S7-1200 CPU configured as the HMI master, the read of the LOGO! digital inputs is performed with the standard GET instruction in TIA Portal using the connection resource of the LOGO! as the partner. The remote TSAP is typically 03.01 for the first connection and 03.02 for the second; the LOGO! supports up to eight S7 communication partners simultaneously.

Configuration on the LOGO! side requires no programming beyond setting the IP address, subnet mask, and gateway under Network → Ethernet on the onboard HMI or via LOGO!Soft Comfort. The S7 connection parameters (TSAP, slot) are fixed by the LOGO! firmware and cannot be changed by the user.

Modbus TCP

The Modbus TCP server is enabled by default on port 502. The same VM mapping described above is exposed via function codes 01 (read coils), 02 (read discrete inputs), 03 (read holding registers), 04 (read input registers), 05 (write single coil), 06 (write single register), 15 (write multiple coils), and 16 (write multiple registers). The maximum number of simultaneous Modbus TCP connections is 8, identical to the S7 partner limit.

For SCADA drivers (e.g., WinCC, Ignition, AdvancedHMI), point the driver to the LOGO! IP, set unit ID to 255 (or 1 depending on the bridge convention), and read the appropriate coil/register addresses. Verify by reading coil 1 (I1) and forcing it; the physical input LED on the LOGO! should follow the forced value within one scan cycle.

LOGO!-to-LOGO! Network Variables

Network inputs (NI) and network outputs (NQ) carry values between LOGO! stations on the same Ethernet subnet without explicit IP routing. Each remote LOGO! is added under Tools → Ethernet Connections with its IP address; the local program references NI1…NI64 and the partner's NQ1…NQ64 propagate to those references automatically. Cycle time is approximately 200 ms regardless of program scan time.

Programming Elements: Timers, Counters, Flags

The 0BA8 function block library provides 39 basic and 38 special function blocks (SFBs) that cover every standard control idiom. The most commonly used blocks retain the same logic from earlier generations but with extended ranges:

SFB Name Time/Count Range Edge Cases
B001 On-delay 10 ms – 99 h 59 m Retentive variant available (B005)
B002 Off-delay 10 ms – 99 h 59 m Watch out for AC supply; the input is debounced by hardware RC
B003 On/off delay Independent up/down Same two time bases
B004 Retentive on-delay Survives power cycle Use with edge-triggered reset
B007 Wiping relay (pulse) 10 ms – 99 h 59 m Good replacement for monostable
B008 Edge-triggered wiping relay One-shot Use rising-edge flag M8 (or dedicated ref)
B009 Symmetrical flashing Two equal times Common for ATS redundant pilot logic
B011 Counter 0 – 999 999 CV must be retentive; uses internal flag
B012 Threshold trigger (analog) Hysteresis configurable Pair with AI scaling block

Flags M1–M64 are the scratchpad relays and have no external pin; they are pure program-internal. Flags M8, M25, M28, and M29 are reserved as edge-detect flags by the firmware; do not write to them from your program or you will corrupt the rising-edge evaluation of every block that references them.

Application: Automatic Transfer Switch (ATS) Control

An ATS application is a textbook use case for the 0BA8 because it demands interlock logic, time delays, voltage monitoring, and remote status reporting in a single small enclosure. The standard architecture is:

  1. Mains available — sensed via an AI channel fed from a 0–10 V transducer on the line side.
  2. Generator ready — discrete input wired from the generator controller's run contact.
  3. Transfer inhibit — discrete input from a key switch or HMI tag to lock out automatic action during maintenance.
  4. Outputs — two relay outputs: one closes the Mains contactor, one closes the Generator contactor. A third output can drive the generator's start command.
  5. Interlocks — implemented as a mutual exclusivity in the FBD; never energize both contactors simultaneously. Add a 300 ms on-delay and 500 ms off-delay between the two to give the contactors mechanical settle time.
  6. Failure detection — if Mains voltage drops below the undervoltage threshold (typically 80 % of nominal) for more than 5 s, start the generator and wait for the Generator Ready input to assert before transferring.

Mapping for ATS visibility: Q1 (Mains contactor), Q2 (Generator contactor), Q3 (Generator start), M1 (Source-available flag), NI1 (Remote inhibit from SCADA), AQ1 (Live voltage readback for the HMI trend). All five VM symbols must be enabled in Tools → Parameter VM Mapping or the SCADA will see only frozen defaults.

HMI Integration and the LOGO! TDE

The LOGO! TDE (Text Display, 6ED1055-4MH08-0BA0) is the dedicated 6-line LCD for the 0BA8 base unit. It connects via the same flat ribbon bus as the expansion modules and can be placed up to 10 m from the base unit. The TDE supports up to six message texts, each with bar graphs or numeric fields drawn from AI/AQ/VM variables. Engineers configure the message texts under Tools → Message Text Configuration; the Siemens application examples collection (entry 35923253) ships ready-to-use ATS and pump-alternation TDE projects.

For PC-based or panel-based HMI, the LOGO! Web server is the lowest-effort integration. After enabling Web Server Access on the LOGO! (default user LOGO, password LOGO), the variables page is reachable at http://<ip>. Status Names are honored on the Web server, so a flag M17 mapped to ATS_Lockout will display with that label in the browser.

Integration with SIMATIC WinCC, TIA Portal HMI, or third-party SCADA follows the same S7 PUT/GET or Modbus TCP rules described above. The most common commissioning mistake is to assign the LOGO! IP into the HMI driver but forget to declare the LOGO! as an unspecified S7 partner with PUT/GET permission enabled in TIA Portal. Without that checkbox, the HMI connection fails silently and the LOGO! shows a yellow SF LED that resets only after a power cycle.

Network Topology and Client Limits

A single 0BA8 base unit can simultaneously serve 8 S7 partners, 8 Modbus TCP clients, and an unlimited number of LOGO!-to-LOGO! network variable peers (subject to broadcast traffic). The CPU scan time is approximately 0.1 ms per basic function block and up to 8 ms for special blocks, but the bottleneck on a heavily populated remote I/O network is the 200 ms refresh cycle of the network variables. If a SCADA needs faster than 200 ms updates for analog values, use S7 PUT/GET or Modbus TCP polling instead of network variables.

For multi-station LOGO! networks, set the time master under Network → Time Synchronization; only one LOGO! per subnet should be configured as the SNTP client, the others should synchronize via the LOGO!-to-LOGO! time-of-day propagation. This avoids NTP amplification on small industrial LANs.

Commissioning Verification Checklist

  1. Confirm the base unit firmware matches the LOGO!Soft Comfort project version (Tools → Device Information). Mismatched firmware prevents download without an explicit upgrade prompt.
  2. Open Tools → Parameter VM Mapping and verify every required I/Q/M/AQ/NI/NQ has an enabled row with a non-conflicting address.
  3. Connect via Ethernet and ping the LOGO! IP. A failed ping with a link LED on indicates a duplicate-IP or subnet-mask mismatch.
  4. Open the LOGO! Web server in a browser, log in, and confirm the variable list shows the expected labels with live values.
  5. From a separate S7-1200 or PC tool, perform a single GET of the LOGO! VM area and confirm the byte layout matches the mapping table.
  6. Force a single coil from Modbus (function code 05, coil 1) and watch the LOGO! onboard display mirror the value.
  7. Save the project to micro-SD and confirm the LOGO! can cold-start from the card with no PC attached.

Troubleshooting Matrix

Symptom Likely Root Cause Verification Step Corrective Action
HMI shows all zeros for LOGO! variables Empty Parameter VM mapping Open Tools → Parameter VM Mapping in LOGO!Soft Comfort Enable and address every needed symbol; recompile; re-download
S7 PUT/GET fails, LOGO! SF LED yellow PUT/GET permission not enabled on HMI/PLC side TIA Portal → Properties → Connection → Permit PUT/GET Enable the checkbox, recompile, download to the S7 partner
Modbus TCP reads return illegal data address (02) Register requested outside the populated VM range Reduce request to coil 1 and increment Adjust the client address range to match the VM mapping offsets
LOGO! Web server shows variables but no status names Status Names feature not enabled in project File → Project Properties → Status Names Enable and assign names; recompile; re-download
Network variables flicker / inconsistent Two LOGO! stations share the same NI/NQ address Tools → Ethernet Connections → check IP list Reassign IP or remove duplicate partner
SD card not recognized Card formatted NTFS or exFAT; card larger than 32 GB Insert card in PC; check filesystem and capacity Format as FAT32; replace with SDHC ≤32 GB
Program downloads but does not run LOGO! in STOP mode after firmware mismatch Onboard display → ESC + OK to clear Recompile with matching firmware target

Standards and Documentation References

The LOGO! 0BA8 system manual (Siemens entry ID 109754236) is the binding reference for electrical ratings, derating curves, and EMC conformity. CE conformity covers EN 61131-2 for industrial environments and EN 61010-1 for safe operation. For UL-listed installations, observe the 240 V AC / 10 A relay limit and the 75 °C conductor rating on the screw terminals; tighten to 0.6 N·m. For marine and offshore applications, confirm the specific certificate (e.g., DNV, ABS, LR) before specifying; not all base-unit variants carry every marine approval.

Why does my HMI show zeros for every LOGO! variable even though the program runs?

The Parameter VM Mapping is empty. Open the project in LOGO!Soft Comfort, navigate to Tools → Parameter VM Mapping, enable every I/Q/M/AQ/NI/NQ you want to expose, recompile, and re-download. Without an enabled mapping, all external clients see only default placeholders regardless of the actual program state.

Which Modbus TCP function codes does the LOGO! 0BA8 support?

The onboard Modbus TCP server supports function codes 01 (read coils), 02 (read discrete inputs), 03 (read holding registers), 04 (read input registers), 05 (write single coil), 06 (write single register), 15 (write multiple coils), and 16 (write multiple registers). Up to eight clients can connect simultaneously on TCP port 502.

What is the maximum number of S7 PUT/GET partners a single LOGO! 0BA8 can serve?

Eight S7 communication partners. The TSAP for the first connection is 03.01 and increments for each additional partner. The TSAP cannot be customized inside the LOGO! firmware.

Can I program the LOGO! 0BA8 with LOGO!Soft Comfort V7?

No. V7 targets only the 0BA6 and 0BA7 generations. Use LOGO!Soft Comfort V8.0 or higher for 0BA8 projects, and ensure the project firmware target matches the physical base unit's firmware or the download will be rejected.

How do I add readable Status Names to LOGO! variables?

Enable Status Names under File → Project Properties in LOGO!Soft Comfort, then assign a unique name to each digital input, digital output, flag, cursor key, and LOGO! TDE text field. The names propagate to the LOGO! TDE, the Web server, and any S7 or Modbus client that supports symbolic addressing.

What is the network variable refresh rate between LOGO! 0BA8 stations?

Approximately 200 ms regardless of program scan time, because the LOGO! firmware broadcasts the network variable update on a fixed cycle. For faster analog sharing, use S7 PUT/GET or Modbus TCP polling between the two base units.

Why does my SD card work in a PC but not in the LOGO!?

The LOGO! 0BA8 SD slot accepts micro-SDHC cards up to 32 GB formatted as FAT32. NTFS, exFAT, and SDXC cards larger than 32 GB are not recognized. Reformat the card as FAT32 or replace it with a smaller SDHC card to resolve the issue.

Back to blog