Resolving Siemens LOGO! 0BA2 'Transfer Not Possible' Upload Error

David Krause18 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

Resolving Siemens LOGO! 0BA2 'Transfer Not Possible' Upload Error

Siemens LOGO! 6 controllers in the 0BA2 hardware generation report a hard transfer failure during a PC → LOGO! download when the active program includes blocks or features that the target firmware does not implement. The dialog displays "Transfer not possible, because the connected LOGO! is incompatible" followed by a per-block diagnostic such as "B005/2 Input inversion not supported". The upload aborts before any user data is written, leaving the program in the editor but never reaching the controller. The root cause is a device-variant mismatch between the LOGO!Soft Comfort project setting and the actual 0BA2 hardware connected to the PC, not a circuit wiring or program logic error.

This reference explains the error, walks through the device-selection resolution in LOGO!Soft Comfort, and documents the full set of 0BA0–0BA6 device variants that LOGO!Soft Comfort v6.x exposes in the F12 (Device Selection) dialog, so the same class of error can be prevented on future uploads. The procedure is verified against LOGO!Soft Comfort v6.1.12 running against 6ED1 053-1HB00-0BA2 hardware, and applies unchanged to the full 0BA2 family.

Problem Overview

Symptoms reported on Siemens LOGO! 6ED1 053-1HB00-0BA2 hardware running LOGO!Soft Comfort v6.1.12:

  • Small test programs upload from PC to LOGO! without issue.
  • Larger programs that include basic function blocks — for example, two ON-delay timers in a typical "expanded" test circuit — abort with the dialog "0BA2.L — Transfer not possible, because the connected LOGO! is incompatible."
  • The expanded program passes the F3 "preview" simulation in LOGO!Soft Comfort, so the circuit logic itself is not at fault.
  • Pressing F12 (Device Selection) reveals the connected target as a 0BA2 device, but the program file is tagged to a 0BA2 sub-variant that is not the one physically connected.

Key signals that distinguish this failure from a real circuit error:

  1. The same .LSC / .LGO program uploads successfully to other LOGO! controllers of the same generation.
  2. Simulation in LOGO!Soft Comfort runs without warnings.
  3. The error dialog names a function block and a specific input terminal (for example, B005/2), not a syntax error.
  4. The error message includes the project's compiled target string (0BA2.L) in the header line, which exposes the mismatch directly.

Affected Hardware Identification

Confirm the hardware by reading the part label on the front of the LOGO! module, or by pressing ESC → Start → OK on the LOGO!'s built-in display to view the device identification string. The base MLFB (order number) for the affected 0BA2 generation includes the following common variants:

MLFB (Order Number) Description Display Supply
6ED1 052-1HB00-0BA2 LOGO! 6 0BA2 base module, 8 DI / 4 DO relay Yes 24 V DC
6ED1 052-2HB00-0BA2 LOGO! 6 0BA2 pure module, 8 DI / 4 DO relay No 24 V DC
6ED1 053-1HB00-0BA2 LOGO! 6 0BA2 base module, 8 DI / 4 DO relay Yes 115/230 V AC
6ED1 053-2HB00-0BA2 LOGO! 6 0BA2 pure module, 8 DI / 4 DO relay No 115/230 V AC

From the back of the device or the LOGO! display, also note the firmware version string (for example, "FS:02" for 0BA2). Although firmware is read-only to the user, knowing the version helps confirm that the program is targeting the correct generation. Full device specifications, wiring diagrams, parameter ranges, and the complete MLFB matrix for the LOGO! 6 family are published in the Siemens Industry Online Support portal under product "LOGO!" — search for the 0BA2 system manual for full detail.

Root Cause: Device Variant Mismatch

Every LOGO!Soft Comfort project file (.LSC) embeds a target device string. The string encodes the generation (0BA0 through 0BA6), the variant (Standard, Standard Analog, L, LB11, ES3), and the firmware capability set. When the user presses the PC → LOGO! download button, LOGO!Soft Comfort compares the embedded target against the device type returned by the connected hardware. If the strings do not match exactly, the download is rejected before any user program data is transferred.

In the reported case, the project was created with 0BA2.L selected as the target. The L variant of the 0BA2 generation has a different feature set than the 0BA2.Standard variant that was physically connected. Once the L variant was selected in the project, the function-block compiler accepted certain operand encodings — including input inversion on block input 2 — that the Standard firmware does not implement. The connection-time check catches the discrepancy and aborts the transfer with the B005/2 diagnostic.

Important: The error message reports a function-block feature (input inversion) rather than a function-block type (AND, OR, timer) because LOGO!Soft Comfort stores feature flags at the input terminal level, not at the block level. Two blocks of the same type (B005) on two different variants can therefore produce identical-looking circuits while the underlying capability flag is different.

Other mismatch scenarios that produce the same dialog include:

  • Project tagged 0BA2.Standard Analog targeting a 0BA2.Standard (the Analog variant adds the analog math block set and certain input flags).
  • Project tagged 0BA2.LB11 (long-life battery, no display) targeting a 0BA2.L (logic module, with display).
  • Project tagged 0BA1.* targeting 0BA2.* hardware, or vice versa — generation crossing always fails because the block library differs.
  • Project tagged 0BA3.Standard or later targeting a 0BA2 device — newer generation projects can require blocks the older firmware does not implement.

Error Message Anatomy

The full error sequence reported by LOGO!Soft Comfort v6.1.12 is reproduced below with field-by-field explanation:

0BA2.L
Transfer not possible, because the connected LOGO! is incompatible.
Refer to the device selection dialog to determine which devices
you can use for this program.

0BA2.L:B005/2   Input inversion not supported
Download PC --> LOGO! failed
Field Value (in this case) Meaning
Header line 0BA2.L Device string the project was compiled for
Reason "Transfer not possible…" Compiler-rejected download; no data has been written to the LOGO! yet
Block reference 0BA2.L:B005/2 Block number 005, input terminal 2, in the 0BA2.L project
Block type code B005 Editor-internal block index — for 0BA2 this is a generic boolean / timer block slot, not a fixed function
Capability flag Input inversion Bit 1 of the input descriptor word is set; the connected device firmware does not support it
Result line "Download PC → LOGO! failed" No partial write occurred; project in editor is unchanged

For diagnostic purposes, you can also inspect the capability mismatch from the LOGO!'s on-board display menu under Diagnostics → Program Info, but the PC-side dialog is the authoritative source during a transfer. Note that the "0BA2.L" prefix in the block reference is the project's target string, not the connected device's string — comparing the two prefix segments immediately reveals the mismatch.

Pre-Resolution Checklist

Before changing the project target, perform the following checks to rule out genuine communication issues that can mask the real cause:

  1. Verify the LOGO! is powered and shows a normal status display (or, for "pure" variants, the power LED is steady green).
  2. Confirm the PC ↔ LOGO! cable is the Siemens LOGO! PC cable (6ED1 057-1AA00-0BA0) or a compatible USB-serial adapter. Third-party USB-RS232 converters frequently produce transfer errors that mask the actual cause.
  3. Verify the COM port in Tools → Options → Interface matches the physical port. LOGO!Soft Comfort supports COM1 through COM256 and operates at 19200 baud, 8 data bits, even parity, 1 stop bit by default.
  4. Close other applications holding the COM port (LOGO!Soft Comfort requires exclusive access; tools like Hyperterminal, Putty, or any process with the port open will block the download).
  5. Press Ctrl+H in LOGO!Soft Comfort and confirm the F12 (Device Selection) dialog lists the device you are physically connected to.
  6. If a password is set on the LOGO! and you do not know it, clear the password using the LOGO!'s on-board menu or a master-reset before retrying — protected programs will refuse upload of an incompatible program.
  7. If the LOGO!'s on-board display shows "STOP" or "ERR", the controller has entered a fault state. Acknowledge the error from the LOGO! display before retrying the PC transfer.

Step-by-Step Fix Using Ctrl+H

The canonical fix is to switch the project's target device to match the hardware. LOGO!Soft Comfort exposes this through the hardware-selection dialog, opened with the keyboard shortcut Ctrl+H.

  1. Open the project (.LSC / .LGO) in LOGO!Soft Comfort v6.x.
  2. Press Ctrl+H, or choose Tools → Select Hardware… from the menu. The Hardware Selection dialog opens.
  3. The current target is shown in the dialog title. For the reported case it reads "Target: 0BA2.L".
  4. From the drop-down list of supported devices, choose the variant that matches the hardware. In this case: LOGO! 0BA2.Standard.
  5. Click OK. LOGO!Soft Comfort recompiles the project for the new target. Any blocks that used features unsupported by the new target are flagged in the message list at the bottom of the screen; correct or remove them as required.
  6. Press F5 (PC → LOGO!) to start the download.
  7. If the connection dialog reports a different device still, double-check the cable, COM port, and the target setting, then repeat from step 2.
  8. Watch the LOGO! display during the transfer — the on-board display will switch to "PC<->LOGO!" while data is moving, and return to "RUN" or "STOP" when the transfer completes.
Tip: When you change target with Ctrl+H, LOGO!Soft Comfort performs a project-wide revalidation. The message pane lists any blocks that lost capability. In the original case, the input-inversion flag on B005/2 was silently dropped on the recompile, which is why the program that previously failed now uploads cleanly. Confirm the program logic still matches the intended function before relying on the uploaded version in production.

Alternative Fix: Rebuild the Circuit and Verification Procedure

If you need to keep the L variant as the development target (for example, when sharing a project with colleagues who use the L hardware) but must still deploy to a Standard variant, manually remove the input-inversion marker on the offending terminal:

  1. Double-click block B005 in the FBD editor to open its properties.
  2. On the input tab, find input 2 and clear the Negation checkbox (the small circle that toggles the inversion bit on the input descriptor word).
  3. Click OK to close the block properties dialog.
  4. Recompile the project (the message pane should show no capability errors), then re-attempt the PC → LOGO! download.

This approach is preferable to Ctrl+H when the project is shared across multiple targets, because it preserves the program as a single, target-agnostic source. It does, however, change program behaviour: removing input inversion on a digital block inverts the logic of the affected function, which may require re-engineering the surrounding circuit.

After the download completes successfully, confirm that the running program matches the editor source by performing the following verification steps:

  1. Observe the LOGO! display — if it has one — and use the cursor keys to navigate to the start screen. The current program should show the same block count as the editor (visible in Program → Info on the device, and under Tools → Info in LOGO!Soft Comfort).
  2. From the PC, use LOGO! → Start/Stop in LOGO!Soft Comfort to set the LOGO! to RUN mode (green RUN LED on the device, "RUN" in the on-board display).
  3. From the LOGO! display, navigate to Program → Password if you want to lock the device, or leave it open for additional testing.
  4. Exercise every input that drives a changed block. For the reported case, drive the two ON-delay timers through their full preset times and verify that the corresponding output transitions match the F3 simulation in LOGO!Soft Comfort.
  5. Use the on-board Diagnostics menu to confirm no I/O faults are reported. The display should show "I/O status OK" or the equivalent normal-state indicator.
  6. Save a backup copy of the running program with LOGO! → Upload to PC. This reverse-transfer writes the in-controller program back to the editor for byte-for-byte verification against the original .LSC file.
  7. For a logical (not byte-level) comparison, use Tools → Compare Program. The tool lists differences block-by-block, which is the most reliable way to confirm a successful deploy.

LOGO! 0BA0–0BA6 Device Variant Reference

The following table lists the device strings that LOGO!Soft Comfort v6.x exposes in the F12 (Device Selection) dialog. Each row corresponds to one selectable target. The "L" suffix denotes the logic module with display; "LB11" denotes the long-life-battery logic module without display; "ES3" denotes the engineering sample 3 (early-release variant of 0BA6). When you press Ctrl+H, the dialog offers exactly these strings — selecting any other value causes the program to fail at download time with the dialog described above.

Device String Display Analog Math Max Function Blocks Notes
0BA1.Standard Yes No 56 Early LOGO! 6, base model
0BA1.L Yes (logic module) No 56 Logic module variant
0BA1.LB11 No No 56 Logic module, no display
0BA2.Standard Yes No 56 Target selected in the reported fix
0BA2.Standard Analog Yes Yes 56 Adds analog math block library and analog input flag handling
0BA2.L Yes (logic module) No 56 Source of the mismatch in the reported case
0BA2.LB11 No No 56 Logic module, no display, long-life battery
0BA3.Standard Yes No 130 Expanded block count, faster scan
0BA4.Standard Yes No 130 Adds Ethernet on the -0BA4 module
0BA5.Standard Yes No 200 Adds Ethernet, more memory, expanded I/O
0BA6.Standard Yes No 200 Current production base in the v6 tool line
0BA6.ES3 Yes No 200 Early-release engineering sample of 0BA6

The exact block-count limits and capability flags are documented in the official LOGO! 0BA2 system manual and the corresponding 0BA0 through 0BA6 manuals, available on the Siemens Industry Online Support portal.

Input Inversion Function Support Matrix

Input inversion — the ability to set a NOT bit on any block input terminal — is the capability that triggered the reported B005/2 error. The table below summarises when the feature became fully supported across the LOGO! 6 family. Cross-references point to the relevant Siemens system manual for the generation.

Generation Input Inversion on Digital Blocks Input Inversion on Analog Blocks Source Manual
0BA0 (LOGO! 5) Limited (selected blocks only) Not applicable LOGO! 5 System Manual
0BA1 (LOGO! 6 early) Yes (Standard variant) No LOGO! 0BA1 System Manual
0BA2 (LOGO! 6 standard) Yes on Standard, omitted on L / LB11 No LOGO! 0BA2 System Manual
0BA3 Yes on all variants Yes LOGO! 0BA3 System Manual
0BA4 Yes on all variants Yes LOGO! 0BA4 System Manual
0BA5 Yes on all variants Yes LOGO! 0BA5 System Manual
0BA6 Yes on all variants Yes LOGO! 0BA6 System Manual

The 0BA2 generation is the only one in the LOGO! 6 line where the L / LB11 logic-module sub-variants omit input inversion on the standard digital block set. If you are migrating a 0BA2 program to a 0BA2.L or 0BA2.LB11 device, you must either rebuild the inversion logic with explicit NOT gates or upgrade the hardware to 0BA3 or later.

Block Numbering and Capability Flags

LOGO!Soft Comfort uses a flat block-numbering scheme (B001, B002, B003, …) that is assigned in the order blocks are added to the FBD diagram, not in the order of the underlying function. The block-number prefix in the error dialog (B005) is therefore a project-internal index, not a function code. The capability flag check, by contrast, is a per-input-terminal property stored as a single bit in the compiled input descriptor word.

For the reported case, the B005 block was a generic boolean / timer block, and the offending input was terminal 2. The compiled descriptor word for input 2 had bit 1 (the inversion bit) set, and the 0BA2.Standard firmware reported that bit as unsupported on the connected device. Switching the project target to 0BA2.L would have made the descriptor legal but would have failed the cable check on a Standard hardware, because LOGO!Soft Comfort uses the target string as the primary comparison key. The Ctrl+H device-selection dialog is therefore the only path that produces a working download.

Tip: When you want to find the specific block referenced in an error message, open the project and use Edit → Go to Block… (or press the block number's hyperlink in the message pane). LOGO!Soft Comfort highlights the block in the FBD diagram, and the property dialog shows the offending input and the negation state.

Memory and Resource Limits

Although the reported case is not a memory problem, similar symptoms ("transfer not possible" with no specific block reference) can be caused by exceeding the 0BA2 resource limits. Keep the following ceilings in mind when developing for a 0BA2.Standard target:

  • Maximum 56 function blocks per program.
  • Maximum 250 program memory bytes for the user program (varies with the mix of analog / digital blocks).
  • Maximum 30 digital markers (M1 through M30), 8 analog markers (AM1 through AM8), 32 shift-register bits, 16 open-connector flags.
  • Maximum 16 ON-delay timers, 16 OFF-delay timers, 8 retentive ON-delay timers, 8 weekly timers, 8 yearly timers, 8 pulse generators, 8 edge-triggered pulse relays.
  • Maximum 4 hours per timer, configurable in 0.01 s increments.
  • Maximum 4 counter blocks with upper count limit 999 999 and reference value in the same range.
  • Maximum 8 analog amplifiers, 8 analog comparators, 8 analog threshold triggers, 8 analog multiplexers, 4 PWM outputs.

When the project exceeds any of these limits, LOGO!Soft Comfort blocks the download with a generic "Transfer not possible" dialog and lists the offending resource in the message pane. Resize the program or split it into sub-modules before retrying.

Cable and Protocol Requirements

The PC ↔ LOGO! link uses an asynchronous serial protocol over the Siemens LOGO! PC cable (6ED1 057-1AA00-0BA0) at 19200 baud, 8-E-1. The cable presents itself as a USB CDC device on modern Windows installations and enumerates as a virtual COM port. Older installations use a real RS-232 DB9 connector. The protocol is proprietary to Siemens and is not Modbus — there is no slave address, no register map, and no third-party Modbus gateway to the LOGO! 0BA2.

If the cable is missing or the COM port cannot be opened, LOGO!Soft Comfort reports "Interface not available" rather than the "Transfer not possible, because the connected LOGO! is incompatible" dialog, which is the second reliable way to distinguish a communication failure from a device-variant mismatch. When in doubt, swap the cable, restart LOGO!Soft Comfort, and retry.

Preventing Future Upload Errors

Apply the following field-proven practices to avoid repeating the 0BA2 / LOGO! transfer mismatch:

  1. Always select the target device with Ctrl+H as the first action when opening a project for a new LOGO! module, even if the project file name suggests a specific device.
  2. Document the device string in the project header (use the comment field on the first block, or the project properties Description tab).
  3. Maintain a small inventory of "golden" .LSC templates, one per physical LOGO! module. Editing always starts from the matching template.
  4. When sharing projects between colleagues, include the LOGO!Soft Comfort version and the target device string in the file name (for example, pump_starter_0BA2_Standard_v6.1.12.lsc).
  5. After every successful download, perform the reverse upload (LOGO! → PC) and compare block counts. This catches any silent drop of unsupported features.
  6. Keep LOGO!Soft Comfort updated to the latest service pack of your major version (v6, v7, v8, v8.3, v8.4) — each service pack has extended device support and improved diagnostic messages.
  7. Do not use Ctrl+H as a way to "test" a program on a different target without first understanding which capability flags will be dropped. The tool removes unsupported flags silently, so the program that uploads may not behave like the one in simulation.
  8. Where the program must run on multiple LOGO! variants, write the circuit without input inversion and use explicit NOT gates instead. This makes the program target-portable at the source level.

Frequently Asked Questions

What does the B005/2 error code in LOGO!Soft Comfort mean?

B005 is the editor's internal index for the offending function block; "/2" identifies input terminal 2 of that block. The trailing message ("Input inversion not supported") indicates the capability flag set on that terminal is not implemented in the connected LOGO! firmware. In the reported 0BA2 case, the project was compiled for the 0BA2.L variant, but the connected device was a 0BA2.Standard. Press Ctrl+H in LOGO!Soft Comfort and switch the target to 0BA2.Standard to clear the error.

Why does F3 (preview) simulation succeed while the PC → LOGO! download fails?

The F3 simulator runs the project's logic against an abstract virtual machine that does not enforce device-variant capability flags. The download path performs a separate capability check against the connected firmware and rejects programs that request unsupported features. Simulation succeeding is therefore not a guarantee that the program is deployable to a specific LOGO! device — always validate against the target via Ctrl+H before relying on a downloaded program in production.

Can I use a 0BA2 program on a 0BA3 or 0BA6 LOGO! without rewriting it?

Yes. LOGO!Soft Comfort preserves 0BA2 programs when you open them in a newer tool version. Open the project, press Ctrl+H, and select the new target (for example, 0BA6.Standard). The tool revalidates and recompiles the program. If it raises capability warnings, address them block by block before the download. The reverse path (newer target → older target) is also supported but more restrictive because newer blocks may not exist in older firmware.

What is the difference between 0BA2.Standard, 0BA2.L, and 0BA2.LB11?

All three are 0BA2 generation devices. Standard is the base model with display and the full digital block set including input inversion. L is the logic-module variant intended for systems where the user operates the LOGO! from a remote HMI; it omits some digital-block capability flags including input inversion. LB11 is the long-life-battery L variant with no display. The MLFB on the device label identifies the exact sub-variant.

Will the program I upload back to the PC match the file I downloaded?

Yes, with one caveat. If the original download replaced a capability flag (for example, by removing input inversion on B005/2), the upload returns the post-recompile binary, not the editor source. To verify the editor source matches the controller state, use the Compare function under Tools → Compare Program, which performs a logical (not byte-level) comparison and lists the differences.

How do I identify the exact MLFB and firmware of a 0BA2 LOGO! in the field?

Read the order number (MLFB) from the label on the right side of the module. Press ESC → OK on the device display to enter the main menu, then navigate to Diagnostics → OK and read the firmware string (for example, "FS:02" indicates 0BA2 firmware revision 2). The combination of MLFB and firmware string uniquely identifies the variant and is the only reliable input for selecting the correct target in LOGO!Soft Comfort.

Back to blog