Files
FSI.Tia.V13.Prj/src/FSI Funktionen/Flankenauswertung/Flnk.NrVal.scl
2021-03-29 10:23:01 +02:00

79 lines
1.9 KiB
Plaintext

FUNCTION_BLOCK "Flnk.NrVal"
{ S7_Optimized_Access := 'FALSE' }
AUTHOR : FSI
VERSION : 0.1
VAR_INPUT
I_Val : DInt;
END_VAR
VAR_OUTPUT
O_Flnk : Bool;
O_FlnkPos : Bool;
O_FlnkNeg : Bool;
END_VAR
VAR
flk : "Flnk";
flkPos : "Flnk";
flkNeg : "Flnk";
altVal : DInt;
END_VAR
BEGIN
(*#################################################################################################
Copyright (c) Fondium Singen GmbH
### Änderungshistorie ###
Datum: Version: Bearbeiter: Beschreibung:
10.10.2019 0.0 St. Maier Neuerstellung
11.10.2019 0.1 St. Maier Überarbeitung Kopf damit TIA kompatibel
#################################################################################################*)
(*################################### Baustein Beschreibung #######################################
Abhängigkeiten (von anderen Fuktionen und Quellen):
- keine
Inputs:
-
Outputs:
-
In-\Outputs:
-
Return-Value:
-
Funktionsbeschreibung:
Flankenauswertung eines numerischen Signals.
#################################################################################################*)
// positive Werteänderung
#flkPos(I_Val := #I_Val > #altVal // IN: BOOL
);
// negative Werteänderung
#flkNeg(I_Val := #I_Val < #altVal// IN: BOOL
);
// Ausgabe
#O_Flnk := #flkPos.O_FlnkPos OR #flkNeg.O_FlnkPos; // Impuls bei positiver und negativer Werteänderung
#O_FlnkPos := #flkPos.O_FlnkPos; // Impuls bei positiver Werteänderung
#O_FlnkNeg := #flkNeg.O_FlnkPos; // Impuls bei negativer Werteänderung
#altVal := #I_Val;
END_FUNCTION_BLOCK