Diaser
Un article de Wikipédia, l'encyclopédie libre.
DIAlogue Standard pour les Equipements de Régulation (DIASER) est une norme de communication pour dialoguer principalement avec des contrôleurs de carrefours à feux, utilisés en régulation de trafic. Elle est également utilisée pour communiquer simplement avec des panneaux à messages variables et certaines stations de comptages en ville.
Le document de norme est disponible en France à l'AFNOR sous la référence NF P 99-071.
Le protocole, tel que décrit dans la norme, est orienté liaison série, mais peut-être également utilisé pour de la communication en IP sur ethernet ou autre (GPRS). Certaines applications l'utilisent nativement via les deux modes possibles, à-savoir:
- des datagrammes en UDP (non connecté).
- un flux en TCP (connecté).
Le mode UDP est bien adapté pour ce type d'échanges temps-réel, chaque couple indépendant de question/réponse pouvant tenir dans une unique trame ethernet: tous les messages Diaser étant définis pour tenir sur 256 caractères, alors que par défaut ethernet dispose d'un MTU pour les paquets IP généralement fixé à 1500 octets.
Le mode TCP est classiquement utilisé par de nombreux appareils de communications et notamment les convertisseurs Série<->IP, même si récemment la possibilité de pouvoir exploiter l'UDP pour ses avantages commence à apparaître sur certains modèles. Typiquement les appareils n'autorisent qu'une unique connexion avec un PC (gestion d'un seul flux ouvert simultanément).
Avant la création de ce protocole série, généralement les échanges avec l'extérieur se faisait avec des liaisons "fils-à-fils" à-savoir par l'intermédiaire d'entrées/sorties physiques tout-ou-rien.
La première mise en oeuvre du standard DIASER a été faite lors de la réalisation du nouveau Poste Central SITER des Hauts-de-Seine (92) en 1998. Depuis de nombreuses villes lors des rénovations de leurs postes centraux ont adoptées ce standard, tous les contrôleurs de carrefours actuels du marché supportant ce protocole dorénavant.
Pour les liaisons permanentes, quel que soit le mode de transmission utilisé (cuivre, fibre optique, radio, ...) au final sur les contrôleurs on est connecté sur une liaison série (à 9600 bits/sec classiquement). Le premier cas d'utilisation d'IP nativement de bout en bout en liaison permanente, a été réalisé sur le Poste Central du tramway des Maréchaux à Paris avec à la fois le PC et les différents contrôleurs connectés à un réseau local indépendant à-base de fibre optique. Sur la ligne, en plus les contrôleurs bavardent entre eux pour s'échanger les informations d'approches des rames, connues de chacun. L'utilisation du mode UDP (non connecté) permet également d'avoir en parallèle certains postes bureautiques venant à la demande interroger des contrôleurs.
Ce protocole consiste en un dialogue de type question/réponse, où le contrôleur est esclave et le demandeur (généralement une supervision) est le maître à l'initiative des questions à poser.
Chaque trame échangée respecte la décomposition suivante:
- un caractère d'enrobage de début : STX (valeur ASCII 02)
- un code application
- un code fonction
- les données concernant l'application/fonction
- un caractère d'enrobage de fin : ETX (valeur ASCII 03)
- un caractère de somme de contrôle de la trame appelé BCC.
Il existe plusieurs applications distinctes se traduisant par un code caractère différent:
- Code application '*' : communs à toutes.
- Code application 'C' et 'D' à 'K' : carrefours à feux. 'C' concerne l'ensemble des carrefours et 'D' à 'K' concerne les carrefours 0 à 7, un contrôleur pouvant gérer jusqu'à 8 carrefours indépendants.
- Code application 'M' : mesure du trafic.
- Code application 'P' : affichage de messages sur des panneaux.
- Code application 'T' : télésurveillance, pour des liaisons non permanentes (de type RTC ou GSM), avec liste d'événements empilés (dépilés ultérieurement lors de la lecture par UN poste central).
- Code application 'V' : gestion du suivi des Véhicules de Transports en Commun.
- Code application 'R' : recueil de données.
Ensuite chaque application, dispose de codes fonctions permettant d'assurer les différentes questions/réponses utiles à l'application.
L'application d'ensemble '*' (concernant toutes les applications) dispose de codes fonctions communs utiles (lecture/écriture de l'horodate et du type de jour, lecture de l'identification de la station, ...)
Chaque type de contrôleur supporte un certain nombre d'applications et de codes fonctions (au moins toutes les classiques). Malheureusement, l'expérience montre que même si le format des champs est bien défini, parfois sur leur interprétation, il peut exister des divergences... tous ces problèmes ayant tendance à s'atténuer au fil du temps et des mises-à-jours. Mais cela peut cependant rester problématique pour d'anciens contrôleurs dont le logiciel n'évolue plus.