Pallet Tracking at Conveyor

SezginKuru

Member
Join Date
Jan 2022
Location
istanbul
Posts
7
Hi everyone,
I am newbie at here. Also, ı have a little experience at plc programming. I use structure text at twincat 2. Now, I need to be programming for palletizing project.
I need to unload pallets filled by the robot via conveyors. I have 5 conveyors in a row and I have sensors at the end of these conveyors.
How should I reason? If in case of an error the conveyor stops before it reaches the sensor, or if the energy goes out, the pallet stays between two sensors?
Should I use persistent data?
 
Welcome to the forum!

5 conveyors in a row

Please clarify: does this mean the conveyors are in series, and when a pallet reaches the end of one conveyor there is a transfer to the next conveyor?
 
Last edited:
yes, I weigh
on one of the conveyors and press from above on the other. These conveyors are connected in series.
Is it correct to use 1 permanent bit for each conveyor and set or reset these bits with sensors?
 
If in case of an error the conveyor stops before it reaches the sensor, or if the energy goes out, the pallet stays between two sensors?
Should I use persistent data?

If you require the PLC to 'remember' its previous states, variable values, then yes, you need to declare the variables in question as persistent variables.
 
sensors at the end of these conveyors.


Is that multiple sensors at the end of the last conveyor in series, or is it one sensor at the end of each conveyor?


What do the sensors sense (presence of pallet, or height of pallet, or ID of pallet, or weight of pallet, etc.)?
 
At the end of each conveyor there is a reflector sensor that sees the pallet. I'm considering programming each conveyor as a station. With the logic of the state machine, there are situations such as the conveyor is full, the conveyor is empty, the conveyor takes pallets, the conveyor delivers pallets, the start, and the error. I will check the persistent bits and sensors in the initial state. And I'll move on to other situations.
For example, if the conveyor is empty, the previous conveyor is sending pallet command will start the conveyors, and the permanent bit will be true when the pallet is between two sensors.
Do you think this logic is correct?
 
In addition, as a result of the research I have done, I plan to use a timer to check whether the pallets arrive at certain times.

I wonder if this logic is correct, I am asking these to improve myself.

Thank you in advance for the answers.
 
Do the conveyors all move from the same run command, or do they move independently? Do they all move at the same speed? Do they all move at one constant speed? Are there encoders that can be used to model the movement of each encoder?
 
The conveyors are independent of each other, they all have a separate motor and a separate conveyor end sensor. They all have the same speed.
 
The line is as in the picture, each conveyor is independent and each conveyor is required to have only one pallet. However, if there is a pallet left between the sensors, how can I solve this situation? Also, conveyors are driven by asynchronous motors, so there is no encoder.

https://ibb.co/stRFDcX
 
Last edited:
The line is as in the picture, each conveyor is independent and each conveyor is required to have only one pallet. However, if there is a pallet left between the sensors, how can I solve this situation? Also, conveyors are driven by asynchronous motors, so there is no encoder.

https://ibb.co/stRFDcX

If the power is lost and then restored, is it possible to just have the conveyors run for a predetermined time at startup as an "initialize" phase? Only the conveyors where the sensor is not tripped to run on startup for predetermined time?
 
Program each conveyor as a separate unit.
Each one asks questions.
Do I have a pallet on my sensor. No = do nothing
Yes = is there a pallet on the sensor on the conveyor in front or is the conveyor motor in front running. Yes = do nothing
No = run the conveyor in front until sensor hit and run this conveyor until pallet is off sensor.
Program each conveyor separately like that with an overrun timer for false triggers and in the event of power off, run all for the least time it takes a pallet to get from the back of the conveyor to the sensor.
You'll find that they sort themselves out as soon as sensors are hit.
 
How can I use the timer for false triggers. Also, in case of power failure, I am not asked to run idle, how can I solve this?


Don't bother with that right now, just do what @Ronnie Sullivan said about each conveyor asking questions, and the answers to those questions determining whether each conveyor should be running on each scan.

Because until you come up with how you read the inputs, store the information, ask the questions and store the answers, and control the outputs, there is no way to know how to do the timers.

This is one aspect of an agile approach: define and solve a small piece of the problem first; what you learn from doing that will affect how you solve the other pieces.

For example, if I understand your process correctly, you will be running conveyor N from the time the previous (upstream) conveyor N-1 transfers a pallet until the sensor N detects that the pallet has reached the end of conveyor N. You will probably store the fact that a pallet is on conveyor N by putting a "pallet present" value into some tag or variable or register, and you will put a "no pallet present" value into that tag when the pallet leaves conveyor N. So the overrun timer, for conveyor N, will start when that tag's value changes to the "pallet present" value, and either the timer will reset if/when the pallet reaches sensor N normally before the timer expires/completes, or the timer will expire while sensor N has not detected a pallet, which indicates that a pallet did not arrive a sensor N as expected.

However, this means there are at least several states for a conveyor: no pallet; pallet present and not at sensor but not yet late to sensor; pallet present and late to sensor; pallet present and at sensor. How you store those multiple states will determine how the overrun timer will work, and how you store those states may change as you develop the program, and there may even be new states that you have to detect and store.
 

Similar Topics

Hi guys, I am facing problem on layer palleatizer machine.my problem is I can not change the pattern. it is running by present pattern.There is...
Replies
1
Views
1,483
Hi guys, I am facing problem on layer palleatizer machine.my problem is I can not change the pattern. it is running by present pattern.There is...
Replies
0
Views
1,426
I'm having some difficulty with the Handshake between the PLC and the Fanuc Palletizing Robot (M410ic/185 with a R30iB Plus). DO32 turns on and...
Replies
2
Views
2,088
Hello! I'm looking for a sample program used for a old automatic pallet wrapper. The control box is a complete mess, and I would like to pull out...
Replies
9
Views
3,958
I am fairly new in using a sequencer in RSlogix. I would like to use one on a packing line to transition a pallet through a strapper putting three...
Replies
5
Views
2,269
Back
Top Bottom