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.
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 the Transducer to the AM2
The transducer uses three wires. Connect as follows:
-
Brown (V+) → LOGO! base unit
24 Vsensor-supply terminal (or an external 24 VDC PSU). -
Blue (GND / 0 V) → LOGO! base unit
Mterminal. On the AM2, the negative input of each channel is also labelledM; bond them together with a short jumper. -
Black / white (signal 0–10 V) → AM2 terminal
AI1(positive input) on the chosen channel.Mof the channel goes to the same 0 V referenced in step 2.
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:
- AI1 Analog Input block — pre-scaled, range 0 to 1000 (raw counts).
- 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.
- Math Instruction (gain) with Gain = 3.517 (the value of "a").
- Math Instruction (offset) with Offset = –10.43 (the value of "b").
- 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:
- One Analog Threshold Trigger on the scaled pressure (P < 7.0 bar) feeding the suction-coefficient branch.
- An AND / NAND combination to select the discharge branch when the threshold is exceeded.
- Two parallel Math Instruction blocks producing both candidate temperatures.
- 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
- Open the project in LOGO! Soft Comfort and confirm the AM2 is detected in the "Network Project" view (right-click → Properties → I/O Assignment).
- Add an AI block (function group "Analog"). Set the input source to AM2/AI1, type "AI", range 0–1000.
-
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. -
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). - 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).
- 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.
- 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.
Verification and Calibration
Field verification proves the math and the wiring are aligned. Use the following protocol:
- 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).
- 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.
- 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.
- Apply 10 bar gauge. The display should read P = 10.0 bar ± 0.1 bar and T = 24.5 °C ± 0.5 °C.
- 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.
- 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.