feat: Priorisiere und style PST-M Ausfall als kritischen Alarm

- Implementiert PST-M Ausfall als höchste Priorität in der Alarmanzeige.
- Hinzugefügt: "PST-M prüfen" wird rot angezeigt, wie bei Aderbruch, Erdschluss, Isolationsfehler und Schleifenfehler.
- Einheit "ISO MOhm" wird nur angezeigt, wenn kein Alarm aktiv ist.
This commit is contained in:
ISA
2024-10-29 14:23:18 +01:00
parent b1a24a3f4e
commit 66259de1eb
5 changed files with 36 additions and 22 deletions

View File

@@ -341,69 +341,68 @@ function Kue705FO({
// Prioritätsprüfung in updateDisplay // Prioritätsprüfung in updateDisplay
useEffect(() => { useEffect(() => {
const updateDisplay = () => { const updateDisplay = () => {
console.log("Prüfen der window-Variablen:");
console.log("kueCableBreak:", window.kueCableBreak);
console.log("kueGroundFault:", window.kueGroundFault);
console.log("kueAlarm1:", window.kueAlarm1);
console.log("kueAlarm2:", window.kueAlarm2);
console.log("kueOverflow:", window.kueOverflow);
if ( if (
!window.kuePSTmMinus96V ||
!window.kueCableBreak || !window.kueCableBreak ||
!window.kueGroundFault || !window.kueGroundFault ||
!window.kueAlarm1 || !window.kueAlarm1 ||
!window.kueAlarm2 || !window.kueAlarm2 ||
!window.kueOverflow !window.kueOverflow
) { ) {
console.log("Warten auf window Variablen..."); // console.log("Warten auf window Variablen...");
setTimeout(updateDisplay, 100); setTimeout(updateDisplay, 1000); // Warte 1 Sekunde und versuche es erneut
return; return;
} }
console.log( /* console.log(
"Alle window-Variablen sind verfügbar. Beginne mit den Prioritätsprüfungen..." "Alle window-Variablen sind verfügbar. Beginne mit den Prioritätsprüfungen..."
); ); */
// PST-M Ausfall
if (window.kuePSTmMinus96V[slotIndex] === 1) {
setCurrentDisplayValue("PST-M prüfen");
return;
}
// Aderbruch // Aderbruch
if (window.kueCableBreak[slotIndex] === 1) { if (window.kueCableBreak[slotIndex] === 1) {
console.log("Aderbruch erkannt für Slot", slotIndex); // console.log("Aderbruch erkannt für Slot", slotIndex);
setCurrentDisplayValue(isoDisplayText); setCurrentDisplayValue(isoDisplayText);
return; return;
} }
// Erdschluss // Erdschluss
else if (window.kueGroundFault[slotIndex] === 1) { else if (window.kueGroundFault[slotIndex] === 1) {
console.log("Erdschluss erkannt für Slot", slotIndex); // console.log("Erdschluss erkannt für Slot", slotIndex);
setCurrentDisplayValue(groundFaultDisplayText); setCurrentDisplayValue(groundFaultDisplayText);
return; return;
} }
// Isolationsfehler // Isolationsfehler
else if (window.kueAlarm1[slotIndex] === 1) { else if (window.kueAlarm1[slotIndex] === 1) {
console.log("Isolationsfehler erkannt für Slot", slotIndex); // console.log("Isolationsfehler erkannt für Slot", slotIndex);
setCurrentDisplayValue(isoFaultDisplayText); setCurrentDisplayValue(isoFaultDisplayText);
return; return;
} }
// Schleifenfehler // Schleifenfehler
else if (window.kueAlarm2[slotIndex] === 1) { else if (window.kueAlarm2[slotIndex] === 1) {
console.log("Schleifenfehler erkannt für Slot", slotIndex); // console.log("Schleifenfehler erkannt für Slot", slotIndex);
setCurrentDisplayValue(loopFaultDisplayText); setCurrentDisplayValue(loopFaultDisplayText);
return; return;
} }
// Overflow (>200 MOhm) // Overflow (>200 MOhm)
else if (window.kueOverflow[slotIndex] === 1) { else if (window.kueOverflow[slotIndex] === 1) {
console.log( /* console.log(
"Overflow erkannt für Slot", "Overflow erkannt für Slot",
slotIndex, slotIndex,
"- Anzeige: '>200'" "- Anzeige: '>200'"
); ); */
setCurrentDisplayValue(isoGreaterThan200); setCurrentDisplayValue(isoGreaterThan200);
return; return;
} }
// Kein Fehler // Kein Fehler
else { else {
console.log( /* console.log(
"Kein Fehler erkannt, zeige Standardisolationswert an für Slot", "Kein Fehler erkannt, zeige Standardisolationswert an für Slot",
slotIndex slotIndex
); ); */
setCurrentDisplayValue(isolationswert); // Nur Isolationswert ohne ">200" als Fallback setCurrentDisplayValue(isolationswert); // Nur Isolationswert ohne ">200" als Fallback
} }
}; };
@@ -464,6 +463,7 @@ function Kue705FO({
<div className="text-center"> <div className="text-center">
<span <span
className={ className={
window.kuePSTmMinus96V[slotIndex] === 1 ||
window.kueCableBreak[slotIndex] === 1 || window.kueCableBreak[slotIndex] === 1 ||
window.kueGroundFault[slotIndex] === 1 || window.kueGroundFault[slotIndex] === 1 ||
window.kueAlarm1[slotIndex] === 1 || window.kueAlarm1[slotIndex] === 1 ||
@@ -477,7 +477,8 @@ function Kue705FO({
{currentDisplayValue} {currentDisplayValue}
</span> </span>
{window.kueCableBreak[slotIndex] !== 1 && {window.kuePSTmMinus96V[slotIndex] !== 1 &&
window.kueCableBreak[slotIndex] !== 1 &&
window.kueGroundFault[slotIndex] !== 1 && window.kueGroundFault[slotIndex] !== 1 &&
window.kueAlarm1[slotIndex] !== 1 && window.kueAlarm1[slotIndex] !== 1 &&
window.kueAlarm2[slotIndex] !== 1 && window.kueAlarm2[slotIndex] !== 1 &&

View File

@@ -11,8 +11,9 @@ function MyApp({ Component, pageProps }) {
if (typeof window !== "undefined") { if (typeof window !== "undefined") {
loadWindowVariables() loadWindowVariables()
.then(() => { .then(() => {
// Das Netzteil PST-M "-96V" hat eine Störung oder ist ausgefallen
console.log("Window variables loaded successfully."); console.log("Window variables loaded successfully.");
console.log("Geladene Systemvariablen:", { console.log("Variablen von CPL in Window Objekt speichern:", {
deviceName: window.deviceName, deviceName: window.deviceName,
ip: window.ip, ip: window.ip,
mac1: window.mac1, mac1: window.mac1,
@@ -21,6 +22,7 @@ function MyApp({ Component, pageProps }) {
gateway: window.gateway, gateway: window.gateway,
datetime: window.datetime, datetime: window.datetime,
kueOnline: window.kueOnline, kueOnline: window.kueOnline,
kuePSTmMinus96V: window.kuePSTmMinus96V,
kueIso: window.kueIso, kueIso: window.kueIso,
kueAlarm1: window.kueAlarm1, kueAlarm1: window.kueAlarm1,
kueAlarm2: window.kueAlarm2, kueAlarm2: window.kueAlarm2,

View File

@@ -1,6 +1,7 @@
var kueOnline=[<%=KSO80%>,<%=KSO81%>,<%=KSO82%>,<%=KSO83%>];// Modul in Slot vorhanden 1 = vorhanden, 0 = nicht vorhanden var kueOnline=[<%=KSO80%>,<%=KSO81%>,<%=KSO82%>,<%=KSO83%>];// Modul in Slot vorhanden 1 = vorhanden, 0 = nicht vorhanden
var kueVersion=[<%=KSV80%>,<%=KSV81%>,<%=KSV82%>,<%=KSV83%>]; //Version z.B. V4.19 var kueVersion=[<%=KSV80%>,<%=KSV81%>,<%=KSV82%>,<%=KSV83%>]; //Version z.B. V4.19
var kue100V=[<%=KSS80%>,<%=KSS81%>,<%=KSS82%>,<%=KSS83%>]; // Das Netzteil PST-M "-96V" hat eine Störung oder ist ausgefallen
var kueCableBreak=[<%=KSC80%>,<%=KSC81%>,<%=KSC82%>,<%=KSC83%>];//Aderbruch 1 = Fehler, 0 = kein Fehler var kueCableBreak=[<%=KSC80%>,<%=KSC81%>,<%=KSC82%>,<%=KSC83%>];//Aderbruch 1 = Fehler, 0 = kein Fehler
var kueGroundFault=[<%=KSG80%>,<%=KSG81%>,<%=KSG82%>,<%=KSG83%>];//Erdschluss 1 = Fehler, 0 = kein Fehler var kueGroundFault=[<%=KSG80%>,<%=KSG81%>,<%=KSG82%>,<%=KSG83%>];//Erdschluss 1 = Fehler, 0 = kein Fehler
var kueOverflow=[<%=KIW80%>,<%=KIW81%>,<%=KIW82%>,<%=KIW83%>]; //Überlauf 1 = Fehler, 0 = kein Fehler, wenn 1 soll ">200 MOhm" angezeigt werden in Display var kueOverflow=[<%=KIW80%>,<%=KIW81%>,<%=KIW82%>,<%=KIW83%>]; //Überlauf 1 = Fehler, 0 = kein Fehler, wenn 1 soll ">200 MOhm" angezeigt werden in Display

View File

@@ -4,6 +4,14 @@ var kueOnline = [
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
]; ];
//--------------------------------------------------- //---------------------------------------------------
// Das Netzteil PST-M "-96V" hat eine Störung oder ist ausgefallen,z.B. bei 4 BGTs wenn erste PST_M ausfällt wird 8 mal 1 und 24 mal 0 gesendet
/*
Das kann sein, muss aber nicht. Hier unten im Testaufbau haben wir nur eine PST-M für alle 32 Kabelüberwachungen. Es kann aber sein das beim Kunden auch für jeden BGT eine PST-M vorhanden ist, also insgesamt 4 Stück.
*/
var kuePSTmMinus96V = [
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,
];
//Aderbruch 1 = Fehler, 0 = kein Fehler //Aderbruch 1 = Fehler, 0 = kein Fehler
var kueCableBreak = [ 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, 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,

View File

@@ -73,7 +73,9 @@ export async function loadWindowVariables() {
const initialMissingVars = checkVariables(); const initialMissingVars = checkVariables();
if (initialMissingVars.length === 0) { if (initialMissingVars.length === 0) {
console.log("Alle Systemvariablen beim ersten Aufruf geladen."); console.log(
"Alle Variablen von CPL geladen. in loadWindowVariables.js"
);
resolve(); resolve();
} else { } else {
console.log( console.log(