44 lines
954 B
Markdown
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
|
|
```
|