FR 2657441 A1 19910726 FR 9100166 A 19910108 La présente invention concerne des contrôleurs programmables, qui sont utilisés pour commander le fonc- tionnement d'un ou de plusieurs éléments d'une unité de fa- brication, et plus particulièrement des modules qui raccor- dent le contrôleur programmable à des dispositifs exté- rieurs en utilisant une liaison de communication en série. Les contrôleurs programmables, tel que celui dé- crit dans le brevet US 4 858 101, sont raccordés, de façon typique, à un appareillage industriel, comme par exemple des chaînes de montage et des machines outils, pour faire fonctionner séquentiellement l'appareillage conformément à un programme de commande mémorisé Le programme de commande comprend des instructions qui sont lues selon une séquence rapide et exécutées pour examiner l'état de dispositifs sé- lectionnés de détection installés sur l'appareillage com- mandé, ou pour mettre sous tension ou désexciter des dispo- sitifs opérationnels choisis situés dans l'appareillage commandé, en fonction de l'état d'un ou de plusieurs des dispositifs de détection examinés. De nombreux types de dispositifs de détection ont été envisagés pour la détection de différentes conditions dans l'appareillage commandé et pour l'envoi d'un signal d'entrée au contrôleur programmable Le plus simple de ces types de dispositifs sont des interrupteurs qui envoient un signal en courant continu ou un signal en courant alterna- tif au contrôleur programmable D'autres dispositifs, comme par exemple des capteurs de température ou de pression, dé- livrent un signal compris entre quatre et vingt milliam- pères et possédant une amplitude correspondant à l'amplitude de l'état détecté De la même manière que pour les dispositifs opérationnels, le contrôleur programmable doit être à même de délivrer une variété de signaux élec- triques de sortie, soit des signaux à courant continu, soit des signaux à courant alternatif, soit des signaux de cou- rant analogiques pour commander les différents types de dispositifs opérationnels installés dans l'appareillage commandé Pour avoir un contrôleur programmable pouvant être réuni à une grande variété d'appareillages indus- triels, on a développé des contrôleurs modularisés qui per- mettent d'utiliser différentes combinaisons de modules d'entrée et de sortie en fonction des exigences de l'appa- reillage industriel spécifique, qui est commandé. Avec la complexité croissante des processus in- dustriels, il a été nécessaire d'utiliser un système plus sophistiqué de détection et de commande Dans de nombreux cas, les simples entrées et sorties de tension ou de cou- rant du contrôleur programmable étaient insuffisantes pour transmettre les données en direction et en provenance de l'appareillage Dans de nombreux cas, on a choisi d'utili- ser des capteurs plus sophistiqués pour délivrer des don- nées détaillées concernant les pièces à traiter indivi- duelles qui sont manipulées par l'appareillage commandé. Par exemple, des chaînes d'assemblage d'automobiles utili- sent des -étiquettes formant transpondeurs à haute fréquen- ce, montées soit sur l'automobile, soit sur le chariot de la chaîne d'assemblage, servant à porter l'automobile. Lorsque l'automobile passe devant un poste de travail, un émetteur/récepteur monté dans le poste de travail interroge l'étiquette formant transpondeur HF pour recevoir des don- nées concernant l'automobile spécifique en cours de traite- ment De telles données permettent d'identifier par exemple le modèle de véhicule ainsi que les options et caractéris- tiques devant être incorporées Une fois que l'émetteur/ré- cepteur a interrogé l'étiquette formant transpondeur, les données concernant l'automobile sont envoyées à un contrô- leur programmable situé dans le poste de travail, par l'in- termédiaire d'une liaison de communication en série. Il peut s'avérer nécessaire de raccorder, au même contrôleur programmable, différents types de ces disposi- tifs sophistiqués de détection et d'exploitation, fabriqués par des sociétés di:fférentes et utilisant des protocoles différents de communication Bien que ces dispositifs uti- lisent souvent des protocoles de communication en série standards du domaine public, leurs fabricants ont également utilisé des protocoles spécialisés Afin d'obtenir un contrôleur programmable possédant un degré très élevé de souplesse d'utilisation pour raccorder une grande variété de dispositifs de détection et d'exploitation, il faut que le contrôleur programmable puisse être agencé de manière à communiquer en utilisant une variété de protocoles en sé- rie En outre, un contrôleur programmable donné dans une installation spécifique peut avoir à établir des communica- tions en utilisant simultanément un certain nombre de pro- tocoles différents. On peut commander une chaîne d'assemblage étendue en utilisant un certain nombre de contrôleurs program- mables Dans ce cas, un réseau de communication en série raccorde les contrôleurs programmables en leur permettant d'échanger des données concernant l'opération de la chaîne d'assemblage Un ordinateur central est souvent accouplé au réseau pour recevoir une information concernant l'état de la chaîne d'assemblage à partir des contrôleurs program- mables et pour envoyer des ordres à ces derniers. Le but général de la présente invention est de fournir un module de communication en série pour un contrô- leur-programmable, qui puisse être agencé de manière à échanger des données avec des dispositifs extérieurs en utilisant l'un de plusieurs protocoles. Un autre but de l'invention est de permettre l'agencement du module de communication en série avec dif- férentes données de protocoles mémorisées dans des car- touches amovibles. Un autre but de la présente invention est de mé- moriser des demandes de configuration dans les cartouches, ces demandes étant utilisées pour demander à l'utilisateur de choisir les options permettant de définir les paramètres du protocole de communication. Un module établit une interface de communication en série pour le couplage de dispositifs d'entrée/sortie (I/O) et d'autres appareils distants, à un contrôleur pro- grammable Le module contient un circuit d'accès en série, qui comporte un processeur exécutant un programme pour contrôler l'échange des données entre le contrôleur pro- grammable et les dispositifs extérieurs L'échange des don- nées utilise un protocole défini de communication on série, et le protocole peut exécuter différents programmes en fonction du protocole qui est utilisé Le circuit d'accès inclut également une mémoire servant à mémoriser le pro- gramme exécuté par le processeur En outre, des étages d'attaque de transmission de signaux sont prévus pour cou- pler électriquement le module à une liaison de communica- tion pour les dispositifs extérieurs. Le module de communication comprend en outre un connecteur, dans lequel peut être insérée une cartouche de mémoire amovible La cartouche de mémoire constitue une mé- moire rémanente pour un programme qui commande le proces- seur Dans le module, il est prévu un mécanisme servant à transférer le programme de la cartouche de mémoire à la mé- moire située dans le circuit d'accès Ceci permet de modi- fier le protocole de communication en modifiant la car- touche de mémoire et en transférant un programme différent dans la mémoire du circuit d'accès. Dans la forme de réalisation préférée, le module de communication possède un certain nombre de circuits -d'accès permettant de coupler au module plusieurs liaisons de communication en série Bien que cette forme de réalisa- tion ait une application particulière en tant que module d'entrée pour un contrôleur programmable, on peut également l'utiliser dans un mode indépendant raccordant les liaisons de communication en série pour l'échange des données entre les liaisons Le même programme ou des programmes diffé- rents peuvent être exécutés par chaque processeur du cir- cuit d'accès, ce qui permet une communication avec des pro- tocoles différents Dans ce cas, plusieurs programmes sont mémorisés dans une cartouche de mémoire, ou bien on prévoit de multiples connecteurs de cartouches de mémoire Des don- nées de configuration, qui indiquent à partir de quelle cartouche de mémoire le programme pour chaque circuit d'accès doit être transféré, sont mémorisées dans le mo- dule. Un protocole de communication utilisé par le mo- dule de communication peut requérir que l'utilisateur choi- sisse des options de paramètres comme par exemple la vi- tesse en bauds, la longueur des caractères de données et le nombre de bits d'arrêt L'utilisateur a la possibilité d'agencer le circuit d'accès en sélectionnant des options spécifiques Cependant, des protocoles différents peuvent avoir des paramètres différents, ce qui signifie que la procédure de configuration du circuit d'accès dépend du protocole particulier utilisé C'est pourquoi, un ensemble de demandes de paramètres de protocoles est mémorisé dans la cartouche de mémoire, ainsi que le programme de proto- coles Ces demandes sont transférées dans le module de com- munication et sont utilisées pour demander à l'utilisateur de choisir les options de paramètres spécifiques de proto- coles. D'autres caractéristiques et avantages de la pré- sente invention ressortiront de la description donnée ci- après prise en référence aux dessins annexés, sur lesquels: la figure 1 montre une représentation d'un contrôleur programmable; la figure 2 représente un schéma-bloc d'un mo- dule de communication en série mettant en oeuvre la pré- sente invention; la figure 3 représente un schéma-bloc d'une mé- moire à accès direct partagée, présente dans le module; la figure 4 représente une mappe de mémoire des emplacements de mémorisation du module de communication en série; la figure 5 représente une configuration de mémoire de la mémoire de la cartouche de mémoire de protocole; la figure 6 représente la structure des données d'une entrée dans la section de demandes de configuration de la mémoire de la cartouche de protocoles; et la figure 7 montre un organigramme d'un sous- programme demandant à l'utilisateur de choisir des options de paramètres de configuration pour les accès du module de communication en série. La figure 1 représente un contrôleur programmable classique 10, comme par exemple un système de la série Allen-Bradley 1771, qui exécute des instructions de pro- gramme pour faire fonctionner une machine Le contrôleur 10 inclut une baie 11, dans laquelle un certain nombre de mo- dules fonctionnels 12, 13 et 15 sont logés et interconnec- tés par une carte mère à l'intérieur de la baie La baie Il comporte une alimentation en énergie qui applique une éner- gie électrique à chacun des modules fonctionnels Un module formant processeur 12 est prévu pour mémoriser et exécuter un programme de commande, défini par l'utilisateur, pour commander le fonctionnement de la machine A un autre en- droit dans la baie 11 sont disposés un certain nombre de modules d'entrée/sortie (I/O) 13, qui raccordent le module formant processeur 12 de manière à détecter un dispositif en fonctionnement dans la machine commandée. L'un des modules fonctionnels est un module de communication 15, qui échange les données entre des dispo- sitifs de détection et des dispositifs opérationnels, par l'intermédiaire d'une liaison de communication en série 16. On peut accoupler simultanément jusqu'à trois liaisons de communication de ce type à un triplet d'accès 14 a-c dans le module de communication en série 15 Comme cela est repré- senté sur la figure 1, différents types de dispositifs I/0 17, comme par exemple un émetteur-récepteur d'étiquettes à haute fréquence, sont accouplés à la liaison de communica- tion 16 pour échanger des données avec *le contrôleur pro- grammable 10 Une liaison de communication en série abou- tissant à un autre contrôleur programmable ou à un ordina- teur central (non représenté) est raccordée à l'accès d'en- trée/sortie 14 c Le module de communication 15 inclut éga- lement un accès de configuration 19, auquel un terminal de programmation 18 est raccordé pour agencer le module de ma- nière qu'il exécute des tâches spécifiques. Une caractéristique du module de communi- cation en série 15 est un couple de cartouches amovibles 20 a et 20 b de protocoles de communication, enfichées dans des prises dans le panneau avant du module Deux programmés- différents de protocoles de communication pour trois accès I/O 14 a-c de la machine sont mémorisés dans chaque car- touche de protocoles Le module peut être agencé différem- ment pour un ensemble différent de protocoles de communica- tion, moyennant un simple changement des cartouches de pro- tocoles Etant donné que les prises sont situées sur le panneau avant dégagé, les cartouches de protocoles peuvent être remplacées sans démontage du module ou sans son re- trait de la baie. La figure 2 représente les composants du module de communication en série 15 Ce module est constitué au- tour d'un bus de transmission de données en parallèle 21, d'un bus de transmission d'adresses en parallèle 22 et d'un ensemble de lignes de commande formant un bus de commande 23, tous ces bus s'étendant entre les composants du module. A ces bus 21-23 est accouplé un contrôleur 24 du module, qui commande le fonctionnement d'ensemble du module et l'échange de données entre les accès I/0 14 a-c et le plan arrière de la baie 11 Le contrôleur 24 du module peut être un microcontrôleur modèle 80 C 188-10 fabriqué par Intel Corp, qui comprend une mémoire interne, des horloges, des compteurs, un générateur d'impulsions d'horloge du système et un contrôleur de bus du système, dans un module de cir- cuit intégré Le contrôleur 24 du module reçoit les signaux de cadencement à partir d'une horloge 25. Une mémoire morte (ROM) 26 mémorise un programme destiné à être exécuté par le contrôleur 24 du module, et une mémoire morte programmable effaçable électriquement (EEPROM) 27 mémorise des données de configuration envoyées au module 15 par l'intermédiaire du terminal de programma- tion 18 Sinon, ces données de configuration peuvent être reçues par le module de communication 15 par l'intermédiaire du plan arrière de la baie, à partir du mo- dule formant processeur 13 ou d'un ordinateur central ac- couplé au contrôleur programmable 10 Une mémoire à accès direct (RAM) 28 du module fournit des emplacements de mé- moire, dans lesquels le contrôleur 24 du module conserve différentes variables et des résultats intermédiaires de traitement, qui sont utilisés pour exécuter sa fonction de commande D'autres emplacements de mémoire dans la mémoire RAM 28 du module sont affectés à la mémorisation de données d'autres composants du module, comme cela va être décrit. Comme cela est indiqué précédemment, le terminal de programmation 18 est raccordé à un accès de configura- tion -19 du module de communication 15 de manière à envoyer des données de configuration définissant le fonctionnement du module Le contrôleur 24 du module contrôle l'échange des données par l'intermédiaire de l'accès de configuration en utilisant un protocole de communication, qui est pro- grammé à demeure dans le module et n'est pas modifiable par l'utilisateur Pour réaliser l'échange de données, l'accès de configuration 19 est accouplé par un circuit d'attaque 29 à un émetteur/récepteur asynchrone universel (UART) 30. L'émetteur/récepteur UART est un dispositif classique qui convertit les données en série, échangées entre le module et le terminal de programmation 18, en le format parallèle du bus de données 21 et des composants internes du module. Le dispositif UART 30 reçoit une information de cadencement à partir d'une horloge d'accès 31. Le circuit du module pour chaque accès I/O en sé- rie 14 a-c comprend un microprocesseur d'accès séparé 34 a-c, comme par exemple un dispositif 80 C 32 fabriqué par Siemens. Ce type de microprocesseur comprend une mémoire à accès di- rect interne, un dispositif TJART, des minuteries et des ac- cès I/0 parallèles Le dispositif UART interne de chaque microprocesseur d'accès I/O 34 a-b est accouplé à un connec- teur d'accès situé sur le panneau avant du module 15, res- pectivement par un circuit d'attaque 36 a-c Les circuits d'attaque relient les niveaux des signaux électriques in- ternes du module à ceux qui correspondent à plusieurs stan- dards de communication en série, comme par exemple RS-232, RS-422 et RS-485. Le circuit d'accès I/O comprend également une mé- moire à accès direct (RAM) 32 a-c partagée, qui accouple le microprocesseur d'accès I/O 34 a-c aux données des modules et aux bus de transmission d'adresses 21 et 22 Chacune des mémoires à accès direct partagées 32 a-b reçoit un signal de cadencement en provenance de l'horloge d'accès 31, et des signaux de commande en provenance d'un contrôleur 40 de la mémoire RAM partagée, qui est accouplé au contrôleur 24 du module par l'intermédiaire du bus de commande 23 et aux mi- croprocesseurs d'accès I/O 34 a-c Sinon, on peut utiliser des mémoires RAM à double accès à la place du circuit de mémoire RAM partagé. Les détails concernant l'une des mémoires RAM d'accès partagées 32 a-c sont représentés sur la figure 3. La mémoire RAM partagée inclut deux dispositifs de mémoire séparés, désignés comme étant la mémoire RAM de programmes 41 et la mémoire RAM de messages 42 La mémoire RAM de pro- grammes 41 mémorise le programme destiné au microprocesseur d'accès I/0 associé 34 a-c, ce programme contrôlant la com- munication par l'intermédiaire de l'accès et définissant en soi le protocole de communication pour cet accès Ci-après, on désignera ces programmes comme étant des programmes de protocoles La mémoire RAM de messages 42 fournit des em- placements de mémoire pour les données transmises par l'intermédiaire de l'accès I/O en série correspondant Les deux mémoires RAM 41 et 42 sont accouplées à un bus interne 43 de transmission d'adresses de la mémoire RAMI et à un bus 44 de transmission de données de la mémoire RAM Un premier ensemble de tampons d'adresses 46 accouple les lignes du bus 43 de transmission d'adresses de la mémoire RAM au bus 22 de transmission d'adresses du module, un premier en- semble de tampons de données 48 accouple la ligne du bus 44 de transmission de données de la mémoire RAM au bus 21 de? transmission de données du module De façon similaire, un second ensemble de tampons d'adresses 50 accouple le bus 43 de transmission d'adresses de la mémoire RAM aux lignes de transmission d'adresses partant du microprocesseur d'accès associé 34 a-c, et un second ensemble de tampons de données 52 accouple les lignes de transmission de données du micro- processeur d'accès associé au bus 44 de transmission de données de la mémoire RAM Les ensembles des tampons d'adresses et de données 46-52 reçoivent des signaux sépa- rés de commande de validation en provenance du dispositif de commande 40 de la mémoire RAM partagée. Comme cela a été décrit précédemment, deux car- touches séparées de protocoles 20 a et 20 b peuvent être en- fichées dans le module de communication en série 15 pour programmer les trois accès I/O avec un protocole spécifique de communication, comme par exemple l'un quelconque des. différents protocoles standardisés Comme cela est repré- senté sur la figure 2, chaque cartouche de protocole 20 a et 20 b comporte deux mémoires mortes (désignées ci-après sous il le terme de mémoires ROM Ai et A 2 ou Bl et B 2) dans chacune desquelles est mémorisé un programme séparé destiné à être exécuté par un microprocesseur d'accès pour mettre en oeuvre une communication en série conformément à un proto- cole différent Chaque mémoire ROM Ai, A 2, Bl, B 2 placée dans une cartouche est accouplée aux bus 21 et 22 de trans- mission de données et d'adresses des modules et reçoit des signaux en provenance du bus de commande 23 Les mémoires ROM situées dans la cartouche de protocoles 20 a et 20 b peu- vent être des mémoires mortes programmables, dans les- quelles le fabricant des modules de communication ou l'utilisateur a mémorisé les programmes de protocoles en utilisant des techniques et un appareillage classiques de programmation De tels programmes sont semblables aux pro- grammes utilisés par les dispositifs antérieurement dispo- nibles, qui étaient basés sur des microprocesseurs et com- mandaient la communication en série de données par l'intermédiaire d'un réseau Comme cela sera décrit, l'un des programmes de protocoles est exécuté par chaque micro- processeur d'accès actif 34 a-c. Le module de communication en série 15 occupe deux fentes de logement dans la baie 11 et est accouplé aux connecteurs du plan arrière de la baie pour chacun des deux logements Les circuits d'interface 54 et 56 du plan ar- rière sont raccordés aux bus 21-23 des modules de manière à permettre l'échange de données entre le module 15 et d'autres modules de la baie Il du contrôleur programmable. * Les circuits d'interface 54 et 56 du plan arrière reçoivent des signaux de cadencement à partir d'une horloge 58 du plan arrière Les circuits d'interface 54 et 56 du plan ar- rière libèrent le contrôleur 28 du module de nombreuses fonctions associées à la communication avec le module for- mant processeur 12 du contrôleur programmable ou avec -d'autres modules 14 par l'intermédiaire du plan arrière 11 de la baie Les circuits d'interface 54 et 56 du plan ar- rière permettent de transférer à la fois des octets dis- crets et des blocs de données discrets On peut utiliser n'importe lequel parmi plusieurs tircuits bien connus d'interfaces du plan arrière, comme par exemple celui dé- crit dans la demande de brevet US N O de série 07/249415 dé- posé le 23 Septembre 1988. Dans la description précédente du circuit pour le module de communication en série 15, on voit que ce module utilise plusieurs dispositifs de mémoire différents Cer- tains de ces dispositifs, comme par exemple la mémoire ROM 26, la mémoire EEPROM 27 et la mémoire RAM 28 du module, sont accessibles uniquement au moyen du contrôleur 24 du module, tandis que les mémoires RAM partagées 32 a-c sont accessibles soit par le contrôleur 24 du module, soit par le microprocesseur d'accès I/O associé 34 a-c. La figure 4 représente une configuration de mémoire de t Qus -les dispositifs de mémoire situés dans le module de communication en série 15 Un groupe d'adresses 61 est af- fecté aux emplacements de mémoire situés dans la mémoire ROM 26 et qui contiennent le programme qui est exécuté par le Giontrôleur 24 du module Un autre groupe d'adresses 62 est affecté aux emplacements dé mémoire présents dans la mémoire RAM 28 du module, qui est subdivisée en sections pour conserver des données pour différents composants du module de communication en série 15 Par exemple, une sec- tion-est utilisée pour mémoriser des constantes, des va- riables, des résultats de traitement intermédiaires et d'autres données pour le contrôleur 24 du module, tandis. que d'autres sections agissent en tant que tampons pour des données aboutissant aux et provenant des interfaces 54 et 56 du plan arrière Des sections additionnelles peuvent être prévues en tant que tampons pour des données aboutis- sant aux et provenant des mémoires RAM partagées 32 a-c, dans le cas o la demande que le contrôleur 24 du module attende un accès direct aux mémoires RAM, affecte de façon nuisible le traitement Dans ce cas, on peut utiliser une tâche d'arrière-plan pour transférer les données entre la mémoire ROM appropriée partagée 32 a-c et la mémoire RAM 28 du système D'autres blocs d'adresses 63-66 ont été affec- tés aux mémoires ROM AI, A 2, Bl et B 2 dans les cartouches de protocoles 20 a et 20 b. Les accès aux mémoires RAM partagées 32 a-c sont réalisés au moyen du microprocesseur d'accès I/O associé 34 a-c et au moyen du contrôleur 24 du module Cependant, ce dernier dispositif e seulement besoin d'accéder à la mé- moire de programmes 41 située dans les mémoires RAM parta- gées, pendant la configuration des accès I/O C'est pour- quoi, pour conserver l'espace adresses, on peut affecter aux deux composants de la mémoire RAM partagée (mémoire RAM de programmes 41 et mémoire RAM de messages 42) pour chaque accès, le même bloc d'adresses 67-69, comme cela est repré- senté sur la figure 4 Pour sélectionner soit la mémoire RAM de programmes 41, soit la mémoire RAM de message 42, un signal présent dans l'une des lignes de commande 60 prove- nant du contrôleur 40 de la mémoire RAM partagée est appli- que. Un groupe final d'adresses 70 est affecté à la mémoire EEPROM 27 pour mémoriser des données de configura- tion du système Ces données définissent des paramètres du module, comme par exemple la mémoire ROM, dans laquelle la cartouche de protocoles contient le programme de protocole pour chaque accès I/A A, B et C, et des paramètres spéci- fiques de l'accès, comme par exemple la vitesse en bauds, la longueur de caractères en série, etc En outre, les don- nées de configuration sont mémorisées dans la mémoire EE- PROM pour deux interfaces 54 et 56 du plan arrière Un en- semble complet de paramètres de défauts est mémorisé dans la mémoire EEPROM par le fabricant Cependant, si ces para- mètres de défauts ne sont pas acceptables pour l'applica- tion de l'utilisateur (et ne le seront probablement pas), l'utilisateur peut modifier les paramètres au moyen du ter- minal 18 raccordé à l'accès de configuration 19. Le terminal présente à l'utilisateur un menu de fonctions, parmi lesquelles on peut effectuer un choix. Pour redéfinir les protocoles pour un accès I/O, l'utilisa- teur choisit initialement la fonction permettant de définir les paramètres de base du module et d'identifier la mémoire ROM Ai, A 2, Bl, B 2 de la cartouche deprotocole, qui contient le programme pour l'accès 14 a-c, qui fait l'objet de la configuration. Lorsque l'utilisateur sort la fonction de confi- guration de base du module, le contrôleur 24 du module transfère le contenu de la mémoire ROM désignée de la car- touche de protocoles dans d'autres dispositifs de mémoire dans le module de communication 15 Chaque mémoire ROM Ai, A 2, Bl, B 2 de la cartouche de protocole est subdivisée en sections permettant de mémoriser différents types de don- nées comme cela est représenté sur la figure 5 Une partie d'une certaine taille 71 de chaque mémoire RAM de car- touches de protocoles contient le code de programmes pour son exécution par le microprocesseur d'accès I/O associé 34 a-c Un autre bloc d'emplacements de mémoire 72 mémorise les données d'initialisation pour le programme d'accès, tandis que des messages d'états, que le programme d'accès affiche dans le terminal 18 sont mémorisés dans une autre section 73 La section finale de la mémoire ROM de la car- touche de protocoles mémorise des demandes, qui sont utili- sées pour interroger l'utilisateur du module pendant la configuration des paramètres d'accès, comme cela-va être expliqué. Lors du transfert du contenu des cartouches de protocoles 20 a et 20 b, le contrôleur 24 du module lit des blocs de données à partir de la mémoire ROM de la cartouche désignée, pour l'accès I/O, moyennant un adressage séquen- tiel des emplacements de mémoire de la cartouche de proto- cole, par l'intermédiaire du bus de transmission d'adresses 22, afin de lire les données par l'intermédiaire du bus 21. Après la lecture d'un bloc de données, le contrôleur du mo- dule demande au contrôleur 40 de la mémoire RAM partagée l'accès à la mémoire RAM partagée 32 a-c de l'accès appro- prié Lorsque l'accès est autorisé, le code de programme, les données d'initialisation et des messages de programmes délivrés par la mémoire RAM de la cartouche de protocole sont mémorisés dans la mémoire RAM de programmes 41 de la mémoire RAM partagée Les demandes de configuration dans la section 74 de la mémoire RAM de la cartouche de protocoles sont transférées dans une zone de la mémoire RAM 28 du mo- dule, affectée à ces données Le même type de transfert de données depuis les cartouches de protocoles 20 a et 20 b à chaque mémoire RAM partagée d'accès 32 a-32 c produit automa- tiquement lors de la mise en tension du contrôleur program- mable 10. Après le transfert des données de la cartouche de protocoles, l'utilisateur peut modifier les paramètres de configuration de l'accès I/O particulier Etant donné que chaque programme de protocole de communication en série, mémorisé dans les cartouches 20 a et 20 b, peut posséder un groupe différent de paramètres et d'options variables de l'utilisateur, les demandes de configuration devant être affichées sur le terminal sont uniques pour ce protocole et sont-mémorisées dans les cartouches 20 a et 20 b avec le pro- gramme de protocoles de communication Comme on l'a noté, ces demandes sont maintenant mémorisées dans la mémoire RAM 28 du module Lorsque l'utilisateur choisit de modifier des paramètres d'une configuration donnée d'accès I/O, les de- mandes pour cet accès sont affichées séquentiellement sur le terminal 18 On peut utiliser plusieurs demandes pour définir un paramètre donné Par exemple, pour définir la vitesse en bauds de l'accès I/O en série, on utilise une série de demandes, dont chacune représente l'une des vi- tesses acceptables (par exemple 300, 1200, 2400, etc) pour l'utilisateur L'utilisateur est incité à répondre oui ou non selon que le choix-affiché par une demande donnée est acceptable ou non Le sous-programme de configuration exé- cute une commande cyclique passant par la totalité des de- mandes pour un paramètre donné, jusqu'à ce que l'utilisa- teur introduise une réponse affirmative pour l'une des demandes Le sous-programme avance alors à la première de- mande pour le paramètre suivant dans la séquence. La structure du bloc de données 80 pour une de- mande mémorisée dans la mémoire RAI 28 du module est repré- sentée sur la figure 6 Les demandes mémorisées sont numé- rotées de façon successive et le premier mot du bloc de données possède un octet 80 qui contient ce numéro L'autre octet 82 du premier mot indique le numéro du paramètre, au- quel se rapporte la demande Comme cela sera décrit, les numéros de la demande et du paramètre sont utilisés pour avoir un accès séquentiel aux demandes Le second mot pré- sent dans le bloc de données de demandes 80 contient un oc- tet 83 qui identifie le numéro de l'option particulière pour cette demande Par exemple, si le paramètre est le nombre de bits d'arrêt et si les options sont 1, 1, 5 et 2, la demande pour 2 bits d'arrêt est l'option numéro trois. L'autre octet 84 du second mot désigne le type de données, qui est introduit et est mémorisé en réponse à cette de-" mandé Par exemple, le paramètre n'est pas réalisé sous la forme de données de type de bits, dans lesquelles des com- binaisons d'un ou de plusieurs bits représentent les diffé- rents choix d'options possibles, ou le paramètre peut être un octet ou un mot de données, qui mémorise une valeur nu- mérique de paramètres, introduite par l'utilisateur. Le troisième mot 85 de la demande de configura- tion contient un décalage jusqu'à l'entrée dans la table de données de configuration d'accès dans la mémoire EEPROM 27, qui doit contenir la réponse à la demande La zone suivante 86 mémorise un mot comportant des "UNS" dans des positions binaires qui correspondent à des positions binaires utili- sées pour coder le paramètre dans le mot de la table de données Ce mot 86 du bloc de données de demandes 80 est utilisé en tant que masque pour sélectionner uniquement les bits de la zone 86, qui sont utilisés par le présent para- mètre Par exemple, le choix d'une parmi huit cadences en bauds est indiqué par trois bits, et le masque est utilisé pour s'assurer que seuls les trois bits corrects d'une en- trée dans la table de données sont modifiés Si le para- mètre est représenté par des données du type formé de bits, la cinquième entrée de blocs de données 87 (désignée par "mot option") contient le profil binaire approprié pour mo- difier le mot de la table de données de configuration d'accès pour indiquer l'option choisie du paramètre Les bits du mot d'option, qui ne sont pas utilisés pour coder les paramètres, sont formés de zéros. Si l'utilisateur est sur le point d'introduire une valeur numérique pour le paramètre, des valeurs maxi- male et minimale admissibles pour une introduction sont mé- morisées dans des entrées 88 et 89 du bloc de données de demandes 80 La section finale 90 du bloc de données 80 contient un texte qui est affiché sur le terminal pour la demande. Le fichier 74 de demandes est utilisé par le sous-programme logiciel de configuration d'accès pour de- mander à l'utilisateur de choisir des options pour les pa- ramètres de communication en série Le sous-programme de. configuration d'accès est représenté par l'organigramme de la figure 7 Le procédé commence lors du pas 100, lors du- quel le contrôleur 24 du module reçoit le texte pour la première demande à partir de la mémoire RAM 28 du module et envoie les données du texte au moyen de l'accès de configu- ration 19 au terminal 18 Une fois que le texte de la de- mande est affiché sur le terminal, l'exécution du programme attend, lors du pas 102, un signal provenant du dispositif UART 30 et indiquant que l'utilisateur a introduit une ré- ponse par l'intermédiaire du clavier du terminal. Lorsqu'une réponse apparaît, le contrôleur 24 du module re- çoit la réponse provenant du dispositif UART 30 et examine la zone de types de données d'entrée du bloc de données de demandes 80, lors du pas 104 Si le paramètre est mémorisé sous la forme de données de types de bits, l'exécution du programme passe au pas 106. Alors, le numéro de l'option dans la zone 83 du bloc de données pour la première demande est contrôlé pour déterminer si plus d'une option existe pour la demande Le numéro de l'option est nul si une seule demande est utili- sée pour définir le paramètre actuel Par exemple, si le paramètre comporte seulement deux valeurs possibles -(par exemple valable ou non valable), une seule demande peut être utilisée pour réaliser le choix du paramètre Dans ce cas, l'exécution du programme passe au pas 108. A cet instant, étant donné que la réponse de l'utilisateur à la demande est soit oui, soit non, le contrôleur 24 du module détermine si une réponse affirma- tive a été reçue S'il en est ainsi, les zones 85 et 86 du décalage dans la table de données de configuration d'accès et du masque de bits, dans le bloc de données de demande (figure 6) sont utilisées lors du pas 110 pour régler le bit pour ce paramètre De façon similaire, si une réponse négative a été envoyée par l'utilisateur, ces entrées du bloc -de données de demande sont utilisées pour ramener à zéro le bit lors du pas 112 L'octet ou le mot de données modifié, est alors mémorisé dans la table des données de configuration d'accès dans la mémoire EEPROM 27. Une fois que le choix du paramètre a été enregis- tré, le contrôleur 24 du module incrémente le contenu d'un emplacement de mémoire situé dans la mémoire RAM 28 du mo- dule, mémorise une valeur comptée des paramètres lors du pas 114 Cette valeur de comptage indique le paramètre ac- tuel, qui est défini Un autre emplacement de mémoire dans la mémoire RAM 28 du module est également incrémenté lors du pas 107 pour indiquer le numéro de la demande suivante. La valeur de comptage de la nouvelle demande est examinée lors du pas 117 pour déterminer si la dernière demande a été traitée, ce qui indique l'achèvement de la tâche de configuration d'accès Si des demandes additionnelles sub- sistent, l'exécution du programme revient au pas 100 pour l'affichage du texte pour la demande suivante. Si, lors du pas 106, il a été établi que le nu- méro de l'option n'était pas égal à zéro, ce qui indique que des demandes multiples existent pour le paramètre ac- tuel en cours de définition, l'exécution de programmes passe au pas 120 Par exemple, le paramètre est une vitesse en bauds, une demande séparée est envoyée pour chacune des vitesses en bauds admissibles (par exemple 300, 1200, 2400, 4800, etc) Lors de ce pas, le contrôleur 24 du module éva- lue si l'entrée faite par l'utilisateur fournit une réponse affirmative à la présente demande Si une réponse affirma- tive a été introduite, le programme passe au pas 122, lors duquel l'option du paramètre choisi est enregistrée dans la table de données de configuration d'accès dans la mémoire EEPROM 27. Pour cela, le contrôleur 24 du module reçoit l'ancien contenu de l'emplacement de mémoire dans la table de données, désigné par le décalage de la table de données , et reçoit le masque de bits 86 à partir du bloc de don- nées de demande L'ancien contenu est combiné seloni la com- binaison logique ET au complément du masque de bits bi- naires Cette opération logique ramène à zéro les bits pour le paramètre, sans modifier les bits présents dans l'entrée de la table de données et qui sont utilisés pour d'autres paramètres Le résultat est alors combiné selon la combi- naison OU à la zone du mot d'option 87 du bloc de données de demandes 80 Comme indiqué précédemment, le mot d'option est constitué par un mot possédant un profil binaire ser- vant à coder la réponse faite à la demande, en la position appropriée dans le mot de la table de données de configura- tion Par exemple, si en réponse à la demande, le choix de l'option du paramètre doit être enregistré sous la forme " 101 " dans les quatrième, cinquième et sixième bits du mot de la table de données, le masque de bits serait " 0000000000111000 " et le mot d'option contiendrait le pro- fil binaire " 0000000000101000 " Le résultat final de ces opérations logiques est mémorisé par le contrôleur du mo- dule à l'emplacement de la mémoire EEPROM de la table de données de configuration, désigné par le décalage de la table de données 85 dans le bloc de données de demandes 80. Ensuite, lors des pas 124 et 126, le contrôleur 24 du module incrémente le numéro de la valeur de comptage du paramètre et la valeur de comptage de la demande La nouvelle valeur de comptage de la demande est utilisée lors du pas 128 pour déterminer si la tâche de configuration est terminée, auquel cas la tâche s'arrête S'il subsiste des demandes additionnelles, le numéro de paramètre 82 présent dans le bloc de données pour la demande immédiatement sui- vante est comparé à la valeur de comptage incrémentée du paramètre Si les deux numéros des paramètres sont diffé- rents, le programme continue à incrémenter la valeur de comptage de la demande et à tester le numéro du paramètre pour la nouvelle demande jusqu'à ce que la première demande pour le paramètre suivant soit trouvée Ce fonctionnement en boucle se produit dans le cas o l'utilisateur a choisi par exemple la première option d'un paramètre à options multiples Lorsqu'une demande pour un autre paramètre est trouvée, le numéro de cette demande est conservé en tant. que "première demande" lors du pas 132 L'exécution du pro- gramme revient au pas 100, lors duquel le texte pour la première demande du paramètre est affiché sur le terminal 18 et le paramètre suivant est défini. Lorsqu'une réponse négative à une demande est dé- tectée lors du pas 120, l'exécution du programme passe au pas 134 Dans ce cas, une autre demande pour le même para- mètre doit être présentée à l'utilisateur Pour cela, le contrôleur 24 du module incrémente la valeur de comptage de la demande lors du pas 134 et teste le numéro de paramètre 82 dans le bloc de données de la nouvelle demande (voir fi- gure 6) lors du pas 136 Si la nouvelle demande concerne le même paramètre, le programme passe au pas 100 pour afficher son texte Sinon, lorsque la demande suivante concerne un paramètre différent, la valeur de comptage de la demande est réglée sur la valeur mémorisée pour la "première de- mande" du paramètre actuel lors du pas 138 avant de revenir au pas 100 Par conséquent, la tâche de configuration d'accès se déroule cycliquement en passant par toutes les demandes pour un paramètre donné, jusqu'à ce qu'une réponse affirmative soit reçue pour l'une de ces demandes. Si une configuration de paramètre requiert que l'utilisateur introduise une valeur numérique pour la don- née du paramètre, il faut que l'octet ou le mot de données introduites soit mémorisé dans la table de données de configuration d'accès dans la mémoire EEPROM 27 Dans ce cas, le paramètre est défini par une seule demande et n'utilise aucune donnée de types de bits C'est pourquoi, une fois que ce type de demande a été affichée lors du pas et qu'une entrée de l'utilisateur a été reçue lors du pas 102, l'exécution du programme passe du pas 104 au pas Le contrôleur 24 du module compare l'entrée faite par l'utilisateur à la fois aux valeurs minimale et maximale admissibles mémorisées dans les zones 88 et 89 du bloc de données de demandes 80 Si l'entrée est inacceptable, le programme effectue une exécution en boucle jusqu'à ce qu'une réponse valable soit reçue. Lorsque la réponse se situe dans la gamme admis- sible des valeurs, le contrôleur 24 du module introduit la réponse dans la table de données de configuration d'accès dans la mémoire EEPROM 27, lors du pas 142 Ceci est réa- lisé tout d'abord au moyen d'une lecture du mot de données, qui contient le réglage actuel du paramètre à partir de la table de données de configuration d'accès située dans la mémoire EEPROM 27 Le décalage de la table de données 85 tiré du bloc de données de demande dans la mémoire ROM 28 du module autorise le contrôleur 24 du module à adresser le mot correct de la table de données Le masque de bits pour la demande est également tiré de la zone 86 du bloc de don- nées de demandes 80 Le contrôleur 24 du module réalise alors la combinaison logique ET des données de l'ancien pa- ramètre avec le complément du masque de bits pour ramener à zéro uniquement les bits concernant le présent paramètre. Ceci conduit à une version modifiée des anciennes données. Alors, les données d'entrée de l'utilisateur sont combinées selon la combinaison ET avec le masque de bits, et le ré- sultat est combiné selon la combinaison OU avec la version modifiée des anciennes données Ces opérations logiques in- troduisent la nouvelle valeur du paramètre dans l'entrée de la table de données de configuration d'accès Le contrôleur 24 du module utilise le décalage de la table de données présent dans la zone 85 pour accéder à la table de configu- ration de données d'accès située dans la mémoire EEPROM 27 et -mémorise les données révisées du paramètre à l'emplacement correct de la mémoire L'exécution du pro- gramme passe alors au pas 114, lors duquel les valeurs de. comptage du paramètre et de la demande sont incrémentées et testées pour l'obtention de la demande pour le paramètre immédiatement suivant. De cette manière, les demandes de configuration d'accès provenant de la cartouche de protocoles sont utili- sées pour choisir les paramètres requis par l'utilisation d'un protocole spécifique de communication pr un accès donné De façon similaire, lorsqu'un autre accès est en cours de définition, l'ensemble unique de demandes prove- nant de la mémoire ROM de la cartouche, qui contenait son programme de protocole, sont utilisées pour demander à l'utilisateur de choisir un paramètre. REVENDICATIONS 1 Module d'interface permettant d'accoupler une liaison de communication en série ( 16) à un contrôleur pro- grammable ( 10), dans lequel des données sont transmises par l'intermédiaire de la liaison moyennant l'utilisation d'un protocole défini de communication, caractérisé en ce que ledit module ( 15) comprend: des moyens formant processeur ( 34 a-c) pour exécu- ter un programme qui commande le transfert de données entre le module ( 10) et la liaison ( 16), conformément au proto- cole-de communication; des premiers moyens de mémoire ( 26) pour mémori- ser le programme et des données pour les moyens formant processeur ( 34 ac); une cartouche de mémoire ( 20 a,20 b) qui est amo- vible sans nécessiter son démontage du module d'interface; ladite cartouche de mémoire mémorisant, pour lesdits moyens formant processeur ( 12), un programme définissant le proto- cole de communication; des moyens ( 21) pour interconnecter électrique- ment lesdits moyens formant processeur ( 34 a-c), lesdits premiers moyens de mémoire et ladite cartouche de mémoire ( 20 a,20 b); et des moyens pour transférer le contenu de ladite cartouche de mémoire ( 20 a,20 b) dans lesdits premiers moyens de mémoire. 2 Module d'interface selon la revendication 1, dans lequel ladite cartouche de mémoire ( 20 a,20 b) mémorise également des données définissant des demandes de Vant être -présentées à un utilisateur du contrôleur programmable ( 10) pour choisir des paramètres du protocole de communication. 3 Module d'interface selon la revendication 2, caractérisé en ce que les données définissant des demandes comprennent un numéro d'identification de demande, un nu- méro de paramètre, un pointeur d'une table de données, des valeurs maximale et minimale admissibles pour le paramètre, et le texte de la demande. 4 Module d'interface selon la revendication 2, caractérisé en ce que les données définissant des demandes comprennent un numéro d'identification de demande, un nu- méro de paramètre, un pointeur d'une table de données, un masque de bits pour une entrée dans la table de données, des données codant le paramètre et le texte de la demande. Module d'interface selon la revendication 2, caractérisé en ce qu'il comporte en outre: des moyens ( 30) pour présenter des demandes à l'utilisateur, moyennant l'utilisation des données définis- sant des demandes; des moyens ( 30) pour recevoir, de la part de l'utilisateur, des réponses aux demandes; et des seconds moyens de mémoire ( 27) pour mémoriser une table de données contenant les données indicatives des réponses reçues de la part de l'utilisateur. 6 Module d'interface selon la revendication 5, caractérisé en ce que les données définissant des demandes comprennent un numéro d'identification de demande, un nu- méro de paramètre, un pointeur d'une table de données, et le texte de la demande, et en ce que lesdits moyens de pré- sentation de demandes présentent de façon répétitive les demandes pour un paramètre donné à l'utilisateur jusqu'à la réception d'une réponse affirmative à l'une des demandes, avant de présenter une demande pour un autre paramètre. 7 Module d'interface selon la revendication 2, caractérisé en ce que les données définissant des demandes incluent un pointeur d'une table de données, un masque de bits et des données codant le paramètre, et que le module comprend en outre: des moyens 124) sensibles à une réponse de la part de l'utilisateur, pour réaliser la combinaison OU logique de données antérieurement mémorisées dans lesdits seconds moyens de mémoire ( 27) à l'emplacement indiqué par le poin- teur de la table de données, avec des données obtenues à partir du masque de bits, puis pour réaliser la combinaison ET logique du résultat de la combinaison OU logique avec les données codant le paramètre; et des Tmyens ( 24) pour charger le résultat des opéra- tions logiques dans lesdits seconds moyens de mémoire ( 27), à l'emplacement par le pointeur de la table de don- nées. 8 Module d'interface ( 15) servant à interconnec- ter plusieurs liaisons de communication en série ( 16) pour l'échange de données entre les liaisons, caracté- risé en ce que ledit module comprend: plusieurs circuits d'accès, dont chacun accouple l'une des liaisons de communication au module d'interface ( 15) et comprend: a) des moyens formant processeur ( 34 a-c) pour exécuter un programme de communication qui commande l'émis- sion et/ou la réception de données par l'intermédiaire d'une liaison de communication conformément à un protocole donné; 1 b) des premiers moyens de mémoire pour mémoriser le programme de communication, c) des moyens ( 36 a-c) pour accoupler la liaison de communication ( 16) auxdits moyens formant processeur ( 34 a-c), et d) des moyens ( 21) pour interconnecter lesdits moyens formant processeur ( 34 a-c), lesdits premiers moyens de mémoire et lesdits moyens de couplage ( 36 a-c); des moyens formant cartouches de mémoire amo- vibles ( 20 a,20 b),qui contiennent plusieurs pro- grammes de communication pour lesdits moyens formant pro- cesseur; des moyens ( 27) pour mémoriser des données de configuration définissant celui des différents programmes de communication, situés dans les moyens formant cartouche de mémoire ( 20 a,20 b), qui doit être mémorisé dans lesdits premiers moyens de mémoire de chaque circuit d'accès; et des moyens pour transférer un programme de commu- nication depuis ladite cartouche de mémoire ( 20 a,20 b) dans lesdits premiers moyens de mémoire ( 26) de chaque circuit d'accès, en réponse aux données de configuration. 9 Module d'interface selon la revendication 8, destiné à être utilisé dans un contrôleur programmable ( 10) comportant un module formant processeur ( 13) et un certain nombre de modules fonctionnels situés dans une baie qui raccorde électriquement les modules, caractérisé en ce que ledit module d'interface comprend en outre des moyens pour raccorder les circuits d'accès à la baie pour le transfert de données entre le module formant processeur et les cir- cuits d'accès. Module d'interface selon la revendication 8, caractérisé en ce que lesdits moyens formant cartouche de mémoire ( 20 a,20 b) comprennent également des données défi- nissant des demandes devant être présentées à un utilisa- teur du module pour définir des paramètres pour le fonc- tionnement de chaque circuit d'accès. 11 Module d'interface selon la revendication 10, caractérisé en ce qu'il comporte en outre: des moyens ( 30) pour présenter des demandes à l'utilisateur, moyennant l'utilisation des données définis- sant des demandes; des moyens ( 30) pour recevoir, de la part de. l'utilisateur, des réponses aux demandes; et des seconds moyens de mémoire pour mémoriser des données indicatives des réponses reçues en provenance de l'utilisateur. 12 Module d'interface selon la revendication 11, caractérisé en ce que les données définissant des demandes comprennent un numéro d'identification de demande, un nu- méro de paramètre, un pointeur d'une table de données, et le texte de la demande, et en ce que lesdits moyens de pré- sentation des demandes présentent les demandes de façon ré- pétitive des demandes pour un paramètre donné à l'utilisa- teur jusqu'à la réception d'une réponse affirmative à l'une des demandes, avant de présenter une demande pour un autre paramètre. 13 Module d'interface selon la revendication 11, caractérisé en ce que les données définissant des demandes incluent un pointeur d'une table de données, un masque de bits et des données codant le paramètre, et que le module comprend en outre: des moyens ( 24)sensibles à une réponse de la part de l'utilisateur, pour réaliser la combinaison OU logique de données antérieurement mémorisées dans lesdits seconds moyens de mémoire ( 27) à l'emplacement indiqué par le poin- teur de la table des données, avec des données obtenues à partir du masque de bits, puis pour réaliser la combinaison ET logique du résultat de la combinaison OU logique avec les données codant le paramètre; et des moyens ( 24) pour charger le résultat des opéra- tions logiques dans lesdits seconds moyens de mémoire ( 27), à l'emplacement indiqué par le pointeur de la table de don- nées. 14 Module d'interface selon la revendication 10, caractérisé en ce que les données définissant des demandes incluent un numéro d'identification de demande, un numéro de paramètre, un pointeur d'une table de données, un masque de bits pour une entrée de la table de données, des données codant le paramètre, des valeurs maximale et minimale ad- missibles pour le paramètre et le texte de la demande. Contrôleur programmable comportant un module formant processeur ( 12) et un certain nombre de modules fonctionnels situés dans une baie ( 11) et interconnectés électriquement par un plan arrière de la baie, un module de communication en série ( 15) pour raccorder le contrôleur programmable ( 10) à plusieurs liaisons de communica- tion en série ( 16), caractérisé en ce que ledit module de communication en série ( 15) comprend: un circuit d'accès séparé pour accoupler l'une des différentes liaisons de communication au module de com- munication, chaque circuit d'accès incluant: a) des moyens formant processeur d'accès ( 34 a-c) pour exécuter un programme de communication qui commande l'émission et/ou La réception de données par l'intermédiai- re dé la liaison de communication conformément à un proto- cole donné, b) des premiers moyens de mémoire pour mémoriser le programme de communication, c) des moyens de couplage ( 36 a-c) de la liaison de communication auxdits moyens formant processeur d'accès; et d) des moyens ( 21) pour interconnecter lesdits moyens formant processeur, lesdits premiers moyens de mé- moire et lesdits moyens de couplage; des moyens formant cartouches de mémoire amo- vibles ( 20 a,20 b), qui contiennent une pluralité de pro- grammes de communication pouvant être exécutés par lesdits moyens formant processeur d'accès; des moyens pour transférer un programme de commu- nication depuis lesdits moyens formant cartouches de mé- moire ( 20 a,20 b) dans lesdits premiers moyens d'un circuit d'accès donné en réponse aux données de configuration; des moyens pour coupler le module de communica- -tion en série ( 15) au plan arrière de la baie ( 11); et des moyens formant processeur ( 12) du module pour commander le transfert de données entre lesdits circuits d'accès et ledit plan arrière de la baie. 16 Module de communication en série selon la re- vendication 15, caractérisé en ce que lesdits moyens for- mant cartouches de mémoire ( 20 a,20 b) contiennent également des données définissant la demande devant être présentée à un utilisateur du contrôleur programmable ( 10) de manière à définir le fonctionnement d'un circuit d'accès pour le pro- tocole donné. 17 Module de communication en série selon la re- vendication 16, caractérisé en ce qu'il comporte en outre: des moyens ( 30) pour présenter des demandes à l'utilisateur moyennant l'utilisation des données définis- sant des demandes; des moyens ( 30) pour recevoir, de la part de l'utilisateur, des réponses aux demandes; et des troisièmes moyens de mémoire ( 28) pour mémo- riser des données indicatives des réponses reçues en prove- nance de l'utilisateur. 18 Module de communication en série selon la re- vendication 15, caractérisé en ce que lesdits moyens for- mant processeur du module exécutent un programme pour com- mander le transfert des données, et ledit module de communication en série ( 15) com- prend en outre des seconds moyens de mémoire ( 26) pour mé- moriser le programme desdits moyens formant processeur du module.