▼
Scroll to page 2
of
37
SoMachine EIO0000002389 06/2017 SoMachine ETEST Guide de l'utilisateur EIO0000002389.00 06/2017 www.schneider-electric.com Le présent document comprend des descriptions générales et/ou des caractéristiques techniques des produits mentionnés. Il ne peut pas être utilisé pour définir ou déterminer l'adéquation ou la fiabilité de ces produits pour des applications utilisateur spécifiques. Il incombe à chaque utilisateur ou intégrateur de réaliser l'analyse de risques complète et appropriée, l'évaluation et le test des produits pour ce qui est de l'application à utiliser et de l'exécution de cette application. Ni la société Schneider Electric ni aucune de ses sociétés affiliées ou filiales ne peuvent être tenues pour responsables de la mauvaise utilisation des informations contenues dans le présent document. Si vous avez des suggestions, des améliorations ou des corrections à apporter à cette publication, veuillez nous en informer. Aucune partie de ce document ne peut être reproduite sous quelque forme ou par quelque moyen que ce soit, électronique, mécanique ou photocopie, sans autorisation préalable de Schneider Electric. Toutes les réglementations de sécurité pertinentes locales doivent être observées lors de l'installation et de l'utilisation de ce produit. Pour des raisons de sécurité et afin de garantir la conformité aux données système documentées, seul le fabricant est habilité à effectuer des réparations sur les composants. Lorsque des équipements sont utilisés pour des applications présentant des exigences techniques de sécurité, suivez les instructions appropriées. La non-utilisation du logiciel Schneider Electric ou d'un logiciel approuvé avec nos produits matériels peut entraîner des blessures, des dommages ou un fonctionnement incorrect. Le non-respect de cette consigne peut entraîner des lésions corporelles ou des dommages matériels. © 2017 Schneider Electric. Tous droits réservés. 2 EIO0000002389 06/2017 Table des matières Consignes de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . A propos de ce manuel. . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Informations générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objets ETEST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Méthodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 2 Utilisation de l'ETEST . . . . . . . . . . . . . . . . . . . . . . . . . . . Ajout d'un objet ETEST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modification de scénarios de test . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation d'une série de tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation de ressources de test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exécution d'un test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Enregistrement des valeurs mesurées . . . . . . . . . . . . . . . . . . . . . . . . Evaluation des résultats d'un test . . . . . . . . . . . . . . . . . . . . . . . . . . . . Glossaire Index EIO0000002389 06/2017 ......................................... ......................................... 5 9 13 14 15 17 21 25 26 27 28 30 32 33 34 35 37 3 4 EIO0000002389 06/2017 Consignes de sécurité Informations importantes AVIS Lisez attentivement ces instructions et examinez le matériel pour vous familiariser avec l'appareil avant de tenter de l'installer, de le faire fonctionner, de le réparer ou d'assurer sa maintenance. Les messages spéciaux suivants que vous trouverez dans cette documentation ou sur l'appareil ont pour but de vous mettre en garde contre des risques potentiels ou d'attirer votre attention sur des informations qui clarifient ou simplifient une procédure. EIO0000002389 06/2017 5 REMARQUE IMPORTANTE L'installation, l'utilisation, la réparation et la maintenance des équipements électriques doivent être assurées par du personnel qualifié uniquement. Schneider Electric décline toute responsabilité quant aux conséquences de l'utilisation de ce matériel. Une personne qualifiée est une personne disposant de compétences et de connaissances dans le domaine de la construction, du fonctionnement et de l'installation des équipements électriques, et ayant suivi une formation en sécurité leur permettant d'identifier et d'éviter les risques encourus. AVANT DE COMMENCER N'utilisez pas ce produit sur les machines non pourvues de protection efficace du point de fonctionnement. L'absence de ce type de protection sur une machine présente un risque de blessures graves pour l'opérateur. AVERTISSEMENT EQUIPEMENT NON PROTEGE N'utilisez pas ce logiciel ni les automatismes associés sur des appareils non équipés de protection du point de fonctionnement. N'accédez pas aux machines pendant leur fonctionnement. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. Cet automatisme et le logiciel associé permettent de commander des processus industriels divers. Le type ou le modèle d'automatisme approprié pour chaque application dépendra de facteurs tels que la fonction de commande requise, le degré de protection exigé, les méthodes de production, des conditions inhabituelles, la législation, etc. Dans certaines applications, plusieurs processeurs seront nécessaires, notamment lorsque la redondance de sauvegarde est requise. Vous seul, en tant que constructeur de machine ou intégrateur de système, pouvez connaître toutes les conditions et facteurs présents lors de la configuration, de l'exploitation et de la maintenance de la machine, et êtes donc en mesure de déterminer les équipements automatisés, ainsi que les sécurités et verrouillages associés qui peuvent être utilisés correctement. Lors du choix de l'automatisme et du système de commande, ainsi que du logiciel associé pour une application particulière, vous devez respecter les normes et réglementations locales et nationales en vigueur. Le document National Safety Council's Accident Prevention Manual (reconnu aux Etats-Unis) fournit également de nombreuses informations utiles. Dans certaines applications, telles que les machines d'emballage, une protection supplémentaire, comme celle du point de fonctionnement, doit être fournie pour l'opérateur. Elle est nécessaire si les mains ou d'autres parties du corps de l'opérateur peuvent entrer dans la zone de point de pincement ou d'autres zones dangereuses, risquant ainsi de provoquer des blessures graves. Les produits logiciels seuls, ne peuvent en aucun cas protéger les opérateurs contre d'éventuelles blessures. C'est pourquoi le logiciel ne doit pas remplacer la protection de point de fonctionnement ou s'y substituer. 6 EIO0000002389 06/2017 Avant de mettre l'équipement en service, assurez-vous que les dispositifs de sécurité et de verrouillage mécaniques et/ou électriques appropriés liés à la protection du point de fonctionnement ont été installés et sont opérationnels. Tous les dispositifs de sécurité et de verrouillage liés à la protection du point de fonctionnement doivent être coordonnés avec la programmation des équipements et logiciels d'automatisation associés. NOTE : La coordination des dispositifs de sécurité et de verrouillage mécaniques/électriques du point de fonctionnement n'entre pas dans le cadre de cette bibliothèque de blocs fonction, du Guide utilisateur système ou de toute autre mise en œuvre référencée dans la documentation. DEMARRAGE ET TEST Avant toute utilisation de l'équipement de commande électrique et des automatismes en vue d'un fonctionnement normal après installation, un technicien qualifié doit procéder à un test de démarrage afin de vérifier que l'équipement fonctionne correctement. Il est essentiel de planifier une telle vérification et d'accorder suffisamment de temps pour la réalisation de ce test dans sa totalité. AVERTISSEMENT RISQUES INHERENTS AU FONCTIONNEMENT DE L'EQUIPEMENT Assurez-vous que toutes les procédures d'installation et de configuration ont été respectées. Avant de réaliser les tests de fonctionnement, retirez tous les blocs ou autres cales temporaires utilisés pour le transport de tous les dispositifs composant le système. Enlevez les outils, les instruments de mesure et les débris éventuels présents sur l'équipement. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. Effectuez tous les tests de démarrage recommandés dans la documentation de l'équipement. Conservez toute la documentation de l'équipement pour référence ultérieure. Les tests logiciels doivent être réalisés à la fois en environnement simulé et réel. Vérifiez que le système entier est exempt de tout court-circuit et mise à la terre temporaire non installée conformément aux réglementations locales (conformément au National Electrical Code des Etats-Unis, par exemple). Si des tests diélectriques sont nécessaires, suivez les recommandations figurant dans la documentation de l'équipement afin d'éviter de l'endommager accidentellement. Avant de mettre l'équipement sous tension : Enlevez les outils, les instruments de mesure et les débris éventuels présents sur l'équipement. Fermez le capot du boîtier de l'équipement. Retirez toutes les mises à la terre temporaires des câbles d'alimentation entrants. Effectuez tous les tests de démarrage recommandés par le fabricant. EIO0000002389 06/2017 7 FONCTIONNEMENT ET REGLAGES Les précautions suivantes sont extraites du document NEMA Standards Publication ICS 7.1-1995 (la version anglaise prévaut) : Malgré le soin apporté à la conception et à la fabrication de l'équipement ou au choix et à l'évaluation des composants, des risques subsistent en cas d'utilisation inappropriée de l'équipement. Il arrive parfois que l'équipement soit déréglé accidentellement, entraînant ainsi un fonctionnement non satisfaisant ou non sécurisé. Respectez toujours les instructions du fabricant pour effectuer les réglages fonctionnels. Les personnes ayant accès à ces réglages doivent connaître les instructions du fabricant de l'équipement et les machines utilisées avec l'équipement électrique. Seuls ces réglages fonctionnels, requis par l'opérateur, doivent lui être accessibles. L'accès aux autres commandes doit être limité afin d'empêcher les changements non autorisés des caractéristiques de fonctionnement. 8 EIO0000002389 06/2017 A propos de ce manuel Présentation Objectif du document Ce document décrit le framework ETEST de Logic Builder. Champ d'application Ce document a été actualisé pour le lancement de SoMachine V4.3. Documents à consulter Titre du document Référence Guide de la bibliothèque PD_ETest EIO0000002394 (ENG) ; EIO0000002395 (FRE) ; EIO0000002396 (GER) ; EIO0000002397 (ITA) ; EIO0000002398 (SPA) ; EIO0000002399 (CHS) SoMachine - Guide de programmation EIO0000000067 (ENG) ; EIO0000000069 (FRE) ; EIO0000000068 (GER) ; EIO0000000071 (SPA) ; EIO0000000070 (ITA) ; EIO0000000072 (CHS) Vous pouvez télécharger ces publications ainsi que d'autres informations techniques sur notre site Web : http://www.schneider-electric.com/ww/en/download. EIO0000002389 06/2017 9 Information spécifique au produit AVERTISSEMENT PERTE DE CONTROLE Le concepteur d'un système de commande doit envisager les modes de défaillance possibles des chemins de commande et, pour certaines fonctions de commande critiques, prévoir un moyen d'atteindre un état sécurisé en cas de défaillance d'un chemin, et après cette défaillance. Par exemple, l'arrêt d'urgence, l'arrêt en cas de surcourse, la coupure de courant et le redémarrage sont des fonctions de commande cruciales. Des canaux de commande séparés ou redondants doivent être prévus pour les fonctions de commande critiques. Les chemins de commande système peuvent inclure les liaisons de communication. Soyez particulièrement attentif aux implications des retards de transmission imprévus ou des pannes de liaison. Respectez toutes les réglementations de prévention des accidents ainsi que les consignes de sécurité locales.1 Chaque implémentation de cet équipement doit être testée individuellement et entièrement pour s'assurer du fonctionnement correct avant la mise en service. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. 1 Pour plus d'informations, consultez le document NEMA ICS 1.1 (dernière édition), « Safety Guidelines for the Application, Installation, and Maintenance of Solid State Control » (Directives de sécurité pour l'application, l'installation et la maintenance de commande statique) et le document NEMA ICS 7.1 (dernière édition), « Safety Standards for Construction and Guide for Selection, Installation, and Operation of Adjustable-Speed Drive Systems » (Normes de sécurité relatives à la construction et manuel de sélection, installation et opération de variateurs de vitesse) ou son équivalent en vigueur dans votre pays. AVERTISSEMENT FONCTIONNEMENT INATTENDU DE L’EQUIPEMENT N'utilisez que le logiciel approuvé par Schneider Electric pour faire fonctionner cet équipement. Mettez à jour votre programme d'application chaque fois que vous modifiez la configuration matérielle physique. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. 10 EIO0000002389 06/2017 Terminologie utilisée dans les normes Les termes techniques, la terminologie, les symboles et les descriptions correspondantes employés dans ce manuel ou figurant dans ou sur les produits proviennent généralement des normes internationales. Dans les domaines des systèmes de sécurité fonctionnelle, des variateurs et de l'automatisme en général, les termes employés sont sécurité, fonction de sécurité, état sécurisé, défaut, réinitialisation du défaut, dysfonctionnement, panne, erreur, message d'erreur, dangereux, etc. Entre autres, les normes concernées sont les suivantes : Norme Description EN 61131-2:2007 Automates programmables - Partie 2 : exigences et essais des équipements ISO 13849-1:2008 Sécurité des machines - Parties des systèmes de commande relatives à la sécurité Principes généraux de conception EN 61496-1:2013 Sécurité des machines - Équipements de protection électro-sensibles Partie 1 : prescriptions générales et essais ISO 12100:2010 Sécurité des machines - Principes généraux de conception - Appréciation du risque et réduction du risque EN 60204-1:2006 Sécurité des machines - Équipement électrique des machines - Partie 1 : règles générales EN 1088:2008 ISO 14119:2013 Sécurité des machines - Dispositifs de verrouillage associés à des protecteurs - Principes de conception et de choix ISO 13850:2006 Sécurité des machines - Fonction d'arrêt d'urgence - Principes de conception EN/IEC 62061:2005 Sécurité des machines - Sécurité fonctionnelle des systèmes de commande électrique, électronique et électronique programmable relatifs à la sécurité IEC 61508-1:2010 Sécurité fonctionnelle des systèmes électriques/électroniques/électroniques programmables relatifs à la sécurité - Exigences générales IEC 61508-2:2010 Sécurité fonctionnelle des systèmes électriques/électroniques/électroniques programmables relatifs à la sécurité - Exigences pour les systèmes électriques/électroniques/électroniques programmables relatifs à la sécurité IEC 61508-3:2010 Sécurité fonctionnelle des systèmes électriques/électroniques/électroniques programmables relatifs à la sécurité - Exigences concernant les logiciels IEC 61784-3:2008 Communications numériques pour les systèmes de mesure et de commande Bus de terrain de sécurité fonctionnelle 2006/42/EC Directive Machines 2014/30/EU Directive sur la compatibilité électromagnétique 2014/35/EU Directive sur les basses tensions EIO0000002389 06/2017 11 De plus, des termes peuvent être utilisés dans le présent document car ils proviennent d'autres normes telles que : Norme Description Série IEC 60034 Machines électriques rotatives Série IEC 61800 Entraînements électriques de puissance à vitesse variable Série IEC 61158 Communications numériques pour les systèmes de mesure et de commande Bus de terrain utilisés dans les systèmes de commande industriels Enfin, le terme zone de fonctionnement utilisé dans le contexte de la description de dangers spécifiques a la même signification que les termes zone dangereuse ou zone de danger employés dans la directive Machines (2006/42/EC) et la norme ISO 12100:2010. NOTE : Les normes susmentionnées peuvent s'appliquer ou pas aux produits cités dans la présente documentation. Pour plus d'informations sur chacune des normes applicables aux produits décrits dans le présent document, consultez les tableaux de caractéristiques de ces références de produit. 12 EIO0000002389 06/2017 SoMachine Introduction EIO0000002389 06/2017 Chapitre 1 Introduction Introduction Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Page Informations générales 14 Objets ETEST 15 Méthodes 17 Macros 21 EIO0000002389 06/2017 13 Introduction Informations générales Présentation ETEST est un framework qui automatise le test d'unités dans le code de programmes exécutés avec SoMachine. Les tests automatisés permettent de vérifier que les fonctions mises en œuvre sont correctes. L'exécution postérieure de tests d'unité après chaque modification du code du programme contribue à améliorer la qualité. Le framework ETEST simplifie la définition et l'exécution de tests réutilisables. Considérations théoriques Les tests d'unité font partie du processus de développement des logiciels. Ils permettent de vérifier que les unités de programmation d'une application (par exemple, les fonctions ou les blocs fonction) sont correctes. Vous pouvez ainsi vérifier qu'un programme respecte la spécification prédéfinie. Les tests d'unité représentent une phase préliminaire recommandée pour les tests d'intégration. Ces tests d'intégration permettent de tester plusieurs unités interdépendantes. Contrairement aux tests d'unité, les tests d'intégration s'exécutent manuellement. Chaque modification du code du programme est source d'erreurs potentielles. Pour éviter les erreurs, exécutez tous les scénarios de test dès que vous modifiez le code du programme. Ces répétitions (ou tests de régression) permettent de s'assurer que les modifications du code du programme n'ont pas d'effets délétères sur les parties inchangées du logiciel, et que le système modifié continue de respecter les exigences spécifiées. Parallèlement au développement d'une application, des tests d'unité sont générés et mis à jour. Automatisés et reproductibles, ces tests vous permettent d'analyser les effets des modifications que vous avez apportées au code du programme. Bibliothèque PD_ETest La bibliothèque PD_ETest fournit un ensemble de blocs fonction assistants du framework ETEST de Logic Builder. Lorsque vous créez un objet Scénario de test dans Logic Builder, la bibliothèque PD_ETest est automatiquement intégrée dans votre projet. Sans cette bibliothèque, ETEST est inutilisable. Obtention d'une licence L'exécution de framework ETEST nécessite une licence valide. Une fois l'installation terminée, la licence d'évaluation valable 42 jours s'active automatiquement si aucune licence permanente n'est disponible. Pour activer une licence permanente, démarrez le Gestionnaire de licences Schneider Electric installé en même temps que le framework ETEST. 14 EIO0000002389 06/2017 Introduction Objets ETEST Présentation L'illustration montre les objets ETEST disponibles dans l'arborescence Outils de Logic Builder, en tant que sous-nœuds d'un nœud Application : EIO0000002389 06/2017 15 Introduction Objet ETEST Description Elément de légende Scénario de test Composant central de ETEST. 1 En fait, il s'agit d'un bloc fonction. Il utilise les extensions orientées objet de la norme IEC 61131-3, disponibles dans Logic Builder. Met en œuvre l'interface IF_TestCase. Contient les méthodes (voir page 17) qui peuvent utiliser des macros (voir page 21). TestManager Un responsable de test est un bloc fonction d'administration. Ce 2 bloc fonction exécute des scénarios de test et des séries de tests, sous la forme d'un sous-processus de l'application associée. S'il faut exécuter des tests pour une application, les conditions suivantes doivent être remplies : Un objet TestManager doit être disponible comme un sousnœud du nœud Application. Une tâche doit référencer cet objet. Les deux sont créés automatiquement si vous insérez un objet ETEST sous un nœud Application. Ressources du test Intègre l'accès ainsi que l'initialisation des matériels et des 3 Permet de regrouper des scénarios de test. 4 structures de données utilisés par les scénarios de test. ETEST ne crée qu'une instance par ressource. ETEST initialise les ressources avant leur utilisation (en appelant leur méthode Prepare). ETEST désinitialise les ressources après leur utilisation (en appelant leur méthode CleanUp). Avant d'exécuter un scénario de test, ETEST vérifie que les ressources intégrées dans ce dernier sont initialisées et que le scénario reçoit une référence à l'instance de la ressource. Une fois le scénario de test terminé, ETEST vérifie que la ressource est à nouveau désinitialisée. D'autres ressources peuvent être intégrées dans des ressources (comme dans des scénarios de test). Les dépendances cycliques entre des ressources ne sont pas autorisées. Séries de tests Permet de référencer des scénarios de test ou d'autres séries de tests. NOTE : Un objet ETEST peut être exécuté si les conditions suivantes sont remplies : C'est un objet Scénario de test ou Séries de tests qui est un sous-nœud du nœud Application. Il a été sélectionné par un objet Séries de tests exécutable. Exemple : un objet Scénario de test qui est un nœud de l'arborescence Outils peut être exécuté s'il est sélectionné dans un objet Séries de tests qui est un sous-nœud d'un nœud Application. 16 EIO0000002389 06/2017 Introduction Méthodes Présentation Les scénarios et ressources de test contiennent des méthodes prédéfinies. Ces méthodes sont appelées par le framework de test pendant l'exécution de tests. C'est vous, l'utilisateur, qui programmez le contenu de ces méthodes, c'est-à-dire la logique du test. Ces méthodes prédéfinies par ETEST ne se comportent pas différemment des méthodes générales décrites dans le Guide de programmation de SoMachine (voir SoMachine, Programming Guide). 1 2 3 4 CleanUp : nettoyage après le scénario de test. Execute : exécution du scénario de test. Finalize : nettoyage après le scénario de test. (Appelé une fois dans le cycle où Execute est terminé.) Prepare : préparation du scénario de test. EIO0000002389 06/2017 17 Introduction Méthodes de scénarios et de ressources de test Les scénarios de test contiennent les méthodes : Prepare Execute Finalize CleanUp Les ressources contiennent les méthodes : Prepare CleanUp Ces méthodes doivent être incluses dans chaque objet de test. De plus, les scénarios et ressources de test peuvent contenir un nombre illimité d'autres méthodes. NOTE : les méthodes des scénarios et ressources de test doivent être écrites en langage ST (Structured Text). Sinon, une erreur peut survenir. Séquence des méthodes pendant l'exécution d'un test Pendant l'exécution d'un scénario de test, les méthodes sont appelées par le framework ETEST dans la séquence suivante, quel que soit leur ordre d'apparition dans l'arborescence Outils : Séquence Méthode Type d'appel Description Condition de fin 1 Prepare Cyclique Les mesures préparatoires du test sont exécutées, par exemple l'initialisation des variables ou le contrôle positionnel d'un axe. La macro ASSERT a été Contient le test lui-même. La macro ASSERT a été 2 Execute Cyclique évaluée comme FALSE. L'initialisation a abouti. (La macro TEST_DONE a été appelée.) évaluée comme FALSE. Le test a abouti. (La macro TEST_DONE a été appelée.) 3 18 Finalize Une fois La méthode est appelée si les Elle est suivie directement conditions suivantes sont par la méthode CleanUp. remplies : L'exécution de la méthode Execute génère une erreur. La méthode Execute arrête de s'exécuter à intervalles réguliers, à la fin du scénario de test pendant le même cycle. La méthode Execute est annulée par la saisie de l'utilisateur. EIO0000002389 06/2017 Introduction Séquence Méthode Type d'appel Description 4 CleanUp Cyclique Rétablit l'état initial de l'objet de La macro ASSERT a été test. L'objet peut ensuite être évaluée comme réutilisé. FALSE. Le test a abouti. (La macro TEST_DONE a été appelée.) Condition de fin Pendant l'exécution d'un scénario de test, une seule méthode d'un scénario de test est appelée dans chaque cycle. La méthode Finalize, utilisée dans le même cycle que le dernier appel de Execute, est une exception. Les macros (voir page 21) sont utilisables dans les méthodes de scénarios et ressources de test. EIO0000002389 06/2017 19 Introduction Méthodes d'appel Ce schéma montre comment le framework ETEST appelle les méthodes de test : 20 EIO0000002389 06/2017 Introduction Macros Présentation Certaines macros sont disponibles dans les méthodes (voir page 17) des objets ETEST. Vous pouvez utiliser ces macros pour contrôler l'exécution des tests et déterminer le résultat d'un scénario de test. Les macros sont appelées de la même manière que les méthodes. Contrairement à un appel de fonction, un appel de macro peut écrire des variables de la méthode d'appel et déclencher un retour de la méthode d'appel. Les macros sont autorisées dans les méthodes suivantes de scénarios et de ressources de test : Prepare Execute CleanUp Vous pouvez également utiliser les macros dans des méthodes appelées avec ASSERT_SUBMETHOD. NOTE : l'utilisation de macros dans d'autres méthodes de scénarios et ressources de test peut générer des erreurs. En particulier, n'utilisez pas de macros dans la méthode Finalize. Dans d'autres objets, les macros sont sans effet. Ceci est indiqué par un message qui s'affiche dans la vue Messages. EIO0000002389 06/2017 21 Introduction Macros dans des méthodes de scénarios et de ressources de test Dans les méthodes de scénarios et de ressources de test, les macros suivantes sont possibles : Appel de macro Description ASSERT(condition) FALSE : l'exécution échoue. TRUE : l'exécution aboutit. ASSERT(condition, message) FALSE : l'exécution échoue. TRUE : l'exécution aboutit. message est le message de diagnostic qui s'affiche comme résultat. ASSERT_INCONCLUSIVE(condition, message) FALSE : le résultat du test n'est pas concluant. Le résultat ne permet pas de savoir si un test n'a pas pu être effectué. La cause peut être, par exemple, qu'un équipement matériel obligatoire n'est pas disponible sur le système de test. TRUE : le test s'exécute correctement. ASSERT_SUBMETHOD(method_call(i_xFirstCa Method_call permet d'appeler les méthodes qui, à leur tour, ll, i_ifErrorLogger)) peuvent utiliser les macros pour influencer le flux de contrôle de la méthode d'appel. FALSE : une erreur a été détectée pendant l'appel de la méthode. Dans une méthode appelée par ASSERT_SUBMETHOD et qui a été évaluée comme FALSE, ASSERT a le même effet que ASSERT qui a été évaluée comme FALSE directement dans la méthode d'appel. En revanche, dans une méthode appelée sans ASSERT_SUBMETHOD, ASSERT est sans effet sur la méthode d'appel. Lorsque vous utilisez ASSERT_SUBMETHOD, veillez à respecter la syntaxe concernant la déclaration des paramètres et le type de retour (consultez également l'exemple 2 (voir page 23)) : Déclarez i_ifErrorLogger dans la sous-méthode similaire à la méthode Execute. Déclarez et utilisez le type de retour ET_TestReturn dans la sous-méthode similaire à la méthode Execute. i_ifErrorLogger doit également être transféré à la sous-méthode. TEST_DONE() 22 L'exécution du test aboutit (sans aucune erreur détectée). Une méthode RETURN arrête simplement le cycle en cours. La méthode sera ensuite rappelée dans le cycle suivant. EIO0000002389 06/2017 Introduction Macros arrêtant l'exécution de méthodes Les méthodes Prepare, Execute et CleanUp d'un scénario ou d'une ressource de test sont appelées de manière cyclique tant qu'un ASSERT est évalué comme FALSE ou qu'un TEST_DONE est appelé. Si un TEST_DONE est appelé ou si un ASSERT est évalué comme FALSE, l'exécution de la méthode est interrompue, annulant le reste de l'exécution de la méthode. Si... Alors… l'exécution d'un test se termine avec TEST_DONE le test a abouti. une assertion de la méthode Execute ou Prepare est évaluée comme FALSE. l'exécution du scénario de test a échoué. NOTE : si une assertion de la méthode CleanUp est évaluée comme FALSE, l'exécution du test est interrompue. Ce cas de figure est catégorisé comme une erreur pendant l'initialisation ou la désinitialisation. Un message s'affiche dans Logic Builder. Il indique que le test a été annulé et qu'une réinitialisation du contrôleur est requise. Exemple 1 Dans l'exemple de code de programme ci-dessous, les macros ASSERT et TEST_DONE sont utilisées dans la partie mise en œuvre de la méthode Execute. diResult := MyAdditionFunction(4, 3); ASSERT(diResult = 7, 'MyAdditionFunction addition result not correct') ; TEST_DONE(); Exemple 2 Dans l'exemple de code de programme suivant, les macros ASSERT et TEST_DONE sont utilisées pour tester la fonction my_add (une simple addition). Dans ce scénario de test, une méthode TestMyAdd a été créée. La méthode Execute du scénario de test l'appelle plusieurs fois pour tester la fonction my_add dans différentes conditions limites et avec différents paramètres. (* Methode Execute *) (* Declaration part*) METHOD Execute : PD_ETest.ET_TestReturn VAR_INPUT i_xFirstCall : Bool; i_ifErrorLogger : PD_ETest.IF_ErrorLogger; END_VAR VAR_OUTPUT q_rProgress : REAL; q_sState . STRING[255]; EIO0000002389 06/2017 23 Introduction END_VAR VAR END_VAR (* Implementation part*) ASSERT_SUBMETHOD (TestMyAdd(12, 2, 14, i_ifErrorLogger)); ASSERT_SUBMETHOD (TestMyAdd(12, 3, 15, i_ifErrorLogger)); ASSERT_SUBMETHOD (TestMyAdd(12, 4, 16, i_ifErrorLogger)); TEST_DONE(); (* Submethod TestMyAdd *) (* Declaration part *) METHOD TestMyAdd : PD_ETest.ET_TestReturn VAR_INPUT i_a : INT; i_b : INT; i_result : INT; i_ifErrorLogger : PD_ETest.IF_ErrorLogger; END_VAR VAR iResult : INT; END_VAR (* Implementation part *) iResult : my_add(i_a, i_b); ASSERT(iresult = i_result); (* Function my_add *) (* Declaration part *) FUNCTION my_add : INT VAR_INPUT a : INT; b : INT; END_VAR VAR END_VAR (* Implementation part *) iResult : my_add := a + b; 24 EIO0000002389 06/2017 SoMachine Utilisation de l'ETEST EIO0000002389 06/2017 Chapitre 2 Utilisation de l'ETEST Utilisation de l'ETEST Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Page Ajout d'un objet ETEST 26 Modification de scénarios de test 27 Utilisation d'une série de tests 28 Utilisation de ressources de test 30 Exécution d'un test 32 Enregistrement des valeurs mesurées 33 Evaluation des résultats d'un test 34 EIO0000002389 06/2017 25 Utilisation de l'ETEST Ajout d'un objet ETEST Ajout d'un objet ETEST Pour ajouter un objet ETEST à votre projet, procédez comme suit : Etape Action 1 Cliquez avec le bouton droit de la souris sur le nœud Application dans l'arborescence Outils et exécutez la commande Ajouter un objet... dans le menu contextuel. 2 Sélectionnez l'objet ETEST à ajouter (Scénario de test, Ressources du test, Série de tests). Résultat : la boîte de dialogue Objet ETEST s'affiche. 3 Renommez votre objet en saisissant un nom dans la zone de texte Nom. NOTE : choisissez un nom conforme à la norme IEC. N'utilisez pas de caractères spéciaux, de chiffres en début ou d'espaces dans le nom. Le nom ne doit pas comporter plus de 32 caractères. Si vous ne renommez pas l'objet, il reçoit un nom par défaut. 4 26 Cliquez sur le bouton Ajouter. Résultat : l'objet ETEST est ajouté au projet et s'affiche en tant que nouveau nœud dans l'arborescence Outils. EIO0000002389 06/2017 Utilisation de l'ETEST Modification de scénarios de test Présentation La structure des scénarios de test est similaire à celles des blocs fonction, à ceci près qu'aucun éditeur n'est disponible dans la section de mise en œuvre. Seules les méthodes des scénarios de test sont mises en œuvre. Pour mettre en œuvre un scénario de test, utilisez l'éditeur de méthode en double-cliquant sur la méthode dans l'arborescence Outils. 1 2 3 L'éditeur de déclaration correspond à la section de déclaration d'un bloc fonction. Vous pouvez basculer entre la vue textuelle et la vue tabulaire de l'éditeur, grâce aux boutons Texte et Tableau. La zone Ressources référencées fournit les ressources de test intégrées. La zone Description fournit des explications sur le scénario de test. EIO0000002389 06/2017 27 Utilisation de l'ETEST Utilisation d'une série de tests Présentation Un projet comprend plusieurs scénarios de test. L'éditeur Série de tests vous permet de regrouper plusieurs scénarios dans une série de tests, en vue d'une exécution séquentielle. 28 EIO0000002389 06/2017 Utilisation de l'ETEST L'éditeur Série de tests se divise en deux parties : Zone Description Blocs fonction disponibles Cette liste comprend les scénarios de test et les séries de tests qui dépendent du même nœud Application que la série de tests ouverte. Elle inclut également les scénarios de test et les séries de tests, situés dans l'arborescence Outils. Vous ne pouvez pas sélectionner une série de tests, qui est un sous-nœud d'elle-même. Les références cycliques de séries de tests ne sont pas autorisées. POU sélectionnés Les POU sélectionnés s'affichent. Ce sont des scénarios de test. Une série de tests ne peut sélectionner qu'un POU directement. En revanche, il est possible de sélectionner des POU plusieurs fois indirectement. Une série de tests peut donc inclure d'autres séries de tests, lesquelles peuvent contenir le même scénario de test. Bouton/zone Description Ajouter Déplace le scénario de test sélectionné de la liste Blocs fonction disponibles vers la liste POU sélectionnés. Supprimer Déplace le scénario de test sélectionné de la liste POU sélectionnés vers la liste Blocs fonction disponibles. Vers le haut Déplace vers le haut de la liste, un scénario de test situé dans la zone POU sélectionnés. Vers le bas Déplace vers le bas de la liste, un scénario de test situé dans la zone POU sélectionnés. Filtres tout Saisissez un texte dans le champ Filtres pour filtrer la liste des Blocs fonction disponibles. Cliquez sur le bouton tout pour effacer le filtre. Action avec la souris ou le clavier Description Double-clic Double-cliquez sur une entrée dans la liste Blocs fonction disponibles pour la faire passer dans la liste POU sélectionnés (et inversement). Touche Suppr Déplace le scénario de test sélectionné de la liste POU sélectionnés vers la liste Blocs fonction disponibles. Raccourci Ctrl+A Sélectionne toutes les entrées de la liste. EIO0000002389 06/2017 29 Utilisation de l'ETEST Utilisation de ressources de test Présentation Une ressource de test intègre l'accès ainsi que l'initialisation du matériel et des structures de données utilisés par les scénarios de test. Les ressources sont créées et traitées comme des scénarios de test (voir page 27). Un scénario ou une ressource de test peut être lié à une ressource. La section de déclaration des ressources (Ressources référencées) se trouve dans la partie centrale de l'éditeur. 30 Bouton Description + Ajouter Ajoute une ressource de test. - Supprimer Supprime une ressource de test. Vers le haut Déplace la ressource de test sélectionnée, vers le haut de la liste. Vers le bas Déplace la ressource de test sélectionnée, vers le bas de la liste. Action avec la souris ou le clavier Description Double-clic Double-cliquez sur une entrée de la liste Ressources référencées pour la modifier. Touche Suppr Supprime la ressource de test. Raccourci Ctrl+A Sélectionne les entrées de la liste Ressources référencées. Raccourci Ctrl+clic ou Maj+clic Sélectionne plusieurs entrées de la liste Ressources référencées. EIO0000002389 06/2017 Utilisation de l'ETEST Chaque ligne du tableau comprend une ressource référencée. La colonne Nom de l'instance contient le nom de la ressource. Ce nom est utilisé si la ressource est appelée depuis un objet de test : une variable portant ce nom est générée et contient une référence de la ressource. La colonne Ressources (noms de type) contient le type de la ressource. C'est le nom de l'objet ressource de test à intégrer. Dans la vue en ligne, les ressources sont affichées avec les autres variables. EIO0000002389 06/2017 31 Utilisation de l'ETEST Exécution d'un test Présentation Cette section explique comment exécuter des scénarios de test et des séries de test (voir page 28). ETEST comprend deux processus de test principaux. Un processus s'exécute dans le Logic Builder sur le PC. L'autre processus s'exécute sur le contrôleur. Le processus sur le contrôleur est intégré dans l'application exécutée sur le contrôleur. Ces deux processus communiquent par une structure de données de communication. Exécution d'un test Pour exécuter un test, les conditions suivantes doivent être remplies : L'application doit contenir un objet de test référencé dans une tâche. Le scénario de test ou la série de tests à exécuter doit être sélectionné dans l'arborescence Outils. Aucun autre test ne doit être en cours. Pour exécuter un test, procédez comme suit : Etape Action 1 Dans l'arborescence Outils, cliquez avec le bouton droit de la souris sur le nœud du scénario de test à exécuter. Résultat : le menu contextuel s'affiche. 2 Exécutez la commande Démarrer le test dans le menu contextuel. Résultat : le scénario de test est exécuté. Une fois le test lancé, la vue des résultats s'affiche. Elle indique l'état d'avancement du test. Pour arrêter un test en cours, cliquez sur l'icône Annuler le test dans la barre d'outils. NOTE : pendant l'exécution d'un test, respectez les consignes suivantes : Ne déconnectez pas le contrôleur. Ne vous déconnectez pas. N'arrêtez pas/ne réinitialisez pas l'application. Ne modifiez pas le projet. Sinon, la logique du test est interrompue et les résultats obtenus sont inexploitables. 32 EIO0000002389 06/2017 Utilisation de l'ETEST Enregistrement des valeurs mesurées Présentation L'exemple décrit dans ce chapitre montre comment enregistrer les valeurs mesurées. Pour ce faire, le code de programmation suivant doit être appelé dans une méthode exécutée dans le cadre d'un test. Exemple TestManager.fbMeasurandList.AddMeasurand('module', 'name', ET_Measurand Types.E_NotClassified, 'value'); Pour plus d'informations, reportez-vous à : FB_MeasurandList (voir SoMachine, PD_ETest, Guide de la bibliothèque) ET_MeasurandTypes (voir SoMachine, PD_ETest, Guide de la bibliothèque) A chaque exécution d'une commande, une nouvelle valeur mesurée est enregistrée. TestManager est le nom de l'objet (voir page 15) TestManager de l'application. EIO0000002389 06/2017 33 Utilisation de l'ETEST Evaluation des résultats d'un test Présentation Dans la vue Résultats du test, le framework ETEST indique les résultats et l'état d'avancement du test en cours. NOTE : si les scénarios de test sont conçus pour les blocs fonction figurant dans des bibliothèques, vérifiez la compatibilité des bibliothèques mises à jour, car cela peut affecter vos scénarios de test. Tests exécutés La liste Exécutions de tests indique les tests exécutés depuis le démarrage de Logic Builder. Boutons Description Exporter Enregistre les résultats du test sélectionné, dans un fichier XML. (*.testresult). Importer Ouvre les résultats d'un test, stockés dans un fichier XML. Imprimer le rapport Ouvre un rapport HTML dans le navigateur web. Résultats d'un test Cliquez sur une entrée dans la liste Exécutions de tests pour ouvrir le test dans la zone Résultats du test. Les résultats importés s'ouvrent dans la zone Résultats du test et dans la liste des tests récemment exécutés. La zone Résultats du test s'ouvre automatiquement lors du démarrage d'un test. Elle indique le résultat (ou l'état) d'un test. La zone Résultats du test se divise en deux parties. En haut, le résumé des résultats du test indique le nom du POU exécuté et le résultat total. En bas, une section affiche plusieurs onglets : 34 Onglet Description Résultats du test Cette arborescence indique la série de tests et les scénarios de test. Elle affiche les résultats de chaque nœud. Commentaire de l'utilisateur Cet onglet indique le nom et le commentaire de l'utilisateur. Par défaut, c'est le nom d'utilisateur Windows qui apparaît. Vous pouvez ajouter un commentaire dans la zone Commentaire. Il est stocké avec le résultat du test. Produits Cet onglet affiche les bibliothèques disponibles dans le projet pendant le test. Valeurs mesurées Cet onglet indique les valeurs mesurées et enregistrées pendant l'exécution du test. Ces informations permettent de mesurer les durées et la taille des structures de données. EIO0000002389 06/2017 SoMachine Glossaire EIO0000002389 06/2017 Glossaire A application Programme comprenant des données de configuration, des symboles et de la documentation. B bus d'extension Bus de communication électronique entre des modules d'E/S d'extension et un contrôleur. C configuration Agencement et interconnexions des composants matériels au sein d'un système, ainsi que les paramètres matériels et logiciels qui déterminent les caractéristiques de fonctionnement du système. contrôleur Automatise des processus industriels. On parle également de contrôleur logique programmable (PLC) ou de contrôleur programmable. E E/S Entrée/sortie P programme Composant d'une application constitué de code source compilé qu'il est possible d'installer dans la mémoire d'un contrôleur logique. EIO0000002389 06/2017 35 Glossaire 36 EIO0000002389 06/2017 SoMachine Index EIO0000002389 06/2017 Index A ajout objets ETEST, 26 C P Prepare, méthode, 17 R CleanUp, méthode, 17 résultats ETEST, 34 E T F U enregistrement des valeurs mesurées, 33 ETEST ajout d'objets, 26 exemples, 21 informations générales, 14 macros, 21 objets, 15 Execute, méthode, 17 exécution test, 32 exemples méthode de scénario de test, 23 Finalize, méthode, 17 M test exécution, 32 responsables, 15 responsables, enregistrement des valeurs mesurées, 33 ressources, 15 ressources, utilisation, 30 résultats, 34 scénarios, 15 scénarios, modification, 27 série, 15 série, utilisation, 28 utilisation ressources de test, 30 série de tests, 28 macros ETEST, 21 modification de scénarios de test, 27 O objets ETEST, 15 EIO0000002389 06/2017 37