Beschreibung
Die Anweisung SplitRange konvertiert den Eingangswert in einen Ausgangswert. Der Eingangswert liegt dabei in dem Wertebereich, der durch Points.x1 und Points.x2 begrenzt ist. Der Ausgangswert liegt in dem Wertebereich, der durch Points.y1 und Points.y2 begrenzt ist.
Das folgende Bild zeigt die Kennlinie einer beispielhaften Konfiguration der Anweisung SplitRange:
Setzen Sie SplitRange ein, wenn Sie eine Regelung eines Prozesses benötigen, den mehrere Aktoren beeinflussen. SplitRange teilt dabei den Ausgangswertebereich des PID-Reglers in mehrere Unterbereiche auf. Weisen Sie jedem Aktor einen Unterbereich zu. Das Anwenderprogramm ruft den Baustein ein mal pro Unterbereich auf. Der Eingangswert jeder SplitRange-Instanz ist mit dem Ausgangswert des PID-Reglers verbunden.
Das folgende Bild zeigt beispielhaft ein Regelkreis mit zwei SplitRange-Instanzen und zwei Aktoren:
Gültigkeit der SplitRange-Daten
Die Wertepaare in der Struktur Points definieren den Eingangs- und Ausgangswertebereich von SplitRange. Die beiden Wertepaare liegen im statischen Bereich des Bausteins SplitRange.
SplitRange prüft bei jedem Aufruf, ob folgende Bedingungen erfüllt sind, damit gültige Werte für die Berechnung des Ausgangswerts verfügbar sind:
-
Points.x1 < Points.x2
-
Points.x1, Points.y1, Points.x2 und Points.y2 liegen innerhalb des zulässigen Wertebereichs -3.402823e+38 bis 3.402823e+38
-
Points.x1, Points.y1, Points.x2 und Points.y2 sind gültige REAL-Werte (≠ NaN z. B. 16#7FFF_FFFF)
Wenn eine oder mehrere Bedingungen nicht erfüllt sind, dann ist keine korrekte Berechnung des Ausgangswerts möglich. Eine entsprechende Fehlermeldung wird am Parameter ErrorBits ausgegeben.
Die Vorbelegung der x- und y-Werte mit 0.0 stellt keine gültige Konfiguration dar. Ändern Sie die Variablen auf gültige Werte, damit die Variablen für die Berechnung des Ausgangswerts verwendet werden.
Freigabeverhalten EN/ENO
Wenn eine der folgenden Bedingungen erfüllt ist, dann wird der Freigabeausgang ENO auf FALSE gesetzt:
-
Freigabeeingang EN ist auf TRUE gesetzt und der Parameter Output ist durch einen Ersatzausgangswert festgelegt bei Fehlermeldungen ErrorBits ≥ 16#0001_0000.
-
Freigabeeingang EN ist auf FALSE gesetzt.
Sonst wird der Freigabeausgang ENO auf TRUE gesetzt.
Aufruf
In einem OB oder FC wird SplitRange als Einzelinstanz-DB aufgerufen. In einem FB kann SplitRange sowohl als Einzelinstanz-DB, als auch als ein Multiinstanz-DB und als ein Parameterinstanz-DB aufgerufen werden.
Bei dem Aufruf der Anweisung wird kein Technologieobjekt angelegt. Parametrier- und Inbetriebnahmeoberfläche steht Ihnen nicht zur Verfügung. Sie parametrieren SplitRange direkt über den Instanz-DB und nehmen SplitRange über eine Beobachtungstabelle des Anwenderprogramms in der CPU oder HMI in Betrieb.
Anlauf
Die Variablen im statischen Bereich von SplitRange sind nicht remanent. Diese Variablen werden nach jedem Betriebszustandswechsel der CPU von STOP auf RUN mit den Startwerten initialisiert.
Wenn Sie die Aktualwerte in der Struktur Points im Online-Betrieb ändern und diese Werte nach dem Betriebszustandswechsel der CPU von STOP auf RUN erhalten bleiben sollen, dann sichern Sie diese Werte in den Startwerten des Datenbausteins.
Verhalten im Fehlerfall
Die Anweisung SplitRange erkennt unterschiedliche Fehler, die bei der Berechnung des Ausgangswerts auftreten können. Das Ergebnis der Berechnung kann trotz eines anstehenden Fehlers am Ausgang ausgegeben werden. Wenn keine korrekte Berechnung des Ausgangswerts wegen eines Fehlers möglich ist, dann wird ein Ersatzausgangswert am Ausgang ausgegeben.
An der Variable ErrorMode legen Sie im Fall eines Fehlers, bei dem keine korrekte Berechnung des Ausgangswerts möglich ist, den Ersatzausgangswert folgendermaßen fest:
|
ErrorMode |
Output |
|---|---|
|
0 |
Wert des Parameters Input |
|
1 |
Wert des Parameters SubstituteOutput |
|
2 |
Das letzte gültige Ergebnis der Ausgangswertberechnung 0.0, falls kein gültiges Ergebnis vorhanden |
Folgendes gilt zusätzlich für alle Werte der Variable ErrorMode:
-
Wenn der Ersatzausgangswert kein gültiger REAL-Wert ist, wird 0.0 als Ausgangswert ausgegeben.
-
Der Ersatzausgangswert wird auf den Wertebereich des Datentyps REAL begrenzt. Erst dann wird der Ersatzausgangswert am Parameter Output ausgegeben.
-
Die Variable ErrorMode ist nur dann wirksam, wenn der Parameter Reset = FALSE gesetzt ist. Wenn der Parameter Reset = TRUE gesetzt ist, wird der Wert von Parameter SubstituteOutput am Parameter Output ausgegeben.
Der Parameter Error zeigt, ob aktuell ein Fehler ansteht. Wenn der Fehler nicht mehr ansteht, wird Error auf FALSE gesetzt. Der Parameter ErrorBits zeigt, welche Fehler aufgetreten sind. ErrorBits ist remanent und wird nur durch eine steigende Flanke am Parameter Reset oder ErrorAck zurückgesetzt.