Configuring CPU 314C-2DP Pulse Train Output for Panasonic Servo

David Krause11 min read
Motion ControlSiemensTutorial / How-to
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

Overview: Pulse Train Command of a Panasonic Servo from an S7-300 CPU 314C-2DP

The application described in this article pairs a Siemens SIMATIC S7-300 CPU 314C-2DP (order number 6ES7 314-6CH04-0AB0) with a Panasonic MINAS-series servo drive (MBDJT2210, 220 V class) using the integrated pulse-train output of the CPU. Because the CPU 31xC family embeds technology functions on the back of the PLC, no FM 351/FM 352/FM 353 positioning module is required for a basic point-to-point move; the work is split between STEP 7 / HW Config (declaring the integrated channel as PTO/PWM), SFB 49 (runtime pulse-width modulation), and the Panasonic drive's Pr parameters (defining pulse input shape and motor response).

This reference covers hardware configuration, signal wiring, parameter setup on the drive side, SFB 49 programming, verification, and a troubleshooting matrix for the common faults observed during commissioning.

Prerequisites

Item Specification / Order Number Notes
S7-300 CPU 6ES7 314-6CH04-0AB0 (CPU 314C-2DP) Firmware V3.x or later recommended; integrated DI24/DO16, AI5/AO2, technology channels
Panasonic Servo Drive MBDJT2210 (MINAS A4 series, 220 V, pulse-train input) Confirm model suffix (MBDJT vs. MBDT) against your motor
Servo Motor Panasonic MINAS A4-series motor (e.g., MSMD, MHMD, MFMD) Match to drive current rating
STEP 7 STEP 7 V5.5 + SP2 (or STEP 7 Professional 2010) TIA Portal does not directly configure S7-300; use classic STEP 7
Cable Shielded twisted pair, differential line driver, e.g., LiYCY Required for high-frequency pulse signals above 50 kHz
Manuals S7-300 CPU 31xC Technological Functions Manual; CPU 314C-2DP Manual Authoritative source for register layout and SFB 49 timing

System Architecture

The CPU 314C-2DP exposes two channels of technology I/O on its front connector X1 (40-pin sub-D). The channels can be configured individually as:

  • Digital input (with optional interrupt, filter, latch, frequency measurement)
  • Digital output (with optional PWM, frequency output, or pulse-train output)
  • Counting / positioning channel

For a Panasonic MBDJT2210 in pulse + direction command mode, the CPU's integrated DO channel is configured as a pulse-train output. The drive receives differential signals (PULSE, /PULSE, SIGN, /SIGN) on connector X4 of the drive. Direction is conveyed by the SIGN line level; distance is conveyed by the number of pulses.

CPU 314C-2DP DO0 (PULSE+) DO1 (/PULSE) DO2 (SIGN+) DO3 (/SIGN) Panasonic MBDJT2210 Pin 3 PULSE Pin 4 /PULSE Pin 5 SIGN Pin 6 /SIGN PULSE diff. SIGN diff.

CPU 314C-2DP Hardware Configuration

  1. Open the S7 project in STEP 7 and insert the CPU 314C-2DP from the hardware catalog (SIMATIC 300 > CPU 300 > CPU 314C-2DP > 6ES7 314-6CH04-0AB0 > V3.x).
  2. Open HW Config and double-click the CPU to expose the object properties.
  3. Select the "Integrated I/O" tab.
  4. For each of the four channels used (DO0..DO3), assign the function "Pulse-train output / PWM".
  5. Switch to the "Technology" tab of the CPU properties. Enable the channel used (typically Channel 0 for DO0/DO1 and Channel 1 for DO2/DO3).
  6. Set Pulse output mode = Pulse + Direction (this matches Panasonic Pr 0.05).
  7. Set Output format = Pulse/direction, positive logic unless drive is wired for negative logic.
  8. Download the hardware configuration to the PLC (PLC > Download to Target).
Important: Changing the channel function in HW Config deletes the technology DB. Always back up the project before re-downloading.

Panasonic MBDJT2210 Servo Drive Parameter Setup

The Panasonic MINAS A4 / MBDJT series uses Pr-class parameters accessed from the front-panel keys or via PANATERM. The relevant subset for pulse-train command is:

Pr Name Value Description
Pr 0.00 Rotational direction switch 0 or 1 Swap CW/CCW motor rotation relative to pulse sign
Pr 0.05 Command pulse mode 1 (Pulse + Direction, positive logic) or 3 (CW/CCW) Must match CPU configuration
Pr 0.06 Command pulse logic 0 (positive) or 1 (negative) Match to PLC output polarity
Pr 0.07 Pulse input filter 0 (off) for >500 kpps; 1-4 for lower Filter suppresses noise but limits max frequency
Pr 0.08 Motor pulses per revolution e.g., 2500, 5000, 10000 Electronic gear numerator (a)
Pr 0.09 Motor shaft pulses per revolution (b) 10000 Electronic gear denominator (b)
Pr 1.00..1.05 Position loop gains Defaults Tune after mechanical coupling
Pr 3.16 Max command pulse frequency 500 or 1000 (kpps) Limit the drive input; do not exceed CPU max
Pr 5.00..5.31 I/O mapping SI0 = Servo-ON, SI1 = Alarm Reset Map safety/control inputs as needed

The electronic gear ratio (Pr 0.08 / Pr 0.09) sets how many motor shaft revolutions correspond to one motor encoder turn. For a 2500-line encoder with 4x decoding, one motor revolution = 10000 pulses. To command 1 motor revolution per 1000 pulses from the PLC, set Pr 0.08 = 1000 and Pr 0.09 = 10000.

Wiring and Signal Interface

The CPU 314C-2DP integrated digital outputs are 24 V sourcing (active high). The Panasonic MBDJT2210 accepts 24 V single-ended or 5 V differential line driver inputs on connector X4. For noise immunity above 50 kpps, use the differential driver output by sourcing an external 26LS31-type line driver between the CPU outputs and the drive inputs. Pinout reference:

Signal CPU DO (front connector X1) Driver (26LS31) MBDJT2210 X4
PULSE+ / PULSE- Pin 20 (DO0) / Pin 21 (DO1) OUT+ / OUT- Pin 3 / Pin 4
SIGN+ / SIGN- Pin 22 (DO2) / Pin 23 (DO3) OUT+ / OUT- Pin 5 / Pin 6
COM (24 V GND) Pin 40 GND Pin 2 (SG)
Wire shield at the drive end only, do not ground at the PLC end. Keep pulse wiring in a separate conduit, minimum 200 mm from power cables carrying >2 A.

SFB 49 PWM Function Block

SFB 49 ("PULSEGEN" / "PWM") is part of the technology FB library for the S7-300 C-CPUs. It modulates the configured output channel with a fixed period and adjustable duty cycle. Calling SFB 49 in OB1 cyclically updates the PWM ratio and can be combined with a stepper-driven counter for true pulse-train output if a position profile is required.

SFB 49 Interface (simplified)

Parameter Direction Data type Meaning
LADDR INPUT WORD I/O logical base address of the integrated channel (e.g., W#16#0300 for DO0)
SW_ENABLE INPUT BOOL Software enable; TRUE = output active
OUT_FEEDBACK INPUT BOOL Feedback from drive ready (optional)
PERIOD OUTPUT WORD Period in 0.1 ms units (range 1..65535)
PERIOD_CV INPUT WORD Period command value (writeable)
PULSE OUTPUT WORD Duty-cycle value (range 0..PERIOD)
PULSE_CV INPUT WORD Duty-cycle command value
STS_C_FG OUTPUT BOOL Output active status
STS_C_ST OUTPUT BOOL Channel in start status

Ladder Example (S7-300, FBD/equivalent)

// OB1 - cycle at OB1 priority class
// Allocate instance DB once: DB49 "PWM_DB49"

      CALL  "PULSEGEN" , DB49
      LADDR      := W#16#0300      // base address of integrated DO0/1
      SW_ENABLE  := M10.0          // operator enable
      OUT_FEEDBACK:= I124.0         // drive RDY contact (optional)
      PERIOD_CV  := MW20            // period in 0.1 ms e.g. 1000 = 100 ms
      PULSE_CV   := MW22            // duty e.g. 500 = 50 %
      PERIOD     := MW24
      PULSE      := MW26
      STS_C_FG   := M10.1
      STS_C_ST   := M10.2
      ERROR      := MW28
      ERR_CODE   := MW30

For a true PTO profile with acceleration ramp, use the integrated positioning channel configured as "Axis" in HW Config and call SFB 47 ("POS") instead of SFB 49. The 314C-2DP supports up to one positioning axis and one counting channel.

Period and Frequency Conversion

The CPU 31xC integrated PWM channels have a fixed resolution. The Siemens manual specifies:

Resolution Min Period Max Period Min Frequency Max Frequency
10 µs (0.1 ms unit) 1 (100 µs) 65535 (6.5535 s) 0.15 Hz 10 kHz

Frequency and duty relationship for SFB 49:

f_out [Hz] = 1 / (PERIOD × 100 µs)
duty [%]  = (PULSE_CV / PERIOD_CV) × 100
Max command freq of MBDJT2210 = 500 kpps (Pr 3.16)

If your application requires frequencies above the integrated PWM ceiling of 10 kHz, step up to one of the following options:

  • FM 351 (single-axis positioning module) - up to 200 kHz
  • FM 353 (high-speed stepping) - up to 2 MHz
  • FM 354 (servo positioning) - up to 1 MHz, closed-loop via incremental encoder

Commissioning Procedure

  1. Power down the drive. Verify mains (220 V L/N/PE) and 24 V DC logic supply to the CPU.
  2. Connect an oscilloscope or signal analyzer to pins 3/4 (PULSE) of the MBDJT2210.
  3. In STEP 7, place a watch table on MW20 (PERIOD) and MW22 (PULSE_CV). Set SW_ENABLE = TRUE.
  4. Start with PERIOD = 1000 (100 ms, 10 Hz) and PULSE = 500 (50 % duty). Confirm pulses on scope.
  5. On the drive, enter the trial run mode: Pr 6.05 = 0 to disable trial-run inhibit; drive display should read "drE" (drive ready).
  6. Set Pr 6.00 = 1 (JOG mode). Motor should move at the speed dictated by the PWM frequency divided by the electronic gear.
  7. If the motor does not move, verify the SON (Servo-On) input on the drive is energized (typically SI0 closed, +24 V on pin 29 of X4).
  8. Once steady operation is verified at low speed, ramp the period down to drive the machine toward the desired speed, but never below PERIOD = 100 (= 10 µs = 100 Hz).
  9. Save drive parameters and back up the S7 project.

Verification Checklist

Step Expected Result
STS_C_FG = TRUE while SW_ENABLE = TRUE Channel active
Scope on MBDJT pin 3/4 Square wave at f = 1/(PERIOD × 100 µs), 5 V p-p differential
Drive LED = "rdy" No alarm, command input accepted
JOG with sign swap Motor reverses direction
ERROR / ERR_CODE = 0 SFB 49 healthy
MEAS_POS feedback (via SFB 47 if used) Pulses counted match command

Troubleshooting Matrix

Symptom Likely Cause Action
No pulses at drive Channel not configured as PWM in HW Config Re-open CPU properties > Technology, enable PWM, re-download
Frequency correct, duty fixed at 50 % SFB 49 not called, or PULSE_CV not written Verify OB1 cyclic call, watch table MW22
Drive shows Err 11 "pulse input error" Pulse mode mismatch between CPU and Pr 0.05 Set Pr 0.05 = 1 (Pulse+Dir), Pr 0.06 = 0 (positive logic)
Motor runs but direction wrong SIGN line inverted Set Pr 0.00 = 1 or swap SIGN+/SIGN- in wiring
Motor runs at reduced speed only Pr 0.07 filter enabled, attenuating high frequency Set Pr 0.07 = 0 and Pr 3.16 to desired max
Err 14 "over-speed" at start PERIOD_CV too low (PERIOD = 1..9 unsupported by drive) Keep PERIOD_CV ≥ 100 (10 ms), limit current by Pr 3.16
Err 21 "encoder error" Loose motor connector or improper shield termination Re-seat encoder, ground shield at drive end only
SFB 49 ERR_CODE = W#16#8001 LADDR mismatch or technology DB not downloaded Verify logical address and re-download HW Config

Edge Cases and Field Tips

PTO vs PWM. A 100 % duty cycle from SFB 49 holds the output high without toggling - this is not a continuous pulse train. For servo positioning where the number of pulses defines distance, use SFB 47 with a positioning DB, or use the integrated axis in HW Config.

Mechanical inertia. The integrated PTO channel does not include S-curve or jerk limiting. For high-inertia loads, generate the ramp in the application code (trapezoidal velocity profile in OB35) and feed the instantaneous frequency to the PWM input.

EMI on long cables. For cable runs over 10 m, use a 26LS31 line driver and 26LS32 line receiver at the drive side. Set Pr 0.07 = 0 and avoid shielded twisted pair rated below 100 MHz.

Multi-axis scaling. The CPU 314C-2DP has only one integrated positioning channel. To control a second MBDJT2210, add an FM 354 to the rack; STEP 7 will treat it as a standalone axis on the PROFIBUS side.

Backup. Export the drive parameter set with PANATERM after each change; the CPU project (.s7p) does not include drive parameters.

FAQ

What is the maximum pulse frequency the CPU 314C-2DP integrated channel can output?

The integrated PWM channel of the CPU 314C-2DP supports 0.15 Hz to 10 kHz with a 10 µs (0.1 ms) resolution. For frequencies above 10 kHz you must use an FM 351, FM 353, or FM 354 module.

How do I match the CPU pulse-train direction to the Panasonic MBDJT2210 direction?

Set Pr 0.05 = 1 (Pulse + Direction, positive logic) on the drive and Pr 0.00 = 0. If the motor rotates opposite to the SIGN line, toggle Pr 0.00 to 1 instead of swapping wiring.

Why is the duty cycle fixed at 50 % even though I write PULSE_CV?

The most common cause is that SFB 49 is not called cyclically, or the period is shorter than the required update rate. Confirm OB1 contains the CALL instruction and that PERIOD_CV matches the technology DB base address in HW Config.

Do I need an FM 354 for closed-loop positioning with the MBDJT2210?

Not necessarily. The integrated channel can command an open-loop pulse train, but the drive itself closes the velocity/position loop with its encoder. If you require encoder feedback to the PLC for absolute position, use the FM 354 or an ET200S counter module.

Which STEP 7 version supports the integrated PWM and positioning on the CPU 314C-2DP?

STEP 7 V5.4 SP3 and later (including V5.5 SP2) supports the technology channels of all S7-300 C-CPUs. The TIA Portal does not support S7-300 technology objects; you must use classic STEP 7.

References and Standards

Back to blog