Projektierung

| ALPHA-VISION® PMU

# Projektierung

In Kurven werden zeitliche Verläufe von Messstellen grafisch dargestellt.

siehe auch: Kurzzeit Archiv

## Kurven

Es soll fortlaufend ein Sinus (Scheitelwerte ±1; Schwingungsdauer ca. 240 s) aufgezeichnet werden

- es sollen min. 9 Minuten aufgezeichnet werden
- in der Kurve soll ein 3 Minuten-Ausschnitt dargestellt werden.
- die Zeitachse (x) der Kurve soll mit Zeitanzeige belegt werden.
- die Kurve soll mit der Laufzeit automatisch gestartet werden.
- Der Bufferinhalt soll in Minutenschritten "abgegriffen" werden können.

- die Kurve soll das Langzeit-Archiv darstellen können

### Lösung

Eine Kurve ist ein rechteckiger Bereich, in dem eine Folge von numerischen Werten als Polygonzug oder Pixelfolge in Abhängigkeit von der Zeit angezeigt werden (y=f(t))

Einer Kurve ist ein Meßwertpuffer (Ringpuffer) mit definierter Größe (Anzahl der Wertänderungen die gespeichert werden können) zugeordnet. Die Aufzeichnung der Messwerte erfolgt kontinuierlich im Sekundenraster.
Achtung: Fällt eine Messwertänderung zwischen das Sekundenraster (z.B. Spike) wird diese nicht erfasst!

Die Kurve stellt im Anzeigebereich die Werte in gleichen zeitlichen Abständen von 1 sec. dar.

Die Richtung der Kurve kann nach links, rechts, oben oder unten verlaufen.

Kurvenprojektierung

Über Rollmenü EINFÜGEN, KURVE wählen, mit der Maus gewünschte Größe für das 3 Minuten Fenster aufziehen.

Kurve zur Parameterisierung selektieren.

BEARBEITEN - ATTRIB:SEQ

- - AKTION:
  Unter "Bed.-Gruppe" wird der wahlfreier Name "KLZ_ARCH" eingetragen, der zur Umschaltung zwischen Kurz= und Langzeitarchiv benutzt wird.
  (siehe auch: Archive in VISION)

- - VARIABLEN: Obj_Value(SINUS)
  (SINUS ist das Datenobjekt dessen Messwerte in der Kurve dargestellt werden sollen)

- - FORMAT: Ausrichtung Links Kurvendarstellung Poligon
  (Ausrichtung links: Wert "läuft" nach links, der Neueste steht, wie bei Zeitachsen üblich, rechts
  Polygon: Werte-Darstellung als fortlaufender Strich)

- - SKALIERUNG:

- Skalierungsoffset-Funktion-Y: Usr_Const(-1)
  (Da ein negativer Wert -1 aufgezeichnet werden soll, muss die Nulllinie verlegt um -1 verschoben werden)
  (-) minus = nach oben
  (+) plus = nach unten

- Skalierungsbereichs-Funktion-Y: Usr_Const(2)
  (Aufgrund der Scheitelwerte von -1 bis +1 = Skalierungsbereich 2)
  [ist in der Darstellung "2" der Minimalwert, "7" der maximale Wert: BEREICH=(5)
  ist in der Darstellung "-2" der Minimalwert, "3" der maximale Wert: BEREICH=(5)
  ist in der Darstellung "-2" der Minimalwert, "7" der maximale Wert: BEREICH=(9)]

- Skalierungsoffset-Funktion-X: Obj_Value(180)
  Der älteste in der Laufzeit dargestellte Wert
  (wird immer über ein Systemobjekt gesteuert, welches das System intern im Sekundentakt hochzählt; in diesem Fall das Systemobjekt TSTART, es wird mit 180 (aktueller Zeitpunkt -180 sec (3 Minuten) belegt.)

- Skalierungsbereichs-Funktion-X: Usr_Const(180)
  (Für den Darstellungsbereich werden 180 Sekunden (3 Min) definiert)

- Puffergröße:540
  Gibt an, wieviele Messdaten erfasst werden können -
  (Die Messwerterfassung erfolgt im Sekundenraster, erfasst werden nur Änderungen.
  -im Beispielfall werden jede Sekunde Änderungen erwartet, bei einer gewünschten Aufzeichnungsperiode von 9 min ergibt dies 9 x 60 Messdaten die gespeichert werden müssen.

Zeitanzeige an der X - Achse

Einfügen einer Digitalanzeige an gewünschter Stelle:

VARIABLE: Obj_Value(TSTART)
(Angezeigt wird der Wert des Objekts "TSTART")

FORMAT: ho:mi:se
("TSTART" wird im Zeitformat angezeigt)

SKALIERUNG:
Offset Funktion: Usr_Const()

(abhängig von der Position des Digitalmeters an der X-Achse;
TSTART - Wert repräsentiert den ältesten Zeitwert)

linkes Digitalmeter: Anzeige des ältesten Zeitpunkts - Offset = 0

mittleres Digitalmeter: Anzeige des ältesten Zeitpunkts + 90 sec - Offset = 90

rechtes Digitalmeter: Anzeige des neuesten Zeitpunkts - Offset = 180

Kurvenstart/=stop

Grundsätzlich wird die Kurvenanzeige über:
Obj_TickOn(Zeitobjekt,Time) gestartet - über:
Obj_TickOff(Zeitobjekt,Time) gestoppt.

Automatischer Kurvenstart.

Kurzzeit Archiv
Im BROWSER wird unter DATEI / "globale Ereignissen" das

Systemereignis: "On Startup" mit: Obj_TickOn(TSTART,180) belegt.
(Bedeutet: Das Systemobjekt hat den Wert aktuelle Zeit minus 180 Sekunden.)

Hinweis:
Hiermit wird die fortlaufende Anzeige gestartet - die Datenaufzeichnung läuft immer, kann auch nicht gestoppt werden.

Langzeit Archiv
Konfiguration und Start, siehe: DoArch

Umschalten Kurz= Lanzeitarchiv.

An einer Schaltfläche schaltet die Aktion:

"Grfx_SetVarHist(KLZ_ARCH,1)" auf das Langzeit Archiv
"Grfx_SetVarHist(KLZ_ARCH,0)" auf das Kurzzeit Archiv.

Die Funktion:

"Grfx_GetVarHist()" liefert als Rückmeldung:

0 = Kurzzeit Archiv ist aktiv - oder
1 = Langzeit Archiv ist aktiv.

Abgreifen des Pufferbereichs.

- Die fortlaufende Anzeige der Kurve muss angehalten werden.
- Das Zeitobjekt auf gewünschte Darstellungszeit gesetzen werden.

  Schaltflächen für "stop", "Zeit++", Zeit--", "start" projektieren.

  Kurve anhalten
  Schaltfläche mit: "Obj_TickOFF(TSTART)" belegen -

  (TSTART wird nicht mehr hochgezählt)

  ACHTUNG: das Aufnehmen der Meßdaten in den Puffer wird davon nicht berührt.)

  Zeitobjekt auf "Darstellungszeit setzen"
  Zwei Schaltfläche mit:
  "Obj_incrData(TSTART,Value,60)"
  "Obj_incrData(TSTART,Value,-60)" belegen.

  (damit wird der Anzeigenstart der KURVE pro Tastendruck um +, bzw. - 60 Sekunden in der Zeitachse verschoben - )

  HINWEIS: wird zeitlich der Pufferanfang erreicht wird sichtbar, wie die alten Werte "rausfallen" - wird zeitlich das Pufferende (aktuelle Zeit) erreicht, wird sichtbar, wie der Puffer "aufgefüllt" wird.)

  Fortlaufende Kurvenanzeite wieder starten

  Die Kurvenanzeige kann über: "Obj_TickON(TSTART,180)" wieder gestartet werden.

  ### Hints & Tips

  Unterschiedliche Datenobjekte an gleicher Kurve

  Wird bei der VARIABLEN Anbindung ein Referenzobjekt definiert, kann die Kurvendarstellung auch für andere Datenobjekte genutzt werden, sofern die projektierten Skalierungen passen.

  Hierzu wird zusätzlich ein Texteingabefeld projektiert, über die daran angebundene Aktion RfPo_SetRefId(RefObj,) kann das darzustellende Datenobjekt definiert werden.