PID help?

sthays10

Member
Join Date
Jan 2006
Location
Washington
Posts
84
All,
First off, thank you for all your previous advice on various aspects of my project. I successfully tested my system, impressing the bosses, and now need to expand it. In addition, I noticed several areas which needed improvement. Let me give you a description of my system, and then in the next couple of replys on this thread, ask a couple of questions that I hope you will have some advice that will help.

My system is an automated damper system used to balance a large vent system relatively quickly and precisely (see the sketch attached). Basically, the 15 dampers are actuator controlled (Belimo actuators) and each has an airflow station that measures velocity pressure. The VP is measured by a Dwyer magnehelic DP gage, with a transmitter. I have a ControlLogix PLC (L55M22 processor) and use 1756-IF16 analog input and 1756-OF8 output modules. I am using a PV+ 1200 as my user HMI. I am using RSLogix V13.1, and RSViewME 3.1. The communication is all Ethernet.

The DP gage outputs a 4-20mA signal. The module is configured to provide a real number between 0 and x (where x is the max reading on the gage, varying from 1-4). The actuator is controlled by a 2-10V signal (2V=0%, 10V=100% open), and provides a 2-10V feedback signal. These are configured to give a 0 to 100 signal, specifying % open. The actuator goes from full open to full close in 150s.

I will have approximately 15 different vent configurations that will be used and switched between. Once the set points of each of the configurations are met, the PLC (in addition to a hard wired switch) will lock the dampers into position until the next configuration change is needed.

My basic control scheme comverts the VP to velocity, then to CFM. It compares the desired CFM to the CFM read by the air flow station, and then opens (sets actuator control signal to 100) if measured is less than desired or closes (sets actuator control signal to 0) if measured is more than desired. Pretty simple. Once all dampers (in my test system of three dampers (one main, two local lines) are in range, it gives the option to set the dampers. Once the operator pushes the set damper button, the damper feedback is put into the damper output, locking the dampers into place.

The more experienced PLC programmers (especially, I’m sure, Peter N. and Ron B.), who have extensive experience in PID control, are shaking their heads at this. This is where I hope I can get some advice. CroCop, in the previous post, suggested I read up on PID control, and I have read several of Ron’s and Peter’s previous posts. I am just not sure exactly how I would configure the PID loop. I am only about 4 years removed from college, but Control Systems was never my strong point, and only briefly recall how PID works.

Questions below...
 
Last edited:
Continued...

My main concern with a PID system is the need to tune the loop. The vent system will not be set up for a couple months, but once all duct work is completed I have approximately 2 days to get the control system up, and all configurations successfully tested. I am not sure how long it will take to tune the PID loops. The quicker I get my system installed and proven, the better. Timeline is a huge concern. Even though I don’t have my entire vent system set up, I do have my test system installed, with 3 AF stations and 3 dampers, along with my control setup. While testing the test system, I noticed that while balancing, one damper would go into range, then would get pushed out of range by another damper trying to modulate to it’s set point. It took about 4 minutes to settle, but there was some pretty significant oscillation around the set point. I know PID control will help with this, but I really don’t know where to start.

My second concern deals with how I can set the configurations up in Logix. There will be a total of 30 variables for each configuration (desired flow for each line and the accuracy required for each). I currently have a macro set up in RSView for each configuration. To select a configuration, it uses a macro button that runs the macro and places each value into a temp tag (ie, 500 is put into L1/TEMP/Desired_Flow). When each configuration is confirmed, Logix takes the temp value and moves it into the actual tag (ie, L1/Desired_Flow). I know this is not an optimal way of doing things. Sometimes values from the macro are lost after the button is pushed (ie, Desired flow for L1 and L3 are correct, but L2 is still old value). I am not sure how I would accomplish this in Logix. Can I use an excel file to import values into an array that Logix can then move values into proper values?

Just wanted to thank you all for your time in reading this ridiculously long post, but I figured the more info I gave you, the more specific and useful advice I can get.
 
Last edited:
Holy interdependent variables, Batman!!!

You have yourself quite the system there. The first question I would ask is why do you need any of the dampers above the bottom level? Assuming you have the blower sized large enough to get the maximum desired flow from the sum of each of the branches I would think you could regulate each damper independently. Basically you guarantee that you have a constant head pressure and use each of the lowest level dampers to control each leg. Furthermore, given a constant head pressure, you can get a pretty good idea of how far open you need each dmaper to get a given flow. Use this as a feed forward value so your added control compensation doesn't need to work so hard.

The way you have the system drawn it is very interdependent. I would have to ask why it is that way?

Keith
 
1. Limit your operator choices to ranges that work. Do not give him a combo box with a "Desired Flow" range from 0 to 100%. Instead, do some system modeling, and balance the system, on paper. Find the calculated best value for each of the 15 flow settings.

2. On your PV 1200, and in the PLC program, use the first-scan bit to set an initial setpoint for all your PID flow control loops, to the calculated best values. You can field-verify that these values are correct, then adjust them to get a good initial balance in the system. Otherwise, each damper is going to fight the others and probably never quit oscillating.

3. Then on the PanelView screen, have boxes with scroll bars to allow scrolling the 15 setpoint values up or down ONLY for say +/- 20 percent. You do not need a TEMP setting, or a macro. Just make all 15 on-line all the time, but put MIN and MAX limits on the allowed input numbers. Also, display the actual flow rate from the sensors. I would stack them with the flow rate above, and the setpont box below, so the operator can see how close each one is running.

Why do you need 30 variables? What is this "accuracy" setting? I cannot see why you would need to adjust the accuracy differently for each damper. If you must have an accuracy input, then make it one global accuracy setting for all 15 of the flow setpoints.
 
Quick question:

Why lock the actuators in place? If it's PID, the actuator makes changes to keep the PV as close to the SP as possible, it's kinda the design of the thing.

If it were me, I'd program it so the upstream comes into SP asap, clamping the downstream at a lower value, then bumping the downstream portions to meet the SP.
 

Similar Topics

Hello all, I have an issue with a PID block in RsLogix 5000. The parameters are P: 3.25 I: 0.11 D: 0.01 The Set Point is 71 psi This loop...
Replies
63
Views
14,815
hey guys - I'm a novice PLC enthusiast, so this may be a simple one. I'm running a PID on a Micrologix 1200 PLC and I want to change the Gain for...
Replies
18
Views
4,247
I need a little help with a project I have been thinking about. We have a belt line that is fed by a gravity door (pretty much a hydraulic...
Replies
14
Views
2,737
Hi all, I have a request from client as follows, There's one PID for Control valve which would be controlling on basis of temperature. One...
Replies
1
Views
1,520
Hi, I am trying to automatically regulate a process ( liquid ) in a tube using an ultrasonic sensor, differential level meter, control valve...
Replies
3
Views
3,148
Back
Top Bottom