All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class Oszi.OsziElement

java.lang.Object
   |
   +----java.awt.Component
           |
           +----java.awt.Container
                   |
                   +----java.awt.Panel
                           |
                           +----Oszi.BildPanel
                                   |
                                   +----Oszi.BauElement
                                           |
                                           +----Oszi.OsziElement

public class OsziElement
extends BauElement
Eingabeströme:1
Ausgabeströme:0
Breite:280
Höhe:240
Die Größe muß von außen gesetzt werden!
z.B.:
meinOsziElement.setBounds(33,15,280,240);
Dieses Bauelement realisiert die Bildschirmanzeige von Eingabedaten als Oszilloskopkurven. Die Eingabedaten werden in folgender Reihenfolge erwartet (wird von SammlerElement(3) geliefert):
  1. Zeitwert
  2. Spannungswert (Kanal I)
  3. Spannungswert (Kanal II)
  4. Spannungswert (externer Triggerkanal)
Die Bildschirmrepräsentation umfaßt das Koordinatengitter, die Anzeige der Kurven sowie die Anzeige der "Readouts" (Statuszeilen) über und unter dem Koordinatengitter. Das OsziElement sollte beim Einfügen in eine Bildschirmseiten einen Platz mit dem Seitenverhältnis Breite:Höhe = 7:6 erhalten, damit die Quadrate im Koordinatengitter auch auf dem Bilschirm als Quadrate erscheinen. Optimal ist eine Größe von 280x240.
Die Größenordnungen zur Wahl von Anzeigebereichen werden wie folgt kodiert:
Ordnung 10 n20 n50 n 100 n200 n500 n
int-Kode 012345
Ordnung 1 u2 u5 u 10 u20 u50 u 100 u200 u500 u
int-Kode 678910 11121314
Ordnung 1 m2 m5 m 10 m20 m50 m 100 m200 m500 m
int-Kode 1516171819 20212223
Ordnung 125 102050
int-Kode 242526272829
Grenzen für die Auflösung:
 MinimumMaximum
Zeit50 ns500 ms
Spannung1 mV 20 V

See Also:
SammlerElement, Konventionen, OsziSchirmPanel, OsziGeraet

Variable Index

 o aus
Konstante für "keine Triggerung".
 o avgMaxAnzahl
gibt an, über wieviele Werte Spannung und Periodendauer gemittelt werden sollen.
 o extern
Konstante für Triggermodus - Triggerung über externen Triggerkanal.
 o fallend
Konstante für die Trigger-Flanke.
 o kanal1
Konstante für Modus und Triggermodus - "Kanal I".
 o kanal1gegen2
Konstante für Modus - Lissajous-Figuren.
 o kanal1plus2
Konstante für Modus - Kanal I und II addieren.
 o kanal1und2
Konstante für Modus - Kanal I und II gleichzeitig darstellen.
 o kanal2
Konstante für Modus und Triggermodus - "Kanal II".
 o lissAnzPunkte
gibt an, wieviele der jeweils zurückliegenden Werte bei Lissajous-Figuren noch mit angezeigt werden sollen.
 o lissAnzSchritte
gibt an, aller wieviel Schritte Lissajous-Figuren wieder neu aufgebaut werden sollen.
 o steigend
Konstante für die Trigger-Flanke.
 o zeichenSchwelle
gibt an, nach wievielen "ungültigen" (nicht zeichenbaren) Werten die Anzeige gelöscht werden soll.

Constructor Index

 o OsziElement()
Der Konstruktor initialisiert den Eingabestrom und setzt sinnvolle Startwerte für verschiedene Einstellungen.

Method Index

 o aktReadout1()
löst das Aktualisieren des oberen "Readouts" aus.
 o aktReadout2()
löst das Aktualisieren des unteren "Readouts" aus.
 o autoset()
führt die Autoset-Funktion aus.
 o getDiv(int, double)
rechnet einen Zeit- bzw. Spannungswert in Bildschirmkoordinaten um.
 o getDivFein(int)
holt die Feinauflösung in 1/256.
 o getDivGrob(int)
holt den Wert der Grobauflösung in kodierter Form.
 o getIntensReadout()
holt die Farbintensität für die Readouts.
 o getIntensSignal()
holt die Farbintensität der Signaldarstellung.
 o getModus()
holt den Betriebsmodus.
 o getPosition(int)
holt die Absolutverschiebung.
 o getSkale(int)
gibt die gesamte Auflösung aus Grob- und Feinauflösung zurück.
 o getTriggerFlanke()
holt die Position der Triggerflanke.
 o getTriggerLevel()
holt das Trigger-Level bezogen auf Bildschirmeinheiten.
 o getTriggerLevel(int)
holt das Trigger-Level in Volt.
 o getTriggerModus()
holt den aktuellen Triggermodus.
 o isAC(int)
testet, ob der Kanal auf AC oder DC geschaltet ist.
 o isGround(int)
testet, ob die Funktion "Ground" an oder aus ist.
 o isInvert(int)
testet, ob die Funktion "Invert" an oder aus ist.
 o isKanalBelegt(int)
testet, ob der Kanal gültige Werte erhält.
 o isMag(int)
testet, ob "Mag.x10" an oder aus ist.
 o isPowerOn()
testet, ob die Bildschirmanzeige an oder aus ist.
 o isSingle()
testet, ob der Single-Modus an oder aus ist.
 o isSingleReady()
testet, ob der Single-Modus "bereit" ist.
 o paint(Graphics)
zeichnet das aktuelle Bild neu aus dem Puffer.
 o run()
Die run-Methode enthält eine Endlosschleife zur Darstellung der Kurven.
 o setAC(int, boolean)
schaltet den Kanal auf AC oder DC.
 o setDivFein(int, int)
setzt die Feinauflösung in 1/256.
 o setDivGrob(int, double)
setzt die Grobauflösung mit Realwert.
 o setDivGrob(int, int)
setzt die Grobauflösung mit kodiertem Wert.
 o setGround(int, boolean)
schaltet die Funktion "Ground" an oder aus.
 o setIntensReadout(int)
setzt die Farbintensität für die Readouts.
 o setIntensSignal(int)
setzt die Farbintensität der Signaldarstellung.
 o setInvert(int, boolean)
schaltet die Funktion "Invert" an oder aus.
 o setMag(int, boolean)
schaltet "Mag.x10" an oder aus.
 o setModus(int)
setzt den Betriebsmodus.
 o setOsziBedienPanelRef(OsziBedienPanel)
übernimmt ein OsziBedienPanel, um dort LEDs zu setzen.
 o setPosition(int, int)
setzt die Absolutverschiebung auf dem Bildschirm.
 o setPower(boolean)
schaltet die Bildschirmanzeige an bzw. aus.
 o setSingle(boolean)
schaltet den Single-Modus an oder aus.
 o setSingleReady(boolean)
schaltet den Single-Modus auf "bereit", um auf den nächsten Triggerimpuls zu warten.
 o setTriggerFlanke(boolean)
setzt die Triggerflanke steigend oder fallend.
 o setTriggerLevel(int)
setzt das Trigger-Level für interne Triggerung.
 o setTriggerModus(int)
setzt den Triggermodus.
 o update(Graphics)
führt die paint-Methode aus.

Variables

 o aus
  public final static int aus
Konstante für "keine Triggerung".

See Also:
setTriggerModus
 o kanal1
  public final static int kanal1
Konstante für Modus und Triggermodus - "Kanal I".

See Also:
setModus, setTriggerModus
 o kanal2
  public final static int kanal2
Konstante für Modus und Triggermodus - "Kanal II".

See Also:
setModus, setTriggerModus
 o extern
  public final static int extern
Konstante für Triggermodus - Triggerung über externen Triggerkanal.

See Also:
setTriggerModus
 o kanal1und2
  public final static int kanal1und2
Konstante für Modus - Kanal I und II gleichzeitig darstellen.

See Also:
setModus
 o kanal1plus2
  public final static int kanal1plus2
Konstante für Modus - Kanal I und II addieren.

See Also:
setModus
 o kanal1gegen2
  public final static int kanal1gegen2
Konstante für Modus - Lissajous-Figuren.

See Also:
setModus
 o steigend
  public final static boolean steigend
Konstante für die Trigger-Flanke.

See Also:
setTriggerFlanke
 o fallend
  public final static boolean fallend
Konstante für die Trigger-Flanke.

See Also:
setTriggerFlanke
 o zeichenSchwelle
  public int zeichenSchwelle
gibt an, nach wievielen "ungültigen" (nicht zeichenbaren) Werten die Anzeige gelöscht werden soll. Ursache für ungültige Werte können deaktivierte Generatoren oder Nichterfüllung der Triggerbedingungen sein.
(Default: 500)

 o avgMaxAnzahl
  public int avgMaxAnzahl
gibt an, über wieviele Werte Spannung und Periodendauer gemittelt werden sollen. Diese Werte werden von den Funktionen Autoset und Wechselspannungsbetrieb benötigt.
(Default: 500)

See Also:
autoset, setAC
 o lissAnzPunkte
  public int lissAnzPunkte
gibt an, wieviele der jeweils zurückliegenden Werte bei Lissajous-Figuren noch mit angezeigt werden sollen. Große Werte führen zu einer langen "Spur" aber auch zu einer langsameren Bildschirmdarstellung. Dieser Wert darf nur vor dem Start des OsziElementes verändert werden!
(Default: 300)

See Also:
lissAnzSchritte
 o lissAnzSchritte
  public int lissAnzSchritte
gibt an, aller wieviel Schritte Lissajous-Figuren wieder neu aufgebaut werden sollen. Kleine Werte führen zu einer zwar flüssigeren aber auch langsameren Darstellung. Die Einstellung von lissAnzPunkte und lissAnzSchritte ist auch stark vom Einstellwert für WerteProPeriode im jeweiligen GeneratorElement abhängig.
(Default: 50)

See Also:
lissAnzPunkte, setWerteProPeriode

Constructors

 o OsziElement
  public OsziElement()
Der Konstruktor initialisiert den Eingabestrom und setzt sinnvolle Startwerte für verschiedene Einstellungen.

Methods

 o run
  public void run()
Die run-Methode enthält eine Endlosschleife zur Darstellung der Kurven. Gestartet wird der Thread z.B. durch: myOsziElement.getThread().start().

Overrides:
run in class BauElement
See Also:
getThread
 o paint
  public void paint(Graphics g)
zeichnet das aktuelle Bild neu aus dem Puffer.

Overrides:
paint in class BildPanel
 o update
  public void update(Graphics g)
führt die paint-Methode aus.

Overrides:
update in class BildPanel
 o setOsziBedienPanelRef
  protected void setOsziBedienPanelRef(OsziBedienPanel panel)
übernimmt ein OsziBedienPanel, um dort LEDs zu setzen.

Parameters:
panel - das zugehörige OsziBedienPanel.
See Also:
OsziBedienPanel
 o aktReadout1
  protected void aktReadout1()
löst das Aktualisieren des oberen "Readouts" aus. Diese Methode braucht in der Regel nicht explizit aufgerufen zu werden, weil das Readout bei Änderungen automatisch aktualisiert wird.

 o aktReadout2
  protected void aktReadout2()
löst das Aktualisieren des unteren "Readouts" aus. Diese Methode braucht in der Regel nicht explizit aufgerufen zu werden, weil das Readout bei Änderungen automatisch aktualisiert wird.

 o setPower
  public void setPower(boolean b)
schaltet die Bildschirmanzeige an bzw. aus. Beim Einschalten werden die anfänglichen Standardwerte wieder gesetzt.

Parameters:
b - true für "an",
false für "aus".
See Also:
isPowerOn
 o isPowerOn
  public boolean isPowerOn()
testet, ob die Bildschirmanzeige an oder aus ist.

Returns:
true für "an",
false für "aus".
See Also:
setPower
 o autoset
  public boolean autoset()
führt die Autoset-Funktion aus. Dabei werden den gerade dargestellten Kurven angepaßte Werte für die Darstellungsbereiche eingestellt. Um die Funktion sinnvoll durchführen zu können, müssen schon genügend viele statistische Werte vorhanden sein, um insbesondere die Periodendauer des Signals bestimmen zu können.

Returns:
true, wenn die Autoset-Funktion erfolgreich durchgeführt werden konnte.
false, wenn noch nicht genügend statistische Werte vorlagen, um diese Funktion sinnvoll durchzuführen.
 o setPosition
  public void setPosition(int nr,
                          int wert)
setzt die Absolutverschiebung auf dem Bildschirm.

Parameters:
nr - 0 für X-Pos.,
1 für Y-Pos. I,
2 für Y-Pos.II
wert - Wert der Verschiebung (0 bis 255).
128 ist der Normalwert.
Werte kleiner als 128 bedeuten eine Verschiebung nach unten bzw. nach links.
0 liegt am unteren bzw. linken Rand des Darstellungsbereiches.
Werte größer als 128 bedeuten eine Verschiebung nach unten bzw. nach rechts.
255 liegt am oberen bzw. rechten Rand des Darstellungsbereiches.
See Also:
getPosition
 o getPosition
  public int getPosition(int nr)
holt die Absolutverschiebung.

Parameters:
nr - 0 für X-Pos.,
1 für Y-Pos. I,
2 für Y-Pos.II
Returns:
Wert der Verschiebung (0 bis 255).
See Also:
setPosition
 o setIntensSignal
  protected void setIntensSignal(int wert)
setzt die Farbintensität der Signaldarstellung.

Parameters:
wert - Intensitätswert (0 bis 255).
See Also:
getIntensSignal
 o getIntensSignal
  protected int getIntensSignal()
holt die Farbintensität der Signaldarstellung.

Returns:
Intensitätswert (0 bis 255).
See Also:
setIntensSignal
 o setIntensReadout
  protected void setIntensReadout(int wert)
setzt die Farbintensität für die Readouts.

Parameters:
wert - Intensitätswert (0 bis 255).
See Also:
getIntensReadout
 o getIntensReadout
  protected int getIntensReadout()
holt die Farbintensität für die Readouts.

Returns:
Intensitätswert (0 bis 255).
See Also:
setIntensReadout
 o setTriggerLevel
  public void setTriggerLevel(int wert)
setzt das Trigger-Level für interne Triggerung.

Parameters:
wert - Trigger-Level bezogen auf Bildschirmeinheiten (0 bis 255).
128 entspricht der Mittelachse.
Werte kleiner als 128 bedeuten eine Verschiebung nach unten.
0 liegt am unteren Rand des Darstellungsbereiches.
Werte größer als 128 bedeuten eine Verschiebung nach oben.
255 liegt am oberen Rand des Darstellungsbereiches.
See Also:
getTriggerLevel, getTriggerLevel
 o getTriggerLevel
  public int getTriggerLevel()
holt das Trigger-Level bezogen auf Bildschirmeinheiten.

Returns:
Trigger-Level (0 bis 255).
See Also:
setTriggerLevel, getTriggerLevel
 o getTriggerLevel
  public double getTriggerLevel(int nr)
holt das Trigger-Level in Volt.

Parameters:
nr - 1 für Kanal I,
2 für Kanal II.
Returns:
Trigger-Level, mit der Auflösung des entsprechenden Kanals auf Volt umgerechnet.
See Also:
setTriggerLevel, getTriggerLevel
 o setDivGrob
  public void setDivGrob(int nr,
                         int wert)
setzt die Grobauflösung mit kodiertem Wert.

Parameters:
nr - 0 für Zeitauflösung,
1 für Spannungsauflösung Kanal I,
2 für Spannungsauflösung Kanal II.
wert - neuer Wert für die entsprechende Auflösung nach der Kodierung. Grenzen beachten!
See Also:
Kodierung, setDivGrob, getDivGrob, getSkale
 o setDivGrob
  public void setDivGrob(int nr,
                         double wert)
setzt die Grobauflösung mit Realwert.

Parameters:
nr - 0 für Zeitauflösung,
1 für Spannungsauflösung Kanal I,
2 für Spannungsauflösung Kanal II.
wert - double Größe mit dem neuen Wert für die Grobauflösung (in s bzw. V pro Einheit). Eine Einheit ist ein kleines Quadrat auf dem Bildschirm. Der Wert wird auf den nächsten Wert gerundet, der in der Kodierungstabelle enthalten ist. Die Grenzen gelten auch hier!
See Also:
Kodierung, setDivGrob, getDivGrob, getSkale
 o getDivGrob
  public int getDivGrob(int nr)
holt den Wert der Grobauflösung in kodierter Form.

Parameters:
nr - 0 für Zeitauflösung,
1 für Spannungsauflösung Kanal I,
2 für Spannungsauflösung Kanal II.
Returns:
Wert der Grobauflösung in kodierter Form.
See Also:
Kodierung, setDivGrob, setDivGrob, getSkale
 o setDivFein
  public void setDivFein(int nr,
                         int wert)
setzt die Feinauflösung in 1/256.

Parameters:
nr - 0 für Zeitauflösung,
1 für Spannungsauflösung Kanal I,
2 für Spannungsauflösung Kanal II.
wert - (0 bis 255).
Der Bereich zwischen der aktuellen und der nächst höheren Grobauflösung wird in 256 gleiche Teile unterteilt. Die Feinauflösung gibt an, wieviele davon noch hinzugerechnet werden.
Beim Verändern der Grobauflösung wird der Wert für die Feinauflösung immer auf den Standardwert 0 gesetzt.
See Also:
getDivFein, getSkale
 o getDivFein
  public int getDivFein(int nr)
holt die Feinauflösung in 1/256.

Parameters:
nr - 0 für Zeitauflösung,
1 für Spannungsauflösung Kanal I,
2 für Spannungsauflösung Kanal II.
Returns:
aktuelle Feinauflösung (0 bis 255).
See Also:
setDivFein, getSkale
 o getSkale
  public double getSkale(int nr)
gibt die gesamte Auflösung aus Grob- und Feinauflösung zurück.

Parameters:
nr - 0 für Zeitauflösung,
1 für Spannungsauflösung Kanal I,
2 für Spannungsauflösung Kanal II.
Returns:
die aus Grob- und Feinauflösung zusammengesetzte Gesamtauflösung zum Skalieren der Bildschirmdarstellung (in s bzw. V pro Einheit). Eine Einheit ist ein kleines Quadrat auf dem Bildschirm.
See Also:
setDivGrob, setDivGrob, setDivFein
 o getDiv
  public double getDiv(int nr,
                       double wert)
rechnet einen Zeit- bzw. Spannungswert in Bildschirmkoordinaten um.

Parameters:
nr - 0 für Zeitauflösung,
1 für Spannungsauflösung Kanal I,
2 für Spannungsauflösung Kanal II.
wert - umzurechnender Zeit- oder Spannungswert (in s bzw. V).
Returns:
der mit der Gesamtauflösung und den Mag-Werten auf Bildschirmeinheiten umgerechnete Wert.
See Also:
getSkale, setMag
 o setMag
  public void setMag(int nr,
                     boolean b)
schaltet "Mag.x10" an oder aus.

Parameters:
nr - 0 für zehnfache Zeitvergrößerung,
1 für zehnfache Spannungsvergrößerung Kanal I,
2 für zehnfache Spannungsvergrößerung Kanal II.
b - true für "Vergrößerung einschalten",
false für "Vergrößerung ausschalten".
See Also:
isMag, getDiv
 o isMag
  public boolean isMag(int nr)
testet, ob "Mag.x10" an oder aus ist.

Parameters:
nr - 0 für zehnfache Zeitbergrößerung,
1 für zehnfache Spannungsvergrößerung Kanal I,
2 für zehnfache Spannungsvergrößerung Kanal II.
Returns:
true für "Vergrößerung eingeschaltet",
false für "Vergrößerung ausgeschaltet".
See Also:
setMag, getDiv
 o setTriggerFlanke
  public void setTriggerFlanke(boolean b)
setzt die Triggerflanke steigend oder fallend.

Parameters:
b - Position der Triggerflanke (steigend oder fallend).
See Also:
steigend, fallend, getTriggerFlanke
 o getTriggerFlanke
  public boolean getTriggerFlanke()
holt die Position der Triggerflanke.

Returns:
Position der Triggerflanke (steigend oder fallend).
See Also:
steigend, fallend, setTriggerFlanke
 o setModus
  public void setModus(int x)
setzt den Betriebsmodus.
Mögliche Werte: kanal1, kanal2, kanal1und2, kanal1plus2, kanal1gegen2.
Wird auf kanal1 oder kanal2 geschaltet, so wird auch der Triggermodus entsprechend verändert.

Parameters:
x - neuer Modus (Konstanten s. unten).
See Also:
kanal1, kanal2, kanal1und2, kanal1plus2, kanal1gegen2, getModus, setTriggerModus
 o getModus
  public int getModus()
holt den Betriebsmodus.
Mögliche Werte: kanal1, kanal2, kanal1und2, kanal1plus2, kanal1gegen2.

Returns:
aktueller Betriebsmodus.
See Also:
kanal1, kanal2, kanal1und2, kanal1plus2, kanal1gegen2, setModus
 o setTriggerModus
  public void setTriggerModus(int x)
setzt den Triggermodus.
Mögliche Werte: aus, kanal1, kanal2, extern.

Parameters:
x - der neue TriggerModus.
See Also:
aus, kanal1, kanal2, extern, getTriggerModus
 o getTriggerModus
  public int getTriggerModus()
holt den aktuellen Triggermodus.
Mögliche Werte: aus, kanal1, kanal2, extern.

Returns:
der aktuelle TriggerModus.
See Also:
aus, kanal1, kanal2, extern, setTriggerModus
 o setSingle
  public void setSingle(boolean b)
schaltet den Single-Modus an oder aus.

Parameters:
b - true für "an",
false für "aus".
See Also:
isSingle
 o isSingle
  public boolean isSingle()
testet, ob der Single-Modus an oder aus ist.

Returns:
true für "an",
false für "aus".
See Also:
setSingle
 o setSingleReady
  public void setSingleReady(boolean b)
schaltet den Single-Modus auf "bereit", um auf den nächsten Triggerimpuls zu warten.

Parameters:
b - true für "bereit",
false für "nicht bereit".
See Also:
isSingleReady
 o isSingleReady
  public boolean isSingleReady()
testet, ob der Single-Modus "bereit" ist.

Returns:
true für "bereit",
false für "nicht bereit".
See Also:
setSingleReady
 o setAC
  public void setAC(int nr,
                    boolean b)
schaltet den Kanal auf AC oder DC. Bei der Stellung "alternating current" (AC) wird ein Gleichspannungsanteil des Signals herausgefiltert, bei der Stellung "direct current" (DC) nicht.

Parameters:
nr - 1 für Kanal I,
2 für Kanal II.
b - true für AC,
false für DC.
See Also:
isAC, avgMaxAnzahl
 o isAC
  public boolean isAC(int nr)
testet, ob der Kanal auf AC oder DC geschaltet ist.

Parameters:
nr - 1 für Kanal I,
2 für Kanal II.
Returns:
true für AC,
false für DC.
See Also:
setAC
 o setGround
  public void setGround(int nr,
                        boolean b)
schaltet die Funktion "Ground" an oder aus. Ist der Kanal auf "Ground" geschaltet, wird das Spannungssignal auf 0 V gesetzt.

Parameters:
nr - 1 für Kanal I,
2 für Kanal II.
b - true für "an",
false für "aus".
See Also:
isGround
 o isGround
  public boolean isGround(int nr)
testet, ob die Funktion "Ground" an oder aus ist.

Parameters:
nr - 1 für Kanal I,
2 für Kanal II.
Returns:
true für "an",
false für "aus".
See Also:
setGround
 o setInvert
  public void setInvert(int nr,
                        boolean b)
schaltet die Funktion "Invert" an oder aus. Ist der Kanal auf "Invert" geschaltet, wird das Spannungssignal negiert.

Parameters:
nr - 1 für Kanal I,
2 für Kanal II.
b - true für "an",
false für "aus".
See Also:
isInvert
 o isInvert
  public boolean isInvert(int nr)
testet, ob die Funktion "Invert" an oder aus ist.

Parameters:
nr - 1 für Kanal I,
2 für Kanal II.
Returns:
true für "an",
false für "aus".
See Also:
setInvert
 o isKanalBelegt
  public boolean isKanalBelegt(int nr)
testet, ob der Kanal gültige Werte erhält.

Parameters:
nr - 1 für Kanal I,
2 für Kanal II,
3 für den externen Triggerkanal.
Returns:
true, wenn der Kanal angeschlossen ist und korrekte Daten erhält,
false sonst.
See Also:
Konventionen

All Packages  Class Hierarchy  This Package  Previous  Next  Index