Siemens LOGO! AM2 Converting R22 Refrigerant Pressure

David Krause14 min read
HMI ProgrammingSiemensTutorial / 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

Problem Overview

Reading refrigerant pressure is trivial on a Siemens LOGO! 8 with an AM2 analog input module: a 0–10 V transducer outputs a value, the AM2 digitizes it, and a scaling block converts the raw count into engineering units (bar). The hard part is the second step — turning a saturated R22 pressure measurement into a meaningful saturated R22 temperature in the suction or discharge line. Because the LOGO! does not ship with a refrigerant property database, you must build the relationship between pressure and temperature explicitly inside the program, either as a linear approximation (T = a·P + b) or as a multi-segment piecewise table look-up driven by analog comparators.

This guide covers the practical path: confirming the AM2 hardware, wiring the 0–10 V pressure transducer, scaling the input, deriving linear fit coefficients from the R22 saturation table, and implementing T = a·P + b using the LOGO! Math and Analog Math blocks. It also documents the limits of a single linear segment, when to use two segments (low-side and high-side), and how to validate the result against a reference thermometer.

Field rule of thumb. If the compressor operates in a narrow saturation band (for example, a chiller suction line that swings between 4 °C and 12 °C), a single linear fit is accurate to roughly ±0.4 °C. If the LOGO! must cover both suction and discharge on a single channel, use a two-segment fit or accept ±1.5 °C error at the segment endpoints.

Prerequisites

Before you start, gather the following:

  • Siemens LOGO! 8 (6ED1052-1xBxx-0BA8 or newer — 0BA8 family). Earlier 0BA6/0BA7 controllers also expose MUL/ADD blocks but with different menu paths and a smaller block count.
  • One LOGO! AM2 analog input module (6ED1055-1MA00-0BA0 or the -0BA2 variant), seated on the right side of the base unit. The AM2 provides two 0–10 V or 0/4–20 mA inputs, 10-bit resolution (0–1000 raw counts mapped to 0–10 V by default).
  • LOGO! Soft Comfort V8.x or later for offline programming and simulation.
  • R22 pressure transducer, 24 VDC powered, 0–10 VDC output, –1 to 29 bar gauge range (as confirmed in the project source).
  • Reference instrumentation: a calibrated RTD or thermocouple thermometer for verification.
  • Spreadsheet (Excel/LibreOffice Calc) for fitting T = a·P + b to two chosen chart points.

Hardware: LOGO! AM2 Module Specifications

The AM2 is the cheapest Siemens-blessed way to add two analog inputs to a LOGO! base unit. The relevant electrical limits for a 0–10 V pressure transducer are:

Parameter Value Notes
Order number 6ED1055-1MA00-0BA0 (series) / -0BA2 (current) Both support 0–10 V inputs
Inputs 2 (AI1, AI2) Differential, non-isolated channel-to-channel
Input range (voltage mode) 0 – 10 V DC Impedance ≥ 100 kΩ
Input range (current mode) 0/4 – 20 mA Impedance ≤ 250 Ω
Resolution 10 bits (0–1000) ≈ 9.77 mV per LSB
Cycle time ≈ 50 ms per channel Two channels scanned sequentially
24 V sensor supply None on the AM2 itself Use the LOGO! base unit's 24 VDC sensor supply (max 200 mA total for 12/24 RCE / 230 RCE) or an external PSU
Max error ±1.5 % of full scale At 25 °C ambient; add temperature drift

You can confirm AM2 parameters against the official manual on the Siemens LOGO! System Manual (chapter 4.2 — "Expansion modules"). For the dedicated AM2 data sheet see the 6ED1055-1MA00-0BA2 product page.

Pressure Transducer Specifications

The transducer in the project is generic and inexpensive; the key ratings are:

Parameter Specification Implication for the AM2
Supply voltage 24 V DC Powered from the LOGO! 24 V terminal or an external 24 VDC PSU
Output signal 0 – 10 V DC, 3-wire Connect to AM2 AIx; do not tie 0 V analog to chassis ground
Pressure range –1 to 29 bar (gauge) Total span = 30 bar; 0 V = –1 bar, 10 V = 29 bar
Proof pressure Typically 1.5× to 2× FS Install a snubber/damping pulse line; never expose the AM2 input above 10 V
Operating temperature 0 – 80 °C electronics typical Mount transducer body away from the discharge line heat
Wiring caution. Tie the transducer's 0 V / GND to the LOGO! 24 V terminal "M" (the sensor supply return) — not to PE — to avoid ground loops that will inject tens of millivolts into the analog input. Route the 0–10 V wire in twisted pair, away from the inverter output cables, with a 100 µF/25 V electrolytic directly at the AM2 terminal as a low-pass filter if the cable run exceeds 5 m.

Wiring the Transducer to the AM2

The transducer uses three wires. Connect as follows:

  1. Brown (V+) → LOGO! base unit 24 V sensor-supply terminal (or an external 24 VDC PSU).
  2. Blue (GND / 0 V) → LOGO! base unit M terminal. On the AM2, the negative input of each channel is also labelled M; bond them together with a short jumper.
  3. Black / white (signal 0–10 V) → AM2 terminal AI1 (positive input) on the chosen channel. M of the channel goes to the same 0 V referenced in step 2.
Pressure Transducer 24 VDC power input V+ → LOGO! "24 V" GND → LOGO! "M" SIG → AM2 "AI1" -1 .. 29 bar → 0 .. 10 V R22 suction/discharge LOGO! AM2 (6ED1055-1MA00-0BA2) Channel 1: 0–10 V input AI1+ (signal in) M (signal GND) AI2+ (free) M (signal GND) 10-bit, 0–1000 raw count 24 V GND 0–10 V signal

R22 Pressure–Temperature Saturation Table

R22 saturation pressure is a strong non-linear function of temperature. The table below shows gauge pressure (absolute − 1 bar) for selected saturation temperatures, derived from the ASHRAE Handbook (Refrigerant 22 — chlorodifluoromethane). Use this as the reference for fitting coefficients.

T_sat (°C) P_abs (bar) P_gauge (bar) Sensor output (V) Raw count (0–1000)
-10 2.55 1.55 0.85 85
-5 3.04 2.04 1.01 101
0 3.98 2.98 1.32 132
5 4.84 3.84 1.61 161
10 6.81 5.81 2.27 227
15 7.92 6.92 2.64 264
20 9.10 8.10 3.03 303
25 10.46 9.46 3.49 349
30 11.99 10.99 3.99 399
35 13.74 12.74 4.58 458
40 15.34 14.34 5.11 511
45 17.24 16.24 5.75 575
50 19.39 18.39 6.46 646
55 21.75 20.75 7.25 725
60 24.28 23.28 8.09 809

The transducer spans –1 to 29 bar, so 0 V = –1 bar, 10 V = 29 bar. The conversion from raw count (0–1000) to gauge pressure is therefore:

P_gauge [bar] = (raw_count * 30 / 1000) - 1
             = (raw_count * 0.030) - 1

For example, raw count 264 → 264 × 0.030 − 1 = 6.92 bar gauge ≈ 7.92 bar abs ≈ 15 °C saturation.

Deriving the Linear Coefficients

A single linear fit T = a·P + b works only across a narrow saturation band. Pick two chart points that bound your operating range and solve:

a = (T2 - T1) / (P2 - P1)
b = T1 - a * P1

Worked example (suction line, chiller evaporator 4 °C to 20 °C, gauge):

  • Point 1: P₁ = 5.81 bar gauge → T₁ = 10 °C
  • Point 2: P₂ = 14.34 bar gauge → T₂ = 40 °C
  • a = (40 − 10) / (14.34 − 5.81) = 30 / 8.53 ≈ 3.517 °C/bar
  • b = 10 − 3.517 × 5.81 ≈ −10.43 °C

So the simplified equation is T ≈ 3.517 · P − 10.43 for that band. The discussion thread used a slightly different pair (10 bar → 4 °C and 20 bar → 20 °C) and produced a = 1.6, b = −12, which is correct for that band but gives wildly wrong results (T = 1.6 × 5.81 − 12 = −2.7 °C instead of the true 10 °C) because 10 bar gauge is well outside the 10–20 bar range. Always pick your fit window to enclose the real operating pressure.

LOGO! Block Implementation

LOGO! Soft Comfort supports the equation in Function Block Diagram (FBD) form. The minimum useful chain is:

  1. AI1 Analog Input block — pre-scaled, range 0 to 1000 (raw counts).
  2. Analog Amplifier / Scaling block (or a Math Instruction with Gain and Offset) to convert raw counts to bar. Use parameters Gain = 0.03, Offset = –1.0, Output Range 0 to 30.
  3. Math Instruction (gain) with Gain = 3.517 (the value of "a").
  4. Math Instruction (offset) with Offset = –10.43 (the value of "b").
  5. Wire the result to a function key display or a message text for monitoring.

LOGO! 0BA8 has 200 function blocks; this chain consumes 4, leaving plenty of room for alarms, hysteresis, and a two-segment refinement.

Two-Segment Refinement

If the LOGO! must cover the entire 0–55 °C suction/discharge range, a single fit is too coarse at the extremes. Use a two-segment approach:

IF P_gauge < 7.0  THEN T = 2.4 * P - 6.2    (suction band)
IF P_gauge >= 7.0 THEN T = 3.7 * P - 19.4   (discharge band)

Implement with:

  1. One Analog Threshold Trigger on the scaled pressure (P < 7.0 bar) feeding the suction-coefficient branch.
  2. An AND / NAND combination to select the discharge branch when the threshold is exceeded.
  3. Two parallel Math Instruction blocks producing both candidate temperatures.
  4. An Analog Multiplexer (LOGO! 8) or two parallel paths gated by Q-outputs of the threshold trigger to pass the correct branch to the final display.

This pattern is documented in the LOGO! System Manual, section "Analog multiplexer / Analog arithmetic functions".

Step-by-Step Configuration in LOGO! Soft Comfort

  1. Open the project in LOGO! Soft Comfort and confirm the AM2 is detected in the "Network Project" view (right-click → Properties → I/O Assignment).
  2. Add an AI block (function group "Analog"). Set the input source to AM2/AI1, type "AI", range 0–1000.
  3. Insert an Analog Math block (block number B001 in default). Set:
      • Gain = 0.03
      • Offset = –1.0
      • Result range = 0 to 30 (bar gauge).
    The output of this block is now the engineering pressure value.
  4. Insert a second Analog Math block (B002). Connect its input to the output of B001. Configure:
      • Gain = 3.517
      • Offset = –10.43
      • Result range = –20 to 80 (°C).
  5. Wire B002 output to a display element: right-click the result line, choose "Message text". Add the variable, format it as a number with one decimal (T = ###.# °C).
  6. Add a high/low alarm using two Analog Threshold Triggers — for example, alarm on T < 0 °C (frost) and T > 55 °C (compressor overload). Drive a relay or a digital output to indicate the alarm.
  7. Save (Ctrl+S) and simulate (F3). Move the AI1 slider in the simulator; the displayed temperature should track the chart values within ±0.5 °C across the selected band.
Block-count discipline. The LOGO! 0BA8 supports 200 blocks. A clean single-segment PT conversion (AI + 2× Analog Math + 2× Threshold + Display) costs 6 blocks. Each additional segment adds 3 blocks. Stay under ~80 blocks to keep the cycle time below 50 ms in worst case.

Verification and Calibration

Field verification proves the math and the wiring are aligned. Use the following protocol:

  1. Power up the LOGO! with the transducer connected to a known reference pressure (a dead-weight tester is ideal; a calibrated hand pump to 0.5 % accuracy is acceptable).
  2. Apply 0 bar gauge (vent the transducer to atmosphere). The AM2 should read ≈ 0.33 V (raw count 33). If it reads 0.00 V, the signal ground is floating; re-bond the M terminal.
  3. Apply 5 bar gauge. The display should read P = 5.0 bar ± 0.1 bar and T = 8.7 °C ± 0.4 °C for the 4–20 °C fit window.
  4. Apply 10 bar gauge. The display should read P = 10.0 bar ± 0.1 bar and T = 24.5 °C ± 0.5 °C.
  5. Cross-check against a calibrated Pt100 inserted in the suction line at the same point. Allow at least 10 minutes of stable operation for the line to reach saturation. Deviations greater than 1.5 °C indicate either a fit error, a non-saturation condition (two-phase flow with significant superheat), or a transducer zero/span error.
  6. Log the result to the LOGO! data log (LOG! option: micro SD card in the LOGO! TDE or base unit) for trend verification across one duty cycle.

Quick Diagnostic Matrix

Symptom Likely cause Fix
Display reads –20 °C regardless of pressure Negative offset applied to unsigned raw count, or M terminal floating Re-bond M; verify gain/offset sign
Display reads 80 °C at 0 bar Offset sign wrong; +10.43 instead of –10.43 Re-enter the offset value with the correct sign
Display fluctuates ±2 °C Sensor supply noise or compressor vibration coupling into the transducer Add 100 µF capacitor at AM2 input; install a pulsation snubber
Reading tracks but is consistently 3 °C high Superheat in the suction line — the gas is above saturation Accept the error, or compensate with a fixed +3 °C offset downstream of the math block (not a real saturation temperature)
AM2 LED off, no analog value AM2 not seated, or terminal loose Power cycle, reseat the module, re-tighten terminals to 0.6 N·m
Reading is 10× expected Wrong I/O source selected (e.g., AI2 instead of AI1) or scaling factor uses raw count of 0–10000 (LOGO! 0BA6 quirk) Verify the block input source and gain denominator

Alternative: Why Temperature Sensors Are Usually Better

The pressure-to-temperature conversion is an inferred property of the refrigerant. It assumes the fluid at the transducer port is two-phase (saturated) — i.e., liquid and vapor in equilibrium. In real HVAC systems, the suction line is almost always superheated (vapor above saturation, typically 5–15 K of superheat) and the discharge line is superheated by 30–60 K above the saturation temperature corresponding to the discharge pressure. A temperature sensor (Pt1000 on the AM2 RTD, or an NTC wired to a digital input via an analog front end) measures the actual fluid temperature directly, which is usually the parameter you need for control decisions (thermostatic expansion valve superheat, oil cooling, capacity modulation).

Use the pressure-derived temperature only when:

  • The measurement point is guaranteed two-phase (e.g., a vessel dip tube, an economizer).
  • No temperature wiring can be run, and the application is monitoring-only.
  • You need the saturation temperature for an enthalpy calculation, not the actual fluid temperature.

Advanced: Piecewise Table Look-Up in LOGO!

For users who need higher accuracy across the full range, you can implement a piecewise linear interpolation with five segments. Use five Analog Threshold Triggers to select a region, five corresponding Math blocks producing (a_i · P + b_i), and an Analog Multiplexer (LOGO! 0BA8 native block) to output the active segment. The LOGO! System Manual section on "Analog multiplexer" covers the wiring. A typical 5-segment fit across 0–50 °C produces ±0.3 °C residual error.

Pre-computed 5-segment coefficients (gauge pressure, °C/bar and °C)

Segment P_low (bar) P_high (bar) a b
1 1.55 2.98 10.42 –22.04
2 2.98 5.81 2.64 –2.86
3 5.81 9.46 3.29 –9.10
4 9.46 14.34 3.55 –10.86
5 14.34 23.28 3.74 –13.61

These coefficients reproduce the chart values above with a maximum error of 0.27 °C — usually better than the transducer's own ±1.5 % of full scale.

FAQ

Can the LOGO! AM2 read a 4–20 mA pressure transducer?

Yes. Move the AM2 DIP switches to current mode (per the module's printed legend) and re-scale: raw counts 0–1000 now correspond to 0–20 mA, so 4 mA = 200 counts. Use Gain = 30/1000 = 0.03 and Offset = –1.0, but apply a –4 mA zero-suppression: offset the input by –200 counts before scaling, or add –1.0 to the post-scaled pressure output as shown in the wiring section.

Why does my temperature display jump every 1 °C, not smoothly?

The AM2 is a 10-bit module, so the smallest pressure step is 30 bar / 1024 ≈ 29 mbar. In a 2.6 °C/bar band, that is 0.077 °C per LSB — finer than the LOGO! display normally shows. If you see 1 °C steps, your display format is masking the lower bits, or the Analog Math block's result range is set too narrow (integer truncation). Widen the result range to –20 to +80 °C and re-format the message text with one decimal place.

Do I need to derate the LOGO!'s 24 V sensor supply for the transducer?

Check the transducer's current draw at 24 VDC. The LOGO! base unit supplies 200 mA shared between the CPU I/O and any expansion modules that need it. A typical 0–10 V pressure transducer draws ≤ 30 mA, so one transducer is fine. If you are powering more than four transducers, or the LOGO! also drives relay coils, switch to an external 24 VDC DIN-rail PSU (e.g., Siemens SITOP 6EP1332).

Is the linear approximation valid for R410A, R134a, or other refrigerants?

No. The slope a and intercept b in T = a·P + b depend on the refrigerant. R410A runs at roughly 1.6× the pressure of R22 for the same temperature; R134a runs at roughly 0.6×. Refit the coefficients against the relevant ASHRAE table, or generate them in a spreadsheet using NIST REFPROP data. The LOGO! program structure does not change; only the gain and offset values do.

Can the LOGO! store the full 500-point PT chart internally?

Not in the strict sense — the LOGO! has no array data type or look-up table block. The 200-block limit and the absence of a structured data memory make a literal 500-row table impractical. Piecewise linear interpolation (3–5 segments) is the highest fidelity you can achieve in a single LOGO! base unit. If a full curve is required, move the conversion to a SIMATIC S7-1200 or a LOGO! 8 with the planned data-log block expansion, both of which support user-defined function blocks and recipe memory.

Back to blog