---[Jog]---[Jog_Button]---(Motor_Internal) Rung3 โ Output:
Use CTU counter with Preset = 100, Reset = Reset_Button. ๐น Exercise 5 โ Traffic Light (Sequential) Statement: Traffic light sequence: Red โ Red+Yellow โ Green โ Yellow โ Red. Cycle time: 5s each.
Rung1 โ Auto mode:
---[X1]---[X2]---[Lamp]---(Lamp) ??? Not directly โ use SR flip-flop Better: use a toggle logic in Structured Text (ST): ejercicios de plc resueltos
IF Reset_Button THEN Count := 0; Conveyor := TRUE; END_IF;
---[Start]---[Stop]---(TON_1.IN) TON_1.PT := T#5s ---[TON_1.Q]---(Motor) TON_1 starts timing when Start is pressed. Q turns ON after 5s if Start remains pressed. ๐น Exercise 4 โ Counter (Count Products) Statement: A sensor (photocell) detects products on a conveyor. Count up to 100, then stop the conveyor and reset with a button.
---[Auto]---[Start]---[Stop]---(Motor_Internal) Rung2 โ Jog mode: Rung1 โ Auto mode: ---[X1]---[X2]---[Lamp]---(Lamp)
Hereโs a structured list of (from basic to intermediate) with explanations, logic, and pseudo-code. These are typical for Siemens S7-1200/1500 (TIA Portal) or Allen-Bradley (RSLogix 5000) but the logic applies to any brand. ๐น Exercise 1 โ Start/Stop with Latch (Motor Control) Statement: Control a motor with two pushbuttons: Start (NO) and Stop (NC). Add an overload relay (NC) as protection. Use a latching relay.
CASE state OF 0: // Red Red := TRUE; Green := FALSE; Yellow := FALSE; IF Timer_Done THEN state := 1; Timer(5s); 1: // Red+Yellow Red := TRUE; Yellow := TRUE; IF Timer_Done THEN state := 2; Timer(5s); 2: // Green Green := TRUE; IF Timer_Done THEN state := 3; Timer(5s); 3: // Yellow Yellow := TRUE; IF Timer_Done THEN state := 0; Timer(5s); END_CASE; Statement: An analog input (4โ20 mA) from a 0โ100ยฐC sensor. Scale to real temperature.
IF Sensor_Rising_Edge AND (Count < 100) THEN Count := Count + 1; END_IF; IF Count >= 100 THEN Conveyor := FALSE; END_IF; ๐น Exercise 4 โ Counter (Count Products) Statement:
| Rung | Logic | |------|-------| | 1 | Start AND Stop AND OL โ Coil Motor (with Motor parallel contact) |
IF (X1 OR X2) AND NOT previous THEN Lamp := NOT Lamp; END_IF; previous := X1 OR X2; Use two Set/Reset coils with interlocking. ๐น Exercise 3 โ Timer (Delayed Start) Statement: When Start is pressed, after 5 seconds motor turns ON. When Stop is pressed, motor turns OFF immediately.