SCALE: Wert skalieren (STEP 7 Safety V20) - Safety

Anweisungen STEP 7 Safety V20

ft:publication_title
Anweisungen STEP 7 Safety V20
Product
Safety
Version
V20
Publication date
10/2024
Language
de-DE
SCALE: Wert skalieren (STEP 7 Safety V20)

Beschreibung

Diese Anweisung skaliert den Wert am Eingang IN in physikalischen Einheiten zwischen dem unteren Grenzwert am Eingang LO_LIM und dem oberen Grenzwert am Eingang HI_LIM. Es wird angenommen, dass der Wert am Eingang IN zwischen 0 und 27648 liegt. Das Ergebnis der Skalierung wird am Ausgang OUT bereitgestellt.

Die Anweisung arbeitet mit der folgenden Gleichung:

OUT = [ IN × (HI_LIM – LO_LIM) ] / 27648 + LO_LIM

Solange der Wert am Eingang IN größer ist als 27648, wird der Ausgang OUT an HI_LIM gebunden und OUT_HI auf 1 gesetzt.

Solange der Wert am Eingang IN kleiner ist als 0, wird der Ausgang OUT an LO_LIM gebunden und OUT_LO auf 1 gesetzt.

Zum umgekehrten Skalieren müssen Sie LO_LIM > HI_LIM parametrieren. Beim umgekehrten Skalieren verringert sich der Ausgabewert am Ausgang OUT, während der Eingabewert am Eingang IN zunimmt.

Jedem Aufruf der Anweisung "Wert skalieren" muss ein Datenbereich zugeordnet werden, in dem die Anweisungsdaten gespeichert werden. Dazu wird beim Einfügen der Anweisung im Programm automatisch der Dialog "Aufrufoptionen" geöffnet, in dem Sie einen Datenbaustein (Einzelinstanz) (z. B. SCALE_DB_1) oder eine Multiinstanz (z. B. SCALE_Instance_1) für die Anweisung "Wert skalieren" erstellen können. Nach dem Erstellen finden Sie den neuen Datenbaustein in der Projektnavigation im Ordner "STEP 7 Safety" unter "Programmbausteine > Systembausteine" oder die Multiinstanz als lokale Variable im Abschnitt "Static" der Schnittstelle des Bausteins. Weitere Informationen dazu finden Sie in der Hilfe zu STEP 7.

Die Beschaltung des Freigabeeingangs "EN" bzw. des Freigabeausgangs "ENO" ist nicht möglich. Somit wird die Anweisung (unabhängig vom Signalzustand am Freigabeeingang "EN") immer ausgeführt.

Parameter

Die folgende Tabelle zeigt die Parameter der Anweisung:

Parameter

Deklaration

Datentyp

Beschreibung

IN

Input

INT

Eingabewert, der in physikalischen Einheiten skaliert werden soll

HI_LIM

Input

INT

Oberer Grenzwert des Wertebereichs von OUT

LO_LIM

Input

INT

Unterer Grenzwert des Wertebereichs von OUT

OUT

Output

INT

Ergebnis der Skalierung

OUT_HI

Output

BOOL

1 = Eingabewert > 27648: OUT = HI_LIM

OUT_LO

Output

BOOL

1 = Eingabewert < 0: OUT = LO_LIM

Anweisungsversionen

Für diese Anweisung stehen mehrere Versionen zur Verfügung:

Version

S7-300/400

S7-1200 G1

S7-1200 G2

S7-1500

Funktion

1.0

x

Bei der Migration von Projekten, die mit S7 Distributed Safety V5.4 SP5 erstellt wurden, wird automatisch die Version 1.0 der Anweisung verwendet.

Wenn Sie ein migriertes Sicherheitsprogramm mit STEP 7 Safety Advanced erstmalig übersetzen wollen, empfehlen wir Ihnen, zuvor die Version der Anweisung auf die höchste verfügbare Version umzustellen.

1.1

x

o

Diese Versionen sind funktional identisch zur Version 1.0.

1.2

x

x

x

x

Beim Anlegen einer neuen F-CPU mit STEP 7 Safety ist automatisch die höchste für die angelegte F-CPU verfügbare Version voreingestellt.

Weitere Informationen zur Verwendung von Anweisungsversionen erhalten Sie in der Hilfe zu STEP 7 unter "Anweisungsversionen verwenden".

Verhalten bei Über- oder Unterlauf von Analogwerten und Ersatzwertausgabe

Hinweis

Wenn als Eingabewerte Eingänge aus dem PAE einer SM 336; AI 6 x 13Bit oder SM 336; F-AI 6 x 0/4 ... 20 mA HART verwendet werden, müssen Sie beachten, dass der Über- oder Unterlauf eines Kanals dieser F‑SM vom F‑System als F‑Peripherie-/Kanalfehler erkannt wird. Im PAE für das Sicherheitsprogramm wird anstelle 7FFFH (für Überlauf) bzw. 8000H (für Unterlauf) der Ersatzwert 0 bereitgestellt.

Wenn in diesem Fall andere Ersatzwerte ausgegeben werden sollen, müssen Sie das QBAD-Signal der zugehörigen F‑Peripherie bzw. das QBAD_I_xx-Signal/den Wertstatus des zugehörigen Kanals auswerten.

Wenn der Wert im PAE der F‑SM innerhalb des Über- oder Untersteuerungsbereiches liegt, aber > 27648 bzw. < 0 ist, dann können Sie durch Auswerten der Ausgänge OUT_HI bzw. OUT_LO ebenfalls zur Ausgabe eines individuellen Ersatzwertes verzweigen.

Beispiel

Das folgende Beispiel zeigt die Funktionsweise der Anweisung:

Wenn der Operand "TagIn_Value" = 20000 ergibt sich für ""F_DB_1".TagOut_Value" 361.