CX-Programmer Products Sorting & Counting – Omron PLC

This PLC system is widely used in packing machines in industries that require the function of sorting the number of products and counting the number of products that have been packed. In this article, you will learn the Omron PLC logic for this application using the CX-programmer software.

CX-Programmer Sorting & Counting

This system consists of 2 Sequences, the first sequence serves to calculate the number of Products that will enter the BOX. The second sequence serves to calculate the number of BOXES that have been filled with Product.

Conveyor Sorting Machine PLC Program

Sequence One

In the first sequence of the system, products sent by Conveyor 1 will be accommodated in GATE1 and GATE 2. Products that will enter GATE 1 and GATE 2 will be detected by SENSOR 1 and SENSOR 2 and then will be counted using the Counter function.

The number of products accommodated by GATE 1 and GATE 2 must be the same. When the Product is detected to have the same amount and greater than zero “0” then GATE 1 and GATE 2 will open for 2 seconds, and the product will fall and be accommodated into the BOX below (as in Sequence 2 picture).

In the picture of Sequence 1 can be seen, that the products sent by Conveyor 1 are divided into 2 paths. 1 lane towards the GATE 1 shelter and 1 lane towards GATE 2. Products passing on both paths must run simultaneously or only be delivered 5 seconds late.

If within 5 seconds there is only 1 product detected in one lane then the Alarm will be ACTIVE or if within 1 Minute no product passes in both lanes then the Alarm will be ACTIVE.

Sequence Two

PLC Product Sorting Machine Logic

In this sequence, GATE 1 and GATE 2 will only open and drop the product into the BOX if there is a BOX that stops in the SENSOR 5 area because it is held back by GATE 4 closing.

The normal condition of GATE 3 and 4 is when there is no BOX is open, when there is a BOX entering then GATE 3 will remain open and when the BOX has passed SENSOR 4 then GATE 4 will close to hold the BOX.

GATE 3 will close when SENSOR 3 detects that there is a BOX that will enter and there is still a BOX inside so the new BOX that will enter will be held by GATE 3 until the BOX inside has come out.

SENSOR 6 serves to calculate the number of BOXES that have come out and serves to reset GATE 1 and 2 Counter data.

Conveyor 1 and Conveyor 2 in this system will run continuously and only stop if the Motor/Conveyor FAULT or if the STOP button is activated.

I/O Address

CommentInput (I)Output (Q)Bit MemoryWord MemoryTimers
PB_START0.00    
PB_STOP0.01    
Output(Q)Bit Memory    
SENSOR_20.03    
SENSOR_30.04    
SENSOR_40.05    
SENSOR_50.06    
SENSOR_60.07    
FB_GATE_10.08    
FB_GATE_20.09    
FB_GATE_31.00    
FB_GATE_41.01    
CONV_1_FAULT0.10    
CONV_2_FAULT1.04    
CONV_1_ON0.11    
CONV_2_ON0.03    
CONV_1 100.00   
CONV_2 100.01   
GATE_1 100.02   
100.00 100.03   
100.01 100.06   
100.02 100.07   
100.03 100.04   
100.06 100.06   
100.07  W0.02  
100.04  W0.03  
100.06  W1.00  
IR_CONV_1_FAULT  W0.00  
IR_3  W0.05  
IR_CONV_2_ON  W0.00  
IR_CONV_2_FAULT  W1.01  
COUNT_1   D1 
COUNT_2   D2 
COUNT_3   D3 
TIMER_0    T000
TIMER_1    T001
TIMER_2    T002

Omron PLC Programming

NETWORK 0

On Rung 0 this serves as a latching system. When PB_START (0.00) is activated momentarily, the IR_1 Bit memory (W0.02) will be ON, and CONV_1 (100.00) and CONV_2 (100.01) will also be ON at the same time.

The system will be OFF if PB_STOP (0.01) is enabled or if the NC (Normally Close) contact of IR_CONV_1_FAULT (W0.00) and IR_CONV_2_FAULT (W0.01) bit memory is ON.

NETWORK 1

This rung serves as a data counter of products detected by SENSOR_1 (0.02) and SENSOR_2 (0.03). When SENSOR_1 (0.02) and SENSOR_2 (0.03) detect passing products, the Increment Instruction (@++) will add 1 data value of “+1” to the memory allocation of Word COUNT_1 (D1) and COUNT_2 (D2).

In this rung, the contact types SENSOR_1 (0.02) and SENSOR_2 (0.03) are Differentiate Down, which means that the contact will send a signal of 1 pulse wave when the contact changes from “True” to “False”.

CX-Programmer Products Sorting & Counting - Omron PLC

NETWORK 2

Rung 2 serves to regulate the process of opening and closing GATE_1 (100.01) and GATE_2 (100.03). When one of the NO (Normally Open) contacts of SENSOR_1 (0.02) or SENSOR_2 (0.03) ON it will activate bit memory IR_2 (W0.03), at the same time it will also activate Instruction TIMER_0 (T000).

The Latching function of the IR_2 bit memory (W0.03) makes the program on Rung 2 continue to run even though SENSOR_1 (0.02) or SENSOR_2 (0.03) has died. When TIMER_0 (T000) has reached its Preset value, it disables IR_2 bit memory (W0.03) using the Interlock function. The Latching function will be replaced by IR_2 bit memory (W0.03).

When the data values of Word memory COUNT_1 (D1) and COUNT_2 (D2) are equal and greater than zero “0”, then the NO(Normally Open) contact of SENSOR_5 (0.06) ON then TIMER_1 (T001) will activate GATE_1 (100.01) and GATE_2 (100.03) for 2 seconds.

When GATE_1 (100.01) and GATE_2 (100.03) are ON then the NC (Normally Close) contacts of the FB_GATE_1 (I0.8) and FB_GATE_2 (I0.9) bit memory will be ON and turn off the TIMER_0 (T000).

NETWORK 3

This rung serves as an ALARM if within 1 minute (600ms) no Product is detected on Conveyor 1. When IR_1 (W0.02) is ON it will activate TIMER_2 (T002), if before 1 minute there is a Product detected then the NC (Normally Close) contact of SENSOR_1 (0.02) or SENSOR_2 (0.03) will be ON and turn off TIMER_2 (TM2).

Because TIMER_2 (T002) is not a Retentive timer type, it cannot store the last value. In this program, the timer used is Timer On Delay with a speed of 100ms and uses the BCD data type.

CX-Programmer Conveyor Program

NETWORK 4

Rung 4 serves to activate ALARM_2 (100.05) if the data in the Word memory COUNT_1 (D1) and COUNT_2 (D2) are not the same value.

NETWORK 5

Rung 5 serves to set the system to OPEN and CLOSE GATE_3 (100.06). When there is 1 Box entered, the SENSOR_5 (0.06) will be ACTIVE continuously, but GATE_3 (100.06) is still open.

When there is another BOX detected by SENSOR_3 (0.04) then GATE_3 (100.06) will close. When SENSOR_5 (0.06) is off and SENSOR_6 (0.07) detects a new BOX, the GATE_3 (100.06) will open and the previously held BOX will enter.

NETWORK 6

This rung serves to open the GATE_4 (100.07) using the Interlock Function of the IR_3 bit memory (W0.05).

When the COUNT_1 (D1) and COUNT_2 (D2) memory data are the same, it activates the IR_3 bit memory (W0.05) which has an Interlock Function in Rung 7, resulting in GATE_4 (100.07) opening.

Omron PLC Sorting Logic

NETWORK 7

When SENSOR_4 (0.05) is ACTIVE for a moment, when the BOX has passed SENSOR_4 (0.05), the GATE_4 (100.07) will close to hold the BOX.

FB_GATE_4 (1.01) serves as Latching on this Rung and when the NC (Normally Close) contact of the IR_3 (W0.05) is ON then GATE_4 (100.07) will open.

NETWORK 8

This rung serves to record COUNT_3 data (D3) and reset data from COUNT_1 (D1) and COUNT_2 (D2) when SENSOR_6 (0.07) is ACTIVE, that is, when the BOX has exited.

NETWORK 9

This rung activates IR_CONV_1_ON (W1.00) and IR_CONV_2_ON (W1.00) bit memory for the Feedback indicator that CONV_1 (100.00) and CONV_2 (100.01) ARE ACTIVE.

NETWORK 10

This rung activates IR_CONV_1_FAULT (W0.00) and IR_CONV_2_FAULT (W0.01) bit memory for the Feedback indicator that CONV_1(100.00) and CONV_2 (100.01) are in a FAULT condition.

If you liked this article, please subscribe to our YouTube Channel for PLC and SCADA video tutorials.

You can also follow us on Facebook and Twitter to receive daily updates.

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

Leave a Comment

Share via
Follow us and never miss an update!