FB_PID: PID-Funktionsbaustein

Überblick

Der Funktionsbaustein FB_PID stellt eine -PID-Steuerung bereit.

Die folgende Grafik zeigt den Anschlussplan für den Funktionsbaustein FB_PID:

G-SE-0033412.1.jpg

 

 

Der Hauptalgorithmus ist in folgendem Ablaufdiagramm dargestellt:

G-SE-0032380.1.gif-high.gif

 

 

Der Hauptalgorithmus wird wie folgt berechnet:

G-SE-0032381.1.gif-high.gif

 

 

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:

G-SE-0032382.1.gif-high.gif

 

 

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 TwidoEmula­tionSupport-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 TwidoEmula­tionSupport-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:

G-SE-0032386.1.gif-high.gif

 

 

Der Typ der Ausgangsvariable i_etPidDiag lautet:

G-SE-0032387.1.gif-high.gif