LGF_SearchMinMax (FC / V3.0.1)


Autor: Siemens Digital Industries

Kurzbeschreibung

Die Funktion sucht in einem Array vom Datentyp DInt den Maximal und Minimalwert sowie den jeweiligen Index im Array.

Folgende Datentypen der Array-Elemente werden unterstützt:
Int, DInt, UInt, UDInt, USInt, SInt und Real.

Baustein Schnittstelle

LGF_SearchMinMax (FC)
Variant  variableArray Ret_Val  Void
    
   minValue  Variant
    
   minValueIndex  DInt
    
   maxValue  Variant
    
   maxValueIndex  DInt
    
   error  Bool
    
   status  Word
    
   subfunctionStatus  Word
    
   

Input Parameter

BezeichnerDatentypBeschreibung
variableArrayVariantArray in dessen Feldern das Maximum und Minimum gesucht wird

Output Parameter

BezeichnerDatentypBeschreibung
Ret_ValVoidVoid - Funktion hat keinen Rückgabewert
minValueVariantGefundener Minimal Wert im Array
minValueIndexDIntIndex des gefundenen Minimalwerts im Array.
Der Startindex des Arrays plus `minValueIndex` ergibt den Arrayindex des kleinsten Wertes. Der Index beginnt mit 0.
maxValueVariantGefundener Maximal Wert im Array
maxValueIndexDIntIndex des gefundenen Maximalwerts im Array.
Der Startindex des Arrays plus `maxValueIndex` ergibt den Arrayindex des kleinsten Wertes. Der Index beginnt mit 0.
errorBoolFALSE: Kein Fehler
TRUE: Während der Ausführung des FB ist ein Fehler aufgetreten
statusWord16#0000-16#7FFF: Status des FB
16#8000-16#FFFF: Fehleridentifikation (siehe folgende Tabelle)
subfunctionStatusWordStatus oder Rückgabewert von aufgerufenen FB's / FC's und Systemfunktionen

Status & Error Meldungen

Code / WertBezeichner / Beschreibung
16#0000STATUS_NO_ERROR
Abarbeitung ohne Fehler beendet
16#8200ERR_NO_ARRAY
Fehler: Am Eingang `variableArray` ist der Aktualparameter kein Array.
16#8201ERR_WRONG_TYPE
Fehler: Der Datentyp der Elemente des Arrays wird nicht unterstützt. Es werden nur die Datentypen Int, UInt, DInt, UDInt, USInt, SInt und Real unterstützt.
16#8202ERR_NOT_EQUAL_TYPES
Fehler: Die Elemente des Arrays haben nicht den gleichen Datentyp wie die Ausgänge `minValue` und `maxValue`
16#8203ERR_MOVE_BLK_VARIANT
Fehler: Funktionsaufruf `MOVE_BLK_VARIANT` endet mit Fehler - weitere infos in `subFunctionStatus`

Funktionsbeschreibung

Hinweis
In subFunctionStatus wird der Status von aufgerufenen Anweisungen ausgegeben. Der Ausgangswert in status gibt in diesem Fall an, welche Anweisung den Fehler verursacht hat. Holen Sie sich in diesem Fall die Informationen aus der TIA Portal Online Hilfe zu den jeweiligen Anweisungen.

Über den Eingang variableArray wird ein Array beliebiger Größe angeschlossen. Nach einer Datentypabfrage im Baustein, werden die Elemente der Reihe nach in eine Variable des entsprechenden Typs kopiert und verglichen. Ausgegeben werden der kleinste und größte Wert sowie deren zugehöriger Index im Array.

Hinweis
Folgende Datentypen der Array-Elemente werden unterstützt:
Int, DInt, UInt, UDInt, USInt, SInt und Real.

Hinweis
Bei mehreren gleichen Min- bzw. Max-Werten wird der Index des ersten Min- bzw. Max-Wertes ausgegeben.

Änderungshistorie

Version & DatumÄnderungsbeschreibung
01.00.00Siemens Industry Online Support
19.08.2015First released version
01.00.01Siemens Industry Online Support
02.01.2017Upgrade: TIA Portal V14 Update 1
01.00.02Siemens Industry Online Support
17.08.2018Upgrade: TIA V15 Update 2
01.00.03Siemens Industry Online Support
23.11.2018Upgrade: TIA V15.1
01.01.00Siemens Industry Presales Support
08.11.2019Code refactoring, regions and more comments added
03.00.00Siemens Industry Support
23.04.2020Set version to V3.0.0, harmonize the version of the whole library
03.00.01Simatic Systems Support
09.02.2021Rework constants and comments
Insert documentation