用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/JohnNuwan/EVA_CORE --skill functional-safety-iec61511命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Concevoir et maintenir un watchdog auto-correcteur pour services HTTP — checks de santé, auto-restart, état persistant, rapports et pièges bash.
Serveur de messagerie sécurisé auto-hébergé (Signal-like) avec Flask + WebSocket + AES-256-GCM + pont EVA
ADAM-SENTINEL — Veilleur technologique 24h/24h. Scanne 10 domaines, cree des rapports, met a jour les skills, alerte sur les CVE et breaking changes.
基于 SOC 职业分类
正在显示 SKILL.md
| name | functional-safety-iec61511 |
| description | Concevoir et vérifier des architectures de sécurité SIL conformes IEC 61508/61511 et EN 13849. |
| version | 1.0.0 |
| author | EVA |
| license | Privée EVA St-Étienne |
| platforms | ["linux","macos","windows"] |
| metadata | {"EVA":{"tags":["iec-61508","iec-61511","sil","safety-plc","safety-instrumented-system","sif","pfdavg","pfh","sff","hft","en-13849","performance-level","pl","category","mttfd","dcavg","ccf","functional-safety","sécurité-fonctionnelle","industrie-de-procédé","machine-safety","sis","proof-test"],"related_skills":["cybersecurity-iec62443","industrial-risk-analysis-hazop","industrial-safety-sistema","iso-safety"]}} |
La sécurité fonctionnelle est la partie de la sécurité globale qui dépend du bon fonctionnement d'un système pour réduire les risques à un niveau acceptable. Cette compétence couvre la conception, la vérification et la validation des architectures de sécurité conformes aux normes :
| Norme | Domaine | Application |
|---|---|---|
| IEC 61508 | Générique | Tous les secteurs — norme fondamentale |
| IEC 61511 | Industrie de procédé | Pétrochimie, chimie, pharma, raffinage, gaz |
| EN 13849 | Machine | Fabrication, emballage, robotique, machines-outils |
| EN 62061 | Machine | Équipements électriques de machines |
À utiliser lorsque l'utilisateur demande :
| Terme | Définition |
|---|---|
| SIS (Safety Instrumented System) | Système instrumenté de sécurité : capteurs, logique, actionneurs |
| SIF (Safety Instrumented Function) | Fonction de sécurité spécifique avec un SIL cible |
| SIL (Safety Integrity Level) | Niveau d'intégrité de sécurité (1 à 4, SIL4 étant le plus élevé) |
| PFDavg | Probability of Failure on Demand (moyenne) — pour mode basse demande |
| PFH | Probability of dangerous Failure per Hour — pour mode haute demande |
| SFF | Safe Failure Fraction |
| HFT | Hardware Fault Tolerance |
| PL | Performance Level (a à e, PL e étant le plus élevé) — EN 13849 |
| MTTFd | Mean Time To dangerous Failure |
| DCavg | Average Diagnostic Coverage |
| CCF | Common Cause Failure |
| SIL | PFDavg (Low Demand) | PFH (High Demand) | SFF (1oo1) | SFF (1oo2) |
|---|---|---|---|---|
| 1 | ≥ 10⁻² à < 10⁻¹ | ≥ 10⁻⁶ à < 10⁻⁵ | < 60 % | < 60 % |
| 2 | ≥ 10⁻³ à < 10⁻² | ≥ 10⁻⁷ à < 10⁻⁶ | 60 % – 90 % | 60 % – 90 % |
| 3 | ≥ 10⁻⁴ à < 10⁻³ | ≥ 10⁻⁸ à < 10⁻⁷ | 90 % – 99 % | N/A (Route 2H) |
| 4 | ≥ 10⁻⁵ à < 10⁻⁴ | ≥ 10⁻⁹ à < 10⁻⁸ | ≥ 99 % | N/A |
┌─────────────────────────────────────────────────────────────┐
│ Capteur ─── Logique ─── Actionneur │
│ (1 voie) (1 voie) (1 voie) │
└─────────────────────────────────────────────────────────────┘
PFDavg = PFDavg(S) + PFDavg(L) + PFDavg(A) HFT = 0
┌─────────────────────────────────────────────────────────────┐
│ Capteur1 ─── Logique1 ─── Actionneur1 │
│ Capteur2 ─── Logique2 ─── Actionneur2 │
│ Vote : 1oo2 → un seul chemin doit fonctionner │
└─────────────────────────────────────────────────────────────┘
PFDavg ≈ (λDU × TI / 2)² / 3 (pour deux voies identiques) HFT = 1
┌─────────────────────────────────────────────────────────────┐
│ Capteur1 ─ Logique1 ─ Actionneur1 │
│ Capteur2 ─ Logique2 ─ Actionneur2 │
│ Capteur3 ─ Logique3 ─ Actionneur3 │
│ Vote : 2oo3 → deux des trois voies doivent fonctionner │
└─────────────────────────────────────────────────────────────┘
PFDavg ≈ (λDU × TI)² / 3 (pour trois voies identiques) HFT = 1
| Architecture | PFDavg (approximation) |
|---|---|
| 1oo1 | λDU × TI / 2 |
| 1oo2 | (λDU × TI)² / 3 |
| 2oo2 | λDU × TI |
| 2oo3 | (λDU × TI)² |
| 1oo2D | (λDU × TI)² / 3 + β × λD (CCF) |
Où :
SFF = (λS + λDD) / (λS + λDD + λDU)
Où :
| SIL | HFT = 0 (SFF min) | HFT = 1 (SFF min) | HFT = 2 (SFF min) |
|---|---|---|---|
| 1 | < 60 % | — | — |
| 2 | 60 % – 90 % | < 60 % | — |
| 3 | 90 % – 99 % | 60 % – 90 % | < 60 % |
| 4 | ≥ 99 % | 90 % – 99 % | 60 % – 90 % |
| PL | PFDavg (par demande) | PFHd (par heure) |
|---|---|---|
| a | ≥ 10⁻⁵ à < 10⁻⁴ | — |
| b | ≥ 3 × 10⁻⁶ à < 10⁻⁵ | — |
| c | ≥ 10⁻⁶ à < 3 × 10⁻⁶ | — |
| d | ≥ 10⁻⁷ à < 10⁻⁶ | — |
| e | ≥ 10⁻⁸ à < 10⁻⁷ | — |
| Cat. | Description | HFT | Comportement aux défauts |
|---|---|---|---|
| B | Circuit simple | 0 | Une défaillance → perte de la fonction de sécurité |
| 1 | Circuit simple + composants fiables | 0 | Même que B, mais MTTFd élevé |
| 2 | Circuit + test périodique | 0 | Défaut détecté par test → arrêt |
| 3 | Redondance sans accumulation | 1 | Un défaut → la fonction est maintenue |
| 4 | Redondance avec détection | 1 | Un défaut → la fonction est maintenue, défaut détecté |
Pour déterminer le PL :
Cat. 3 + MTTFd(High) + DCavg(Medium) + CCF(OK) → PL d
Cat. 3 + MTTFd(Medium) + DCavg(Medium) + CCF(OK) → PL c
Cat. 3 + MTTFd(Low) → PL impossible
La matrice de sécurité est un tableau croisant les entrées (capteurs, commandes) avec les sorties (actionneurs, relais) pour définir les combinaisons valides et interdites.
État Machine, Porte Fermée, BP Urgence, Light Curtain, Moteur Avant, Moteur Arrière
Arrêt, 1, 1, 1, 0, 0
Marche auto, 1, 1, 0, 1, 1
Marche manuelle, 1, 1, 1, 1, 0
Défaut, 0, 0, 0, 0, 0
Marche avec BG ouvert, 0, 1, 1, 0, 0
Le PTI est l'intervalle entre deux tests fonctionnels complets d'une SIF.
Impact sur PFDavg :
Données :
PFDavg(1oo1) = λDU × TI / 2
TI max = 2 × PFDavg_cible / λDU = 2 × 0.01 / (1.5 × 10⁻⁷) = 133 333 h ≈ 15.2 ans
// Exemple : Safe Stop F-FB in SCL (TIA Portal)
FUNCTION_BLOCK FB_SafeStop
TITLE := 'Safe Stop Control'
AUTHOR : EVA
FAMILY : Safety
VERSION : 1.0
VAR_INPUT
EnableSafety : BOOL;
StopRequest : BOOL := FALSE;
ResetSafety : BOOL;
END_VAR
VAR_IN_OUT
SafeOutput : BOOL;
END_VAR
SafeOutput := EnableSafety AND NOT StopRequest;
IF StopRequest THEN
SafeOutput := FALSE;
ELSIF ResetSafety AND NOT StopRequest THEN
SafeOutput := TRUE;
END_IF;
END_FUNCTION_BLOCK