+1 500 000 produits offerts

7000 colis expédiés chaque jour

+300 000 clients de 150 pays

Quick Buy Favoris
Panier

Relais programmable easyE4 (partie 3)

Date de publication: 18-03-2021 🕒 15 min de lecture

Eaton EasyE4

Application du relais programmable easyE4 pour construire un compteur de personnes dans une pièce.

Dans les parties précédentes nous avons déjà appris comment créer un programme pour easyE4 et l’envoyer au relais. Nous avons également créé l’interface utilisateur et vérifié son fonctionnement. Nous devons encore préparer le logiciel pour faire fonctionner des capteurs (barrières lumineuses), reconnaître la direction du mouvement d’une personne et générant sur cette base une impulsion augmentant ou diminuant le nombre actuel de personnes dans une pièce affiché par le compteur. Sur cette base, nous allons contrôler le fonctionnement d’un avertisseur à 2 chambres ou d’un interrupteur d’éclairage, de ventilation, etc.

Dans l’automatisation industrielle, nous allons trouver de nombreux exemples de solutions de détecteurs de direction de mouvement. Certains fabricants de semi-conducteurs produisent des circuits intégrés qui, lorsqu’ils sont connectés à un codeur incrémental, produisent des formes d’onde spécifiant le sens de rotation et sa vitesse. Ce type de codeur a deux sorties (A et B) où le signal B est déphasé de ± 90 degrés par rapport au signal A. Généralement, on pourrait utiliser un tel système ou une solution discrète (construite de grilles et de registres), mais il faut se rappeler que malgré la séquence similaire de formes d’onde sur les entrées du relais programmable, les gens peuvent se comporter de manière difficile à prévoir.

Rappelons les figures n° 3 et 4 présentées dans la première partie de l’article. Elles affichent la séquence des signaux aux sorties des barrières photoélectriques, et donc aux entrées du relais de commande easyE4, lorsqu’une personne entre ou sort de la pièce. Toutes les deux figures montrent la situation parfaite, dans laquelle toute la séquence de signaux s’est produite, mais en réalité cela ne doit pas se passer ainsi. Une personne qui entre à portée du capteur 1 peut changer d’avis et reculer. Il peut également apparaître dans la plage du capteur 2, en contournant le capteur 1, etc. Notre solution devrait être résistante à un tel comportement des personnes comptées et au moins ne pas arrêter le fonctionnement du compteur, mais redémarrer le processus et réagir correctement lorsqu’il détecte la personne suivante.

3_niveau

Séquence de recouvrement / de découverte des capteurs augmentant l’état du compteur

4_poziom

Séquence de recouvrement / de découverte des capteurs diminuant l’état du compteur

Le détecteur de direction le plus simple peut être réalisé à l’aide du registre de type D. Nous attachons la barrière 1 à l’entrée d’information d’un tel registre, et la barrière 2 à l’entrée d’horloge. Nous plaçons les barrières suffisamment proches les unes des autres pour que l’objet, venant du côté du capteur 1, provoque d’abord l’apparition d’« 1 » logique au niveau des informations d’entrée, puis – toujours avec « 1 », sur l’entrée D – l’apparition d’un front augmentant sur l’entrée d’horloge qui en réécrira « 1 » à partir de l’entrée d’information dans la sortie du registre. Lors du mouvement du côté du capteur 2, une impulsion d’horloge apparaîtra d’abord, qui réécrira le « 0 » logique de l’entrée du registre D vers la sortie Q. De cette manière, nous pouvons reconnaître le sens du mouvement et contrôler l’entrée du sens de comptage. En ce qui concerne l’impulsion d’horloge, elle ne doit se produire que lorsque l’état de la sortie du registre D est établi. Il est possible d’utiliser l’impulsion sur l’entrée d’horloge du registre D, mais il est nécessaire ajouter un chemin de retard pour cette impulsion afin de prendre compte du temps de propagation du registre. Analysons maintenant une situation où une personne se trouve à portée du capteur 1 et recule. Cela ne devrait pas poser de problème car l’impulsion est apparue uniquement sur l’entrée d’informations du registre et elle ne va pas changer l’état de sa sortie. La situation pire de l’autre côté, car une telle entrée / sortie de la portée de fonctionnement sera identifiée comme un cycle complet et correcte. Par conséquent, notre système de détection de direction de mouvement ne doit pas non seulement répondre à la séquence complète de signaux, mais de plus il peut ne pas générer l’impulsion plus / moins pour le compteur, si cette séquence n’est pas entièrement réalisée, c’est-à-dire s’il n’y a pas d’impulsions aux deux entrées du relais programmable, dans ce cas, I01 et I02 sont utilisés.

Lors de la mise en œuvre du détecteur de la direction du mouvement de la personne, il a été supposé qu’il serait équipé deux sorties d’horloge, qui, comme les touches « à droite » / « à gauche » ou « haut » / « bas » utilisées dans ce programme, vont générer des impulsions d’horloge sur les deux sorties séparées. L’une de ces sorties provoquera l’augmentation du compteur et l’autre sa diminution. La génération du signal pour le bloc compteur sera effectuée par les grilles logiques placées dans le même réseau avec le compteur. De plus, le détecteur ne sera pas sensible à un éventuel « clignotement » du signal présent sur ses entrées. Le signal plus / moins ne sera généré que lorsque la séquence suivante est remplie :

  • Augmentation de l’état du compteur : impulsion sur I01 –> impulsion sur I02.
  • Diminution de l’état du compteur : impulsion sur I02 –> impulsion sur I01.

La meilleure méthode pour éviter le « clignotement » de la forme d’onde d’entrée est d’utiliser la bascule RS. Il présente l’avantage qu’après avoir fourni de la tension à l’entrée réglant la sortie (SET) ou réinitialisant (RESET) la bascule reste dans un état stable, que le niveau logique à l’entrée SET change ou non. Dans le détecteur de direction de mouvement proposé sur toutes les deux entrées du relais easyE4 (I01, I02) les bascules RS ont été utilisées. Elles sont réglées par un niveau de tension élevé sur l’entrée appropriée et restent réglées jusqu’à leur réinitialisation.

Il serait idéalement que l’impulsion de réinitialisation des deux bascules RS soit une impulsion d’entrée du compteur, car sa réception signifierait que le cycle de détection de la direction du mouvement s’est terminé correctement, le détecteur a généré une impulsion pour le compteur et il est prêt pour la séquence suivante de signaux. Toutefois, la personne à compter peut entrer dans la portée de fonctionnement de l’un des capteurs ou entre les compteurs, et dans cette situation seulement l’un des signaux va apparaître à l’entrée du module logique, et non les deux nécessaires à une détection correcte. Dans ce cas comment réinitialiser les bascules d’entrée et quelle bascule doit être réinitialisée ? Il semble juste de réinitialiser toutes les deux après un court temps prévu pour le cycle entier. Ce temps dans les solutions logicielles ou matérielles est appelé timeout ou en français – épuisement du délai alloué à une tâche.

Bascule RS – définition du module utilisateur

La possibilité de définir les blocs utilisateur constitue l’un des avantages de la programmation avec un diagramme de blocs fonctionnels (FBD). Grâce cet avantage il est possible non seulement de définir nos propres blocs et les utiliser plusieurs fois dans divers schémas, mais également d’utiliser des solutions matérielles créées par des collègues, des fabricants, disponibles sur les forums Internet et autres. Pour nos besoins et dans le cadre de l’exercice, nous allons réaliser un tel bloc utilisateur contenant une bascule RS simple composée de deux grilles NON-ET. Son schéma est illustré à la figure 1. Dans notre application, nous avons besoin d’une bascule qui est déclenchée par un niveau élevé et pour ces raisons nous allons ajouter des onduleurs (grilles NON) à ses entrées.

Bascule RS composée de grilles NON-ET Figure 1. Bascule RS composée de grilles NON-ET

Pour exécuter un module utilisateur, sélectionnez menu Programme –> Créer un module utilisateur. Il est possible également d’utiliser l’icône de raccourci ou (symbole de grille avec un astérisque dans la barre de menu) ou faire un clic droit surModules utilisateur, sous la liste des modules du fabricant. Après avoir appelé l’option de menu, une fenêtre sera affichée, comme indiqué sur la figure 2. Dans cette fenêtre nous devons entrer le nom de notre module (par exemple RS) et – ce qui est très important – le nombre et le type d’entrées / de sorties. Maintenant, nous n’avons besoin que d’une sortie binaire et de 2 sorties.

Fenêtre de propriétés de module utilisateur Figure 2. Fenêtre de propriétés de module utilisateur

Le module utilisateur que nous allons préparer ne comprendra que quelques éléments : deux grilles, des contacts à l’entrée et des bobines en sortie. Nous allons également utiliser une mémoire pour connecter l’entrée à la sortie. Un seul réseau suffit pour un si petit nombre de composants.

Il serait plus commode d’effectuer les connexions comme indiqué sur le schéma, mais cela n’est pas possible. Les éléments sont disposés un par un par le logiciel, il faut donc prévoir leur disposition « plate ». Il est recommandé de commencer à organiser les blocs utilisateur avec l’élément NON-ET de départ. Nous connectons à l’une de ses entrées la sortie du deuxième élément NON-ET et un contact. Nous connectons deux contacts à l’entrée du premier NON-ET. Il nous reste de connecter la sortie – à la deuxième grille NON-ET nous connectons deux bobines. Maintenant nous allons nous occuper des propriétés des contacts individuels et des bobines :

1.Les contacts à l’entrée (le premier élément NON-ET de gauche) :

  • Référence : Entrées et sorties bit et mémoires internes ; Commentaire : SET ; Logique binaire : à ouverture ; Opérande : I
  • Entrée; Numéro : 1.
  • Référence : Entrées et sorties bit et mémoires internes ; Logique binaire : à fermeture; Opérande : M – Mémoires internes ; Numéro : 1

2.Les contacts à la sortie (le deuxième élément NON-ET) :

  • Référence : Sorties bit et mémoires internes ; Commentaire : Q ; Fonction bobine : Contacteur inverse ; Opérande : Q
  • Sortie ; Numéro : 1.
  • Référence : Sorties bit et mémoires internes ; Fonction bobine : Contacteur ; M – Mémoires internes ; Numéro : 1

Il faut encore définir les propriétés du contact qui fournit le signal de réinitialisation (RESET) : Référence : Entrées et sorties bit et mémoires internes ; Commentaire : RESET ; Logique binaire : à ouverture; Opérande : I – Entrée ; Numéro : 2

Le module fonctionnel que nous avons réalisé devrait rassembler à celui présenté dans la figure 3.

Module fonctionnel de la bascule RS Figure 3. Module fonctionnel de la bascule RS

Nous cliquons sur l’onglet avec le nom du module que nous avons créé et nous sélectionnons Fermer. L’environnement de programmation va nous demander de sauvegarder le module sur le disque – nous confirmons et nous attribuons au module un nom sélectionné. À partir de ce moment la définition que nous avons faite est disponible sur la liste de modules et elle est prête à utiliser.

La possibilité de définir des modules est un outil extraordinaire. Grâce à cet outil nous pouvons créer une bibliothèque de solutions prêtes à l’emploi qui vont simplifier considérablement la création de nouveaux programmes et qui vont également faciliter le travail de notre équipe ou de nos collègues. Nous pouvons également diviser le travail dans notre équipe – chacun des membres va tester un élément sélectionné, qui sera ensuite intégré en un tout cohérent. En cas d’application simple et de driver easyE4 proposé par Eaton ce n’est pas nécessaire, mais ce sera une bonne habitude de travail qui pourra être utile lors de la mise en œuvre des projets plus complexes.

Détecteur de direction

Pour comprendre le travail du détecteur de direction du mouvement, il vaut la peine d’ouvrir le programme disponible dans des matériaux supplémentaires à l’article. Il est possible de mettre les images de tous les réseaux décrits, mais il est plus pratique de les visualiser (et les connexions entre eux) en lisant sur l’écran de l’environnement de programmation easySoft 7. En cas de doutes ou si la description est trop longue, nous pouvons démarrer la simulation et observer le comportement du programme lorsque nous cliquons dessus. Cela est recommandé d’autant plus qu’il n’est pas facile de préparer la description du fonctionnement de réseaux individuels (contenant parfois une seule grille) isolés les uns des autres.

Télécharger le programme

Le schéma du détecteur de direction du mouvement commence par le réseau numéro 0010. À partir du réseau numéro 0010 à 0016, il y a des éléments logiques correspondant au support de l’entrée I01, cependant de 0017 jusqu’à la fin, au réseau 0023, des éléments supportant l’entrée I02. Les deux parties sont symétriques et sont basées sur un détecteur de séquence d’impulsions (détecteur en quadrature) avec un déclencheur de type D. Puisque les détecteurs en quadrature fonctionnent avec des signaux déphasés de 90 degrés et le compteur de personnes doit répondre aux séquences « aucun – I01 – aucun – I02 – aucun » ou « aucun – I02 – aucun – I01 – aucun », donc des bascules RS ont été ajoutées qui mémorisent les états d’entrée, protégeant contre le clignotement de tension sur les entrées et générant le déphasage nécessaire dans le détecteur en quadrature.

Des minuteries mesurant le ‘timeout’ générant une impulsion de réinitialisation des bascules RS d’entrée et de sortie et des grilles bloquant les impulsions d’entrée, jusqu’à ce que les bascules soient réinitialisées, c’est-à-dire prêtes pour le prochain cycle de détection, ont été ajoutées à toutes les deux bascules. Les éléments individuels sont disposés et connectés dans les schémas de la même manière qui a été décrite précédemment, et nous ne devons pas le faire encore une fois. Il est recommandé d’effectuer une analyse du fonctionnement du détecteur sur la base d’un simulateur lancé en appuyant sur la touche Simulation. Malheureusement, le schéma dans easySoft 7 doit être divisé en petits réseaux et il est donc difficile à analyser. Pour ces raisons il vaut mieux que les personnes plus curieuses souhaitant explorer ce sujet impriment des réseaux individuels et de dessinent un schéma de grilles logiques. Il sera alors possible de distinguer facilement les éléments de la bascule D et de les séparer des fonctionnalités de blocage et de remise à zéro des bascules ajoutées.

Mémorisation des compteurs en cas de coupure d’alimentation

Du point de vue de l’utilisateur, il est commode qu’en cas de panne d’alimentation, il ne soit pas nécessaire de régler à nouveau les paramètres, mais seulement éventuellement de corriger la valeur de l’affichage actuel. Dans l’application décrite, à cet effet, nous devons mémoriser et restaurer le contenu de deux compteurs – ce sont les modules C01 et C02.

Le concepteur de l’environnement de programmation a appelé la propriété de sauvegarder et de restaurer l’état des modules ou des mémoires rémanence. Pour en savoir plus, il vaut la peine d’utiliser le menu « Aide » qui est disponible après avoir sélectionné  « ? » dans la barre de menu (nous pouvons également appuyer sur F1). Dans l’onglet « Rechercher », il est nécessaire de saisir le mot « rémanence ». Nous pouvons également profiter du manuel d’utilisation disponible dans le même menu.

La mémoire de 400 octets est destinée aux octets de rémanence, c’est-à-dire l’opération de restaurer après la mise sous tension. Il s’agit probablement d’un circuit intégré séparé ou d’un fragment de la mémoire du processeur qui est alimenté par une source distincte, par exemple un super condensateur ou une batterie. Comme il a été écrit dans le menu d’aide du module compteur« C » , la sauvegarde / la restauration de son état nécessite 4 octets de mémoire, donc 400 octets seront suffisants pour deux compteurs.

Pour activer la sauvegarde / la restauration du contenu du compteur, nous devons cliquer sur la touche « Projet » dans le coin inférieur gauche. Nous sélectionnons ensuite l’onglet « Réglages du système ». Le troisième champ à partir de la gauche est « Rémanence »(Figure 4). À ce stade, il convient de prêter attention à la valeur du champ « Disponible(s) : »– l’exemple montre la valeur de 400 octets. Chaque module du compteur « C » nécessite 4 octets.

Champ Rémanence Figure 4. Champ « Rémanence »

Pour l’application décrite, le contenu des modules de comptage C01 et C02 est important, donc dans le champ de valeur à côté de « C » entrez« 01 », et dans le « 02 » suivant, comme dans la figure 5. Autres champs, comme les modules de compteurs rapides « CH », le module de compteurs incrémentaux « CI », le module de données « DB » et le module de relais temporisé « T » sont omis. À ce moment, nous n’allons pas nous occuper des mémoires (MW, MB, MD). Il est facile de remarquer qu’après avoir entré correctement la plage, la valeur de « Disponible(s) » a été diminuée de 8 octets, c’est-à-dire d’autant qu’il faut consacrer pour sauvegarder les deux modules de compteurs.

Pole „Remanencja” po wprowadzeniu nastaw odnośnie do liczników C01 i C02 Rysunek 5. Pole „Remanencja” po wprowadzeniu nastaw odnośnie do liczników C01 i C02

Simulation du fonctionnement du compteur avec easySoft 7

L’environnement de programmation easySoft 7 dispose d’un simulateur intégré qui permet de vérifier le fonctionnement du programme, de visualiser l’état des entrées et l’état des sorties et des niveaux logiques présents sur des éléments individuels du diagramme FBD. L’utilisation du simulateur nous permet de tester le fonctionnement du programme et de trouver des erreurs, même si ce ne sont pas exactement les conditions de fonctionnement identiques que celles dans lesquelles notre application fonctionnera en réalité. Nous allons maintenant utiliser un simulateur pour vérifier le fonctionnement de l’application de compteur de personnes.

Le simulateur est lancé après avoir cliqué sur la touche« Simulation » qui est située à gauche, en bas de la fenêtre d’environnement d’easySoft 7. En simulant le fonctionnement du compteur, nous allons laisser la plupart des paramètres actuels et nous n’allons définir aucuns pièges. Cependant le simulateur a des fonctionnalités très intéressantes que nous n’allons pas trouver dans des produits concurrentiels comparables. En plus de définir des pièges, il permet, par exemple, d’utiliser un oscilloscope virtuel qui présentera les formes d’onde des signaux sélectionnés. Testons ses fonctionnalités tout en contrôlant le programme que nous avons créé.

Lorsque le programme « Compteur de personnes v11.e70 » est ouvert, nous cliquons sur le bouton « Simulation », puis nous développons la liste Affichage au-dessus et nous cliquons sur la Fenêtre d’opérandes + Oscilloscope. À droite, la Fenêtre d’opérandes + Oscilloscope vide sera affichée. Nous cliquons sur l’astérisque (*) dans la colonne Opérande et nous entrons M05. À côté, dans la colonne Commentaire, le message IMPULSIONS EN HAUT doit être affiché. Nous cliquons dans la colonne Oscilloscope pour afficher le signe coche et un canal de l’analyseur logique comme dans la fenêtre Oscilloscope. De la même manière nous ajoutons : M04 (IMPULSIONS EN HAUT), I01 (ENTRÉE 1) et I02 (ENTRÉE 2). Nous devrions obtenir l’effet présenté à la figure 4.

Écran de l’oscilloscope après la configuration Figure 6. Écran de l’oscilloscope après la configuration

Nous démarrons le simulateur en appuyant sur F9 ou en sélectionnant dans menu Simulation–> Démarrer. Dans le menu, nous sélectionnons Oscilloscope –> Activation de l’oscillogramme (ou nous utilisons l’icône appropriée dans la barre d’outils – un carré avec un cercle rouge). À gauche de l’écran, la liste d’affichage doit être développée. Nous cliquons sur dessus dans Afficheur + touches. Dans la partie inférieure de la fenêtre, l’écran de travail de notre application de compteur sera affiché et ici, à l’aide des touches à droite / à gauche, nous définissons la valeur AUTORISÉE sur une valeur supérieure à 0, par exemple 5, comme dans la figure 5. Nous cliquons maintenant sur Affichage –> Entrée numérique, puis successivement, deux fois dans le carré à côté de 1 : ENTRÉE 1 et 2 : ENTRÉE 2.

Écran du compteur pendant la simulation Figure 7. Écran du compteur pendant la simulation (avec le nombre de personnes autorisé dans une pièce).

L’effet du travail de l’oscilloscope est présenté à la figure 6. Nous pouvons observer que la première impulsion est présente sur l’entrée I01 et la suivante sur l’entrée I02. Simultanément au front montant sur I02 une impulsion est générée sur la sortieM05 : IMPULSIONS EN HAUT, ce qui fait augmenter de ‘un’ la lecture du compteur ACTUELLEMENT et afficher cette valeur sur l’afficheur. Si les impulsions sont fournies dans l’ordre inverse, une impulsion est générée sur la sortieM04 : IMPULSIONS EN BAS, et la valeur du compteur ACTUELLEMENT est diminuée. Nous pouvons encore ajouter des sorties à l’écran de l’oscilloscope et observer comment leurs niveaux changent selon le rythme des impulsions I01 et I02, mais dans cette situation, cela semble être un excès d’informations. L’état des sorties peut également être observé en cliquant sur Affichage –> Sorties numériques.

Formes d’onde sur les entrées / sorties du compteur Figure 8. Formes d’onde sur les entrées / sorties du compteur pendant la simulation

Grâce à l’oscilloscope, nous pouvons voir que les personnes suivantes ne seront détectées qu’après le temps spécifié d’écoulement de l’opération (ici 2,5 secondes), donc si les barrières sont placées à proximité les unes des autres, ce temps peut être raccourci. Nous pouvons observer également que dans la séquence d’impulsions où le compteur fonctionne correctement, elles peuvent également se chevaucher. Cela est prévu au cas où les barrières sont montées trop près les unes des autres. Après avoir vérifié le fonctionnement du programme, il suffit de l’envoyer au driver easyE4, de fournir les signaux des entrées du capteur et de connecter l’avertisseur. La photo 7 montre l’application terminée placée dans une boîte en plastique, généralement utilisée pour les tableaux de distribution dans les maisons. À côté du driver, une touche de réinitialisation sous le volet qui peut être ouvert a été installée.

Compteur de personnes Figure 9. Compteur de personnes créé sur la base du relais programmable easyE4

Driver easyE4 – résumé

Dans nos trois articles nous avons préparé une application de compteur de personnes. Cette application peut être utilisée de deux manières : soit pour signaler le dépassement du nombre autorisé dans une pièce, saisi conformément aux exigences de sécurité, soit pour allumer / éteindre l’éclairage ou la ventilation dans une pièce où ils ne devraient fonctionner que lorsque quelqu’un est dans une pièce. L’appareil utilise les propriétés de rémanence, donc le logiciel fonctionne de manière à ce que les blocs de compteurs contenant les paramètres et l’état actuel soient sauvegardés dans la mémoire non volatile et soient restaurés lorsque la tension d’alimentation est activée. En cas de panne de courant, nous n’avons pas besoin de réinitialiser les paramètres du compteur – si nécessaire, nous devons compter uniquement les personnes présentes dans la pièce et corriger l’affichage.

Toutefois, le driver easyE4 est considérablement amélioré par rapport aux produits plus anciens. Sans aucun doute un très bon environnement de programmation easySoft 7 sera encore améliorée.

Dans le passé, les drivers conçus pour une application spécifique dominaient dans diverses applications. Actuellement, en observant l’exemple d’easyE4, il n’est pas difficile de remarquer qu’il ne vaut pas la peine de les réaliser sur la base des microcontrôleurs disponibles. Nous obtenons, pour un prix relativement bas, nous obtenons un driver avec un processeur rapide, dans un boîtier solide monté sur rail, avec un affichage et un clavier intégrés. Il peut être facilement mis en réseau et communiqué avec l’environnement, étendre ses fonctionnalités et – ce qui est extrêmement important dans toute application professionnelle – il remplit les exigences de nombreuses normes harmonisées, y compris celles prévues pour les environnements industriels. Nous pouvons donc être sûrs de fournir à l’utilisateur un appareil dont le cœur a été testé dans un laboratoire agréé et qui est également produit par un fabricant représentant une entreprise reconnue.

Transfer Multisort Elektronik (TME) est l’un des plus grands distributeurs mondiaux de composants électroniques, de pièces électrotechniques, d’équipements d’atelier et d’automatisation industrielle. Le catalogue comprend plus de 1 500 000 de produits provenant de 1 300 fabricants leaders. Les centres logistiques modernes de TME à Łódź et Rzgów (Pologne), avec une superficie totale de plus de 40 000 m², expédient près de 6 000 colis par jour à des clients dans plus de 150 pays.

TME investit également dans le développement des connaissances et compétences des jeunes ingénieurs et passionnés d’électronique grâce au projet TME Education et soutient la communauté technologique en organisant la série d’événements TechMasterEvent, promouvant l’innovation et l’échange d’expériences.

rightColumnPicture rightColumnPicture

VOIR AUSSI