FR 2613513 A1 19881007 FR 8704577 A 19870401 -- 1 -- L'invention est relative à l'exploitation d'une machine à affran- chir électronique comportant des compteurs auxiliaires et notamment un grand nombre de compteurs auxiliaires. Généralement une machine à affranchir est équipée d'un compteur qui cumule la valeur totale des affranchissements réalisés depuis la mise en service de la machine, et de quelques compteurs supplémentaires pour aider l'usager à mieux gérer ses dépenses d'affranchissements, par exemple pour répartir les dites dépenses d'affranchissements entre plu- sieurs postes budgétaires. Ces compteurs supplémentaires, mis à la disposition de l'usager, permettent de cumuler, dans une période de temps donnée, le nombre et/ou la valeur totale des affranchissements réalisés. Pour gérer ces compteurs supplémentaires il faut que l'usager puisse, pour chaque compteur pris individuellement, le nommer, le mettre en marche, à l'arrêt, à zéro, et le visualiser. Ceci est effectué par le clavier de la machine à affranchir, en équipant celui-ci de touches supplémentaires ou en autorisant l'action simultanée sur deux ou trois touches du clavier; cette manière d'opérer n'est envisageable que pour un très petit nombre de compteurs supplémen- taires deux ou trois par exemple. Pour un plus grand nombre de compteurs supplémentaires il faut soit multiplier le nombre de touches supplémen- taires, soit généraliser la technique des doubles ou triples appuis, mais dans ce cas un lexique accompagnant la machine devient nécessaire et l'usager doit s'y reporter chaque fois qu'il désire sélectionner l'un des compteurs supplémentaires. Si l'on désire pouvoir arrêter, mettre à zéro, ou demander indivi- duellement chaque compteur supplémentaire, il faut prévoir des touches supplémentaires, de sorte que le clavier devient d'un usage lourd, mal commode, déroutant pour l'usager, et nécessitant pour celui-ci un certain temps de formation. La demande de brevet français 87 02 667 Système d'exploitation d'une machine à affranchir électronique, déposée le 28 février 1987, décrit une machine à affranchir équipée de plusieur compteurs auxiliaires, par exemple une vingtaine, et d'un clavier comportant une touche menu, en plus des touches numériques. Une telle machine permet -2- d'une part la réalisation des opérations normales d'affranchissement et d'autre part la réalisation d'opérations particulières à partir de la touche menu, en particulier la sélection d'un compteur auxiliaire et sa mise en marche, à l'arrêt, ou sa remise à zéro. Chaque compteur auxiliaire est un compteur double, c'est-à-dire qu'il comporte un compteur d'espèces qui totalise les valeurs des affranchissements réalisés pendant une période de temps donné, et un compteur de plis totalisant le nombre d'enveloppes ou d'étiquettes affranchies pendant ladite période de temps. Chaque compteur auxiliaire est désigné par un numéro qui correspond à la place occupée par ce compteur dans un espace mémoire réservé, dans une mémoire, par exemple une mémoire de travail, à l'ensemble des compteurs auxiliaires, ladite mémoire étant secourue par une pile. L'usager doit donc soit mémoriser la signification de chaque compteur, soit tenir à jour une liste d'identification afin d'identifier chaque numéro de compteur. Pour quelques compteurs l'usager peut mémoriser la signalisation de chaque compteur, mais même pour une vingtaine de compteurs il aura le plus souvant recours à une liste d'identification, et une telle liste devient pratiquement nécessaire lorsque le nombre de compteurs dépasse une vingtaine et atteint quelques dizaines. La consultation d'une telle liste d'identification et sa mise à jour en fonction des créations et des suppressions des compteurs entraînent des pertes de temps et sont causes de risques d'erreurs. Le but de l'invention est de remédier à ces inconvénients et de permettre la sélection d'un compteur sans avoir recours à une liste d'identification. L'invention a pour objet une machine à affranchir, comportant un clavier équipé de dix touches numériques, d'une touche validation, d'une touche annulation, d'une touche étoile, d'une touche menu et de deux touches de défilement, l'une flèche en haut, l'autre flèche en bas, un afficheur du type alphanumérique, une horloge/calendrier, un microprocesseur, une mémoire programme, une mémoire de texte, une mémoire de travail secourue par une pile, et une alarme sonore reliés par un bus, la mémoire de travail contenant, dans un espace Compteurs, des 2613 5 13 - 3- compteurs auxiliaires constitués chacun par des octets de la mémoire de travail et ayant un compteur d'espèces et un compteur de plis eux memes constitués par des octets, un premier ensemble de messages pour des opérations normales d'affranchissement et un second ensemble de messages pour des opérations particulières étant mémorisés dans la mémoire de texte, la mémoire programme contenant des programmes relatifs à chaque message des premier et deuxième ensembles de messages, le deuxième ensemble de messages étant accessible par la touche menu, un appui sur ladite touche menu faisant apparaître un premier message. Début du menu comportant des options numérotées, chaque numéro correspondant à une touche numérique du clavier, l'une des options permettant d'accéder aux compteurs auxiliaires, caractérisée par le fait que les compteurs auxi- liaires sont repérés par un nom et qu'ils sont rangés par ordre alphabé- tique, à la suite les uns des autres, dans l'espace compteurs de la mémoire de travail. L'invention sera bien comprise par la description qui va suivre d'un exemple de réalisation illustré par les figures annexées dans lesquelles: - la figure 1 est un schéma synoptique d'une partie d'un circuit électronique d'une machine à affranchir électronique à laquelle s'appli- que l'invention, - la figure 2 représente un clavier et un afficheur d'une machine à affranchir électronique, - La figure 3 représente une partie du contenu d'une mémoire de travail de la machine à affranchir de la figure 1, - La figure 4 représente un espace compteur auxiliaire d'un espace Compteurs réservé dans une mémoire aux compteurs auxiliaires de l'inven- tion, - La figure 5 est un organigramme d'un programme d'un message MP21 "Recherche d'un compteur", - Les figures 6A et 6B représentent un organigramme d'un sous- programme SPMP21 du programme du message MP21, - La figure 7 est un organigramme d'un programme d'un message MP25 création d'un compteur, - Les figures 8A et 8B représentent un organigramme d'un sous- 2613 5 13 -4- programme SPMP25 du programme du message MP25. - La figure 1 est le schéma synoptique d'une partie d'un circuit électronique d'une machine électronique à laquelle s'applique l'inven- tion. La machine à affranchir est du type décrit dans la demande de brevet français 87 02667, déjà cité; elle comporte un clavier 1, un afficheur 2, une horloge calendrier 3, un microprocesseur 4, une mémoire programme 5, une mémoire de texte 6, qui est une mémoire morte du type ROM, une mémoire de travail 7 du type RAM, une alarme sonore 8, reliés par un bus B. L'afficheur est par exemple un afficheur alphanumé- rique ayant une capacité d'affichage de L lignes de N caractères chacune, par exemple 2 lignes de 16 caractères. La mémoire de texte 6 contient un premier ensemble de messages pour des opérateurs normales d'affranchissement et un second ensemble de messages pour des opérations particulières accessibles par une touche menu M du clavier. La figure 2 représente un ensemble afficheur clavier équipant la machine; le clavier 1 comporte 10 touches numériques, une touche menu M, une touche annulation ANNTJL, une touche étoile *, une touche validation VALID et deux touches défilement, l'une flèche en haut, l'autre flèche en bas, soit 16 touches au total. Dans cette machine, les messages sont visualisés sur l'afficheur 2; pour cela la mémoire programme 5 contient autant de programmes qu'il y a de messages, chaque programme étant relatif à un message. Les messages sont découpés en écrans ayant chacun un nombre L de lignes de N caractères égal au nombre L de lignes de N caractères que peut visualiser l'afficheur. Un afficheur alphanumérique permet de visualiser tous les caractères figurant dans le code ASCII, également connu sous l'appellation code no 5 du CCITT. Chaque écran d'un message est transféré, par le programme relatif audit message, de la mémoire de texte 6 dans un espace mémoire de la mémoire de travail 7, cet espace étant appelé image afficheur IA et ayant N.L octets, chaque octet étant affecté à un caractère d'une ligne. L'affichage est effectuée à l'aide d'un programme afficheur qui est un programme spécifique, contenu dans la mémoire programme 5, qui se déroule automatiquement toutes les 100 millisecondes. -5- Ce programme spécifique est utilisé pour prélever les informations des octets de l'image afficheur!A et les transférer sur l'afficheur 2 pour visualisation. La figure 3 représente une partie du contenu de la mémoire de travail 7, cette partie comprenant: - deux octets ITCO et ITC1 pour une image temporaire clavier iTC, - deux octets ICO0 et IC1 pour une image clavier IC. Dans ces quatre octets les chiffres, lettres et signes sont ceux des 16 touches du clavier, M désignant le menu, V la validation et A l'annulation, chaque touche correspondant à 1 bit des octets. - trente deux octets IAO à IA31 pour l'image afficheur IA, les octets IAO à IA15 étant réservés à la première ligne EiL1 d'un écran Ei, les octets'IA16 à IA31 étant réservés à la deuxième ligne EiL2 de l'écran Ei, ceci bien entendu dans le cas d'un afficheur de deux lignes de seize caractères, - six octets IHCO à ICH5 pour une image horloge, calendrier; l'octet IHCO est réservé à l'année de 0 à 99; l'octet 1HC1 est réservé au mois de 1 à 12; l'octet 1iH2 est réservé au jour de 1 à 31; l'octet IHC3 est réservé à l'heure, de 0 à 23; l'octet IHC4 est réservé à la minute, de 0 à 59; l'octet IHC5 est réservé à la seconde de 0 à 59, - trois octets CASO à à CAS2 pour une commande d'alarme sonore CAS, l'octet CASO étant réservé au nombre de bips à émettre, l'octet CAS1 étant réservé au temps d'émission d'un bip, et l'octet CAS2 étant réservé au temps d'un silence (entre deux bip), - deux octets de temporisation TEO et TEl, l'octet TED étant réservé à la temporisation d'écran, c'est-à-dire au temps d'affi- chage d'un écran, chaque écran étant affiché pendant un temps qui dépend de son importance; l'octet TEl est un nouvel octet de temporisation utilisé lors de l'exécution des messages relatifs aux compteurs auxiliaires de l'invention, et son r8le sera précisé lors de la présentation des messages. Un programme spécifique d'acquisition clavier, qui se déroule automatiquement toutes les 20 millisecondes, sert à prélever l'état des touches du clavier et à le ranger dans l'image temporaire clavier IT-; si cet état ne change pas pendant au moins 50 millisecondes, l'image 2613'513 - 6 - temporaire clavier est transférée dans l'image clavier IC. Un programme spécifique d'acquisition de la date et de l'heure, qui se déroule automatiquement toutes les 100 millisecondes, sert à prelever le contenu de six compteurs constituant l'horloge calendrier (année, mois, jour, heure, minute et seconde) et à le trans- férer dans l'image horloge/calendrier IHC. Un programme spécifique de commande de l'alarme sonore, qui se déroule automatiquement toutes les 20 millsecondes, sert à prélever les informations contenues dans les trois octets de l'image commande de l'alarme sonore CAS et à les transférer à l'alarme sonore 8 de la machine. Ces octets sont chargés par chaque programme relatif à un message, l'alarme sonore étant constituée par des bips sonores. Après chaque bip émis le premier octet CASO est décrémenté d'une unité. Un programme spécifique de temporisation, qui se déroule automati- quement toutes les 20 millisecondes, est utilisé pour les temporisa- tions. Il consiste à faire -1 dans l'octet de temporisation TEO si le contenu de cet octet n'est pas nul, puis à recommencer sur l'octet de temporisation TEl. Les deuxième et troisième octets de la commande d'alarme sonore CAS et les octets de temporisation TEO et TEl sont chargés par un nombre; ce nombre multiplié par le temps de cycle du programme spécifique donne le temps désiré; par exemple pour une temporisation d'écran de 1 seconde, le nombre 50 est chargé dans l'octet de temporisa- tion TEO. La mémoire de travail, secourue par une pile, contient également les compteurs auxiliaires dans un espace mémoire réservé, désigné ci- après par espace Compteurs. Dans la demande de brevet français 87 02667, déjà citée, ces compteurs sont au nombre d'une vingtaine, chaque compteur étant désigné par son numéro. L'invention concerne notamment un grand nombre de compteurs auxi- liaires, plusieurs dizaines par exemple, chaque compteur étant désigné non plus par son numéro, mais par son nom, les compteurs étant ranges, dans l'espace Compteurs, par ordre alphabétique de leur intitulé (nom) qui est constitué de caractères alphanumériques. La figure 4 représente l'occupation, dans l'espace Compteurs, d'un 2613 5 13 - 7 - compteur auxilaires Ci de l'invention. Dans la figure 4 on constate la présence de cinq zones d'informations: - une zone de service, Z1, de 4 octets, dont l'utilisation sera précisée plus loin, - une zone d'intitulé, Z2, de 10 octets, réservée au stockage du nom, chaque octet contenant un caractère faisant partie des colonnes 3, 4 et 5 du code ASCII (code n 5 du CCITT); les caractères qui font partie de ces colonnes ont un code compris entre les valeurs hexadéci- males 30 et 5A qui comprennent:les 10 chiffres, 0 à 9, les signes: supérieur à, égal, inférieur à, point d'interrogation, a rond, et les 26 lettres de l'alphabet, - une zone date et heure de la remise à zéro du compteur auxiliaire, Z3, de 5 octets. Les informations de cette zone sont codées en binaire, et les 5 octets contiennent, dans l'ordre l'année, de O à 99 (AA) le mois, de 1 à 12 (MM) le jour, de 1 à 31 (JJ) l'heure, de O à 23 (HR) la minute, de O à 59 (Mm) - une zone de cumul des valeurs d'affranchissement, Z4, de 4 octets. Cette zone est un compteur d'espèces dont la capacité maximum est de 42 949 672, 96 francs; elle correspond à un compteur binaire de 32 bits, - une zone de cumul du nombre d'affranchissements, Z5, de 3 octets. Cette zone est un compteur de plis dont la capacité maximum est de 16 777 215 plis; elle correspond à un compteur de 24 bits. Au total, chaque compteur auxiliaire, qui est un double compteur, occupe un espace mémoire de 26 octets, dans l'exemple décrit dessus; on pourrait bien évidemment avoir une zone d'intitulé Z2 de moins de 10 octets, ou encore de 16 octets pour utiliser la capacité de visualisation d'une ligne de l'afficheur dans le cas d'une ligne à 16 caractères. Le nombre d'octets de la zone Z2 est défini par le 2613 5 1 3 -- 8 - constructeur de la machine à affranchir; le nombre de 10 octets est donc une valeur prise à titre d'exemple, cette valeur paraissant suffisante pour permettre d'identifier un compteur par son intitulé. L'espace Compteurs, en mémoire de travail, nécessaire pour 200 compteurs auxiliaires est de 26 x 200 = 5200 octets. Si la mémoire de travail utilisée a une capacité de 8 192 octets, il reste dans ce cas 2 992 octets pour les autres informations nécessiares au fonctionnement de la machine: image temporaire clavier, image clavier, image afficheur, image horloge/calendrier, commande d'alarme sonore, temporisations, etc. Les octets d'un compteur auxiliaire Ci sont repérés par Cio, Cil,... Ci 25. Les octets CiO à Ci 3, sont ceux de la zone de service Z1, les octets Ci4 à Ci13 sont ceux de la zone d'intitulé Z2, les octets Ci14 à Ci18 sont ceux de la zone date et heure de la remise à zéro Z3, les octets Ci 19 à Ci 22 sont ceux de la zone compteur d'espèces Z4, et les octets Ci 23 à Ci 25 sont ceux de la zone compteur de plis Z5. La remise à zéro d'un compteur auxiliaire Ci s'effectue en chargeant 0 dans les 7 octets Ci 19 à Ci 25. A chaque remise à zéro la date et l'heure de cette remise à zéro sont enregistrées dans les 5 octets Ci 14 à Ci 18; ceci est obtenu en transférant les cinq premiers octets de l'image horloge/calendrier dans les octets Ci 14 à Ci 18 du compteur auxiliaire Ci. La date et l'heure enregistrées permettent de préciser la durée de fonctionnement du compteur auxiliaire; le temps séparant deux remises à zéro définit la périodicité du compteur, cette périodicité étant déterminée par l'utili- sateur en fonction de ses besoins. Dans l'espace compteurs, les compteurs auxiliaires sont rangés par ordre alphabétique de leur intitulés. Cet espace Compteurs est prévu pour contenir, par exemple, Q = 200 compteurs auxiliaires repérés C1, C2,...CQ; si seulement n compteurs ont été affectés (n inférieur à Q) alors le premier octet de service de la zone Z1 du compteur suivant, C(n + 1), contient le caractère ETX (03 -9en hexadécimal); la présence de ce caractère (fin de texte du tableau ASCII) traduit la fin de l'ensemble des n compteurs. On va décrire à présent la manière, pour l'usager, d'accéder aux compteurs auxilaires. L'exécution de programmes relatifs aux différents messages concer- nant les compteurs auxiliaires qui seront mentionnés plus loin, nécessite, comme déjà mentionné, la présence, dans la mémoire de travail, d'un autre octet de temporisation TEl dont le rôle sera précisé lors de la présentation des messages. Comme dans la demande de brevet français 8 702 667 déjà citée, l'accès aux compteurs auxilaires se fait par la touche menu M du clavier; un appui sur cette touche fait apparaître un message MPO, Début du Menu. Ce message est le premier du deuxième ensemble de messages, et comporte des options numérotées accessibles par le clavier, et en parti- culier une option 2- Les compteurs Auxiliaires L'opérateur sélectionne cette option en appuyant sur la touche numérique 2 indiquée dans cet écran, ce qui va lui permettre d'accéder aux messages suivants, spécifiques à l'invention puisque les compteurs sont désignés par leur intitulé: MP 20 Recherche ou Création d'un compteur MP 21 Recherche d'un compteur MP 22 Consultation d'un compteur MP 23 Confirmation de l'état sélectionné d'un compteur MP 25 Composition du nom (d'un compteur). Les compteurs auxiliaires étant, selon l'invention, désignés par leur intiulé et non plus par leur nombre, l'appui sur la touche 2 lors de la visualisation du message MPO fait apparaître le message MP 20. Message MP 20 Recherche ou création d'un compteur. Ce message est constitué par les trois écrans suivants: Ecran 1 Vous voulez 1 - Rechercher Ecran 2 2 - Créer Un compteur 2613 5 1 3 - 10 - Ecran 3 Faites Votre choix - Si dans l'espace Compteurs aucun compteur n'est affecté, n = O; alors le premier octet de l'espace compteurs contient le caractère ETX et la proposition, 1 - Rechercher, de la deuxième ligne de l'écran 1 n'apparaît pas; la touche 1 du clavier est inactive. - Si l'espace Compteurs est plein, tous les compteurs ayant été affectés on a n = Q, il est impossible d'affecter un nouveau compteur et la proposition, 2 - Créer, de la premiere ligne de l'écran 2 n'apparaft pas; la touche 2 du clavier est inactive. - Si le nombre n de compteurs affectés est inférieur au nombre Q de compteurs que peut contenir l'espace Compteurs, un appui sur la touche 1 fait apparaître le message MP21 Recherche d'un compteur, et un appui sur la touche 2 fait apparaître le message MP25 Composition du nom (d'un compteur). Message MP 21 - Recherche d'un compteur Ce message est constitué par les quatre écrans suivant: Ecran 1 Compteur NO XXX (3 secondes) XXXXXXXXXX Ecran 2 Vous voulez (1 secondes) 1 - Le suivant Ecran 3 2 - Le précédent (1 seconde) 3 - Le consulter Ecran 4 Faites (1 seconde) Votre choix Les écrans 1 à 4 sont affichés pendant 3, 1, 1, 1 secondes respec- tivement. Le numéro du compteur apparaissant sur l'écran 1 correspond au rang occupé par compteur dans l'espace Compteurs; trois caractères sont affectés au numéro d'un compteur. Ce numéro, pour un même intitulé de compteur, peut varier en fonction des créations et suppressions. Ainsi, si le compteur DURAND porte le numéro 22 à un instant donné, il aura le numéro 23 à la suite de la création du compteur DUPONT qui précède, dans l'ordre alphabétique, le compteur DURAND, le compteur DUPONT ayant alors 2613 5 1 3 - il - le numéro 22. A la ligne 2 de l'écran 1, le nom du compteur apparalt; il est constitué des dix caractères de l'intitulé du compteur qui sont contenus dans la zone Intitulé, Z2, dudit compteur (dans l'hypothèse d'une zone d'intitulé de 10 octets). Lorsque le message MP 21 apparaît pour la première fois, à la suite du message MP 20, le compteur proposé dans l'écran 1 est le premier des n compteurs de l'espace Compteurs, le numéro affiché est donc le numéro 1. Une action sur la touche d'annulation du clavier pendant l'affichage des écrans du message MP 21 ramène au message MP 20. - Lorsque dans l'écran 1 le numéro du compteur est le numéro 1, la proposition "2 - Le Précédent", de la première ligne de l'écran 3 n'apparait pas et la touche 2 est sans action. - Lorsque le numéro du compteur est le dernier des n compteurs, et que n est inférieur à Q, le premier octet de service du compteur n + 1, non encore affecté, contient l'indication ETX; alors la proposi- tion "1 - Le suivant", de la deuxième ligne de l'acran 2, n'apparait pas, et la touche 1 est inactive. Une action brève sur la touche 1 incrémente de 1 le numéro du compteur de l'écran 1 et fait apparaître le nom du compteur suivant. A La suite de cette action le message MP 21 est réinitialisé et l'écran 1 apparait pendant 3 secondes. Une suite d'actions brèves sur la touche 1, se succédant à une cadence inférieure à 3 secondes, fait apparaitre en permanence l'écran 1 avec défilement successifs des numéros et des noms des compteurs, au rythme des appuis sur la touche 1. Si l'opérateur maintient la touche 1 enfoncée plus d'une seconde, il enclenche l'avance accélérée, obtenue par le programme relatif au message MP 21 qui simule alors des appuis brefs, de plus en plus rapides de la touche 1. Au bout d'une seconde l'intitulé du compteur suivant apparait, puis le suivant apparait au bout de 0,9 seconde, puis le suivant apparait au bout de 0,8 seconde, et ainsi de suite, jusqu'à 0,3 seconde. A partir de 0,3 seconde, le programme ne présente qu'un intituié sur deux pendant 0,3 seconde, puis un intitulé sur trois pendant 0,3 seconde, puis un intitulé sur quatre, et ainsi de suite. De cette façon 2613 5 1 3 - 12 - si les Q compteurs de l'espace Compteur ont été affectés et si Q = 200, l'ensemble des Q compteurs est parcouru en moins de 11 secondes. Lorsque le dernier compteur est atteint, ou dépassé, un bip sonore est émis par l'alarme sonore équipant la machine à affranchir. La touche 2 a la même fonction que la touche 1, mais l'exploration de l'espace Compteurs se fait en sens inverse. Une action sur la touche 3 fait apparattre le message MP 22 Consultation d'un compteur. Le texte du message MP 21, comme tous les messages, est rangé dans la mémoire de texte 6 de la machine à affranchir. Le texte du message MP 21 occupe 4 x 32 = 128 octets de la mémoire de texte. Les programmes relatifs aux messages MP 21 à MP 23 utilisent un espace mémoire " Recherche" de sept octets, de la mémoire de travail 7, ces octets successifs étant rangés à partir de l'adresse symbolique Recherche 0 qui est celle du premier octet. Ces octets, désignés ci-après par RO, R1,... R6 contiennent: RO = n, nombre de compteurs existants, R1 = m, numéro du compteur visualisé, R2, R3 = AC, adresse courante du premier octet du compteur visualisé R4 = MT, mémoire de la temporisation d'accélération, R5 = INC, incrément du nombre de compteurs à enjamber dans la fonction accélération, R6 = PHAT, phase des touches. Lors du passage du message MP 20 au message MP 21, un programme d'initialisation détermine le nombre n de compteurs présents dans l'espace Compteurs, n étant inférieur ou égal à Q qui est le nombre maximal de compteurs que peut contenir l'espace Compteurs. Le programme d'initalisation range ce nombre n dans l'octect RO, puis charge le nombre m = 1 dans l'octet R1 et l'adresse AC du premier octet du premier compteur dans les octets R2 et R3. Le bon déroulement du programme relatif au message MP 21 nécessite la presence d'un sous-programme SPMP 21 de ce programme, pour vérifier l'écoulement de la temporisation d'écran et gérer les conditions de sortie (action sur les touches 1, 2, 3 et annulation). 26-135 13 - 13 - Ce sous-programme sera décrit après le programme relatif au mes- sage MP 21 qui comprend les cinq actions suivantes, représentées par l'organigramme de la figure 5: - Actions 1: Transférer les 32 premiers octets du message MP 21 (écran 1) de la mémoire de texte dans l'image afficheur iA de la mémoire de travail, depuis l'adresse IA0, qui est celle du premier octet de cette image afficheur. Les 32 premiers octets du message MP 21 correspondent à un afficheur de 2 lignes de 16 caractères, pris comme exemple. Prélever m, numéro du compteur, en R1 et le ranger, après traitement (passage en décimal puis en code ASCII), dans l'image afficheur IA aux adresses IA12, I13 et IA14 (trois chiffres au maximum). Transférer les 10 octets Dm 4 à Cm 13 de l'intitulé du compteur m dans l'image afficheur depuis l'adresse IA19; l'adresse de départ est obtenue en faisant, dans R2 et R3, AC + 4, le transfert portant sur les 10 octets depuis AC + 4 à AC + 13. Charger la temporisation d'écran à 3 secondes (charger 150 dans l'octet de temporisation d'écran TEC), Exécuter le sous-programme SPMP 21. - Action 2: Charger dans l'image afficheur IA le texte de l'écran 2, depuis IAO jusqu'à iA31, Si m = n, le dernier compteur est en cours de visualisation; alors charger 16 signes d'espace consécutifs dans l'image afficheur depuis IA 16, pour effacer la deuxième ligne de l'écran 2 "1 Le suivant", Charger l'octet de temposrisation d'écran TEO à 1 seconde (50 dans cet octet). Exécuter le sous-programme SPMP 21. - Action 3: Tranférer le texte de l'écran 3 de la mémoire de texte dans l'image afficheur IA de la mémoire de travail, de IAO à IA31, Si m = 1, c'est le premier compteur de l'espace Compteur qui est visualisé; alors charger 16 signes d'espace (20 en hexadécimal) consé- cutifs dans l'image afficheur, de IA0 à iA15, pour effacer la proposition 2613 5 13 - 14 - "2 - Le Précédent" de la premiere ligne de l'écran 3. Charger l'octet de temporisation d'écran TEO à 1 seconde (50 dans cet octet). Exécuter le sous-programme SPMP 21. - Action 4: Charger le texte de l'écran 4 dans l'image afficheur de IA0 à IA31. Charger l'octet de temporisation d'écran TE0 à 1 seconde (50 dans cet octet). Exécuter le sous-programme SPMP 21. - Action 5: Recommencer l'action 1 (rebouclage). Le sous-programme SPMP 21 représenté figures 6A et 6B, enchaîne les actions suivantes, désignées par SP1, SP2,...etc. Action SP1: Si les touches 1 et 2 ne sont pas enfoncées, les bits correspon- dants dans l'image clavier IC ont la valeur 1, faire PHAT = 0, c'est-à- dire charger 0 dans R6, puis passer à l'action SP2. Si l'une des touches 1 ou 2 est enfoncée, le bit correspondant dans l'image clavier a la valeur 0; si m différent de n si la touche 1 est enfoncée ou si m différent de 1 si la touche 2 est enfoncée et si PHAT = o passer à l'action SP 10 PHAT = 1 passer à l'action SP 11 PHAT = 2 passer à l'action S? 12 Action SP2: Si la touche 3 est enfoncée, le bit correspondant dans l'image clavier a la valeur 0, passer au message MP 22; c'est la fin du programme MP 21. Sinon passer à l'action SP3. Action SP3: Si la touche annulation est enfoncée, le bit correspondant dans l'image clavier a la valeur 0, passer au message MP 20; fin du programme MP 21, Sinon passer à l'action SP4. Action SP4: - 15 - Si la touche menu M est enfoncée passer au message MP0 Début du menu; sinon passer à l'action SP5. Action SP5: Si la temporisation d'écran est écoulée, le contenu de l'octet de temporisation TEO a la valeur 0, passer à l'action suivante du programme MP 21. Sinon recommencer l'action SP1. Action SP10: Cette action est la phase d'initialisation d'enfoncement des touches 1 ou 2 (voir SP1). Charger 1 seconde (50) dans R4 qui est l'octet mémoire de la temporisa- tion d'accélération (MT). Charger 0 dans R5 (iNC = O) qui est l'octet réservé à l'incrément du nombre de compteurs à enjamber dans la fonction d'accélération. Charger 1 dans l'octet R6 (PHAT = 1). Passer à l'action SP13 (présenter le nouveau compteur). Action SP11: Cette action est la phase de décroissance du temps d'affichage des noms des compteurs (voir SP1). Si la temporisation de défilement n'est pas écoulée (contenu de l'octet de temporisation TEl différent de zéro) retourner à l'action SP1. Si la temporisation de défilement est écoulée (contenu de l'octet TEl = 0) , diminuer de 0,1 seconde le temps de défilement dans la mémoire du temps de défilement c'est-à-dire faire -5 au contenu de l'octet R4, puis donner la valeur zéro (INC = 0) à l'incrément du nombre de compteurs à enjamber, c'est-à-dire écrire 0 dans l'octet R5. Si le temps défilement est égal à 0,3 seconde dans la mémoire du temps de défilement (contenu de l'octet R4 = 15) alors passer en phase 2, c'est-à-dire écrire 2 dans l'octet R6 (PHAT = 2). Passer à l'action SP13 (présenter le nouveau compteur). Action SP12 Attente de l'écoulement de la temporisation de défilement (voir SP1). Si la temporisation de défilement n'est pas écoulée (contenu de 2 6 1 3 5 1 3 - 16 - l'octet de temporisation TEl différent de zéro), retourner à l'action SP1i. Si la temporisation de défilement est écoulée (contenu de l'octet de temporisation TEl = 0), passer à l'action SP13. Action SP 13: sélection du compteur suivant ou précédent. Ajouter + 1 au contenu de l'octet R5 (INC, nombre de compteurs à enjamber). Si la touche 1 est enfoncée passer à l'action SP14 (compteur sui- vant), sinon passer à l'action SP15 (compteur précédent). Action SP14 Compteur suivant. Si m +INC est supérieur à n, m étant le numéro du compteur visualisé (contenu de l'octet R1) INC étant le nombre de compteurs à enjamber (contenu de l'octet R5) et n étant le nombre de compteurs existants (contenu de l'octet RO), alors: Lire l'octet RO et écrire son contenu n dans l'octet R1, puis écrire 0 dans l'octet R5 (INC = 0). * Ecrire C10 + 26 (n - 1) dans les octets R2 et R3 pour avoir l'adresse AC du premier octet -du dernier compteur, C10 étant l'adresse du premier octet du premier compteur de l'espace "Compteurs", Charger 1 dans l'octet CASO de la commande d'alarme sonore CAS, pour 1 bip sonore, Charger 25 dans l'octet CAS1 de la commande d'alarme sonore CAS, pour une durée de 0, 5 seconde du bip sonore (il n'y a pas de silence, puisqu'il n'y a qu'un seul bip). Passer à l'action SP16. Si m+INC n'est pas supérieur à n, écrire m + INC dans l'octet lR1 (prélever les contenus des octets R1 et R5, les additionner et écrire le résultat dans l'octet R1), puis faire AC + 26 fois INC et écrire le résultat dans les octets R2 et R3 (prélever le contenu INC de l'octet R5, le multiplier par 26 =nombre d'octets d'un compteur, et ajouter le résultat au contenu des octets R2 et R3), Passer à l'action SP16. Action SP15: Compteur précédent. Si m - INC est inférieur à 1 (contenu de l'octet R1 moins le 2613 5 13 - 17 - contenu de l'octet R5 inférieur à 1), alors: Ecrire 1 dans R1 (m = 1), ce qui revient à pointer le premier compteur, Ecrire 0 dans R5 (INC 0), ce qui annule l'incrément, Ecrire C10 dans R2 et R3 (AC = C10) ce qui donne l'adresse du premier octet du premier compteur, Charger 1 dans l'octet CASO de la cemmande d'alarme sonore CAS (1 bip), Charger 25 dans l'octet CAS1 de la commande d'alarme sonore, pour une durée de 0,5 seconde. Passer à l'action SP16. Si m - INC n'est pas inférieur à 1, alors: Ecrire m - INC dans l'octet R1, Faire AC -26 fois INC et écrire le résultat dans les octets R2 et R3. Passer à l'action SP16. Action SP16: Transférer le contenu de l'octet R4, qui est l'octet MT de mémoire de la temporisation de défilement des intitulés, dans l'octet de tempo- risation TEl, Retourner à l'action 1 du message MP21. Message MP22 Consultation d'un compteur. Ce message apparait suite à une action sur la touche 3 lors de la visualisation du message MP21. Le message MP22 comprend les huit écrans suivants: Ecran 1 Compteur n XXX (2 secondes) XXXXXXXXXX' Ecran 2 Mis à zéro le (1 seconde) JJ/MM/AA à HH.MM Ecran 3 Il est XXXXXXXXX (1 seconde) Il a cumulé Ecran 4 XXXXXXX,XX F (3 secondes) XXXXXXXX plis 2 6 1 3 5 1 3 - 18 - Ecran 5 Vous Voulez (2 secondes) 1 - Le suivant Ecran 6 2 - Le précédent (2 secondes) 3 - Mise à zéro Ecran 7 4 - L'arrêter (2 secondes) - Le Démarrer Ecran 8 6 - Le Supprimer (2 secondes) Votre choix ? Les écrans 1 à 8 sont affichés pendant 2, 1, 3, 2, 2, 2, 2 secondes, respectivement. Dans l'écran 1, le numéro du compteur, ligne 1, et son intitulé (nom), ligne 2, sont ceux qui étaient affichés dans l'écran I du message MP21 lorsque l'opérateur a choisi l'option "3 - Le consulter". Le numéro du compteur est contenu dans l'octet R1, et son intitulé est contenu dans les 10 octets Ci4 à Ci13 de la zone Z2 du compteur, l'adresse de départ AC + 4 de Ci4 dans l'espace Compteurs étant donnée par le contenu, AC, de R2 et R3, auquel on ajoute 4. Ceci est identique à ce qui est indiqué dans l'action 1 du message MP21. La date et l'heure, ligne 2 de l'écran 2, sont celles de la dernière remise à zéro, et sont contenues dans les 5 octets de la zone Z3 du compteur, depuis l'adresse AC + 14, AC étant donnée par le contenu de R2 et R3 auquel on ajoute 14. Pour l'écran 3, le texte de la ligne 1 est complété par "à l'arrêt" si le contenu du premier octet du compteur, d'adresse AC, est la lettre A, et il est complété par "en marche" si le contenu de ce premier octet est la lettre M; l'adresse AC est donnée par R2 et R3. Les deux informations de l'écran 4 sont extraites de la zone Z4 du compteur sur la ligne 1, et de la zone Z5 du compteur pour la ligne 2. La zone Z4 pour le cumul des espèces est constituée par 4 octets d'adresses AC + 19 à AC + 22, et la zone Z5 pour le cumul des plis est constituée par 3 octets d'adresses AC + 23 à AC + 25. Si m = n, la proposition "1 - Le suivant" de l'écran 5 n'apparait pas; elle est remplacée, dans l'image afficheur, de IA 16 à IA 31 par des signes d'espaces. Si m = 1, la proposition "2 - Le précédent" de l'écran 6 n'apparait - 19 - pas; elle est remplacée, dans l'image afficheur, de iA0 à iA15 par des signes d'espaces. Si le cumul espèces, zone Z4 du compteur, et le cumul nombre de plis, zone Z5 du compteur, sont à zéro, la proposition "3 - Mise à Zéro, de l'écran 6 n'apparait pas; elle est remplacée, dans les octets IA16 à IA31 de l'image afficheur, par des signes d'espaces. Les propositions 4 et 5 de l'écran 7 sont exclusives les unes des autres; seule apparait la proposition inverse de l'état du compteur visualisé. Ainsi, si le compteur est en marche le premier octet de service, zone Z1 du compteur, contient la lettre M, la proposition "4 - L'arrêter" apparaît, mais pas la proposition "5 - Le démarrer"; à l'in- verse, si le compteur visualisé est à l'arrêt le premier octet de service contient la lettre A, la proposition "4 - L'arrêter" n'apparait pas, mais la proposition "5 - Le Démarrer" apparaît. Si la touche annulation est enfoncée, retour au message MP21. Si l'opérateur appuie sur la touche 1, le programme du message MP22 fait: + 1 dans R1, on a donc m + 1, et + 26 dans R2 et R3, on a donc AC + 26, à condition bien entendu que m soit inférieur à n, sinon pas de changement. Si l'opérateur appuie sur la touche 2, et si m est différent de 1, alors le programme fait - 1 dans R1, on a donc m - 1, et -26 dans R2 et R3 ce qui donne AC - 26. Si l'opérateur appuie sur l'une des touches 3, 4, 5, ou 6, un message MP23; Confirmation de l'état sélectionné apparaît. Message MP23 Confirmation de l'état sélectionné Ce message est constitué par les 3 écrans suivants: Ecran 1 Vous Demandez (2 secondes) XXXXXXXXXXXXXX Ecran 2 Du Compteur (2 secondes) XXXXXXXXXX Ecran 3 Confirmer par (1 seconde) Valid et * Le texte de la deuxième ligne de l'écran 1 est: une mise à zéro (touche 3) 2613 5 1 3 - 20 - un arrêt (touche 4) le démarrage (touche 5) la suppression (touche 6) Le texte de la deuxième ligne de l'écran 2 est constitué par l'intitulé du compteur, qui est le même que celui qui apparaissait en deuxième ligne de l'écran 1 du message MP22 lorsque l'opérateur a appuyé sur l'une des touches 3, 4, 5 ou 6. La confirmation de l'état sélectionné précédemment, et affiché en ligne 2 de l'écran 1, est obtenue en agissant simultanément sur les touches validation, VALID, et étoile, e, ce qui ramène au message MP22, avec exécution de l'ordre, c'est-à-dire de l'état sélectionné. Une action sur la touche annulation ramène également au message MP22, mais sans exécution de l'ordre. Si la mise à zéro est confirmée les sept octets des zones Z4, cumul d'espèces, et Z5, cumul du nombre de plis, sont mis à zéro (il s'agit des octets d'adresses AC + 19 à AC + 25), puis le contenu des 5 premiers octets IHCO à iHC4 de l'image horloge/calendrier est transféré dans les cinq octets de la zone Z3, d'adresses AC + 14 à AC + 18. Si la demande d'arrêt est confirmée, la lettre A (code 41 en hexadécimal) est chargée dans le premier octet de service du compteur, d'adresse AC. A partir de cet instant le compteur ne cumule plus les espèces ni les plis. Si la demande de Démarrage est confirmée, la lettre M (code 4D en hexadécimal) est chargée à la place de la lettre A dans le premier octet de service du compteur qui cumule alors les espèces et les plis. Si l'opérateur confirme la suppression du compteur dont le nom était affiché dans l'écran 1, le programme suivant se déroule: Lire l'otect d'adresse AC + 26 et l'écrire à l'adresse AC; l'octet d'adresse AC + 26 est le premier octet de service du compteur suivant, Lire l'octet d'adresse AC + 27 et l'écrire à l'adresse AC + 1, 2 6 1 3 5 1 3 - 21 - et ainsi de suite en augmentant à chaque fois l'adresse de lecture et l'adresse d'écriture, jusqu'à obtenir le transfert du dernier octet du dernier compteur, c'est-à-dire lorsque l'adresse de lecture est devenue égale à C10 + 26n-1, l'adresse C10 étant celle du premier octet de l'espace Compteurs dans la mémoire de travail, l'adresse d'écriture étant alors égale à C10 + 26(n-1)-1. Pour annuler le dernier compteur qui figure deux fois après son transfert, on écrit le caractère ETX à l'adresse C10 + 26(n-1) puis l'on fait-1 dans Ro puisqu'àprès suppres- sion le nombre de compteurs est n-1. Dans le message MP22, le numéro du compteur est inchangé, c'est le même qu'avant la suppression, mais le nom du compteur a été remplacé par celui du compteur qui le suivait dans l'espace Compteurs. Message MP25 Composition du nom (d'un compteur) Ce message apparait lorsque lors de la visualisation du messsage MP20 l'opérateur appuie sur la touche 2, et que tous les compteurs de l'espace Compteurs ne sont pas utilisés. La création d'un compteur consiste à composer son intitulé, puis le nom étant validé, à rechercher la place qu'il doit occuper dans l'espace Compteurs. Par exemple si l'espace Compteurs contient les compteurs DUPONT et DURAND, et que l'on crée un compteur DUPUIS celui-ci doit être rangé entre les compteurs DUPONT et DURAND, pour observer l'ordre alphabéti- que. Ceci est obtenu en décalant d'une position tous les compteurs situés après le compteur DUPONT (cette opération est identique à la suppres- sion, mais réalisée à l'envers) et à insérer le compteur DUPUIS. Bien entendu on ne peut créer un nouveau compteur que si n est inférieur à Q. La recherche de la place du nouveau compteur dont le nom vient d'être composé, le décalage des compteurs et le chargement des octets du nouveau compteur sont effectués à l'aide d'un programme de rangement qui se déroule lorsque le nom a été composé. Pour effectuer le décalage il faut rechercher, lorsque le nom du nouveau compteur est composé, le premier compteur à décaler; pour cela le programme de rangement utilise la méthode bien connue de la recherche dichotomique. Une fois ce premier compteur à décaler trouvé le dernier 2 6 1 3 5 1 3 -22- octet du dernier compteur n utilisé, d'adresse C10 + 26n-1 dans l'espace Compteurs, est lu et écrit à l'adresse C10 + 26(n+1)-1 qui est celle du dernier octet du compteur n+l, et ainsi de suite en faisant -1 dans les adresses de lecture et d'écriture jusqu'à ce que l'adresse de lecture soit égale à l'adresse AC du premier octet du premier compteur à décaler, ce qui termine le décalage des compteurs. Ce décalage étant effecté les 26 octets du nouveau compteur sont insérés, dans le compteur qui vient d'être libéré, dans l'ordre suivant, ce compteur ayant le numéro m: Le premier octet de ce compteur m, d'adresse AC =C10 + 26(m-1), contient la lettre A, le compteur étant à l'arrêt, les trois octets suivants sont à zéro, le nom du compteur est écrit dans les 10 octets suivants, zone Z2, à raison d'un caractère par octet; si le nom comporte moins de 10 caractères, les octets non utilisés sont chargés par le signe d'espace (20 en code hexadécimal), la date et l'heure de l'horloge/calendrier, c'est-à-dire le contenu des octets IHC0 à I.HC4, de l'image horloge/calendriter, sont transférées dans les 5 octets de la zone Z3, d'adresses AC+14 à AC+18, les sept octets suivants, zones Z4 et Z5, d'adresses AC+19 à AC+25, sont mis à zéro (compteur d'espèces et compteur de plis). Le message MP25 comprend les 5 écrans suivants: Ecran 1 Nom du compteur (3 secondes) Xeeeeeeeee Ecran 2 Vous voulez (1 seconde) 1 - Accélerer Ecran 3 2 - Accél.Inverse (1 seconde) 3 - Valider caract. Ecran 4 4 - Annul.Caract (1 seconde) 5 - Fin du nom Ecran 5 Faites (1 seconde) Votre choix Les temps d'affichage des écrans 1 à 5 sont de 3, 1, 1, 1, 1 secondes respectivement. Le nom d'un compteur peut avoir au maximum 10 caractères, puisque - 23 - l'on a supposé que la zone Z2 d'intitulé des compteurs comportait 10 octets (un par caractère). Dans l'écran 1 ces caractères sont symbolisés par la lettre X suivie de 9 espaces (lettre e); chaque fois que l'écran 1 est visualisé, à la place de la lettre X, défilent successivement: les 10 chiffres 0 à 9 les signes; ? les lettres A, B, C,...Z (en majuscules). La cadence de défilement est de 1 caractère toutes les 0,8 secondes. lorsque la lettre Z apparaît, le caractère suivant est le chiffre 0, donc le déroulement des caractères admissibles est bouclé, et l'apparition du chiffre 0 provoque l'émission d'un bip sonore pour signaler à l'opérateur le début d'un cycle de défilement des caractères. Une action fugitive sur la touche 1 fait apparaître immédiatement le caractère suivant; à la suite de cette action le message MP25 est réinitialisé, le défilement des caractères est suspendu, et l'écran 1 est affiché pendant 3 secondes. Une suite d'actions brèves sur la touche 1, se succédant à une cadence inférieure à 3 secondes, fait apparaître l'écran 1 en permanence avec défilement des caractères à la même posi- tion sur l'afficheur, au rythme de l'opérateur. Si l'opérateur maintient la touche 1 enfoncée pendant plus d'une seconde, le défilement reprend en s'accélérant de plus en plus, jusqu'à atteindre la cadence maximum de 0,3 seconde par caractère. La touche 2 a la même fonction que la touche 1, mais provoque un défilement des caractères dans l'ordre inverse. Une action sur la touche 3 valide le caractère affiché et initialise le défilement des caractères sur la position située immédia- tement à droite du caractère validé. Si le caractère validé est le dixième du nom, le défilement n'apparaît pas sur la position suivante, celle-ci étant hors écran. La touche 4 permet de retourner à la position précédente avec effacement de la position qui vient d'êtes quittée. La touche 5 sert à l'opérateur à indiquer à la machine à affranchir la fin de la composition du nom. La procédure de rangement du nouveau compteur parmi les compteurs 2613 5 1 3 - 24 - existants est alors engagée, cette procédure commençant, comme indiquée ci-dessus, par la recherche du premier compteur à décaler. Pendant l'affichage du message MP25, une action sur la touche an- nulation provoque le retour au message MP20, la procédure de création d'un nouveau compteur étant abandonnée. La réalisation du programme relatif au message MP25 utilise une zone "Intitulé" de 15 octets de la mémoire de travail dont les adresses symboliques sont INTO à INT14. On trouve dans l'ordre, aux différentes adresses: INTO à INT9: Dix octets affectés au nom du compteur en cours de création, INT 10: octet de réserve, INT 11: position dans le nom du caractère en cours de crea- tion, INT 12: mémoire de la temporisation de défilement, INT 13: phase des touches INT 14: défilement automatique autorisé ou non. Le programme relatif au message MP25 exécute des actions, dont certaines utilisent un sous-programme SPMP25 du programme du messa- ge MP25. L'organigramme du programme relatif au message MP25 est représenté figure 7, et l'organigramme du sous-programme SPMP25 est représenté fi- gures 8A et 8B. Le programme relatif au message MP25 comprend les actions sui- vantes: Action 1: Initialisation de la composition du nom. Ecrire le code du signe espace (20 en hexadécimal) aux adresses INT1 à INT9, Ecrire zéro à l'adresse INT11, pour composer le prem.ier caractère, Passer à l'action 2 Action 2 Initialisation du défilement des caractères Ecrire le chiffre O (30 en hexadécimal) dans l'octet INTJ dont l'adresse est donnée par le contenu de INTll, et déclencher un bip sonore (écrire 1 dans l'octet CASO et 25 dans l'octet CAS1 de la 2613 5 1 3 -25- commande d'alarme sonore). Initialiser la mémoire de la temporisation d'accélération à 0,8 seconde, en écrivant 40 à l'adresse INT 12. Initialisèr la temporisation de défilement des caractères en écri- vant 40 dans l'octet de temporisation TEl de la mémoire de travail. Autoriser le défilement automatique, en écrivant 1 à l'adresse INT14. Passer à l'action 3. Action 3: Visualisation de l'écran 1. Transférer les 32 premiers octets du message MP25 de la mémoire de texte dans l'image afficheur -A (octets i-AO à IA31). Transférer le nom en cours de composition, octets d'adresses INT2 à INT9, dans l'image afficheur depuis IA22 à iA31. Charger l'octet de temporisation d'écran TEO à 3 secondes en écri- vant 150 dans cet octet. Exécuter le sous-programme SPMP25. Action 4: Visualisation de l'écran 2 Transférer les 32 octets suivants, écran 2 de la mémoire de texte, dans l'image afficheur IA. Autoriser le défilement automatique en écrivant 1 à l'adres- se INT14. Charger l'octet de temporisation d'écran, TEO, à 1 seconde en écrivant 50 dans cet octet. Exécuter le sous-programme SPMP25. Action 5: Visualisation de l'écran 3. Idem à l'action 4, mais avec les 32 octets de l'écran 3. Action 6: Visualisation de l'écran 4. Idem à l'action 4, mais avec les 32 octets de l'écran 4. Action 7: Visualisation de l'écran 5. 2613 5 1 3 - 26 - Idem à l'action 4, mais avec les 32 octets de l'écran 5. Action 8: Rebouclage Recommencer l'action 3. Le sous-programme SPMP25 sert à vérifier l'écoulement de la temporisation d'écran, octet TEO, et à gérer les actions sur les touches 1, 2, 3, 4, 5 et annulation; il enchaîne les actions suivantes, désignées par SP1, SP2,...: Action SP1: Accélération du défilement Si les touches 1 et 2 ne sont pas enfoncées, écrire O à l'adresse INT13 (phase des touches = o), puis passer à l'action SP2. Si l'une des touches 1 ou 2 est enfoncée, le bit correspondant dans l'image clavier a la valeur o, bloquer le défilement automatique en écrivant o à l'adresse INT 14 puis: Si le contenu de l'octet d'adresse INT13 =o, passer à l'action SP10. Si le contenu de l'octet d'adresse iNT13 =1, passer à l'action SP11. Si le contenu de l'octet et d'adresse INT13 =2, passer à l'action SP12. Action SP2: Valider le caractère et commencer le défilement sur le caractère suivant: Si la touche 3 est enfoncée, le bit correspondant dans l'image clavier IC a la valeur o, attendre que l'opérateur la relâche, c'est-à-dire que la valeur du bit correspondant dans l'image cla- vier IC passe à 1, puis: si le contenu de l'octet d'adresse INT11 est inférieur à 10, ajouter 1 à ce contenu et retourner à l'action 2 du programme, sinon, retourner à l'action 2, sans modifier le contenu de l'octet d'adresse INT11. Si la touche 3 n'est pas enfoncée passer à l'action SP3. 2613 5 1 3 - 27 - Action SP3: Annuler le caractère et retour au caractère précédent. Si la touche 4 est enfoncée, attendre que l'opérateur la relâche, c'est-àdire que la valeur du bit correspondant passe à 1 dans l'image clavier IC, puis: Ecrire "espace" (20 en haxadécimal) dans l'octet INTj de la zone intitulé dont l'adresse est donnée par le contenu de l'octet d'adresse INTll, (INj est l'un des octets INTO à INT9), si le contenu de INT11 est différent de 0, alors retrancher 1 à ce contenu et passer à l'action 2 du programme, si le contenu de INT11 = 0, passer directement à l'action 2. Si la touche 4, n'est pas enfoncée, passer à l'action SP4. Action SP4: Fin du nom. Si la touche 5 est enfoncée, le nom est composé, fin du programme du message MP25, passer au programme de rangement PR du compteur dans l'espace Compteurs. Si la touche 5 n'est pas enfoncée, passer à l'action SP5. Action SP5: Annulation Si la touche Annul est enfoncée, retour au message MP20, c'est l'abandon de la création d'un compteur; fin du programme du message MP25. Si la touche annul n'est pas enfoncée et si la touche menu est enfoncée retourner au message MPO. Si la touche menu n'est pas enfoncée passer à l'action SP6. Action SP6: Pendant l'affichage de l'écran 1, faire évoluer le caractère toutes les 0,8 seconde. Si le défilement automatique n'est pas autorisé, (contenu de l'octet d'adresse INT14 égal à 0), passer à l'action SP7 Si le défilement automatique est autorisé (INT14=1) et si la tem- porisation de défilement est écoulée, (contenu de l'octet de temporisation TEl égal à 0) et si le caractère visual-sé est Z - (contenu de l'octet INTj dont l'adresse est donnée par le contenu de l'octet d'adresse INTll; INTj est l'un des octets iNTO à INT9) 26 13513 - 28 - alors écrire 0 à la place de Z et déclencher un bip sonore (écrire 1 dans CAS0 et 25 dans CAS1) pour annoncer le début d'un nouveau cycle de présentation des caractères, ou si le caractère visualisé est différent de Z faire + 1 dans INTj; puis: Transférer le nom sur l'écran (lire les octets INTO à INT9 et les écrire dans l'image afficheur de IA22 à IA31), Réintialiser la temporisation du défilement en écrivant 40 dans l'octet de temporisation TEl Passer à l'action SP7. Si le défilement automatique est autorisé (INT14=1) et si la tem- porisation de défilement n'est pas écoulée (contenu TEl différent de O)passer à l'action SP7. Action SP7: Si la temporisation d'écran est écoulée (contenu de TEO=C) passer à l'écran suivant du message MP25, sinon recommencer l'action SP1. Action SP10: Initialisation de l'enfoncement des touches 1 et 2. Charger l'octet -NT12, mémoire de la temporisation de défilement, à 0,8 seconde, c'est-à-dire écrire 40 dans cet octet, Passer en phase 1, c'està-dire écrire 1 dans l'octet et INT13, Passer à l'action SP13. Action SP11: Décroissance du temps d'affichage d'un caractère. Si la temporisation de défilement n'est pas écoulée (contenu de TEl différent de zéro) alors retourner à l'action SP1, Si la temporisation de défilement est écoulée (contenu de TE1=0) diminuer de 0,1 seconde la temporisation d'accélération, c'est- à-dire retrancher 5 dans INT12, puis, Si la mémoire de temporisation de défilement est égale à 0,3 seconde, (contenu de INT12=15), passer en phase 2, c'est-à-dire écrire 2 dans l'octet INT13, et passer à l'action SP13, sinon passer directement à l'action SP13. Action SP12: Attente de l'écoulement de la temporisation de défilement. - 29 - Si la temporisation de défilement n'est pas écoulée (contenu de TEl différent de 0), retourner à l'action SP1, Si la temporisation de défilement est écoulée (contenu de TE1=0), passer à l'action SP13. Action SP13: Si la touche 1 est enfoncée, passer à l'action SP14 (caractère suivant), sinon passer à l'action SP15 (caractère précédent). Action SP14: Si le contenu de l'octet INTj, dont l'adresse est donnée par le contenu de INT11, est égal à lettre Z (5A en hexadécimal), charger le chiffre 0 dans cet octet INTj et déclencher un bip sonore en chargeant l'octet CAS0 à 1 et l'octet CAS1 à 25 dans la commande d'alarme sonore CAS et passer à l'action SP16; sinon ajouter 1 au contenu de l'octet INTj et passer à l'action SP16. Action SP15: Si le contenu de l'octet INTj, dont l'adresse est donnée par le contenu de INT11 est égal au chiffre 0 (30 en hexadécimal), remplacer ce chiffre par la lettre Z (5A en hexadécimal) et déclencher un bip sonore en chargeant l'octet CASO à 1 et l'octet CAS1 à 25 et passer à l'action SP16; sinon diminuer de 1 le contenu de l'octet INTj et passer à l'action SP16. Action SP16: Visualisation du nouveau caractère. Transférer le contenu de l'octet INT12, mémoire de la temporisa- tion d'accélération, dans l'octet de temporisation TEl, Retourner à l'action 3 du programme du message MP25. Lors d'un affranchissement plusieurs compteurs auxiliaires peuvent être en marche simultanément; à la limite tous les compteurs de l'espace Compteurs peuvent être en marche. Dans ce cas, à la suite d'un affranchissement, la valeur du timbre qui vient d'être émis doit être - 30 - * ajoutée à chacun des compteurs d'espèces (zone Z4 de chaque compteur auxiliaire) et le nombre de plis de chaque compteur de plis (zone Z5 de chaque compteur auxilaire), doit être majoré d'une unité. Cette opération peut être relativement longue, et pendant qu'elle s'effectue, il faut interdire la réalisation de l'affranchissement suivant, ce qui diminue les performances de la machine à affranchir. Pour remédier à cet inconvénient, la procédure choisie consiste à réaligner les compteurs auxiliaires en marche, non plus après chaque affranchissement, mais à des instants privilégiés. Le temps séparant deux instants privilégiés constitue'la période de réalignement. La méthode consiste à cumuler le total des affranchissements dans un compteur "Consommation période" de 4 octets dans la mémoire de travail, et à ajouter 1, après chaque affranchissement, dans un compteur de "Plis période" de 3 octets dans la mémoire de travail. A chaque réalignement, un programme de réalignement examine le premier octet Cic de chaque compteur auxiliaire. Si le contenu de cet octet est la lettre A (arrêt) le programme passe au compteur auxiliaire suivant. Si le contenu de cet octet est M (marche) alors le programme ajoute le contenu du compteur "Consommation période" au contenu du compteur d'espèces du compteur auxiliaire, et il ajoute le contenu du compteur "Plis période" au compteur de plis de ce même compteur auxi- liaire, puis le programme de réalignement examine le compteur auxiliaire suivant. Lorsque le dernier compteur auxilaire en marche est réaligné, le programme met à zéro les compteurs "Consommation période" et "Plis période". Les réalignements sont effectués: A la mise sous tension de la machine à affranchir; il s'agit des cumuls des affranchissements ayant eu lieu avant la coupure de tension, A l'apparition du message MP20 "Recherche ou création d'un compteur". A l'apparition du message MP22 consultation d'un compteur, suite a une confirmation d'une demande de mise à l'arrêt (message MP23). Un compteur auxiliaire peut avoir un ou plusieurs sous-compteurs (notion de total et de sous total). - 31 - Un compteur devient sous compteur si son intitulé est ceui d'un compteur auxiliaire auquel on ajoute le signe 2 (a rond) suivi, éventuellement, d'un texte, chiffres ou lettres. Exemple, l'opérateur crée un premier compteur "Magasin", puis un deuxième compteur "Maga- sin 1"; ce deuxième compteur est un sous-compteur du premier. Pour distinguer les compteurs des sous-compteurs on utilise le deuxième octet de service, Cil, de chaque compteur, cet octet contient la lettre C pour un compteur (absence de C'dans son intitulé) et la lettre S pour un sous-compteur (présence du signe Z)dans son intitulé). Le fonctionnement d'un compteur et de ses sous-compteurs est lié entre eux: Un sous-compteur peut être supprimé indépendamment des autres souscompteurs d'un même compteur, mais la suppression d'un compteur entraîne automatiquement la suppression de tous les sous-compteurs qui lui sont rattachés. De même, chaque sous-compteur d'un compteur peut être mis à zéro indépendamment des autres, mais la remise à zéro d'un compteur entraîne automatiquement la remise à zéro de tous ses sous-compteurs. La mise en marche ou l'arrêt d'un compteur entraîne automati- quement la mise en marche ou l'arrêt des sous-compteurs qui lui sont rattachés. Un sous-compteur ne peut être mis en marche ou à l'arrêt indépen- damment du compteur auquel il est rattaché. La réalisation de cette fonction est obtenue pendant l'affichage du message MP22. Si le compteur visualisé est un sous-compteur, les propositions correspondant à l'écran 7 du message MP22 n'apparaissent pas (mise en marche ou à l'arrêt). - Les figures 5, 6A, 6B, 7, 8A et 8B sont des organigrammes, comme indiqué précédemment. Dans les figures 6A, 6B, 8A, 8B les chiffres 1, 2,..., les lettres, A, M, V qui figurent dans les losanges désignent les touches numériques, d'annulation (A), menu (M), de validation (V). Dans ces figures, ainsi que dans la figure 5, en sortie des losanges le chiffre 1 signifie oui, et le chiffre 0 signifie non. 2 6 1 3 5 1 3 - 32 - Dans les figures la référence DEB signifie début du programme, ou du sous-programme. Dans les figures 5 et 7, les références A:, A!T,..., désignent les actions du programme correspondant. Dans les figures 6A, 6B, 8A et 8B, les références SP1, SP2,..., désignent les actions du sous-programme correspondant à ces figures. Dans la figure 8A, la référence PR, action SP4, signifie programme de rangement du compteur dans l'espace Compteurs. - 33 - REVENDICATIONS 1/ Machine à affranchir comportant un clavier (1), équipé de dix touches numériques, d'une touche validation (VALID), d'une touche annula- tion (ANNUL), d'une touche étoile (.) d'une touche menu (M) et de deux touches de défilement, l'une flèche en haut, l'autre flèche en bas, un afficheur (2) du type alphanumérique, une horloge/calendrier (3), un mi- croprocesseur (4) une mémoire programme (5), une mémoire de texte (6), une mémoire de travail (7) secourue par une pile, et une alarme sonore (8) reliés par un bus (B), la mémoire de travail contenant, dans un espace Compteurs, des compteurs auxiliaires constitués chacun par des octets de la mémoire de travail et ayant un compteur d'espèces et un compteur de plis eux mêmes constitués par des octets, un premier ensemble de messages pour des opérations normales d'affranchissement et un second ensemble de messages pour des opérations particulières étant mémorisés dans la mémoire de texte, la mémoire programme contenant des programmes relatifs à chaque message des premier et deuxième ensembles de messages, le deuxième ensemble de messages étant accessible par la touche menu, un appui sur ladite touche menu faisant apparaître un premier message (MPO Début du menu comportant des options numérotées, chaque numéro corres- pondant à une touche numérique du clavier, l'une des options permettant d'accéder aux compteurs auxiliaires, caractérisée par le fait que les compteurs auxiliaires sont repérés par un nom et qu'ils sont rangés par ordre alphabétique, à la suite les uns des autres, dans l'espace Compteurs de la mémoire de travail. 2/ Machine à affranchir selon la revendication 1, caractérisée par le fait que chaque compteur auxiliaire comporte, en tête, une zone de service (Z1) puis une zone d'intitulé (Z2) constituées chacune par des octets, que le nom du compteur est constitué de caractères alphanumériques chaque caractère étant contenu dans un octet de la zone d'intitulé qui comporte un nombre d'octets au plus égal à un nombre N de caractères que peut visualiser une ligne de l'afficheur (2). 3/ Machine à affranchir selon la revendication 2, caractérisée par le fait que lorsque dans l'espace Compteurs ayant une capacité de Q compteurs seuls n compteurs sont utilisés, n étant inférieur à Q, le premier compteur non utilisé comporte dans un premier octet de sa zone de 2 6 1 3 5 1 3 - 34 - service un caractère spécifique pour indiquer la fin des n compteurs utilisés. 4/ Machine à affranchir selon la revendication 1, caractérisée par le fait que le choix de l'option permettant d'accéder aux compteurs auxi- laires fait apparaître un message (MP20) Recherche ou création d'un compteur, comportant une option recherche d'un compteur et une option création d'un compteur, chaque option étant numérotée et accessible par une touche numérique du clavier. / Machine à affranchir selon la revendication 4, caractérisée par le fait que le choix de l'option recherche d'un compteur fait apparaitre un message (MP21) recherche d'un compteur qui délivre simultanément à l'af- ficheur, pendant un temps de visualisation spécifié par ledit message, le numéro et l'intitulé du premier compteur de l'espace Compteurs, qu'une action brève sur une première touche du clavier spécifiée ledit message incrémente d'une unité le numéro du compteur visualisé et fait apparaître l'intitulé du compteur suivant, qu'une action brève sur une deuxième touche spécifiée par ledit message décrémente d'une unité le numéro du compteur visualisé et fait apparattre l'intitulé du compteur suivant, et qu'une action brève sur une troisième touche spécifiée par ledit message fait apparaître un message (MP22) consultation d'un compteur avec le numéro et l'intitulé du compteur en cours de visualisa- tion lors de l'action sur ladite troisième touche. 6/ Machine à affranchir selon la revendication 5, caractérisée par le fait qu'une action prolongée sur ladite premiere touche commande un défilement accéléré des numéros et intitulés des compteurs dans l'ordre alphabétique, et qu'une action prolongée sur ladite deuxième touche commande un défilement accéléré des numéros et intitulés des compteurs dans l'ordre inverse à l'ordre alphabétique. 7/ Machine à affranchir selon la revendication 6, caractérisée par le fait que le défilement accéléré est obtenu tout d'abord en diminuant d'un compteur à l'autre le temps de visualisation du numéro et de l'intitulé d'un compteur, puis, à temps de visualisation constant, en enjambant, d'une visualisation à une autre, un nombre croissant de compteurs. 8/ Machine à affranchir selon l'une des revendications 5, 6 et 7, carac- térisée par le fait que dans le défilement dans le sens alphabétique 2613 5 1 3 - 35 - direct l'apparition du nom du dernier compteur utilisé dans l'espace Compteurs provoque l'arrêt du défilement et l'émission d'un bip sonore par l'alarme sonore, et que dans le défilement en sens inverse de l'ordre alphabétique, l'apparition du premier compteur de l'espace Compteurs provoque l'arrêt du défilement et l'émission d'un bip sonore. 9/ Machine à affranchir selon la revendication 4, caractérisée par le fait que le choix de l'option création d'un compteur fait apparaître un message (MP25) Composition du nom, qu'après composition du nom et vali- dation dudit nom composé on recherche la place qu'il doit occuper dans l'ordre alphabétique des compteurs existants par comparaison dudit nom avec ceux des compteurs existants, et que ladite place étant trouvée on décale d'un numéro tous les compteurs auxiliaires depuis ladite place, et que l'on insère le nouveau compteur à ladite place ainsi libérée. / Machine à affranchir selon la revendication 9, caractérisée par le fait que pour composer un nom on fait défiler successivement et de manière automatique, selon une cadence régulière, sur une position de l'afficheur, des caractères d'une liste des caractères admis à figurer dans un nom d'un compteur, que l'on valide un caractère visualisé par action sur une première touche spécifiée par ledit message, que le caractère validé apparaît en permanence sur l'afficheur, et que le défi- lement des caractères est initialisé sur une position située immédia- tement à droite du caractère validé. 11/ Machine à affranchir selon la revendication 10, caractérisée par le fait qu'une action brève sur une deuxième touche du clavier spécifiée par le message Composition du nom fait apparaître le caractère suivant, et qu'une action brève sur une troisième touche spécifiée par ledit message fait apparaître le caractère précédent. 12/ Machine à affranchir selon la revendication 11, caractérisée par le fait qu'une action prolongée sur ladite deuxième touche commande un défilement accéléré des caractères selon un sens de succession et qu'une action prolongée sur ladite troisième touche commande un défilement accéléré des caractères selon un sens de succession inverse du pécédent, lesdites deuxième et troisième touches commandant un défilement de plus en plus rapide des caractères depuis la cadence régulière Jusqu'à une cadence maximum. 2 6 1 3 5 1 3 - 36 - 13/ Machine à affranchir selon l'une des revendications 10, 11 et 12, caractérisée par le fait qu'en cours de visualisation d'un caractère sur une position quelconque de l'afficheur, excepté la position la plus à gauche, une action sur une quatrième touche spécifiée par ledit message Composition d'un nom commande une interruption du défilement des caractères, l'effacement du caractère en cours de visualisation et du caractère de la position située immédiatement à gauche et initialise le défilement des caractères sur ladite position à gauche. 14/ Machine à affranchir selon l'une des revendications 10, 11 et 12, caractérisée par le fait que l'apparition du dernier caractère de la liste des caractères, dans un sens de défilement direct des caractères est suivi par le premier caractère de ladite liste, que l'apparition du premier caractère de ladite liste dans un sens de défilement inverse des caractères est suivie par le dernier caractère de la liste, et qu'un bip sonore est émis par l'alarme sonore lors l'apparition du premier caractère de la liste. / Machine à affranchir selon la revendication 4, caractérisée par le fait que dans le message (MP20) Recherche ou création d'un compteur, l'option recherche d'un compteur est supprimée lorsque dans l'espace Compteurs aucun compteur n'a été créé, et que l'option création d'un compteur est supprimée lorsque l'espace Compteurs ne comporte pas de compteur libre. 16/ Machine à affranchir selon la revendication 5, caractérisée par le fait que le message (MP22) consultation d'un compteur comporte une option numérique suppression d'un compteur, que lors de la visualisation d'un numéro et du nom d'un compteur une action sur la touche correspon- dant au numéro de l'option fait apparaître un message (MP23) confirmation de l'état sélectionné, qu'une validation dudit message de confirmation commande un décalage successif d'un numéro des compteurs qui suivent le compteur supprimé en commençant par le compteur qui suit immédiatement le compteur supprimé pour le ranger à la place dudit compteur supprimé. 17/ Machine à affranchir selon la revendication 1, caractérisée par le fait que les compteurs d'espèces et de plis de chaque compteur auxiliaire à l'état marche sont réaligné à la mise sous tension de la machine et à 2 6 1 3 5 1 3 - 37 - chaque consulta tion d'un compteur auxiliaire. 18/ Machine à affranchir selon la revendication 1, caractérisée par le fait que parmi les compteurs auxiliaires au moins un compteur auxiliaire comporte au moins un sous-compteur, que chaque sous-compteur est un compteur de l'espace Compteurs et a même nom que le compteur auxiliaire et qu'un caractère spécifique est ajouté au dit nom pour le distinguer du compteur. 19/ Machine à affranchir selon la revendication 18, caractérisée par le fait que chaque sous-compteur d'un compteur auxiliaire est mis automati- quement dans l'état, marche, arrêt, remise à zéro, du compteur auxiliaire en même temps que celui-ci. / Machine à affranchir selon la revendication 18, caractérisée par le fait que chaque sous-compteur d'un compteur auxiliaire est supprimé au- tomatiquement lorsque ledit compteur auxiliaire est supprimé. 21/ Machine à affranchir selon la revendication 18, caractérisée par le fait qu'un sous-compteur est remis à zéro indépendamment de son compteur.