Skip to main content

Scénario (automation)

1- Définition

Un scénario est un ensemble de règles qui détermine le comportement d'un module.

Le scénario, c'est la liste des consignes que le module exécute à chaque cycle de fonctionnement

ModLink peut gérer jusqu'à 3 scénarios, exécutés de manière autonome et pouvant être activés ou désactivés indépendamment.

Lorsque plusieurs modules sont utilisés ensemble, ils peuvent échanger des informations grâce au partage de variables et de scénarios

2- Principe de fonctionnement

Un scénario fonctionne selon le principe d’une boucle d’exécution continue

  • les conditions sont analysées en permanence,
  • les tests sont exécutés dans l'ordre défini,
  • lorsqu'une condition est satisfaite, l'action correspondante est exécutée,
  • dans le cas contraire, le scénario poursuit son exécution selon la logique configurée

L’automatisation peut être basée sur :

  • l’état d’une entrée,
  • une variable,
  • une temporisation,
  • une commande utilisateur,
  • un widget,
  • un horaire,
  • l’état d’une sortie

Tel un agent de sécurité qui effectue des rondes, le scénario surveille en permanence différents points de contrôle dans un ordre défini :
- les entrées (voyants, ouvrants, environnement ...)
- les sorties (interrupteur, vanne, alerte ...)
- les variables (rapports des agents précédents)
Une fois l’ensemble des vérifications effectué, le cycle recommence automatiquement

Comprendre le principe de fonctionnement d'un scénario

Cette section présente un exemple de scénario de fonctionnement.
Le visuel du scénario est accompagné d'une description des différents blocs utilisés, afin de faciliter la compréhension de leur rôle et de leur interaction.

Surveillance d'une pompe de relevage

Fonctionnement général :
Ce scénario pilote une pompe de relevage et surveille son bon fonctionnement : la pompe démarre lorsque le niveau haut est atteint et s'arrête lorsque le niveau bas est atteint. 
Le scénario surveille en permanence deux capteurs :
- capteur niveau haut (entrée 1) : indique que la cuve est pleine et qu'il faut démarrer la pompe
- capteur niveau bas (entrée 2) : indique que la cuve est suffisamment vidée et que la pompe peut être arrêtée
Le scénario stoppe le processus et envoie un SMS d'alerte si la cuve n'a pas commencé à se vider après 60 secondes. Il vérifie également qu'aucun défaut n'est déjà signalé avant de lancer un nouveau cycle.

Scénario exemple pompe.png

  • Label "DEBUT"
    Point de départ du scénario

  • Bloc 9 "TEST VARIABLE"
    Vérifie la variable "état de la pompe"
    - égale à 1 "pompe fonctionnelle" → va au bloc 1 "TEST STATE"
    - égale à 0 "pompe en défaut" → retour au début du scénario "LABEL DEBUT"

  • Bloc 1 : "TEST STATE"
    Teste le capteur de niveau haut (entrée 1) - le niveau haut est-il atteint ?
    - si ON (la cuve est pleine) → va au bloc 2 "SORTIE SIMPLE"
    - si OFF (la cuve n'est pas pleine) → retour au début du bloc 1 "TEST STATE"

  • Bloc 2 "SORTIE SIMPLE"
    Active la sortie 1
    la pompe démarre et commence à évacuer l'eau
    va ensuite au bloc 3 "TEST TIMER"

  • Bloc 3 "TEST TIMER"
    Lance unune décomptetemporisation de 60 secondes avant de changer l'état de la variable et la fixée en anomalie
    l'indication "bloc suivant" dans la condition par défaut, signifie que le timer démarre son décompte, mais que le scénario continue de suivre son cycle normalement va au bloc 3 tant que le décompte n'est pas terminé
    "GOTO1 time elapsed" : une fois le temps écoulé, si l'état de la variable "niveau haut" n'a toujours pas changé (le niveau de la cuve n'a pas diminué malgré le fonctionnement de la pompe) on estime qu'il y a un défaut → va au bloc 7 "ENVOI SMS"
    • envoi d'un SMS d'alerte
    • mise de la variable état de la pompe  à 0 (pompe en défaut) 
    • retour au début du scénario

  • Bloc 7 "ENVOI SMS"
    Envoie une notification d'alerte par SMS va ensuite au bloc 7 "VALEUR VARIABLE"

  • personnalisation du message et du numéro de Smartphone

  • Bloc 5 "VALEUR VARIABLE"
    Fixe la valeur de l'état de la pompe à 1 (pompe en défaut) → va ensuite au bloc 7 "VALEUR VARIABLE"

  • Bloc 8 "GOTO START"
    Retour au début du scénario (boucle)

  • Bloc 4 "TEST STATE"
    Contrôle le changement d'état du capteur de niveau haut (entrée 1)
    - si l'état du capteur n'a pas changé, cela signifie que la cuve n'est pas vide retour au bloc 2 "SORTIE SIMPLE"
    Pendant ce temps, le timer continue son décompte en arrière-plan.
    - si l'état du capteur à changé, on va tester le capteur de niveau bas pour vérifier que la cuve est bien vide va au bloc 6 "TEST STATE"

  • Bloc 6 "TEST STATE"
    Teste le capteur de niveau bas (entrée 2) - le niveau bas est-il atteint (la cuve est vide) ?
    - si ON (la cuve n'est pas vide) → retour au début du bloc 6
    - si la valeur est à 0 (la cuve est vide) → va au bloc 10

Ce scénario nécessite la création préalable d'une variable nommée « Lampe témoin X » pour orienter l'exécution vers l'un des deux relais. Avant de créer le scénario, il est donc nécessaire de créer et configurer cette variable dans le module

3- Gestion des scénarios

Depuis le menu "Scénario", vous pouvez activer, désactiver, modifier, créer, importer ou télécharger un scénario.

Accès réservé : 
seuls les utilisateurs ayant le rôle Super administrateur ou Administrateur peuvent accéder à la gestion des scénarios

L’utilisateur dispose de trois options pour utiliser un scénario :

1.1- Scénario chargé par défaut

  • Le scénario est prêt à l’emploi et activé

  • Idéal pour se familiariser avec l'univers ModLink

  • Les variables et widgets sont déjà créés

1.2- Modifier un scénario existant

  • Permet d’ajuster un scénario pour un cas particulier sans repartir de zéro (télécharger un modèle depuis le serveur distant ou local) 
  • L’utilisateur doit vérifier que toutes les variables sont valides et que les entrées et les sorties sont bien configurées

1.3- Créer un scénario personnalisé

  • L’utilisateur définit toutes les variables, blocs et connexions.

  • Nécessite de :

    • Définir les variables 

    • Insérer et connecter les blocs fonctionnels (tests, compteurs, régulation, utilitaires, sorties)

    • Vérifier que le scénario forme une boucle complète pour garantir son fonctionnement

1.4- Importer / exporter un scénario

  • Depuis un serveur distant
    Bibliothèque de scénarios disponible depuis le serveur de ModLink.
    Il faudra adapter et personnaliser les paramètres à la configuration de l'installation.
  • en local 
    Possibilité d'importer un scénario enregistrés sur l'ordinateur utilisé 

Pour créer ou modifier des scénarios, il est recommandé d’utiliser un ordinateur.
L’édition sur téléphone peut entraîner des problèmes d’affichage ou une visibilité limitée des paramètres avancés

2. Principe de création d'un scénario

Avant la création du scénario, les variables d’état et les variables de commande doivent être définies (menu "objet")
Les blocs du scénario viennent ensuite exploiter ces variables pour construire la logique de contrôle

2.1- Variables

Deux types de variables :

  • Variables d’état
    Variables en lecture, reflétant l’état courant d’un équipement, d’une fonction ou d’un processus

  • Variables de commande
    Variables en écriture, utilisées pour piloter un équipement ou modifier un état

2.3- Programmation par boucles

Chaque scénario doit former une boucle fonctionnelle complète :
entrée → test / logique → sortie / action → mise à jour variable d’état

Il est impératif de refermer la boucle fonctionnelle : toute commande générée par un bloc de sortie doit avoir un impact sur un état ou une variable réutilisable par un bloc d’entrée, garantissant ainsi un fonctionnement cohérent du scénario.
Un scénario est structuré sous forme de boucles logiques :

  1. Entrée dans une boucle
  2. Tests (servant de déclencheurs)
  3. Tests de conditions
  4. Actions
  5. Retour
    dans la même boucle
    - d
    ans une autre boucle

2.4- Tests

Les tests remplacent la notion de "trigger" événementiel.
Les tests peuvent porter sur :

  • variables locales,
  • variables distantes (autres modules),
  • états d’entrées
  • états de sorties

2.5- Actions

Les actions possibles incluent notamment :

  • l'écriture de variables
  • la commande de sorties
  • la modification d’états utilisateurs
  • l'envoi d’email
  • l'envoi de SMS

Scenario2.png :