diff --git a/components/modules/Kue705FO.jsx b/components/modules/Kue705FO.jsx index e9c0d24..ae01a3e 100644 --- a/components/modules/Kue705FO.jsx +++ b/components/modules/Kue705FO.jsx @@ -24,6 +24,11 @@ function Kue705FO({ const [isoDisplayText, setIsoDisplayText] = useState("Aderbruch"); const [groundFaultDisplayText, setGroundFaultDisplayText] = useState("Erdschluss"); + const [loopFaultDisplayText, setLoopFaultDisplayText] = + useState("Schleifenfehler"); + const [isoFaultDisplayText, setIsoFaultDisplayText] = + useState("Isolationsfehler"); + const [loading, setLoading] = useState(false); const [currentDisplayValue, setCurrentDisplayValue] = useState( schleifenwiderstand || "0" @@ -362,6 +367,51 @@ function Kue705FO({ } }, [slotIndex, isolationswert]); + // Intervall für den Wechsel der Anzeige zwischen "Schleifenfehler" und dem Icon + useEffect(() => { + if (window.kueAlarm2[slotIndex] === 1) { + const intervalId = setInterval(() => { + setLoopFaultDisplayText((prevText) => + prevText === "Schleifenfehler" ? ( + + ) : ( + "Schleifenfehler" + ) + ); + }, 2000); + + return () => clearInterval(intervalId); + } else { + setLoopFaultDisplayText(isolationswert || ">200"); + } + }, [slotIndex, isolationswert]); + + // Intervall für den Wechsel der Anzeige zwischen "Isolationsfehler" und dem Icon + useEffect(() => { + if (window.kueAlarm1[slotIndex] === 1) { + const intervalId = setInterval(() => { + setIsoFaultDisplayText((prevText) => + prevText === "Isolationsfehler" ? ( + + ) : ( + "Isolationsfehler" + ) + ); + }, 2000); + + return () => clearInterval(intervalId); + } else { + setIsoFaultDisplayText(isolationswert || ">200"); + } + }, [slotIndex, isolationswert]); + //------------------------------------------------ + return (
{isModulPresent ? ( @@ -405,14 +455,15 @@ function Kue705FO({ Alarm
- {/* Anzeige für Isolationsfehler, Aderbruch oder Erdschluss */} + {/* Anzeige für Isolationsfehler, Aderbruch, Erdschluss oder Schleifenfehler */}
200"}{" "} {window.kueCableBreak[slotIndex] !== 1 && window.kueGroundFault[slotIndex] !== 1 && - window.kueAlarm1[slotIndex] !== 1 && ( + window.kueAlarm1[slotIndex] !== 1 && + window.kueAlarm2[slotIndex] !== 1 && (
ISO MOhm
)}
diff --git a/public/CPLmockData/SERVICE/kueData.js b/public/CPLmockData/SERVICE/kueData.js index d4f429b..028d4fe 100644 --- a/public/CPLmockData/SERVICE/kueData.js +++ b/public/CPLmockData/SERVICE/kueData.js @@ -1,37 +1,45 @@ +//Modul vorhanden 1 = vorhanden, 0 = nicht vorhanden var kueOnline = [ - 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ]; +//Isolationswerte in Display (isoDisplay) Einheit: MOhm var kueIso = [ 10.0, 10.0, 10.0, 10.5, 10.0, 10.0, 10.0, 10.0, 10.5, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.5, 10.0, 10.0, 10.0, 10.0, 10.0, 10.5, 10.0, 200.0, 200.0, 200.0, 200.0, ]; -var kueValid = [ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, -]; + +//Isolationsfehler 1 = Fehler, 0 = kein Fehler var kueAlarm1 = [ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, ]; +//Schleifenfehler 1 = Fehler, 0 = kein Fehler var kueAlarm2 = [ 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, ]; +//Schleifenwiderstand in Display (resDisplay) Einheit: KOhm var kueRes = [ 0.0, 0.612, 0.0, 0.645, 0.822, 0.97, 0.0, 0.0, 1.452, 0.0, 0.734, 0.37, 0.566, 0.0, 0.738, 0.684, 1.166, 0.595, 0.0, 1.651, 1.18, 1.387, 1.214, 0.0, 1.475, 0.615, 0.494, 1.217, 65.0, 65.0, 65.0, 65.0, ]; +//Aderbruch 1 = Fehler, 0 = kein Fehler var kueCableBreak = [ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, ]; +//Erdschluss 1 = Fehler, 0 = kein Fehler var kueGroundFault = [ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ]; +var kueValid = [ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, +]; var kueLimit1 = [ 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, @@ -56,6 +64,7 @@ var kueLoopInterval = [ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, ]; +//Modulname in Komponente und auf der Anzeige var kueID = [ "FTZ_2", "B23", @@ -90,6 +99,7 @@ var kueID = [ "Kabel 31", "Kabel 32", ]; +//kueName ist nicht relevant für Front-End var kueName = [ "Kabel_2", "Petersfehn",