Overview
Mistakes in field wiring of a Siemens LOGO! 8 system are easy to introduce and hard to find once the program is loaded and the panel is closed. A single swapped pair of conductors on a LOGO! 8 base module (8 digital inputs, 4 relay/transistor outputs) or a DM8 expansion (8 digital inputs, 8 digital outputs) can produce a logic condition that looks correct during simulation but fails the moment real-world devices are energised. The standard remedy is a dedicated I/O test program that exercises every input and every output from the front-panel cursor keys, with on-board feedback for the technician.
This article documents both techniques a field engineer has at hand on a LOGO! 8:
- The built-in status display (no program changes required) for read-only verification of digital and analog I/O.
- A custom test program built in LOGO! Soft Comfort V8.3 that lets the engineer step through I/O 1…16 (in the typical base + DM8 configuration) and force each output independently.
Both methods together close the loop between physical wiring and the logical tag the LOGO! program refers to, which is the only reliable way to catch label-related defects such as a wireman running out of "1" labels and wiring conductor 11 into terminal I10.
Prerequisites
- LOGO! 8 base module with on-board display (for example, 6ED1052-1MD08-0BA1 in 12/24 V variant, or 6ED1052-1FB08-0BA1 in 230 V variant).
- One DM8 digital expansion module (6ED1055-1MB00-0BA2 for 12/24 V or 6ED1055-1HB00-0BA2 for 230 V) installed to the right of the base.
- LOGO! Soft Comfort V8.3 (or later) installed on a Windows PC. The project file must be in
.lscform so it can be transferred to the LOGO! via Ethernet, micro-SD card, or USB cable. - Power supply isolated from field wiring until the test program is loaded and the engineer is ready to drive outputs.
- Wiring diagram marked up with the LOGO! terminal numbers (I1…I8 on the base, I9…I16 on the DM8; Q1…Q4 on the base, Q5…Q12 on the DM8).
- A separate hand-held continuity tester or signal generator — the test program verifies the LOGO! side; the continuity tester verifies the field side.
LOGO! 8 Hardware Identification and I/O Map
LOGO! 8 maintains a fixed I/O numbering scheme that follows the physical order of modules from left to right. The base unit occupies address space first, the first expansion second, and so on up to the maximum of 24 digital inputs, 20 digital outputs, 8 analog inputs, and 8 analog outputs supported by the controller.
| Slot | Module | Typical Order Number | Digital Inputs | Digital Outputs | Analog Inputs |
|---|---|---|---|---|---|
| 1 (base) | LOGO! 8 with display | 6ED1052-1MD08-0BA1 / -1FB08-0BA1 | I1 – I8 | Q1 – Q4 | AI1, AI2, AI3, AI4, AI5, AI6, AI7, AI8 |
| 2 (expansion) | DM8 12/24 or 230 | 6ED1055-1MB00-0BA2 / -1HB00-0BA2 | I9 – I16 | Q5 – Q12 | — |
| 3+ | Further DM8 / DM16 / AM2 / AM2 RTD / AM2 AQ | 6ED1055-1xx00-0BA2 / 6ED1055-1MA00-0BA2 | I17, I18, … | Q13, Q14, … | AI9, AI10, … |
The addressing is automatic and follows the slot position. If a module is removed or swapped, the addressing changes. Always re-validate the test program when hardware topology is altered. The full addressing rules are documented in the LOGO! 8 system manual, entry ID 109741041.
Built-in Status Display Procedure
LOGO! 8 with on-board display (or connected LOGO! TDE 6ED1055-4MH08-0BA1) ships with a status page accessible through the front-panel keys — no program modifications required. The sequence below is taken from the on-board help and from the LOGO! 8 system manual.
- From the date/time display, press ESC to move into the main menu.
- Press the Down cursor key until the clock symbol appears (the “set date/time” screen is the anchor point that all engineers should remember — it is one cursor-down from the start screen).
- Press Left or Right to cycle through status pages:
DI(digital inputs),DQ(digital outputs),AI(analog inputs),AQ(analog outputs),Marker(internal flags), and the active program counters/timers. - For an analog input, press OK to enter a sub-menu listing the eight possible sources (AI1 … AI8, AM1 … AM6 in expansion order, plus network analog inputs from S7/Modbus). Select a source and press OK to see a trend view on the TDE. The trend scrolls from right to left at the LOGO! sampling interval and is invaluable for diagnosing PT100/0–10 V signals.
The built-in status page is read-only: it shows the current logic state of every I/O but it cannot force an output. To prove the wiring of an output coil back to its physical terminal, you need the custom test program described in the next section.
Custom Test Program: Functional Specification
The objective is a program that runs in addition to (or in place of) the production logic and gives the engineer four controls and three pieces of on-screen feedback:
| User Action (front panel) | Function | Display Feedback |
|---|---|---|
| ESC + Up | Increment the currently selected I/O number (1 → 16) | Selected number, live input state, live output state |
| ESC + Down | Decrement the currently selected I/O number (16 → 1) | Same as above |
| ESC + Right | Force the currently selected output ON (latched) | Output state toggles to 1 |
| ESC + Left | Force the currently selected output OFF (latched) | Output state toggles to 0 |
| Physical input transition (rising edge on the selected I) | Toggle the selected output (handy for sensor-pair test) | Output state inverts |
Design constraints:
- 16 possible “slots” for inputs and 12 for outputs in the base + DM8 configuration. The program should still operate correctly if the expansion module is later swapped for a DM16 (raising the output count to 20) without code changes — select numbers above 12 are simply ignored by the output block.
- Cursor keys on the LOGO! TDE are inputs
C↑,C↓,C←,C→, with edge-triggered behaviour available via the "Edge" property in the FBD block properties. - Use a Message Text block to drive the display; embed a bar graph or character to indicate the boolean state and show the integer index in a 2-digit field.
LOGO! Soft Comfort Implementation
The FBD program is built from a small set of standard blocks. The structure below has been validated on LOGO! Soft Comfort V8.3.0 — the same logic can be re-typed in Ladder (LD) using contact/coil equivalents.
Block List
| Block | Type | Function | Notes |
|---|---|---|---|
| B01 | Up/Down Counter | Holds the currently selected I/O index (1 … 16) | Set On = 1, Set Off = 16, Trigger + = C↑ edge, Trigger - = C↓ edge |
| B02 | Edge / pulse relay | Generate a one-cycle pulse on C↑ | Connects to counter + input |
| B03 | Edge / pulse relay | Generate a one-cycle pulse on C↓ | Connects to counter - input |
| B04 | Analog Multiplexer (16→1) | Route the digital input that matches the current index onto a single bus | Inputs = I1 … I16; selector = B01.CV |
| B05 | Analog Multiplexer (16→1) | Route the latched output state (Q1…Q12) to display | Q13/Q14 are 0 by default — covered by the DM8 limit |
| B06 … B21 | 16× SR latch | Forced output state memory; one per output Q1 … Q12 + 4 spares | Set input = "force ON" pulse; Reset input = “force OFF” pulse |
| B22 | Pulse relay | One-cycle pulse on C→ | Feeds the Set input of the currently addressed SR latch |
| B23 | Pulse relay | One-cycle pulse on C← | Feeds the Reset input of the currently addressed SR latch |
| B24 … B35 | 16× 16→1 demultiplexer (built from AND gates) | Pass the Set/Reset pulse only to the latch whose index matches B01.CV | Each output i = (B01.CV == i) AND (force_pulse) |
| B36 | OR (12 inputs) | Combine the production logic with the test latches on a per-output basis | Q1_final = Q1_production OR B06; ...; Q12_final = Q12_production OR B17 |
| B37 | Message Text | LCD display | See format below |
Message Text Format
The Message Text block is configured with a 4-line layout. Bar-graph flags are used to render the input and output state as filled / empty rectangles:
Line 1: "I/O Test I=#0010"
Line 2: "Index = 04"
Line 3: "Input : ##" (## replaced by B04 output, 0 or 1)
Line 4: "Output : ##" (## replaced by B05 output, 0 or 1)
Edge-Triggered Cursor-Key Detection
In LOGO! Soft Comfort, place the cursor-key marker on a digital input of any block and tick the Edge property in the block properties dialog. This converts a long key-press into a one-scan pulse, which is required to avoid multi-incrementing the counter on a single keypress.
Code Skeleton (FBD Excerpt)
+--[ C↑ ]--[ Edge ]--+--> B01.Trig+
| |
+--[ C↓ ]--[ Edge ]--+--> B01.Trig-
+--[ C→ ]--[ Edge ]--+--> (AND with index-match) --> SR_Set
+--[ C← ]--[ Edge ]--+--> (AND with index-match) --> SR_Reset
+--[ I1 ]--+
+--[ I2 ]--+
+-- ... +--> [ MUX 16→1, Sel = B01.CV ] --> Display.InVal
+--[ I16 ]--+
+--[ B06.Q ]--+
+--[ B07.Q ]--+
+-- ... +--> [ MUX 16→1, Sel = B01.CV ] --> Display.OutVal
+--[ B17.Q ]--+
+--[ Q1_production ]--[ OR ]--[ B06.Q ]------> Q1
+--[ Q2_production ]--[ OR ]--[ B07.Q ]------> Q2
+-- ... etc.
Alternate Ladder Logic Skeleton
The same logic is straightforward in Ladder for engineers more comfortable with contacts and coils:
| C↑ CU B01 (Up counter, preset = 16)
| C↓ CD B01 (Down counter)
|
| C→ ( B01.CV == 1 ) SET B06 (force Q1 ON when index = 1)
| C← ( B01.CV == 1 ) RST B06 (force Q1 OFF when index = 1)
| C→ ( B01.CV == 2 ) SET B07 (force Q2 ON when index = 2)
| C← ( B01.CV == 2 ) RST B07 (force Q2 OFF when index = 2)
| ... repeat for index 3 … 12 ...
|
| B06 ------ Q1
| B07 ------ Q2
| ...
| B17 ------ Q12
Step-by-Step Commissioning Procedure
- Verify the wiring diagram. Confirm terminal numbers against the LOGO! hardware label (printed on the right side of the device) and not against the field-side terminal block sticker alone.
- Power up with field devices isolated. Close contactors upstream; lock out motor starters. Outputs Q1 … Q12 may be in an undefined state at first power-up.
-
Connect the PC to the LOGO! Ethernet port (or insert a micro-SD card with the
.lscfile). Load the test program while the controller is in STOP mode. - Place the LOGO! in RUN. The display should now show the test program front panel.
- Test the inputs. Press ESC + Up to step to index 1. Drive the corresponding field input (close a contact, apply 24 V, etc.) and verify the display Input field toggles to 1. Repeat for indices 2 … 16.
- Test the outputs. With the field side of the output isolated, press ESC + Right at index 1 to force Q1 ON. Use a multimeter at the LOGO! terminal to confirm voltage. Press ESC + Left to clear. Repeat for Q2 … Q12.
- End-to-end test. Reconnect field wiring. Drive a known input and watch the production logic produce the expected output. This final test verifies both the wiring and the program simultaneously.
- Document the results. Print or save the test sequence for inclusion in the FAT/SAT documentation package.
Verification and Acceptance
The test program is "passing" when the following checklist is complete:
- Every digital input I1 … I16 toggles the corresponding Input field on the display when its physical terminal is forced high (and only when forced on that terminal).
- Every digital output Q1 … Q12 can be latched ON and OFF from the front panel cursor keys, and the change is observable on the physical terminal with a voltmeter or scope.
- The MUX output for index N matches In (input) and Qn (output) — i.e. the slot count is monotonic and there are no off-by-one errors in the counter limits.
- Removing the SD card or breaking the Ethernet link does not freeze the program: the on-board display continues to show live I/O state.
- Once a fresh production program is loaded, no SR latches from the test program remain set (clear all latches with a "Reset" in the Soft Comfort online menu before download).
Troubleshooting Matrix
| Symptom | Likely Root Cause | Diagnostic Step | Fix |
|---|---|---|---|
| Display index wraps from 16 to 1 unexpectedly | Counter preset/reset not configured | Open B01 properties in Soft Comfort | Set On = 1, Set Off = 16 |
| Pressing C↑ advances index by more than 1 | Cursor key not configured as edge-triggered | Inspect block properties; add a pulse relay | Tick "Edge" or insert a pulse relay between C↑ and the counter |
| Display "Input" field does not change for one index | Wire mis-label or off-by-one wiring defect (the failure mode the article’s anecdote describes) | Compare wireman’s terminal label to the field conductor, continuity test | Re-terminate the offending conductor and update the as-built drawing |
| Force ON pulse does not energise the physical output | Production logic OR latch not wired, or output relay failed | Monitor B36 output in online mode; check the relay with a hand-held tester | Verify the OR gate wiring in B36; replace the relay module |
| All forced outputs drop on the next scan | SR latch has a higher-priority Reset from the program | Inspect the Reset input of the affected B06 … B17 block | Remove the spurious Reset or qualify it with a test-mode flag |
| Trend view shows flat-line / no trace on TDE | Firmware revision < FS:03 on the TDE | Check device label: ES 03 is required for trend drawing | Update firmware via SD card; consult the LOGO! 8 firmware release notes |
| Status page "AI" missing analog channel 5 | AI5 / AI6 / AI7 / AI8 are usable only when the on-board analog inputs are enabled in the project | In Soft Comfort: File → Properties → AI configuration | Tick AI5, AI6, AI7, AI8 if the hardware supports them |
| Test program does not run, display shows "No program" | Wrong slot for the SD card, or program is for a different base module | Verify the .lsc file matches the target order number | Re-export from Soft Comfort with the correct device selected |
Field Notes, Safety, and Common Wiring Defects
The anecdote that prompted this test program is worth recording for the next field engineer who has to chase a phantom fault:
The wireman had two conductors that needed labels "10" and "11". The heat-shrink sleeve printer had run out of "1" characters, so conductor 10 received a "10" sleeve (the "1" came from the "10" sleeve, which had a spare) and conductor 11 received a "0" sleeve (the leading "1" of the "11" sleeve had fallen off). At the cabinet, two conductors carried identical "0" labels; the wireman wired them in at random and got a 50% chance of being correct. The swap of I10 and I11 was undetected for two cycles of bench testing because the production logic happened to tolerate the inversion.
Defects of this type are statistically inevitable on a long loom. The defences are layered:
- Unique terminal-side labels: use printed ferrule markers (e.g. Weidmüller MultiCard or Phoenix PMC) rather than hand-written heat-shrink sleeves, so the leading character cannot fall off.
- Continuity test at the cabinet: with the field devices disconnected, ring out every conductor from the field terminal back to the LOGO! terminal before applying power.
- The test program: even when the loom is "fully" tested, run the test program as part of the FAT. The 30 seconds it takes to step through I1 … I16 catches the residual 1% that the continuity tester misses (e.g. crossed terminals on a multi-pole connector, a contactor coil wired to the wrong auxiliary).
- As-built drawing: mark up the drawing with the conductor identification that was actually used on site. The wireman’s labels are a contract, not an aspiration.
Commissioning time budget
For a 16-input, 12-output configuration, the time required to step through every I/O with the test program is roughly 90 seconds (≈ 3 seconds per index plus 5 seconds of meter reading). Add a 10-minute setup block to load the program and clear the SR latches. Total budget: 15 minutes. This is the right order of magnitude compared to chasing a single mis-wired conductor for half a day.
Re-using the program across projects
Save the FBD as a template (.lsc) and re-use it across cabinets by changing the I/O addressing and re-compiling. The block list (B01 … B37) is generic — only the field-side wire numbers change between projects. Store the template in a version-controlled library (e.g. a Git LFS repo) so that the test program evolves with the LOGO! Soft Comfort release rather than being a one-off artifact.
Frequently Asked Questions
How do I view live digital and analog I/O on a LOGO! 8 without writing a program?
From the date/time screen press ESC, then press the Down cursor key until the clock symbol is shown, then press Left/Right to cycle through DI, DQ, AI, AQ and Marker pages. On a TDE, press OK on an analog value to enter the trend view (firmware FS:03 or later required).
What is the I/O numbering when a DM8 expansion is attached to a LOGO! 8 base?
The base occupies I1–I8 and Q1–Q4; the first DM8 expansion occupies I9–I16 and Q5–Q12. Analog inputs AI1–AI8 remain on the base; further analog channels AI9 onward require an AM2 module in the expansion slot.
Can the test program force an output high while the LOGO! is in RUN?
Yes. The SR latches in B06–B17 are OR’d with the production logic at the output terminal block (B36), so a latched test state overrides the running program until it is reset from the front panel or the controller is restarted with the SR latches cleared.
What happens if the expansion module loses communication during the test?
LOGO! 8 raises the diagnostic flag M25 (expansion bus error) and the input states for I9–I16 freeze at zero. The test program will report 0 for every index > 8. Check the expansion ribbon cable, the 24 V supply to the DM8, and the seating of the module on the bus connector.
How do I prevent the test program from being used in production?
Keep the test program as a separate .lsc file and never merge it with the production project. If the test program must live in the same file, gate all SR latches behind a “test mode" digital input that is wired to a key switch on the cabinet door, so production cannot energise the forcing logic without mechanical access.