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
useEffect(() => {
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 (
!window.kuePSTmMinus96V ||
!window.kueCableBreak ||
!window.kueGroundFault ||
!window.kueAlarm1 ||
!window.kueAlarm2 ||
!window.kueOverflow
) {
console.log("Warten auf window Variablen...");
setTimeout(updateDisplay, 100);
// console.log("Warten auf window Variablen...");
setTimeout(updateDisplay, 1000); // Warte 1 Sekunde und versuche es erneut
return;
}
console.log(
/* console.log(
"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
if (window.kueCableBreak[slotIndex] === 1) {
console.log("Aderbruch erkannt für Slot", slotIndex);
// console.log("Aderbruch erkannt für Slot", slotIndex);
setCurrentDisplayValue(isoDisplayText);
return;
}
// Erdschluss
else if (window.kueGroundFault[slotIndex] === 1) {
console.log("Erdschluss erkannt für Slot", slotIndex);
// console.log("Erdschluss erkannt für Slot", slotIndex);
setCurrentDisplayValue(groundFaultDisplayText);
return;
}
// Isolationsfehler
else if (window.kueAlarm1[slotIndex] === 1) {
console.log("Isolationsfehler erkannt für Slot", slotIndex);
// console.log("Isolationsfehler erkannt für Slot", slotIndex);
setCurrentDisplayValue(isoFaultDisplayText);
return;
}
// Schleifenfehler
else if (window.kueAlarm2[slotIndex] === 1) {
console.log("Schleifenfehler erkannt für Slot", slotIndex);
// console.log("Schleifenfehler erkannt für Slot", slotIndex);
setCurrentDisplayValue(loopFaultDisplayText);
return;
}
// Overflow (>200 MOhm)
else if (window.kueOverflow[slotIndex] === 1) {
console.log(
/* console.log(
"Overflow erkannt für Slot",
slotIndex,
"- Anzeige: '>200'"
);
); */
setCurrentDisplayValue(isoGreaterThan200);
return;
}
// Kein Fehler
else {
console.log(
/* console.log(
"Kein Fehler erkannt, zeige Standardisolationswert an für Slot",
slotIndex
);
); */
setCurrentDisplayValue(isolationswert); // Nur Isolationswert ohne ">200" als Fallback
}
};
@@ -464,6 +463,7 @@ function Kue705FO({
<div className="text-center">
<span
className={
window.kuePSTmMinus96V[slotIndex] === 1 ||
window.kueCableBreak[slotIndex] === 1 ||
window.kueGroundFault[slotIndex] === 1 ||
window.kueAlarm1[slotIndex] === 1 ||
@@ -477,7 +477,8 @@ function Kue705FO({
{currentDisplayValue}
</span>
{window.kueCableBreak[slotIndex] !== 1 &&
{window.kuePSTmMinus96V[slotIndex] !== 1 &&
window.kueCableBreak[slotIndex] !== 1 &&
window.kueGroundFault[slotIndex] !== 1 &&
window.kueAlarm1[slotIndex] !== 1 &&
window.kueAlarm2[slotIndex] !== 1 &&

View File

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

View File

@@ -4,6 +4,14 @@ var kueOnline = [
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
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,

View File

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