docs
This commit is contained in:
9
docs/Diagramme/Dev vs Prod Datenfluss.md
Normal file
9
docs/Diagramme/Dev vs Prod Datenfluss.md
Normal file
@@ -0,0 +1,9 @@
|
||||
```mermaid
|
||||
flowchart TD
|
||||
DEV[Development] -->|API Call| APIHandler[/api/cpl/.../]
|
||||
PROD[Production] -->|Script| EmbeddedJS[Original .js File]
|
||||
|
||||
APIHandler -->|liefert JS| windowVars[window.win_xyz]
|
||||
EmbeddedJS -->|liefert JS| windowVars
|
||||
|
||||
```
|
||||
17
docs/Diagramme/classDiagram.md
Normal file
17
docs/Diagramme/classDiagram.md
Normal file
@@ -0,0 +1,17 @@
|
||||
### 🟩 Datei: `classDiagram.md`
|
||||
|
||||
```mermaid
|
||||
classDiagram
|
||||
class User {
|
||||
+String name
|
||||
+int id
|
||||
+login()
|
||||
}
|
||||
|
||||
class Admin {
|
||||
+String role
|
||||
}
|
||||
|
||||
User <|-- Admin
|
||||
|
||||
```
|
||||
21
docs/Diagramme/erdiagramm.md
Normal file
21
docs/Diagramme/erdiagramm.md
Normal file
@@ -0,0 +1,21 @@
|
||||
### 🟩 Datei: `erdiagramm.md`
|
||||
|
||||
```mermaid
|
||||
erDiagram
|
||||
Kunden ||--o{ Bestellungen : hat
|
||||
Bestellungen ||--|{ Artikel : enthält
|
||||
Kunden {
|
||||
string name
|
||||
string adresse
|
||||
}
|
||||
Bestellungen {
|
||||
int id
|
||||
date datum
|
||||
}
|
||||
Artikel {
|
||||
int artikel_id
|
||||
string bezeichnung
|
||||
float preis
|
||||
}
|
||||
|
||||
```
|
||||
9
docs/Diagramme/flowchart-lr.md
Normal file
9
docs/Diagramme/flowchart-lr.md
Normal file
@@ -0,0 +1,9 @@
|
||||
### 🟩 Datei: `flowchart-lr.md`
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
A[Start] --> B[Bearbeiten]
|
||||
B --> C[Speichern]
|
||||
C --> D[Fertig]
|
||||
|
||||
```
|
||||
9
docs/Diagramme/flowchart-td.md
Normal file
9
docs/Diagramme/flowchart-td.md
Normal file
@@ -0,0 +1,9 @@
|
||||
### 🟩 Datei: `flowchart-td.md`
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
Start --> Schritt1["Modul auswählen"]
|
||||
Schritt1 --> Schritt2["Daten abrufen"]
|
||||
Schritt2 --> Schritt3["Ergebnis anzeigen"]
|
||||
|
||||
```
|
||||
12
docs/Diagramme/ganttdiagramm.md
Normal file
12
docs/Diagramme/ganttdiagramm.md
Normal file
@@ -0,0 +1,12 @@
|
||||
### 🟩 Datei: `ganttdiagramm.md`
|
||||
|
||||
```mermaid
|
||||
gantt
|
||||
title Projektzeitplan CPLv4.0
|
||||
dateFormat YYYY-MM-DD
|
||||
section Entwicklung
|
||||
Planung :done, des1, 2024-09-01, 5d
|
||||
Umsetzung :active, dev1, 2024-09-06, 10d
|
||||
Tests : test, 2024-09-18, 7d
|
||||
|
||||
```
|
||||
16
docs/Diagramme/journeydiagramm.md
Normal file
16
docs/Diagramme/journeydiagramm.md
Normal file
@@ -0,0 +1,16 @@
|
||||
### 🟩 Datei: `ganttdiagramm.md`
|
||||
|
||||
```mermaid
|
||||
journey
|
||||
title CPLv4.0 Benutzererlebnis
|
||||
section Start
|
||||
Öffnet Dashboard: 5: User
|
||||
Erkennt Status: 4: User
|
||||
section Konfiguration
|
||||
Stellt Slot ein: 3: User
|
||||
Speichert Referenzkurve: 4: User
|
||||
section Analyse
|
||||
Vergleicht Kurven: 4: User
|
||||
Exportiert Ergebnisse: 2: User
|
||||
|
||||
```
|
||||
12
docs/Diagramme/redux-prozessdiagramm.md
Normal file
12
docs/Diagramme/redux-prozessdiagramm.md
Normal file
@@ -0,0 +1,12 @@
|
||||
### 🟩 Datei: `redux-prozessdiagramm.md`
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
User --> UC1["Modul auswählen"]
|
||||
User --> UC2["Daten abrufen"]
|
||||
UC2 --> UC3["Thunk verarbeitet Anfrage"]
|
||||
UC3 --> UC4["Service ruft Daten ab"]
|
||||
UC4 --> UC5["Redux speichert Daten"]
|
||||
UC5 --> UC6["UI rendert mit neuen Daten"]
|
||||
UC6 --> User
|
||||
```
|
||||
22
docs/Diagramme/redux-sequenzdiagramm.md
Normal file
22
docs/Diagramme/redux-sequenzdiagramm.md
Normal file
@@ -0,0 +1,22 @@
|
||||
---
|
||||
|
||||
### 🟧 Datei: `redux-sequenzdiagramm.md`
|
||||
|
||||
# 🔃 Redux Sequenzdiagramm – Interner Ablauf als Zeitfolge
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant User
|
||||
participant UI
|
||||
participant ReduxStore
|
||||
participant Thunk
|
||||
participant Service
|
||||
|
||||
User->>UI: Wählt Modul aus
|
||||
UI->>ReduxStore: Lädt Daten
|
||||
ReduxStore->>Thunk: Dispatch Thunk
|
||||
Thunk->>Service: API Request
|
||||
Service-->>Thunk: API Response
|
||||
Thunk->>ReduxStore: Update State
|
||||
ReduxStore->>UI: State-Update, Re-Render
|
||||
```
|
||||
16
docs/Diagramme/sequenzdiagramm.md
Normal file
16
docs/Diagramme/sequenzdiagramm.md
Normal file
@@ -0,0 +1,16 @@
|
||||
### 🟩 Datei: `sequenzdiagramm.md`
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant User
|
||||
participant UI
|
||||
participant Redux
|
||||
participant API
|
||||
|
||||
User->>UI: Klick auf Modul
|
||||
UI->>Redux: Dispatch Action
|
||||
Redux->>API: API Request
|
||||
API-->>Redux: Antwort
|
||||
Redux->>UI: Update View
|
||||
|
||||
```
|
||||
9
docs/Diagramme/systemVoltTemp/systemVoltTempFlow.md
Normal file
9
docs/Diagramme/systemVoltTemp/systemVoltTempFlow.md
Normal file
@@ -0,0 +1,9 @@
|
||||
```mermaid
|
||||
flowchart TD
|
||||
Start([SystemPage geöffnet])
|
||||
Start --> DispatchThunk[Dispatch fetchSystemVoltTempThunk]
|
||||
DispatchThunk --> Service[fetchSystemVoltTempService lädt Daten]
|
||||
Service -->|Erfolg| ReduxStore[Redux Store aktualisiert]
|
||||
ReduxStore --> View[Anzeige der Werte und Charts]
|
||||
Service -->|Fehler| Error[Fehlermeldung Konsole]
|
||||
```
|
||||
13
docs/Diagramme/systemVoltTemp/systemVoltTempReduxFlow.md
Normal file
13
docs/Diagramme/systemVoltTemp/systemVoltTempReduxFlow.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# System Volt/Temperatur Redux-Datenfluss
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
User(User öffnet Seite)
|
||||
User --> DispatchThunk(fetchSystemVoltTempThunk)
|
||||
DispatchThunk --> ServiceCall(fetchSystemVoltTempService)
|
||||
ServiceCall --> API(API Handler / Mock Daten)
|
||||
API --> ScriptLoaded(Mock-Daten im window geladen)
|
||||
ScriptLoaded --> UpdateStore(setVoltages, addHistory)
|
||||
UpdateStore --> Components(useSelector lädt Daten)
|
||||
Components --> View(View zeigt aktuelle Werte und Verlaufskurve)
|
||||
```
|
||||
22
docs/Diagramme/systemVoltTemp/systemVoltTempSequence.md
Normal file
22
docs/Diagramme/systemVoltTemp/systemVoltTempSequence.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# System Volt/Temperatur Sequenzdiagramm (optimiert)
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant User
|
||||
participant SystemPage
|
||||
participant ReduxStore
|
||||
participant Service
|
||||
participant API
|
||||
participant MockData
|
||||
|
||||
User->>SystemPage: Öffnet System-Seite
|
||||
SystemPage->>ReduxStore: dispatch(fetchSystemVoltTempThunk)
|
||||
ReduxStore->>Service: fetchSystemVoltTempService()
|
||||
Service->>API: Anfrage an /api/cpl/systemVoltTempAPIHandler
|
||||
API->>MockData: Lese systemVoltTempMockData.js
|
||||
MockData-->>API: Gibt Mock-Daten zurück
|
||||
API-->>Service: Liefert Mock-Daten
|
||||
Service-->>ReduxStore: dispatch(setVoltages + addHistory)
|
||||
ReduxStore-->>SystemPage: useSelector() lädt voltages und history
|
||||
SystemPage-->>User: Aktualisierte Anzeige der Spannungen und Messkurve
|
||||
```
|
||||
11
docs/Diagramme/tdr-abhaengigkeit.md
Normal file
11
docs/Diagramme/tdr-abhaengigkeit.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# 📈 TDR-Datenfluss – Abhängigkeiten zwischen Slot, TDM, TDR und Referenzkurve
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
Slot --> TDM["TDM (TDR-Messliste)"]
|
||||
TDM --> TDR["TDR (Einzelmessung)"]
|
||||
TDR --> Chart["TDR Chart"]
|
||||
Referenzkurve --> Chart
|
||||
TDR --> Referenzkurve
|
||||
Slot --> Referenzkurve
|
||||
```
|
||||
11
docs/Diagramme/zustandsdiagramm.md
Normal file
11
docs/Diagramme/zustandsdiagramm.md
Normal file
@@ -0,0 +1,11 @@
|
||||
### 🟩 Datei: `zustanddiagramm.md`
|
||||
|
||||
```mermaid
|
||||
stateDiagram
|
||||
[*] --> Offline
|
||||
Offline --> Verbinde
|
||||
Verbinde --> Online
|
||||
Online --> Trennen
|
||||
Trennen --> Offline
|
||||
|
||||
```
|
||||
3
docs/Lastenheft/digitaleEingaenge.md
Normal file
3
docs/Lastenheft/digitaleEingaenge.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Digitaleeingaenge
|
||||
|
||||
*Noch kein Inhalt vorhanden.*
|
||||
BIN
docs/Lastenheft/digitaleEingaenge.png
Normal file
BIN
docs/Lastenheft/digitaleEingaenge.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 40 KiB |
BIN
docs/Lastenheft/digitaleEingänge/digitaleEingaenge.png
Normal file
BIN
docs/Lastenheft/digitaleEingänge/digitaleEingaenge.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 40 KiB |
15
docs/Lastenheft/digitaleEingänge/digitaleEingänge.md
Normal file
15
docs/Lastenheft/digitaleEingänge/digitaleEingänge.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# Digitale Eingänge – Dokumentation
|
||||
|
||||
## Beschreibung aus dem Lastenheft
|
||||
|
||||

|
||||
|
||||
- Die digitalen Eingänge müssen jederzeit den aktuellen Status anzeigen.
|
||||
- Änderungen müssen visuell hervorgehoben werden.
|
||||
- Die Darstellung soll in Echtzeit erfolgen (WebSocket oder Polling).
|
||||
|
||||
---
|
||||
|
||||
📄 **Quelle:** Abschnitt 4.1.2 im Lastenheft
|
||||
📁 **Komponente:** `/components/einausgaenge.tsx`
|
||||
🛠️ **API-Route:** `/pages/api/cpl/digitaleEingaenge.ts`
|
||||
BIN
docs/Lastenheft/digitaleEingänge/digitaleEingänge.png
Normal file
BIN
docs/Lastenheft/digitaleEingänge/digitaleEingänge.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 120 KiB |
@@ -5,7 +5,7 @@ Willkommen zur Benutzerhilfe der CPLv4.0 Weboberfläche. Diese Dokumentation ric
|
||||
## 📅 Seitenübersicht
|
||||
|
||||
- [Übersicht / dashboard](uebersicht.md)
|
||||
- [Kabelüberwachung](kabelueberwachung)
|
||||
- [Kabelüberwachung](kabelueberwachung.md)
|
||||
- [Digitale Eingänge / Meldungseingänge](digitale-eingaenge.md)
|
||||
- [Digitale Ausgänge / Schaltausgänge](digitale-ausgaenge.md)
|
||||
- [Analoge Eingänge / Messüberwachung](analoge-eingaenge.md)
|
||||
75
docs/README2.md
Normal file
75
docs/README2.md
Normal file
@@ -0,0 +1,75 @@
|
||||
# 📚 Entwicklerdokumentation für CPLv4.0 Frontend
|
||||
|
||||
Willkommen zur technischen Dokumentation des CPLv4.0 Frontends.
|
||||
Dieses Verzeichnis enthält alle Details zur Architektur, zu den Datenflüssen, zum Redux-Management und zu den verwendeten APIs.
|
||||
|
||||
---
|
||||
|
||||
## 📆 Übersicht
|
||||
|
||||
Dieses Dokument erklärt die technische Struktur und den Ablauf des Projekts für Entwickler. Es dient als Einstiegspunkt für die detaillierte Dokumentation in den jeweiligen Unterordnern.
|
||||
|
||||
- **Architektur**: Aufbau des Systems und der Hauptkomponenten
|
||||
- **Datenflüsse**: Flowcharts und Sequenzdiagramme wichtiger Abläufe
|
||||
- **Redux**: State-Management über Slices und Thunks
|
||||
- **APIs**: Beschreibung der genutzten API-Endpunkte
|
||||
- **Deployment**: Schritte für Build und Veröffentlichung auf CPL
|
||||
- **Glossar**: Erklärung wichtiger technischer Begriffe
|
||||
|
||||
---
|
||||
|
||||
## 📂 Verzeichnisstruktur
|
||||
|
||||
```plaintext
|
||||
/docsForDev/
|
||||
├── Architektur/
|
||||
│ ├── ArchitekturUebersicht.md
|
||||
│ └── KomponentenDiagramm.md
|
||||
├── Datenflüsse/
|
||||
│ ├── SystemVoltTempFlow.md
|
||||
│ ├── TDRSequenz.md
|
||||
│ └── MeldungenFlow.md
|
||||
├── Redux/
|
||||
│ ├── ReduxStateUebersicht.md
|
||||
│ └── WichtigeThunks.md
|
||||
├── APIs/
|
||||
│ ├── SystemAPI.md
|
||||
│ └── KabelueberwachungAPI.md
|
||||
├── Deployment/
|
||||
│ └── DeploymentCPL.md
|
||||
├── Glossar/
|
||||
│ └── Begriffe.md
|
||||
└── README.md # Diese Datei
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Inhalte
|
||||
|
||||
- **Technische Zusammenhänge** zwischen Frontend, Backend und Embedded-System
|
||||
- **Redux-Slices** und **Thunks** im Detail beschrieben
|
||||
- **Flowcharts und Sequenzdiagramme** zur Veranschaulichung der Abläufe
|
||||
- **API-Dokumentation** für Datenabrufe und Systembefehle
|
||||
- **Mock-Daten-Strategie** für Entwicklung ohne Hardware
|
||||
- **Deployment-Anleitung** für CPL ("out"-Verzeichnis Upload)
|
||||
|
||||
---
|
||||
|
||||
## 💬 Hinweise für Entwickler
|
||||
|
||||
- Neue Redux-Slices oder Thunks bitte hier in den passenden Dateien dokumentieren.
|
||||
- Anpassungen an Komponenten oder APIs sollten mit neuen Diagrammen oder Updates versehen werden.
|
||||
- Mock-Daten sollten beschrieben werden, wenn neue Felder hinzukommen.
|
||||
- Deployment-Anweisungen aktualisieren, falls sich der Ablauf ändert.
|
||||
|
||||
---
|
||||
|
||||
## 📣 Ziel
|
||||
|
||||
Eine klare, aktuelle und wartbare technische Dokumentation für das gesamte CPLv4.0 Frontend Projekt, die sowohl neue als auch bestehende Entwickler effektiv unterstützt.
|
||||
|
||||
---
|
||||
|
||||
## 👨💼 Kontakt
|
||||
|
||||
Bei Fragen oder Unklarheiten zur Dokumentation bitte an das CPLv4.0 Entwicklungsteam wenden.
|
||||
37
docs/analogInputsHistoryDataChart/analogInputsHistoryFlow.md
Normal file
37
docs/analogInputsHistoryDataChart/analogInputsHistoryFlow.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# analogInputsHistoryFlow.md
|
||||
|
||||
## Ablaufdiagramm: Historische Daten der analogen Eingänge in Chart.js
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
|
||||
User["User öffnet Seite /analogeEingaenge"] --> ReduxDispatch["Thunk ausgelöst: fetchAnalogInputsHistoryThunk"]
|
||||
|
||||
ReduxDispatch --> Entwicklung["Entwicklungsumgebung"]
|
||||
ReduxDispatch --> Produktion["Produktivumgebung"]
|
||||
|
||||
Entwicklung --> ApiHandler["/api/cpl/fetchAnalogInputsHistory"]
|
||||
Produktion --> CPLWebserver["CPL: /CPL?Service/empty.acp&DIA0"]
|
||||
|
||||
ApiHandler --> MockData["Mockdaten analogInput1 bis 8"]
|
||||
CPLWebserver --> LiveData["Live-Messdaten AE1 bis AE8"]
|
||||
|
||||
MockData --> ReduxStore["Slice speichert Daten"]
|
||||
LiveData --> ReduxStore["Slice speichert Daten"]
|
||||
|
||||
ReduxStore --> Chart["Chart.js zeigt 8 Linien"]
|
||||
Chart --> UserAction["Legende: Eingänge ein-/ausblenden"]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Erklärung:
|
||||
|
||||
- In der Entwicklungsumgebung werden die Daten aus Mock-Dateien geladen.
|
||||
- In der Produktion werden die realen Daten vom CPL-Webserver über CGI-Endpoints geladen.
|
||||
- Chart.js zeigt alle 8 analogen Eingänge gleichzeitig an, Nutzer kann über die Legende steuern.
|
||||
|
||||
---
|
||||
|
||||
**Stand:** 29.04.2025
|
||||
**Projekt:** CPLv4.0 Weboberfläche
|
||||
@@ -0,0 +1,39 @@
|
||||
# analogInputsHistoryReduxFlow.md
|
||||
|
||||
## Flussdiagramm: Redux-Datenfluss der historischen analogen Eingänge
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
|
||||
Component["React-Komponente: AnalogInputsChart"] --> DispatchThunk["dispatch → fetchAnalogInputsHistoryThunk"]
|
||||
DispatchThunk --> ThunkLogik["Thunk-Logik"]
|
||||
ThunkLogik --> fetchService["fetchAnalogInputsHistoryService"]
|
||||
|
||||
fetchService -->|DEV| APIHandler["/api/cpl/fetchAnalogInputsHistory"]
|
||||
fetchService -->|PROD| CPLWebserver["CPL: DIA0-Endpunkt"]
|
||||
|
||||
APIHandler --> DatenMock["Mockdaten geladen"]
|
||||
CPLWebserver --> DatenLive["Live-Daten geladen"]
|
||||
|
||||
DatenMock --> Fulfilled["fulfilled → Redux aktualisieren"]
|
||||
DatenLive --> Fulfilled["fulfilled → Redux aktualisieren"]
|
||||
|
||||
Fulfilled --> Slice["analogInputsHistorySlice speichert"]
|
||||
Slice --> Update["Chart.js aktualisiert sich"]
|
||||
|
||||
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Erklärung:
|
||||
|
||||
- Die Komponente dispatcht den Thunk beim Laden.
|
||||
- Der Service entscheidet, ob Mock-Daten oder Live-Daten geholt werden.
|
||||
- Das Redux-Slice speichert die Daten zentral im State.
|
||||
- Sobald die Daten da sind, aktualisiert sich das Chart automatisch.
|
||||
|
||||
---
|
||||
|
||||
**Stand:** 29.04.2025
|
||||
**Projekt:** CPLv4.0 Weboberfläche
|
||||
@@ -0,0 +1,39 @@
|
||||
# analogInputsHistorySequence.md
|
||||
|
||||
## Sequenzdiagramm: Historische analoge Eingänge laden und darstellen
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
|
||||
User->>+ReactComponent: Seite "/analogeEingaenge" wird geladen
|
||||
ReactComponent->>+ReduxDispatch: dispatch(fetchAnalogInputsHistoryThunk())
|
||||
ReduxDispatch->>+Thunk: fetchAnalogInputsHistoryThunk
|
||||
Thunk->>+Service: fetchAnalogInputsHistoryService
|
||||
|
||||
alt Entwicklungsumgebung
|
||||
Service->>+APIHandler: /api/cpl/fetchAnalogInputsHistory
|
||||
APIHandler-->>Service: JSON-Mock-Daten
|
||||
else Produktionsumgebung
|
||||
Service->>+CPLWebserver: /CPL?Service/empty.acp&DIA0
|
||||
CPLWebserver-->>Service: JSON-Live-Daten
|
||||
end
|
||||
|
||||
Service-->>Thunk: Ergebnis-Daten
|
||||
Thunk-->>ReduxStore: fulfilled action (analogInputsHistorySlice)
|
||||
ReduxStore-->>ReactComponent: neue State-Daten verfügbar
|
||||
ReactComponent-->>Chart.js: aktualisierte Daten zeichnen
|
||||
Chart.js-->>User: Anzeige von 8 Eingängen, einzeln ein-/ausblendbar
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Erklärung:
|
||||
|
||||
- Unterschiedliche Datenquellen je nach Umgebung (DEV oder PROD)
|
||||
- Redux verwaltet den Zwischenstand über Slice + Thunk
|
||||
- UI aktualisiert sich automatisch nach erfolgreichem Laden
|
||||
|
||||
---
|
||||
|
||||
**Stand:** 29.04.2025
|
||||
**Projekt:** CPLv4.0 Weboberfläche
|
||||
@@ -52,3 +52,14 @@ Im lokalen Entwicklungsmodus (Mock-System) ist es möglich, manuell simulierte W
|
||||
---
|
||||
|
||||
**Letzte Aktualisierung:** 3. Mai 2025
|
||||
|
||||
## 🔗 Weiterführende Bereiche
|
||||
|
||||
- [Übersicht / dashboard](uebersicht.md)
|
||||
- [Kabelüberwachung](kabelueberwachung.md)
|
||||
- [Digitale Eingänge](digitale-eingaenge.md)
|
||||
- [Digitale Ausgänge](digitale-ausgaenge.md)
|
||||
- [TDR Einstellungen](tdr-einstellungen.md)
|
||||
- [Meldungen](meldungen.md)
|
||||
- [System](system.md)
|
||||
- [Einstellungen](einstellungen.md)
|
||||
|
||||
3
docs/api.md
Normal file
3
docs/api.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Api
|
||||
|
||||
*Noch kein Inhalt vorhanden.*
|
||||
70
docs/architecture.md
Normal file
70
docs/architecture.md
Normal file
@@ -0,0 +1,70 @@
|
||||
# Architektur: fetchAnalogeEingaengeService.ts
|
||||
|
||||
Dieses Diagramm beschreibt die Datenflussarchitektur des Services `fetchAnalogeEingaengeService.ts`.
|
||||
|
||||
## 🎯 Ziel
|
||||
|
||||
Egal ob `json`, `jsmock` oder `production`-Modus – der Service gibt **immer** ein einheitliches JSON-Objekt zurück.
|
||||
|
||||
---
|
||||
|
||||
## 🧠 Datenfluss
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
Start[fetchAnalogeEingaengeService aufgerufen] --> CheckMode{CPL Mode}
|
||||
|
||||
CheckMode -->|json| FetchJSON[📄 JSON-Datei laden: /CPLmockData/SERVICE/analogeEingaengeMockData.json]
|
||||
FetchJSON --> ReturnJSON1[✅ JSON zurückgeben]
|
||||
|
||||
CheckMode -->|jsmock| ImportJSMock[📜 JS-Datei importieren: analogeEingaengeMockData.js]
|
||||
ImportJSMock --> ParseMock[🔁 parseWindowData]
|
||||
ParseMock --> ReturnJSON2[✅ JSON zurückgeben]
|
||||
|
||||
CheckMode -->|production| LoadCGI[🌐 JS vom Gerät laden: /CPL/SERVICE/analogeEingaenge.js]
|
||||
LoadCGI --> ParseCGI[🔁 parseWindowData]
|
||||
ParseCGI --> ReturnJSON3[✅ JSON zurückgeben]
|
||||
|
||||
style ReturnJSON1 fill:#d4f4dd
|
||||
style ReturnJSON2 fill:#d4f4dd
|
||||
style ReturnJSON3 fill:#d4f4dd
|
||||
```
|
||||
|
||||
#
|
||||
|
||||
# Architecture
|
||||
|
||||
In dieser Anwendung werden drei Betriebsmodi unterstützt:
|
||||
|
||||
- `json`: lädt Mockdaten über API-Handler
|
||||
- `jsmock`: lädt JS-Dateien mit `window.win_*` Variablen
|
||||
- `production`: lädt Platzhalterdaten vom echten Gerät (CPL)
|
||||
|
||||
Ziel: Alle Services liefern immer standardisiertes JSON-Objekt
|
||||
➡️ Redux und UI bleiben unabhängig von Datenquelle
|
||||
|
||||
---
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[.env: NEXT_PUBLIC_CPL_MODE] -->|json| B1[/api/.../APIHandler.ts/]
|
||||
A -->|jsmock / production| B2[window.win_* Variablen aus JS-Datei]
|
||||
B1 --> C[fetchXYZService.ts]
|
||||
B2 --> C
|
||||
C --> D[Normiertes JSON-Objekt]
|
||||
D --> E[Redux Thunk]
|
||||
E --> F[Redux Slice]
|
||||
F --> G[UI-Komponente z.B. Tabelle]
|
||||
|
||||
subgraph Service-Schicht
|
||||
C
|
||||
end
|
||||
|
||||
subgraph Redux-Schicht
|
||||
E --> F
|
||||
end
|
||||
|
||||
subgraph UI-Schicht
|
||||
G
|
||||
end
|
||||
```
|
||||
3
docs/charts/analogInputsHistory.md
Normal file
3
docs/charts/analogInputsHistory.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Analoginputshistory
|
||||
|
||||
*Noch kein Inhalt vorhanden.*
|
||||
3
docs/charts/systemVoltTemp.md
Normal file
3
docs/charts/systemVoltTemp.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Systemvolttemp
|
||||
|
||||
*Noch kein Inhalt vorhanden.*
|
||||
23
docs/charts/tdr-einstellungen.md
Normal file
23
docs/charts/tdr-einstellungen.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# 📊 TDR-Einstellungen
|
||||
|
||||
Die TDR-Funktion (Time Domain Reflectometry) dient zur Entfernungsmessung von Leitungsfehlern.
|
||||
|
||||
## ⚙️ Einstellbare Parameter
|
||||
|
||||
- **Dämpfung (Attenuation)**: Signalstärke, typischerweise 0–20
|
||||
- **Geschwindigkeit (Speed)**: Ausbreitungsgeschwindigkeit des Signals in m/µs
|
||||
- **Triggerwert**: Empfindlichkeit des Auslösers
|
||||
- **TDR aktivieren/deaktivieren**: Schaltet die Funktion pro Slot ein oder aus
|
||||
|
||||
## 🔄 Hinweis zum Status
|
||||
|
||||
Beim Umschalten der TDR-Funktion erscheint eine Bestätigung. Nach Klick auf "OK" wird die Seite automatisch neu geladen, um den neuen Zustand korrekt darzustellen.
|
||||
|
||||
> Hinweis: Der Reload ist notwendig, da der UI-Zustand nicht automatisch aktualisiert wird.
|
||||
|
||||
## 🌐 Anzeige
|
||||
|
||||
- Sichtbare Kurvenanzeige bei aktivierter Funktion
|
||||
- Referenzkurvenvergleich im Slot-Modal
|
||||
|
||||
**Letzte Aktualisierung:** 3. Mai 2025
|
||||
3
docs/components/chart-switcher.md
Normal file
3
docs/components/chart-switcher.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Chart Switcher
|
||||
|
||||
*Noch kein Inhalt vorhanden.*
|
||||
3
docs/components/systemVoltTempChart.md
Normal file
3
docs/components/systemVoltTempChart.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Systemvolttempchart
|
||||
|
||||
*Noch kein Inhalt vorhanden.*
|
||||
3
docs/cpl-integration.md
Normal file
3
docs/cpl-integration.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Cpl Integration
|
||||
|
||||
*Noch kein Inhalt vorhanden.*
|
||||
21
docs/diagrams/erdiagramm.md
Normal file
21
docs/diagrams/erdiagramm.md
Normal file
@@ -0,0 +1,21 @@
|
||||
### 🟩 Datei: `erdiagramm.md`
|
||||
|
||||
```mermaid
|
||||
erDiagram
|
||||
Kunden ||--o{ Bestellungen : hat
|
||||
Bestellungen ||--|{ Artikel : enthält
|
||||
Kunden {
|
||||
string name
|
||||
string adresse
|
||||
}
|
||||
Bestellungen {
|
||||
int id
|
||||
date datum
|
||||
}
|
||||
Artikel {
|
||||
int artikel_id
|
||||
string bezeichnung
|
||||
float preis
|
||||
}
|
||||
|
||||
```
|
||||
3
docs/diagrams/flowchart.md
Normal file
3
docs/diagrams/flowchart.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Flowchart
|
||||
|
||||
*Noch kein Inhalt vorhanden.*
|
||||
3
docs/diagrams/overview.md
Normal file
3
docs/diagrams/overview.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Overview
|
||||
|
||||
*Noch kein Inhalt vorhanden.*
|
||||
3
docs/diagrams/redux.md
Normal file
3
docs/diagrams/redux.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Redux
|
||||
|
||||
*Noch kein Inhalt vorhanden.*
|
||||
3
docs/diagrams/sequenzdiagramme.md
Normal file
3
docs/diagrams/sequenzdiagramme.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Sequenzdiagramme
|
||||
|
||||
*Noch kein Inhalt vorhanden.*
|
||||
3
docs/diagrams/zustandsdiagramme.md
Normal file
3
docs/diagrams/zustandsdiagramme.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Zustandsdiagramme
|
||||
|
||||
*Noch kein Inhalt vorhanden.*
|
||||
@@ -39,3 +39,14 @@ Die Anzeige wird alle 10 Sekunden automatisch aktualisiert. Änderungen am Statu
|
||||
## 🔒 Hinweise
|
||||
|
||||
**Letzte Aktualisierung:** 3. Mai 2025
|
||||
|
||||
## 🔗 Weiterführende Bereiche
|
||||
|
||||
- [Übersicht / dashboard](uebersicht.md)
|
||||
- [Kabelüberwachung](kabelueberwachung.md)
|
||||
- [Digitale Eingänge](digitale-eingaenge.md)
|
||||
- [Analoge Eingänge](analoge-eingaenge.md)
|
||||
- [TDR Einstellungen](tdr-einstellungen.md)
|
||||
- [Meldungen](meldungen.md)
|
||||
- [System](system.md)
|
||||
- [Einstellungen](einstellungen.md)
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
title: Digitale Eingänge / Meldungseingänge
|
||||
---
|
||||
|
||||
## 🔍 Übersicht
|
||||
## Digitale Eingänge / Meldungseingänge
|
||||
|
||||
Die Meldungseingänge dienen zur Überwachung von digitalen Signalen, wie z. B. Schaltkontakten, Alarmmeldungen oder Relaiszuständen. In der Benutzeroberfläche werden alle Eingänge tabellarisch in zwei Gruppen dargestellt:
|
||||
|
||||
@@ -71,3 +71,14 @@ Beim Überfahren der Symbole wird ein Tooltip mit Detailinformationen eingeblend
|
||||
## 📷 Beispielansicht
|
||||
|
||||

|
||||
|
||||
## 🔗 Weiterführende Bereiche
|
||||
|
||||
- [Übersicht / dashboard](uebersicht.md)
|
||||
- [Kabelüberwachung](kabelueberwachung.md)
|
||||
- [Digitale Ausgänge](digitale-ausgaenge.md)
|
||||
- [Analoge Eingänge](analoge-eingaenge.md)
|
||||
- [TDR Einstellungen](tdr-einstellungen.md)
|
||||
- [Meldungen](meldungen.md)
|
||||
- [System](system.md)
|
||||
- [Einstellungen](einstellungen.md)
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
title: ⚙️ Einstellungen
|
||||
---
|
||||
|
||||
## ⚙️ Übersicht
|
||||
## ⚙️ Einstellungen
|
||||
|
||||
Im Menüpunkt **Einstellungen** befinden sich alle zentralen Konfigurationen für den Betrieb des CPL-Systems. Die Einstellungen sind in verschiedene Abschnitte unterteilt, die jeweils spezifische Funktionen abdecken.
|
||||
|
||||
@@ -75,3 +75,14 @@ Die Sektion „Database Settings“ ist vorbereitet, jedoch derzeit ausgeblendet
|
||||
---
|
||||
|
||||
> 🔒 Die Systemseite ist aus Sicherheitsgründen nur mit Admin-Rechten vollständig nutzbar.
|
||||
|
||||
## 🔗 Weiterführende Bereiche
|
||||
|
||||
- [Übersicht / dashboard](uebersicht.md)
|
||||
- [Kabelüberwachung](kabelueberwachung.md)
|
||||
- [Digitale Eingänge](digitale-eingaenge.md)
|
||||
- [Digitale Ausgänge](digitale-ausgaenge.md)
|
||||
- [Analoge Eingänge](analoge-eingaenge.md)
|
||||
- [TDR Einstellungen](tdr-einstellungen.md)
|
||||
- [Meldungen](meldungen.md)
|
||||
- [System](system.md)
|
||||
|
||||
3
docs/entwickler-notizen.md
Normal file
3
docs/entwickler-notizen.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Entwickler Notizen
|
||||
|
||||
*Noch kein Inhalt vorhanden.*
|
||||
3
docs/getting-started.md
Normal file
3
docs/getting-started.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Getting Started
|
||||
|
||||
*Noch kein Inhalt vorhanden.*
|
||||
@@ -145,3 +145,14 @@ Wenn der Tab **TDR** aktiv ist und auf **„Messkurve“** geklickt wurde, wird
|
||||
- Einstellungen, manuelle Messung und Fehlerdiagnose erfolgen direkt über die grafische UI.
|
||||
- Alle Aktionen (Alarme, Konfiguration, Messungen) sind **slotgenau**.
|
||||
- Die Darstellung ist intuitiv, modular aufgebaut und auch ohne Spezialwissen nutzbar.
|
||||
|
||||
## 🔗 Weiterführende Bereiche
|
||||
|
||||
- [Übersicht / dashboard](uebersicht.md)
|
||||
- [Digitale Eingänge](digitale-eingaenge.md)
|
||||
- [Digitale Ausgänge](digitale-ausgaenge.md)
|
||||
- [Analoge Eingänge](analoge-eingaenge.md)
|
||||
- [TDR Einstellungen](tdr-einstellungen.md)
|
||||
- [Meldungen](meldungen.md)
|
||||
- [System](system.md)
|
||||
- [Einstellungen](einstellungen.md)
|
||||
|
||||
25
docs/kabelüberwachung/chart-switcher-flow.md
Normal file
25
docs/kabelüberwachung/chart-switcher-flow.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# 📊 ChartSwitcher Ablauf – Schleifenmessung
|
||||
|
||||
## Überblick
|
||||
|
||||
Dieses Diagramm zeigt den Ablauf beim Öffnen und Schließen des Schleifenmessungs-Modals im `ChartSwitcher.tsx`.
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
UserOpensChart["User öffnet Chart-Modul: Schleifenmessung"]
|
||||
ResetDates["Setze vonDatum = heute - 30 Tage, bisDatum = heute"]
|
||||
LoadData["Lade Chartdaten mit aktuellem Datum"]
|
||||
ShowChart["Zeige Diagramm mit Daten"]
|
||||
|
||||
UserClosesChart["User schließt das Modal"]
|
||||
ResetAgain["Setze beim Schließen..."]
|
||||
ResetDropdowns["...Dropdowns zurück auf 'DIA0' und 'Isolationswiderstand'"]
|
||||
ResetTitle["...und setze Chart-Titel auf 'Isolationsmessung'"]
|
||||
|
||||
UserOpensChart --> ResetDates --> LoadData --> ShowChart
|
||||
ShowChart --> UserClosesChart
|
||||
UserClosesChart --> ResetAgain
|
||||
ResetAgain --> ResetDropdowns --> ResetTitle
|
||||
|
||||
|
||||
```
|
||||
@@ -2,7 +2,7 @@
|
||||
title: 📜 Meldungen / Berichte
|
||||
---
|
||||
|
||||
## 📋 Übersicht
|
||||
## 📋 Meldungen / Berichte
|
||||
|
||||
In der Ansicht **Meldungen** werden alle Systemereignisse des CPL-Systems aufgelistet – z. B. **Störungen**, **Informationen**, **Alarme** oder **Statusänderungen**.
|
||||
|
||||
@@ -54,3 +54,14 @@ Wenn sehr viele Meldungen angezeigt werden, ist eine **Seitennavigation (Paginat
|
||||
---
|
||||
|
||||
📌 Diese Funktion ist besonders nützlich für Wartungspersonal oder zur Analyse vergangener Ereignisse im System.
|
||||
|
||||
## 🔗 Weiterführende Bereiche
|
||||
|
||||
- [Übersicht / dashboard](uebersicht.md)
|
||||
- [Kabelüberwachung](kabelueberwachung.md)
|
||||
- [Digitale Eingänge](digitale-eingaenge.md)
|
||||
- [Digitale Ausgänge](digitale-ausgaenge.md)
|
||||
- [Analoge Eingänge](analoge-eingaenge.md)
|
||||
- [TDR Einstellungen](tdr-einstellungen.md)
|
||||
- [System](system.md)
|
||||
- [Einstellungen](einstellungen.md)
|
||||
|
||||
54
docs/pages/analoge-eingaenge.md
Normal file
54
docs/pages/analoge-eingaenge.md
Normal file
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: 🔢 Analoge Eingänge /Messüberwachung
|
||||
---
|
||||
|
||||
# 🔢 Analoge Eingänge (Messüberwachung)
|
||||
|
||||
Die Seite **Analoge Eingänge** zeigt in tabellarischer Form alle erfassten Messwerte von bis zu acht analogen Kanälen (Spannung, Temperatur). Jeder Kanal ist mit seiner aktuellen Messung, einer Bezeichnung und einer Einheit dargestellt.
|
||||
|
||||
## 🌐 Anzeige & Interaktion
|
||||
|
||||
- Übersicht über 1–8 analoge Kanäle
|
||||
- **Live-Messwertanzeige** mit kontinuierlicher Aktualisierung
|
||||
- **Verlaufskurven** der letzten 24 Stunden mit Zoom-Funktion
|
||||
- Farbige Darstellung zur schnellen Erkennung von Grenzwertverletzungen
|
||||
|
||||
### Beispielhafte Spalten der Tabelle:
|
||||
|
||||
| Eingang | Messwert | Bezeichnung | Einheit | Aktion |
|
||||
| ------- | -------- | ----------- | ------- | ---------------- |
|
||||
| 1 | 3.25 | Temperatur | °C | ⚙️ Einstellungen |
|
||||
|
||||
## 📈 Verlauf & Diagramm
|
||||
|
||||
Durch Klick auf einen Eingang öffnet sich eine **Verlaufskurve**, die den Messwertverlauf der letzten 24 Stunden anzeigt. Die Daten werden automatisch geladen und im Diagramm (Chart.js) dargestellt.
|
||||
|
||||
- Interaktive Diagramme mit Zeitachse
|
||||
- Tooltip bei Mouseover für exakte Werte
|
||||
- Darstellung nach Zeit (Stundenformat)
|
||||
|
||||
## ⚙️ Einstellungen pro Kanal
|
||||
|
||||
Jeder Kanal kann individuell konfiguriert werden. Nach Klick auf das **Zahnrad-Symbol (⚙️)** öffnet sich ein Einstellungs-Modal mit folgenden Optionen:
|
||||
|
||||
| Feld | Beschreibung |
|
||||
| ----------------------- | -------------------------------------------------------------- |
|
||||
| **Bezeichnung** | Frei wählbarer Kanalname |
|
||||
| **Offset** | Verschiebung des Werts zur Kompensation systematischer Fehler |
|
||||
| **Faktor** | Skalierung zur Umrechnung des Rohwerts (z. B. für mV → °C) |
|
||||
| **Einheit** | Auswahl aus vordefinierten Einheiten (z. B. V, mA, °C, bar, %) |
|
||||
| **Loggerintervall (s)** | Intervall, in dem Werte im System gespeichert werden |
|
||||
|
||||
> ⚠️ **Hinweis:** Änderungen werden erst nach Klick auf **Speichern** übernommen. In der Entwicklungsumgebung erscheint eine Erfolgsmeldung, in der Produktionsumgebung wird der Wert sofort an das Gerät übertragen.
|
||||
|
||||
## 🔄 Simulation (nur im Testmodus)
|
||||
|
||||
Im lokalen Entwicklungsmodus (Mock-System) ist es möglich, manuell simulierte Werte einzugeben. Dadurch können Anzeige und Kurvenverlauf ohne physikalisches Signal getestet werden.
|
||||
|
||||
## 📚 Weitere Hinweise
|
||||
|
||||
- Die Einheiten und Messgrößen hängen von der physikalischen Konfiguration (z. B. Sensoren) ab.
|
||||
|
||||
---
|
||||
|
||||
**Letzte Aktualisierung:** 3. Mai 2025
|
||||
41
docs/pages/digitale-ausgaenge.md
Normal file
41
docs/pages/digitale-ausgaenge.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# 🔌 Digitale Ausgänge /Schaltausgänge
|
||||
|
||||
In diesem Modul können die **digitalen Schaltausgänge (1–4)** des Systems verwaltet werden. Jeder Ausgang repräsentiert eine digitale Steuerleitung, mit der z. B. Relais, Lampen oder andere Geräte ein- oder ausgeschaltet werden können.
|
||||
|
||||
## 🧩 Übersicht
|
||||
|
||||
Die Ausgänge werden tabellarisch dargestellt:
|
||||
|
||||
| Spalte | Beschreibung |
|
||||
| --------------- | ----------------------------------------------------------------- |
|
||||
| **Ausgang** | Nummer und Icon zur eindeutigen Kennzeichnung |
|
||||
| **Bezeichnung** | Benutzerdefinierter Name für den Ausgang (z. B. „Licht Relais 1“) |
|
||||
| **Schalter** | Interaktives Symbol zum Umschalten des Ausgangs (Ein/Aus) |
|
||||
| **Aktion** | Zahnradsymbol öffnet die Konfiguration für den jeweiligen Ausgang |
|
||||
|
||||
Der aktuelle Zustand wird farblich dargestellt:
|
||||
|
||||
- **Grün (EIN)**: Ausgang ist aktiv
|
||||
- **Grau (AUS)**: Ausgang ist deaktiviert
|
||||
|
||||
## ⚙️ Konfiguration
|
||||
|
||||
Durch Klick auf das Zahnrad öffnet sich ein Modal-Fenster mit folgenden Einstellmöglichkeiten:
|
||||
|
||||
| Feld | Beschreibung |
|
||||
| --------------- | -------------------------------------------------------- |
|
||||
| **Bezeichnung** | Frei wählbare Beschreibung (z. B. „Heizung Relais“) |
|
||||
| **Status** | Sofortiges Umschalten zwischen EIN (grün) und AUS (grau) |
|
||||
| **Speichern** | Änderungen werden gespeichert und sofort übernommen |
|
||||
|
||||
:::info
|
||||
Schaltbefehle werden direkt an das Backend gesendet und gespeichert. Eine visuelle Rückmeldung erfolgt im Modal.
|
||||
:::
|
||||
|
||||
## 🔁 Automatische Aktualisierung
|
||||
|
||||
Die Anzeige wird alle 10 Sekunden automatisch aktualisiert. Änderungen am Status oder an Bezeichnungen anderer Benutzer werden somit zeitnah übernommen.
|
||||
|
||||
## 🔒 Hinweise
|
||||
|
||||
**Letzte Aktualisierung:** 3. Mai 2025
|
||||
73
docs/pages/digitale-eingaenge.md
Normal file
73
docs/pages/digitale-eingaenge.md
Normal file
@@ -0,0 +1,73 @@
|
||||
---
|
||||
title: Digitale Eingänge / Meldungseingänge
|
||||
---
|
||||
|
||||
## 🔍 Übersicht
|
||||
|
||||
Die Meldungseingänge dienen zur Überwachung von digitalen Signalen, wie z. B. Schaltkontakten, Alarmmeldungen oder Relaiszuständen. In der Benutzeroberfläche werden alle Eingänge tabellarisch in zwei Gruppen dargestellt:
|
||||
|
||||
- **Eingänge 1–16**
|
||||
- **Eingänge 17–32**
|
||||
|
||||
Jeder Eingang zeigt:
|
||||
|
||||
- seinen aktuellen **Zustand** (Ein/Aus),
|
||||
- seine individuelle **Bezeichnung**,
|
||||
- und ein **Bearbeitungssymbol** (Zahnrad) zur Konfiguration.
|
||||
|
||||
---
|
||||
|
||||
## ⚙️ Einstellungen pro Eingang
|
||||
|
||||
Durch Klick auf das Zahnrad-Icon öffnet sich ein Einstellungsdialog (Modal) für den gewählten Eingang.
|
||||
|
||||
### Einstellbare Parameter:
|
||||
|
||||
| Parameter | Beschreibung |
|
||||
| ------------------- | ----------------------------------------------------------------------- |
|
||||
| **Name** | Frei definierbare Bezeichnung des Eingangs |
|
||||
| **Invertierung** | Umkehrung der Signalinterpretation (z. B. bei Öffnerkontakten sinnvoll) |
|
||||
| **Filterzeit (ms)** | Zeitverzögerung zur Unterdrückung kurzer Impulse (0–2000 ms) |
|
||||
| **Gewichtung** | Einflussstärke des Eingangs für Meldungsbewertungen (0–1000) |
|
||||
| **Zähler aktiv** | Aktiviert einen Zähler, der die Schaltvorgänge dieses Eingangs mitzählt |
|
||||
|
||||
---
|
||||
|
||||
## 🟢 Zustandssymbole
|
||||
|
||||
| Symbol | Bedeutung |
|
||||
| ------ | --------------- |
|
||||
| 🔴 ● | Eingang „Aus“ |
|
||||
| 🟢 ● | Eingang „Ein“ |
|
||||
| ✖ | Eingang inaktiv |
|
||||
|
||||
Beim Überfahren der Symbole wird ein Tooltip mit Detailinformationen eingeblendet.
|
||||
|
||||
---
|
||||
|
||||
## 🧠 Zähler und Diagnose
|
||||
|
||||
- Der **Zählerstand** zeigt, wie oft der Eingang aktiviert wurde (z. B. bei Impulszählern).
|
||||
- Der Status „**Inaktiv**“ bedeutet, dass der Eingang derzeit keine gültigen Signale liefert oder vom System nicht erkannt wurde.
|
||||
|
||||
---
|
||||
|
||||
## 💾 Speichern und Rückmeldung
|
||||
|
||||
- Nach dem Anpassen der Parameter muss der Button **„Speichern“** betätigt werden.
|
||||
- Die Werte werden entweder lokal (Entwicklungsmodus) oder per CGI-Schnittstelle (Produktivsystem) an die CPL-Hardware übertragen.
|
||||
- Eine entsprechende Bestätigungsmeldung informiert über den Erfolg oder eventuelle Fehler.
|
||||
|
||||
---
|
||||
|
||||
## 📝 Hinweise
|
||||
|
||||
- Alle Eingänge werden regelmäßig aktualisiert (alle 10 Sekunden).
|
||||
- Es kann jeweils nur **ein Eingang gleichzeitig** im Modal bearbeitet werden.
|
||||
- Änderungen ohne Unterschied zum Ursprungszustand lösen keine Speicherung aus (Hinweis „⚠️ Keine Änderungen erkannt“).
|
||||
|
||||
---
|
||||
|
||||
## 📷 Beispielansicht
|
||||
|
||||

|
||||
77
docs/pages/einstellungen.md
Normal file
77
docs/pages/einstellungen.md
Normal file
@@ -0,0 +1,77 @@
|
||||
---
|
||||
title: ⚙️ Einstellungen
|
||||
---
|
||||
|
||||
## ⚙️ Übersicht
|
||||
|
||||
Im Menüpunkt **Einstellungen** befinden sich alle zentralen Konfigurationen für den Betrieb des CPL-Systems. Die Einstellungen sind in verschiedene Abschnitte unterteilt, die jeweils spezifische Funktionen abdecken.
|
||||
|
||||
---
|
||||
|
||||
## 🕒 NTP-Zeitsynchronisation
|
||||
|
||||
Hier kannst du die automatische Uhrzeitsynchronisation mit bis zu drei NTP-Servern konfigurieren.
|
||||
|
||||
| Feld | Beschreibung |
|
||||
| ------------------ | --------------------------------------------------- |
|
||||
| **NTP Server 1–3** | IP-Adresse oder Hostname der Zeitserver. |
|
||||
| **Zeitzone** | Textfeld für die Zeitzone (z. B. `Europe/Berlin`). |
|
||||
| **NTP aktiv** | Aktiviert/deaktiviert die automatische Zeitabfrage. |
|
||||
|
||||
> Änderungen werden durch Klick auf **„Speichern“** übernommen.
|
||||
|
||||
---
|
||||
|
||||
## 🌐 OPCUA-Schnittstelle
|
||||
|
||||
Diese Sektion erlaubt die Konfiguration der **OPCUA-Schnittstelle**, mit der Daten an externe Systeme übergeben werden können.
|
||||
|
||||
| Feld | Beschreibung |
|
||||
| --------------------- | ----------------------------------------------------------------- |
|
||||
| **Server aktivieren** | Startet oder stoppt den OPCUA-Server. |
|
||||
| **OPCUA Zustand** | Anzeige des aktuellen Systemstatus (z. B. Initialisiert, Fehler). |
|
||||
| **Nodeset Name** | Technischer Name für den OPCUA-Knotenbaum. |
|
||||
|
||||
> Die Verschlüsselung und Benutzerverwaltung sind aktuell deaktiviert, aber intern vorbereitet.
|
||||
|
||||
---
|
||||
|
||||
## 👤 Admin-Anmeldung
|
||||
|
||||
Nur autorisierte Personen dürfen systemkritische Änderungen vornehmen. Dafür ist ein Admin-Login erforderlich.
|
||||
|
||||
- Felder: Benutzername + Passwort
|
||||
- Nach erfolgreicher Anmeldung erscheint eine Bestätigung: „Login erfolgreich“
|
||||
- Button „Admin abmelden“ trennt die Sitzung
|
||||
|
||||
### 🔄 Firmware-Update für Kabelüberwachungsmodule
|
||||
|
||||
Nach erfolgreicher Anmeldung kann zusätzlich ein **Firmware-Update** für einzelne oder alle KÜE-Module (Kabelüberwachungseinheiten) durchgeführt werden.
|
||||
|
||||
- Der Update-Prozess wird über ein modales Fenster gestartet.
|
||||
- Es erscheint ein Bestätigungsdialog, bevor der Vorgang beginnt.
|
||||
- Nach erfolgreichem Update erfolgt eine Rückmeldung über das Ergebnis.
|
||||
|
||||
> ⚠️ Firmware-Updates sollten nur von autorisierten Fachpersonen durchgeführt werden. Während des Updates darf das Gerät nicht ausgeschaltet oder getrennt werden.
|
||||
|
||||
---
|
||||
|
||||
## 📦 Datenbank
|
||||
|
||||
Die Sektion „Database Settings“ ist vorbereitet, jedoch derzeit ausgeblendet. Spätere Funktionen könnten beinhalten:
|
||||
|
||||
- Backup leeren
|
||||
- Datenbankverbindung ändern
|
||||
- Konfigurationsständen
|
||||
|
||||
---
|
||||
|
||||
## 📘 Hinweise
|
||||
|
||||
- Änderungen wirken sich direkt auf den Systembetrieb aus.
|
||||
- Nach kritischen Änderungen empfiehlt sich ein Neustart des CPL-Geräts.
|
||||
- Achte bei der Eingabe von Servernamen oder IP-Adressen auf korrekte Schreibweise.
|
||||
|
||||
---
|
||||
|
||||
> 🔒 Die Systemseite ist aus Sicherheitsgründen nur mit Admin-Rechten vollständig nutzbar.
|
||||
147
docs/pages/kabelueberwachung.md
Normal file
147
docs/pages/kabelueberwachung.md
Normal file
@@ -0,0 +1,147 @@
|
||||
# 🏠 Kabelüberwachung
|
||||
|
||||
Die Seite **Kabelüberwachung** zeigt bis zu **32 Steckplätze (Slots)**, gruppiert in **vier Racks**, zur Live-Überwachung aller angeschlossenen Kabelmodule. Jeder Slot visualisiert den aktuellen Betriebsstatus, Alarmzustände, Messwerte und erlaubt den direkten Zugriff auf Konfiguration und Messkurven.
|
||||
|
||||
---
|
||||
|
||||

|
||||
|
||||
## ⚙️ Einstellungen pro Slot
|
||||
|
||||
Beim Klick auf das ⚙️ Zahnrad-Symbol oben rechts im Slot wird ein **Modal** geöffnet.
|
||||
Dieses enthält drei Reiter:
|
||||
|
||||
### 🛠️ KUE Einstellung
|
||||
|
||||
| Feld | Beschreibung |
|
||||
| ----------------------- | ------------------------------------------------------------- |
|
||||
| **Kabelbezeichnung** | Freitextname für das überwachte Kabel |
|
||||
| **Isolationsgrenzwert** | Schwellenwert (in MOhm) für Isolationsalarm |
|
||||
| **Schleifengrenzwert** | Schwellenwert (in kOhm) für Schleifenwiderstand |
|
||||
| **Filterzeit** | Zeitverzögerung (in Sekunden), bevor ein Alarm ausgelöst wird |
|
||||
| **Loggerintervall** | Intervall zur Datenspeicherung (z. B. alle 5 Minuten) |
|
||||
| **Display einschalten** | Aktiviert das lokale Display am Slot-Gerät (z. B. KÜ705-FO) |
|
||||
|
||||
---
|
||||
|
||||
### 📶 TDR-Einstellungen
|
||||
|
||||
Die **TDR-Funktion** (Time Domain Reflectometry) dient der **Lokalisation von Kabelfehlern**.
|
||||
Sie ist **pro Slot aktivierbar** und bietet folgende Einstellungen:
|
||||
|
||||
| Einstellung | Beschreibung |
|
||||
| -------------------------- | -------------------------------------------------------------------------------------------------------------------- |
|
||||
| **TDR-Funktion** | Aktiviert/deaktiviert **sofort** die TDR-Messung. Ein Bestätigungsdialog zeigt den Status (z. B. "TDR deaktiviert"). |
|
||||
| **TDR-Dämpfung (dB)** | Signalabschwächung zur Anpassung an Kabeltyp und -länge |
|
||||
| **Geschwindigkeit (m/μs)** | Wellenausbreitungsgeschwindigkeit im Kabelmaterial (z. B. 112 m/μs) |
|
||||
| **Trigger** | Empfindlichkeitsschwelle zur Fehlerortung (je kleiner, desto empfindlicher) |
|
||||
|
||||
**Bedienung:**
|
||||
|
||||
- **TDR-Funktion** ist ein Toggle – Änderungen wirken sofort.
|
||||
- **Dämpfung, Geschwindigkeit, Trigger** wirken **erst nach Klick** auf **„Einstellungen senden“**.
|
||||
- Die TDR-Messung kann später als Kurvendiagramm angezeigt werden (siehe unten).
|
||||
|
||||
---
|
||||
|
||||
### 🔁 Knotenpunkte-Anzeige
|
||||
|
||||
Der Reiter **Knotenpunkte** zeigt die konfigurierte Struktur eines Steckplatzes:
|
||||
|
||||
| Feld | Beschreibung |
|
||||
| -------------- | -------------------------------------------------- |
|
||||
| **Knoten** | Bezeichnung der Leitungsteilabschnitte (Line 1–10) |
|
||||
| **Verbindung** | Logische Verbindung (z. B. Link 1–2) |
|
||||
| **Länge** | Physikalische Länge der Kabelverbindung (in Meter) |
|
||||
|
||||
> Diese Daten sind **nur lesbar** (Read-Only) und dienen zur Orientierung. Änderungen erfolgen systemseitig oder über das Backend.
|
||||
|
||||
---
|
||||
|
||||
## ⚡ Alarmanzeige und Fehlererkennung
|
||||
|
||||
Jeder Slot zeigt über zwei LEDs den Betriebs- und Alarmstatus an:
|
||||
|
||||
- 🟢 **Grün** – Betrieb OK
|
||||
- 🟡 **Gelb** – Warnung (z. B. Grenzwert erreicht)
|
||||
- 🔴 **Rot** – Aktiver Alarm
|
||||
|
||||
### Mögliche Alarmtypen:
|
||||
|
||||
| Alarmtyp | Beschreibung |
|
||||
| --------------- | ---------------------------------------------------------- |
|
||||
| **Aderbruch** | Schleifenwiderstand über Grenzwert – Leitungsunterbrechung |
|
||||
| **Erdschluss** | Isolationswert unter Grenzwert – möglicher Erdfehler |
|
||||
| **Kurzschluss** | Ungewöhnlich niedriger Widerstand |
|
||||
| **TDR-Alarm** | Auffällige Reflexion im Leitungssystem |
|
||||
| **Überlauf** | Datenfehler oder Kommunikationsproblem |
|
||||
|
||||
> Alarme sind **slotbezogen**, unterscheiden **kommend/gehend** und bleiben bis zur Quittierung oder Rückkehr in den Normalzustand sichtbar.
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Messungssteuerung (manuell)
|
||||
|
||||
Im unteren Bereich jedes Slots befindet sich ein **Kreispfeil-Icon** 🔄 (Reload-Symbol):
|
||||
|
||||
- Dieses startet **je nach aktivem Tab (Schleife oder TDR)** die entsprechende Messung manuell.
|
||||
- Die Buttons **„Schleife“** oder **„TDR“** oberhalb steuern, welcher Modus aktiv ist (hellblau markiert).
|
||||
- Die aktuelle Messung wird nach dem Klick auf **„Messkurve“** als Verlauf geöffnet.
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
## 📈 Messkurvenanzeige: Schleife und TDR
|
||||
|
||||
### Tab-Auswahl
|
||||
|
||||
- **Schleife** (Standard) zeigt den Schleifenwiderstand in `kOhm`
|
||||
- **TDR** zeigt die TDR-Reflexion mit möglicher Fehlerstelle
|
||||
- Aktiver Modus = **hellblau hinterlegt**
|
||||
|
||||
---
|
||||
|
||||
### 📊 Schleifen- oder Isolationsmessung
|
||||
|
||||
Beim Klick auf **„Messkurve“** wird ein detailliertes Diagramm geöffnet.
|
||||
|
||||
#### Steuerungsmöglichkeiten:
|
||||
|
||||
| Einstellung | Beschreibung |
|
||||
| ------------------ | ----------------------------------------------------------------------------------- |
|
||||
| **Von/Bis** | Zeitraum der Messung |
|
||||
| **Werteauflösung** | Auswahl zwischen **alle Werte**, **stündlich** und **täglich** |
|
||||
| **Messgröße** | Auswahl zwischen **Schleifenwiderstand (kOhm)** und **Isolationswiderstand (MOhm)** |
|
||||
| **Daten laden** | Erst nach Klick werden die Messkurven mit ausgewählten Parametern angezeigt |
|
||||
|
||||
> Tooltips zeigen Min/Max/Durchschnittswerte pro Zeitintervall.
|
||||
|
||||
---
|
||||
|
||||
### 📉 TDR-Messung
|
||||
|
||||
Wenn der Tab **TDR** aktiv ist und auf **„Messkurve“** geklickt wurde, wird eine TDR-Kurve dargestellt.
|
||||
|
||||
#### Darstellung:
|
||||
|
||||
- **TDR-Kurve** (blau) zeigt reflektierte Signale im Kabel
|
||||
- **Referenzkurve** (schwarz) dient dem Vergleich mit einer gespeicherten Referenz
|
||||
- **Fehlerstelle** (rot) wird automatisch markiert
|
||||
|
||||
#### Funktionen:
|
||||
|
||||
- Dropdown zur Auswahl der letzten Messungen inkl. Zeitstempel und Fehlerposition
|
||||
- Button **„TDR-Kurve als Referenz speichern“** ermöglicht Vergleich zukünftiger Messungen
|
||||
- Achsen:
|
||||
- **X-Achse** = Entfernung in Metern
|
||||
- **Y-Achse** = Signalpegel
|
||||
|
||||
---
|
||||
|
||||
## 📌 Zusammenfassung
|
||||
|
||||
- Die Kabelüberwachung erlaubt präzise Kontrolle jedes Slots.
|
||||
- Einstellungen, manuelle Messung und Fehlerdiagnose erfolgen direkt über die grafische UI.
|
||||
- Alle Aktionen (Alarme, Konfiguration, Messungen) sind **slotgenau**.
|
||||
- Die Darstellung ist intuitiv, modular aufgebaut und auch ohne Spezialwissen nutzbar.
|
||||
56
docs/pages/meldungen.md
Normal file
56
docs/pages/meldungen.md
Normal file
@@ -0,0 +1,56 @@
|
||||
---
|
||||
title: 📜 Meldungen / Berichte
|
||||
---
|
||||
|
||||
## 📋 Übersicht
|
||||
|
||||
In der Ansicht **Meldungen** werden alle Systemereignisse des CPL-Systems aufgelistet – z. B. **Störungen**, **Informationen**, **Alarme** oder **Statusänderungen**.
|
||||
|
||||
Diese Berichte sind hilfreich zur Nachverfolgung von Ereignissen wie:
|
||||
|
||||
- Auslösung eines Isolations- oder Schleifenalarms
|
||||
- Aktivierung oder Deaktivierung von TDR-Messung
|
||||
- Änderungen an Einstellungen
|
||||
- Start/Neustart des CPL-Geräts
|
||||
|
||||
## 📅 Zeitraum filtern
|
||||
|
||||
Du kannst über zwei Datumsfelder einen Zeitraum auswählen:
|
||||
|
||||
- **Von-Datum**
|
||||
- **Bis-Datum**
|
||||
|
||||
Anschließend klickst du auf den Button **„Anzeigen“**, um alle Meldungen innerhalb des gewählten Zeitraums anzuzeigen.
|
||||
|
||||
Die Filterung erfolgt lokal (im Browser) oder über einen API-Aufruf – abhängig davon, ob du im Entwicklermodus (localhost) oder auf dem echten CPL arbeitest.
|
||||
|
||||
## 📊 Tabellenansicht
|
||||
|
||||
Nach dem Abruf werden die Meldungen tabellarisch dargestellt:
|
||||
|
||||
| Spalte | Bedeutung |
|
||||
| --------------- | ------------------------------------------------------------ |
|
||||
| **Status** | Farbcode (z. B. grün = Info, gelb = Warnung, rot = Alarm) |
|
||||
| **Zeitstempel** | Datum und Uhrzeit der Meldung |
|
||||
| **Gewicht** | Interner Schweregrad (z. B. 1 = niedrig, 3 = hoch) |
|
||||
| **Text** | Beschreibung des Ereignisses |
|
||||
| **Quelle** | Auslösendes Modul, Slot oder Subsystem (z. B. KUE, CPL, TDR) |
|
||||
|
||||
Falls im gewählten Zeitraum keine Meldungen vorhanden sind, erscheint eine entsprechende Hinweiszeile.
|
||||
|
||||
## 🔁 Seitenweise Navigation
|
||||
|
||||
Wenn sehr viele Meldungen angezeigt werden, ist eine **Seitennavigation (Pagination)** aktiv:
|
||||
|
||||
- **Zurück/Weiter** Button am unteren Rand
|
||||
- Anzeige der aktuellen Seite (z. B. Seite 1 von 4)
|
||||
|
||||
## 📝 Hinweise
|
||||
|
||||
- Die angezeigten Daten stammen direkt aus der **internen Datenbank des CPL-Geräts**.
|
||||
- In der Entwicklungsumgebung (localhost) werden sie ggf. aus Mock-Daten generiert.
|
||||
- Die Seite wird nicht automatisch aktualisiert – du kannst bei Bedarf neu filtern oder erneut auf **„Anzeigen“** klicken.
|
||||
|
||||
---
|
||||
|
||||
📌 Diese Funktion ist besonders nützlich für Wartungspersonal oder zur Analyse vergangener Ereignisse im System.
|
||||
3
docs/state-management.md
Normal file
3
docs/state-management.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# State Management
|
||||
|
||||
*Noch kein Inhalt vorhanden.*
|
||||
@@ -2,7 +2,7 @@
|
||||
title: ⚙️ System
|
||||
---
|
||||
|
||||
## 🔌 Übersicht
|
||||
## 🔌 System
|
||||
|
||||
In der **Systemseite** werden die aktuellen **Versorgungsspannungen** und **Temperaturen** des CPL-Systems überwacht. Diese Werte dienen der **Diagnose und Betriebssicherheit**.
|
||||
|
||||
@@ -74,3 +74,14 @@ Es stehen zwei Diagramme zur Verfügung:
|
||||
---
|
||||
|
||||
> ⚠️ Die Spannungsversorgung ist sicherheitsrelevant. Änderungen an Hardware oder Konfiguration dürfen nur durch geschultes Personal erfolgen.
|
||||
|
||||
## 🔗 Weiterführende Bereiche
|
||||
|
||||
- [Übersicht / dashboard](uebersicht.md)
|
||||
- [Kabelüberwachung](kabelueberwachung.md)
|
||||
- [Digitale Eingänge](digitale-eingaenge.md)
|
||||
- [Digitale Ausgänge](digitale-ausgaenge.md)
|
||||
- [Analoge Eingänge](analoge-eingaenge.md)
|
||||
- [TDR Einstellungen](tdr-einstellungen.md)
|
||||
- [Meldungen](meldungen.md)
|
||||
- [Einstellungen](einstellungen.md)
|
||||
|
||||
@@ -21,3 +21,14 @@ Beim Umschalten der TDR-Funktion erscheint eine Bestätigung. Nach Klick auf "OK
|
||||
- Referenzkurvenvergleich im Slot-Modal
|
||||
|
||||
**Letzte Aktualisierung:** 3. Mai 2025
|
||||
|
||||
## 🔗 Weiterführende Bereiche
|
||||
|
||||
- [Übersicht / dashboard](uebersicht.md)
|
||||
- [Kabelüberwachung](kabelueberwachung.md)
|
||||
- [Digitale Eingänge](digitale-eingaenge.md)
|
||||
- [Digitale Ausgänge](digitale-ausgaenge.md)
|
||||
- [Analoge Eingänge](analoge-eingaenge.md)
|
||||
- [Meldungen](meldungen.md)
|
||||
- [System](system.md)
|
||||
- [Einstellungen](einstellungen.md)
|
||||
|
||||
Reference in New Issue
Block a user