FR2703620A1 - Système de commande multitâche pour un robot. - Google Patents

Système de commande multitâche pour un robot. Download PDF

Info

Publication number
FR2703620A1
FR2703620A1 FR9404010A FR9404010A FR2703620A1 FR 2703620 A1 FR2703620 A1 FR 2703620A1 FR 9404010 A FR9404010 A FR 9404010A FR 9404010 A FR9404010 A FR 9404010A FR 2703620 A1 FR2703620 A1 FR 2703620A1
Authority
FR
France
Prior art keywords
processor
multitasking
control
real
position data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR9404010A
Other languages
English (en)
Other versions
FR2703620B1 (fr
Inventor
Kobayashi Minoru
Nagasawa Toshiaki
Suzuki Makoto
Kobayashi Shigeo
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Publication of FR2703620A1 publication Critical patent/FR2703620A1/fr
Application granted granted Critical
Publication of FR2703620B1 publication Critical patent/FR2703620B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4148Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using several processors for different functions, distributed (real-time) systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4141Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by a controller or microprocessor per axis
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24187Redundant processors run identical programs
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24192Configurable redundancy
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2623Combustion motor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34269Programmable computer controller, plc implemented with pc
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34433Multitask processor controls real time processor via communication memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Numerical Control (AREA)
  • Control By Computers (AREA)

Abstract

Dans un système destiné à commander des opérations d'un ensemble de dispositifs commandés (20), pouvant chacun positionner un ensemble d'axes logiques pour effectuer des opérations telles que le soudage ou l'assemblage de pièces, une commande en parallèle des dispositifs respectifs (20) est effectuée par un processeur multitâche (12), tandis que la commande d'opérations telles que le soudage, qui exigent par nature une commande en temps réel, est effectuée par un processeur travaillant en temps réel (14), et une mémoire de communication (16) est intercalée entre les deux processeurs pour transférer entre eux des ordres et des données nécessaires pour la commande du positionnement ou la commande d'opérations. Application à l'industrie automobile.

Description

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.

Claims (8)

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.
FR9404010A 1993-04-06 1994-04-06 Systeme de commande multitache pour un robot. Expired - Fee Related FR2703620B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5079663A JP2574983B2 (ja) 1993-04-06 1993-04-06 マルチタスク制御システム

Publications (2)

Publication Number Publication Date
FR2703620A1 true FR2703620A1 (fr) 1994-10-14
FR2703620B1 FR2703620B1 (fr) 1996-01-19

Family

ID=13696405

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9404010A Expired - Fee Related FR2703620B1 (fr) 1993-04-06 1994-04-06 Systeme de commande multitache pour un robot.

Country Status (6)

Country Link
US (1) US5621672A (fr)
JP (1) JP2574983B2 (fr)
DE (1) DE4411426B4 (fr)
FR (1) FR2703620B1 (fr)
GB (1) GB2276953B (fr)
TW (1) TW253036B (fr)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5896292A (en) * 1995-06-05 1999-04-20 Canon Kabushiki Kaisha Automated system for production facility
JP3327123B2 (ja) * 1996-06-04 2002-09-24 トヨタ自動車株式会社 作業用ロボットの統合制御システム
JP3832517B2 (ja) * 1996-07-05 2006-10-11 セイコーエプソン株式会社 ロボット用コントローラ及びその制御方法
KR100202706B1 (ko) * 1996-10-05 1999-06-15 이종수 피엘씨 리모트 시스템의 기동시간 동기화 및 비상상태 출력 제어방법
US5808885A (en) * 1996-12-20 1998-09-15 Square D Company Weld controller system for coupling to a common database system on a communication network
DE69806151T2 (de) * 1997-04-30 2002-10-02 Foxboro Co Verfahren und vorrichtung zur synchronisierung von auf einem digitalen datenverarbeitungssystem laufenden prozessen
DE19740775A1 (de) * 1997-09-17 1999-03-18 Focke & Co Steuerungssystem für insbesondere Palettieranlagen mit Robotern
US6173882B1 (en) 1998-05-12 2001-01-16 Chrysler Corporation Method and apparatus for holding a workpiece during welding
SE9801863L (sv) 1998-05-27 1999-11-28 Abb Ab Anläggning för styrande av processutrustning
JP2000006070A (ja) * 1998-06-19 2000-01-11 Fanuc Ltd ロボット制御システム
DE19900724A1 (de) * 1999-01-12 2000-07-27 Zeiss Carl Fa Koordinatenmeßgerät
JP4605874B2 (ja) * 2000-09-04 2011-01-05 富士通株式会社 マルチプロセッサによる通信プロトコル処理装置
US8028099B2 (en) * 2001-04-20 2011-09-27 Rockwell Automation Technologies, Inc. Industrial control system with web enabled I/O modules
US20070130310A1 (en) * 2001-09-28 2007-06-07 Rockwell Automation Technologies, Inc. I/O Module with Web Accessible Product Data
JP3715258B2 (ja) * 2002-05-29 2005-11-09 ファナック株式会社 制御装置
WO2004052598A1 (fr) * 2002-12-12 2004-06-24 Matsushita Electric Industrial Co., Ltd. Dispositif de commande de robot
DE10304903A1 (de) * 2003-02-06 2004-10-28 Siemens Ag Vorrichtung zur Automatisierung und/oder Steuerung von Werkzeug- oder Produktionsmaschinen
SE0303475D0 (sv) * 2003-12-19 2003-12-19 Abb Ab Integrated welding timer and software MMI
DE102006048172A1 (de) * 2006-10-10 2008-04-17 Robert Bosch Gmbh Elektronisches System
JP4323542B2 (ja) * 2007-10-22 2009-09-02 ファナック株式会社 学習制御機能を備えた電動機の制御装置
US9049176B2 (en) 2011-06-22 2015-06-02 Dropbox, Inc. File sharing via link generation
CN105965512B (zh) * 2016-07-15 2019-04-16 爱普(福建)科技有限公司 一种工业多轴机械臂的运动再现方法
EP3537412A1 (fr) * 2018-03-07 2019-09-11 Seabery North America, S.L. Systèmes et procédés pour simuler des opérations d'assemblage robotisé
CN109675824A (zh) * 2018-12-29 2019-04-26 广州桃琳软件科技有限公司 超声波焊接设备的产品质量监测方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0331747A1 (fr) * 1987-08-27 1989-09-13 Fanuc Ltd. Unite de commande numerique
WO1993000620A1 (fr) * 1991-06-24 1993-01-07 Unilens Corp. U.S.A. Systeme de commande pour machine-outil

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5717014A (en) * 1980-07-07 1982-01-28 Fanuc Ltd Numerical controller
US4467436A (en) * 1981-10-26 1984-08-21 United States Robots, Inc. Robot arm controller with common bus memory
US4539655A (en) * 1982-03-16 1985-09-03 Phoenix Digital Corporation Microcomputer based distributed control network
DE3501968A1 (de) * 1985-01-22 1986-07-24 Siemens AG, 1000 Berlin und 8000 München Steuerungseinrichtung fuer eine mehrachsige werkzeugmaschine
JPS61223950A (ja) * 1985-03-29 1986-10-04 Toshiba Corp スケジユ−ラ
JP2528813B2 (ja) * 1985-05-10 1996-08-28 株式会社日立製作所 制御装置
US4873476A (en) * 1986-03-14 1989-10-10 Fanuc Ltd. Robot control apparatus for controlling a manipulator through a robot arm having a plurality of axes
JPS6345640A (ja) * 1986-08-12 1988-02-26 Nippon Telegr & Teleph Corp <Ntt> プロセス制御方式
JPH07117901B2 (ja) * 1986-09-30 1995-12-18 富士通株式会社 時分割制御方式
US4831582A (en) * 1986-11-07 1989-05-16 Allen-Bradley Company, Inc. Database access machine for factory automation network
EP0269374A3 (fr) * 1986-11-20 1988-08-24 Unimation Inc. Système modulaire de commande pour un robot
US4835730A (en) * 1987-02-27 1989-05-30 Adept Technology, Inc. Database driven robot programming system and method
US4877940A (en) * 1987-06-30 1989-10-31 Iit Research Institute Using infrared imaging to monitor and control welding
JPS6416540A (en) * 1987-07-09 1989-01-20 Colpo Co Ltd Storage chamfer for live fish
US5032975A (en) * 1987-08-07 1991-07-16 Canon Kabushiki Kaisha Controller for automatic assembling apparatus
JP2574349B2 (ja) * 1987-12-24 1997-01-22 松下電器産業株式会社 時分割マルチタスク実行装置
US4879644A (en) * 1987-12-30 1989-11-07 The Boeing Company Object positioning apparatus and method
US5229931A (en) * 1988-09-21 1993-07-20 Honda Giken Kogyo Kabushiki Kaisha Nut runner control system and method of monitoring nut runners
US5119318A (en) * 1989-04-17 1992-06-02 Del Partners L.P. Expert control system for real time management of automated factory equipment
JP2513029B2 (ja) * 1989-05-12 1996-07-03 日本電気株式会社 タスク管理方式
US5166872A (en) * 1989-07-17 1992-11-24 Ability Technologies Corporation System and method for controlling devices through communication processors and pluralities of address-associated device controllers sharing each communication processor
US5150288A (en) * 1989-12-18 1992-09-22 Honda Giken Kogyo Kabushiki Kaisha Production management system and method of transmitting data
JPH03250335A (ja) * 1990-02-28 1991-11-08 Fujitsu Ltd サービスプロセス間データ対応管理方式
US5255197A (en) * 1990-07-06 1993-10-19 Honda Giken Kogyo Kabushiki Kaisha Line production management system
JP3189326B2 (ja) * 1990-11-21 2001-07-16 セイコーエプソン株式会社 生産管理装置および該装置を用いた生産管理方法
JP2570502B2 (ja) * 1991-01-08 1997-01-08 三菱電機株式会社 半導体装置及びその製造方法
JP2575973B2 (ja) * 1991-06-20 1997-01-29 株式会社ミツトヨ 測定データ処理システム用タスクスケジューリング方法
US5337229A (en) * 1992-06-02 1994-08-09 Balance Engineering Corporation Shared interface for multiple controllers
EP0590175B1 (fr) * 1992-09-28 1996-07-24 Siemens Aktiengesellschaft Système de commande de processus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0331747A1 (fr) * 1987-08-27 1989-09-13 Fanuc Ltd. Unite de commande numerique
WO1993000620A1 (fr) * 1991-06-24 1993-01-07 Unilens Corp. U.S.A. Systeme de commande pour machine-outil

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
H. THIELEMANS: "HEDRA: HETEROGENEOUS DISTRIBUTED REAL-TIME ARCHITECTURE", JOURNAL A, vol. 34, no. 1, April 1993 (1993-04-01), ANTWERPEN BE, pages 84 - 88, XP000369467 *
M. KAMETANI ET AL: "DESIGN CONCEPT FOR A ROBOT CONTROLLER", MANUFACTURING TECHNOLOGY INTERNATIONAL, 1991, LONDON GB, XP000227497 *

Also Published As

Publication number Publication date
JP2574983B2 (ja) 1997-01-22
TW253036B (fr) 1995-08-01
GB2276953A (en) 1994-10-12
GB2276953B (en) 1996-07-31
US5621672A (en) 1997-04-15
JPH06290060A (ja) 1994-10-18
DE4411426B4 (de) 2004-07-01
DE4411426A1 (de) 1994-10-13
GB9404819D0 (en) 1994-04-27
FR2703620B1 (fr) 1996-01-19

Similar Documents

Publication Publication Date Title
FR2703620A1 (fr) Système de commande multitâche pour un robot.
CN110573308B (zh) 用于机器人设备的空间编程的基于计算机的方法及***
US7593780B2 (en) HMI reconfiguration method and system
WO2007088269A2 (fr) Procede de pilotage d&#39;une station de travail robotisee et station de travail robotisee correspondante
FR2513925A1 (fr) Manipulateur pour deplacer le centre d&#39;un outil d&#39;element fonctionnel vers plusieurs positions
FR2697355A1 (fr) Appareil, système et procédé de surveillance d&#39;un processus industriel continu.
FR2487538A1 (fr) Procede et dispositif de commande adaptable d&#39;une machine-outil automatisee d&#39;usinage de pieces
FR2960075A1 (fr) Procede de commande d&#39;une cellule de travail automatisee
FR2806866A1 (fr) Telegestion d&#39;installation de distribution de carburant
CH636458A5 (fr) Machine-outil a commande numerique.
FR2960074A1 (fr) Procede de commande d&#39;une cellule de travail automatisee
EP3112095A1 (fr) Procédé de commande d&#39;une cellule de travail automatisée
KR102324287B1 (ko) 광학 접합을 위한 자동 접합 시퀀스의 결정
US6941247B2 (en) Method for monitoring a control system
EP1695160B1 (fr) Procede et dispositif de commande des deplacements d&#39; une partie mobile d&#39;un robot multi-axes
Dániel et al. Evaluation of flexible graphical user interface for intuitive human robot interactions
WO2021069433A1 (fr) Dispositif collaboratif à pilotage optimisé
US6965803B2 (en) Apparatus and method for commissioning and diagnosing control systems
FR3024262A1 (fr) Dispositif d&#39;aide a la maintenance d&#39;un moteur d&#39;aeronef par reconnaissance de mouvement a distance.
EP2818965B1 (fr) Procédé d&#39;interaction entre un objet numérique, représentatif d&#39;au moins un objet réel ou virtuel localisé dans un périmètre géographique distant, et un dispositif de pointage local
FR2488008A1 (fr) Systeme d&#39;assistance pedagogique pour un ou plusieurs postes de travail reel
JP2000176648A (ja) 溶接制御装置
EP0375487B1 (fr) Procédé et dispositif pour tester le programme d&#39;un automate programmable
JP2006068865A (ja) 産業用ロボットのプログラミングペンダント
US20230249358A1 (en) Robot control system

Legal Events

Date Code Title Description
ST Notification of lapse