JohnnyQuanex
Lifetime Supporting Member
Hello Board,
I've been developing a footage counter system for a continuous strip product...
The product is extruded and pulled for cooling over a long cooling table using vacuum belts; from there is runs through a loop dancer, into a coiling guide, and is coiled using a traverser coiler onto a spool... The average product length per spool is about 2,500 Linear Feet... The coiler receives a signal from the counter system and indexes to a new reel when the set point is reached... The coiler has a cutting feature that allows for continuous processing...
I have some programming problems that I could use some help with...
I'm using the following in my control system:
1. Contact encoder (842E Ethernet/IP Encoder 262/144 Steps PR)
2. CompactLogix 5370 L2 Controller
3. PanelView Plus 7 (5.7")
4. Firmware version 28.1 (Studio 5000)
I have attached a snip from my program for the logic in question...
My question involves how my program is currently setup...
I'm using the encoder signal and counting rotations... The feet count features of my program are working great! However, my problem is setting up logic that works for measuring/calculating LINE SPEED... I need to know how fast my product is running (FEET PER MINUTE)...
I have some logic setup that seems really crude, and I'm hoping somebody will have some insight to help me think through this...
My logic starts with a retentive timer and runs constantly when my coiler spindle is enabled (as an input to that timer)... A spool of our product takes about 15 minutes to run and then a new one starts... I have the retentive time set to 2,000,000 milliseconds, which is about 33.3 minutes...
I use the ACC values (milliseconds) from the retentive timer in the next rung and multiply it by 0.001 to get a new value in seconds... In the next rung
(10) I take my counter value (feet) and divide it by my seconds to get feet per second... Then, I take that value and multiply it by 60 to get feet per minute...
This works, but it is constantly variable; for example:
I have a function in program that subtract footage (set to 50 feet per button push) from the ACC counter value... (This is for when we have to stop and cut out a splice from a running spool and then we start again and continue running the spool up to the set point... When I press the button it subtracts from the counter value and throws my FPM calculation off...
Another problem is that this calculation is not very fast and it had very long stabilization times...
I need to use this LINE SPEED as a control input in the program to output alarms and control my coiler in the event that my encoder loses contact with the product that is running on it... This is very important because of the nature our of production process and product... I would rather use a non-contact encoder, but the price is too high and it's just simply not justifiable for this project...
I know I said a lot here, so please let me know if you have any questions...
Thanks as usual!
John
I've been developing a footage counter system for a continuous strip product...
The product is extruded and pulled for cooling over a long cooling table using vacuum belts; from there is runs through a loop dancer, into a coiling guide, and is coiled using a traverser coiler onto a spool... The average product length per spool is about 2,500 Linear Feet... The coiler receives a signal from the counter system and indexes to a new reel when the set point is reached... The coiler has a cutting feature that allows for continuous processing...
I have some programming problems that I could use some help with...
I'm using the following in my control system:
1. Contact encoder (842E Ethernet/IP Encoder 262/144 Steps PR)
2. CompactLogix 5370 L2 Controller
3. PanelView Plus 7 (5.7")
4. Firmware version 28.1 (Studio 5000)
I have attached a snip from my program for the logic in question...
My question involves how my program is currently setup...
I'm using the encoder signal and counting rotations... The feet count features of my program are working great! However, my problem is setting up logic that works for measuring/calculating LINE SPEED... I need to know how fast my product is running (FEET PER MINUTE)...
I have some logic setup that seems really crude, and I'm hoping somebody will have some insight to help me think through this...
My logic starts with a retentive timer and runs constantly when my coiler spindle is enabled (as an input to that timer)... A spool of our product takes about 15 minutes to run and then a new one starts... I have the retentive time set to 2,000,000 milliseconds, which is about 33.3 minutes...
I use the ACC values (milliseconds) from the retentive timer in the next rung and multiply it by 0.001 to get a new value in seconds... In the next rung
(10) I take my counter value (feet) and divide it by my seconds to get feet per second... Then, I take that value and multiply it by 60 to get feet per minute...
This works, but it is constantly variable; for example:
I have a function in program that subtract footage (set to 50 feet per button push) from the ACC counter value... (This is for when we have to stop and cut out a splice from a running spool and then we start again and continue running the spool up to the set point... When I press the button it subtracts from the counter value and throws my FPM calculation off...
Another problem is that this calculation is not very fast and it had very long stabilization times...
I need to use this LINE SPEED as a control input in the program to output alarms and control my coiler in the event that my encoder loses contact with the product that is running on it... This is very important because of the nature our of production process and product... I would rather use a non-contact encoder, but the price is too high and it's just simply not justifiable for this project...
I know I said a lot here, so please let me know if you have any questions...
Thanks as usual!
John