LGF_CompareLRealByPrecision (FC / V3.0.2)

Übersicht

Autor: Siemens Digital Industry

Kurzbeschreibung

Diese Funktion überprüft zwei LREAL-Zahlen auf ihre Gleichheit über eine Näherungsformel und eine Konstante Präzision von 1.0E-12 (pico)

Baustein Schnittstelle

LGF_CompareLRealByPrecision (FC)
LReal  valueA Ret_Val  Bool
    
LReal  valueB   
    
LReal  precision   
    
   

Input Parameter

BezeichnerDatentyp Beschreibung
valueALReal Erste LREAL-Zahl, die verglichen werden soll.
valueBLReal Zweite LREAL-Zahl, die verglichen werden soll.
precisionLReal Genauigkeit mit der die beiden Werte verglichen werden.

Output Parameter

BezeichnerDatentyp Beschreibung
Ret_ValBool FALSE: ungleich
TRUE: näherungsweise gleich

Funktionsbeschreibung

Der Vergleich der LREAL-Zahlen basiert auf einer Genauigkeit die durch den Parameter precision vorgeben wird. Die Differenz der beiden Eingangswerte muss kleiner sein als die Genauigkeit precisionmultipliziert mit einem der beiden Eingangswerte.

Gleichung:

result := FALSE OR ((#valueA = 0.0) AND (ABS(#valueB) <= #precision)) OR ((#valueB = 0.0) AND (ABS(#valueA) <= #precision)) OR (ABS(#valueA - #valueB) <= (#precision * ABS(#valueA)));

Änderungshistorie

Version & DatumÄnderungsbeschreibung
01.00.00Simatic Systems Support
03.06.2019First released version
function besad on `LGF_CompareLReal`
03.00.00Simatic Systems Support
23.04.2020Set version to V3.0.0, harmonize the version of the whole library
03.00.01Simatic Systems Support
19.01.2020Insert documentation
03.00.02Simatic Systems Support
21.12.2023Fix compare error if one value is exactly zero