DriveLab
Account

TP 4 · Chapter 4

Hoist: brake sequencing, overload and anti-sway

The brake-release and brake-apply handshake of a hoist, a fail-safe upper limit, the graded overload response, and a zero-vibration shaper computed in the PLC.

2 sessions of 1 h 30Trainer modules: stepper motor, encoder, proximity sensor and micro-switch, output relays, analogue potentiometers, buzzerPLC-200 manual exercises: 7-1, 7-3, 10-2

Print QR code

Objectives

  1. Program the brake-release and brake-apply handshake of a hoist drive (Chapter 4).
  2. Implement a fail-safe upper limit switch and the graded overload response of a crane.
  3. Compute the anti-sway timing T/2=πL/gT/2 = \pi\sqrt{L/g} in the PLC and generate the two-step speed command of the zero-vibration shaper.

Background

Chapter 4 insists that the holding brake is a holding device: it is released only once the drive has proved it can carry the load, and applied only once the motion has stopped. The chapter also describes a graded overload response (warning, hoisting inhibited while lowering stays possible, then trip) and the two-pulse input shaping that cancels load sway, with T=2πL/gT = 2\pi\sqrt{L/g} (worked example: L=9L = 9 m gives T/2≈3.01T/2 \approx 3.01 s).

The stepper plays the hoist in Parts A and B and the trolley in Part C. The load and the rope length, which the trainer cannot provide, are read from the CPU's two analogue adjustment potentiometers under the front cover: SMB28 and SMB29, each 0 to 255.

Bench set-up

SW2 ONSW3 OFFSW4 OFFSW5 OFFSW6 ONSW7 ONSW8 OFFThumbwheel at 0000; do not press the keypad.

With the trainer OFF: Q0.0 → STEP MOTOR DIR, Q0.1 → STEP MOTOR CK, ENCODER A → I0.0, ENCODER B → I0.1; micro-switch COM → 24 V+ and NC → I1.0; buzzer BZ+ → RQ0.7, BZ− → 24 V−, common RC6 → 24 V+. The DC motor is not wired: the micro-switch is used on its own, and you press its lever by hand to simulate the hook block reaching the upper limit.

AddressSymbolMeaning
I0.0ENC_Aencoder phase A (HSC0, mode 9)
I0.1ENC_Bencoder phase B (HSC0, mode 9)
I0.2HOISThoist (up), hold-to-run
I0.3LOWERlower (down), hold-to-run
I0.4TRAVELPart C: start a trolley travel, momentary
I0.5SHAPER_ONPart C: anti-sway shaping enabled
I0.6ESTOP_NCemergency stop, normally closed (ON = healthy)
I0.7RESETreset, momentary
I1.0UPPER_LIMIT_NCupper final limit, micro-switch NC contact (ON = healthy)
SMB28LOAD_POTsimulated load cell: 0–255 → 0–125 % of rated load
SMB29ROPE_POTsimulated rope length: 0–255 → 2–12 m
Q0.0DIRstepper direction
Q0.1CKstepper clock
Q0.2BRAKE_RELEASEbrake coil (relay RQ0.2 clicks when the brake lifts)
Q0.3DRIVE_ENABLEdrive enabled / magnetising
Q0.4WARN_90load above 90 %
Q0.5HOIST_INHIBITload above 100 %: hoisting blocked
Q0.6TRIPtrip (load above 110 % or emergency stop)
Q0.7BUZZERaudible alarm (via RQ0.7)

Preparation

  1. Draw the GRAFCET of the hoist motion with the steps braked, magnetising, brake lifting, moving, stopping and brake applying. The delays are 0.3 s to prove the drive, 0.2 s for the brake to lift, and 0.3 s after the brake is applied before the drive is disabled.
  2. Write the scaling expressions from SMB28 to load in percent and from SMB29 to rope length in metres.
  3. For LL = 4 m, 9 m and 12 m, compute T/2T/2. For a trolley command of 100 Hz (full speed) preceded and followed by a 50 Hz segment lasting T/2T/2, compute the number of pulses n1n_1 of each half-speed segment and check that 2n1<4802n_1 \lt 480.

Anti-sway timing

A pendulum of length L swings with period T = 2π√(L/g). The shaper runs at half speed for T/2 at the start and the end of the travel.

L = 9.00 m · T/2 = π√(L/g) = 3.009 s · n₁ = 150

full-speed pulses: 180

Timer choice

The S7-200 timer number fixes its type and resolution. Enter a duration to see the preset of every group.

TypeResolutionTimer numbersPreset
TON/TOF1 msT32, T96+1000exact
TON/TOF10 msT33–T36, T97–T100+100exact
TON/TOF100 msT37–T63, T101–T255+10exact
TONR1 msT0, T64+1000exact
TONR10 msT1–T4, T65–T68+100exact
TONR100 msT5–T31, T69–T95+10exact

Multi-segment PTO profile

Each segment starts at a cycle time and changes it by a fixed number of µs per pulse. Enter the frequencies and pulse counts of your segments; the tool gives the table values and the travel time.

#Start (Hz)End (Hz)PulsesStart cycle (µs)Δ per pulse (µs)Last pulse (Hz)Time (s)
120000050.01.920

96 pulses · 1.920 s

MOVB   1, VB500
MOVW   +20000, VW501
MOVW   +0, VW503
MOVD   +96, VD505

The frequency does not change linearly: the cycle time does. Word values above +32767 are written in hexadecimal (16#…). Check the table layout against the manual before you use it.

Part A: brake handshake and limits

  1. Program the GRAFCET of your preparation. HOIST or LOWER held starts the sequence; releasing it decelerates the motor (a decreasing-frequency PTO segment), and the brake is applied only when the pulse train has finished (PTO idle bit SM76.7).
  2. The upper limit stops hoisting but must still allow lowering.
  3. ESTOP_NC opening removes DRIVE_ENABLE and applies the brake at once, whatever the step.
EventTime from command (s)Order correct?
DRIVE_ENABLE on
BRAKE_RELEASE on
first pulse on CK
last pulse on CK (after HOIST released)
BRAKE_RELEASE off
DRIVE_ENABLE off

Part B: graded overload

  1. Above 90 % of rated load, light WARN_90. Above 100 %, block hoisting but allow lowering (HOIST_INHIBIT). Above 110 %, stop, apply the brake, sound the buzzer and latch TRIP until RESET with the load back below 100 %.
  2. Read the load cell only when the hoist is stationary, and hold the last value while moving (a real load cell reads high during acceleration).

Part C: anti-sway command

  1. On TRAVEL, move the trolley (the stepper) by 480 pulses. Without shaping, use a single segment at 100 Hz.
  2. With SHAPER_ON, the program computes the rope length from SMB29, then T/2=πL/gT/2 = \pi\sqrt{L/g} in real arithmetic, then the pulse count n1n_1 of a 50 Hz segment lasting T/2T/2. Build a three-segment profile: n1n_1 pulses at 50 Hz, 480−2n1480 - 2n_1 at 100 Hz, and n1n_1 at 50 Hz. The stop must be shaped as well as the start.
  3. Measure the duration of the first segment with a timer and compare it with your preparation.
LL (m)T/2T/2 computed (s)T/2T/2 by PLC (s)first-segment pulsesmeasured duration (s)

Rehearse on the virtual bench

Test your program before the session: paste or open your exported .awl, choose the wiring of this TP, and run the procedure and the fault-injection tests on the simulated trainer.

Virtual PLC-200 bench: stepper, encoder and DC motor
Stepper · 7.5°Encoder · 60 p/rev
PTO frequency
0.0 Hz
Pulses sent
0
Position (steps)
0 (0.00 rev)
Steps lost
0
HC0
0
Pull a lead

No errors: the program compiles.

SIMATIC S7-200 · CPU 224SFRUNSTOP
I0.0 sensor
I0.1 sensor
I1.0UPPER_LIMIT_NCsensor
Q0.0DIR0
Q0.1CK0
Timet = 0.00 s · 0 scans

Same stepper and encoder; the micro-switch is wired on its NC contact as the upper limit: I1.0 is ON while healthy and drops when you press the lever or pull its lead.

Fault-injection tests

TestSafe reaction requiredObserved
Pull the I1.0 lead (broken limit-switch wire)hoisting stops as if the limit were reached; lowering still possible
HOIST released during brake liftingbrake re-applied, no pulse sent
Emergency stop while movingbrake applied at once, drive disabled
Load set above 110 % at rest, then HOISTbrake stays applied, trip latched, buzzer
Load potentiometer turned while hoistingheld value used; no reaction until the hoist stops
Load above 100 %: operate LOWERlowering allowed

Questions

  1. Why must the brake never be released before the drive is proved, and never be used to stop a moving hoist in normal operation?
  2. Explain why the upper limit switch is wired on its NC contact. What would a wiring fault do with the NO contact?
  3. Why is lowering allowed above 100 % of rated load when hoisting is not?
  4. Your shaper is tuned from the rope length set on SMB29. Using the anti-sway simulation of Chapter 4, explain what happens if the operator changes the hoist height after the travel has started.

Group report