FR2636447A1 - Method of managing a message memory in a station of a data transmission network and station designed for implementing the method - Google Patents

Method of managing a message memory in a station of a data transmission network and station designed for implementing the method Download PDF

Info

Publication number
FR2636447A1
FR2636447A1 FR8810992A FR8810992A FR2636447A1 FR 2636447 A1 FR2636447 A1 FR 2636447A1 FR 8810992 A FR8810992 A FR 8810992A FR 8810992 A FR8810992 A FR 8810992A FR 2636447 A1 FR2636447 A1 FR 2636447A1
Authority
FR
France
Prior art keywords
memory
station
information
message
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR8810992A
Other languages
French (fr)
Other versions
FR2636447B1 (en
Inventor
Jean-Marie Grave
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telemecanique SA
Original Assignee
Telemecanique Electrique SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telemecanique Electrique SA filed Critical Telemecanique Electrique SA
Priority to FR8810992A priority Critical patent/FR2636447B1/en
Publication of FR2636447A1 publication Critical patent/FR2636447A1/en
Priority to US07/914,020 priority patent/US5253343A/en
Application granted granted Critical
Publication of FR2636447B1 publication Critical patent/FR2636447B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0421Multiprocessor system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/366Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a centralised polling arbiter

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Small-Scale Networks (AREA)

Abstract

The invention relates to a method of managing a message memory or the like in a station of a data transmission network including a bus contention handler governing accesses to the bus by the various stations, in which the sending of messages by a station involves the sending to the contention handler of a corresponding request and the storage by the latter, keeping them in order, of all the requests received from the station, then subsequently the sending by the contention handler of a sending authorisation to the station in question. The method is characterised by the steps consisting in: - storing, in succession, in a memory, the information to be sent and keeping them in order; - each time a request is sent to the contention handler, altering the value of an index y for access to the said memory; and - each time a sending authorisation is received from the contention handler, sending the information designated by a pointer n + y indexed by the said index. The invention also relates to a station implementing this method.

Description

La présente invention a trait à un procédé et à un dispositif de gestion d'une mémoire tampon, et plus particulierement d'une mémoire de type premier entré-premier. sorti pour le stockage de données à émettre sur un réseau de communication de type à diffusion. The present invention relates to a method and a device for managing a buffer memory, and more particularly to a first-to-first memory type. outputted for storing data to be transmitted over a broadcast type communication network.

Un tel réseau de communication, utilisé notamment en milieu industriel (réseau dit de terrain) comprend conventionnellement une ligne de transmission de type bus, un ensemble de stations devant émettre et recevoir des données, telles que des valeurs de paramètres, et éventuellement des messages sur le reseau et un arbitre chargé de gérer l'accès au réseau par les diverses stations. Such a communication network, used in particular in an industrial environment (so-called field network) conventionally comprises a bus-type transmission line, a set of stations that must transmit and receive data, such as parameter values, and possibly messages on the other hand. the network and an arbitrator responsible for managing access to the network by the various stations.

Typiquement, les données échangées sur le réseau sont des valeurs de paramètres industriels, dit "objets", déterminés une fois pour toutes et bien identifiés. Cependant, certains types de réseaux offrent un mode non prioritaire de service "messagerie", autorisant sous certaines conditions la transmission de messages entre les diverses stations. Lorsque c'est le cas, chaque station créant des messages destinés aux autres stations doit stocker ces messages dans une mémoire tampon en attendant que l'arbitre, qui détermine des périodes de temps réservées à ce type de transmission, lui donne l'autorisation démettre un premier message, puis l'un après l'autre les messages suivants. Typically, the data exchanged on the network are values of industrial parameters, called "objects", determined once and for all and well identified. However, certain types of networks offer a non-priority mode of service "messaging", allowing under certain conditions the transmission of messages between the various stations. When this is the case, each station creating messages intended for the other stations must store these messages in a buffer memory while waiting for the referee, who determines the periods of time reserved for this type of transmission, to give him the authorization to cancel. a first message, then one after another the following messages.

La présente invention se propose d'optimiser la gestion d'une telle mémoire en minimisant le mouvement des données dans celle-ci et en réduisant au minimum le stockage d'informations autres que les messages proprements-dits.. The present invention proposes to optimize the management of such a memory by minimizing the movement of data therein and by minimizing the storage of information other than the messages properly so-called.

A cet effet, la présente invention concerne tout d'abord un procédé de gestion d'une mémoire d'informations dans une station d'un réseau de transmission de données comportant une pluralité de stations reliées entre elles par un bus, ainsi qu'un arbitre de bus régissant les accès au bus par les diverses stations, réseau du type dans lequel l'émission par une station d'au moins un type d'information implique l'envoi à l'arbitre d'une requête correspondante et le stockage par ce dernier avec conservation de l'or- dre, de toutes les requêtes reçues de la station, puis ultérieurement l'envoi par 1 t arbitre vers la station considérée d'une autorisation d'émission de ce type d'information, caractérisé en ce qu'il comprend les étapes consistant à
- stocker en succession dans une mémoire les informations à émettre, avec conservation de leur ordre;
- à chaque fois qu'une requête est envoyée à l'arbitre, modifier la valeur d'un index d'accès à ladite mémoire; et
- à chaque fois qu'une autorisation d'émission est reçue de l'arbitre, émettre l'information désignée par un pointeur indexé par ledit index.
For this purpose, the present invention firstly relates to a method of managing an information memory in a station of a data transmission network comprising a plurality of stations connected to each other by a bus, as well as a bus arbitrator governing the accesses to the bus by the various stations, a network of the type in which the transmission by a station of at least one type of information involves the sending to the arbitrator of a corresponding request and the storage by the latter, with conservation of the order, of all the requests received from the station, then subsequently the sending by the arbitrator to the station in question of an authorization to issue this type of information, characterized in that that he understands the steps of
- store in succession in a memory the information to be issued, with preservation of their order;
each time a request is sent to the arbitrator, modifying the value of an access index to said memory; and
- Whenever a transmission authorization is received from the arbitrator, issue the information designated by a pointer indexed by said index.

L'invention concerne également une station d'un réseau de transmission de données, pour la mise en oeuvre-du procédé défini ci-dessus, du type comprenant une unité centrale, une mémoire vive et une unité d'acquisition et/ou de restitution de données, caractérisée en ce qu'au moins une partie de la mémoire est une mémoire de messages dont l'accès par l'unité centrale est régi par un pointeur de position du premier message, un index du nombre de messages mémorisés, et un index du nombre de messages mémorisés pour lesquels une requête d'émission de message a été envoyée sur le réseau, le pointeur étant incrémenté ou décrémenté modulo
N, N étant le nombre d'emplacements pour messages dans ladite partie de la mémoire.
The invention also relates to a station of a data transmission network, for implementing the method defined above, of the type comprising a central unit, a random access memory and an acquisition and / or retrieval unit. of data, characterized in that at least a part of the memory is a message memory whose access by the central unit is governed by a position pointer of the first message, an index of the number of messages stored, and a index of the number of stored messages for which a message transmission request has been sent over the network, the pointer being incremented or decremented modulo
N, N being the number of message slots in said portion of the memory.

D'autres aspects, buts et avantages de la présente invention apparaitront mieux à la lecture de la description détaillée suivante d'une forme de réalisation préférée de celle-ci, donnée à titre d'exemple et faite en référence aux dessins annexés, sur lesquels
- la figure 1 est un schéma-bloc d'un réseau dit de terrain auquel s'applique la présente invention,
- la figure 2 est un schéma de l'organisation d'une mémoire d'une station du réseau de terrain de la figure 1, gérée conformément à la présente invention, et
- la figure 3 est un ordinogramme du fonctionnement de l'unité de gestion de cette mémoire.
Other aspects, objects and advantages of the present invention will become more apparent upon reading the following detailed description of a preferred embodiment thereof, given by way of example and with reference to the accompanying drawings, in which:
FIG. 1 is a block diagram of a so-called ground network to which the present invention applies,
FIG. 2 is a diagram of the organization of a memory of a station of the field network of FIG. 1, managed in accordance with the present invention, and
- Figure 3 is a flow chart of the operation of the management unit of this memory.

En référence tout d'abord à la figure 1, un réseau de terrain pour communication en environnement industriel comprend un ensemble de stations 1, 1', t", ... telles que des automates à commande par microprocesseur, reliées entre elles via un réseau 2 du type à diffusion, constitué dans la pratique d'un simple bus. Un arbitre de bus 3 est charge de gérer les divers accès au bus pour échange de données, messages, etc., entre les diverses stations. On ne décrira pas ici en détail toute l'architecture d'un tel réseau. On se reportera pour plus de renseignements au document < FIP > . Referring firstly to FIG. 1, a field network for communication in an industrial environment comprises a set of stations 1, 1 ', t ", ..., such as microprocessor-controlled PLCs, interconnected via a network 2 of the broadcast type, constituted in practice by a simple bus A bus arbitrator 3 is responsible for managing the various accesses to the bus for exchanging data, messages, etc., between the various stations. here in detail all the architecture of such a network.For more information refer to the document <FIP>.

La présente invention vise tout particulièrement, dans le cadre d'un tel réseau, l'échange de données de type "messages", fonction qui vient s'insérer à caté du fonctionnement normal et cyclique d'un tel réseau pour l'échange des valeurs d'objets entre les stations. The present invention is particularly aimed, in the context of such a network, with the exchange of data of the "message" type, a function which is inserted in the category of the normal and cyclical operation of such a network for the exchange of data. object values between stations.

Il est nécessaire de préciser tout d'abord que le roule premier de l'arbitre de bus 3 est de permettre l'échange cyclique et automatique de données ou valeurs d'objets sur le bus 2, par l'envoi en succession sur celui-ci d'une pluralit d'identif leurs préalablement et bi-univoquement associés à chacun des objets, sous forme de trames notées
ID DAT (i), i étant I'identifieur. Chaque identifieur, reçu simultanément par la totalité des stations connectées, donne l'initiative à l'une d'entre elles d'émettre sur le bus une trame contenant la valeur v de l'objet considéré, notée RP
DAT (v), -et à une ou plusieurs autres de se mettre à l'écoute du bus, pour recevoir la trame en question et ainsi achever l'échange de la valeur d'objet considérée.
It is necessary first of all to specify that the first roll of the bus arbiter 3 is to allow the cyclic and automatic exchange of data or values of objects on the bus 2, by sending in succession on this ci of a plurality of identifers previously and bi-univocally associated with each of the objects, in the form of noted frames
ID DAT (i), where i is the identifier. Each identifier, received simultaneously by the totality of the connected stations, gives the initiative to one of them to emit on the bus a frame containing the value v of the considered object, denoted RP
DAT (v), and one or more others to listen to the bus, to receive the frame in question and thus complete the exchange of the object value considered.

Lorsqu'une station, après avoir créé et stocké en mémoire un message destiné à être envoyé à une ou plusieurs autres stations, souhaite effectuer l'émission de celui-ci, alors elle émet une requête correspondante vers l'arbitre de bus 3. Etant donné cependant qu'une station n'a jamais l'initiative des échanges d'informations sur le bus, que ce soit des valeurs d'objets ou des messages, une telle requête est ici transmise à l'arbitre à l'occasion de la diffusion sur le bus par la station en question d'une trame RP DAT (v) contenant une valeur d'objet, en complétant cette trame avec un champ spécifique noté MSG, dédié à cette fonction. La trame envoyée est ainsi notée RP DAT MSG (v).L'un des rôles de l'arbitre est d'identifier les diverses requêtes de ce type reçues par les diverses stations, de stocker ces requêtes dans une pile (mémoire) de type premier entré-premier sorti, et, à chaque fenêtre temporelle réservée à la transmission de données de type "message", de diffuser sur le bus une trame d'identifieur de message, notée ID MSG (i), qui autorise la station émettrice considérée, comme suite a sa requête, à diffuser le message m sur le bus, sous la forme d'une trame RP MSG (m), à destination des stations concernées par le message, selon la base premier entré-premier sorti considérée. When a station, having created and stored in memory a message intended to be sent to one or more other stations, wishes to carry out the transmission thereof, then it sends a corresponding request to the bus arbitrator 3. Being given that a station never has the initiative of exchanging information on the bus, be it values of objects or messages, such a request is here transmitted to the referee on the occasion of the broadcasting on the bus by the station in question an RP DAT (v) frame containing an object value, by supplementing this frame with a specific field denoted MSG, dedicated to this function. The sent frame is thus denoted RP DAT MSG (v). One of the roles of the referee is to identify the various requests of this type received by the various stations, to store these requests in a stack (memory) of the type first-in, first-out, and, at each time slot reserved for the transmission of data type "message", broadcast on the bus a message identifier frame, denoted ID MSG (i), which authorizes the transmitting station considered , as a result of his request, to broadcast the message m on the bus, in the form of an RP frame MSG (m), to the stations concerned by the message, according to the first-in first-out basis considered.

Comme on peut l'observer, chaque station comprend principalement une unité centrale 12, par exemple à microprocesseur, une mémoire vive 10 reliée à l'unité centrale par un bus d'adresses A et un bus de données D, ainsi qu'une unité d'interface 14 avec un processus industriel, et notamment avec des capteurs et des actionneurs appropriés. As can be seen, each station mainly comprises a central unit 12, for example a microprocessor, a random access memory 10 connected to the central unit by an address bus A and a data bus D, as well as a unit interface 14 with an industrial process, and in particular with appropriate sensors and actuators.

L'ensemble est piloté classiquement par un programme contenu dans une mémoire morte (non illustrée).The set is controlled conventionally by a program contained in a read-only memory (not shown).

La présente invention a pour objet, en association avec une organisation de réseau de ce type, un procédé et un dispositif de gestion de mémoire qui évitent une redondance avec la gestion des identifieurs de messages par arbitre de bus et simplifient le traitement des messages a émettre dans chaque station du réseau, avec en particulier un mouvement réduit au minimum des messages dans la mémoire et une taille de mémoire également minl- misée. The object of the present invention is, in association with such a network organization, a method and a memory management device which avoids redundancy with the management of message identifiers by bus arbiter and simplifies the processing of messages to be transmitted. in each station of the network, with in particular a minimized movement of messages in the memory and a memory size also mini- mised.

En référence maintenant à la figure 2, on a représenté une partie 10a de la mémoire vive 10 d'une station du réseau, partie qui est destinée à stocker provisoirement des messages à émettre vers d'autres stations et qui comprend un ensemble de N emplacements ou "boItes" pour ces messages. La mémoire constitue une pile de type premier entré-premier sorti (FIFO), c'est-à-dire que c'est le message qui a été créé et stocké en premier dans la mémoire qui sera émis sur le réseau en premier lieu suite à une autorisation ID MSG (i) envoyée par l'arbitre, comme on va le voir en détail plus loin. Referring now to FIG. 2, there is shown a portion 10a of the RAM 10 of a station of the network, part which is intended to temporarily store messages to be transmitted to other stations and which comprises a set of N locations or "boxes" for these messages. The memory constitutes a first-in, first-out (FIFO) stack, that is, it is the message that was created and stored first in the memory that will be sent over the network in the first place. to an authorization ID MSG (i) sent by the referee, as will be seen in detail below.

Comme on l'a illustré, la mémoire est gérée en boucle, c'est-à-dire que les pointeurs, Sxi Ss ou non sélectionnant les divers emplacements de celle-ci sont comptés "modulo N'. As illustrated, the memory is managed in a loop, that is to say that the pointers Sxi Ss or not selecting the various locations thereof are counted "modulo N".

En référence simultanément aux figures 2 et 3, on va maintenant décrire en détail les différentes étapes de la gestion des messages dans la station 1 ainsi que les étapes correspondantes de la gestion de la mémoire 10a stockant ces messages. Referring simultaneously to Figures 2 and 3, will now be described in detail the different steps of the management of messages in the station 1 and the corresponding steps of the management of the memory 10a storing these messages.

On adoptera les conventions suivantes
- N est le nombre total de bottes pour messages dans la mémoire;
- n est un pointeur désignant le numéro de la première boite occupée dans la mémoire; avec OXn < N
- x est un index désignant le nombre total de bottes occupées par des messages, avec O < =x < =N
- y est un index désignant le nombre de messages contenus dans la mémoire et associes à des identifieurs, avec O < -y < x.
We will adopt the following conventions
N is the total number of boots for messages in the memory;
n is a pointer designating the number of the first box occupied in the memory; with OXn <N
- x is an index indicating the total number of boots occupied by messages, with O <= x <= N
- y is an index indicating the number of messages contained in the memory and associated with identifiers, with O <-y <x.

Le pointeur n et tout pointeur indexé le faisant intervenir sont comptés "modulo N". The pointer n and any indexed pointer involving it are counted "modulo N".

Lorsque la station a créé un message destiné a être émis sur le réseau vers une ou plusieurs autres stations déterminées, le processeur vérifie tout d'abord que la mémoire 10a n'est pas pleine, c'est-à-dire que l'on a bien x < N. Dans l'affirmative, le message est emplilé dans la mémoire. Sinon l'empilement est refusé et un avertissement correspondant peut être adressé à l'utilisateur. When the station has created a message intended to be sent over the network to one or more other determined stations, the processor first checks that the memory 10a is not full, ie that one if x <N. If yes, the message is populated in the memory. Otherwise the stacking is refused and a corresponding warning can be sent to the user.

On peut noter ici que le message simplement empilé comme décrit ci-dessus n'est pas associé, c'est-à-dire qu'il n'existe pas encore dans le réseau un identifieur i associé à ce message spécifique. It can be noted here that the message simply stacked as described above is not associated, that is to say that there is not yet in the network an identifier associated with i this specific message.

Par ailleurs, dès qu'il existe dans la mémoire lOa au moins un message, créé récemment ou non, qui n'a pas encore fait l'objet d'une opération d'association telle qu'on va la détailler ci-dessous, c'est-d-dire dès que l'on a y < x, alors une telle association est effectuée, de la façon suivante : dès qu'elle a reçu un identifieur de valeur d'objet, noté ID DAT (i), la station renvoie comme on l'a indiqué plus haut une trame de réponse de type RP DAT MSG (v) qui non seulement renvoie la valeur (v) de l'objet associé à cet identifieur mais également va indiquer à l'arbitre de bus qu'un message dans la pile est dans l'attente d'une association en vue de son émission ultérieure.Une fois cette trame de réponse émise et prise en compte par l'arbitre, il existe dans le réseau un identifieur i supplémentaire disponible pour l'émission de messages à partir de la station. Moreover, as soon as there exists in the memory 10a at least one message, recently created or not, which has not yet been the subject of an association operation as will be detailed below, that is to say, as soon as we have <x, then such an association is carried out, as follows: as soon as it has received an identifier of object value, denoted ID DAT (i), the station returns as indicated above an RP DAT response frame MSG (v) which not only returns the value (v) of the object associated with this identifier but also will indicate to the bus arbiter that a message in the stack is waiting for an association for its subsequent transmission. Once this response frame is sent and taken into account by the referee, there exists in the network an additional identifier i available for use. sending messages from the station.

L'étape suivante consiste alors à achever le processus d'association en transcrivant au sein de la station cette nouvelle situation, ce qui s'effectue en incrémentant d'une unité l'index y, soit y = y + 1. En d'autres termes, le nombre de messages contenus dans la mémoire et déjà associés est incrémenté d'une unité.  The next step is then to complete the association process by transcribing this new situation within the station, which is done by incrementing the index y by one unit, ie y = y + 1. other words, the number of messages contained in the memory and already associated is incremented by one unit.

Dans le cas où tous les messages sont déjà assocités, c'est-à-dire si y = x, alors une simple trame RP DAT (v) est démise.  In the case where all the messages are already associated, that is to say if y = x, then a simple RP DAT (v) frame is discarded.

Ainsi l'on constate d'ores et déjà que la pile des identifieurs de messages située dans l'arbitre et la pile de messages située dans la station considérée coopè- rent à distance en vue de gérer l'émission des messages. Thus, it can already be seen that the stack of message identifiers located in the arbiter and the message stack located in the station under consideration cooperate remotely in order to manage the transmission of messages.

Plus précisément, l'index y constitue une trace suffisante de l'association des messages les uns après les autres, c'est-a-dire de l'empilement des identifieurs de messages correspondants dans la pile de l'arbitre, ce qui permet avantageusement d'éviter de créer une association concrète de chaque message avec son identifieur dans une mémoire spéciale commune.More specifically, the index is a sufficient trace of the association of the messages one after the other, that is to say, the stack of corresponding message identifiers in the stack of the referee, which allows advantageously to avoid creating a concrete association of each message with its identifier in a common special memory.

Maintenant, lorsque, dans une fenêtre temporelle réservée à l'émission de messages, l'arbitre diffuse sur le bus l'identifieur de message ID MSG (i) qui se trouve en première position dans sa pile, la station détecte alors cet identifieur, qui constitue une autorisation d'émettre un message. Il vérifie alors qu'il existe bien dans la pile 10a au moins un message associé, c'est-d-dire que la condition y > O est remplie, et il émet alors sur le bus le message qui est situé en première position parmi tous les messages associés, c'est-à-dire le message qui occupe la boite n, sous la forme d'une trame de type général RP MSG(m). Now, when, in a time window reserved for sending messages, the referee broadcasts on the bus the identifier of the message ID MSG (i) which is in the first position in its stack, the station then detects this identifier, which constitutes an authorization to send a message. It then checks that there exists in the stack 10a at least one associated message, that is to say that the condition y> O is fulfilled, and it then emits on the bus the message which is located in first position among all the associated messages, that is to say the message that occupies the box n, in the form of a frame of general type RP MSG (m).

Dans le cas contraire, aucun message n'est émis.Otherwise, no message is sent.

Après l'émission, deux cas de figure peuvent se présenter, selon que le transfert de message est du type acquittement (trame RP MSG ACK (m)) -ou non (trame RP MSG
NOACK) (m)). Dans le premier cas, la station se place dans l'attente de l'acquittement correspondant crame RP ACK) en provenance de la ou des stations qui étaient destinataires du message, selon un processus classique qui ne sera pas décrit en détail ici.
After transmission, two cases may occur, depending on whether the message transfer is of the acknowledgment type (MSG PRG frame ACK (m)) -or not (MSG RP frame
NOACK) (m)). In the first case, the station is waiting for the corresponding acknowledgment (RP ACK) from the station or stations that were recipients of the message, according to a conventional process that will not be described in detail here.

Une fois que le ou les acquittements correspondants ont été reçus, alors la station peut se débarrasser du message émis, clest-à-dire dépiler le message de la pile. Cette operation nécessite tout d'abord la vérification du fait qul- il existe dans la mémoire 10a au moins un message associé, c'est-à-dire y > O (comme pour l'émission). Dans ltaffirma- tive, l'unité centrale effectue simplement les opérations suivantes sur les index et pointeurs d'adressage
x = x - 1,
y = y - 1, et
n = n + 1 (mod N).
Once the corresponding acknowledgment (s) have been received, then the station may discard the transmitted message, i.e., unpack the message from the stack. This operation first requires verification that there exists in the memory 10a at least one associated message, that is to say y> O (as for the transmission). In the affirmative, the CPU simply performs the following operations on indexes and address pointers
x = x - 1,
y = y - 1, and
n = n + 1 (mod N).

L'on comprend que cela revient à libérer le premier emplacement de la mémoire (anciennement boite n), et à diminuer d'une unité le nombre total de messages x et le nombre total de messages associés y. C'est donc la boite anciennement n + 1 qui devient la première boite contenant un message, et c'est ce dernier qui sera diffusé sur le bus pendant la prochaine fenêtre temporelle réservée à l'émission de messages. It is understood that this amounts to releasing the first location of the memory (formerly box n), and decreasing by one unit the total number of messages x and the total number of associated messages y. It is thus the box formerly n + 1 which becomes the first box containing a message, and it is the latter which will be broadcast on the bus during the next time window reserved for sending messages.

Dans le cas où la transmission du message s'effectue sans acquitement, le dépilement du message émis, comme décrit ci-dessus, s'effectue sans autre condition immédiatement après l'émission du message sur le bus. In the case where the transmission of the message is carried out without acknowledgment, the forwarding of the message sent, as described above, is carried out without any other condition immediately after the transmission of the message on the bus.

La figure 3 illustre par un ordinogramme les diverses étapes principales du procédé de gestion de mémoire tel que décrit ci-dessus. Elle doit être considérée comme faisant partie de la présente description. Il est à noter que cet ordinogramme ne constitue qu'un sous-programme du fonctionnement de la station, les interactions complètes avec le programme principal n'étant pas illustrées par souci de clarté. FIG. 3 illustrates by a flow chart the various main steps of the memory management method as described above. It should be considered as part of this description. It should be noted that this flowchart is only a subprogram of the operation of the station, the complete interactions with the main program not being illustrated for the sake of clarity.

En outre, sur la figure 3, des opérations optionnelles ou mineures du point de vue de la présente invention ont été illustrées en tiretés.In addition, in Figure 3, optional or minor operations from the standpoint of the present invention have been illustrated in dashed lines.

Le tableau I ci-dessous résume les aspects essentiels de la gestion de mémoire conformément à l'invention.  Table I below summarizes the essential aspects of memory management in accordance with the invention.

TABLEAU I
Action Condition Satisfaite ? Exécution
Empilement x < N non empilement refusé
oui empiler le message
dans la botte n + x
puis faire x = x + 1
Association y < x non association refusée
oui associer le message
occupant la boite
n + y puis faire
y=y+i
Emission y > O non émission refusée
oui émettre le message
occupant la boite n Défilement y > O non dépilement refusé
oui faire x = x
y=y-i
n = n + 1 (mod N)
Il est bien entendu que chaque station d'un réseau de transmission de données du type considéré comportera les fonctionnalités telles que décrites ci-dessus.
TABLE I
Action Condition Satisfied? Execution
Stack x <N no stacking refused
yes stack the message
in the boot n + x
then do x = x + 1
Association y <x no association refused
yes associate the message
occupying the box
n + y then do
y = y + i
Emission y> O no emission refused
yes send the message
occupying the box n Scroll y> O no stripping refused
yes do x = x
y = y
n = n + 1 (mod N)
It is understood that each station of a data transmission network of the type considered will include the features as described above.

La présente invention trouve avantageusement application dans tout type de réseau à diffusion offrant un service de messagerie et dans lequel l'initiative de l'accès au réseau, que ce soit pour transmission de données ou de messages, est réservée au seul arbitre, la condition principale étant que l'arbitre conserve de son côté, dans une mémoire, une pile de type "premier entré-premier sorti" (FIFO) des différents identifieurs de messages reçus des stations, et conserve par conséquent de cette manière l'ordre dans lequel les requêtes d'émission de messages ont-été reçues des stations respectives du réseau, en restituant les autorisations correspondantes dans le même ordre
Par ailleurs, grâce à ltemploi d'une mémoire gérée en boucle, les mouvements des informations de type message dans la mémoire sont minimisés. On évite également de recourir à une organisation de mémoire comportant des
N boites pour messages associées a N boites pour les identifieurs correspondants. La capacité de la mémoire est donc également minimisée.
The present invention finds advantageous application in any type of broadcast network offering a messaging service and in which the initiative of access to the network, whether for data transmission or messages, is reserved for the sole arbitrator, the condition the main reason being that the referee keeps on his side, in a memory, a first-in-first-out (FIFO) stack of the different identifiers of messages received from the stations, and therefore keeps in this manner the order in which the requests for sending messages have been received from the respective stations of the network, by restoring the corresponding authorizations in the same order
Furthermore, through the use of loop-managed memory, the movements of message-type information in the memory are minimized. It also avoids the need for a memory organization with
N boxes for messages associated with N boxes for the corresponding identifiers. The capacity of the memory is thus also minimized.

Bien entendu, la présente invention n'est nullement limitée au mode de réalisation décrit ci-dessus et repréJen- té sur les dessins mais l'homme de l'art saura y apporter toute variante ou modification conforme à son esprit.  Of course, the present invention is in no way limited to the embodiment described above and shown in the drawings, but those skilled in the art will be able to make any variant or modification in accordance with his spirit.

Claims (8)

REVENDICATIONS 1. Procédé de gestion d'une mémoire d'information dans une station d'un réseau de transmission de données comportant une pluralité de stations reliées entre elles par un bus, ainsi qu'un arbitre de bus régissant les accès au bus par les diverses stations, réseau du type dans lequel l'émission par une station d'au moins un type d'information implique l'envoi à l'arbitre d'une requête correspondante et le stockage par ce dernieravec conservation de l'ordre, de toutes les requêtes reçues de la station, puis ultérieu- rement l'envoi par l'arbitre vers la station considérée d'une autorisation d'émission de ce type d'information, caractérisé en ce qu'il comprend les étapes consistant à1. A method for managing an information memory in a station of a data transmission network comprising a plurality of stations connected to each other by a bus, and a bus arbitrator governing access to the bus by the various stations, a network of the type in which the transmission by a station of at least one type of information involves the sending to the arbitrator of a corresponding request and the storage by the latter with the preservation of the order, of all the requests received from the station, and subsequently the sending by the referee to the station in question of an authorization to issue this type of information, characterized in that it comprises the steps of - stocker en succession dans une mémoire les informations à émettre, avec conservation de leur ordre;; - Store in succession in a memory the information to be issued, with conservation of their order; - à chaque fois qu'une requête est envoyée a l'arbitre, modifier la valeur d'un index (y) d'accès à ladite mémoire; et each time a request is sent to the arbitrator, modifying the value of an index (y) of access to said memory; and - à chaque fois qu'une autorisation d'émission est reçue de l'arbitre, émettre l'information désignée par un pointeur (n + y) indexé par ledit index. - Whenever a transmission authorization is received from the referee, issue the information designated by a pointer (n + y) indexed by said index. 2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend en outre l'étape consistant à effacer une information de ladite mémoire après qu'elle a été valablement émise.2. Method according to claim 1, characterized in that it further comprises the step of erasing information from said memory after it has been validly issued. 3. Procédé selon l'une des revendications 1 et 2, ca ractérisé en ce que les informations sont mémorisées dans une mémoire de type "premier entré premier sorti" et en ce que ledit index (y) est modifié par incrémentation.3. Method according to one of claims 1 and 2, characterized in that the information is stored in a memory "first in first out" type and in that said index (y) is modified incrementally. 4. Procédé selon la revendication 3, caractérisé en ce que la mémoire est gérée en boucle.4. Method according to claim 3, characterized in that the memory is managed in a loop. 5. Procédé selon la revendication 4, caractérisé en ce que, suite au stockage en mémoire d'une information, un index (x) représentatif du nombre d'informations dans la mémoire est incrémenté. 5. Method according to claim 4, characterized in that, following storage in memory of information, an index (x) representative of the number of information in the memory is incremented. 6. Procédé selon la revendication 5, caractérisé en ce que lorsqu'une information a été valablement émise sur le réseau, un pointeur (n) représentatif de la position de la première information dans la mémoire est incrémenté modulo N et lesdits index (x, y) sont décrémentés, pour ainsi effacer ladite information émise de ladite mémoire.6. Method according to claim 5, characterized in that when information has been validly transmitted on the network, a pointer (n) representative of the position of the first piece of information in the memory is incremented modulo N and said indexes (x, y) are decremented to thereby erase said transmitted information from said memory. 7. Procédé selon l'une des revendications précédentes, caractérisé en ce que le réseau est un réseau de terrain pour transmission cyclique et automatique de valeurs de paramètres (v) entre un ensemble d'automates industriels (1, 11 i"...), en ce que lesdites informations sont des messages (m), et en ce que lesdites requêtes d'émission de message sont incluses dans des trames (RP DAT MSG (v)) d'émission desdites valeurs de paramètres.7. Method according to one of the preceding claims, characterized in that the network is a field network for cyclic and automatic transmission of parameter values (v) between a set of industrial controllers (1, 11 i "... ), that said information is messages (m), and that said message transmission requests are included in frames (RP DAT MSG (v)) for sending said parameter values. 8. Station d'un réseau de transmission de données, pour la mise en oeuvre du procédé selon la revendication 1, au type comprenant une unité centrale (1 2), une mémoire vive (1o) et une unité d'acquisition et/ou de restitution de données (14), caractérisée en ce qu'au moins une partie (10a) de la mémoire est une mémoire de messages dont l'accès par l'unité centrale est régi par un pointeur (n) de position du premier message, un index (x) du nombre de messages mémorisés, et un index (y) du nombre de messages mémorisés pour lesquels une requête d'émission de message (RP DAT MSG (v)) a été envoyée sur le réseau, le pointeur étant incrémenté ou décrémenté modulo N, N étant le nombre d'emplacements pour messages dans ladite partie de la mémoire.  8. Station of a data transmission network, for carrying out the method according to claim 1, the type comprising a central unit (1 2), a random access memory (1o) and an acquisition unit and / or data recovery device (14), characterized in that at least one part (10a) of the memory is a message memory whose access by the central unit is governed by a position pointer (n) of the first message , an index (x) of the number of stored messages, and an index (y) of the number of stored messages for which a message transmission request (RP DAT MSG (v)) has been sent on the network, the pointer being incremented or decremented modulo N, where N is the number of message slots in said portion of the memory.
FR8810992A 1988-08-18 1988-08-18 METHOD FOR MANAGING A MEMORY OF MESSAGES IN A STATION OF A DATA TRANSMISSION NETWORK AND A STATION DESIGNED FOR IMPLEMENTING THE METHOD Expired - Fee Related FR2636447B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR8810992A FR2636447B1 (en) 1988-08-18 1988-08-18 METHOD FOR MANAGING A MEMORY OF MESSAGES IN A STATION OF A DATA TRANSMISSION NETWORK AND A STATION DESIGNED FOR IMPLEMENTING THE METHOD
US07/914,020 US5253343A (en) 1988-08-18 1992-07-15 Method for the management of a memory of messages in a station of a data transmission network, and station designed for the implementation of the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR8810992A FR2636447B1 (en) 1988-08-18 1988-08-18 METHOD FOR MANAGING A MEMORY OF MESSAGES IN A STATION OF A DATA TRANSMISSION NETWORK AND A STATION DESIGNED FOR IMPLEMENTING THE METHOD

Publications (2)

Publication Number Publication Date
FR2636447A1 true FR2636447A1 (en) 1990-03-16
FR2636447B1 FR2636447B1 (en) 1993-03-05

Family

ID=9369395

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8810992A Expired - Fee Related FR2636447B1 (en) 1988-08-18 1988-08-18 METHOD FOR MANAGING A MEMORY OF MESSAGES IN A STATION OF A DATA TRANSMISSION NETWORK AND A STATION DESIGNED FOR IMPLEMENTING THE METHOD

Country Status (1)

Country Link
FR (1) FR2636447B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2679397A1 (en) * 1991-07-16 1993-01-22 Cit Alcatel STRUCTURE OF AN ASSEMBLY OF COMMUNICATING AUTOMATES.

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2714106A1 (en) * 1977-03-30 1978-10-12 Telefonbau & Normalzeit Gmbh Intermediate data storage system - compares successive marked output and input addresses to determine storage availability
US4215399A (en) * 1978-08-24 1980-07-29 Texas Instruments Incorporated Special function control system for a dual microprocessor programmable process control system
US4442504A (en) * 1981-03-09 1984-04-10 Allen-Bradley Company Modular programmable controller
US4494192A (en) * 1982-07-21 1985-01-15 Sperry Corporation High speed bus architecture

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2714106A1 (en) * 1977-03-30 1978-10-12 Telefonbau & Normalzeit Gmbh Intermediate data storage system - compares successive marked output and input addresses to determine storage availability
US4215399A (en) * 1978-08-24 1980-07-29 Texas Instruments Incorporated Special function control system for a dual microprocessor programmable process control system
US4442504A (en) * 1981-03-09 1984-04-10 Allen-Bradley Company Modular programmable controller
US4494192A (en) * 1982-07-21 1985-01-15 Sperry Corporation High speed bus architecture

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2679397A1 (en) * 1991-07-16 1993-01-22 Cit Alcatel STRUCTURE OF AN ASSEMBLY OF COMMUNICATING AUTOMATES.
EP0528703A1 (en) * 1991-07-16 1993-02-24 Alcatel N.V. Structure of a set of communicating programmable logic controllers

Also Published As

Publication number Publication date
FR2636447B1 (en) 1993-03-05

Similar Documents

Publication Publication Date Title
EP2783500B1 (en) Method of processing a request in an information-centred communication network
EP0446081B1 (en) Method for application programm loading in a memory card reader with microprocessor and system for carrying out this method
FR2508200A1 (en) CHANNEL INTERFACE CIRCUIT
FR2681707A1 (en) FILE SYSTEM FOR SELECTIVELY REDISTRIBUTING FILES AND METHOD FOR AFFECTING MEMORY SPACE IN A COMPUTER SYSTEM COMPRISING MULTIPLE DATA STORAGE DEVICES.
EP2476061B1 (en) Direct memory access controller, corresponding method and computer program
FR2824215A1 (en) Communications information network message transmission having messages received/identified and processed forming resultant digital words modifying message with resultant word/transmitting along node/path.
FR2664719A1 (en) CONTROL DEVICE FOR A RECONFIGURABLE PARTITIONING BUFFER MEMORY.
CA2006831C (en) System with a single hdlc circuit and a conversion buffer memory for transmitting hdlc frames over a pcm channel
US20030097418A1 (en) Portable information communication terminal
EP3657859B1 (en) Optimizing data exchange between connected objected by type of message
FR2636447A1 (en) Method of managing a message memory in a station of a data transmission network and station designed for implementing the method
FR2683961A1 (en) Multiplex transmission system
EP0344035B1 (en) Digital information transmission network between several stations
EP0410860B1 (en) Interface for connecting a computer bus to a fibre-optic ring network
EP1286550A2 (en) Device for data processing and routing
FR2836611A1 (en) Network communication method for distributed software architecture, involves storing asynchronous messages sent by card agent to standard agent or vice-versa in storage unit of network by intermediate agent
FR2770008A1 (en) COMMUNICATION DEVICE BETWEEN SEVERAL PROCESSORS
EP0441707B1 (en) Serial bus coupler
EP1952599B1 (en) Controllable information diffusion method
EP1632076B1 (en) Method for processing multimedia content description data sets, use of said method and corresponding computer programme
EP1221115B1 (en) Method and system for transmitting messages for database
EP1501248B1 (en) System and method for electronic messaging
EP0881809B1 (en) Method and apparatus for validation/invalidation of a message frame sent as a response on a communication network
EP1021018A1 (en) Method of managing a packet queue
CA2808581C (en) Generic entity for high-speed communication between ccm components

Legal Events

Date Code Title Description
ST Notification of lapse