LGF_Boxplot_UDInt (FB / V3.0.1)


Autor: Siemens Digital Industry

Kurzbeschreibung

Wenn Sie sich einen Überblick über bestehende Daten verschaffen wollen, dann können Sie ein Boxplot-Diagramm verwenden. Ein Boxplot zeigt Ihnen, in welchem Bereich die Daten liegen und wie sie sich über diesen Bereich verteilen. Ein Boxplot besteht aus den folgenden Kenngrößen:

Abbildung: Boxplot

LGF_Boxplot

WinCC-Control

Zur Visualisierung des Boxplots bietet Ihnen der Siemens Industry Online Support ein .Net-Control, dass Sie in Verbindung mit WinCC Runtime Professional nutzen können. Di WinCC Controls finden Sie im UserFiles Ordner dieser Bibliothek.

Abbildung: .Net Control "Boxplot"

LGF_Boxplot - WinCC .NET Control


Baustein Schnittstelle

LGF_Boxplot_UDInt (FB)
Bool  execute error  Bool
    
LReal  rangeOutlier status  Word
    
   subfunctionStatus  Word
    
   outlierMax  LReal
    
   max  UDInt
    
   q75  LReal
    
   median  LReal
    
   q25  LReal
    
   min  UDInt
    
   outlierMin  LReal
    
   skewness  LReal
    
Array[*] of UDInt  values  Array[*] of UDInt
       
   

Input Parameter

BezeichnerDatentypDefault WertBeschreibung
executeBoolFALSEAktivierung der Berechnung mit jeder positiven Flanke.
rangeOutlierLReal1.5Ausreißer Erkennung:
* 0: Ausreißer Erkennung ist deaktiviert
* 0-1: Wert ist ungültig
* >1: Ausreißer Erkennung ist aktiviert.

Output Parameter

BezeichnerDatentypBeschreibung
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
outlierMaxLRealObere Ausreißer in %.
maxUDIntMaximaler Wert, der kein Ausreißer ist.
q75LReal3.Quartil oder Q75 der Datenreihe.
medianLReal2.Quartil oder Median der Datenreihe.
q25LReal1.Quartil oder Q25 der Datenreihe.
minUDIntMinimaler Wert, der kein Ausreißer ist.
outlierMinLRealUntere Ausreißer in %.
skewnessLRealSchiefe der Datenreihe.

In/Out Parameter

BezeichnerDatentypBeschreibung
valuesArray[*] of UDIntDas Array der Datenreihe, mit der gerechnet werden soll.

Status & Error Meldungen

Code / WertBezeichner / Beschreibung
16#0000STATUS_EXECUTION_FINISHED
Status: Abarbeitung ohne Fehler beendet
16#7000STATUS_NO_CALL
Status: Kein Aufruf. Der Baustein wartet auf die Aktivierung durch den Parameter `enable`.
16#7001STATUS_FIRST_CALL
Status: Erstaufruf des FB nach einschalten
16#8200ERR_NEG_ARR_BOUND
Fehler: Negative Array-Grenze nicht zulässig. Prüfen Sie das Array am Eingang `values`.
16#8600ERR_SHELL_SORT
Fehler: Fehler in Anweisung `LGF_ShellSort_UDInt`. Weitere Infos in `subFunctionStatus`
16#9101ERR_RANGE_NOT_OK
Fehler: Der Parameter `rangeOutlier` ist ungültig. Geben Sie dem Parameter `rangeOutlier` einen gültigen Wert: * 0: Ausreißer Erkennung deaktiviert * >1 gültiger Wert.

Funktionsbeschreibung

Der Baustein sortiert die Datenreihe und berechnet anschließend die sogenannte "Fünf-Punkte-Zusammenfassung":

Tabelle: Fünf-Punkte-Zusammenfassung

Kennwert der Fünf-Punkte-Zusammenfassung Ausgangsparameter des Bausteins
Minimum (kleinster auftretender Wert der Stichprobe) min
Unteres oder erstes Quartil (unterhalb dieses Wertes liegen 25% der Stichproben-Werte) q25
Median oder zweites Quartil (unterhalb diesem Wert liegen 50% der Stichproben-Werte) median
Oberes oder drittes Quartil (unterhalb diesem Wert liegen 75% der Stichproben-Werte) q75
Maximum (größter auftretender Wert der Stichprobe) max

Der Baustein berechnet, falls die Ausreißer Erkennung aktiviert ist, zuerst die Grenzen. Ab diesen Grenzwerten werden die Werte als Ausreißer erkannt:

Bound^{upper} = q_{75} + rangeOutlier \cdot (q_{75} - q_{25})

Bound_{lower} = q_{25} - rangeOutlier \cdot (q_{75} - q_{25})

Anschließend berechnet der Baustein neue Werte für die Parameter max und min, die innerhalb der Ausreißer Grenzen liegen. Die Ausreißer werden gezählt und in Prozent ausgegeben.


Um leichter beurteilen zu können, wie die Daten verteilt sind, berechnet der Baustein ebenfalls die Schiefe. Die Schiefe liegt zwischen den Werten -1 und 1 mit folgender Bedeutung:

Die Elemente des übergebenen Arrays werden vom Baustein aufsteigend sortiert. Zur Sortierung wird der LGF_Shellsort_UDInt Baustein verwendet.

Die Kenngrößen werden folgendermaßen berechnet:

Tabelle: Formeln Boxplot Parameter Formel

Parameters Formula
q25 (1.Quartil) q_{25} = x_{(k)} \qquad with \qquad k = \frac{\left[ \frac{1}{2} (n+1) \right] + 1}{2} = \frac{n + 3}{4}
q50 (2.Quartil) median q_{50} = x_{(\frac{n+1}{2})}
q75 (3.Quartil)

q_{75} = x_{(n+1-k)} \qquad with \qquad (n + 1 - k) = \frac{3n+1}{4}

n := Anzahl der Stichproben (Größe des Arrays)

Ist das Ergebnis des zu ermittelnden Elements (aus dem sich das Quartil ableiten lässt) nicht ganzzahlig, errechnet sich das Quartil aus dem linearen Anteil zwischen den beiden benachbarten Stichproben.

skewness

skewness= \frac{(q_{75} + q_{25}) - 2 \cdot q_{50}}{q_{75} - q_{25}}

Hinweis: Dies ist lediglich eine Näherungsformel.

Änderungshistorie

Version & DatumÄnderungsbeschreibung
01.00.00Siemens Industry Online Support
05.11.2019First released version
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
06.04.2021Insert documentation