WO2003028337A2 - Method for accessing a command unit for a data network - Google Patents

Method for accessing a command unit for a data network Download PDF

Info

Publication number
WO2003028337A2
WO2003028337A2 PCT/DE2002/003444 DE0203444W WO03028337A2 WO 2003028337 A2 WO2003028337 A2 WO 2003028337A2 DE 0203444 W DE0203444 W DE 0203444W WO 03028337 A2 WO03028337 A2 WO 03028337A2
Authority
WO
WIPO (PCT)
Prior art keywords
command
pointer
subscriber
writing
application
Prior art date
Application number
PCT/DE2002/003444
Other languages
German (de)
French (fr)
Other versions
WO2003028337A3 (en
Inventor
Dieter BRÜCKNER
Franz-Josef GÖTZ
Dieter Klotz
Karl-Heinz Krause
Jürgen SCHIMMER
Original Assignee
Siemens Aktiengesellschaft
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
Priority claimed from DE10237350A external-priority patent/DE10237350A1/en
Application filed by Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Priority to CA002461763A priority Critical patent/CA2461763A1/en
Priority to DE50207328T priority patent/DE50207328D1/en
Priority to EP02774365A priority patent/EP1430690B1/en
Priority to CN028187954A priority patent/CN1636373B/en
Publication of WO2003028337A2 publication Critical patent/WO2003028337A2/en
Publication of WO2003028337A3 publication Critical patent/WO2003028337A3/en
Priority to US10/809,446 priority patent/US20050025139A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40019Details regarding a bus master

Definitions

  • the invention relates to a method for accessing a command unit for a data network, in particular a real-time ethernet, a computer program product and a subscriber with such a command unit and a communication system.
  • a synchronous, clocked communication system with equidistance properties is understood to mean a system composed of at least two participants which are connected to one another via a data network for the purpose of mutual exchange of data or the mutual transmission of data.
  • the data exchange takes place cyclically in equidistant communication cycles, which are specified by the communication clock used by the system.
  • Participants include, for example, central automation devices, programming, project planning or operating devices, peripheral devices such as Input / output modules, drives, actuators, sensors, programmable logic controllers (PLC) or other control units, computers or machines that exchange electronic data with other machines, in particular process data from other machines. Participants are also called network nodes or nodes.
  • control units are understood to mean any type of regulator or control unit, but also, for example, switches and / or switch controllers.
  • bus systems such as e.g. Fieldbus, Profibus, Ethernet, Industrial Ethernet, FireWire or even PC-internal bus systems (PCI), etc., but in particular also isochronous real-time Ethernet used.
  • PCI PC-internal bus systems
  • Data networks enable communication between several participants by networking, i.e. connecting the individual participants to one another. Communication means that Transfer of data between participants.
  • the data to be transmitted are sent as data telegrams, ie the data are packed into several packets and sent in this form to the corresponding recipient via the data network.
  • transmission of data is used in this document completely synonymously with the transmission of data telegrams or data packets mentioned above.
  • Automation components e.g. controls, drives, (7) generally have an interface to a cyclically clocked communication system.
  • a run level of the automation component (fast cycle) (eg position control in a controller, torque control of a drive) is synchronized with the communication cycle. This sets the communication clock.
  • Other, low-performance algorithms (slow cycle) (e.g. temperature controls) of the automation component can also only communicate with other components (e.g. binary switches for fans, pumps, ...) via this communication cycle, although a slower cycle would be sufficient.
  • slow cycle e.g. temperature controls
  • command unit for access to a data network (command interface) on a multi-master system
  • several applications can access the command unit simultaneously or in succession, but in any case uncoordinated.
  • the individual applications must be coordinated with the command interface in order to ensure that the commands are transferred and processed at the command interface.
  • processors (masters) of the subscriber can be provided for the implementation of the applications.
  • the invention is therefore based on the object of providing an improved method for accessing a command unit for a data network.
  • the invention is also based on the object of providing an improved computer program for the access of an application to such a command unit and a subscriber for a communication system.
  • the objects on which the invention is based are each achieved with the features of the corresponding independent claims. Preferred embodiments of the invention are specified in the dependent claims.
  • the command transfer to the command unit does not take place directly, but indirectly, in that only a pointer to the address area of the command structure in the subscriber's memory is transferred to the input register of the command unit. It is particularly advantageous that the transfer of the command to the command unit can be carried out as "atomic" write access to the input register, which, for example, only requires one bus cycle.
  • the command unit is used to carry out certain basic operations via the data network.
  • the command unit is used by the different applications of the participant via a common interface. All applications are treated as equivalent.
  • An arbitration unit regulates the access to an internal data bus of the subscriber for the access of the applications to the command unit.
  • a command structure is first stored in the subscriber's memory, in particular the communication memory, before it Command structure is written into the input register by writing a pointer to the address area of the command structure in the memory, and both the processor and the command unit can access the communication memory.
  • the command unit then accesses the command structure and processes it. In comparison to the direct transfer of the command parameters to the command unit, this has the partly that command structures of any length, for example of more than 32 bits, can be processed. Furthermore, the execution time for executing a command structure is not limited and can return different amounts of information.
  • commands can be issued by several applications, which do not necessarily have to be coordinated with one another. Furthermore, several, even identical, commands can be written to the input register one after the other without having to wait for each individual command to be executed.
  • commands received via the input register are confirmed by the command unit in that the command unit enters the confirmation in a confirmation field in the command structure in the subscriber's memory.
  • no demands are made on the data bus with regard to locking or blocking, that is to say the bus is never locked beyond a single read or write operation.
  • the amount of information transmitted between the applications and the command unit is not limited. Coordination, such as interrupt blocking, between the calling applications is not necessary.
  • all commands issued by the applications are transferred to the input register (command interface) in a write cycle in order to avoid bus lock times.
  • the command interface is only passed a pointer (address) to a memory area in which the command structure previously stored in the memory by the application is located. This prevents multiple write accesses to the command interface those that are otherwise required for instructions with multiple operands.
  • the command data from a defined command structure are then read out from the address area in the memory, interpreted by the command interface and transferred to the corresponding execution unit for processing.
  • the active bus nodes of the data bus i.e. the active applications, can carry out write access to the command interface independently of one another. This also supports multi-tasking through unordered (mixed) access by the various applications to the command interface. In order not to interlock the individual tasks of an application by means of interrupt locks, mechanisms are preferably implemented in the command interface which allow random access by all applications to the interface in a wide variety of sequences and at different times.
  • the applications can preferably recognize whether their pointers to a command structure that has been written into the command interface have been adopted. If the read and written addresses are identical, the command on the command interface was accepted. If they are not the same, two options can be responsible for this:
  • the hardware therefore preferably supports two mechanisms, both of which must be used by the software for unambiguous identification:
  • Reading back the data just written (address on command structure) from the command interface This detects whether the data of an application on the command interface has been taken over. If this is the case, the command is executed via the command interface; if not, then the data of a second application have already been entered in the interface and not yet linked from the hardware to the command list, so that a command of the first application could not be accepted.
  • the "Acknowledge" field is preferably set before the command interface can be written again.
  • the transfer of a command is usually completed by chaining the command structure into a command list, so it is done quickly. Optimization for the shortest possible and guaranteed takeover mezeit has priority to avoid unnecessary waiting times in the processing of the software when the command interface is re-written.
  • a command or command sequences of the applications are transferred to the command unit via a shared input register (command register).
  • the address is stored in the command register on a command structure.
  • the structure itself contains all the data necessary for processing the command.
  • the command structure transferred is linked in a command list.
  • the command structure contains a "next" pointer, which can be used to link structures that have not yet been processed.
  • the "next" pointer contains the address of the next command structure that has not yet been processed. This chaining means that the command structures are temporarily stored in the command list. In this way, a decoupling between command processing and command transfer is achieved.
  • the associated command structures are returned to the user.
  • a separate return register also called output register below, through which the command structures are transferred.
  • No pace pickup To ensure that the command structures on the return register have to be guaranteed by the participants, the processed structures are linked into separate, participant-dependent return lists. The return of every edited structure will be announced to the respective participant. The linked command structures are returned via the return register.
  • an application transfers a command structure to the command interface by means of write access to the command register.
  • the application must preferably analyze the "Acknowledge" field of the command structure. If the confirmation is set in the "Acknowledge” field of the structure, the command structure has been adopted and linked to the command list. Failure to accept the structure will result in cyclic write access to the command register (polling).
  • the methods disclosed can be used or used in automation systems, in particular in and in packaging machines, presses, plastic injection machines, textile machines, printing machines, machine tools, robots, handling systems, wood processing machines, glass processing machines, ceramic processing machines and lifting equipment.
  • the invention is suitable both for communication applications and for other applications, such as e.g. Comr ⁇ and interfaces of other intelligent subsystems, in particular graphics systems, can be used.
  • FIG. 1 shows a block diagram of an embodiment of a subscriber of a data network according to the invention
  • FIG. 2 shows a basic illustration of the command interface
  • FIG. 3 shows an example of chained command structures in the subscriber's memory
  • FIG. 4 shows a flow diagram of an embodiment of the method according to the invention.
  • FIG. 1 shows a subscriber 100 of a data network 102.
  • the data network 102 can be, for example, real-time Ethernet for applications in automation technology.
  • a plurality of subscribers are typically connected to such a data network 102, and are basically constructed in the same way as subscriber 100. This creates a communication system.
  • the subscriber 100 has several applications 104, 106, 108, ... which can access a data bus 110 of the subscriber 100.
  • the access of the individual applications 104, 106, 108, ... to the data bus 110 is regulated by an arbiter 112.
  • the subscriber 100 has a memory 114 and a command unit 116.
  • the memory 114 and the command unit 116 are also coupled to the data bus 110.
  • Each of the applications 104, 106, 108 can write to the memory 114 with a command structure 118 via the data bus 110.
  • the command structure 118 consists of a command 120 which can be executed by the command unit 116 and an acknowledgment field 122.
  • the command structure 118 is stored in an address area of the memory 114 to which the pointer 124 points.
  • the command unit 116 is coupled to both the data bus 110 and the data network 102.
  • the command unit 116 is used to carry out various basic operations which relate to the data network 102 with respect to the applications 104, 106, 108, ...
  • the command unit 116 contains an interface for the applications 104, 106, 108, ... which has a command register 126 and a plurality of return registers 128.
  • the command register 126 serves as an input register for storing pointers 124.
  • the command register 126 can be accessed by any of the applications 104, 106, 108,... Via the data bus 110.
  • each of the return registers 128 is assigned to a specific application.
  • the return register 130 is associated with the application 104, the return register 132 with the application 106 and the return register 134 with the application 108, etc.
  • the command unit 116 also contains a command list 136, which is also referred to as a so-called stack.
  • a command list 136 In the command list 136 are the commands accepted and to be processed by the command unit 116.
  • command unit 116 has a logic circuit 138 for processing the commands.
  • one of the applications of subscriber 100 accesses memory 114 via data bus 110 in order to store a command structure 118 there.
  • the application 104 then accesses the command register 126 via the data bus 110 with a write access in order to write the pointer 124 to the command structure 118 into the command register 126.
  • the command unit 116 then takes over the command structure 118 from the memory 114 into the command list 136 and confirms the takeover by a corresponding entry in the confirmation field 122 of the command structure 118.
  • FIG. 2 shows a further development of the command interface of FIG. 1.
  • the command register 126 can be written uncoordinated by the various applications 104, 106, 108, ...
  • the command list 136 results from the adopted command structures 118.
  • each of the return registers 130, 132, 134, ... is assigned a return list 140, ..., the return list 140 being assigned to the return register 130, which in turn is assigned to the application 104.
  • the output of pointers 124 can be buffered.
  • FIG. 3 shows an exemplary embodiment of a chained command structure in the memory 114.
  • the command structure 118 has a field 142 for storing one or more commands 120 (cf. FIG. 1), a field 144 for storing an acknowledgment, which corresponds to the confirmation field 122 of FIG. 1, and a field 146 for storing a pointer 148 to a further command structure 118, which in principle has the same structure.
  • the further command structure 118 has a pointer 150 to a further command structure 118 etc.
  • the last command structure 118 of the chain has no further pointer, with which the last link of the linked command structure is identified.
  • the command structures 118 also have fields 152 for storing parameters, user data or operands for the execution of the relevant command 120.
  • the pointer 124 is transferred to the command register 126 (see FIG. 1) and the transfer is confirmed by the command unit 116, the entire chain of command structures 118 is then processed by the command unit 116.
  • the processing of a complex sequence of commands by the command unit 116 can be initiated by an application.
  • FIG. 4 shows a flow diagram of a method for operating the system of FIG. 1.
  • the method is subdivided into a software process 154 and a hardware process 156.
  • the application leads to which the software process 154 belongs to, for example the application 104 in FIG. 1, has write access to the command register in one bus cycle. This takes place in step 202.
  • the application 104 transfers the pointer 124 to a command structure 118 or a chain of command structures 118. This starts the hardware process 156.
  • step 204 of the hardware process 156 it is checked whether the command register is writable. If this is not the case, the process ends in step 206. In this case, the application must start the software process 154 again with step 200.
  • the command register is writable
  • the pointer 124 passed by the application 104 is entered in the command register, which is done in step 206. Thereafter, writing to the command register is inhibited in step 208 so that other applications cannot overwrite the pointer in the register.
  • step 210 the command structure or the linked command structure is adopted, that is to say the commands to be processed are linked into the command list and the acceptance is confirmed in the confirmation field of the command structure. Thereafter, the writing of the command register is released again in step 212 and the execution of the hardware process 156 ends with step 206.
  • step 214 After the write cycle in step 202, a read cycle in step 214 is performed on the command register in step 214 in software process 154. In step 216 it is checked whether the data previously written in step 202 in the command register, that is to say pointer 124, is still in the command register.
  • step 210 If this is the case, it means that the command structure was adopted in step 210, so that the software process ends with step 218. If the opposite is the case, this can mean that a takeover has taken place and another application has already written the command register with a different pointer, or that the hardware process 156 has not taken over. In this case, the confirmation field in the command structure is checked in step 220. If a confirmation has been entered there, the software process 154 can again be ended with step 218. If this is not the case, the control flow must go back to step 202.

Abstract

The invention relates to a method and a user (100) of a data network (102) comprising: a command unit (116) for accessing the data network (102), means for operating several applications (104, 106, 108,...), whereby said applications can access a data bus (110) of the user (100), means for writing at least one command structure (118) in an address range of a memory of the user (100) by means of a first of the applications via the data bus (110), means for writing an indicator (124) for the address range in the input register (126) of the command unit (116) by means of the first application via the data bus (110), means for enabling the command unit (116) to access the address range via the data bus (110) and to process the command structure (118) and means for writing the indicator (124) in an output register (136, 130) that is assigned to the first application, once the user (100) has processed the command structure (118).

Description

Beschreibungdescription
Verfahren zum Zugriff auf eine Befehlseinheit für ein DatennetzMethod for accessing a command unit for a data network
Die Erfindung betrifft ein Verfahren zum Zugriff auf eine Befehlseinheit für ein Datennetz, insbesondere ein Realtime E- thernet, ein Computerprogrammprodukt sowie einen Teilnehmer mit einer solchen Befehlseinheit und ein Kommunikationssystem.The invention relates to a method for accessing a command unit for a data network, in particular a real-time ethernet, a computer program product and a subscriber with such a command unit and a communication system.
Unter einem synchronen, getakteten Kommunikationssystem mit Äquidistanz-Eigenschaften versteht man ein System aus wenigstens zwei Teilnehmern, die über ein Datennetz zum Zweck des gegenseitigen Austausches von Daten bzw. der gegenseitigen Übertragung von Daten miteinander verbunden sind. Dabei erfolgt der Datenaustausch zyklisch in äquidistanten Kommunikationszyklen, die durch den vom System verwendeten Kommunikationstakt vorgegeben werden. Teilnehmer sind beispielsweise zentrale Automatisierungsgeräte, Programmier-, Projektie- rungs- oder Bediengeräte, Peripheriegeräte wie z.B. Ein-/ Ausgabe-Baugruppen, Antriebe, Aktoren, Sensoren, speicherprogrammierbare Steuerungen (SPS) oder andere Kontrolleinheiten, Computer, oder Maschinen, die elektronische Daten mit anderen Maschinen austauschen, insbesondere Daten von anderen Maschinen verarbeiten. Teilnehmer werden auch Netzwerkknoten oder Knoten genannt. Unter Kontrolleinheiten werden im folgenden Regler- oder Steuerungseinheiten jeglicher Art verstanden, aber auch beispielsweise Switches und/oder Switch-Controller. Als Datennetze werden beispielsweise Bussysteme wie z.B. Feldbus, Profibus, Ethernet, Industrial Ethernet, FireWire oder auch PC-interne Bussysteme (PCI), etc., insbesondere aber auch isochrones Realtime Ethernet verwendet.A synchronous, clocked communication system with equidistance properties is understood to mean a system composed of at least two participants which are connected to one another via a data network for the purpose of mutual exchange of data or the mutual transmission of data. The data exchange takes place cyclically in equidistant communication cycles, which are specified by the communication clock used by the system. Participants include, for example, central automation devices, programming, project planning or operating devices, peripheral devices such as Input / output modules, drives, actuators, sensors, programmable logic controllers (PLC) or other control units, computers or machines that exchange electronic data with other machines, in particular process data from other machines. Participants are also called network nodes or nodes. In the following, control units are understood to mean any type of regulator or control unit, but also, for example, switches and / or switch controllers. For example, bus systems such as e.g. Fieldbus, Profibus, Ethernet, Industrial Ethernet, FireWire or even PC-internal bus systems (PCI), etc., but in particular also isochronous real-time Ethernet used.
Datennetze ermöglichen die Kommunikation zwischen mehreren Teilnehmern durch die Vernetzung, also Verbindung der einzelnen Teilnehmer untereinander. Kommunikation bedeutet dabei die Übertragung von Daten zwischen den Teilnehmern. Die zu übertragenden Daten werden dabei als Datentelegramme verschickt, d.h. die Daten werden zu mehreren Paketen zusammengepackt und in dieser Form über das Datennetz an den entsprechenden Empfänger gesendet. Man spricht deshalb auch von Datenpaketen. Der Begriff Übertragung von Daten wird dabei in diesem Dokument völlig synonym zur oben erwähnten Übertragung von Datentelegrammen oder Datenpaketen verwendet.Data networks enable communication between several participants by networking, i.e. connecting the individual participants to one another. Communication means that Transfer of data between participants. The data to be transmitted are sent as data telegrams, ie the data are packed into several packets and sent in this form to the corresponding recipient via the data network. One therefore speaks of data packets. The term transmission of data is used in this document completely synonymously with the transmission of data telegrams or data packets mentioned above.
In verteilten Automatisierungssystemen, beispielsweise im Bereich Antriebstechnik, müssen bestimmte Daten zu bestimmten Zeiten bei den dafür bestimmten Teilnehmern eintreffen und von den Empfängern verarbeitet werden. Man spricht dabei von echtzeitkritischen Daten bzw. Datenverkehr, da ein nicht rechtzeitiges Eintreffen der Daten am Bestimmungsort zu unerwünschten Resultaten beim Teilnehmer führt, im Gegensatz zur nicht echtzeitkritischen, beispielsweise inter- bzw. intranetbasierten Datenkommunikation. Gemäss IEC 61491, EN61491 SERCOS interface - Technische Kurzbeschreibung (http://www.sercos.de/deutsch/index_deutsch.htm) kann ein erfolgreicher echtzeitkritischer Datenverkehr der genannten Art in verteilten Automatisierungssystemen gewährleistet werden.In distributed automation systems, for example in the field of drive technology, certain data have to arrive at the specified participants at certain times and have to be processed by the receivers. One speaks of real-time-critical data or data traffic, since a late arrival of the data at the destination leads to undesirable results for the subscriber, in contrast to non-real-time-critical, for example inter- or intranet-based data communication. According to IEC 61491, EN61491 SERCOS interface - technical brief description (http://www.sercos.de/deutsch/index_deutsch.htm), successful real-time-critical data traffic of the type mentioned can be guaranteed in distributed automation systems.
Automatisierungskomponenten (z.B. Steuerungen, Antriebe, ... ) verfügen heute im Allgemeinen über eine Schnittstelle zu einem zyklisch getakteten Kommunikationssystem. Eine Ablaufebene der Automatisierungskomponente (Fast-cycle) (z.B. Lageregelung in einer Steuerung, Drehmomentregelung eines Antriebs) ist auf den Kommunikationszyklus synchronisiert. Dadurch wird der Kommunikationstakt festgelegt. Andere, niederperformante Algorithmen (Slow-cycle) (z.B. Temperaturregelungen) der Automatisierungskomponente können ebenfalls nur über diesen Kommunikationstakt mit anderen Komponenten (z.B. Binärschalter für Lüfter, Pumpen,...) kommunizieren, obwohl ein langsamerer Zyklus ausreichend wäre. Durch Verwendung nur eines Kommunikationstaktes zur Übertragung von allen Informationen im System entstehen hohe Anforderungen an die Bandbreite der Übertragungsstrecke .Automation components (e.g. controls, drives, ...) generally have an interface to a cyclically clocked communication system. A run level of the automation component (fast cycle) (eg position control in a controller, torque control of a drive) is synchronized with the communication cycle. This sets the communication clock. Other, low-performance algorithms (slow cycle) (e.g. temperature controls) of the automation component can also only communicate with other components (e.g. binary switches for fans, pumps, ...) via this communication cycle, although a slower cycle would be sufficient. By using only one communication clock to transmit all information the system places high demands on the bandwidth of the transmission link.
Beim Betrieb einer Befehlseinheit für den Zugriff auf ein Datennetz (Command-Interface) an einem Multi-Master-System können mehrere Anwendungen gleichzeitig oder nacheinander, in jedem Fall jedoch unkoordiniert auf die Befehlseinheit zugreifen. Eine Koordinierung der einzelnen Anwendungen auf das Command-Interface ist hierbei nötig, um die Übergabe und Bearbeitung der Befehle am Command-Interface zu gewährleisten. Für die Implementierung der Anwendungen können ein oder mehrere Prozessoren (Master) des Teilnehmers vorgesehen sein.When operating a command unit for access to a data network (command interface) on a multi-master system, several applications can access the command unit simultaneously or in succession, but in any case uncoordinated. The individual applications must be coordinated with the command interface in order to ensure that the commands are transferred and processed at the command interface. One or more processors (masters) of the subscriber can be provided for the implementation of the applications.
Die Koordination wurde bisher auf Software-Ebene (Treiber) realisiert, indem für die Dauer der Bearbeitung die Anwendungen durch Interrupt-Sperren blockiert wurden. Auf Hardware- Ebene konnte durch ein Bus-Locking ein weiterer Zugriff auf das Command-Interface verhindert werden. Somit wurde ebenfalls die Software für die Dauer der Bearbeitung angehalten. Nachteil:Coordination was previously implemented at the software level (driver) by blocking the applications with interrupt locks for the duration of the processing. At the hardware level, further access to the command interface could be prevented by bus locking. Thus the software was also stopped for the duration of the processing. Disadvantage:
- Auch wenn eine Anwendung keinen Zugriff auf das Command- Interface durchführen will, wird aufgrund der Bus-Locking- Mechanismen die Softwarebearbeitung unterbrochen.- Even if an application does not want to access the command interface, software processing is interrupted due to the bus locking mechanisms.
Durch die Interrupt-Sperre kann für die Dauer der Befehlsbearbeitung ein auftretendes Interrupt-Ereignis nicht sofort bearbeitet werden, die Interrupt-Routine wird verspätet ausgeführt. Die längste Interruptsperrzeit bestimmt die Interruptlatenzzeit des Systems.Due to the interrupt lock, an occurring interrupt event cannot be processed immediately for the duration of the command processing; the interrupt routine is executed late. The longest interrupt blocking time determines the interrupt latency of the system.
Der Erfindung liegt daher die Aufgabe zu Grunde ein verbessertes Verfahren zum Zugriff auf eine Befehlseinheit für ein Datennetz zu schaffen. Der Erfindung liegt ferner die Aufgabe zu Grunde ein verbessertes Computerprogramm für den Zugriff einer Anwendung auf eine solche Befehlseinheit zu schaffen sowie einen Teilnehmer für ein Kommunikationssystem. Die der Erfindung zu Grunde liegenden Aufgaben werden jeweils mit den Merkmalen der entsprechenden unabhängigen Patentansprüche gelöst. Bevorzugte Ausführungsformen der Erfindung sind in den abhängigen Patentansprüchen angegeben.The invention is therefore based on the object of providing an improved method for accessing a command unit for a data network. The invention is also based on the object of providing an improved computer program for the access of an application to such a command unit and a subscriber for a communication system. The objects on which the invention is based are each achieved with the features of the corresponding independent claims. Preferred embodiments of the invention are specified in the dependent claims.
Erfindungsgemäß erfolgt die Befehlsübergabe an die Befehlseinheit nicht direkt, sondern indirekt, indem lediglich ein Zeiger auf den Adressbereich der Befehlsstruktur in dem Speicher des Teilnehmers in das Eingangs-Register der Befehlseinheit übergeben wird. Von besonderem Vorteil ist dabei, dass die Übergabe des Befehls an die Befehlseinheit als „atomarer" Schreibzugriff auf das Eingangs-Register durchgeführt werden kann, der zum Beispiel nur einen Bustakt benötigt.According to the invention, the command transfer to the command unit does not take place directly, but indirectly, in that only a pointer to the address area of the command structure in the subscriber's memory is transferred to the input register of the command unit. It is particularly advantageous that the transfer of the command to the command unit can be carried out as "atomic" write access to the input register, which, for example, only requires one bus cycle.
Nach einer bevorzugten Ausführungsform der Erfindung dient die Befehlseinheit zur Durchführung bestimmter Grundoperationen über das Datennetz. Die Befehlseinheit wird von den verschiedenen Anwendungen des Teilnehmers über ein gemeinsames Interface genutzt. Dabei werden alle Anwendungen als gleichwertig behandelt. Den Zugriff auf einen internen Datenbus des Teilnehmers für den Zugriff der Anwendungen auf die Befehlseinheit regelt eine Arbitrierungseinheit .According to a preferred embodiment of the invention, the command unit is used to carry out certain basic operations via the data network. The command unit is used by the different applications of the participant via a common interface. All applications are treated as equivalent. An arbitration unit regulates the access to an internal data bus of the subscriber for the access of the applications to the command unit.
Von besonderem Vorteil ist, dass aufgrund des „atomaren" Schreibzugriffs auf das Eingangs-Register der Befehlseinheit keine Bus-Lock-Mechanismen oder Interrupt-Sperren erforderlich sind. Erfindungsgemäß wird zunächst eine Befehlsstruktur in dem Speicher des Teilnehmers, insbesondere dem Kommunikationsspeicher hinterlegt, bevor diese Befehlsstruktur durch das Schreiben eines Zeigers auf den Adressbereich der Befehlsstruktur in dem Speicher in das Eingangs-Register geschrieben wird. Sowohl der Prozessor als auch die Befehlseinheit können auf den Kommunikationsspeicher zugreifen.It is particularly advantageous that no bus lock mechanisms or interrupt locks are required due to the "atomic" write access to the input register of the command unit. According to the invention, a command structure is first stored in the subscriber's memory, in particular the communication memory, before it Command structure is written into the input register by writing a pointer to the address area of the command structure in the memory, and both the processor and the command unit can access the communication memory.
Die Befehlseinheit greift dann auf die Befehlsstruktur zu und arbeitet diese ab. Dies hat im Vergleich zu der direkten Ü- bergabe der Befehlsparameter an die Befehlseinheit den Vor- teil, dass Befehlsstrukturen einer beliebigen Länge, zum Beispiel von mehr als 32-Bit bearbeitet werden können. Ferner ist auch die Ausführungsdauer für die Ausführung einer Befehlsstruktur nicht begrenzt und kann unterschiedlich viel Information zurückliefern.The command unit then accesses the command structure and processes it. In comparison to the direct transfer of the command parameters to the command unit, this has the partly that command structures of any length, for example of more than 32 bits, can be processed. Furthermore, the execution time for executing a command structure is not limited and can return different amounts of information.
Ein weiterer Vorteil ist, dass Befehle von mehreren Anwendungen abgegeben werden können, die nicht notwendigerweise untereinander koordiniert sein müssen. Ferner können mehrere, auch gleiche Befehle direkt nacheinander in das Eingangs- Register geschrieben werden, ohne die Ausführung jedes einzelnen Befehls abwarten zu müssen.Another advantage is that commands can be issued by several applications, which do not necessarily have to be coordinated with one another. Furthermore, several, even identical, commands can be written to the input register one after the other without having to wait for each individual command to be executed.
Nach einer bevorzugten Ausführungsform der Erfindung erfolgt eine Bestätigung von über das Eingangs-Register übernommenen Befehle durch die Befehlseinheit dadurch, dass die Befehlseinheit die Bestätigung in ein Bestätigungs-Feld in der Befehlsstruktur in dem Speicher des Teilnehmers einträgt.According to a preferred embodiment of the invention, commands received via the input register are confirmed by the command unit in that the command unit enters the confirmation in a confirmation field in the command structure in the subscriber's memory.
Nach einer weiteren bevorzugten Ausführungsform der Erfindung werden keinerlei Anforderungen an den Datenbus bezüglich Locken bzw. Blockierung gestellt, das heißt der Bus wird nie über eine einzelne Lese- oder Schreiboperation hinaus gelockt. Ferner ist die zwischen den Anwendungen und der Befehlseinheit übertragene Informationsmenge nicht nach oben hin begrenzt. Eine Koordinierung wie zum Beispiel Interrupt- Sperren zwischen den aufrufenden Anwendungen ist nicht notwendig.According to a further preferred embodiment of the invention, no demands are made on the data bus with regard to locking or blocking, that is to say the bus is never locked beyond a single read or write operation. Furthermore, the amount of information transmitted between the applications and the command unit is not limited. Coordination, such as interrupt blocking, between the calling applications is not necessary.
Nach einer weiteren bevorzugten Ausführungsform der Erfindung werden alle von den Anwendungen abgesetzten Befehle in einem Schreibzyklus dem Eingangs-Register (Command-Interface) übergeben, um Bus-Lock-Zeiten zu vermeiden. Dem Command-Interface wird lediglich ein Zeiger (Adresse) auf einen Speicherbereich übergeben, in dem sich die von der Anwendung zuvor in dem Speicher abgelegte Befehlsstruktur befindet. Dadurch werden mehrfache Schreib-Zugriffe auf das Command-Interface vermie- den, die sonst bei Befehlen mit mehreren Operanden erforderlich sind.According to a further preferred embodiment of the invention, all commands issued by the applications are transferred to the input register (command interface) in a write cycle in order to avoid bus lock times. The command interface is only passed a pointer (address) to a memory area in which the command structure previously stored in the memory by the application is located. This prevents multiple write accesses to the command interface those that are otherwise required for instructions with multiple operands.
Aus dem Adressbereich in dem Speicher werden dann die Befehlsdaten aus einer definierten Befehlsstruktur vom Command- Interface ausgelesen, interpretiert und der entsprechenden Ausführungseinheit zur Bearbeitung übergeben.The command data from a defined command structure are then read out from the address area in the memory, interpreted by the command interface and transferred to the corresponding execution unit for processing.
Die aktiven Busteilnehmer des Datenbusses, das heißt die aktiven Anwendungen, können unabhängig voneinander Schreibzugriffe auf das Command-Interface durchführen. Dadurch wird auch Multi-Tasking durch nicht geordnete (gemischte) Zugriffe der verschiedenen Anwendungen auf das Command-Interface unterstützt. Um die einzelnen Tasks einer Anwendung nicht durch Interrupt-Sperren gegenseitig zu verriegeln, sind im Command- Interface vorzugsweise Mechanismen implementiert, die einen wahlfreien Zugriff aller Anwendungen in verschiedenster Reihenfolge und zu unterschiedlichen Zeiten auf das Interface zulassen.The active bus nodes of the data bus, i.e. the active applications, can carry out write access to the command interface independently of one another. This also supports multi-tasking through unordered (mixed) access by the various applications to the command interface. In order not to interlock the individual tasks of an application by means of interrupt locks, mechanisms are preferably implemented in the command interface which allow random access by all applications to the interface in a wide variety of sequences and at different times.
Vorzugsweise können die Anwendungen erkennen, ob ihre Zeiger auf eine Befehlsstruktur, die in das Command-Interface geschrieben wurde, übernommen worden sind. Sind gelesene und geschriebene Adresse identisch, so wurde das Kommando am Command-Interface akzeptiert. Sind sie ungleich, so können hierfür zwei Möglichkeiten verantwortlich sein:The applications can preferably recognize whether their pointers to a command structure that has been written into the command interface have been adopted. If the read and written addresses are identical, the command on the command interface was accepted. If they are not the same, two options can be responsible for this:
- Das Kommando wurde nicht akzeptiert, weil die Übernahme eines früheren Kommandos noch nicht abgeschlossen war.- The command was not accepted because the takeover of a previous command had not yet been completed.
- Das Kommando wurde bereits übernommen, aber zwischen dem Schreiben und Lesen wurde bereits ein weiteres Kommando ü- bernommen. Diese Situation kann sich sowohl mit einer Anwendung (Kernel mit preemptiven Multitasking, wenn dies nicht vom Betriebssystem verwaltet wird) als auch bei Systemen mit mehreren physikalischen Teilnehmern ergeben. Daher werden von der Hardware vorzugsweise zwei Mechanismen unterstützt, die beide von der Software zur eindeutigen Erkennung genutzt werden müssen:- The command has already been taken over, but another command has already been taken over between writing and reading. This situation can arise with an application (kernel with preemptive multitasking if this is not managed by the operating system) as well as with systems with several physical nodes. The hardware therefore preferably supports two mechanisms, both of which must be used by the software for unambiguous identification:
• Rücklesen der gerade geschriebenen Daten (Adresse auf Befehlsstruktur) aus dem Command-Interface. Dabei wird erkannt, ob die Daten einer Anwendung am Command-Interface übernommen worden sind. Ist dies der Fall, so wird der Befehl über das Command-Interface ausgeführt; wenn nicht, dann wurden bereits vorab die Daten einer zweiten Anwendung ins Interface eingetragen und noch nicht von der Hardware in die Command-Liste umgekettet, so dass ein Command der ersten Anwendung nicht angenommen werden konnte.• Reading back the data just written (address on command structure) from the command interface. This detects whether the data of an application on the command interface has been taken over. If this is the case, the command is executed via the command interface; if not, then the data of a second application have already been entered in the interface and not yet linked from the hardware to the command list, so that a command of the first application could not be accepted.
• Bestätigung der übernommenen Daten. Werden zwischen Beschreiben und Rücklesen der Adresse folgende Aktionen am Command-Interface ausgeführt, wie z. B.• Confirmation of the transferred data. If the following actions are performed on the command interface between writing and reading back the address, e.g. B.
Übernahme des Befehls durch das Command-Interface,Takeover of the command by the command interface,
Bestätigen der Übernahme durch ein "Acknowledge" -Feld in der Befehlsstruktur durch das Command-Interface,Confirmation of acceptance by an "Acknowledge" field in the command structure by the command interface,
Beschreiben des Command-Interfaces mit neuen Adressdaten durch einen zweiten Teilnehmer,Describe the command interface with new address data by a second participant,
so stimmen geschriebene und rückgelesene Daten nicht mehr überein. Die Übernahme eines Befehls kann jetzt lediglich am "Acknowledge" -Feld der Befehlsstruktur eindeutig erkannt werden.written and read back data no longer match. The acceptance of a command can now only be clearly recognized in the "Acknowledge" field of the command structure.
Um ein critical race auszuschließen, wird vorzugsweise erst das "Acknowledge"-Feld gesetzt, bevor das Command-Interface wieder beschreibbar wird. Die Übernahme eines Kommandos ist in der Regel mit der Einkettung der Befehlsstruktur in eine Command-Liste abgeschlossen, sie erfolgt also schnell. Eine Optimierung auf eine möglichst kurze und garantierte Übernah- mezeit hat Priorität, um bei einem erneuten Schreibzugriff auf das Command-Interface keine unnötigen Wartezeiten in der Abarbeitung der Software zu erhalten.In order to exclude a critical race, the "Acknowledge" field is preferably set before the command interface can be written again. The transfer of a command is usually completed by chaining the command structure into a command list, so it is done quickly. Optimization for the shortest possible and guaranteed takeover mezeit has priority to avoid unnecessary waiting times in the processing of the software when the command interface is re-written.
Nach einer weiteren bevorzugten Ausführungsform der Erfindung wird ein Befehl bzw. Befehlsfolgen der Anwendungen über ein gemeinsam genutztes Eingangs-Register (Command-Register) der Befehlseinheit übergeben.According to a further preferred embodiment of the invention, a command or command sequences of the applications are transferred to the command unit via a shared input register (command register).
Dabei wird im Command-Register die Adresse (Zeiger) auf eine Befehlsstruktur abgelegt. Die Struktur selbst enthält alle für die Abarbeitung des Befehls notwendigen Daten. Um bei langer Befehlsbearbeitung das Command-Register nicht für die gesamte Befehlsbearbeitungs-Dauer zu blockieren, wird die ü- bergebene Befehlsstruktur in einer Command-Liste eingekettet. Die Befehlsstruktur enthält dafür einen "next" -Zeiger, mit deren Hilfe noch nicht bearbeitete Strukturen verkettet werden können. Der "next" -Zeiger enthält die Adresse der nächsten noch nicht bearbeiteten Befehlsstruktur. Über diese Verkettung wird eine Zwischenspeicherung der Befehlsstrukturen in der Command-Liste erreicht. Dadurch wird eine Entkopplung zwischen Befehlsbearbeitung und Befehlsübergabe erreicht.The address (pointer) is stored in the command register on a command structure. The structure itself contains all the data necessary for processing the command. In order not to block the command register for the entire command processing time during long command processing, the command structure transferred is linked in a command list. The command structure contains a "next" pointer, which can be used to link structures that have not yet been processed. The "next" pointer contains the address of the next command structure that has not yet been processed. This chaining means that the command structures are temporarily stored in the command list. In this way, a decoupling between command processing and command transfer is achieved.
Erfolgt ein Schreibzugriff von einem der Teilnehmer auf das Register, wird die Übernahme weiterer Daten am Command- Register solange verhindert, bis der übergebene Befehl in der Command-Liste eingekettet ist. Erst nachdem das Command- Interface die Übernahme des Befehls durch Setzen des entsprechenden "Acknowledge" -Feldes bestätigt hat, wird ein neuer Schreibzugriff auf das Command-Register akzeptiert.If write access is made by one of the participants to the register, the transfer of further data to the command register is prevented until the transferred command is linked in the command list. Only after the command interface has confirmed the acceptance of the command by setting the corresponding "Acknowledge" field, a new write access to the command register is accepted.
Nachdem die über das Command-Register übergebenen Befehle abgearbeitet worden sind, werden die zugehörigen Befehlsstrukturen dem Anwender zurückgegeben. Dabei ist für jede Anwendung ein getrenntes Return-Register, im folgenden auch Ausgangs-Register genannt, vorhanden, über das die Befehlsstrukturen übergegeben werden. Um keine schritthaltende Abholung der Befehlsstrukturen am Return-Register durch die Teilnehmer gewährleisten zu müssen, werden die bearbeiteten Strukturen in getrennte, teilnehmerabhängige Return-Listen eingekettet. Die Rückgabe jeder bearbeiteten Struktur, wird dem jeweiligen Teilnehmer bekanntgemacht. Die verketteten Befehlsstrukturen werden dabei über das Return-Register zurückgegeben.After the commands transferred via the command register have been processed, the associated command structures are returned to the user. For each application there is a separate return register, also called output register below, through which the command structures are transferred. No pace pickup To ensure that the command structures on the return register have to be guaranteed by the participants, the processed structures are linked into separate, participant-dependent return lists. The return of every edited structure will be announced to the respective participant. The linked command structures are returned via the return register.
Nach einer bevorzugten Ausführungsform der Erfindung übergibt eine Anwendung eine Befehlsstruktur durch einen Schreibzugriff auf das Command-Register an das Command-Interface.According to a preferred embodiment of the invention, an application transfers a command structure to the command interface by means of write access to the command register.
Als Folge des Schreibvorgangs auf das Command-Registers werden solange keine Daten nachfolgender Schreibzugriffe akzeptiert, bis die übergebene Struktur vom Command-Interface in die gemeinsame Command-Liste eingekettet und im "Acknowled- ge"-Feld der Struktur die Übernahme bestätigt wurde. Lesezugriffe auf das Command-Register sind jedoch weiterhin erlaubt. Um zu kontrollieren, ob der gerade eingeschriebene Wert auch ins Command-Register eingetragen worden ist, werden die Daten des Registers wieder zurückgelesen. Stimmen Schreib- und Lesedaten überein, so wurde der Schreibzyklus auf das Command-Register ausgeführt.As a result of the write process to the command register, no data from subsequent write accesses will be accepted until the transferred structure has been linked into the common command list by the command interface and the transfer has been confirmed in the "Acknowledgment" field of the structure. However, read access to the command register is still permitted. To check whether the value just written has also been entered in the command register, the data in the register are read back. If write and read data match, the write cycle to the command register has been carried out.
Bestehen zwischen den geschriebenen und gelesenen Daten jedoch Unterschiede, so können hierfür zwei Gründe verantwortlich sein:However, if there are differences between the written and read data, two reasons can be responsible:
Im Zeitraum zwischen dem Schreib- und Lesezyklus einer Anwendung 1, wurde die ins Command-Register eingetragene Befehlsstruktur bereits in die Command-Liste übernommen und die Bestätigung im "Acknowledge"-Feld der Struktur gesetzt. Das Einschreiben neuer Daten in das Command- Register wurde daraufhin freigegeben. Noch bevor die Anwendung 1 ihren Lesezyklus durchführt, konnte die Anwendung 2 einen Schreibzugriff auf das Command-Register absetzen. - Vor dem Beschreiben des Command-Registers durch eine Anwendung 1 wurde bereits von der Anwendung 2 ein Schreibzugriff abgesetzt. Der Eintrag der nachfolgenden Adressdaten der Anwendung 1 wird dadurch verhindert.In the period between the write and read cycle of an application 1, the command structure entered in the command register was already transferred to the command list and the confirmation was set in the "Acknowledge" field of the structure. The writing of new data into the command register was then released. Before application 1 performed its read cycle, application 2 was able to issue write access to the command register. - Before application 1 wrote to the command register, application 2 had already issued a write access. This prevents entry of the following address data for application 1.
Treten Unterschiede zwischen den Schreib- und Lesedaten auf, so muss die Anwendung vorzugsweise das "Acknowledge" -Feld der Befehlsstruktur analysieren. Ist die Bestätigung im "Acknowledge" -Feld der Struktur gesetzt, so wurde die Befehlsstruktur übernommen und in die Command-Liste eingekettet. Die nicht bestätigte Übernahme der Struktur führt zu einem zyklischen Schreibzugriff auf das Command-Register (Polling) .If there are differences between the write and read data, the application must preferably analyze the "Acknowledge" field of the command structure. If the confirmation is set in the "Acknowledge" field of the structure, the command structure has been adopted and linked to the command list. Failure to accept the structure will result in cyclic write access to the command register (polling).
Von besonderem Vorteil ist es darüber hinaus, dass die offenbarten Verfahren in Automatisierungssystemen, insbesondere bei und in Verpackungsmaschinen, Pressen, Kunststoffspritzmaschinen, Textilmaschinen, Druckmaschinen, Werkzeugmaschinen, Robotor, Handlingssystemen, Holzverarbeitungsmaschinen, Glasverarbeitungsmaschinen, Keramikverarbeitungsmaschinen sowie Hebezeugen eingesetzt bzw. verwendet werden können.It is also particularly advantageous that the methods disclosed can be used or used in automation systems, in particular in and in packaging machines, presses, plastic injection machines, textile machines, printing machines, machine tools, robots, handling systems, wood processing machines, glass processing machines, ceramic processing machines and lifting equipment.
Von weiterem Vorteil ist, dass die Erfindung sowohl für Kommunikationsanwendungen als auch für andere Anwendungen, wie z.B. Comrαand-Interfaces anderer intelligenter Subsysteme, insbesondere Graphiksysteme, einsetzbar ist.It is a further advantage that the invention is suitable both for communication applications and for other applications, such as e.g. Comrαand interfaces of other intelligent subsystems, in particular graphics systems, can be used.
Im Weiteren werden bevorzugte Ausführungsformen der Erfindung mit Bezugnahme auf die Zeichnungen näher erläutert. Es zeigen:Preferred embodiments of the invention are explained in more detail below with reference to the drawings. Show it:
Figur 1 ein Blockdiagramm einer Ausführungsform eines erfindungsgemäßen Teilnehmers eines Datennetzes,FIG. 1 shows a block diagram of an embodiment of a subscriber of a data network according to the invention,
Figur 2 eine Prinzipdarstellung des Command-Interfaces,FIG. 2 shows a basic illustration of the command interface,
Figur 3 ein Beispiel für verkettete Befehls-Strukturen in dem Speicher des Teilnehmers, Figur 4 ein Flussdiagramm einer Ausführungsform des erfindungsgemäßen Verfahrens.FIG. 3 shows an example of chained command structures in the subscriber's memory, FIG. 4 shows a flow diagram of an embodiment of the method according to the invention.
Die Figur 1 zeigt einen Teilnehmer 100 eines Datennetzes 102. Bei dem Datennetz 102 kann es sich zum Beispiel um ein Realtime Ethernet für Anwendungen in der Automatisierungstechnik handeln. An ein solches Datennetz 102 werden typischerweise mehrere Teilnehmer angeschlossen, die prinzipiell gleich wie der Teilnehmer 100 aufgebaut sind. Dadurch wird ein Kommunikationssystem geschaffen.FIG. 1 shows a subscriber 100 of a data network 102. The data network 102 can be, for example, real-time Ethernet for applications in automation technology. A plurality of subscribers are typically connected to such a data network 102, and are basically constructed in the same way as subscriber 100. This creates a communication system.
Der Teilnehmer 100 hat mehrere Anwendungen 104, 106, 108, ... , die auf einen Datenbus 110 des Teilnehmers 100 zugreifen können. Der Zugriff der einzelnen Anwendungen 104, 106, 108, ... auf den Datenbus 110 wird durch einen Arbiter 112 geregelt .The subscriber 100 has several applications 104, 106, 108, ... which can access a data bus 110 of the subscriber 100. The access of the individual applications 104, 106, 108, ... to the data bus 110 is regulated by an arbiter 112.
Ferner hat der Teilnehmer 100 einen Speicher 114 und eine Befehlseinheit 116. Der Speicher 114 und die Befehlseinheit 116 sind ebenfalls an den Datenbus 110 gekoppelt.Furthermore, the subscriber 100 has a memory 114 and a command unit 116. The memory 114 and the command unit 116 are also coupled to the data bus 110.
Jede der Anwendungen 104, 106, 108 kann über den Datenbus 110 den Speicher 114 mit einer Befehlsstruktur 118 beschreiben. In der Ausführungsform der Figur 1 besteht die Befehlsstruktur 118 aus einem, von der Befehlseinheit 116 ausführbaren Befehl 120 und einem Bestätigungs-Feld 122. Die Befehlsstruktur 118 wird in einem Adressbereich des Speichers 114 gespeichert, auf den der Zeiger 124 zeigt.Each of the applications 104, 106, 108 can write to the memory 114 with a command structure 118 via the data bus 110. In the embodiment of FIG. 1, the command structure 118 consists of a command 120 which can be executed by the command unit 116 and an acknowledgment field 122. The command structure 118 is stored in an address area of the memory 114 to which the pointer 124 points.
Die Befehlseinheit 116 ist sowohl mit dem Datenbus 110 als auch mit dem Datennetz 102 gekoppelt. Die Befehlseinheit 116 dient zur Ausführung verschiedener Grundoperationen, die das Datennetz 102 bezüglich der Anwendungen 104, 106, 108, ... betreffen. Die Befehlseinheit 116 beinhaltet ein Interface für die Anwendungen 104, 106, 108, ... welches ein Command- Register 126 und mehrere Return-Register 128 aufweist. Das Command-Register 126 dient als Eingangs-Register zur Abspeicherung von Zeigern 124. Auf das Command-Register 126 kann jede der Anwendungen 104, 106, 108, ... über den Datenbus 110 zugreifen. Dagegen ist jedes der Return-Register 128 einer bestimmten Anwendung zugeordnet. Zum Beispiel ist das Return-Register 130 der Anwendung 104, das Return-Register 132 der Anwendung 106 und das Return-Register 134 der Anwendung 108 zugeordnet, etc.The command unit 116 is coupled to both the data bus 110 and the data network 102. The command unit 116 is used to carry out various basic operations which relate to the data network 102 with respect to the applications 104, 106, 108, ... The command unit 116 contains an interface for the applications 104, 106, 108, ... which has a command register 126 and a plurality of return registers 128. The command register 126 serves as an input register for storing pointers 124. The command register 126 can be accessed by any of the applications 104, 106, 108,... Via the data bus 110. In contrast, each of the return registers 128 is assigned to a specific application. For example, the return register 130 is associated with the application 104, the return register 132 with the application 106 and the return register 134 with the application 108, etc.
Die Befehlseinheit 116 beinhaltet ferner eine Command-Liste 136, die auch als sogenannter Stack bezeichnet wird. In der Command-Liste 136 befinden sich die von der Befehlseinheit 116 akzeptierten und abzuarbeitenden Befehle.The command unit 116 also contains a command list 136, which is also referred to as a so-called stack. In the command list 136 are the commands accepted and to be processed by the command unit 116.
Ferner hat die Befehlseinheit 116 eine Logik-Schaltung 138 zur Bearbeitung der Befehle.In addition, the command unit 116 has a logic circuit 138 for processing the commands.
Im Betrieb greift eine der Anwendungen des Teilnehmers 100, zum Beispiel die Anwendung 104 über den Datenbus 110 auf den Speicher 114 zu, um dort eine Befehlsstruktur 118 abzulegen. Danach greift die Anwendung 104 über den Datenbus 110 auf das Command-Register 126 mit einem Schreib-Zugriff zu, um den Zeiger 124 auf die Befehlsstruktur 118 in das Command- Register 126 zu schreiben. Die Befehlseinheit 116 übernimmt dann die Befehlsstruktur 118 aus dem Speicher 114 in die Command-Liste 136 und bestätigt die Übernahme durch einen entsprechenden Eintrag in dem Bestätigungs-Feld 122 der Befehlsstruktur 118.In operation, one of the applications of subscriber 100, for example application 104, accesses memory 114 via data bus 110 in order to store a command structure 118 there. The application 104 then accesses the command register 126 via the data bus 110 with a write access in order to write the pointer 124 to the command structure 118 into the command register 126. The command unit 116 then takes over the command structure 118 from the memory 114 into the command list 136 and confirms the takeover by a corresponding entry in the confirmation field 122 of the command structure 118.
Nach der Bearbeitung der Befehlsstruktur 118 schreibt die Befehlseinheit 116 den Zeiger 124 in das Return-Register 130, welches der Anwendung 104 zugeordnet ist. Die Anwendung 104 kann das Return-Register 130 durch einen Lese-Zugriff über den Datenbus 110 abfragen, um zu prüfen, ob die Befehlsstruktur 118 bereits abgearbeitet worden ist. Die Figur 2 zeigt eine Weiterbildung des Command-Interfaces der Figur 1.After processing the command structure 118, the command unit 116 writes the pointer 124 into the return register 130, which is assigned to the application 104. The application 104 can query the return register 130 by means of a read access via the data bus 110 in order to check whether the command structure 118 has already been processed. FIG. 2 shows a further development of the command interface of FIG. 1.
Das Command-Register 126 kann dabei von den verschiedenen Anwendungen 104, 106, 108, ... unkoordiniert beschrieben werden. Aus den übernommenen Befehlsstrukturen 118 resultiert die Command-Liste 136.The command register 126 can be written uncoordinated by the various applications 104, 106, 108, ... The command list 136 results from the adopted command structures 118.
Ferner ist jedem der Return-Register 130, 132, 134, ... eine Return-Liste 140, ... zugeordnet, wobei die Return-Liste 140 dem Return-Register 130 zugeordnet ist, welches wiederum der Anwendung 104 zugeordnet ist. Mit Hilfe der Return-Liste 140 lässt sich die Ausgabe von Zeigern 124 puffern.Furthermore, each of the return registers 130, 132, 134, ... is assigned a return list 140, ..., the return list 140 being assigned to the return register 130, which in turn is assigned to the application 104. With the help of the return list 140, the output of pointers 124 can be buffered.
Die Figur 3 zeigt ein Ausführungsbeispiel für eine verkettete Befehlsstruktur in dem Speicher 114. In diesem Ausführungsbeispiel hat die Befehlsstruktur 118 ein Feld 142 für die Speicherung von ein oder mehreren Befehlen 120 (vgl. Fig. 1), ein Feld 144 zur Speicherung einer Bestätigung, welches dem Bestätigungs-Feld 122 der Figur 1 entspricht, sowie ein Feld 146 zur Speicherung eines Zeigers 148 auf eine weitere Befehlsstruktur 118, die prinzipiell gleich aufgebaut ist. Die weitere Befehlsstruktur 118 hat einen Zeiger 150 auf eine weitere Befehlsstruktur 118 etc. Die letzte Befehlsstruktur 118 der Kette hat keinen weiteren Zeiger, womit das letzte Glied der verketteten Befehlsstruktur gekennzeichnet ist.FIG. 3 shows an exemplary embodiment of a chained command structure in the memory 114. In this exemplary embodiment, the command structure 118 has a field 142 for storing one or more commands 120 (cf. FIG. 1), a field 144 for storing an acknowledgment, which corresponds to the confirmation field 122 of FIG. 1, and a field 146 for storing a pointer 148 to a further command structure 118, which in principle has the same structure. The further command structure 118 has a pointer 150 to a further command structure 118 etc. The last command structure 118 of the chain has no further pointer, with which the last link of the linked command structure is identified.
Die Befehlsstrukturen 118 haben ferner Felder 152 zur Speicherung von Parametern, Nutzdaten oder Operanden für die Ausführung des betreffenden Befehls 120.The command structures 118 also have fields 152 for storing parameters, user data or operands for the execution of the relevant command 120.
Wird der Zeiger 124 in dieser Ausführungsform an das Command- Register 126 übergeben (vgl. Figur 1) und wird die Übergabe von der Befehlseinheit 116 bestätigt, so wird die gesamte Kette von Befehlsstrukturen 118 von der Befehlseinheit 116 daraufhin abgearbeitet. Mit einem einzigen „atomaren" Schreibzugriff auf das Command-Register 126 zum Beispiel in- nerhalb eines Bustaktes, kann also die Abarbeitung einer komplexen Abfolge von Befehlen durch die Befehlseinheit 116 von einer Anwendung angestoßen werden.In this embodiment, if the pointer 124 is transferred to the command register 126 (see FIG. 1) and the transfer is confirmed by the command unit 116, the entire chain of command structures 118 is then processed by the command unit 116. With a single "atomic" write access to the command register 126, for example, Within a bus cycle, the processing of a complex sequence of commands by the command unit 116 can be initiated by an application.
Die Figur 4 zeigt ein Flussdiagramm eines Verfahrens zum Betrieb des Systems der Figur 1. Das Verfahren untergliedert sich in einen Software-Prozess 154 und einen Hardware-Prozess 156. Nach dem Start des Software-Prozesses 154 in dem Schritt 200 führt die Anwendung, zu der der Software-Prozess 154 gehört, zum Beispiel die Anwendung 104 der Figur 1, einen Schreib-Zugriff auf das Command-Register in einem Buszyklus aus. Dies erfolgt in dem Schritt 202. In dem Schreibzyklus übergibt die Anwendung 104 den Zeiger 124 auf eine Befehlsstruktur 118 bzw. eine Verkettung von Befehlsstrukturen 118. Dadurch wird der Hardware-Prozess 156 gestartet.FIG. 4 shows a flow diagram of a method for operating the system of FIG. 1. The method is subdivided into a software process 154 and a hardware process 156. After the software process 154 has been started in step 200, the application leads to which the software process 154 belongs to, for example the application 104 in FIG. 1, has write access to the command register in one bus cycle. This takes place in step 202. In the write cycle, the application 104 transfers the pointer 124 to a command structure 118 or a chain of command structures 118. This starts the hardware process 156.
In dem Schritt 204 des Hardware-Prozesses 156 wird geprüft, ob das Command-Register beschreibbar ist. Ist dies nicht der Fall, endet der Ablauf in dem Schritt 206. In diesem Fall muss die Anwendung den Software-Prozess 154 mit dem Schritt 200 erneut beginnen.In step 204 of the hardware process 156, it is checked whether the command register is writable. If this is not the case, the process ends in step 206. In this case, the application must start the software process 154 again with step 200.
Wenn das Command-Register jedoch beschreibbar ist, so wird der von der Anwendung 104 übergebene Zeiger 124 in das Command-Register eingetragen, was in dem Schritt 206 erfolgt. Danach wird das Beschreiben des Command-Registers in dem Schritt 208 gesperrt, so dass andere Anwendungen den in dem Register befindlichen Zeiger nicht überschreiben können.However, if the command register is writable, the pointer 124 passed by the application 104 is entered in the command register, which is done in step 206. Thereafter, writing to the command register is inhibited in step 208 so that other applications cannot overwrite the pointer in the register.
In dem Schritt 210 wird die Befehlsstruktur bzw. die verkettete Befehlsstruktur übernommen, das heißt es erfolgt ein Einketten der abzuarbeitenden Befehle in die Command-Liste und eine Bestätigung der Übernahme im Bestätigungs-Feld der BefehlsStruktur. Danach wird das Beschreiben des Command-Registers in dem Schritt 212 wieder freigegeben und der Ablauf des Hardware- Prozesses 156 endet mit dem Schritt 206.In step 210, the command structure or the linked command structure is adopted, that is to say the commands to be processed are linked into the command list and the acceptance is confirmed in the confirmation field of the command structure. Thereafter, the writing of the command register is released again in step 212 and the execution of the hardware process 156 ends with step 206.
Nach dem Schreibzyklus in dem Schritt 202 wird in dem Software-Prozess 154 ein Lesezyklus in dem Schritt 214 auf das Command-Register in dem Schritt 214 durchgeführt. In dem Schritt 216 wird geprüft, ob die zuvor in dem Schritt 202 in das Command-Register geschriebenen Daten, das heißt der Zeiger 124, noch in dem Command-Register stehen.After the write cycle in step 202, a read cycle in step 214 is performed on the command register in step 214 in software process 154. In step 216 it is checked whether the data previously written in step 202 in the command register, that is to say pointer 124, is still in the command register.
Ist dies der Fall, so bedeutet dies, dass eine Übernahme der Befehlsstruktur in dem Schritt 210 erfolgt ist, so dass der Software-Prozess mit dem Schritt 218 endet. Ist das Gegenteil der Fall, so kann dies bedeuten, dass eine Übernahme erfolgt ist und bereits eine andere Anwendung das Command-Register mit einem anderen Zeiger beschrieben hat, oder dass eine Ü- bernahme seitens des Hardware-Prozesses 156 nicht erfolgt ist. In diesem Fall wird in dem Schritt 220 das Bestätigungs- Feld in der Befehlsstruktur überprüft. Wenn dort eine Bestätigung eingetragen worden ist, so kann der Software-Prozess 154 wiederum mit dem Schritt 218 beendet werden. Ist dies nicht der Fall, so muss die Ablaufsteuerung zurück zu dem Schritt 202 gehen. If this is the case, it means that the command structure was adopted in step 210, so that the software process ends with step 218. If the opposite is the case, this can mean that a takeover has taken place and another application has already written the command register with a different pointer, or that the hardware process 156 has not taken over. In this case, the confirmation field in the command structure is checked in step 220. If a confirmation has been entered there, the software process 154 can again be ended with step 218. If this is not the case, the control flow must go back to step 202.

Claims

Patentansprüche claims
1. Verfahren zum Zugriff auf eine Befehlseinheit (116) für ein Datennetz (102) mit folgenden Schritten:1. A method for accessing a command unit (116) for a data network (102) with the following steps:
- Betrieb mehrerer Anwendungen (104, 106, 108,...) in einem Teilnehmer (100) des Datennetzes (102) , wobei die Anwendungen auf einen Datenbus (110) des Teilnehmers (100) zugreifen können,- Operation of several applications (104, 106, 108, ...) in one subscriber (100) of the data network (102), the applications being able to access a data bus (110) of the subscriber (100),
- Schreiben zumindest einer Befehlsstruktur (118) in einen Adressbereich eines Speichers des Teilnehmers (100) durch eine erste der Anwendungen über den Datenbus (110),- writing at least one command structure (118) into an address area of a memory of the subscriber (100) by a first of the applications via the data bus (110),
- Schreiben eines Zeigers (124) auf den Adressbereich in ein Eingangs-Register (126) der Befehlseinheit (116) durch die erste Anwendung über den Datenbus (HO),- writing a pointer (124) to the address area in an input register (126) of the command unit (116) by the first application via the data bus (HO),
- Zugriff der Befehlseinheit (116) auf den Adressbereich über den Datenbus (110) und Bearbeitung der Befehlsstruktur (118) ,Access of the command unit (116) to the address area via the data bus (110) and processing of the command structure (118),
- Schreiben des Zeigers (124) in ein der ersten Anwendung zugeordnetes Ausgaberegister (136, 130) nach der Bearbeitung der Befehlsstruktur (118) durch den Teilnehmer (100) .- Writing the pointer (124) in an output register (136, 130) assigned to the first application after the processing of the command structure (118) by the subscriber (100).
2. Verfahren nach Anspruch 1, wobei der Zugriff auf den Datenbus (110) durch eine Arbitrierungseinheit (112) geregelt wird, wobei ein Zugriff für eine vorgegebene Anzahl von Bustakten erlaubt wird und die vorgegebene Anzahl von Bustakten für das Schreiben des Zeigers (124) in das Ei'n- gangs-Register (126) ausreichend ist. 2. The method according to claim 1, wherein access to the data bus (110) is regulated by an arbitration unit (112), wherein access is permitted for a predetermined number of bus clocks and the predetermined number of bus clocks for writing the pointer (124) in the egg 'n gangs register (126) is sufficient.
3. Verfahren nach Anspruch 1 oder 2, wobei die Befehlsstruktur (118) ein Bestätigungs-Feld (122) beinhaltet, mit folgenden weiteren Schritten:3. The method of claim 1 or 2, wherein the command structure (118) includes an acknowledgment field (122), with the following further steps:
- Sperren des Eingangs-Registers (126) nach dem Schreiben des Zeigers (124) durch den Teilnehmer (100),- blocking of the input register (126) after the pointer (124) has been written by the subscriber (100),
- Schreiben einer Bestätigung in das Bestätigungs-Feld (122) durch den Teilnehmer (100),- writing a confirmation in the confirmation field (122) by the participant (100),
- Freigabe des Eingangs-Registers (126) durch den Teilnehmer (100) nach der Bestätigung.- Release of the input register (126) by the participant (100) after the confirmation.
4. Verfahren nach einem der vorhergehenden Ansprüche 1 bis-4. The method according to any one of the preceding claims 1 to
3, mit folgenden weiteren Schritten:3, with the following further steps:
- Lesen des Eingangs-Registers (126) durch die erste Anwendung nach dem Schreiben des Zeigers (124) ,Reading the input register (126) by the first application after writing the pointer (124),
- Prüfung durch die erste Anwendung, ob das Eingangs- Register (126) den Zeiger (124) beinhaltet,- Check by the first application whether the input register (126) contains the pointer (124)
- Falls dies nicht der Fall ist: Prüfung, ob eine Bestätigung in dem Bestätigungs-Feld (122) gespeichert worden ist.- If this is not the case: check whether a confirmation has been stored in the confirmation field (122).
5. Verfahren nach einem der vorhergehenden Ansprüche 1 bis5. The method according to any one of the preceding claims 1 to
4, wobei die Befehlsstruktur (118) ausführbare Befehle und Nutzdaten beinhaltet.4, wherein the command structure (118) contains executable commands and user data.
6. Verfahren nach einem der vorhergehenden Ansprüche 1 bis6. The method according to any one of the preceding claims 1 to
5, wobei durch die erste Anwendung mehrere miteinander ■ verkettete Befehlsstrukturen in den Speicher geschrieben werden und der Zeiger (124) auf den Adressbereich der ersten Befehlsstruktur (118) der Kette zeigt. 5, wherein the first application writes several interlinked command structures into the memory and the pointer (124) points to the address area of the first command structure (118) of the chain.
7. Computerprogrammprodukt, insbesondere digitales Speichermedium, für eine Anwendung (104, 106, 108,...) eines Teilnehmers (100) eines Datennetzes (102), wobei die Anwendung auf einen Datenbus (110) für mehrere Anwendungen des Teilnehmers (100) zugreifen kann, und der Teilnehmer (100) ein Eingangs-Register (126) und ein der Anwendung zugeordnetes Ausgabe-Register (136, 130) aufweist, mit Programmmitteln zur Durchführung der folgenden Schritte:7. Computer program product, in particular digital storage medium, for an application (104, 106, 108, ...) of a subscriber (100) of a data network (102), the application to a data bus (110) for multiple uses of the subscriber (100) can access, and the subscriber (100) has an input register (126) and an output register (136, 130) assigned to the application, with program means for performing the following steps:
- Schreiben einer Befehlsstruktur (118) in einen Adressbereich eines Speichers des Teilnehmers (100) über den Datenbus (110),- writing a command structure (118) into an address area of a memory of the subscriber (100) via the data bus (110),
- Schreiben eines Zeigers (124) auf den Adressbereich in das Eingangs-Register (126) der Befehlseinheit (116) über den Datenbus (110),- writing a pointer (124) to the address area in the input register (126) of the command unit (116) via the data bus (110),
- Lesen des Eingangs-Registers (126) , um zu überprüfen, dass die Befehlsstruktur (118) durch die Befehlseinheit (116) bestätigt worden ist.- Reading the input register (126) to check that the command structure (118) has been confirmed by the command unit (116).
8. Computerprogramm nach Anspruch 7, wobei eine Überprüfung eines Bestätigungs-Felds (122) in der Befehlsstruktur (118) erfolgt, wenn bei dem Lesen des Eingangs-Registers (126) der Zeiger (124) nicht mehr in dem Eingangs- Register (126) steht.8. The computer program according to claim 7, wherein a confirmation field (122) is checked in the command structure (118) if, when reading the input register (126), the pointer (124) is no longer in the input register (126 ) stands.
9. Computerprogramm nach Anspruch 7 oder 8, wobei mehrere miteinander verkettete Befehlsstrukturen in den Speicher des Teilnehmers (100) geschrieben werden, und der Zeiger9. The computer program according to claim 7 or 8, wherein a plurality of interlinked command structures are written into the memory of the subscriber (100), and the pointer
(124) auf den Adressbereich der ersten Befehlsstruktur(124) to the address area of the first command structure
(118) der Kette zeigt.(118) of the chain shows.
10. Computerprogrammprodukt nach Anspruch 7, 8 oder 9, wobei das der Anwendung zugeordnete Ausgabe-Register (136, 130) gelesen wird, um zu überprüfen, ob die Befehlsstruktur (118) von der Befehlseinheit (116) bearbeitet worden ist. 10. The computer program product of claim 7, 8 or 9, wherein the output register (136, 130) associated with the application is read to check whether the command structure (118) has been processed by the command unit (116).
11. Teilnehmer (100) eines Datennetzes (102) mit11. Participant (100) of a data network (102)
- einer Befehlseinheit (116) zum Zugriff auf das Datennetz (102),- a command unit (116) for accessing the data network (102),
Mitteln zum Betrieb mehrerer Anwendungen (104, 106, 108,...), wobei die Anwendungen auf einen Datenbus (110) des Teilnehmers (100) zugreifen können,Means for operating a plurality of applications (104, 106, 108, ...), the applications being able to access a data bus (110) of the subscriber (100),
- Mitteln zum Schreiben zumindest einer Befehlsstruktur- Means for writing at least one command structure
(118) in einen Adressbereich eines Speichers des Teilnehmers (100) durch eine erste der Anwendungen über den Datenbus (110),(118) into an address area of a memory of the subscriber (100) through a first of the applications via the data bus (110),
- Mitteln zum Schreiben eines Zeigers (124) auf den Adressbereich in ein Eingangs-Register (126) der Befehlseinheit (116) durch die erste Anwendung über den Datenbus (110),Means for writing a pointer (124) to the address area into an input register (126) of the command unit (116) by the first application via the data bus (110),
- Mitteln zum Zugriff der Befehlseinheit (116) auf den Adressbereich über den Datenbus (110) und Bearbeitung der Befehlsstruktur (118),Means for accessing the command unit (116) to the address area via the data bus (110) and processing the command structure (118),
- Mitteln zum Schreiben des Zeigers (124) in ein der ersten Anwendung zugeordnetes Ausgaberegister (136, 130) nach der Bearbeitung der Befehlsstruktur (118) durch den Teilnehmer (100) .- Means for writing the pointer (124) into an output register (136, 130) assigned to the first application after the processing of the command structure (118) by the subscriber (100).
12. Teilnehmer (100) nach Anspruch 11 mit einer Arbitrie- rungseinheit (112) zur Regelung des Zugriffs auf den Datenbus (110) , wobei ein Zugriff für eine vorgegebene Anzahl von Bustakten erlaubt wird und die vorgegebene Anzahl von Bustakten für das Schreiben des Zeigers12. Participant (100) according to claim 11 with an arbitration unit (112) for regulating access to the data bus (110), wherein access is permitted for a predetermined number of bus cycles and the predetermined number of bus cycles for writing the pointer
(124) in das Eingangs-Register (126) ausreichend ist. (124) in the input register (126) is sufficient.
13. Teilnehmer (100) nach Anspruch 11 oder 12, bei dem ein Bestätigungs-Feld (122) in der Befehlsstruktur (118) beinhaltet ist und mit13. Participant (100) according to claim 11 or 12, in which a confirmation field (122) is included in the command structure (118) and with
- Mitteln zum Sperren des Eingangs-Registers (126) nach dem Schreiben des Zeigers (124) durch den Teilnehmer (100),- means for locking the input register (126) after the pointer (124) has been written by the subscriber (100),
- Mitteln zum Schreiben einer Bestätigung in das Bestätigungs-Feld (122) durch den Teilnehmer (100),Means for writing a confirmation in the confirmation field (122) by the subscriber (100),
- Mittel zur Freigabe des Eingangs-Registers (126) durch den Teilnehmer (100) nach der Bestätigung.- Means for releasing the input register (126) by the subscriber (100) after the confirmation.
14. Teilnehmer (100) nach Anspruch 11, 12 oder 13 mit14. Participant (100) according to claim 11, 12 or 13 with
- Mitteln zum Lesen des Eingangs-Registers (126) durch die erste Anwendung nach dem Schreiben des Zeigers (124),Means for reading the input register (126) by the first application after writing the pointer (124),
- Mitteln zur Prüfung durch die erste Anwendung, ob das Eingangs-Register (126) den Zeiger (124) beinhaltet, und, falls dies nicht der Fall ist, zur Prüfung, ob eine Bestätigung in dem Bestätigungs-Feld (122) gespeichert worden ist.Means for checking by the first application whether the input register (126) contains the pointer (124) and, if not, checking whether an acknowledgment has been stored in the acknowledgment field (122) ,
15. Teilnehmer (100) nach einem der vorhergehenden Ansprüche 11 bis 14, wobei die Befehlsstruktur (118) ausführbare Befehle und Nutzdaten beinhaltet.15. Participant (100) according to any one of the preceding claims 11 to 14, wherein the command structure (118) contains executable commands and user data.
16. Teilnehmer (100) nach einem der vorhergehenden Ansprüche 11 bis 15, mit mehreren miteinander verketteten Befehlsstrukturen in dem Speicher, wobei der Zeiger (124) auf den Adressbereich der ersten Befehlsstruktur (118) der Kette zeigt. 16. Participant (100) according to one of the preceding claims 11 to 15, with a plurality of interlinked command structures in the memory, the pointer (124) pointing to the address area of the first command structure (118) of the chain.
7. Kommunikationssystem mit einem Datennetz (102) und mehreren Teilnehmern nach einem der vorhergehenden Patentansprüche 11 bis 16. 7. Communication system with a data network (102) and several participants according to one of the preceding claims 11 to 16.
PCT/DE2002/003444 2001-09-26 2002-09-13 Method for accessing a command unit for a data network WO2003028337A2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CA002461763A CA2461763A1 (en) 2001-09-26 2002-09-13 Method for accessing a command unit for a data network
DE50207328T DE50207328D1 (en) 2001-09-26 2002-09-13 METHOD FOR ACCESSING A COMMAND UNIT FOR A DATA NETWORK
EP02774365A EP1430690B1 (en) 2001-09-26 2002-09-13 Method for accessing a command unit for a data network
CN028187954A CN1636373B (en) 2001-09-26 2002-09-13 Method for accessing a command unit for a data network
US10/809,446 US20050025139A1 (en) 2001-09-26 2004-03-26 Method for accessing a command unit for a data network

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
DE10147411.3 2001-09-26
DE10147411 2001-09-26
DE10237350.7 2002-08-14
DE10237350A DE10237350A1 (en) 2001-09-26 2002-08-14 Method for accessing a command unit for a data network

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US10/809,446 Continuation US20050025139A1 (en) 2001-09-26 2004-03-26 Method for accessing a command unit for a data network

Publications (2)

Publication Number Publication Date
WO2003028337A2 true WO2003028337A2 (en) 2003-04-03
WO2003028337A3 WO2003028337A3 (en) 2003-08-07

Family

ID=26010222

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2002/003444 WO2003028337A2 (en) 2001-09-26 2002-09-13 Method for accessing a command unit for a data network

Country Status (8)

Country Link
US (1) US20050025139A1 (en)
EP (1) EP1430690B1 (en)
CN (1) CN1636373B (en)
AT (1) ATE331378T1 (en)
CA (1) CA2461763A1 (en)
DE (1) DE50207328D1 (en)
ES (1) ES2266579T3 (en)
WO (1) WO2003028337A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110663222A (en) * 2017-05-24 2020-01-07 Wago管理有限责任公司 Processing process data

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4806295B2 (en) * 2006-05-25 2011-11-02 富士通株式会社 Communication interface device and communication method
JP4890613B2 (en) * 2007-06-04 2012-03-07 富士通株式会社 Packet switch device
US20100145340A1 (en) * 2008-12-05 2010-06-10 Kyphon Sarl Introducer Tool for Bone Measurement
CN108664213B (en) * 2017-03-31 2024-01-19 北京忆恒创源科技股份有限公司 Atomic write command processing method based on distributed cache and solid-state storage device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000052585A2 (en) * 1999-03-01 2000-09-08 Sun Microsystems, Inc. Method and apparatus for interrupt handling

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5133062A (en) * 1986-03-06 1992-07-21 Advanced Micro Devices, Inc. RAM buffer controller for providing simulated first-in-first-out (FIFO) buffers in a random access memory
JP2575557B2 (en) * 1990-11-13 1997-01-29 インターナショナル・ビジネス・マシーンズ・コーポレイション Super computer system
FR2702578B1 (en) * 1993-03-12 1995-04-14 Bull Sa Communication system with a network.
US7159223B1 (en) * 2000-05-12 2007-01-02 Zw Company, Llc Methods and systems for applications to interact with hardware
KR100716950B1 (en) * 2000-08-11 2007-05-10 삼성전자주식회사 Bus system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000052585A2 (en) * 1999-03-01 2000-09-08 Sun Microsystems, Inc. Method and apparatus for interrupt handling

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KIEL E ET AL: "EINCHIP-CONTROLLER FUER DAS SERCOS-INTERFACE. ÖINTEGRIERTE ECHTZEIT-KOMMUNIKATION FUER DIE MSR-TECHNIK" ELEKTRONIK, FRANZIS VERLAG GMBH. MUNCHEN, DE, Bd. 41, Nr. 6, 17. M{rz 1992 (1992-03-17), Seiten 50,55-59, XP000287921 ISSN: 0013-5658 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110663222A (en) * 2017-05-24 2020-01-07 Wago管理有限责任公司 Processing process data
CN110663222B (en) * 2017-05-24 2022-09-27 Wago管理有限责任公司 Processing process data

Also Published As

Publication number Publication date
EP1430690A2 (en) 2004-06-23
DE50207328D1 (en) 2006-08-03
EP1430690B1 (en) 2006-06-21
US20050025139A1 (en) 2005-02-03
ES2266579T3 (en) 2007-03-01
CN1636373B (en) 2010-06-16
CN1636373A (en) 2005-07-06
WO2003028337A3 (en) 2003-08-07
CA2461763A1 (en) 2003-04-03
ATE331378T1 (en) 2006-07-15

Similar Documents

Publication Publication Date Title
EP1430406B1 (en) Method for the arbitration of access to a data bus
DE3204905C2 (en)
DE3820544C2 (en) Local area network system with a multi-computer system coupled to it and method for controlling it
EP2030118B1 (en) Multi-processor gateway
EP0006164B1 (en) Multiprocessor system with jointly usable storages
DE102005004464A1 (en) Method for storing messages in a message memory and message memory
EP2485153B1 (en) Switch assemblies and method for controlling data exchange in a switch assembly
CH675781A5 (en)
DE4005042C2 (en) Multi-computer system for performing motion controls
EP2110995A1 (en) Data transfer device
EP1430690B1 (en) Method for accessing a command unit for a data network
EP0739509A1 (en) Arrangement with master and slave units
DE102006009034B3 (en) Bus system method for operating a bus system has transmission channels for linking masters and slaves to each other and linking each master to an arbiter
DE10306285A1 (en) Microcomputer system
DE10237350A1 (en) Method for accessing a command unit for a data network
EP0970426B1 (en) Dependency controller for overlapping memory access operations
DE202011052249U1 (en) Timing for microcontroller system bus for multiport slave modules
EP1430669B1 (en) Method for processing consistent data sets
DE2544071C3 (en) Multi-level memory system
DE10234145A1 (en) Method for arbitrating access to a data bus
EP1430657B1 (en) Method for creating a dynamic address table for a switching node in a data network and a method for transmitting a data message
EP0496919B1 (en) Method to chronologically order accesses of units for data transmission and processing to a multiport area
DE69733542T2 (en) Method and device for data exchange between two processor units
DE10149296B4 (en) Multiprocessor system
DE2362117B2 (en) Data processing system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): CA CN

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FR GB GR IE IT LU MC NL PT SE SK TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2002774365

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2461763

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 20028187954

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 10809446

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2002774365

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 2002774365

Country of ref document: EP