1. Problem Description
When a circuit program is transferred from LOGO! Soft Comfort to a Siemens LOGO! base module, the engineering software performs a final integrity scan. If any function block has an output pin that is not wired to a downstream destination, the compiler refuses to commit the project and reports an Info window entry similar to:
Blocks without connection to an output:
B003 [Analog Amplifier]
B004 Larm 1 [Message texts]
B005 larm2 [Message texts]
Download PC --> LOGO! failed
The message is identical across LOGO! Soft Comfort V6.x, V7.x, and V8.x; only the German localization differs (Blöcke ohne Anschluss an einen Ausgang). The block-number prefix is the internal Bxxx ID assigned by the editor in the order the blocks were instantiated, which is why a fresh project may report B003, B004, B005 while a larger program reports B128, B129.
The error class is well-defined: the offending block compiled, but its output node was left dangling. The LOGO! runtime cannot accept this because every block in the scan table must produce a value into a downstream sink on every cycle; an unterminated output corrupts the buffer that is later flushed to the EEPROM image and the firmware rejects the write.
2. Why Simulation Succeeds But Download Fails
The simulation kernel in LOGO! Soft Comfort is a PC-side Java interpreter that executes the circuit diagram as an in-memory dataflow graph. It is permissive by design:
- No EEPROM commit step – the simulator never persists state to flash, so the integrity check that guards the flash write is skipped.
- Orphaned outputs are tolerated – the simulator simply drops the unwired value at the end of each cycle and continues.
- Block number assignment is virtual – B-numbers in simulation are logical labels; they do not have to map 1:1 to runtime slots.
The on-device runtime, by contrast, builds a fixed-size scan table in RAM at boot. Each block slot must have a valid output_sink_index. When the firmware's pre-flash validator walks the table and finds an entry with no sink, it aborts with the Info window message and never writes the program to the LOGO!'s flash partition.
That is why a program that has been running flawlessly in Simulate Mode (F3) can refuse to download the moment you press PC → LOGO! (F4). The simulation is not wrong about program behavior; it simply does not exercise the hardware commit path.
3. LOGO! Cyclic Execution Model and Block Sinks
Every LOGO! function block has exactly one output (with the documented exceptions of marker/flag blocks M.. and the special outputs of certain counters). The cyclic scan proceeds in this order:
- Read inputs – physical digital inputs I.. and analog inputs AI.. are sampled.
- Evaluate blocks – each function block computes its output value from its current inputs.
- Write outputs – each block's output value is delivered to its assigned sink.
A sink can be any of:
| Sink type | Identifier example | Used for |
|---|---|---|
| Physical digital output | Q1, Q2, ... | Real relays / transistors on the base module |
| Physical analog output | AQ1, AQ2 (LOGO! 8 with AM2 AQ) | 0–10 V or 4–20 mA outputs |
| Digital marker (flag) | M1 – M27 (LOGO! 6/7) / M1 – M64 (LOGO! 8) | Internal boolean memory |
| Analog marker / flag | AM1 – AM6 / AM1 – AM64 | Internal 16-bit analog memory |
| Open connector (sink) | X1, X2, ... X64 | No-op boolean sink that satisfies the compile check |
| Analog open connector | AX1, AX2, ... AX16 | No-op analog sink |
| Block input pin | Trg / + / – / EN / R / Par | Wired downstream into another block |
The "open connector" is the LOGO!-specific term for a sink that absorbs the value but does not interact with the rest of the program. It is the canonical fix for the Blocks without connection to an output error.
4. Open Connectors X1..Xn: The LOGO! Termination Sink
An open connector in the LOGO! editor (German: Offener Konnektor) is a triangular symbol that visually resembles a connector pointing into empty space. Electrically it is a hard-wired boolean or analog ground – it consumes the value and prevents the compiler from flagging the block as unterminated.
Quantities depend on the LOGO! generation and firmware revision:
| Generation | Digital open connectors | Analog open connectors | Catalog (base module) |
|---|---|---|---|
| LOGO! 6 (0BA6) | Up to 8 (X1–X8) | 0 | 6ED1052-1xx06-0BA0 |
| LOGO! 7 (0BA7) | Up to 16 (X1–X16) | 0 | 6ED1052-1xx07-0BA0 |
| LOGO! 8 (0BA8 / FS4) | Up to 64 (X1–X64) | Up to 16 (AX1–AX16) | 6ED1052-1xx08-0BA1 |
| LOGO! 8.3 (0BA8.3) | Up to 64 (X1–X64) | Up to 16 (AX1–AX16) | 6ED1052-1xx08-0BA2 |
To place an open connector in the FBD editor, drag the connector from the block's output pin toward the right margin and release the mouse outside the canvas; the editor will snap a triangular X1, X2… symbol into place. In the LAD editor the open connector is hidden behind a contact coil symbol and is much harder to spot – this is why most "first program" tutorials recommend authoring in FBD first.
5. Terminating Message Text Blocks
The Message text block (function block group "Message texts") has two pins that frequently confuse first-time users:
- En (Enable) – boolean input that arms the text. While En = 1, the configured string is displayed on the LOGO! TD or built-in display.
- Q (Output / Acknowledge) – boolean output that pulses high for one cycle when the operator acknowledges the message via the ESC or OK key.
If the Q output is left dangling, the firmware refuses the program because the block produces an acknowledge pulse that has nowhere to land. Even when you do not care about the acknowledge signal, you must terminate it.
Recommended fixes:
- Single message, single sink: Wire Q directly to an open connector X1. This is the textbook fix and consumes one of your digital open connectors per message.
- Multiple messages, single sink: Wire all Q outputs into an OR cascade and feed the cascade into X1 (see Section 7).
- Use the acknowledge: If you genuinely need the acknowledge pulse – for example to clear an alarm latch – wire Q into the reset (R) pin of the corresponding SR flip-flop or the Reset input of a retentive on-delay.
6. Terminating Analog Amplifier Blocks
The Analog Amplifier block (function block group "Analog") performs a linear gain-and-offset on its input:
Output = (Input + Offset) * Gain
Typical use: scaling a 0–10 V transducer (e.g. PT1000 via AM2 RTD) into engineering units, or trimming a sensor that does not reach its full electrical range at the desired process range.
Because the amplifier produces a 16-bit analog value (–32768…+32767), its output must terminate into an analog sink. Options:
| Sink | Typical use |
|---|---|
| AX1 – AX16 (analog open connector) | No-op termination when downstream use is implicit |
| AM1 – AM64 (analog marker / flag) | Reuse the scaled value later in the program |
| Analog comparator input "AX" | Threshold detection on the scaled value |
| AQ1 / AQ2 (physical analog output) | Drive a real 0–10 V or 4–20 mA actuator |
| Analog threshold trigger "Ax" | Convert scaled analog into boolean alarm |
Attempting to terminate an analog output with a digital open connector (X1) will fail at compile time with a different message: Type mismatch between analog block output and digital sink. The two open-connector namespaces are independent.
7. OR Cascade Termination Pattern for Many Blocks
When the program contains dozens of message text, PI controller, or PWM blocks whose outputs you do not consume, terminating each with its own open connector is wasteful and obscures the diagram. The canonical engineering pattern is a single sink fed by an OR cascade:
The pattern:
- Choose one digital open connector – for example
X1. - Build a tree of OR blocks. Two-input OR is the smallest, but LOGO! supports 4-input OR variants which compress the diagram further.
- Wire every "throwaway" output into an OR input. Group by function for readability (all message texts → one branch, all spare PWM Qs → another).
- Wire the cascade's terminal OR output to
X1.
For 50 message text blocks you can collapse the entire termination into a single X1 by using one 4-input OR feeding one 16-input OR feeding X1. The pattern is invisible to runtime behavior because OR with a never-consumed output is logically transparent; the firmware still builds the cascade in the scan table, but no external effect is observed.
8. Analog Marker Termination via Threshold Trigger
When you must terminate an analog output but want the value to remain visible for diagnostics, route it through an Analog Threshold Trigger to convert it to a boolean:
- Insert an Analog Threshold Trigger (function block group "Analog").
- Connect the analog block's output to the threshold trigger's
Axinput. - Set
On= 0 (any value triggers) andOff= 1 (immediately resets) – this turns the block into a transparent boolean echo. - Wire the threshold trigger's
Qoutput into the OR cascade feeding X1.
The threshold trigger's hysteresis behavior is irrelevant because the comparator saturates immediately on each cycle; the only purpose is to provide a digital sink for the otherwise analog signal. This pattern is the recommended way to terminate Analog Amplifier, Analog Math, PI Controller, and PWM outputs that you want to leave accessible to the Online Monitor (LOGO! Soft Comfort → Tools → Online Monitor).
9. LAD vs FBD Editor: Open Connector Visibility
LOGO! Soft Comfort supports three editors:
| Editor | Open connector rendering | Typical use |
|---|---|---|
| FBD (Function Block Diagram) | Triangular symbol, obvious termination point | Preferred for first-time users; matches the wiring metaphor of relays |
| LAD (Ladder Diagram) | Hidden inside a coil symbol; visually absent from the rail | Preferred by technicians familiar with American-style ladder |
| UDF (User-Defined Function) | Encapsulated sub-diagram with explicit terminals | Reusable macro blocks |
In FBD, an unterminated block output looks like a wire leading off the canvas – the editor even renders a small red "open" symbol at the end of the wire. In LAD, the same situation appears as a coil symbol with no following contact, which is easy to miss.
The recommended workflow for first programs is therefore:
- Author the program in FBD.
- Use File → Convert → LAD to generate the ladder view.
- Inspect every rung for an "orphan" coil at the right rail.
- Right-click the coil → Replace with Open Connector (or assign a known Xn sink).
This conversion is one-way (LAD → FBD preserves topology but loses comments); keep the FBD as the master file.
10. Step-by-Step Resolution Procedure
Use this procedure when the Info window reports Blocks without connection to an output:
-
Read the Info window. Note every block number and block type – for example
B003 [Analog Amplifier],B004 Larm 1 [Message texts],B005 larm2 [Message texts]. - Locate each block. In FBD, scroll to B003. In LAD, use Tools → Go to Block Number (Ctrl+G) and enter the B-number. The editor highlights the block.
- Inspect the output pin. Right-click the output node → Properties. Confirm that no wire, marker, or open connector is attached.
-
Decide the sink.
- If you need the value, wire it to a downstream block input, marker (M.. / AM..), or physical output (Q.. / AQ..).
- If you do not need the value, wire it to the appropriate open connector (X.. for digital, AX.. for analog).
- For multiple orphans, build an OR cascade as described in Section 7 and feed a single X1.
-
Save and re-validate. Press F5 (Compile) or simply re-attempt the download. The Info window should now show
Download PC → LOGO! successfulfor every block. - Document the cascade. Add a comment on the OR cascade – "Termination sink for B004–B053 message acknowledge pulses" – to spare the next maintainer the same detective work.
11. Verification and Commissioning Checks
After the download succeeds, perform these checks before considering the issue closed:
| Check | Procedure | Pass criterion |
|---|---|---|
| Online connection | LOGO! Soft Comfort → Tools → Connect → PC ↔ LOGO! | Status bar shows online; LED on module blinks green |
| Online monitor | View → Online Monitor | Each formerly-orphaned block shows a green "valid" indicator and a current value |
| Message acknowledge | Trigger each message via its En input; press ESC/OK on the LOGO! TD or LOGO! display | Acknowledge pulse propagates; alarm latch (if any) clears within 100 ms |
| Cycle time | LOGO! menu → Diagnostics → Cycle Time | Cycle time < 90% of program budget (typically < 10 ms for small programs) |
| Power cycle | Remove and reapply 24 V supply | Project reloads without the same error; no retentive data loss |
| Watchdog | Leave in RUN for > 1 hour under load | No spontaneous STOP; cycle time stable |
If a previously-silent message text now latches an alarm unexpectedly, you have likely terminated its Q output into a marker that another block reads. Confirm the wiring by toggling the marker in Online Monitor and observing the dependent block.
12. Software and Firmware Compatibility Matrix
The error condition and its fix exist across all generations, but the editor vocabulary and the catalog numbers evolve:
| Soft Comfort version | Target LOGO! | Open connectors (digital) | Open connectors (analog) | Notes |
|---|---|---|---|---|
| V6.1.x (e.g. 6.1.12) | LOGO! 6 (0BA6) | X1–X8 | — | First version to localize the error string in English |
| V7.x | LOGO! 7 (0BA7) | X1–X16 | — | Adds Ethernet base modules |
| V8.0 / V8.1 | LOGO! 8 (0BA8) | X1–X64 | AX1–AX16 | Web server introduced; OR cascade still applies |
| V8.2 / V8.3 | LOGO! 8.3 (0BA8.3) | X1–X64 | AX1–AX16 | Adds MQTT and S7 communication; same termination rules |
If you must migrate a V6.x program forward (for example to a LOGO! 8.3 base module), open the .lsc file in the newer Soft Comfort and re-validate – block numbers are preserved but new open-connector slots become available. Always cross-check the on-device firmware (LOGOWIN → Diagnostics → Module Info) matches the minimum required by Soft Comfort's download guard.
13. Troubleshooting Matrix: Symptom to Fix
| Observed Info / Symptom | Likely cause | Corrective action |
|---|---|---|
Blocks without connection to an output: Bxxx [Analog Amplifier] |
Analog amplifier output unwired | Wire to AX1, AM1, AQ1, or Analog Threshold Trigger → OR → X1 |
Blocks without connection to an output: Bxxx [Message texts] |
Message acknowledge Q output unwired | Wire Q to OR cascade → X1, or to a downstream reset input if needed |
Blocks without connection to an output: Bxxx [PI Controller] |
PI controller's manipulated variable output unused | Wire AQ to actuator or to analog open connector if used purely as calculation |
Type mismatch: analog output connected to digital sink |
Wired an analog block's output to an X1..Xn open connector instead of AX1..AXn | Replace digital sink with analog open connector or analog marker |
| Download succeeds in simulation but fails on hardware with the same Info | Expected; simulation skips the compile check | Apply the open-connector fix from Section 4 |
| "Out of open connectors" error | Program exceeds available X1..Xn slots (rare on LOGO! 8) | Consolidate with OR cascade; or, on LOGO! 6, reduce message count or replace with a multiplexer pattern |
| Acknowledge pulse lost after fix | Wired Q to OR cascade which is never read | Wire Q directly to a known sink (marker M..) if acknowledge behavior is required |
| Program downloads but cycle time doubles | OR cascade has grown too deep | Use 4-input OR variants; consider folding messages into a single parameter block |
14. Best Practices for Clean Program Topology
Engineers who build dozens of LOGO! programs hit the same handful of issues. Adopt these habits up front:
- Reserve one X1 OR cascade at the bottom-right of every new project, hidden off-canvas, and route every "don't-care" output into it. Add a comment so the next maintainer understands the pattern.
- Use markers instead of open connectors when you might need the value later. Open connectors are write-only; markers expose the value to Online Monitor and to subsequent logic.
- Convert FBD → LAD only after the FBD is clean. LAD hides terminations and obscures the cascade pattern.
- Avoid dangling Q outputs on latched alarms. Use the Q to drive the reset of the corresponding SR flip-flop; this gives you a self-clearing alarm and documents intent.
- Run the integrity check before every download. File → Properties → Information tab lists all warnings; download-time Info window is a last-resort diagnostic.
- Keep the analog and digital namespaces separate. A digital open connector cannot absorb an analog value; build a separate AX cascade for analog terminations.
- Document open-connector cascades. A cascade that consumes 50 message acknowledges looks like dead code to the next engineer. Label it explicitly.
For further reference, see the official Siemens Industry Online Support portal for LOGO! 8 system manuals (search for "LOGO! 8 manual") and the LOGO! product page. The Soft Comfort online help (F1 inside the editor) contains a dedicated section on open connectors with animated FBD examples.
15. Frequently Asked Questions
Why does my LOGO! program run correctly in simulation but fail to download with "Blocks without connection to an output"?
The simulation kernel in LOGO! Soft Comfort is a PC-side interpreter that does not enforce block-output wiring. The on-device firmware requires every function block to produce a value into a downstream sink on every scan; an unwired output is rejected before the project is written to flash. Terminate every orphan with an open connector (X1..Xn for digital, AX1..AXn for analog) or a real downstream connection.
How many open connectors does a LOGO! 8 base module provide?
A LOGO! 8 (0BA8 / FS4, MLFB 6ED1052-1xx08-0BA1) provides up to 64 digital open connectors (X1–X64) and up to 16 analog open connectors (AX1–AX16). The exact count is firmware-dependent; verify against the device-specific system manual on the Siemens Industry Online Support portal for your exact MLFB and firmware revision.
Can I terminate 50 message text blocks with a single open connector?
Yes. Wire every message text's Q output into a tree of OR blocks (use the 4-input OR variant to compress the diagram) and feed the cascade into a single X1 open connector. The pattern is logically transparent and adds only microseconds of scan delay. Document the cascade with a comment so future maintainers understand it is intentional termination.
Why does my Analog Amplifier block fail with "type mismatch" when I terminate it with X1?
X1..Xn are digital open connectors and cannot absorb a 16-bit analog value. Use the analog open connector namespace AX1..AX16, an analog marker AM1..AM64, a physical analog output AQ1/AQ2, or an Analog Threshold Trigger to convert the value to a boolean before feeding it into the digital OR cascade.
Should I author my first LOGO! program in FBD or LAD?
Author in FBD. Open connectors render as visible triangular symbols in FBD, making unterminated outputs obvious. In LAD, open connectors hide behind coil symbols and are easy to miss, which is the most common reason first-time LAD users hit the "Blocks without connection to an output" error after weeks of successful simulation. Once the FBD is clean, convert to LAD with File → Convert → LAD if a ladder view is required for documentation or operator display.