1. Overview
Using the S7-1500 (or S7-1200 from firmware V4.1) technology objects with a legacy Siemens MICROMASTER 4 (MM4) frequency inverter — MM420, MM430, or MM440 — is technically feasible when the drive is configured as a PROFIdrive device and the cyclic telegram is restricted to Standard Telegram 1. The motion-control function blocks in the S7-1500 CPU (MC_Power, MC_MoveJog, MC_MoveVelocity, MC_Home, etc.) operate on the process data of that standard telegram; they do not consume or interpret any PKW channel. Parameter access for commissioning or runtime changes must be handled acyclically through the DPV1 (PROFIdrive acyclic) channel using dataset 47, which is exposed by the PLC's RDREC / WRREC instructions.
2. Compatibility: MM4 Family and S7-1500 Motion Control
| MM4 Variant | Typical Use | PROFIdrive Profile Support | Standard Telegram 1 Support |
|---|---|---|---|
| MM420 | Low-end (pumps, fans, conveyors) | Yes, with PROFIBUS option module (6SE6400-1PB00-0AA0) | Yes |
| MM430 | Pumps, fans, HVAC | Yes, with PROFIBUS option module | Yes |
| MM440 | High-end (lifting, positioning, hoists) | Yes, with PROFIBUS or PROFINET option module | Yes |
PROFINET connectivity on the MM4 family is only available on the MM440 with the Ethernet option module; MM420 and MM430 are PROFIBUS-only when networked. The S7-1500 Motion Control function does not differentiate between PROFIBUS and PROFINET as long as the PROFIdrive profile is active and Telegram 1 is selected.
3. Prerequisites
- CPU firmware: S7-1500 with Motion Control technology (any S7-1500 supports speed-axis technology objects; S7-1500T adds positioning and synchronous axes). Reference: S7-1500 Motion Control overview in the TIA Portal documentation.
- TIA Portal version: V15.1 or later (V17+ recommended for current GSD/GSDML handling of legacy MM4).
-
MM4 GSD / GSDML file: Installed in TIA Portal (e.g.,
SIEM8110.gsdfor MM4 PROFIBUS, or the corresponding PROFINET GSDML for the MM440 Ethernet option). -
MM4 parameter assignment: The drive must be parameterized for PROFIdrive telegram 1 and the appropriate control word source must be set (e.g.,
P0700 = 6for command source = PROFIBUS,P1000 = 6for setpoint source = PROFIBUS on MM420; analogous parameters for MM430/MM440). - DriveLib (optional): The Siemens DriveLib library documents the speed-setpoint mode over Telegram 1 in detail and is a useful companion to the TIA Portal online help.
4. Telegram Selection and PROFIdrive Configuration
Telegram 1 is the canonical PROFIdrive setpoint/actual-value telegram and is universally supported on MM4 inverters. Its structure:
| Word | Direction (PLC ↔ Drive) | PROFIdrive Signal | Description |
|---|---|---|---|
| 1 (PZD1) | PLC → Drive | STW1 | Control Word 1 (bit-coded: ON/OFF1, OFF2, OFF3, enable, ramp enable, setpoint enable, fault ack, etc.) |
| 2 (PZD2) | PLC → Drive | NSOLL | Speed setpoint (16-bit, normalized to the reference speed in P2000) |
| 1 (PZD1) | Drive → PLC | ZSW1 | Status Word 1 (ready, enabled, fault, setpoint-ack, actual-value-ack, etc.) |
| 2 (PZD2) | Drive → PLC | NIST | Actual speed (16-bit, normalized to P2000) |
MM4 parameter assignment for Telegram 1:
-
P0927 = 1— parameter set change-over via fieldbus (PROFIdrive profile enabled). -
P0700 = 6— command source = PROFIBUS/PROFINET. -
P1000 = 6— setpoint source = PROFIBUS/PROFINET. -
P2000— reference speed in RPM (defines the normalization for NSOLL/NIST). -
P1082— maximum frequency (should match or exceedP2000× p / 60). - Ramp times
P1120 / P1121— set to match the mechanical system's inertia.
In the TIA Portal device configuration, after inserting the MM4 from the hardware catalog, open Properties → Drive → Telegram configuration and select Standard Telegram 1. The technology object automatically recognizes the assignment when Drive type = PROFIdrive is selected under TO Configuration → Hardware interface → Drive → Drive.
5. Technology Object Configuration in TIA Portal
Three technology object types are relevant for VSD-based motion:
| Technology Object | Axis Type | Typical MC Instructions | Suitability for MM4 |
|---|---|---|---|
| TO_SpeedAxis | Speed-controlled (open or closed loop with encoder) |
MC_Power, MC_MoveVelocity, MC_MoveJog, MC_Reset
|
Recommended for MM4 — matches Telegram 1's speed setpoint/actual-value structure |
| TO_PositioningAxis | Position-controlled | Above plus MC_Home, MC_MoveAbsolute, MC_MoveRelative, MC_Stop
|
Usable only with a position feedback source routed to the PLC; the MM4 itself is not a position controller |
| TO_SynchronousAxis | Electronic gearing/camming |
MC_GearIn, MC_CamIn
|
Not recommended on MM4 — requires deterministic torque/position loops and very short cycle times |
Recommended wiring for TO_SpeedAxis:
- Insert a new TO_SpeedAxis under Technology objects → Motion Control.
- In the axis configuration, set Hardware interface to the PROFIdrive telegram of the MM4 (TIA Portal auto-fills STW1 → Bit 0..15 mapping for the
MC_Powercontrol signals). - Assign the telegram to the drive by selecting the drive I/O addresses as the setpoint / actual value source.
- Set Maximum speed / reference speed identical to the value entered in
P2000on the MM4. Mismatched normalization is the single most common commissioning error. - Select the encoder source — for VSD control the encoder (if present) is typically not connected to the drive's encoder interface but to a high-speed counter on the PLC, which then feeds the TO_SpeedAxis as an external encoder.
- Compile the project; if no errors are reported, download to the CPU.
6. Programming Motion Control Instructions
The Motion Control instructions are part of the PLCopen standard and live in the Technology Objects library. The basic call structure for a speed-axis jog test in Structured Text is:
// Axis enable
MC_Power(
Axis := SpeedAxis_1,
Enable := bEnableDrive,
EnablePositive := TRUE,
EnableNegative := TRUE,
Override := 100.0,
Busy => bPowerBusy,
Status => bPowerStatus,
Error => bPowerError,
ErrorID => wPowerErrorID);
// Jog operation
MC_MoveJog(
Axis := SpeedAxis_1,
JogForward := bJogFwd,
JogBackward := bJogBwd,
Velocity := 50.0,
Acceleration := 100.0,
Deceleration := 100.0,
Jerk := 0.0,
Busy => bJogBusy,
CommandAborted => bJogAborted,
Error => bJogError,
ErrorID => wJogErrorID);
// Homing on a position-controlled axis (requires encoder feedback to PLC)
MC_Home(
Axis := PositionAxis_1,
Execute := bHomeStart,
Position := 0.0,
Mode := MC_HOMING_ABSOLUTE_SETTING_POSITION,
Done => bHomeDone,
Busy => bHomeBusy,
Error => bHomeError,
ErrorID => wHomeErrorID);
For a homing sequence on a VSD-driven axis, the PLC must be the master of the position loop. The MM4 only closes the speed loop via its V/f or vector controller; the PLC closes the position loop by reading the actual position (e.g., from an SSI or incremental encoder on a fast input module, or from a PROFIdrive encoder that the MM4 is configured to forward in a free PZD slot — which then breaks the technology-object auto-binding).
7. Acyclic Parameter Access (DPV1 Dataset 47)
The S7-1500 Motion Control function does not expose the MM4's internal parameter set (e.g., P0700, P2000, fault memory). To read or write parameters, use the PROFIdrive acyclic channel on top of the cyclic PROFIBUS/PROFINET connection:
| Layer | Mechanism | Block / API |
|---|---|---|
| PROFIBUS DPV1 | DS 47 (Parameter Channel) read/write |
RDREC / WRREC
|
| PROFINET acyclic | Record data read/write via RPC |
RDREC / WRREC (PROFINET IO record-data service) |
Request frame for reading parameter 0x0001 (P0001) from the MM4:
- Function:
0x01(read request) - Drive reference:
0x01(logical drive number, always 1 on MM4) - Parameter number:
0x0001 - Subindex:
0x00 - Length:
1 word(16-bit value for MM4 non-array parameters)
The function blocks RDREC and WRREC use the slot/subslot of the MM4 head module as the IO address. A typical call:
// Read parameter P0001 from MM4
wStatus := RDREC(
REQ := bTrigger,
ID := dwIoAddress, // HW identifier of the MM4 slot
INDEX := 47, // DPV1 parameter channel index
MLEN := SIZEOF(rdData),
VALID => bValid,
BUSY => bBusy,
ERROR => bError,
STATUS => wStatus,
LEN => dwLen,
RECORD := rdData); // byte array; first 4 words = PROFIdrive parameter request header
For multiple parameters or repeated access, the DriveLib library provides pre-built FBs (e.g., FB287-family wrappers) that handle the byte-ordering and DoId (drive object) mapping for you.
8. VSD vs Servo: Control Quality Considerations
A VSD such as the MM4 is fundamentally a speed/flux controller, not a position controller. The position loop — when present — lives in the PLC. Implications:
- Sample time: Position-loop update is bound to the S7-1500 MC cycle (1 ms typical, 4 ms minimum). SINAMICS S120 with PROFINET IRT can achieve 250 µs.
- Following error: Expect a steady-state following error of several encoder increments on a high-inertia load, and overshoot during emergency stops that a servo with internal pre-control would not produce.
-
Tuning effort: The position controller's P-gain must be de-tuned aggressively (typical
Kp ≤ 5with default 1 ms cycle on a low-inertia axis). Velocity feed-forward can be added in the TO to reduce following error. - Mechanical compliance: Couplings with backlash or torsion will be amplified at the position loop's corner frequency. Use a stiff drive train.
- Safety: Without a SIL-rated STO circuit on the drive side (MM4 does not support STO), the motion is limited to PL d / SIL 2 with a contactor-based stop category. SINAMICS G120 with CU250S-2 supports STO over PROFIsafe.
The rule of thumb from the field: an MM4-driven position axis is appropriate for low-dynamic applications such as turntable indexing, slitter positioning, conveyor indexing with cycle times ≥ 2 s, and is unsuitable for high-speed camming, electronic gearing, or flying saw patterns.
9. SINA FBs vs Standard Motion Control
The SINA_SPEED (FB285), SINA_POS (FB284), and SINA_CTRL (FB286) blocks are part of the Siemens DriveLib and were developed for SINAMICS drives only. They depend on drive-side SINAMICS-specific telegrams, alarm handling, and parameter numbering (PROFIdrive DoId mapping is non-trivial on MM4). Concretely:
| Function Block | Purpose | Supported Drives | Use with MM4? |
|---|---|---|---|
| FB284 SINA_POS | Basic positioner | SINAMICS G120/G120C/G120D/S110/S120 | No |
| FB285 SINA_SPEED | Speed control with Telegram 1/2/3/4 | SINAMICS family | Not recommended — Telegram 1 works, but FB285 expects SINAMICS parameter numbering |
| FB286 SINA_CTRL | Closed-loop position control | SINAMICS S120 with SINAMICS firmware ≥ V5.2 | No |
| MC_Power / MC_Move* | PLCopen Motion Control | Any PROFIdrive-compliant drive with Standard Telegram 1–7, 102, 105, 106 | Yes |
For MM4, use the standard MC instruction set. If a custom application requires SINA-style features (e.g., extended ramp generator on the drive side), implement them on the MM4 directly via parameter assignment and expose them as fixed bits in the telegram.
10. Verification and Diagnostics
- TO online diagnostics — Right-click the technology object in TIA Portal → Online & Diagnostics. Verify the axis is in Operational state, no Configuration error is present, and the cyclic data is exchanged (drive heartbeat toggles).
-
Watch table — Force STW1 bits:
047E(OFF1 = 0, ready), then047F(ON command). The MM4 should accelerate to the setpoint. -
Fault code mapping — If the MM4 trips, the ZSW1 fault bit (bit 3) and the fault number are visible only via the acyclic channel; the cyclic telegram does not carry the fault code. Read fault
r0947[0]viaRDRECwith index 47. - Trace — Use the S7-1500 trace to record NSOLL and NIST over time. A correctly-tuned axis shows NIST tracking NSOLL within a 2% band during the ramp.
- PROFIdrive diagnostics — In the CPU's online view, navigate to Distributed I/O → MM4 → Diagnostics to read the bus state and any PROFIdrive alarms.
| Symptom | Likely Cause | Action |
|---|---|---|
| TO does not compile | Drive type set to "SINAMICS" or free PZD selected | Change drive type to "PROFIdrive" and select Standard Telegram 1 |
| MC_Power stays Busy, no Status | MM4 not in PROFIdrive mode or P0700/P1000 wrong | Verify P0927 = 1, P0700 = 6, P1000 = 6
|
| Motor runs at wrong speed | P2000 mismatch between drive and TO | Match the reference speed in both — P2000 on MM4 and TO axis configuration |
| Following error grows during constant motion | Encoder not connected to TO actual value | Wire encoder to PLC high-speed counter and select as TO actual value source |
| Acyclic read returns STATUS = 0xDF80_B0xx | Drive in fault state or slot number wrong | Clear fault via STW1 bit 7, then re-verify hardware identifier of the slot |
11. Limitations and Field-Proven Caveats
- The MM4 has no integrated position controller comparable to a SINAMICS Basic Positioner. Homing, positioning, and synchronous functions all live in the PLC's technology object — and inherit its cycle time and tuning limits.
- The MM4 family is in discontinued / spare-part phase for new installations in many regions. Use MM440 only for new MM4-based motion projects; MM420/MM430 have been phased out and spare parts are restricted.
- PROFINET is supported only on MM440 with the Ethernet option module. MM420 and MM430 are PROFIBUS-only.
- The technology object does not validate that the drive has the encoder source expected by the TO configuration. If the encoder is wired to the drive terminal block (MM4 encoder interface) but the TO actual value is set to "Drive telegram", no error is raised at compile time — the axis simply runs open-loop.
- Cyclic I/O cycle of the technology object must be ≤ the MM4 ramp time. If the MC cycle is 4 ms but the MM4 ramp is 0.1 s, the PLC will generate thousands of setpoint changes that the drive cannot follow.
- For PROFINET connections, the SendClock on the PROFINET interface must be selected so that the MM4's PROFINET update time (minimum 1 ms) is met. The S7-1500 supports 0.25–1 ms send clocks; the MM4 will fall back to slower cycles if the configured value is too aggressive.
12. Related Documentation and Standards
- S7-1500 Motion Control — TIA Portal manual collection
- Siemens Industry Online Support — DriveLib and MM4 entry page
- PROFIdrive Profile — PI (PROFIBUS & PROFINET International) profile document, available on profinet.com
Frequently Asked Questions
Can I use S7-1500 Motion Control technology objects with a MICROMASTER 4 (MM420, MM430, MM440)?
Yes, when the MM4 is parameterized as a PROFIdrive device with Standard Telegram 1 and the technology object (TO_SpeedAxis or TO_PositioningAxis) is configured with drive type "PROFIdrive". The MC instruction set (MC_Power, MC_MoveJog, MC_MoveVelocity, MC_Home) operates on the Telegram 1 process data and does not require any SINAMICS-specific telegram.
Can I use the SINA_SPEED (FB285), SINA_POS (FB284), or SINA_CTRL (FB286) blocks with an MM4 drive?
No. The SINA FBs in the DriveLib library target the SINAMICS family and rely on SINAMICS-specific parameter numbering, alarm channels, and extended telegrams. For MM4, use the PLCopen MC instructions directly. The Telegram 1 mapping used by MC_Power is functionally equivalent to what SINA_SPEED does on a SINAMICS, but with a simpler interface.
Which TIA Portal version and MM4 firmware is required to use Telegram 1?
TIA Portal V15.1 or later is recommended (V17+ for current GSDML handling). The MM4 firmware version is not strict — any MM420/MM430/MM440 with a PROFIBUS option module, or an MM440 with a PROFINET option module, supports PROFIdrive and Standard Telegram 1. The drive-side parameters P0927 = 1, P0700 = 6, P1000 = 6, and P2000 (reference speed) must be set correctly.
How do I read or write MM4 parameters (e.g., fault memory, ramp times) from the S7-1500?
Use the acyclic PROFIdrive parameter channel over DPV1/PROFINET, with dataset index 47. From the S7-1500, call RDREC (read) and WRREC (write) on the MM4's hardware identifier, with INDEX = 47. The request frame uses the PROFIdrive parameter request header: function code 0x01 (read), 0x02 (write); drive object 0x01; parameter number; subindex; and length. The Siemens DriveLib library provides ready-made wrappers for common parameter operations.
Can I use MC_Home and MC_MoveAbsolute with an MM4 drive?
Yes, but only when the technology object is a TO_PositioningAxis and the position feedback (encoder or SSI) is wired back to the PLC. The MM4 itself does not close the position loop — the S7-1500 technology object does. For positioning accuracy below ±1° or dynamic positioning cycles faster than 2 s, replace the MM4 with a SINAMICS G120 (CU250S-2) or S120, which has an internal Basic Positioner and supports STO over PROFIsafe.
What is the difference between using Telegram 1 and a free PZD configuration on the MM4?
Telegram 1 is a fixed Siemens/PROFIdrive standard mapping: PZD1 = STW1/ZSW1, PZD2 = NSOLL/NIST. The S7-1500 technology object recognizes this mapping and binds the MC instructions automatically. A free PZD configuration is flexible but is not recognized by the technology object — you would have to wire MC_Power's Enable/EnablePositive signals to specific bit offsets manually using a non-standard mapping. Standard Telegram 1 is the only configuration supported end-to-end by the technology object on MM4.