Need help w/ Conveyor Tracking Logix (Studio5000)

Join Date
Oct 2019
Location
NC
Posts
6
This is my first post on PLCS.net. It seems like most of the topics are hardware based issues, but I am looking someone whom is willing to help me figure out a logic problem. I will try to describe my issue as best I can. I am using Rockwell Studio5000 v32. I thank you all in advance for your time.



I work at a plywood sawmill. In this mill we have two dyers that look like really big versions of those conveyor pizza ovens you see at some of the fast-food pizza place. These dryers constantly spit out a 3-sheet row of veneer at a time, onto a conveyor. The conveyor runs into a machine that stacks the veneer.


Recently, our plant manager has decided that he wants both of these dryers to feed the same stacking machine, but separated based on the dryer origin. This is to cut down on space and manpower.


To do this, he has had an overhead conveyor installed that merges the 3-sheet group of veneer from Dryer A, into the gaps on the conveyor between the 3-sheet grouping of the veneer coming out of dryer B. So after the merge you end up with the grouping like this


A-A-A, B-B-B, A-A-A, B-B-B, A-A-A..........and so on.


So in order to keep the two groupings separated, I need to figure out a way to track the difference in product. I have done this by simulating a group. Once the leading edge of the veneer in group A hits a limit switch before the merge point, I simulate a 3-sheet window, and load it into a FIFO.


On down the conveyor, at the point where the veneer hits a moisture meter for sorting, the leading edge of the 3-sheet group of veneer hits a limit switch at the infeed of the moisture meter. The switch triggers the unload my FIFO info and tell the moisture meter "these 3-sheets from dryer A, these from dryer B". I have confidence that this method would work under normal conditions.



HOWEVER, between the merge point and the moisture meter there is a person that occasionally pulls defected veneer into buggy. Since I am tracking the veneer by groups of 3, it does not matter if the employee pulls of the 2nd or 3rd sheet of veneer, but if he pulls the fist sheet, it will affect the point where the switch is made at the moisture meter in feed. This is where I am stuck.


I keep racking my brain of a better way to track this veneer, but so far, nothing. Please help.
 
does every single sheet hit the limit switch?
Is there slippage between the conveyor and the product?
When a defect is pulled, is there a gap left in its place?
Can you post pictures or a video of the equipment?

If there is minimal slippage, you might be able to base your tracking on time of travel (distance). If the speed varies, using an encoder is ideal, but you may be able to compute the distance traveled if the PLC has a reasonably accurate value for rate of travel. If the slippage can exceed the length of about 1/2 a sheet length then that idea is shot down.
 
Last edited:
does every single sheet hit the limit switch?
Is there slippage between the conveyor and the product?
When a defect is pulled, is there a gap left in its place?
Can you post pictures or a video of the equipment?

If there is minimal slippage, you might be able to base your tracking on time of travel (distance). If the speed varies, using an encoder is ideal, but you may be able to compute the distance traveled if the PLC has a reasonably accurate value for rate of travel. If the slippage can exceed the length of about 1/2 a sheet length then that idea is shot down.






There is slippage and overlap of the sheets occasionally. When a sheet is pulled, it leaves a gap in the sequence.


Here is a link to a video of the process. You will see the overhead conveyor installed, but not yet running. Here's a download link to the video:



https://www.icloud.com/attachment/?...lckWGGJYryfm1_Awcg&f=IMG_0513.MOV&sz=91054962


Our plant manager is trying to mimic the process of our sister plant. But they don't need a person pulling veneer out of the sequence like we do. I have not been able to successfully explain the difference this is, and telling him "No" didn't work. :ROFLMAO:
 
if you are running groups of 3 what happens to the group if the operator removes 1 sheet
it looks like you are just left with a short group is that acceptable.
why not pull the sheets before the merge then merge in groups of 3 whit all 3 sheets good
it's really hard to keep the groups if somebody is pulling sheets without replacing them

instead of a FIFO just use a file shift its faster and you don't have to unload it like you do with a FIFO
 
If it's a manual process to take them out, and you have no way of automatically detecting when it happens, then I suppose you'll need them to manually let your controller know. Maybe a PB with a long debounce that they press whenever they remove one? Doesn't help if they forget, though.
 
if you are running groups of 3 what happens to the group if the operator removes 1 sheet
it looks like you are just left with a short group is that acceptable.
why not pull the sheets before the merge then merge in groups of 3 whit all 3 sheets good
it's really hard to keep the groups if somebody is pulling sheets without replacing them

instead of a FIFO just use a file shift its faster and you don't have to unload it like you do with a FIFO


Since I am grouping them in groups of 3, the issue arises when the operator removes the first sheet. Since the leading edge of the first sheet is what triggers the unload FIFO command, removing that sheet would skew the 3-sheet window.


Alternatively I could track every sheet individually, but a similar issue would arise from the operator removing a sheet. The program has no way to recognize that a sheet has been removed out of the "array".


Unfortunately there is no way to have the operator pull the sheets before the merge point, because one merging conveyors is overhead (like 7 foot up).


I do have an alternative, but it consists of installing a second moisture meter on the out feed of the dryer. Since I am only intermediate at programming, I wanted to reach out to this knowledgebase to see if anyone had a particular method or technique I do not know about. I am self taught, so I definitely don't know it all.:oops:
 
I could not get your video download to complete. It stalled out at about 5MB or less each of the 3 times I tried.

I have done some elaborate tracking, and some simple tracking.

The more elaborate method was required when I was tracking tires on a conveyor that were dropped from above it into gaps from 8 drop points along its length. I had an encoder on the tail end of the long belt and the slippage was minimal, so I created a data table that acted as a "map", and used the encoder to calculate where the end of the belt was at any given point in time with a rollover point set to a little higher than the length of the belt (210 feet).

I divided the belt into foot long sections (because that was much smaller than the size of any tire), each represented by an integer in my "map". Each drop point had an offset and a discrete input to detect when the drop occurred. When a drop occurred, I would add the offset for the drop point to the (rounded) number of feet from the encoder. If it was greater than the max (210'), I would subtract that from it. I would then stick an integer representing the tire code into the data table at that calculated index point. I also would remove product from the file at the location where the end of belt value was pointing and stuff it into a FIFO for the next section of conveyor.

The code for all of this was very simple and no data had to be moved, there was just the moving pointer, and some indirect addressing to determine the drop locations and the area to look at as the end of the belt to remove data. It was a little bit hard to explain to others, so I made an HMI animated graphic to display the data map and show the tires appearing and moving along on the screen.

That method was super reliable as long as the encoder was working and even allowed for varying belt speeds and reversals (sometimes they would manually reverse it to clear a jam).

I didn't have to worry about things getting out of order, since after a ball-up, sure, that data would get jacked up, but the tires that were still within a foot of where they were dropped were still in the right place in the PLC data file and would end up sent to the right sections downstream.
 
Our plant manager is trying to mimic the process of our sister plant. But they don't need a person pulling veneer out of the sequence like we do. I have not been able to successfully explain the difference this is, and telling him "No" didn't work. :ROFLMAO:

So how does the sister plant make it work? Do they index the sheets, is there a vision system? How do they reject product?
 
Even though there seems to slippage of the sheets you may be able to get a close enough estimate of when the first sheet is supposed to show up (being they are 4' wide) and if it doesn't then assume it was pulled.
 
What kind of limit switch is this? Could your operator trick the system by taking out the first sheet, then hitting the limit switch himself/herself?
 
I haven't looked at your .MOV.
Your FIFO should be based on millimeters of travel not on product count. What if they pull all three?
An encoder on an undriven roller is worth its weight if you don't have one already. Prox on a metal flag of an undriven roller even.
Obviously with slip you still need the proxes to index, or think about your "within X mm of.." logic.
 
I figured it out, finally. I ended up simulating the entire conveyor system with a single array containing 136 integers. Each DINT in my array represents a 6 inch section of conveyor.



I have a timer that runs for the amount of time it takes the conveyor to travel that 6 inch section. Each time the timer is DONE, it takes a "sample" of what product is currently coming and loads that designation into my FIFO statement.


I set the FIFO array to unload automatically as the array becomes full. Since my array is broken up in segments representing length of conveyor, I can trust that the product designation being unloaded in the program is the same is what is on the physical conveyor.


I also have a Photoeye at the end of this conveyor section. If someone on the line pulls a sheet of veneer off of the conveyor, it does not make this photoeye, and disregards whatever is coming out of the array at that point.


I appreciate all of the help you guys offered me. It helped to put my brain on track to figuring out the solution. (y)
 

Similar Topics

any input would be appreciated! we had one over head conveyor system, we need to identify every moving mustache position at loader and unloader to...
Replies
7
Views
2,091
Dear All, Basically there are 8 conveyors as shown. Each conveyor will be controlled by a Siemens Micromaster 420 Drive. And each conveyors...
Replies
6
Views
7,926
So i've been at this for a long while, i have Citect Scada 2018, i have full access to everything but i can't seem to find any option or...
Replies
0
Views
50
I'm fairly new to Rockwell software, I've had some basic training in the past but nothing too advanced. My company and I use Reliable products for...
Replies
11
Views
347
Hi all, I am having issues accessing my Cimplicity software - the site code changed after re-install and I am no longer able to attain a new key...
Replies
10
Views
173
Back
Top Bottom