Cascade, PID regelaar programmeren in Step 7

Andere onderwerpen dan hierboven vermeld.

Moderator: GJ_

Plaats reactie
Stephane31
Berichten: 68
Lid geworden op: 20-10-2009 17:22:00

Cascade, PID regelaar programmeren in Step 7

Bericht door Stephane31 » 16-12-2009 11:43:15

Beste Developers,

Voor mijn eindwerk moet ik een visueel project maken voor de digitale regeling en deze omvat de volgende modules:
De visuele voorstelling wordt gemaakt in WinCC.

- De gewone sturing
- De P regelaar
- De PI regelaar
- De PID regelaar


Probleem 1
=======
Ik zou graag de PID regelaar zelf schrijven maar ik stoot tegen het volgende probleem aan:

Ik moet ergens te programmeren krijgen 1 vorige tijd van een sample en twee vorige tijden van een sample

Dat zijn de gegevens:
==============

Ik heb de volgende uitdrukking voor een PID regelaar te programmeren:

y(nT) = y(nT-T) + (Kp + Ki + Kd) * e(nT) - (Kp + 2.Kd) * e(nT - T) + Kd * e(nT - 2T)

Dat is gegeven:
==========

e(nT - 0T) : fout op het moment nT (current sample time)

Hoe programmeer je nu eigenlijk 1 sample periode ervoor, 2 sample periodes ervoor?

Vraag 1
=====
Dat zou ik willen programmeren maar heb geen idee hoe eraan te beginnen.

e(nT - 1T) : fout op het moment nT - T (1 sample periode ervoor)
e(nT - 2T) : fout op het moment nT - 2T ( 2 sample periodes ervoor)


Vraag 2
=====

Kan jij mij een een concreet uitgewerkt voorbeeld helpen voor het instellen van die FB41 module dus die PID? Ik zou je daar erg dankbaar voor zijn want ik vind nergens een concreet uitgewerkt voorbeeld


Met vriendelijke groet
Stephane

Peter
Berichten: 264
Lid geworden op: 04-01-2007 21:27:17
Locatie: Er gaat niets boven Groningen

Bericht door Peter » 16-12-2009 18:59:32

Ik gebruik FB41 meestal met een tijd gestuurde OB. De sample tijd van die OB is een beetje afhangkelijk van het proces dat geregeld moet worden. Hoe sneller het proces veranderen kan dan wordt de OB tijd kleiner gemaakt.
Voor temperatuur regelingen gebruik wel eens 1 seconde.

Als je zelf de PID wilt maken dan is het het handigste om na de PID berekening de vorige samples te verplaatsen

PID code uitvoeren
L waardeN1
T waardeN2

L waardeN0
T waardeN1

BE

Plaats reactie

Terug naar “Anders”