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