Contrôle d'accès des trémies : un portail pour piloter les barrières

Une trémie est un passage routier en contrebas, sous un ouvrage ou une voie. Il faut pouvoir en interdire l’accès vite, à distance, sans qu’un agent ait à se déplacer : en cas d’urgence, pour une opération de maintenance ou à l’occasion d’un événement. Pour cinq trémies d’une métropole, nous avons déployé des barrières automatiques commandées par un contrôleur, et un portail de contrôle-commande pour les piloter à distance.

Sur le terrain

À l’entrée de chaque trémie, une barrière automatique ferme la voie. À côté d’elle, des feux rouges clignotants de type R24 signalent l’interdiction d’accès, accompagnés du panneau « Rouge clignotant, accès interdit ». Ces feux sont raccordés à la barrière : le contrôleur se contente d’en déclencher le clignotement par un relais. Une caméra de vidéosurveillance, sur le réseau de la régulation, permet de vérifier l’état de l’ouvrage à distance.

Barrière automatique relevée, feux rouges clignotants et panneau Rouge clignotant accès interdit à l'entrée d'une trémie, avec un portique limitant la hauteur
La barrière relevée, ses feux R24 et le panneau d'interdiction à l'entrée de la trémie.
Vue d'ensemble d'un site de trémie : mât de la caméra, mât des feux et barrière relevée en bordure de chaussée
Vue d'ensemble : le mât de la caméra, celui des feux et la barrière en bordure de voie.

Le matériel se résume à peu de choses : une barrière dont la lisse mesure 3 mètres, 8 mètres pour l’une des cinq trémies, un coffret de commande avec ses relais, un transformateur et des protections électriques, un commutateur industriel avec sa liaison fibre. Quatre coffrets suffisent pour cinq trémies, deux barrières voisines partageant le même.

Un contrôleur de feux utilisé comme automate

Le cœur d’un coffret est un contrôleur de feux. Mais ici il ne pilote aucun feu de circulation : il joue le rôle d’automate programmable qui commande la barrière. Conçu à l’origine pour la régulation du trafic, ce matériel implémente le protocole DIASER : il s’intègre ainsi au réseau de la régulation et se supervise comme n’importe quel autre contrôleur.

Cet usage particulier se voit dans sa configuration. On lui déclare deux lignes de feux fictives, sans charge, avec une matrice de dégagement nulle. Aucun rack de puissance n’est installé, puisqu’aucune ligne de feux réelle n’est pilotée : la gestion de la barrière n’en a pas besoin.

Ses entrées et sorties se limitent à l’essentiel :

Type Désignation Rôle
Entrée Retour d’ouverture Retour de position de la barrière, remonté au portail
Entrée Commande manuelle locale Permet à un agent d’agir sur place, sans passer par le réseau
Sortie Relais d’ouverture / fermeture Commande la montée ou la descente de la lisse
Sortie Relais de clignotement Active les feux R24 avant la descente de la barrière
Variable DIASER Variable de commande Ordre de montée ou de descente, écrit par le portail

La logique de la barrière tient en une phrase : un ordre à ON descend la barrière, un ordre à OFF la remonte. C’est la variable de commande, écrite par le portail, qui porte cet ordre.

Le portail de contrôle-commande

Le portail est l’unique point d’entrée pour commander les barrières. Deux familles d’utilisateurs s’en servent, chacune avec ses droits :

  • le poste central de régulation, qui commande la descente de la barrière en cas d’urgence, de maintenance ou d’événement ;
  • des intervenants externes, comme la police municipale ou une entreprise intervenant sur l’ouvrage, qui disposent d’un accès limité à la trémie qui les concerne.

Derrière le portail, un programme de pilotage dialogue avec chacun des contrôleurs.

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#eef0ff','primaryTextColor':'#27262b','primaryBorderColor':'#5c5adc','lineColor':'#8a8da8','secondaryColor':'#f4f5ff','tertiaryColor':'#f4f5ff','edgeLabelBackground':'#eef0ff','clusterBkg':'#f4f5ff','clusterBorder':'#5c5adc'}}}%%
flowchart TB
    subgraph USR["Utilisateurs"]
        REG["Poste central<br/>de régulation"]
        EXT["Intervenants externes<br/>police municipale · entreprises"]
    end
    subgraph DED["Portail de contrôle-commande · Debian"]
        WEB["Portail web PHP"] --> DB[("PostgreSQL")]
        DB <--> PIL["Programme de pilotage<br/>en C"]
    end
    subgraph TRE["Coffret de trémie"]
        CTL["Contrôleur<br/>utilisé comme automate"] --> REL["Relais"]
    end
    REL --> BAR["Barrière<br/>+ feux R24"]
    REG --> WEB
    EXT --> WEB
    PIL <-->|"DIASER · UDP · variable de commande"| CTL
    style BAR fill:#fde8e8,stroke:#e5484d,color:#27262b
    style DB fill:#e3f5ea,stroke:#2fb37a,color:#27262b

Le déroulé d’une fermeture

Pour chaque ordre reçu, le contrôleur déroule la même séquence. Un préavis de 6 secondes laisse aux usagers le temps de voir l’interdiction : les feux R24 clignotent avant que la barrière ne descende, jamais l’inverse.

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#eef0ff','primaryTextColor':'#27262b','primaryBorderColor':'#5c5adc','lineColor':'#8a8da8','secondaryColor':'#f4f5ff','tertiaryColor':'#f4f5ff','edgeLabelBackground':'#eef0ff','clusterBkg':'#f4f5ff','clusterBorder':'#5c5adc'}}}%%
flowchart LR
    subgraph ORD["1 · Ordre"]
        direction TB
        PORT["Portail<br/>variable DIASER"]
    end
    subgraph SEQ["2 · Séquence du contrôleur"]
        direction TB
        CTL["Contrôleur"] --> R24["Feux R24<br/>clignotement alterné"]
        R24 -->|"après 6 s"| REL["Relais de commande<br/>fermeture / ouverture"]
        REL --> BAR["Barrière automatique"]
    end
    subgraph RET["3 · Retour"]
        direction TB
        BUT["Butée basse ou haute<br/>atteinte"] --> RIN["Relais de retour<br/>d'information"]
        RIN --> VAR["Variable de retour<br/>lue par le portail"]
    end
    ORD ==> SEQ
    SEQ ==> RET
    style R24 fill:#fde8e8,stroke:#e5484d,color:#27262b
    style BAR fill:#fde8e8,stroke:#e5484d,color:#27262b
    style VAR fill:#e3f5ea,stroke:#2fb37a,color:#27262b
Ordre Étapes
Fermeture 1. Les feux R24 se mettent à clignoter.
2. Après 6 secondes, le relais commande la fermeture et la barrière descend.
3. À la butée basse, le retour d’information remonte au portail.
Ouverture 1. Le relais commande l’ouverture et la barrière monte.
2. À la butée haute, le retour d’information remonte au portail et les feux R24 s’éteignent.

Le retour d’information est ce qui fait la différence entre un ordre envoyé et une barrière réellement en position : le portail lit la position atteinte, et non le simple fait que la commande a été émise.

Le pilotage : programme et interface

Un programme qui dialogue avec chaque contrôleur

Un programme écrit en C fait le lien entre la base de données du portail et le terrain. Il tourne en boucle, avec un cycle d’environ sept secondes. À chaque cycle, il relit la table des trémies, puis lance un fil d’exécution (thread) par trémie pour deux échanges successifs en DIASER sur UDP :

  1. une lecture d’état du contrôleur, retentée trois fois à une demi-seconde d’intervalle avant de conclure à un défaut ;
  2. l’envoi de la commande voulue par l’opérateur : blocage en ouverture ou en fermeture.

Les trames DIASER sont stockées en base, trémie par trémie. Modifier un ordre ou raccorder une sixième trémie ne demande pas de recompiler le programme.

Un journal qui ne garde que l’utile

Le programme ne journalise que les changements d’état, sous la forme « commande ouverture vers commande fermeture » ou « défaut de communication ». La date de dernière mise à jour ne change, elle aussi, que lorsque l’état change : un opérateur qui regarde l’écran sait depuis quand la barrière est dans cet état, et non l’heure du dernier échange.

L’interface

Pour chaque barrière, le portail affiche trois retours : le statut (absence de forçage ou forçage en fermeture), le retour de mode et le retour de communication (en service ou en défaut). Deux boutons commandent le blocage en ouverture ou en fermeture, chacun derrière une fenêtre de confirmation qui rappelle la conséquence de l’ordre avant tout envoi. L’écran se rafraîchit toutes les deux secondes, et chaque consultation ou commande est inscrite au journal de bord.

Ce que cela apporte

Une seule interface de contrôle-commande simplifie l’exploitation : un seul endroit pour commander, un seul journal, un seul retour d’état. Le portail ouvre un accès maîtrisé aux intervenants externes, avec des droits par rôle, et garde la trace de chaque commande, de chaque état et de chaque défaut de communication. Comme tous les ordres suivent le même chemin vers le même contrôleur, l’état réel de la barrière reste unique et sans ambiguïté.

Technologies

Contrôleur de carrefour à feux utilisé comme automate programmable, DIASER (UDP), barrière automatique et feux R24, relais 24 V, commutateur industriel et fibre optique, caméra IP, C (threads POSIX, sockets UDP), PHP, PostgreSQL, nginx, Debian.

Me contacter


← Tous les articles


Haut de page

Site propulsé par Just the Docs, un thème Jekyll. · Mentions légales