A 4-20 mA transmitter on a LOGO! analog input only produces internal values from 200 to 1000. The Siemens example values (Gain 1.06, Offset -62 for a 150-1000 display) are therefore the straight line through those two points, extended back to 0 mA. Every 4-20 mA scaling problem on LOGO! comes down to that extrapolation. The rest of this reference follows the check sequence for a filter differential-pressure application: two 0-16 bar / 4-20 mA transmitters, a LOGO! 12/24 RCE 0BA8 base unit and an AM2 analog expansion module. It then covers the flush logic, operator access and the Ethernet link to LOGO!Soft.
Check 1: signal path into the 12/24 RCE base unit or the AM2 module
Read the terminal each transmitter lands on. The branch depends on whether the input can accept current at all.
- Transmitter on the AM2: the module accepts current signals directly. Select the current sensor type in the analog amplifier block, then go to Check 2.
- Transmitter on the base-unit analog inputs: these accept 0-10 V only. To read 4-20 mA there, fit a burden resistor across the input. A burden resistor is a shunt that converts loop current to voltage. With 500 Ω, 20 mA produces 10 V and 4 mA produces 2 V.
The base-unit input has its own 72 kΩ input resistance, and it sits in parallel with the shunt. The resistance that sets the voltage is the parallel combination:
- 500 Ω || 72 kΩ = 500 × 72000 / 72500 = 496.6 Ω. At 20 mA this gives 9.93 V, which reads about 993 counts instead of 1000, a 0.7 % span error.
- An exact 500 Ω effective burden needs R = 500 × 72000 / (72000 - 500) = 503.5 Ω.
- Dissipation at 20 mA is 0.02² × 500 = 0.2 W. Size the resistor with margin above that.
The loop supply must cover the transmitter's minimum terminal voltage plus the 10 V dropped across the shunt at 20 mA. A 12 VDC supply leaves about 2 V for the transmitter at full scale, which is too little for most two-wire transmitters. Read the minimum supply voltage in the transmitter datasheet, add 10 V, and compare the result with the supply. The AM2 path avoids the shunt tolerance and the burden budget, which is why this installation uses it.
Check 2: raw internal value at 0, 4, 12 and 20 mA
LOGO! converts every 0-10 V or 0-20 mA input to an internal value of 0-1000 units. This applies even when a 4-20 mA sensor is selected. The internal value is the raw number the analog blocks see before gain and offset. Selecting 4-20 mA does not remap 4 mA to zero. The live-zero offset is handled entirely by the scaling parameters.
| Loop current | Expected internal value | Meaning if seen at process zero |
|---|---|---|
| 0 mA | 0 | Open loop, wiring fault or unpowered transmitter |
| 4 mA | 200 | Correct live zero; go to Check 3 |
| 12 mA | 600 | Mid-span |
| 20 mA | 1000 | Full scale |
To read the raw value, set the analog amplifier temporarily to Gain 1 and Offset 0, then watch the block output in LOGO!Soft online test or on a message text.
- About 0 with the transmitter connected: fix the loop before touching the scaling.
- About 200 at a known process zero: go to Check 3.
- A stable value away from 200 at a known zero: go to Check 6.
Check 3: gain and offset for the required display range
The analog amplifier computes Ax = internal value × Gain + Offset and outputs an integer. LOGO! has no floating-point arithmetic at block outputs; only internal calculations run in floating point. For a 4-20 mA signal scaled to a display range Lo to Hi, the sensor span occupies 800 internal units (200 to 1000). This gives:
Gain = (Hi - Lo) / 800
Offset = Lo - 200 x Gain = Lo - (Hi - Lo) / 4
When you select the sensor type and enter the measuring-range minimum and maximum, LOGO!Soft calculates Gain and Offset itself. Use the formula to check what it produced.
Siemens example 1 is 4-20 mA scaled to 150-1000. Worked step by step:
- The range 150-1000 spans 850 units, but only 16 mA of the 20 mA carries it: 850 / 16 = 53.125 units per mA.
- The live zero is 4 mA: 4 × 53.125 = 212.5 units.
- The input is read as 0-20 mA, so the extended span is 850 + 212.5 = 1062.5 units. This gives
Gain= 1.0625. - Extrapolated back to 0 mA: 150 - 212.5 = -62.5. This gives
Offset= -62.5. - The resulting line: 0 mA = -62.5, 4 mA = 150, 20 mA = 1000.
The Siemens example enters these as 1.06 and -62. The rounding costs accuracy at full scale:
- At 4 mA: 200 × 1.06 - 62 = 150, which is exact.
- At 20 mA: 1000 × 1.06 - 62 = 998, which is 2 units low.
If 2 units at full scale is acceptable, keep the single amplifier. If it is not, split the scaling into two stages so every parameter is an integer:
Stage 1 Analog amplifier Gain = 1, Offset = -200 -> 0 ... 800
Stage 2 Arithmetic instruction V1 x 17 / 16 + 150 -> 150 ... 1000
(850 / 800 = 17 / 16; multiply before dividing to keep integer precision)
Check the evaluation order in the arithmetic instruction's parameter dialog so the multiplication runs before the division. At V1 = 800 the result is 13600 / 16 + 150 = 1000. At V1 = 0 it is 150.
Check 4: the Point parameter and the displayed decimal position
Point is the number of decimal places shown in the message text. It moves the displayed decimal point and nothing else; the block output stays an integer. Siemens example 2 shows how the two combine:
- 4-20 mA scaled to 40-200 gives
Gain= 160 / 800 = 0.2 andOffset= 40 - 200 × 0.2 = 0. - With
Point1, 40-200 displays as 4.0-20.0. The example displays the loop current in mA.
Comparators, thresholds and arithmetic blocks all work on the integer, not on the displayed value. With Point 2, a 0.20 bar threshold is entered as 20.
| Application | Signal | Integer range | Gain | Offset | Point | Display | Change per internal count |
|---|---|---|---|---|---|---|---|
| Siemens example 1 | 4-20 mA | 150-1000 | 1.0625 (entered 1.06) | -62.5 (entered -62) | 0 | 150-1000 | 1.06 units |
| Siemens example 2 | 4-20 mA | 40-200 | 0.2 | 0 | 1 | 4.0-20.0 | 0.02 mA |
| Filter pressure 0-16 bar | 4-20 mA | 0-1600 | 2 | -400 | 2 | 0.00-16.00 bar | 0.02 bar |
| Pressure 0-8 bar | 4-20 mA | 0-800 | 1 | -200 | 2 | 0.00-8.00 bar | 0.01 bar |
| Pressure 0-10 bar | 0-20 mA | 0-1000 | 1 | 0 | 2 | 0.00-10.00 bar | 0.01 bar |
| Level 0-2.80 m (cm) | 4-20 mA | 0-280 | 0.35 | -70 | 2 | 0.00-2.80 m | 3.5 mm (display rounds to 0.01 m) |
| Level 0-2.80 m (mm) | 4-20 mA | 0-2800 | 3.5 | -700 | 3 | 0.000-2.800 m | 3.5 mm |
For the 0-2.80 m level transmitter, first decide the display unit:
-
Centimetres: scale to 0-280 with
Point2. -
Millimetres: scale to 0-2800 with
Point3.
Both give 0 at 4 mA (200 × 0.35 - 70 = 0) and 2.80 m at 20 mA (1000 × 0.35 - 70 = 280). The millimetre version shows each 3.5 mm step instead of rounding it into centimetres.
Check 5: resolution of 800 counts against the required pressure step
A 4-20 mA signal gives 800 internal counts across the transmitter span, whatever gain you apply.
- For 0-16 bar, each count is 16 / 800 = 0.02 bar.
- With the 0-1600 scaling (
Gain2,Offset-400,Point2), the display changes by 0.02 bar per bit change. It moves in 0.02 bar steps, never 0.01. - Gain and offset are exact integers here, so a single amplifier stage is enough.
Adding decimals or a second gain stage does not add resolution. The count is fixed by the converter, and extra stages only remove rounding. That makes transmitter range selection the real resolution decision. This plant runs at 0.8-1.0 bar on a 0-16 bar transmitter:
- The whole operating band is 0.2 / 0.02 = 10 counts.
- A 0.1 bar warning threshold is 5 counts; a 0.2 bar alarm threshold is 10 counts.
- The required 0.1 bar step is met, but the margin against noise and zero drift is a few counts.
A transmitter ranged closer to the process gives finer steps. 0-8 bar on 4-20 mA gives 0.01 bar per count; 0-10 bar on a 0-20 mA transmitter also gives 0.01 bar per count, over 1000 counts. If the transmitters stay at 0-16 bar, compensate with comparator hysteresis (Check 7).
Check 6: zero agreement between the inlet and outlet transmitters
At standstill the inlet and outlet transmitters are mounted at almost the same height, so they must read the same pressure. In this installation one read 0.6 bar, which matched the real pressure, and the other read 1.18 bar. The 0.58 bar difference is 29 counts, enough to trip both the warning and the alarm with no flow. For a 0-16 bar / 4-20 mA transmitter the loop carries 1 mA per bar. Measure the loop current of the suspect channel with a meter in series and branch on the reading:
| Meter reading at 0.6 bar actual | LOGO! internal value | Location of the error | Correction |
|---|---|---|---|
| 4.6 mA | 259 (displays 1.18 bar) instead of 230 | Input side: ground loop, shared 0 V at a different potential, or leakage current | Galvanic isolating amplifier in the loop; this cleared the fault here |
| 5.18 mA | 259 | Transmitter zero | Re-zero the transmitter, or trim the channel Offset
|
| 4.6 mA | 230 | None; the other channel is wrong | Repeat the check on the other channel |
The LOGO! program has no calibration function; the amplifier Offset is the trim. For a pure zero error of +0.58 bar on the 0-1600 scaling, change that channel's Offset from -400 to -458. This corrects the zero only. A span error remains, so re-check at a second pressure point. Use an isolating amplifier when the error changes with wiring or with other loads, because an offset trim cannot track a ground loop that moves. An isolating amplifier with a zero adjustment brought both channels to 0.6 bar at rest.
Differential-pressure comparator, flush pulse and warning chain
The analog comparator forms Ax - Ay and switches a digital output at its On threshold and back at its Off threshold. Connect the inlet pressure to Ax and the outlet pressure to Ay. The difference is then positive in normal operation, because the pressure behind the filter cannot exceed the pressure ahead of it. If the inputs are swapped, the difference is negative and the alarm never trips. Feed both comparators from the scaled amplifier outputs so the thresholds use the same 0.01 bar units as the display.
| Block | Function | Setting / effect |
|---|---|---|
B003 |
Analog comparator, alarm (dP filter too high) | On at 20 (0.20 bar) |
B004 |
Positive edge evaluation | One-cycle pulse when B003 switches on |
B005 |
Off-delay | Holds Q1 on for the set flush time |
B006 |
Analog comparator, warning (dP filter high) | On at 10 (0.10 bar) |
B007 |
Pulse generator | Clock of x s high / x s low while the warning is active |
B008 |
OR of B003 and B007
|
Drives Q2: flashing on warning, steady on alarm |
B011 |
Arithmetic instruction, enabled by B008
|
Drives the bar graph in message text B009: blinking on warning, steady black bar on alarm |
B009 |
Message text | Pressure display and status bar |
B010 |
Message text | Editable comparator thresholds |
B011 has only one live input because it does not calculate a process value. Its enable input switches the bar graph on and off, so the bar follows the state of B008. The bar graph is optional; Q2 carries the same information.
Set the Off threshold of each comparator at least one quantization step (2 units, 0.02 bar) below its On threshold. Widen the gap if the dP reading dithers across the trip point, otherwise Q1 fires repeated flushes. Two extensions are worth building in:
- Transmitter plausibility: add a third comparator that trips when the difference goes negative. A negative dP means one transmitter is reporting a wrong value.
- Limited flush retries: a single flush that fails leaves the alarm latched with no further action. Replace the off-delay with an edge-triggered wiping relay and count the flush pulses. Allow a maximum of 5 consecutive flushes, then raise a separate message if dP is still above the alarm threshold.
Threshold editing on the display and admin-password lockout
The comparator thresholds are exposed in message text B010 so they can be changed without LOGO!Soft. With the message text shown:
- Hold
ESCfor longer than 2 s. The cursor appears as a black bar in the first input field. - Select the field to change with Up/Down, then press
OK. The cursor becomes a blinking box. - Change the digit with Up/Down; move between digits with Left/Right.
- Press
OKto accept the value. - Switch between message texts
B009andB010with Up/Down.
If an admin password is set by accident from the front panel, the parameter menus become inaccessible. The base unit does not need replacing. Assign a new password from LOGO!Soft:
- Open
Extras > Übertragen > Zugriffskontrolle(Tools > Transfer > Access Control in the English interface). - At the bottom, under operate control from LOGO! TD, tick the option to enable password protection for operate control.
- Enter the new password twice and press Apply.
- Record the password before leaving the dialog.
Ethernet addressing between LOGO!Soft and the 0BA8
This installation had the following settings:
| Device | IP address | Subnet mask | Gateway |
|---|---|---|---|
| LOGO! 0BA8 | 169.254.119.113 |
255.255.255.0 |
192.168.0.0 |
| Laptop | 192.168.115.5 |
Company network | Company network |
The network project lists the LOGO! as Unknown. The connection test reports the subnet mismatch and offers to re-address the PC; that re-addressing fails with no access to the remote device. The mechanism is plain IPv4:
- A mask of
255.255.255.0means the first three octets identify the subnet, and only the last octet distinguishes devices. - Devices in 169.254.119.x and 192.168.115.x cannot talk directly. No gateway is involved on a direct cable, and
192.168.0.0is a network address, not a usable gateway. - 169.254.x.x is the link-local range. A controller sitting there usually has never been given a planned address.
The subnet mismatch alone explains the fault, so replacing the 2014 software release is not the first step. There are two fixes:
-
Move the LOGO! into the laptop's subnet (preferred): on the LOGO! front panel in STOP, set the IP to a free address in 192.168.115.x, for example
192.168.115.6, with mask255.255.255.0. Before assigning it, ping the address from the laptop and confirm there is no reply. The laptop is on the plant network, so agree the address with whoever runs DHCP there. Otherwise a server, printer or another PC can be handed the same address later. -
Move the laptop into the LOGO! subnet: give the laptop Ethernet adapter a static address such as
169.254.119.114/255.255.255.0. This removes the laptop from the company network on that adapter, so a second USB Ethernet adapter dedicated to the controller is cleaner. - Rerun the connection test in LOGO!Soft. The device must appear with its type instead of Unknown, and upload must work without the PC re-addressing prompt.
Commissioning procedure and loop verification for the dP filter
In this installation the AM2 run LED stayed green with the base unit in STOP. The manual does not describe this LED, so do not use it to confirm the operating state. Judge the module by its values in online test.
Set both channels to Gain 2, Offset -400, Point 2. Inject current with a loop calibrator in place of each transmitter, then work through the checks in order:
- Transmitter disconnected (0 mA): internal value 0, display -4.00 bar. The negative full offset is the open-loop signature. Use it for a wire-break message if required.
- 4.00 mA: internal value 200, display 0.00 bar.
- 12.00 mA: internal value 600, display 8.00 bar.
- 20.00 mA: internal value 1000, display 16.00 bar. A reading of 15.86 bar (about 993 counts) on a base-unit input points to a plain 500 Ω shunt; see Check 1.
- Both transmitters reconnected, plant at rest: both channels read the same pressure within one step (0.02 bar), and dP reads 0.00 bar. In this plant the at-rest reading is 0.60 bar on both.
- Plausibility comparator (if fitted): set the outlet current above the inlet current. Expected: the sensor-fault message appears.
-
Threshold edit: change the warning On threshold in
B010using theESCprocedure, then return it to 10. Expected: the new value is accepted and the trip point moves with it. -
Warning trip: set the inlet 0.10 mA above the outlet. On the 1 mA/bar scaling this is 0.10 bar, or 5 counts. Expected:
Q2flashes at theB007rate, the bar graph inB009blinks, andQ1stays off. -
Alarm trip: raise the difference to 0.20 mA (0.20 bar, 10 counts). Expected:
Q2goes steady, the bar graph goes solid, andQ1switches on once for exactly theB005flush time. With the retry counter fitted, holding the difference produces no more than 5 flushes before the escalation message. Lowering the difference below the Off threshold releasesB003andQ2.
FAQ
Why does LOGO! need a negative offset for a 4-20 mA sensor?
LOGO! reads 4-20 mA as 200-1000 internal units on a 0-20 mA scale. The scaling line must therefore pass through your low value at 200 counts, not at 0. The offset is Lo - 200 × Gain. For 150-1000 this is -62.5, and for 0-1600 bar/100 it is -400.
Why does my LOGO! 0-16 bar reading change in 0.02 bar steps?
A 4-20 mA signal gives 800 counts across the transmitter span, and 16 bar / 800 = 0.02 bar per count. Extra decimals or a second gain stage cannot improve this. Only a transmitter ranged closer to the process can, for example 0-8 bar on 4-20 mA for 0.01 bar per count.
Why does the LOGO! analog amplifier read wrong for a 0-2.80 m level sensor?
The gain and offset were most likely calculated over 0-20 mA instead of the 800-count 4-20 mA span. Use Gain 0.35, Offset -70, Point 2 for 0.00-2.80 m, or Gain 3.5, Offset -700, Point 3 for millimetre display. Verify with an injected current: 4 mA must read 0 and 20 mA must read 2.80 m.