Digitale Ausgänge nicht erforderlich
This commit is contained in:
@@ -6,5 +6,5 @@
|
|||||||
2: Patch oder Hotfix (Bugfixes oder kleine Änderungen).
|
2: Patch oder Hotfix (Bugfixes oder kleine Änderungen).
|
||||||
|
|
||||||
*/
|
*/
|
||||||
const webVersion = "1.6.207";
|
const webVersion = "1.6.208";
|
||||||
export default webVersion;
|
export default webVersion;
|
||||||
|
|||||||
12
docsForDev/DECISIONS.md
Normal file
12
docsForDev/DECISIONS.md
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
## Entscheidung: Digitale Ausgänge (da.js)
|
||||||
|
|
||||||
|
**Datum:** 03.04.2025
|
||||||
|
**Gesprächspartner:** Kai
|
||||||
|
|
||||||
|
**Inhalt:**
|
||||||
|
Digitale Ausgänge (da.js) sind aktuell **nicht erforderlich**. Diese Funktion wird in einer späteren Version umgesetzt, weil sie derzeit nicht im Fokus der Deadline steht.
|
||||||
|
|
||||||
|
**Notiz für spätere Version:**
|
||||||
|
Digitale Ausgänge können über eine spätere Erweiterung integriert werden, z. B. nach Version 1.0.0.
|
||||||
|
|
||||||
|
---
|
||||||
@@ -71,7 +71,10 @@ const EinAusgaenge: React.FC = () => {
|
|||||||
openInputModal={openInputModal}
|
openInputModal={openInputModal}
|
||||||
inputRange={{ start: 16, end: 32 }}
|
inputRange={{ start: 16, end: 32 }}
|
||||||
/>
|
/>
|
||||||
<DigitalOutputs openOutputModal={openOutputModal} />
|
{/* Digitale Ausgänge nicht Erforderlich*/}
|
||||||
|
{/*
|
||||||
|
<DigitalOutputs openOutputModal={openOutputModal} />
|
||||||
|
*/}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{isInputModalOpen && selectedInput && (
|
{isInputModalOpen && selectedInput && (
|
||||||
|
|||||||
@@ -1,3 +1,10 @@
|
|||||||
// Digitale Ausgänge Ausgang Bezeichnung und Zustand
|
|
||||||
|
|
||||||
var win_da=[<%=DES80%>,<%=DES81%>,<%=DES82%>,<%=DES83%>];
|
|
||||||
|
var win_da_state=[<%=DES80%>,<%=DES81%>,<%=DES82%>,<%=DES83%>];
|
||||||
|
|
||||||
|
var win_da_bezeichnung=["Augang1","Ausgang2","Ausgang3","Ausgang4"]; // weil es gibt noch kein Platzhalter
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,6 @@
|
|||||||
export const fetchDigitalOutputs = async () => {
|
export const fetchDigitalOutputs = async () => {
|
||||||
if (typeof window === "undefined") return [];
|
if (typeof window === "undefined") return [];
|
||||||
|
|
||||||
// ✅ da.js nur bei Bedarf nachladen (Pfad abhängig von Umgebung)
|
|
||||||
const scriptSrc =
|
const scriptSrc =
|
||||||
process.env.NEXT_PUBLIC_NODE_ENV === "production"
|
process.env.NEXT_PUBLIC_NODE_ENV === "production"
|
||||||
? "/CPL?/CPL/SERVICE/da.js"
|
? "/CPL?/CPL/SERVICE/da.js"
|
||||||
@@ -19,25 +18,24 @@ export const fetchDigitalOutputs = async () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const win = window as any;
|
const win = window as any;
|
||||||
|
|
||||||
const state = win.win_da_state;
|
const state = win.win_da_state;
|
||||||
const labels = win.win_da_bezeichnung;
|
const labels = win.win_da_bezeichnung;
|
||||||
|
|
||||||
if (
|
if (!Array.isArray(state)) {
|
||||||
Array.isArray(state) &&
|
console.warn("⚠️ win_da_state fehlt oder ist ungültig:", state);
|
||||||
Array.isArray(labels) &&
|
|
||||||
state.length === labels.length
|
|
||||||
) {
|
|
||||||
return state.map((status: number, index: number) => ({
|
|
||||||
id: index + 1,
|
|
||||||
label: labels[index] || `Ausgang ${index + 1}`,
|
|
||||||
status: status === 1,
|
|
||||||
}));
|
|
||||||
} else {
|
|
||||||
console.warn("⚠️ Digitale Ausgänge unvollständig oder inkonsistent:", {
|
|
||||||
state,
|
|
||||||
labels,
|
|
||||||
});
|
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const outputs = state
|
||||||
|
.slice(0, 4) // ✅ Nur die 4 Ausgänge verwenden
|
||||||
|
.map((status: number, index: number) => ({
|
||||||
|
id: index + 1,
|
||||||
|
label:
|
||||||
|
Array.isArray(labels) && labels[index]
|
||||||
|
? labels[index]
|
||||||
|
: `Ausgang ${index + 1}`,
|
||||||
|
status: status === 1,
|
||||||
|
}));
|
||||||
|
|
||||||
|
return outputs;
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user