feat: Alarmanzeigen für Aderbruch, Erdschluss, Schleifenfehler und Isolationsfehler verbessert

- Anzeige des Isolationswerts bei aktivem Alarm durch abwechselndes Blinken von Text und Icon ersetzt.
- Spezifische `useEffect`-Hooks hinzugefügt, um bei Alarmmeldungen den Wert auszublenden und stattdessen eine Alarmanzeige zu zeigen.
- Dynamische Anzeige für "Aderbruch", "Erdschluss", "Schleifenfehler" und "Isolationsfehler" integriert.
This commit is contained in:
ISA
2024-10-28 10:30:30 +01:00
parent 8222eeac21
commit ef069e45ea
2 changed files with 66 additions and 38 deletions

View File

@@ -323,7 +323,7 @@ function Kue705FO({
//-------------------------------------------------
// Intervall für den Wechsel der Anzeige zwischen "Aderbruch" und ">200 MOhm"
// Intervall für den Wechsel der Anzeige zwischen "Aderbruch" und dem Icon
useEffect(() => {
if (window.kueCableBreak[slotIndex] === 1) {
const intervalId = setInterval(() => {
@@ -337,15 +337,21 @@ function Kue705FO({
"Aderbruch"
)
);
}, 2000);
}, 2000); // Wechselt alle 2 Sekunden zwischen Text und Icon
// Setze den Isolationswert auf einen leeren String bei Aderbruch
setCurrentDisplayValue("");
return () => clearInterval(intervalId);
} else {
setIsoDisplayText(isolationswert || ">200");
// Zeigt den tatsächlichen Isolationswert, wenn kein Aderbruch vorliegt
setCurrentDisplayValue(isolationswert || ">200");
setIsoDisplayText("");
}
}, [slotIndex, isolationswert]);
//-------------------------------------------------
// Intervall für den Wechsel der Anzeige zwischen "Erdschluss" und dem Icon
useEffect(() => {
if (window.kueGroundFault[slotIndex] === 1) {
const intervalId = setInterval(() => {
@@ -359,14 +365,20 @@ function Kue705FO({
"Erdschluss"
)
);
}, 2000); // Wechsel alle 2 Sekunden
}, 2000); // Wechselt alle 2 Sekunden zwischen Text und Icon
// Setze den Isolationswert auf einen leeren String bei Erdschluss
setCurrentDisplayValue("");
return () => clearInterval(intervalId);
} else {
setGroundFaultDisplayText(isolationswert || ">200"); // Standardwert, wenn kein Erdschluss vorliegt
// Zeigt den tatsächlichen Isolationswert, wenn kein Erdschluss vorliegt
setCurrentDisplayValue(isolationswert || ">200");
setGroundFaultDisplayText("");
}
}, [slotIndex, isolationswert]);
//-------------------------------------------------
// Intervall für den Wechsel der Anzeige zwischen "Schleifenfehler" und dem Icon
useEffect(() => {
if (window.kueAlarm2[slotIndex] === 1) {
@@ -381,14 +393,20 @@ function Kue705FO({
"Schleifenfehler"
)
);
}, 2000);
}, 2000); // Wechselt alle 2 Sekunden zwischen Text und Icon
// Setze den schleifenwiderstand auf einen leeren String bei Alarm
setCurrentDisplayValue("");
return () => clearInterval(intervalId);
} else {
setLoopFaultDisplayText(isolationswert || ">200");
// Zeigt den tatsächlichen schleifenwiderstand, wenn kein Alarm vorliegt
setCurrentDisplayValue(schleifenwiderstand || "0");
setLoopFaultDisplayText("");
}
}, [slotIndex, isolationswert]);
}, [slotIndex, schleifenwiderstand]);
//------------------------------------------------
// Intervall für den Wechsel der Anzeige zwischen "Isolationsfehler" und dem Icon
useEffect(() => {
if (window.kueAlarm1[slotIndex] === 1) {
@@ -403,13 +421,19 @@ function Kue705FO({
"Isolationsfehler"
)
);
}, 10000);
}, 2000); // Wechselt alle 2 Sekunden zwischen Text und Icon
// Setze den isolationswert auf einen leeren String bei Alarm
setCurrentDisplayValue("");
return () => clearInterval(intervalId);
} else {
setIsoFaultDisplayText(isolationswert || ">200");
// Zeigt den tatsächlichen isolationswert, wenn kein Alarm vorliegt
setCurrentDisplayValue(isolationswert || ">200");
setIsoFaultDisplayText("");
}
}, [slotIndex, isolationswert]);
//------------------------------------------------
// Dynamischer Abruf des kueVersion-Werts für jeden Slot
// Dynamischer Abruf des kueVersion-Werts für jeden Slot in Intervallen

View File

@@ -3,31 +3,7 @@ var kueOnline = [
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,
];
//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,
];
//Isolationsfehler 1 = Fehler, 0 = kein Fehler
var kueAlarm1 = [
0, 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 = [
0, 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,
];
//---------------------------------------------------
//Aderbruch 1 = Fehler, 0 = kein Fehler
var kueCableBreak = [
0, 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,
@@ -38,9 +14,12 @@ 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,
//---------------------------------------------------
//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,
];
//Grenzwert (MOhm) für Isolationswiderstand
var kueLimit1 = [
@@ -48,6 +27,31 @@ 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,
];
//Isolationsfehler 1 = Fehler, 0 = kein Fehler, Alarm kommt wenn kueIso < kueLimit1
var kueAlarm1 = [
0, 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,
];
//---------------------------------------------------
//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,
];
//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,
];
//---------------------------------------------------
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 kueLimit2Low = [
0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,