Class Hysterese
- java.lang.Object
-
- de.bsvrz.ibv.uda.interpreter.daten.hysterese.Hysterese
-
public class Hysterese extends java.lang.Object implements Struktur, Kopierbar
Die Klasse repräsentiert ein Hystereseobjekt innerhalb eines Uda-Skript-Interpreters.
Ein Hysteresobjekt dient der Klassifizierung von kontinuierlichen Eingangsgrößen in stufenorientierte Größen.
Das Objekt implementiert die Schnittstelle Struktur, um den Zugriff auf Elemente des Objekts über Namen zu realisieren. Folgende Elemente können abgefragt werden:- stufen - liefert die Stufen des Hysteresobjekte
-
-
Constructor Summary
Constructors Constructor Description Hysterese(HystereseStufe[] stufen)
Konstruktor mit Angabe eines Feldes von Hysteresestufen.
-
Method Summary
Modifier and Type Method Description Kopierbar
erzeugeKopie()
die Funktion erzeugt eine Kopie des Objekts ubd liefert diese zurück.java.lang.Object
getStrukturElement(java.lang.String name)
Die Funktion liefert das über den übergebenen Namen definierte Element des Objekts zurück.
Möglich sind folgende Abfragen: stufen - liefert die innerhalb des Hystereseobjektes definierten Stufen liefert das Element des Objekts, dass mit dem übergebenen Namen spezifiziert wird.HystereseStufe
getStufe()
die Funktion liefert die aktuelle Stufe des Hysteresobjekts.java.lang.Object
klassifiziere(java.lang.Number wert)
Die Funktion ermittelt die aktuelle Stufe des Hystereseobjekts für den übergebenen Wert unter Berücksichtigung der letzten Stufe.
Die Abbildung erfolgt nach folgendem Algorithmus: Wenn x im Bereich der letzten Stufe (zwischen Anfangs- und Endwert) liegt, bleibt die Stufe konstant. Wenn x größer als der Endwert der letzten Stufe ist, wird die nächst höhere Stufe, deren Bereich den Wert x beinhaltet, als Ergebnis zurückgeliefert und diese Stufe bei der Hysterese als letzter Zustand vermerkt. Wenn x kleiner als der Anfangswert der letzten Stufe ist, wird die nächst niedrigere Stufe, deren Bereich den Wert x beinhaltet als Ergebnis zurüückgeliefert und diese Stufe bei der Hysterese als letzter Zustand vermerkt. Wenn bei den Fällen 2. oder 3. keine definierte Stufe gefunden wurde, deren Bereich den Wert x enthält, wird ein Fehler (ArgumentFehler) zurückgegeben.void
setStrukturElement(java.lang.String name, java.lang.Object daten)
Die Funktion überschreibt die Daten des mit dem übergebenen Namen definierten Elements des Objekts mit den üübergebenen.
Für Hysteresobjekte wird diese Funktion nicht unterstützt, d.h. es wird in jedem Fall ein ObjektZugriffsFehler geworfen.void
setStufe(java.lang.Object neueStufe)
die Funktion setzt die aktuelle Stufe des Hystereseobjekts.java.lang.String
toString()
Die Funktion liefert eine Zeichenkettendarstellung des Hysteresobjekts.
-
-
-
Constructor Detail
-
Hysterese
public Hysterese(HystereseStufe[] stufen)
Konstruktor mit Angabe eines Feldes von Hysteresestufen.- Parameters:
stufen
- die Stufen
-
-
Method Detail
-
erzeugeKopie
public Kopierbar erzeugeKopie()
die Funktion erzeugt eine Kopie des Objekts ubd liefert diese zurück..- Specified by:
erzeugeKopie
in interfaceKopierbar
- Returns:
- die erzeugte Kopie
- See Also:
Kopierbar.erzeugeKopie()
-
getStrukturElement
public java.lang.Object getStrukturElement(java.lang.String name)
Die Funktion liefert das über den übergebenen Namen definierte Element des Objekts zurück.
Möglich sind folgende Abfragen:- stufen - liefert die innerhalb des Hystereseobjektes definierten Stufen
- Specified by:
getStrukturElement
in interfaceStruktur
- Parameters:
name
- der Name- Returns:
- das Objekt
- See Also:
Struktur.getStrukturElement(java.lang.String)
,setStrukturElement(String, Object)
-
getStufe
public HystereseStufe getStufe()
die Funktion liefert die aktuelle Stufe des Hysteresobjekts.- Returns:
- stufe
- See Also:
setStufe(Object)
-
klassifiziere
public java.lang.Object klassifiziere(java.lang.Number wert)
Die Funktion ermittelt die aktuelle Stufe des Hystereseobjekts für den übergebenen Wert unter Berücksichtigung der letzten Stufe.
Die Abbildung erfolgt nach folgendem Algorithmus:- Wenn x im Bereich der letzten Stufe (zwischen Anfangs- und Endwert) liegt, bleibt die Stufe konstant.
- Wenn x größer als der Endwert der letzten Stufe ist, wird die nächst höhere Stufe, deren Bereich den Wert x beinhaltet, als Ergebnis zurückgeliefert und diese Stufe bei der Hysterese als letzter Zustand vermerkt.
- Wenn x kleiner als der Anfangswert der letzten Stufe ist, wird die nächst niedrigere Stufe, deren Bereich den Wert x beinhaltet als Ergebnis zurüückgeliefert und diese Stufe bei der Hysterese als letzter Zustand vermerkt.
- Wenn bei den Fällen 2. oder 3. keine definierte Stufe gefunden wurde, deren Bereich den Wert x enthält, wird ein Fehler (ArgumentFehler) zurückgegeben. Der Wert des letzten Zustands der Hysterese bleibt bestehen.
- Parameters:
wert
- der Wert- Returns:
- stufe die ermittelte Stufe
-
setStrukturElement
public void setStrukturElement(java.lang.String name, java.lang.Object daten)
Die Funktion überschreibt die Daten des mit dem übergebenen Namen definierten Elements des Objekts mit den üübergebenen.
Für Hysteresobjekte wird diese Funktion nicht unterstützt, d.h. es wird in jedem Fall ein ObjektZugriffsFehler geworfen. setzt das Element des Objekts, dass mit dem übergebenen Namen beschrieben wird auf den übergebenen Wert..- Specified by:
setStrukturElement
in interfaceStruktur
- Parameters:
name
- der Namedaten
- das Datenobjekt- See Also:
Struktur.setStrukturElement(java.lang.String, java.lang.Object)
,getStrukturElement(String)
-
setStufe
public void setStufe(java.lang.Object neueStufe)
die Funktion setzt die aktuelle Stufe des Hystereseobjekts.- Parameters:
neueStufe
- der Name der Stufe- See Also:
getStufe()
-
toString
public java.lang.String toString()
Die Funktion liefert eine Zeichenkettendarstellung des Hysteresobjekts.
Die Darstellung erfolgt in der Form "[(<stufe>),(<stufe>,...)]".
.- Overrides:
toString
in classjava.lang.Object
- See Also:
Object.toString()
-
-