AB PID with Discrete Output

SNK

Member
Join Date
May 2004
Location
Toronto, Ontario
Posts
885
I am attempting to control a PID system for a Vacuum Chamber, using an analog input for the scaled input of 6120 to 31200. I have only a digital output signal to control the bleed off valve, which I am attempting to use to keep the setpoint. ( I cannot see turning a pump on and off through the process, so I will leave it running, and turn the valve on and off, much like a heater relay in a PID system)

I cannot find a programming example with PID for ML1200 that uses a discrete output to control the PID system. This is my first PID programming experience, and I cannot seem to find anything in AB that is using this scenario. I also see that the pre-scaled integer needs to be in the range of 0-16383, which I am out of so far.

I know this sounds simple, but all of the programming examples are using an analog output for the closed loop system.
It would seem that this should be a very easy implementation, but I cannot seem to get anywhere with it. All the examples are for SLC's or PLC5's, and Controllogix systems.

Can someone lead me in the right direction?
 
Use your PID output to modulate the preset of a timer. Use that timer to control the amount of time that the valve is open (duty cycle).
Use a second timer to control the operating period.
The operating period should be as long as possible (to reduce switching wear and tear), as long as it can adequately control pressure.

Set the operating period timer to reset the duty cycle timer.
For example, if you have a 1 minute operating period, the PID will modulate the valve on for x seconds of that minute (50% = 30s, ...)
 
Thanks Guys.
I downloaded the Hotrod sometime ago, but it is somewhat more involved than what I want in the process. It is good to view for instructional purposes though...

Rsdorans link seems to be the most accurate to my application,
Thanks all
 
I do remember that there is an example in the Logix 500 Program instruction book. I will find it at home and try to scan it in in a couple of days. If you have access to the book, you would find it much faster. It concerned a heating contactor, but the idea is still the same.

I did not use a PID to do it, I simply wrote a 1 rung comparison and managed to control vacuum level to within +2 microns of a 35 micron setpoint. That has been working like that for nearly 5 years.

David
 
Here is the deal.
My parameters are as follows;

If I deviate from the setpoint, I have to alarm the process and abort/restart. I really don't want to ever drop below the setpoint, so will the LEQ/GEQ routine work? I think that I monitor my unscaled analog integer, and then add about 50 counts to allow for a LOW-LOW level to turn the solenoid off, this would make sure that the setpoint was never undershot.
Does this make sense to anybody? Would a PID loop even work properly in this case?
 
If I understand correctly you can tolerate overshoot, but not undershoot, assuming this, you could use "dead band" control with the dead band set slightly above the minimum level.

vacuum2.jpg
 
Yeah, that is kind of it Ken. From your example, you are using the final scaled values as the limiters. In my above post, I was leaning towards using the raw data, in hopes of achieving much more accuracy. The problem is with the above example, I need to keep within +1 of the setpoint.
This is why I was hoping for a really accurate PID loop.
Cheers, thanks, and keep the answers coming!
 
Have You looked at Sliding Mode Control?

Do a search on this forum for Sliding Mode Control. You can find more info on my FTP site.
ftp://ftp.deltacompsys.com/public/SMC/

Sliding Mode Control (SMC) is basically a simple on-off control system that takes into account the rate at which the PV is deviating from the SP. If effectively makes the band at which you turn the output on or off bigger depending on the rate of change. Some one once said that it is like on-off control that anticipates.

Phil, the problem with this site is that there is too much info on it. Threads with useful information are quickly lost ( actually forgotton ) in all the thousands of posts. How would kcarlen know to search for sliding mode control if he never hear of it? However, if there were special tags the could be entered in the text then people could search. For instance a tag like [Traffic Lights] would allow one to search for [Traffic Lights] and find all the articles on traffic lights. These tags would need to be entered from a standard list so there would be a consistant way for search for the tags.
 
Just a caution, clever programming cannot always make up for deficiencies in the hardware. Have you tried doing this by hand? That is, having the vacuum pump on, watching the vacuum gauge and turning the bleed valve on and off. It will depend on how fast the vacuum changes when the valve is on/off. If it takes a great while for the reading to change either way then you're probably ok. If it changes rapidly the the rate at which you'll have to cycle the bleed valve to maintain a 'constant' vacuum may be more than it can stand. And in this case probably neither a PID loop nor direct comapres would be able to do the trick.
 
Ain't that the truth Bernie.
Thanks for the input guys. I will try to finish this thing up soon.
It has been functioning without a PID loop for about 8months now, using a much cruder way of limits. I will attempt to integrate this basic PID system soon.
 

Similar Topics

Does anyone have any examples of how to control a temperature of a PID loop that is firing a discrete output for logix 5000? Any help would be...
Replies
4
Views
2,609
Hello, I have been developing a library of function blocks. One of the developed function blocks is the PID controller. I have created a Simulink...
Replies
7
Views
2,980
Hello, I have already searched for that in the forum but did not get any satisfying answer, so here it goes: I have a 1769-L36ERM that controls...
Replies
4
Views
3,106
I'd appreciate hearing opinions and experiences of going from discrete controllers to PLC control of temperature. We use a lot of Watlow and...
Replies
12
Views
5,978
I have been assigned a project where I need to use a PID in a PLC5/80E to control the temperature of a chemical in a tank. The chemical goes...
Replies
3
Views
4,741
Back
Top Bottom