# LGF_MatrixScalarMultiplication (FC / 3.0.2)

Übersicht

Autor: Siemens Digital Industries

## Kurzbeschreibung

Dieser Baustein multipliziert eine Matrix vom Datentyp `ARRAY[*,*] of LREAL` mit einem Skalar.

Beispiel für 2x2-Matrix:

B = b * A = \begin{bmatrix} b*a_{11} & b*a_{12} \\ b*a_{21} & b*a_{22} \end{bmatrix}

Eine Matrix wird mit einem Skalar multipliziert, indem man jedes Matrixelement mit dem Skalar multipliziert. Das Ergebnis wird in der `matrixResult` Matrix ausgegeben.

Hinweis
  Beachten Sie, dass die Ein- und Ausgangsmatrix die gleiche Anzahl an Spalten und Zeilen haben muss.

### Baustein Schnittstelle

| LGF_MatrixScalarMultiplication (FC) |
--- | --- | ---
LReal |  |  | scalar |  | Ret_Val |  |  | Void
|  |  |  |  | error |  |  | Bool
|  |  |  |  | status |  |  | Word
Array[*, *] of LReal |  |  | matrixInput |  |  | Array[*, *] of LReal
Array[*, *] of LReal |  |  | matrixResult |  |  | Array[*, *] of LReal

### Input Parameter

Bezeichner | Datentyp | Beschreibung
--- | --- | ---
scalar | LReal | Skalar Wert mit dem die Elemente der Matrix multipliziert werden

### Output Parameter

Bezeichner | Datentyp | Beschreibung
--- | --- | ---
Ret_Val | Void | Void - Funktion hat keinen Rückgabewert
error | Bool | FALSE: Kein Fehler TRUE: Während der Ausführung des FB ist ein Fehler aufgetreten
status | Word | 16#0000-16#7FFF: Status des FB 16#8000-16#FFFF: Fehleridentifikation (siehe folgende Tabelle)

### In/Out Parameter

Bezeichner | Datentyp | Beschreibung
--- | --- | ---
matrixInput | Array[*, *] of LReal | Zu multiplizierende Matrix
matrixResult | Array[*, *] of LReal | Die resultierende ergebniss Matrix

### Status & Error Meldungen

Code / Wert | Bezeichner / Beschreibung
--- | ---
16#0000 | STATUS_NO_ERROR Abarbeitung ohne Fehler beendet
16#8201 | ERR_MATRICES_LOWER_BOUND_ROWS_DONT_MATCH Error: Matrix Untergrenzen der Zeilen(Dim1) stimmen nicht überein.
16#8202 | ERR_MATRICES_UPPER_BOUND_ROWS_DONT_MATCH Error: Matrix Obergrenzen der Zeilen(Dim1) stimmen nicht überein.
16#8203 | ERR_MATRICES_LOWER_BOUND_COLUMNS_DONT_MATCH Error: Matrix Untergrenzen der Spalten(Dim2) stimmen nicht überein.
16#8204 | ERR_MATRICES_UPPER_BOUND_COLUMNS_DONT_MATCH Error: Matrix Obergrenzen der Spalten(Dim2) stimmen nicht überein.

## Änderungshistorie

Version & Datum | Änderungsbeschreibung
--- | ---
| 1.0.0 | Simatic Systems Support
| 11.12.2019 | First released version based on "LGF_MatrixMultiplication"
| 3.0.0 | Simatic Systems Support
| 23.04.2020 | Set version to V3.0.0, harmonize the version of the whole library
| 3.0.1 | Simatic Systems Support
| 02.02.2020 | Insert documentation
| 3.0.2 | Simatic Systems Support
| 18.07.2020 | Fix bug regarding wrong calculation