Beginner needing some help

rankhornjp

Member
Join Date
Dec 2008
Location
Georgia
Posts
241
Hey, my name is James and I really like this website, it has been a great tool in learning PLCs.

The problem I have is a school project, I'm not looking for someone to give me the answer, just point me in the right direction. I have about 12 hrs of school time on this project and probably about as much in research on the internet.

My project is a conveyor belt that runs from right-to-left, it has two photo eyes/beams (NC) on the right side and three air operated(single actuated) cylinders on the left end. The cylinders are used to push pieces (short cylinder pieces of different diameters) into bins. The idea is to separate the pieces by size. I'm using the first photo eye to measure the pieces using a retention timer. The ACC of the RTO is loaded into a FIFO, the second photo eye unloads the FIFO and compares the value using ">" "<" "=" instructions, to determine which of 3 different timers to activate. The timers, time the distance between the second photo eye and the proper cylinder that pushes the part into the right bin. Bin 1 has the shortest time, bin 3 the longest. The timer's DN bit activates the cylinder and pushes the part into the bin.

So far this works great as long as you place the parts on the belt without 2 same sized pieces being in line next to each other. If you do that, it only pushes the first piece and misses the second (cylinder doesn't activate at all for the second one). I'm trying to figure out how to time the second piece if its the same size as the first. The first piece is activating the timer, so the second piece isn't being timed.

I hope I've explained it well enough. If someone could point me in the right direction that would be great. If you are relucant because it's a school project, I understand.

Thank you
 
What happens if you just put one piece on the conveyor, wait for it to be pushed, grab it out of the bin and then put it back on the conveyor ?
 
Hi James,

School Project, wow! Out of curiosity what age are we talking here? Wish we had stuff like this when I was at school.

What PLC's and software are you using?
 
Im in an industrial electric program at a technical college. I'm using a Mircologix 1000 with RSlinks 500. We also have some SLC 5 and SLC 500.

If you go to my myspace: www.myspace.com/thunder31634 and click on videos, you can see a couple of other projects i have already completed
 
Last edited:
This might get a little complicated, but....

-Make yourself 3 FIFO structures for each size (3 arrays of times/ints/whatever your timers use).
-Make a timer to time between objects, more importantly same sized objects.
-Everytime you get an object pass through your sensor station put a time in your corresponding size FIFO structure.
-If it's the first object of that type, the stored value will be the full conveyor-pusher time.
-If it's a same sized object as the one before it then every following value will be the difference measured by your new timer.
-Operate the pushers according to these 3 FIFO structures.
-You'll probably need a 4th FIFO register to tell wich Size FIFO structure is next in line.


The only thing that should limit you now is the physical size of your FIFO structures. I'm sure there's an easier way to do this, but that's what came to my mind. :unsure: Anyway this is probably one of many reasons we try to steer clear of timers/metering timers in Industry. They're not reliable and often make things far more complex than they need to be. You'll spend a lot less resources simply adding another sensor or two into the system than trying to program your way out of the problem...

~Jeev.
 
Last edited:
You'll spend a lot less resources simply adding another sensor or two into the system than trying to program your way out of the problem...

~Jeev.


I agree, if it was up to me I would have a sensor next to each cylinder to detect when an object was in front of it. That would make this much easier. However, I have to work with what I got. Thanks for the idea.
 
I agree, if it was up to me I would have a sensor next to each cylinder to detect when an object was in front of it. That would make this much easier. However, I have to work with what I got. Thanks for the idea.

You're welcome. I hope your PLC has the resources to pull it off =)

Good Luck,
Jeev.
 
rankhornjp,

L D[AR2,P#0.0] asked this question for a reason. Can you figure out why?

What happens if you just put one piece on the conveyor, wait for it to be pushed, grab it out of the bin and then put it back on the conveyor ?

So far this works great as long as you place the parts on the belt without 2 same sized pieces being in line next to each other. If you do that, it only pushes the first piece and misses the second (cylinder doesn't activate at all for the second one). I'm trying to figure out how to time the second piece if its the same size as the first. The first piece is activating the timer, so the second piece isn't being timed.

Thank you

You do not say, but this implies that if you use two different sizes it works correctly. Is this correct?
 
I don't know, but can't you solve this easy if you would know what the maximum of boxes on the belt is ?

Maybe something like this
Give the boxes a number 1-2-3
Make some database in siemens DB
Lets say Short box = nr 1
Middle box = nr 2
Big box is nr 3

Move the numbers in the DB when they pass the sensor
shift the numbers in your DB according to the time they are in there
Compaire 3 defined places in the DB with a rung in your program if the numbers are equal kick the box of the belt

Maybe this helps you don't know if it is what you are looking
 
rankhornjp,

L D[AR2,P#0.0] asked this question for a reason. Can you figure out why?

Not sure, will have to try to figure that out tomorrow when I get to school.

You do not say, but this implies that if you use two different sizes it works correctly. Is this correct?

Yes that is correct. The two different sizes use two seperate timers and different cylinder to kick them off the belt. It only has a conflict when the pieces are the same size back-to-back. I can also place one piece on it and wait for it to kick it off, then place another piece, of the same size, on it and it will work right.
 
Not sure, will have to try to figure that out tomorrow when I get to school.

............

Yes that is correct. The two different sizes use two seperate timers and different cylinder to kick them off the belt. It only has a conflict when the pieces are the same size back-to-back. I can also place one piece on it and wait for it to kick it off, then place another piece, of the same size, on it and it will work right.

It looks like you know the problem he tried to point out, but you don't know thats the answer he's looking for.

Why does it work wih different sizes?
Why doesn't it work with same sizes?
Whats the difference between the 2 situations?
You know this.
Once you know this, you can start thinking about a solution.
Once you know this, you know a way that doesn't work.
Think, what do you think would it require to solve this problem?
You already know this.
 
Greetings James ...

I can also place one piece on it and wait for it to kick it off, then place another piece, of the same size, on it and it will work right.

think about what you just said ... then re-read post #3 from my distinguished colleague harryting ... actually I had all of the following typed up yesterday - but didn’t post it after harryting made his observation ... big question: are you certain that a FIFO (data storage) idea is the best way to go? ...

SPOILER ALERT! ... STOP READING HERE UNLESS YOU WANT SOME "LESS THAN SUBTLE" HINTS ... what follows isn't a dead giveaway - but it might be more help than you really want ...

here’s another way to think about it assuming (gosh I hate that word) that you only have a reasonable number of parts on the line at any one point in time ...

instead of a separate timer for each SIZE, maybe you need a separate timer for each PIECE on the line ... with your current arrangement, you seem to be using a “nailed down” (constant value) preset for each of your three timers ... (in other words, three different values - but none of the timers’ preset values ever get changed - right?) ...

if that’s true, then your problem might hinge upon this: if the (one and only) “big piece” timer is already occupied with timing the first “big piece” in a series, then the same timer can’t very well be used to time the second “big piece” on the belt too ...

(your own statement that I quoted above should help you see your underlying problem) ...

maybe instead you could have the processor “load/move” the correct preset value (based on size) into the “next available” timer in the sequence ... just make sure you have enough timers available to handle all of the pieces that MIGHT be present on the line ...

so maybe:

(1) a new piece comes into the system ...

(2) determine the size - and corresponding amount of “travel” time ...

(3) select the next “free available” timer ...

(4) load the proper time setting the “free available” timer’s preset ...

and so on ...

if this doesn’t make sense, then I’m probably just missing something about how your system is set up ... although you’ve done a pretty good job of explaining it ... if I’ve misunderstood something, maybe you could post a picture of the system ... another idea is to post the program that you’ve already written ... then again, some other forum member may actually understand what you’re saying ... I’m not the brightest bulb on the tree around here ...

and don’t worry ... actually we LOVE school projects around here - just as long as the students are willing to put their own effort into the job ... you’re obviously willing to do that ...

big picture: sometimes it helps when designing projects to think (at the beginning) in terms of “people control” as opposed to “PLC control” ...

in other words ...

pretend that the “machinery” is there and ready to go - but you can’t afford an automatic controller ... but ... you DO have an unlimited number of “people” available to do the control for you ...

so maybe:

(1) when a new piece comes into the system, Person A determines the size - and corresponding amount of “travel” time ...

question: what would Person A need to know (information from the field) in order to perform that operation? ... from your post, I think that you’ve already got this part nailed down ...

(2) summon up your next available worker ... example: Person B ... tell Person B how long you want him to “track time” before he “opens the gate” ...

(3) another new piece comes into the system, Person A determines the size - and corresponding amount of “travel” time ...

(4) summon up your next available worker ... example: Person C ... tell Person C how long you want him to “track time” before he “opens the gate” ...

(5) another new piece comes into the system, Person A determines the size - and corresponding amount of “travel” time ...

(6) summon up your next available worker ... example: Person D ... tell Person D how long you want him to “track time” before he “opens the gate” ...

(are you starting to see a pattern here?) ...

(7) eventually Person A’s time elapses - and so he opens the gate ... then Person A is no longer occupied - so he becomes available for a fresh new assignment when a new piece enters the system ...

so ... how many pieces can physically be placed on the belt at any one point in time? ... whatever that number is, then that’s the maximum number of “people” you’d need to keep track of time - and know when to open the gate next ...

I apologize in advance if I’ve misunderstood your project ... feel free to ignore this if I have ...

hope this helps ... welcome to the forum ...
 

Similar Topics

Hey Guys, This is my first post on the forum. I was reading around for a bit today and decided Instead of trying to dig up everything, maybe...
Replies
4
Views
2,861
Hi all, Writng a FB in ST on Beckhoff TC for a pulser which turns on and off on a cycle, is paused by turning bControlInput to FALSE, but resumes...
Replies
6
Views
248
So to start off: I have no experience with PLC's, but I'm good at figuring stuff out, but I need some help to know if my PLC is just dead in the...
Replies
2
Views
114
Dear all, First of all thanks for letting me join this forum. I just need some help in one of my programming exercises. Being a beginner...
Replies
6
Views
608
I am trying to connect to SLC5/03 using an FTDI usb to rs232 with female to female converter at 1 end... however I can not connect to it ... the...
Replies
8
Views
1,269
Back
Top Bottom