I have six motors controlled by PID commands, originally programmed in a Slick interface. When the Control Logix with an L71 processor became popular, the program was updated. While timers were upgraded, the PIDs continued to run freely on the main task. The RPI for the feedback (a dancer) is updated every 97 milliseconds. The PID Loop Update Time is set to 100ms, while the L71 program runs at 3ms. If I move the PID to a scheduled task at 30ms (1/10 speed) and adjust the Update Time accordingly, should I simply multiply my proportional and integral times by 10, or is there a more intricate relationship involved? Would this be a good starting point for tuning the system? Of course, I will also adjust the sensor update time accordingly. Thank you for your help in advance.
Proportional control operates without a time factor, while integral control should ideally reflect the ratio between the time intervals and real time. This process involves multiple steps, as it not only addresses the initial discrepancy but also adjusts the sampling time.
If I understand correctly, do I multiply the Integral by ten and keep the proportional value the same?
In order to achieve optimal system response, it is crucial to consider the sample rate when applying corrections such as P correction. By multiplying the integral by ten and keeping the proportional unchanged, you can ensure stability in your system. However, it is important to choose a sample rate that aligns with the responsiveness of your overall system to prevent any potential instability.
I appreciate your assistance. This is just the beginning, and it's exactly what I was looking for.
A few years ago, I encountered a similar situation and conducted thorough bench testing to fully address the question at hand. To delve deeper into this topic, be sure to visit the following thread, especially focusing on post #8.
You're on the right track with your approach to tuning. Yes, scaling your proportional and integral gains based on your change in loop update time is a common starting point, but there's indeed more to it. The tune of a PID controller depends on the characteristics of the system it controls, which aren't only defined by update rates. The system's reaction to an error and how quickly it can correct that error also play a key role. So while multiplying your proportional and integral times by 10 might be an initial adjustment, you may need to conduct further tuning. This is typically done through a mix of trial and error and using tuning methods like the Ziegler-Nichols method. Remember to monitor system performance closely when making these adjustments.
It sounds like you're on the right track. Generally, when you change the speed of the loop, you want to maintain the same performance characteristics: so yes, adjusting your proportional and integral times by the same factor you've sped up the loop with could be a good starting point. However, don't forget, PID interactions are nonlinear and the exact relationship can depend on the specific characteristics of your system. So, these adjustments are not rule of thumb. I strongly recommend taking some time for fine tuning after making these initial changes. Monitor the system performance, gather data, and refine your settings accordingly.
It sounds like you're on the right track, but simply multiplying your proportional and integral terms by 10 might not be enough of a starting point for tuning. The relationship between update times and PID parameters can be nonlinear, and factors such as system dynamics and the specific response characteristics of your application will play a significant role. It’s often a good idea to start with some conservative adjustments and then fine-tune based on system response—use tools like step response tests to observe how your motors react before finalizing your PID settings. Also, keep an eye on your overall system stability and responsiveness as you make these adjustments!
Moving your PID control to a scheduled task at 30ms and adjusting the update times makes sense, but it's not as straightforward as just multiplying the gains by 10. The relationship between the loop time and tuning parameters isn't linear, especially since the dynamics of your system could change with the slower loop frequency. It's a good starting point, but you'll likely need to experiment and possibly use methods like the Ziegler-Nichols tuning method to refine your PID parameters after the change. Good idea to also align the sensor update time for consistency! Good luck!
✅ Work Order Management
✅ Asset Tracking
✅ Preventive Maintenance
✅ Inspection Report
We have received your information. We will share Schedule Demo details on your Mail Id.
Answer: - The program was updated to adapt to the popularity and advancements of the Control Logix with an L71 processor.
Answer: - Moving the PID to a scheduled task at 30ms can help optimize the performance of the system by better aligning the PID loop update time with the overall program execution time.
Answer: - Multiplying the proportional and integral times by 10 may be a good starting point for tuning the system after moving the PID to a scheduled task, but there may be a more intricate relationship involved that should be considered for optimal performance.
Join hundreds of satisfied customers who have transformed their maintenance processes.
Sign up today and start optimizing your workflow.