Zum Hauptinhalt springen

Punktesuche

Dieser Bildschirm dient zum Abrufen der erfassten Zeitreihendaten eines bestimmten Tags über einen Zeitraum und zum Herunterladen der Ergebnisse als Tabelle / CSV. Er wird verwendet, wenn Bediener schnell eine Inspektion durchführen möchten, z. B. ob die PLC-Werte gestern zwischen 09:00 und 11:00 Uhr im normalen Bereich lagen.

Punktesuche-Bildschirm — Zeitreihe nach Tag und Zeitraum abfragen

Das Datenbank-Symbol in der oberen Leiste (fa-database, das sechste von links) → klicken oder direkt http://<gateway>/ui/point aufrufen.


1. Bildschirmaufbau​

┌────────────────────────────────────────────────────────────────┐
│ ⊙ 포인트 검색 — 시계열 데이터 조회 · TM_TAG_POINT [←] [↻] │
├────────────────────┬───────────────────────────────────────────┤
│ [검색 조건] │ [포인트 목록 — 최신 순] [CSV 다운로드] │
│ ─ 검색 기간 │ ┌──────────────────────────────────────┐ │
│ ─ OPC ID * │ │ 시각 │ 태그 ID │ 값 │ 타입 │ 품질 │ 에러 │ │
│ ─ 태그 ID * │ └──────────────────────────────────────┘ │
│ [검색] │ … │
└────────────────────┴───────────────────────────────────────────┘

Die Breite des linken Panels ist um +50px größer als der Standard col-md-2, um das Abschneiden von Labels/Kombinationsfeldern zu verhindern.


2. Obere Leiste​

SchaltflächeAktion
← (fa-arrow-left)Zurück zu /ui/main
↻ (fa-sync)point.search() erneut aufrufen (bestehende Bedingungen beibehalten, zur Aktualisierung)

3. Suchbedingungen (linkes Panel)​

3.1 Suchzeitraum (s_date_range)​

  • Basierend auf daterangepicker — Format YYYY-MM-DD HH:mm ~ YYYY-MM-DD HH:mm
  • Beim Aufrufen des Bildschirms automatisch mit letzte 1 Stunde gefüllt (moment().subtract(1, 'hours') ~ moment())
  • Klick → Kalender + Zeitauswahl-Popup

3.2 OPC ID (erforderlich)​

  • Kombinationsfeld wird mit POST /connect/opc/list-Ergebnissen gefüllt — alphabetische ASC-Sortierung nach opc_id
  • Label-Format: OPC_ID (OPC_NAME) — wenn name leer ist, nur OPC_ID anzeigen
  • Bei Änderung der Auswahl wird das Tag ID-Kombinationsfeld unten mit den zugehörigen Tags dieses OPC neu geladen

3.3 Tag ID (erforderlich)​

  • Vor OPC-Auswahl: disabled + Hinweisoption — Nach OPC-Auswahl laden —
  • Nach OPC-Auswahl mit POST /connect/tag/list { opc_id }-Ergebnissen gefüllt — ASC-Sortierung nach tag_id
  • Label-Format: TAG_ID (TAG_NAME) — wenn name leer ist, nur TAG_ID
  • Bei Ladefehler wird die Option — Ladefehler — angezeigt + Toast-Fehlermeldung
Wenn Sie suchen, ohne ein Tag auszuwählen

Dann erscheint ein Modal mit "Bitte wählen Sie zuerst OPC und Tag aus." (bootbox alert) — dies ist ein Schutz, um leere Ergebnisse und Zeitverschwendung durch fehlende Daten zu vermeiden.


4. Ergebnistabelle (6 Spalten)​

Die GET /point/search-Antwort wird von DataTables gerendert. Standardsortierung ist Zeitpunkt desc (neueste zuerst).

#SpalteBreiteSortierungAnzeige / Bedeutung
1Zeitpunkt180pxdesc defaulttimestamp.iso oder roh timestamp — zentriert
2Tag ID180px—Durchsuchte Tag ID — zentriert
3Wert* (variabel)—Sortierung variiert je nach Typ — integer/long/float/double rechtsbündig, boolean/string usw. zentriert (Tabellenwert-Ausrichtungsregel von UI-DESIGN) — fett
4Typ100px—Farbiges Badge erstellt mit formatTypeBadge() (z. B. STRING / INT / DOUBLE / BOOL)
5Qualität70px—OPC-Qualitätscode (z. B. 192=Good). Wenn leer, leere Zelle
6Fehler70px—Wenn error_code 0/null ist, — (grau), andernfalls roter Code

Seitenlänge: 10 / 20 / 50 / 100 / 1000 — Standard 100. Koreanische Oberfläche (Korean.json).


5. CSV-Download​

CSV-Download-Schaltfläche oben rechts — point.csv()-Aufruf.

  • Lokaler Export — letztes Suchergebnis (point._lastData) wird clientseitig in CSV umgewandelt → sofortiger Download. Kein zusätzlicher Serveraufruf
  • Dateiname: point_<TAG_ID>_<TIMESTAMP>.csv-Format (z. B. point_TAG_LS_XBC_0001_20260510_1530.csv)
  • Spalten: Zeitpunkt / Tag ID / Wert / Typ / Qualität / Fehler — identisch mit der UI-Tabelle
Wenn CSV gedrückt wird, obwohl keine Suchergebnisse vorliegen

Hinweis-Modal "Bitte suchen Sie zuerst." — verhindert die Ausgabe einer leeren CSV-Datei.


6. Datenquelle​

Backend-Ablauf, den der Bildschirm abfragt:

PLC → Collector → PointProcessor → Cassandra: tm_tag_point (TTL = edge.ttl 일)
↑
/point/search?tag_id&from&to
  • Daten mit abgelaufener TTL werden nicht mehr abgefragt. app.properties von edge.ttl Standard 30 Tage.
  • Zeilen in tm_tag_point sind mit (tag_id, time_bucket, time)-Clustering versehen — kurze Zeitraumabfragen sind schnell. Wenn Sie mehr als einen Monat auf einmal abrufen, kann die Antwort langsam sein, daher wird eine Aufteilung in zig Minuten bis einige Stunden empfohlen.

7. Betriebstipps​

  • Anomalieverfolgung: Legen Sie den Zeitpunkt, zu dem ein Alarm aufgetreten ist, in den Suchzeitraum und fragen Sie das betreffende Tag ab — plötzliche Spitzen / 0-Werte / Qualitätsänderungen werden sichtbar
  • PLC-Kommunikationsausfall: Wenn die Fehler-Spalte desselben Tags über einen bestimmten Zeitraum mit roten Codes gefüllt ist, deutet dies auf einen Zeitraum mit PLC-Antwortausfällen hin — mit Erfassungsstatus in /ui/connect/list abgleichen
  • CSV nach Excel: Öffnen Sie die heruntergeladene CSV-Datei in Excel/LibreOffice und erstellen Sie ein Trenddiagramm mit der Wert-Spalte für eine schnelle Visualisierung — für vollständige Diagramme nutzen Sie Echtzeitwertanzeige oder Tag-Wertverlauf anzeigen

8. Verwandte Dokumente​