Pid Loops

After looking at the original post I'm thinking that Rob is using the PID to maintain a constant psi or gpm. I'm curious to hear if anyone would approach this scenario any differently than what has already been discussed.
 
Peter said...
"Ron e-mail me if you want to get detailed to death on converting the s-domain to useful equations."

Do I have to send my keepers over to pay a visit on you Peter???

We keep this stuff on site! None of that "KISSY-KISSY behind the bushes" ****!
 
I don't want to scare anyone away.

Terry Woods said:
Peter said...
"Ron e-mail me if you want to get detailed to death on converting the s-domain to useful equations."

Do I have to send my keepers over to pay a visit on you Peter???

We keep this stuff on site! None of that "KISSY-KISSY behind the bushes" ****!

I agree, however I have a feeling that only one or two people even care. Maybe you and Ron. Sometimes I wonder if anyone even knows what I am talking about. Some have made it clear that I am just 'slicing pickels'. I also have a feeling that these topics may intimidate some people. Remember, there are those that consider indirect and index address as 'advanced'.
 
Digital Control Principals

Peter,

I hope you post your explination on digital control principals. I have to admit, only being out of school for almost 2 years, and not having the chance or need to even try to analyze a control system using mathematical analysis, I have forgotten alot of the Time-Domain <-> Frequency Domain <-> Digital Domain?? (proper wording?) principals. I'm ALWAYS interested in reading someone elses explinations on theory, and I am going to go back to school to relearn some stuff I fluffed off in school, as I have VERY quickly learned that I am weak in many area's. So, I encourage you to post some of your information. I know you feel that sometimes people may not understand what you are talking about, but it might just be that they have never been exposed to it before. I know I would and I think many others would benefit from your knowledge.

Andrew Evenson
 
In my experiences with PID control (VFD's, AFD's, AC/DC Drives, valves, temperature controllers), I have found that the best approach is to start with low settings (for safety reasons) and adjust as necessary (per HarryG). The only way to accomplish this is to make the adjustments on a live system. You cannot do this with a system running at 25% of it's potential, i.e. you cannot correctly tune an oven or furnace without product in it. The only way to compensate for all of the hidden variables that will come into play is to tune when the system is live (of course this is a live test). If I have repeated something that someone else has already stated, I apologize. Just wanted to speak on it.
 
C'mon, Peter,

After all, this is a "PLC PROGRAMMING" site! Programming involves implementing concepts whether they are thought to be advanced or not!

So-called, Advanced concepts don't become "regular" concepts until they are explained so as to be understood. Of course, some explanations require a certain understanding to begin with.

But, a good explanation of a concept, somehow, manages to slip in an explanation of the precepts.

BTW, you do slice a mean pickle! Certainly, a hell of a lot faster than I can!
 
Peter,

Back to your comment about the difference between the error for a velocity controler and the error for a position controller.

I hadn't thought much about it because I don't do a lot with PID, but I think what you're pointing out is this:

In a velocity controller, the setpoint, feedback and controlled variable all have the units of velocity (inches per second or radians per second).

In a position controller, the setpoint and feedback both have units of position, but the controlled variable is the velocity command which is the time derivative of the position. Now I haven't done any of the math involved, but it seems intuitive that this is significant, and to be ignored at the user's peril.

If I correctly remember my training manual for Fanuc CNCs, they preprocess each move so that the controller knows what the position and velocity should be at each incremental step of the move. Faster processors mean you can divide the move into smaller increments. The position setpoint that the PID loop works on is not a constant, but varies with time.

Likewise, the velocity setpoint is precalculated for each incremental step of the move. The solution from the position PID is applied as a trim to velocity PID's setpoint.
 
To clarify something in my mind...when you spoke of the z domain were you referering to relational algebra? ie scalars, vectors etc?

I have so much to learn to truly understand. I hope I understand you to mean their is a way to make a plc understand algebraic equations with the math functions they offer.

Actually when I think of PID for some reason I dont think of drives/CNC etc (and I once worked for an engineering company that made CNC burning machines). For some reason I always think of heat units and cant say why.

Where are YOU Peter?
BTW could you post that link again to your site?
 
rsdoran said:
To clarify something in my mind...when you spoke of the z domain were you referering to relational algebra? ie scalars, vectors etc?

I have so much to learn to truly understand. I hope I understand you to mean their is a way to make a plc understand algebraic equations with the math functions they offer.

Actually when I think of PID for some reason I dont think of drives/CNC etc (and I once worked for an engineering company that made CNC burning machines). For some reason I always think of heat units and cant say why.

Where are YOU Peter?
BTW could you post that link again to your site?

The z domain is the digital equivalent of the s domain.
The s domain is for use with continous systems such as analog systems whereas the z domain/z transforms is used for digital systems where the data is sampled. z transforms are potentially much more useful to PLC and computer programmers than Laplace transforms. I will work out a simple example of a low pass filter using a RC circuit. Low pass filters and applications that require low pass filters are mentioned on this forum frequently. Hopefully most will understand.
I want to make it clear so it will be worth refering to in the future.


BTW, I actually use Laplace transforms to design the filter I want. I do this because I was trained to use Laplace transforms in college and I have a good feel for what they do. The z-transforms and difference equations I learned much, much later.

I am located in Vancouver, Washington. I just checked my profile and the information there is up to date. I am easy to find, I know by the amount of junk mail I get.

Delta Computer Systems, Inc.
There are some application notes, the TCPDemo and example code on how to communicate to our product using you favorite PLC.
 
Steve Bailey said:
Back to your comment about the difference between the error for a velocity controler and the error for a position controller.

I hadn't thought much about it because I don't do a lot with PID, but I think what you're pointing out is this:

In a velocity controller, the setpoint, feedback and controlled variable all have the units of velocity (inches per second or radians per second).

In a position controller, the setpoint and feedback both have units of position, but the controlled variable is the velocity command which is the time derivative of the position. Now I haven't done any of the math involved, but it seems intuitive that this is significant, and to be ignored at the user's peril.

That is the whole point. Considering what hasn't been considered before and most haven't. In addition, one must consider what the control output is controlling. In motion systems the sytem velocity is normally proportional to the control output, but I, and many others, have had better results if the acceleration is proportional to the output. The is called current or torque mode.

Now one must consider if the error is counts or counts per second? Is the system acceleration or speed proportional to the output?
How does this affect the gains? The differentiator is extremely important when using torque mode.

Steve Bailey said:
If I correctly remember my training manual for Fanuc CNCs, they preprocess each move so that the controller knows what the position and velocity should be at each incremental step of the move. Faster processors mean you can divide the move into smaller increments. The position setpoint that the PID loop works on is not a constant, but varies with time.

Likewise, the velocity setpoint is precalculated for each incremental step of the move. The solution from the position PID is applied as a trim to velocity PID's setpoint.

Yes, target generation or trajectory generation is one of the most important parts of the motion controller. The target generator also generates accelerations at each point. In addition, there are probably several target generators. There needs to be one for point to point moves, one for continuous moves, one for gearing, one for camming, etc. The PID is a very, very, very,very small part of the code in a motion controller, perhaps .1%.
 

Similar Topics

Hey All, I am working on the programming to maintain level and pressure in a 80 gallon surge tank. This tank feeds fillers that fill either 2.5...
Replies
2
Views
1,548
Hi guys! It seems to me that PID loops with feed forward are underutilized. Maybe it's just me but I think almost every loop would work better...
Replies
6
Views
2,730
I have a need to control the speed of a pump using two different control scenarios. The hardware is an AB CompactLogix with Studio5000 V30...
Replies
47
Views
16,147
Hi, I am new to Eaton ELC Soft. I have a background with Allan Bradley plcs but this seems to be set as if from 1950. It seems to be powerful...
Replies
0
Views
1,981
Hi A few weeks back, I purchased PLCs.net Newsletter Tips Compilation 2002-2012 (good stuff) Noticed lately in the recent issues a series...
Replies
7
Views
2,303
Back
Top Bottom