monkeyhead
Member
I'm new to the world of Ladder Logic, so please be gentle.
Here's the scenerio:
We have a barcode duplication application (a very small part of what the SLC5/05 is handling). The process goes: Package passes barcode scanner. printer prints duplicate barcode and it's applied to the outside of the package. package passes second scanner to verify the correct label was applied.
So right now the logic as it stands (not written by me, so i can't in good concience post it) is pretty convoluted. The guy basically sets up a buffer that can hold up to five strings.
The buffer fills up from there. So if the first string is occupied, the next string goes into the second position. Then as each string is verified, it is deleted from the first position and all the strings after it are moved so the second package now occupies the first spot and so on and so forth.
it's a basic FIFO operation, but it's built COMPLETELY from scratch using a ton of timers (because he used one photo eye to time the whole operation), a bunch of poorly named bits and what seems like an overly complex process. (or at least from first site of the gigantic ladder he created).
Anyway, finally to the question: Is there a better way to handle this? It seems like re-inventing the wheel to have to create a stack from scratch like this but after reading through the String section of the SLC-500 instruction set, I'm not really seeing any simpler solutions (well, other than add a second photo eye and get rid of half the annoying timers he used.)
I looked at the FIFO Load/Unload combo, but you can only load in one word at a time, so my string won't fit that stack.
The other controllers that I normally work with are Opto22 based, so i'm used to having indexed string tables to use for these sorts of situations and was surprised that i couldn't find similar functionality in the SLC5/05.
thanks in advance to anyone who made it through all that crippity ****.
Here's the scenerio:
We have a barcode duplication application (a very small part of what the SLC5/05 is handling). The process goes: Package passes barcode scanner. printer prints duplicate barcode and it's applied to the outside of the package. package passes second scanner to verify the correct label was applied.
So right now the logic as it stands (not written by me, so i can't in good concience post it) is pretty convoluted. The guy basically sets up a buffer that can hold up to five strings.
The buffer fills up from there. So if the first string is occupied, the next string goes into the second position. Then as each string is verified, it is deleted from the first position and all the strings after it are moved so the second package now occupies the first spot and so on and so forth.
it's a basic FIFO operation, but it's built COMPLETELY from scratch using a ton of timers (because he used one photo eye to time the whole operation), a bunch of poorly named bits and what seems like an overly complex process. (or at least from first site of the gigantic ladder he created).
Anyway, finally to the question: Is there a better way to handle this? It seems like re-inventing the wheel to have to create a stack from scratch like this but after reading through the String section of the SLC-500 instruction set, I'm not really seeing any simpler solutions (well, other than add a second photo eye and get rid of half the annoying timers he used.)
I looked at the FIFO Load/Unload combo, but you can only load in one word at a time, so my string won't fit that stack.
The other controllers that I normally work with are Opto22 based, so i'm used to having indexed string tables to use for these sorts of situations and was surprised that i couldn't find similar functionality in the SLC5/05.
thanks in advance to anyone who made it through all that crippity ****.