Resolving Missing Q Output on Siemens LOGO! Function Blocks

David Krause11 min read
HMI ProgrammingSiemensTroubleshooting
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 Overview

When programming a Siemens LOGO! logic module in Ladder Diagram (LAD) using LOGO! Soft Comfort, many first-time users insert a function block such as an On/Off Delay, Softkey, Counter, or Edge-Triggered Pulse and discover that the block has no Q output terminal available as a connection point. In Function Block Diagram (FBD) view, the same block clearly shows a Q pin on the right-hand side; in ladder view, only the Input (Trg / I1) and Parameter inputs are wired to contacts. The block appears to have no way of controlling anything downstream, and the program seems incomplete.

This is not a bug and it is not a missing setting. It is a deliberate difference in how Siemens LOGO! Soft Comfort models block outputs between the two IEC 61131-3 editor modes. The Q state still exists internally; the ladder editor simply requires the user to reference that state explicitly through a contact, rather than drawing a coil as a graphical output.

Symptom summary: Function block placed in LAD shows Trg / I1 / Parameter pins only. The Q pin is absent as a connectable element. Downstream logic cannot be triggered from the block's result.

Why Q Output Is Not Visible in Ladder Diagram

LOGO! Soft Comfort supports two graphical editors selected via the toolbar button LAD/FBD:

Editor Block representation Q output handling
FBD Block with input pins on the left, output pin Q on the right Q is a graphical node. Wire directly to next block's input.
LAD Block shown as a rectangular operand; only signal inputs appear as contacts Q is a boolean tag. Place a normally-open or normally-closed contact and bind it to the block's identifier (e.g., B001).

In ladder mode, every element on a rung must be either a contact or a coil. A function block is rendered as a "function box" that exposes its control inputs as contacts preceding the box. The result of the block is stored under the block's instance name (e.g., B001, B002, ...). To use that result downstream, the programmer must drop a new contact on the rung and bind it to the block number. The same applies to auxiliary flags M1-M27, shift register bits, and counter current values when used as boolean sources.

The behavior is consistent with the LOGO! hardware's internal execution model: the base module runs a single scan in which all blocks update their stored outputs, then the program cycle commits those stored values to the outputs and flags. The ladder editor's separation of "block" from "contact" mirrors that scan-order boundary.

Prerequisites

  • PC with LOGO! Soft Comfort installed (current shipping version is part of the LOGO! 8.3 / LOGO! CMR / LOGO! AM2 generation toolchain).
  • A configured LOGO! project (8 base module, 0BA8 standard, or LOGO! 8 FS4) target hardware compatible with the software.
  • At least one digital input assigned (physical I1-I24, or virtual via the LOGO! display).
  • Online or offline simulation ability via Tools → Simulation (LOGO! Soft Comfort supports PC-based simulation without hardware).
  • Familiarity with the toolbar group: Coils and Contacts (F2/F3) and Special Functions (SF).

Confirm the editor mode by checking the lower-left status bar or the toolbar button labelled FBD / LAD. Switching editor modes after the fact does not destroy logic but may require re-inserting wiring on any rung that uses block outputs.

Step-by-Step: Adding a Q Output Reference in Ladder

  1. Place the function block. From the toolbar, click SF (Special Functions), open the Timers group, and select On-Delay. Drop it onto an empty rung. In the dialog, assign trigger input, time base (s/min/h), and on-delay value T. Click OK. The block appears as B001 with a single input contact Trg on its left.
  2. Identify the block number. Note the block identifier (default B001 for the first block placed). All block outputs are referenced by this ID in ladder mode.
  3. Create a new rung downstream. Right-click below the block's rung and choose New Rung, or press Enter at the rung's end to extend the line.
  4. Insert a contact. From the toolbox, click the normally-open contact symbol (or normally-closed if inversion is required). The cursor changes to a contact glyph. Click on the left bus of the new rung to drop it.
  5. Bind the contact to the block output. With the new contact selected, open the block properties (double-click or right-click → Properties). In the dialog, click the dropdown for the contact's signal source and select the block reference, e.g., B001. Alternatively, type B1 / B001 directly into the address field depending on the LOGO! Soft Comfort release.
  6. Wire the contact to a coil or to another block. Place an output coil (e.g., Q1) at the right end of the rung, or wire the contact to the trigger of another function block such as a softkey or counter.
  7. Repeat for every block whose result must be consumed. Each function block that needs its Q state read elsewhere on the diagram must have at least one corresponding contact placed on a rung.
A single block's output can be referenced by multiple contacts on different rungs. This is the ladder equivalent of "fan-out" in FBD. There is no limit other than program memory on how many contacts share one block ID.

Alternative Method: Using Block Properties for Output Assignment

LOGO! Soft Comfort exposes a faster workflow through the block's right-click menu:

  1. Right-click the placed function block (e.g., the On-Delay timer).
  2. Choose Properties.
  3. Switch to the Output tab (or the equivalent assignment panel in your version).
  4. Select the desired contact type (NO or NC) and confirm.
  5. The editor automatically inserts a contact on a new rung bound to this block's Q.

This dialog is also where the Retentivity, Edge detection, and Parameter protection options are set. For an On-Delay timer, the Output tab reveals whether the output is non-retentive (resets on power-cycle) or retentive (persists across power loss), which is independent of how the Q signal is referenced in the diagram.

Working in FBD Mode Instead

If the project is brand new and the user has not yet invested in ladder conventions, switching to FBD eliminates this friction entirely:

  1. Click the FBD toggle in the toolbar.
  2. Insert the same On-Delay block.
  3. Wire the Q pin on the right side of the block directly to a coil Q1, another block's input, or a logic gate.
  4. Verify in simulation (F3 → start).

FBD remains the recommended editor for users new to LOGO! because every block's outputs are visible as graphical pins. Ladder becomes the better choice when the application mimics US-style relay schematics or when the maintenance team is more comfortable reading coils and contacts than reading function boxes.

Criterion FBD LAD
Block output as wire Yes No - contact required
Readability for relay-trained electricians Moderate High
Density (logic per screen) Higher Lower
Debugging online Pin-level power flow Rung-level current flow
User-defined function (UDF) macro support Full Limited in older versions

Common Function Blocks Affected

The "missing Q" issue is not limited to timers. Any function block whose output is boolean behaves identically. The following table lists the Special Functions most frequently encountered in the field:

Block name SF group Q behavior in LAD
On-Delay Timers Reference by block ID, e.g., B001
Off-Delay Timers Same as On-Delay
On-/Off-Delay Timers Two output states referenced as Bxxx
Retentive On-Delay Timers Retentive; Q persists across power-cycle
Wiping Relay (Pulse) Timers One-shot Q; reference via contact
Edge-Triggered Wiping Relay Timers Edge-triggered Q; reference via contact
Softkey Special Toggle/switch Q; reference via contact
Up/Down Counter Counters Q high when count ≥ C; reference via contact
Threshold Trigger Analog Q based on threshold; reference via contact
AND / OR / NAND / XOR gates Basic logic Output is the gate itself - wire directly in FBD
Latching Relay (RS) Basic logic Q stored under block ID; reference via contact
Pulse Relay Basic logic Q stored under block ID; reference via contact

Basic logic gates (AND, OR, NOT) are represented as ordinary coil-and-contact ladders in LAD mode, so their outputs are coil terminals directly. The "missing Q" symptom appears specifically for the Special Functions (SF) blocks, because SF blocks in LAD are drawn as operand boxes rather than as rung elements.

Verification and Testing

  1. Start simulation: Press F3 or click Tools → Simulation → Start. The LOGO! Soft Comfort simulator executes the program on the PC.
  2. Force inputs: Click on input contacts in the diagram to toggle them. Observe the block's internal status window (double-click the block) to confirm the Q state.
  3. Trace the downstream contact: The contact placed on the new rung must change colour (typically red for high, blue for low) in sync with the block's Q. If it does not, the contact is bound to the wrong block or to an auxiliary flag.
  4. Check the status bar: The block identifier and current Boolean state appear in the status line at the bottom of the editor when the block is selected.
  5. Download to hardware: Connect the LOGO! base module via Ethernet (LOGO! 8) or the LOGO! USB cable (older 0BA6/0BA7). Use PC → LOGO! transfer. The on-board display or LOGO! TD will show the live input/output states.
  6. Online monitor: In Online → Online Test mode, every contact and block fills with a colour representing its energised state. Walk the program from input through block to downstream coil to confirm continuity.
If the contact bound to B001 never energises, double-check that the block number was not changed by an automatic renumbering after inserting a new block above it. Re-open Tools → Block Number Overview to see the canonical mapping.

Troubleshooting Matrix

Symptom Likely cause Remedy
Q pin absent on every SF block Editor mode is LAD Switch to FBD, or learn the contact-binding workflow for LAD
Contact placed but never energises Bound to wrong block ID after renumbering Open Block Number Overview, rebind the contact
Contact energises but coil Q1 stays off Rung has a broken power rail Verify both ends of the rung connect to the vertical buses
Output works in simulation but not on hardware Wrong hardware target selected in project properties Open File → Properties, set correct LOGO! version (e.g., 0BA8 / FS:04)
Q reverts immediately after trigger Off-Delay timer parameter too short, or retentive disabled Review T parameter; enable retentivity if persistence is required
Block properties dialog does not show Output tab Block type does not have a boolean Q (e.g., pure timer constants) Verify the selected SF block matches the desired function
Multiple rungs reference the same block, one works one does not One contact was set as NC (normally closed) instead of NO Open contact properties and toggle NO ↔ NC
Q works on the LOGO! display but not in PC monitoring Online mode not active Click Online → Go Online to enable live state feedback

Best Practices and Field Notes

  • Choose the editor once and stick to it. Mixing LAD and FBD in the same network is permitted but makes program review harder. Decide based on the maintenance team's skillset.
  • Use the Block Number Overview routinely. It is the single source of truth for which block ID holds which logic. Reference it before binding contacts.
  • Tag retentive blocks explicitly. On-Delay and Counter blocks retain their Q across power-cycle only if the retentivity flag is set in block properties. A reference contact that appears "stuck" after a power-cycle may be a retentive block, not a wiring error.
  • Avoid hand-typing block IDs. Use the dropdown selector. LOGO! Soft Comfort versions vary on whether the address field accepts B001, B1, or a hex form. The dropdown guarantees compatibility with your installed build.
  • Leverage User-Defined Functions (UDF) for repeated sub-circuits. A UDF behaves like a custom block and exposes its own boolean output pins, eliminating per-instance contact binding.
  • Document block purpose in the block comment. Right-click any block → Comment. This text appears in the Block Number Overview and the PDF export, which simplifies maintenance handoff.
  • Simulate every program before download. The PC simulator runs the same cycle as the hardware. Catch wiring mistakes in the simulator rather than on the plant floor.

Reference Summary

The apparent "missing Q" output on Siemens LOGO! function blocks in ladder diagram is the editor's deliberate separation of block execution from rung wiring. In FBD the Q pin is a graphical node; in LAD the Q is a stored boolean referenced by a contact bound to the block's instance number. The fix is structural, not a setting: place a contact, bind it to the block ID, and wire it to a coil or another block's input. The same pattern applies to softkeys, counters, threshold triggers, and any other Special Function with a boolean output.

Why does my LOGO! function block not show a Q output in ladder logic?

In LAD mode, Siemens LOGO! Soft Comfort renders Special Function blocks without a graphical output pin. The block's Q state is stored under its instance ID (e.g., B001). To use the output, drop a normally-open or normally-closed contact on a new rung and bind it to that block ID via the contact's properties dialog.

How do I add the Q output to a timer or softkey in LAD?

Place a new contact (F2) on a downstream rung, open its properties, and select the block's ID from the signal-source dropdown. Then wire that contact to an output coil (Q1) or to the input of another function block. The same workflow applies to softkeys, counters, threshold triggers, and RS flip-flops.

Is the missing Q a bug in LOGO! Soft Comfort?

No. It is the standard IEC 61131-3 ladder convention: function blocks in LAD are represented as operand boxes whose results are read via contacts bound to the block identifier, not as graphical output terminals. Switching the editor to FBD restores the visible Q pin.

Can one LOGO! block output drive multiple downstream contacts?

Yes. A single block ID can be referenced by any number of contacts on different rungs. This is the LAD equivalent of signal fan-out in FBD. There is no software-imposed limit other than the LOGO!'s program memory and maximum block count.

Should I program in LAD or FBD for a new LOGO! project?

Use FBD if the maintenance team is engineering-trained; the visible Q pins simplify wiring and reduce binding mistakes. Use LAD if the team is relay-schematic-trained or if the installation mimics US-style ladder documentation. Mixing modes in one program is permitted but should be avoided for readability.

Back to blog