Documente Academic
Documente Profesional
Documente Cultură
2000
Sommaire
1. INTRODUCTION 3
1.1. Objectif 3
1.2. Que sont les systèmes électroniques complexes ? 4
1.3. Problèmes à résoudre 5
1.4. EN 954-1 & IEC 61508 5
1.5. Point de vue des organismes de certification 6
5. MANUEL UTILISATEUR 85
5.1. Méthodologie de validation pour les SRCES 85
5.2. Ce à quoi nous ne pouvons pas répondre 87
6. CONCLUSIONS 90
6.1. Contribution de STSARCES à EN 954 90
6.2. Contribution de STSARCES à IEC 62061 92
6.3. Validation du projet par des fabricants externes 93
7. BIBLIOGRAPHIE 94
-2-
1. INTRODUCTION
1.1. Objectif
Le projet européen STSARCES (Standard for Safety Related Complex Electronic Systems) porte
sur le développement de méthodes d'analyse de systèmes de sécurité mettant en oeuvre les
technologies modernes de l'électronique et de l'informatique, telles qu'on les rencontre fréquemment
sur les installations à risques (boucles de sécurité avec composants ou automates programmables,
réseaux de terrain, capteurs intelligents). Dans ce cadre, le principal objectif est de proposer au CEN
une méthodologie harmonisée d'évaluation des systèmes de sécurité en appui au projet de norme
pr EN 954-2 sur la sécurité des dispositifs de commande dans le cadre de la Directive Machine, et
cohérente avec la normalisation internationale : CEI 61508 en cours de publication.
Cette recherche a été menée avec le partenariat de onze organisations européennes pour aider au
développement d'une norme émergente « pr EN 954-2 » en produisant un document décrivant des
propositions de méthodes de validation harmonisées.
Le projet de norme européenne pr EN 954-2 fournit les détails des mesures et techniques qui doivent
être appliquées pour valider les composants liés à la sécurité pour toutes les technologies utilisées
dans les systèmes de commande des machines.
Une contrainte imposée à toutes les méthodes de validation développées à partir de ce programme de
recherche consistait à éviter toute déviation par rapport aux exigences de la norme IEC 61508
(sécurité fonctionnelle des systèmes électriques/électroniques/électroniques programmables), compte
tenu de son statut de norme pilote.
-3-
1.2. Que sont les systèmes électroniques complexes ?
La Directive machines (98/37/CE), qui couvre les machines et les composants de sécurité, et la
norme EN 292 « sécurité des machines - Concepts de base, principes généraux de conception » se
basent, en général, sur des pratiques établies dans la conception de systèmes de commande de
machines, tels que les protections mécaniques ou inhibiteurs d'alimentation, dans les cas où le
personnel peut accéder à des zones dangereuses pour des tâches comme les réglages, le changement
d'outil et la maintenance. Ces protections sont communément conçues et mises en œuvre au niveau
de la machine après la fin de la conception de son système de commande de base. Cette application
rétrospective de protections présentait une solution pratique partout où il existait un niveau adéquat
d'indépendance vis-à-vis du système de commande des machines.
Cependant, cette approche de la sécurité des machines s'est montrée moins viable avec l'émergence
de solutions électroniques et électroniques programmables qui doivent être plus étroitement intégrées
à la conception d'un système de commande de machines. Les systèmes de commande liés à la
sécurité qui mettent en œuvre ces solutions comprennent souvent une série de dispositifs/composants
et de technologies électriques/électroniques.
Ces systèmes électroniques complexes peuvent être caractérisés comme des systèmes de commande
de machines dans lesquels :
le mode de panne d'au moins un constituant, dispositif ou composant, n'est pas bien défini ;
Ce régulateur peut être capable de traiter les signaux d'entrée reçus de dispositifs de contrôle du
mouvement installés sur des arbres mobiles ou rotatifs dangereux, et transmettre un signal de sortie
aux dispositifs de commande comme un système électrique afin de réduire la vitesse ou le
mouvement jusqu'à un niveau de sécurité.
-4-
1.3. Problèmes à résoudre
La performance de sécurité de tels dispositifs et composants, soit en tant que parties individuelles ou
en combinaison de système complet lié à la sécurité, a été difficile à établir en pratique. Il s'agit avant
tout d'un résultat des caractéristiques fondamentales d'un système électronique complexe, qui rend
difficile d'établir que sa mise en œuvre finale satisfait les exigences de performance de
fonctionnement ou de sécurité nécessaires en testant une machine.
En conséquence, on a découvert que les tests fonctionnels doivent être complétés par une analyse de
la conception du système électronique complexe lié à la sécurité utilisé pour la commande de
machines pour évaluer correctement la performance de sécurité de ses éléments matériels et logiciels.
Il existe un grand nombre de mesures et de techniques pour cette analyse de conception basée sur
des méthodologies quantitatives et qualitatives qui peuvent être utilisées par les fabricants de
machines et les organismes de certification.
La plupart des techniques et mesures établies, comme les arbres de fautes et l’analyse des modes de
défaillance et de leurs effets ont des mérites lorsqu'elles sont utilisées en combinaison avec des
philosophies de tests classiques pour des systèmes électroniques complexes liés à la sécurité. La
difficulté pour les praticiens se situe dans la détermination des mesures adéquates pour des
applications à des machines particulières et dans la cohérence atteinte par leur utilisation.
Ces difficultés ont été abordées dans une certaine mesure par les normes existantes et émergentes
considérées par le projet STSARCES.
Le Projet STSARCES inclut une comparaison des méthodologies et des exigences de deux normes :
IEC 61508 (Sécurité fonctionnelle des systèmes de sécurité électriques/ électroniques/électroniques
programmables) et EN 954 (Sécurité des machines - Composants liés à la sécurité des systèmes de
commande). Elle a été effectuée afin de déterminer la différence entre les exigences de ces deux
normes pour les technologies électroniques complexes et électroniques programmables lorsqu'elles
sont appliquées à des systèmes de commande des machines.
-5-
Les deux normes proposent une approche structurée tendant à la conception de systèmes de
commande liés à la sécurité, mais elles diffèrent dans le sens où EN 954 vise à s'appliquer à tous les
types de technologies de système de commande alors que IEC 61508 vise avant tout, mais pas
exclusivement, à s'appliquer aux systèmes de commande liés à la sécurité électriques, électroniques et
électroniques programmables. Les normes exigent que les fonctions liées à la sécurité du système de
commande soient hiérarchisées : la norme IEC 61508 exige qu'on affecte un niveau d'intégrité de
sécurité aux fonctions liées à la sécurité réalisées par un système de commande d'une machine alors
que EN 954 utilise le concept de performance de sécurité et place le système dans une catégorie
parmi cinq. Il existe une différence significative dans la manière dont les niveaux d'intégrité de
sécurité et les catégories sont dérivés et définis ; ce sont les problèmes posés par cette différence qui
ont été considérés, en particulier dans la mesure où les deux classifications ont été comparées dans le
but de développer une stratégie pour les lier.
La norme IEC 61508 utilise une approche de cycle de vie de sécurité pour garantir que la conception
d'un système de commande de sécurité est effectuée de manière systématique. Cette approche de
cycle de vie est examinée dans le projet STSARCES pour établir si elle conviendrait à la conception
de systèmes de commande des machines.
Des CES (Systèmes Electroniques Complexes) de sécurité certifiés par des organismes de
certification sont aujourd'hui en vente également dans le secteur des machines. Bien qu'il n'y ait pas
aujourd'hui de procédure de validation harmonisée pour les CES, on peut formuler les remarques
suivantes :
L'utilisation de CES pour les systèmes de commande liés à la sécurité représente également,
depuis quelques temps, l'état de l'art avancé pour le secteur des machines.
Il n'y a pas eu d'accident avec les machines et les dispositifs de sécurité certifiés qui soient
imputables à la technologie électronique programmable de l'unité de commande.
Presque tous les fabricants impliqués dans les processus de certification ont dû apporter des
changements conceptuels au cours du développement, parce que, dans certains cas, des
faiblesses graves sont apparues au cours de la validation.
-6-
Souvent, seuls les fabricants impliqués dans des procédures de certification ayant plusieurs
années d'expérience des systèmes de commande de sécurité classiques avaient le savoir-faire
suffisant pour développer des solutions CES acceptables. D'autres fabricants qui abordaient
des applications de sécurité pour la première fois étaient fréquemment incapables de
produire des solutions acceptables.
L'idée de spécifier des procédures de validation pour les PES (Systèmes Electroniques
Programmables) dans des normes si rigides que tous les organismes et tout le monde
arrivent toujours au même résultat en tous points de la validation paraît irréaliste étant
donné la complexité du sujet traité. Il existe ici une limite technique à la standardisation qui
amène à la question grave de savoir si nous ne devrions pas nous satisfaire d'une structure
pour une procédure de validation harmonisée.
Comme on peut le voir dans ces remarques, les organismes de certification européens doivent donner
des réponses constructives à la validation des CES liés à la sécurité. Les procédures de validation
sont développées, et il existe plusieurs orgnanismes qui certifient des CES liés à la sécurité
conformément à la directive machines. Il existe toujours un manque d'harmonisation entre les
différentes organismes qui travaillent dans ce domaine. Le présent rapport final du projet européen
STSARCES "Normes pour les systèmes électroniques complexes liés à la sécurité" développera une
structure pour une procédure de validation harmonisée qui doit être normalisée par
CEN/CENELEC.
-7-
2. ANALYSE DE LA SITUATION ACTUELLE
Au début des années 80, des systèmes électroniques ont été introduits en génie mécanique. Ils ont
d'abord été utilisés uniquement dans des fonctions non liées à la sécurité. Puis, on a essayé d'utiliser
cette technologie pour des applications sensibles pour la sécurité. Cette intention a rencontré une
forte résistance de presque tous les experts en sécurité, car les techniques électroniques ne
respectaient aucun des principes et critères de sécurité de la technologie de commande classique qui
avait été appliquée avec succès par le passé. Une comparaison montre l'ampleur du problème :
La sécurité inhérente, en d'autres termes, la sécurité garantie par la conception de
composants individuels, ne peut être réalisée avec des systèmes électroniques.
Il est quasiment impossible d'exclure la possibilité de panne ayant des causes physiques,
comme c'est le cas pour les circuits électromécaniques.
Les systèmes programmables sont extrêmement complexes. Nous devons accepter que ces
systèmes ne soient plus complètement testables.
Si des modifications sont faites, il existe un risque relativement élevé, par rapport à la
technologie conventionnelle, que des défaillances graves soient intégrées.
Ces problèmes ont été résolus par des documents nationaux et internationaux de standardisation qui
ont introduit des exigences de base, en particulier au cours de la conception, pour contourner ces
difficultés. Tous ces documents se basent sur le cycle de vie de sécurité.
Les massicots ont vraisemblablement été les premières machines à utiliser l'informatique pour des
fonctions de sécurité au début des années 80. Ils sont utilisés en grande quantité dans les usines de
transformation du papier et sont particulièrement dangereux. Les doigts et les mains peuvent être
grièvement blessés par la lame de presse si un dysfonctionnement des dispositifs de protection
intégrés se produit. Ceci a posé des problèmes liés au manque d'expérience pratique en applications
industrielles et en méthodes d'évaluation appropriées. En coopération avec un organisme de tests
allemand, le premier fabricant de machines a décidé de développer le contrôle-commande en
redondance multiple où une voie correspondait au calculateur, une autre était câblée en logique
CMOS.
-8-
En plus de 15 ans et plusieurs générations de machines, presque tous les fabricants de grands
massicots utilisent maintenant des systèmes de commande numériques. Une technologie moderne
pour des contrôles de catégorie 4 de la norme EN 954 signifie : redondance multiple ou homogène
avec comparateur à sécurité intrinsèque, commande bimanuelle et détection par cellule
photoélectrique.
Les forts besoins de l'industrie ont obligé l'organisme national de standardisation allemand à créer
une norme générale pour les commandes numériques liées à la sécurité (voir DIN V VDE 08011). Le
contenu technique de cette norme nationale a ensuite été introduit en Europe (voir EN954-12) et
dans la standardisation internationale (voir IEC 615083).
Les équipements de protection électro-sensibles ont été utilisés pour garantir la sécurité de machines
et de zones potentiellement dangereuses pendant presque 30 ans. Jusqu'à présent, il n'a jamais été
possible de changer la géométrie du champ de protection : les calculateurs n'ont pas été utilisés avant
environ 1992. Au début des années 90, plusieurs cellules photoélectriques qui contenaient des
microcontrôleurs en redondance homogène ont été fabriquées. L'avant-projet allemand
DIN V VDE 0801 a été utilisé comme base de certification. Cette norme construit un système
hiérarchique de huit niveaux de réduction des risques basée sur la norme DIN V VDE 19250 4. Ces
premières cellules photoélectriques utilisant des CES ont été certifiées conformément au niveau 5 de
cette norme et pouvaient être utilisées comme dispositifs de protection électro-sensibles pour les
presses mécaniques.
Au cours des trois dernières années, un véritable "bond en avant " a eu lieu dans ces systèmes. Non
seulement les microprocesseurs, mais également les principes physiques appliqués sont en train de
révolutionner la philosophie de sécurité antérieure des équipements protecteurs électro-sensibles. Par
le passé, la fonction de sécurité des dispositifs protecteurs électro-sensibles était activée
exclusivement par l'interruption du faisceau de lumière.
Dans l'exemple illustré (Figure 1) du "scanner laser", le corps humain dans la zone de danger est
détecté par la réflexion d'un faisceau de lumière infrarouge. Un faisceau de lumière pivotant balaie
rapidement la zone de danger et transmet une image de la zone au calculateur. Pour déterminer la
position exacte de la personne, le temps de parcours aller et retour de la lumière de l'équipement
jusqu'à la personne est mesuré. La géométrie du champ protecteur peut être ajustée par le logiciel.
-9-
Le scanner électro-sensible décrit ici est mis en œuvre pour gérer des fonctions de sécurité de
catégorie 3 conformément à la norme EN 954. L'architecture du système est à voie unique avec de
nombreux autotests et des dispositifs de surveillance5 supplémentaires.
Aujourd'hui, plus de soixante mille dispositifs électro-sensibles commandés par microprocesseur sont
utilisés dans toutes sortes d'applications.
Des centres d'usinage à commande numérique possèdent des installations pour permettre le
changement d'outil automatique à partir d'un magasin ou d'une unité de stockage similaire
conformément au programme d'usinage. La situation la plus dangereuse est un mouvement,
démarrage ou accélération de vitesse imprévu alors que l'ouvrier observe le processus tandis que les
caches et protections mécaniques sont encore ouverts. Pour éviter ce risque, les centres d'usinage
nécessitaient par le passé qu'on ouvre et qu'on ferme les caches et protections mécaniques très
souvent en mode réglage.
Dans un nouveau concept de sécurité, basé sur l'informatique, le technicien peut opérer en mode
réglage à côté de caches et protections ouverts et observer et estimer les mouvements de la machine.
Dans la nouvelle approche, une surveillance de sécurité a été intégrée dans un calculateur à
redondance multiple. Les calculateurs avant tout responsables des fonctions non liées à la sécurité de
la machine font partie de l'architecture à redondance multiple6.
Si le mouvement automatique est commandé de cette manière sûre, l'utilisateur peut évoluer à
l'intérieur de zones définies. Toute déviation dans l'espace ou toute vitesse est détectée par le
système d'entraînement à vitesse réglable à redondance multiple, réalisé par un logiciel. De manière
extrêmement flexible, la machine peut être adaptée au travail de l'utilisateur et non le contraire.
- 10 -
2.2. Base pour la validation des CES
Comme indiqué dans le paragraphe précédent, les CES liés à la sécurité sont aujourd'hui certifiés
conformément à la norme EN 954 en conjonction avec des spécifications nationales, comme
DIN V VDE 0801. Certaines autorités ont également utilisé la norme internationale IEC 61508 pour
la certification de contrôleurs logiques programmables liés à la sécurité7. Dans la plupart des cas, un
certificat mentionne la norme EN 954-1, des spécifications nationales et quelquefois la norme IEC
61508 comme exigences de tests. Cependant, il n'existe pas aujourd'hui de procédure utilisée au
niveau international pour la validation des CES liés à la sécurité dans le secteur des machines et dans
la pratique entre stations de tests en Europe. Quelques remarques générales peuvent être faites sur la
base des procédures utilisées aujourd'hui :
La validation à la fin du développement uniquement, lorsque le produit est terminé, n'est
plus possible. Comme le processus de développement lui-même est un sujet essentiel de
validation, il est recommandé d'impliquer l'organisme de validation dès la conception afin de
se mettre d'accord sur les documents à soumettre.
La spécification des CES liés à la sécurité est d'importance capitale et doit être inspectée par
l'autorité de certification. L'une des entrées importantes de la spécification est la nécessaire
réduction de risque des CES lorsqu'ils sont utilisés dans une fonction de sécurité spécifique.
Si un CES n'est pas fabriqué en vue d'une fonction de sécurité spécifique, la réduction de
risque minimum réalisable des CES, en tant que sous-système, doit être spécifiée.
Au cours de toutes les phases du cycle de vie du produit, des mesures analytiques et de tests
sont nécessaires pour réaliser un produit qui soit robuste par rapport aux pannes
systématique et fortuite. Ces mesures peuvent être prises principalement par le fabricant de
CES et elles accroissent considérablement les efforts de développement.
Les logiciels deviennent de plus en plus importants pour l'intégrité de sécurité des CES
modernes. Une compréhension étendue des logiciels liés à la sécurité est essentielle à la
validation des CES. Plus le matériel semble simple, plus les logiciels intégrés peuvent être
complexes.
La modification des CES est un processus très critique et doit être planifié au cours de la
première conception. Les organismes de certification doivent être impliquées dans le
processus complet de maintenance des CES liés à sécurité.
Le chapitre suivant décrit une procédure harmonisée pour la validation des CES liés à la sécurité
tandis que le Chapitre 4 considère la possibilité d'application de la norme EN 954 et de la norme
IEC 61508 au secteur de la machine.
- 11 -
3. ATTEINDRE LA SÉCURITÉ EN SUIVANT LE CYCLE DE VIE
3.1. Introduction
La complexité des systèmes électroniques actuels est telle qu'il est impossible à l'analyste de valider le
niveau de sécurité d'un système CES en effectuant des activités de test uniquement lorsque le
processus de conception est bien entamé ou même terminé.
Cette nouvelle approche, appelée le cycle de vie, n'était pas aussi importante pour les technologies
électromécaniques ou électroniques à faible intégration qui étaient généralement utilisées jusqu'à
présent dans la sécurité des machines.
Pour traiter correctement la sécurité, il est maintenant nécessaire d'avoir une vue globale des
différentes étapes qui délimitent la "vie" d'une application, à partir de la définition des limites de cette
application jusqu'à, au moins, la validation de sécurité (il est souvent difficile pour les machines de
traiter de la maintenance et de la mise en service finale des éléments). Ces étapes sont généralement
regroupées au sein du cycle de vie de sécurité au niveau global de l'application (cf. norme IEC
61508-1). Ceci établit les activités nécessaires pour mettre en œuvre les différents moyens de réduire
le risque, c'est-à-dire les CES, mais également les systèmes liés à la sécurité basés sur d'autres
technologies et des installations externes de réduction des risques.
Trois grandes parties dans le cycle de vie global de sécurité peuvent être distinguées.
[1]Les premières étapes, basées sur la définition du concept et une analyse des risques et
des dangers au niveau global de l'application en particulier, amènent à l'affectation
d'exigences de sécurité aux différents moyens de réduire les risques. Deux systèmes de
référence peuvent éventuellement être employés pour effectuer les analyses de danger
et de risque : la norme EN 954 (en conjonction avec la norme EN 10508) et la norme
IEC 61508 (voir Chapitre 4 pour le choix d'un système de référence).
[2]Puis vient le cycle de vie inhérent au développement des CES employés, mais
également aux systèmes liés à la sécurité basés sur d'autres technologies et des
installations externes de réduction des risques.
[3]Ces deux premières parties sont complétées par les phases d'installation et de
validation globale de la sécurité, de fonctionnement et de modifications éventuelles
des E/E/PES (avec, le cas échéant, un retour à la phase adéquate du cycle de vie).
- 12 -
3.1.2. Le cycle de vie de sécurité des E/E/PES
Dans cette section, le contenu du cycle de vie concernant le développement des CES est examiné. Ce
cycle commence à la spécification des conditions nécessaires et suffisantes à la réalisation de tels
systèmes et se termine lorsque tous les systèmes liés à la sécurité ne sont plus disponibles à
l'utilisation.
Les phases principales qui constituent le cycle de vie sont les suivantes :
Spécification : basée sur l'affectation faite dans le cycle de vie global de sécurité, cette phase
spécifie des fonctions de sécurité effectuées par le CES ainsi que la performance en termes
de niveau intégrité de sécurité (IEC 61508) ou de catégorie (EN 954), le choix de l'un ou de
l'autre étant orienté par la considération des éléments indiqués au Chapitre 4.
Validation : La validation a pour but de garantir que les exigences établies au cours de la
phase de spécification sont bien respectées.
Afin que l'analyste ne soit pas juge et partie, ses interventions sont prioritairement limitées au niveau
de la spécification et de la validation des CES.
Le cycle de vie des logiciels est un sous-ensemble du cycle de vie des CES qui concerne les activités
ayant eu lieu au cours d'une période qui commence lorsque le logiciel est conçu et se termine lorsque
le logiciel est abandonné de manière permanente.
Le déroulement des activités est défini en relation avec les particularités du projet, par exemple
complexité du système considéré et des logiciels, utilisation finale de produits développés
auparavant, production d'un prototype ou disponibilité des matériaux de tests. L'organisation de ces
activités peut être représentée par différents cycles de vie distincts, définis en fonction du type de
projet en question.
Le cycle en forme de « V » est choisi parce qu'il est adapté aux produits logiciels. Une activité de
tests est placée directement en face d'une activité de développement pour s'assurer que les éléments
spécifiés ont été correctement réalisés.
Ce cycle de vie correspond à une activité de développement continu et itératif. Cette représentation
en forme de V est illustrée dans le schéma suivant :
- 13 -
Vérification
Spécifications du Validation du
système système
Vérification
Spécifications du Tests de validation
logiciel logicielle
Codage
Codage : activité de production du code source, en langages appropriés, qui peut ensuite
être accepté par un assembleur ou un compilateur pour la production d'instructions
exécutables pour utilisation par le processeur cible.
Ces activités de définition sont complétées par les activités de vérification logicielle, dont le but est
de vérifier que le produit logiciel répond aux exigences spécifiées à chaque étape de développement
et de vérifier toutes les erreurs qui ont pu être introduites au cours du développement du logiciel.
L'activité principale de toute vérification logicielle est la conduite de tests. D'autres activités telles
que l'examen ou l'analyse sont des composants éventuels de la vérification logicielle. Les activités de
tests des logiciels comprennent généralement différentes phases qui correspondent à différentes
activités de développement :
- 14 -
Tests de modules au niveau de chaque module individuel qui peuvent être utilisés pour
démontrer que le module effectue la fonction spécifiée et seulement cette fonction.
Différents types de tests de modules peuvent être déterminés, y compris tests logiques
(recherche d'erreur, vérification de l'exactitude des interconnexions des différentes branches,
recherche de comportement anormal) et des tests de calcul (vérification de résultats de
calcul, algorithmes de performance et d'exactitude). Les tests de calcul incluent typiquement
des tests de données au sein de limites de spécification ainsi qu'en dehors de ces limites, aux
limites spécifiées, et aux singularités algorithmiques. Les tests de comportement anormal
sont généralement appelés tests de robustesse.
Les tests d'intégration logicielle sont utilisés pour démontrer que les unités fonctionnelles
constituées d'un ensemble de modules opèrent correctement. Ce type de tests concerne
principalement la vérification des interconnexions entre modules, la circulation de données,
les aspects dynamiques et la mise en séquence d'évènements prévus. Ils comprennent
typiquement des tests sur les connexions inter modulaires, les aspects dynamiques, la mise
en séquence d'évènements prévus, et la reprise des opérations en cas d'interruption.
Les tests de validation servent à vérifier que le logiciel installé sur le matériel répond aux
spécifications fonctionnelles, en vérifiant particulièrement les interfaces matériel/logiciels,
les niveaux de performance généraux, l'exploitation en temps réel, les fonctions générales et
l'utilisation et l'affectation de ressources.
Il existe d'autres cycles de vie de sécurité dont il n'a pas été question précédemment comme le cycle
de vie incrémentiel qui concerne en priorité ces projets qui n'ont pas été précisément définis. Le cycle
de vie envisagé concerne des projets qui traitent du développement d'un concept de produit reposant
sur des technologies innovantes ou pas encore totalement maîtrisées.
Le but des exigences de cycle de vie1 suivantes est d'obtenir une description formalisée de
l'organisation du développement et, en particulier, des différentes tâches techniques qui composent le
développement. Cette description encourage la planification améliorée des activités de
développement, et permet une réflexion plus approfondie sur la gestion optimale du temps pour ce
développement.
Le cycle de vie de développement des logiciels doit être spécifié et documenté (par exemple dans un
Plan de qualité logiciel). Le cycle de vie doit inclure toutes les activités techniques et les phases
nécessaires et suffisantes au développement logiciel.
Chaque phase du cycle de vie doit être divisée en tâches élémentaires et doit inclure une description :
des entrées (documents, normes, etc.),
des sorties (documents produits, rapports analytiques, etc.),
1
Ces exigences ne sont pas réservées au cycle de vie des logiciels et peuvent donc s'appliquer à la conception des différents sous-ensembles d'un CES.
- 15 -
des activités à effectuer,
des vérifications à réaliser (analyses, tests, etc.).
La documentation nécessaire doit être établie à chaque phase du cycle de vie pour faciliter la
vérification et la validation et les exigences de sécurité logicielle doivent être identifiables et
vérifiables à chaque étape du processus (matrice de traçabilité pour chaque document de définition).
Ceci évitera une situation où seule la documentation disponible constitue le code source parce que
les documents qui auraient dû être préparés ne l'ont pas été (délais trop courts, responsable de projet
transféré sur un autre contrat, etc.).
L'analyste doit être capable d'effectuer l'évaluation de la conformité du logiciel aux exigences
présentes en conduisant tous audits ou expertises jugés utiles au cours des différentes phases de
développement du logiciel.
Tous les aspects techniques des processus du cycle de vie des logiciels sont soumis à l'évaluation de
l'analyste.
On doit permettre à l'analyste de consulter tous les rapports de vérification (tests, analyses, etc.) et
tous les documents techniques utilisés au cours du développement du logiciel.
L'intervention de l'analyste à la phase des spécifications est préférable à une intervention a posteriori
puisque cela limiterait l'impact de toute décision prise. D'autre part, les aspects financiers et humains
du projet ne sont pas soumis à évaluation.
L'analyste doit avoir tous les éléments nécessaires à sa disposition afin de formuler une opinion. Les
logiciels en contrat de sous-traitance ne doivent pas être exclus de la procédure d'évaluation et
doivent être conformes aux exigences de la même documentation.
- 16 -
3.2. Spécifications
Aujourd'hui, les programmes logiciels sont caractérisés par leur complexité et leur taille telles qu'il
semble excessivement optimiste d'essayer d'éviter tous les défauts qu'ils contiennent au moyen de leur
construction et de tests à la fin de leur développement. Afin de maîtriser le développement de
logiciels, il est absolument nécessaire qu'une procédure adaptée à cette technologie soit établie.
Au cours de la durée de vie d'un programme logiciel, l'une des étapes les plus délicates à accomplir
est la traduction de besoins en spécifications. La rédaction de spécifications et la possibilité d'évaluer
ces spécifications sont des avantages très importants, en particulier pour les logiciels de sécurité.
Ceci est confirmé par une étude menée par HSE concernant les causes primaires de panne, basée sur
34 incidents, qui montre que la proportion principale (44 %) est causée par de mauvaises
spécifications (Figure 3).
On estime que la correction d'une erreur de spécification demande environ 20 fois plus d'efforts
lorsqu'elle est détectée au cours de l'utilisation, et quelquefois même plus. En fait, les conséquences
des pannes logicielles ne se limitent pas au réparations. Dans certains cas, des vies humaines peuvent
être impliquées.
Design &
14.70%
44.10 % im plem entation
5.9 0%
Ins tallation &
c o m m iss ionin g
O peration& m aintena nce
1 4.70%
Changes after
20.6 0% c o m m iss ionin g
S pec ification
Figure 3 : Portion principale attribuée aux spécifications dans les causes de panne
Les procédures de spécifications des logiciels de sécurité tombent dans le cadre d'une approche de
sécurité de l'exploitation de systèmes qui permet de maîtriser les risques du système dans son
environnement. Il s'agit d'une approche méthodologique complète qui doit être planifiée et
systématique, afin d'identifier, analyser et contrôler les risques tout au long du cycle de vie du
système, en particulier tout au long du cycle de vie du logiciel, avec pour intention d'anticiper et de
réduire les incidents.
- 17 -
Alors que les procédures de qualité traditionnelle mettent en œuvre des moyens qui tendent à un
système exempt de défaut, la procédure de sécurité d'exploitation met en œuvre d'autres moyens afin
de tendre à un système exempt de panne (Figure 4).
L'objectif zéro défaut est une illusion qu'il faut complètement abandonner face aux exigences strictes
de sécurité. Il est irréaliste d'essayer de limiter tous les défauts, tentative qui conduit à des efforts
énormes bien supérieurs aux règles économiques ordinaires et au-delà des limites actuelles de la
technologie de production des logiciels et de l'état de l'art.
AVOID
ATTAINMENT VALIDATION
FAULTS
OPERATION SAFETY
Zéro ZERO
fault failure
Des méthodes et outils d'Atelier de Génie Logiciel (AGL) sont offerts aux développeurs, afin de les
aider et de les accompagner dans leur travail. Le tableau ci-après fournit une liste non exhaustive des
quelques méthodes de spécification et de leurs principales caractéristiques.
Ces méthodes peuvent être utilisées pour tout type de logiciels. Les exigences de sécurité au niveau
des spécifications du logiciel sont prises en compte par les méthodes de sécurité d'exploitation.
- 18 -
Nom Phase dans le Remarques
cycle de vie
PN Spécification Méthode basée sur des systèmes de transition, utilisant des
Réseau Pétri Développement jetons de réseau et des espaces. Elle permet de démontrer
des propriétés comme tolérance au blocage, réactivité ou
équité d'un ensemble de processus coopérants. Elle est
souvent utilisée pour spécifier le parallélisme et la
synchronisation.
Statecharts Spécification Méthode de spécification basée sur des systèmes de
Développement transition.
À notre connaissance, aucun AGL ne combine des outils de spécification et des outils de sécurité
d'exploitation pour des spécifications logicielles, tout en prenant en compte les exigences de sécurité.
Néanmoins, il existe tout un ensemble de programmes logiciels de spécification logicielle sur le
marché qui mettent en œuvre des méthodes formelles et des méthodes semi-formelles (méthodes
SART, méthodes SADT, etc.), ainsi que des programmes logiciels qui permettent de créer des
schémas d’arbres de panne et des AMDEC.
- 19 -
Outil Concepteur Plate-forme Méthode
ATELIER B STERIA, GEC-ALTHOM UNIX (HP-UX-LINUX- Méthode B formelle
SOLARIS)
AXIOM/SYS STG Microsoft (Windows 3.xx, SART
Windows 95, Windows NT)
DESIGN IDEF METASOFTWARE Microsoft (Windows 3.xx, IDEF0 et IDEFIX
Windows 95, Windows NT)
ENVISION FUTURE Microsoft (Windows 3.xx, SART, SADT, UML
TECH.SYSTEMS
Windows 95, Windows NT)
OBJECT GEODE VERILOG UNIX (AIX, HP, UX, SOLARIS, OMT, SDL, MSC
SUN/OS)
ORCHIS TNI Microsoft et UNIX IDEF0
STP-SE AONIX Microsoft et UNIX SART
SYNCCHARTS SIMILOG UNIX Esterel
TEAMWORK CAYENNE Microsoft, UNIX SART
Les méthodes formelles sont plus qu'un outil de représentation ; elles sont aussi une technique pour
rédiger des spécifications qui empêchent le concepteur de faire des abstractions et résultent
finalement en une meilleure analyse et un degré accru de modélisation des problèmes de
spécification. Il est quelquefois même possible d'effectuer des simulations.
- 20 -
Spécifications logicielles Niveau
1 2
Les spécifications logicielles doivent prendre en compte les points suivants : O O
fonctions de sécurité avec une description quantitative des critères de performance
(précision, exactitude) et des contraintes temporelles (temps de réponse) avec pour
toutes des tolérances ou des marges si possible,
fonctions non liées à la sécurité avec une description quantitative des critères de
performance (précision, exactitude) et des contraintes temporelles (temps de
réponse) avec pour toutes des tolérances ou des marges si possible,
architecture ou configuration du système,
instructions relatives à l'intégrité de sécurité matérielle (systèmes électroniques
programmables, capteurs, actionneurs, etc.),
instructions relatives à l'intégrité logicielle et à la sécurité des fonctions de
sécurité,
contraintes relatives à la capacité de mémoire et au temps de réponse du système,
interfaces matériel et opérateur,
instructions pour l'auto-surveillance des logiciels et pour la surveillance du
matériel effectuée par les logiciels,
instructions permettant le contrôle de toutes les fonctions de sécurité au cours du
fonctionnement du système (tests en ligne).
Les instructions de surveillance, développées en prenant en compte les objectifs de sécurité et les contraintes
de fonctionnement (durée de fonctionnement en continu, etc.) peuvent inclure des dispositifs comme les
chiens de garde, la surveillance de chargement de l'UC, retour d'informations des sorties et entrées pour
l'auto-surveillance des logiciels. Pour la surveillance matérielle, surveillance mémoire et UC, etc.
Instructions pour la vérification des fonctions de sécurité : par exemple, la possibilité de vérifier de manière
périodique le fonctionnement correct des dispositifs de sécurité doit être incluse dans les spécifications.
Notation : Les exigences abordées dans le présent document s'organisent en deux niveaux d'exigences logicielles (1,
2) selon la criticité des fonctions assurées par le logiciel. Le niveau 2 correspond aux exigences les plus
élevées pour le logiciel considéré dans le présent document. Le niveau associé à une fonction donnée
dépend d'une analyse des risques du système complet.
Le niveau peut être utilisé pour établir une liste d'exigences élémentaires pour le logiciel considéré. Trois degrés
d'importance peuvent être définis pour aider à décider s'il est ou non nécessaire d'envisager une exigence donnée
comme fonction du niveau de criticité :
"O" (Exigence de qualité Obligatoire) : cette exigence doit être appliquée systématiquement au
logiciel en question.
"R" (Exigence de qualité Recommandée) : l'application de cette exigence est recommandée mais pas
systématiquement imposée.
"/" (pas d'exigence) : l'application de cette exigence est laissée à la discrétion de l'utilisateur.
- 21 -
3.3. Architecture
L'architecture d'un CES lié à la sécurité est l'un des éléments clés pour atteindre la catégorie requise
(CAT) ou le niveau d'intégrité de sécurité (SIL). C'est la raison pour laquelle les architectures jouent
un rôle important dans la connexion des catégories (EN 954) et des niveaux d'intégrité de sécurité
(SIL – IEC 61508).
Les exigences d'architecture sont liées aux logiciels et au matériel. Dans le premier paragraphe de ce
chapitre, les architectures matérielles communément utilisées pour les machines (appelées
"architectures désignées") sont décrites et une vue générale des simulations Markov de ces
architectures est donnée. Dans le second paragraphe, l'influence de l'architecture logicielle est
analysée. Une quantification de cette influence ne peut être considérée que partiellement en utilisant
le facteur de cause commune.
En étudiant la norme EN 954-1, on peut interpréter les exigences pour les différentes catégories en
tant que contraintes architecturales pour la conception de composants liés à la sécurité de systèmes
de commande. Dans les catégories B et 1, une architecture à voie unique sans installation de
surveillance est décrite, tandis que la catégorie 2 spécifie une architecture à voie unique avec
surveillance et chemin de désactivation redondant et les catégories 3 et 4 nécessitent normalement un
traitement du signal redondant et une réaction pour remplir les exigences. Par exemple, le transfert
des exigences de la norme EN 954-1 en systèmes électroniques complexes liés à la sécurité mènera à
différentes architectures de système utilisées dans le secteur des machines.
En mettant ces architectures communes dans différents modèles Markov, la probabilité d'une panne
dangereuse par heure (PDF) ou la probabilité de panne à la demande (PFD) peut être calculée pour
différentes couvertures de diagnostic et facteurs de cause commune. Les résultats de ces calculs
peuvent être utilisés pour établir des relations entre les architectures communément utilisées dans le
secteur des machines et les différents niveaux d'intégrité de sécurité tels que définis en IEC 61508-1.
Le paragraphe suivant décrit les architectures communément utilisées pour les CES dans le secteur
des machines. Plusieurs hypothèses peuvent être avancées qui sont typiques de ces architectures. Un
test d’intégrité n'est pas standard pour les CES dans le secteur des machines. L'intervalle de test
d’intégrité a donc été fixé 10 ans, ce qui est le temps moyen d'utilisation de CES lié à la sécurité
aujourd'hui (appelé le "temps de mission").
- 22 -
3.3.2. Architectures communes pour les machines
Soit le système comprenant un capteur (S), un dispositif électronique programmable (PED) avec une
alimentation électrique intégrée et un actionneur (D) contrôlé par le PED, il peut être représenté :
Normalement, un dispositif électronique simple n'est pas considéré comme un composant éprouvé. Il
n'est donc pas possible de réaliser un système de sécurité à voie unique de catégorie 1 en utilisant un
PED.
[2] Le système de sécurité n'est pas capable d'induire une situation dangereuse de lui-
même. Le pire des cas qui peut se produire est une panne dangereuse, c'est-à-dire
que le système ne peut effectuer sa fonction de sécurité prévue.
[3] Les pannes sont uniquement révélées par une demande de la fonction de sécurité.
Ceci amène à une situation dangereuse qui sera suivie d'une réparation.
- 23 -
3.3.2.2. Système à voie unique avec tests mis en œuvre conformément
à la catégorie 2 de la norme EN 954-1
La catégorie 2 de la norme EN 954-1 demande que des autocontrôles soient exécutées par le
système dédié à la sécurité à intervalles convenables. Les tests peuvent être initiés soit manuellement,
soit automatiquement. Si un défaut est détecté, un signal de sortie doit être généré afin d'initier une
action de contrôle appropriée. Chaque fois que cela est possible, un état de sécurité doit être induit.
Ces exigences impliquent que l'occurrence d'un défaut puisse amener à la perte de la fonction de
sécurité entre les intervalles de vérification. De plus, il convient de remarquer que de nombreuses
techniques de tests typiques ne fournissent pas une couverture de diagnostic de 100%. Il peut donc
exister des défauts au sein du dispositif de sécurité qui ne peuvent être détectés par les vérifications.
Une architecture de systèmes représentative pour la catégorie 2 est présentée par le synoptique de la
Figure 6.
Figure 6 : Synoptique d'un système à voie unique avec mise en œuvre de tests
Par rapport au système simple de la Figure 5, un chien de garde (WD) a été ajouté afin de surveiller
le fonctionnement du dispositif électronique programmable (PED). Une alimentation électrique est
intégrée au PED. L’actionneur (D) possède deux entrées séparées, la première (Ip) pour le PED et
une seconde (Iw) pour le chien de garde, chacune fournissant une capacité d'interruption complète.
Le système effectue également des tests périodiques du capteur, du ou des chemins de désactivation
de l’actionneur et du chien de garde.
Plusieurs hypothèses ont été avancées afin de faciliter la création d'un modèle de Markov
convenable :
[1] La désactivation de l’actionneur est l'action appropriée pour générer un état de
sécurité de l'équipement contrôlé (EUC) auquel l’actionneur appartient.
- 24 -
[2] Le système de sécurité n'est pas capable d'induire une situation dangereuse de lui-
même. Le pire des cas qui peut se produire est une panne dangereuse, c'est-à-dire
que le système ne peut effectuer sa fonction de sécurité prévue.
[5] Le chien de garde est également testé par le PED. On suppose que la couverture de
diagnostic est égale à un. Il y a deux manières de surveiller le fonctionnement du
chien de garde. Son signal de sortie peut être soit directement relu par le PED, soit
le chemin de désactivation interne de l’actionneur commençant à l'entrée Iw de
l’actionneur peut être incluse dans la boucle de test. Dans ce dernier cas, le chemin
de désactivation est inclus dans la boucle de test. Ceci peut être exprimé par la
couverture de diagnostic qui est fixée soit à zéro, soit à un.
[6] Toute panne qu'on a réussi à détecter conduira le système à un état de sécurité non
volatil avec déconnexion de l’actionneur. On suppose que le système est
déconnecté manuellement de l'alimentation électrique jusqu'à ce qu'il ait été réparé
ou remplacé par un neuf.
[7] Si le PED est tombé en panne, il n'effectuera plus de tests sur les composants
externes au PED, c'est-à-dire que S, Ip, WD et Iw ne sont pas testés en cas de
panne du PED.
[8] Afin de décrire l’actionneur par un seul taux de panne dangereuse, ce taux est
distribué également entre les entrées Ip et Iw respectivement.
EN 954-1 demande qu'un dispositif de catégorie 3 reste opérationnel si un défaut unique est présent
en n'importe quel point du système. De plus, toutes les fois que cela est raisonnablement applicable,
le défaut unique doit être détecté avant ou à la demande suivante de la fonction de sécurité. Ceci
inclut que tous les défauts ne devraient pas être détectés et que l'accumulation de défauts non
détectés peut amener à une sortie non prévue et à une situation dangereuse au niveau de la machine.
Les pannes de mode commun doivent être prises en compte.
- 25 -
Outre les exigences mentionnées ci-avant, il existe des exigences plus rigides à remplir par un
système de sécurité revendicant une conformité à la catégorie 4. Le défaut unique doit être détecté
(aussi tôt que possible) et, si cette détection n'est pas possible, alors une accumulation de défauts ne
doit pas amener à une perte des fonctions de sécurité.
Le problème de la fourniture des fonctions de sécurité après l'occurrence d'un défaut est souvent
résolu par la mise en œuvre de la redondance. Un exemple typique pour la redondance homogène est
donné par le système à voies doubles illustré par la Figure 7. La possibilité d'atteindre la catégorie 3
ou 4 dépend de la mesure dans laquelle les défauts peuvent être détectés ou tolérés.
Le système comprend deux capteurs (S1, S2) du même type et deux dispositifs électroniques
programmables (PED1, PED2) de type identique, avec alimentation électrique intégrée à chaque
PED, combinés à un seul actionneur (D). Les deux PED sont connectés à une entrée individuelle
(IN1, IN2) de l’actionneur.
Là encore, il existe un certain nombre d'hypothèses raisonnables qui ont été avancées pour obtenir un
modèle Markov convenable :
Hypothèse 1 : La désactivation de l’actionneur est l'action appropriée pour générer un état
de sécurité de l'équipement contrôlé (EUC) auquel le lecteur appartient.
Hypothèse 2 : Le système de sécurité n'est pas capable d'induire une situation dangereuse de
lui-même. Le pire des cas qui peut survenir est une panne dangereuse, c'est-à-dire que le
système ne peut effectuer sa fonction de sécurité prévue.
Hypothèse 3 : Des tests périodiques en ligne sont effectués par les deux dispositifs
électroniques programmables (PED). L'ensemble de tests complets comprend :
un auto-test de PED1 contrôlé et surveillé par PED2,
un auto-test de PED2 contrôlé et surveillé par PED1,
un test du chemin de désactivation interne de l’actionneur qui commence à l'entrée IN1
de l’actionneur, effectué par PED1,
- 26 -
un test du chemin de désactivation interne de l’actionneur qui commence à l'entrée IN2
de l’actionneur, effectué par PED2,
une comparaison des signaux de sortie des deux capteurs (S1, S2), effectuée par PED1
et PED2 ensemble.
Chacun des tests vérifie des sous-fonctions qui sont effectuées par les différents
composants. Effectuer toutes les sous-fonctions correctement est une condition préalable
pour que le système de sécurité fournisse sa ou ses fonctions de sécurité prévues.
Hypothèse 4 : Les auto-tests mutuellement contrôlés et surveillés des PED sont caractérisés
par une couverture de diagnostic à laquelle on peut affecter une valeur entre zéro et un.
Hypothèse 5 : La couverture de diagnostic liée aux capteurs est égale à un. Dans certains
cas, la caractéristique sera mise en œuvre, dans d'autres, elle ne le sera pas. Ceci peut être
exprimé par la couverture de diagnostic fixée soit à zéro soit à un.
Hypothèse 9 : La même panne dangereuse des deux capteurs au même moment n'est pas
détectable car ils délivrent des signaux de sortie (faux) identiques. Ceci ne peut pas être
révélé par comparaison.
Hypothèse 10 : Le taux de panne de chaque voie d'entrée de l’actionneur est donné par :
I 05
. D
Hypothèse 11 : Les effets de cause commune ne touchent pas les voies complètes mais les
deux capteurs, les deux PED et les deux entrées d'interrupteur de l’actionneur séparément.
Dans de nombreuses applications, une technologie mixte est utilisée afin de mettre en œuvre une
fonction de sécurité. Une première voie est donnée par un contrôleur logique programmable (PLC)
standard avec alimentation électrique intégrée et sans test spécifique en ligne, alors que la seconde
voie est formée de moyens électromécaniques. Les tests en ligne sont effectués par le PLC pour
vérifier les éléments du chemin de signal électromécanique.
2
Pour les machines, quelques capteurs numériques seulement comme des interrupteurs sont normalement utilisés. La surveillance du lecteur se fait
également par signaux numériques. Ainsi, une couverture de diagnostic à 100 % est possible.
- 27 -
Pour exemple, le schéma simplifié de la Figure 8 décrit la mise en œuvre d'une fonction d'arrêt
d'urgence en employant un PLC et un relais.
L
Monitoring
ES
Control Signal
ES: Emergency Stop
PLC: Programmable PLC RC
Logic Controller
CC: Current Converter +
RC: Relay Circuit Control Signal
S: Rotation Sensor
CC
M: Motor Speed Control
Monitoring
S M
Figure 8 : Mise en œuvre d'une fonction d'arrêt d'urgence en utilisant une technologie mixte
On suppose une machine où le convertisseur (CC) est contrôlé par un PLC standard. Le capteur de
rotation (S) fait partie du contrôle de la vitesse ou de la position du convertisseur et peut être utilisé
par le PLC pour surveiller les mouvements du moteur.
La fonction de sécurité à implémenter est l'arrêt d'urgence du mouvement dangereux dès que le
dispositif d'arrêt d'urgence (ES) est actionné. L'actionneur contient deux contacts forcés
mécaniquement, chacun fournissant un signal de sortie distinct. L'un d'entre eux est traité par le PLC
alors que l'autre est amené à un circuit relais (RC) constitué de 2 relais (ou contacteurs
respectivement) à contacts forcés. La fonction d'arrêt d'urgence est exécutée par les deux PLC via le
convertisseur et le circuit de relais. Une panne de l'ouverture des contacts du dispositif actionneur de
l'arrêt d'urgence est exclue. On suppose que des pannes fortuites indépendantes surviennent au PLC,
au convertisseur, au circuit relais et au capteur tandis que l'actionneur d'arrêt d'urgence (ES) est
censé réussir à ouvrir ses contacts si le bouton est enfoncé.
Le logiciel PLC est conçu de manière à ce que l'ouverture du contact d'ES entraîne immédiatement
un signal d'arrêt pour le convertisseur. Quatre tests en ligne peuvent être modélisés par méthode de
Markov. Si l'un des tests n'est pas mis en œuvre en réalité, le taux de test pertinent peut être fixé à
zéro.
Pour les tests en ligne les hypothèses suivantes ont été avancées :
Test de diagnostic du PLC : comme indiqué précédemment, un PLC standard est utilisé. On
suppose donc uniquement des tests en ligne simple tels que des tests de chien de garde et un
test de bit de parité de la mémoire qui sont également communs aujourd'hui pour
l'électronique standard. Ceci résultera en une couverture de diagnostic de 30%. On suppose
que le PLC après détection de panne désactive de manière permanente les sorties
connectées à CC et RC.
- 28 -
Test de diagnostic du CC : à des intervalles de temps convenables, par exemple, une fois par
an ou au cours de la maintenance, le PLC déconnecte le mouvement du moteur en utilisant
le convertisseur (CC). En parallèle, le PLC surveille le signal de sortie du capteur de
rotation (S) afin de détecter la réaction de CC. Si le mouvement n'est pas arrêté par CC, le
PLC arrête le moteur de manière permanente via le circuit de relais (RC).
Parfois, le problème de disponibilité des fonctions de sécurité après l'occurrence d'un défaut est
résolu par la mise en œuvre d'une redondance triple. Un exemple typique de redondance homogène
est donné par le système à voies triples illustré à la Figure 9. La conformité à la catégorie 3 ou 4
dépend de la mesure à laquelle les défauts peuvent être détectés ou tolérés.
Le système se compose de trois capteurs (S1, S2 et S3) du même type et de trois dispositifs
électroniques programmables (PED1, PED2 et PED3) de type identique (avec alimentation
électrique intégrée) connectés à un seul actionneur (D). Chaque PED est connecté à une entrée
individuelle (IN1, IN2 et IN3) de l’actionneur.
- 29 -
3.3.3. Architectures désignées des CES pour le secteur des machines
Afin de rendre comparables des architectures différentes, les paramètres d'entrée pour des unités
fonctionnelles identiques ou similaires ont été fixés aux mêmes valeurs. Dans d'autres cas, des valeurs
raisonnables ont été choisies. Sauf indication contraire, on a supposé les données d'entrée suivantes :
MTTF des capteurs, PED et PLC : 15 ans
MTTF des chemins de désactivation de l’actionneur : 30 ans
MTTF d'un chien de garde : 100 ans
MTTF d'un circuit de relais (deux contacteurs) : 50 ans
Temps de mission (durée de vie) : 10 ans
Temps de réparation (après détection de panne) : 1/(8 heures)
Temps de test des systèmes à voie unique : 1/(15 mn)
Temps de test des systèmes à voies doubles ou à voies triples : 1/(10 s)
Temps de demande de systèmes à voie unique : 1/(24 heures)
Temps de demande de systèmes à voies doubles ou à voies triples : 10/heure
1.0E-04
Cat. B Cat. 2 Cat. 3 Cat. 4
1.0E-05
1.0E-06
1.0E-07
1.0E-08
MT "Si DC
DC DCMT DC DC DCMT DC
mpl
1.0E-09 SinDC (PE DC
TF( (PETF
e
Du (PE (PE (PETF (PE (PE
SinD) S/D SinD) = al D) D) D) D)
gle= 0 (PE red Du= Du = = Tri D)
)= mix= Du =
gle= D)
Sin (7. gle= 100 DC
Du und 100 ple
=
0.8 0.8y ed 0.3 al 0.9 al 0.9 al 0.9 0.9
gle= 5/5 al
= 0anc y
9
0.8 y"
)y
- 30 -
Toutes les évaluations ont été effectuées en appliquant la procédure à demande élevée. Comme
illustré à la figure 10, les SIL 1 à 3 peuvent être atteints par des architectures de système appartenant
à différentes catégories. Pour la catégorie B, aucun lien à un SIL n'est possible. Avec la catégorie 2
et des tests appropriés effectués à un intervalle de temps environ 100 fois plus court que le temps
moyen entre les demandes, le SIL 1 est réalisable. La redondance sans test de diagnostic est
comparable aux systèmes de catégorie B et ne peut être utilisée, même pour le SIL 1. La redondance
en technologie mixte peut atteindre le SIL 2 si les tests en ligne des périphériques sont mis en œuvre.
Pour atteindre le SIL 3, un système redondant doit avoir une couverture de diagnostic de 99 % ou
un MTTF des sous-systèmes bien meilleur que celui que nous supposions pour nos systèmes de
référence. Dans des conditions appropriées, le SIL 3 est possible avec un système à triple
redondance.
Cette figure démontre que le simple doublement des chemins de traitement des signaux sans mise en
œuvre de tests en ligne (redondance simple) ne fournit pas de gain significatif si le temps de mission
est d'un ordre de grandeur similaire au MTTF d'une voie unique. D'autres investigations ont montré
que la simple redondance peut avoir un effet positif uniquement si le temps de mission est d'un ordre
de grandeur plus faible que le MTTF. Pour des systèmes simples (contacteurs ou vannes) qui
peuvent subir des tests d'épreuve une fois par an (couverture de diagnostic à 100 % pour tous les
sous-systèmes), le doublement simple du matériel peut être utile. Pour des sous-systèmes complexes
comme les ASIC ou PED, le doublement simple est utile uniquement si le MTTF est d'un ordre de
grandeur plus grand (possible par exemple pour certains ASIC) que le temps de mission (durée de
vie) du système de sécurité. Dans tous les autres cas, les diagnostics en ligne sont également
essentiels dans les systèmes redondants liés à la sécurité.
Ces résultats rassemblés pourraient être utiles à la standardisation. Un lien peut être fait entre les SIL
et les catégories pour les architectures appelées architectures désignées. Les architectures introduites
dans ce chapitre sont proposées pour être envisagées comme des architectures désignées pour le
secteur des machines. Un fabricant qui peut prouver que son architecture est équivalente à l'une des
architectures désignées doit déterminer le MTTFdangereux de ses sous-systèmes, la couverture de
diagnostic des tests en ligne et, en cas de systèmes redondants, estimer le facteur de cause commune.
Le tableau suivant est la compilation de résultats atteints en choisissant des données d'entrée
particulières. Une nouvelle modélisation Markov sera nécessaire uniquement si des architectures de
système et/ou des paramètres pour les sous-systèmes utilisés ne sont pas listés dans ce tableau.
Il existe plusieurs banques de données qui pourraient être employées pour déterminer le MTTF de
composants matériels, par exemple, FARADIP.THREE9, MIL HDBK 217 ou la Norme
Siemens SN 2950010 . Les résultats obtenus sont sensibles en fonction de la banque de données
utilisée ; pour atteindre des résultats comparables, il est donc préférable d'en utiliser seulement une.
La couverture de diagnostic peut être déterminée en utilisant le modèle de panne (voir annexe A de
IEC 61508-2). L’IEC 61508-6 peut être utile pour estimer le facteur de cause commune . La
standardisation pourrait spécifier une méthodologie pour estimer le CCF. Avec cette proposition, un
lien entre les deux normes IEC 61508 et EN 954-1 est possible, mais il ne s'agit pas d'un lien fixe
entre catégories et SIL.
- 31 -
3.3.4. Conclusions pour les architectures CES désignées pour les machines
Les modèles Markov se sont avéré des outils très appropriés pour déterminer le niveau d'intégrité de
sécurité (SIL) des systèmes liés à la sécurité. Enrichies d'une caractéristique spécifique permettant le
calcul de l’intervalle de test en ligne et le taux de demande concernant la fonction de sécurité, la
probabilité d'une panne à la demande (PFD) et la probabilité d'une panne dangereuse par heure
(PDF). Ainsi la méthode couvre le mode de fonctionnement à faible demande ainsi que le mode de
fonctionnement à demande élevée ou à demande continue tels que définis en IEC 61508.
Certains des résultats obtenus par modélisation Markov sont présentés dans la liste suivante :
En supposant des taux de panne raisonnables des composants, il sera difficile d'atteindre le
SIL 1 avec un système à voie unique non testé. Théoriquement, la situation peut être
améliorée en introduisant des tests hors ligne réguliers, mais ceci n'est pas réaliste pour
l'électronique complexe tout comme les tests hors ligne standards ne le sont pas pour les
dispositifs électroniques de machines.
Les tests en ligne sont essentiels non seulement pour des structures à voie unique, mais
aussi pour les architectures à voies multiples. En utilisant des composants avec un MTTF
suffisant (pas irréaliste), on peut atteindre le SIL 3 avec une couverture de diagnostic de
90 % ou plus. Le chien de garde simple d'un système typique à voie unique fournira
habituellement une couverture de diagnostic plus faible si bien que l'on ne peut atteindre que
le SIL 2.
- 32 -
On propose que les architectures de système ayant été soumises aux investigations soient considérées
comme des architectures désignées pour le secteur des machines. Une liste d'exemples de résultats
d'évaluation présentée en un tableau fournit une vue d'ensemble utile sur la performance de
différentes solutions techniques. En impliquant des paramètres d'entrée supplémentaires comme le
MTTF de composants du système et la couverture de diagnostic, le tableau peut établir un lien entre
les catégories de la norme EN 954-1 et les SIL conformément à la norme IEC 61508. En outre, dans
certains cas, même la validation concernant le niveau d'intégrité de sécurité à atteindre par un
système lié à la sécurité particulier peut être simplifiée en appliquant ce tableau.
- 33 -
3.3.5. Influence de l'architecture logicielle
La redondance partielle ou complète est un outil puissant pour atteindre des catégories plus élevées
ainsi que, si on l'utilise en connexion avec des tests en ligne, des SIL plus élevés ; la redondance
matérielle des CES est souvent liée à une redondance logicielle. En parallèle à l'architecture
matérielle, l'influence de l'architecture logicielle doit être analysée comme faisant partie de la
conception.
La question des défauts de mode commun, inhérente au concept de redondance, se pose alors ;
L'exemple de la compilation du code source est très révélateur. Deux produits logiciels de source
identique peuvent produire des codes exécutables erronés si ces codes sont générés par le même
compilateur erroné. La source commune de défauts est donc le compilateur qui introduit
systématiquement des erreurs dans les programmes. Ces erreurs, si aucune précaution n'est prise,
produisent des pannes de mode commun qui, dans certains cas, peuvent diminuer la sécurité de
l'application.
Les organismes de certification ont donc pris soin d'attirer l'attention des concepteurs et des
responsables de l'évaluation sur les problèmes liés à ces types de panne. D'où une note associée à la
catégorie 4 de la norme EN 954-1 qui y fait référence.
Si d'autres défauts surviennent en conséquence d'un premier défaut unique, le défaut et tous les
défauts conséquents doivent être considérés comme un seul défaut. Les pannes de mode commun
doivent être prises en compte, par exemple, en utilisant la diversité ou des procédures spéciales pour
identifier de tels défauts.
Les pannes de mode commun (résultant d'un défaut initial unique) sont équivalentes à des défauts
uniques et ne doivent donc pas affecter la sécurité de l'application. Il s'agit là d'une très forte
obligation puisque seul le recours à une structure diversifiée et validée satisfait les exigences de la
catégorie 4 pour de telles pannes.
Dans l'exemple précédent, le concepteur serait amené à utiliser deux compilateurs distincts et validés
s'il apparaît que des erreurs peuvent être introduites à la compilation.
La norme propose deux manières de prendre en compte ces pannes : la diversité ou l'utilisation de
procédures pour identifier les pannes de mode commun. Cette dernière n'est pas soumise à débat et
doit être suivie dès qu'une structure redondante est employée, sans quoi les avantages qui en
découlent pourraient être perdus. Au contraire, le recours à la diversité doit être étudié avec
attention afin de ne pas amener les concepteurs à ces moyens complexes puisque, dans certains cas, il
peut s'agir de deux développements et produits distincts. En outre, l'efficacité concernant les défauts
de mode commun peut quelquefois être discutable si on n'a pas pris de précaution.
- 34 -
En revenant à l'exemple des logiciels, il peut être tentant de concevoir deux logiciels différents pour
effectuer la même fonction. Les limites de cette technique, a priori attrayante, apparaissent cependant
rapidement. Il est en effet très difficile de donner une garantie finale d'absence de points communs
entre de tels programmes. Les mêmes spécifications sont souvent utilisées, et si elles sont erronées,
amèneront à deux programmes avec des pannes similaires pour les mêmes données d'entrée ; les deux
programmes peuvent avoir été conçus et codés par deux personnes ou deux équipes de culture
similaire, générant des erreurs logicielles avec des conséquences identiques, etc.
Cet exemple démontre rapidement que la diversité posée dans la norme EN 954 ne peut être imposée
sans précaution pour traiter des phénomènes de mode commun.
La diversité est une technique qui consiste à créer n versions d'une entité (matérielle ou logicielle)
tout en introduisant une ou plusieurs différences dans chaque entité ou dans son processus de
développement afin d'éviter les pannes de mode commun.
La diversité de fonctionnement est souvent citée pour surmonter les pannes de mode commun11 . Elle
consiste en l'acquisition de différents paramètres, l'utilisation de différentes technologies, différentes
logiques ou algorithmes ou différents moyens d'activer des sorties pour fournir plusieurs manières de
détection12 . Les avantages les plus importants de la diversité se situent au niveau de l'UC, de
l'interface mémoire, du programme et du format des données.
La diversité logicielle est un sous-ensemble de diversités de conception, qui est isolée à cause de son
importance. Il s'agit du développement et de l'exécution de versions (ou variantes) différentes mais
fonctionnellement équivalentes afin de détecter des erreurs éventuelles en comparant en temps réel
les résultats obtenus.
compensation d'erreur, basée sur un algorithme qui utilise la redondance construite dans le
système pour fournir la réponse juste.
La détection d'erreur par vérification des résultats émanant des différentes variantes peut être
entreprise par :
test (interne) d'acceptation pour vérifier les résultats de l'exécution d'un programme. Le
calcul du total de contrôle représente un exemple typique de test d'acceptation ;
cohérence externe, par laquelle les résultats sont vérifiés au moyen d'une intervention
externe ;
- 35 -
vérification automatique de résultats numériques. Il s'agit de la vérification de la précision
numérique des résultats algorithmiques.
Il arrive que des versions soient conçues par des équipes différentes pour atteindre le même objectif
de sécurité. En ce qui concerne la diversité de conception, on suppose que des concepteurs différents
ne feront pas les mêmes erreurs. Ni la bibliographie ni les expériences pratiques ne permettent de
connaître les conditions de diversité logicielle optimale13 . En fait, les logiciels doivent avoir des
paramètres logistiques dynamiques suffisamment diversifiés pour être considérés comme diversifiés.
Les facteurs accroissant la diversité logicielle peuvent être classés par ordre d'importance
décroissante :
algorithmes, logique et architecture de programme différents,
Exécution M1
Test d'acceptation A1 OK
Sortie
correcte
FIN
Exécution M2
Test d'acceptation A2 OK
Sortie
correcte
Exécution M3 FIN
Test d'acceptation A3 OK
Sortie
correcte
FIN
Plusieurs blocs fonctionnellement équivalents (M1, M2, M3, etc.) sont créés et exécutés en une
séquence jusqu'à ce qu'une erreur soit détectée par les modules entreprenant les tests d'acceptation
(A1, A2, A3, etc.) affectés à chaque bloc Mi.
L'application correcte de ce principe signifie que les tests d'acceptation (A1, A2, A3, etc.) doivent
être distincts mais en pratique un seul test commun à tous les blocs est souvent développé. Un cas
extrême consiste en l'adoption d'un test d'acceptation similaire aux blocs puis à la comparaison des
sorties à partir des blocs surveillés avec les résultats du test d'acceptation. Un des problèmes posés
par cette méthode dans un environnement monoprocesseur se trouve dans la nature séquentielle de
l'exécution des versions.
- 36 -
Programmation de N versions
La programmation de N versions a été soumise à des expériences académiques destinées avant tout à
établir les limites d'efficacité concernant les pannes de mode commun. Cette technique consiste à
faire fonctionner de multiples versions (N) d'un logiciel en parallèle, le résultat final étant déterminé à
la majorité. Le nombre de versions dépend du nombre de défauts qui doivent être tolérés (3 versions
seront capables de tolérer un défaut). L'hypothèse sur laquelle son efficacité est établie est basée sur
le schéma suivant.
Afin d'être complètement efficace, cette technique doit être utilisée en respectant les règles
suivantes :
des exigences peuvent être spécifiées et analysées avec des méthodes formelles ;
un protocole doit exister afin de connaître et résoudre les problèmes. Ce protocole doit
contenir des mesures garantissant l'indépendance de développements et ne doit pas
introduire de défauts corrélés ;
- 37 -
3.4. Conception et développement
Il n'existe pas de réponse simple pour savoir comment les logiciels et le matériel des composants liés
à la sécurité des systèmes de commande des machines doivent être conçus. Plusieurs aspects seront
importants pour atteindre l'objectif d'un système de commande suffisamment sûr pour son application
prévue. Des considérations de sécurité tout au long du cycle de vie seront importantes.
Ce chapitre décrit quelques aspects des logiciels, du matériel microprocesseur et des circuits intégrés
complexes qui doivent être abordés au cours de la phase de développement du cycle de vie :
Comment les logiciels liés à la sécurité doivent-ils être développés pour éviter les défauts ?
Quelles mesures peuvent être mises en œuvre pour détecter des défauts dans des circuits à
microprocesseurs avant qu'elles ne se manifestent en tant que pannes de la machine ?
3.4.1. Logiciel
Pour obtenir un ensemble logiciel de qualité élevée satisfaisante, un certain nombre d'activités, une
certaine organisation et un certain nombre de principes doivent être établis. Les exigences pour la
conception et le développement doivent couvrir :
Interface avec l'architecture système.
Logiciels préexistants.
Conception de logiciel.
Langages de développement.
Codage du logiciel.
- 38 -
3.4.1.1. Interface avec l'architecture système
Les exigences suivantes concernent le développement de logiciels qui sont conçus pour permettre
aux utilisateurs finaux de fixer leurs propres paramètres. L'utilisateur final peut être soit la personne
responsable de l'intégration du produit dans le système ou l'utilisateur.
De tels logiciels peuvent avoir différents degrés de complexité : un tableau de messages ou une
option système. La définition des paramètres logiciels est limitée et définie précisément dans les
documents de spécification. Ceci inclut toute modification qui peut provoquer un doute sur la
version exacte du logiciel, puisque les modifications de ce type doivent toujours être entreprises par
le concepteur logiciel.
Certains systèmes peuvent également inclure des fonctions optionnelles qui sont sélectionnées par
l'utilisation d'options de paramétrage dans le logiciel.
- 39 -
Logiciels qui peuvent être paramétrés par l'utilisateur Niveau
1 2
Les paramètres doivent être spécifiés formellement (type, relations, ...) sous forme R R
de configurations de mémoire. En outre, le logiciel et les paramètres doivent être
modifiables sans s'affecter l'un l'autre.
Des spécifications logicielles doivent définir les mécanismes qui peuvent être R O
utilisés pour éviter l'éventualité que des paramètres fixés par l'utilisateur puissent
affecter la sécurité du système. En ce qui concerne les paramètres modifiables, ces
mécanismes doivent fournir une protection contre :
- des valeurs initiales invalides ou non définies,
- des valeurs hors des limites fonctionnelles,
- une altération de données.
La définition des paramètres logiciels par l'utilisateur doit être maintenue dans les
limites établies par les spécifications du système approuvées par l'analyste.
En particulier, des procédures de test doivent inclure différentes valeurs de
paramètres et différents types de comportement logiciel. Le concepteur doit
s'assurer que seuls ces paramètres modifiables sont accessibles à l'utilisateur.
Niveau
Logiciels préexistants
1 2
Le concepteur doit indiquer l'utilisation de logiciels préexistants à l'analyste, et la O O
responsabilité de démontrer que le logiciel préexistant a le même niveau que les
exigences présentes incombe au concepteur.
Une telle démonstration doit être effectuée :
- soit en utilisant les mêmes activités de vérification sur les logiciels
préexistants que sur le reste du logiciel,
- soit par une expérience pratique si le logiciel préexistant a fonctionné
sur un système similaire dans un environnement d'exécution
comparable (il est nécessaire d'évaluer les conséquences d'un
changement de compilateur ou d'un format d'architecture logicielle
différent).
Le but d'indiquer l'utilisation de logiciels préexistants est d'ouvrir des
consultations avec l'analyste aussi tôt que possible concernant toute difficulté
éventuelle que ce type de logiciel pourrait causer.
L'intégration de modules source préexistants peut être la cause de certaines
anomalies ou de comportement non sûr s'ils n'ont pas été développés avec la
même rigueur que le reste du logiciel.
Des logiciels préexistants doivent être identifiés en utilisant les mêmes principes O O
de gestion de configuration que ceux appliqués au reste du logiciel.
Un contrôle de configuration parfait doit être exercé sur tous les composants du
logiciel, quelle que soit leur origine.
- 40 -
Le terme de logiciels "préexistants" fait référence aux modules sources qui n'ont pas été développés
spécifiquement pour le système en question et sont intégrés au reste du logiciel. Ceux-ci incluent des
logiciels développés par le concepteur pour des projets antérieurs ou des logiciels disponibles dans le
commerce (par exemple, modules pour les calculs scientifiques, séquenceurs, etc.). De tels
composants logiciels sont appelés logiciels COTS ("Commercial Off-The-Shelf", logiciel du
commerce).
Lorsqu'il utilise ce type de logiciel, et tout particulièrement dans le cas de logiciels commerciaux, le
concepteur n'a pas toujours accès à tous les éléments nécessaires pour satisfaire aux exigences
antérieures. Une coordination spécifique avec l'analyste est donc nécessaire le plus tôt possible.
- 41 -
3.4.1.5. Langages de développement
Le but de ces exigences est de garantir que le concepteur utilise un langage de programmation et des
outils de développement qui sont bien adaptés au logiciel développé, et que ces outils n'amènent pas
l'introduction d'erreur dans le code exécutable sur la machine cible. Généralement, les langages les
plus largement utilisés incluent :
un langage assembleur, spécifique au microprocesseur ou au microcontrôleur employé,
Codage Niveau
1 2
Le code source doit : O O
a) être lisible, compréhensible et soumis à des tests,
b) satisfaire des spécifications de conception du module logiciel,
c) obéir aux instructions manuelles de codage.
Les règles de codage applicables à un logiciel donné doivent être indiquées en R O
détails dans un manuel de codage et utilisées pour développer le logiciel. Le
manuel de codage doit :
indiquer quels principes de programmation doivent être appliqués et
interdire tous aspects d'incertitude de langage
décrire les règles pour la présentation et la documentation des codes sources
inclure les conventions utilisées pour nommer les composants, les sous-
routines, les variables et les constantes.
Un ensemble de règles est fourni en Annexe A au présent document. Par exemple,
la présentation en alinéas de différents groupes d'instructions, l'utilisation de
lignes vierges, le contenu du titre des fichiers sources (nom d'auteur, données
d'entrée et sortie, données modifiées, etc.).
Tableau 10 : Codage
- 42 -
3.4.2. Détection de défauts matériels
Les systèmes électroniques programmables (PES) ont la capacité de détecter des défauts intrinsèques
avant qu'un défaut ne se manifeste en tant que panne du système. Les techniques et les mesures
utilisées se concentrent sur différentes parties du matériel électronique et peuvent détecter une
quantité variable d'efforts du système. Il est considéré comme conforme à l'état de l'art de mettre en
œuvre des techniques pour la détection de défauts dans des PES utilisés dans des applications
sensibles pour la sécurité.
Il est aisé d'imaginer des défauts possibles qui peuvent causer un comportement inattendu de la
machine commandée. Un bit dans une cellule de mémoire peut être bloqué sur "0" ou "1". Les
circuits de sortie peuvent être bloqués sur "ON". Un défaut logiciel peut entraîner une tâche dans une
"boucle fermée". Des interventions dans l'alimentation électrique ou des variations dans le niveau de
tension peuvent influencer l'opération du logiciel. Des données transférées sur des lignes de
communication en série peuvent être altérées par interférence. Un défaut interne à l'UC peut
provoquer une exécution incorrecte. Il existe des techniques et des mesures pour détecter de tels
défauts avant de perdre le contrôle de la machine.
Des tests simples ne détecteront pas tous les défauts matériels. Des tests élaborés détecteront de
nombreux défauts matériels, moyennant de gros efforts en traitement. La couverture de diagnostic,
DC, est définie comme la réduction par fraction de la probabilité de pannes matérielles dangereuses
résultant du fonctionnement des tests de diagnostic automatiques [IEC 61508-4, § 3.8.6] voir
formule 1. Si le test détecte tous les défauts, la couverture est de 100 %. Si aucun défauts n'est
détectable, la couverture est de 0 %.
Une autre définition de la couverture de diagnostic, DCN, (voir formule 2) est liée à la fraction du
nombre total de pannes différentes qui est détecté au cours d'un test particulier. Il peut exister de
grandes différences entre les deux manières de définir la couverture de diagnostic. L'approche basée
sur la probabilité distingue entre les défauts qui se produisent avec des probabilités différentes, alors
que l'approche basée sur les nombres ne le fait pas.
Une technique de test qui détecte des défauts survenant avec une forte probabilité aura très
probablement une DC élevé, mais peut avoir une DCN faible s'il y a un grand nombre de défauts à
faible probabilité qui ne sont pas détectés.
- 43 -
couverture de diagnostic DCN = le nombre de pannes dangereuse s détectées [2]
le nombre total de pannes dangereuse s
Il peut être difficile de trouver des valeurs numériques pour les probabilités de défauts différents.
L'hypothèse est parfois avancée que tous les défauts ont la même probabilité. Il s'agit toujours d'une
approximation de la réalité.
Faible Élevée
0 60 90 99 100
Des incertitudes similaires sont introduites pour d'autres parties des PES. La probabilité de défauts
différents dans l'unité de traitement dépendra du type de processeur, du fabricant, du processus de
production, de la conception, etc. Il est quasiment impossible d'affirmer une probabilité qui sera
valide dans tous les cas. En supposant des probabilités égales de tous les défauts possibles, les
expressions précédentes [1] et [2] de la couverture de diagnostic deviennent équivalentes.
Des défauts dans la séquence d'instructions auront une probabilité différente en fonction du langage
de programmation, de l'expérience du programmateur, de l'effort de test, etc. Il ne sera pas facile
d'indiquer une couverture de diagnostic basée sur la probabilité pour le moniteur de séquence
d'instructions.
L'estimation la plus valable de couverture de diagnostic pour une méthode de détection des défauts
doit, à cette étape, être limitée à l'un des trois niveaux auxquels il est fait référence plus haut dans
cette section : faible, moyen ou élevé. Le niveau choisi peut être différent si la probabilité, ou le
nombre d'erreurs, est utilisée pour la définition de la couverture de diagnostic. Cependant, le niveau
ne sera pas le même si tous les défauts sont également probables.
Les méthodes pour la détection de défauts peuvent être utilisées à la mise sous tension pour établir si
le système électronique peut commencer à fonctionner. Les défauts doivent être détectés au
démarrage, et le début de l'exploitation ne doit pas être permis lorsque des défauts sont détectés. Un
test de mise sous tension de ce type ne détectera pas les défauts qui surviennent en cours
d'exploitation. Ainsi, il ne conviendra pas à des systèmes à intégrité de sécurité élevée ayant des
exigences strictes quant au comportement face aux défauts.
- 44 -
La détection de défauts peut également être effectuée en cours d'exploitation pour trouver les
défauts qui surviennent en cours d'exploitation. Il sera d'une importance capitale de décider pour
quelles applications ce système peut être utilisé. L'intervalle de test sera le temps maximum au cours
duquel un défaut non détecté pourra exister.
Les exigences listées dans ce rapport se combinent pour former des principes de sécurité adéquats
pour une certaine catégorie (B, 1, 2, 3 ou 4). Différents principes de sécurité sont listés pour les
architectures différentes en catégories 3 et 4. Un système à voies doubles employant des principes de
sécurité de couverture de diagnostic moyenne peut fournir la même probabilité de panne de la
fonction de sécurité qu'un système à voie unique utilisant des principes de sécurité à couverture de
diagnostic élevée.
Certains des principes de vérification peuvent être appliqués soit à la mise sous tension soit de
manière continue en cours de fonctionnement. Ceci dépendra surtout de l'application et aucune
exigence spécifique n'est indiquée concernant le moment (ou la fréquence) où la vérification doit
avoir lieu.
- 45 -
Plages mémoires variables Catégorie
B 2 3 3 4 4
Unique Double Double Triple
Les PES doivent être capables de détecter des x x x x x
défauts dans la mémoire variable.
La plage d'adresses complète doit être couverte. x x x
Les pannes de mémoire doivent être indiquées par x x x x x
les PES.
Couverture de diagnostic minimum - Faible Élevée Moyenne Élevée Moyenne
- 46 -
Alimentation électrique Catégorie
B 2 3 3 4 4
Unique Double Double Triple
Les PES doivent être capables de détecter des x x x x x x
baisses de tension du secteur et l'exécution du
processeur doit être arrêtée de manière
contrôlée.
Le circuit de surveillance de tension x x
d'alimentation doit être dynamique, c'est-à-dire
que la tension du secteur correcte est indiquée
par un signal dynamique.
Le circuit de surveillance de la tension du x x
secteur doit être à sécurité intégré, c'est-à-dire
qu'un défaut dans le circuit électrique doit
provoquer une alerte de panne électrique.
Les pannes d'alimentation électrique doivent être x x x x
indiquées par les PES.
Couverture de diagnostic minimum Faible Faible Élevée Moyenne Élevée Moyenne
- 47 -
3.4.3. Circuits intégrés complexes
Les circuits intégrés spécifiques sont utilisés dans des systèmes électroniques dédiés à la gestion de
fonction de sécurité. Ces circuits intégrés complexes peuvent intégrer plusieurs millions de
transistors et créent donc des problèmes pour l'évaluation de la sécurité de fonctionnement des
systèmes qui les incluent.
Pour les composants discrets (relais, transistors, résistances, etc.), l'analyste peut évaluer le niveau de
sécurité en simulant quasiment toutes les situations de défaut des dispositifs, en utilisant une liste
presque exhaustive de toutes les pannes possibles. Pour des circuits électroniques complexes comme
les ASIC, cette approche exhaustive est impossible. Pour évaluer les caractéristiques de sécurité
opérationnelle, il est nécessaire de connaître les modes de panne des composants utilisés, et ceci n'est
pas possible pour ces circuits. Les méthodes traditionnelles de tests de performance en présence de
défauts sont inappropriées. Il est donc nécessaire d'aborder l'évaluation non seulement en mettant à
jour les tests ultérieurs sur les produits finis mais également en étendant le champ d'investigation
depuis l'origine des défauts considérés : erreurs de spécification, conception ou production, défauts
internes ou effets externes.
3.4.3.1. Technologie
Le terme de "composant complexe" peut s'appliquer à une grande variété de dispositifs. L'éventail
recouvre différentes technologies de processus, différentes méthodologies de conception et de mise
en œuvre, ainsi que différents niveaux de complexité. Un certain nombre de produits typiques et de
méthodologies de conception pour les circuits intégrés sont décrits ci-dessous. Le nombre de parties
impliquées dans la conception et le processus de validation varie ainsi que la responsabilité pour les
ensembles de travail au cours du déroulement de la conception.
- 48 -
Les CIC peuvent être divisés en trois familles principales : circuits programmables, tableaux de
mémoire prédiffusés et tableaux de mémoire précaractérisés.
Les circuits programmables sont des composants constitués de matrices de portes logiques, de pistes
de connexion et de cellules complexes telles que les registres, les dispositifs bistables, etc.
L'utilisateur effectue les interconnexions entre les cellules en fonction de ses objectifs d'application en
utilisant un outil de programmation. Les arrangements de cellules différents, la complexité disponible
et les technologies d'interconnexion utilisées déterminent les différentes sous-familles des dispositifs
logiques programmables (PLD) :
Circuits à logique à tableaux programmables (PAL, Programmable Array Logic) constitués
uniquement d'un matrice programmable ET matrice et d'un autre fixe matrice OU.
Ces circuits peuvent très facilement intégrer des cellules plus complexes, mais sont maintenant
obsolètes.
Circuits à dispositif logique programmable complexe (CPLD, Complex Programmable
Logic Device) et à PLD à haute capacité (HCPLD, High Capacity PLD) sont un
développement des PLD contenant un grand nombre de cellules de base très complexes.
Dans tous ces circuits PLD, les cellules sont interconnectées en tableaux de mémoire et l'utilisateur
élimine les points de connexion non désirés en brisant la piste. Cette programmation n'est pas
réversible.
Le dispositif logique programmable effaçable (EPLD, Erasable Programmable Logic
Device) est un PLD qui peut être programmé électriquement et effacé avec une lumière UV
utilisant la technique de mémoire EPROM.
- 49 -
Un circuit prédiffusé est un circuit incomplet. Les couches profondes du composant sont fabriquées à
l'avance par le constructeur. L'utilisateur conçoit les interconnexions de son circuit dans des pistes
fournies à cet effet en utilisant une méthode de CAO (conception assistée par ordinateur). Le circuit
sera alors terminé par le constructeur qui crée ces connexions sur une couche finale d'aluminium.
Cette famille se subdivise en trois groupes :
Les tableaux de portes logiques sont organisés en rangs de pistes d'interconnexion et de
cellules de base qui sont fixées en termes d'emplacement et de taille.
Ensembles de tableaux de portes logiques ou "mers de silicium" sont des circuits à haute
densité de transistors mais sans piste. Les interconnexions se font au-dessus de ces
transistors par une couche de métal spéciale, offrant à l'utilisateur une flexibilité
considérable pour définir les fonctions et les connexions.
Les tableaux de mémoire imbriqués offrent des solutions composites qui emploient les
meilleures caractéristiques des diverses familles : la complexité et l'optimisation de circuits
précaractérisés, le temps de développement court des circuits prédiffusés, la haute densité
des ensembles de portes logiques, etc.
Avec les tableaux de mémoires précaractérisés, l'utilisateur a une bibliothèque logicielle de cellules
standard qui sont définies et caractérisées par le constructeur. Il choisit les cellules nécessaires pour
produire les fonctions requises et pour concevoir tous les masques d'interconnexion. Ce circuit est
plus optimisé qu'un circuit prédiffusé.
La forme la plus évoluée de circuit précaractérisé est la compilation silicium. Ce circuit est optimisé
en ce qui concerne les cellules paramétrables, RAM, ROM, multiplexeurs, connexion de fonctions
logiques, etc., en utilisant une description du composant dans un langage de haut niveau.
logiques
Spécifications fonctionnelles C C C C C C V
Mise en œuvre C C D D D, M D V
Emplacement et acheminement, V C V D D, M D V
configuration
Production de galettes V V V V V V V
Conditionnement V V V V V V V
test V, C V, C V, D V, D V, D V V
responsabilités V vendeur (fabricant) de CI / ASIC
C client final, développement du système et de l'application
D centre de conception ASIC
M vendeur de macro noyaux (blocs fonctionnels préconçus)
Les circuits intégrés standard sont fabriqués en grandes quantités et utilisés pour différentes
applications. La fonctionnalité, la validation, la production et les tests de production sont uniquement
de la responsabilité du vendeur de semi-conducteurs.
- 50 -
Des manipulations manuelles et des optimisations au niveau de la configuration sont fréquemment
utilisées pour réduire la zone requise. Comme ils ne sont pas conçus pour des systèmes liés à la
sécurité, l'évitement de défauts au cours du processus de conception est adéquat uniquement pour
des produits standard. Des modifications fréquentes dans le processus de production, la technologie
de traitement et la configuration permettent vraisemblablement une optimisation des coûts et du
rendement. Le nombre de fabricants de composés utilisant un certain procédé ou une révision de
masque n'est pas public. La conception et la production d'ASIC personnalisés sont similaires à celles
des circuits intégrés standard, avec une fonctionnalité définie par le client final.
Un ASIC basé sur des noyaux est basé sur des macro noyaux pré-configurés ou générés, connectés
par une logique supplémentaire. Des exemples de macros prédisposées sont les noyaux
microprocesseurs standard, les composants périphériques, les interfaces de communication, les blocs
analogues, les cellules à fonction E/S spécifique. Des exemples de macros générées incluent la RAM
intégrée, ROM, EEPROM ou FLASH. On suppose que les blocs générés sont corrects par
construction, basés sur des règles de conception. Les macros prédisposées ou générées sont
spécifiques à un procédé mais peuvent être portées à différentes technologies. Dans la plupart des
cas, les macro-noyaux ne sont pas identiques aux composants d'origine discrets que l'on trouve dans
le commerce (procédé différent, fourni par un tiers).
Les ASIC basés sur les cellules sont basés sur des primitives logiques (comme ET, OU, Bascule,
Verrou logique) issues d'une bibliothèque de cellules. La liste de réseau "netlist" au niveau des portes
logiques contenant les primitives logiques et les interconnexions est généralement créée à partir d'un
langage de description matérielle de haut niveau (VHDL, Verilog) utilisant des outils de synthèse.
Les caractéristiques de fonctionnement et de minutage des primitives logiques sont caractérisées
dans la bibliothèque de cellules ; ces paramètres sont utilisés pour faire fonctionner l'outil de synthèse
et sont également utilisés pour des simulations. En outre, des outils de configuration sont utilisés
pour placer les cellules et acheminer les interconnexions.
Les Modules Multi-Puces ("Multi Chip Module", MCM) sont des puces multiples (matrices) et des
composants passifs montés sur un substrat commun et assemblés en un ensemble unique. Dans la
plupart des cas, le conditionnement et la forme sont similaires à ceux d'un circuit intégré standard.
Les puces (matrices) utilisées pour la production de MCM sont généralement prévalidées mais pas
caractérisées de manière finale. Ainsi, des tests sous des conditions d'environnement doivent être
conduits au niveau des MCM. Les méthodologies de conception pour les composants individuels des
MCM sont quasiment identiques à la méthodologie de conception des systèmes construits sur des
cartes à circuits imprimés conventionnelles. Les MCM ne seront donc pas abordés plus en détail dans
ce rapport.
Une puce sur plaque ("Chip On Board", COB) a une matrice qui est liée directement sur la plaque de
circuit imprimé et scellé hermétiquement ensuite, au lieu d'utiliser des puces (matrices) dans un
conditionnement conventionnel. COB est avant tout une technologie de conditionnement différente
et n'est donc pas abordée plus en détail dans ce rapport.
- 51 -
3.4.3.2. Défauts dans des ASIC
Pour les circuits intégrés liés à la sécurité, les différents types de produits nécessitent différents
concepts de validation. Par exemple, la configuration et l'emplacement des cellules d'un tableau de
portes logiques ou d'un FPGA sont fixes ; les composants basés sur ces structures prédéfinies sont
fabriqués en grande quantité, la structure elle-même peut donc être considérée comme éprouvée
après quelque temps. Pour les autres types de produits mentionnés dans les paragraphes précédents,
la structure est définie au cours de processus de configuration. Ainsi, en particulier pour les procédés
profonds sous-micrométriques, des interférences entre interconnexions ou cellules voisines sont
possibles, avec une influence réelle sur la fonctionnalité des puces. Il est évident que cette situation
doit être considérée au cours de tests de validation et de l'injection de défauts.
En règle générale, une application développée en utilisant un ASIC sera plus fiable qu'une application
avec des circuits standard. Tout d'abord, la fiabilité est inversement proportionnelle au nombre de
connexions entre unités et, d'autre part, une puissance faible signifie également une fiabilité meilleure.
La réduction des dimensions physiques des composants de base crée de nouveaux défauts.
L'étendue plus limitée des ASIC par rapport aux circuits standard signifie que
l'interprétation du retour d'informations de l'expérience est plus difficile.
Il est utile d'identifier les étapes principales qui conduisent à un composant prêt à la production. Ce
modèle de phases vise à être plus général que les deux organigrammes conceptuels basés sur le
modèle de phase issu de IEC 61508 ; les phases suivantes sont identifiées :
Spécifications : description textuelle ou formelle des fonctionnalités du dispositif.
- 52 -
Production : production (programmation) du composant, basée sur les sorties de la phase de
mise en œuvre.
La description du travail de développement peut également faite sous forme d'un organigramme
d'activités. Des organigrammes conceptuels simplifiés pour les circuits intégrés spécifiques aux
applications (ASIC) et les dispositifs logiques programmables/tableaux de portes logiques
programmables sur site (PLD/FPGA) montrent les différentes méthodologies, les étapes de
conception et les outils typiquement utilisés pour le développement de composants complexes.
Niveau élevé /
Entrée graphique
Organigramme,
diagramme de situation et
synoptique
Générateur de Synthèse
lliste “netlist”
Netlist Description
Conception
Emplacement et
acheminement
Configuration, par
exemple GDS-II
Génération de masque
Production
Ensemble de
masques
Production de galettes
Conditionnement
Test de production
Composant testé
- 53 -
Il est possible d'identifier plusieurs dangers potentiels pour la sécurité dans toutes les activités au
cours de la conception. La conception de composants complexes pour des systèmes de commande de
machines liés à la sécurité nécessitera une attention particulière pour des dangers tels que :
Qualité du noyau logiciel ou des bibliothèques de macros dépendantes du vendeur.
L'exactitude n'est pas garantie.
Seuls les défauts couverts par le jeu de modèles de tests de la production sont révélés.
Ainsi, une couverture de défauts élevée est obligatoire.
Pour des dispositifs de type PLD, on suppose que le minutage est correct par construction.
Le minutage réel n'est donc pas vérifié. Seule la programmation réussie peut être vérifiée en
lisant le schéma programmé à la production. Ceci ne garantit pas un comportement correct
du dispositif (même raisonnement que pour les dispositifs volatils).
blocs macros
configurables
Entrée graphique /
Entrée schématique Entrée (V)HDL niveau élevé
Organigramme, diagramme de
Schéma (V)HDL situation et synoptique
Équations de
Entrée booléenne transition d'état, etc. Convertisseur Synthèse Convertisseur
Conception
Monteur Emplacement et
acheminement
Programmateur
Production
dispositif PROM de
programmé configuration
Les définitions de IEC 61508-2 pour les composants de classe A et B impliquent que l'expérience
pratique doit se baser sur au moins 100 000 heures d'exploitation sur une période de deux ans avec
10 systèmes dans différentes applications. En particulier, pour les composants standard complexes,
l'utilisateur final ne sait pas si les dispositifs qui sont effectivement utilisés sont fabriqués pour la
période de temps requise avec la révision de masque actuelle et sur la ligne de procédé actuelle.
- 54 -
Pour les circuits intégrés spécifiques à une application (ASIC) complexe, les termes d'expérience ou
d'éprouvé doivent être clarifiés et associés aux différentes entrées pour le processus de conception :
Technologie de processus.
Macros logiciels.
En outre, des règles pour l'évitement de défauts au cours du processus de conception et pour les
tests de validation après migration à une autre technologie de processus doivent être élaborées. Des
stratégies égales doivent être utilisées à la fois pour les circuits intégrés standard et les circuits
spécifiques aux applications parce que, par exemple, il n'est pas acceptable que des modifications
d'un circuit intégré standard soient acceptées en l'état alors que la même modification d'un dispositif
spécifique à une application nécessite des tests de validation supplémentaires.
3.5. Validation
3.5.1. Introduction
En général, un processus de validation est effectué pour confirmer par examen et fourniture de
preuves objectives que les exigences particulières pour une utilisation spécifique prévue sont
remplies [IEC 61508-4, § 3.8.2]. Lorsque la validation est associée à des composants liés à la
sécurité d'un système de commande, le but est de déterminer le niveau de conformité de leurs
spécifications au sein des spécifications d'exigences de sécurité globales des machines [pr EN 954-2
1999].
La conduite d'un processus de validation peut être une tâche laborieuse, en particulier pour les
systèmes compliqués, qui ont des demandes de sécurité élevées. Cependant, bien que le processus
puisse être laborieux, il est aussi nécessaire. La validation est souvent nécessaire pour prouver :
aux clients que le produit peut s'appliquer à l'objectif prévu,
aux autorités que le produit est suffisamment sûr et fiable pour l'objectif prévu,
la qualité du produit.
- 55 -
Le processus de validation s'est étendu pour répondre aux besoins courants à mesure que la
technologie s'est développée. Des systèmes simples peuvent être analysés (AMDE) et testés
(injection de défauts) de manière très détaillée. Des systèmes à complexité modérée peuvent être
analysés de manière très détaillée, mais les tests ne peuvent couvrir le système complet. Des systèmes
très complexes ne peuvent être analysés totalement en détail et des tests détaillés ne sont pas
possibles non plus. Un certain nombre de méthodes différentes sont nécessaires dans le processus.
Des analyses sont nécessaires au moins au niveau du système et au niveau détaillé des composants,
mais les exigences liées à différentes phases du cycle de vie doivent également être remplies. Ceci
signifie que des attributs tels que le contrôle de la qualité, des méthodes de conception correctes et la
gestion deviennent plus importants puisque la plupart des pannes ou erreurs sont liées à ce genre de
problèmes.
La confiance est un facteur très important lié au processus de validation. L'utilisateur de documents
de validation doit faire confiance à la qualité de la validation, sans quoi la validation n'a aucun sens.
Les activités de validation sont bien effectuées pour convaincre quelqu'un que le produit est
correctement conçu et fabriqué. Une manière d'accroître la confiance est d'effectuer le processus de
validation en fonction d'instructions et d'exigences existantes et d'impliquer des experts objectifs dans
le processus de validation.
DÉBUT
Documents Analyse
Critères pour
exclusions de défauts
L'analyse est-elle Non
Tests
suffisante ?
Non
Oui
Oui
Enregistrement de Les tests sont-ils
validation complets ?
FIN
- 56 -
Tout d'abord, le plan de validation est établi en fonction de principes de validation connus. Puis le
système est analysé en fonction du plan de validation et des critères connus et des considérations
conceptuelles. Les tests sont menés conformément au plan de validation et des résultats de l'analyse.
Toutes les phases doivent être enregistrées afin d'avoir une preuve fiable du processus de validation
ainsi que les documents d'aide à des modifications futures.
L'entrée principale pour la planification de validation de sécurité est les exigences de sécurité.
Chaque exigence doit être testée dans le processus de validation et les critères de réussite doivent
être déclarés dans le plan. Il est également important de déclarer la ou les personnes qui prennent les
décisions si un événement inattendu se produit, ou qui a la compétence d'effectuer la validation. En
conséquence, la planification de validation de sécurité fournit des directions sur la manière d'effectuer
une validation de sécurité.
3.5.2.2. Validation
Différentes techniques d'analyse sont nécessaires dans différentes phases de la conception. D'abord,
des techniques d'identification des dangers et d'analyse des risques sont utiles comme, l'analyse des
risques type HAZOP, l'analyse préliminaire des dangers PHA. Il existe de nombreuses techniques
pour la vérification logicielle et pour une approche probabiliste pour déterminer l'intégrité de
sécurité. En vérification logicielle, les erreurs logicielles sont recherchées systématiquement en
utilisant une analyse de flux de données, une analyse de flux de contrôle, une AMDE logicielle, ou
une analyse de circuit de fuite. En approche probabiliste, on s'attend à ce que le processus de
vérification soit déjà effectué et des valeurs statistiques sont utilisées afin de calculer une valeur
probabiliste pour exécuter le programme correctement.
- 57 -
Il existe également des méthodes pour vérifier les conceptions de composants comme un ASIC. Ce
chapitre, cependant, se concentre sur des techniques d'analyse qui sont utilisées dans l'analyse des
systèmes de commande.
Les approches ascendantes, qui commencent avec des pannes uniques et dont on conclut les
conséquences au niveau du système.
La combinaison des approches ascendantes et descendantes est souvent une approche efficace.
L'analyse descendante fournit la vue globale et peut concentrer l'analyse à des zones qui sont plus
significatives du point de vue de la performance globale. Les approches ascendantes peuvent alors
être centrés sur les composants les plus sensibles. L'analyse ascendante vise à découvrir "le diable qui
se cache dans les détails".
FTA : l’objectif de cette méthode est d'identifier des combinaisons de pannes de composants
et d'erreurs humaines qui peuvent résulter de l'événement supérieur. L'arborescence de
défauts est exprimée en un modèle graphique qui indique des combinaisons de pannes de
composants et d'autres événements qui peuvent résulter dans l'événement supérieur.
Habituellement, les analyses à la fois au niveau modules/système et au niveau des composants sont
nécessaires à la validation des systèmes complexes. Des analyses au niveau système/modules sont
conduites afin de déterminer les composants sensibles du système et des analyses au niveau des
composants sont conduites pour ces composants du système.
Les stratégies de la boîte noire (BB, Black Box) et de la boîte blanche (WB, White Box) sont deux
approches de base utilisées pour la modélisation des systèmes, qui peuvent être appliquées dans toute
phase du processus de conception. Elles sont caractérisées selon l'aspect auquel l'analyste, le
concepteur ou le testeur prête attention, à savoir, au fonctionnement externe du système ou aux
détails du fonctionnement interne.
En général, on dit qu'une approche fonctionnelle (ou BB) est utilisée en se référant à un système,
lorsque le système est considéré dans son ensemble, en soulignant son comportement perçu externe.
- 58 -
D'autre part, dans le cadre de l’approche structurelle (ou WB), un système est défini comme un
ensemble de composants liés ensemble afin d'agir réciproquement ; chaque composant est à son tour
un autre système. La récursion s'arrête lorsqu'aucune autre structure interne ne peut être discernée,
ou n'est pas intéressante et peut être ignorée.
Dans le domaine des tests, les approches fonctionnelles et structurelles sont utilisées pour créer des
modèles décrivant les aspects spécifiques du système. Le test a pour objet de vérifier si ces aspects
respectent les exigences ou non, en d'autres termes, de couvrir le modèle dans la mesure du possible.
A cet effet, le testeur utilise différents critères de couverture qui représentent les critères de sélection
pour les données d'entrée de test.
Ainsi, nous trouvons, pour les tests logiciels, des modèles structurels comme l'organigramme de
commande (en plus du listage de code source) et des critères de couverture comme décision ou tests
des instructions et tests de branchement, essentiellement pour les tests au niveau de
l'unité/composant. Et dans le cas du matériel, des modèles structurels comme un diagramme logique
topologique et des critères de couverture comme la sensibilisation à chemin unique, pour les tests au
niveau du composant.
Dans les tests fonctionnels, les données de test sont uniquement dérivées des spécifications. Si on
souhaite utiliser cette approche pour trouver tous les défauts d'un système, le critère est représenté
par les tests d'entrée exhaustifs (c'est-à-dire l'utilisation de chaque condition d'entrée possible comme
cas de test). Par conséquent, pour tester un système, on devrait produire un nombre considérable de
cas de test, et ceci sans prendre en considération les cas de test supplémentaires dus aux exigences
spéciales des systèmes de sécurité sur le comportement en cas de défaut (catégorie).
Dans les tests structurels, le testeur dérive des données de test d'un examen de la logique interne du
système (souvent au détriment des spécifications). Les tests structurels sont intrinsèquement finis.
Contrairement aux tests fonctionnels, on suppose que les tests structurels ne peuvent pas réaliser un
test complet du système. En outre, un test structurel ne garantit en aucun cas qu'un système
correspond à sa spécification (en raison de conception erronée, de pièces manquantes, etc.).
Pour un critère de sélection spécifique, les données d'entrée de test peuvent être générées
conformément à deux procédures différentes : choix déterministe ou choix probabiliste. Pour les
systèmes de commande électroniques liés à la sécurité, à appliquer dans le secteur des machines, il
semble qu'un test déterministe fournisse suffisamment de tests, sans qu'il soit nécessaire d'appliquer
des tests statistiques.
Une stratégie de test doit considérer d'autres aspects essentiels comme la phase de cycle de vie, le
niveau d'abstraction et les objectifs de test (vérification et évaluation), en plus du type de modèle de
système (fonctionnel ou structurel), des critères de sélection des donnée de test et de la procédure de
génération des entrées.
- 59 -
Ni les tests fonctionnels ni les tests structurels ne s'avèrent être des stratégies absolument infaillibles :
les deux ont des limites et les deux ciblent des défauts différents. On propose d'associer des éléments
des tests BB et WB pour en déduire une stratégie de test raisonnable mais pas hermétique,
raisonnable dans le sens d'une relation acceptable entre le nombre de cas de tests et les garanties
recherchées (exigences de réduction de risques).
La validation peut être perçue comme un processus visant à supprimer les défauts de conception
résiduels et à évaluer les performances réalisées même au-delà de l'hypothèse spécifiée.
Le problème soulevé par l'évaluation du logiciel est d'obtenir une confiance justifiée dans le
comportement du logiciel. Le logiciel est souvent analysé conformément à la méthode utilisée pour
son développement. L'évaluation se base ensuite sur un large choix de critères tels que sa structure,
son processus de développement, ou la manière dont il a été rédigé, même si, en fait, seul son
comportement doit être évalué. C'est pourquoi il est relativement difficile de distinguer les méthodes
de développement et les méthodes d'évaluation. Ces deux types de méthodes se chevauchent de plus
en plus.
Enfin, il est intéressant de remarquer qu'il n'y a pas de méthodes spécifiques pour les logiciels
sensibles. Les méthodes utilisées pour le logiciel sensible et celles utilisées pour les logiciels
traditionnels diffèrent par les exigences des normes. La principale différence, en fait, réside dans le
budget et le temps consacrés.
L'évaluation du logiciel peut avoir des significations très diverses. En général, on distingue souvent
deux niveaux d'évaluation : la validation et la vérification.
- 60 -
3.5.3.2. Vérification du logiciel
Les activités de vérification ont pour objet de démontrer que les produits logiciels découlant d'une
phase donnée du cycle de développement sont conformes aux spécifications établies durant les
phases précédentes et à toutes normes ou règles applicables. Elles permettent également de détecter
et de représenter toutes les erreurs pouvant être introduites au cours du développement du logiciel.
Les activités de vérification du logiciel contiennent des séries de test et d'analyse. Outre les tests, les
activités de vérification peuvent reposer sur des techniques telles que révisions, inspections,
contrôles, mesures de vérification et vérification de code. Dans certains cas, les révisions et les
analyses peuvent remplacer certains tests (par exemple dans le cas où un test ne peut pas être réalisé
parce qu'il entraînerait la détérioration d'un composant matériel). Les révisions internes permettant au
concepteur de s'assurer, aux points clé de l'avancement du développement, que le produit atteindra
ses objectifs.
Les tests de logiciel peuvent être réalisés à différentes phases du cycle de vie :
Tests de module au niveau de chaque individu. Ces tests se concentrent sur les modules
logiciels et leur conformité par rapport à la conception détaillée. Cette conformité peut
également être démontrée en utilisant des techniques statiques (relecture du code). Cette
phase de la procédure de vérification permet la détection du type suivant d'erreurs :
incapacité d'un algorithme à satisfaire les spécifications logicielles,
opérations de boucle incorrectes,
décisions logiques incorrectes,
incapacité à calculer correctement les combinaisons valides de données d'entrée,
réponses incorrectes aux données d'entrée altérées ou manquées,
violation des limites de tableau de mémoire,
séquences de calcul incorrectes,
précision, exactitude ou performance insuffisantes d'un algorithme.
Tests d'intégration de logiciel. Ces tests (équivalents à la vérification de conception de
logiciel) se concentrent sur l'assemblage correct des modules logiciels et sur les relations
réciproques entre les composants logiciels. Les tests d'intégration de logiciel forment la
principale composante de cette vérification. Elle peut être utilisée pour révéler des erreurs
du type suivant :
initialisation incorrecte des variables et des constantes,
erreurs du transfert des paramètres,
toute altération de données, spécialement les données globales,
résolution numérique de bout en bout insuffisante,
mise en séquence incorrecte des événements et des opérations.
- 61 -
Tests de validation. Ces tests (équivalents à la vérification de spécification logicielle) ont
pour objet de détecter les erreurs associées au logiciel dans l'environnement système cible.
Les tests de validation sont la principale composante de la vérification de spécification
logicielle. Les erreurs détectées par ce type de vérification incluent :
tout mécanisme incorrect de traitement des interruptions,
respect insuffisant des exigences de temps d'exécution,
réponse incorrecte du logiciel fonctionnant en mode transitoire (démarrage, flux d'entrée,
commutation en mode dégradé, etc.),
conflits d'accès à différentes ressources ou problèmes organisationnels dans la mémoire,
incapacité des tests intégrés à détecter les défauts,
erreurs de l'interface logicielle/matérielle,
débordements de pile.
La vérification d'une nouvelle version logicielle doit inclure des tests de non-régression.
Les directives pour établir des procédures de test doivent inclure une description des
données d'entrée à utiliser (valeur), une description de la sortie prévue (valeur) et des
critères sur lesquels les résultats des tests seront jugés acceptables (tolérance).
- 62 -
Les tests formalisés dans les rapports doivent pouvoir être de nouveau réalisés (par
exemple, en présence de l'analyste).
Les exigences de test logiciel incluent les exigences générales de vérification pour la spécification
logicielle (tests de validation), la conception logicielle (tests d'intégration logicielle) et la conception
détaillée (tests de module). Les objectifs de test doivent être adaptés au niveau d'intégrité de sécurité
du logiciel, au type du logiciel et aux facteurs spécifiques en jeu pour l'adoption d'un produit logiciel
donné. Ces critères déterminent les types de test à entreprendre (tests fonctionnels, tests dans les
limites, tests hors limite, tests de performance, tests de charge, tests de panne d'équipement externe,
tests de configuration) ainsi que la gamme d'objets devant être couverts par les tests (tests de mode
fonctionnel, tests de fonction de sécurité, tests de chaque élément de la spécification, etc.).
Les tests de validation doivent être effectués en conditions représentatives des conditions
opérationnelles du système. La couverture de ces tests doit être explicite dans une matrice de
traçabilité et doit démontrer que chaque élément de la spécification, incluant les mécanismes de
sécurité, est couvert par un test de validation et qu'il est possible de vérifier le comportement en
temps réel du logiciel dans tout mode opérationnel.
Les tests d'intégration doivent être en mesure de vérifier la mise en séquence correcte de
l'exécution du logiciel, l'échange de données entre les modules, le respect des critères de performance
et la non altération des données globales. La couverture de test doit être indiquée de manière
explicite dans une matrice de traçabilité indiquant la correspondance entre les tests à entreprise et les
objectifs des tests définis.
Les tests de module doivent vérifier, en utilisant les données d'entrée, que les modules remplissent
les fonctions spécifiées à la phase de conception détaillée. La couverture de test doit être indiquée de
manière explicite dans une matrice de traçabilité qui démontre la correspondance entre les tests à
entreprendre et les objectifs des tests définis.
Trois types de langage de spécification peuvent être distinguées : spécification en langage ordinaire,
spécification semi-formelle et spécification formelle. Les spécifications informelles rédigés en langage
ordinaire sont généralement incomplètes, incohérentes, ambiguës, contradictoires et erronées. En
conséquence, il semble raisonnable de ne pas les utiliser pour le logiciel de sécurité.
- 63 -
Contrairement au langage ordinaire, les spécifications mises en œuvre par des méthodes formelles
sont précises et la sémantique des notations est clairement définie. Si l'on connaît la représentation
utilisée, les méthodes formelles sont un bon moyen de communication et de documentation. En fait,
les méthodes formelles sont plus qu'un outil de représentation ; elles sont également une technique de
préparation des spécifications, ce qui contraint le concepteur à procéder à des abstractions et aboutit
finalement à une meilleure compréhension et modélisation des spécifications. Il est parfois même
possible d'effectuer des simulations. L'utilisation d'une méthode formelle nécessite des
investissements considérables en temps et en formation. Cependant, les méthodes formelles sont une
étape significative vers le développement et l'évaluation de logiciel sensible.
Les systèmes électroniques programmables PES sont en mesure de détecter les défauts se trouvant
en eux avant qu'un défaut ne se manifeste comme une panne du système. Les techniques et mesure
utilisées se concentrent sur les différentes parties du matériel électronique et peuvent nécessiter
différents niveaux d'effort du système. On considère que l'état actuel de la technique consiste à
mettre en œuvre des techniques pour la détection de défauts dans les PES utilisés dans les
applications sensibles pour la sécurité.
Tous les systèmes sensibles pour la sécurité doivent entreprendre des mesures de base pour détecter
les défauts, et éventuellement contrôler les pannes qui peuvent survenir. La norme EN 954-1 spécifie
5 catégories pour le comportement du système en défaut. Des principes de sécurité de base doivent
être mis en œuvre pour les catégories B, 1, 2, 3 et 4. Pour les catégories 1, 2, 3 et 4, des principes de
sécurité éprouvés doivent également être mis en œuvre. La présence et les performances des
principes de sécurité doivent être validées.
- 64 -
Composant Techniques
Unité de traitement Autotest de l'exécution du jeu d'instruction.
Autotest des registres par modèle ou bit mobile.
Comparaison réciproque par logiciel entre deux unités de traitement.
Plages de mémoire Somme de contrôle
invariables Signature 8 bits
Signature 16 bits
Réplication
Plages de mémoire variables Test RAM "checkerboard" ou "march"
Test RAM "walkpath"
Test RAM "galpat"
Unités E/S et interface Sortie parallèle à voies multiples
Sorties surveillées
Comparaison d'entrée/vote
Chemin d’accès de données Inspection utilisant des modèles de test
Redondance de transmission
Redondance d'informations
Alimentation Protection surtension avec arrêt de sécurité
Surveillance de tensions secondaires
Mise hors tension avec fermeture de sécurité
Séquence d'instructions Un chien de garde sur puce avec base de temps séparée sans fenêtre de temps, par
exemple microcontrôleur Motorola 68HC11
Un chien de garde avec base de temps séparée sans fenêtre de temps, par exemple un
circuit intégré de superviseur microprocesseur Maxim
Surveillance logique de la séquence de programme mise en œuvre dans le logiciel
Combinaison d'une surveillance temporelle et logique de la séquence de programme
Désormais, les composants complexes, comme les microprocesseurs, les mémoires (RAM, EPROM,
Flash), la logique programmable (PLD (Programmable Logic Device, dispositif à logique
programmable), FPGA), les ASIC (Application Specific Integrated Circuits, circuits intégrés
spécifiques à des applications) et autres circuits à haute intégration peuvent être utilisés comme blocs
structurels pour l'électronique liée à la sécurité. En raison de l'intégration à grande échelle, il est
possible aujourd'hui d'intégrer un système complet – qui nécessitait une carte ou un assemblage de
cartes il y a quelques années – en une seule puce.
Des tests de validation bien connus et représentant les dernières avancées dans ce domaine peuvent
être appliqués au niveau du (composant) système. Ces tests de validation de sécurité pour systèmes
électroniques sont affectés aux catégories de sécurité (CAT 1-4) introduites dans EN 954-1.
- 65 -
Technique/mesure Cat 2 Cat 3 Cat 4
Tests fonctionnels HR HR HR
élevé élevé élevé
Tests fonctionnels en conditions environnementales HR HR HR
élevé élevé élevé
Tests d'immunité aux interférences HR HR HR
élevé élevé élevé
Tests d'injection de défauts HR HR HR
élevé élevé élevé
Tests fonctionnels élargis – HR HR
faible faible élevé
Test d'immunité aux surtensions – – –
faible faible moyen
Tests de boîte noire R R R
faible faible moyen
Tests statistiques – – R
faible faible moyen
Tests du "pire des cas" – – R
faible faible moyen
Notation :
évaluation qualitative pour cette méthode HR la méthode est très recommandée pour cette catégorie de sécurité
(première ligne) R la méthode est recommandée pour cette catégorie de sécurité
– la méthode n'est pas requise mais peut être utilisée
couverture de test requise de cette méthode élevé3 une couverture de test de niveau élevé est requise
(deuxième ligne) moyen un niveau moyen de couverture de test est requis
faible un niveau acceptable de couverture de test est requis
L'analyse détaillée de ces méthodes existantes révèle un certain nombre de limites possibles par
rapport à la validation d'un composant complexe :
Complexité : le composant peut être beaucoup trop complexe pour une validation
adéquate ; il n'est pas possible d'atteindre les chiffres de couverture pour la catégorie
indiquée.
Capacité d'observation ou "observabilité" : la réaction aux stimuli d'entrée peut ne pas être
observable ; la fixation de sondes est soit impossible (signaux internes) soit affecte les
résultats des tests.
En outre, un inconvénient supplémentaire des tests de validation énumérés est le fait qu'ils soient
uniquement applicables à un stade tardif du processus de développement parce qu'un matériel "réel"
est requis pour exécuter la plupart des tests. Le système qui est utilisé au cours du test de validation
doit être le plus proche possible de celui qui sera utilisé sur le terrain, autrement le résultat du test de
validation n'est pas du tout significatif.
3
"élevé" remplace le terme trompeur "obligatoire" utilisé dans les tableaux des normes existantes, par exemple dans la norme IEC 61508.
- 66 -
Pour les composants complexes, les tests de validation doivent aller "au-delà de la surface" du
composant et sont recommandés à un stade beaucoup plus avancé du processus de développement.
Par exemple, les tests fonctionnels doivent commencer au niveau du module – en utilisant des
modules à complexité très limitée – et doivent accompagner l'intégration hiérarchique (ascendante)
des modules à des blocs structurels plus complexes, étape par étape, jusqu'à ce que la fonctionnalité
complète d'un "composant complexe" soit atteinte et que toutes les exigences d'application et de
sécurité soient satisfaites.
Le Tableau 21 illustre un exemple des phases qui peuvent être identifiées comme des étapes majeures
dans le processus de conception d'un composant complexe (PLD, FPGA, Tableau de portes logiques
ou ASIC).
Mise en œuvre II Schéma Fusemap base de données de emplacement et tous les aspects fonctionnels
/ flot binaire configuration (par interconnexion physique
exemple GDS-II) (Niveau de porte logique)
temporisation effective
Production périphérique périphérique Composant caractéristiques de périphérique
programmé (ou conditionné et testé (fonctionnalité globale,
PROM de temporisation)
configuration)
Post Production Carte / Système "boîte noire" tests de boîte noire uniquement
Pour aider à décider quel niveau de test de validation est requis au cours du processus de conception
et de mise en œuvre, on propose la classification suivante qui est basée sur l'aptitude aux tests ou
"testabilité" :
Un composant est de complexité de test faible s'il convient d'exécuter les tests de validation
standard sur le composant final et d'atteindre la couverture de test requise. Pour ces
composants "simples", aucune modification de l'approche de validation standard n'est
requise ; néanmoins il peut être conseillé d'exécuter certains tests de validation au cours du
processus de conception.
- 67 -
Un composant est de complexité de test moyenne si l'exécution de tests de validation
standard sur le composant final atteint une couverture de test pour au moins un test, qui est
inférieure d'un niveau à celle requise (couverture "moyenne" des tests fonctionnels au lieu
de la couverture "élevée" requise). Pour ces composants, l'exécution d'une partie des tests
de validation au cours du processus de conception et de mise en œuvre est requise, pour
améliorer la couverture de test.
Lorsque les tests de validation sont avancés dans le flux conceptuel, les étapes ultérieures doivent
être vérifiées de manière plus approfondie, afin de garantir que les résultats de la validation sont
encore valables pour le composant final.
- 68 -
4. APPLICABILITÉ DES NORMES EN 954 ET IEC 61508 SUR LES MACHINES
4.1. Introduction
Ce chapitre a pour objectif de comparer les méthodologies et exigences de deux normes, à savoir,
IEC 61508 « Sécurité fonctionnelle des systèmes électriques/électroniques/électroniques
programmables liés à la sécurité » et EN 954 « Sécurité des machines - Composants liés à la sécurité
des systèmes de commande ». Cette étude a été réalisée afin d'établir si ces deux normes définissent
les mêmes exigences ou des exigences différentes lorsqu'elles sont appliquées sur des systèmes de
commande de machine.
Les deux normes proposent une approche structurée de la conception des systèmes de commande
liés à la sécurité, mais diffèrent dans le sens où la norme EN 954 est conçue pour traiter tous les
types de technologies de système de commande tandis que la norme IEC 61508 a été principalement
(mais non exclusivement) conçue pour s'appliquer aux systèmes de commande
électriques/électroniques/électroniques programmables (E/E/PE). Les normes exigent que les
fonctions liées à la sécurité du système de commande soit classées ; la norme IEC 61508 exige qu'un
niveau d'intégrité de sécurité (SIL, Safety Integrity Level) soit attribué au système de commande
tandis que la norme EN 954 utilise un concept de performance de sécurité et classe le système dans
une catégorie parmi cinq. Il y a une différence significative dans la manière dont les SIL et les
catégories sont dérivées et définies. Les problèmes entraînées par cette différence constituaient la
base des tâches réalisées, particulièrement lorsque les deux classifications sont comparées en vue de
développer une stratégie pour les lier.
La norme IEC 61508 utilise une approche de cycle de vie de sécurité afin d'assurer que la conception
d'un système de commande CES lié à la sécurité est réalisée de manière systématique. Ce cycle de
vie, en tant que structure technique, a été examiné pour évaluer s'il convient à la conception des
systèmes de commande de machine.
4.2. Exigences communes et différences entre les normes EN 954-1 et IEC 61508
Les éléments ci-après sont considérés comme des facteurs de comparaison entre les normes
EN 954-1 et IEC 61508 utilisant le modèle de cycle de vie de sécurité comme structure technique.
Généralités
La norme EN 954-1 ne prend pas la vue hiérarchique orientée sur le système qui est une
caractéristique forte de IEC 61508.
La norme IEC 61508 se réfère aux systèmes liés à la sécurité, qui sont considérés comme
"intégrant" l'équipement sous contrôle pour fournir un niveau de sécurité. La norme
EN 954-1 se réfère aux composants liés à la sécurité des systèmes de commande.
- 69 -
La norme IEC 61508 exige la production de documentation à chaque phase du cycle de vie
de sécurité. Les seuls documents spécifiques exigés par la norme EN 954-1 sont le plan de
validation et le rapport de validation.
La norme IEC 61508 a une forte structure formelle avec des objectifs clairement définis et
des exigences spécifiées pour chaque phase du cycle de vie de sécurité. La norme EN 954-1
est beaucoup moins structurée et un examen minutieux est nécessaire pour extraire les
exigences clés.
Domaine d'application
La norme EN 954-1 s'applique aux composants liés à la sécurité des systèmes de
commande, quel que soit le type de technologie utilisée. IEC 61508 est principalement
concernée par les systèmes CES.
Gestion de sécurité
Traitée par la norme IEC 61508, non par la norme EN 954-1.
Concept
Traité par la norme IEC 61508, non par la norme EN 954-1.
4
EUC « Equipment Under Control » : Equipement commandé.
- 70 -
L'identification des conséquences possibles ;
Différences
La norme IEC 61508 se rapporte aux "événements dangereux des EUC". La norme
EN 954-1 se rapporte au temps/fréquence de l'exposition au danger.
La norme IEC 61508 exige qu'un "niveau de sécurité" (basé sur le risque tolérable) soit
identifié pour chaque danger. La norme EN 954-1 se rapporte simplement à la réduction de
risques appropriée.
La norme IEC 61508 exige que les informations et les résultats de l'analyse de danger et de
risque soient documentés. La norme EN 954-1 n'a aucune exigence de documentation.
La norme IEC 61508 exige une spécification et description fonctionnelles des SIL. La
norme EN 954-1 exige uniquement une description fonctionnelle.
La norme IEC 61508 permet que les fonctions de sécurité soient attribuées entre les
systèmes liés à la sécurité et les installations de réduction de risques externes. La norme
EN 954-1 traite uniquement ces fonctions de sécurité mises en œuvre par les "composants
liés à la sécurité".
- 71 -
prenant en considération l'effet total de tous les systèmes liés à la sécurité désignés). Il
convient de noter que le niveau d'efficacité des systèmes individuels liés à la sécurité est
également mesuré par le paramètre d'"intégrité de sécurité". IEC 61508 exige que les
informations et les résultats du processus d'attribution des exigences de sécurité soient
documentés.
La norme EN 954-1 exige que les mesures de réduction de risques par des moyens de
contrôle soient "décidées" et spécifiées en termes de fonctionnalité et de catégorie. La
méthodologie pour traduire la réduction de risques (associée à des dangers particuliers) en
exigences de performance des composants liés à la sécurité des systèmes de commande n'est
pas spécifiée.
La norme IEC 61508 exige que l'efficacité des systèmes de commande liés à la sécurité soit
classée conformément à l'intégrité de sécurité. L'intégrité de sécurité est une mesure
quantifiée de l'efficacité d'un système de commande lié à la sécurité et englobe la fiabilité du
matériel ainsi que le contrôle/évitement de pannes dues au défauts systématiques.
La norme EN 954-1 exige que les composants liés à la sécurité des systèmes de commande
soient classés en catégorie conformément à la résistance aux défauts. Les mesures de
performance associées aux catégories sont une description des mesures prises pour éviter
ou contrôler les pannes et ne sont pas quantifiées.
La norme IEC 61508 exige que les fonctions globales de sécurité et les exigences d'intégrité
de sécurité soient documentées dans une "Spécification d'exigences globales de sécurité"
(Overall Safety Requirements Specification). Les exigences correspondantes pour les
systèmes individuels CES liés à la sécurité sont documentées dans les "Spécifications
d'exigences de sécurité CES" (CES Safety Requirements Specifications).
Conception
Les deux normes exigent que la conception remplisse les exigences de sécurité spécifiées,
mais la norme IEC 61508 exige que la documentation de conception identifie et justifie les
techniques et mesures choisies pour réaliser les SIL. Avec IEC 61508, des tableaux étendus
de techniques et mesures recommandées (pour le matériel et le logiciel) sont fournis.
EN 954-1 exige simplement une liste des caractéristiques de conception qui fournissent le
raisonnement de conception pour la catégorie réalisée.
La norme IEC 61508 recommande des contraintes architecturales, EN 954-1 ne traite pas
de l'architecture (autres que celles pouvant être nécessaires pour réaliser le comportement
en cas de défaut conformément à la catégorie).
- 72 -
Couverture de diagnostic
La norme IEC 61508 émet des recommandations en ce qui concerne le niveau de
couverture de diagnostic fourni par les techniques et les mesures utilisées pour contrôler les
pannes. La norme EN 954-1 accepte de la même manière que tous les défauts ne puissent
pas être détectés. Dans la catégorie 3, les mesures exigées pour la détection de défauts
doivent être classées conformément à la conséquence et à la probabilité de panne et à la
technologie utilisée. Dans la catégorie 4, l'incapacité à détecter certains défauts conduit à
l'exigence d'indiquer qu'une accumulation de défauts n’entraîne pas une perte de la fonction
de sécurité.
Vérifications de contrôle
La norme IEC 61508 exige que des vérifications de contrôle soient entreprises afin que la
probabilité de panne sur demande reste dans le niveau spécifié d'intégrité de sécurité. Les
vérifications de contrôle ne sont pas traitées par la norme EN 954-1.
Intégration
L'intégration (logiciel, matériel, modules, capteurs, actionneurs) des systèmes CES est
traitée par la norme IEC 61508, non par EN 954-1.
Validation
Les deux normes exigent une validation pour démontrer que les fonctions de sécurité ont
été mises en œuvre conformément aux spécifications.
Modification
Traitée par IEC 61508, non par EN954-1.
Vérification
Exigée par IEC 61508, non par EN 954-1.
- 73 -
4.3. Difficultés pratiques rencontrées pour la validation d’une machine
Le second point de l’étude consistait à examiner l'application rétrospective des normes EN 954-1 et
IEC 61508 sur des machines existantes comme partie d'un exercice de validation de système de
commande de machine. L'objectif fondamental de cet exercice n'était pas d'évaluer, ni de tester, la
machine mais d'identifier les différences entre les approches prises par les deux normes.
le fabricant, ou son concepteur, doit être facilement joignable, si nécessaire, pour élucider
les critères de conception ou les détails de son exploitation ; et
Il a été décidé qu'une machine appropriée pour cet exercice serait une presse hydraulique fabriquée
au Royaume Uni. Les détails techniques de la machine examinée sont les suivants :
Contrôleur à commande numérique directe DNC ("Direct Numerical Control") à axes
multiples ;
Un examen complet du système du commande de la machine n'aurait pas été en mesure de produire
des résultats supplémentaires à ceux obtenus par une analyse limitée. Par conséquent :
pour éviter la répétition de l'analyse, l'exploitation de la machine a été considérée
uniquement en mode manuel (c'est-à-dire que les modes d'amorçage à rupture unique ou
double n'ont pas été considérés.) ; et
5
Un système photoélectrique est familièrement désigné comme une protection photoélectrique, en dépit du fait qu'il n'empêche pas d'accéder à la zone
dangereuse et parfois comme une protection intangible. Un terme plus précis est un périphérique de protection optoélectronique actif AOPD (Active Opto-
electronic Protective Device). Cependant, comme le terme de protection photoélectrique est plus communément utilisé et compris, ce terme sera utilisé tout
au long de ce document.
- 74 -
les dangers les plus importants associés à la machine ont été déterminés afin de définir le
domaine de l'évaluation.
Les événements dangereux identifiés comme étant dans le domaine de l'examen étaient les suivants:
[1] Course aberrante : Une course non amorcée se produit, qui ne peut pas être évitée
en obscurcissant la protection photoélectrique (désignée comme une course non
protégée).
L'exercice de validation a été réalisé de manière séparée pour chaque norme avec l'intention de
minimiser les "incohérences" entre les examens respectifs.
Afin de faire en sorte que l'exercice soit le plus réaliste possible, il a été décidé d'adopter une
approche, aussi proche que possible, qui suivrait ce que l'on attend d'un concepteur de machine face
à l'utilisation des normes dans un environnement de travail (c'est-à-dire pas nécessairement comme
les concepteurs des normes l'auraient prévu).
[2] Lorsque la norme ne donne pas de directions pour la validation, d'autres approches
peuvent être prises en compte pour suivre le processus de validation du début à la
fin. Il y a un grand nombre d'exigences mineures et de "renonciations". Par
exemple, les exigences fondamentales des diverses catégories sont simples à suivre
et font référence à la tolérance aux défauts.
Cependant, après avoir établir les exigences pour la catégorie 3, on remarque qu'il
n'est pas nécessaire de détecter TOUS les défauts uniques mais seulement
CERTAINS. Il faut prendre une décision subjective quant aux défauts qui doivent
ou ne doivent pas être détectés.
[3] La norme EN 954-1 a été conçue comme une norme avec un moyen pratique
d'évaluation et de mise en œuvre. Malheureusement, ce qui semble à première vue
être une méthode très pratique (c'est-à-dire basée sur une simple analyse de la
tolérance aux défauts) devient très subjective en pratique.
- 75 -
L'Annexe B de la norme EN 954-1 est la seule manière de déterminer la catégorie
requise pour un système, en dehors de l'examen d'un système existant. A cause de
la nature subjective de l'Annexe B, différents évaluateurs peuvent arriver à
différentes conclusions en déterminant la catégorie puisqu'il n'y a pas de moyen
absolu de déterminer objectivement la catégorie requise pour un système
particulier.
On aurait pu donner des conseils plus détaillés aux utilisateurs de cette annexe. Par
exemple, la recherche aurait pu établir la probabilité pour l'opérateur d'éviter les
dangers dans une variété d'applications industrielles et sous des conditions
variables, ainsi que les données présentées sous forme de tableaux dans la norme.
Pour atteindre une réduction de risques donnée, il faudrait conduire une
considération plus étroite des pannes/défauts systématiques, du MTTFd , de la
couverture de diagnostic et des pannes de cause commune.
[4] Les principes de la norme EN 954-1 sont basés sur des pannes de composants
uniques/multiples conduisant à la réalisation d'un danger. Ceci, à première vue,
semble être une manière très simple de définir l'intégrité des fonctions de sécurité.
Cependant, l'examen du système de commande indique qu'il existe de nombreuses
pannes de composants qui, en combinaison, pourraient conduire au danger.
Cependant, la plupart de ces pannes sont considérées improbables, très
improbables, voire incroyables et pourraient être très différentes en utilisant
différentes technologies. Parce que la décision d'exclure de telles pannes de
l'analyse peut être une tâche subjective, il est recommandé, lorsqu'ils sont connus,
de considérer les taux de pannes à partir des bases de données ou de l'expérience
pratique. Ceci aidera à minimiser la subjectivité dans la validation.
[5] EN 954-1 ne donne pas de moyen d'évaluer ou d'assurer l'intégrité des logiciels.
[6] Pour justifier que la presse a été conçue en utilisant les principes de la norme
EN 954-1 et validée conformément à ses spécifications de sécurité, un rapport de
validation et le dossier de construction technique doivent être mis à la disposition
de l'évaluateur.
[7] EN 954-1 mentionne la maintenance mais ne le fait que très faiblement. Dans tout
système de protection lié à la sécurité (qui peut n'être appelé à fonctionner que de
manière peu fréquente), la conduite régulière de tests d'épreuve manuels (en
l'absence de diagnostic automatique) est un facteur important pour maintenir
l'intégrité, qui variera de manière à peu près linéaire avec la fréquence des
vérifications de contrôle manuelles. Dans le secteur des machines aujourd'hui, une
telle approche est rarement suivie.
[8] EN 954-1 est une norme de conception et ne donne donc pas de conseil sur la
fabrication du système conçu. Un système bien conçu qui est mal fabriqué pourrait
avoir une intégrité réduite. Par exemple, un système à voies multiples, dont le
câblage a été isolé afin d'éviter des pannes de cause commune, pourrait avoir le
câblage fuselé en une gaine isolante unique, provoquant un potentiel de pannes de
cause commune. On a noté que l'étape de validation, c'est-à-dire les tests du type,
ne pouvaient prévoir des variations entre les articles fabriqués résultant, par
- 76 -
exemple, d'une étape de fabrication mal spécifiée. Il est essentiel que le système
qualité de l'usine assure l'absence d'altération de l'échantillon de test approuvé.
[9] En supposant que des sous-systèmes sont des composants uniques et en appliquant
le principe d'exclusion des défauts, il est possible de déterminer une catégorie sans
avoir recours aux calculs complexes. Cependant, le taux de panne d'un sous-
système complexe peut être considérablement supérieur à que celui d'un composant
unique. La catégorie d'un sous-système à voies doubles ne peut être considérée
comme équivalente à un système à voie double au niveau des composants, par
exemple, un verrouillage basé sur 2 relais ne peut être comparé à un verrouillage
basé sur 2 contrôleurs logiques programmables complexes (PLC), même si les
deux verrouillages atteignent la catégorie 3. Ainsi, deux systèmes ayant chacun la
même catégorie peuvent être considérés comme équivalents seulement s'ils
utilisent la même technologie et un nombre de composants comparables.
un système extrêmement fiable, basé sur une technologie simple (par exemple, une
barre de blocage mécanique), auquel, à cause de son statut à voie unique, on
assignerait une catégorie 1 peut, en pratique, avoir une intégrité comparable, ou
même supérieure, à celle d'un système de catégorie 4 employant une technologie
complexe et donc difficile à valider.
La possibilité d'effectuer une évaluation trompeuse peut être minimisée en
considérant des aspects probabilistes pour estimer le montant réel de la réduction
des risques.
6
Bien que la norme affirme clairement le contraire, il semble inconcevable que la hiérarchie n'ait pas été développée sur la base de l'existence d'une relation
monotone entre l'intégrité des composants liés à la sécurité et la Catégorie.
- 77 -
ce que des concurrents et d'autres organisations utilisant des types d'équipements
similaires ont considéré praticable.
Les taux d'accidents existants impliquant des presses (obtenus de sources internes
au HSE), bien qu'incomplets, ont été utilisés dans cet exercice de validation pour
établir un niveau de risque acceptable. De telles informations ne seront pas faciles à
obtenir par les intervenants en charge de la conception et de la validation dans le
domaine des machines et d'autres méthodes peuvent être plus appropriées.
En outre, il peut être peu judicieux dans certaines circonstances de citer des taux
acceptables ou tolérables d'un niveau particulier d'accidents corporels. Il peut donc
s'avérer nécessaire pour des SIL cibles d'être déterminés par des moyens opaques,
éventuellement qualitatifs, pour les divers secteurs d'industrie. La détermination de
SIL cibles est une tâche sensible et pas nécessairement facile qui serait
considérablement facilitée par la disponibilité d'une méthodologie adaptée,
éventuellement spécifique à une industrie, pour la traiter. Il peut être nécessaire,
dans la première affectation d'un SIL, de considérer tout l'éventail de SIL possibles.
[2] La norme IEC 61508 semble avoir été conçue en vue des industries de procédé. En
conséquence, la détermination de SIL dépend de la réduction de risques fournie par
des systèmes de protection liés à la sécurité qui opèrent en parallèle avec le
système de contrôle de l'EUC et mettent l'EUC dans un état de sécurité si une
panne du système de commande se produit. Un état de sécurité peut donc être la
continuation du processus, alors que dans le secteur des machines, l'état de sécurité
est habituellement l'arrêt des mouvements dangereux.
De nombreux systèmes de commande des machines se basent traditionnellement
sur une technologie de relais, et puisque les machines sont surtout cycliques dans
leur fonctionnement, il est possible de tester la plupart, voire tous les composants
individuels dans un système de commande à tous les cycles de la machine et
d'employer la redondance. Ceci conduit à une tolérance aux défauts de 1, ou plus,
avec un intervalle court entre les tests et, en conséquence, les systèmes de
commande ont une intégrité élevée.
Donc, dans le cas des fonctions de sécurité de nombreuses machines, le concept de
réduction des risques, tel qu'utilisé dans IEC 61508, est inapproprié et un SIL doit
être calculé à partir du taux de panne du système de commande.
[3] Parce que la norme IEC 61508 est récente (non publiée sous forme finale au
moment de l’évaluation) peu de fabricants, s'il s'en est trouvé, l'ont utilisée. Ainsi, il
était difficile pour le fabricant de la presse examinée de fournir la documentation
préparée pour prouver la conformité à IEC 61508. Ceci était particulièrement vrai
en ce qui concerne les procédures de qualité utilisées dans la conception de la
machine. Cette documentation est nécessaire ; sans quoi, il n'est pas possible de
déterminer si les exigences de qualité ont été satisfaites dans la conception. Il est
important d'effectuer toutes les évaluations au cours de toutes les étapes du cycle
de vie.
- 78 -
documents traitant des procédures de conception, par exemple, l'assurance qualité,
doivent être mis à la disposition de l'évaluateur pour la validation. Ceci est
nécessaire pour tous les systèmes quelle que soit leur origine.
[6] Pour une évaluation quantitative, de bonnes données de taux de panne sont
nécessaires. Les données sont disponibles sur les modes de défaillance les plus
fréquemment rencontrés de la plupart des composants, par exemple, incapacité
d'excitation d'un relais. Cependant, dans des systèmes liés à la sécurité, de
nombreux composants sont testés automatiquement pour s'assurer que les modes
de défaillances fréquemment rencontrés sont révélés. Donc, les modes de
défaillances restants, sur lesquels les données sont probablement insuffisantes (par
exemple, la panne d'un contact à relais unique ou un relais passant spontanément
de l'état non excité à l'état excité en conséquence, par exemple, de la rupture d'un
ressort), sont ceux qui posent problème. Il peut être utile d'utiliser l'expérience
d'applications dans d'autres secteurs pour réaliser des estimations plus
représentatives de ces données.
[9] Toutes données de taux de panne utilisées doivent avoir un niveau de confiance
statistique d'au moins 70 %. Ce niveau de confiance ne sera probablement pas
réalisé en pratique, pour les raisons décrites dans le paragraphe précédent. En
pratique, mieux vaut utiliser les meilleures données disponibles que ne pas effectuer
d'évaluation de fiabilité quantitative ; si nécessaire, des hypothèses basées sur le
pire des cas pourraient être avancées.
[10] Les intervalles de test hors ligne utilisés dans l'exercice de validation étaient basés
sur les recommandations du fabricant. Ces informations importantes doivent
toujours être disponibles, peut-être par étiquetage direct sur les machines.
[12] L'application d'une analyse des risques quantifiée aux machines est plus complexe
par rapport à son application à des commandes automatiques de procédés
industriels à cause des interactions synchrones entre les personnes en danger, les
systèmes de commande et la nature cyclique du fonctionnement de la machine.
Dans de telles situations, un calcul (par exemple de la probabilité de panne à la
demande) impliquant des conditions en condition stable comme celui qui serait
applicable au système de commande d'une installation de traitement, ne sera sans
doute pas réaliste. Au contraire, le minutage des tests automatiques et des périodes
de risque élevé par rapport au cycle de la machine doit être considéré en détail dans
ces calculs.
[13] Une compréhension complète de l'exploitation du système est nécessaire pour que
la validation ait un sens. Ceci est vrai d'une évaluation effectuée en utilisant soit
EN 954-1, soit IEC 61508 ; cependant, dans le cas de cette dernière, où une
analyse quantitative est effectuée, de grandes variations dans le taux de panne
calculé pourraient résulter d'erreurs mineures dans la détermination des
fonctionnalités.
[14] À première vue, l'utilisation des contraintes d'architecture sur l'intégrité de sécurité
du matériel semble avoir un certain nombre de défauts, par exemple :
on ne prend pas en compte le fait que certains systèmes à voie unique puissent être
intrinsèquement fiables et qu'ils se conduisent donc aussi bien qu'un système à
voies multiples ;
- 80 -
Cependant, les contraintes d'architecture doivent être considérées comme un
moyen de s'assurer que l'analyse quantifiée n'a pas été utilisée de manière abusive
ou erronée. Par exemple, dans le cas des calculs pour cette presse :
un certain nombre d'hypothèses ont été avancées ;
le manuel pour la presse indique qu'un contrôle quotidien doit être effectué sur le
verrouillage de porte logique arrière. La fréquence de ce contrôle aura un impact
considérable sur l'intégrité du verrouillage. Si aucun contrôle n'était effectué en
pratique, l'intégrité réelle (et non celle calculée) du verrouillage serait
considérablement réduite.
Des contraintes d'architecture sont censées appliquer un plafond sur le SIL qui
peut être affecté à tout système particulier afin d'empêcher toute mauvaise
utilisation involontaire (ou délibérée) de l'analyse quantitative. En conséquence, les
contraintes d'architecture garantiront que le niveau d'intégrité ne peut être
significativement augmenté au-delà du niveau réellement réalisable pour tout
système particulier. Ceci empêchera qu'on n'avance des SIL augmentés et, en
conséquence, assurera le maintien d'un niveau de sécurité approprié.
[17] L'utilisation des Tableaux 2 et 3 de la Partie 2 de IEC 61508 pour combiner les
contraintes d'architecture de plusieurs sous-systèmes nécessite des clarifications.
[1] Les systèmes de sécurité actuels des machines ne sont pas développés à partir de
rien. Au contraire, au cours du développement d'une nouvelle machine, l'expérience
gagnée de machines précédentes est légèrement modifiée pour apporter des
améliorations à la conception globale. Donc, des exigences de sécurité ont peu de
chances d'être développées pour une machine spécifique. Les systèmes de sécurité
de nouvelles machines seront conçus pour ne pas être pires que ceux de machines
existantes. L'utilisation de la norme IEC 61508 nécessitera un changement radical
du processus de conceptions/développement des machines dans le sens où la
sécurité doit être abordée en utilisant une approche absolue plutôt que relative.
[2] La norme IEC 61508 utilise un calcul quantitatif du taux de panne global, ainsi que
des techniques qualitatives pour déterminer le niveau d'intégrité de sécurité. La
norme EN 954-1 tente d'éviter le calcul quantitatif en utilisant une méthodologie
simple - le graphique de risques. Malheureusement, l'application de la
méthodologie n'est utilisable que dans les systèmes les plus simples, et nécessite
l'application subjective d'une connaissance d'ingénierie.
[3] IEC 61508 couvre toutes les étapes du cycle de vie d'un système. EN 954-1
considère seulement la conception (et la validation de la conception).
- 81 -
[4] Le problème le plus important en utilisant une approche quantitative de l'évaluation
des risques, telle que décrite en la norme IEC 61508, est la disponibilité de données
appropriées. Deux types de données sont nécessaires :
Données de taux de panne pour les composants et les sous-systèmes. Il peut être
nécessaire d'utiliser des données à partir de composants génériques ; cependant,
des données peuvent être obtenues (ou estimées) pour la plupart des composants,
bien qu'il soit probable que quelques hypothèses soient nécessaires.
[6] Si une méthodologie permettant aux SIL cibles d'être déterminés sans subjectivité
significative n'est pas disponible, l'incertitude du résultat de l'analyse quantitative
utilisée dans la norme IEC 61508 peut être grande. Il faut donner une priorité
absolue à la production d'une telle méthodologie, sans quoi il ne sera pas possible
d'exploiter complètement les directions fournies par la norme IEC 61508.
[7] En général, les systèmes de commandes électriques liés à la sécurité existants pour
les machines n'ont pas été conçus en utilisant les directions contenues dans la
norme IEC 61508 (dont toutes les parties n'étaient pas publiées au moment de la
rédaction du présent rapport) et, en conséquence, la documentation convenable,
nécessaire afin de vérifier les diverses étapes du cycle de vie de sécurité, n'est sans
doute pas disponible. La documentation, sous forme convenable à des fins
d'évaluation sera disponible seulement lorsque la norme IEC 61508 gagnera en
crédibilité dans la fabrication de machines. Jusque là, il sera difficile d'effectuer des
évaluations de systèmes de commande électriques liés à la sécurité pour les
machines, en particulier par rapport à l'analyse quantitative.
[8] La norme IEC 61508 oblige le fabricant de planifier le cycle de vie global de
manière structurée en exigeant une documentation adéquate. À première vue, les
exigences de documentation pour un système simple de commande des machines
semblent excessives.
- 82 -
[9] Parce que le manque/l'incompatibilité des documents peut empêcher une
détermination adéquate des mesures qualitatives lorsqu'un examen rétrospectif est
effectué sur une machine conçue avant la publication de la norme IEC 61508, il ne
sera pas possible de déterminer si des mesures convenables ont été mises en place
(ou pas) pour traiter des pannes systématiques. Une évaluation quantitative
rétrospective utilisant la norme IEC 61508 peut donc s'avérer inexacte puisque le
taux réel de panne peut être dominé par des pannes systématiques, qui ne peuvent
probablement pas être prédites quantitativement. Malheureusement, ceci conduira
à une sous-estimation du taux de panne, c'est-à-dire que l'estimation indiquera
qu'un système est plus sûr qu'il ne l'est réellement.
[10] La norme IEC 61508 suit une approche scientifique en faisant correspondre
l'intégrité du système au risque. Elle utilise également, chaque fois que cela est
possible, une quantification mais reconnaît qu'il est possible de suivre des mesures
qualitatives lorsque des mesures quantitatives ne peuvent être utilisées. Cependant,
les mesures qualitatives ont été déterminées (en utilisant un jugement d'ingénierie)
pour être appropriées au SIL. Ceci doit être comparé à l'approche suivie par la
norme EN 954-1, qui est basée sur la tolérance aux défauts.
[11] Les principes de IEC 61508 exigent que la méthodologie suivie comprenne toutes
les phases du cycle de vie d'un système, par exemple, concept, conception, mise en
œuvre, etc. Si la méthodologie n'a pas été utilisée par le fabricant, une évaluation
ultérieure utilisant IEC 61508 sera inévitablement difficile à cause des informations
manquantes. Cependant, si IEC 61508 avait été suivie dès le départ, les
informations pertinentes seraient disponibles, facilitant la validation.
Les découvertes et conclusions mentionnées ci-dessus indiquent comment résoudre certaines des
difficultés pratiques que l'on peut rencontrer en utilisant les normes EN 954 et IEC 61508. Ces
problèmes, dérivés des divergences qui existent entre les normes EN 954 et IEC 61508, nécessitent,
afin d'établir une base saine pour la validation des systèmes de commandes liés à la sécurité dans les
machines, que l'on considère les points suivants :
Un correspondance linéaire des niveaux d'intégrité de sécurité de la norme IEC 61508 avec
les catégories de la norme EN954-1 ne pouvait être établie. Ceci était avant tout dû au fait
que les définitions de catégorie de la norme EN954-1 ne plaçaient pas d'exigences
quantifiables concernant les taux de panne des fonctions de sécurité.
Cependant, on peut affirmer que, dans une technologie donnée, la catégorie 1 aura
probablement un niveau d'intégrité de sécurité supérieur à la catégorie B et la catégorie 4
aura le niveau d'intégrité de sécurité le plus élevé.
L'approche qualitative de la norme EN 954-1 est souhaitable du point de vue du secteur des
machines.
- 83 -
Les principes de la norme IEC 61508 (cycle de vie de sécurité et niveaux d'intégrité de
sécurité) peuvent être appliqués aux systèmes de commande E/E/PE dans les machines.
IEC 61508 pourrait compléter la norme EN 954-1 pour les systèmes E/E/PE, mais une
approche qualitative conduisant à un niveau d'intégrité de sécurité devrait être développée.
La structure non hiérarchique des catégories de la norme EN 954-1 est souvent mal
interprétée en une structure hiérarchique. Ceci est dû au fait qu'il faut analyser avec
attention les définitions de catégories pour comprendre leur signification complète. Une
annexe informative interprétant les catégories pour différentes technologies peut être utile.
Bien que lesdites catégories soient difficiles à associer au risque, la norme EN 954-1, en tant
que document, fournit des informations extrêmement utiles pour des stratégies de
conception pour la sécurité et les exigences pour les fonctions de sécurité.
La norme IEC 61508 couvre toutes les phases de la vie d'un équipement, du concept
jusqu'au déclassement des installations. Dans le secteur des machines, il est très rare qu'une
seule partie soit responsable sur tout le cycle de vie. On considère qu'il est nécessaire de
délimiter les responsabilités. Ceci est particulièrement vrai dans le cas de fabricants qui
produisent des machines ou des composants de sécurité pour utilisation dans diverses
applications où il peut ne pas être pratique pour le fabricant d'entreprendre une analyse
complète des dangers et des risques et d'identifier des fonctions de sécurité convenables
pour toutes les applications à une étape précoce dans le cycle de vie de sécurité. Dans de
tels cas, il faut mettre l'accent sur les fabricants pour qu'ils fournissent des informations
convenables et suffisantes (y compris le SIL) afin que les utilisateurs puissent correctement
prendre en compte les caractéristiques de performance de l'équipement dans l'application
finale.
- 84 -
5. MANUEL UTILISATEUR
Pour traiter de la validation des SRCES7, il faut traiter les étapes de fonctionnement dans l'ordre
recommandé des opérations comme suit :
Obtenir l'affectation d'exigences de sécurité. Mettre à jour la planification de sécurité
comme approprié au cours du développement des SRCES.
Déterminer les exigences pour les SRCES, y compris les exigences d'intégrité de sécurité,
pour chaque fonction de sécurité. Affecter les exigences aux logiciels
7
SRCES « Safety-Related Complex Electronics Systems » : systèmes électroniques complexes liés à la sécurité
8
SRC « Safety-Related Components » : composants liés à la sécurité
- 85 -
Développer un modèle pour l'architecture matérielle dédiée aux systèmes liés à la sécurité.
Développer ce modèle en examinant chaque fonction de sécurité séparément et déterminer
le sous-système (composant) qui sera utilisé pour effectuer cette fonction. Des analyses
déterministes et probabilistes sont nécessaires.
Pour l'analyse déterministe, deux méthodes sont généralement employées pour prédire des
défauts de mode commun :
Analyse par arbre de défauts (FTA), cette méthode déductive débute d'une panne
dangereuse du système, déterminée par exemple par une analyse des risques, et cherche
des combinaisons d'événements qui ont pu conduire à cette panne. Elle révèle les défauts
aléatoires, systématiques et de mode commun. Au final, toutes les branches logiques
d'une FTA doivent être développées jusqu'aux événements de base. En pratique, on
développe l'arborescence afin d'être capable d'analyser l'effet de pannes d'entrée, de
traitement et de sortie.
Analyse des modes de défaillances et de leurs effets (AMDE). Il s'agit d'une méthode
inductive qui démarre des pannes des fonctions ou composants du système à analyser
afin de déterminer les pannes dangereuses qui pourraient l'affecter. Elle souligne les
pannes dues à des modes de défaillance uniques qui affectent les logiciels ou le matériel.
Utiliser une AMDE et des modèles Markov pour une approche probabiliste. Ces techniques
ont été choisies grâce à leur capacité considérable à gérer de nombreuses caractéristiques
techniques habituellement mises en œuvre dans les dispositifs de sécurité modernes. En
particulier avec la modélisation Markov, des événements périodiques comme des tests en
ligne peuvent être modélisés assez facilement.
Définir les paramètres de système pour chaque composant utilisé dans les systèmes
électroniques complexes liés à la sécurité. Pour chacun des composants, déterminer les
points suivants :
le temps moyen de restauration ;
la couverture de diagnostic ; et
la probabilité de panne.
Créer un modèle de fiabilité pour chacune des fonctions de sécurité que le SRCES est censé
effectuer.
Mettre en œuvre la conception des SRCES. Sélectionner des mesures et des techniques
pour contrôler les pannes matérielles systématiques, les pannes provoquées par des
influences d'environnement et les pannes d'exploitation.
Intégrer les logiciels contrôlés sur le matériel cible et, en parallèle, développer les
procédures que les utilisateurs et le personnel de maintenance devront suivre lors de
l'exploitation du système.
- 86 -
Avec l'intervenant en charge du développement logiciel, valider les SRCES. Le but de la
validation de sécurité est de vérifier que tous les composants liés à la sécurité du système
respectent les spécifications pour les exigences de sécurité. La validation de sécurité est
effectuée en fonction du plan de validation de sécurité. En conséquence de la validation de
sécurité, il est possible de conclure que le système lié à la sécurité respecte les exigences de
sécurité puisque toutes les exigences de sécurité sont validées. Lorsque des divergences se
produisent entre les résultats attendus et réels, il faut décider si l'on doit émettre une
demande de modification du système ou des spécifications et des champs d'application
correspondants éventuels. Il faut également décider si l'on doit continuer et effectuer les
modifications nécessaires plus tard, ou si l'on doit effectuer les modifications immédiatement
et reprendre le processus de validation à une phase antérieure.
Enfin, les SRCES doivent également être conformes aux exigences de sécurité génériques :
Sécurité électrique.
Gestion de la qualité en production, domaine de test et gestion des révisions. Ceci est
particulièrement important pour des systèmes basés sur des logiciels.
Etc.
La structure non hiérarchique des catégories de la norme EN 954-1 est souvent mal
interprétée en une structure hiérarchique. Ceci est dû au fait qu'il faut analyser les définitions
de catégories avec attention pour comprendre leur signification complète. Une annexe
informative interprétant les catégories pour différentes technologies peut être utile.
Il existe une grande différence entre les pratiques de développement de logiciels et les
travaux théoriques qui traitent du sujet. Il est difficile d’appliquer des principes de sûreté de
fonctionnement pour des PME. Les restrictions d'organisation, et plus particulièrement le
manque de culture de sûreté de fonctionnement, compliquent énormément l'élaboration d'un
processus de sécurité d'exploitation. Il n'existe pas d'outils de spécification de sécurité
logicielle spécifiques pour des applications de petite taille.
- 87 -
La norme IEC 61508 couvre toutes les phases de la vie d'un équipement, du concept au
déclassement des installations. Dans le secteur des machines, il est très rare qu'une seule
partie soit responsable du cycle de vie entier. On considère qu'il est nécessaire de délimiter
les responsabilités. Ceci est particulièrement vrai dans le cas de fabricants qui produisent des
machines ou des composants de sécurité pour utilisation dans diverses applications où il
peut ne pas être pratique pour le fabricant d'entreprendre une analyse complète des dangers
et des risques et d'identifier des fonctions de sécurité convenables pour toutes les
applications à une étape précoce dans le cycle de vie de sécurité. Dans de tels cas, il faut
mettre l'accent sur les fabricants pour qu'ils fournissent des informations convenables et
suffisantes (y compris le SIL) afin que les utilisateurs puissent prendre en compte
correctement les caractéristiques de performance des équipements dans l'application finale.
Les composants complexes sont en fait si complexes qu'il est difficile de les analyser de
manière détaillée, et il est très difficile de prédire les modes de défaillance des composants.
Les programmes internes liés aux composants programmables peuvent également contenir
des erreurs sensibles. Toutes ces raisons provoquent une incertitude liée à l'analyse des
composants complexes. Un composant complexe unique seul ne peut commander une
fonction de sécurité de manière suffisamment sûre, et une certaine redondance, diversité
et/ou surveillance est nécessaire. Ceci signifie que l'architecture du système de commande
est d'importance capitale et qu'elle peut rendre les risques causés par des composants
complexes négligeables.
- 88 -
Généralement, des systèmes de commande électroniques liés à la sécurité existants pour les
machines n'ont pas été conçus en utilisant les exigences contenues dans la norme IEC 61508
et, en conséquence, la documentation convenable, nécessaire à la vérification des diverses
étapes du cycle de vie de sécurité n'est probablement pas disponible. La documentation,
sous forme convenable à des fins d'évaluation, sera disponible uniquement lorsque des
normes dérivées IEC 61508, comme le projet de norme IEC 62061 gagneront en crédibilité
parmi les fabricants de machine. Jusque là, il pourrait être difficile d'effectuer les évaluations
des systèmes de commande électroniques liées à la sécurité des machines, en particulier en
ce qui concerne l'analyse quantitative. Ce rapport vise à encourager les fabricants à combler
ce vide dans un futur proche et à éditer la documentation pas à pas nécessaire au cours du
développement de nouveaux produits de sécurité.
- 89 -
6. CONCLUSIONS
Les objectifs du projet ont été plus que totalement remplis. Non seulement les résultats préliminaires
ont déjà été transférés à CEN/TC114 en 1999 afin d'accélérer les amendements de la norme
EN 954-1 et les améliorations du projet de norme EN 954-2, ce qui était l'objectif initial, mais des
outils essentiels basés sur la norme générique IEC 61508 ont été adaptés aux besoins spécifiques du
secteur des machines.
En conséquence directe, le projet plus récent de norme IEC 62061 en a également bénéficié. Une
contribution importante du projet traite de techniques de validation et de développement des logiciels
liés à la sécurité.
Une contribution majeure a introduit des techniques de modélisation et des méthodes d'évaluation
probabilistes des taux de pannes dangereuses et des architectures convenables pour réaliser une
réduction des risques. Les modèles de Markov sont une des techniques d'évaluation abordées au
cours du projet STSARCES. En ce qui concerne les tests en ligne effectués automatiquement dans
un système de sécurité, l'immense influence de la couverture de diagnostic pourrait être démontrée.
L'autre aspect est l'intervalle de test de diagnostic approprié pour l'architecture et l'application d'un
système particulier. La norme EN 954-1 ne fournit pas d'informations suffisantes sur ce sujet. Pour
un système de catégorie 2, il exige seulement des contrôles par le système de commande de la
machine "à intervalles convenables" sans expliquer ce que signifie "convenable". Les intervalles de
test de systèmes prétendant à une catégorie 3 ou 4 ne sont pas spécifiés non plus dans cette norme.
L'approche Markov peut fournir une aide. En mettant en œuvre une nouvelle caractéristique dans les
modèles Markov, nous avons pu fournir des informations utiles concernant l'intervalle de test de
diagnostic adéquat. Il est apparu que des systèmes à voie unique et des systèmes à voies multiples se
comportent de manière très différente.
Des découvertes intéressantes sont décrites, établissant une relation entre des taux de test en ligne
suffisants et le MTTFd d'une des voies redondantes. Elles fournissent des conseils au concepteur du
système ainsi que des pistes pour la personne effectuant l'évaluation.
Des liens complets pourraient également être établis entre le concept de catégorie (approche
EN 954) et les SIL (approche IEC 61508) pour des architectures données et des données de fiabilité
réalistes.
La norme EN 954-1 est constituée d’une partie normative (norme harmonisée depuis 1996), d'un
manuel utilisateur FD CR 954-100 (harmonisé en 1999), d'un projet de norme pr 954-2 (au niveau
d'une procédure d'enquête CEN) et d'un projet de révision de la norme EN 954-1.
- 90 -
Pendant les deux dernières années, au cours des réunions du Groupe de travail commun chargé de la
norme EN 954, les rapports intermédiaires de STSARCES ont été communément utilisés comme une
entrée importante lors de la rédaction d'une exigence ou d'une procédure de validation concernant
des fonctions de sécurité basées sur des PES.
Par manque de connaissances décisives, les experts de la norme EN 954-2 ont été amenés à
remarquer et à rédiger les points suivants :
Dans des systèmes de commande où la fourniture des fonctions de sécurité comprend des
PES, il est inadapté d'utiliser seulement des catégories si :
la fonction de sécurité du système de commande repose seulement sur des PES,
ou la structure du système de commande est complexe,
ou la contribution à la réduction des risques de la machine est élevée.
Dans ces cas, des facteurs supplémentaires, par exemple les défauts systématiques, doivent
également être pris en compte (dans le cadre de la norme EN 954-2).
C'est au niveau de l'amendement de la Partie 1, que l'on attend impatiemment les résultats du projet
STSARCES parce que les aspects logiciels (défauts systématiques) doivent être introduits dans le
concept de catégories lorsque les PES sont en catégorie 2, 3 ou 4.
Il est également indiqué dans l'amendement qu'une application machine standard dérivée de la norme
IEC 61508 publiée est en cours de préparation par le IEC/TC 44/WG7 (ici le concept de base est le
Niveau d'intégrité de sécurité ou "SIL").
Les résultats de STSARCES permettront de définir des liens crédibles et compréhensibles entre
catégories (EN 954) et SIL dans le projet de norme IEC 62061. Cette connexion est indispensable au
cours des phases de conception et de développement de circuits de commande des machines qui
utilisent des composants mécaniques ainsi qu'hydrauliques ou pneumatiques et électromécaniques
basés sur le concept de catégorie, ainsi que des PES, mieux caractérisés par le concept de SIL.
Une partie des résultats du WP4 (une étude des liens et des divergences entre les normes IEC 61508
et EN 954, HSE, WP4 Tâche 1) a déjà été communiquée en 1999 au JWG6 et la présentation des
résultats WP2.1 est également attendue (Quantitative Analysis of Complex Electronic Systems using
Fault Tree Analysis and Markov Modelling, Analyse quantitative de systèmes électroniques
complexes utilisant une analyse par arborescence de défauts et une modélisation de Markov).
Les experts impliqués dans la normalisation sont convaincus que STSARCES améliorera les
méthodes de validation des PES dans leur utilisation pour des fonctions de sécurité à la fois dans la
norme EN 954 et dans le projet de norme IEC 62061.
- 91 -
6.2. Contribution de STSARCES à IEC 62061
Des travaux pour développer la norme IEC 62061 “Safety of Machinery - Functional Safety of
Electrical, Electronic and Programmable control systems for Machinery” (Sécurité des machines –
sécurité de fonctionnement des systèmes de commande électriques, électroniques et programmables
pour les machines) ont été initiés en mars 1998 par le groupe de travail TC 44 WG7.
Une première version CD est attendue pour le second semestre de l'an 2000, un an après la date
prévue. Ce délai est largement dû à des difficultés dans l'interprétation de la norme IEC 61508 par
des personnes peu habituées à ces concepts, ainsi que la nécessité de prendre en compte les deux
normes en même temps, comme la norme IEC 61508 (approche probabiliste pour les dispositifs
CES) et la norme EN 954 (approche déterministe pour tous types de technologies).
Le but de ce travail est de développer une norme de secteur pour les machines, guidée par la
publication de sécurité de base, la norme IEC 61508. Cette norme définira une hiérarchie de niveaux
de performances de sécurité en :
adaptant les exigences de la norme IEC 61508 pour qu'elles conviennent aux principes
établis d'évaluation des risques et d'intégration de sécurité des machines ; et en
les concepteurs et intégrateurs de ces systèmes, pour leur permettre de respecter les niveaux
de performance spécifiés.
Jusqu'à présent, le travail vise à spécifier une méthodologie pour l'intégration de composants (déjà
certifiés précédemment) afin de développer des systèmes de commandes sûrs pour les machines. Les
exigences appliquées aux composants (par exemple cellule photoélectrique de sécurité) sont celles de
la norme IEC 61508.
Les résultats du projet STSARCES sont ici encore précieux si l'on considère les problèmes soulevés
par l'utilisation intégrée de concepts dérivés à la fois de la norme IEC 61508 et de la norme EN 954.
Plus récemment, en janvier 2000, un avant-projet du rapport WP sur les aspects logiciels (Software
quality and safety requirements, INRS, WP1.2, Aspect 1, exigences de sécurité et de qualité
logicielle, INRS, WP1.2, Aspect 1) a été transféré au groupe de travail avec pour intention
d'introduire les résultats en annexe à la norme, à l'attention des concepteurs des logiciels intégrés
utilisés dans les machines.
- 92 -
6.3. Validation du projet par des fabricants externes
Un séminaire spécifique avec des fabricants de systèmes liés à la sécurité, non impliqués directement
dans le projet, pour les informer des résultats et améliorer l'intelligibilité de la présentation du rapport
final, a été programmé vers la fin du projet.
Afin d'assurer la plus large audience internationale à cet événement, ce séminaire a été intégré à la
conférence internationale la plus significative organisée fin 1999 sur la sécurité du travail, la
MONTREAL International Conference on Safety of Industrial Automated Systems (Conférence
internationale de MONTRÉAL sur la sécurité de systèmes automatisés industriels) du 4 au 7 octobre
1999. Ceci a été possible grâce au Conference Scientific Committee (Comité scientifique de
conférences) qui comprenait BIA, HSE et INRS, membres du Comité de direction de STSARCES et
IRSST, l'institution organisatrice.
Cinq communications sur les résultats du projet STSARCES ont été présentées par leurs auteurs en
sessions plénières (une vue d'ensemble par le coordinateur et quatre rapports techniques sur chaque
ensemble de travail). Puisque les présidents de séance correspondants étaient INERIS, BIA, HSE et
INRS, les discussions ont pu facilement être orientées pour ressentir l'acceptation des résultats
STSARCES par les fabricants présents.
Enfin, des discussions pouvaient suivre de manière plus informelle après les séances puisque la
plupart d'entre eux avaient leur propre stand dans l'exposition installée au même endroit. Il a été
convenu que l'approche par cycle de vie était bien reçue, mais un souci important a été exprimé sur
le besoin d'une collaboration plus profonde entre organismes de certification et fabricants dans un
futur proche, de l'étape de la conception jusqu'aux tests finaux en vue d'éditer un certificat de
conformité. Il existe un souhait similaire exprimé par les Stations de tests pour une collaboration plus
profonde, étendue sur tout le cycle du "processus de certification".
- 93 -
7. BIBLIOGRAPHIE
1 DIN V VDE 0801/01.90 and A1/10.94 : Grundsätze für Rechner in Systemen mit Sicherheitsaufgaben
und Änderung A1.
2
EN 954-1 (1996) : Safety of machinery - Safety-related Parts of control systems (Identical with ISO/IEC
DIS 13849-1).
3
IEC 61508 : Functional Safety-Related-Systems: Part 1 : General Requirements; Part 2 : Requirements
for electrical, electronic, programmable electronic systems; Part 3 : Software Requirements; Part 4 :
Definitions and abbreviations of terms; Part 5 : Guidelines for the application of part 1; Part 6 :
Guidelines for the application of part 2 and 3; Part 7 : Bibliography of techniques and measures.
4
DIN V 19250: Leittechnik. Grundlegende Sicherheitsbetrachtungen für MSR-Schutzein-richtungen.
Beuth-Verlag, Berlin 1994.
5
Reinert, D.; T. Bömer : Modern Sensors as protective devices for the safety of machinery. Proceedings
Volume 1 : 3rd Eurolab Symposium 5-7.6.1996 Berlin. Testing and Analysis for Industrial
Competitiveness and sustainable Development. Wirtschaftsverlag NW. Bremerhaven 1996, pp. 215-224.
6
Reinert, D.; Schaefer, M.: Integrated safety in flexible manufacturing systems. In R.D. Schraft, G.
Brandenburg, & W. Leidig, (Eds.), Tagungsband SPS/IPC/DRIVES98 (pp. 305-314). Heidelberg,
Germany: Hüthig-Verlag 1998.
7
Reinert, D. et al : Validation of functional safety of programmable electronic systems conformément à
IEC 1508. Preprints of the 5th International Working Conference on Dependable Computing for Critical
Applications, Sept. 27-29, 1995.
8
EN 1050 Sécurité des machines. Principes pour l’appréciation du risque. (Machine safety. Risk
appreciation principles). 1997-01.
9
FARADIP.THREE (Failure Rate and Failure Mode Data Bank and Failure Mode and Effect Analysis
Package). Technis, Tonbridge, Kent UK 1997.
10
SN 29500 Failure Rates of Components, Part 1 – 7, Part 9 – 10. Siemens AG, ZT TN Corporate
Functions Technical Regulation and Standardization, Munich and Erlangen 1982 – 1999.
11
DEPENDABILITY OF CRITICAL COMPUTERS SYSTEMS EWICS/TC7 Ed. F.J. Redmill - 1988.
12
Method for performing diversity and defense-in-depth analyses of reactor protection systems Preckshot
G.G. Fission Energy and Systems Safety Program, Rapport UCRL-ID-119239, Dec 1994.
13
HANDBOOK OF SOFTWARE RELIABILITY ENGINEERING Lyu M.R. Computing Mac Graw-
Hill/IEEE Computer Society Press, 1995.
- 94 -