Programming Schneider PLC Manual Sequential Machine

This article discusses the implementation of a Machine Sequential System that is operated manually using Schneider PLC.

In this article, we will discuss an example PLC Program that controls 4 different machines with one push button using Ecostruxure Machine Expert-Basic software.

Manual Sequential Machine

This PLC system uses 4 buttons, the START_SYSTEM (I0.0) button is used to Turn On the system (standby state), the STOP_SYSTEM (I0.1) button is used to Turn Off the system, the RUN_SYSTEM (I0.2) button is used to RUN the system, the RESET_SEQUENCE (I0.3) button is used to Reset the counter sequence data.

When START_SYSTEM (I0.0) button is Pressed, the memory bit SYSTEM_ON (M0) becomes a HIGH state and the system will be in a Standby state. The system will be OFF if the STOP_SYSTEM (I0.1) button is Pressed.

The PLC program has 4 sequences stored in memory word SEQUENCE (MW0). Sequence data can be Reset to zero “0” using the RESET_SEQUENCE (I0.3) button.

Sequence 1, when the RUN_SYSTEM (I0.2) button is pressed, the value in memory word SEQUENCE (MW0) becomes “1” and Output MACHINE1 (Q0.0) will be ON for 5 seconds.

Sequence 2, when the RUN_SYSTEM (I0.2) button is Pressed again, the value in memory word SEQUENCE (MW0) increases (+1) to “2” and Output MACHINE2 (Q0.1) will be ON for 6 seconds.

Sequence 3, when the RUN_SYSTEM (I0.2) button is Pressed again, the value in memory word SEQUENCE (MW0) increases (+1) to “3” and Output MACHINE3 (Q0.2) will be ON for 7 seconds.

Sequence 4, when the RUN_SYSTEM (I0.2) button is Pressed again, the value in memory word SEQUENCE (MW0) increases (+1) to “4” and Output MACHINE4 (Q0.3) will be ON for 8 seconds.

After the MACHINE4 (Q0.3) output changes to the OFF state, the data in memory word SEQUENCE(MW0) is reset to zero “0”.

Programming Schneider PLC Manual Sequential Machine
PLC programming for manual machine sequences

Inputs and Outputs Details

CommentInput (I)Output (Q)Memory BitsMemory WordTimers
START_SYSTEMI0.0    
STOP_SYSTEMI0.1    
RUN_SYSTEMI0.2    
RESET_SEQUENCEI0.3    
MACHINE1 Q0.0   
MACHINE2 Q0.1   
MACHINE3 Q0.2   
MACHINE4 Q0.3   
TIMER1    TM0
TIMER2    TM1
TIMER3    TM2
TIMER4    TM3
SYSTEM_ON  M0  
IR_TIMER1  M1  
IR_TIMER2  M2  
IR_TIMER3  M3  
IR_TIMER4  M4  
SEQUENCE   MW0 

Programming Schneider PLC

RUNG 0 (SYSTEM ON)

When the START_SYSTEM (I0.0) button is Pressed, the memory bit SYSTEM_ON (M0) changes to HIGH state. The memory bit SYSTEM_ON (M0) remains HIGH even though the START_SYSTEM (I0.0) button has been Released because it uses Latching.

The SYSTEM_ON (M0) memory bit will be in LOW state if the STOP_SYSTEM (I0.1) button is Pressed.

PLC programming for manual machine sequences

RUNG 1 (SEQUENCE)

In this Rung, when the NO contact of memory bit SYSTEM_ON (M0) in HIGH state and the RUN_SYSTEM (I0.2) button is pressed, the data in memory word SEQUENCE (MW0) will increase (+1).

RUNG 2 (MACHINE 1)

In this Rung, Output MACHINE1 (Q0.0) will be ON and the Timer instruction TIMER1 (TM0) starts counting when the value in memory word SEQUENCE (MW0) is equal to “1”. Timer TIMER1 (TM0) will count up to 5 seconds.

When Timer TIMER1 (TM0) finishes counting, then the memory bit IR_TIMER1 (M1) will be in a HIGH state and Output MACHINE1 (Q0.0) will be OFF because of the Interlock.

Manual sequential logic in Schneider PLC

RUNG 3 (MACHINE 2)

In this Rung, Output MACHINE2 (Q0.1) will be ON and the Timer instruction TIMER2 (TM1) starts counting when the value in memory word SEQUENCE (MW0) is equal to “2”. The TIMER2 (TM1) timer will count up to 6 seconds.

When Timer TIMER2 (TM1) finishes counting, the memory bit IR_TIMER2 (M2) will be in a HIGH state and Output MACHINE2 (Q0.1) will become OFF due to the Interlock.

RUNG 4 (MACHINE 3)

In this Rung, Output MACHINE3 (Q0.2) will be ON and the Timer instruction TIMER3 (TM2) starts counting when the value in memory word SEQUENCE (MW0) is equal to “3”. The TIMER3 (TM2) timer will count up to 7 seconds.

When Timer TIMER3 (TM2) finishes counting, the memory bit IR_TIMER3 (M3) will be in a HIGH state and Output MACHINE3 (Q0.2) will become OFF due to the Interlock.

RUNG 5 (MACHINE 4)

In this Rung, Output MACHINE4 (Q0.3) will be ON and the Timer instruction TIMER4 (TM3) starts counting when the value in memory word SEQUENCE (MW0) is equal to “4”. The TIMER4 (TM3) timer will count up to 8 seconds.

When Timer TIMER4 (TM3) finishes counting, the memory bit IR_TIMER4 (M4) will be in a HIGH state and Output MACHINE4 (Q0.3) will become OFF due to the Interlock.

PLC-based manual sequential machine operation

RUNG 6 (RESET SEQUENCE)

In this Rung, when the NO contacts of memory bits SYSTEM_ON (M0) and IR_TIMER4 (M4) are in the HIGH state, the memory word SEQUENCE (MW0) changes to the value “0”.

Or, when the RESET_SEQUENCE (I0.3) button is Pressed, the memory word SEQUENCE (MW0) becomes “0”.

Operation Block will move the value “0” to the memory word SEQUENCE (MW0).

Read Next:

Don't Miss Our Updates
Be the first to get exclusive content straight to your email.
We promise not to spam you. You can unsubscribe at any time.
Invalid email address

1 thought on “Programming Schneider PLC Manual Sequential Machine”

  1. It’s a good start. You used a master calling action based on its value. You manipulate the value based on what the machine needs to do. It’s the right way of thinking as it enable doing multiple tasks in parallel.

    What I see that can be improved is:
    – First cycle scan to reset the memory to 0
    – Improve the fltering of the input. Just a pulse will not protect from an electrical flickering.
    – Add protection to force step completion before authorizing the next step. In your scenario an operator could jump to next step before the preceding step is completed.
    – Add initial conditions to initiate the sequencing.
    – Add a way to pause and restart a step
    – Add basic machine safety, in this case an E-Stop. It should be hardwired but it should also come back to the PLC.

    Reply

Leave a Comment

Share via
Follow us and never miss an update!