SUB-Baustein
Kurz-Information
Name |
SUB |
→POE-Typ |
|
Kategorie |
|
Konform zur →IEC-Norm |
derzeit eingeschränkt |
Grafische Schnittstelle |
|
Verfügbar ab |
|
Funktionalität
Die mathematische Funktion Subtraktion wird aufgerufen: Der Baustein liefert die Differenz für IN1 – IN2.
Keine Prüfung von ungültigen Beschaltungen
Bei einigen Bausteinen werden ungültige Beschaltungen von logi.CAD 3 nicht geprüft. Geben Sie deshalb Code in Ihrer Anwendung ein (z.B. IF-Anweisungen im ST-Code), mit denen ungültige Beschaltungen erkannt werden. Siehe "Beispiele für ungültige Beschaltungen".
Lesen Sie unter "IEC-Bausteine für die Anwendung" nach, welche Auswirkungen eine ungültige Beschaltung haben könnte.
Eingänge, Ergebniswert
|
Bezeichner |
Beschreibung |
|
Eingänge: |
IN1 |
REAL, LREAL, USINT, UINT, UDINT, ULINT, SINT, INT, DINT, LINT oder TIME |
1. Wert |
IN2 |
REAL, LREAL, USINT, UINT, UDINT, ULINT, SINT, INT, DINT, LINT oder TIME |
2. Wert |
|
Ergebniswert: |
– |
REAL, LREAL, USINT, UINT, UDINT, ULINT, SINT, INT, DINT, LINT oder TIME |
|
Der Eingang EN und der Ausgang ENO sind für den →Aufruf
des Bausteins verfügbar. Siehe "Ausführungssteuerung: EN, ENO" für Informationen zum Eingang EN und zum Ausgang ENO.
Informieren Sie sich unter:
"Bausteine für sichere Logik", ob dieser Baustein für das Entwickeln von sicherheitsrelevanten Anwendungen unterstützt wird.
"Kennzeichnung von sicherer Logik im FBS-Editor", welche Auswirkung die Verwendung des Bausteins als Baustein für sichere Logik hat.
Beispiel für Verwendung im ST-Editor
PROGRAM Test
VAR
result : REAL;
END_VAR
result := SUB(IN1 :=
4.0
, IN2 :=
3.0
); (* The variable
'result'
evaluates to
'1.0'
. *)
END_PROGRAM
Bei der Erstellung Ihrer Anwendung im ST-Editor erstellen Sie den Aufruf eines Bausteins, indem Sie den laut Syntax erforderlichen Text eintippen oder die Inhaltshilfe verwenden.
Beispiele für ungültige Beschaltungen
Während der Berechnung mit Hilfe von SUB kann aufgrund
eines
→Überlaufs
oder →Unterlaufs
eine ungültige Beschaltung entstehen.
SUB(IN1 := SINT#100, IN2 := SINT#-50);
(* Overflow: '100 - -50' would evaluate to '150' but calculates '-106'. Upper limit for SINT is '127'. *)
SUB(IN1 := SINT#-100, IN2 := SINT#50);
(* Negative overflow: '-100 - 50' would evaluate to '-150' but calculates '106'. Lower limit for SINT is '-128'. *)