LGF_MatrixInverse (FC / V3.0.1)

Übersicht

Autor: Siemens Digital Industry

Kurzbeschreibung

Die Funktion invertiert eine quadratische Matrix vom Datentyp ARRAY[*,*] of LREAL. Die quadratische Matrix beliebiger Größe wird nach dem nach dem Shipley-Coleman Verfahren invertiert.

matrixResult = matrix^{-1}
Hinweis
Beachten Sie, dass die Eingangsmatrix quadratisch sein muss. Dies bedeutet, die Anzahl der Zeilen muss gleich der Anzahl der Spalten sein. Die Ausgangsmatrix muss genauso groß sein und die gleichen Array-Grenzen haben, wie die Eingangsmatrix.

Baustein Schnittstelle

LGF_MatrixInverse (FC)
   Ret_Val  Void
    
   error  Bool
    
   status  Word
    
Array[*, *] of LReal  matrix  Array[*, *] of LReal
       
Array[*, *] of LReal  matrixResult  Array[*, *] of LReal
       
   

Output Parameter

BezeichnerDatentyp Beschreibung
Ret_ValVoid Void - Funktion hat keinen Rückgabewert
errorBool FALSE: Kein Fehler
TRUE: Während der Ausführung des FB ist ein Fehler aufgetreten
statusWord 16#0000-16#7FFF: Status des FB
16#8000-16#FFFF: Fehleridentifikation (siehe folgende Tabelle)

In/Out Parameter

BezeichnerDatentyp Beschreibung
matrixArray[*, *] of LReal Quadratische Eingangsmatrix die invertiert wird (Array[0..x,0..x] of REAL)
matrixResultArray[*, *] of LReal Invertierte Matrix

Status & Error Meldungen

Code / WertBezeichner / Beschreibung
16#0000STATUS_NO_ERROR
Abarbeitung ohne Fehler beendet
16#8200ERR_NOT_SQUARE_MATRIX
Error: Die Matrix ist nicht Quatratisch (Spalten und Zeilenanzahl müssen übereinstimmen)
16#8201ERR_ALGORITHM_NOT_POSSIBLE
Die matrix Determinante is NULL, Invertierung nicht möglich für diese Matrix, die Matrix hat keine Inverse
16#8202ERR_MATR1_LOWBOUND_ROWS_RESMATR_LOWBOUND_ROWS
Error: Untere Grenzen der Zeilen (Dim1) der Arrays von Matrix1 und Ergebnis Matrix sind unterschiedlich.
16#8203ERR_MATR1_LOWBOUND_COLUMNS_RESMATR_LOWBOUND_COLUMNS
Error: Untere Grenzen der Spalten (Dim2) der Arrays von Matrix1 und Ergebnis Matrix sind unterschiedlich.
16#8204ERR_MATR1_UPPBOUND_ROWS_RESMATR_UPPBOUND_ROWS
Error: Obere Grenzen der Zeilen (Dim1) der Arrays von Matrix1 und Ergebnis Matrix sind unterschiedlich.
16#8205ERR_MATR1_UPPBOUND_COLUMNS_RESMATR_UPPBOUND_COLUMNS
Error: Obere Grenzen der Spalten (Dim2) der Arrays von Matrix1 und Ergebnis Matrix sind unterschiedlich.

Ä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
02.00.00Siemens Industry Online Support
06.02.2017Functionality using Array[*,*]
02.00.01Siemens Industry Online Support
17.08.2018Upgrade: TIA V15 Update 2
02.00.02Siemens Industry Online Support
23.11.2018Upgrade: TIA V15.1
02.00.05Simatic Systems Support
13.11.2019Regions, comments and constants are added
Moved matrices to IO field.
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
02.02.2020Insert documentation