Configuring Siemens MXG461B15-1.5 3-Way Valve with Beckhoff PLC

David Krause11 min read
Process 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

System Overview

The Siemens MXG461B15-1.5 is a magnetic-actuated 3-way control valve designed for hydronic circuits in HVAC and process heating/cooling loops. When paired with a Beckhoff EtherCAT coupler (EK1100) and analog terminals (EL3162 input, EL4104 output), the valve can be driven directly from a TwinCAT 3 PLC using a unipolar 0–10 V control signal. This reference covers the analog I/O commissioning path, terminal scaling, characteristic curve selection, PID tuning, and a multi-sensor feedback strategy suitable for accurate water temperature regulation on a mixing or diverting circuit.

Table 1 — Component Stack Used in This Reference
Component Role Signal/Power Notes
Siemens MXG461B15-1.5 3-way mixing/diverting valve, magnetic actuator 24 V AC/DC actuator supply; 0–10 V or 4–20 mA positioning signal Select one signal type at order; field conversion requires actuator re-configuration
Beckhoff EK1100 EtherCAT coupler 24 V DC Bridges EtherCAT to terminal bus; first slot in the I/O row
Beckhoff EL3162 2-channel analog input, ±10 V / 0–10 V 24 V DC via power contacts Used for valve feedback or temperature transmitter readout
Beckhoff EL4104 4-channel analog output, 0–10 V 24 V DC via power contacts Drives the valve positioning input; 12-bit resolution
TwinCAT 3 PLC Control and visualization runtime Requires TF6620 only if also communicating with Siemens S7 controllers

Valve Selection and Signal Type

The MXG461 series is offered with two positioning signal variants:

  • Voltage variant (default for this article): 0–10 V DC positioning input, corresponds linearly to 0–100% stroke when the valve is configured for linear characteristic.
  • Current variant: 4–20 mA positioning input. Order code must specify the current variant; the actuator cannot be field-converted between voltage and current without factory authorization.
Selection guidance: A 0–10 V signal from the EL4104 is the simplest path when the cable run stays inside the cabinet. For long cable runs (e.g., valve installed on the plant floor), a 4–20 mA variant is more immune to voltage drop on the loop. If the order is already placed as the voltage variant, use the voltage path as described below.

Hardware Wiring

Wire the actuator first, then the analog loop. The MXG461 has separate terminals for actuator supply (24 V) and the positioning signal.

Actuator Supply

  1. Connect 24 V AC or 24 V DC to the actuator supply terminals (G, G0 for AC; +, − for DC). Observe the polarity markings on the actuator nameplate.
  2. Verify the actuator type plate lists 24 V operating voltage matching the source.
  3. Confirm that the actuator cover is closed and the cable gland is torqued before energizing.

Positioning Signal — EL4104 to Valve

  1. Route a shielded twisted pair from the EL4104 channel 1 output (terminal A1, signal ground A1 GND) to the MXG461 positioning input (terminal Y, reference G0).
  2. Connect the shield to functional earth at the cabinet side only. Do not ground the shield at the valve end.
  3. Set the EL4104 output range in TwinCAT to 0–10 V (factory default; do not select ±10 V when the valve expects unipolar 0–10 V).

Feedback / Temperature Inputs — Sensors to EL3162

Although the MXG461 valve is self-actuating and does not require an external position feedback wire for closed-loop control of stroke, plant feedback is typically a process variable (e.g., outlet water temperature). Use the EL3162 channels for:

  • Channel 1: cold water inlet temperature (PT1000 or 0–10 V transmitter).
  • Channel 2: hot water inlet temperature.
  • Channel 3 (if a third EL3162 channel is used or via a later terminal): mixed outlet temperature downstream of the valve.

TwinCAT 3 I/O Configuration

After scanning the EtherCAT network (TwinCAT → Devices → Scan), the EL3162 and EL4104 appear in the I/O tree. Confirm the following Process Data settings before any output is enabled.

Table 2 — Recommended Process Data Settings
Parameter EL4104 (Output) EL3162 (Input)
Output/Input range 0–10 V (unipolar) 0–10 V (unipolar)
Resolution 12-bit (default) 16-bit (default)
Scaling factor 1 count ≈ 2.44 mV 1 count ≈ 0.153 mV
Filter Disabled 50 Hz FIR enabled for noisy plant environments
Watchdog Enabled (default 100 ms) N/A

Scaling Equations

The raw INT value written to the EL4104 maps to output voltage as:

V_out = (OutputValue / 32767) × 10 V

For example, a control output of 60% of stroke requires an INT value of:

OutputValue = 0.60 × 32767 ≈ 19660

The same scaling applies in reverse for the EL3162 when reading a 0–10 V transmitter.

PLC Program Skeleton

Use two function blocks — one for the analog output (valve command) and one for the analog input (process variable). A minimal IEC 61131-3 structured text skeleton is given below.

Variable Declaration

VAR
    // Hardware links
    fbAO      : FB_AnalogOutput;     // drives EL4104 channel 1
    fbAI1     : FB_AnalogInput;      // reads EL3162 channel 1 (cold inlet T)
    fbAI2     : FB_AnalogInput;      // reads EL3162 channel 2 (hot inlet T)

    // Process variables
    rSetpoint : REAL := 45.0;        // °C target mixed-outlet temperature
    rPV_Cold  : REAL;                // °C measured cold inlet
    rPV_Hot   : REAL;                // °C measured hot inlet
    rPV_Out   : REAL;                // °C measured mixed outlet

    // PID controller
    fbPID     : FB_PID_Controller;   // OSCAT or Tc3_ControllerPid
    rManipulated : REAL;             // 0..100 %

    // Output to valve (0..100%)
    iValveCmd : INT;                 // raw INT to EL4104
END_VAR

Main Cyclic Body

// Read sensors
fbAI1(rRaw := EL3162_AI_Ch1, eRange := AI_0_10V, rScaled => rPV_Cold);
fbAI2(rRaw := EL3162_AI_Ch2, eRange := AI_0_10V, rScaled => rPV_Hot);

// Optional: read outlet temperature from a third channel
// rPV_Out := fReadOutlet();

// Compute control error based on chosen loop (e.g., outlet temperature)
rPV_Out := fEstimateOutlet(rPV_Cold, rPV_Hot, rManipulated);

// Run PID
fbPID(
    bEnable     := TRUE,
    rSetpoint   := rSetpoint,
    rActualValue:= rPV_Out,
    rOutput     => rManipulated,
    eMode       := PID_MODE_AUTO
);

// Clamp manipulated variable to safe operating window
IF rManipulated < 0.0 THEN rManipulated := 0.0; END_IF;
IF rManipulated > 100.0 THEN rManipulated := 100.0; END_IF;

// Apply characteristic curve (linear by default)
// Linear: output % = valve %
// Equal-percentage: apply gain table (see Section: Valve Characteristic)
rManipulated := fApplyCharacteristic(rManipulated, eCurve := CURVE_LINEAR);

// Convert % to EL4104 raw INT
iValveCmd := REAL_TO_INT(rManipulated * 32767.0 / 100.0);

// Write to hardware
fbAO(iRaw := iValveCmd, eRange := AO_0_10V);
Watchdog awareness: The EL4104 will drop its output to 0 V if the TwinCAT task fails to refresh the Process Data within the watchdog window. Default 100 ms is fine for temperature loops; reduce only if the task cycle is faster than 50 ms.

Valve Characteristic: Linear vs. Equal-Percentage

The MXG461 magnetic actuator is approximately linear by design, but the installed flow characteristic of the valve depends on the trim. Recommended practice for water temperature control:

  • Linear (CURVE_LINEAR): Use as the default. Best control quality between 20% and 80% stroke.
  • Equal-percentage (CURVE_EQUAL_PERCENTAGE): Switch to this curve if the loop continuously operates below 20% or above 80% stroke. Provides better resolution at low flow and prevents hunting near the seat.

A simple field rule: if the steady-state PID output settles below 20% or above 80% for more than a few minutes, change the characteristic curve or re-balance the system hydraulics.

Multi-Sensor Temperature Strategy

Three temperature measurements are recommended for a closed-loop mixing application:

  1. Cold inlet temperature — used as a feed-forward term to anticipate load changes.
  2. Hot inlet temperature — used as the upper bound for safety and as the source for the heat-balance equation.
  3. Mixed outlet temperature — primary process variable for PID feedback.

The manipulated valve position required to achieve a target outlet temperature can be estimated as:

ValvePos% ≈ (T_target − T_cold) / (T_hot − T_cold) × 100

This feed-forward term is added to the PID output as a bias to reduce overshoot during cold-side temperature swings. Clamp the result to 0–100% before writing to the valve.

PID Tuning Procedure

  1. Start with conservative gains. Set Kp = 0.5, Tn = 60 s, Tv = 0 s. Disable derivative action initially.
  2. Apply a step test. Change the setpoint by 2 °C and observe the response. Note rise time, overshoot, and settling time.
  3. Tune Kp upward in 0.2 steps until the loop shows mild oscillation, then reduce Kp by 30%.
  4. Add integral action by reducing Tn from 60 s toward 20 s until steady-state error is eliminated in under 3 minutes.
  5. Add derivative action only if the loop has measurable lag (>30 s) and noise is below 0.1 °C RMS. Start Tv at 5 s.
  6. Verify disturbance rejection by varying the cold inlet temperature and confirming the outlet returns to setpoint within tolerance.
Anti-windup: Enable anti-windup on the PID block to prevent integral accumulation when the manipulated variable saturates at 0% or 100%.

Troubleshooting Matrix

Table 3 — Common Faults and Resolutions
Symptom Likely Cause Diagnostic Resolution
Valve command 10 V, but EL3162 reads variable voltage dropping to 0 V Cross-wired channels, EL3162 input channel disabled, or wrong Process Data object linked Use TwinCAT online scope on EL3162 input; check channel Enable bit Re-link the correct process variable; verify Channel 1 enable in CoE
EL4104 output stuck at 0 V Watchdog triggered; Sync Manager watchdog time exceeded Check EL4104 diagnostic LEDs (Diag LED on, or Err LED blinking) Reduce TwinCAT cycle time below watchdog time; or extend watchdog in CoE 0x8000:0C
Valve oscillates around setpoint Loop gain too high or derivative action reacting to noise Log PV and manipulated variable over 5 minutes Reduce Kp by 30%; add first-order filter on PV; disable derivative if noise > 0.1 °C
Steady-state error (PV offset from SP) Insufficient integral action Observe manipulated variable saturating Reduce Tn (integral time) progressively
Output settles below 20% or above 80% Hydraulic imbalance or wrong characteristic curve Plot output % versus PV over 30 minutes Switch from linear to equal-percentage characteristic; rebalance system flows
No actuator response despite correct signal 24 V actuator supply missing, or wrong signal variant ordered (mA vs V) Measure voltage at actuator terminals Y/G0; check actuator type plate Restore 24 V supply; confirm actuator ordered in 0–10 V variant
TwinCAT cannot see EL3162/EL4104 EtherCAT termination or wiring error Check EK1100 Link/Activity LEDs Verify incoming EtherCAT cable; confirm terminals seated firmly on the bus

Beckhoff ↔ Siemens PLC Interoperability (Optional)

If the plant also contains a Siemens S7 controller that must exchange data with the Beckhoff TwinCAT PLC (for example, to forward setpoints from a higher-level SCADA), use the TF6620 TwinCAT 3 S7 Communication supplement. Per the Beckhoff Information System, the tested and supported Siemens controllers for TF6620 are:

  • Siemens S7-300
  • Siemens S7-400
  • Siemens S7-1200
  • Siemens S7-1500

The supplement uses ISO-on-TCP (RFC1006) and supports PUT/GET and S7 communication primitives. Refer to the TF6620 TwinCAT 3 S7 Communication documentation and the TF6620 manual (PDF) for register mapping and configuration steps. Ensure the S7 controller's TCP/IP interface is enabled and that the Beckhoff side has the correct TSAP and rack/slot identifiers.

Alternative: EL6692 Bridge for EtherCAT Masters

If a separate CODESYS controller must read the same valve telemetry, an EL6692 EtherCAT bridge terminal can connect two EtherCAT masters. Configuration steps:

  1. Insert the EL6692 in the Beckhoff terminal bus between the EK1100 and the analog terminals.
  2. Configure the EL6692 in TwinCAT as the secondary side of the bridge.
  3. On the CODESYS master, scan the secondary EtherCAT network and add the exposed analog terminals.
  4. Map the same Process Data variables on both controllers and use a shared tag for the valve command.
Safety: When two masters write to the same actuator, designate one as the producer and the other as a read-only consumer to avoid contention. Implement a hardware interlock or PLC-side arbitration if both masters can drive the loop.

Commissioning Verification

Use this checklist before handing the loop over to production:

  1. Measure 0 V at the EL4104 output with the PLC in STOP — the valve should be fully closed (or at its fail-safe position).
  2. Force the EL4104 output to 5 V from TwinCAT. Measure 5 V ± 50 mV at the actuator input terminals.
  3. Force 10 V and confirm the valve reaches full stroke audibly (magnetic actuator click) within 30 s.
  4. Enable the PID loop with setpoint = current PV and confirm zero manipulated-variable movement.
  5. Apply a 2 °C setpoint step and verify the loop reaches steady state within 5 minutes with overshoot < 10%.
  6. Trip a cold-side disturbance (e.g., close an upstream valve briefly) and verify recovery.
  7. Confirm watchdog behavior: stop the TwinCAT task and verify the EL4104 output drops to 0 V within the configured watchdog time.

FAQ

Can the Beckhoff EL4104 directly drive a Siemens MXG461B15-1.5 valve?

Yes. Set the EL4104 channel range to 0–10 V and wire the output to the MXG461 positioning input terminals (Y and G0). The EL4104 delivers up to 10 mA per channel, which is sufficient for the high-impedance voltage input of the magnetic actuator.

What is the default scaling between the EL4104 raw INT value and the valve command percentage?

Use V_out = (OutputValue / 32767) × 10 V. A 50% valve command requires OutputValue = 16384, and a 100% command requires OutputValue = 32767.

Should I use linear or equal-percentage characteristic for a water temperature loop?

Start with linear. Switch to equal-percentage if the steady-state PID output consistently sits below 20% or above 80% of stroke, which indicates poor resolution at the operating point.

How do I integrate a Siemens S7-1500 with the TwinCAT 3 PLC running this valve control?

Install the TF6620 TwinCAT 3 S7 Communication supplement and configure ISO-on-TCP PUT/GET or native S7 communication. Beckhoff has verified the S7-300, S7-400, S7-1200, and S7-1500 for this supplement. Refer to the Beckhoff Information System TF6620 page for TSAP, rack, and slot configuration.

My valve command signal is correct but the actuator does not move — what should I check?

Verify the 24 V actuator supply is present at the MXG461 supply terminals, confirm the actuator type plate lists 0–10 V (not 4–20 mA), and confirm the actuator is not in manual override mode. Also verify that the EL4104 watchdog has not triggered (Diag LED illuminated).

Back to blog