Der Funktionsbaustein FB_PID stellt eine -PID-Steuerung bereit.
Die folgende Grafik zeigt den Anschlussplan für den Funktionsbaustein FB_PID:
Der Hauptalgorithmus ist in folgendem Ablaufdiagramm dargestellt:
Der Hauptalgorithmus wird wie folgt berechnet:
Während eine abgeleitete Zeitkonstante von Td=0 die abgeleitete Verzweigung der PID-Steuerung deaktiviert, ist eine proportionale Verstärkung Kp von 0 unzulässig. Dies würde zu einer Verstärkung von 100 % führen.
Wird die Integralzeit-Konstante Ti auf 0 gesetzt, erfolgt ein Wechsel zu einer anderen Berechnungsregel:
Dadurch würde das analoge Ausgangssignal im Bereich [0..10000] zentriert.
Der Messwert kann in einen parametrisierten Bereich konvertiert werden. Dieser neue Bereich wird dann auf den Sollwert sowie die Messalarmstufen angewendet werden.
Der Ausgang liegt in jedem Fall im Bereich [0..10000], kann aber begrenzt werden.
Beschreibung der E/A-Variablen
In der folgenden Tabelle sind die Eingangsvariablen des Funktionsbausteins in der TwidoEmulationSupport-Bibliothek beschrieben:
Eingang |
Datentyp |
Beschreibung |
---|---|---|
i_iMeasure |
INT |
Steuervariable [1..10000] |
i_iSetpoint |
INT |
Sollwert der Steuerung [1..10000] oder [konfiguriertes Min..konfiguriertes Max] |
i_etOpMode |
ET_PidOpMode |
PID/PI – im Fall von PID kann die Variable aus Kompatibilitätsgründen von etCorrectorTypeüberschrieben werden. |
i_xMeasConversion |
BOOL |
Aktiviert die Konvertierung von Messwerten in die gegebenen Grenzen zwischen [0..10000] und [i_iConversionMin..i_iConversionMax]. |
i_iConversionMin |
INT |
Konvertierung des Mindestwerts |
i_iConversionMax |
INT |
Konvertierung des Maximalwerts |
i_xMeasAlarm |
BOOL |
Aktiviert die Messwertbereichs-Alarme. |
i_iAlarmHigh |
INT |
Hoher Alarmschwellenwert für q_iAnalogOutput |
i_iAlarmLow |
INT |
Niedriger Alarmschwellenwert für q_iAnalogOutput |
i_iKp |
INT |
Proportionaler Verstärkungsfaktor |
i_iTi |
INT |
Integralzeit-Konstante |
i_iTd |
INT |
Abgeleitete Zeitkonstante (wird im Fall von PI ignoriert) |
i_xDirectOutput |
BOOL |
TRUE: direkte Aktion FALSE: inverse Aktion |
i_xLimitOutput |
BOOL |
Aktiviert die Ausgangsbegrenzung. |
i_iLimitMin |
INT |
Unterer Ausgangsgrenzwert |
i_iLimitMax |
INT |
Oberer Ausgangsgrenzwert |
i_iPWMPeriod |
INT |
PWM-Signal |
In der folgenden Tabelle sind die Ausgangsvariablen des Funktionsbausteins in der TwidoEmulationSupport-Bibliothek beschrieben:
Ausgang |
Datentyp |
Beschreibung |
---|---|---|
q_iAnalogOutput |
INT |
Von digital in analog zu konvertierender Steuerungsausgang [1..10000] |
q_rDutyCycleOutput |
REAL |
Verringerung auf einen Wert [0..1], der einem PWM-Modul manuell zugewiesen werden kann |
q_xPWM |
BOOL |
Softwaregenerierter PWM-Ausgang |
q_xMeasureValueLowAlarm |
BOOL |
Überwachung der Steuervariablen. Wird auf 1 gesetzt, wenn die niedrige Alarmstufe unterlaufen wird. |
q_xMeasureValueHighAlarm |
BOOL |
Überwachung der Steuervariablen. Wird auf 1 gesetzt, wenn die hohe Alarmstufe überschritten wird. |
q_etPidDiag |
ET_PidDiag |
Diagnosecode der PID-Steuerung |
q_sMsg |
STRING |
Diagnosemeldung |
Die PID-Bausteinkonfiguration in EcoStruxure Machine Expert - Basic stellt die zusätzliche Parameterabtastperiode bereit (auf der Registerkarte PID des PID-Assistenten). Die Abtastperiode ist die Zykluszeit des Tasks, der den PID-Baustein ausführt. Um sicherzustellen, dass das Signal bei q_xPWM ordnungsgemäß generiert wird, muss der für i_iPWMPeriod konfigurierte Wert ein Mehrfaches der Abtastzeit sein. Bei einer PWM-Periode von 0 wird die Signalgenerierung deaktiviert.
Der Typ der Eingangsvariable i_etOpMode lautet:
Der Typ der Ausgangsvariable i_etPidDiag lautet: