/** * Interaktiver Purdue-Referenzmodell & OT-Zonen-Trainer für FIDV * IHK ZPA Nord-West AP2 */ (function() { function renderPurdueTrainer(containerId) { const container = document.getElementById(containerId); if (!container) return; const items = [ { name: "PT100 Temperaturfühler & Drucktransmitter", level: "0", hint: "Physikalischer Prozess / Sensorik & Aktorik" }, { name: "Siemens S7-1500 SPS & Frequenzumrichter", level: "1", hint: "Basis-Steuerung (Direct Control)" }, { name: "KTP700 HMI-Touchpanel & Bedienstation", level: "2", hint: "Bereichsbedienung & Monitoring" }, { name: "SCADA-Server & Manufacturing Execution System (MES)", level: "3", hint: "Betriebsleitebene / Fertigungssteuerung" }, { name: "Historian-Spiegel & Jump Host (Fernwartung)", level: "3.5", hint: "Industrial DMZ (Puffer zwischen IT und OT)" }, { name: "SAP ERP & Active Directory der Verwaltung", level: "4", hint: "Enterprise IT / Unternehmensebene" } ]; container.innerHTML = `

🏭 Interaktiver Purdue-Modell & OT-Zonen Trainer (FIDV)

Ordnen Sie die Komponenten den korrekten Purdue-Ebenen nach IEC 62443 / ANSI/ISA-95 zu:

${items.map((item, idx) => `
${item.name}
`).join('')}
`; document.getElementById('purdue_check_btn').addEventListener('click', () => { let correct = 0; items.forEach((item, idx) => { const sel = document.getElementById(`purdue_sel_${idx}`); if (sel.value === item.level) { sel.style.borderColor = '#22c55e'; correct++; } else { sel.style.borderColor = '#ef4444'; } }); const fb = document.getElementById('purdue_feedback'); if (correct === items.length) { fb.style.color = '#4ade80'; fb.textContent = `🎉 Perfekt! Alle ${correct}/${items.length} Ebenen korrekt nach IEC 62443 zugeordnet.`; } else { fb.style.color = '#f87171'; fb.textContent = `${correct}/${items.length} richtig. Prüfen Sie die rot markierten Ebenen.`; } }); } window.renderPurdueTrainer = renderPurdueTrainer; document.addEventListener('DOMContentLoaded', () => { if (document.getElementById('purdue-trainer-app')) { renderPurdueTrainer('purdue-trainer-app'); } }); })();