[0001] L'invention est relative à l'exploitation d'une machine à affranchir électronique
comportant des compteurs auxiliaires et notamment un grand nombre de compteurs auxiliaires.
[0002] 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 plusieurs 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.
[0003] 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émentaires deux ou trois par exemple. Pour un plus grand
nombre de compteurs supplémentaires il faut soit multiplier le nombre de touches supplémentaires,
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.
[0004] Si l'on désire pouvoir arrêter, mettre à zéro, ou demander individuellement 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.
[0005] 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 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.
[0006] 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.
[0007] 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.
[0008] 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.
[0009] 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.
[0010] 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 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. 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 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.
[0011] 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'applique 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'invention,
- 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- programme SPMP25 du
programme du message MP25.
[0012] - La figure 1 est le schéma synoptique d'une partie d'un circuit électronique d'une
machine électronique à laquelle s'applique l'invention. 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.
[0013] 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 ANNUL,
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.
[0014] 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.
[0015] Ce programme spécifique est utilisé pour prélever les informations des octets de
l'image afficheur IA et les transférer sur l'afficheur 2 pour visualisation.
[0016] La figure 3 représente une partie du contenu de la mémoire de travail 7, cette partie
comprenant :
- deux octets ITC0 et ITC1 pour une image temporaire clavier ITC,
- deux octets IC0 et IC1 pour une image clavier IC.
[0017] 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 IA0 à IA31 pour l'image afficheur IA, les octets IA0 à 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 IHC0 à ICH5 pour une image horloge, calendrier ; l'octet IHC0 est
réservé à l'année de 0 à 99 ; l'octet IHC1 est réservé au mois de 1 à 12 ; l'octet
IHC2 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 CAS0 à à CAS2 pour une commande d'alarme sonore CAS, l'octet CAS0
é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 TE0 et TE1, l'octet TE0 étant réservé à la temporisation
d'écran, c'est-à-dire au temps d'affichage d'un écran, chaque écran étant affiché
pendant un temps qui dépend de son importance ; l'octet TE1 est un nouvel octet de
temporisation utilisé lors de l'exécution des messages relatifs aux compteurs auxiliaires
de l'invention, et son rôle sera précisé lors de la présentation des messages.
[0018] 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 ITC ; si cet état ne change pas pendant au moins 50
millisecondes, l'image temporaire clavier est transférée dans l'image clavier IC.
[0019] 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 transférer
dans l'image horloge/calendrier IHC.
[0020] 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 CAS0 est décrémenté d'une unité.
[0021] Un programme spécifique de temporisation, qui se déroule automatiquement toutes
les 20 millisecondes, est utilisé pour les temporisations. Il consiste à faire -1
dans l'octet de temporisation TE0 si le contenu de cet octet n'est pas nul, puis à
recommencer sur l'octet de temporisation TE1.
[0022] Les deuxième et troisième octets de la commande d'alarme sonore CAS et les octets
de temporisation TE0 et TE1 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 temporisation
TE0.
[0023] La mémoire de travail, secourue par une pile, contient également les compteurs auxiliaires
dans un espace mémore 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.
[0024] L'invention concerne notamment un grand nombre de compteurs auxiliaires, plusieurs
dizaines par exemple, chaque compteur étant désigné non plus par son numéro, mais
par son nom, les compteurs étant rangés, dans l'espace Compteurs, par ordre alphabétique
de leur intitulé (nom) qui est constitué de caractères alphanumériques.
[0025] La figure 4 représente l'occupation, dans l'espace Compteurs, d'un 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
o 5 du CCITT) ; les caractères qui font partie de ces colonnes ont un code compris
entre les valeurs hexadécimales 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 0 à 99 (AA)
le mois, de 1 à 12 (MM)
le jour, de 1 à 31 (JJ)
l'heure, de 0 à 23 (HH)
la minute, de 0 à 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.
[0026] Au total, chaque compteur auxiliaire, qui et 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 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é.
[0027] 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.
[0028] Les octets d'un compteur auxiliaire Ci sont repérés par Cio, Ci1,... Ci 25. Les octets
Ci0 à 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.
[0029] La remise à zéro d'un compteur auxiliaire Ci s'effectue en chargeant 0 dans les 7
octets Ci 19 à Ci 25.
[0030] 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'utilisateur en fonction de
ses besoins.
[0031] Dans l'espace compteurs, les compteurs auxiliaires sont rangés par ordre alphabétique
de leur intitulés.
[0032] 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 en hexadécimal) ; la présence de ce caractère (fin de texte du
tableau ASCII) traduit la fin de l'ensemble des n compteurs.
[0033] On va décrire à présent la manière, pour l'usager, d'accéder aux compteurs auxilaires.
[0034] L'exécution de programmes relatifs aux différents messages concernant 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 TE1 dont le rôle sera
précisé lors de la présentation des messages.
[0035] 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 MP0, 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
particulier une option
2- Les compteurs Auxiliaires
[0036] 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).
[0037] 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
MP0 fait apparaître le message MP 20.
[0038] Message MP 20 Recherche ou création d'un compteur.
[0039] Ce message est constitué par les trois écrans suivants :

- Si dans l'espace Compteurs aucun compteur n'est affecté, n = 0 ; 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'apparait 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 première ligne de l'écran 2 n'apparaît 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
[0040] Ce message est constitué par les quatre écrans suivant :

[0041] Les écrans 1 à 4 sont affichés pendant 3, 1, 1, 1 secondes respectivement.
[0042] 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 le numéro
22.
[0043] A la ligne 2 de l'écran 1, le nom du compteur apparaît ; 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).
[0044] 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.
[0045] 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 proposition "1 - Le suivant", de la deuxième ligne de l'acran 2, n'apparaît
pas, et la touche 1 est inactive.
[0046] 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 apparaître
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.
[0047] 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 intitulé 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 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.
[0048] Lorsque le dernier compteur est atteint, ou dépassé, un bip sonore est émis par l'alarme
sonore équipant la machine à affranchir.
[0049] La touche 2 a la même fonction que la touche 1, mais l'exploration de l'espace Compteurs
se fait en sens inverse.
[0050] Une action sur la touche 3 fait apparaître le message MP 22 Consultation d'un compteur.
[0051] 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.
[0052] 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.
[0053] Ces octets, désignés ci-après par R0, R1,... R6 contiennent :
R0 = 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.
[0054] 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 R0, 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.
[0055] Le bon déroulement du programme relatif au message MP 21 nécessite la présence 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).
[0056] Ce sous-programme sera décrit après le programme relatif au message MP 21 qui comprend
les cinq actions suivantes, représentées par l'organigramme de la figure 5 :
-Actions 1 :
[0057] 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 Cm 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 TE0),
Exécuter le sous-programme SPMP 21.
- Action 2 :
[0058] Charger dans l'image afficheur IA le texte de l'écran 2, depuis IA0 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 TE0 à 1 seconde (50 dans cet octet).
Exécuter le sous-programme SPMP 21.
- Action 3 :
[0059] 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 IA0 à IA31, Si m = 1, c'est le premier compteur de
l'espace Compteur qui est visualisé ; alors charger 16 signes d'espace (20 en héxadécimal)
consécutifs dans l'image afficheur, de IA0 à IA15, pour effacer la proposition "2
- Le Précédent" de la première ligne de l'écran 3.
Charger l'octet de temporisation d'écran TE0 à 1 seconde (50 dans cet octet).
Exécuter le sous-programme SPMP 21.
- Action 4 :
[0060] 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 :
[0061] Recommencer l'action 1 (rebouclage).
[0062] 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 :
[0063] Si les touches 1 et 2 ne sont pas enfoncées, les bits correspondants dans l'image
clavier IC ont la valeur 1, faire PHAT = 0, c'est-à-dire charger 0 dans R6, puis
passer à l'action SP2.
[0064] 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 SP 12
Action SP2 :
[0065] 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.
[0066] Sinon passer à l'action SP3.
Action SP3 :
[0067] 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 :
[0069] Si la touche menu M est enfoncée passer au message MP0 Début du menu ; sinon passer
à l'action SP5.
Action SP5 :
[0070] Si la temporisation d'écran est écoulée, le contenu de l'octet de temporisation TE0
a la valeur 0, passer à l'action suivante du programme MP 21.
[0071] Sinon recommencer l'action SP1.
Action SP10 :
[0072] 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 temporisation d'accélération
(MT).
Charger 0 dans R5 (INC = 0) 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 :
[0073] Cette action est la phase de décroissance du temps d'affichage des noms des compteurs
(voir SP1).
[0074] Si la temporisation de défilement n'est pas écoulée (contenu de l'octet de temporisation
TE1 différent de zéro) retourner à l'action SP1.
[0075] Si la temporisation de défilement est écoulée (contenu de l'octet TE1 = 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.
[0076] 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).
[0077] Passer à l'action SP13 (présenter le nouveau compteur).
Action SP12
[0078] Attente de l'écoulement de la temporisation de défilement (voir SP1).
[0079] Si la temporisation de défilement n'est pas écoulée (contenu de l'octet de temporisation
TE1 différent de zéro), retourner à l'action SP1.
[0080] Si la temporisation de défilement est écoulée (contenu de l'octet de temporisation
TE1 = 0), passer à l'action SP13.
Action SP 13 : sélection du compteur suivant ou précédent.
[0081] Ajouter + 1 au contenu de l'octet R5 (INC, nombre de compteurs à enjamber).
[0082] Si la touche 1 est enfoncée passer à l'action SP14 (compteur suivant), sinon passer
à l'action SP15 (compteur précédent).
Action SP14 :
Compteur suivant.
[0083] Si m +INC est supérieur à n, m étant le numéro du compteur visualisé (conteu 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 R0), alors :
Lire l'octet R0 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 CAS0 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.
[0084] Si m+INC n'est pas supérieur à n, écrire m + INC dans l'octet R1 (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 .
[0085] Si m - INC est inférieur à 1 (contenu de l'octet R1 moins le 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 CAS0 de la commande 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 :
[0086] 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 temporisation TE1,
Retourner à l'action 1 du message MP21.
Message MP22 Consultation d'un compteur.
[0087] Ce message apparait suite à une action sur la touche 3 lors de la visualisation du
message MP21.
[0088] Le message MP22 comprend les huit écrans suivants :


[0089] Les écrans 1 à 8 sont affichés pendant 2, 1, 3, 2, 2, 2, 2 secondes, respectivement.
[0090] 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 1 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.
[0091] 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.
[0092] 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.
[0093] 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 pas ; elle est
remplacée, dans l'image afficheur, de IA0 à IA15 par des signes d'espaces.
[0094] 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.
[0095] Les propositions 4 et 5 de l'écran 7 sont exclusives les unes des autres ; seule
apparaît 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'inverse, 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.
[0096] Si la touche annulation est enfoncée, retour au message MP21.
[0097] 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.
[0098] 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.
[0099] 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é
[0100] Ce message est constitué par les 3 écrans suivants :

[0101] Le texte de la deuxième ligne de l'écran 1 est :
une mise à zéro (touche 3)
un arrêt (touche 4)
le démarrage (touche 5)
la suppression (touche 6)
[0102] 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.
[0103] 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,
*, ce qui ramène au message MP22, avec exécution de l'ordre, c'est-à-dire de l'état
sélectionné.
[0104] Une action sur la touche annulation ramène également au message MP22, mais sans exécution
de l'ordre.
[0105] 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 IHC0 à IHC4 de l'image horloge/calendrier
est transféré dans les cinq octets de la zone Z3, d'adresses AC + 14 à AC + 18.
[0106] 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.
[0107] 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.
[0108] 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, 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'après suppression 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)
[0109] Ce message apparaît lorsque lors de la visualisation du message MP20 l'opérateur
appuie sur la touche 2, et que tous les compteurs de l'espace Compteurs ne sont pas
utilisés.
[0110] 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.
[0111] 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étique. 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 suppression, 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.
[0112] 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é.
[0113] 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 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+1, 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
à IHC4, 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).

[0114] Les temps d'affichage des écrans 1 à 5 sont de 3, 1, 1, 1, 1 secondes respectivement.
[0115] Le nom d'un compteur peut avoir au maximum 10 caractères, puisque l'on a supposé
que la zone Z2 d'intitulé des compteurs comportait 10 octets (un par caractère).
[0116] 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).
[0117] 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.
[0118] 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 position sur l'afficheur,
au rythme de l'opérateur.
[0119] 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.
[0120] La touche 2 a la même fonction que la touche 1, mais provoque un défilement des caractères
dans l'ordre inverse.
[0121] 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édiatement à 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.
[0122] La touche 4 permet de retourner à la position précédente avec effacement de la position
qui vient d'êtes quittée.
[0123] La touche 5 sert à l'opérateur à indiquer à la machine à affranchir la fin de la
composition du nom.
[0124] La procédure de rangement du nouveau compteur parmi les compteurs existants est alors
engagée, cette procédure commençant, comme indiquée ci-dessus, par la recherche du
premier compteur à décaler.
[0125] Pendant l'affichage du message MP25, une action sur la touche annulation provoque
le retour au message MP20, la procédure de création d'un nouveau compteur étant abandonnée.
[0126] 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 INT0 à INT14.
On trouve dans l'ordre, aux différentes adresses :
INT0 à 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 création,
INT 12 : mémoire de la temporisation de défilement,
INT 13 : phase des touches
INT 14 : défilement automatique autorisé ou non.
[0127] Le programme relatif au message MP25 exécute des actions, dont certaines utilisent
un sous-programme SPMP25 du programme du message MP25 .
[0128] L'organigramme du programme relatif au message MP25 est représenté figure 7, et l'organigramme
du sous-programme SPMP25 est représenté figures 8A et 8B.
[0129] Le programme relatif au message MP25 comprend les actions suivantes :
Action 1: Initialisation de la composition du nom.
[0130] Ecrire le code du signe espace (20 en hexadécimal) aux adresses INT1 à INT9,
Ecrire zéro à l'adresse INT11, pour composer le premier caractère,
Passer à l'action 2
Action 2 : Initialisation du défilement des caractères
[0131] Ecrire le chiffre 0 (30 en hexadécimal) dans l'octet INTj dont l'adresse est
donnée par le contenu de INT11, et déclencher un bip sonore (écrire 1 dans l'octet
CAS0 et 25 dans l'octet CAS1 de la 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.
Initialiser la temporisation de défilement des caractères en écrivant 40 dans
l'octet de temporisation TE1 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.
[0132] Transférer les 32 premiers octets du message MP25 de la mémoire de texte dans
l'image afficheur IA (octets IA0 à IA31).
Transférer le nom en cours de composition, octets d'adresses INT0 à INT9, dans
l'image afficheur depuis IA22 à IA31.
Charger l'octet de temporisation d'écran TE0 à 3 secondes en écrivant 150 dans
cet octet.
Exécuter le sous-programme SPMP25.
Action 4: Visualisation de l'écran 2
[0133] 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'adresse INT14.
Charger l'octet de temporisation d'écran, TE0, à 1 seconde en écrivant 50 dans
cet octet.
Exécuter le sous-programme SPMP25.
Action 5 : Visualisation de l'écran 3.
[0134] Idem à l'action 4, mais avec les 32 octets de l'écran 3.
Action 6 : Visualisation de l'écran 4.
[0135] Idem à l'action 4, mais avec les 32 octets de l'écran 4.
Action 7 : Visualisation de l'écran 5.
[0136] Idem à l'action 4, mais avec les 32 octets de l'écran 5.
Action 8 : Rebouclage
[0137] Recommencer l'action 3.
Le sous-programme SPMP25 sert à vérifier l'écoulement de la temporisation d'écran,
octet TE0, 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
[0138] Si les touches 1 et 2 ne sont pas enfoncées, écrire 0 à 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
:
[0139] 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 clavier 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.
Action SP3 : Annuler le caractère et retour au caractère précédent.
[0140] 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 INT11, (INj est l'un des
octets INT0 à 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.
[0141] 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
[0142] 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 MP0.
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.
[0143] 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 temporisation de
défilement est écoulée, (contenu de l'octet de temporisation TE1 égal à 0) et si le
caractère visualisé est Z (contenu de l'octet INTj dont l'adresse est donnée par le
contenu de l'octet d'adresse INT11 ; INTj est l'un des octets INT0 à INT9) 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 INT0 à 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
TE1
Passer à l'action SP7.
Si le défilement automatique est autorisé (INT14=1) et si la temporisation de
défilement n'est pas écoulée (contenu TE1 différent de 0) passer à l'action SP7.
Action SP7 :
[0144] Si la temporisation d'écran est écoulée (contenu de TE0=0) passer à l'écran suivant
du message MP25, sinon recommencer l'action SP1.
Action SP10 : Initialisation de l'enfoncement des touches 1 et 2.
[0145] Charger l'octet INT12, 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.
[0146] Si la temporisation de défilement n'est pas écoulée (contenu de TE1 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.
[0147] Si la temporisation de défilement n'est pas écoulée (contenu de TE1 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 :
[0148] 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 :
[0149] 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 :
[0150] 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 CAS0 à 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.
[0151] Transférer le contenu de l'octet INT12, mémoire de la temporisation d'accélération,
dans l'octet de temporisation TE1,
Retourner à l'action 3 du programme du message MP25.
[0152] 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 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.
[0153] 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.
[0154] 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" det 3 octets dans la mémoire de travail. A chaque
réalignement, un programme de réalignement examine le premier octet Cio de chaque
compteur auxiliaire. Si le contenu de cet octet est la lettre A (arrêt) le programme
passe au compteur auxiliaire suivant.
[0155] 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 auxiliaire, puis le programme de réalignement examine le compteur auxiliaire
suivant. Lorsque le dernier compteur auxiliaire 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).
[0156] Un compteur auxiliaire peut avoir un ou plusieurs sous-compteurs (notion de total
et de sous total).
[0157] Un compteur devient sous compteur si son intitulé est celui d'un compteur auxiliaire
auquel on ajoute le signe @ (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 "Magasin @ 1" ; ce deuxième compteur est un sous-compteur du premier.
[0158] Pour distinguer les compteurs des sous-compteurs on utilise le deuxième octet de
service, Ci1, de chaque compteur, cet octet contient la lettre C pour un compteur
(absence de @ dans son intitulé) et la lettre S pour un sous-compteur (présence du
signe @ dans son intitulé).
[0159] Le fonctionnement d'un compteur et de ses sous-compteurs est lié entre eux :
[0160] Un sous-compteur peut être supprimé indépendamment des autres sous-compteurs 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.
[0161] 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.
[0162] La mise en marche ou l'arrêt d'un compteur entraîne automatiquement la mise en marche
ou l'arrêt des sous-compteurs qui lui sont rattachés.
[0163] Un sous-compteur ne peut être mis en marche ou à l'arrêt indépendamment du compteur
auquel il est rattaché.
[0164] La réalisation de cette fonction est obtenue pendant l'affichage du message MP22.
[0165] 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).
[0166] Les figures 5, 6A, 6B, 7, 8A et 8B sont des organigrammes, comme indiqué précédemment.
[0167] 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.
[0168] Dans les figures la référence DEB signifie début du programme, ou du sous-programme.
[0169] Dans les figures 5 et 7, les références AI, AII,..., désignent les actions du programme
correspondant.
[0170] Dans les figures 6A, 6B, 8A et 8B, les références SP1, SP2,..., désignent les actions
du sous-programme correspondant à ces figures.
[0171] Dans la figure 8A, la référence PR, action SP4, signifie programme de rangement du
compteur dans l'espace Compteurs.
1/ Machine à affranchir comportant un clavier (1), équipé de dix touches numériques,
d'une touche validation (VALID), d'une touche annulation (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 microprocesseur (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 (MP0) 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 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 service un caractère spécifique pour indiquer la fin des n compteurs
utilisés.
4/ Machine à affranchir selon la revendication 1, caractérisé par le fait que le choix
de l'option permettant d'accéder aux compteurs auxiliaires fait apparaître un message
(MP20) Recheche 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.
5/ Machine à affranchir selon la revendication 4, caractérisée par le fait que le
choix de l'option recherche d'un compteur fait apparaître un message (MP21) recherche
d'un compteur qui délivre simultanément à l'afficheur, 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 apparaître
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 visualisation 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 première 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, caractérisée par
le fait que dans le défilement dans le sens alphabétique 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é 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 validation 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.
10/ 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éfilement des caractères
est initialisé sur une position située immédiatement à 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.
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.
15/ 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 correspondant 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 à 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 automatiquement dans l'état, marche,
arrêt, remise à zéro, du compteur auxiliaire en même temps que celui-ci.
20/ Machine à affranchir selon la revendication 18, caractérisée par le fait que chaque
sous-compteur d'un compteur auxiliaire est supprimé automatiquement 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.