FP_PID_BASIC

PID-Regelung

Dieser FP-Befehl wird verwendet, um mit Hilfe eines gemessenen Istwerts (z.B. Temperatur) und eines vorgegebenen Sollwertes (z.B. 20°C) eine Stelleinrichtung (z.B. Heizung) zu regeln.

Parameter

Ein-/Ausgang

s_PidDut (PID_DUT_31)

Detaillierte Erläuterungen zu den Parametern finden Sie unter PID_DUT_31.

Anmerkungen

Die Funktion berechnet einen PID-Algorithmus, dessen Parameter als Datentabelle (d.h. in Form eines ARRAY) mit 30 Elementen am Eingang s_PidDut eingegeben werden.

Fehleralarmmerker

sys_bIsOperationErrorHold (wird auf TRUE gesetzt und bleibt TRUE)

wenn die Parameterwerte außerhalb ihres erlaubten Bereichs sind.

sys_bIsOperationErrorNonHold (wird für einen Zyklus auf TRUE gesetzt)

wenn die Parameterwerte außerhalb ihres erlaubten Bereichs sind.

Beispiel

POE-Kopf

Im POE-Kopf werden alle Ein- und Ausgangsvariablen deklariert, die für die Programmierung dieser Funktion verwendet werden. Für alle Programmiersprachen wird der gleiche POE-Kopf verwendet.

	VAR
		Automatic: BOOL:=TRUE;
		PidDut: PID_DUT_31;
	END_VAR

KOP-Rumpf

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 4 ;
        NETWORK_BODY
B(B_VARIN,,Automatic,14,1,16,3,);
B(B_VARIN,,PidDut,14,2,16,4,);
B(B_F,FP_PID_BASIC!,,16,0,25,4,,?DEN?Ds_PidDut?As_PidDut?AENO);
L(1,0,1,4);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST-Rumpf

IF (Automatic) then
    FP_PID_BASIC(s_PidDut := s_PidDut);
END_IF;

Letzte Änderung am: 2022-11-11Feedback zu dieser SeitePanasonic Hotline