Member Login
member
passwd
remember me on
this computer.

- join now -
- forgot username or password? -

Search

Jump to a Date

Sponsored Communities
Cool stuff
Select a topic of interest:
...and press:
Neat Stuff
Control.com Stuff

Visit our shop for nerds in control lifestyle products.

Fortune
There exist tasks which cannot be done by more than 10 men or fewer
than 100.
-- Steele's Law
RSS Feed
RSS feed Use this link to get an RSS feed of the Control.com article flow, for private, non-commercial use only:
www.control.com/rss/
To get a personalized feed, become a member at no cost.
Select a Page Style
Select one of the following styles:
- BluFu
- Classic
(cookies required)
advertisement
from the This could be a very general, still useful question. department...
Transfer function implementation on a PLC
PLCs and related questions. topic
Posted by Fidelio on 29 January, 2004 - 12:06 am
Assume that you have a good model of your process: transfer function of the process itself, of disturbances, etc. You design a PID controller. You add a filter, a compensator. Even more, you have a Multi Input-Multi-Output system, so you design a compensator to decouple the systems; which is, of course, a transfer function (or a matrix of transfer functions).

When it is time to implement this beautiful exercise on the process, you have a powerful cpu of Siemens S7-300 PLC (equipped with the PID module, I/O etc.).

Now, my question is: how do you put into the PLC all these beautiful transfer functions, filters, etc.?

AS far as I can see, I can input the P, I, D parameters in the PID block, but.. what if I want to add a filter, or a pole/zero cancellation?

Is there a way to accomplish it?

It is probably a naive question, but I have been thinking about it for weeks now, and can't figure out any solution.

Thank you very much for your kind interest!


Posted by Dobrowolski, Jacek on 29 January, 2004 - 10:32 pm
Hi Fidelio,

Translate your beautiful stuff into z-domain (discrete) and if possible try to go with fixed point math (for performance reasons). To be in sync with data sampling run all calculations in a hardware interrupt OB fired by end
of conversion of an AI module.

Regards,

Jacek Dobrowolski, M. Sc. E.E.
Software Eng.


Posted by ScienceOfficer on 2 February, 2004 - 8:38 am
Fidelio---

I agree with Jacek Dobrowolski's post, and add the following:

The PID function included in most modern PLCs is not easily modified for arbitrary transfer functions. When I've done digital domain realizations of transfer functions, I've done the whole job myself, not using the PID instruction at all.

On the other hand, most of those projects were four to six degree of freedom motion platforms for various training and entertainment simulators--- hardly a common use for PLCs. It sounds like you are doing one of those unusual projects.

I can also tell you that ladder logic is a terrible environment for programming matrix manipulations, and complex math in general. You might find it easier to prototype/test your code in a statement language and then convert it into your target language. I prototyped my first project like this in QuickBASIC (!!!) and then converted it into A-B PLC-5 ladder logic. If you have the Statement List language available on your S7, that might be an easier environment for your project.

Hope this helps!

Larry Lawver Rexel / Central Florida


Posted by Gabriel Villarroel on 5 February, 2004 - 1:16 pm
Working with Siemens, answered has been provided. If you can use another type of system, its simple and fast. If you would like to find out which, please email.

gabrielv@usa.com


Posted by Dobrowolski, Jacek on 7 February, 2004 - 5:41 pm
Hi,
Saying "another type of system" you mean "other than PLC" or "other than Siemens" ?


Jacek Dobrowolski, M. Sc. E.E.
Software Eng.

<">

Your use of this site is subject to the terms and conditions set forth under Legal Notices and the Privacy Policy. Please read those terms and conditions carefully. Subject to the rights expressly reserved to others under Legal Notices, the content of this site and the compilation thereof is © 1999-2008 Control Technology Corporation. All rights reserved.

Users of this site are benefiting from open source technologies, including PHP, MySQL and Apache. Be happy.

Internet Explorer 6.0 Fix

Advertisement
Our Advertisers
Help keep our servers running...
Patronize our advertisers!