Shayan Posted August 31, 2020 Report Share Posted August 31, 2020 Hi, I have a very high speed air cylinder that uses a laser sensor to give constant position feedback to the PLC. The PLC then sends out an analog output signal to a directional control valve depending on where the cylinder is in its current stroke. The goal is to extend the cylinder to a certain set point and right when it reaches the set point I want the cylinder to stop. The issue is because of the extremely high cylinder speeds, the current cylinder position undergoes a big change after the PLC has already finished updating the inputs to memory. Also by the time the PLC updates the outputs telling the valve to shut off, the cylinder has already overshot by 10-15 mm from the intended set point. Would there be any solutions to this problem other than adding offsets to account for the overshoot? The other weird thing is the delays between when the cylinder position reaches the set point and when the valve actually shuts off are always varying. If the PLC scan time is constant why would this vary? The PLC scan time was measured to be about 3 msec while these delays are about 10-15 msec. I am using a V570 PLC with a V200-18-E3/4XB snap-in I/O module. Than you in advance. Link to comment Share on other sites More sharing options...
MVP 2023 kratmel Posted August 31, 2020 MVP 2023 Report Share Posted August 31, 2020 For position contol with high speed pneumatic actuator you must use Axis controller provided by actuator manufacturer. It was expensive solution with high speed proportional valve and controller with analog or digital setpoint. For example https://www.festo.com/net/SupportPortal/Files/379484/CPX-CMAX-SYS_2015-05a_559751g1.pdf You can set position setpoint to controller and read it from sensor (or from controller). Yes you can use interrupt routine and setup some ladder code but for precise position control via pneumatic actuator High speed PID servo loop needed. It is not present in V570. Than you must setup some pneumatic flow control valve for reduce actuator speed or use pneumatic Axis controller for high speed operation. Link to comment Share on other sites More sharing options...
TozoM8 Posted September 1, 2020 Report Share Posted September 1, 2020 Is it an e3xb or e4xb? The E3xb has mostly relay outputs so that will take sometime to drop. Try to use output 0 or 1 those are transistor outputs. How long is your air line? Compressed air is not a good "fluid " to transfer power. Since there is no pressure on the other side of the piston. When you close the solenoid the line between the solenoid and the cylinder's piston still has some pressure. You can pressurize both side of the cylinder and use two solenoids to release the pressure on the desired direction side and close when it reached the desired position I had a project before that had some overshoot problems. I just used the within range function block to slow down then stop. Link to comment Share on other sites More sharing options...
MVP 2023 Joe Tauser Posted September 1, 2020 MVP 2023 Report Share Posted September 1, 2020 13 minutes ago, TozoM8 said: I just used the within range function block to slow down then stop. I agree with this philosophy - you're going to have to "sneak up" on your setpoint. We did a roller positioning project using air cylinders with encoders and the springiness of the air happens faster than the PLC can see it. We had to slow the positioning loop down. Without a dedicated specific controller such as kratmel mentions you're going to have a hard time with precision. Joe T. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now