Mini Défi #10 : Gestion d’alarmes multi-zones Résolu

25/07/2025 Apprentissage PLC > Exercices et projets d'entraînement

🔧 Contexte :

Tu dois surveiller 12 capteurs répartis sur 3 zones (A, B, C).
Chaque zone déclenche une alarme si au moins un capteur est actif.

 

🔢 Répartition des capteurs :

  • Zone A : A1 à A4

  • Zone B : B1 à B4

  • Zone C : C1 à C4

 

🎯 Objectif :

Créer une logique propre et factorisée qui :

  1. Active alarme_A si l’un des capteurs de la zone A est actif

  2. Idem pour B et C

  3. Reste lisible et scalable : on veut pouvoir ajouter des zones ou capteurs facilement

 

Réponses

26/07/2025 20:17

Voici mon ladder : chaque sortie (alarme) ont 4 entrees (détecteurs)

26/07/2025 20:21

Ci-dessus mon ladder, je ne pouvais pas modifier pour pourvoir réécrire mon texte 😅

Il y a donc 4 entrées (détecteurs) pour chaque sortie (alarme)

Il y avait une autre façon de faire qui aurait prit plus de place, j'ai donc préféré faire celui-ci pour que ce soit linéaire 😉

28/07/2025 14:50

28/07/2025 16:25

je ferais une structure avec la définition de l'alarme A B C D puis je rappelerai cette structure pour les 3 moteurs.

29/07/2025 06:09

Correction - Alarme par zones dynamiques

 

🎯 Objectif rappelé :

Activer 3 alarmes (alarme_A, alarme_B, alarme_C) si au moins un capteur est actif dans leur zone respective.
Le tout avec un code propre, évolutif et factorisé.

 

🔍 Solution brute (non recommandée) :

➡️ Lisible pour 4 capteurs… ingérable à 20. 😬

 

✅ Solution factorisée avec tableaux et boucle :

✅ Cette version permet de :

  • Ajouter/supprimer facilement des capteurs

  • Réutiliser la structure pour d'autres zones

  • Centraliser la logique

 

Mais elle est un peu répétitive et devient vite illisible suivant le nombre d'alarme a gérer ainsi.

 

🚀 Bonus – Fonction personnalisée :

Appel:

 

📌 Ce type de structuration est capital pour les projets complexes.

30/07/2025 22:41

Que veut dire for i:= 1 to do 4 ??

31/07/2025 22:02

Cette instruction permet de réaliser une boucle.

 

Dans l'exemple, 'i' prend successivement comme valeur 1 puis 2 puis 3 puis 4.

Permettant de vérifier les zones facilement et de déclencher l'alarme dès qu'une des zones est active.