point d’entree provisoire des SI de dispatchings.

Mis en avant

Cet article est provisoire, il est néanmoins important car il permet d’accéder de façon rationnelle aux articles concernant les dispatchings. il est la structure d’aiguillage vers des articles terminés (accès libre) ou en cours d’élaboration (accès avec mot de passe) concernant les dispatchings de transport d’Edf puis de RTE. Lire la suite

Evolution du réseau français à 400 kV de 1958 à 2000

Mis en avant

En quelques images, ce document montre l’évolution du réseau de grand transport depuis 1958, date de la première ligne à 400 kV jusqu’à l’an 2000. Pour chaque période, les lignes nouvelles apparaissent en rouge plus foncé. On pourra remarquer l’accélération de la construction du réseau aux alentours des années 1980, conséquence du développement de la production électronucléaire et de la consommation. Lire la suite

Le passage du SIRC de mini 6 à DPS6 ou le paradoxe de la puissance et du temps de réponse.

Le contexte

La version mini 6 des SIRC s’avéra rapidement trop limitée en matière de puissance CPU (Même la charge de base était bien trop élevée) et en capacité mémoire vive. L’annonce de l’arrivée sur le marché du DPS6 qui permettait de desserrer une partie des contraintes mémoire et qui offrait une puissance de calcul deux fois supérieure, tout en assurant une compatibilité logicielle préservant les investissements logiciels a été vue comme providentielle.

Lire la suite

Le pupitre du C 90-40 et la façon de s’en servir…

Le pupitre du C 90-40  se présentait de la façon suivante :

Le démarrage du calculateur

 Le pupitre permettait la mise sous tension du calculateur par le bouton Marche

 

 Puis, il offrait le choix du périphérique d’amorçage (Bande, ruban, disque ou cartes) à l’aide de deux clés à deux positions et à retour à zéro automatique. Et c’était parti…

La mise au point de programmes

Lors de la mise au point on insérait dans le programme des instructions « HLT » qui figeaient le calculateur lorsqu’elles étaient exécutées. Cela était signalé au pupitre par l’allumage de la lampe éponyme

 
 Un coup d’œil au P counter (qui donnait l’emplacement mémoire en cours – 14 bits de droite –  et l’état de l’extension mémoire – deux bits de gauche – ). permettait de savoir moyennant un rapide calcul en octal la halte sur laquelle on était  
Le 90-40 étant sur iddle, on pouvait visualiser et modifier les registres et la mémoire à l’aide de la zone registres. La molette située à droite de la zone permettait la sélection du registre :
A et B accumulateur principal et extension
X index
C instruction en cours de décodage
Le contenu du registre était indiqué par des lampes vertes allumées (1) ou éteintes (0).
On pouvait modifier le contenu du registre affiché à l’aide des petits boutons bleus situés en dessous des lampes de visualisation. Le 25 ème bouton situé complètement à gauche permettait de remettre le registre à zéro.
Pour visualiser la mémoire, cela était un peu plus compliqué.
On positionnait la molette sur le registre C. On entrait l’instruction branchement inconditionnel (BRU de code 01) vers l’adresse souhaitée. Dans l’exemple ci-dessous nous avons pris l’adresse octale 022567  ce qui donne, comme il n’y a ni indexation, ni indirection, pour  la valeur du registre C:  00122567.

A l’aide de la clé « run-iddle-step » on faisait alors un pas (step). On pouvait alors vérifier dans le P counter que l’adresse désirée était bien atteinte et voir dans C le contenu de la mémoire désirée.
Le contenu de la mémoire 022567 est 00000007.

Pour modifier le contenu de la mémoire cela était encore un peu plus compliqué.
Toujours à l’aide de la molette, on affiche la registre A et on l’initialise à la valeur souhaitée pour la mémoire, puis on passe sur le registre C dans lequel on rentre l’instruction store A (STA code octal 35 ) qui permet de ranger le contenu du registre A à l’adresse indiquée dans le champ adresse. Puis on fait un pas (STEP) avec la clé « run – iddle – step ». le calculateur exécute alors l’instruction contenue dans le registre C et range à l’adresse mémoire souhaitée le contenu qui avait été rentré dans le registre A.

Et pour faire un patch mémoire…

Vous avez tous les ingrédients, il ne reste que la méthode.
Tout d’abord, dans le programme que l’on souhaite patcher,  il faut:
• Choisir à quel endroit du programme se fera le débranchement vers le patch.
• Noter l’instruction complète (opcode, adresse, index, indirection, extension mémoire…) qui figure à l’endroit où l’on va se débrancher.
• Trouver la première adresse mémoire disponible en fin de programme et la noter.
• Préparer sur papier, sauf à être très doué et chanceux, les codes de la séquence d’instructions à ajouter. Ne pas oublier que la première instruction doit être celle qui occupait la place où l’on mettra le débranchement et que la dernière doit être un retour vers le programme initial à l’endroit le plus judicieux. Il faut connaître l’adresse de départ du patch (notée soigneusement dans un point précédent) pour pouvoir éventuellement calculer les adresses de sauts dans le patch ou de mémoire auxiliaire de travail.
• Entrer la séquence précédente en mémoire selon le mode d’emploi vu plus haut, ce qui nécessite un certain temps et une certaine dextérité.
• Ecraser l’instruction à l’adresse choisie pour le point de débranchement par un branchement inconditionnel au début du patch (BRU  code 01)
• Tester le programme modifié.
• Si le patch a fonctionné, perforer le nouveau ruban (exécutable du programme) et, bien entendu, mettre à jour le paquet de cartes correspondant (source du programme).

En rédigeant cet article et, en feuilletant de la documentation de l’époque, j’ai été surpris de constater que je me souvenais encore des codes des instructions les plus utilisées, par contre je ne me souviens plus par cœur des tables d’addition en octal, l’âge, peut-être?

 

Pour ceux que le début de cet article n’a pas encore rebuté, ou pour les nostalgiques du 90-40, nous poursuivrons avec la suite de l’examen du pupitre.

La zone Canal

A l’aide de la molette à 8 positions située à gauche, on sélectionnait le périphérique souhaité dont on avait l’adresse sur les lampes de droite et un indicateur d’erreur.

l’overflow

L’indicateur indiquait l’occurrence d’un dépassement de capacité lors d’une opération arithmétique.

Les interruptions

L’indicateur indiquait si les interruptions étaient désactivées et la clé associée permettait d’inverser la situation.

La parité mémoire

L’indicateur indiquait la détection d’une erreur de parité en mémoire. La clé située en dessous permettait de lancer la poursuite du programme (non sans risque puisqu’une instruction ou une donnée utilisée avait été corrompue.).

Vous êtes arrivés à la fin, bravo ! Vous êtes probablement devenus, à cette occasion, un vrai pro du 90-40 mais, c’est bien dommage, il n’en existe plus….

Quelques anecdotes sur le développement du logiciel sur 90-40

Les cartes perforées.

Qui n’a pas connu, dans les années 70, les affres d’un paquet renversé lors des manipulations. Cartes qu’il fallait alors re-trier à l’aide du dernier listing disponible.

Ceci est une carte perforée. Chaque colonne porteuse de plusieurs perforations, est porteuse d’un code de caractère. Souvent les cartes comportaient en première ligne, en haut de la carte, l’impression du caractère correspondant à la colonne. Ce n’est pas le cas ici, remettre la carte au bon endroit passe de la gageure à l’exploit!

Cependant, pour gagner du temps et économiser du papier, il arrivait pour des modifications supposées simples de ne pas éditer de listing à chaque passage.

La remise en ordre du paquet devenait alors plus problématique…

De plus le risque de mauvaise manipulation n’était pas si rare que cela, car la capacité du bac du lecteur de cartes était plus faible que la taille des paquets des programmes. Le désir d’aller vite de l’analyste et le côté facétieux des paquets de cartes, toujours prompts à se répandre sur le support où on les avait délicatement posés ou l’intervention supposée de Trolls , pouvait mener à de fastidieux exercices de tri.

Paris 1974 : Exercice de frappe sur perfo-vérif. Au deuxième plan on voit le calculateur C2 (scientifique) avec son pupitre ses dérouleurs de bandes et le lecteur perfo de ruban papier. On remarquera, en partie caché derrière la poignée de la porte, le lecteur de cartes initial. Les Trolls ne sont pas visibles.

Pour éviter ce type de travail trop fastidieux, chacun avait sa (ou ses) méthode(s).

  • Numéroter les cartes, en prenant soin de ménager des trous dans la numérotation, pour les adjonctions futures (exemple numéroter de 10 en10 au départ), ce qui ralentissait la saisie puisque les numéros étaient attribués et tapés « à la main » et qui s’oubliait au fur et à mesure que l’on s’éloignait du dernier incident.
  • Barrer, sur la tranche, le paquet de cartes d’un trait de feutre oblique, ce qui permettait en cas d’accident de faire un premier classement grossier limitant les recherches pour interclassement à un nombre de cartes plus réduit.
  • Passer les cartes par petits paquets en les entourant d’un élastique…

Au-delà des maladresses de manipulations des cartes, le lecteur de cartes jouait aussi son rôle de trouble-fête. Alors que les derniers lecteurs étaient relativement fiables grâce à des systèmes de soufflerie pour décoller les cartes les unes des autres en entrée et un système d’aspiration pour les présenter au système de lecture, les premiers lecteurs étaient entièrement mécaniques. Une lame, de l’épaisseur d’une carte, dotée d’un mouvement alternatif poussait, dans un fracas important et des vibrations impressionnantes, la carte dans une fente calibrée pour laisser passer une carte mais pas deux. Un spécialiste réglait régulièrement cette épaisseur. Mais, les cartes perforées, sensibles à l’humidité ou à une certaine détérioration après plusieurs passages pouvaient dépasser l’épaisseur requise… Il s’en suivait un bourrage nécessitant de retaper les cartes détériorées et de reprendre à zéro le processus de lecture, après appel de la maintenance, heureusement sur place, pour recaler la hauteur de la fente.

A l’inverse la lecture simultanée de deux cartes « minces » donnait des résultats plus divers (erreur du lecteur, ligne de programme correspondant à la superposition de trous des deux cartes totalement aléatoire, non significative et générant une erreur à la compilation ou à l’assemblage…).

Une autre facétie de ce lecteur, plus subtile, m’avait fait perdre un temps non négligeable. Le chariot de réception des cartes en sortie du lecteur a eu un point dur, ce qui fait qu’au lieu de descendre régulièrement à l’arrivée de chaque carte supplémentaire il était resté légèrement bloqué un temps limité qui avait suffi à ce que les cartes se mélangent après le passage dans le lecteur. Le phénomène ayant eu lieu après lecture des cartes, le programme produit a fonctionné correctement. Suite à une demande du dispatching lors de la présentation du logiciel, je dus faire une modification mineure de changement de la logique de l’affichage d’un symbole. La modification effectuée rapidement, j’ai relancé la chaîne de production de l’exécutable et ai constaté avec surprise que le programme ne fonctionnait plus correctement. J’ai donc effectué une relecture fouillée du code nouveau et n’ai rien trouvé d’anormal. Je suis donc passé à la mise en place de traces autour de la modification sans aucun résultat. Ne comprenant plus pourquoi cela ne fonctionnait plus j’ai repris le processus habituel de débogage de l’ensemble du code et me suis donc aperçu de la présence de cartes permutées. Avec l’aide de la maintenance locale le problème a enfin pu être identifié et réparé. Mais, en sachant, que le processus de production d’un programme prenait environ une heure à chaque passage, il est aisé de comprendre comment un simple point dur a pu faire perdre plus d’une journée pour une modification simpliste.

Le ruban perforé.

A la fin de chaque assemblage ou compilation on sortait un ruban perforé représentant le module objet correspondant à la source traitée. Puis on rentrait dans le lecteur les différents modules objets et la table des symboles dont on souhaitait faire l’édition de lien et on produisait un exécutable dont on perforait l’image.

L’image n’est pas d’un dispatching, mais elle conforte le fait que nous n’étions pas les seuls à avoir des problèmes à gérer le ruban papier!

Malgré l’expérience, deux perturbations majeures pouvait affecter le développeur.

  • La mauvaise (ou l’absence d’) estimation de la longueur restante de ruban. En général, et en application des lois de Murphy,  c’est quelques secondes avant la fin de la perforation souhaitée que le ruban s’avérait trop court, obligeant à reprendre le processus depuis le début….
  • Le déchirement. Une fois le ruban entièrement perforé, celui-ci gisait sur le sol. Il fallait le récupérer, le placer sur un enrouleur, afin de pouvoir le ranger soigneusement ou de pouvoir le réutiliser dans la suite du processus. Lors de la phase d’enroulement, il arrivait que le ruban se tournant sur lui-même fasse un nœud et se déchire en arrivant sur l’enrouleur. Plus fréquent encore était le pied du développeur posé malencontreusement sur le ruban qui se vengeait en cassant. Deux écoles pour y remédier : recommencer la production du ruban abimé ou se lancer dans un recollage du ruban et la reconstitution des perforations abimées par la déchirure à l’aide d’un appareil  rustique ad hoc.

Le développement du logiciel sur C 90-40

Le développement initial

Nous n’avons pas retrouvé suffisamment d’informations sur les développements initiaux pour compléter les informations de l’article principal, aussi nous focaliserons nous sur les développements complémentaires qui ont émaillé toute la longue vie des C 90-40.

Il est à noter qu’en dehors du développement de modèles de calcul de réseau effectué par la Direction des Etudes et Recherches, les autres développements ont été effectués par les équipes régionales avec très ponctuellement un soutien externe de CII.

Les développements ultérieurs

Le besoin

Les besoins étaient issus des exploitants du système électrique ou de la partie informatique. Dans les deux cas le besoin pouvait présenter un caractère local, mutuel ou national. Dans tous les cas, une information mutuelle et réciproque était mise en place et permettait le partage des bonnes pratiques et des bonnes idées.

L’analyse

Une fois le besoin globalement exprimé, venait une phase d’analyse qui au-delà de la simple analyse du logiciel concerné, comportait un volet important sur l’impact sur les ressources mémoire vive (place, cartographie mémoire), ressources disque (place, cartographie disque), sur les ressources CPU. Compte tenu de l’optimisation poussée des ressources, l’ajout d’un simple marqueur tenant sur un bit, pouvait amener à des chamboulements des implantations, voire à une reprise globale de la cartographie disque ou mémoire, ce qui était toujours une opération très risquée, car elle impactait tous les sources des programmes, mais aussi éventuellement les performances en jouant sur les temps d’accès au disque.

Pour les programmes au cœur du système comme le scheduler, l’optimisation allait jusqu’à comparer le nombre global de temps de cycles machine de séquences réalisant le même objectif, mais avec des codages différents.

Le codage

Quasiment toutes les tâches tournant en temps réel étaient écrites en assembleur. Les autres, de moindre récurrence, étaient écrites en Fortran II temps réel, qui permettait d’inclure des séquences d’instructions assembleur. Il nous souvient que les temps globaux (analyse, codage, tests, intégration) pour la production d’un programme en assembleur étaient de l’ordre de 15% supérieurs à ceux de la production en Fortran. Par contre la maintenance évolutive ultérieure était beaucoup plus laborieuse en assembleur qu’en Fortran.

La production

Saisie
Après écriture sur papier du code, la saisie, que ce soit en assembleur ou en Fortran, se traduisait par la perforation sur cartes, à raison d’une ligne de code par carte, sur un perforateur de cartes disposant d’un clavier de type machine à écrire, et sans aucun écran.. La perforation se faisant en direct, toute faute de frappe signifiait une nouvelle frappe complète de la carte, ce qui amenait à être méticuleux dans la préparation et la frappe.

A chaque programme ou sous programme correspondait un paquet de cartes qui était la référence de base pour les modifications ultérieures et qu’il fallait donc conserver dans son intégrité. (Quelques anecdotes sur le développement du logiciel )

Assemblage ou compilation
Une fois la saisie terminée, les cartes étaient placées dans le lecteur perforateur et une commande depuis la console système (une télétype de type KSR, petite merveille de mécanique et de tringlerie puis de type ASR) lançait la lecture des cartes puis l’assemblage ou la compilation. Il en sortait un ruban binaire dont l’adresse d’implantation pouvait être fixe ou translatable. Si le programme comportait des sous-programmes, l’opération devait être répétée à l’identique pour chacun d’eux.

Pour un logiciel écrit en FORTRAN, le mode opératoire était légèrement différent de celui utilisé pour l’assembleur. Comme le compilateur FORTRAN ne tenait pas en mémoire, le dérouleur de bande était utilisé comme mémoire auxiliaire et la compilation s’effectuait en plusieurs passes.

Comme dans les temps actuels, assembleur et compilateur détectaient les erreurs de syntaxe, mais de façon beaucoup moins performante.

Edition de liens
Une autre commande lançait l’édition de liens ; il fallait alors lire les différents rubans obtenus dans l’étape précédente ainsi que la table des symboles qui permettait de faire le lien entre les références externes du programme (routines système, adresses physiques des données résidentes en mémoire, adresses des fichiers, etc). L’édition de lien se terminait par la production de l’exécutable sur un ruban perforé à partir d’un lecteur perforateur de ruban. Une fois la perforation terminée, le rouleau obtenu qui pouvait atteindre une taille importante, devait être remonté sur le lecteur perforateur. Une dernière commande lançait la lecture du ruban perforé et l’installation de l’exécutable sur disque. La lecture du ruban perforé s’accompagnait d’un contrôle de parité. Il suffisait alors d’une seule erreur de perforation pour que l’opération échoue. Dans ce cas, le ruban partait à la poubelle et il fallait recommencer.

La mise au point
La mise au point était laborieuse en l’absence d’outils de débogage et de plateforme de tests.
La procédure consistait à d’abord à lancer le programme dans un environnement figé sur le calculateur scientifique, puis une fois les limites de cette méthode atteinte, de passer, après avoir obtenu l’accord du dispatching, sur la machine fonctionnant en temps réel tout en gardant celle utilisée en secours avec la version ancienne, au cas où…
En cas de problème, dans les deux cas cités ci-dessus, le mode opératoire consistait tout d’abord à ajouter des traces (impression papier ou écriture dans un espace mémoire dédié à cet effet). L’ajout de traces pouvant modifier le fonctionnement du programme (décaler un écrasement en mémoire par exemple et le rendre non détectable), la deuxième méthode consistait à insérer dans le programme des instructions « HLT » (halte). Le calculateur s’arrêtait. On pouvait alors, en actionnant une clé, faire fonctionner le calculateur en pas à pas et consulter au pupitre les registres de calcul matérialisés par 24 lampes (parmi les registres on pouvait visualiser selon la position d’une molette, le registre C contenant l’instruction en cours de décodage, les registres A (accumulateur principal), B (extension de l’accumulateur), X (registre d’index), P (compteur qui indiquait l’emplacement mémoire de l’instruction en cours)).

A l’aide de l’accessibilité à ces registres on pouvait visualiser des zones mémoire, faire des patches en mémoire (en savoir plus). Cette méthode amenait les ingénieurs qui maîtrisaient cette technique à connaître par cœur les codes (en octal ) des instructions les plus courantes et à savoir effectuer avec une certaine dextérité les opérations courantes en base huit pour recalculer les emplacements mémoire visés.

Pendant tout ce temps les dispatcheurs devaient se contenter du synoptique, des enregistreurs et du téléphone….

Maigre consolation, les dumps mémoire étaient de taille raisonnable et relativement facile à décrypter en l’absence de structures systèmes complexes.

architecture du palier C 90-40

L’architecture initiale du système basée sur les CAE C 90 xx  était une architecture doublée.
Toutefois les deux calculateurs, lorsqu’ils existaient – il n’y eu qu’un seul calculateur à Brive jusqu’à la disparition du site et Marseille a fonctionné très longtemps avec un seul calculateur – étaient différents.
S’ils possédaient un certain nombre de périphériques communs (partagés ou identiques) tels que disques rapides, console système, lecteur et perforateur de rubans, accès télécom, système de visualisation, imprimante ligne, centrale de sons d’alarme, le C1 prioritairement réservé au temps réel ne comportait pas de dérouleurs de bandes, pas de lecteur de cartes, pas de table traçante…
Le C2 dit « calculateur scientifique », en dehors des périodes où il servait de secours automatique au C1, était utilisé pour le développement et la mise au point de programmes, pour des travaux statistiques, pour la facturation des clients nationaux (raccordés en haute et très haute tension)…

Insérer schéma config

En fonctionnement temps réel complet à deux calculateurs, le calculateur secours reprenait la main en cas de détection de panne du principal (absence de réarmement d’un watchdog). Lors de cette reprise, un certain nombre d’actions opérateurs pouvaient avoir été perdues, le processus de synchronisation entre les deux calculateurs n’étant globalement effectué que toutes les demi-heures.
Pour des raisons économiques et ou d’opportunité matérielle, il arrivait que les deux calculateurs soient encore plus différents. A Lille, il y avait un 90-10 et un 90-40, ce qui, malgré une certaine compatibilité des machines, amenait à des versions logicielles aménagées. A Paris, le C1 disposait de 32 Kmots de mémoire vive et le C2 uniquement de 24 Kmots. Un certain nombre de données se trouvaient donc à une certaine adresse en mémoire basse (C2) et à une adresse translatée de 16 Kmots – en mémoire haute – (C1). Selon que l’on exécutait le programme sur le C1 ou le C2, un test permettait d’armer ou non l’extension, ce qui permettait de disposer du même code sur les deux machines et d’un espace supplémentaire en mémoire basse (la seule ou l’on pouvait mettre les instructions) pour exécuter des tâches gourmandes en ressources et jugées moins indispensables à l’exploitation du réseau électrique d’alors (calcul de répartition par exemple) sur le C1.

Compte tenu de la durée de vie du système, des détails de l’architecture ont évolué, mais ses principes sont restés les mêmes.

Les évolutions les plus marquantes ont porté sur  :

  •  Le système de visualisation. Les premiers écrans étaient des écrans alphanumériques monochromes permettant d’afficher des listes ou des pseudo-représentations de postes électriques à l’aide de quelques caractères disponibles (*, – etc).

images écrn llille

Paris a disposé assez tôt d’écrans graphiques monochromes à balayage cavalier permettant notamment l’affichage de schémas de postes. Puis l’apparition de consoles semi graphiques couleurs a révolutionné le look du système moyennant de nombreux développements, dans un univers contraint en place et en puissance, pour ajouter les données nécessaires aux nouveaux tracés et aux informations de couleurs.

  • Les communications. Les calculateurs étaient raccordés initialement aux ERC, l’arrivée des CACQ s’est traduite par de nombreuses modifications au niveau des protocoles de communication, mais aussi sur la logique même de traitement. Les ERC émettaient toutes les informations en mode cyclique 10 secondes, le CACQ qui les a remplacés n’envoyait les télésignalisations que sur changements d’états. De plus lors des redémarrages, il fallait désormais effectuer une vérification globale de toutes les signalisations (contrôle général). Les calculateurs temps réel ont également eu à communiquer informatiquement avec le monde des prévisionnistes et des statisticiens, alors que les premières communications se faisaient par listing papier ou par telex (*). D’autant qu’il nous en souvienne ces modifications importantes dans un système vieillissant et contraint furent globalement une réussite sans que cela ne surprenne grand monde….
    (*) Pour envoyer de façon journalière et « automatique » le programme de marche aux centrales thermiques, on générait une bande telex depuis le calculateur scientifique du dispatching, puis ce ruban était envoyé via un telex classique. Comme il n’y avait pas de perforateur de ruban telex sur nos 90 40, on se servait du perforateur de ruban du 90 40. Mais les codes telex étaient à cinq trous et ceux du calculateur à huit trous. Une ingénieuse pièce métallique placé sur le perforateur permettait de caler le ruban telex d’un côté du perforateur et un travail de conversion de code avait permis de d’éditer les codes ordinateur correspondants aux codes telex souhaités.
  • Le remplacement des machines à écrire qui assuraient les logs d’exploitation. Les machines de type ASR furent remplacées par des machines à boule. Bien que ceci apparaisse comme une évolution de bien peu d’importance, elle a donné pas mal de fil à retordre aux développeurs de l’époque. Le pilotage de ces machines était, en effet, effectué directement au niveau du calculateur central. Il a donc fallu pour effectuer les modifications se replonger dans du vrai temps réel avec gestion des interruptions, et des temps d’attente de la frappe des caractères. Le retour chariot ou le changement de couleur du ruban encreur n’ayant pas le même temps de réponse que la frappe d’un simple caractère…

Les calculateurs C 90-xx : outils des premiers dispatchings transport informatisés en France

Des calculateurs américains vendus par CAE

Les calculateurs de la série C 90-xx (C90-10, C90-40, C90-80) vendus sous la marque CAE ont été le fruit d’un accord commercial. CAE, conscient des retards de l’industrie naissante des semi conducteurs en France  par rapport à celles des Etats Unis  a renoncé à construire ses propres calculateurs et a reporté ses efforts sur l’ingénierie. Il a choisi de commercialiser des calculateurs de la gamme 9 séries de Scientific Data System (SDS) (to know more about SDS) .

Cette gamme était composée d’une série de calculateurs, conçus dans les années 60, et apparus successivement dans le temps tout en fournissant aux utilisateurs une compatibilité ascendante. Cette compatibilité sera utilisé par EDF pour passer des C90-10 (SDS 910) initiaux trop justes pour répondre aux besoins aux C90-40 (SDS 940).

La gamme SDS 9 series comportait les 910 (1962), 920 (1962), 930 (1964) et 940 (1965)

Un C 90-40 dans sa version dépouillée  avec ses armoires et son pupitre.

Les caractéristiques

Caractéristiques matérielles

Les calculateurs de la série 9xx (en savoir plus) étaient des machines basées sur des transistors au silicium, ce qui à l’époque était une technologie récente et une certaine garantie en matière de fiabilité.

Caractéristiques générales

Les calculateurs étaient à mots de 24 bits, et disposaient de plusieurs registres : A, accumulateur principal, B, extension de l’accumulateur. Selon les instructions exécutées, A et B pouvaient être utilisés chacun comme des registres indépendants ou bien groupés (par exemple sur certaines instructions de permutation circulaire).  X, registre d’index;  C, registre qui contenait l’instruction qui allait être exécutée au pas suivant.  P, compteur ordinal (14 bits) qui indiquait l’adresse mémoire en cours.  W et Y registres utilisés pour les entrées-sorties.

Il y avait aussi un indicateur de débordement (1 bit) pour gérer les dépassements de capacité lors des opérations arithmétiques.

Il est à noter que les registres étaient visualisables à l’aide de lampes sur le pupitre de l’ordinateur. Une molette permettait de sélectionner le registre visualisé. Cette visualisation n’avait, bien évidemment, de sens que lorsque le calculateur était dans l’état iddle (figé). Elle permettait notamment la mise au point et des programmes et l’introduction manuelle de patches.

 en savoir plus sur le pupitre du 90-40

Les entiers naturels étaient codés en complément à deux sur 24 bits, les flottants étaient codés sur deux mots (48 bits) avec 39 bits (dont celui de signe) pour la mantisse et 9 bits (dont celui de signe) pour l’exposant.

Le format des instructions était le suivant : ………….E..X…P…Opcode…..I……..Adresse mémoire Bit n°…. 0..1…2…3——–8….9….10————————-23 Bit 0 (E) Positionné à 1, ce bit indiquait que la référence mémoire était dans l’extension (au-delà des 16 premiers Koctets) pour peu qu’une commande (sharm) ait activé son fonctionnement. Si la commande n’avait pas été passée la référence de l’adresse était la partie basse (16 premiers Koctets) Bit 1 (X) Positionné à 1, ce bit indiquait que la référence mémoire était indexée, le contenu du registre d’index était ajouté à la référence mémoire présente dans la partie adresse. Bit 2 (P) Positionné à 1, ce bit indiquait que l’instruction était un POP (Programme Operator). Ces POP étaient des pseudos instructions (en fait des séquences de codes développées par les utilisateurs) Bits 3 à 8 (opcode) Code de l’instruction ou du POP (selon la valeur du bit 2) Bit 9 (I) Positionné à 1, ce bit indiquait que la référence mémoire était indirecte à savoir que la référence mémoire visée n’était pas celle contenue dans la partie adresse de l’instruction, mais celle contenue dans la mémoire dont l’adresse était contenue dans la partie adresse de l’instruction. Cette indirection était très utilisée combinée avec l’indexation qui dans ce cas s’effectuait avant l’indirection. Bits 10 à 23 (adresse)Ces bits contenaient l’adresse qui servait de base pour l’instruction. Machines destinées au temps réel et au contrôle de processus, elles étaient dotées d’un nombre important d’interruptions.

La mémoire

La mémoire était du type mémoire à tores magnétiques avec un temps de cycle de 8µs. Elle était physiquement limitée à 32 Koctets. (en savoir plus sur les mémoires à  tores )

Ces mémoires étaient très sensibles à la température de fonctionnement, ce qui impliquait de nombreux réglages de la tension des alimentations des fils d’écriture. Faute de quoi, des erreurs de parité mémoire survenaient et « plantaient » le calculateur concerné. Sur le site de Monceau, et malgré de nombreuses interventions, un des calculateurs fonctionnait mieux avec les portes de l’armoire mémoire ouvertes et l’autre avec les portes de l’armoire mémoire fermées. Je me souviens aussi que, jeune ingénieur analyste, lors d’une intervention sur panne électrique un dimanche, j’avais dû attendre près de trois quart d’heure après la remise sous tension, pour que le calculateur atteigne sa température de fonctionnement et ne présente plus de parité mémoire.

Les disques

Les disques utilisés dans les dispatchings étaient des disques amovibles à plusieurs plateaux dont la capacité totale était de 4 millions de caractères. Mais le codage des caractères s’effectuant sur 6 bits (BCD – 6 bits), cela correspondait à volume effectif de 3 Méga Octets.

3 millions d’octets… Comparez avec votre dernière clé USB!

Autres périphériques

en plus des périphériques cités, ci-dessus, les C 90-40 disposaient :

  • d’imprimantes rapides à rouleau de 132 caractères par ligne
  • de machines à écrire
  • de lecteurs enregistreurs de bandes magnétiques
  • de lecteurs perforateurs de ruban papier
Le dérouleur de bandes. Placer la bande dans les bras demandait une certaine habitude. Le lecteur perfo de ruban : A droite, la partie perfo avec le bac pour récupérer les petits confettis.  A gauche, la partie lecteur en haut la mécanisme enrouleur-dérouleur, et en bas le lecteur lui-même.

Ils disposaient aussi d’interfaces de communication et d’entrées sorties de type tout ou rien.

La gestion de certains périphériques était décentralisée par le biais de « canaux » (Disques, imprimante rapide… La gestion des autres s’effectuait directement au niveau de l’unité centrale (console, machine à écrire…)

Caractéristiques logicielles

Le système était notamment livré avec

  • Un système d’exploitation basique mono tâche permettant d’accéder aux ressources des calculateurs et des périphériques(Monarch) de type Batch.
  • Un macro assembleur (Meta symbol), qui était le langage le plus utilisé compte tenu des faibles capacités mémoire et de la puissance très limitée des calculateurs. (en savoir plus sur les assembleurs)
  • Un compilateur Fortran II temps réel. Ce compilateur avait la particularité de pouvoir inclure directement dans le code Fortran des instructions assembleur, ce qui permettait notamment des traitements efficaces au niveau des bits ou des quartets, relativement fréquents compte tenu de l’optimisation poussée de la place dévolue aux données. (en savoir plus sur le FORTRAN)
  • Un éditeur de lien
  • Un ensemble de drivers et handlers permettant l’accès aux divers périphériques
  • Un ensemble de programmes de tests permettant de tester classiquement les périphériques, la mémoire mais aussi chaque instruction. Une petite anecdote, j’ai vécu une panne pour laquelle les techniciens de maintenance n’arrivaient pas à lancer les programmes de tests. Après de longues heures de recherche nous avons découvert que tous les tests commençaient par l’instruction BRX (décrémentation du registre d’index et branchement à l’adresse indiquée lorsque la valeur de l’index était nulle) et en avons déduit que la carte abritant cette instruction était en panne.

Pour permettre un fonctionnement temps réel, les grands principes mis en œuvre étaient les suivants :

  • Un certain nombre de traitements était déclenchés sur interruption (fin d’entrée sortie, traitement d’acquisition, horloge…)
  • Un scheduler avait été développé. Lancé toutes les 400ms, il scrutait des tables contenant notamment des informations sur les demandes d’activation, les attentes… pour déterminer la tâche éligible.

Les tâches pouvaient être soit résidentes en mémoire centrale, soit à charger depuis le disque. Pour ces dernières trois zones de mémoire banalisées étaient réservées. Ces zones étaient nommées ZBP1, ZBP2, ZBP3. Elles étaient implantées à des adresses fixes et de tailles fixes mais différentes ZBP1 était la plus petite et ZBP3 la plus grande. A chaque programme non résident, les responsables de l’application attribuaient une des zones, ce qui influait sur l’édition de lien de la dite tâche pour lui définir une adresse d’implantation en mémoire cohérente avec celle de la zone banalisée concernée. Lors de la demande d’activation, si la zone banalisée correspondante était disponible, la tâche était chargée en mémoire et son exécution était lancée. Pour les tâches trop grosses pour tenir en ZBP3 on avait recours à la technique des overlays. On chargeait une première partie du code, puis une fois celui-ci exécuté, on écrasait ce code devenu inutile par la suite du code et ainsi de suite. Cette technique nécessitait beaucoup de soin pour organiser son code (et notamment les sous-programmes et tables de travail) afin de ne pas écraser malencontreusement des parties encore utiles.

Lâchez-vous, devenez un pro du C 90-40 : Accédez au manuel de reference 90 40 octobre 69!

Le premier palier de dispatchings transport en france (1967-1988)

Cet ensemble d’articles présente la genèse des dispatchings de transport en France fin des années 1960, début des années 70.

Le contexte du projet

Le contexte d’exploitation du système électrique

Le développement important du réseau (en savoir plus), la mise en construction d’un parc de production de plus en plus centralisé, les exigences croissantes en matière de sûreté, de qualité et d’économie nécessitaient de mettre à disposition des dispatchings de plus en plus d’informations que l’on peut classer en deux catégories :

  • Les informations utilisées directement par les dispatcheurs en temps réel (télémesures, télésignalisations mais aussi informations obtenues par téléphone auprès du personnel des postes et centrales électriques),
  • Des informations supplémentaires utilisées pour élaborer
    o  les prévisions de consommation et les programmes de production (les traitements prévisionnels),
    o  les statistiques et la facturation des clients alimentés en THT/HT (les traitements a postériori).

Le premier type d’informations était acheminé depuis les postes et centrales par des équipements traditionnels basés sur l’analogique qui se sont révélés insuffisamment performants en terme de capacité, de précision et de disponibilité.
Quant au deuxième type, il faisait essentiellement l’objet d’une collecte manuelle puis d’un traitement sur machine à calculer qui n’était plus adapté au volume à traiter.

Le virage du numérique

Alors que la France des années soixante découvrait le rock’n’roll et le confort apporté par les débuts de l’électroménager grand public (en savoir plus), EDF, de façon novatrice a entamé le virage du numérique. En matière de système électrique, Il a porté sur deux volets, l’acheminement des informations au dispatching et les moyens de calculs, et s’est déroulé en 3 étapes :

    •  1961 : décision d’approvisionner un calculateur pour le dispatching national.
 

 Au début des années 60, les moyens de calcul dont disposait le dispatching national se réduisaient à une table à calcul à courant continu, utilisée pour des calculs de répartition de charge, les calculs de puissance de court-circuit et pour l’élaboration de plans optimaux de production (minimisation des pertes) (En savoir plus). Toutefois, le développement du réseau à 380 KV, l’arrivée de centrales de production à coûts marginaux (1) voisins  ont rapidement rendu ces moyens de calcul très insuffisants (en savoir plus).

 

La mise sur le marché des premiers ordinateurs à vocation scientifique, la naissance en France de compétences sur le développement de logiciels « temps réel », (au sein notamment de la CAE) ainsi que l’évolution prévisible des capacités de rapatriement des informations depuis les postes et les centrales (cf infra le projet « infos codées ») ont conduit la direction d’EDF à approuver la commande d’un premier ordinateur le 25 octobre 1961. Ce fût un CAE 510 (2) , construit par la Compagnie Européenne d’Automatisme Electronique (CAE) sous licence américaine .Il était livré sans système d’exploitation avec quasiment comme seul outillage un compilateur Fortran ! Il a été installée en 1963 au Dispatching national pour y accueillir les modèles de calcul développés par la Direction des Etudes et Recherches d’EDF (DER).

Un RW 530 grand frère du CAE  530.

on voit ici le pupitre et le lecteur perforateur de ruban papier et au deuxième plan les deux armoires du calculateur et celle du dérouleur de bande.

.

Il été remplacé ultérieurement par un CAE 90-80.

 

Il était prévu une montée en puissance de son utilisation en 3 étapes :
– Assurer la sécurité : implantation de calculs de réseaux (calculs de répartition, analyse de sécurité (impacts des déclenchements et calculs de courts-circuits (3)),

 

– Optimiser la production : implantation d’un modèle fournissant un plan de production des usines thermiques et hydrauliques pour le lendemain,
– Automatiser le réglage de la production : il s’agissait d’implanter l’algorithme du réglage secondaire fréquence-puissance (4) dans le calculateur

    • 1962 : lancement du projet « informations codées » (en savoir plus) dont l’objectif était le suivant :

 – Permettre le rapatriement en nombre au dispatching de télémesures avec une précision garantie de 1% et dans un délai de l’ordre de 10 secondes,
– Offrir à l’arrivée un format à la fois analogique pour présentation sur des enregistreurs (dont un certain nombre existaient) et numérique pour acquisition et traitements automatisés par un ordinateur.

 

L’offre de marché étant insuffisante, EDF a été conduite à faire réaliser des matériels sur la base de spécifications propres. Après la réalisation d’un prototype installé à Nantes en 1964, la fabrication en série a été lancée en 1965 et le déploiement s’est étalé de 1966 à 1971. La pièce maîtresse du dispositif était l’ERC (5) capable d’acquérir puis de transmettre toutes les 10 secondes 20 mesures ou 160 signalisations.

les ERC au poste des Tanneurs, site pilote, près de Nantes.

Les premiers à bénéficier de cette nouvelle technologie ont été les synoptiques qui outre les positions des organes de coupure pouvaient désormais afficher des valeurs de mesures sous forme de quartiles.

La salle du dispatching de Lille en 1962.

Il n’y a pas encore d’ordinateur, mais le tableau synoptique a pris de l’ampleur et les enregistreurs se sont multipliés.

    • Décision d’équiper tous les dispatchings en SCADA

 La mise à disposition aux dispatchings par le projet « infos codées » de mesures au format numérique a ouvert la voie à l’informatisation de tous les dispatchings. Décision fût donc prise vers 1964 d’équiper le dispatching national et les huit dispatchings régionaux d’un système informatique permettant l’acquisition des données en provenance du terrain, la présentation à l’opérateur de ces données, leur surveillance et la réalisation de post-traitements sur celles-ci ou des données introduites par ailleurs.

La réalisation

Les calculateurs retenus

Les calculateurs retenus ont été des calculateurs vendus par la CAE/CII de la série 90-XX. .

Dans son positionnement stratégique CAE s’était axé sur la réalisation de logiciels orientés temps réel à valeur ajoutée, Elle avait établi, à cet époque, que l’industrie des composants en France ne pouvait rivaliser avec celle des Etats-Unis, et que la construction de ses propres ordinateurs était trop risquée, alors que d’autre part, ses compétences en logiciels pointus était une opportunité à saisir, notamment avec le contrôle commande de la production thermique (classique et filière graphite gaz), les dispatchings et le domaine militaire. CAE/CII s’est donc associé avec Wooldridge dans un premier temps (RW530) puis avec SDS (Scientific Data System) dont elle a  commercialisé la gamme C 900.
Les calculateurs finalement retenus furent des C 90-10 (SDS 910) qui ont été remplacés par des C 90-40 (SDS 940) avec la particularité de disposer d’un C 90-80 au niveau du dispatching national.

Au fond sur la gauche l’imprimante ligne et des dérouleurs de bandes qui n’étaient pas ceux utilisés dans les dispatchings.

Les C 90-40 étaient des machines à circuits (faiblement) intégrés et à transistors répartis sur des cartes de petit format, elles-mêmes enfichées sur des fonds de paniers répartis dans plusieurs armoires. La mémoire était une mémoire à tores magnétiques. Les mots étaient de 24 bits, mais l’adressage n’était que sur 14 bits, ce qui donnait une capacité mémoire adressable de 16 Kmots (soit seulement 48 Koctets). La mémoire physique pouvait monter à 32 Kmots, les 16 Kmots supplémentaires pouvaient être utilisés, moyennant une astuce système, pour stocker des données mais ne pouvaient pas contenir d’instructions directement exécutables. (en savoir plus sur les 90-40)

L’architecture retenue

L’architecture retenue est maintenant classique pour les SCADA, à savoir deux calculateurs fonctionnant en permanence, avec reprise automatique des traitements temps réel par la seconde machine en cas de panne de la première. Cependant l’architecture n’était pas symétrique tant du point du vue matériel que logiciel. Une machine était réservée aux traitements temps réel et l’autre aux traitements différés. Ces traitements différés s’exécutaient hors ligne, ce qui signifiait que l’automaticité du secours n’était pas assurée lorsqu’ils étaient en cours. Il était alors nécessaire d’arrêter les traitements et de relancer la machine en mode temps réel. Il est à noter que les dispatchings de Brive et de Marseille ne disposaient au début, que d’une seule machine. Pour ces dispatchings, les traitements hors ligne nécessitaient donc l’arrêt du temps réel. Les dispatcheurs étaient alors amenés à conduire le réseau avec le synoptique, les enregistreurs, le téléphone et bien entendu le schéma de quart. (En savoir plus sur l’architecture).

Salle des calculateur de Lille en 1967. On peut voir sur la gauche un écran alphanumérique, puis à moitié cachée, une imprimante ligne, un perforateur de cartes le long du pilier, et au fond en arrière plan une autre imprimante ligne.

Sur la droite au premier plan, l’arrière d’une des consoles système, une unité de disque (3 MO pour mémoire), un peu plus loin la console système de l’autre calculateur tournée vers le lecteur perforateur de ruban papier et le pupitre. On voit les armoires des calculateus eux-mêmes complètement sur la droite.

Le développement

Le développement de ce premier palier fût mené de concert entre le fournisseur retenu (CAE/CII) et EDF. Plus de quarante ans plus tard, la réussite de ce développement nous laisse encore admiratifs. Envisager que l’on puisse faire tenir, OS compris, les fonctionnalités d’un vrai SCADA de base avec moins de 100 Koctets de RAM semble aussi impossible que l’existence de la « fourmi de 18 mètres avec un chapeau sur la tête » de Robert Desnos. La réussite s’est notamment appuyée sur :

  • la mise en œuvre de concepts simples mais efficaces servis par une excellente connaissance des capacités de la machine.
  • l’optimisation au niveau du bit pour les tables système, mais aussi pour les données utilisateur.
  • l’optimisation, pour les instructions déroulées dans le scheduler, faite au niveau du nombre de cycles machine et non du nombre d’instructions. (En savoir plus sur les schedulers).
  • l’optimisation des mouvements des bras de lecture du disque et donc des temps d’accès. La taille et l’emplacement des fichiers, y compris ceux contenant les exécutables des programmes, étaient gérés manuellement, les emplacements étant choisis pour que les mouvements des bras des disques soient minimisés (ainsi, par exemple, les programmes de récurrence minute, étaient positionnés non loin des stockages « minute » puis venaient les programmes de récurrence dix minutes et les fichiers correspondants et ainsi de suite).
  • une répartition judicieuse entre mémoire vive et disque, tant pour les programmes que pour les données.

L’exploit est d’autant plus grand que les tâches de production et de tests des logiciels étaient particulièrement lourdes et sans outillage d’aide (En savoir plus sur les développements du logiciel)

La gestion des données

En l’absence de Système de Gestion de la Base de Données et de Système de Gestion de Fichiers, tout était manuel.
Les cartes perforées constituaient le support initial des données de téléconduite et des données d’imagerie.  Un utilitaire permettait de lire ces cartes et de constituer des fichiers qui étaient ensuite versés sur disque.

Comme nous l’avons vu plus haut, la gestion des emplacements des fichiers sur disque était manuelle : un fichier correspondait à une localisation et un nombre défini de secteurs. Lire ou écrire un fichier consistait donc à lire ou écrire un nombre défini de secteurs à un emplacement défini sur le disque (numéro de tête, de cylindre et secteurs).
Ce travail nécessitait une grande méticulosité :

    •  La cohérence des données reposait entièrement sur les épaules des opérateurs de saisie,
    • Il en était de même pour la gestion des espaces disque : une erreur sur la taille d’un fichier et on allait écraser le fichier du voisin.

Le déploiement

Le déploiement aura lieu de 1967 à 1971.

A l’issue du développement initial et du déploiement ainsi que d’une formation adaptée, EDF reprendra rapidement la maintenance du logiciel (y compris celle du superviseur) qui sera répartie de façon originale entre les équipes des différents dispatchings (national et régionaux) pour la partie SCADA et Direction des Etudes et Recherches pour la partie modèles)

Les fonctionnalités offertes au dispatcheur

Les fonctionnalités de départ

Chaque dispatcheur disposait d’un poste de travail à 1 ou 2 écrans alphanumériques monochromes et d’un clavier alphanumérique complété par des touches de fonction, le tout lui permettant :

  • D’afficher des schémas de poste simplifiés (représenté à l’aide des caractères disponibles),
  • D’afficher des listes de mesures par poste,
  • De mettre en ou hors surveillance des mesures,
  • De modifier des états de télésignalisations réputés faux (fonction masquage),
  • De consulter la liste des alarmes et des dépassements de seuils.

La salle de dispatching de Nancy en 1971. Outre le synoptique de plus en plus imposant, et la présence d’un nombre réduit d’enregistreurs, on remarquera les postes de travail à deux écrans.

Les évolutions

Les C 90-10, limités en termes d’acquisition de mesures, ont rapidement été remplacés par des C 90-40 dans les dispatchings régionaux sauf dans celui de Lille, qui disposait d’un réseau plus petit, et qui a gardé un C 90-10 en parallèle avec un nouveau C 90-40. Le dispatching national bénéficiera en parallèle avec le C 90-40 d’un C 90-80 pour toutes les applications scientifiques.
Compte tenu de leur durée de vie et des évolutions de l’exploitation du système électrique de nombreuses évolutions ont été développées ; nous ne retiendrons ici que quelques unes :

  •  Evolution du poste opérateur : Les écrans des dispatcheurs, furent remplacés par des écrans couleur semi-graphiques disposant d’une bibliothèque de symboles graphiques (écrans MP 1000). Ceci permettait d’afficher de véritables images de poste (schémas de poste renseignés avec les mesures de puissance actif/réactif, les mesures de tension et les positions des organes de coupure), et surtout de différencier par la couleur les niveaux de tensions et la gravité des alarmes.
  • Introduction de la télécommande sur le réseau de transport : Le dispatching de Lille qui avait à gérer de nombreux couplages et découplages des groupes des Houillères, tôt le matin et tard le soir a développé la possibilité de télécommander depuis les calculateurs temps réel quelques organes de coupures.
  • Introduction de la télécommande sur des moyens de la production hydraulique : Le dispatching de Toulouse a été amené à développer des automates pour gérer la production de quelques centrales des Pyrénées et notamment le délicat problème des démarrages dans les centrales comportant plusieurs groupes.
  • Introduction de modèles de calcul de réseau : analyse de sécurité dans l’approximation du courant continu :
    • Calcul de répartition. Il a pour objectif le calcul des transits sur les ouvrages à partir des injections aux nœuds électriques. Il a été développé en assembleur à cause des ressources limitées des calculateurs. Il a fonctionné de façon satisfaisante au niveau algorithme. Son fonctionnement effectif en exploitation s’est heurté au fait que trop de positions d’organes de coupure (disjoncteurs, sectionneurs) étaient manuelles et que la moindre erreur (erreur réelle ou décalage dans la mise à jour) de position entrainait des problèmes de convergence ou l’apparition de résultats faux.  L’effort de mise à jour en temps réel a longtemps été trop important pour que l’utilisation de ce nouvel outil soit régulière.
    • analyse de sécurité dans l’approximation du courant continu. Il s’agit d’un programme simulant tour à tour un certain nombre de déclenchements pour en évaluer les conséquences sur les transits dans les autres ouvrages. Le modèle utilisé dit dans « l’approximation du courant continu » traite très schématiquement les problèmes de chute de tension qui résultent des déclenchements.
    •  Appréciation d’état. Alors que le réseau THT (225 kV et 400 KV) avait un plan de télémesures convenable, les réseaux HT (63 KV et 90 kV) étaient faiblement télémesurés.  Pour palier cet état de fait, l’idée est venue de mettre en place un modèle qui donnerait une évaluation de la situation sur ces réseaux faiblement télémesurés.  Le principe de base était le suivant : on partait des prévisions de consommations sur les points de livraison et on effectuait un calcul de répartition. Ce calcul donnait des transits sur toutes les liaisons (lignes et transformateurs THT/HT). Là où il existait des mesures (notamment sur les transformateurs THT/HT), on comparait les résultats du calcul avec les mesures et on ventilait les écarts en fonction d’une notion de zone d’influence. Ceci donnait un nouveau point de départ pour les consommations et l’on itérait jusqu’à ce qu’un critère sur l’ensemble des écarts soit atteint.
La salle de dispatching de Lyon  en 1971. Le synoptique est encore plus imposant que celui de Nancy (CF supra).On remarquera les postes de travail à un seul écran.

Compte-tenu de leur durée de vie, les 90-40 ont été amenés à suivre les évolutions de leur environnement informatique, et à s’ouvrir à l’extérieur :

 
 
  • Le Système de Gestion Energétique Prévisionnel (SGEP) sera déployé de 1972 à 1975. Il reprendra à son compte une partie des travaux effectués sur la machine de traitement différé. Une passerelle, basée sur un Mitra 15, sera mise en place dans chaque dispatching pour permettre la transmission, du 90-40 vers le SGEP, des réalisations (CPRC et Photos) (6)
  • Des Calculateurs d’Acquisition (les CACQ), jouant le rôle de frontaux pour les 90-40, seront déployés de 1977 à 1981 dans le cadre du SDART (en savoir plus sur le SDART),
  • Le Réglage Secondaire de Tension (7) sera déployé de 1979 à 1984. Les 90-40 seront chargés d’acquérir la valeur du niveau de réglage et de le réémettre vers les centrales hydrauliques.

L’exploitation et la maintenance

La maintenance matérielle

Historiquement assurée par CAE, puis CII, CII-HB et BULL au gré des rachats et fusions, elle a été reprise dans les années 80 par les services télécom des CRTT qui ont dû former des technicien à des technologies, certes passionnantes, mais déjà obsolètes.. On trouvait encore à cette époque deux types de maintenance : la maintenance préventive et la maintenance corrective. Les mauvaises langues, fortes de quelques années d’expérience et qui plus est dotées d’un certain humour, aimaient à dire que la maintenance préventive c’était juste avant que la panne arrive et la corrective juste après.

La maintenance préventive consistait

  • à nettoyer les appareils (lecteurs, bandes, disques, télétypes, perforateur…)
  • à recaler les jeux divers dans tout ce qui était mécanique : lecteur de cartes, dérouleur de bandes, télétype, bras des disques… Dans ce dernier cas il fallait assurer la compatibilité des réglages entre les différentes unités pour pouvoir monter n’importe quel disque sur n’importe quelle unité.
  • à ré-étalonner toutes les valeurs des alimentations et plus particulièrement celles des mémoires à tores.

La maintenance corrective intervenait suite à incident pour trouver la panne et y remédier. Pour ce faire les techniciens disposaient de programmes de tests qui leur permettaient en général de trouver le sous-ensemble en panne. Ensuite c’était le règne de l’oscilloscope à déclenchement. La carte suspectée était mise au bout d’un prolongateur et à l’aide du schéma électronique de la carte, le mainteneur suivait la propagation des signaux en pas à pas. Un fois le composant en panne détecté, il était changé au fer à souder. Si cela peut sembler totalement archaïque au vu des méthodes actuelles, cela était l’occasion d’acquérir des connaissances sur le fonctionnement profond d’un ordinateur, connaissances qui furent utiles à un certain nombre d’entre nous pour les projets ultérieurs. Au fur et à mesure du temps, la récupération de pièces sur des calculateurs en fin de vie a permis d’alléger les tâches de réparations immédiates en jouant sur les stocks de cartes existant.

La maintenance logicielle et l’exploitation

La maintenance logicielle a été rapidement reprise en main par le Service des Mouvements d’Energie. Dans chaque région, une équipe traitement de l’information comportait aux alentours de quatre analystes-programmeurs et deux techniciens. Les techniciens s’occupaient principalement des tâches d’exploitation courantes : mise à jour des données, aide aux tâches de facturation, de statistiques… Les analystes outre le développement des programmes et leur insertion en exploitation, étaient en charge de la maintenance logicielle et intervenaient en et hors des périodes d’heures ouvrables en cas de pannes. Généralement, hors heures ouvrées, les dispatchers effectuaient le redémarrage du système (au moins un des calculateurs) à partir d’une procédure pré-établie et, en cas d’échec, ils faisaient appel aux analystes. Ceux-ci venaient redémarrer le système, éventuellement après une tentative à distance au téléphone (c’était notamment le cas à Paris compte tenu d’un éloignement plus grand des analystes). L’obsolescence du matériel et une exploitation du réseau plus tendue ont conduit certaines régions à mettre en place une astreinte informatique.

Cette organisation un peu atypique a rempli pleinement ses objectifs en permettant une maintenance évolutive proche de l’exploitant des dispatchings et une continuité du service offert grandement satisfaisante le tout en s’appuyant sur des matériels somme toute assez fragiles et fortement contraints en place et en puissance. Par ailleurs, le potentiel acquis tant au niveau informatique que fonctionnel a été un des piliers sur lequel le palier SIRC s’est appuyé pour sa réussite.

 

notes de bas de page
(1) Pour une centrale en fonctionnement, le coût marginal est le coût de production d’un kw/h supplémentaire.
retour

 

(2) Le CAE 510 est une adaptation pour le marché civil du RW 530 de la société Ramo-Wooldridge.
retour

 

(3) Calcul de court-circuit : calcul permettant de calculer la puissance amenée par le réseau lors d’un court-circuit franc et les chutes de tension dans les postes électriques qui en résultent. Une puissance de court circuit élevée permet une meilleure résistance du réseau aux perturbations (déséquilibre, flicker, creux de tension…) mais elle doit rester dans les limites du matériel (jeux de barres des postes, pouvoir de coupure des disjoncteurs…)
retour

 

(4) Mécanisme contribuant au respect de l’équilibre production-consommation. Il élabore et envoie toutes les 10 secondes aux centrales participant à ce réglage, un ordre de production : le niveau. Ce niveau est élaboré à partir des écarts entre la fréquence de consigne et la fréquence mesurée et les échanges programmés aux frontières et les échanges mesurés. Le niveau variait de -1 (insuffisance de production) à +1 (surproduction.)
retour

 

(5) Emetteur Récepteur Cyclique composé d’un système de captation/émission dans chaque poste et de récepteurs au dispatching
retour

 

(6) Courbes a posteriori de Réalisation de Charges : série de 48 moyennes ½ horaires pour des rubriques portant sur les différents types de production, la consommation et les échanges. Les photos sont des situations instantanées du réseau (TM + TS + topologie). Ces données sont ensuite agrégées au niveau France.
retour

 

(7)  Dispositif destiné à maintenir la tension à une valeur de consigne dans des postes appelés points pilote. Des régulateurs situés dans les dispatchings élaborent un ordre de production de réactif (le niveau de RST) qui est ensuite envoyé dans les centrales qui participent à ce réglage.
retour 

 

Spécifications Techniques Générales du SIRC – Novembre 1976

Cette note, écrite en 1976, indique les principales orientations des Spécifications Techniques Générales des Systèmes Informatiques de Conduite des Dispatchings Régionaux. Elle faisait preuve d’une grande anticipation fonctionnelle et de grandes ambitions. On peut considérer que la satisfaction quasi complète de ses attentes initiales aura pris une vingtaine d’années…..

 

 

 

 

PRESENTATION DES SPECIFICATIONS TECHNIQUES GENERALES

DES SYSTEMES INFORMATIQUES

REGIONAUX DE CONDUITE

(S.I.R.C.)

J. Masson novembre 1976

—————–


RESUME :

Cette note indique les principales orientations des Spécifications Techniques Générales des Systèmes Informatiques de Conduite des Dispatchings Régionaux.

 

Cette note a pour but de présenter les Spécifications Techniques Générales des Systèmes Informatiques Régionaux de Conduite (S.I.R.C.) qui remplaceront les calculateurs 90-10 et 90-40 actuellement en service dans les Dispatchings Régionaux. Ces futurs systèmes informatiques devront permettre l’évolution des Dispatchings Régionaux en Centres Régionaux de Conduite (C.R.C.) pour qu’ils puissent assurer, outre la conduite des réseaux, la télécommande et la surveillance du matériel.

Ces Spécifications Techniques Générales ont été définies par un groupe de travail composé comme suit :

Direction Production Transport :

. Service des Mouvements d’Energie :

Service Central M. BOTREL

C.I.M.E. Est M. GILLON

C.I.M.E.Nord et Paris M.MASSON (animateur)

C.I.M.E. Ouest M. GANDON

C.I.M.E. Sud-Est M. ADMET

C.I.M.E. Sud-Ouest M. LAMOTTE

 

. Service de la Production Hydraulique M. AMESTOY

 

. Service du Transport M. KOWAL

Direction des Etudes et Recherches :

 

. Service Etudes de Réseaux

 

. Service Informatique et Mathématiques Appliquées

La préparation des travaux du groupe de travail et la rédaction des spécifications ont été assurées par une équipe permanente attachée au C.I.M.E. Nord et Paris[1].

Les Spécifications Techniques Générales constituent tout à la fois le rapport d’un groupe de travail et un cahier des charges pour les équipes qui seront chargées du projet, celles du constructeur (ou de la société de service) et de l’E.D.F. Ce document comprend donc des éléments plus complets que ce qui serait strictement nécessaire aux soumissionnaires, notamment en ce qui concerne les programmes d’application.

Les Spécifications Techniques Générales ont été rédigées dans l’hypothèse d’un appel d’offres unique pour les sept dispatchings. Cet appel d’offres serait lancé dans des conditions qui restent à déterminer auprès de soumissionnaires qui pourraient être des constructeurs ou des sociétés de service.

Cette hypothèse de l’appel d’offres explique que sur certains points, des possibilités de choix aient été maintenues. C’est en particulier le cas de l’architecture du système que le groupe de travail, tout en manifestant sa préférence pour une solution à trois calculateurs, a laissé aux soumissionnaires le soin de définir.

Les Spécifications Techniques Générales devront être complétées lors du lancement de l’appel d’offres par un document précisant les limites de fournitures et par un dossier technique indiquant aux soumissionnaires les principaux renseignements à fournir et l’échéancier de réalisation des sept dispatchings.

Les Spécifications Techniques Générales ont été décomposées en huit chapitres intitulés :

– Introduction

 

– Liaisons entre systèmes informatiques

 

– Périphérie de restitution et de dialogue

 

– Programmes d’application

 

— Base de données

 

– Logiciel de base

 

– Qualité de service

 

– Architecture

Dans cette note de présentation, un résumé du contenu de ces chapitres est donné, mettant en évidence les orientations retenues.

Quelques indications chiffrées ne figurant pas dans les Spécifications Techniques Générales, mais résultant d’études préliminaires, sont fournies pour l’évaluation de la charge du système et l’architecture.

CHAPITRE 1 – INTRODUCTION

L’objet de cette introduction est de situer les futurs systèmes informatiques de conduite (S.I.R.C.), en s’appuyant sur les décisions d’orientation de la Direction Production Transport, du Service des Mouvements d’Energie et les conclusions du groupe de travail « C.R.C. ».

Nous définissons pour cela :

– la conduite des réseaux, c’est-à-dire du système de Production et de Transport d’E.D.F.

 

– l’organisation du Service des Mouvements d’Energie

 

– l’évolution des Dispatchings Régionaux en C.R.C. et les attributions de ceux-ci

 

– les moyens mis en œuvre pour permettre aux C.R.C. de remplir leur fonction

 

– le rôle du S.I.R.C.

Cette présentation du rôle et de l’environnement du S.I.R.C. nous amène à préciser plus particulièrement quelques points fondamentaux :

 

 

La distinction dans l’exploitation entre phase prévisionnelle et phase « temps réel »

– La phase prévisionnelle couvre une période allant depuis la prévision journalière (exploitation du lendemain) jusqu’à la prévision à moyen terme (examen de la situation du réseau dans plusieurs années). Les traitements correspondants sont assurés par le Système de Gestion Energétique Prévisionnelle (S.G.E.P.) et n’ont pas à être pris en compte, sauf exception,’ par le S.I.R.C.

 

– La phase « temps réel » comprend les interventions immédiates et un examen prévisionnel du réseau dans le cadre de la journée (fonctions « temps réel- étendu »). Les traitements correspondants doivent être assurés par le S.I.R.C.

La disponibilité exigée pour les fonctions assurées par le S.I.R.C.

 

Nous avons regroupé les tâches à assurer par le S.I.R.C. dans quatre classes :

A) Les fonctions d’acquisition, de télécommande et de visualisation Ces fonctions permettent d’avoir une connaissance « brute » de l’état du réseau (télésignalisations et télémesures) et d’intervenir sur celui-ci.

Ces traitements sont indispensables et le taux de disponibilité requis doit être tel que la défaillance soit inférieure à une heure par an.

Il n’est pas acceptable, en effet, d’être privé plus longtemps et plus souvent de toute information et de toute possibilité d’action sur le réseau. Le taux de disponibilité doit donc atteindre 99,99 %.

B) Les fonctions d’analyse primaire et d’analyse secondaire en temps réel Il s’agit-là des fonctions permettant d’acquérir une connaissance approfondie de l’état du réseau et de le surveiller.

Une disponibilité élevée est toujours nécessaire puisque cette classe comprend des fonctions qui indiquent l’état réel du réseau. On peut néanmoins considérer qu’un taux de disponibilité de 99,90 % est acceptable soit une défaillance d’une dizaines d’heures par an.

C) L’analyse secondaire en temps réel étendu

Il s’agit des calculs pouvant porter sur des données issues du temps réel et sur des hypothèses prévisionnelles dans le cadre de la journée. Il est demandé, pour cette classe, un taux de disponibilité de 97 %.

D) Les fonctions de type « Centre de Calcul » pour lesquelles la disponibilité doit être supérieure à 90 %.

Les moyens matériels et logiciels devront satisfaire ces exigences étant entendu que les taux indic ne ne concernent que le S.I.R.C. , l’environnement informatique (CACQ) et technique (climatisation, alimentation) ayant une disponibilité adaptée à ces exigences.

 

Les étapes de mise en œuvre

Compte tenu des échéanciers, la mise en œuvre des fonctions devra être assurée en deux étapes :

1) Mise en service de toutes les fonctions liées à la conduite des réseaux Cette étape doit être accomplie dès la mise en service du S.I.R.C. dans le premier dispatching rénové (deuxième semestre 1979).

2) Mise en service des fonctions de télécommande et de surveillance des installations à partir de 1982.

 

CHAPITRE 2 – LIAISONS ENTRE SYS TEMES INFORMATIQUES

 

Ces liaisons permettent de réaliser les tâches d’acquisition de données et d’émission d’ordres ou d’informations. Les calculateurs du S.I.R.C. devront échanger des informations avec :

– les CACQ

– le terminal du S.G.E.P.

– le processeur chargé de l’animation du tableau synoptique. Il est demandé que le raccordement du S.I.R.C. à d’autres systèmes soit aisément réalisable.

Les liaisons entre les différents calculateurs du S.I.R.C. dépendent de l’architecture choisie et seront traitées par ailleurs.

Liaisons CACQ – S.I.R.C.

C’est par elle que transitent toutes les informations « Temps Réel » issues du réseau, les ordres de téléaction (téléréglage, télécommande, etc..), les échanges avec le SYSDIC et les autres S.I.R.C.

Les informations échangées peuvent être du type « urgent » (données du temps réel), le CACQ est alors le calculateur « frontal » du S.I.R.C., ou du type « différé » (données binaires échangées entre régions, le CACQ est alors un commutateur de messages.

Un principe semblable à celui de la liaison CACQ – SYSDIC, a étéretenu. Une description détaillée de cette liaison est donnée dans une note établie par le Service du Transport et jointe en annexe au chapitre 2.

C’est une liaison de transmission série Full-Duplex doublée. La vitesse de transfert est de l’ordre de 50 000 bits/seconde.

La procédure de transmission (l’organisation logique des transmissions) est de type HDLC (High Level Data Link Control) en cours de normalisation à E.D.F. Le logiciel correspondant devrait donc pouvoir être fourni par E.D.F.

Les informations sont groupées en blocs homogènes de données du même type (TS ou TM ou TC). Chaque bloc est caractérisé par un code fonction qui annonce la nature des informations qu’il contient. Ils sont précédés d’en-têtes de transmission qui permettent de les aiguiller convenablement.

Les échanges sont déclenchés soit périodiquement (300 ou 500 ms), soit lorsque la zone correspondant à un type de données est pleine. La taille des messages est actuellement limitée à 128 octets mais la possibilité de la faire varier doit être prise en compte.

A la réception, un ordre de priorité a été retenu pour les blocs :

 

– données arythmiques (TS)

 

– données cycliques (TM)

 

– données « binaires »

Les données « individuelles » TS ou TM se présenteront sous la forme d’un groupe d’octets comprenant l’adresse nationale d’une part, la valeur d’autre part.(Une description de l’adressage national est donnée en annexe au chapitre 2).

Les données « binaires » ont une présentation différente, elles comportent un identificateur propre à chaque donnée et qui n’est accessible qu’au logiciel du S.I.R.C. destinataire.

 

Liaisons S.I.R.C. – S.G.E.P.

 

C’est par cette liaison que transitent, d’une part, certains résultats d’exploitation nécessaires à la mise à jour de la base de données du S.G.E.P., d’autre part, certaines prévisions, résultats des modèles du S.G.E.P.

Pour cette liaison un principe identique à celui de la liaison CACA – S.I.R.C. est retenu. Dans la mesure du possible, les messages seront présentés sous la même forme que les données « binaires » issues du CACQ.

 

 

Liaison S.I.R.C. – Processeur de synoptique

Le principe a été retenu d’animer les futurs tableaux synoptiques par l’intermédiaire d’un processeur relié aux CACQ et au S.I.R.C. en vue de séparer les fonctions par nature et de faciliter la spécificité du tableau synoptique dans chaque dispatching.

L’introduction d’un processeur dont le logiciel serait adapté à chaque région permet de préserver l’homogénéité du logiciel du S.I.R.C. puisque l’animation du synoptique se ramène à un transfert d’informations. Le S.I.R.C. émettra des informations d’état ou de mesures et recevra du processeur des acquits et des demandes de contrôle général.

Il faut d’ailleurs rappeler qu’un processeur est d’ores et déjà envisagé par le Service du Transport pour transmettre sur les tableaux synoptiques actuels, dès 1977, les informations qui seront gérées par les CACQ sans transiter par les équipements classiques. Il serait souhaitable d’étudier l’animation des futurs synoptiques en liaison avec cette étude.

La liaison S.I.R.C. – processeur de synoptique sera une liaison téléinformatique bidirectionnelle dont les caractéristiques restent à définir mais qui pourra être choisie identique aux précédentes par souci d’homogénéité.

CHAPITRE 3 – PERIPHERIE DE RESTITUTION ET DE DIALOGUE

Dans ce chapitre, les caractéristiques souhaitées pour la périphérie de restitution et de dialogue sont examinées.

Système de visualisation

 

Ce système a été étudié plus particulièrement car il apporte aux dispatchers les informations en temps réel et leur permet d’agir sur le réseau par l’intermédiaire de la télécommande.

Pour répondre aux besoins définis, le matériel est tout d’abord examiné puis le logiciel et enfin les types de dialogue homme-machine sont envisagés.

Dans la définition du logiciel désiré, il est indiqué non seulement celui qui devra être fourni par le constructeur, mais aussi celui qui est à la charge d’E.D.F.

 

Matériel

Le choix se porte sur des écrans graphiques, polychromes à balayage cavalier, avec au minimum trois couleurs aisément discernables. Les écrans pourront être rectangulaires ou circulaires. La diagonale (ou le diamètre) de leur surface utile ne devra pas être inférieure à 45 cm.

Ce type d’écran semble être le seul qui garantisse une définition de l’image suffisante pour afficher des zones électriques importantes. Le matériel vidéo semi-graphique permet un choix de couleurs plus important mais les possibilités de définition de l’image sont plus réduites.

Les dispositifs de commande de ces écrans seront constitués par un clavier alphanumérique universel et par un dispositif de désignation sur l’écran qui sera un photostyle (light pen).

Tous les écrans seront de même nature et possèderont les mêmes caractéristiques techniques. Un poste de travail complet comprendra trois écrans. La désignation à l’aide d’un photostyle devra pouvoir s’effectuer sur deux des trois écrans, le troisième n’étant pas un écran de dialogue mais uniquement d’affichage. C’est le fait d’avoir à utiliser le même dispositif pour deux écrans différents qui conduit à préférer le photostyle à la « boule roulante ».

La perte d’un écran ne devra pas empêcher une marche dégradée d’un poste de travail avec un seul écran de dialogue, l’autre étant utilisé en affichage.

Des postes de travail partiels à un ou deux écrans pourront être installés pour certaines tâches d’études.

 

Logiciel

Les images temps réel devront être affichées avec un temps de réponse inférieur à la seconde. Ceci exclut la possibilité de générer dynamiquement en temps réel l’ensemble des images mises à la disposition des exploitants.

La phase temps réel devra donc être précédée par une phase « centre de calcul », et les besoins en logiciel correspondront à ces deux types de travaux.

 

La phase temps réel peut être réalisée à l’aide des programmes suivants

. Moniteur graphique temps réel. Il assure la gestion des échanges entre les calculateurs pilotes (S.I.R.C.) et les unités de traitement du système de visualisation.

 

. Traitement des interactions. Activé par le moniteur graphique, il s’agit d’un automate constitué de données à deux niveaux :

 

. pour chaque image, un tableau donne la liste des entités désignables.

 

. pour chaque état de l’automate, un tableau donne la liste de tous les types d’actions possibles.

– Programme de composition des images, qui prépare l’image à afficher.

– Programme de rafraîchissement.

 

Le moniteur graphique temps réel devra être fourni par le constructeur mais les trois autres programmes seront réalisés par E.D.F.

La phase « centre de calcul » nécessite que le constructeur fournisse un certain nombre d’outils généraux que l’on peut répartir en quatre classes :

 

– génération de codes graphiques

 

– outils de mise au point

 

– traducteur (ou désassembleur)

 

– outils de test.

 

. Dialogue homme machine

La sélection des images sera fondée sur le principe de la recherche hiérarchisée.

Une image « répertoire » permettra d’initialiser cette recherche. La progression dans l’arborescence des images se fera par désignations successives. Cette image « répertoire » pourra être obtenue soit à partir d’autres images de l’arborescence, soit à l’aide d’une touche (notamment lors de l’initialisation d’un écran).

La procédure d’appel d’une image sera la suivante :

 

— désignation sur l’image d’un marqueur ou d’un libellé

 

— validation de la demande par touche incorporée au photostyle.

L’image apparaissant alors contiendra l’information désirée ou comportera une série de marqueurs ou de libellés permettant de progresser dans l’arborescence.

Les images seront composées de deux types de zones :

 

— la zone utile

 

— les zones de service réservées aux marqueurs de progression dans l’arborescence et aux libellés de paramètres.

 

 

On distinguera trois types d’affichage :

Affichage temps réel sur demande du dispatcher, qui comprend l’affichage sur trame topologique d’une zone, d’un poste, d’une vallée ou d’une usine hydraulique et l’affichage par listes, tableaux et courbes. I1 s’effectue sur les deux écrans accessibles au photostyle.

Affichage temps réel aléatoire qui concerne la visualisation de tous les évènements aléatoires qui doivent être portés à la connaissance du dispatcher. Il s’effectue sur le troisième écran du poste de travail.

Affichage d’étude. Pour la visualisation des résultats d’études et pour l’introduction des hypothèses, il est souhaitable de disposer de moyens de dialogue semblables à ceux utilisés pour le temps réel. Ceci nous conduit donc à rechercher pour les fonctions d’études un système de visualisation comparable à celui retenu dans l’affichage temps réel à la demande du dispatcher. Il est possible de spécialiser un écran graphique pour les fonctions d’études ou d’utiliser un des écrans du temps réel, à condition de dissocier clairement les fonctions d’affichage temps réel et études.

Pour l’organisation du dialogue homme – machine, nous avons retenu essentiellement la désignation par photostyle. Bien entendu, il est toujours possible de remplacer un libellé désignable par une touche pour éviter des désignations trop fréquentes. Il est possible qu’habitués à la désignation par touches, certains exploitants souhaitent son maintien. Il faut alors remarquer que le nombre et la complexité des ouvrages et des fonctions désignables interdit l’utilisation exclusive des touches, et que par conséquent, l’emploi de deux modes de désignation introduit une difficulté supplémentaire dans le dialogue homme-machine.

Périphérie de restitution sur papier

Plusieurs dispositifs de restitution sur papier sont à envisager :

 

 

Dispositif de recopie sur papier

 

Un dispositif permettant de reproduire sur papier l’image présente sur chacun des écrans d’un poste est demandé. Si un tel dispositif (hard copy) ne peut être raccordé directement ou indirectement sur le système de visualisation, un traceur de courbes sera utilisé.

Imprimantes rapides

 

Deux imprimantes rapides dont la vitesse pourra être comprise entre 600 et 900 lignes par minute sont nécessaires. L’une située au niveau du dispatching permettra la restitution d’informations selon les besoins des exploitants, l’autre sera utilisée au centre de calcul.

. Machines à écrire

Ces dispositifs servent au contrôle de l’état de chaque calculateur et pourront être utilisés en entrée et en sortie. Elles peuvent éventuellement être remplacées par des ensembles « console alphanumérique – imprimante lente »

CHAPITRE 4 – PROGRAMMES D’APPLICATION

Dans ce chapitre sont décrits les principes des programmes d’application mis en œuvre par le S.I.R.C.

Certains de ces programmes ne seront intégrés dans le logiciel d’application qu’en deuxième étape lors de l’évolution des dispatchings en C.R.C., la surveillance et la télécommande du matériel devenant alors effectives.

Tous ces programmes sont à la charge d’E.D.F., et si à ce stade des Spécifications Techniques l’analyse reste assez générale, des éléments permettant une évaluation de la charge et l’étude des spécifications détaillées sont fournis.

C’est ainsi que pour chaque programme d’application on donne :

– le mode et la fréquence d’activation, les modèles les plus prioritaires étant signalés

– la nature des données en entrée

– le traitement mis en œuvre et des indications sur les algorithmes

– l’utilisation des résultats

– les caractéristiques, c’est-à-dire essentiellement le nombre approximatif d’instructions déroulées ou des résultats extrapolés de bancs d’essais (bench mark) pour les modèles les plus complexes.

Dans cette note de présentation des Spécifications Techniques, seul le rôle de chaque programme et ses particularités seront indiqués. TRAITEMENTS D’ACQUISITION ET DE REGLAGE

Ces traitements constituent la base de l’ensemble du système temps réel puisqu’ils assurent le rafraîchissement de la base de données et permettent à l’exploitant de suivre l’évolution du réseau.

Cinq tâches peuvent être distinguées pour lesquelles bien entendu le taux de disponibilité le plus élevé est demandé (99,99 %)•

Acquisition des télémesures

Ce programme range dans les tables résidentes les télémesures brutes qui sont envoyées au S.I.R.C. par le calculateur d’acquisition. Ces télémesures sont utilisées ensuite pour renseigner les images temps réel

Acquisition des télésignalisations

 

Ce programme met à jour les tables d’état des télésignalisations et les listes chronologiques correspondantes. Les changements d’état sont systématiquement signalés sur l’écran d’alarme.

Topologie nodale

 

Ce programme détermine le schéma électrique du réseau et il établit pour chaque nœud électrique la liste des départs et des injections raccordés. Ce programme est préparatoire à toute analyse secondaire et il permet de plus de détecter les réseaux séparés.

 

Traitement du niveau fréquence-puissance

Le niveau est transmis à la région par le SYSDIC. Le S.I.R.C. effectue les traitements relatifs au niveau fréquence-puissance portant sur :

 

– la diversification

 

– l’affectation des niveaux diversifiés aux groupes en réglage

 

– le calcul à partir de ces niveaux de la charge active pour les usines hydrauliques de première intervention qui sont en réglage, en suivant le programme de marche de ces usines

 

– l’émission du niveau (pour les groupes thermiques) ou de la télécommande de puissance active (pour les groupes hydrauliques télécommandés).

 

 

Téléréglage secondaire de la tension

Ce programme doit pouvoir élaborer pour chaque groupe un ordre de participation au réglage de tension qui doit lui permettre de maintenir le niveau de tension souhaité dans la zone sur laquelle il est raccordé. Ce réglage s’effectue soit par consigne de production de réactif pour les groupes thermiques, soit directement par consigne de tension pour les groupes hydrauliques.

 

 

TELECOMMANDE

La possibilité généralisée de transmettre des ordres aux organes de coupure, aux automates du réseau et à certaines usines sera une des caractéristiques nouvelles des futurs dispatchings.

Cette évolution sera progressive et interviendra dans une seconde étape lorsque les dispatchings régionaux se transformeront en Centres Régionaux de Conduite. Cependant, les Spécifications Techniques Générales doivent en tenir compte au niveau d’une analyse globale.

Cette évolution s’accompagnera de la disparition du gardiennage des postes ; aussi la fonction « Télécommande » doit-elle bénéficier du taux de disponibilité le plus élevé.

Les traitements associés à cette fonction se situent à deux niveaux :

– l’analyse de l’ordre de télécommande permet de contrôler et de prendre en compte une demande du dispatcher,

– la gestion d’une télécommande contrôle la réalisation effective des ordres.

Ces traitements découlent d’une note globale sur l’organisation de la télécommande, jointe en annexe.

Organisation de la télécommande

Les ordres de télécommande sont transmis au calculateur par l’intermédiaire d’un écran de visualisation et des moyens de dialogue associés. La télécommande est possible depuis une image de zone, de poste ou d’usine.

 

L’opérateur sélectionne successivement la fonction, le ou les ouvrages ou organes concernés, et l’ordre de télécommande choisi à l’aide du photostyle. Certains choix pourront être effectués à l’aide de touches sans remettre fondamentalement en cause les options prises.

Après analyse de l’ordre de télécommande et si aucun problème n’est détecté, la position finale des organes désignés sera représentée dans une couleur différente de celle du schéma. L’ensemble des organes à manœuvrer pour la réalisation de l’ordre sera caractérisé par un clignotement. Le dispatcher devra confirmer sa demande en appuyant sur une touche « CONFIRMATION ». Le programme de gestion de la télécommande est alors activé.

Cette organisation est générale mais sa mise en œuvre varie suivant la nature des ouvrages télécommandés.

Analyse d’un ordre de télécommande sur le réseau de transport

La télécommande pourra s’effectuer au niveau d’un organe (ordre élémentaire) ou au niveau de plusieurs organes ou d’ouvrages (ordre de fonction

Il convient également de distinguer les manœuvres pour la réalisation d’un schéma d’exploitation et celles en vue d’une consignation.

Pour la réalisation d’un schéma d’exploitation :

 

– les ordres élémentaires comprennent : OUVERTURE ET FERMETURE

– les ordres de fonction : CONNEXION, DECONNEXION, MISE HORS TENSION, SCHEMA.

Pour les manœuvres en vue d’une consignation, on distinguera :

– les ordres élémentaires : OUVERTURE ET ALIENATION

FERMETURE ET ALIENATION

DESALIENATION

– l’ordre de fonction : RETRAIT.

Analyse d’un ordre de télécommande d’usine hydraulique

Deux modes de commande sont prévus, qui permettent d’assurer la conduite des usines :

– l’action programmée qui est normalement utilisée. Les programmes sont transmis au S.I.R.C. depuis le S.G.E.P. Ils peuvent être modifiés par le dispatcher dans le cadre du « temps réel étendu » à l’aide du système de visualisation et de dialogue.

– l’action immédiate qui permet au dispatcher d’agir en temps réel sur les groupes.

Remarque : La télécommande des automates d’exploitation peut se ramener au niveau de l’analyse de l’ordre, soit à un ordre élémentaire sur le réseau de transport (EN ou HORS service), soit à une action immédiate sur une usine hydraulique (envoi d’une télévaleur de consigne TVC).

La télécommande des turbines à gaz peut également se ramener à un des cas précédemment traités.

Gestion de la télécommande en cours

-Ce programme contrôle l’exécution séquentielle d’une liste d’ordres élémentaires.

Il concerne :

– dans les postes, les télécommandes d’organes

 

– dans les usines hydrauliques (ou turbines à gaz), les télécommandes d’organes ou de types de fonctionnement.

 

ANALYSE PRIMAIRE

L’analyse primaire utilise les données brutes du temps réel pour effectuer des traitements simples.

Ces fonctions, moins vitales que l’acquisition et la télécommande, ne doivent cependant pas être indisponibles plus d’une dizaine d’heures par an (99,90%). Les programmes correspondants devront être mis en service dès la mise en place du S.I.R.C.

Contrôles logiques

La validité technique des traitements effectués par le système informatique et leur crédibilité aux yeux des exploitants reposent sur la qualité des téléinformations reçues. Ce programme effectue au niveau du S.I.R.C. un contrôle complémentaire aux tests de validité effectués au niveau des CACQ.

Ces contrôles se composent de tests de Boucherot par postes, par nœuds, de contrôles de cohérence entre les télémesures et les télésignalisations, associées à un même départ et de contrôles en actif sur les lignes télé-mesurées aux deux extrémités.

Surveillance des dépassements de seuils

Un certain nombre de termes mesurés ou calculés sont périodiquement comparés à des valeurs limites dont le dépassement marque l’apparition d’une contrainte d’exploitation.

Trois programmes, de récurrences différentes, assurent cette fonction qui pour l’exploitant est unique.

Traitement « 10 secondes » : Le passage par zéro de tous les groupes de production télémesurés est surveillé et, pour un certain nombre d’ouvrages choisis par le dispatcher, les télémesures sont comparées aux seuils fixés.

Traitement « minute ». Ce programme effectue :

– un contrôle systématique par rapport à l’IMAP (Intensité maximale admissible en permanence).

. un contrôle systématique des télémesures de tension pour chaque poste par rapport à une fourchette qui lui est propre.

. des contrôles à la demande, portant sur des termes calculés (sommes de puissances actives et réactives, gradients de mesures, intensités).

Traitement semi-horaire

 

Les programmes prévisionnels des groupes et les bilans prévisionnels des consommations sont comparés aux charges et bilans mesurés.

 

Bilans et stockages

 

La conservation de différentes grandeurs à pour but :

 

– de permettre l’étude ultérieure de situations particulières (incidents

– de faire des bilans énergétiques.

Plusieurs stockages peuvent être distingués :

 

– des stockages « 10 secondes » portant sur l’ensemble des télémesures

 

– des stockages « 10 minutes » portant sur des moyennes de mesures

 

– des stockages « 30 minutes » ou à la demande portant sur des situations complètes (mesures et topologie)

 

– des stockages aléatoires concernant les changements d’état.

Intensités

Les contraintes d’exploitation sont surtout liées aux intensités sur les liaisons alors que le plan de téléinformations propose principalement des mesures de transits actifs ou réactifs. Il est donc nécessaire de calculer les intensités.

Télécomptages

Les comptages d’énergie relevés pour les lignes d’échange avec l’étranger sont collectés en vue de leur utilisation en secours par le SYSDIC.

ECHANGE D’INFORMATIONS ELABOREES

Des échanges d’informations élaborées doivent être effectués avec différents systèmes informatiques en dehors des fonctions d’acquisition et de réglage.

Le rôle des programmes utilisateurs décrits ici se trouve donc limité :

.- en réception, à l’identification du type des informations reçues avant de les transmettre sous une forme utilisable aux programmes utilisateurs

– en émission, à l’extraction des informations de la base de données et à leur mise en forme par le destinataire final.

Traitement des messages S.G.E.P.

Ce traitement prépare les messages à émettre du S.I.R.C. vers le S.G.E.P. ou utilise les informations reçues.

Traitement des messages’ binaires »

Ce traitement gère les échanges de données binaires entre deux S.I.R.C. de régions différentes ou entre un S.I.R.C. et le SYSDIC, à travers le réseau T.T.R.

Mise à jour du synoptique

Systématiquement, un certain nombre d’informations issues de la base de données temps réel sont communiquées au processeur d’animation du synoptique pour affichage.

ANALYSE SECONDAIRE TEMPS REEL

L’analyse secondaire utilise les résultats de l’analyse primaire et met en jeu des modèles mathématiques complexes.

Les modèles correspondants seront mis en service dès la première étape, et devront bénéficier d’une disponibilité comparable à celle de l’analyse primaire.

Estimation d’état

Ce modèle, rend, cohérentes entre elle, les télémesures de l’ensemble du réseau, calcule les injecteurs équivalents et complète l’épuration des erreurs de téléinformations. Ce modèle ne sera appliqué qu’au réseau THT car il nécessite une forte redondance dans les télémesures.

Appréciation d’état

 

Ce modèle permet d’apprécier l’état des réseaux HT qui sont faiblement télémesurés.

 

Trois traitements permettent de suivre l’évolution de ces réseaux :

. Le calcul de base complet tient compte des modifications de topologie et d’injections.

 

. Un calcul de base simplifié est suffisant lorsque la topologie reste figée, quelles que soient les variations des injections.

 

. Un calcul partiel est possible lorsque la topologie reste figée, pour tenir compte du glissement des consommations, en supposant que les consommations finales sont homothétiques des consommations initiales.

Deux modèles de calculs sont décrits, l’un est en exploitation au C.I.M.E. Ouest, l’autre est proposé par la D.E.R. Le choix entre ces .deux modèles sera effectué au niveau de l’analyse détaillée en fonction des performances respectives.

Les modèles d’estimation et d’appréciation d’état sont chainés et s’exécutent toutes les minutes s’il n’y a pas eu de changement de topologie et tous les quarts d’heure dans le cas contraire où ils sont alors suivis du calcul de sécurité.

 

Calcul de sécurité en courant continu

 

Ce modèle a pour objet la détection des dépassements potentiels de seuils consécutifs au déclenchement d’ouvrages de production et de transport.

Le nombre des ouvrages sur lesquels porte-un déclenchement est limité

à cent pour des raisons de temps de traitement. Ces ouvrages seront introduits selon deux modes distincts :

 

— par le dispatcher

 

— de façon automatique, en prenant comme critère la charge relative des liaisons.

Ces calculs systématiques ne s’effectueront qu’en actif afin que le temps de traitement ne soit pas prohibitif. Le dispatcher a la possibilité de demander des analyses de sécurité en actif et réactif.

Calculs des réseaux équivalents

Les calculs de sécurité dans la mesure où ils simulent des déclenchements s’appuient sur une représentation des réseaux extérieurs aux réseaux de calcul. Ils permettent ainsi de tenir compte de la part des reports de charge supportée par les réseaux extérieurs, Chaque région doit donc calculer les impédances équivalentes à des parties de son réseau pour envoi au SYSDIC ou pour ses calculs de sécurité.

Estimation des apports-et des productions hydrauliques

Le but de ce programme est d’évaluer en temps réel les apports hydrauliques sur les différents réservoirs ainsi que les productions au fil de l’eau.

Suivant les données disponibles et les grandeurs à évaluer, l’un ou l’autre des modèles suivants est activé

– L’estimation des apports et des productions de fil à partir de-grandeurs témoins. Ce modèle, basé sur une formule de corrélation statistique entre la grandeur estimée et les valeurs témoins est particulièrement destiné à l’estimation des apports et des productions sur les usines de fil.

 

– Le calcul des apports à partir de télémesures de cotes et de puissance. Ce modèle, basé sur un calcul rigoureux, nécessite la connaissance d’un certain nombre de télémesures ; il ne peut être utilisé que pour les usines suffisamment .télémesurées.

ANALYSE SECONDAIRE EN TEMPS REEL ETENDU

Cette analyse en temps réel étendu permet de préparer l’exploitation. Elle va depuis le temps réel jusqu’au lendemain, soit une période qui peut s’étendre jusqu’à 36 heures.

Ces .études-mettent en jeu des modèles- complexes dont les durées de traitement sont de l’ordre de plusieurs minutes.

Déconnectés du temps réel immédiat, ces traitements sont activés à la demande ou périodiquement (mais avec une récurrence faible). De ce fait, le taux de disponibilité exigé est moindre que pour les traitements systématiques du temps réel, et un taux de 97 % semble suffisant.

Tous ces modèles seront en service dès la première étape de la réalisation des S.I.R.C.

Calcul de sécurité en alternatif

Ce modèle permet au dispatcher de simuler diverses situations d’exploitation à partir d’un réseau de base qui peut être le réseau THT ou l’un des réseaux HT de la région. Ce calcul effectué en alternatif s’appuie sur des données filtrées par l’estimation d’état ou l’appréciation d’état. Dans le cas où de telles données ne sont pas disponibles pour le réseau que veut étudier le dispatcher, il faut reprendre un calcul d’estimation d’état préalablement au calcul de répartition.

Calcul des puissances de court circuit

Ce calcul porte sur le réseau temps réel éventuellement modifié par le dispatcher ou sur une situation passée. La puissance de court circuit est calculée dans le cas du défaut triphasé symétrique.

Ajustement hydraulique en temps réel étendu

Le but de ce programme est d’optimiser le placement à l’intérieur d’une même journée, d’une production hydraulique supplémentaire non prévue par le « P4 » journalier. Ce programme n’existe pas à l’heure actuelle.

Evaluation des prévisions d’apports et de productions hydrauliques

Le but de ce modèle est d’évaluer plusieurs heures à l’avance la quantité et l’évolution des apports sur une région donnée.

La connaissance de ces apports permet, en effet, aux régions hydrauliques de transmettre au Dispatching Central leurs prévisions de production. Ce dernier peut ainsi gérer au mieux le parc de production thermique.

Ajustement- hydraulique journalier P4

Le but de ce modèle est d’établir les programmes journaliers de production de chaque usine hydraulique par points demi-horaires pour les deux jours à venir. Du domaine prévisionnel, il est normalement effectué sur le S.G.E.P. mais doit pouvoir être assuré sur le S.I.R.C. en secours.

Il existe actuellement deux modèles sensiblement différents pour réaliser cette fonction, aux C.I.M.E. Sud-Est et Sud-Ouest, mais pour l’intégration dans le S.I.R.C., un programme unique devra être réalisé.

Prévisions de consommation

La connaissance des prévisions de consommation permet d’ajuster les programmes d’exploitation au niveau du temps réel étendu et de surveiller la consommation effective en temps réel.

Les prévisions issues du S.G.E.P. sont ainsi affinées dans chaque région par l’utilisation des tout derniers résultats enregistrés en temps réel et par une meilleure connaissance des paramètres mis en jeu dans cette prévision (température, aléa particulier).

Au gré de la région, ce modèle pourra s’appliquer à des bilans par zone ou par type de consommation.

Simulation de situations d’exploitation

Cette fonction a pour but d’assurer la formation et le perfectionnement du dispatcher, en lui demandant de faire face à des évènements simulés, le plus près possible des conditions réelles d’exploitation.

Au niveau des Spécifications Techniques Générales, cette fonction est décrite de manière non exhaustive.

Le principe consiste à exécuter un calcul de répartition prenant en compte les modifications de topologie et d’injections introduites par l’opérateur ; ce calcul lui indique immédiatement les répercussions de ses décisions sur la charge des ouvrages dont il assure la conduite fictive.

ANALYSE A POSTERIORI

Dans cette rubrique, ce sont plus des notions générales que des programme: qui sont décrites car l’étude fonctionnelle de l’analyse a posteriori est encore en développement.

Les fonctions correspondantes ont pour but la visualisation ou l’édition de documents permettant à l’exploitant de connaître et d’analyser le fonctionnement passé du réseau et du système de téléinformations.

Ces fonctions peuvent avoir un caractère de temps réel étendu ou un caractère statistique :

 

Dans le premier cas, elles se déroulent sous temps réel et sont déclenchées par l’exploitant ;

Dans le second, elles se déroulent hors temps réel et sans perturber celui-ci (les programmes correspondants sont alors écrits en langage évolué).

Les données utilisées sont les informations périodiques ou aléatoires stockées sur disque ou sur bande magnétique (suivant leur ancienneté).

Les sorties se font sur écran ou imprimante.

La liste des fonctions décrites essaie de cerner les besoins actuels et futurs des exploitants, mais n’a pas de caractère limitatif, de nouveaux besoins en la matière pouvant toujours apparaître en cours d’exploitation.

On peut distinguer :

a) Les fonctions d’analyse du fonctionnement du réseau qui se décomposent en :

 

– fonctions accessibles au dispatcher comprenant la visualisation et l’affichage

 

. de situations instantanées

 

. d’évolution de termes

 

. d’évènements aléatoires

 

. de comparaison de réalisations aux prévisions

 

– fonctions accessibles hors temps réel, utilisant essentiellement les restitutions sur papier, et portant principalement sur :

 

. l’analyse des incidents

 

. les bilans

 

. les statistiques

 

 

b) Les fonctions d’analyse du fonctionnement des télétransmissions, venant en complément des statistiques effectuées sur les CACQ et comprenant :

 

– les anomalies des téléinformations

– les anomalies de la télécommande.

CONCLUSION,

Dans les Spécifications Techniques Générales sont fournis, pour chaque programme, les résultats de bancs d’essais ou une évaluation du nombre d’instructions déroulées lors de l’exécution. Ces éléments doivent permettre aux soumissionnaires de calculer la charge du système. Ils sont regroupés dans des tableaux joints en annexe au chapitre « Programmes d’application ».

 

Nous avons également effectué dans une étude préliminaire, un calcul de la charge avec des MITRA 125 en prenant 3 µs comme temps moyen d’instruction et en extrapolant les résultats de bancs d’essais (Ces données ne sont bien entendu pas communiquées dans les Spécifications Techniques Générales).

Le tableau ci-dessous indique par classe de fonctions le taux d’occupation moyen ainsi calculé.

Classe Fonctions Traitementssystématiques Charge complémentairede pointe
A Acquisition, visualisation, télécommande

14 %

10%

B Analyse primaire

2 %

3,8 %

Analyse secondaireen temps réel

14 %

38 %

C Analyse secondaireen temps réel étendu

11%

La charge complémentaire de pointe correspond aux traitements à effectuer lorsqu’une avalanche de changements d’état se produit. Nous constatons que l’analyse secondaire en temps réel avec changement de topologie introduit une charge très importante pour l’unité centrale.

CHAPITRE 5 – BASE DE DONNEES.

Evaluation des grandeurs caractéristiques du réseau

Les nouveaux systèmes informatiques régionaux doivent être conçus pour aborder l’année 1990.

Compte tenu de l’évolution actuellement constatée, il a semblé possible d’utiliser l’étude du plan à long terme à l’horizon 1985, pour déterminer les dimensions des réseaux à prendre en compte.

Quelques règles simples ont fourni le plan des téléinformations correspondant. Ce plan par son caractère systématique et exhaustif, conduit probablement à un léger surdimensionnement. Cette « marge de sécurité » reste nécessaire au niveau des Spécifications Techniques Générales.

Le tableau ci-dessous donne la récapitulation du nombre des grandeurs caractéristiques.

 

GRANDEURS CARACTERISTIQUES DES RESEAUX (Horizon 1985)

Site Nombre de postes Nombre liaisons NombreCellules NombreGroupes Nombre. consommations NombreTM Nombre TS
THT HT Coupure Alarme Surveil-lance
THT HT Physique THT HT
Lille 110 200

170

200

130

1660

25

100

210

850

5000

5400

13000

Lion 150 500

500

280

700

4600

500

50

500

1300

13800

15200

23500

Marseille 100 300

300

180

400

2700

150

20

350

800

8000

8900

20000

Nancy 150 520

550

290

850

4670

88

30

780

1300

13500

14000

35600

Nantes 130 420

430

315

650

4820

50

40

840

1700

15000

15000

34600

Paris 200 300

440

460

440

4600

50

200

700

1800

13800

15400

33200

Toulouse 100 600

615

200

550

3050

575

10

500

1400

7000

12000

25500

 

Evaluation de la base de données

Trois types de données peuvent être distingués :

– les données fixes

– les informations temps réel, images de l’état actuel du réseau

– les stockages qui permettent la reconstitution a posteriori de l’état du réseau.

Le tableau ci-dessous récapitule le volume en kilo-octets pour chaque type de données.

LILLE LYON MARSEILLE NANCY NANTES PARIS TOULOUSE
Données temps réel 37 84 57 100 98 95 74
Stockage 9073 19917 12281 19788 19142 21913 13354
Données fixes 3053 4133 3375 4178 3929 3806 4085

L’examen des volumes des bases de données montre que pour cinq dispatchings, les tailles sont comparables. La valeur maximale, environ 25 millions d’octets, est compatible avec les possibilités technologiques actuelles puisqu’il existe des disques de 50 millions d’octets.

CHAPITRE 6 – LOGICIEL DE BASE

Le logiciel de base d’un ordinateur est l’ensemble des outils logiciels qui permettent d’utiliser une installation informatique.

Il sera fourni par le constructeur, le soumissionnaire ou E.D.F., suivant des conditions définies dans le document « Limite de fourniture du matériel et du logiciel » joint à l’appel d’offres.

D’une manière générale, il est demandé aux soumissionnaires d’utiliser au maximum le logiciel du catalogue du constructeur, à l’exception toutefois du logiciel de reconfiguration qui devrait vraisemblablement être spécifique.

Dans le cas des programmes figurant au catalogue du constructeur, les soumissionnaires transmettront les caractéristiques principales. Pour le logiciel spécial, un document détaillé devra être fourni comprenant principes et réalisations.

Dans les deux cas, l’accent sera mis sur la maintenabilité des programmes. Ce logiciel comprend :

Le système d’exploitation temps réel qui peut être décomposé en quatre sous systèmes relatifs à :

 

. la gestion des programmes qui comprend

 

  • le programme de gestion des ressources chargé de gérer au mieux les ressources du système dans le cadre de l’utilisation du moniteur « multitâches ».

 

  • les demandes d’exécution de programmes. L’exécution d’un programme peut être demandée par l’intermédiaire d’interruptions, par un autre programme, par un « programme horloge ».

 

  • les priorités et les modes d’exécution des programmes.

. le traitement des entrées-sorties qui comprend

 

  • les handlers qui exécutent les entrées-sorties au niveau élémentaire et qui sont spécifiques de chaque périphérique

 

  • la gestion des entrées-sorties, c’est-à-dire des files d’attente.

 

  • les commandes d’entrées-sorties depuis les programmes utilisateurs.

 

. la gestion de l’heure

Le système doit pouvoir acquérir l’heure depuis une horloge externe, et en cas de panne de celle-ci, utiliser l’horloge interne.

. la détection des pannes et la reconfiguration

Le logiciel devra répondre aux exigences définies au paragraphe §4 (Architecture : surveillance commande et reconfiguration).

. la génération du système

Le système d’exploitation sera livré sur cartes interprétées et sur bandes magnétiques, ainsi que le système de génération. Diverses modifications devront être possibles sans régénération de l’ensemble du système.

. un système de traitement par lots

Un moniteur d’exécution de traitement par lots devra être fourni.

 

 

La production de programmes et de langages

 

L’écriture des programmes d’application ainsi que leur mise au point étant à la charge des équipes d’E.D.F., celles-ci devront disposer d’un logiciel leur permettant de s’acquitter de cette tâche.

 

Ce logiciel comprend :

 

. un assembleur et un macro-assembleur

 

. un compilateur FORTRAN IV temps réel, un macro-générateur et une documentation technique sur les autres langages évolués.

 

 

. un éditeur de liens et un chargeur.

 

 

Programmes de gestion de fichiers

Un certain nombre d’exigences sont formulées auprès des soumissionnaires Elles reposent en particulier sur le principe que le processus de génération et de modification de fichiers devra être tel que l’exploitant soit assuré d’avoir dans tous les cas un système parfaitement opérationnel et fiable. C’est à dire que les créations et les modifications de fichiers pourront s’effectuer à l’aide d’un éditeur de textes simple d’emploi, ce qui permettra de pouvoir associer exploitants du réseau et informaticiens à la mise à jour.

Elles se feront par cartes perforées ou par console et les informations à introduire présenteront peu de redondance.

Par contre les fichiers générés sur disques temps réel pourront comporter des redondances de façon à accélérer les traitements sous temps réel.

 

Logiciel d’aide à la programmation

L’évolution permanente des programmes d’application conduit à inclure tous les éléments nécessaires à un développement « on line » de ce logiciel. Ces opérations se feront au niveau de priorité le plus bas de la machine et ne devront pas risquer de perturber l’exploitation temps réel

 

Ce logiciel comprendra notamment des programmes :

. de gestion des modules permettant d’introduire des modifications au niveau des langages source et binaire.

. de test et d’élimination des erreurs afin de pouvoir mettre au point les programmesd’application sûr dés copies de la base de données.

 

 

Programmes de service et de test, permettant notamment la visualisation d’informations en mémoire et sur disques, le changement de supports pour les données ainsi que l’établissement de diagnostic pour les pannes.

 

 

Simulateur d’aide au démarrage.

 

Ce système, en cours de réalisation pour le SYSDIC, au service IMA de la DER, pourra être utilisé pour les S.I.R.C. Son rôle sera triple :

 

– aider à la mise au point du système

 

– évaluer les performances

 

– valider le dialogue opérateur – machine.

CHAPITRE 7 – QUALITE DE SERVICE

La qualité de service du système informatique ne peut être simplement perçue à travers la disponibilité de chaque classe de fonctions. Il faut également tenir compte des divers fonctionnements en mode dégradé. Au cours de ce chapitre, ceux-ci sont précisés en ne prenant pas en compte des critères purement informatiques mais en se plaçant du point de vue de l’exploitant.

Pour l’étude de la qualité de service, nous distinguons à l’intérieur d’une même classe de fonctions :

Les fonctions essentielles :

Ce sont celles qui déterminent la disponibilité de la classe.

Les f onctions rattachées

 

Elles sont étroitement liées aux précédentes et, de ce fait, rattachés à la même classe, mais leur disponibilité propre n’aurait pas besoin d’être aussi élevées que celle requise pour les fonctions essentielles auxquelles elles sont rattachées.

 

 

Cette séparation de fonctions nous amène à considérer deux types de périphériques :

– les périphériques indispensables : ce sont ceux sans lesquels les fonctions essentielles d’une classe ne peuvent plus être assurées.

 

– les autres périphériques dont la perte permet néanmoins une exploitation en mode dégradé.

En conséquence, nous entendons par :

panne : une situation dans laquelle les fonctions essentielles du calculateur ou du système ne peuvent plus être assurées.

mode dégradé : une situation dans laquelle certaines fonctions ne peuvent être assurées mais qui néanmoins permet une exploitation du système.

Un classement de la périphérie de chaque classe de fonctions, selon l’un des deux types précédemment définis, est fourni dans ce chapitre.

 

Les pannes et modes dégradés des différents équipements du S.I.R.C., puis la répercussion des pannes sur le fonctionnement du système sont successivement étudiés, de manière détaillée.

La configuration minimale du système après panne est définie. Elle correspond au mode le plus dégradé compatible avec l’exploitation et comprend :

– un calculateur et un disque associé

 

– le système minimal de visualisation : un poste à deux écrans

 

– une liaison avec le CACQ.

Les reconfigurations nécessaires devront être commandées automatiquement, les opérations manuelles devant toujours être possibles et prioritaires par rapport aux autres.

Les exigences en matière de disponibilité pour chaque classe de fonctions ont été définies par ailleurs, mais dans ce chapitre des précisions sont apportées sur les critères de calcul du taux de disponibilité, sur l’incidence des reconfigurations et sur la perturbation de l’exploitation qui en découle

Enfin, les demandes concernant la maintenabilité des matériels et des logiciels sont précisées. Il est exigé qu’E.D.F. puisse disposer des approvisionnements en pièces détachées et du support technique pour la mise à niveau des éléments du système pendant une période de quinze ans. La formation des équipes d’E.D.F. est également évoquée.

CHAPITRE 8 – ARCHITECTURE

Au cours de ce chapitre, les diverses contraintes imposées au matériel informatique sont définies et des exemples d’architecture proposés, mais le choix de celle-ci est laissé aux soumissionnaires.

 

 

. Principes de base

 

Certaines règles générales de conception dont les soumissionnaires devront tenir compte sont précisées, concernant :

– l’adaptabilité du système

 

– le choix des matériels

 

– les problèmes liés à la reconfiguration

 

– la disponibilité

 

 

. Description du système d’un S.I.R.C.

Un rappel sur la périphérie associée à chaque classe de fonction, les liaisons des calculateurs S.I.R.C. entre eux et les liaisons avec d’autres systèmes informatiques est effectué. En ce qui concerne les liaisons entre les calculateurs du S.I.R.C., nous précisons qu’elles pourront être réalisées soit par liaisons inter-calculateurs, soit par disques commutables.

 

 

. . Eléments de choix

 

Pour l’architecture, le choix du nombre de calculateurs dépend de la répartition des fonctions en classes auxquelles des taux de disponibilité

à atteindre sont imposés et de la charge dé celles-ci sur chaque calculateur.

Une pré-étude réalisée en liaison avec le service IMA permet de citer deux exemples d’architecture possible:

– un système à deux calculateurs avec secours simple

 

– un système à trois calculateurs avec secours double des fonctions les plus importantes.

Architecture à deux calculateurs

En situation normale la répartition des classes suivantes est adoptée

 

  • le calculateur 1 assure les fonctions A, B, C

 

  • le calculateur 2 assure les fonctions D.

Dans cette hypothèse, avec des calculateurs industriels, le taux d’occupation est trop important et il faut utiliser des calculateurs à 32 bits par mot ou multi-format. (Il est cependant à noter que le gain de performance entre un calculateur CII.HB 7740 et un MITRA 125 n’est pas, d’après les résultats de bancs d’essais, très important).

On obtient alors un taux de disponibilité :

 

. pour les fonctions A, B et C de 99,88 %

 

. pour les fonctions D de 93,6 %

Le prix du matériel, consoles graphiques exclues, peut être évalué grossièrement dans le cas du 7740 à : 7300 kF.

 

 

– Architecture à trois calculateurs

Elle doit pouvoir être réalisée avec des calculateurs industriels .MITRA 125 par exemple).

La répartition en situation normale peut être :

. Calculateur 1 : A et une partie de B (analyse primaire)

 

. Calculateur 2 : le reste de B et C

 

. Calculateur 3 : D.

. Les charges (CH) et les taux de disponibilité (TD) suivants sont obtenus :

. pour les fonctions assurées par 1 CH=30 % TD = 99,9998 %

 

. pour les fonctions assurées par 2 CH= 63 % TD = 99,98 %

 

. pour les fonctions assurées par 3 CH faible TD = 95,37 %

.

Ces charges ne prennent pas en compte le système d’exploitation temps réel (10 à 20 % de charge supplémentaire).

 

Le coût peut être estimé, consoles graphiques exclues, à 2 235 kF environ.

Les résultats de cette pré-étude (charge, disponibilité) né figurent pas dans la note mais les deux architectures sont proposées comme exemples aux soumissionnaires qui devront justifier leur choix.

Le groupe de travail a marqué sa préférence pour une solution à trois calculateurs.

En effet, dans la solution à deux calculateurs, pour que les fonctions de la classe A aient la disponibilité requise, il semble indispensable de prévoir un système simplifié d’entrée-sortie relié au CACQ système rustique ») permettant la visualisation de certaines informations et l’envoi d’ordres élémentaires de télécommande.

Elle nous semble présenter par rapport au système à 3 calculateurs, plusieurs inconvénients.

Elle accroît le coût de l’ensemble et entraîne des modifications de logiciel dans les CACQ. D’autre part, l’utilisation de ce dispositif sera plus difficile que celle du système normal et ne se fera que quelques heures par an.

Par contre, le système à trois calculateurs garantit un dialogue homme-machine identique dans toutes les situations (sauf bien entendu en cas de panne des trois calculateurs). La charge indiquée précédemment peut paraître élevée, mais elle a été calculée dans l’hypothèse la plus contraignante du point de vue du nombre de téléinformations. De plus, on peut penser que l’hypothèse retenue d’un temps moyen d’instruction égal à 3 µs est pessimiste. Ce système à trois calculateurs implique cependant une complexité accrue du logiciel qui pourra être toutefois simplifiée en acceptant une reconfiguration manuelle en cas de défaillance de deux calculateurs.

 

. . Surveillance, commande et reconfiguration

Pour atteindre les objectifs de disponibilité demandés, les soumissionnaires devront prévoir un système de reconfiguration. Deux possibilités existent :

 

Centralisé

Un dispositif centralise toutes les informations sur l’état du système détermine la stratégie à adopter et envoie les ordres de reconfiguration.

 

Réparti

Chaque calculateur reçoit les informations du système et élabore une stratégie en tenant compte de sa situation propre.

Dans ces deux cas, la reconfiguration devra être soit automatique (dans le cas de panne du système), soit manuelle, mais pouvant être réalisée simplement par le dispatcher. Afin de pouvoir commander ce deuxième type de reconfiguration, l’exploitant devra donc être informé de l’état du système. Cette information lui sera communiquée par l’intermédiaire :

. de la machine de commande

. du système de visualisation

. d’un synoptique de commande et de contrôle.

Il sera également procédé à l’établissement de statistiques sur les incidents afin de pouvoir déterminer les points critiques du système.

Les méthodes de détection des pannes sont essentielles pour la réalisation des commutations appropriées. Il est donc demandé aux soumissionnaires de les préciser pour :

. l’alimentation électrique

 

. l’unité centrale

 

. l’autocontrôle

 

. la mémoire

 

. les entrées-sorties

 

. la panne d’un programme ‘application. .

 

.

 

CONCLUSION

. Il est demandé aux soumissionnaires de sélectionner une architecture comportant 2 ou 3 calculateurs à 16 ou 32 bits par mot ou multi-formats, de définir l’option et le matériel retenus pour la reconfiguration et d’évaluer la disponibilité des classes ainsi que la charge en pointe et en moyenne.

Ils devront également fournir le coût du système en indiquant :

– d’une part, son coût de base ;

– d’autre part, le surcroît de coût entraîné par chaque option ou par

– périphérique supplémentaire.



[1] L’équipe était composée d’Alain Hérault, Gérard Ducheler et Pascal Ordoquy. Elle a servi d’embryon pour l’équipe SIRC qui a piloté la réalisation. (Ajout lors de la mise en forme de la note)