S7-1214C PTO Output Wiring for Third-Party Servo Drives

David Krause13 min read
S7-1200SiemensTechnical Reference
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

1. Problem Overview

CPU 1214C (MLFB 6ES7 214-1AG40-0XB0, firmware range up to V4.6) integrates two high-speed pulse outputs (PTO) on terminals Q0.0 and Q0.1 capable of generating pulse + direction (Pn/Dir), pulse + pulse (CW/CCW), or A/B quadrature waveforms at up to 100 kHz onboard. The DC/DC/DC variants source current from a MOSFET push-pull stage: when activated, Q0.0 / Q0.1 switch +24 VDC to the field terminal with the load return wired to the module's M terminal. This is fundamentally a PNP / sourcing output.

Many third-party servo drives — including the SMC LECSA series used for linear actuator control — present pulse inputs that expect a sinking (NPN) drive, where the controller pulls the input toward 0 V to register a pulse. The mismatch leaves the drive with no count edges, the position counter never increments, and the actuator does not move. The same physical signal that works for a Siemens SINAMICS V90 in PNP-input mode is invisible to a SMC LECSA pulse-train input until the I/O direction is corrected.

Reference: S7-1200 Programmable Controller System Manual (entry ID 109751634), Chapter 6 "Pulse Train Output (PTO)".

2. Affected Hardware and Identification

MLFB Description Output type Max PTO freq.
6ES7 214-1AG40-0XB0 CPU 1214C DC/DC/DC MOSFET sourcing 100 kHz (Q0.0/Q0.1)
6ES7 214-1AG31-0XB0 CPU 1214C DC/DC/DC (predecessor) MOSFET sourcing 100 kHz
6ES7 214-1AG04-0XB0 CPU 1214C DC/DC/DC (legacy) MOSFET sourcing 100 kHz
6ES7 222-1BD30-0XB0 SB 1222 DQ 4 x 24 VDC Source or sink (selectable) 200 kHz
6ES7 222-1AD30-0XB0 SB 1222 DQ 4 x 5 VDC Source or sink (selectable) 200 kHz
6ES7 222-1BF30-0XB0 SB 1222 DQ 4 x 24 VDC (slow) Source or sink 0.1 kHz

The trailing 5th digit of the MLFB encodes the firmware generation (A = 1st, B = 2nd, etc.) and the 6th digit encodes the function set. The "G" in 1AG40 indicates a DC/DC/DC variant; "E" would be DC/DC/Relay. Always read the order code on the side label of the CPU before assuming output type. Reference: S7-1200 Automation System Manual entry 109744228.

3. PTO Signal Topology — Source vs Sink

The S7-1200 PTO pulse train is generated by the CPU's motion-control firmware on the high-speed outputs (HSO). For the DC/DC/DC CPU:

  • Q0.0 = Pulse (P)
  • Q0.1 = Direction (D) when configured as Pn/Dir
  • Q0.0 / Q0.1 = A / B quadrature or CW / CCW pairs under other configuration modes

On a DC/DC/DC CPU the high-speed outputs are implemented as current-sourcing MOSFET half-bridges. Driving the output high applies +24 VDC to the terminal. The corresponding load return must be wired to the module's M terminal. The output cannot sink current — it will not pull the terminal to 0 V actively; that role must be performed by the input stage of the receiving device or by an external pull-down.

The SMC LECSA pulse-train input (referred to in SMC documentation as "Pulse train input (open collector compatible)") expects the controller to pull the input down to 0 V for an active pulse. Connecting a sourcing output directly yields a high-idle / high-active signal; the drive input sees a constant logic-1, no edges, no motion.

Important: A wiring "trick" of feeding -24 VDC to the L+ terminal and +24 VDC to the M terminal to invert the output polarity creates a 48 VDC rail-to-rail stress across the output MOSFETs. It is not supported by Siemens and will damage the CPU. Use an approved signal board or signal-conditioning module instead.

4. Drive-Side Requirements (SMC LECSA Family)

The SMC LECSA actuator is supplied in two control variants:

  1. DI source (P-type) — fixed-position mode using digital inputs and an internal point table (manual §6.2 / §7.4 of the LECSA manual). No PTO required.
  2. Pulse-train input mode — servo follows external pulse + direction. Input stage is open-collector / NPN style, requiring sink current from the controller.

When the application has a small number of fixed positions, switching the drive to point-table mode (P-mode) eliminates the polarity conflict entirely — the actuator positions itself from its own table using only 24 V digital commands from standard PLC outputs. This is the most robust engineering path for a pick-and-place cell with discrete stroke lengths.

5. Solution A — Siemens SB 1222 Signal Board (Recommended)

The SB 1222 DQ 4 plug-in signal board (6ES7 222-1BD30-0XB0, 200 kHz, 24 V; or 6ES7 222-1AD30-0XB0, 200 kHz, 5 V) is the only Siemens-blessed solution that produces a true sinking (NPN) output at PLC-level. The signal board installs in the top socket of the CPU and is addressed in the TIA Portal hardware catalog as SB 1222. Its outputs use a totem-pole stage that can be wired NPN or PNP from the field side, and it supports all four PTO modes at 200 kHz — twice the frequency ceiling of the onboard outputs.

Wiring (NPN / sink mode):

  1. Connect field +24 VDC to the SB 1222 common terminal.
  2. Wire the drive pulse-train input to one SB output terminal and the drive direction input to a second output terminal.
  3. Return the load side of the drive input to 0 V (M of the SB).
  4. Configure the SB in TIA Portal device configuration; under Properties > DO channel select the new PTO assignment PTO1/PTO2 on SB.

Reference: S7-1200 System Manual, Section 6.1.4 "Signal board SB 1222".

6. Solution B — High-Speed Optocoupler Interface

For sites where the signal board slot is already occupied or the application requires 100 kHz + complete galvanic isolation, a high-speed optocoupler module translates the PLC's sourcing output into a clean sinking signal at the drive end. Phoenix Contact PLC-OSC units in the 100 kHz class are a field-proven choice:

Wire the PLC Q0.0 pulse output into the input of the optocoupler; wire the optocoupler's output stage to the SMC pulse input. Direction goes through a second channel. The optocoupler performs level shifting and inversion in one stage; verify the output is wired as NPN (load between output and +24 V, output switches to 0 V).

The lower-cost PLC-OSC-24DC/24DC/2 is bandwidth-limited. For PTO use, the 100 kHz PLC-OSC-24DC/24DC/100KHZ is mandatory.

7. Solution C — Discrete PNP-to-NPN Buffer

A discrete PNP-to-NPN converter using a buffer IC with embedded Darlington pairs (e.g. ULN2003A, ULN2803A, or an 8-channel TPIC6B595 shift register) provides an inexpensive, field-repairable path. Wire the PLC sourcing output to the input pin of the ULN2003A; the corresponding open-collector output then pulls the drive input to 0 V when the PLC pulse is high. Add a 4.7 kΩ pull-up on the PLC side and a 2.2 kΩ pull-up on the drive side to 24 V. The ULN2003A is rated to 500 mA per channel and 50 V, more than sufficient for a pulse-train input.

Solution Frequency limit Galvanic isolation Cost Field-replaceable
SB 1222 (24 V, 200 kHz) 200 kHz No (logic only) Medium Plug-in module
SB 1222 (5 V, 200 kHz) 200 kHz No Medium Plug-in module
PLC-OSC 2902970 100 kHz Yes (5 kV) Medium DIN-rail
ULN2003A discrete ~1 MHz No Low Socketed IC

8. TIA Portal Configuration of the PTO

  1. Open the project in TIA Portal V15.1 or later (V17+ recommended for firmware V4.5/4.6 CPUs).
  2. Open Devices & Networks, select the CPU, and switch to Device view.
  3. In the device catalog, expand PLC > SIMATIC S7-1200 > Signal boards and drag the SB 1222 onto the SB slot of the CPU if using the signal-board path.
  4. Open Technology objects > Add new object > Motion Control > TO_Axis_PTO.
  5. Configure the PTO:
    • Pulse output: Q0.0 (onboard) or SB output (SB path)
    • Direction output: Q0.1 (onboard) or SB output (SB path)
    • Signal type: Pulse and direction (default for SMC LECSA)
    • Maximum frequency: 100 000 Hz (onboard) or 200 000 Hz (SB)
    • Pulse generator: 24 V (onboard) or 5 V / 24 V per SB variant
  6. Configure mechanics (lead screw pitch, gearbox ratio) and dynamics (acceleration, deceleration, jerk limits) appropriate for the linear actuator.
  7. Compile the hardware configuration and download to the CPU.

Reference: TIA Portal help: "Configuring a PTO axis".

9. PLCopen Motion Blocks — MC_Power, MC_Reset, MC_Jog

Once the axis is configured, the S7-1200 motion-control runtime exposes PLCopen-style function blocks in the Instructions > Motion Control task card:

  • MC_Power — switches the axis to "operational enable". Without this, MC_Jog will not generate pulses and will return ErrorID = 0x8001 (axis not enabled) on rising edge of Jog.
  • MC_Reset — acknowledges axis errors. Required after a fault, after a missing enable, or after re-powering the drive.
  • MC_Jog — runs the axis at Velocity while JogForward or JogBackward is TRUE. Velocity is the in-line speed setpoint in mm/s or pulses/s, depending on the configured unit system.
  • MC_MoveAbsolute / MC_MoveRelative — for the actual pick-and-place position moves.

Sample structured text for a jog cycle:

// Enable the axis
IF bEnableServo THEN
    MC_Power(Axis := Axis_1,
             Enable := TRUE,
             Status => bAxisEnabled,
             Error => bPowerErr,
             ErrorID => wPowerErrID);
END_IF;

// Reset any latched error
IF bResetRequest THEN
    MC_Reset(Axis := Axis_1,
             Execute := TRUE,
             Done => bResetDone,
             Error => bResetErr,
             ErrorID => wResetErrID);
END_IF;

// Forward jog at 50 mm/s while bJogFwd held
MC_Jog(Axis := Axis_1,
       JogForward := bJogFwd,
       JogBackward := bJogBack,
       Velocity  := 50.0,
       Done       => bJogDone,
       Busy       => bJogBusy,
       CommandAborted => bJogAbort,
       Error      => bJogErr,
       ErrorID    => wJogErrID);

Common error IDs from the motion-control runtime:

ErrorID (hex) Meaning Remedy
0x8001 Axis not enabled Set MC_Power.Enable := TRUE first.
0x8002 Axis already enabled by another instance Use a single MC_Power FB.
0x8005 Axis disabled by MC_Power (negative edge) Acknowledge and re-enable.
0x8011 Axis in error state Call MC_Reset.
0x8020 Configuration error Re-check axis configuration in TIA Portal.
0x8080 PTO output already in use Check for duplicate axis assignment to Q0.0/Q0.1.

10. Verifying That the PTO is Active

When MC_Jog reports Busy = TRUE but the drive is silent, the first question is always: are pulses actually leaving the PLC? Five independent methods can confirm it.

  1. Watch-table status. In online mode, force the jog bits and monitor Axis_1.StatusWord. Bit AxisState = 7 (ConstantVelocity) and bit MotionCommand = 1 (Jog) confirm the runtime is driving the axis.
  2. PTO status LED. The CPU Q0.0 / Q0.1 LEDs blink at the configured pulse rate. At low frequency (e.g. 10 Hz) the blink is visible to the eye; at 50 kHz it appears as a steady half-brightness glow.
  3. Oscilloscope on the output terminal. Connect a scope to Q0.0 (or the SB output) referenced to the module's M. With MC_Jog at 1 kHz you will see a clean 50/50 duty cycle square wave transitioning between 0 V and 24 V.
  4. Logic analyzer or PLC fast counter. Route Q0.0 into one of the onboard high-speed counters (HSC) on I0.0–I0.5; the HSC count should match the expected number of pulses per jog period.
  5. Drive input monitor. The SMC LECSA exposes the pulse-count feedback word in its object dictionary; if the count remains at zero, the signal is not reaching the drive input (polarity, wiring, or drive mode).

11. Wiring Procedure for the Pick-and-Place Cell

  1. Power down the panel and verify 0 V on the CPU power terminals with a DMM.
  2. On the SMC LECSA, set the pulse-train mode (parameter PNP/NPN input type per SMC manual §10) and configure the input function to "pulse + direction".
  3. Install the chosen interface: SB 1222, PLC-OSC 2902970, or ULN2003A board. Wire +24 VDC and 0 VDC from a clean 24 V supply, separate from the valve solenoid supply.
  4. Connect the pulse output to the drive's pulse input, direction output to the drive's direction input. Wire drive commons to the interface's 0 V terminal.
  5. Wire the drive's alarm / ready / completion outputs back to standard digital inputs on the CPU for fault handling.
  6. Connect the pneumatic up/down solenoid through a standard digital output and a separate 5/2 valve.
  7. Power the panel. In TIA Portal, go online, expand Technology objects > Axis_1 > Commissioning, and run a 1 Hz jog for 200 pulses; verify the count via the drive feedback.
  8. Step the jog frequency to the operating speed (typically 5–20 kHz for a pick-and-place linear actuator) and confirm motion.

12. Troubleshooting Matrix

Symptom Likely cause Diagnostic Fix
MC_Jog Busy=TRUE, drive silent, count = 0 PNP/NPN polarity mismatch Scope on Q0.0, then on drive input Install SB 1222 or optocoupler
MC_Jog Busy=FALSE, ErrorID 0x8001 MC_Power not enabled Watch table: Axis_1.Status Hold MC_Power.Enable = TRUE
MC_Jog Busy=FALSE, ErrorID 0x8011 Drive alarm, axis latched Check drive alarm code MC_Reset, then clear drive fault
Drive counts correctly, axis drifts Mechanical backlash or wrong units Measure lead screw pitch Re-enter mechanics in axis config
CPU goes to STOP shortly after jog start Watchdog / OB1 scan overrun Online & diagnostics Reduce MC_Jog velocity / raise cycle time
Direction wrong (positive command moves negative) Direction output inverted Toggle Invert direction in axis config Check box in axis configuration
Output pulse train present on scope, drive still silent Drive set to point-table mode (P-type) Read drive parameter Pn000 Set drive to pulse-train input mode

13. Safety, EMC, and Field-Commissioning Notes

  • Keep the pulse and direction pairs in a shielded twisted pair; ground the shield at the cabinet end only.
  • Run pulse and direction cables in a separate conduit from the AC variable-frequency drive output cables (typically the SMC actuator's own stepper drive); cross only at 90°.
  • When using a PLC-OSC optocoupler, the 5 kV isolation removes ground-loop noise that often corrupts counts at higher frequencies.
  • Define a hard-wired E-Stop that drops the MC_Power.Enable signal AND removes 24 V from the drive enable input; do not rely on software-only stop.
  • Use MC_Reset only after the physical cause of the error is cleared; the runtime will not re-arm a drive with a hardware alarm.
  • Document the polarity convention (PNP or NPN) on the cabinet schematic so future maintenance does not re-introduce the original mismatch.

Why does my S7-1214C PTO pulse output not drive a third-party servo drive?

The DC/DC/DC variants of the S7-1200 (MLFB 6ES7 214-1AG40-0XB0 and predecessors) source the pulse output through MOSFETs, producing a PNP / sourcing signal. Drives such as the SMC LECSA expect a sinking (NPN) pulse-train input. The mismatch means the drive input never sees a falling edge and never increments its counter. Resolve it by switching the drive to point-table mode, installing an SB 1222 signal board (6ES7 222-1BD30-0XB0) wired NPN, or inserting a high-speed optocoupler such as Phoenix Contact PLC-OSC-24DC/24DC/100KHZ (2902970).

What is the maximum PTO pulse frequency on the S7-1214C?

The onboard outputs Q0.0 and Q0.1 of the CPU 1214C support pulse-train output up to 100 kHz. The plug-in signal board SB 1222 DQ 4 x 24 VDC (6ES7 222-1BD30-0XB0) and SB 1222 DQ 4 x 5 VDC (6ES7 222-1AD30-0XB0) extend the ceiling to 200 kHz and allow NPN or PNP wiring.

How do I confirm that the PTO is actually generating pulses during program execution?

Five methods: monitor the axis StatusWord in a watch table (AxisState = 7 means constant velocity), watch the Q0.0 / Q0.1 LEDs for blinking, attach an oscilloscope to Q0.0 referenced to M, route Q0.0 into a high-speed counter (HSC1–HSC6) on I0.0–I0.5 and read the count, or read the pulse feedback word in the servo drive's object dictionary. If MC_Jog.Busy is TRUE but no signal appears on the wire, the polarity is wrong.

Can the S7-1214C onboard outputs Q0.0 / Q0.1 be wired to sink (NPN)?

No. The onboard DC outputs of the S7-1214C are current-sourcing only; they cannot pull the output terminal to 0 V. The only Siemens-supported way to obtain a sinking PTO at 200 kHz is the SB 1222 signal board, which is selectable as NPN or PNP from the field wiring.

What is the simplest engineering path for a pick-and-place cell with a few fixed positions?

Switch the SMC LECSA to point-table (P-type) mode per the SMC manual §6.2/§7.4. The drive then positions itself from an internal table using only 24 V digital commands from standard PLC outputs. No PTO, no signal board, and no optocoupler is required. Reserve the PTO path for applications that need a continuously variable position commanded from the PLC.

Back to blog