Brevet FR2575842A1 — publié le 19860711

La présente invention concerne les machines dites "automatisées", c'est-à-dire assurant un certain nombre de fonctions, le plus souvent mécaniques, par exemple l'usinage de pièces, l'assemblage de pièces, le dosage de produits, le contrôle du déroulement d'une série d'interventions, le contrôle des résultats, le classement, le stockage et analogues, mais pouvant également être physiques, par exemple le contrôle des traitements thermiques, ou chimiques, par exemple l'action sur des réactions endothermiques ou exothermiques, cette énumération de fonctions n'étant donnée qu a titre d'exemples et n'ayant aucun caractère limitatif, compte-tenu du champ extrêmement vaste de ces machines. Le but de l'invention est un nouveau dispositif permettant de résoudre le problème du "pilotage" de ces machines, c'està-dire pour en déterminer les conditions dans lesquelles lesdites fonctions sont assurées, en assistant ou même en annulant toute intervention humaine, et cela en fonction de toutes les contraintes, à savoir l'environnement industriel, les informations reçues par des capteurs et les eléments dits "actionneurs", c'est-à-dire les moteurs,relais, électrovannes, vérins et organes analogues. Actuellement, la solution adoptée consiste à associer un dispositif électronique à une programmation, permettant d'imposer à la machine d'une part les variables que constituent les interventions précitées, et d'autre part lesdites contraintes, par l'intermédiaire de l'analyse des fonctions sous forme de schémas désignés par "graphes", qui doivent ensuite être traduits en "langage automate", c'est-à-dire exprimées dans un code approprié au système de commande des organes de la machine, ce système assurant ensuite la gestion de la structure de l'automate qui accomplit alors sa "tache automatique". Dans la pratique, une telle programmation exige un travail considérable qui dès que le programme atteint un certain volume, devient pratiquement impossible à traiter. Un premier progrès, tendant à surmonter cet inconvénient, a consisté à utiliser un nouveau langage, dit "assembleur", qui, en abbréviant l'instruction, est plus commode à traiter. Toutefois, ce moyen, outre le temps et les efforts qu'il implique, présente deux inconvénients. Le premier est inhérent à la nature même de ce travail qui fait intervenir inévitablement le savoir faire et les connaissances approfondies du programmateur, qualités irremplaçables et obligatoires. Le second est de laisser encore la place à des erreurs pratiquement indécelables, et de ne pas tenir compte des parasites, encore moins décelables puisqu'inconnus. Un second progrès a consisté dans la création d'un langage d'automate utilisant cette fois des "macro-instructions correspondant à des fonctions déterminées, et limité à ces fonctions. Cette limitation n'autorise ni modification, ni complément, ni surtout de structuration, c'est-à-dire ne permet pas de tenir compte des fonctions multitaches. Au surplus, ce langage, bien que différent du précédent, n'en implique pas moins un savoir faire aussi profond et propre à l'opérateur. La présente invention élimine ces inconvénients des systèmes antérieurs, grâce à un dispositif nouveau, consistant en un microprocesseur associé trois banques de données, à savoir un "dictionnaire électronique" contenant la traduction classique de chaque instruction en langage assembleur, un analyseur électronique de fonctions et une "table électronique" des données figées, ctest-à-dire des précautions nécessaires classi- ques pour éviter les erreurs. Cette association reçoit les informations contenues dans'les "graphes", sous forme claire, et le microprocesseur explore systématiquement, en fonction de ces informations, le contenu des trois banques de données, de manière à en réunir les possibilités (contraintes constantes) et les informations spécifiques (contraintes partielles), pour en déduire une information exprimée en "langage machine", directement compréhensible par le microprocesseur. En d'autres termes, l'invention consiste à réunir dans des banques de données constamment associées à un microprocesseur, toutes les informations connues constituant habituellement le savoir-faire auquel le programmateur doit à chaque fois faire appel, de manière à éliminer l'intervention du programmateur à ce niveau, l'opérateur n'ayant qu'à taper sur un clavier les données de chaque "grafeet" correspondant aux fonctions analysées pour un problème donné, pour obtenir directement, à la sortie du dispositif un programme machine optimisé, et qui gère de façon entiàrement automatique les fonctions multitaches. Pour la mise en pratique de ce procédé, un problème d'automatisme à résoudre ayant été transcrit en diagrammes fonctionnels (graphes), l'invention consiste à écrire non plus un programme unique tenant compte à l'avance de toutes les possibi lités, cette appréciation humaine, par le programmeur, étant nécessairement limitée, mais autant de petits programmes simples que de "sous-tâches", et à analyser automatiquement le programme source, pour le re-écrire en programme optimisé, directement généré en langage machine (microprocesseur), sans aucune intervention du programmeur.Il n'y a plus alors qu'à exécuter le programme ainsi "idéalise", qui nra plus d'autre lien avec le programme tel qu'il a été écrit que les fonctions à accomplir, au lieu des problèmes d'interprétation et de compilation posés par les procédés antérieurs. En fait, on peut considérer qu'alors que les multitaches devenaient impossibles au-delà d'une certaine complexité dans la technique antérieure, grâce à l'invention, les multitaches deviennent implicites, automatiques et illimités. A titre d'exemple d'illustration, on va décrire l'application du procédé selon l'invention à un cas excessivement simple, à savoir la commande du déplacement d'un chariot d'un point à un autre d'une voie de roulement, comme représenté sur la figure 1. Il s'agit bien entendu d'un cas abstrait de la plus extrême simplicité : un chariot 1 actionné par un moteur électrique étant situé dans une position initiale donnee entre deux positions de fin de course (FDCG = fin de course gauche et EDCD = fin de course droite), on doit faire executer par le système de commande de déplacement de cé chariot les fonctions programmées de manière à amener le chariot dans une position différente donnée. L'écriture du programme correspondant à cette opération, pourtant extrêmement simple, exige en langage "Assembleur" 1002 lignes. La transcription en graphes des fonctions à accomplir est relativement très simple, comme l'illustrent les figures 2-3 et 4, qui correspondent respectivement à la phase d'initialisation, aux opérations principales et au comptage des impulsions du codeur. L'élaboration de ces trois graphes ne présente pas d'originalité en elle-même, et peut être utilisée pratiquement dans toutes les analyses d'automatisme industriel. Toutefois, alors que, dans leur application actuelle ces trois graphes doivent être considérés globalement et transmis en programme en tenant compte de toutes les interactions possibles, dans chaque machine, au contraire, selon l'invention, ils peuvent être introduits individuellement dans la machine, ce qui n'exclue pas les possibilitésde synchronisation automatique. En d'autres termes, selon l'invention, l'opérateur n a plus à se préoccuper d'une transposition des graphes en vue de leur exploitation, tandis que, jusqu'à présent, en posses-sion desdits graphes, il devait procéder à l'écriture du programme complet correspondant à ces graphes. Pour cela, la fabrication du programme est faite, non plus par ltopérateur faisant appel à son expérience humaine, mais par l'ordinateur lui-même, sans lequel ont été introduits toutes les données nécessaires, comme il a été exposé au début de la présente description. REVENDICATIONS. 1. Dispositif pour le pilotage des machines dites automatisées, pour en déterminer les conditions dans lesquelles sont assurées leurs fonctions, selon les différentes contraintes qu' elles subissent, caractérisé en ce qu'il consiste en un microprocesseur associé à trois banques de données, à savoir un "dictionnaire électronique", contenant la traduction classique de chaque instruction en langage assembleur, un analyseur électronique de fonction, et une "table électronique" des données figées, ctest-à-dire des précautions nécessaires classiques pour éviter les erreurs. 2. Dispositif selon la revendication 1, caractérisé en ce que l'association de ces trois banques de données reçoit les informations contenues dans les "graphes" classiques ,iemicroproces- seur explorant systématiquement le contenu de ces trois banques, de manière à en réunir les possibilités "contraintes constantes", et les informations spécifiques "contraintes partielles", pour en déduire une information exprimée en langage machine directement compréhensible par le microprocesseur.