Programming a PET Blow Molding Machine with Siemens LOGO! 8: Step Sequencer, I/O Map, and Scaling Path
A PET (polyethylene terephthalate) blow molding station is a hybrid electro-mechanical-pneumatic system. The mechanical action is delivered by hydraulic cylinders for high-force moves (mold clamp, platen travel) and by pneumatic cylinders for low-force, high-speed actions (stretch rod, blow pin, material feed). The control problem is therefore a deterministic sequential state machine with a small number of process variables and a tight cycle-time budget.
A Siemens LOGO! 8 logic module can implement such a state machine, but the platform sits at the very bottom of the Siemens automation pyramid. This article walks through a concrete implementation: an I/O map, a shift-register step sequencer, hydraulic and pneumatic actuator sequencing, sensor interlocks, the relevant process parameters, and a clear migration path to a SIMATIC S7-1200 or S7-1500 when the station graduates from a learning rig to a production cell. Read the LOGO! 8 System Manual and the Siemens BMH 3300 blow-molding solution brochure before committing to either platform.
1. Process Overview: What a PET Blow Molding Station Must Execute
A two-stage PET stretch-blow molding cycle performs the following high-level actions in order:
- Preform loading - a preform (test-tube-shaped PET blank) is fed from the hopper to the loading station.
- Preform transfer - the preform is placed into the open blow mold.
- Mold close - the two mold halves clamp around the preform under hydraulic force.
- Stretch rod extend - a pneumatic stretch rod enters the preform neck and travels down the axis of the preform.
- Pre-blow / stretch - low-pressure air (typically 4 to 8 bar) is injected to initiate axial stretch.
- High-pressure blow - high-pressure air (typically 30 to 40 bar for standard PET) inflates the preform against the cooled mold cavity.
- Hold / cool - the part is held against the chilled cavity until the surface crystallizes sufficiently for ejection.
- Blow pin retract, mold open - the blow pin and stretch rod retract, and the hydraulic clamp opens.
- Part ejection - the finished bottle is dropped onto a conveyor.
The hydraulic system, in the simplified scope used here, provides:
- Up / down motion of the lower platen (clamp stroke).
- Open / close motion of the mold halves (clamp force).
The pneumatic system, in the simplified scope used here, drives three short-stroke cylinders:
- C1: Material feed cylinder (lifts a preform into the mold).
- C2: Peak / stretch cylinder (extends the stretch rod).
- C3: Inject cylinder (delivers blow air to the preform).
Three inductive proximity sensors give the controller absolute position feedback:
- S1: "Mold down" (lower platen at bottom dead center).
- S2: "Mold up" (lower platen at top dead center, ready for loading).
- S3: "Mold closed" (mold halves fully clamped, ready for stretch / blow).
A cycle therefore collapses to roughly 8 to 10 discrete steps, which is exactly the territory a shift-register-based step sequencer was designed for.
2. Control Scope: Hydraulics, Pneumatics, and the Three-Sensor Set
In this scope we treat the hydraulics as two on/off directional control valves (one per axis) and the pneumatics as three 5/2 single-solenoid valves, each spring-returned. We do not control proportional pressure, parison thickness, or zone temperature - those are closed-loop problems that belong on a SIMATIC S7-1500 with a Technology Object, or on a WinAC RTX-based system such as the BMH 3300 reference design published by Siemens Plastics.
For the discrete sequencing in this article the relevant control objects are:
| Actuator | Type | Function |
|---|---|---|
| Y1 | Hydraulic DCV, 4/3 | Lower platen up / down |
| Y2 | Hydraulic DCV, 4/3 | Mold open / close |
| Y3 | Pneumatic 5/2, single solenoid | Material feed cylinder up |
| Y4 | Pneumatic 5/2, single solenoid | Stretch rod extend / retract |
| Y5 | Pneumatic 5/2, single solenoid | Blow air valve (inject) |
| Sensor | Type | Signal | Meaning |
|---|---|---|---|
| S1 | Inductive PNP, NO | I1 | Lower platen at BDC |
| S2 | Inductive PNP, NO | I2 | Lower platen at TDC |
| S3 | Inductive PNP, NO | I3 | Mold halves clamped |
The process also implies three commands:
- Start (pushbutton, I4)
- Stop / Reset (pushbutton, NC, I5)
- Manual / Auto selector (I6)
The blow-air pressure profile is delivered by a stand-alone pressure regulator and timed by the sequencer; closed-loop pressure control is out of scope.
3. Why LOGO! 8 Is a Marginal Choice (and When It Still Works)
The LOGO! 8 (6ED1052-xxx08-0BA1 / -0BA2 / -0BA3 family) is a 200-block logic module aimed at simple installation automation. According to the LOGO! 8 system manual, the basic module supports up to 8 digital inputs, 4 digital outputs, and 400 function blocks depending on the variant, with up to 16 I/O expansion modules on the left-side bus. It is perfectly adequate when:
- The cycle has fewer than about 20 distinct steps.
- All inputs are 24 V DC digital.
- No analog closed-loop control is required.
- No recipe handling or data logging is required.
- The operator interface is the LOGO! TDE text display or the integrated web server.
A PET blow molding station exceeds those limits in production. The parison (preform wall thickness) profile, mold-zone temperature, and stretch-blow pressure profile are closed-loop control problems. The Siemens reference solution, the BMH 3300 blow molding machine, is built on a WinAC RTX controller and uses Technology Functions for parison control, hydraulic motion, and zone temperature. A study of the BMH 3300 brochure is mandatory before committing to a control platform.
For learning rigs, retrofit work on existing pneumatic benches, and very low-throughput custom bottle production, however, a LOGO! 8 plus a LOGO! TDE can deliver a complete cycle. The implementation below is exactly that: a discrete-only step sequencer suitable for a single-cavity bench-top machine with manual preform loading. When production throughput, part quality, or recipe variation becomes important, plan the migration to a S7-1200 with the TIA Portal, or to a S7-1500 with motion-control technology objects, before the first production run.
4. Hardware Selection and Topology
A minimal but reliable build list for the LOGO! 8 implementation:
- LOGO! 8.3 base module: 6ED1052-1MD08-0BA2 (12/24 RCE, 8 DI / 4 DO, Ethernet).
- LOGO! 8.3 digital output module: 6ED1055-1CB00-0BA2 (4 DO relay) - optional, for additional valves.
- LOGO! AM2 RTD: 6ED1055-1MD00-0BA2 - only if zone temperature is wired in.
- LOGO! TDE: 6ED1055-4MH08-0BA0 (text display, 6 lines, Ethernet).
- 24 V DC, 5 A power supply (LOGO! Power, 6EP1332-1SH43).
- Ethernet switch, Cat 5E patch cables.
- Fuses and surge protection on the 24 V DC rail per LOGO! manual recommendations.
Wire the three sensors to I1, I2, I3, the start / stop pushbuttons to I4 / I5, the auto / manual selector to I6, and reserve I7 / I8 for an E-stop chain and a guard interlock. Drive Y1 to Y5 from Q1 to Q5 (relay or transistor outputs depending on the variant). The TDE is connected via the second Ethernet port of the LOGO! 8.3 or via the integrated switch; both sides can sit on a single 10/100 LAN.
5. I/O Map: Addresses, Symbols, and Field Wiring
The table below is the single source of truth for the program. Use the LOGO! Soft Comfort I/O naming convention (Ix.x for inputs, Qx.x for outputs, Mx for flags, Bx for shift-register bits).
| Tag | LOGO! addr | Symbol | Description | Active state |
|---|---|---|---|---|
| I1 | I1 | S1_DN | Lower platen BDC | 1 = at bottom |
| I2 | I2 | S2_UP | Lower platen TDC | 1 = at top |
| I3 | I3 | S3_CL | Mold closed | 1 = clamped |
| I4 | I4 | PB_START | Start pushbutton | NO, momentary |
| I5 | I5 | PB_STOP | Stop pushbutton | NC, latched |
| I6 | I6 | SEL_AUTO | Auto mode select | 1 = auto |
| I7 | I7 | ESTOP | Safety chain OK | 1 = safe |
| I8 | I8 | GUARD | Guard interlock | 1 = closed |
| Q1 | Q1 | Y1_DOWN | Hydraulic platen DOWN | 1 = extend |
| Q2 | Q2 | Y2_CLOSE | Hydraulic mold CLOSE | 1 = clamp |
| Q3 | Q3 | Y3_FEED | Pneumatic material feed | 1 = up |
| Q4 | Q4 | Y4_PEAK | Pneumatic stretch rod | 1 = extend |
| Q5 | Q5 | Y5_INJ | Pneumatic blow air | 1 = open |
| M1 | M1 | RUN | Cycle in progress | 1 = running |
| M2 | M2 | FAULT | Latched fault | 1 = fault |
| M3 | M3 | STEPn | Step bits | per B1..B8 |
| B1..B8 | B1..B8 | STEP1..8 | Shift register bits | 1 = active |
Wire the NC stop pushbutton and the E-stop chain so that a release drops I5 or I7, which the program treats as "stop now, drop all outputs, latch fault, require reset." Use a hard-wired safety relay (for example, 3SK1) for the E-stop loop; do not rely on the LOGO! alone to break a hydraulic pump contactor.
6. Sensor Strategy and Debouncing
Inductive proximity sensors on a hydraulic press bounce. A 24 V PNP sensor bouncing one to three times during a 50 ms transition is normal. The LOGO! has no hardware debounce; instead, use the on-delay (B004) or the dedicated input-debounce parameter in LOGO! Soft Comfort.
| Sensor | Debounce ON (ms) | Debounce OFF (ms) | Why |
|---|---|---|---|
| S1_DN (platen BDC) | 80 | 80 | Hydraulic overshoot and bounce |
| S2_UP (platen TDC) | 80 | 80 | Hydraulic overshoot and bounce |
| S3_CL (mold closed) | 60 | 60 | Pneumatic cushion on clamp |
A 50 to 80 ms debounce is below the smallest expected step duration (200 ms minimum) and well above the bounce period. Do not increase debounce past 150 ms - the clamp force feedback on the hydraulic gauge can be lost if the sequencer waits too long for S3_CL. For the start and stop pushbuttons use a 20 ms debounce; for the selector switch 50 ms.
7. Hydraulic Subsystem Sequencing
The two hydraulic axes are the slow, high-force moves. Both use 24 V DC double-solenoid 4/3 directional control valves. Energize the down-side solenoid for downward motion, the up-side solenoid for upward motion. Never energize both simultaneously - that is a short-circuit condition the program must prevent by construction.
// Block B001: Platen DOWN interlock
B001 B_AND
S1_DN false // already at bottom: do not re-enable
NOT M1 RUN // only when running
NOT S2_UP // do not drive down if at top
NOT M2 FAULT
==> Q1 Y1_DOWN
// Block B002: Platen UP interlock
B002 B_AND
S1_DN false // do not retract while still descending
S2_UP false // do not retract while at top
NOT M2 FAULT
==> Q1_RU // retractor side of Y1 (wired to Q6 if used)
The same idea applies to the mold clamp. Energize Y2 only when S3 is not yet latched, and never energize the open-side solenoid when S3 is still true. A useful diagnostic is a "moving" flag derived from the transition of S1 and S2. If S1 is not reached within the expected down-stroke time, raise FAULT. Typical down-stroke times for a bench-top machine are 1.5 to 3.0 s; alarm at 5.0 s.
Clamp force sizing (rough check):
F_clamp = P_hydraulic * A_piston - F_spring
F_clamp >= 1.5 * A_part * P_blow // safety factor 1.5
For a 1 L PET bottle at 40 bar blow pressure, projected area A_part = pi * (D/2)^2 = pi * (0.07 m / 2)^2 = 3.85e-3 m^2, so the part sees 40 * 1e5 * 3.85e-3 = 15.4 kN. The clamp must therefore hold 23 kN minimum. A 50 mm-bore hydraulic cylinder at 160 bar develops 31.4 kN, which gives a 2:1 clamp safety margin - typical for a single-cavity bench-top machine.
8. Pneumatic Subsystem Sequencing
The three pneumatic cylinders are 5/2 single-solenoid, spring-return. Energize the solenoid to actuate; de-energize to return. There is no need to command a return direction.
Pneumatic actuator rules:
- Y3_FEED (material feed up) is only valid when the platen is at TDC (S2_UP = 1) and the mold is open (S3_CL = 0). Retract Y3 before commanding the platen down.
- Y4_PEAK (stretch rod) is only valid when the mold is fully closed (S3_CL = 1). Retract Y4 before opening the mold.
- Y5_INJ (blow air) is only valid when the stretch rod is at full extension and the mold is closed. Close Y5 before retracting Y4.
These three rules are the core of the interlock matrix. Implement them as AND blocks, not as a step-bit "if-then" check, so that a fault on the step counter cannot bypass them. Quick air-consumption check (single-cavity, 12 s cycle):
V_stroke = A_piston * L_stroke // m^3 per actuation
V_per_cycle = 3 * V_stroke // three pneumatic axes
Q_air = V_per_cycle / t_cycle // m^3 / s at atmospheric equivalent
Q_air_lpm = Q_air * 1000 * 60
For 3 cylinders with 25 mm bore, 50 mm stroke: V_stroke = pi * (0.0125)^2 * 0.05 = 2.45e-5 m^3. Three cylinders per cycle = 7.36e-5 m^3. Divided by 12 s = 6.1e-6 m^3/s, or 0.37 L/min. Add 50% margin for the blow-air blast that discharges to atmosphere, and the regulator must supply at least 0.6 L/min continuous plus the blow-air tank recharge volume.
9. Shift Register Step Sequencer in LOGO! Soft Comfort
The cleanest implementation of a deterministic sequencer on LOGO! is the shift register block (B310 in the LOGO! function-block library, "Shift Register"). Each rising edge on the trigger input shifts the bit pattern one position to the left (or right, depending on direction parameter DIR). The bit outputs B1..B8 are valid for exactly one cycle step.
Wire the step sequencer as follows:
// B310: Shift register, 8 bits, shift on rising edge of M4
B310
M4 TRIG // trigger from a 0.1 s clock
M1 ENABLE // disabled when not running
B1..B8 = step bits
M5 RESET // reset on stop / fault
// M4 derived from a 0.1 s pulse generator (B003) gated by M1
B003
T = 0.1 s ==> M4 STEP_PULSE
// Initial step: B1 = "ready" = cycle not started
B004 B_AND
M6 FIRST
M1 RUN
==> B1_SET
Each step block follows the pattern:
// Step 2: Platen DOWN
B020 B_AND
B2 STEP2
M1 RUN
S1_DN false // wait for S1_DN to become true
==> Q1 Y1_DOWN
// Step 3: Material feed UP
B021 B_AND
B3 STEP3
S2_UP
NOT S3_CL
==> Q3 Y3_FEED
// Step 4: Material feed DOWN (retract)
B022 B_AND
B4 STEP4
T1 T_FEED_HOLD // material dwell time, 1.0 s
==> M7 RETRACT_FEED
The full eight-step table:
| Step | Bit | Actuator(s) | Exit condition |
|---|---|---|---|
| 1 | B1 | None (ready) | Start pressed |
| 2 | B2 | Y1_DOWN | S1_DN = 1 and T_DOWN_OK (3.0 s) |
| 3 | B3 | Y3_FEED | T_FEED_UP_OK (0.5 s) |
| 4 | B4 | Y3_FEED hold | T_FEED_HOLD (1.0 s), then retract |
| 5 | B5 | Y2_CLOSE | S3_CL = 1 and T_CLAMP_OK (1.5 s) |
| 6 | B6 | Y4_PEAK | T_STRETCH_OK (0.8 s) |
| 7 | B7 | Y5_INJ | T_BLOW_OK (2.5 s) |
| 8 | B8 | Y4 retract, Y5 off, Y2 open, Y1 up | S2_UP = 1 and T_OPEN_OK (2.0 s), then back to step 1 |
The timing column is conservative; reduce by 20% once the rig is dry-cycled successfully.
10. Timing Diagram and Cycle Budget
Total cycle budget (target dry cycle): 0.1 + 3.0 + 0.5 + 1.0 + 1.5 + 0.8 + 2.5 + 2.0 = 11.4 s. Add 0.5 s of operator overhead for part ejection = 12 s per part, or 5 parts / min. A production stretch-blow machine runs 1,500 to 3,000 bottles / cavity / hour, so the LOGO! build is a learning rig, not a production cell.
The gap between Q3_FEED retract (3.5 s) and Q2_CLOSE (5.5 s) is the 2 s in which the platen is at BDC and the material-feed cylinder has retracted. Closing the mold during that window is mechanically correct; closing it before the feed cylinder is fully retracted is a collision.
11. Process Parameters: Pressure, Temperature, Stretch Ratios
The LOGO! sequencer only times the events, but the cycle will not produce a saleable bottle if the following process numbers are wrong. Treat them as commissioning targets, not as free variables.
| Parameter | Target range | Effect when low | Effect when high |
|---|---|---|---|
| Preform surface temperature | 100 to 120 C | Hazy / pearlescent body | Cracked base, neck crystallization |
| Pre-blow pressure | 4 to 8 bar | Incomplete axial stretch, off-center wall | Stress whitening, hinge cracks |
| Main-blow pressure | 30 to 40 bar | Unfilled corners, low burst strength | Flash, mold deformation |
| Blow hold time | 1.5 to 3.0 s | Post-blow shrinkage | Cycle time penalty |
| Stretch ratio S = L_finish / L_preform | 2.0 to 2.5 (axial) | Low material distribution, top-heavy part | Stress whitening, splits |
| Hoop stretch H = D_finish / D_preform | 3.5 to 4.5 | Thin walls, low burst strength | Orientation imbalance |
| Total areal stretch A = S * H | 10 to 15 | Bottle fails burst test | Bottle splits on impact |
| Mold coolant temperature | 5 to 15 C | Part sticks in cavity | Slow crystallization, longer cycle |
A useful sanity check before any production run is the total areal stretch A = S * H. For PET, A in the 10 to 15 range delivers a bottle with good top-load, burst strength, and clarity. If the value falls outside that band, change the preform or the finish dimensions, not the controller.
12. Scaling Beyond LOGO! 8: S7-1200, S7-1500, WinAC, and the BMH 3300 Reference
The LOGO! build covers a discrete sequencer. As soon as the application grows, migrate. The natural Siemens upgrade path:
- S7-1200 with TIA Portal: use a CPU 1214C DC/DC/DC (6ES7214-1AG40-0XB0) plus a Signal Board for the few analog inputs the LOGO! build ignored (mold-zone temperature, hydraulic pressure). An SCL GRAPH sequencer replaces the shift register cleanly.
- S7-1500 with TIA Portal: use a CPU 1511-1 PN (6ES7511-1AK02-0AB0) for machines with two to four cavities and Technology Objects for hydraulic motion.
- WinAC RTX 2010 on a Siemens SIMATIC IPC: used by the BMH 3300 reference design. That brochure describes the controller partitioning - parison control, hydraulic motion control, and zone temperature control each run on a Technology Function; the master WinAC coordinates them over PROFINET.
When planning the migration, export the LOGO! program as a .lsc archive, document the step table, and rebuild it as a GRAPH sequencer in TIA Portal. Do not try to translate the FBD directly - the GRAPH state machine is the right abstraction for production code.
13. Commissioning, Verification, and Safety
Run the following checklist before energizing any actuator:
- Verify 24 V DC polarity on every sensor input. PNP sensors must source into the LOGO! input; reverse polarity lights the LOGO! input LED but the input bit stays 0.
- With the LOGO! in STOP, manually jog each hydraulic axis and confirm the corresponding sensor lights. Use a multimeter to confirm 24 V at the input terminal.
- Manually energize each output (Q1 to Q5) from LOGO! Soft Comfort online mode. Confirm the valve solenoid clicks and the cylinder moves. Confirm spring-return on pneumatic cylinders.
- In Manual mode (SEL_AUTO = 0), enable one step at a time. Verify sensor feedback matches the expected state in the TDE.
- Run 10 dry cycles in Auto with no preform loaded. Verify the cycle time is within 10% of the calculated 12 s.
- Load a preform and run 5 cycles. Inspect the bottle for stretch-blow defects.
- Verify E-stop: pull the E-stop, confirm all Q outputs drop within 100 ms. The fault bit M2 must latch; reset requires Stop pressed for 1 s.
14. Troubleshooting Matrix
| Symptom | Probable cause | Diagnostic | Remedy |
|---|---|---|---|
| Cycle will not start, M1 RUN = 0 | E-stop chain open or guard open | Check I7, I8 in TDE | Reset E-stop, close guard |
| Cycle starts but stops at step 2 (Q1_DN) | S1_DN sensor misaligned or hydraulic pressure low | Read I1; check gauge | Re-align sensor; check pump |
| Q3_FEED extends but does not retract | Y3 valve has no spring return, or 24 V stuck high | Read Q3 with cycle stopped | Replace valve; check output wiring |
| Q2_CLOSE never reaches S3_CL | Hydraulic pressure below clamp threshold | Read hydraulic gauge | Raise clamp pressure regulator |
| Q4_PEAK extends before Q2_CLOSE done | Interlock B6 missing or Bx ordering wrong | Online monitor Bx bits | Re-wire interlock; verify shift direction |
| Cycle stops mid-step, M2 FAULT = 1 | Watchdog timer elapsed | Check T_DOWN_OK, T_BLOW_OK | Increase timer; check sensor |
| Bottle has white haze | Preform under-tempered | Measure preform surface with pyrometer | Raise oven zone 5 C; re-test |
| Bottle has cracks at base | Preform over-tempered | Same | Lower oven zone 5 C; re-test |
| Step sequencer skips a step | Two Bx bits active at once | Online monitor all Bx | Check shift register trigger source |
| Q1 energizes both DOWN and UP | Both output relays stuck | Read both Q1 paths; replace output module if necessary | Replace output module |
For deeper diagnostics, enable the LOGO! web server (Tools > Web Server Access in LOGO! Soft Comfort) and watch the variable table in a browser on the same LAN.
15. Maintenance Schedule
| Interval | Item | Action |
|---|---|---|
| Daily | Air pressure | Verify regulator at 6 bar |
| Daily | Hydraulic level | Check sight glass, top up ISO VG 46 |
| Weekly | Sensors S1, S2, S3 | Wipe face, check LED, verify target distance |
| Weekly | Valves Y1 to Y5 | Listen for sluggish actuation, check exhaust silencers |
| Monthly | LOGO! backup | Export program and web server variables to SD card |
| Monthly | E-stop chain | Function-test, measure dropout time (< 100 ms) |
| Quarterly | Hydraulic filter | Replace return-line filter, log differential pressure |
| Quarterly | Pneumatic filter / regulator | Drain water trap, replace element if delta P > 0.5 bar |
| Annually | Solenoid coils | Megger test, replace if insulation < 10 Mohm |
Can a LOGO! 8 really run a PET blow molding machine?
Yes, for a discrete-only step sequencer on a single-cavity bench-top machine with manual preform loading. No, for production: closed-loop parison control, mold-zone temperature, and stretch-blow pressure profiling are out of scope. Plan to migrate to a S7-1200 with TIA Portal GRAPH, or to the WinAC-based BMH 3300 reference architecture, before the first production run.
How do I debounce the three inductive sensors in LOGO! Soft Comfort?
Place an On-delay / Off-delay block (B004 family) in front of each sensor input. Use 60 to 80 ms for the hydraulic position sensors and 50 ms for the pneumatic mold-closed sensor. Do not exceed 150 ms - the sequencer needs the position feedback to advance within the step budget.
How many steps can the LOGO! 8 shift register (B310) hold?
The B310 block supports up to 8 bits in a single instance. Cascade two or three B310 blocks if you need more. The PET cycle described here uses 8 steps, so a single B310 is sufficient.
Which LOGO! outputs should drive hydraulic solenoid valves?
Hydraulic DCVs need DC outputs, not relay outputs. Use a LOGO! 8 variant with transistor outputs (6ED1052-1MD08-0BA2 or -0BB2) for Q1 and Q2, and add an output relay module (6ED1055-1CB00-0BA2) only if you must switch AC solenoids. Always use flyback diodes across the solenoid coils.
What is the correct migration path to a S7-1200?
Export the LOGO! program as a .lsc archive, document the step table, and rebuild it as a GRAPH sequencer in TIA Portal on a CPU 1214C DC/DC/DC. Add a Signal Board (SB 1231) for the two or three analog inputs (mold-zone temperature, hydraulic pressure). Commission the GRAPH sequence in Manual mode using the standard GRAPH commissioning view, then run Auto.