tom_stalcup
Lifetime Supporting Member
Recently, I was asked to track product moving thru our machines, and reject them based on an existing input signal. This didn't seem horribly hard to me, but I did run into a few "learning experiences" that might make it easier for the next person to deal with.
Setup:
12 stations moving thru the machine in one block, with a couple of signals for each station. Once the stations reach the end of the machine(50 or so stops later), they are indexed onto a discharge line that feeds the 12 stations in series. During these steps, the product is filled, sealed, etc.
Digging thru the help files, at first a FFL(FILE FILL) command seemed to be the easiest way to do it.
excerpt from help files
Hmmmm..... worked fine, as long as i only wanted to shift 1 word down 1 block... If there's a way to shift multiple words down multiple blocks using this command, someone let me know...... I tried a variety of different addressing schemes, and didn't get any of them to work the way I wanted to. I could either move data down 1 block, or I could fill the entire block with the data in the 1st block, but couldn't move the data down the tracking area properly.
I ended up using a COP(COPY)command, and this worked exactly the way I thought the help files said the FFL command would work.
Once I got the data down to the discharge of the machine, I set up a BSR to move the reject signal to the proper place, and then used a couple of timers to tell the machine exactly where to reject, with the sequence being started with an existing encoder(of sorts).
VIOLA! Done(for now)
Is there a way to use the FFL command for something like this? Just because I couldn't figure it out doesn't necessarily mean you can't do it..... It just means I couldn't figure it out.
Setup:
12 stations moving thru the machine in one block, with a couple of signals for each station. Once the stations reach the end of the machine(50 or so stops later), they are indexed onto a discharge line that feeds the 12 stations in series. During these steps, the product is filled, sealed, etc.
Digging thru the help files, at first a FFL(FILE FILL) command seemed to be the easiest way to do it.
excerpt from help files
You can perform file shifts by specifying a source element address one or more elements greater than the destination element address within the same file. This shifts data to lower element addresses. You can use this technique to store data of assembly line events instead of using FIFO load/unload instructions.
© 1997 Rockwell Software Inc.
Hmmmm..... worked fine, as long as i only wanted to shift 1 word down 1 block... If there's a way to shift multiple words down multiple blocks using this command, someone let me know...... I tried a variety of different addressing schemes, and didn't get any of them to work the way I wanted to. I could either move data down 1 block, or I could fill the entire block with the data in the 1st block, but couldn't move the data down the tracking area properly.
I ended up using a COP(COPY)command, and this worked exactly the way I thought the help files said the FFL command would work.
Once I got the data down to the discharge of the machine, I set up a BSR to move the reject signal to the proper place, and then used a couple of timers to tell the machine exactly where to reject, with the sequence being started with an existing encoder(of sorts).
VIOLA! Done(for now)
Is there a way to use the FFL command for something like this? Just because I couldn't figure it out doesn't necessarily mean you can't do it..... It just means I couldn't figure it out.