LGF_CompareLReal (FC / V3.0.1)


Author: Siemens Digital Industry

Short description

This function checks floating point numbers for equality, by using an approximation formula and a fixed precision by constant 1.0E-12 (pico)

Block Interface

LGF_CompareLReal (FC)
LReal  valueA Ret_Val  Bool
    
LReal  valueB   
    
   

Input parameter

IdentifierData typeDescription
valueALRealFirst LREAL number to be compared.
valueBLRealSecond LREAL number to be compared.

Output parameter

IdentifierData typeDescription
Ret_ValBoolFALSE: not equalTRUE: approximately the same

Functional description

The comparison of the LREAL numbers is based on an fixed accuracy of 1.0E-12. The difference between the two input values must be smaller than the PRECISION accuracy multiplied by one of the two input values.

Equation:

result := ABS(valueA - valueB) <= (PRECISION * ABS(valueA))
Note
If your application requires a different accuracy when comparing the numbers, adapt the “PRECISION” constant in the function to your requirements.
Or you may use the FC LGF_CompareLRealByPrecision.

Change log

Version & DateChange description
01.00.00Siemens Industry Online Support
13.01.2017First released version
01.00.01Siemens Industry Online Support
17.08.2018Upgrade: TIA V15 Update 2
01.00.02Siemens Industry Online Support
23.11.2018Upgrade: TIA V15.1
01.00.03Simatic Systems Support
03.06.2019Refactoring and performance improvment
Delete Error and Status there is no need for,
because of changed / adjusted algorithm
add eno handling
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