FR 2703620 A1 19941014 FR 9404010 A 19940406 i La présente invention concerne un système de commande multitâche et elle concerne plus particuliè- rement un système de commande destiné à commander des opérations d'un ensemble de dispositifs commandés, chacun d'eux étant capable de positionner un ensemble d'axes logiques incorporés dans ces dispositifs, pour effectuer des opérations telles que le soudage ou l'assemblage de pièces, dans lequel une commande parallèle des dispositifs respectifs est accomplie par un processeur multitâche, et la commande d'opérations telles que le soudage, qui exigent par nature une commande en temps réel, est effectuée par un proces- seur fonctionnant en temps réel. On a utilisé jusqu'à présent divers appa- reils automatiques comprenant des robots de soudage, des robots d'assemblage, etc, dans diverses usines de fabrication, comprenant des chaînes de fabrication d'automobiles De façon générale, de tels appareils automatiques ont une capacité de commande de position- nement pour un ensemble d'axes logiques dans un pistolet de soudage ou une main de robot, pour le soudage ou l'assemblage de pièces, et la commande de positionnement est généralement effectuée par un système de commande à servomoteur basé sur un ordina- teur. Une chaîne de fabrication automatique de type caractéristique est constituée par un ensemble d'appareils automatiques disposés conformément à une séquence de traitement Les appareils automatiques sont commandés individuellement ou en combinaison pour le positionnement ou l'accomplissement d'opérations par un séquenceur basé sur un microprocesseur ou par une unité de commande basée sur un ordinateur. Des systèmes de commande multitâches qui sont conçus pour commander un appareil automatique du type décrit ci-dessus sont décrits par exemple dans les publications de brevet du Japon N O 63-86036 et 1-169540 On appelle ici commande multitâche l'exécu- tion simultanée d'un ensemble de tâches ou de travaux en passant d'une tâche à une autre selon un mode de fonctionnement en temps partagé, chaque fois qu'une interruption est introduite On appelle commande en temps réel un processus dans lequel toutes les procé- dures d'une série de procédures nécessaires, compre- nant des opérations d'entrée de calcul et de sortie, sont achevées avant l'apparition d'une interruption suivante, et dans lequel ces procédures sont répétées chaque fois qu'une interruption est introduite. Habituellement, des positions de consigne d'axes (servomoteurs) respectifs qui sont inclus dans un dispositif sont fournies à un système de commande de servomoteurs, et l'arrivée simultanée des axes est également traitée du côté du système de commande de servomoteurs Par conséquent, lorsqu'il y a un ensem- ble de dispositifs, le traitement d'arrivée simultanée doit être répété un nombre de fois égal au nombre de dispositifs, ce qui entraîne une augmentation du volume de traitement Du fait qu'une configuration d'axes doit être modifiée par des paramètres, le traitement d'asservissement est très complexe et le traitement des dispositifs est également complexe. Lorsqu'il y a un ensemble de dispositifs à commander, il est préférable d'utiliser un traitement multitâche pour commander simultanément des disposi- tifs respectifs Cependant, le traitement multitâche ne convient pas à la commande de travaux qui sont par nature des travaux à accomplir en temps réel Si les commandes d'un ensemble de dispositifs sont exécutées sous la forme d'une seule tâche, la description exigée d'un programme d'ordinateur devient si complexe que la fiabilité et les performances du programme ont tendan- ce à devenir insatisfaisantes De plus, la main d'oeuvre qui est exigée pour écrire et réviser le programme augmente. Un but de la présente invention est donc de procurer un système de commande pour commander des opérations d'un ensemble de dispositifs commandés, chacun d'eux étant capable de positionner un ensemble d'axes logiques incorporés dans ces dispositifs, pour effectuer des opérations telles que le soudage ou l'assemblage de pièces, dans lequel une commande parallèle du positionnement des axes dans des disposi- tifs respectifs est effectuée par un processeur multi- tâche, et la commande d'opérations telles que le soudage est effectuée par un processeur travaillant en temps réel, pour permettre ainsi la commande des opérations qui nécessitent par nature une commande en temps réel, pour permettre à l'utilisateur du système de créer aisément le logiciel (programmes d'ordina- teur), sans diminution de la fiabilité et des perfor- mances du logiciel, et pour éviter l'augmentation de la main d'oeuvre nécessaire pour le développement et la révision du logiciel. Pour atteindre le but ci-dessus, la présente invention procure un système de commande multitâche pour commander des opérations d'un ensemble de dispo- sitifs commandés, comprenant un processeur travaillant en temps réel ayant une unité de commande pour la commande des opérations des dispositifs commandés, un processeur multitâche ayant un ensemble de tâches d'application associées aux dispositifs commandés respectifs, et une mémoire de communication pour transférer des ordres et/ou des données prédéterminés, nécessaires pour la commande des opérations des dispo- sitifs commandés, entre le processeur travaillant en temps réel et le processeur multitâche. Le processeur multitâche peut en outre avoir une tache de contrôleur logique programmable (ou PLC) pour transmettre de l'information vers un séquenceur pour la commande centralisée des dispositifs comman- dés, et pour recevoir de l'information provenant de ce séquenceur. Le système de commande multitâche peut en outre comprendre un bloc de commande ayant des tâches d'application pour la communication avec les tâches d'application du processeur multitâche, la visualisa- tion de données sur un écran et l'introduction d'information par un clavier, le processeur multitâche ayant en outre une tâche de communication pour commu- niquer avec les tâches d'application du bloc de com- mande. Les tâches d'application des processeurs multitâches peuvent correspondre respectivement aux dispositifs commandés, pour émettre des données de position de consigne vers le processeur travaillant en temps réel, par l'intermédiaire de la mémoire de communication, et pour recevoir des données de posi- tion présente à partir du processeur travaillant en temps réel, par l'intermédiaire de la mémoire de communication, le processeur travaillant en temps réel comportant des moyens pour calculer une distance à parcourir à partir d'une position présente jusqu'à une position de consigne, sur la base des données de posi- tion de consigne et des données de position présente, et émettant un ordre de vitesse basé sur la distance. Selon une variante, les tâches d'appplica- tion des processeurs multitâches peuvent correspondre respectivement aux dispositifs commandés, pour émettre vers le processeur travaillant en temps réel, par l'intermédiaire de la mémoire de communication, des programmes d'application de pression et d'activation, le processeur travaillant en temps réel comportant des moyens pour émettre un ordre pour faire fonctionner un pistolet de soudage sur la base des programmes d'application de pression et d'activation et de l'ordre courant. Comme décrit ci-dessus, le système de com- mande multitâche comporte le processeur travaillant en temps réel, équipé de l'unité de commande pour la commande du fonctionnement, par exemple de la position et/ou du mouvement, des dispositifs commandés Le processeur travaillant en temps réel peut ainsi com- mander en temps réel les dispositifs commandés, c'est- à-dire qu'il peut par exemple commander le fonctionne- ment de pistolets de soudage ou l'activation de servo- moteurs qui déplacent de tels pistolets de soudage. Pour effectuer une commande de position et/ou de fonctionnement dans le processeur travaillant en temps réel, le système de commande multitâche comporte également le processeur multitâche qui contient les tâches d'application respectivement associées aux axes logiques et/ou aux dispositifs de commande Le processeur multitâche fournit des condi- tions de fonctionnement pour les pistolets de soudage et il confirme l'achèvement de l'opération des pisto- lets de soudage, ou bien il fournit des données de position de consigne pour la commande de position des servomoteurs et il confirme le fonctionnement des servomoteurs sur la base de données de position prove- nant de ces derniers. La mémoire de communication est placée entre le processeur travaillant en temps réel et le proces- seur multitâche, et elle transfère par exemple les conditions de fonctionnement des pistolets de soudage, ou des données de position de consigne et des données de position présente, du processeur travaillant en temps réel vers le processeur multitâche, ou du processeur multitâche vers le processeur travaillant en temps réel. Plus précisément, les tâches d'application correspondent respectivement aux axes logiques, et elles fournissent les données de position de consigne au processeur travaillant en temps réel, par l'inter- médiaire de la mémoire de communication, et elles reçoivent les données de position présente à partir du processeur travaillant en temps réel Le processeur travaillant en temps réel calcule des distances à parcourir à partir des positions présentes jusqu'aux positions de consigne, sur la base des données de position de consigne et des données de position présente, et il émet un ordre de vitesse basé sur les distances, pour commander le fonctionnement des servo- moteurs. Le processeur multitâche comporte la tâche de contrôleur logique programmable (ou PLC) pour émet- tre de l'information vers le séquenceur et pour rece- voir de l'information à partir du séquenceur, pour la commande centralisée des dispositifs de commande Le coffret de commande contient les tâches d'application pour communiquer avec les tâches d'application du processeur multitâche, pour visualiser des données sur un écran et pour prendre en charge de l'information introduite par un clavier, le processeur multitâche ayant en outre la tâche de communication qui consiste à communiquer avec les tâches d'application du coffrer de commande. Par conséquent, des processus de commande pour les dispositifs commandés sont pris en charge en un mode multitâche par le processeur multitâche, et la fonction de commande, qui doit être effectuée immédia- tement, pour commander une opération de soudage ou autre, est effectuée en temps réel par le processeur fonctionnant en temps réel. Ainsi, le système de commande multitâche peut traiter des processus de commande qui sont par nature des processus devant être accomplis en temps réel, et il permet à l'utilisateur de créer aisément des programmes, sans diminuer la fiabilité et les performances, pour éviter ainsi l'augmentation de la main d'oeuvre exigée pour développer et réviser des programmes. D'autres caractéristiques et avantages de l'invention seront mieux compris à la lecture de la description qui va suivre de modes de réalisation préférés, donnés à titre d'exemples non limitatifs La suite de la description se réfère aux dessins annexés dans lesquels: La figure 1 est un schéma synoptique d'un appareil de commande multitâche qui comprend un système de commande invention; La figure trant une structure La figure système de commande mode de réalisation La figure système de commande mode de réalisation La figure système de robot de La figure trant une structure système de robot de La figure multitâche conforme à la présente 2 est un schéma synoptique mon- logique d'un coffret de commande; 3 est un schéma synoptique d'un multitâche conforme à un premier de la présente invention; 4 est un schéma synoptique d'un multitâche conforme à un second de la présente invention; est un schéma synoptique d'un soudage; 6 est un schéma synoptique mon- hiérarchique de commande du soudage; 7 est un organigramme montrant une séquence de traitement d'une tâche de communication; La figure 8 est un organigramme montrant une séquence de traitement d'une tâche de contrôleur logique programmable (PLC); La figure 9 est un organigramme montrant une séquence de positionnement d'une tâche d'application; La figure 10 est un organigramme montrant une séquence de traitement dans un processeur de com- mande de positionnement; La figure 11 est un organigramme montrant une séquence de traitement pour une commande de posi- tionnement qui est effectuée manuellement à partir du coffret de commande; La figure 12 est un organigramme montrant une séquence de positionnement dans un processeur travaillant en temps réel; La figure 13 est un organigramme montrant une séquence de soudage d'une tâche d'application; et La figure 14 est un organigramme montrant une séquence de soudage dans le processeur travaillant en temps réel. Premier mode de réalisation La figure 1 montre sous forme de schéma synoptique un appareil de commande multitâche 10 qui comprend un système de commande multitâche conforme à la présente invention L'appareil de commande multi- tâche 10 comprend de façon générale un processeur multitâche 12, un processeur travaillant en temps réel 14 et une mémoire de communication 16. Le processeur multitâche 12 comprend une interface de communication (I/F COM) 12 a pour la communication avec un coffret de commande (TBOX) 22 (que l'on décrira ultérieurement), un microprocesseur (CPU-1) 12 b, une mémoire morte (ROM-1) 12 c et une mémoire vive (RAM-1) 12 d Le processeur travaillant en temps réel 14 comprend un microprocesseur (CPU- 2) 14 a, une mémoire morte (ROM-2) 14 b et une mémoire vive (RAM-2) 14 c. La mémoire ROM-1 12 c contient diverses tâches comprenant une tâche d'application pour le positionnement de divers axes de dispositifs commandés , tels que des robots de soudage ou des robots d'assemblage, et une tâche d'application pour un processus de soudage La mémoire ROM- 2 14 b contient un programme pour la commande de positionnement dans le processeur travaillant en temps réel 14 et un program- me pour la commande de pistolet/transformateur pour le soudage. Le processeur travaillant en temps réel 14 est connecté aux dispositifs commandés 20, pour com- mander le positionnement et le fonctionnement des dispositifs commandés 20 Sur la figure 2, le proces- seur travaillant en temps réel 14 est connecté à une interface de servoamplificateur (I/F SA) 18, pour appliquer des signaux de sortie de commande à des servo-amplificateurs, afin d'alimenter des servomo- teurs dans les dispositifs commandés 20, pour posi- tionner une main de soudage ou une main de robot des dispositifs commandés 20. La figure 2 montre sous forme de schéma synoptique une structure logique du coffret de com- mande 22 qui communique avec les tâches d'application de l'appareil de commande multitâche 10 et qui accom- plit des fonctions de visualisation et d'entrée d'information par des touches Le coffret de commande 22 est constitué seulement par un processeur multi- tâche 22 a dans lequel une tâche de surveillance 22 b, une tâche de communication 22 c, une tâche TOUCHE 22 d et une tâche de dispositif de visualisation à cristal liquide (ou LCD) 22 e sont enregistrées à titre de tâches d'application Le processeur multitâche 22 a comporte une bibliothèque de communication 22 f qui est une bibliothèque de programmes qui contient des programmes pour effectuer une communication inter- tâche entre l'appareil de commande multitâche 10 et le coffret de commande 22, par l'intermédiaire de la tâche de communication 22 c La bibliothèque de commu- nication 22 f est reliée à l'appareil de commande multitâche 10 par l'intermédiaire d'une interface de communication 22 g, pour émettre et recevoir des ordres et des données. La tâche LCD 22 e visualise sur l'écran de visualisation du dispositif de visualisation à cristal liquide (LCD) 22 i des données qui proviennent de l'appareil de commande multitâche 10 La tâche LCD 22 e accomplit une fonction de télécommande d'écran pour commander l'écran de visualisation à cristal liquide sur la base de données de séquence spéciales dans les données qui sont émises par l'appareil de commande multitâche 10, et elle accomplit également une fonc- tion de connexion à distance pour sélectionner une entité de communication vers laquelle la tâche TOUCHE 22 d doit émettre des données. La tâche TOUCHE 22 d émet des données vers l'appareil de commande multitâche 10 sur la base d'appuis sur des touches d'un clavier 22 h Les données qui sont émises par la tâche TOUCHE 22 d sont dirigées vers une tâche qui a été sélectionnée par la fonction de connexion à distance qu'accomplit la tâche LCD 22 e. La tâche TOUCHE 22 d peut fonctionner dans un mode normal et dans un mode d'entrée numérique Dans le mode d'entrée numérique, l'unité de visualisation à cristal liquide 22 i visualise une fenêtre d'entrée numérique sur son écran de visualisation L'utilisa- teur place dans la fenêtre d'entrée numérique des il données numériques à émettre, en utilisant un bloc de touches sur le clavier 22 h Lorsque l'utilisateur appuie ensuite sur une touche d'entrée sur le clavier 22 h, la fenêtre d'entrée numérique est supprimée et les données numériques sont émises vers l'appareil de commande multitâche 10 La commutation entre le mode normal et le mode d'entrée numérique est commandée par les données de séquence pour la commande de l'écran de visualisation à cristal liquide. De façon caractéristique, un échange de données direct entre la tache TOUCHE 22 d et la tâche LCD 22 e n'est pas effectué dans le coffret de commande 22, mais cet échange de données est accompli par l'intermédiaire des tâches d'application dans l'appa- reil de commande multitâche 10. La figure 3 représente sous forme synoptique un système de commande multitâche conforme à un premier mode de réalisation de la présente invention. Les références numériques indiquées sur la figure 3 qui sont identiques à celles indiquées sur la figure 2 désignent des éléments identiques A titre d'exemple illustratif, le système de commande multitâche est représenté sur la figure 3 sous la forme d'un système qui commande deux dispositifs de positionnement uniaxiaux, tels que des robots de positionnement, correspondant aux axes logiques respectifs dans les dispositifs commandés 20 Les deux dispositifs de positionnement uniaxiaux des dispositifs commandés 20 comprennent deux servomoteurs respectifs 30 a, 30 b et deux détecteurs de position 32 a, 32 b qui sont respec- tivement accouplés mécaniquement aux servomoteurs 30 a, b Le servomoteur 30 a et le détecteur de position 32 a sont connectés électriquement à un amplificateur de servomoteur 34 a, et le servomoteur 30 b et le détec- teur de position 32 b sont connectés électriquement à un amplificateur de servomoteur 34 b. Lorsque les amplificateurs de servomoteur 34 a, 34 B reçoivent des ordres de vitesse, ils comman- dent les vitesses de rotation des servomoteurs 30 a, 30 b et ils émettent des positions détectées par les détecteurs de position 32 a, 32 b, à titre de données de position présente Les ordres de vitesse sont fournis par le processeur travaillant en temps réel 14 et les données de position sont fournies à ce processeur Le processeur travaillant en temps réel 14 comporte des processeurs de commande de positionnement 14 al, 14 bl qui sont respectivement associés aux axes logiques, c'est-à- dire les amplificateurs de servomoteurs 34 a, 34 b, pour mettre sous tension les servomoteurs 30 a, 30 b de façon à amener et à maintenir les dispositifs de positionnement aux positions de consigne Les processeurs de commande de positionnement 14 al, 14 bl donnent des ordres de vitesse aux amplificateurs de servomoteur respectifs 34 a, 34 b, et ils reçoivent à partir des détecteurs de position 32 a, 32 b des données de position présente 40 a, 40 b des servomoteurs 30 a, b qui sont basées sur les positions détectées. Les processeurs de commande de positionne- ment 14 al, 14 bl commencent à fonctionner lorsque les positions de consigne 36 a, 36 b et des ordres de démar- rage 38 a, 38 b sont placés dans la mémoire de communi- cation 16 Les processeurs de commande de positionne- ment 14 al, 14 bl placent également dans la mémoire de communication 16 les positions détectées qui provien- nent des détecteurs de position 32 a, 32 b, à titre de données de position présente 40 a, 40 b. La mémoire de communication 16 est connectée au processeur multitâche 12 pour transmettre des données entre le processeur multitâche 12 et le processeur travaillant en temps réel 14 Le processeur multitâche 12 comporte des tâches d'application 42 a, 42 b pour fournir les positions de consigne 36 a, 36 b et les ordres de démarrage 38 a, 38 b aux processeurs de commande de positionnement 14 al, 14 bl du processeur travaillant en temps réel 14, afin de mettre sous tension les servomoteurs 30 a, 30 b et de confirmer le fonctionnement des servomoteurs 30 a, 30 b, sur la base des données de position présente 40 a, 40 b. Les tâches d'application 42 a, 42 b ont une fonction d'ouverture de session pour permettre d'effectuer des opérations de commande à partir de coffrets de commande 22 respectifs, de façon que les servomoteurs 30 a, 30 b puissent être commandés à partir des coffrets de commande 22 Les coffrets de commande 22 ont des tampons de communication indépendants 24 al-24 a 4, 24 bl-24 b 4, correspondant respectivement aux servomoteurs 30 a, 30 b, de façon à permettre de faire fonctionner indépendamment et en même temps les deux coffrets de commande 22. Le processeur multitâche 12 comporte égale- ment une tâche de contrôleur logique programmable ou PLC (séquenceur) 44, pour échanger de l'information pour la commande par le contrôleur logique programma- ble et la commande centralisée, et pour fournir des résultats aux tâches d'application 42 a, 42 b La tâche PLC 44 lit et écrit à tout moment des données de contact de séquenceur (données de contact communes comprenant des données d'activation d'asservissement, des données de démarrage, des données de fonctionne- ment manuel, des données d'activation de fonction et des données de numéro de configuration, et des données de contact individuelles comprenant des données d'arrêt, des données d'alarme, des données de réponse de verrouillage mutuel, des données de condition de démarrage, des données de verrouillage mutuel, des données de contrôleur de séquence et des données de signaux normaux) dans les tampons de contrôleur logi- que programmable 44 a, 44 b Le séquenceur rend donc possible une commande centralisée. Toutes les communications entre le proces- seur multitâche 12 et les coffrets de commande 22 ou le contrôleur logique programmable (séquenceur) sont accomplies par l'intermédiaire d'une tâche de communi- cation 46 et de l'interface de communication 12 a. L'autre élément participant à la communication, qui communique avec la tâche de communication 46, est sélectionné individuellement par chaque tâche Des tampons de communication 24 cl, 24 c 2 permettent à la tâche PLC 44 de communiquer avec le contrôleur logique programmable (PLC). La tâche de communication 46 réalise des communications d'un type dans lequel elle émet des données vers une destination qui est déterminée par l'émetteur, le récepteur ne rejette fondamentalement pas les données introduites, et il appartient aux tâches d'application 42 a, 42 b et à la tâche PLC 44 du récepteur de déterminer si les données introduites doivent être utilisées ou non Il n'est donc pas nécessaire de sélectionner l'autre élément qui parti- cipe à la communication pour les tâches qui manipulent seulement des données reçues, et il est nécessaire de sélectionner l'autre élément participant à la communi- cation seulement pour les tâches qui émettent des données. Les autres éléments participant à une commu- nication sont des tâches, et des données sont émises d'une tâche vers une autre au moyen de communications inter-tâches Ainsi, la sélection de l'autre élément participant à la communication consiste à indiquer une tâche, et elle nécessite de sélectionner un numéro de noeud et un numéro de tâche Pour accomplir une telle fonction, la tâche de communication 46 émet des don- nées reçues vers le tampon de réception d'une tâche de destination, et elle émet des données placées dans le tampon d'émission de chaque tâche, vers une tâche d'un autre noeud qui est l'autre élément participant à la communication qui est sélectionné par chaque tâche. Les tampons de communication 24 al 24 a 4, 24 bl 24 b 4, 24 cl 24 c 2 sont des tampons destinés à réaliser de telles communications inter-tâches, et ils sont établis sous la forme de paires de tampons de réception et d'émission S'il y a des données à émet- tre, chaque tâche d'application sélectionne l'autre élément participant à la communication et elle place les données dans un tampon d'émission, et la tâche de communication 46 émet les données vers l'autre élément participant à la communication S'il y a des données à recevoir, la tâche de communication place dans un tampon de réception les données qui sont dirigées vers elle-même, et la tâche d'application 42 a ou 42 b correspondante lit les données dans le tampon de réception. Dans le système de commande multitâche, l'utilisateur met en oeuvre chaque dispositif connecté par une ligne de communication en utilisant le coffret de commande 22 Du fait que des communications sont effectuées sous la forme de communications inter- tâches, l'utilisateur met en oeuvre une tâche d'appli- cation de chaque dispositif En premier lieu, l'utili- sateur détermine, avec le coffret de commande, le dispositif particulier et la tâche d'application particulières qui doivent être mis en oeuvre Ensuite, le coffret de commande émet une demande de démarrage d'utilisation vers la tâche d'application qui est déterminée. Sous l'effet de la demande de démarrage d'utilisation provenant du coffret de commande, les tâches d'application 42 a, 42 b commencent à émettre vers le coffret de commande divers éléments d'informa- tion de visualisation pré-programmés Ensuite, les tâches d'application 42 a, 42 b reçoivent de l'informa- tion de commande provenant du coffret de commande, et elles peuvent appeler diverses fonctions de visuali- sation pré-programmées, par l'action du coffret de commande On appelle "ouverture de session" un proces- sus qui consiste à faire en sorte que le coffret de commande puisse fonctionner en relation avec une certaine tâche d'application, et on appelle "clôture de session" un processus qui consiste à interrompre le fonctionnement du coffret de commande et à faire en sorte que le coffret de commande soit capable de sélectionner une tâche d'application à mettre en oeuvre. Des tâches d'application de type standard qui doivent être mises en oeuvre par le coffret de commande 22 exigent des fonctions pour effectuer l'ouverture et la clôture de session, et elles sont mises en oeuvre au moyen d'une sélection par menu utilisant des touches de fonctions Les touches de fonctions comprennent cinq touches de fonctions Fl-F 5. Un programme de traitement pour le coffret de commande 22 est généré de façon à changer une variable d'état lorsqu'on appuie sur une touche de fonction, et on peut appeler l'une quelconque de diverses fonctions par une combinaison de la variable d'état et de la touche de fonction sur laquelle on appuie Le concep- teur de tâche d'application sélectionne tout d'abord une fonction à accomplir, il conçoit un processus de fonctionnement, il convertit le processus de fonction- nement en un diagramme de transitions d'états, il attribue des numéros à divers états du diagramme de transitions d'états, et il utilise les numéros attri- bués à titre de numéros de variables d'états, pour produire ainsi une tâche d'application. Second mode de réalisation: La figure 4 montre un système de commande multitâche conforme à un second mode de réalisation de la présente invention Les références numériques indiquées sur la figure 4 qui sont identiques à celles indiquées sur la figure 1 désignent des éléments identiques A titre d'exemple illustratif, le système de commande multitâche est représenté sur la figure 4 sous la forme d'un système commandant deux dispositifs de soudage, tels que des robots de soudage, dans les dispositifs commandés 20 Les dispositifs commandés 20 comprennent deux pistolets de soudage respectifs 50 a, b et deux transformateurs 52 a, 52 b, qui sont connec- tés à des onduleurs respectifs 54 a, 54 b. Les onduleurs 54 a, 54 b reçoivent des ordres en modulation d'impulsions en largeur et ils émettent des signaux de rétroaction (FB) de courant Les ordres en modulation d'impulsions en largeur sont fournis par un processeur travaillant en temps réel 14, et les signaux de rétroaction de courant sont appliqués à ce processeur Le processeur travaillant en temps réel 14 fournit également des signaux de commande de vannes pour commander le mouvement d'ouverture et de ferme- ture des pistolets de soudage 50 a, 50 b. Le transformateur travaillant en temps réel 14 comporte des processeurs de commande de pistolet/ transformateur 14 a 2, 14 b 2 qui sont associés aux robots de soudage respectifs, c'est-à-dire les onduleurs 54 a, 54 b, les transformateurs 52 a, 52 b et les pistolets de soudage 50 a, 50 b, pour souder des pièces conformément à des programmes d'application de pression et d'acti- vation spécifiés, et pour commander l'application d'un courant constant spécifié aux pistolets de soudage. Lorsque des ordres de courant 56 a, 56 b et des ordres d'application de pression 58 a, 58 b sont placés dans une mémoire de communication 16, les processeurs de commande de pistolet/transformateur 14 a 2, 14 b 2 commen- cent à fonctionner de façon à souder des pièces et à commander le courant qui est fourni pour souder les pièces Lorsque l'activation des pistolets de soudage 50 a, 50 b et la commande du courant sont terminées, les processeurs de commande de pistolet/transformateur 14 a 2, 14 b 2 émettent des signaux d'achèvement 60 a, 60 b vers la mémoire de communication 16. La mémoire de communication 16 est connectée au processeur multitâche 12 pour transmettre des données entre le processeur multitâche 12 et le processeur travaillant en temps réel 14 Le processeur multitâche 12 comporte des tâches d'application 42 a, 42 b pour donner des ordres de courant 56 a, 56 b de façon à émettre un programme d'activation et des ordres d'application de pression 58 a, 58 b vers les processeurs de commande de pistolet/transformateur 14 a 2, 14 b 2, et pour confirmer l'achèvement d'un processus de soudage avec les signaux d'achèvement 60 a, 60 b. Les tâches d'application 42 a, 42 b comportent une fonction d'ouverture de session pour permettre d'effectuer des opérations de commande à partir d'un coffret de commande 22, de façon que les conditions d'activation et de soudage puissent être fixées à partir du coffret de commande 22 Les tâches d'appli- cation 42 a, 42 b peuvent être utilisées en combinaison avec la commande de positionnement du système de com- mande multitâche conforme au premier mode de réalisa- tion décrit ci-dessus. En premier lieu, on fixe l'autre élément participant à la communication qui doit avoir lieu entre les tâches d'application Ensuite, lorsqu'un ordre de soudage est exécuté du côté de la commande de positionnement, un processus de positionnement prédé- * terminé est accompli, et ensuite un numéro de condi- tion de soudage de l'ordre de soudage est émis vers une tâche d'application du côté de la commande de soudage, à partir de laquelle des programmes d'appli- cation de pression et d'activation correspondant au numéro de condition de soudage sont lus et sont émis vers le processeur travaillant en temps réel, 14, par l'intermédiaire de la mémoire de communication 16, pour souder des pièces Bien qu'aucun soudage sous une commande centralisée ne soit effectué, on utilise certains contacts d'un contrôleur logique programmable ou PLC (séquenceur) Des tampons de communication 24 al 24 a 4, 24 bl 24 b 4, 24 cl, 24 c 2, une tâche de communication 46, des tampons PLC 44 a, 44 b et une tâche PLC 44 ont les mêmes fonctions que sur la figure 3. Le système de commande de soudage ci-dessus, représenté sur la figure 4, et le système de commande de positionnement qui est représenté sur la figure 3 peuvent être combinés en un système de robot de soudage qui est décrit ci-dessous. Système de robot de soudage utilisant le système de commande multitâche: La figure 5 montre sous forme de schéma synoptique un système de robot de soudage dans lequel est incorporé le système de commande multitâche conforme à la présente invention Un séquenceur (PLC) 8, un coffret de commande (TBOX) 22, une unité de com- mande de positionnement (POS) 33 et une unité de com- mande de soudage (WE) 51 sont connectés à l'appareil de commande multitâche 10 par une ligne de communication 4. L'unité de commande de positionnement 33 actionne des robots de positionnement (R/B) 31 a, 31 b pour positionner des pistolets de soudage respectifs a, 50 b dans des positions désirées respectives, sous la commande des processeurs de commande de position- nement 14 al, 14 bl (voir la figure 3) Comme représenté sur la figure 3, les robots de positionnement 31 a, 31 b sont constitués par les amplificateurs de servo- teurs respectifs 34 a, 34 b et par les servomoteurs respectifs 30 a, 30 b L'unité de commande de soudage 51 active les transformateurs 52 a, 52 b pour permettre aux pistolets de soudage 50 a, 50 b de souder des pièces, sous la commande des processeurs de commande de pistolet/transformateur 14 a 2, 14 b 2 (voir la figure 4). La figure 6 montre une structure hiérarchi- que de commande du système de robot de soudage qui est représenté sur la figure 5 Comme le montre la figure 6, le séquenceur (PLC) 8 comporte des contacts inter- nes qui sont groupés en zones correspondant aux dispo- sitifs respectifs, c'est-à-dire une zone POS 8 a, une zone WE 8 b et une zone de dispositif N 8 c, auxquelles peuvent accéder les dispositifs respectifs, c'est-à- dire l'unité de commande de positionnement (POS) 33, l'unité de commande de soudage (WE) 51 et un disposi- tif n Le contenu des données de contacts internes peut être défini par les dispositifs respectifs, et il peut être fixé à partir d'une console de commande 6. Des signaux indiquant le démarrage, l'arrêt, le numéro de configuration, etc, qui sont représentés par les états des contacts internes, sont émis vers l'unité de commande de positionnement 33 et l'unité de commande de soudage 51. Des ordres de commande et de soudage prove- nant des coffrets de commande 22 sont émis vers l'unité de commande de positionnement 33 et l'unité de commande de soudage 51 Un processus de reproduction qui exécute pas à pas un processus de soudage qui a été défini à partir des coffrets de commande 22, démarre sous l'effet d'un ordre de commande qui est appliqué à l'unité de commande de positionnement 33 à partir du coffret de commande 22 correspondant, et d'un ordre de soudage qui est appliqué à l'unité de commande de soudage 51 à partir du coffret de commande 22 correspondant. La figure 7 montre une séquence de traite- ment de la tâche de communication 46 Sur la figure 7, l'interface de communication 12 a est initialisée à une étape Sll La tâche de communication 46 contrôle un état de communication à une étape 512, elle reçoit des données à une étape 513 et elle émet des données à une étape 514 Ensuite, la tâche de communication 46 détecte si l'intervalle de temps fixé par un tempori- sateur d'application s'est écoulé ou non S'il ne s'est pas écoulé, la commande retourne à l'étape 512 à laquelle la tâche de communication 46 contrôle à nouveau un état de communication Si l'intervalle de temps s'est écoulé, la commande passe à une étape 516 à laquelle la tâche de communication 46 règle le temporisateur d'application Ensuite, la tâche de communication 46 exécute une application pour obtenir une adresse de destination pour le PLC (séquenceur) à une étape 517, après quoi la commande retourne à l'étape 512. La figure 8 montre une séquence de traite- ment d'une tâche PLC 44 Comme décrit ci-dessus, les contacts internes de la tâche PLC 44 sont groupés en zones correspondant aux dispositifs respectifs, c'est- à-dire une zone POS 8 a, une zone WE 8 b et une zone de dispositif N 8 c, auxquelles peuvent accéder les dispo- sitifs respectifs, c'est-à-dire l'unité de commande de positionnement (POS) 33, l'unité de commande de soudage (WE) 51 et un dispositif n Le contenu des données de contacts internes peut être défini par les dispositifs respectifs, et il peut être fixé à partir d'une console de commande 6 (voir la figure 6). La tâche PLC 44 émet un ordre d'écriture de PLC à une étape 521, elle règle un temporisateur de réémission à une étape 522 et elle reçoit des données d'achèvement d'écriture de PLC à une étape 523. Ensuite, la tâche PLC 44 détecte s'il y a une récep- tion ou non, à une étape 524 S'il y a une réception, la commande saute à une étape 526 S'il n'y a pas de réception, la tâche PLC 44 détermine ensuite si l'intervalle de temps défini par le temporisateur de réémission s'est écoulé ou non, à l'étape 525 S'il ne s'est pas écoulé, la commande retourne ensuite à l'étape 523 S'il s'est écoulé, la commande retourne ensuite à l'étape 521. A l'étape 526, la tâche PLC 44 émet un ordre de lecture de PLC Ensuite, la tâche PLC 44 règle le temporisateur de réémission à une étape 527 et elle reçoit des données d'achèvement de lecture de PLC à une étape 528 Ensuite, la tâche de PLC 44 détecte s'il y a une réception ou non, à une étape 529 S'il y a une réception, la commande retourne ensuite à l'étape 521 S'il n'y a pas de réception, la tâche PLC 44 détermine si l'intervalle de temps qui est défini par le temporisateur de réémission s'est écoulé ou non, à une étape 530 S'il ne s'est pas écoulé, la commande retourne ensuite à l'étape 528 S'il s'est écoulé, la commande retourne ensuite à l'étape 526. La figure 9 montre une séquence de position- nement des tâches d'application 42 a, 42 b, cette séquence de positionnement consistant en un processus de reproduction qui exécute, étape par étape, un processus de soudage qui a été établi à partir des coffrets de commande 22. Les tâches d'application 42 a, 42 b détermi- nent à une étape 531 si un indicateur d'exécution d'étape est égal à "" ou non Si l'indicateur d'exé- cution d'étape n'est pas égal à "", la commande saute vers une étape 538 Si l'indicateur d'exécution d'étape est égal à "O", les tâches d'application 42 a, 4.2 b déterminent ensuite à une étape 532 si l'étape présente est un ordre de mouvement ou non S'il ne s'agit pas d'un ordre de mouvement, les tâches d'application 42 a, 42 b exécutent à une étape 533 des ordres autres que l'ordre de mouvement. Si l'étape présente est un ordre de mouve- ment, la commande passe ensuite à une étape 534 à laquelle les tâches d'application 42 a, 42 b lisent une position de consigne pour l'étape présente Les tâches d'application 42 a, 42 b placent ensuite la position de consigne pour l'étape présente dans des positions de consigne 36 a, 36 b (voir la figure 3) dans la mémoire de communication 16, à une étape 536 Les tâches d'application 42 a, 42 b activent un signal de démarrage pour la mémoire de communication 16 à une étape 56, et elles placent l'indicateur d'exécution d'étape à " 1 " à une étape 537. A l'étape 538, les tâches d'application 42 a, 42 b déterminent si l'indicateur d'exécution d'étape est égal à " 1 " ou non Si l'indicateur d'exécution d'étape n'est pas égal à " 1 ", le traitement est terminé Si l'indicateur d'exécution d'étape est égal à " 1 ", les tâches d'application 42 a, 42 b déterminent ensuite à une étape 539 si l'étape présente est un ordre de mouvement ou non S'il ne s'agit pas d'un ordre de mouvement, les tâches d'application 42 a, 42 b exécutent à une étape 540 des ordres autres que l'ordre de mouvement. Si l'étape présente est un ordre de mouve- ment, la commande passe ensuite à une étape 541 à laquelle les tâches d'application 42 a, 42 b soustraient des données de position présente 40 a, 40 b à partir des positions de consigne 36 a, 36 b dans la mémoire de communication 16, et elles déterminent si la diffé- rence est ou non dans une plage à atteindre Les données de position présente 40 a, 40 b ont été écrites dans la mémoire de communication 16 par le processeur travaillant en temps réel 14. Si à l'étape 541 la différence est dans la plage à atteindre, les tâches d'application 42 a, 42 b restaurent l'indicateur d'exécution d'étape à "O' à une étape 542, et le traitement est terminé Si la différence n'est pas dans la plage à atteindre, le traitement est terminé. La figure 10 montre une séquence de traite- ment des processeurs de commande de positionnement 14 al, 14 bl du processeur travaillant en temps réel 14. Les processeurs de commande de positionnement 14 al, 14 bl lisent les positions présentes des servomoteurs a, 30 b, à partir des amplificateurs de servomoteurs 34 a, 34 b, à une étape 551, et ils écrivent ensuite les positions présentes dans les données de position présente 40 a, 40 b dans la mémoire de communication 16. Ensuite, les processeurs de commande de positionnement 14 al, 14 bl déterminent si un signal de démarrage est à l'état actif ou non, à une étape 553. S'il n'est pas à l'état actif, les processeurs de commande de positionnement 14 al, 14 bl fixent la valeur " O " pour des ordres de vitesse qui doivent être appli- qués aux amplificateurs de servomoteurs 34 a, 34 b, à une étape 554 S'il est à l'état actif, les proces- seurs de commande de positionnement 14 al, 14 bl lisent les positions de consigne 36 a, 36 b dans la mémoire de communication 16, à une étape 555. Ensuite, les processeurs de commande de positionnement 14 al, 14 bl soustraient les positions présentes des positions de consigne 36 a, 37 b, pour produire des données à émettre vers les amplificateurs de servomoteurs 34 a, 34 b à une étape 556 Les proces- seurs de commande de positionnement 14 al, 14 bl limi- tent ensuite les données à émettre vers les amplifica- teurs de servomoteurs 34 a, 34 b, à une étape 557 A une étape 558, les processeurs de commande de positionne- ment 14 al, 14 bl écrivent les données limitées à émet- tre à titre d'ordres de vitesse à appliquer aux ampli- ficateurs de servomoteurs 34 a, 34 b, après quoi le traitement se termine Sur la base des ordres de vitesse, les amplificateurs de servomoteurs 34 a, 34 b alimentent les servomoteurs 30 a, 30 b, et leurs posi- tions présentes sont détectées par les détecteurs de position respectifs 32 a, 32 b et elles sont transmises aux processeurs de commande de positionnement 14 al, 14 bl Les données de position présentes 40 a, 40 b sont transmises à partir du processeur travaillant en temps réel 14 vers le processeur multitâche 12, par l'inter- médiaire de la mémoire de communication 16. Du fait que le traitement d'arrivée simul- tané est accompli par le processeur multitâche 12 (côté de commande principale), mais non par le proces- seur travaillant en temps réel 14 (côté de servocom- mande), une erreur qui est produite au moment de l'avance pas à pas ne peut pas être corrigée, et une erreur de position peut se produire Conformément à la présente invention, le processeur travaillant en temps réel 14 comme le processeur multitâche 12 ont des données de position présente, et des distances à parcourir jusqu'aux positions de consigne sont calculées à partir des données de position présente, pour éviter un tel écart de position. La figure 11 montre une séquence de traite- ment pour une commande de positionnement qui est effectuée manuellement à partir du coffret de commande 22 Lorsque des ordres doivent être donnés aux servo- moteurs 30 a, 30 b pour la commande de position, à partir du coffret de commande 22 et par l'intermé- diaire de l'unité de commande de positionnement 33, on détermine si la direction du mouvement des servomo- teurs 30 a, 30 b est la direction positive ou non, à une étape 561, et si la direction du mouvement est la direction négative ou non, à une étape 562 Si la direction du mouvement est la direction positive, la commande passe à une étape 567 à laquelle les posi- tions de consigne 36 a, 36 b dans la mémoire de communi- cation 16 sont fixées à une valeur maximale positive. Ensuite, un signal de démarrage pour la mémoire de communication 16 est activé à une étape 568. Si la direction du mouvement est négative, la commande passe à une étape 565 à laquelle les positions de consigne 36 a, 36 b dans la mémoire de communication 16 sont fixées à une valeur minimale négative Ensuite, le signal de démarrage pour la mémoire de communication 16 est activé à une étape 566 Si la direction du mouvement n'est ni positive ni négative, on détermine ensuite si les servomoteurs a, 30 b doivent être arrêtés ou non, à une étape 563. S'ils ne doivent pas être arrêtés, le traitement est alors terminé S'ils doivent être arrêtés, le signal de démarrage pour la mémoire de communication 16 est désactivé à une étape 564 Ensuite, le traitement se termine. La figure 12 illustre une séquence de posi- tionnement du processeur travaillant en temps réel 14. Conformément au traitement (voir la figure 9) des tâches d'application 42 a, 42 b du processeur multitâche 12, le processeur travaillant en temps réel 14 effec- tue une commande de position du moteur du premier axe à une étape Si, et il effectue ensuite une commande de position du moteur du second axe à une étape 52 (voir la séquence de traitement qui est représentée sur la figure 10). La figure 13 montre une séquence de soudage des tâches d'application 42 a, 42 b Les tâches d'appli- cation 42 a, 42 b déterminent si un indicateur d'exécu- tion de soudage est égal à " O " ou non, à une étape 571 Si l'indicateur d'exécution de soudage est égal à " O ", alors les tâches d'application 42 a, 42 b lisent dans la mémoire, à une étape 572, des programmes d'application de pression et d'activation et des ordres de courant correspondant à des conditions de soudage, qui sont introduits à partir du coffret de commande 22 ou de communications inter-dispositifs. Ensuite, à une étape 573, les tâches d'application 42 a, 42 b écrivent les données lues dans les ordres de courant 56 a, 56 b et les ordres d'activation 58 a, 58 b, dans la mémoire de communication 16, après quoi à une étape 574 les tâches d'application 42 a, 42 b fixent l'indicateur d'exécution de soudage à " 1 ". Les processeurs de commande de pistolet/ transformateur 14 a 2, 14 b 2 du processeur travaillant en temps réel 14 émettent des ordres de courant et des ordres de modulation d'impulsions en largeur vers les onduleurs respectifs 54 a, 54 b, ce qui permet aux transformateurs 52 a, 52 b et aux pistolets de soudage a, 50 b de souder des pièces sous des pressions spécifiées, conformément à des programmes d'activation spécifiés, pour que les courants soient commandés de façon à être constants pendant l'activation des pistolets de soudage 50 a, 50 b avec des courants spécifiés. Si l'indicateur d'exécution de soudage n'est pas égal à " O ", alors à une étape 575 les tâches d'application 42 a, 42 b déterminent si l'indicateur d'exécution de soudage est égal à " 1 " ou non Si l'indicateur d'exécution de soudage est égal à " 1 ", les tâches d'application 42 a, 42 b déterminent à une étape 576 si le processus de soudage est achevé ou non S'il est achevé, les tâches d'application 42 a, 42 b effacent les programmes d'application de pression et d'activation et les ordres de courant, et elles restaurent les ordres de courant 56 a, 56 b et les ordres d'application de pression 58 a, 58 b dans la mémoire de communication 16, à une étape 577 Ensuite, à une étape 578 les tâches d'application 42 a, 42 b fixent l'indicateur d'exécution de soudage à " 2 ", après quoi le traitement est terminé Si l'indicateur d'exécution de soudage n'est pas à " 1 " à l'étape 575, le traitement est terminé. La figure 14 montre une séquence de soudage du processseur travaillant en temps réel 14 Conformé- ment au traitement (voir la figure 12) des tâches d'application 42 a, 42 b du processeur multitâche 12, le processeur travaillant en temps réel 14 effectue la commande du premier ensemble pistolet/transformateur à une étape 53, et il effectue ensuite la commande du second ensemble pistolet/transformateur à une étape 54. Il va de soi que de nombreuses modifications peuvent être apportées aux dispositifs et aux procédés décrits et représentés, sans sortir du cadre de l'invention. REVENDICATIONS 1 Système de commande multitâche pour commander des opérations d'un ensemble de dispositifs commandés ( 20), caractérisé en ce qu'il comprend: un processeur travaillant en temps réel ( 14) ayant une unité de commande pour commander les opérations des dispositifs commandés ( 20); un processeur multitâche ( 12) ayant un ensemble de tâches d'application associées aux dispositifs commandés respectifs; et une mémoire de communication ( 16) pour transférer des ordres et/ou des données prédéterminés, nécessaires pour la commande des opérations des dispositifs com- mandés ( 20), entre le processeur travaillant en temps réel ( 14) et le processeur multitâche ( 12). 2 Système de commande multitâche selon la revendication 1, caractérisé en ce que le processeur multitâche ( 12) comporte en outre une tâche de contrô- leur logique programmable ou PLC ( 44) pour émettre de l'information vers un séquenceur et pour recevoir de l'information à partir de celui-ci, pour réaliser une commande centralisée des dispositifs commandés ( 20). 3 Système de commande multitâche selon la revendication 1, caractérisé en ce qu'il comprend en outre un coffret de commande ( 22) ayant des tâches d'application ( 22 b, 22 c, 22 d, 22 e) pour communiquer avec les tâches d'application du processeur multitâche ( 12), pour visualiser des données sur un écran et pour prendre en charge des informations introduites par un clavier, et en ce que le processeur multitâche ( 12) comporte en outre une tâche de communication pour communiquer avec les tâches d'application du coffret de commande ( 22). 4 Système de commande multitâche selon la revendication 2, caractérisé en ce qu'il comprend en outre un coffret de commande ( 22) ayant des tâches d'application ( 22 b, 22 c, 22 d, 22 e) pour communiquer avec les tâches d'application du processeur multitâche ( 12), pour visualiser des données sur un écran et pour prendre en charge des informations introduites par un clavier, et en ce que le processeur multitâche ( 12) comporte en outre une tâche de communication pour communiquer avec les tâches d'application du coffret de commande ( 22). Système de commande multitâche selon la revendication 1, caractérisé en ce que les tâches d'application du processeur multitâche ( 12) correspon- dent aux dispositifs commandés respectifs ( 20), pour émettre des données de position de consigne vers le processeur travaillant en temps réel ( 14), par l'intermédiaire de la mémoire de communication ( 16), et pour recevoir des données de position présente à partir du processeur travaillant en temps réel ( 14), par l'intermédiaire de la mémoire de communication ( 16), le processeur travaillant en temps réel ( 14) comportant des moyens ( 14 a) pour calculer une distance à parcourir à partir d'une position présente jusqu'à une position de consigne, sur la base des données de position de consigne et des données de position présente, et pour émettre un ordre de vitesse basé sur cette distance. 6 Système de commande multitâche selon la revendication 2, caractérisé en ce que les tâches d'application du processeur multitâche ( 12) correspon- dent aux dispositifs commandés respectifs ( 20), pour émettre des données de position de consigne vers le processeur travaillant en temps réel ( 14), par l'intermédiaire de la mémoire de communication ( 16), et pour recevoir des données de position présente à partir du processeur travaillant en temps réel ( 14), par l'intermédiaire de la mémoire de communication ( 16), le processeur travaillant en temps réel ( 14) comportant des moyens ( 14 a) pour calculer une distance à parcourir à partir d'une position présente jusqu'à une position de consigne, sur la base des données de position de consigne et des données de position présente, et pour émettre un ordre de vitesse basé sur cette distance. 7 Système de commande multitâche selon la revendication 3, caractérisé en ce que les tâches d'application du processeur multitâche ( 12) correspon- dent aux dispositifs commandés respectifs ( 20), pour émettre des données de position de consigne vers le processeur travaillant en temps réel ( 14), par l'intermédiaire de la mémoire de communication ( 16), et pour recevoir des données de position présente à partir du processeur travaillant en temps réel ( 14), par l'intermédiaire de la mémoire de communication ( 16), le processeur travaillant en temps réel ( 14) comportant des moyens ( 14 a) pour calculer une distance à parcourir à partir d'une position présente jusqu'à une position de consigne, sur la base des données de position de consigne et des données de position présente, et pour émettre un ordre de vitesse basé sur cette distance. 8 Système de commande multitâche selon la revendication 4, caractérisé en ce que les tâches d'application du processeur multitâche ( 12) correspon- dent aux dispositifs commandés respectifs ( 20), pour émettre des données de position de consigne vers le processeur travaillant en temps réel ( 14), par l'intermédiaire de la mémoire de communication ( 16), et pour recevoir des données de position présente à partir du processeur travaillant en temps réel ( 14), par l'intermédiaire de la mémoire de communication ( 16), le processeur travaillant en temps réel ( 14) comportant des moyens ( 14 a) pour calculer une distance à parcourir à partir d'une position présente jusqu'à une position de consigne, sur la base des données de position de consigne et des données de position présente, et pour émettre un ordre de vitesse basé sur cette distance. 9 Système de commande multitâche selon l'une quelconque des revendications 1 à 8, caractérisé en ce que les tâches d'application du processeur multitâche ( 12) correspondent respectivement aux dispositifs commandés ( 20), pour émettre des program- mes d'application de pression et d'activation et un ordre de courant pour souder une pièce, vers le processeur travaillant en temps réel ( 14), par l'intermédiaire de la mémoire de communication ( 16), le processeur travaillant en temps réel ( 14) compor- tant des moyens pour émettre un ordre pour faire fonc- tionner un pistolet de soudage ( 50 a, 50 b) sur la base des programmes d'application de pression et d'activa- tion et de l'ordre de courant.