LGF_MatrixInverse (FC / V3.0.1)

Overview

Author: Siemens Digital Industry

Short description

This function inverts a square matrix of the data type ARRAY[*,*] of LREAL.
The square matrix of any size will be inverted according to the Shipley-Coleman method.

matrixResult = matrix^{-1}
Note
Note that the input matrix must be square. This means that the number of rows must be equal to the number of columns. The output matrix must be the same size and have the same array boundaries as the input matrix.

Block Interface

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

IdentifierData type Description
Ret_ValVoid Void - Function has no return value
errorBool FALSE: No error
TRUE: An error occurred during the execution of the FB
statusWord 16#0000-16#7FFF: Status of the FB
16#8000-16#FFFF: Error identification (see following Table)

In/Out parameter

IdentifierData type Description
matrixArray[*, *] of LReal Square input matrix that will be inversed (Array[0..x, 0..x] of REAL)
matrixResultArray[*, *] of LReal Inverted matrix

Status & Error codes

Code / ValueIdentifier / Description
16#0000STATUS_NO_ERROR
Execution finished without errors
16#8200ERR_NOT_SQUARE_MATRIX
Error: Matrix is not square (number of rows equals number of colums)
16#8201ERR_ALGORITHM_NOT_POSSIBLE
Matrix determinant is zero. Inversion is not possible for this matrix
16#8202ERR_MATR1_LOWBOUND_ROWS_RESMATR_LOWBOUND_ROWS
Error: Matrix1 lower bound rows(Dim1) size is different with Result Matrix lower bound rows(Dim1)
16#8203ERR_MATR1_LOWBOUND_COLUMNS_RESMATR_LOWBOUND_COLUMNS
Error: Matrix1 lower bound columns(Dim2) size is different with Result Matrix lower bound columns(Dim2)
16#8204ERR_MATR1_UPPBOUND_ROWS_RESMATR_UPPBOUND_ROWS
Error: Matrix1 upper bound rows(Dim1) size is different with Result Matrix upper bound rows(Dim1)
16#8205ERR_MATR1_UPPBOUND_COLUMNS_RESMATR_UPPBOUND_COLUMNS
Error: Matrix1 upper bound columns(Dim2) size is different with Result Matrix upper bound columns(Dim2)

Change log

Version & DateChange description
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