Problem: 1215C Onboard AO Cannot Produce 0–10 V Directly
The SIMATIC S7-1200 CPU 1215C AC/DC/RLY (article number 6ES7215-1BG40-0XB0 and related variants) ships with two onboard analog outputs on the bottom terminal block (terminals AQ0M / AQ0 and AQ1M / AQ1). These outputs are current-sourcing only; the firmware and analog front end do not expose a 0–10 V voltage range on the onboard channels. Selecting a voltage range in the device configuration of TIA Portal is not available for the CPU 1215C or 1217C onboard outputs — only the current ranges 0–20 mA and 4–20 mA are configurable.
This is a common field issue when an S7-1200 must drive a device that only accepts a 0–10 V control input (variable-frequency drives with voltage reference inputs, valve positioners, chart recorders, panel meters). The PLC cannot deliver that signal directly from the onboard terminals, so one of three field-proven methods must be applied: (1) a precision current-to-voltage conversion resistor, (2) an add-on analog output signal module, or (3) a dedicated I/U transducer.
Each method is described below with electrical sizing, wiring topology, TIA Portal configuration, calibration, and a verification matrix.
Root Cause: Hardware Topology of the Onboard AO
The onboard analog output stage of the 1215C uses a current-mode DAC followed by a controlled current sink/source. The output is rated:
| Parameter | Value (Onboard AQ 1215C) |
|---|---|
| Number of outputs | 2 |
| Output type | Current only |
| Full-scale ranges | 0–20 mA or 4–20 mA (configurable) |
| Resolution | 12 bits (incl. sign) — approx. 4.8 µA / LSB @ 0–20 mA |
| Maximum load at 20 mA | ≤ 600 Ω (typical); load voltage drop ≤ 12 V DC at 20 mA |
| Isolation | None (non-isolated, referenced to CPU ground / MANA) |
| Cable length, shielded, twisted pair | ≤ 100 m for current signal |
Because the output stage is a current source, a voltage can be produced only by passing that current through a known load. The relationship V = I × R applies across the full scale, so for 0–20 mA to map to 0–10 V, the load must be exactly 500 Ω.
Solution 1 — Precision 500 Ω Resistor (Lowest Cost, Field-Standard)
Place a precision resistor across the analog output terminals (AQ0 and MANA) and read the voltage across the resistor. Because 20 mA × 500 Ω = 10 V, the mapping is linear and exactly matches the 0–20 mA range. This is the most widely used method in brownfield retrofits because it requires no reconfiguration, no hardware change to the PLC, and no firmware modification.
Component Selection
- Resistance: 500.0 Ω nominal, tolerance ≤ 0.1 % (or pick-and-measure a 1 % part).
- Temperature coefficient (TCR): ≤ 25 ppm/°C to keep gain drift below 0.05 % across a 50 °C swing.
- Power rating: P = I²R = (0.020)² × 500 = 0.20 W. Use a 0.5 W or larger metal-film or wirewound part for thermal headroom and long-term stability. A 0.25 W part will survive but runs hot at sustained 20 mA.
- Mounting: Terminal-block style, DIN-rail mount, or PCB header — whichever integrates cleanly into the existing panel.
Physical Placement
Mount the resistor as close as physically possible to the PLC terminals. Reasons:
- Minimises the length of the un-terminated current loop, which reduces susceptibility to EMI pickup on the high-impedance voltage node.
- Keeps the voltage measurement point at the PLC, which is the cleanest low-impedance point.
- Shortens the loop area, reducing radiated emissions from the long cable that runs to the field device.
If the field device is far away (> 10 m), use a 4-wire (Kelvin) connection: a separate pair of sense wires from the resistor terminals to the field device input, so cable resistance and connector contact resistance do not add to the 500 Ω and corrupt the calibration.
Verification of Linearity
By Ohm's law, the voltage across a fixed resistor driven by a current source is a linear function of current. There is no non-linearity term in the resistor, so the only errors are:
- Resistor initial tolerance
- Resistor temperature drift (TCR)
- PLC DAC integral non-linearity (INL), typically ≤ ±0.5 % of full scale on the 1215C onboard outputs
- Offset error at 0 mA, typically ≤ ±20 µA on the 1215C
End-to-end calibration against a calibrated multimeter or the driven device's own calibration menu is recommended. If a small zero offset is observed (e.g., 0.5 mV at 0 mA), correct it in the PLC program by adding a small bias to the output word, not by changing the resistor.
Solution 2 — Add an Analog Output Signal Module (Cleanest Method)
If the application can tolerate an additional module on the right-hand side of the CPU, install a SIMATIC SM 1232 analog output signal module. This is the engineering-best method because it provides true voltage output, galvanic isolation (module-dependent), and selectable ranges.
Recommended Module: 6ES7232-4HD32-0XB0
| Parameter | Specification |
|---|---|
| Article number | 6ES7232-4HD32-0XB0 |
| Description | SM 1232, Analog Output, 4 AO, ±10 V or 0–20 mA / 4–20 mA |
| Resolution | 14 bits (incl. sign) for voltage; 13 bits for current |
| Voltage ranges | ±10 V |
| Current ranges | 0–20 mA, 4–20 mA |
| Conversion time | ≤ 1 ms per channel |
| Load, voltage output | ≥ 1 kΩ |
| Isolation | Yes (backplane to field) |
| Diagnostics | Overflow, underflow, wire break (current mode), short circuit (voltage mode) |
Other 1232 options that natively support 0–10 V include the SM 1232 AQ 2 × 14 bit (6ES7232-4HB32-0XB0) for applications that only need two outputs. Both modules use the same addressing scheme in the process image.
Wiring
The SM 1232 provides dedicated V and M terminals per channel. The output word (QW) is mapped automatically to the process image starting at the slot after the CPU. Use TIA Portal device configuration to enable the channel and select the voltage range.
Solution 3 — Dedicated Current-to-Voltage Converter (Best for Disturbed Environments)
A passive resistor (Solution 1) places a 500 Ω burden directly across the field wiring. If the wiring is long or the panel is electrically noisy, an active signal conditioner (Phoenix Contact MINI MCR, Wago 857, or similar DIN-rail transducer) is preferable. These accept a 0–20 mA input and provide an isolated 0–10 V output, often with 3-way isolation (input / output / power).
Typical wiring:
PLC AQ0 (current) → transducer I+ / I- (loop-powered or 24 V powered)
Transducer U+ / U- (0–10 V) → field device input
Loop-powered transducers steal the operating current from the 0–20 mA loop (typically 3.5 mA budget). For the 1215C onboard output this is fine because the burden is ≤ 600 Ω, but verify the transducer data sheet for compliance voltage drop.
Wiring Topology and Connection Diagrams
Onboard AQ Pinout (CPU 1215C AC/DC/RLY)
Bottom terminal block, left side (looking at the CPU with door open):
- Pin 1: L+ (24 V DC sensor supply)
- Pin 2: M (sensor supply ground)
- Pin 3: AQ0+ / AQ0 (current output, channel 0)
- Pin 4: AQ0M (analog ground, channel 0)
- Pin 5: AQ1+ / AQ1 (current output, channel 1)
- Pin 6: AQ1M (analog ground, channel 1)
Always confirm with the wiring diagram printed on the inside of the CPU door; pin assignments vary slightly between 1215C variants (AC/DC/RLY, DC/DC/DC, etc.).
Resistor Method — Single-Channel Diagram
SM 1232 (6ES7232-4HD32-0XB0) — Four-Channel Voltage Output
Electrical Sizing for the Resistor Method
Three quantities must be confirmed before wiring:
1. Burden Voltage at Full Scale
Vburden = IFS × R = 0.020 A × 500 Ω = 10.0 V. The PLC's analog output stage can drive this without exceeding the typical 12 V compliance limit. If a higher resistor value were used (e.g., 600 Ω), the burden voltage would be 12.0 V, which is at the edge of the compliance window and not recommended.
2. Power Dissipation
P = IFS² × R = (0.020)² × 500 = 0.20 W. A 0.5 W resistor gives a 2.5× derating margin, which is standard practice for industrial components.
3. Total Loop Resistance
For a 0–20 mA signal, the maximum allowed loop resistance is given by the analog output compliance. For the 1215C onboard AQ, the maximum is approximately 600 Ω at 20 mA. The 500 Ω resistor plus the field wiring resistance (typically < 10 Ω for a 100 m run of 1.5 mm² copper) plus the input impedance of the field device (typically > 10 kΩ for a voltage input, so negligible when wired in parallel across the resistor) must sum to ≤ 600 Ω. The recommended topology is: resistor at PLC terminals, high-impedance voltage sense to field, which keeps the current loop local and the sense wires carry essentially no current.
TIA Portal Configuration
For all three solutions, the PLC program treats the output as a 0–20 mA value scaled to engineering units. The hardware does the conversion; the program only writes an integer (0–27648 nominal) to the process image output word.
Step-by-Step — Resistor Method (no hardware change required)
- In the project tree, open Devices > [CPU 1215C] > Device configuration.
- Select Analog outputs from the device view.
- For each channel, set:
- Output type: Current
- Range: 0 – 20 mA (use this range, not 4–20 mA, so that 0 mA maps to 0 V on the resistor)
- Reaction to CPU STOP: Hold last value (or substitute a safe value, e.g., 0 V)
- Compile and download to the CPU.
Step-by-Step — SM 1232 (6ES7232-4HD32-0XB0) Method
- Drag the SM 1232 from the hardware catalog onto the right of the CPU in the device view.
- Select the SM and open Properties > Analog outputs.
- For each channel, set:
- Output type: Voltage
- Range: ±10 V (or a 0–10 V configuration if available; on the SM 1232 the bipolar ±10 V range is the voltage option, and a 0–10 V application is handled by using the positive half of the range and clamping the negative in the program)
- Diagnostics: Enable short-circuit and overflow
- Note the I/O address: outputs start at QW64 (slot 1) by default and shift per slot.
- Compile and download.
Sample SCL Scaling Block
// Scale engineering units 0.0..100.0 % to PLC output word 0..27648
FUNCTION_BLOCK FB_AO_Scale_0_20mA
VAR_INPUT
rPercent : REAL; // 0.0 to 100.0
END_VAR
VAR_OUTPUT
wRaw : WORD; // 0..27648 nominal
END_VAR
VAR
rScaled : REAL;
END_VAR
rScaled := LIMIT(0.0, rPercent, 100.0) * 276.48;
wRaw := REAL_TO_WORD(rScaled);
END_FUNCTION_BLOCK
The PLC writes the output word to %QW64 (SM 1232, slot 1, channel 0) or to the onboard address of the 1215C AQ if using the resistor method. For the resistor method, the same block is used; the conversion to voltage happens in the wiring, not the program.
Scaling, Calibration, and Linearization
| Engineering value | PLC raw (0–20 mA range) | Current (mA) | Voltage across 500 Ω |
|---|---|---|---|
| 0.0 % | 0 | 0.000 | 0.000 V |
| 25.0 % | 6912 | 5.000 | 2.500 V |
| 50.0 % | 13824 | 10.000 | 5.000 V |
| 75.0 % | 20736 | 15.000 | 7.500 V |
| 100.0 % | 27648 | 20.000 | 10.000 V |
The 0–20 mA range is the correct choice for the resistor method, because 4–20 mA would produce 2–10 V, not 0–10 V. If 4–20 mA must be used (e.g., to detect a broken wire as 0 mA), apply the appropriate scaling in software so that 4 mA = 0 V externally — for example, drive a 4–20 mA loop and accept the 2 V offset as a known constant, or use an SM 1232 in voltage mode instead.
Two-Point Calibration Procedure
- Force the PLC to output 0 mA (raw 0). Measure the voltage at the field terminals. Record V0.
- Force the PLC to output 20 mA (raw 27648). Measure the voltage at the field terminals. Record VFS.
- Compute gain error: G = (10.000 / VFS) − 1.
- Compute offset error: O = V0.
- If |O| > 5 mV or |G| > 0.5 %, correct by either:
- Software: apply a linear correction
wRaw_corrected = wRaw × G − O / 10 × 27648in the PLC program, or - Hardware: trim the resistor with a parallel trim pot, or replace with a closer-tolerance part.
- Software: apply a linear correction
- Re-verify with at least three intermediate points (25 %, 50 %, 75 %). Acceptable deviation: ≤ ±0.5 % of full scale (50 mV at 10 V FS).
Verification and Commissioning Procedure
- Power up the PLC with the field device disconnected.
- Place a calibrated multimeter (Fluke 87V or equivalent, ±0.05 % DC accuracy) across the 500 Ω resistor (or across the SM 1232 voltage output terminals).
- Force the output to 0 %, 50 %, and 100 % from the PLC watch table or from a debug FB. Verify the multimeter reads 0.000 V, 5.000 V, 10.000 V (± tolerance per the calibration above).
- Reconnect the field device. With the PLC still in test, repeat step 3 and verify the device responds as expected (e.g., valve at 0 %, 50 %, 100 %).
- Capture the calibration values in the project documentation: resistor part number, measured value, multimeter used, calibration date, technician initials.
- Restore the production program and run a controlled ramp from 0 % to 100 % over 10 seconds; observe smooth, monotonic response at the field device.
Troubleshooting Matrix
| Symptom | Likely Cause | Diagnostic Step | Corrective Action |
|---|---|---|---|
| Voltage reads 0 V at 100 % output | Open resistor or wrong terminal | Measure resistance at the terminals with PLC powered down | Replace resistor; verify wiring to AQ0M (not L+ or M of the sensor supply) |
| Voltage reads ~24 V at 0 % output | Multimeter on current output without load, or wiring in parallel with the wrong node | Verify 500 Ω is present; verify the meter is in V DC across the resistor | Reconnect the meter across the resistor only |
| Voltage reads 8 V at 100 % output | Loop resistance too high (additional burden from the field device) | Calculate total burden; measure with field device disconnected | Move field wiring to voltage sense pair, not current loop |
| Voltage is noisy (jitter > ±50 mV) | Common-mode noise; long unshielded cable | Inspect shield termination; measure with scope | Use shielded twisted pair, ground shield at PLC end only |
| Output saturates at 20 mA regardless of program value | Configuration range is 4–20 mA and the program is writing a value below 4 mA equivalent | Inspect device configuration; inspect raw value in watch table | Switch range to 0–20 mA; or remap the scaling block to 4–20 mA |
| SM 1232 reports SF (system fault) and red LED | Output channel in voltage mode with a low-impedance load (e.g., short to ground) | Disconnect field wiring; check resistance to ground | Remove short; verify load ≥ 1 kΩ |
| Voltage drift over temperature | Resistor TCR too high | Measure voltage at ambient and at 50 °C enclosure | Replace with ≤ 25 ppm/°C part |
| Linear but offset (e.g., 0.3 V at 0 mA) | PLC DAC offset, or extra thermocouple effect at terminal block | Read raw value at 0 % and compare to expected 0 mA | Apply software bias, or use SM 1232 with bipolar ±10 V and offset in program |
Field-Proven Caveats and Engineering Best Practice
- Do not mix current and voltage on the same channel. The onboard 1215C AQ is current-only by hardware design; no firmware setting will convert it to a voltage output.
- Verify compliance before using the resistor method with long cables. If the field device is > 50 m away, the cable resistance can become a non-negligible part of the 500 Ω. Use a 4-wire (Kelvin) sense, or switch to the SM 1232 with a voltage output, which is more tolerant of cable resistance.
- Prefer the SM 1232 for new installations. The cost of the 4AO module is small relative to the engineering time saved on calibration and the diagnostic features (wire break in current mode, short circuit in voltage mode).
- Document the resistor value in the project. If a maintenance technician later replaces the resistor with a 510 Ω or 470 Ω part, the output scaling will be off by 2 % or 6 % respectively. A label on the panel ("AO0: 500 Ω burden for 0–10 V") prevents this.
- Watch the 0–20 mA vs 4–20 mA choice. A 4–20 mA configuration will produce 2–10 V across the 500 Ω, not 0–10 V. This is a common commissioning error.
- Power the resistor at the PLC end, not at the field end. This keeps the current loop short and the voltage sense path long, which is the topology that minimises noise pickup.
FAQ
Can the 1215C onboard analog output be configured for 0–10 V in TIA Portal?
No. The CPU 1215C (and 1217C) onboard analog outputs are current-only by hardware design. TIA Portal exposes only 0–20 mA and 4–20 mA ranges. To obtain 0–10 V, either install a 500 Ω precision resistor across the current output, or add a signal module such as the 6ES7232-4HD32-0XB0 SM 1232 with a true voltage output stage.
What resistor value converts 0–20 mA to 0–10 V exactly?
500 Ω. From Ohm's law, V = I × R: 0.020 A × 500 Ω = 10.0 V at full scale, and 0 A × 500 Ω = 0 V at zero. Use a 0.1 % tolerance metal-film resistor with a temperature coefficient of 25 ppm/°C or better, and a power rating of at least 0.5 W (theoretical dissipation at 20 mA is 0.2 W).
Is the 500 Ω conversion linear and exact?
Yes, the resistor itself is linear by definition. Total error is the sum of resistor tolerance, temperature drift, PLC DAC integral non-linearity (typically ≤ ±0.5 % FS on the 1215C), and the 0 mA offset. End-to-end two-point calibration against a calibrated multimeter easily achieves ≤ ±0.5 % of full scale.
Which Siemens signal module provides a true 0–10 V analog output?
The SM 1232 analog output module 6ES7232-4HD32-0XB0 (4 AO, 14-bit, ±10 V or 0–20 mA / 4–20 mA) and the 2-channel variant 6ES7232-4HB32-0XB0 both provide true voltage output. Configure the channel for voltage, range ±10 V, and drive the positive half of the range (0 to 27648 raw) for a 0–10 V application.
Can I use a 4–20 mA configuration with the 500 Ω resistor?
You can, but the resistor will then produce 2–10 V, not 0–10 V. The 4 mA living zero (2 V across the resistor) is a feature in current loops for broken-wire detection, not a bug to remove. If 0–10 V is required, switch the TIA Portal configuration to the 0–20 mA range, or use an SM 1232 in voltage mode.
What happens if the field device has a low-impedance input?
If the field device is wired in series with the 500 Ω resistor, its input impedance adds to the burden and reduces the voltage. Always wire a high-impedance voltage input in parallel with the resistor at the PLC terminals, and use a separate sense pair to the field device so the long cable carries no current.
Does the resistor method affect PLC diagnostics or overflow behaviour?
The PLC's diagnostics on the analog output (overflow, wire break in current mode) are unchanged. In an overflow condition (raw value > 32511 in some configurations), the output behaves according to the device configuration property "Reaction to CPU STOP" — typically "Hold last value" or a substitute value. The resistor does not alter this logic; it only converts the resulting current to a voltage.