feat: Priorisierte Alarmanzeige für "Aderbruch" (>200 MOhm) und "Erdschluss" (<100 kΩ) implementiert
- Zeigt "Aderbruch" bei aktivem kueCableBreak[slotIndex] an, wenn der Isolationswiderstand >200 MOhm beträgt - Zeigt "Erdschluss" bei aktivem kueGroundFault[slotIndex] an, wenn der Widerstand <100 kΩ beträgt, falls kein Aderbruch vorliegt - Abwechselnde Anzeige zwischen Alarmtext und Symbol bei Alarmauslösung - Standardanzeige für Isolationswert bleibt bestehen, wenn kein Alarm aktiv ist
This commit is contained in:
@@ -22,6 +22,8 @@ function Kue705FO({
|
|||||||
"Schleifenwiderstand [kOhm]"
|
"Schleifenwiderstand [kOhm]"
|
||||||
);
|
);
|
||||||
const [isoDisplayText, setIsoDisplayText] = useState("Aderbruch");
|
const [isoDisplayText, setIsoDisplayText] = useState("Aderbruch");
|
||||||
|
const [groundFaultDisplayText, setGroundFaultDisplayText] =
|
||||||
|
useState("Erdschluss");
|
||||||
const [loading, setLoading] = useState(false);
|
const [loading, setLoading] = useState(false);
|
||||||
const [currentDisplayValue, setCurrentDisplayValue] = useState(
|
const [currentDisplayValue, setCurrentDisplayValue] = useState(
|
||||||
schleifenwiderstand || "0"
|
schleifenwiderstand || "0"
|
||||||
@@ -339,6 +341,26 @@ function Kue705FO({
|
|||||||
}, [slotIndex, isolationswert]);
|
}, [slotIndex, isolationswert]);
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
useEffect(() => {
|
||||||
|
if (window.kueGroundFault[slotIndex] === 1) {
|
||||||
|
const intervalId = setInterval(() => {
|
||||||
|
setGroundFaultDisplayText((prevText) =>
|
||||||
|
prevText === "Erdschluss" ? (
|
||||||
|
<i
|
||||||
|
className="bi bi-exclamation-triangle"
|
||||||
|
style={{ fontSize: "24px" }}
|
||||||
|
></i>
|
||||||
|
) : (
|
||||||
|
"Erdschluss"
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}, 2000); // Wechsel alle 2 Sekunden
|
||||||
|
|
||||||
|
return () => clearInterval(intervalId);
|
||||||
|
} else {
|
||||||
|
setGroundFaultDisplayText(isolationswert || ">200"); // Standardwert, wenn kein Erdschluss vorliegt
|
||||||
|
}
|
||||||
|
}, [slotIndex, isolationswert]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="relative bg-gray-300 w-[116px] h-[390px] border border-gray-400 scale-110 top-3">
|
<div className="relative bg-gray-300 w-[116px] h-[390px] border border-gray-400 scale-110 top-3">
|
||||||
@@ -383,24 +405,30 @@ function Kue705FO({
|
|||||||
<span className="text-white text-[10px]">Alarm</span>
|
<span className="text-white text-[10px]">Alarm</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{/* isoDisplay: Zeigt den Isolationswiderstand oder Aderbruch an */}
|
{/* isoDisplay: Zeigt den Isolationswiderstand, Aderbruch oder Erdschluss an */}
|
||||||
<div className="relative mt-[50px] mx-auto bg-black text-white w-[100px] h-[40px] flex items-center justify-center text-[18px] z-10">
|
<div className="relative mt-[50px] mx-auto bg-black text-white w-[100px] h-[40px] flex items-center justify-center text-[18px] z-10">
|
||||||
<div className="text-center">
|
<div className="text-center">
|
||||||
<span
|
<span
|
||||||
className={
|
className={
|
||||||
window.kueCableBreak[slotIndex] === 1
|
window.kueCableBreak[slotIndex] === 1 ||
|
||||||
? "text-red-500 text-[14px]" // Rot und kleinere Schrift für Aderbruch
|
window.kueGroundFault[slotIndex] === 1
|
||||||
|
? "text-red-500 text-[14px]" // Rot und kleinere Schrift für Alarme
|
||||||
: ""
|
: ""
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
{/* Aderbruch anzeigen, wenn Aderbruch vorhanden ist isoDisplayText*/}
|
|
||||||
{window.kueCableBreak[slotIndex] === 1
|
{window.kueCableBreak[slotIndex] === 1
|
||||||
? isoDisplayText
|
? isoDisplayText // Anzeige für Aderbruch, wenn aktiv
|
||||||
: isolationswert || ">200"}
|
: window.kueGroundFault[slotIndex] === 1
|
||||||
|
? groundFaultDisplayText // Anzeige für Erdschluss, wenn aktiv und kein Aderbruch
|
||||||
|
: isolationswert || ">200"}{" "}
|
||||||
|
{/* Standardanzeige für Isolationswert */}
|
||||||
</span>
|
</span>
|
||||||
{window.kueCableBreak[slotIndex] !== 1 && (
|
|
||||||
<div className="text-[8px]">ISO MOhm</div>
|
{/* Nur anzeigen, wenn kein Alarm aktiv ist */}
|
||||||
)}
|
{window.kueCableBreak[slotIndex] !== 1 &&
|
||||||
|
window.kueGroundFault[slotIndex] !== 1 && (
|
||||||
|
<div className="text-[8px]">ISO MOhm</div>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ var kueCableBreak = [
|
|||||||
0, 0, 1, 1, 1, 1,
|
0, 0, 1, 1, 1, 1,
|
||||||
];
|
];
|
||||||
var kueGroundFault = [
|
var kueGroundFault = [
|
||||||
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, 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,
|
0, 0, 0, 0, 0, 0,
|
||||||
];
|
];
|
||||||
var kueLimit1 = [
|
var kueLimit1 = [
|
||||||
|
|||||||
Reference in New Issue
Block a user