PID Question

Terry

CLEARLY...

All posts made to this point are over Todd's head.
I think I CLEARLY stated that I was just learning how to use the PID function!!! My question {which was not answered } was "is my method of manipulating the output a good idea or not? and if not what is a good method. If "rolling yer own" is a good idea why don't you explain it, instead of trying to insult my intellegence. I thought that this was the purpose of this site.A place to ask questions and get answers. I have used ladder logic for years to troubleshoot but I've only started writing my own code for a couple of years so I may not understand it all but I do try and I attempt to be as polite as possible when I do.

Thanks and later....Todd


 
"...instead of trying to insult my intellegence."

Todd...
I said..."CLEARLY... All posts made to this point are over Todd's head."

Is that statement inaccurate? No, it is not... because you said...
"...I was just learning how to use the PID function!!!"

My comment was directed at the responses that were posted thus far.

"...All posts made to this point..."

I then said...
"Gee, doesn't that seem to be the nature of Canned-PID Routines when one must be subjected to the math involved in the particular Canned-Routines."

I don't see your name in there Todd. I don't see anything about "how dumb poor Todd must be". What I do see is an indictment against the math involved in the Canned-PID routines.

I then carried on about roll-yer-own.

My comment was NOT constructed as an insult to you or anyone.

Todd... if you want to spend your life looking for insults where there are none, well... I suppose everybody needs a hobby... although, that sure isn't my idea of a productive hobby.

BTW... the entire concept of "insult" is bogus.

If a statement is True, then, regardless of how much it might hurt, it is True.
If it is True, then accept the truth of it and deal with it.

If it is not True, well... then it is NOT True! Why spend time on it?

It appears that one's belief in the concept of "insult" is indirectly proportional to the emotional-thickness of one's skin.
 
I misunderstood your statement and humbly apologize. I would like to see an example of "roll yer own" as you call it, if you would be so kind to show me.

Thanks and later....Todd
 
A roll your own thread is a good idea but,

There are many different forms of PID. They have different advantages, disadvantages and uses. So first you must decide what the application is that you want to control.

You can find a lot of PID info if you search for "PID" and "Peter Nachtwey" for the key word and user name. I have ftp://ftp.deltacompsys.com/public/pid directory full of good stuff. You can take a look at the Excel spreadsheets and see how the PID and system were implemented.
 
I have a bunch of machines that use "slave" drives with a loop (and analog sensor) of a somewhat elastic stock between them and the "master". These machines do a lot of stopping and starting. Some of them are conveyor to conveyor. Others are conveyor to winder (with changing diameter). When I first came to this department, all of the slaves were driven directly by the output of a PID whose PV (input) is the analog loop height sensor. This worked, but required fast ramp rates in the drives, fairly high P-gain settings, and a tendency to hunt when at a steady speed. The biggest problem is stopping. The slave would not react to the master stopping until the loop height (PV) changed. The operators needed their machines to stop faster without stretching the product. Instead of using the PID to regulate the slave speed "all by itself", I calculated the minimum and maximum ratios that represent the speed relationship between the master and slave. I then use a PID whose output is scaled to a value between those limits, and multiply it by the master speed. That value is then sent to the slave. It required a couple of extra rungs to handle special situations. (ie. when the loop is full, the slave must move before the master is allowed a speed reference) I was able to "gear" the speed references together at a ratio determined by PID. Now, my gains are lower, the machine can be "short-cycled", and the loop heights are near constant. The example I posted is from a winder with changing diameter, and has the whole ladder for that station.

This isn't exactly "roll-yer-own", but I have two machines that are. In those machines, I used three photoeyes instead of analog loop sensors. These photoeyes bump the ratio value back and forth between limits to accomplish a similar result.
I have seen an example of "roll yer own" speed control between a master and slave that worked very well and was just a couple of math instructions. It was in an old honeywell controller that was replaced years ago. Basically, it took the loop height and created a steep ramp that would cause the slave drive speed to keep the loop height in a narrow range, but not at a constant setpoint.

I agree with Terry that PID is not always the best choice. I always try to look at the situation, find out what type of controls I have at my disposal, find out what level of control is required (in all situations) and program the simplest method possible to acheive that. Often, PID is the perfect choice.

ToddM...There's no better way to learn about PID than to put your hands on it. Set one up. Play with the gains. Watch what happens, then go read up on the details of how it works while the production folks clean up your mess. (just kidding)
 
Todd,

OkiePC said...
"...while the production folks clean up your mess. (just kidding)"

Even though he said "just kidding"... he's not... or, at least, he shouldn't be. That result, according to his suggestion, is a typical result.
 
I thought OkiePCs idea was pretty good!

It shows a little intuitive feel for how to approach this problem.
I agree, a PID by itself is not the way to do this project. It requires a feed forward. This is done in OkiePCs application when he multiplies the output of the PID by the master speed I like the way OkiePC reduce the output range of the PID so it can be used to effectively modify the feedforward. Good show. Someone think you've 'done good'.
 
Thanks everybody for your input. Sorry but I ain't quite done here, I'm going to play with my test PLC at work{I added a drive so I can actually see the end result} and will post my results later.{I hope} Please keep your eyes on this thread and many thanks to all.

Thanks and later... Todd
 
ToddM: When using your test set up, You will only be able to simulate the action of the PID if the CV can causes a change in the PV. You may have to add logic to simulate that effect.
 
Hi Folks.... I had kind of a busy week.. So I didn't get to "play as much as I wanted. OkiePC said
When using your test set up, You will only be able to simulate the action of the PID if the CV can causes a change in the PV. You may have to add logic to simulate that effect.
If I move the ultra sonic up or down would that simulate the process enough to test by? Below is a JPG of my test "rig" so far... Forseeable problems or issues?
TestRig.jpg


Thanks and Later...Todd
 
I'm Back!!!

Sorry I couldn't get back till now {July 4th shut down and start up} anyway after all the dust finally settled I found time to "play" with my test rig in the shop and came up with this so far.....
iviewcapture_date_11_07_2005_time_22_12_09.jpg

iviewcapture_date_11_07_2005_time_22_12_18.jpg

iviewcapture_date_11_07_2005_time_22_12_27.jpg

iviewcapture_date_11_07_2005_time_22_12_36.jpg


I:1.0 is the master speed reference from the frequency meter output of the master machine ,I scaled it to 29788 to try to prevent a math overrun error {dosen't seem to help all of the time}. I:1.1 is the reference from the senix ultra sonic sensor which I scaled between 0.9 and 1.15 {these may have to be adjusted according to how it works when this is installed on a real machine}. On rung 2 I moved the scaled output of the master machine to N9:2 which is the setpoint of the PID block {I'm not really sure if this is the right thing to do here or not, but I think it is}. Rung 3 I moved I:1.1 {Senix reference} to N7:60 the process variable of the PID block. Rungs 5 and 6 I toggle on briefly to set the upper and lower limits {Input min and max of SCP on rung 1}.Rung 7 I'm multplying N7:40 {scaled output from the master drive} by F8:5 {the floating point scaled output from the senix sensor} the result being O:2.0 {the analog output to the slave drive}. This is just a rough draft so far so any suggestions, opinions,comments,etc.... would be appreceated.

Thanks and later....Todd
 

Similar Topics

Been working with PLCs for a couple of decades, but almost 100% DirectLogic. Have a customer who wanted me to make a couple of simple changes to a...
Replies
3
Views
1,121
New to the EcoStruxure programming software (I'm an AutomationDirect guy) and I've been banging my head against the wall trying to figure out how...
Replies
2
Views
1,022
I haven't had to tune a PID loop in a very long time. It's actually a PI loop for a pulse width modulation s.v. What was the name of that tuning...
Replies
16
Views
4,114
So I have a PID loop on an 1756-L61 running V17 software just for background. Also the PID PV is a pressure transmitter and the CV is speed sent...
Replies
1
Views
894
Hi All I'm using Cohen-Coon method to calculate initial PID parameters. So, I have Model Gain that has been calculated from live data. Could...
Replies
55
Views
31,102
Back
Top Bottom