PID
PID ist ein Modul, das nach dem P-I-D Algorithmus einen Regelkreis realisiert.
Dieser besteht grundsätzlich aus folgenden Komponenten
- Sollwert (desired value)
- Istwert (measured value)
- Stellgröße für Stellglied (actuation/actor)
Projekt-Status
Das neue Modul befindet sich in der Evaluations-Phase und ist noch nicht für produktiven Einsatz freigegeben. Die nachfolgenden Ausführungen dienen zu Spezifizierung der neuen geplanten Funktionalitäten.
Features
| Parameter | Wertebereich | Default | Beschreibung |
|---|---|---|---|
| pidActorValueDecPlaces | [0..5] | 0 | Anzahl der Nachkommstellen für Ausgabewert zu Aktor |
| pidActorInterval | uint | 180 | minimale Wartezeit in Sekunden, bis neue Ausgabe an das Stellglied erfolgen kann |
| pidActorThreshold | uint | 1 | Notwendige minimale Änderung zum Altwert der Stellgliedausgabe, damit diese erneut erfolgt |
| pidActorErrorAction | [freeze, errorPos] | freeze | legt das Verhalten der Ausgabe zum Stellglied fest, wenn der Istwert nicht innerhalb von <pidSensorTimeout> aktualisiert wurde (Sensor-Ausfall) freeze: Position des Stellgliedes beibehalten |
| pidActorErrorPos | int | 0 | Diese Position ist einzunehmen, wenn pidActorErrorAction auf errorPos steht und der Istwert-Geber ausgefallen ist. |
| pidActorKeepAlive | uint | 1800 | Spätestens nach dieser Zeit erfolgt eine Zwangsausgabe an das Stellglied
(wenn PID nicht disabled und nicht stopped) |
| pidActorLimitLower | float | 0 | untere Begrenzung für das Stellglied |
| pidActorLimitUpper | float | 100 | obere Begrenzung für das Stellglied |
| pidCalcInterval | uint | 60 | Berechnungszyklus in Sekunden, nach dem die PID-Berechnung durchgeführt wird. |
| pidDeltaTreshold | uint | 0 | wenn die Regeldifferenz(delta) kleiner al pidDeltaThreshold,, dann wird der Regler eingefroren (state= idle) |
| pidDesiredName | string | desired | Name für das Reading, das den Sollwert für den Regler aufnehmen soll |
| pidMeasuredName | string | measured | Name für das Reading, das den Istwert für den Regler aufnehmen soll |
| pidSensorTimeout | uint | 3600 | Zeitlimit in Sekunden, nach dessen Überschreitung der Ausfall des Istwert-Gebers anzunehmen ist |
| pidReverseAction | [0,1] | 0 | Umgekehrter Wirksinn des Reglers |
| pidUpdateInterval | uint | 300 | Zeitlimit in Sekunden, nach der ein Zwangsupdate der Readings erfolgen muss (Kurvendarstellung). |
| pidFactor_P | pos. float | 25 | Proportionalitätskonstante für P-Anteil |
| pidFactor_I | pos. float | 0,25 | Proportionalitätskonstante für I-Anteil |
| pidFactor_D | pos. float | 0 | Proportionalitätskonstante für D-Anteil |
| disable | [0,1] | 0 | Freigabe/Sperren des Reglers |