Resolving LOGO! 8 Analog Input Scaling 0-1000 to Engineering

David Krause18 min read
PLC HardwareSiemensTutorial / 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

Resolving LOGO! 8 Analog Input Scaling: 0-1000 to Engineering Units

The Siemens LOGO! 8 logic module uses an internal analog representation of 0-1000 units—not the -27648 to +27648 range common to the SIMATIC S7-200, S7-1200, and S7-300/400 families. Misapplying S7 scaling formulas to a LOGO! program produces readings that are roughly 27× too small or visibly wrong on the display. This reference documents the correct scaling method using the Analog Amplifier block in LOGO! Soft Comfort V8.x, derives the gain/offset formulas from first principles, and walks through commissioning and verification for the most common sensor types (4-20 mA, 0-10 V, PT100, PT1000).

Target audience: Automation engineers, panel builders, and technicians commissioning LOGO! 8 BM (basic modules) and AM2 / AM2 RTD expansion modules. The procedures apply to LOGO! firmware 8.0 and later, including 8.3 and 8.4, programmed with LOGO! Soft Comfort V8.0 through V8.4.

1. Overview: How LOGO! 8 Treats Analog Signals

Every analog input on a LOGO! 8 basic module (BM) or analog expansion module (AM2 / AM2 RTD) is digitized by an internal ADC and presented to the program as an integer in the range 0 to 1000, inclusive. This normalization is fixed by the LOGO! firmware and is independent of the physical signal type:

Physical input Sensor / source range LOGO! internal value Resolution
0-10 V voltage input 0 V → 10 V 0 → 1000 10 mV per unit
0-20 mA current input 0 mA → 20 mA 0 → 1000 20 µA per unit
4-20 mA current input 4 mA → 20 mA 0 → 1000 16 µA per unit
PT100 (via AM2 RTD) -50 °C → +200 °C (typ.) 0 → 1000 0.25 °C per unit
PT1000 (via AM2 RTD) -50 °C → +200 °C (typ.) 0 → 1000 0.25 °C per unit

Because the program always sees the same 0-1000 range, the application code is identical regardless of whether the physical transducer is a 0-10 V pressure transmitter or a 4-20 mA level probe. The conversion to engineering units (bar, °C, m³/h, ppm, etc.) is performed in software using the Analog Amplifier (B027) or one of the higher-level blocks such as the Analog Threshold Switch (B029) or PI Controller (B030), all of which embed the amplifier function.

The 0-1000 range is a 10-bit normalized representation (1000 = 10 × 10²) that fits comfortably in a 16-bit signed integer while leaving roughly 32× the headroom needed for downstream arithmetic. This is more than adequate for the thermostatic, pump-control, and small-machine applications LOGO! targets, where 0.1 % resolution is well below the noise floor of any industrial sensor.

2. Why 0-1000 and Not 27648?

The 27648 number is a legacy of the SIMATIC S7-200/300/400 ADC front end, where a 15-bit-plus-sign bipolar converter yields 2^15 = 32768 codes per polarity and 27648 represents the nominal full-scale value (84.4 % of the converter's theoretical maximum). It is documented in the SIMATIC S7-1200 Programmable Controller and S7-300/400 manuals on the Siemens Industry Online Support portal.

LOGO! 8 deliberately uses a 10-bit normalized range so that the value fits comfortably in a 16-bit signed integer with plenty of headroom for scaling arithmetic, while still providing 0.1 % resolution. Treating 1000 as if it were 27648 will produce:

  • Readings that appear 27.648× too small on the LOGO! display
  • Spurious sensor underrange events when the program is used as input to a comparator scaled for S7
  • Analog outputs on an AM2 AQ module stuck near zero because the output block is fed with a value an order of magnitude below its expected range
The Omron knowledge base article How can I scale an analog input or output? discusses the same conceptual problem (raw converter counts vs. engineering units) and uses 0-4000 / 0-8000 raw counts for CP1/CJ2 AD041/AD081 modules. The same linear-interpolation approach applies; only the raw-count endpoints differ.

3. Comparison: LOGO! 8 vs S7 Family Analog Scaling

Parameter LOGO! 8 (BM/AM2) S7-200 SMART EM AI04 S7-1200 SM 1234 AI S7-300 SM 331
Raw ADC count range 0 – 1000 0 – 27648 0 – 27648 -27648 – +27648 (bipolar)
Resolution 10-bit normalized 12-bit 13-16 bit (config) 11-16 bit (config)
Default block for scaling Analog Amplifier (B027) S_ITR / SCP instruction NORM_X + SCALE_X FC105 (SCALE) / FC106 (UNSCALE)
4-20 mA live-zero handling Built into gain/offset formula Manual subtraction of 5530 (4 mA) Manual offset parameter Manual offset parameter
Configurable HW ranges No (jumper-selected on AM2) STEP 7 Micro/WIN SMART TIA Portal device config STEP 7 HW Config

The scaling formula is fundamentally the same in all four families—linear interpolation between two points—but the raw-count endpoints are different and so the numerical values of gain and offset will not transfer between platforms. Always re-derive the constants from the formulas in Section 6 when porting code.

4. Prerequisites

Before configuring the analog input, confirm the following:

  1. Hardware in place: LOGO! 8 BM (e.g., 6ED1052-1MD08-0BA2 for LOGO! 8.4 with display, or the LOGO! 8.4 pure version 6ED1052-2MD08-0BA2). For more than four onboard analog inputs, add an AM2 module (6ED1055-1MA00-0BA2) for voltage/current or an AM2 RTD (6ED1055-1MA02-0BA2) for PT100/PT1000.
  2. Sensor wiring verified: Two-wire 4-20 mA loop powered from the LOGO! 24 V sensor supply (terminal I7 for AI3 on the BM, or AI1/AI2 on the AM2), three-wire 0-10 V with shield grounded at the cabinet entry, or PT100/PT1000 in two-wire mode to the AM2 RTD per the LOGO! 8 System Manual wiring diagram.
  3. LOGO! Soft Comfort V8.3 or V8.4 installed on the engineering PC, with the project set to the correct device type (the firmware version on the device must be ≥ the LOGO! Soft Comfort version, or the project will warn on download).
  4. Sensor datasheet in hand, with the lower range value (LRV) and upper range value (URV) in engineering units and the corresponding electrical outputs in mA or V.
The on-board BM inputs AI1-AI4 (terminals I1-I4 in voltage mode, I7-I8 in current mode on LOGO! 8.4) are multiplexed with the digital inputs. Configuring an input as analog reduces the count of available digital inputs by one per channel. On a 6ED1052-1MD08-0BA2, the standard mapping is I1=AI1/DI1, I2=AI2/DI2, I3=AI3/DI3, I4=AI4/DI4, I7=AI1 current loop, I8=AI2 current loop. Plan the I/O budget before assigning analog channels.

5. The Analog Amplifier Block: Parameters

Insert Analog Amplifier from the toolbar (folder Special Functions → Analog) and double-click it. The block exposes six user parameters:

Parameter Symbol Range Meaning
Sensor type — 0-10 V / 0-20 mA / 4-20 mA / None Informs the block how to interpret the raw input (live-zero detection for 4-20 mA)
Minimum raw Min 0 (fixed) Lower end of the raw range, always 0 for LOGO!
Maximum raw Max 1000 (fixed) Upper end of the raw range, always 1000 for LOGO!
Gain G -10000.00 to +10000.00 Multiplicative scaling factor applied to (raw - 0)
Offset O -10000.00 to +10000.00 Additive constant added after the gain is applied
Decimal places — 0, 1, 2, or 3 Display formatting only; does not change the integer output

The output of the Analog Amplifier is computed as:

Output = (Raw - Min) × Gain + Offset

or, with the fixed LOGO! ranges substituted in:

Output = Raw × Gain + Offset

Because both Min and Max are clamped to 0 and 1000 by the firmware, the engineer can solve the gain/offset pair for any linear sensor by selecting two calibration points.

Gain and Offset are stored in retain memory by default if the Retentive checkbox is set in the block properties. For non-volatile retention across power cycles, leave Retentive on; for a sensor that re-calibrates itself at startup (e.g., a load cell with auto-zero), turn it off so the next download resets to the configured constants.

6. Step-by-Step Configuration Procedure

Use this procedure for any sensor that is linear between two known points. The example uses a 0-10 bar pressure transmitter with 4-20 mA output, but the steps apply universally.

  1. Identify two calibration points. For a 0-10 bar / 4-20 mA transmitter: P1 = (0 bar, 4 mA) and P2 = (10 bar, 20 mA).
  2. Map electrical to raw. 4 mA → raw 0, 20 mA → raw 1000.
  3. Compute gain. The gain is the slope of the engineering-vs-raw line:
    Gain = (P2_eng - P1_eng) / (Raw2 - Raw1)
         = (10 - 0) / (1000 - 0)
         = 0.01
    
  4. Compute offset. The offset is the engineering value at raw = 0:
    Offset = P1_eng - Gain × P1_raw
           = 0 - 0.01 × 0
           = 0
    
  5. In the Analog Amplifier block: set Sensor type = 4-20 mA, Min = 0, Max = 1000, Gain = 0.01, Offset = 0, Decimal places = 2.
  6. Wire the block: connect analog input AI1 to the block's Ax terminal. The block's AQ (analog output) terminal now carries the scaled value in engineering units, ready to be displayed on the LOGO! display, sent to a message text, or fed into a threshold switch.
  7. Download the program to the LOGO! and switch to RUN.
A common mistake is to enter Gain = 1.25 and Offset = -250 for a 0-10 bar 4-20 mA sensor. Those numbers are the inverse scale (used when the program lives in the S7 world with 0-10000 counts). For the LOGO! 0-1000 world, the equivalent pair is Gain = 0.0125, Offset = -0.05—or, more usefully, Gain = 0.01 and Offset = 0 once the live-zero subtraction is performed inside the block (sensor type = 4-20 mA).

7. Worked Examples

7.1 Pressure transmitter 0-10 bar, 4-20 mA

As derived above: Gain = 0.01, Offset = 0, Sensor type = 4-20 mA. The display will read 0.00 bar at 4 mA and 10.00 bar at 20 mA, with 1 cmH²O steps (0.0001 bar) achievable in 0.1 mA increments of current. The example in some S7 training material (Gain 1.25, Offset -250) is the S7-200 SMART scaling for 0-10000 counts with 4-20 mA and does not apply to LOGO!.

7.2 Pressure transmitter 0-6 bar, 0-10 V

Calibration points: P1 = (0 bar, 0 V → raw 0), P2 = (6 bar, 10 V → raw 1000).

Gain = (6 - 0) / (1000 - 0) = 0.006
Offset = 0

Set Sensor type = 0-10 V, Gain = 0.006, Offset = 0, Decimal places = 2. The display will read 0.00-6.00 bar.

7.3 Temperature -20 °C to +150 °C, PT100 via AM2 RTD

Calibration points: P1 = (-20, raw 0), P2 = (150, raw 1000). The AM2 RTD scales -50 °C → +200 °C to 0-1000 by default; the engineer must therefore re-derive for the actual range in use.

Gain = (150 - (-20)) / (1000 - 0) = 0.170
Offset = -20 - 0.170 × 0 = -20

Set Sensor type = None (the AM2 RTD handles the linearization internally), Gain = 0.170, Offset = -20, Decimal places = 1. The display reads -20.0 to +150.0 °C.

7.4 Level probe 0-5 m water column, 4-20 mA

Gain = 5 / 1000 = 0.005
Offset = 0

Set Sensor type = 4-20 mA, Gain = 0.005, Offset = 0, Decimal places = 3. Display: 0.000-5.000 m.

7.5 Differential pressure 0-1000 Pa, 0-10 V with negative offset

Some DP transmitters swing negative relative to zero. Calibration: P1 = -50 Pa at 0 V (raw 0), P2 = 1000 Pa at 10 V (raw 1000).

Gain = (1000 - (-50)) / 1000 = 1.050
Offset = -50 - 1.050 × 0 = -50

Set Sensor type = 0-10 V, Gain = 1.050, Offset = -50, Decimal places = 0. Display: -50 to +1000 Pa.

7.6 Flow 0-50 l/min, 4-20 mA with non-zero LRV (suppressed zero)

Some flow meters report 4 mA = 5 l/min and 20 mA = 50 l/min. Calibration: P1 = (5, raw 0), P2 = (50, raw 1000).

Gain = (50 - 5) / 1000 = 0.045
Offset = 5 - 0.045 × 0 = 5

Set Sensor type = 4-20 mA, Gain = 0.045, Offset = 5, Decimal places = 1. Display: 5.0-50.0 l/min.

8. Wiring Best Practices for LOGO! 8 Analog Inputs

  • Shielded cable only for 0-10 V and PT100/PT1000 runs longer than 3 m. Ground the shield at the cabinet end only; floating at both ends creates a ground loop that adds 50/60 Hz common-mode noise into the 0-1000 count range.
  • 4-20 mA loop power: the LOGO! BM provides a 24 V sensor supply on terminal U+ (max 200 mA total). Two-wire transmitters draw 4 mA minimum at zero, so verify the worst-case loop current × number of sensors does not exceed the supply rating. For more than 5 sensors or for high-power transmitters, use an external 24 VDC power supply tied to the LOGO! ground.
  • Channel selection jumpers on the AM2 are below the terminal cover; the AM2 supports either 0-10 V or 0/4-20 mA per channel, not both simultaneously. Setting the wrong position will hard-clamp the reading to 0 or 1000 regardless of input voltage.
  • AM2 RTD measures PT100/PT1000 in two-wire mode by default. For three- or four-wire RTDs to cancel lead resistance, use the AM2 RTD's second pair of terminals and the corresponding DIP setting under the cover.
  • Separation from VFD cables: route analog signal cables at least 200 mm from any variable-frequency drive output cables. A 5 m parallel run next to a 10 kHz PWM cable can induce ±10 counts of noise on a 0-10 V input, which is 0.1 bar of error on a 10 bar transmitter.

9. Verification and Commissioning

  1. Display test at zero: disconnect the sensor, short the input terminals (for current input) or apply 0 V. The scaled output should equal the offset value within ±1 LSB of the raw ADC.
  2. Mid-range injection: using a calibrated calibrator (e.g., Beamex MC6 or WIKA CPH6000), inject 50 % of the sensor range. The display should read 50.0 % of the engineering span within the configured decimal places.
  3. Live-zero check (4-20 mA only): drop the loop current to 3.9 mA. The LOGO! should flag the input as underrange. If it continues to read a non-zero value, the AM2 jumper is set to 0-20 mA instead of 4-20 mA—correct the jumper and re-verify.
  4. Watchdog trip: feed the scaled output to an Analog Watchdog block (B028) with high/low limits set slightly outside the engineering span; a watchdog trip is the simplest way to detect a stuck-at-zero or stuck-at-fullscale sensor during runtime.
  5. Web server cross-check: from LOGO! Soft Comfort V8.3 onward, the on-board Ethernet port serves a web UI that displays the live value of every variable, including scaled analog outputs. Cross-check the value seen on the LOGO! display against the web UI to rule out a display bug.

10. Analog Outputs on the AM2 AQ Module

The AM2 AQ (6ED1055-1MM00-0BA2) provides two 0-10 V or 0/4-20 mA outputs. Internally it accepts the same 0-1000 range, so a scaled engineering value must be inverse-scaled before being written to the AQ block. If a PI controller output of 5.00 bar is required at the field, and the transmitter will be driven by a 0-10 V signal that represents 0-10 bar, the inverse transform is:

AQ_raw = Desired_eng / Gain - Offset / Gain
       = 5.00 / 0.01 - 0 / 0.01
       = 500

Use a second Analog Amplifier (or the Math block) configured with the reciprocal gain and negated offset to convert the engineering value back into the 0-1000 range. The AM2 AQ then outputs 5.000 V. For 4-20 mA outputs, the AM2 AQ automatically scales 0-1000 raw counts to 0-20 mA unless the block is configured for 4-20 mA, in which case 0-1000 maps to 4-20 mA.

The BM itself does not have an analog output; the AM2 AQ is required. A 4AO module is not available in the LOGO! 8 lineup—for more than two analog outputs, network a second LOGO! as a remote I/O drop via Ethernet or use an S7-1200 with SM 1232 AQ modules.

11. Troubleshooting Scaling Issues

Symptom Likely cause Fix
Display reads exactly 0 at all times Sensor type mismatch (0-20 mA jumper with 4-20 mA sensor, or vice versa) Open the AM2 cover, set the channel jumper per the sensor type, repower
Display reads a constant negative value Offset sign is wrong; offset has been added instead of subtracted Re-derive from P1: Offset = P1_eng - Gain × P1_raw
Display reads 27.6× too low Code was ported from S7-200/300 using 27648 as the raw endpoint Re-derive gain/offset for the 0-1000 range, see Section 6
Display jitters ±5 counts at steady input Unshielded cable or 50/60 Hz pickup on a long run Install shielded cable, ground shield at cabinet end, add an Analog Filter block (B026) downstream with a time constant of 200-500 ms
Display shows raw value (0-1000) on the LOGO! built-in display Sensor wired to AI, but no Analog Amplifier block is in the program Insert the Analog Amplifier (B027) between the AI block and the message text
PI controller output stuck at 0 % PI controller SP/PV scaled in S7 units, expected to receive 27648 from a scaled block Re-derive SP and PV using the LOGO!-native engineering units; the controller is unitless internally
Reading climbs but won't reach full scale Gain is too small; engineer divided by 27648 instead of 1000 Multiply gain by 27.648, or re-derive from formula in Section 6
Reading overshoots full scale at maximum input Gain too high; engineer used full-scale count of 4095 or 32767 from the ADC spec Confirm raw range is 0-1000, not the underlying ADC count; recompute gain as engineering span / 1000
Reading is correct at zero but reversed at full scale Wires reversed on a 0-10 V input, or sensor output type set as current instead of voltage Swap + and - signal wires, or change AM2 jumper from current to voltage position
Display updates slowly (1-2 s lag) Analog Filter block time constant set too long Reduce filter time constant in the B026 block; the LOGO! cycle time is normally 10-50 ms
AM2 AQ output stuck at zero Output block fed with the raw 0-1000 count instead of the engineering value, or vice versa Re-check the inverse-scaling math in Section 10
Download rejected with firmware mismatch LOGO! Soft Comfort project is newer than the device firmware Update the device firmware via the SD card menu, or use a matching LOGO! Soft Comfort version

12. Non-Linear Sensors: When the Amplifier Is Not Enough

The Analog Amplifier assumes a perfectly linear relationship between raw count and engineering value. For non-linear transducers—paddle-wheel flow meters with quadratic output, pH probes with Nernst-equation behavior, or thermistors with 1/T response—use one of the following approaches:

  • Math instruction block (B022-B025): compute a polynomial correction Y = a + b·X + c·X² + d·X³ downstream of the Analog Amplifier. The coefficients are determined by curve-fitting the sensor datasheet in Excel or a dedicated tool.
  • Analog Multiplexer (B011) + table lookup: use the analog multiplexer's two inputs to switch between two analog amplifiers configured for different gain/offset pairs; useful for two-range sensors (e.g., 0-100 l/min and 100-1000 l/min).
  • Pulse-width modulation (PWM) output via AM2 AQ: for very low-frequency filtering of a noisy non-linear signal, route the analog output through a PWM block and integrate with an RC filter external to the LOGO!.

For the majority of industrial sensors (pressure, level, temperature with PT100/PT1000, flow with linearized output), the Analog Amplifier alone is sufficient. The non-linear path is needed only when the datasheet explicitly states "non-linear output" or shows a polynomial correction factor.

13. Frequently Asked Questions (FAQ)

What is the raw analog input range of a Siemens LOGO! 8?

All analog inputs (on-board AI1-AI4 on the BM, plus AI on AM2 and AM2 RTD modules) are converted to an integer in the range 0 to 1000. This applies to 0-10 V, 0-20 mA, 4-20 mA, PT100, and PT1000 inputs; the engineer never has to handle the underlying ADC counts.

How does LOGO! 8 scaling differ from S7-200/300/400 scaling?

The S7 families use 0 to 27648 (or -27648 to +27648 for bipolar) as the raw count range; LOGO! 8 uses 0 to 1000. The general linear-interpolation method is the same (y = m·x + b), but the numerical values of gain and offset will differ by roughly a factor of 27.6. Porting an S7 program to LOGO! without re-deriving the constants is the most common cause of readings that are 27.6× too small.

How do I calculate gain and offset for the LOGO! Analog Amplifier?

Pick two calibration points (P1 at raw = 0, P2 at raw = 1000) and use Gain = (P2_eng - P1_eng) / 1000 and Offset = P1_eng - Gain × 0 = P1_eng. For a 4-20 mA sensor, set the block's Sensor type parameter to 4-20 mA so the firmware maps 4 mA to raw 0 and 20 mA to raw 1000 automatically.

Why is my 4-20 mA sensor reading zero on the LOGO! 8 display?

Two common causes: (1) the AM2 channel jumper is set to 0-10 V instead of 0/4-20 mA—open the cover and set the jumper for current input; (2) the loop is not powered—verify 24 V at the transmitter terminals and that the loop current is actually flowing (a broken wire reads 0 mA, which maps to raw 0, which maps to the offset value, not zero, so an exactly-zero reading usually points to the jumper).

Can I connect a PT100 or PT1000 directly to a LOGO! 8 basic module?

No. The on-board AI1-AI4 inputs accept only 0-10 V or 0/4-20 mA. RTDs require the AM2 RTD expansion module (6ED1055-1MA02-0BA2), which linearizes the sensor and presents the result as 0-1000 raw counts corresponding to the configured temperature range (default -50 °C to +200 °C).

Back to blog