Brevet FR2783455A1 — publié le 20000324

Système de gestion de processus basé sur un processeur offrant des possibilités de programmation intuitive. La présente invention concerne les systèmes de gestion de processus. D'une manière plus particulière, la présente invention concerne les systèmes de gestion de processus basés sur processeurs. D'une manière spécifique, la présente invention concerne les systèmes de gestion basés sur processeurs offrant des possibilités de programmation intuitive. Dans l'industrie des matières plastiques, ainsi que dans d'autres industries, les processus industriels exécutés par les machines sont gérés, d'une manière typique, par des systèmes de gestion basés sur des contrôleurs logiques programmables ("Programmable Logic Controller" ou PLC). Ces systèmes de gestion basés sur PLC sont constitués, d'une manière typique, d'une pluralité de dispositifs d'entrée/sortie (E/S) intégrés à la machine exécutant le processus, d'un contrôleur PLC, d'une ou de plusieurs cartes spécialisées de commande des E/S et d'un processeur numérique universel. Le contrôleur PLC mémorise et exécute un programme de commande qui amène le contrôleur PLC à envoyer des instructions aux dispositifs d'E/S, gérant ainsi la séquence opératoire du processus machine. Certaines des instructions envoyées par le contrôleur PLC sont envoyées via les cartes spécialisées de commande des E/S. L'ordinateur numérique universel joue le rôle d'interface entre un opérateur humain et le programme de commande qu'exécute le contrôleur PLC. L'ordinateur numérique universel peut recevoir des paramètres du processus, ainsi que d'autres informations, en provenance du contrôleur PLC et présenter ces informations de manière à ce qu'elles puissent être consultées par l'opérateur humain. D'une manière similaire, I'opérateur humain peut utiliser des dispositifs d'E/S (tels qu'un clavier ou une souris) associés à l'ordinateur numérique universel pour introduire des paramètres du processus et d'autres informations relatives au processus géré dans le contrôleur PLC. Ce type de système de gestion de processus basé sur PLC est décrit dans le brevet US 5 316 707, dans le brevet US 5 518 671 et dans le brevet US 5 062 052. Un inconvénient des systèmes de gestion basés sur PLC est la puissance de traitement relativement limitée des contrôleurs PLC. Les contrôleurs PLC sont cadencés 2 2783455 à des vitesses qui sont relativement faibles. La puissance de traitement limitée des contrôleurs PLC peut empêcher une machine gérée par PLC d'exécuter un processus à des vitesses optimales et/ou avec un niveau optimal de qualité et d'efficacité. La puissance de traitement limitée des contrôleurs PLC peut aussi nécessiter que la surveillance et la gestion de certains dispositifs d'E/S installés sur la machine soient effectuées par des cartes de commande E/S additionnelles et spécialisées. Par exemple, lors du processus de moulage par injection de matière plastique, certaines températures du processus sont des paramètres particulièrement importants et sensibles du processus. Des variations relativement faibles de la température au cours de périodes de temps relativement courtes se doivent d'être détectées et des instructions de commande appropriées envoyées en temps réel. Cependant, un contrôleur PLC typique ne peut s'acquitter de cette fonction en même temps que le contrôleur PLC s'acquitte d'autres fonctions. Par conséquent, une carte spécialisée de commande des E/S, fonctionnant comme processeur de signaux temps-réel, doit être montée fonctionnellement entre le dispositif d'E/S de température et le contrôleur PLC. L'adjonction de cette carte spécialisée de gestion des E/S au système de gestion basé sur PLC augmente le coût du système et les chances de se voir confronter à un dysfonctionnement du système. La puissance de traitement limitée des contrôleurs PLC les rend aussi impropres à jouer le rôle d'interface-opérateur humain avec le programme de commande. A la place, les systèmes de gestion de processus basés sur PLC requièrent un ordinateur numérique universel relié fonctionnellement à cet effet au contrôleur PLC. Ce double impératif matériel peut se traduire par des dépenses relativement élevées en association avec l'achat, l'installation et la maintenance des systèmes de gestion de processus basés sur PLC. L'utilisation de ces deux composants matériels au sein d'un système de gestion de processus augmente aussi les chances de se voir confronter à un dysfonctionnement du système. Un autre inconvénient des systèmes de gestion basés sur PLC est que la technologie des PLC est habituellement une technologie spécifique au fabricant du système de gestion de processus. En conséquence, s'agissant des mises à jour technologiques, les opérateurs et autres utilisateurs finaux des systèmes de gestion basés sur PLC se trouvent entièrement à la merci des fabricants de systèmes de gestion de processus. 3 2783455 Un autre inconvénient, encore, des systèmes de gestion basés sur PLC est que le programme de gestion de processus est écrit, d'une manière typique, dans un langage de bas-niveau relativement complexe, tel qu'en recourant à une logique itérative. Cependant, il est rare que les acheteurs et autres utilisateurs finaux des systèmes de gestion de processus soient entraînés dans l'art de la programmation de bas-niveau. Par conséquent, lorsqu'un acheteur, ou autre utilisateur final, d'un système de gestion de processus souhaite écrire un nouveau programme de gestion de processus ou modifier un programme de gestion de processus existant, un programmeur spécialisé en langage de bas-niveau doit habituellement être sollicité ou consulté. Cependant, étant donné la complexité des langages de bas-niveau et compte tenu du fait qu'une instruction en langage de bas-niveau typique n'a qu'une fonctionnalité minimale basique au sein d'un programme, il peut falloir, même à un programmeur entraîné, écrire et/ou éditer de nombreuses lignes du code de programme de gestion pour apporter des modifications, mêmes mineures, au programme de gestion. Ceci peut se traduire par des dépenses importantes, ainsi que par une période d'arrêt importante du système de gestion de processus et de la machine. Un inconvénient supplémentaire des systèmes de gestion basés sur PLC est que, du fait de la nature spécifique de ces systèmes, les systèmes de gestion basés sur PLC ne peuvent être connectés fonctionnellement à des réseaux informatiques classiques. Par conséquent, il existe un besoin dans la technique pour des systèmes de gestion de processus comportant un moins grand nombre de composants matériels et offrant une puissance de traitement supérieure. En outre, il existe un besoin dans la technique pour des systèmes de gestion de processus facilement réactualisables susceptibles de pouvoir être connectés fonctionnellement à des réseaux informatiques classiques. En outre, il existe un besoin dans la technique pour des systèmes de gestion de processus programmables d'une manière relativement simple et intuitive par des personnes non-familières avec les langages de programmation de bas-niveau (par exemple, les acheteurs et autres utilisateurs finaux des systèmes de gestion de processus). La présente invention comprend un système de gestion de processus basé sur processeur destiné à une machine de moulage par injection de matière plastique exécutant un processus de moulage par injection de matière plastique comportant un réseau de bus d'E/S ayant une pluralité de modules d'E/S connectés fonctionnellement à 4 2783455 un dispositif d'E/S correspondant associé à la machine de moulage par injection de matière plastique et un premier ordinateur comportant un contrôleur de bus d'E/S directement connecté au réseau de bus d'E/S, un système d'exploitation temps-réel, et un premier processeur exécutant un programme de gestion de moulage par injection de matière plastique destiné à gérer le processus de moulage par injection de matière plastique. La présente invention peut aussi comprendre un programme spécifique à l'application, configuré de manière à fonctionner avec le programme de gestion du moulage par injection de matière plastique, le programme spécifique à l'application fournissant une interface graphiqueutilisateur (GUI) comportant au moins une fenêtre pour visualiser des paramètres relatifs au processus de moulage par injection de matière plastique et le programme spécifique à l'application fournissant une interface graphique-utilisateur (GUI) comportant au moins une fenêtre pour entrer des informations relatives au processus de moulage par injection de matière plastique. La présente invention peut aussi comprendre un programme pour créer le programme de gestion du moulage par injection de matière plastique, comportant une hiérarchie de niveaux de programmation, parmi lesquels un niveau de programmation N et un niveau de programmation N + 1, o N est un entier positif, un ensemble défini d'instructions associées au niveau de programmation N, et une fenêtre GUI pour définir des instructions associées au niveau de programmation N + 1 en permettant à un utilisateur de sélectionner et de combiner une pluralité d'instructions définies associées au niveau de programmation N. Pour une compréhension plus approfondie de la présente invention, ainsi que des avantages qu'elle procure, on va maintenant se reporter à la description qui va suivre faite en référence aux dessins annexés, sur lesquels: - la figure 1 est un diagramme schématique d'un système de gestion de processus basé sur processeur selon la présente invention, - la figure 2 est un dessin conceptuel, fourni à titre d'exemple, d'un programme de programmation intuitive servant à créer ou à éditer un programme de gestion de processus, - la figure 3A représente une fenêtre d'une interface-programmeur servant à définir un script, - la figure 3B représente une fenêtre d'une interface-programmeur servant à sélectionner un paramètre lors de la définition d'un script, - les figures 4A et 4B représentent des fenêtres d'une interface-programmeur servant à définir une tâche, et - la figure 5 représente une fenêtre d'une interface-programmeur servant à définir un processus. On va maintenant décrire un dispositif comportant un mode de réalisation de la présente invention. La figure I montre un diagramme schématique illustrant un système de gestion de processus basé sur processeur 10 selon la présente invention. La machine va tout d'abord faire l'objet d'une brève description. Comme illustré sur la figure 1, le système de gestion de processus 10 peut gérer le déroulement d'un processus exécuté par une machine 20. Dans un premier mode préféré de réalisation de la présente invention, la machine 20 peut être une machine de moulage par injection de matière plastique permettant de créer toute une variété de produits en matière plastique. Une telle machine de moulage par injection de matière plastique est décrite dans le brevet US 5 773 038, cité ici à titre de référence. La machine 20 peut comporter une pluralité d'éléments ou de composants, tels que des pistons, des éléments de verrouillage, des vannes, des électroaimants, des thermocouples, des jauges, des actionneurs, des détecteurs, des commutateurs ou autres dispositifs d'entrée/sortie (d'E/S) classiques (désignés collectivement par la référence 24). Lors de l'exécution du processus souhaité, ces dispositifs d'E/S 24 peuvent être surveillés et commandés électroniquement via des signaux électroniques analogiques et numériques envoyés vers le système de gestion de processus basé sur processeur 10 ou reçus en provenance de ce dernier. On va maintenant décrire l'ordinateur de commande. Comme l'illustre la figure 1, le système de gestion de processus 10 comporte un ordinateur de commande 60. L'ordinateur de commande 60 comporte un processeur 70, une mémoire centrale 66, un programme de gestion 68 stocké dans la mémoire centrale 66, un programme/système d'exploitation temps-réel 72 stocké dans la mémoire centrale 66, un contrôleur de bus d'E/S 48, une interface station-opérateur 64 et un bus hôte 62. 6 2783455 L'ordinateur de commande 60 peut aussi comporter toute une variété d'autres composants informatiques classiques (non-illustrés), parmi lesquels des moniteurs, des dispositifs d'E/S, des sous-systèmes de mémorisation, des interfaces-réseaux, des mémoires et d'autres circuits logiques. Le processeur 70 peut être tout processeur mono- ou multi-puce universel classique, tel qu'un processeur Pentium (marque déposée) Pro, un processeur Pentium (marque déposée), un processeur 8051, un processeur MIPS (marque déposée), un processeur Power PC (marque déposée), un processeur ALPHA (marque déposée), ou un processeur du type x386, x486, x586 ou x686. Le processeur 70 peut aussi être un processeur du type xx86 de la génération future. La mémoire centrale 66 peut se composer d'un ou de plusieurs dispositifs de mémorisation classiques parmi lesquels, sans aucune limitation, les mémoires à accès aléatoire dynamiques (DRAM), les DRAM à sortie de données améliorée (DRAM EDO), les DRAM à sortie de données améliorée en rafale (DRAM BEDO), les mémoires à accès aléatoire statiques (SRAM), les mémoires à accès aléatoire vidéo (VRAM), les mémoires à lecture seule (ROM), les mémoire à lecture seule programmables et effaçables électriquement (EEPROM), et les mémoires à lecture seule programmables et effaçables (EPROM). Le programme/système d'exploitation 72 de l'ordinateur de commande, le programme de gestion 68, ainsi que divers autres programmes (nonillustrés), sont stockés dans la mémoire centrale 66 de l'ordinateur de commande. Le programme/système d'exploitation 72 peut être un programme/système d'exploitation temps-réel classique, tel que MS-DOS ou une version de Windows NT ou Windows 95 adaptée pour fonctionner en temps réel. Le programme/système d'exploitation 72 exécute les programmes d'application, y compris le programme de gestion 68. Le processeur 70 et le système d'exploitation 72 supportent le multitâche. Le programme de gestion 68 est exécuté par le processeur 70 pour commander la machine 20. Du fait que le programme de gestion 68 est exécuté dans le processeur 70, il peut être créé en utilisant un programme de programmation intuitive 98, que l'on décrira par la suite. Le contrôleur de bus d'E/S 48 gère les communications transmises au réseau de bus d'E/S 40 par le processeur 70 ou les dispositifs d'E/S 24. Le contrôleur de bus d'E/S 7 2783455 48 peut être un contrôleur Interbus-S développé par la société Phoenix Contact Inc., Harrisburg, PA. Le contrôleur de bus d'E/S 48 est directement connecté fonctionnellement au réseau de bus d'E/S 40 (c'està-dire qu'aucun autre composant du système n'est connecté fonctionnellement entre le contrôleur de bus d'E/S 48 et le réseau de bus d'E/S 40). L'interface ordinateur-opérateur 64 comporte une logique pour gérer les communications entre un ordinateur opérateur 80 et l'ordinateur de commande 60. L'interface ordinateur-opérateur 64 et l'interface logique 92 correspondante de l'ordinateur opérateur 80 peuvent être reliés via une liaison de communications RS-485, des liaisons de communications Ethernet ou d'autres technologies actuelles. Le processeur 70, la mémoire centrale 66, le contrôleur de bus 48 de niveau-dispositif et l'interface ordinateur-opérateur 64 sont tous connectés fonctionnellement au bus hôte 62, de manière à ce que des données et des instructions puissent être échangées entre ces composants de l'ordinateur de commande 60. 1 5 L'ordinateur de commande 60 peut être configuré physiquement de manière à pouvoir être monté sur une baie de la machine 20 ou à proximité étroite de cette dernière. L'ordinateur de commande 60 peut être, par exemple, un ordinateur monté sur baie STD industriel. On va maintenant brièvement décrire le réseau compatible Fieldbus. Le système de gestion de processus 10 comporte aussi un réseau de bus d'E/S 40, tel qu'un réseau Interbus-S développé par la société Phoenix Contact Inc., ou tout autre réseau compatible Fieldbus. Le réseau de bus d'E/S 40 peut comporter une pluralité de modules d'E/S 44 correspondant à chacun des dispositifs d'E/S 24. Comme illustré sur la figure 1, chaque dispositif d'E/S 24 est directement relié fonctionnellement à un module d'E/S 44 correspondant. Par ailleurs, comme représenté sur la figure 1, les modules d'E/S 44 sont montés en série à l'intérieur du réseau Fieldbus 40. Le réseau de bus d'E/S est directement relié fonctionnellement au contrôleur de bus d'E/S 48 de l'ordinateur de commande 60. L'ordinateur opérateur va maintenant faire à son tour l'objet d'une description. L'ordinateur opérateur 80 peut comporter un processeur 90, une mémoire centrale 100, un programme spécifique à l'application 96 chargé sur la mémoire centrale , un programme de programmation intuitive 98 installé en option, chargé sur la 8 2783455 mémoire centrale 100, une interface ordinateur-commande 92, une interface réseau 94, et des composants internes ou externes associés, parmi lesquels des moniteurs 82, des dispositifs E/S 84 (tels qu'un clavier et/ou une souris), des imprimantes 86 et une mémoire 88. Tous les composants peuvent être connectés fonctionnellement les uns aux autres par un ou plusieurs bus (non-illustrés). Le processeur 90 et la mémoire centrale 100 peuvent être du type de ceux décrits précédemment pour l'ordinateur de commande 60. Le programme spécifique à l'application 96, un programme/système d'exploitation, tel que Windows NT ou Windows 95 (non-illustré), ainsi que divers autres programmes (non-illustrés), sont stockés dans la mémoire centrale 100 et exécutés par le processeur 90. Le programme spécifique à l'application 96 est configuré de manière à fonctionner avec le programme de gestion 68 et est programmé de manière à offrir à un opérateur humain la possibilité de surveiller et de gérer le processus spécifique exécuté par la machine 20. Par exemple, lorsque exécuté, le programme spécifique à l'application 96 peut offrir à l'opérateur humain une interface utilisateur- graphique (GUI) comportant une pluralité de fenêtres sélectionnables, permettant à l'opérateur humain de modifier des paramètres du processus, d'envoyer des instructions opératoires et, d'une manière générale, de surveiller et de gérer le déroulement du processus exécuté par la machine 20. Ainsi, le programme spécifique à l'application 96 est capable de fonctionner avec le programme de gestion 68. Un programme de programmation intuitive 98 permettant de créer ou d'éditer le programme de gestion 68 peut aussi être stocké dans la mémoire centrale 100. Le programme de programmation intuitive 98 peut être, cependant, stocké et exécuté sur un autre ordinateur. Le programme de programmation intuitive 98 peut offrir à un individu non-entraîné à la programmation en langage de bas-niveau une interface GUI comportant une pluralité de fenêtres, permettant à l'individu de créer d'une manière intuitive ou d'éditer le programme de gestion 68. Le programme de programmation intuitive 98 sera décrit avec plus de détails par la suite. L'interface ordinateur-commande 92 et l'interface réseau 94 comportent une logique permettant de gérer les communications entre l'ordinateur de commande 60 et un réseau 150, respectivement. D'une manière spécifique, l'interface-réseau 94 permet à une pluralité d'autres ordinateurs opérateurs 160 d'être connectés fonctionnellement, par 9 2783455 exemple, à un réseau local, à un réseau étendu, à l'internet ou à un intranet, de manière à surveiller ou gérer le processus exécuté par la machine 20. Les ordinateurs opérateurs peuvent être constitués pratiquement des mêmes éléments que l'ordinateur opérateur 80, y compris du programme spécifique à l'application 96 et du programme de programmation intuitive 98. L'opérateur humain peut consulter les informations relatives au processus exécuté par la machine 20, telles que les paramètres de processus temps-réel, via un moniteur 82. L'opérateur humain peut aussi entrer des informations, telles que des paramètres de processus, dans l'ordinateur opérateur 80 via les dispositifs d'E/S 84 et le moniteur 82 (qui peut être un moniteur à écran plat ou un moniteur à écran tactile). D'une manière similaire, l'opérateur humain peut imprimer les informations relatives au processus sur une imprimante 86. L'opérateur humain peut stocker les informations relatives au processus sur une mémoire 88. La mémoire 88 peut être un dispositif de mémorisation haute- densité comportant plus de 120 Mo de mémoire, tel qu'un système de mémorisation Superdisk développé par la société Imation, Oakdale, MN. On va maintenant aborder le fonctionnement. En fonctionnement, le programme de gestion 68, éventuellement créé via le programme de programmation intuitive 98, est installé sur la mémoire centrale 66 de l'ordinateur de commande 60. Le programme de gestion 68 est alors exécuté par le processeur 70, ce qui provoque l'envoi des instructions d'E/S par le contrôleur de bus d'E/S 48 vers les dispositifs d'E/S 24 via le réseau de bus d'E/S 40. De telles instructions d'E/S peuvent, par exemple, demander des informations concernant l'état d'un paramètre du processus ou ordonner à un dispositif d'E/S 24 d'exécuter une fonction spécifique. Les paramètres du processus, ainsi que d'autres informations reçues par l'ordinateur de commande 60, peuvent être consultés par un opérateur humain lorsque le programme spécifique à l'application 96 de l'ordinateur opérateur 80 est exécuté. L'opérateur humain peut alors prendre les décisions qui s'imposent concernant le processus, et entrer en conséquence les informations qui conviennent sur le système de gestion 10. Les fonctions de visualisation/surveillance et de gestion peuvent être exécutées en temps réel. De cette manière, le processus exécuté par la machine 20 est surveillé et géré par le système de gestion basé sur processeur 10. Les ordinateurs opérateurs 80 et/ou 160 peuvent aussi mémoriser des réglages de commande courants et 2783455 précédents dans la mémoire centrale 100 ou la mémoire 88 de manière à pouvoir les récupérer lorsque souhaité. On remarquera que le système de gestion basé sur processeur 10, décrit ci- dessus, offre plusieurs avantages distincts par rapport aux systèmes de gestion basés sur PLC. Un premier avantage du système de gestion basé sur processeur 10 est l'augmentation relative de la puissance de traitement par comparaison avec les systèmes de gestion basés sur PLC. La vitesse et la capacité accrues, s'agissant de l'exécution d'opérations multitâches, font que la majeure partie, sinon la totalité, de la gestion du processus peut être exécutée par un processeur 70 unique exécutant le programme de gestion 68. L'augmentation de la puissance de traitement se traduit par une diminution correspondante de la quantité de composants matériels nécessaires dans le système de gestion de processus 10. Par exemple, le système de gestion basé sur processeur 10 ne nécessite pas de carte d'E/S spécialisée pour les paramètres relativement sensibles du processus. De plus, dans certains cas, selon les besoins physiques du système de gestion , les fonctions de l'ordinateur opérateur 80 peuvent être prises en charge par l'ordinateur de commande 60. Par exemple, le programme spécifique à l'application 96 peut être stocké et exécuté sur l'ordinateur de commande 60 en concurrence avec le programme de gestion 68. Le moniteur 82 et les dispositifs d'E/S 84 peuvent alors être associés à l'ordinateur de commande 60, de manière à ce qu'un opérateur humain puisse consulter et entrer les paramètres du processus dans le système de gestion 10 à partir du même ordinateur 60 que celui qui exécute le programme de gestion 68 (au moins un inconvénient du présent mode de réalisation est que, pour des raisons logistiques, il peut s'avérer souhaitable de maintenir physiquement séparés l'ordinateur opérateur 80 et l'ordinateur de commande 60). L'utilisation d'un système de gestion basé sur processeur 10 offre une plus grande flexibilité s'agissant des mises à niveau périodiques de la technologie système, y compris du processeur 70. Les technologies basées sur processeur ne possèdent pas les caractéristiques spécifiques des contrôleurs PLC; par conséquent, des mises à niveau des technologies relatives au processeur peuvent être apportées périodiquement, et ce d'une manière très large. 1 2783455 L'utilisation d'un système de gestion basé sur processeur offre aussi une plus grande flexibilité s'agissant de la surveillance et de la gestion du processus géré. Le système de gestion basé sur processeur est compatible avec les divers réseaux informatiques classiques, ce qui permet à des stations opérateurs 160, connectées au réseau, exécutant le logiciel spécifique à l'application, de surveiller et de gérer le processus géré. Un autre avantage du système de gestion basé sur processeur 10 est la facilité et la flexibilité relatives avec lesquelles le programme de gestion 68 peut être créé ou modifié. Par exemple, dans un premier mode de réalisation de la présente invention, le programme de gestion 68 peut être créé ou modifié en utilisant le programme de programmation intuitive 98 qui fournit des interfaces utilisateur graphiques qui permettent la programmation intuitive de la gestion du processus. Le programme de gestion 68 peut être créé sur l'ordinateur opérateur 80, sur l'ordinateur opérateur 160 ou sur tout autre ordinateur (peut importe que l'ordinateur soit connecté fonctionnellement à la machine 20 ou soit un ordinateur autonome) capable d'exécuter le programme de programmation intuitive 98. Lorsque le programme de gestion 68 est créé et compilé sur l'un quelconque de ces ordinateurs, celui-ci est ensuite chargé via divers moyens classiques sur l'ordinateur de commande 60 au niveau duquel il est exécuté. Par exemple, le programme de gestion peut être chargé sur l'ordinateur de commande 60 via une liaison de communication directe ou le programme de gestion peut être chargé sur un disque, puis inséré dans un lecteur de disque associé à l'ordinateur de commande 60 et chargé sur la mémoire centrale 66. Contrairement aux systèmes de gestion basés sur PLC, dans la présente invention, il est prévu qu'au moins deux types distincts d'individus puissent souhaiter s'impliquer dans la création et l'édition du programme de gestion de processus 68: (1) un individu connaissant le processus à gérer (appelé par la suite "Programmeur Processus") et (2) un individu maîtrisant la programmation de bas-niveau (appelé par la suite "Programmeur Bas-Niveau"). Dans de nombreux cas, un individu ignorera tout du domaine respectif de l'autre. En conséquence, le programme de programmation intuitive 98 est constitué d'un système hiérarchique de niveaux de programmation, la programmation effectuée à chaque niveau séquentiellement supérieur devenant plus intuitive pour le Programmeur Processus et parallèlement moins intuitive pour le Programmeur Bas-Niveau. Par conséquent, contrairement aux systèmes de gestion basés 12 2783455 sur PLC dans lesquels toute la programmation est effectuée à bas-niveau, dans la présente invention, la responsabilité de la création et de l'édition du programme de gestion 68 peut être transférée, à un certain niveau de programmation, au Programmeur Processus. En se reportant maintenant à la figure 2, un diagramme conceptuel, fourni à titre d'exemple, du programme de programmation intuitive 98 est illustré, dans lequel le programme de programmation intuitive 98 est constitué de cinq niveaux de programmation: le niveau de programmation Initial 1, le niveau de programmation Macros 2, le niveau de programmation Scripts 3, le niveau de programmation Tâches 4 et le niveau de programmation Processus 5. D'autres niveaux de programmation, ou un nombre moins important de niveaux de programmation, peuvent être utilisés suivant la complexité du programme de gestion 68 qui est créé ou édité. A chaque niveau de programmation autre que le niveau 1, des instructions sont définies en sélectionnant et en combinant une pluralité des instructions définies au niveau de programmation situé au-dessous. Par conséquent, on peut voir que, à chaque niveau de programmation séquentiellement supérieur, l'ensemble des instructions défini au niveau de programmation situé au-dessous devient plus petit (comme indiqué conceptuellement sur la figure 2). Au niveau de programmation Initial 1, l'ensemble des instructions susceptibles de pouvoir être insérées dans le programme de gestion 68 comprend des instructions d'E/S basiques, des instructions logiques conditionnelles, ainsi que d'autres instructions de programmation de basniveau. Les noms de ces instructions peuvent ne pas avoir beaucoup de sens pour le Programmeur Processus, voire aucun, si celui-ci ne dispose d'aucune connaissance dans le domaine de la programmation de bas-niveau (c'est-à-dire que les noms de ces instructions ne lui fourniront que peu d'indications, voire aucune, sur la fonction de l'instruction au sein du processus géré). Par conséquent, seul le Programmeur Bas-Niveau sera impliqué à ce niveau ("la Programmation" à ce niveau peut, en réalité, n'impliquer que la sélection d'un ensemble compréhensif d'instructions de bas-niveau basiques, voire même la sélection du langage de bas-niveau approprié, contrairement à la programmation traditionnelle). Au niveau de programmation Macros 2, les instructions Macro sont définies en sélectionnant et en arrangeant une pluralité d'instructions définies au niveau de programmation Initial 1. Une instruction Macro est un ensemble relativement basique 13 2783455 d'instructions définies au niveau de programmation Initial 1 qui sont combinées de manière à exécuter une fonction relativement basique au sein d'un programme de gestion 68. En d'autres termes, l'exécution d'une instruction Macro impliquera une partie relativement faible du processus géré. Le nom d'une instruction Macro, cependant, fournira relativement plus d'informations concernant la fonction de l'instruction Macro au sein du processus géré que les noms de ses instructions constitutives définies au niveau de programmation Initial 1. En d'autres termes, le nom d'une instruction Macro est relativement plus descriptif de sa fonction au sein du processus géré. Au niveau de programmation Scripts 3, des instructions Script sont définies en sélectionnant et en arrangeant une pluralité d'instructions Macro de l'ensemble des Macros définies. Une instruction Script constitue alors un ensemble d'instructions relativement plus vaste qu'une instruction Macro et l'exécution d'une instruction Script impliquera une partie relativement plus importante du processus géré. Le nom de l'instruction Script fournira relativement plus d'informations sur la fonction de l'instruction Script au sein du processus géré que les noms de ses instructions Macro constitutives. Au niveau de programmation Tâches 4, des instructions Tâche sont définies en sélectionnant et en arrangeant une pluralité d'instructions Script à partir de l'ensemble des Scripts définis. Une instruction Tâche constitue alors un ensemble d'instructions relativement plus vaste qu'une instruction Script et l'exécution d'une instruction Tâche impliquera une partie relativement plus importante du processus géré. Le nom de l'instruction Tâche fournira relativement plus d'informations sur la fonction de l'instruction Tâche, au sein du processus commandé, que les noms de ses instructions Script constitutives. Enfin, au niveau de programmation Processus 5, le Processus entier est défini. Le Processus est défini en sélectionnant et en arrangeant une pluralité d'instructions Tâche à partir de l'ensemble des instructions Tâche définies. A ce niveau de programmation, le programme de gestion 68 a été créé ou finalement édité. Seul le Programmeur Processus sera appelé à intervenir à ce niveau. Par conséquent, on peut voir que, à partir d'un certain niveau de programmation de la hiérarchie décrite ci-dessus, les noms des instructions peuvent avoir plus de sens pour le Programmeur Processus, s'agissant de la fonction de l'instruction au sein du 14 2783455 processus géré, que pour le Programmeur Bas-Niveau. C'est dès ce niveau que la gestion de la programmation peut incomber au Programmeur Processus. Ainsi, par exemple, l'accès à certains niveaux du programme de programmation intuitive 98 peut se voir sélectivement autoriser ou refuser selon le niveau de programmation de l'acheteur ou autre utilisateur final du système de gestion de processus 10 comportant le programme de programmation intuitive 98. On va maintenant décrire un mode de réalisation du programme de programmation intuitive. En se reportant maintenant aux figures 3 à 5, un exemple de mode de réalisation du programme de programmation intuitive 98 est illustré. Dans cet exemple de réalisation, le programme de programmation intuitive 98 est utilisé pour créer un programme de gestion 68 destiné à commander une machine de moulage par injection de matière plastique. Dans le présent mode de réalisation, le programme de programmation intuitive 98 comporte trois composants/programmes qui correspondent à trois fenêtres GUI: (1) une fenêtre Editeur de Définition de Script 200, (2) une fenêtre Editeur de Tâches 300, et (3) une fenêtre Editeur de Processus 400. Ainsi, dans le présent mode de réalisation, la responsabilité de la gestion de la programmation incombe au Programmeur Processus au niveau Scripts 3. En d'autres termes, dans la hiérarchie décrite ci-dessus, le Programmeur Processus n'est pas habilité à définir des Macros, mais est habilité à définir des Scripts. Le niveau d'accès consenti au Programmeur Processus peut varier suivant l'expérience du Programmeur Processus, la complexité du programme de gestion 68 créé, ou suivant d'autres facteurs, y compris les impératifs de sécurité. On va maintenant décrire la fenêtre Editeur de Définition de Script. Comme illustré sur la figure 3A, la fenêtre Editeur de Définition de Script 200 comporte une boîte Fichier Catégorie 204, une boîte Script 208, une boîte Liste Scripts Catégorie 222, une boîte Macro 242, et une boîte Définition Script 246. La fenêtre Editeur de Définition de Script 200 comporte aussi une pluralité de boutons d'entrée-utilisateur (par exemple, le bouton Imprimer 226). La fenêtre Editeur de Définition de Script 200 permet à un utilisateur (par exemple, le Programmeur Processus ou le Programmeur Bas-Niveau) d'éditer, de créer ou de supprimer un Script. Lors de l'édition d'un Script existant, l'utilisateur peut tout 2783455 d'abord sélectionner la catégorie dans laquelle est contenu le Script dans la boîte Fichier Catégorie 204. Par exemple, sur la figure 2A, le fichier catégorie "Cores and Ejectors (Noyaux and Ejecteurs)" a été sélectionné. Un fichier catégorie comporte une pluralité de Scripts sélectionnables. De plus, des Scripts peuvent être contenus dans plus d'un fichier catégorie. La sélection d'un Fichier Catégorie provoque l'affichage de tous les Scripts existants que contient le Fichier Catégorie dans la boîte Liste Scripts Catégorie 222. L'utilisateur peut alors sélectionner le Script à éditer dans la boîte Liste Scripts Catégorie 222 en utilisant des techniques GUI classiques (par exemple, en cliquant deux fois sur une souris commandant un pointeur d'écran positionné d'une manière appropriée). Le Script souhaité peut aussi être sélectionné à partir de la boîte Script 208 qui comporte une liste déroulante sélectionnable. Dans l'exemple illustré sur la figure 3A, le Script qu'il a été choisi d'éditer est "Pull Core A Confirmed (Retrait Noyau A Confirmé)". 1:5 Lorsque le Script souhaité a été sélectionné dans la boîte Script 208, les Macros comprenant le Script sont affichées dans la boîte Définition Script 246. Par exemple, sur la figure 3A, le Script sélectionné est constitué de deux Macros, DON et CONFIRMDIN_TIMED, et de paramètres associés à ces Scripts. L'utilisateur peut maintenant supprimer une Macro de la boîte Définition Script 246 (c'est-à-dire, du Script sélectionné) en utilisant des techniques GUI classiques. L'utilisateur peut aussi insérer une Macro dans la boîte Définition Script 246 en sélectionnant une ou plusieurs Macros précédemment définies de la boîte Macro 242, laquelle comporte une liste déroulante affichant toutes les Macros disponibles. La Macro souhaitée dans la boîte Macro 242 peut être insérée au niveau de la position souhaitée dans la boîte Définition Script 246 en appuyant sur le bouton V 250. La syntaxe de certaines instructions Macro peut exiger que certains paramètres soient incorporés dans l'instruction Macro. Par conséquent, en se reportant maintenant à la figure 3B, une fenêtre Editeur de Paramètres 500 est représentée, laquelle permet à l'utilisateur d'inclure certains paramètres avec la Macro sélectionnée. La boîte Editeur de Paramètres 500 est invoquée automatiquement par le programme de programmation intuitive 98 à chaque fois qu'une Macro nécessitant des paramètres est sélectionnée. 16 2783455 La fenêtre Editeur de Paramètres 500 comporte une boîte Paramètre 504 et une boîte Liste de Paramètres 508. La boîte Paramètre 504 permet à l'utilisateur de sélectionner le type de paramètre à inclure avec la Macro. Par exemple, dans le mode de réalisation illustré sur la figure 3B, l'utilisateur peut sélectionner des paramètres d'expiration, des paramètres de message, ou des paramètres de processus à inclure avec la Macro. Lorsque le type de paramètre est sélectionné dans la boîte Paramètre 504, tous les paramètres de ce type sont affichés dans une boîte Liste de Paramètres 508. Le paramètre spécifique peut alors être sélectionné en appuyant sur le bouton Ajouter 512. Des paramètres peuvent être supprimés en appuyant sur le bouton Supprimer 516. En se reportant à nouveau à la figure 3A, un nouveau Script peut être créé essentiellement de la même manière qu'un Script existant est édité. L'utilisateur peut appuyer sur le bouton Nouveau 212 pour commencer à créer un nouveau Script. L'utilisateur peut ensuite taper le nom du nouveau Script dans la boîte Script 208, et définir le Script en utilisant la boîte Macro 242, la boîte Définition Script 246 et la boîte Editeur de Paramètres 500, comme décrit précédemment. La fenêtre Editeur de Définition de Script 200 présente plusieurs autres caractéristiques GUI. Des boutons Imprimer 226 et 254, des boutons Sauvegarder Sous 230 et 258 et des boutons Sauvegarder 234 et 262 permettent à l'utilisateur d'imprimer, de sauvegarder ou de sauvegarder sous un nom différent le fichier modifié. Le bouton Aide 238 invoque des caractéristiques d'aide du système. Le bouton OK 266 peut être utilisé comme un moyen de sélection GUI optionnel. Le bouton Annuler 270 annule une sélection GUI. Diverses autres caractéristiques GUI peuvent aussi être offertes en fonction du système d'exploitation. Il faut noter que, dans le mode de réalisation illustré sur la figure 3A, qui concerne la programmation d'un programme de gestion 68 destiné à gérer un processus de moulage par injection de matière plastique, les noms des Scripts décrivent relativement mieux les étapes du processus de moulage par injection de matière plastique que les Macros. Par exemple, le nom de Script "Ejectors Engaged Confirmed (Ejecteurs Engagés Confirmé)" peut mieux suggérer quelle est la fonction de l'instruction Script au sein du processus géré que les noms de Macro "DON" ou "CONFIRM DINTIMED". On va maintenant décrire la fenêtre Editeur de Tâches. 17 2783455 En se reportant maintenant aux figures 4A et 4B, la fenêtre Editeur de Tâches 300 permet à l'utilisateur d'éditer et de définir des Tâches d'une manière similaire à celle utilisée pour éditer et définir des Scripts. Par exemple, sur la figure 4A, la Tache éditée est "Mold Close (Fermeture Moule)", comme indiqué dans la boîte Nom de Tâche 304. Les Scripts comprenant la tâche "Mold Close (Fermeture Moule)" sont indiqués dans la boîte Séquence d'Exécution Normale 342 (par exemple, "Begin Mold Close (Commencer Fermeture Moule)", "Retract Ejectors Confirmed (Retrait Ejecteurs Confirmé)", etc.). Les Scripts qui peuvent être insérés dans la Tâche sont affichés dans la boîte Liste de Scripts 322, lesquels correspondent à la catégorie sélectionnée dans la boîte Catégorie Scripts 308. Des Scripts peuvent être insérés dans la Tâche en faisant apparaître en surbrillance le Script souhaité dans la boîte Liste Scripts 322 et en appuyant sur le bouton >> 374 ou via d'autres techniques GUI classiques. D'une manière similaire, des Scripts peuvent être supprimés de la Tâche en sélectionnant le Script à supprimer dans la boîte Séquence d'Exécution Normale 342 et en appuyant sur le bouton La fenêtre Editeur de Tâches 300 présente plusieurs autres caractéristiques non-décrites ci-dessus en référence à la fenêtre Editeur de Définition de Script 200. Ces caractéristiques peuvent être, cependant, présentes dans toutes les fenêtres GUI constituant la présente invention. Comme illustré sur les figures 4A et 4B, en basculant le bouton 326 entre "Niveau Haut" et "Niveau Bas", la fenêtre Editeur de Tâches 300 peut afficher soit (1) les Scripts comprenant une Tâche, soit (2) les Scripts comprenant une Tâche et les Macros constituant les Scripts. De plus, en utilisant la boîte Vérifier 390, une tâche peut être définie comme ayant deux fonctions; (1) une première fonction dans le cas d'une exécution normale du processus géré et (2) une seconde fonction dans le cas d'une exécution interrompue du processus géré. Par conséquent, par exemple, lors de la création d'un programme de gestion 68 destiné à une machine de moulage par injection de matière plastique, des Tâches peuvent être créées pour un fonctionnement normal de la machine de moulage par injection de matière plastique et pour les situations dans lesquelles le fonctionnement de la machine de moulage par injection de matière plastique doit être interrompu (par exemple, lors de la survenue de fuites dans la cavité de moulage, de l'apparition de pressions élevées dans la cavité de moulage ou de diverses anomalies mécaniques). On va maintenant décrire la fenêtre Editeur de Processus. 18 2783455 En se reportant maintenant à la figure 5, la fenêtre Editeur de Processus 400 permet à l'utilisateur d'éditer et de définir des Processus d'une manière similaire à celle utilisée pour éditer et définir des Scripts et des Tâches. La fenêtre Editeur de Processus 400 peut disposer de toutes les caractéristiques de la fenêtre Editeur de Définition de Script 200 et de la fenêtre Editeur de Tâches 300. L'intégralité du processus à faire gérer par le système de gestion basé sur processeur 10 est défini dans la fenêtre Editeur de Processus 400. Par exemple, sur la figure 5, le processus partiellement défini "Toggle 500 Ton (Basculer 500 Tonnes)" est couramment constitué des Tâches "Mold Close (Fermeture Moule)", "Clamp (Verrouillage)" et "Nozzle Engaged (Insérer Buse)". D'autres Tâches peuvent être ajoutées au processus en sélectionnant une Tache dans la boîte Liste de Tâches 422 et en appuyant sur le bouton >> 482. Lorsque le Processus a été complètement défini, l'instruction Processus comporte toutes les instructions qui se trouveront dans le programme de gestion 68. Le fichier Processus peut être compilé en appuyant sur le bouton Compiler 494. Un fichier Processus compilé peut alors être chargé dans la mémoire centrale 66 de l'ordinateur de commande 60 dans laquelle celui-ci est stocké comme programme de gestion 68 afin d'être exécuté par le processeur 70. Il va de soi, pour l'homme du métier, que des modifications peuvent être apportées à ces modes de réalisation et principes sans s'écarter des principes ni de l'esprit de la présente invention. Par exemple, dans un mode de réalisation, tous les fichiers créés à l'aide du programme de programmation intuitive 98 peuvent être cryptés. De plus, le texte des fenêtres GUI du programme de programmation intuitive 98 peut être exprimé dans toute une variété de langues autres que l'anglais. En conséquence, la portée de la présente invention n'est limitée, comme il se doit, que par les revendications annexées. 19 2783455 REVENDICATIONS 1. Système de gestion de processus (10) basé sur processeur pour une machine de moulage par injection de matière plastique (20) exécutant un processus de moulage par injection de matière plastique, comprenant: (a) un réseau de bus d'E/S (40) comportant une pluralité de modules d'E/S (44) connectés fonctionnellement à un dispositif d'E/S (24) correspondant associé à la machine de moulage par injection de matière plastique (20), et (b) un premier ordinateur (60) comportant: (1) un contrôleur de bus d'E/S (48) directement connecté au réseau de bus d'E/S (40), (2) un système d'exploitation temps-réel (72), et (3) un premier processeur (70) exécutant un programme (68) de gestion du moulage par injection de matière plastique pour gérer le processus de moulage par injection de matière plastique. 2. Système de gestion de processus (10) basé sur processeur selon la revendication 1, caractérisé en ce que le système d'exploitation tempsréel (72) permet le multitâche. 3. Système de gestion de processus (10) basé sur processeur selon la revendication 1, caractérisé en ce que le premier processeur (70) est un processeur du type x386. 4. Système de gestion de processus (10) basé sur processeur selon la revendication 1, caractérisé en ce que le premier processeur (70) est un processeur du type x486. 5. Système de gestion de processus (10) basé sur processeur selon la revendication 1, caractérisé en ce que le premier processeur (70) est un processeur du type x586. 2783455 6. Système de gestion de processus (10) basé sur processeur selon la revendication 1, caractérisé en ce que le premier processeur (70) est un processeur du type x686. 7. Système de gestion de processus (10) basé sur processeur selon la revendication 1, caractérisé en ce qu'il comporte en outre: un programme spécifique à l'application (96) configuré de manière à fonctionner avec le programme (68) de gestion du moulage par injection de matière plastique, le programme spécifique à l'application (96) fournissant une interface GUI comportant au moins une fenêtre permettant de consulter des paramètres liés au processus de moulage par injection de matière plastique. 8. Système de gestion de processus (10) basé sur processeur selon la revendication 7, caractérisé en ce que le programme spécifique à l'application (96) fournit une interface GUI comportant au moins une fenêtre permettant d'entrer des informations liées au processus de moulage par injection de matière plastique. 9. Système de gestion de processus (10) basé sur processeur selon la revendication 7, caractérisé en ce que le programme spécifique à l'application (96) est exécuté par le premier processeur (70). 10. Système de gestion de processus (10) basé sur processeur selon la revendication 1, caractérisé en ce qu'il comporte en outre (a) un deuxième ordinateur (80) comportant: i - un programme spécifique à l'application (96) configuré de manière à fonctionner avec le programme (68) de gestion du moulage par injection de matière plastique afin de permettre à un opérateur de consulter des paramètres liés au processus de moulage par injection de matière plastique et d'entrer des informations liées au processus de moulage par injection de matière plastique, et 2 - un second processeur (90) pour exécuter le programme spécifique à l'application (96). I l. Système de gestion de processus (10) basé sur processeur selon la revendication 10, caractérisé en ce que le deuxième ordinateur (80) comporte en outre une mémoire (88) pour mémoriser des informations concernant le processus de moulage par injection de matière plastique. 21 2783455 12. Système de gestion de processus (10) basé sur processeur selon la revendication 11, caractérisé en ce que la mémoire (88) possède une capacité d'au moins Mo. 13. Système de gestion de processus (10) basé sur processeur selon la revendication 10, caractérisé en ce que le premier ordinateur (60) comporte en outre une première interface (64) et le deuxième ordinateur (80) comporte en outre une seconde interface (92), et en ce que les première et seconde interfaces sont reliées de manière à pouvoir communiquer. 14. Système de gestion de processus (10) basé sur processeur selon la revendication 10, caractérisé en ce que le deuxième ordinateur (80) comporte un programme (98) pour créer le programme (68) de gestion du moulage par injection de matière plastique, comprenant: (a) une hiérarchie de niveaux de programmation, parmi lesquels un niveau de programmation N et un niveau de programmation N + 1, o N est un entier positif, 1 5 (b) un ensemble défini d'instructions associées au niveau de programmation N, et (c) une fenêtre GUI pour définir des instructions au niveau de programmation N+ I en permettant à un utilisateur de sélectionner et d'arranger une pluralité d'instructions définies au niveau de programmation N. 15. Système de gestion de processus (10) basé sur processeur selon la revendication 10, caractérisé en ce que le deuxième ordinateur (80) est connecté fonctionnellement, via un réseau (150), à un troisième ordinateur (160) de manière à ce que le troisième ordinateur (160) soit capable de consulter les paramètres liés au processus de moulage par injection de matière plastique et soit capable d'entrer des informations liées au processus de moulage par injection de matière plastique. 16. Système de gestion de processus (10) basé sur processeur selon la revendication 15, caractérisé en ce que le troisième ordinateur (160) comporte le programme spécifique à l'application (96). 17. Système de gestion de processus (10) basé sur processeur selon la revendication 16, caractérisé en ce que le troisième ordinateur (160) comporte un 22 2783455 programme (98) permettant de créer le programme (68) de gestion du moulage par injection de matière plastique, comprenant: (a) une hiérarchie de niveaux de programmation, parmi lesquels un niveau de programmation N et un niveau de programmation N + 1, o N est un entier positif, (b) un ensemble défini d'instructions associées au niveau de programmation N, et (c) une fenêtre GUI pour définir des instructions au niveau de programmation N+ 1 en permettant à un utilisateur de sélectionner et d'arranger une pluralité d'instructions définies au niveau de programmation N. 18. Système de gestion de processus (10) basé sur processeur selon la revendication 14, caractérisé en ce que la fenêtre GUI permet à un utilisateur de définir une instruction au niveau de programmation N + 1 de sorte que l'instruction du niveau de programmation N + 1 ait deux fonctions. 19. Système de gestion de processus (10) basé sur processeur selon la revendication 18, caractérisé en ce que les deux fonctions correspondent au fonctionnement normal de la machine de moulage par injection de matière plastique (20) et à un fonctionnement interrompu de la machine de moulage par injection de matière plastique (20). 20. Système de gestion de processus (10) basé sur processeur selon la revendication 14, caractérisé en ce que le deuxième ordinateur (80) comporte en outre une fenêtre GUI pour chaque niveau de programmation autre que le premier niveau de programmation, et en ce que le programme (98) pour créer le programme (68) de gestion du moulage par injection de matière plastique peut être configuré de manière à ce que l'utilisateur ne puisse pas accéder à un sous-ensemble des fenêtres GUI. 21. Système de gestion de processus (10) basé sur processeur selon la revendication 19, caractérisé en ce qu'une instruction définie dans la fenêtre GUI pour le niveau de programmation maximal comprend toutes les instructions associées au premier niveau de programmation du programme (68) de gestion du moulage par injection de matière plastique. 22. Système de gestion de processus (10) basé sur processeur selon la revendication 10, caractérisé en outre en ce qu'il comporte un ordinateur autonome 23 2783455 comportant un programme (98) pour créer le programme (68) de gestion du moulage par injection de matière plastique, comprenant: (a) une hiérarchie de niveaux de programmation, parmi lesquels un niveau de programmation N et un niveau de programmation N + 1, o N est un entier positif, (b) un ensemble défini d'instructions associé au niveau de programmation N, et (c) une fenêtre GUI pour définir des instructions au niveau de programmation N + 1 en permettant à un utilisateur de sélectionner et de combiner une pluralité d'instructions définies au niveau de programmation N.