Centrale d’Alarmes avec un grand nombre d’E/S
Dans certaine applications, comme le remplacement d'une centrale d'alarmes, le nombre d'E/S peut bien souvent être supérieur à 10 entrées
Dans le schéma ci-dessus nous vous proposons une solution ou un AVIOR gère plusieurs dizaines d'entrées contacts secs.
Nous avons utilisé l'adaptateur RS485 (en option) pour raccorder un bus RS485 2 fils. Nous avons utilisé 3 modules MR-Di10 de Metz-Connect qui sont au même format modulaire pour s'adapter parfaitement aux tableaux électriques que l'on trouve habituellement. Nous avons ajouté sur le bus un pupitre tactile couleur de chez ICP-DAS, pour visualiser localement l'état des contacts en défauts et également pouvoir acquitter les alarmes.
Voici un aperçu du principe des règles utilisées.
La règle n°1 utilise l'entrée digitale 1 de l'AVIOR pour choisir entre le mode MODBUS ou le mode configuration avec le cordon USB. L'AVIOR n'ayant qu'un seul port série, nous avons trouvé ce moyen pour pour sélectionner un mode ou l'autre.
La règle n°2 prépare pour une utilisation en mode programmation et donc désactive toute la communication Modbus.
La règle n°4 lance la première requête modbus vers l'esclave n°1
A réception de la réponse ce sont les règles 6 à 8 dans cet exemple qui sont examinées pour voir si il y a des entrées en défaut et le cas échéant envoyer un SMS à tous les destinataires du groupe 'Groupe1'.
La règle n°29 incrémente un compteur interne qui déclenchera à son tour l'envoi de la requête suivante , règle n°11, et ainsi de suite, quelque soit le nombre de modules d'E/S raccordées.
Les règles ne sont pas représentées ici, mais à chaque fois qu'une lecture de bits est réussie avec un esclave, cela déclenche aussi une requête d'écriture de recopie de ces bits dans la mémoire de l'afficheur, pour avoir une visualisation locale.
Les sources de ce projet sont disponibles sur demande.
Exemple à Télécharger
Vous pouvez télécharger ici une configuration complète à transférer dans votre AVIOR : Modbus-cycle-3trames.zip
Elle est légèrement différente de la version ci-dessus mais fonctionne de la manière en se basant sur le cadencement du Bit Mémoire1, incrémente la Variable1 pour lancer telle ou telle trame.