Files
CPLv4.0/components/main/einausgaenge/README.md

44 lines
954 B
Markdown

### 🧩 Datenfluss CPLv4.0 Digitale Eingänge
```mermaid
classDiagram
class EmbeddedServer {
+ Generiert de.js per CGI
+ Ersetzt Platzhalter wie <%=DES81%>
+ Kein Node.js vorhanden
}
class DeJS {
+ JavaScript mit konkreten Werten
+ Beispiel: win_de_state, win_de_label
}
class FrontendLoader {
+ Lädt de.js dynamisch mit script-Tag
+ Pfad: /CPL?/CPL/SERVICE/de.js
}
class DatenMapper {
+ Wandelt window-Variablen in Objekte
+ Wandelt in strukturierte Eingangs-Daten
}
class ReduxStore {
+ digitalInputsSlice
+ Speichert die Eingänge im State
}
class ReactComponent {
+ DigitalInputs.tsx
+ useSelector: Zugriff auf Redux
+ Darstellung mit Tailwind
}
EmbeddedServer --> DeJS : erstellt per CGI
DeJS --> FrontendLoader : wird per Script geladen
FrontendLoader --> DatenMapper : verarbeitet window-Variablen
DatenMapper --> ReduxStore : dispatch(setInputs)
ReduxStore --> ReactComponent : useSelector() → Anzeige
```