Hello everyone! I’m currently engaged in a project involving the use of the PID instruction (ipidcontroller) within my Allen-Bradley Micro810 PLC to regulate the water level in a tank. The user manual states that this is achievable, but I’m uncertain about the process since my PLC lacks both analog outputs and PWM capabilities. If you have previous experience with this or any insights on how to effectively implement PID control in this scenario, I would greatly appreciate your guidance. Thank you!
Are you considering the implementation of an open/close valve or a modulating valve for your system? How will the PID regulate changes in water levels—will it manage both increases and decreases? Additionally, what happens to the water level when there's no control mechanism in place; does it autonomously rise or fall?
Thank you for your inquiry! I have a water tank system that features a high-output water flow. It includes a Weg CFW08 vector inverter, a pump, an AB Micro810 PLC, and an ultrasonic water level sensor. The ultrasonic sensor is designed to monitor the water level in the tank, comparing it to a predetermined set point that can be easily adjusted based on specific requirements—whether I want to maintain the level at 80%, 50%, or another percentage. If the water level deviates from the set point, the system will activate the pump by sending a signal to the vector inverter.
I'm not entirely certain about the Micro810, but you can find several "PID" function blocks offered by CCW. Be sure to visit their website for more information!
In this scenario, implementing a PID controller may not be essential due to the consistent influence of high outward flow on the input value. Instead, you can develop a straightforward mathematical function to determine the output percentage while the sensor reading remains within the defined proportional band (pBand). Below is a basic example of a proportional output function: ```plaintext SetPoint := 80; PBand := 10; Start_P := SetPoint - PBand; IF Sensor_Input < Start_P THEN Output := 100; ELSEIF Sensor_Input > SetPoint THEN Output := 0; ELSE Percent := ((SetPoint - Sensor_Input) / PBand) * 100; END_IF ``` **Example Outputs:** - Sensor_Input = 69 results in a percentage output of 100% - Sensor_Input = 75 produces a percentage output of 50% - Sensor_Input = 79 yields a percentage output of 10% - Sensor_Input = 81 gives a percentage output of 0% Additionally, you can utilize the proportional percentage as a digital output. By integrating a timer, you can achieve a timed proportional activation of this digital output based on the comparison between the timer's accumulated value and the calculated percentage output. For basic control applications, creating and fine-tuning PID functions across various Programmable Logic Controllers (PLCs) may be unnecessary. In such cases, utilizing this simplified function can prove to be surprisingly effective.
Thank you once again, DaDaDadeo. If my issue were solely about managing the level, I would likely follow your advice. However, since I'm dealing with college material, the focus is not just on level control but on implementing a PID controller. Therefore, I need to gain a better understanding of how to utilize the PID instruction in that specific PCL context.
Hey! I faced a similar challenge with my Micro810, and while it doesn't have analog outputs, you can still implement PID control effectively. A common approach is to use discrete outputs to control a pump or valve in an on/off manner based on your PID calculations. You'll need to tune your PID parameters carefully to avoid overshooting or oscillation. One technique is to use a proportional band or set thresholds to help smooth the control action. Also, consider using timers for your control logic to help implement slower changes in response to PID outputs. Good luck, and feel free to ask if you need more specific advice!
Hey there! It sounds like a challenging but interesting project you’re working on! Even without analog outputs or PWM capabilities, you can still implement PID control by using discrete control signals. You could set up logic to change outputs based on your PID calculations—like turning pumps or valves on and off based on the control signal's thresholds. For instance, if your PID output indicates the level is too low, you could trigger a relay to start filling the tank. Make sure to tune your PID parameters carefully; even in discrete control, proper tuning is crucial for stability and responsiveness. Good luck, and feel free to share your progress!
✅ Work Order Management
✅ Asset Tracking
✅ Preventive Maintenance
✅ Inspection Report
We have received your information. We will share Schedule Demo details on your Mail Id.
Join hundreds of satisfied customers who have transformed their maintenance processes.
Sign up today and start optimizing your workflow.