Issue
How do I write a program in Ladder Logic to turn ON a Boolean (%M2) variable for a short time after a delay triggered by another Boolean variable (%M0)'s rising edge?
Is there an example on how to do this?
Product Line
EcoStruxure Machine Expert Basic (SoMachine Basic) with Modicon M221 PLC
Environment
PLC configuration software in Windows
Resolution
A program can be written comprised of three Variables and three Ladder Logic Rungs.
Please see the example below.
Goal:
Turn on PULSEDBIT for 2 seconds after a 5 second delay after a rising edge (transition from FALSE to TRUE) from BUTTONPRESS.
Variables:
BUTTONPRESS (%M0) - the variable that triggers the sequence on rising edge
TIMERTRIGGER (%M1) - an intermediary variable that turns on the first timer in the program
PULSEDBIT (%M2) - the boolean variable that we wish to turn on for 2s after 5s delay
Rung0: Rising Edge detection latch
1) Create a Contact -| |- with BUTTONPRESS (%M0) assigned
2) In parallel with the first Contact, add a second Contact with TIMERTRIGGER (%M1) assigned
3) To end the ladder Rung, add a Set Coil -(S)- with BUTTONPRESS (%M0) assigned
Rung1: Delay timer
1) Create a Contact -| |- with TIMERTRIGGER (%M1) assigned.
2) In series to the contact, add a TON Timer (%TM0).
3) Mouse over the TON Timer block and change the time to 5 seconds.
4) To end the ladder Rung, add a Set Coil -(S)- with PULSEDBIT (%M2) assigned - this turns PULSEDBIT to TRUE after the 5s delay
Rung2: Turn ON PULSEDBIT for 2 seconds and reset all variables to FALSE
1) Create a Contact -| |- with PULSEDBIT (%M2) assigned.
2) In series to the contact, add a TON Timer (%TM0).
3) Mouse over the TON Timer block and change the time to 2 seconds.
4) To end the ladder Rung, add three parallel Reset Coils -(R)- with each of the three Variables assigned - this will reset all the variables back to FALSE once the timer sequences are completed.
The completed project should appear as follows:
Example project (created in EcoStruxure Machine Expert Basic v1.0.0.63163):
"PulsedBitExample.zip" - extract the PulsedBitExample.smbp project file
How do I write a program in Ladder Logic to turn ON a Boolean (%M2) variable for a short time after a delay triggered by another Boolean variable (%M0)'s rising edge?
Is there an example on how to do this?
Product Line
EcoStruxure Machine Expert Basic (SoMachine Basic) with Modicon M221 PLC
Environment
PLC configuration software in Windows
Resolution
A program can be written comprised of three Variables and three Ladder Logic Rungs.
Please see the example below.
Goal:
Turn on PULSEDBIT for 2 seconds after a 5 second delay after a rising edge (transition from FALSE to TRUE) from BUTTONPRESS.
Variables:
BUTTONPRESS (%M0) - the variable that triggers the sequence on rising edge
TIMERTRIGGER (%M1) - an intermediary variable that turns on the first timer in the program
PULSEDBIT (%M2) - the boolean variable that we wish to turn on for 2s after 5s delay
Rung0: Rising Edge detection latch
1) Create a Contact -| |- with BUTTONPRESS (%M0) assigned
2) In parallel with the first Contact, add a second Contact with TIMERTRIGGER (%M1) assigned
3) To end the ladder Rung, add a Set Coil -(S)- with BUTTONPRESS (%M0) assigned
Rung1: Delay timer
1) Create a Contact -| |- with TIMERTRIGGER (%M1) assigned.
2) In series to the contact, add a TON Timer (%TM0).
3) Mouse over the TON Timer block and change the time to 5 seconds.
4) To end the ladder Rung, add a Set Coil -(S)- with PULSEDBIT (%M2) assigned - this turns PULSEDBIT to TRUE after the 5s delay
Rung2: Turn ON PULSEDBIT for 2 seconds and reset all variables to FALSE
1) Create a Contact -| |- with PULSEDBIT (%M2) assigned.
2) In series to the contact, add a TON Timer (%TM0).
3) Mouse over the TON Timer block and change the time to 2 seconds.
4) To end the ladder Rung, add three parallel Reset Coils -(R)- with each of the three Variables assigned - this will reset all the variables back to FALSE once the timer sequences are completed.
The completed project should appear as follows:
Example project (created in EcoStruxure Machine Expert Basic v1.0.0.63163):
"PulsedBitExample.zip" - extract the PulsedBitExample.smbp project file