PID control algorithm

Hello everyone:

I am a new QNX user. I am using the QNX as the real time operating system of
my system. I plan to implement PID control in C++. Is there any existing
code which I can use?

Your help is greatly appreciated.

Thanks!

Wei Liu

Please have a look at http://qrts.com. We have a variety of control software
and I/O board drivers for QNX.
Regards
Markus


“Wei Liu” <wliu@cae.wisc.edu> wrote in message
news:8rl993$4d0$1@inn.qnx.com

Hello everyone:

I am a new QNX user. I am using the QNX as the real time operating system
of
my system. I plan to implement PID control in C++. Is there any existing
code which I can use?

Your help is greatly appreciated.

Thanks!

Wei Liu

Dear Wei

I looked all over my house for the diskette containing the PID
algorithm, but unfortunately I could not find it. I know exactly
how you feel about this, and I can only but apologize for this.
I should have checked for the diskette before I posted the e-mail.

But never mind, nothing is lost. I can guide you through writing
your own C++ code for the digital PID controller. It is really
trivially simple. Within two weeks you will have a fully debugged
and tested PID controller.

I will tell you the base class and two inherited classes in a single
chain of inheritance that you will need. I will also tell you from
which book, and exact page you will get the relevant formulae.
Further, I will show you how to implement a practical differentiator.

So, do not despair. Let me know whether you will be prepared
to write your own code, and need my assistance.

Cheers.


Yours sincerely


Sayeed N Ghani
“Wei Liu” <wliu@cae.wisc.edu> wrote in message
news:8rl993$4d0$1@inn.qnx.com

Hello everyone:

I am a new QNX user. I am using the QNX as the real time operating system
of
my system. I plan to implement PID control in C++. Is there any existing
code which I can use?

Your help is greatly appreciated.

Thanks!

Wei Liu

Go to: “http://www.embedded.com/”.
On the left-side bar, click on “ESP Magazine”.
Look for an October 2000 article, “PID without a PhD”, by Tim
Wescott.
This might be enough to get you started.
Good luck.

_jim

In article <8rl993$4d0$1@inn.qnx.com>,
“Wei Liu” <wliu@cae.wisc.edu> wrote:

Hello everyone:

I am a new QNX user. I am using the QNX as the real time operating
system of
my system. I plan to implement PID control in C++. Is there any
existing
code which I can use?

Your help is greatly appreciated.

Thanks!

Wei Liu


J. Regan
nobozoz@my-deja.com


Sent via Deja.com http://www.deja.com/
Before you buy.

Look here: “http://www.jashaw.com/pid/description.htm” and here
"http://www.cs.nyu.edu/ms_students/diam7644/sp99/rt/java/PidControl.java
"

_jim

In article <8rl993$4d0$1@inn.qnx.com>,
“Wei Liu” <wliu@cae.wisc.edu> wrote:

Hello everyone:

I am a new QNX user. I am using the QNX as the real time operating
system of
my system. I plan to implement PID control in C++. Is there any
existing
code which I can use?

Your help is greatly appreciated.

Thanks!

Wei Liu


J. Regan
nobozoz@my-deja.com


Sent via Deja.com http://www.deja.com/
Before you buy.

Hi Wei

Hi Wei

Jim has suggested two sources for PID controller (see comp.os.qnx). Have a
look at them. If they are not what you want let me know, and I will help
you.

Be careful about digitizing the differentiator with a first order lag
filter. You need to use trapezoidal integration – Euler’s backward
integration will not yield good results. I am talking about going from
s-domain to z-domain here.

Convert differentiator s/(1+ks) to z-domain. (1 + ks) term in
the denominator is the first order lag filter required to realize a
practical differentiator…

Cheers.


— Sayeed




Hi Sayeed:

It is fine. Please never mind. I need help because I am not an experienced
C++ programer and I am not familiar with the C++ itself. I am beginning to
build the PID controller now. I know the ideas of PID, the Z transform, and
the relevant knowledge.

Could you please tell me the base class and the two inherited classes in a
single chain of inheritance(to be frankly, I don’t know what this means),
also, from which book I can get the relevant formulae and how to implement a
practical differentiator.

Another concern I have is will the differentiator cause noise problems?

Thanks !

Wei


“Wei Liu” <wliu@cae.wisc.edu> wrote in message
news:8rl993$4d0$1@inn.qnx.com

Hello everyone:

I am a new QNX user. I am using the QNX as the real time operating system
of
my system. I plan to implement PID control in C++. Is there any existing
code which I can use?

Your help is greatly appreciated.

Thanks!

Wei Liu