LGF_MatrixSubtraction (FC / V3.0.1)


Autor: Siemens Digital Industries

Kurzbeschreibung

Diese Funktion subtrahiert eine Matrix vom Datentyp ARRAY[*,*] of LREAL von einer anderen.

Die einzelnen Felder der zwei Matrizen werden gelesen, subtrahiert und anschließend in der Matrix matrixResult" ausgegeben.

result = \begin{bmatrix} a_{11} & \cdots & a_{1n} \\ \vdots & \ddots & \vdots \\ a_{m1} & \cdots & a_{mn} \end{bmatrix} - \begin{bmatrix} b_{11} & \cdots & b_{1n} \\ \vdots & \ddots & \vdots \\ b_{m1} & \cdots & b_{mn} \end{bmatrix} = \begin{bmatrix} a_{11}-b_{11} & \cdots & a_{1n}-b_{1n} \\ \vdots & \ddots & \vdots \\ a_{m1}-b_{m1} & \cdots & a_{mn}-b_{mn} \end{bmatrix}
Hinweis
Beachten Sie, dass alle Ein- und Ausgangsmatrizen die gleiche Anzahl an Spalten und Zeilen haben müssen.

Baustein Schnittstelle

LGF_MatrixSubtraction (FC)
   Ret_Val  Void
    
   error  Bool
    
   status  Word
    
Array[*, *] of LReal  matrix1  Array[*, *] of LReal
       
Array[*, *] of LReal  matrix2  Array[*, *] of LReal
       
Array[*, *] of LReal  matrixResult  Array[*, *] of LReal
       
   

Output Parameter

BezeichnerDatentypBeschreibung
Ret_ValVoidVoid - Funktion hat keinen Rückgabewert
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)

In/Out Parameter

BezeichnerDatentypBeschreibung
matrix1Array[*, *] of LRealErste Matrix - Minuend
matrix2Array[*, *] of LRealZweite Matrix - Subtrahend
matrixResultArray[*, *] of LRealSummen Matrix

Status & Error Meldungen

Code / WertBezeichner / Beschreibung
16#0000STATUS_NO_ERROR
Abarbeitung ohne Fehler beendet
16#8200ERR_MATR1_LOWBOUND_ROWS_MATR2_LOWBOUND_ROWS
Error: Untere Grenzen rows(Dim1) der Arrays von Matrix1 und Matrix2 sind unterschiedlich.
16#8201ERR_MATR1_LOWBOUND_ROWS_RESMATR_LOWBOUND_ROWS
Error: Untere Grenzen rows(Dim1) der Arrays von Matrix1 und Result Matrix sind unterschiedlich.
16#8202ERR_MATR1_LOWBOUND_COLUMNS_MATR2_LOWBOUND_COLUMNS
Error: Untere Grenzen columns(Dim2) der Arrays von Matrix1 und Matrix2 sind unterschiedlich.
16#8203ERR_MATR1_LOWBOUND_COLUMNS_RESMATR_LOWBOUND_COLUMNS
Error: Untere Grenzen columns(Dim2) der Arrays von Matrix1 und Result Matrix sind unterschiedlich.
16#8204ERR_MATR1_UPPBOUND_ROWS_MATR2_UPPBOUND_ROWS
Error: Obere Grenzen rows(Dim1) der Arrays von Matrix1 und Matrix2 sind unterschiedlich.
16#8205ERR_MATR1_UPPBOUND_ROWS_RESMATR_UPPBOUND_ROWS
Error: Obere Grenzen rows(Dim1) der Arrays von Matrix1 und Result Matrix sind unterschiedlich.
16#8206ERR_MATR1_UPPBOUND_COLUMNS_MATR2_UPPBOUND_COLUMNS
Error: Obere Grenzen columns(Dim2) der Arrays von Matrix1 und Matrix2 sind unterschiedlich.
16#8207ERR_MATR1_UPPBOUND_COLUMNS_RESMATR_UPPBOUND_COLUMNS
Error: Obere Grenzen columns(Dim2) der Arrays von Matrix1 und Result 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.06Simatic Systems Support
07.10.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