1. Problem Overview
A 4-20 mA two-wire pyrometer (Optris CSmicro, -50 to +1030 °C span) is being connected to a Siemens LOGO! 12/24RCE base module (MLFB 6ED1052-1MD08-0BA1). The expected process window is approximately 25 °C to 800 °C. The user observes three distinct symptoms that indicate multiple, overlapping configuration faults:
- With the 500 Ω sense resistor in place, the analog input reports a raw value of 200-210 counts and a calculated temperature of -5 °C to -36 °C even though the process is known to be in the 25-200 °C range.
- Switching to a LOGO! AM2 expansion module (MLFB
6ED1055-1MA00-0BA2or the newer6ED1055-1MA08-0BA1) and configuring the AI for "4-20 mA" still produces a -36 °C display at 210 AI units, even after applying gain = 1.35 and offset = -320. - LOGO! Soft Comfort does not visually surface the AM2 in the hardware catalog; the module is only detected at run time on the bus.
Each of these symptoms has an independent root cause, but they interact. The base-module AI is voltage-only (0-10 V) and requires an external shunt; the AM2 AI is the only hardware path that supports current natively. The scaling arithmetic must be re-derived for the actual process range, and the offset error from the parallel input impedance must be removed.
2. Hardware Identification and Specifications
Confirm the exact base module and expansion before applying any scaling rule. The MLFB printed on the front of the device resolves unambiguously to a specific firmware behavior and I/O map.
| Item | MLFB / Part Number | Relevant Specification |
|---|---|---|
| LOGO! 12/24RCE base module (LOGO! 8.3) | 6ED1052-1MD08-0BA1 | 8 DI (4 of them analog-capable: I1, I2, I7, I8), 0-10 V only, 4 DO relay |
| LOGO! AM2 (older) | 6ED1055-1MA00-0BA2 | 2 AI, selectable 0-10 V or 0/4-20 mA, 12-bit |
| LOGO! AM2 (LOGO! 8.3) | 6ED1055-1MA08-0BA1 | 2 AI, 0-10 V or 0/4-20 mA, 12-bit, max 16 384 counts |
| Optris CSmicro | Two-wire 4-20 mA model | Output 4-20 mA over -50 to +1030 °C, 24 V DC loop-powered |
| Sense resistor | 500 Ω, 1 %, 1 W | Converts 4-20 mA to 2-10 V across AI |
The LOGO! 8 system manual (Siemens LOGO! 8 System Manual, 05/2023 edition, A5E50157592-AD) is the authoritative reference for AI terminal assignment. The base-module analog inputs I1, I2, I7, and I8 are documented as 0-10 V with input impedance of 72 kΩ. The 0-20 mA and 4-20 mA ranges are not supported on the base module terminals; they require the AM2 expansion.
3. Sensor and Signal Type Confirmation
The Optris CSmicro is available in several output variants. Verify the output type on the device nameplate or the order code (look for "LT02" or "LT15" current-output options). This article assumes the 4-20 mA two-wire variant, where the current loop is the same pair of wires that powers the sensing head.
| Wire color (Optris standard) | Function | Connect to |
|---|---|---|
| White | +24 V loop supply | LOGO! +24 V (terminal 1 or 2) or external 24 V DC |
| Brown | 4-20 mA signal return | Sense resistor (or AM2 I+ terminal) |
| Green / Yellow | Shield / drain | LOGO! ground bar |
The sensor's published accuracy and the 4-20 mA transfer function are documented in the Optris CSmicro operating instructions (Optris CSmicro product page → Downloads). The transfer function is linear:
I_out (mA) = 4 + (T - T_min) / (T_max - T_min) × 16
where T_min = -50 °C and T_max = +1030 °C for the full-scale unit.
4. Wiring Topologies
4.1 Option A — Base Module AI with External 500 Ω Shunt (no AM2)
The base module cannot read current directly, so the loop current is converted to a 0-10 V signal by inserting a precision 500 Ω resistor between the sensor return and the LOGO! 0 V reference. The full-scale voltage swing becomes 2 V (4 mA) to 10 V (20 mA), which is within the AI range.
Parallel-resistance offset. The 72 kΩ input impedance of the base module AI is in parallel with the 500 Ω shunt, producing an effective resistance of:
R_eff = (500 × 72 000) / (500 + 72 000) = 496.55 Ω
This pulls the 4 mA end to 1.986 V (instead of 2.000 V) and the 20 mA end to 9.931 V. The 4 mA point is off by 0.7 %, which corresponds to ~7.6 °C of apparent error at the bottom of the -50 to 1030 °C span and explains the initial -5 °C reading. This error is systematic and is removed by adding a small positive offset to the math block (see Section 8).
4.2 Option B — AM2 Expansion Module (4-20 mA Native)
The AM2 measures current directly across an internal 250 Ω sense resistor and provides a 0-1000 (or 0-10 000 on newer firmware) count output that already accounts for the 4 mA zero. Wiring is shorter and the parallel-resistance error does not apply because the AM2 input impedance is part of the calibration.
Configure the AM2 channel in LOGO! Soft Comfort: open the AI block, click Sensor, and select 4..20 mA. The AI block now returns 0 at 4 mA and 1000 at 20 mA. The AM2 is recognized automatically at power-up; it does not appear as a selectable item in the project hardware catalog because LOGO! 8 discovers expansion modules dynamically.
5. Analog Input Scaling Fundamentals
The LOGO! AI block returns a raw integer in counts. For 0-10 V and 0-20 mA ranges, 0 counts corresponds to 0 V / 0 mA. For the 4-20 mA range on the AM2 (and on the base module with the 500 Ω shunt, treated as 2-10 V), the 0-count point corresponds to 4 mA / 2 V, not zero signal. Two common transfer errors result:
- Treating 4 mA as 0 % when the sensor is actually at 0 % of the process range (i.e., 0 °C in a 0-800 °C window is not the 4 mA point of a -50 to 1030 °C sensor).
- Forgetting that gain and offset in the LOGO! AI block are applied to the raw count, not to the engineering unit.
Reference the TI 4-20 mA / 0-10 V transmitter primer (PLC Analog Output and Transmitter Introduction, TI 4-20 mA Application Brief) for the relationship between loop current, burden resistor, and ADC count.
6. Gain and Offset Calculation Procedure
The objective is to convert the AI raw count (0-1000) into the process temperature in °C, using the sensor transfer function over the actual process window (0-800 °C).
6.1 Map process range to mA range
| Process Point | Sensor mA | AI count (4-20 mA → 0-1000) |
|---|---|---|
| -50 °C (4 mA zero) | 4.000 | 0 |
| 0 °C | 4 + (50/1080)×16 = 4.741 | 46.3 |
| 800 °C | 4 + (850/1080)×16 = 16.593 | 786.9 |
| 1030 °C (20 mA full) | 20.000 | 1000.0 |
6.2 Solve for gain and offset
The LOGO! AI block computes the displayed value as displayed = gain × raw + offset. Two endpoints must satisfy this equation:
0 = gain × 46.3 + offset
800 = gain × 786.9 + offset
Subtracting: 800 = gain × (786.9 - 46.3) = gain × 740.6 → gain = 1.0802.
Then: offset = -1.0802 × 46.3 = -50.0.
The correct values are gain = 1.08 and offset = -50, not 1.35 / -320. The 1.35 / -320 pair the user applied corresponds to mapping the full -50 to 1030 °C sensor span into a 0-800 °C display window, which is mathematically equivalent to a gain of 800/593 = 1.349 over the visible window. It only yields the correct numeric reading at 0 °C and 800 °C, but every other temperature is biased by the same factor because the offset is applied to the wrong reference. This is exactly why 210 counts produces -36 °C instead of the expected value.
6.3 Diagnostic table for the user's reading
| Observed AI | Loop current (mA) | Sensor °C (true) | Displayed with gain 1.35, offset -320 | Displayed with gain 1.08, offset -50 |
|---|---|---|---|---|
| 0 | 4.00 | -50 | -320 | -50 |
| 46.3 | 4.74 | 0 | -258 | 0 |
| 200 | 7.20 | 147 | -50 | 166 |
| 210 | 7.36 | 176 | -36 | 177 |
| 786.9 | 16.59 | 800 | 742 | 800 |
At 210 counts, the sensor is reporting 176 °C. The process is therefore working; the only problem is the gain/offset pair. Re-apply 1.08 / -50 and the reading will resolve to ~177 °C. If the user actually wants a 0-800 °C indication over the full sensor span, gain = 1.349 and offset = -258 produces the same result at the two anchor points, with smaller in-band error.
7. LOGO! Soft Comfort Configuration
- Open the LOGO! Soft Comfort project, place an Analog Input block (F3) on AI1 of the AM2 (or I7 of the base module, with the shunt).
- In the AI block properties, set:
-
Sensor =
4..20 mA(AM2) or0..10V(base module with shunt). - Smoothing = 4 (default for noise rejection on a temperature signal).
- Gain = 1.08, Offset = -50 (or 1.349 / -258 if mapping the full sensor span).
-
Sensor =
- Wire the AI output to a Math instruction block (F2 → Math) if you need a non-linear curve, or directly to a display block for verification.
- Set the AM2 type in the project tree: Tools → Select Hardware → AM2 → Type 4 (4-20 mA mode). This is required even though the module is auto-detected; the type tells the AI block which physical input range to expect.
- Compile and download (Ctrl+D). After download, monitor the AI value in online mode (Alt+F3) and confirm it moves between 0 and 1000 as the process varies.
8. Math Instruction for Engineering Units Conversion
For users who prefer to keep the AI block at its native 0-1000 counts and do the linearization in a Math block, the equation is:
T (°C) = ((AI - 46.3) × 1080) / 740.6
Implementation in a LOGO! Math block (gain/offset form):
- Operator 1:
Ax(the AI count) with gain1.4574and offset-67.51. - Operator 2: unused, set to
+0. - Operator 3: unused, set to
+0. - Priority: Low.
For the Option A wiring (500 Ω shunt on a base module AI), the math must also compensate for the 0.7 % low-end error from the parallel resistance. The compensating offset is:
ΔV_low = 4 mA × (500 - 496.55) = 0.0138 V → 1.4 counts
Add +2 counts (round up) to the offset in the AI block or Math block to cancel this systematic low-end error.
9. Verification and Calibration
- Loop-current check. Disconnect the brown wire at the LOGO! and insert a multimeter in series. Verify 4.00 mA at ambient with the sensor aimed at a known reference (ice bath = 0 °C, or a blackbody at process temperature). Confirm 20.000 mA at 1030 °C reference if available.
- AI count check. In online mode, the AI should read 46 at 0 °C and 787 at 800 °C, with gain 1.08 / offset -50. The 1.349 / -258 alternative gives 0 at 0 °C and 800 at 800 °C by definition.
- Step response. Apply a sudden change (cover the lens with a hand) and confirm the AI smooths over 4-8 samples without overshoot. If the reading oscillates, increase smoothing to 6 or 8.
- Field reference. Compare the LOGO! reading with a handheld pyrometer or a calibrated thermocouple at three points: low, mid, high. Acceptable agreement is ±2 °C or 0.5 % of span, whichever is greater.
10. Troubleshooting Matrix
| Symptom | Probable Cause | Diagnostic | Fix |
|---|---|---|---|
| AI = 0, sensor at room temperature | Loop open or polarity reversed | Measure mA at brown wire | Confirm white → +24 V, brown → AI return |
| AI = 1000, sensor cool | Brown wire shorted to +24 V | Measure mA: should be 4-20 mA | Re-wire; check insulation |
| AI = 200, displayed -5 °C | 500 Ω parallel-resistance offset on base module | Use 499 Ω or 511 Ω precision resistor | Add +2 count offset, or migrate to AM2 |
| AI = 210, displayed -36 °C | Wrong gain/offset (1.35/-320 used) | Re-derive using process window | Apply gain 1.08, offset -50 |
| AI = 0, sensor at any temp | AM2 set to 0-20 mA, not 4-20 mA | Open AI block → Sensor | Select 4..20 mA |
| AM2 not in Soft Comfort catalog | Normal — auto-detected at run time | Power cycle with AM2 connected | No action required; check online DIAG for detection |
| Reading drifts 5-10 °C | EMI pickup on long cable run | Check shield grounding at one end only | Use shielded twisted pair, ground at panel |
| AI saturates at 1000 unexpectedly | Sensor output exceeds 20 mA (over-range) | Measure loop current; check target temperature vs span | Confirm sensor temperature is within -50 to 1030 °C |
Why does my LOGO! 12/24RCE show -5 °C or -36 °C at 210 AI counts when using a 4-20 mA sensor?
The base-module AI is 0-10 V with 72 kΩ input impedance, which sits in parallel with the 500 Ω sense resistor and pulls the effective resistance to 496.55 Ω. This produces a 0.7 % low-end error (~1.4 counts). The -36 °C reading at 210 counts is caused by the wrong gain/offset pair (1.35 / -320) — the correct values for a 0-800 °C window on a -50 to 1030 °C sensor are gain 1.08 and offset -50.
Can I connect a 4-20 mA sensor to the LOGO! 12/24RCE base module without an AM2 expansion?
Yes. Wire a 1 %, 1 W precision 500 Ω resistor between the sensor signal return and the LOGO! 0 V terminal; the loop current develops 2-10 V across the resistor, which the 0-10 V AI can read. For best accuracy use a 499 Ω resistor to pre-compensate the parallel-resistance drop, or migrate to the AM2 module for native 4-20 mA support.
How do I calculate gain and offset for a 0-800 °C window from a -50 to 1030 °C pyrometer?
Map the process endpoints to AI counts first: 0 °C → 46.3 counts, 800 °C → 786.9 counts. Then solve gain × raw + offset = °C at both points. The result is gain = 800/740.6 = 1.0802 and offset = -1.0802 × 46.3 = -50.0. Enter these in the AI block Sensor properties or use a Math instruction block to apply them.
Why doesn't LOGO! Soft Comfort show my AM2 expansion in the hardware catalog?
LOGO! 8 expansion modules are not items you drag onto the project canvas. They are auto-detected on the right-side bus when the LOGO! powers up. Open the LOGO! menu → Diagnostics to confirm "AM2 OK." If detection fails, reseat the module, check the bus terminator, and verify the LOGO! firmware is 8.0 or higher (1.80.01 or newer for the -0BA1 MLFBs).
What is the correct wiring for a 2-wire 4-20 mA pyrometer to the LOGO! base module?
Connect the white wire (sensor +24 V) to a LOGO! 24 V DC output or external 24 V supply, and the brown wire (loop return) to one end of a 500 Ω resistor. Connect the other end of the resistor to both the LOGO! analog input terminal (I1, I2, I7, or I8) and the LOGO! 0 V terminal. Tie the shield/drain wire to the panel ground bar at one end only.