Mark Buskell
Member
System: RS5000, CompactLogix L32E, PanelView +, Ver 15.
I have a index table (6 Positions). On the table, it has 2 cylinders and a vacuum for each position. Thats 18 outputs and 30 inputs. FYI, the table I/O is being triggered by 24VDC wireless.
At station 1 (load), the cylinders extend and the vacuum turns on to grab a bag. There are also prox switches to insure cylinder position and vacuum ok. The cylinders then retract and the table gets indexed.
For indexing, I give a go signal and it sends a signal when the table is moving and then in position.
Station 2 works the same as 1 except there is a laser that inspects the placement of the bag, if the bag is misaligned, the vacuum is turned off and the bag falls (Bad Part).
The cyclinders and extend and retract at each station, Station 3 is a bag fill, 4 is a bag fold and seal, 5 is another inspection and 6 is the unload where the bag is dropped onto a conveyor.
The first time station 1 would turn on cylinders and vacuuum 0,1 and 2 but the next time it would need to turn on outputs 3,4,5 and so forth as it indexes. It needs to turn on the cylinders and possible vacuum that is in front of it.
If station 2 dropped the bag (bad part), there is no reason to extend the cylinders at stations 3,4,5 and 6.
The solution???
Should I use bit shifts that index with each position.
I could use a CPS function.
I could set up counters and use indirect addressing.
Maybe some other block like a SQO?
Any opinions or programming practices would be appreciated.
Thanks and Merry Christmas.
I have a index table (6 Positions). On the table, it has 2 cylinders and a vacuum for each position. Thats 18 outputs and 30 inputs. FYI, the table I/O is being triggered by 24VDC wireless.
At station 1 (load), the cylinders extend and the vacuum turns on to grab a bag. There are also prox switches to insure cylinder position and vacuum ok. The cylinders then retract and the table gets indexed.
For indexing, I give a go signal and it sends a signal when the table is moving and then in position.
Station 2 works the same as 1 except there is a laser that inspects the placement of the bag, if the bag is misaligned, the vacuum is turned off and the bag falls (Bad Part).
The cyclinders and extend and retract at each station, Station 3 is a bag fill, 4 is a bag fold and seal, 5 is another inspection and 6 is the unload where the bag is dropped onto a conveyor.
The first time station 1 would turn on cylinders and vacuuum 0,1 and 2 but the next time it would need to turn on outputs 3,4,5 and so forth as it indexes. It needs to turn on the cylinders and possible vacuum that is in front of it.
If station 2 dropped the bag (bad part), there is no reason to extend the cylinders at stations 3,4,5 and 6.
The solution???
Should I use bit shifts that index with each position.
I could use a CPS function.
I could set up counters and use indirect addressing.
Maybe some other block like a SQO?
Any opinions or programming practices would be appreciated.
Thanks and Merry Christmas.