Brevet FR3001553A1 — publié le 20140801

DISPOSITIF DE COMMANDE POUR UN SYSTEME D'AUTOMATISME La présente invention concerne un dispositif de commande pour un système d'automatisme comportant des organes à piloter reliés audit dispositif de commande par différentes liaisons de type BUS par l'intermédiaire d'au moins un circuit d'interface. Ce genre de dispositif trouve d'importantes applications. Notamment il permet de définir les commandes et aussi d'assurer la surveillance de systèmes d'automatisme pouvant présenter une structure complexe. Un tel dispositif est connu du document de brevet EP0278802. Ce dispositif connu propose d'utiliser une pluralité d'ensembles de commande pour des organes à piloter. Ce dispositif présente donc une structure complexe dont le fonctionnement semble difficile à maitriser. La présente invention propose un dispositif du genre mentionné dans le préambule qui veut éviter les complications et présente des facilités pour la conception et la mise en oeuvre de l'automatisme auquel le dispositif de l'invention est affecté. . Pour cela, un tel dispositif est remarquable en ce que ledit dispositif de commande est sous la dépendance d'un PC et est constitué à partir d'un environnement de commande, fonctionnant à partir d'un langage interprété et étant formé d'une partie de développement pour déterminer la gestion des différents organes à piloter et une partie opérationnelle pour agir sur lesdits organes à piloter.. Ainsi, l'invention propose de centraliser la commande du système d'automatisme, tant pour son exploitation que pour son développement. L'utilisation de langage interprété permet de modifier facilement les commandes et établir des phases de fonctionnement très simplement. Les PC actuellement présentent de bonnes caractéristiques de rapidité et l'interprétation des commandes ne grève pas la rapidité du système. En outre, la présence d'un PC permet l'utilisation de mémoires de grande capacité ce qui procure de grandes facilités pour la gestion des systèmes d'automatismes qui lui sont affectés. La description suivante accompagnée des dessins ci-annexés, le tout donné à titre d'exemple non limitatif, fera bien comprendre comment l'invention peut être réalisée. Dans les dessins : - la figure 1 montre le schéma d'un dispositif conforme à l'invention, - la figure 2 montre la structure d'un circuit d'interface adapté à recevoir les commandes du dispositif de l'invention, - la figure 3 montre un schéma illustrant le fonctionnement du dispositif de commande de l'invention, - la figure 4 montre un premier écran visualisé au niveau de l'écran du dispositif de commande conforme à l'invention, relatif à l'initialisation du programme de fonctionnement du dispositif de commande de l'invention, - la figure 5 montre un deuxième écran visualisé au niveau du dispositif de commande conforme à l'invention, relatif à l'écran principal, - la figure 6 montre un troisième écran apparaissant sur l'écran du dispositif de commande conforme à l'invention, relatif pour la gestion de graphiques de type « grafcet » ou similaire, - la figure 7 montre un quatrième écran apparaissant sur l'écran du dispositif de commande conforme à l'invention relatif à la visualisation d'éléments du système d'automatismes. Sur ces figures, les éléments communs portent tous les mêmes références. La figure 1 montre un dispositif conforme à l'invention. Ce dispositif comporte essentiellement un ordinateur de type PC industriel 25. Cet ordinateur 25 est alimenté en 12 volts continus soit par un bloc d'alimentation 26 secteur soit par une batterie 27 si le dispositif doit faire partie d'un système est embarqué. A cet ordinateur, est rattaché un ensemble de périphériques 28 constitué essentiellement par un écran 30, un clavier 32, une imprimante 34, une souris 36 et un modem 38 permettant une liaison par Internet. Cet ordinateur 25 travaille en coopération avec un ensemble de logiciels coopérant avec un ensemble de mémoire-programme 40. Pour relier l'ordinateur 25 aux différents organes à piloter 42, 43 et 44 (par exemple : des thermomètres, des manomètres, des électrovannes, on propose différentes mesures. En effet, il faut prévoir une communication entre cet ordinateur 25 et ces organes dont il faut gérer les phases de fonctionnement. On a prévu pour cela, tout d'abord une première ligne BUS 50 et une seconde ligne 51 connectées à l'ordinateur 25. Ces lignes sont de préférence du type RJ485 et transmettent des données. Le câble de liaison des lignes 50 et 51 transmet également une alimentation à l'ensemble des interfaces 55, 56, 57,... La ligne 50 est connectée à différents circuits d'interfaces 55, 56 et 57 en utilisant des boîtiers d'interconnexion 60, 61 et 62. Pour des raisons de clarté des explications, on ne mentionnera pas les interconnexions avec la ligne 51, celles-ci s'effectuant de la même manière. Selon une caractéristique importante de l'invention, l'ensemble de mémoire programme comporte des espaces mémoires 65 et 66 dédiés à des instructions qui permettent respectivement à déterminer la gestion des organes à piloter et à agir sur ces organes en cours d'exploitation. La figure 2 montre la structure commune à toutes les interfaces utilisables, notamment les circuits 55, 56 et 57, par le système de l'invention. Ces circuits d'interface sont formés à partir d'un même circuit de base 70 auquel on associe des circuits adaptés 72. Ces circuits adaptés 72 autorisent le dialogue avec les blocs ou organes fonctionnels. Le circuit de base 70 comporte essentiellement un microcontrôleur 75 qui doit être programmé par un programme injecté sur sa borne JTAG formée en fait par 4 accès pour des fils conducteurs, un ensemble convertisseurs 77 qui, à partir des tensions véhiculées par la ligne 50, fournit les tensions requises à l'alimentation des différents composants du circuit d'interface par exemple des tensions de 5 Vcc et de 3.3 Vcc, un convertisseur de protocole R5485/R5232, dont la référence est 79, qui convertit les signaux du BUS 50 en signaux répondant au protocole R5232 pour être admis par le microcontrôleur 75. Il est prévu une pile 80 de sauvegarde qui autorise un fonctionnement du microcontrôleur 75, notamment en sauvegardant certaines données importantes, l'état des mémoires du microcontrôleur et aussi offre la possibilité d'exécuter les fonctions indispensables en cas de coupure de courant. Le microcontrôleur dialogue avec l'ordinateur 25 via un port R5232. La présence du convertisseur R5485/R5232, dont la référence est 79, se justifie pour la raison suivante. En effet une liaison R5232 ne permet pas de transmettre le signal sur une distance supérieur à 30m à 9600 bauds. Le protocole R5485 lui tolère des distances bien plus grandes ce qui donne une grande souplesse pour la mise en place du système de l'invention. Le programme du microcontrôleur est écrit la mémoire du microcontrôleur en usine par la liaison JTAG. Son initialisation permettant de définir l'adresse d'identification ainsi que les fonctions devant être utilisées se fait au travers des lignes de bus 50 et 51. La figure 3 montre l'organisation du fonctionnement du dispositif de commande. Cette organisation est basée sur des informations implémentées dans la mémoire 40 de l'ordinateur 25. Cette organisation fait appel notamment à l'horloge système 300 de l'ordinateur 25 et de sa mémoire de masse 305. L'écran 30 est aussi mis à contribution. Les autres éléments des composants informatiques peuvent aussi être utilisés. Pour fonctionner selon les caractéristiques de l'invention, on utilise un environnement de développement complet d'automatisme et d'acquisition de données plus particulièrement utilisable avec le système d'automatisme. Une fois que les phases de fonctionnement ont été établies, il est possible alors en utilisant la même machine de mettre en oeuvre l'application chez le client, c'est-à-dire l'utilisateur final. Le fonctionnement est basé sur l'interprétation de fichiers ; donc, pour déclencher le fonctionnement, on donne en argument le chemin et le nom du fichier contenant la liste de fichiers à interpréter (case K1). Donc dans un premier temps, il charge et analyse l'ensemble des fichiers concernés. Ceci est illustré à la case K3. Suite à cette analyse, il se crée l'ensemble des variables et des actions ainsi que les fenêtres des écrans et les automatismes qui sont déterminés en analysant les « grafcets » élaborés pour définir les différentes actions à opérer avec les blocs fonctionnels ( voir case K5). Ces différentes phases sont montrées aux cases K11, K12, K13 et K14 relatives respectivement aux automatismes, aux variables, aux actions à entreprendre au niveau des organes à piloter et aux écrans à élaborer. Le logiciel possède un générateur d'écrans permettant de créer les interfaces utilisateurs de supervision. Il est possible de visualiser les variables, de créer des animations. Certains boutons peuvent agir directement sur les interfaces permettant d'avoir une action manuelle par exemple pour les initialiser. Enfin on lance l'application qui permet de faire interagir les éléments créés entre eux et avec la mémoire de masse 305 (pour lire ou écrire des fichiers) et les lignes BUS, la ligne 50 (pour dialoguer avec les différents circuits d'interfaces impliqués dans l'automatismes à gérer.) L'action sur un bouton à l'écran peut déclencher une opération qui change la valeur d'une variable. Le changement de la valeur de la variable peut rendre vraie la condition du démarrage d'un automatisme. L'automatisme peut déclencher un dialogue avec un circuit d'interface via la ligne BUS 50. Ce dialogue peut changer la valeur d'une variable qui est affichée. Dans la déclaration de la variable, on peut avoir demandé qu'elle soit enregistrée dans la mémoire de masse pour qu'elle reprenne la dernière valeur connue en cas de relance du programme. Cet événement peut intervenir par exemple en cas de coupure de courant. Dans ce cas, le fichier contenant la valeur de la variable sera modifié. L'écran sera aussi modifié et affichera la nouvelle valeur de la variable. Tout ce qui se réfère au temps (arrêt d'un automatisme pendant un temps donné, Top de démarrage d'un automatisme,...) utilise l'horloge interne 300 du PC. Ceci permet de programmer des temps depuis la milliseconde jusqu'à plusieurs années sans ajout de matériel supplémentaire. Pour utiliser le logiciel en vue de créer une application, il faut impérativement qu'un fichier décrivant un écran impliquant un éditeur de fichier et un écran relatif au de débogage soient inclus. Un bouton permettant la relance complète du logiciel peut être présent sur ces écrans et autorise une relance en moins de dix secondes si le développeur veut se rendre compte de l'effet de la modification des fichiers sur le fonctionnement. La figure 4 visualise l'écran 30. Cet écran montre la phase d'initialisation. Quelques lignes sont montrées en guise d'exemple. Les lignes Li à L3 sont relatives à des paramètres concernant des composants du système : - Li mentionne un fichier de paramètres pour les microcontrôleurs faisant partie, notamment des circuits d'interface. - L2 mentionne un fichier pour définir les paramètres relatifs à la communication faite par les lignes BUS 50. - L3 mentionne un fichier définissant d'autres paramètres de dialogues. Les lignes L4 à L6 sont relatives à des variables affectées au différents organes à piloter. Par exemple dans le cadre d'un exemple concernant le nettoyage de chaudières de type industriel (usine d'incinération, usine de production d'électricité au fioul ou au charbon,..), des paramètres sont affectés à des lances injectant des liquide de nettoyage à l'intérieur des chaudières (ligne L4) , aux pompes d'injection (ligne L5) et autres variables (ligne L6). Enfin, les lignes L7 à L9 sont relatives aux variables initiales des diagrammes « grafcet » qui définissent le fonctionnement du système. Ainsi la ligne L7 est relative aux variables du cycle principal des « grafcets », la ligne L8 aux pompes etc. On remarquera, sur cette figure 4 et les suivantes la présence d'une case K100 qui relance tout le logiciel mis en oeuvre, lorsqu'on clique dessus. C'est cette case qui constitue le bouton de redémarrage précité. La figure 5 montre différents paramètres qui régissent l'apparence de l'écran principal que l'utilisateur visualise. La ligne L20 est relative au nom que l'on affecte à cet écran. La ligne L21 définit un cadre pour un objet VLT. L'ensemble de lignes ELIO est relatif à un ensemble d'images indexées (Viti à VIt12) s en fonction de la valeur de l'index qui varie entre 1 et 12, une image sera sélectionnée. L'ensemble des lignes EL11 est relatif à différents boutons que l'on peut faire apparaître et qui peuvent, lorsqu'ils sont sélectionnés, effectuer différentes tâches. La figure 6 montre un schéma « grafcet » établi pour définir le fonctionnement du système d'automatisme. Ce « grafcet » peut être modifié par l'éditeur du logiciel incorporé audit dispositif de commande. Ce schéma fait apparaître une case double K200 qui est la case départ pour que le fonctionnement évolue il faut que la tâche contenue dans la case K202 le permette et on va à la case K203 et ainsi de suite conformément à la procédure des fichiers « grafcet ». Il est possible de modifier commodément le schéma « grafcet » C'est ce schéma qui définit un fonctionnement chaîné des différentes étapes de fonctionnement. Par un clic droit de la souris 36 il est possible de faire apparaître un menu contextuel (case K220) en vue de faciliter la modification ou la conception de ce schéma « grafcet ». La figure 7 schématise une visualisation de la position de volets 201, 202, 203, 204 rattachés à des fenêtres 211, 212, 213, 214 toujours dans le cadre d'un exemple. L'automatisme ayant pour but de déterminer l'abaissement de ces volets pour gérer par exemple la température des pièces qu'ils sont censés contrôler. La figure 7 montre les volets disposés au Nord (N) au Sud (S) à l'Est (E) et à l'Ouest (N). L'abaissement de ces volets est mesuré par le positionnement d'un capteur situé à leur niveau et la valeur de ce positionnement est transmise au dispositif de commande qui détermine enfin la valeur de l'index des différentes images illustrant cet abaissement représentant au mieux l'abaissement réel. Ceci constitue une approche de la supervision du système à commander. Il est possible aussi de faire apparaître différentes valeurs mesurées au niveau du système afin de vérifier le bon fonctionnement du système. Toutes les opérations indiquées sont effectuées par un langage de programmation fonctionnant selon le mode interprété propre au logiciel permettant de gérer plusieurs langues. La supervision peut consister à ouvrir une fenêtre comportant un index indiquant l'étape en cours. Pour déterminer une anomalie on peut affecter à ces étapes des points d'arrêt et contrôler la valeur de variables critiques. La supervision indiquera les valeurs et aussi la désignation de cette variable. REVENDICATIONS1)- Dispositif de commande pour un système d'automatisme comportant des organes à piloter (42, 43, 44) reliés audit dispositif de commande par différentes liaisons de type BUS (50, 51) par l'intermédiaire d'au moins un circuits d'interface (55, 56, 57), caractérisé en ce que ledit dispositif de commande est sous la dépendance d'un PC et est constitué à partir d'un environnement de commande, fonctionnant à partir d'au moins un langage interprété et étant formé d'une partie de développement pour déterminer la gestion des différents organes à piloter et d'une partie opérationnelle pour agir sur lesdits organes à piloter (42, 43, 44). 2)- Dispositif de commande pour un système d'automatisme selon la revendication 1 caractérisé en ce que ledit environnement est commun à au moins deux systèmes d'automatismes reliés audit PC par au moins deux lignes communes (50, 51). 3)- Dispositif de commande pour un système d'automatisme selon la revendication 1 ou 2 dans lequel lesdits circuits d'interface (55, 56, 57) sont formés d'au moins un microprocesseur /:microcontrôleur (75) dont le fonctionnement dépend de lignes de programme et/ou de variables insérés dans une mémoire inscriptible caractérisé en ce que lesdites lignes de programme sont gérées à partir de commandes émises depuis ledit PC et transmises via les lignes BUS (50, 51). 4)- Dispositif de commande pour un système d'automatisme selon l'une des revendications 1 à 3 caractérisé en ce qu'il est prévu une partie de supervision pour fournir au niveau dudit PC des valeurs montrant le fonctionnement desdits organes desdits systèmes d'automatisme. 5)- Dispositif de commande pour un système d'automatisme selon la revendication 4 caractérisé en ce que l'ensemble de supervision montre sur l'écran de façon graphique l'état de fonctionnement des organes à commander (position des volets). 6)- Dispositif de commande pour un système d'automatisme selon l'une des revendications 1 à 5 caractérisé en que un bouton de commande (K100) est prévu pour le redémarrage du logiciel. 7)- Dispositif de commande pour un système d'automatisme selon l'une des revendications 1 à 6 caractérisé en ce que le langage interprété est un langage spécialement conçu pour le logiciel. 8)- Dispositif de commande pour un système d'automatisme selon l'une des revendications 1 à 7 caractérisé en ce que l'environnement comporte un interpréteur de grafcet permettant de réaliser les automatismes et d'effectuer les commande des interfaces 9)- Dispositif de commande pour un système d'automatisme selon l'une des revendications 1 à 8 caractérisé en ce que le fonctionnement est basé sur des étapes de fonctionnement chaînées qui sont exécutées séquentiellement déterminés par l'attente d'une valeur de continuation de la séquence.