Pallets on a conveyor

mattrobbins

Member
Join Date
Aug 2007
Location
Michigan
Posts
14
I am writing the logic for a conveyor with xx amounts of pallets on it. There will be 9 assembly stations along this line. I have done a lot of stand alone automation and rotary index tables, but not a conveyor. Is it more of standard to pass a bit that allows the next station to run (or not run if the part failed) or to use a DINT with bit registering? 6 of one, half a dozen of the other. At least with passing a bit it will be named.
 
What you mention sounds more like an assembly line with a conveyor running pallets along several stations. If that is the case Do you have RFtags on the pallets?, Are they automatic or Manual Stations?, does not sound like a big problem but you must have the right hardware to work with.
 
mattrobbins said:
I did not think this was -that- difficult of a question..... maybe so?

The difficulty is, "you are writing the logic for a conveyor".

That means you know what PLC you are using, but we don't.

I read your description and think you are probably talking about a shift register, possibly using a FIFO or similar instruction.

More details, will get you more detailed answers.
 
Conveyor system with pallets

I will be using a CompactLogixis using an -L43 processor. I have 9 station that will be DeviceNet slaves. I really like the FIFO, but it does not seem to fit since each station running (or not) only be running the part that is coming into it.

I am envisioning having a names DINT for each station that will be used to allow the other station ti run. This is not the cleanest, but it does really help the end user out by allowing them them to see the bits that are on in order to see if that station will run or not.

Bit shifting, in my experience, has confused the end technition because they do not understand the code. I really try to get the logic to us the.

Please let me know.
 
I would create a table of UDT's, the UDT to contain pallet status etc, the table longer than expected max pallets.

Each pallet enters and is given an ID, that id is shifted from position to position. The ID would correspond to one of the UDT's in the table (i.e. ID 6 = 6th table entry).

After each move, the ID is read, the UDT recovered and the status recovered, after sequence the status is updated.

The ID's allocated would reach the last, then start at 1 again.

Depends really on what info you want to keep on each pallet.
 
I may be miseading the OP but it sounds to me like he isn't trying to track pallet information. He just wants to handle go/no go conditions between conveyors. Additionally he wants to be able to compile that go/no go status. If this is not the case my response won't make much sense.

Assuming the conveyors are in a series, each conveyor is only concerned with the status of the conveyor immediately following it. If that conveyor can take product then the conveyor immediately upstream can deliver product. I wold suggest each conveyor produce a 'ready' bit that is read by the -L43. The L43 will compile those status bits into a single word with the appropriate status in the appropriate bit location. So Conveyor 1's status would be in bit 1, conveyor 2's in bit 2, etc. Each conveyor would examine the ready bit from the word immediately upstream of itself.

Keith
 
One question. Do you need to verify the previous operation in order to permorm or not the actual operation I mean check operation 1 at Operation 2, i case operation 1 was OK then you will make your pallet OK to build the Operation 2, after operation 2 is complete you will set a bit for operation 2 as OK, this one will be checked by operation 3 and so along the line.
Information could be moved with a FIFO and a pointer for each pallet wich will have an array to keep the information for all the operations, this is quite common for assembly lines so I hope this could help.
Mario
 
Some ideas

I have make programs for conveyor systems with “data on pallets” and I used an INT word to transfer the code.
The code was generated form pushbuttons at operator panels or from signals from other machinery.
Every pallet position in the system was equal to a "register word". When a pallet was moved from one position to a new position, the code was also moved in the register. On long conveyors with space for many pallets and no outlet, I used FIFO register to handle the code transfer on the conveyor. The code was used to decide the direction for pallets, unloading positions from transfer cars and start up of stations.

In your system, you can use the code to decide the next station ( 7 = pallet to station 7 ) and to identifier the pallets with failed parts ( 102 = failed pallet from station 2 ).

So this was some ideas to your systems, and a hint is also to make the code list before programming and make it for expansion, so you don’t have to change program after you have found an missing code.
 
I would create an array of UDTs called Pallet_Data_Record[0] to Pallet_Data_Record[xx]. You can read the pallet number at each station. The pallet numbers correspond to the array offset. Pallet number 10 is Pallet_Data_Record[10]. The pallet data records can contain all sorts of data including BOM(bill of materials) and SPC data.

At the beginning of the assembly line load the BOM(if needed) into the pallet that is present. When that pallet number is read at a station you will examine the contents of the pallet data record to determine what to do. When that pallet is complete, write a code into the pallet data record. Example: At station 100 write 100 for a operation complete and something like 110 for a certain type of failure. 111 for another type of failure, etc. This way if you need to do statistics or display the faults to operators later on it's built in. When this pallet gets to station 200 you will examine it's pallet data record to make sure it has a 100 in it. If it has 100 you work on it, otherwise release the pallet. This way there is no shifting of data needed. If you need to add a pallet no problem and the pallets can be in any order. Don't be afraid to use lots of data. It doesn't have to be that much more work and when future issues arise you will already have a powerful system in place. This can work well with database systems also. Load the BOM from a db at the beginning of the line and upload pallet data records to the db at the end.
 
ONe Pallet system we had in the plant here would use a sequence label (Barcode that registers product number) as we ran over 300 products in pallets. This in turn used a barcode scanner, triggered a photoeye to start counts and activate the scanner. coupled with a prox switch to measure distance travelled it would then sort the product to 8 different lanes with one lane for any bad reads on the barcode scanner. This also had a PC with Total Control software to allow the supervisor or leadhand to select what lanes he wanted to product to go down. This system used FIFO's to keep track of each product so I guess the questions we need to know is as follows.

1) Are you tranporting multiple pruducts
 
Last edited:

Similar Topics

Hello Everyone !! Thanks for taking your time out to read the post. Aim: To automate the counting process. 1. I have attached the example of a...
Replies
26
Views
7,166
Programming my first conveyer and what I have to work with is a conveyer with one motor and four sensors one sensor where the pallet gets loaded...
Replies
16
Views
7,507
Does anyone have sample logic with conveyors that start and stop according to product on the line?
Replies
1
Views
90
Good Afternoon, I’m limited with a skilled maintenance staff to design and build Load Cell , Rollers , etc. for conveyor sections . Do...
Replies
11
Views
651
Hello everyone, I need to create a belt conveyor with an AFM60 encoder on board that detects the position of the glass (too small to be detected...
Replies
5
Views
699
Back
Top Bottom