RSLogix 500 - Unit tracking and multiple unit load/unload

mwesley12

I got the upgrade and looked at your program. It's no where near a complete file. When you get a chance go online with plc and UPLOAD program. While online look under the Project tree and find the icon named IO Configuration Double Click it and open file. You will see a button named Read IO Config. Use it to upload I/O Configuration of Processor. Then Save the Program and Post it. I spent some more time on the program I posted earlier and added The Release Logic And Spacing. If you post a complete Program We can work out a solution.
 
I apologize if I am being repetitive/ignorant. So I can follow, how exactly does the PLC / code track these numbers? I understand your concepts, but how does that translate into actual programmable "tracking" instructions that the system can read and react to what is occurring in the table? How do you write a positive or negative number? Would these all be "N7" bits?

You are tracking N7 integers
Eg
Zone 0 = N7:100 - infeed
Zone 1 = N7:101 - Infeed Transfer to station 01,02 - PE Blocked as pallet passes over lowered Infeed Stop Paddle
Zone 2 = N7:102 - station 01,02
Zone 3 = N7:103 - station 01,02 Transfer to station 03,04 - Station 01,02 PE is Blocked AND Stop Paddle is down
Zone 4 = N7:104 - station 03,04

The PLC Code uses MOV to change the number in each zone
The PLC code them monitors the Ntables and triggers the action if required
A Pallet can only exist in one zone at a time - so when a tracking transfer occurs the old value is reset to 0 (no pallet in this zone)

eg system requests a load into station 04
  1. The Infeed uses MOV to set N7:100 to a value of 04
    Main conveyor is always running
  2. PLC code lowers the infeed Stop as a value is in N7:100 or N7:101
    • Only if N7:101 and N7:102 are 0 - downstream empty
  3. Track from Zone 0 into Zone 1 - This Transfers 04 into N7:101
    • PLC code performs an OSR MOV N7:100, N7:101
    • as the stop is lowered (OSR)
    • also resets N7:100 to 0 on the same OSR
  4. Track from Zone 1 to Zone 2 - occurs When the pallet clears the infeed PX
    • MOV N7:101, N7:102 - now N7:102 = 04
    • MOV 0, N7:101 - Pallet clear of Zone 1
    • Infeed Stop waits a short time so the pallet is clear of the paddle - then raises the stop
  5. Station 01,02 inspects the value in N7:102 looking for a 01 or 02
    • Value is Not for this Station
    • IF N7:103 and N7:104 are both 0 (no pallet downstream) lowers Station 01,02 Stop Paddle
  6. Track from Zone 2 to Zone 3 - occurs When the pallet stop lowers and the Station 01,02 PX is Blocked
    • MOV N7:102, N7:103 - now N7:103 has the value 04
    • MOV 0, N7:102 - Pallet clear of Zone 2
    • As N7:103 is now <> 0 the Stop must be lowered
  7. Track from Zone 3 to Zone 4 - occurs When the pallet clears Station 01,02 PX
    • MOV N7:103, N7:104 - now N7:104 = 04
    • MOV 0, N7:103 - Pallet clear of Zone 3
    • Station 01,02 waits a short time so the pallet is clear of the paddle - then raises the stop
  8. Station 03,04 inspects the value in N7:104 looking for a 03 or 04
    • Value is for this Station
    • Wait until the PX is blocked and the pallet is against the stop
    • Perform the Spur Load into station 04

A Unload from station 02 would wait until N7:101 & N7:102 & N7:103 are all 0
  • Zones 1,2,3 are empty
  • Move -02 into N7:102 - to claim the location so the upstream station does not release a pallet.
  • Perform the Spur Unload
  • As the number in N7:101 is NOT 01 or 02 this pallet will be passed downstream
  • All following stations will also pass this pallet onto the end of the conveyor


mwesely12 Has this confused you or helped?

[Edit] Advanced - you can count the negative numbers in N7:100 through to N7:1xx to work out the number of Unload Pallets on the conveyor (you can Cheat using the -ve bit eg XIC N7:102/15)
 
Last edited:
Doug-P: One thing not addressed yet is the drive. This system may have been spec'd to only physically handle one load at a time. If you put several loads out there and then start/stop a few times to accomodate load/unload actions (I'm assuming an across-the-line starter) stuff could break.

The main conveyor is split into two separate tracks (est. 25' in length) and each is powered by a single gearmotor pulling the conveyor. (The split is fairly close to the middle of the stations, so each drive is servicing the same number of stations.) We use the same setup around the rest of the line and there are many sections where a drive is handling 5-6 units at a time.

However, there are not any sections where we turn the drive off and on during operation so I am not sure how that would effect operation. When units are stopped in a particular station, the conveyor chain continues to move below the unit.


brucechase & PeterW Thank you for your advice!


cwal61: I Have Attached A Spreadsheet To Show How I Made The Blocked And Clear Timer Logic. This Method Comes In Handy When Programming Repeative Rungs With Different I/O

That is a very slick time saver and will definitely be useful going forward! Thank you! It makes me wonder how many other tricks like this are out there.


Lancie1: I think now that there are two basic ways to handle your goal to increase the number of units processed.

It sounds like you would recommend adding the tracking capability by tracking using the two registers. If this would be just as effective, I would prefer this method over having to install additional hardware.



PeterW: If your not careful...
Lancie1: I don't think that matters to the overall goal of increasing flow.

I am not concerned about the work balance between stations. If some stations do not receive many units that is not a problem. But it is important that units do not get stuck and never unload. We process many different variations of units and typically run them in 50 piece batches. It would be important that all units from a particular batch are unloaded if possible (and take priority) before unloading units from the next batch.

I think the operators will be able to work around this, by delaying releasing (hitting the release push button) units from the following batch until all units from the first batch are unloaded.


cwal61: When you get a chance go online with plc and UPLOAD program.

Thank you for the program and all the time you spent working on it! I am about to start working my way through it. I will upload and configure it as soon as possible. I am hoping I will be able to get this completed and reposted this afternoon!


MichaelG: The PLC Code uses MOV to change the number in each zone... The PLC code them monitors the Ntables and triggers the action if required

This helps a lot! I feel like I am starting to understand all of this now.

I do have another question. In Step 5, you said the Stations 01/02 inspect the N7:102. Is this something that will occur every scan? Or is it only triggered if there is a unit present at its lift transfer?
 
It sounds like you would recommend adding the tracking capability by tracking using the two registers. If this would be just as effective, I would prefer this method over having to install additional hardware.
Mike, yes, I think now to gain more through-put, and also allow all units to eventually be unloaded, your program only needs to keep up with which workstations are ready to load, and which are ready to unload. Sort those sets of numbers from high to low (I have a RSLogix sorting routines if you need one). Here is where you have a choice to make: SORT, or not? If you don't sort, the statin unload operation will be in the first-in, first-out order, and this will allow even wear on all stations. If you sort, the rate of production should be somewhat faster, but the higher-numbered stations will get more use.

Then you try to do an unload-load at the same time, if there are at least one workstation in each category. If not, then you look to see if you can do a single unload withoout load. If not, then you look to see if you can do a single load without unload. Then repeat the routine.

You know, you could actually use a FIFO instruction to keep the list of worksations ready to unload. Each time a unit was added to a workstion, the FIFO would be triggered and add a new number. Then the SORT routine would be triggered and sort the internal FIFO values from low to high, so the the FIFO Unload Destination is always the highest station waiting to unload. The advantage of this is there will be a higher probability of an empty workstation with a lower number, therefore allowing two units on the conveyor at the same time (one exiting and one entering). This method will also cause the higher workstations to have slightly higher use than the lower numbers. Eventually the FIFO will work down to the low numbers and all stations will get serviced (with some unloads and loads unavoidably being done one-at-a-time). For example, at first start-up with all workstations empty, all Loads will be done singley, but the PLC routine should cycle so fast that there will be no delays, loading first stations 24, then 23, then 22, and so on until all are working.

You will have to handle the problem of the Left and Right or Odd and Even numbered workstations on the same transfer units. For example, if Station 24 is ready to Unload, and Station 23 is ready to Load, you would not want that to happen at the same time. So you may need to set up your "Station to be Unloaded Next" so that it increments to the next number if the next empty station happens to be on the same transfer unit as the "Station to be Unloaded Next". Again, those numbers can also be inserted into a second FIFO (and sorted low to high), so that the next number can easily be moved to "Station to be Loaded Next" by triggering the FFU.
 
Last edited:
This helps a lot! I feel like I am starting to understand all of this now.

I do have another question. In Step 5, you said the Stations 01/02 inspect the N7:102. Is this something that will occur every scan? Or is it only triggered if there is a unit present at its lift transfer?

Up to you - I would believe the tracking (it has been commissioned), so would look at the value all the time

This would mean that as a pallet enters zone 2 - has not arrived at the PX or stop the decision is made to raise or lower the stop. Implies faster flow along the conveyor if the length of Zone 2 is greater than about 1.5 pallets


Note: All stoppers are raised if there is nothing in the zone - It would be very obvious if a tracking PX has failed to detect a pallet - Miss-match between pallet detected location and tracking
 
cwal61: When you get a chance go online with plc and UPLOAD program.

I was able to upload the I/O Configuration to the program and it is attached. I have also attached the complete program we are using. I did have to remove many of the other ladders to keep the file size under the upload limit.

I would only ask that you do not add anything to the RIO Scanners.

Thank you again and I appreciate all of your help! It was very interesting working through your program. The programming style was very different from what we currently have, but the descriptions and comments made it very easy to follow along and pick up!
 
Mike, yes, I think now to gain more through-put, and also allow all units to eventually be unloaded, your program only needs to keep up with which workstations are ready to load, and which are ready to unload. Sort those sets of numbers from high to low (I have a RSLogix sorting routines if you need one). Here is where you have a choice to make: SORT, or not? If you don't sort, the statin unload operation will be in the first-in, first-out order, and this will allow even wear on all stations. If you sort, the rate of production should be somewhat faster, but the higher-numbered stations will get more use.

Sorry I do not see the rate of production being faster by sorting - how did you come to this conclusion?

Lancie1 - have another look at the tracking code I Posted in 47 This divides the conveyor up into logical smaller sections that are only a maximum of about 5 zones long, combined with a total of about 23/24 zones along the main conveyor - so you can track 4 (23/5) pallets in process that are unloading or loading (I believe that there could be even more)

If you SORT the FIFO then you will get the pallets out of finished order. I think that mwesely12 just wants station finished order as he is using batches.

Problem of Left/Right Odd/Even Workstations - If we load the stations in the following order 24, 21,20, 17,16, 13,12, 9,8, 5,4, 1, 23,22, 19,18, 15,14, 11,10, 7,6, 3,2 ( Zig Zag down the Station Pairs) then initially the finish times will follow the same path and will not clash. I do not what would happen over time with the variability of the times
 
Lancie1: I have a RSLogix sorting routines if you need one...SORT, or not?

I would be interested in seeing this if you are still willing to share. Sorting is another instruction that is new to me. Thank you!

When unloading, it will be important to use FIFO rather than sort. When an operator disconnects a unit from the machine and "releases" it, time becomes critical and the unit must be move on to the next process as quickly as possible.

When loading, it may be more beneficial to use a SORT routine so we can place preference on loading the high number stations first in attempt to hold the completed units as close to the next process as possible. I believe it would also slightly increase the opportunities of loading/unloading multiple units simultaneously.


Lancie1: You will have to handle the problem of the Left and Right or Odd and Even numbered workstations on the same transfer units.

This is a very good point. This combination occurs very often every day. Unless this somehow happenned simultaneously, I would think there would be a way to give the Unload priority and the Loading unit could be held up one transfer upstream.


MichaelG: This would mean that as a pallet enters zone 2 - has not arrived at the PX or stop the decision is made to raise or lower the stop. Implies faster flow along the conveyor if the length of Zone 2 is greater than about 1.5 pallets

I do believe there is at least 1.5x pallet length per zone. The reason I ask, is each time a pallet hits a stop, it adds approximately 1 to 1.5 second delay to the travel time and with our processes, each second is critical. The overall travel time through this system as it currently operates is very high and each unit only hits one pallet stop.

However, this overall time may not be as crucial if we are able to have multiple units traveling simultaneously.
 
mwesley12 you asked about this in one of your first post.

A more specific obstacle that I am trying to work around is enabling and tracking (2) exiting units. There are (2) possible queue spots that an exiting unit can travel to. I need to know if there is a unit in either of these queue spots and/or if there is one or two units currently exiting and enroute to fill these spots. If this is true, I need to prevent any other unit from exiting until there is an open queue.

Then You stated this in your last post.

When unloading, it will be important to use FIFO rather than sort. When an operator disconnects a unit from the machine and "releases" it, time becomes critical and the unit must be move on to the next process as quickly as possible.

Doesn't this puts all Responiblity on the Operator When To PUSH THE BUTTON. You can not program Around Human Error. If operator disconnects Load from Machine and Releases the unit and the program does not allow unit to Exit because of Downstream queue area. Does your Critical Time start when operator unhooks or when load leaves the station?
 
Last edited:
cwal61: Does your Critical Time start when operator unhooks or when load leaves the station?

There are andon lights that signal to the operator when the machine has completed its process. There are additional andon lights that act as a signal as to when there is an open queue spot downstream.

Example:
Red - Do not release/unhook any units
Yellow - Release/unhook one unit
Green - Release/unhook two units.

Time becomes critical once the machine has completed processing the unit, and the operator has pressed the release button and unhooked the unit.
 
TurpoUrpo: In what way is time critical? Is it critical as bottleneck or in some other way?

After the unit is processed by the machine in one of these 24 stations it must then be tested as quickly as possible by the next station downstream.
 
Bottleneck only? Is next station downstream faster than these 24 for now? can it get to the point where these 24 are faster than downstream, if it does in what way it would affect this "time critical"?

Or is it important for one part to get as fast as it can, even if it would result to slower combined speed of these 24 stations`?
 
I would be interested in seeing this if you are still willing to share. Sorting is another instruction that is new to me. Thank you!
...When loading, it may be more beneficial to use a SORT routine so we can place preference on loading the high number stations first in attempt to hold the completed units as close to the next process as possible.
Okay, I will dig out some old files, or search for old posts that have that same sort routine.
When an operator disconnects a unit from the machine and "releases" it, time becomes critical and the unit must be move on to the next process as quickly as possible.
Mike, Okay, the situation is different than I assumed. I thought the machine signaled when a unit was done, but I see now that the operator must intervene. That paints a different picture. Now your PLC cannot choose which unit (the closest to exit) to unload, but must wait on the operator.

If you SORT the FIFO then you will get the pallets out of finished order. I think that mwesely12 just wants station finished order as he is using batches.
With the new information about the operator intervention, the finished order won't work either. Unless something is changed, the PLC is going to have to wait on the operator "Release" button press.
 
Last edited:
The attached ZIPped file is the RSLogix500 number-sorting program. It uses indirect addressing.
 

Similar Topics

Hi Everyone, I am not proficient in RSLogix 500 so I have a question regarding the evaluation of N7:0 data as an input. So as I understand in...
Replies
1
Views
92
I have a little bit of experience with Allen-Bradley. I have a Micrologix 1500 (RSLogix 500) and a PanelView Plus 7 (FactoryTalk View Studio ME)...
Replies
3
Views
182
buen dia. tengo una falla al pasar los tags de mi plc SLC 5 0/4 a mi panel me aparece un error Problem writing value " " to item <tag name>...
Replies
1
Views
89
Will someone please convert this logic to pdf?
Replies
2
Views
133
Hello, Haven't been on in a while. I need to generate a bit level pdf of the I/O for RSLogix 500. I can generate a report but it just shows the...
Replies
1
Views
163
Back
Top Bottom