loadWindowVariables.js optimiert
This commit is contained in:
@@ -32,7 +32,15 @@ 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, 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,
|
0, 0, 0, 0, 0, 0,
|
||||||
];
|
];
|
||||||
// Verzögerung in Sekunden
|
/*
|
||||||
|
Verzögerung/Filterzeit 420 Sekunden Standardeinstellung
|
||||||
|
In dem Beispiel muss der Isolationswiderstand für die gesamte Filterzeit von 420 Sekunden
|
||||||
|
kontinuierlich unter dem Grenzwert bleiben, damit ein Isolationsfehler erkannt und das Signal weitergeleitet wird.
|
||||||
|
|
||||||
|
Wenn der Widerstand innerhalb dieser 420 Sekunden wieder über den Grenzwert steigt, wird der Alarm nicht ausgelöst und
|
||||||
|
die Filterzeit startet beim nächsten Unterschreiten des Grenzwerts neu. Die Filterzeit verhindert also, dass
|
||||||
|
kurzfristige Schwankungen oder Störungen fälschlicherweise als Fehler gemeldet werden.
|
||||||
|
*/
|
||||||
var kueDelay1 = [
|
var kueDelay1 = [
|
||||||
410, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420,
|
410, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420,
|
||||||
420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420,
|
420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420,
|
||||||
|
|||||||
@@ -60,37 +60,56 @@ export async function loadWindowVariables() {
|
|||||||
|
|
||||||
const scripts = ["de.js", "kueData.js", "Start.js", "System.js"];
|
const scripts = ["de.js", "kueData.js", "Start.js", "System.js"];
|
||||||
|
|
||||||
// Erster Aufruf zum Laden aller Skripte
|
// Lade die Skripte nacheinander
|
||||||
Promise.all(scripts.map(loadScript))
|
scripts
|
||||||
|
.reduce((promise, script) => {
|
||||||
|
return promise.then(() => loadScript(script));
|
||||||
|
}, Promise.resolve())
|
||||||
.then(() => {
|
.then(() => {
|
||||||
// Einmaliger direkter Check, ob alle Variablen vorhanden sind
|
const checkVariables = () => {
|
||||||
const missingVarsInitial = requiredVars.filter(
|
const missingVars = requiredVars.filter(
|
||||||
(variable) => window[variable] === undefined
|
(variable) => window[variable] === undefined
|
||||||
);
|
);
|
||||||
|
return missingVars;
|
||||||
|
};
|
||||||
|
|
||||||
if (missingVarsInitial.length === 0) {
|
// Einmalige Überprüfung nach dem Laden aller Skripte
|
||||||
// Alle Variablen sind geladen, keine weiteren Checks notwendig
|
const initialMissingVars = checkVariables();
|
||||||
|
|
||||||
|
if (initialMissingVars.length === 0) {
|
||||||
console.log("Alle Systemvariablen beim ersten Aufruf geladen.");
|
console.log("Alle Systemvariablen beim ersten Aufruf geladen.");
|
||||||
resolve();
|
resolve();
|
||||||
} else {
|
} else {
|
||||||
console.log(
|
console.log(
|
||||||
"Noch fehlende Variablen beim ersten Aufruf:",
|
"Noch fehlende Variablen beim ersten Aufruf:",
|
||||||
missingVarsInitial
|
initialMissingVars
|
||||||
);
|
);
|
||||||
|
|
||||||
// Falls Variablen fehlen, starte das Intervall
|
// Falls Variablen fehlen, starte ein Intervall zur wiederholten Überprüfung
|
||||||
|
const maxChecks = 10;
|
||||||
|
let checkCount = 0;
|
||||||
const checkInterval = setInterval(() => {
|
const checkInterval = setInterval(() => {
|
||||||
const missingVars = requiredVars.filter(
|
const remainingMissingVars = checkVariables();
|
||||||
(variable) => window[variable] === undefined
|
|
||||||
);
|
|
||||||
|
|
||||||
if (missingVars.length === 0) {
|
if (remainingMissingVars.length === 0) {
|
||||||
clearInterval(checkInterval);
|
clearInterval(checkInterval);
|
||||||
console.log("Alle fehlenden Systemvariablen sind jetzt geladen.");
|
console.log("Alle fehlenden Systemvariablen sind jetzt geladen.");
|
||||||
resolve();
|
resolve();
|
||||||
|
} else if (checkCount >= maxChecks) {
|
||||||
|
clearInterval(checkInterval);
|
||||||
|
console.warn(
|
||||||
|
"Einige Variablen wurden nicht geladen:",
|
||||||
|
remainingMissingVars
|
||||||
|
);
|
||||||
|
reject(
|
||||||
|
new Error(
|
||||||
|
"Einige Variablen fehlen nach wiederholten Versuchen."
|
||||||
|
)
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
console.log("Noch fehlende Variablen:", missingVars);
|
console.log("Noch fehlende Variablen:", remainingMissingVars);
|
||||||
}
|
}
|
||||||
|
checkCount++;
|
||||||
}, 10000); // Überprüfung alle 10 Sekunden
|
}, 10000); // Überprüfung alle 10 Sekunden
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user