jrupp82
Member
I'll set the scene a little before I explain the issue that I am having. I have an application where I have a Linear Servo Slide acting as a Press Kick-off cylinder on a ceramic press. In order to trigger this Slide accurately, I have installed an Absolute Rotary Encoder (a Turck product) to the press, which outputs an Analog signal for its specific position. I then have this as an input into my CompactLogix L33ERM through a 1769-IF4 Analog Input card. Within my code, I'm trying to capture the moment where the press has presented the part out of the die and it can be ejected from the press cavity without damage the part. Mis-timing on this ejection and the part will clip the die pad tooling and incur damage upon ejection.
Now, one last point of clarification, I am a Mechanical Engineer by trade, so I don't claim to be an expert programmer. But I have learned a lot and have gained experience in programming applications like this, so I can learn quick and should be able to program this task. I have had my local Allen Bradley guy look at the code I'm using for this application, and he thinks it looks good, but I'm still having issues. What I have done, is within the code, I have a window that I look for, of the encoder's position, to trigger the ejection shoe to fire its sequence and kick the part off. However, I have had to make this window so large in order for the code to see it every press cycle, that occasionally, the ejection shoe will be fired at the back end of the window, which is actually too late, and my part is being damaged. Attached is a snapshot of the code.
The OkSamplePress.DN is actually a timer that I have that looks at the current press rate and puts a delay in to not allow the kick-off to fire too early, because I was actually getting a glitch before where the kick-off would fire prematurely for some reason.
I don't know if anyone can offer assistance on this or not, but I would greatly appreciate any help at all. Its become quite frustrating, as the rest of my machine functions quite well, and this seems to be the nagging issue I can't get rid of. Thanks in advance...Josh
Now, one last point of clarification, I am a Mechanical Engineer by trade, so I don't claim to be an expert programmer. But I have learned a lot and have gained experience in programming applications like this, so I can learn quick and should be able to program this task. I have had my local Allen Bradley guy look at the code I'm using for this application, and he thinks it looks good, but I'm still having issues. What I have done, is within the code, I have a window that I look for, of the encoder's position, to trigger the ejection shoe to fire its sequence and kick the part off. However, I have had to make this window so large in order for the code to see it every press cycle, that occasionally, the ejection shoe will be fired at the back end of the window, which is actually too late, and my part is being damaged. Attached is a snapshot of the code.
The OkSamplePress.DN is actually a timer that I have that looks at the current press rate and puts a delay in to not allow the kick-off to fire too early, because I was actually getting a glitch before where the kick-off would fire prematurely for some reason.
I don't know if anyone can offer assistance on this or not, but I would greatly appreciate any help at all. Its become quite frustrating, as the rest of my machine functions quite well, and this seems to be the nagging issue I can't get rid of. Thanks in advance...Josh