Basic
12 min

Motor 03 — Feedback watchdog

motorfaultfeedbacktimerTONwatchdoglatch

Ready to build this?

Sign up free — no credit card required. This scenario requires the Basic plan.

Sign up to play this scenario →

Already have an account? Log in

Motor 03 — Feedback watchdog

Briefing

MOTOR_AUX is the contactor's auxiliary contact and should follow MOTOR_CONTACTOR, a moment later (about 150 ms). If it stays ON while the contactor is OFF, the contactor is stuck closed. Time that mismatch with a TON (about 500 ms) and latch the fault when it finishes. A normal start or stop must not fault. RESET_PB clears the fault only when ESTOP, THERMAL_OL and MOTOR_AUX are all off.

Objectives

  • A normal start or stop (feedback lagging 150 ms) raises no fault
  • MOTOR_AUX on with the contactor off for about 500 ms latches the fault and lights FAULT_LAMP
  • The fault stays on after MOTOR_AUX drops, until RESET_PB
  • RESET_PB is refused while MOTOR_AUX is still on

Hints

  • The condition to watch is two signals at once: feedback present while the command is absent. Feed exactly that condition into the timer.
  • The timer's done bit says the mismatch lasted long enough. Treat it as one more cause of the fault, next to ESTOP and THERMAL_OL.
  • A fault that only follows the timer disappears when the feedback does. The memory you built in Motor 02 keeps it on until RESET_PB.
  • The reset must also wait for the new cause to clear: if MOTOR_AUX is still on, the timer would only trip again.

I/O Table

Inputs

START_PB

Start push-button (momentary NO)

BOOL · %I0.0

STOP_PB

Stop push-button (TRUE = pressed)

BOOL · %I0.1

ESTOP

Emergency stop (TRUE = active)

BOOL · %I0.2

THERMAL_OL

Thermal overload relay (TRUE = tripped)

BOOL · %I0.3

MOTOR_AUX

Contactor auxiliary feedback contact

BOOL · %I0.4

RESET_PB

Fault reset push-button (TRUE = pressed)

BOOL · %I0.5

Outputs

MOTOR_CONTACTOR

Main motor contactor coil

BOOL · %Q0.0

RUN_LAMP

Running lamp

BOOL · %Q0.1

FAULT_LAMP

Fault lamp (stays on until reset)

BOOL · %Q0.2

Your program will be tested against:

All test cases run automatically when you submit. Assertions are hidden until you pass.

  1. #1Normal start and stop (feedback lags 150 ms) → no fault

    A healthy contactor's feedback follows its command a moment late; that is not a fault

  2. #2Feedback on with the contactor off for only 300 ms → no fault

    A short mismatch is ignored; the lamp stays off after the feedback drops

  3. #3Feedback on with the contactor off for 800 ms → FAULT_LAMP on

    The mismatch outlasts the delay: the stuck-contactor fault latches

  4. #4MOTOR_AUX drops → FAULT_LAMP stays on

    The fault is remembered after the feedback goes away

  5. #5RESET after MOTOR_AUX drops → FAULT_LAMP off, motor off

    The reset clears the lamp and does not restart the motor

  6. #6RESET while MOTOR_AUX is still on → fault stays on

    A reset is refused while the stuck feedback is still present

  7. #7ESTOP still trips the fault, and RESET clears it

    The Motor 02 behaviour is unchanged

Ready to build this?

Sign up free — no credit card required. This scenario requires the Basic plan.

Sign up to play this scenario →

Already have an account? Log in