S7-1200 Digital Input Not Detected: Wiring 1M Reference Common

David Krause12 min read
S7-1200SiemensTroubleshooting
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: S7-1200 Digital Input Never Goes High

A common first-time commissioning fault on a Simatic S7-1200 CPU 1212C DC/DC/DC (catalog number 6ES7212-1AE40-0XB0 or earlier 6ES7212-1AD30-0XB0) is a digital input that stays at logical 0 regardless of switch position. The user wires 24 V DC to one side of the switch and the input terminal (for example %I0.0) to the other, configures the PLC tag in TIA Portal, downloads the project, and observes that the input status indicator LED on the CPU front face never illuminates and the tag never transitions to TRUE.

The wiring appears correct at first glance. The PLC is online. The tag is configured. The switch is functional. Yet the CPU cannot see the signal. The cause is almost always a single missing conductor: the 1M reference terminal is left floating, leaving the input optocoupler without a return path to 24 V DC common (M).

Critical: Siemens S7-1200 24 V DC digital inputs are sinking (also called PNP-style) inputs that source current out of the terminal through the input circuit to 1M. Without a wired connection between 1M and the 24 V supply common (M), no current flows, no optocoupler switches, and the input bit never changes state — even with the correct tag, the correct configuration, and a working switch.

Root Cause: Open 1M Reference Common Circuit

The S7-1200 digital inputs are isolated from the CPU logic by an optocoupler. Inside the input stage, a current-limiting resistor and an LED share a common cathode tied to the 1M terminal. To turn the input on, you must apply a positive voltage (24 V DC) at the input terminal and provide a return path through 1M back to the negative side of the 24 V supply (labeled M on Siemens wiring diagrams).

If the operator wires only the hot conductor and leaves 1M disconnected, the input is electrically open-circuited. The internal LED has no current path, the phototransistor remains off, and the input bit reads 0 permanently. TIA Portal cannot detect this condition from software alone — the configuration is valid; the electrical circuit is incomplete.

Key technical points behind this:

  • Each input group has its own reference terminal. On the CPU 1212C, the eight onboard inputs (I0.0–I0.7) are grouped under a single 1M terminal.
  • The CPU 1212C has two 1M terminals on the onboard input block. They are internally connected. You only need to wire one of them.
  • If you add a signal board (SB) or signal module (SM), each expansion device brings its own 1M / 2M reference terminal that must also be wired to M for that group to operate.

Affected Hardware: CPU 1212C DC/DC/DC Variants

The fix described in this article applies to all S7-1200 24 V DC input groups, but the discussion centers on the CPU 1212C DC/DC/DC because that is the most common compact starter controller. Known catalog numbers in the 1212C DC/DC/DC family include:

Catalog Number Firmware Onboard DI Onboard DO Note
6ES7212-1AD30-0XB0 V4.x 8 (24 V DC) 6 (24 V DC) Original 1212C DC/DC/DC
6ES7212-1AE40-0XB0 V4.x 8 (24 V DC) 6 (24 V DC) Mainstream 1212C DC/DC/DC
6ES7212-1AF40-0XB0 V4.x 8 (24 V DC) 6 (24 V DC) Current production

All three variants use the same input circuit topology: sinking 24 V DC inputs referenced to 1M. The onboard inputs occupy addresses %I0.0 through %I0.7 by default. The wiring practice described here is consistent with the S7-1200 System Manual, available from the Siemens Industry Online Support portal: S7-1200 Programmable Controller System Manual (entry ID 109751633).

S7-1200 Digital Input Electrical Specifications

Before rewiring, confirm that your input source meets the electrical thresholds for the S7-1200 24 V DC input. Values below are taken from the S7-1200 System Manual for the CPU 1212C DC/DC/DC onboard inputs:

Parameter Value
Nominal input voltage 24 V DC at 7 mA typical
"1" signal voltage range +15 V DC to +30 V DC
"0" signal voltage range -5 V DC to +5 V DC
"1" signal minimum current 2.5 mA
"0" signal maximum current 1.0 mA
Input characteristic IEC 61131-2 Type 1 sinking
Input group reference 1M (must be tied to M of 24 V supply)
Galvanic isolation 500 V DC between input group and logic
Configurable input filter delay 0.2 / 0.4 / 0.8 / 1.6 / 3.2 / 6.4 / 12.8 ms

Notice that 1M is referenced to the 24 V common (M) — not to protective earth (PE). Reversing this — tying 1M to PE while M floats — creates an equivalent open circuit and may also fault the supply. Always confirm polarity with a multimeter before applying power.

Wiring Procedure: Closing the 1M Circuit

The corrective wiring procedure for the CPU 1212C onboard input group is short but specific. Use 0.5 mm² to 1.5 mm² stranded copper wire with ferrules for the removable terminal block.

  1. Power down the CPU. Remove the 24 V DC supply from terminals L+ and M of the CPU power section. Verify zero potential at the terminals with a multimeter.
  2. Locate the onboard input terminal block. On the CPU 1212C, this is the upper removable terminal block on top of the CPU. It carries terminals I0.0 through I0.7 plus the two 1M reference terminals.
  3. Wire the switch leg to the input terminal. Connect one side of the dry contact (switch / sensor NPN-style output) to I0.0 (or whichever input you are using).
  4. Wire the supply leg. Connect the other side of the contact to L+ (+24 V DC).
  5. Wire the 1M reference. Run a dedicated conductor from either 1M terminal on the CPU to the M terminal of the 24 V DC supply. This closes the input circuit.
  6. Re-apply power. Energize the 24 V DC supply. The CPU power LED should illuminate green. Wait for the CPU to enter RUN.
  7. Toggle the switch. The corresponding input status LED on the CPU front panel should illuminate immediately, and the value of %I0.0 in TIA Portal should transition between 0 and 1.
Tip: Siemens ships spare removable terminal blocks in the accessory pack of each S7-1200 CPU. Use the same screw-terminal torque (0.5 to 0.6 N·m typical) for reliable contact. Loose terminal screws are the second most common cause of "input never changes state" after a floating 1M.

An inline SVG representation of the corrected circuit for input I0.0:

24V supply L+ / M M L+ Switch CPU 1212C I0.0 1M M (chassis) New conductor: M → 1M

TIA Portal Configuration for %I0.0

Once the wiring is corrected, the TIA Portal configuration for the input is straightforward. Most commissioning issues at this point are configuration side, not hardware side.

Device Configuration

  1. Open your project in TIA Portal (V15.1 through V18 supported for the firmware revisions above).
  2. Open Devices & Networks and double-click the CPU 1212C icon.
  3. Select Properties → Digital inputs.
  4. For input filter, leave the default 0.8 ms unless mechanical contact bounce is a concern (use 6.4 ms or 12.8 ms for push buttons).
  5. If you are using the input as a hardware interrupt, enable the rising/falling edge under Hardware interrupts and assign an OB (typically OB40).
  6. Compile and download the hardware configuration to the CPU.

PLC Tag Creation

In the project tree, open PLC tags → Default tag table and add a tag, or use the address directly in your program:


"Switch_Input"  BOOL  %I0.0   // Comment: Field switch wired to I0.0

Program Logic Test

Insert a simple coil to verify the input is read. In LAD:


Network 1:
  |  %I0.0      |  --| |--  --( %Q0.0 )--
  | "Switch_Input" |              "Test_Output"

If the output %Q0.0 follows the input, the full chain — wiring, optocoupler, scan cycle, I/O bus, program execution — is verified.

Verification: Proving the Input Reads Correctly

After making the 1M wiring change and downloading the configuration, perform the following checks in order:

  1. LED check: Place the CPU in RUN mode. Toggle the switch. The input status LED for I0.0 on the front of the CPU must illuminate green when the switch is closed and extinguish when open.
  2. Watch table check: In TIA Portal, open Watch & force tables, add a new table, and add the tag "Switch_Input" with address %I0.0. Click Monitor all. The displayed value should toggle between FALSE and TRUE in real time.
  3. Online & diagnostics: Right-click the CPU → Online & diagnostics → Diagnostics status. No I/O access errors should be present. The diagnostic buffer should show clean RUN transitions.
  4. Voltage check (with input energized): Measure with a multimeter between I0.0 and 1M at the CPU terminal block. A reading of +24 V DC confirms the input is being driven. A reading near 0 V with the switch closed indicates either a broken switch leg, a blown fuse upstream, or a reversed polarity.
  5. Voltage check (with input off): With the switch open, the reading between I0.0 and 1M should be 0 V to +5 V. Any persistent voltage above 5 V DC indicates backfeed from a parallel circuit — typically caused by sharing a return conductor with a relay coil or another input group.
Field tip: If the LED illuminates but the tag in TIA Portal stays FALSE, the issue is configuration, not wiring. Confirm the project online view matches the tag address, confirm that the program block (OB1) is actually running, and confirm that you are not monitoring a stale offline tag.

Troubleshooting Matrix

Symptom Likely Cause Fix
Input LED never lights; switch confirmed good 1M terminal not wired to M Connect 1M to M of 24 V supply
Input LED never lights; 1M wired; switch not closed Switch leg open or no voltage at L+ Measure L+ to M; confirm fuse and polarity
Input LED lights; tag stays FALSE Wrong tag address / offline snapshot Re-check PLC tag and Go online with Monitor
Input LED flickers; tag toggles sporadically Input filter too short for mechanical contact Increase filter to 6.4 ms or 12.8 ms
Input LED always ON Wired to sourcing sensor (NPN) instead of sinking Use PNP sensor or re-wire input as sourcing (relay/RT D variants only)
CPU goes to STOP on first I/O scan Short circuit on input; overload detected Disconnect field wiring; cycle power; check sensor supply
One group works, second group does not Second group's M terminal (2M) not wired Wire 2M of expansion module to M
Works during commissioning, fails after restart Loose terminal screw on 1M or input Re-torque terminal block screws to spec

Common Pitfalls Beyond 1M

Once 1M is correctly wired, most input problems disappear. But several related issues surface during commissioning of multi-module S7-1200 systems. Be aware of the following:

  • Expansion module reference terminals. Every signal module (SM 1221, SM 1222, SM 1223, SM 1231, SM 1232) has its own 1M / 2M terminal block. Each module's reference must be tied to M independently unless the module shares a common group with another module through a removable terminal block bridge.
  • Mixing AC and DC input modules. The SM 1221 AC input modules (e.g., 6ES7221-1BF32-0XB0) reference N (neutral), not DC M. Wiring AC neutral to a DC 1M terminal will damage the module.
  • Sensor sourcing type. A NPN (sinking) sensor switches the load to M, not to L+. If you wire an NPN sensor to a sinking S7-1200 input, both devices are trying to pull the line low and the input will never go high. Always use PNP (sourcing) sensors with the CPU 1212C DC/DC/DC.
  • Long cable runs and shield grounding. For field wiring longer than 50 m, install shielded cable and ground the shield at the cabinet end only. Induced voltages can hold the input just below the 15 V threshold even with the 1M wired correctly.
  • Shared 24 V supply. If the CPU 1212C is powered from the same 24 V bus that drives a heavy DC load (contactor, solenoid, VDC bus), voltage sag during load switching can drop the input below 15 V momentarily. Use a dedicated 24 V DC regulated supply for the CPU and a separate supply for loads, or use a buffer module (e.g., 6EP1332).

Hardware Variants and Input Topology

The S7-1200 family ships in three input topologies: DC/DC/DC (sinking DC inputs, sourcing DC outputs), AC/DC/RLY (DC inputs referenced to M, relay outputs), and DC/DC/RLY (sinking DC inputs, relay outputs). The 1M-to-M wiring rule applies to all DC input variants. For the AC/DC/RLY variants, the onboard digital inputs still use 1M as a DC reference and must be wired to DC M, not to AC line or neutral.

When using an SB 1221 digital input signal board plugged into the CPU front, the signal board's 1M reference is independent of the onboard 1M. Both must be wired. Failure to wire the SB's 1M is the most common follow-up error after fixing the onboard 1M.

Documentation and Reference Material

Siemens publishes the complete wiring specification in the S7-1200 System Manual, downloadable from Siemens Industry Online Support. The relevant sections for the CPU 1212C DC/DC/DC are:

  • Appendix A — Wiring diagrams for CPU 1212C AC/DC/RLY and DC/DC/DC variants.
  • Chapter 4 — Installation and wiring of the CPU and signal modules.
  • Chapter 5 — Configuration of digital inputs, including filter and interrupt setup.

For project planning, use the TIA Selection Tool to download the manual bundle for any specific CPU part number. The tool also generates a hardware configuration XML that can be imported into TIA Portal to eliminate manual hardware entry errors.

Why is my S7-1200 input I0.0 stuck at 0 even with 24V on the terminal?

The 1M reference terminal for that input group is not wired back to the M (24 V common) of your supply. Without that conductor, the input optocoupler has no current path. Connect either 1M terminal on the CPU to M, and the input will read correctly.

Do I need to wire both 1M terminals on the CPU 1212C?

No. The two 1M terminals on the CPU 1212C onboard input block are internally connected. Wiring one of them to M is sufficient to reference all eight onboard inputs (I0.0–I0.7).

My input LED works but the PLC tag stays FALSE in TIA Portal — what's wrong?

The hardware is fine; the issue is configuration. Confirm the PLC tag address matches the input (default %I0.0), confirm you are viewing the online (not offline) value, and confirm OB1 is executing. Use a Watch Table with Monitor All to see the live value.

Can I use an NPN (sinking) sensor with the S7-1200 DC input?

No. The CPU 1212C DC/DC/DC digital inputs are sinking inputs that require a PNP (sourcing) sensor — the sensor must switch the 24 V line to the input terminal. Using an NPN sensor leaves the input floating and the bit will not transition.

What input filter delay should I use for a mechanical push button?

For mechanical contacts, configure the input filter to 6.4 ms or 12.8 ms under Device Configuration → Digital inputs. The default 0.8 ms filter is too fast for mechanical bounce and produces flickering readings. Configure up to 12.8 ms in TIA Portal for push buttons.

Back to blog