79 lines
1.9 KiB
Plaintext
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
|
|
|