Anzeige KÜ-Display:

1. Zeile Alarm: Isolationsfehler, Schleifenfehler, Aderbruch, Erdschluß, Messpannung: Immer in Rot; wenn kein Alarm, bleibt die Zeile leer

2. Zeile: Isowert: xx MOhm (großes M)

in Rot, wenn Iso-Fehler ansteht

Beispiel: ISO: 100 MOHm der beim Abliech:  ISO: Abgleich

3. Zeile: Schleifenwert, xx kOhm (kleines k)

in Rot, wenn Schleifenfehler ansteht

Beispiel:: RSL: 1,7 kOhm oder wenn Schleifenmessung aktiv: RSL: Messung
This commit is contained in:
ISA
2025-07-24 13:59:44 +02:00
parent c1f6c19fdf
commit e932bee120
10 changed files with 117 additions and 67 deletions

View File

@@ -220,67 +220,53 @@ const Kue705FO: React.FC<Kue705FOProps> = ({
</div>
</div>
{/* Anzeige des Isolation und Schleifenwiderstand zusammen */}
<div className="relative mt-[3.125rem] mx-auto bg-black text-white w-[6.25rem] h-[3.1rem] flex flex-col items-center justify-center z-10 p-1">
<div className="text-center w-full">
{/* Schwarzes Display mit drei Zeilen: Alarm, ISO, Schleife */}
<div className="relative mt-[3.125rem] mx-auto bg-black text-white w-[6.8rem] h-[3.1rem] flex flex-col items-center justify-center z-10 p-1">
<div className="text-center w-full flex flex-col justify-center items-center h-full">
{/* 1. Zeile: Alarmtext in Rot, sonst leer */}
<span
className={
className={`whitespace-nowrap block text-[0.65rem] font-semibold ${
Number(kuePSTmMinus96V?.[slotIndex]) === 1 ||
Number(kueCableBreak?.[slotIndex]) === 1 ||
Number(kueGroundFault?.[slotIndex]) === 1 ||
Number(kueAlarm1?.[slotIndex]) === 1 ||
Number(kueAlarm2?.[slotIndex]) === 1
? "text-red-500 text-[0.65rem]"
: Number(kueOverflow?.[slotIndex]) === 1
? "text-white text-[0.65rem]"
? "text-red-500"
: ""
}
}`}
>
{Number(kuePSTmMinus96V?.[slotIndex]) === 1 ? (
"PST Fehler"
) : Number(kueCableBreak?.[slotIndex]) === 1 ? (
"Aderbruch"
) : Number(kueGroundFault?.[slotIndex]) === 1 ? (
"Erdschluss"
) : Number(kueAlarm1?.[slotIndex]) === 1 ? (
<div>
<span className="text-[0.55rem] block">
Isolationsfehler
</span>
<span className="text-[0.55rem] block">
{isoDisplayValue} MOhm
</span>
</div>
) : Number(kueAlarm2?.[slotIndex]) === 1 ? (
"Schleifenfehler"
) : (
<>
<span className="block text-[0.7rem] font-semibold">
<span className="block text-[0.6rem] text-gray-300">
ISO: {" "}
{isoDisplayValue} MOhm
</span>
</span>
</>
)}
{Number(kuePSTmMinus96V?.[slotIndex]) === 1
? "Messpannung"
: Number(kueCableBreak?.[slotIndex]) === 1
? "Aderbruch"
: Number(kueGroundFault?.[slotIndex]) === 1
? "Erdschluss"
: Number(kueAlarm1?.[slotIndex]) === 1
? "Isolationsfehler"
: Number(kueAlarm2?.[slotIndex]) === 1
? "Schleifenfehler"
: ""}
</span>
{/* 2. Zeile: ISO-Wert, immer anzeigen */}
<span
className={`whitespace-nowrap block text-[0.65rem] font-semibold ${
Number(kueAlarm1?.[slotIndex]) === 1 ? "text-red-500" : ""
}`}
>
{isoDisplayValue === "Abgleich"
? "ISO: Abgleich"
: `ISO: ${Number(isolationswert)} MOhm`}
</span>
{/* 3. Zeile: Schleifenwert, in Rot bei Schleifenfehler, sonst normal */}
<span
className={`whitespace-nowrap block text-[0.65rem] font-semibold ${
Number(kueAlarm2?.[slotIndex]) === 1 ? "text-red-500" : ""
}`}
>
{activeButton === "Schleife" && loading
? "RSL: Messung"
: `RSL: ${loopDisplayValue} kOhm`}
</span>
{/* Schleifenwiderstand immer anzeigen, außer bei Fehlern */}
{![
Number(kuePSTmMinus96V?.[slotIndex]),
Number(kueCableBreak?.[slotIndex]),
Number(kueGroundFault?.[slotIndex]),
Number(kueAlarm1?.[slotIndex]),
Number(kueAlarm2?.[slotIndex]),
].includes(1) && (
<>
<span className="block text-[0.7rem] mt-1 font-semibold">
<span className="block text-[0.6rem] text-gray-300">
Sch.: {" "}
{loopDisplayValue} kOhm
</span>
</span>
</>
)}
</div>
</div>