Siemens LOGO! 12/24RC: Restoring Missing Sensor Feedback Messages on a Reverse Osmosis Skid
The Siemens LOGO! 12/24RC logic module (order code 6ED1052-1MD00-0BA6) is a compact 12/24 V DC controller that ships with an integrated 6-line LCD. In Reverse Osmosis (RO) water-treatment skids, the integrated display is the primary human-machine interface (HMI) for surfacing sensor faults. When the contractor-supplied program does not include a configured Message Text block for a given alarm, the operator sees the downstream effect (contactor drops, indicator lamp extinguishes, pump stops) but the LOGO! LCD never names the offending sensor. This article documents three engineering procedures to recover that feedback without rewriting the entire program: reading the onboard I/O status, uploading the program into LOGO!Soft Comfort for analysis, and inserting new Message Text blocks tied to the correct input tags.
The 0BA6 generation is now classified as a spare-part generation on the Siemens SiePortal (see the product record 6ED1052-1MD00-0BA6), but the diagnostic and messaging workflow is identical to the 0BA7/0BA8 generations, so the procedure transfers directly when the system is upgraded.
1. LOGO! 12/24RC Hardware Reference
The 0BA6 generation is documented in the SIMATIC LOGO! Manual (PDF, edition 06/2011) and on the Siemens Industry Online Support product page. The subset of specifications relevant to an RO skid is summarized below.
| Parameter | Value |
|---|---|
| Order number (MLFB) | 6ED1052-1MD00-0BA6 |
| Series / generation | LOGO! 0BA6 (spare-part status) |
| Supply voltage | 12/24 V DC |
| Digital inputs (DI) | 8 (I1 - I8) |
| Analog inputs (AI) | 4 (share with I7, I8, and the I1/I2 fast pair) |
| Digital outputs (DO) | 4 relay, 5 A / 250 V AC each |
| Function blocks (memory) | 200 (retentive flags: 250) |
| Display | 6-line backlit LCD, 12 characters per line |
| Operating temperature | 0 °C to +55 °C horizontal, 0 °C to +45 °C vertical |
| Real-time clock | Yes (buffered by supercap, typical 80 h) |
| Program backup | Optional LOGO! Card (proprietary micro SD) or LOGO! Memory Card |
| PC software | LOGO!Soft Comfort V7.3 (native) or V8.x (with conversion) |
| Protection class | IP20 (must be installed in an enclosure ≥ IP54 for RO plant rooms) |
| Approvals | CE, cULus, C-Tick, FM Class I Div 2 |
Of the eight digital inputs, four can be reconfigured as analog inputs (0-10 V). On the 0BA6 base module, AI1 = I7 and AI2 = I8; AI3 and AI4 are derived from the I1/I2 pair using either the PT100/NI1000 RTD range or 0-10 V (configurable in LOGO!Soft Comfort). Inputs I1 through I4 are fast inputs (typical 1.5 ms filter) and are therefore suitable for high-frequency pulse trains such as turbine flow meters or rotary encoders. Outputs Q1 through Q4 are volt-free changeover contacts; they are typically wired to interposing relays - which operators often call "magnetic relays" - that in turn drive the contactors for the high-pressure pump, the inlet solenoid, and the flush valve.
2. Root Cause: Why Feedback Messages Are Missing
When a contractor commissions an RO skid, the LOGO! program is often a "lean" ladder that performs the safety logic (low-pressure cutout, high-pressure cutout, tank-full stop) and drives the contactors, but the program may not contain any Message Text block at all. The operator is then left with two possibilities:
- The fault is present (e.g., HPS contact opens, LPS contact opens), the output relay drops, the pump stops, but the LCD never identifies the cause.
- The fault was present briefly and self-cleared (e.g., a momentary low-pressure event). The relay re-energizes and the operator has no record of what happened.
Three engineering reasons explain the missing text:
- Message Text block not inserted. The contractor may have used only basic logic blocks (AND, OR, latching relay) without dragging a Message Text block from the function list in LOGO!Soft Comfort.
- Enable coil not connected. A Message Text block is rendered on the display only while its En input is high. If the En input is wired to a coil that never asserts, the text never reaches the display queue.
- Retention/acknowledgement mis-configured. The Message Text block has settings for "Message acknowledgement" and "Message retention". If "Message retention = On" and the fault self-clears, the text is held in the queue and the operator must press OK to dismiss it. If the operator does not press OK, the text is held in the queue but is not visible in the standard menu, so the message appears to be lost.
Each of these conditions can be confirmed and corrected using the procedures in sections 3-5 below.
3. Solution 1 - Reading the Onboard I/O Status (No PC Required)
The 0BA6 firmware includes a diagnostic menu that shows the live state of every input, output, flag, and analog value. This is the fastest field procedure and requires no PC, no cable, and no program upload. It is the procedure that resolves the original question - "how do I notice that one of my sensors is not working?" - in under a minute.
- From the LOGO! main display (showing the date/time or the running message), press ESC to enter the parameter assignment menu.
- Use Cursor Down until the menu shows
Date / Timewith the current values. This is the default screen after ESC on a 0BA6 with no program card inserted. - Press Cursor Right. The display now shows
I1...I8with the live state of each digital input. A high input is shown with a filled character (often a black square); a low input is shown as a dash or blank. - Press Cursor Right again. The display advances to the digital outputs
Q1...Q4. - Press Cursor Right again. The display advances to the internal flag bytes
M1...M27(the count is 27 on 0BA6; 64 on 0BA8). - Press Cursor Right again. The display advances to the analog values for
AI1...AI4. Each is shown as a raw count 0-1000 (corresponding to 0-10 V at the input). - To isolate the suspect input, actuate the sensor manually (e.g., press the high-pressure switch by hand) and watch the bit flip on the I/O status screen. The bit number maps 1:1 to the terminal number on the LOGO!.
- To leave the I/O status, press ESC until the date/time screen returns.
This procedure answers the central question immediately: which input bit is changing when the fault occurs? Cross-reference the bit number with the wiring diagram to identify the physical sensor, then perform a loop check on the cable run and the field device itself.
3.1 Onboard I/O Status Navigation Diagram
4. Solution 2 - Uploading the Program with LOGO!Soft Comfort
If the I/O status walk-through is not enough - for example, the contractor wired a message text to a flag and you cannot tell which flag - the next step is to upload the program into LOGO!Soft Comfort and inspect the ladder. This requires the PC tool, a USB LOGO! PC cable (Siemens 6ED1057-1AA01-0BA0 for the 0BA6) or an Ethernet connection for 0BA7/0BA8.
4.1 Prerequisites
- LOGO!Soft Comfort V7.3 (native for 0BA6) or V8.x (with conversion) installed on a Windows 10/11 PC. The 0BA6 program is fully compatible with both.
- LOGO! PC cable: 6ED1057-1AA01-0BA0 (USB to LOGO! interface, 3 m). For 0BA7/0BA8, use a standard RJ-45 Ethernet cable to the LAN port on the CPU.
- Program password (if set). If the contractor set a password and you do not have it, the program can still be uploaded as "online test" but the source cannot be edited without the password. Contact the contractor or refer to section 4.4.
- Administrator rights on the Windows PC so the USB driver can install.
4.2 Upload Procedure
- Power on the LOGO! and wait for the run screen.
- Connect the PC cable between the LOGO! and the PC. The LOGO! will detect the cable and show
PC <-> LOGO!on the display. - In LOGO!Soft Comfort, choose Tools > PC <-> LOGO! (Upload) or press F5.
- Select LOGO! -> PC in the transfer direction.
- Click Start. The progress bar shows the upload percentage. A 0BA6 with 200 blocks typically completes in 8-12 seconds.
- When the upload finishes, LOGO!Soft Comfort opens the program in the FBD or LAD editor. The block-numbered view is recommended for tracing.
- Click Tools > Cross-reference list (or press F7). This window lists every input, output, flag, and block by reference. Use this list to find which tag drives the high-pressure output (typically Q2 or Q3 on a standard RO skid).
4.3 Reading the Cross-Reference
The cross-reference is the fastest way to map physical wiring to the program. Search for the output that is supposed to drop on high pressure (e.g., Q2 - "High-Pressure Pump"). The cross-reference shows which blocks feed Q2 - typically an AND gate that combines the start permissive (HMI enable, low-pressure interlock, tank level) and a high-pressure latch. Trace the AND inputs back to the input bits. The bit number tells you the physical terminal on the LOGO!.
| LOGO! terminal | Typical RO function | Sensor type | Wire color (typical) |
|---|---|---|---|
| I1 / I2 | Flow meter (turbine) or PT100 temperature | Analog/pulse | White / blue pair |
| I3 | Low-pressure switch (LPS) | Dry contact, N/O | Yellow |
| I4 | High-pressure switch (HPS) | Dry contact, N/C | Orange |
| I5 | Tank level high | Floating ball, N/O | Green |
| I6 | Auto / Manual selector | 2-position switch | Red / Black |
| I7 (AI1) | Conductivity | 0-10 V analog | Brown / Blue |
| I8 (AI2) | Permeate pressure | 0-10 V analog | Violet |
The wire colors above are examples only; always check the actual drawing for the specific skid. The point is that the cross-reference table gives you the address - e.g., I3 = low-pressure switch. You can then actuate the LPS by hand and confirm the bit in the I/O status menu.
4.4 Password Recovery and Copyright
If the contractor set a program password, the upload will still succeed but the program file is opened in "online test" mode and cannot be edited or downloaded back to the LOGO! until the password is supplied. The password cannot be recovered by Siemens - it is stored only in the LOGO! non-volatile memory. Two options are available:
- Contact the contractor and request the password. This is the correct legal and engineering path.
- If the contractor is no longer available, the program can still be used as a read-only reference. You can document the I/O mapping by reading the cross-reference, then build a new program from scratch in LOGO!Soft Comfort and download it. The original program is overwritten, so be sure to have documented the wiring first.
5. Solution 3 - Adding or Correcting Message Text Blocks
Once the program is in LOGO!Soft Comfort, you can add Message Text blocks without disturbing the existing logic. A Message Text is a 1-to-6 line string displayed on the LOGO! LCD while its En input is high. You can place one Message Text per fault condition. The 0BA6 supports up to 32 active Message Text blocks; on 0BA8 the limit is 64.
5.1 Inserting a Message Text
- From the LOGO!Soft Comfort toolbar, click the Message Text icon (speech bubble) or press F3 and search for "Message".
- Click in the FBD workspace to place the block. The block properties dialog opens.
- Set the En input. Drag a connection from the sensor input bit (e.g.,
I3for the low-pressure switch, or the output of the latch that fires on high pressure) to the En input of the Message Text block. - Type the text content in the dialog. Up to 6 lines of 12 characters each are supported. Example:
HP FAULT,CHK PUMP,CALL ENG. - Set Message acknowledgment = Yes if you want the operator to press OK to clear the text. Set Message retention = No if you want the text to disappear as soon as the fault clears.
- Optionally enable the bar-graph display for the analog value (e.g., show the actual pressure transmitter reading in %).
- Click OK to close the dialog and save the program.
- Click PC -> LOGO! to download the modified program. Confirm the prompt "Overwrite program in LOGO!". The LOGO! reboots into run mode with the new program.
5.2 Recommended Message Text Set for an RO Skid
| Message Text (3 lines max shown) | Enable Source | Retention | Acknowledgement |
|---|---|---|---|
| LOW PRESSURE / CHECK FEED / PUMP STOPPED | I3 (LPS N/O) | Yes | Yes |
| HIGH PRESSURE / CHECK MEMBRANE / CALL ENG | I4 (HPS N/C) inverted, OR latch from analog > 12 bar | Yes | Yes |
| HIGH CONDUCT / CHECK PERMEATE / SEE LOG | AI1 > 50 µS/cm (threshold trigger) | Yes | Yes |
| TANK FULL / INLET CLOSED / READY | I5 (level switch) | No | No |
| PUMP OVERTIME / CHECK CLOG / SERVICE DUE | On-delay timer > 30 min on Q2 | Yes | Yes |
| SENSOR FAULT / CHECK AI1 / CALL ENG | Open-circuit on AI1 (any < 0.5 V during run) | Yes | Yes |
Each of these messages uses between 3 and 6 lines of the 6-line display. The 0BA6 Message Text block can include a "tick" of an internal marker, which is useful for chaining messages: the high-pressure message can be configured to suppress the low-pressure message and avoid screen flooding when both events occur simultaneously.
6. Reverse Osmosis Sensor Mapping and Typical Fault Logic
An RO skid is essentially a high-pressure pump pushing feed water through a semi-permeable membrane. The three sensor groups that matter for the high-pressure fault are:
- Inlet pressure (low-pressure switch, LPS): protects the pump from dry-running when the feed tank is empty or the pre-filter is clogged. Typically set to 1.5-2.0 bar, wired as a N/O contact that closes on pressure rise.
- Stage-1 outlet pressure (high-pressure switch, HPS): protects the membrane from over-pressure. Typically set to 12-15 bar depending on membrane rating, wired as a N/C contact that opens on pressure rise.
- Concentration (conductivity): protects the permeate quality. Typically a 4-20 mA or 0-10 V signal into AI1, scaled to 0-2000 µS/cm via the LOGO! analog amplifier block.
The typical control logic in the LOGO! program is:
LPS_closed (I3) ---+
+---[ AND ]---[ RS Latch ]--- Q2 (HP Pump)
HPS_closed (I4) ---+ |
+---[ Message Text "HIGH PRESSURE" ]
Tank_not_full (I5) -+ |
| +---[ Message Text "LOW PRESSURE" ]
+---[ AND ]---[ ]
If the HPS contact opens (i.e., pressure rises above the setpoint), the AND gate goes low, the latch is reset, Q2 drops, the pump stops, and the message text should appear. If the message text is missing, the fault is in the wiring to the En input of the Message Text block, not in the safety logic itself.
6.1 Common Wiring Errors that Suppress the Message
-
En input tied to the wrong bit. The contractor may have tied the message to
Q2(the pump output) instead ofI4(the HPS contact). When the pump stops, Q2 drops, the En goes low, and the message disappears. The fix is to tie the En to the sensor bit or to a dedicated latch flag that holds when the fault occurs. - En input inverted. If the HPS is a normally-closed contact, the input is high when pressure is normal and low when pressure is high. The message En should be configured to fire on the falling edge, or a NOT block should be inserted before En.
- Message in a later display queue position. The LOGO! firmware can hold up to 4 simultaneous messages (more on 0BA8). If 4 higher-priority messages are already on the screen, the new message is held in the queue and is not visible until a slot frees up. Reduce the number of simultaneous messages or set the high-pressure message as priority 1 in the block properties.
- Interposing relay substituted incorrectly. If a magnetic relay was swapped during maintenance and the changeover contact was wired to the NO terminal instead of the NC terminal (or vice versa), the LOGO! sees the inverted logic and the message never asserts. Verify the wiring against the panel drawing, especially after any field maintenance.
7. Wiring, Sensor Validation, and Loop Checks
Even with a perfect program, a missing feedback message can be caused by a sensor that is electrically disconnected, shorted, or out of range. Before assuming the program is wrong, validate each sensor at the LOGO! terminal strip.
7.1 Digital Input Loop Check
- De-energize the LOGO! and the field devices. Lock out the disconnect.
- Remove the wire from the suspect input terminal (e.g., I3 for the LPS).
- Measure the resistance from the input terminal to the sensor common. For a dry-contact N/O switch, you should read infinite resistance (OL) when the switch is open and less than 1 Ω when the switch is closed.
- For a 2-wire proximity sensor, measure the voltage across the terminals with the sensor powered. The reading should be the supply voltage (e.g., 24 V DC) when the target is absent, and approximately 0 V (or the saturation voltage, typically < 2 V) when the target is present.
- If the reading is correct, the sensor is fine; the issue is in the program or the LOGO! input. If the reading is wrong, trace the cable back to the field device and check the terminal block, the gland, and the sensor itself.
7.2 Analog Input Loop Check
- With the system powered and the LOGO! in run mode, navigate to the I/O status menu and read AI1 (which uses I7).
- Disconnect the field device from I7 and apply a known voltage from a calibrator. 0.0 V should read as 0; 5.0 V should read as 500 (in raw units, since the LOGO! AI1 has 1000 counts over 0-10 V).
- Reconnect the field device and actuate it. The reading should track the process value.
- If the reading is stuck at 0 or 1000, the wiring is open or shorted. If the reading is noisy, check the shield grounding - the analog input shield should be terminated at the LOGO! end only, not at both ends.
8. Program Module, Micro SD, and Backup Strategy
The 0BA6 supports the LOGO! Card - a proprietary micro SD card in a holder that slots into the battery compartment on the left side of the module. The card holds the program, the parameter settings, and the display text. Use the card as a backup and as a way to clone a program to a spare module.
- Power off the LOGO!.
- Open the cover on the left side of the module and remove the card (if present).
- Insert a known-good blank LOGO! Card.
- Power on. The LOGO! will offer
PC Card -> LOGO!orLOGO! -> PC Card. Use the LOGO! keypad (Cursor Up/Down to choose, OK to confirm) to copy the program to the card. - Power off, remove the card, label it with the date and skid number, and store in the panel document drawer.
If a spare module is needed urgently, the card can be inserted into a fresh 0BA6 of the same order code and the program will boot from the card within 5 seconds. This is the fastest way to recover from a CPU failure without contacting the contractor.
9. Verification Procedure and Acceptance Test
After any of the three solutions is applied, run a structured acceptance test. This test list is used by commissioning engineers to verify that every alarm condition raises the correct message and clears correctly when the condition is removed. The test takes about 30 minutes per skid.
- Power on the system. Navigate the I/O status menu and confirm all 8 digital inputs read low (no sensors actuated).
- Actuate the low-pressure switch by hand (or open the manual isolation valve to drop the feed pressure). Confirm the LOGO! LCD shows
LOW PRESSURE, Q2 drops, the pump stops, and the message persists after the fault is removed (if Message Retention is on). - Reset the fault and press OK on the LOGO! to acknowledge the message. Confirm the message clears.
- Actuate the high-pressure switch. Confirm
HIGH PRESSUREappears, Q2 drops, the message persists. - Apply a 5.0 V calibrator signal to the conductivity input. Confirm the reading tracks and the threshold trigger fires at the configured setpoint (e.g., 50 µS/cm).
- For each remaining input and message, repeat the actuation and verification.
- Power-cycle the LOGO! and confirm the messages and parameters are retained (0BA6 retains all non-volatile data for > 20 days without power, 0BA8 retains indefinitely).
- Sign the commissioning sheet and file a copy in the panel document drawer. Update the program card with the new revision.
10. Preventive Maintenance and Audit Checklist
For an RO plant running 24/7, a quarterly audit of the LOGO! program and I/O wiring catches missing feedback messages before they cause downtime. The following checklist is sized for a single skid and takes about 90 minutes to complete.
| Frequency | Task | Acceptance criterion |
|---|---|---|
| Weekly | Walk-down: read the LOGO! display, confirm no queued messages | Display shows date/time or running message, queue empty |
| Monthly | Pull the program card, confirm the program on the card matches the running program | CRC matches the value noted at commissioning |
| Quarterly | Actuate each sensor in turn, verify the message text and the output drop | All 8 sensors covered, all outputs drop as designed |
| Quarterly | Upload the program to LOGO!Soft Comfort, run the cross-reference, confirm the program matches the as-built drawing | No undocumented tags, no tags driving the wrong output |
| Annually | Replace the program card with a fresh card, store the old card in the document drawer | New card labeled and dated, old card retained for one year |
| Annually | Replace the LOGO! backup battery (3 V CR2032 on the card holder) | Battery voltage > 2.9 V under load |
| 2 years | Tighten all terminal screws on the LOGO! and the field terminal block | Torque to 0.6 Nm for LOGO! terminals, 0.8 Nm for Phoenix terminals |
11. Troubleshooting Matrix
| Symptom | Likely cause | Section | Fix |
|---|---|---|---|
| LCD blank, no backlight | 12/24 V DC supply missing or reversed | 1 | Check supply polarity and voltage at the LOGO! terminals |
| LCD shows program, no messages | No Message Text block inserted | 5 | Add Message Text block, download program |
| Message appears for 1 s, then disappears | Message Retention is off and fault is momentary | 5.1 | Set Message Retention = On, or latch the En input with a flag |
| Message does not appear, but output drops correctly | En input tied to the wrong bit, or inverted | 6.1 | Re-wire En to the sensor bit; insert NOT block if needed |
| Message appears but is not the right one | Sensor wired to the wrong terminal, or drawing is out of date | 7 | Loop-check each input, update the drawing |
| All messages show "---" in the message queue | Program is corrupt or card is missing | 8 | Re-insert card, re-download program, or upload from the LOGO! into LOGO!Soft Comfort |
| Inputs read 1 even when not actuated | Wiring shorted to 24 V, or sensor contact is welded | 7.1 | Inspect terminal, replace sensor if contact is welded |
| Analog input reads 1000 permanently | Sensor open-circuit or wiring broken | 7.2 | Check the 4-20 mA loop, the 500 Ω shunt, and the sensor power |
| Program upload fails with "Password protected" | Contractor set a program password | 4.4 | Contact contractor, or rebuild the program from scratch |
| Interposing relay replaced, message behaviour changed | N/O and N/C contacts swapped during maintenance | 6.1 | Re-wire the relay coil and contacts per drawing, retest the message |
12. Frequently Asked Questions
How do I check the state of an input on a Siemens LOGO! 12/24RC without a PC?
Press ESC on the LOGO! front panel to leave the run screen, then Cursor Down until the date/time screen appears. Press Cursor Right repeatedly to step through the I/O status screens: digital inputs I1-I8, digital outputs Q1-Q4, internal flags M1-M27, and analog values AI1-AI4. A high bit is shown as a filled square; a low bit is shown as a dash. See section 3 of this article for the navigation diagram.
Why does my LOGO! 12/24RC show no message when the high-pressure alarm fires?
Three causes are common: (1) the program does not contain a Message Text block for the high-pressure fault, (2) the Message Text block exists but its En input is tied to a tag that never asserts (often the pump output Q2 instead of the sensor bit I4), or (3) the message is held in the queue and another higher-priority message is occupying the display slot. Confirm with the I/O status menu and the LOGO!Soft Comfort cross-reference. See sections 2, 4, and 6 of this article.
Can I add a message text to a contractor's program without the password?
No - the program must be editable to add a new Message Text block. You can still upload the program in read-only mode, document the I/O mapping from the cross-reference, and then build a new program from scratch in LOGO!Soft Comfort. The new program is downloaded over the original. Always back up the original .lsc file before overwriting, and confirm the contractor's IP terms before modifying the work.
Is the 6ED1052-1MD00-0BA6 still available for purchase?
Siemens classifies the 0BA6 generation as a spare part on the SiePortal product page. The current production equivalent is the 0BA7 (LOGO! 7) or 0BA8 (LOGO! 8) generation, which is fully program-compatible via the "Project > Convert" routine in LOGO!Soft Comfort V8.x. The forward-compatible spare part is the 6ED1052-1MD08-0BA2 (LOGO! 12/24RCE with Ethernet).
What software version do I need to program a LOGO! 0BA6?
LOGO!Soft Comfort V7.3 supports the 0BA6 generation natively. V8.x also supports the 0BA6 for upload and program inspection, but the recommended production target is V7.3 for the 0BA6 or V8.x for the 0BA7/0BA8 upgrade. Use the Siemens Support download portal to obtain the correct version. The standard USB PC cable is 6ED1057-1AA01-0BA0 for the 0BA6; the 0BA7/0BA8 modules use a standard RJ-45 Ethernet cable.
How do I tell which physical sensor corresponds to LOGO! input I3 or I4?
Upload the program with LOGO!Soft Comfort, open the cross-reference (F7), and search for the I3 or I4 tag. The cross-reference shows every block that uses that input. Trace the block back to its function (e.g., low-pressure switch, high-pressure switch) and confirm against the panel wiring drawing. If no drawing is available, physically trace the wire from the LOGO! terminal to the field device. Section 4.3 of this article lists the typical mapping for an RO skid.