WO2000052567A1 - System for transmitting data records that are divided into a plurality of words - Google Patents

System for transmitting data records that are divided into a plurality of words Download PDF

Info

Publication number
WO2000052567A1
WO2000052567A1 PCT/DE2000/000663 DE0000663W WO0052567A1 WO 2000052567 A1 WO2000052567 A1 WO 2000052567A1 DE 0000663 W DE0000663 W DE 0000663W WO 0052567 A1 WO0052567 A1 WO 0052567A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
control unit
data record
data
access
Prior art date
Application number
PCT/DE2000/000663
Other languages
German (de)
French (fr)
Inventor
Jürgen BERMANN
Jörg Mensinger
Harald Raab
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
Application filed by Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Publication of WO2000052567A1 publication Critical patent/WO2000052567A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/06Indexing scheme relating to groups G06F5/06 - G06F5/16
    • G06F2205/067Bidirectional FIFO, i.e. system allowing data transfer in two directions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/10Indexing scheme relating to groups G06F5/10 - G06F5/14
    • G06F2205/108Reading or writing the data blockwise, e.g. using an extra end-of-block pointer

Definitions

  • the invention relates to an arrangement for the transmission of data records divided into several words between two control units with a memory arrangement according to the preamble of claim 1.
  • a buffer memory is used, in which the data to be transmitted are written and read out, controlled by a synchronization unit. Both control units can have read and / or write access to the buffer memory.
  • the synchronization unit prevents the case in which one control unit has only partially written a data record and the other control unit has subsequently written the entire one
  • the second control unit was then received a corrupt data record. Accordingly, an error would occur if one control unit would retrieve some words of a data record from a memory area of the buffer memory and the other unit would enter the complete data record in the same memory area before the first control unit could completely retrieve the words of the data record. If one control unit wants to write a data record into the buffer memory or read it from it, it first checks to synchronize the accesses whether it accesses the same address range as the other control unit.
  • the address range includes such a number of addresses as is required to record the words of a data record.
  • the address area is compared with the address area of the access of the other control unit stored in a register and checked whether the address ranges match. As long as there is a match, the other control unit has exclusive access to the buffer memory. One control unit must therefore wait until the other control unit has read out or written in the complete data record. This ensures data consistency. This means that it is ensured that data records are always exchanged in a continuous manner between the two control units.
  • This arrangement for the transmission of data sets presupposes that both control units have a deterministic behavior. Such behavior of the control is required, for example, in automation systems. To ensure that a process is operated correctly and a malfunction can be reacted to sufficiently quickly, orders are processed cyclically by control units in automation technology. If one of the two control units is implemented by a fieldbus controller, in particular a PROFIBUS DP master, to which a decentralized periphery consisting of sensors and actuators is connected via the fieldbus, the buffer memory must be accessed cyclically. The PROFIBUS DP master reads out new output data from the buffer memory and forwards it to the connected distributed I / O via the PROFIBUS.
  • the one control unit which in the example described works as a PROFIBUS DP master, compliance with a defined, predictable cycle time must be ensured. If a processor of a personal computer with a non-real-time operating system, for example Windows NT, is used as the other control unit, it can happen that, for example, a writing process of a new data record is interrupted before all the words belonging to the data record have been written into the buffer memory. There is no guarantee that the PC processor will continue to write within the defined cycle time and that the data record will be written completely into the buffer memory. On one side of the buffer memory, however, the fieldbus controller must wait to read this data record until the PC processor on the other side has completed its writing process. The cycle time specified for the fieldbus is thus exceeded and the distributed I / O connected to the fieldbus initiates the intrinsically safe state.
  • the known arrangement for the transmission of data records is therefore only suitable for transmission between two control units, both of which have a deterministic behavior.
  • the invention has for its object to provide an arrangement for the transmission of data sets divided into several words, in which a consistent transmission of the data sets is guaranteed and at the same time two control units involved in the transmission can be operated largely without mutual interference.
  • each control unit can always access a memory that is available to it almost exclusively. Processes can therefore run separately on the two control units and each control unit has all the information it needs in its memory. If a new data record has been completely entered into a first memory which is assigned to a first control unit by the first control unit, then this data record is copied in a comparatively fast manner at a point in time at which a second control unit points to the corresponding data record in a second one assigned to it Memory is not currently being accessed, transferred to the second memory. After a slight delay, current data is available in both memories. This advantageously ensures a consistent one of the access times
  • the new arrangement is also suitable for the transmission of data records of any length.
  • an access of a control unit to the memory assigned to it can take any length of time since all information is constantly available in the memory assigned to the other control unit.
  • a comparatively fast copying process has the advantage that the control units are blocked correspondingly shorter times during the copying process from accesses to the currently copied data record. Access to both sides is therefore not significantly delayed.
  • the first control unit can advantageously be designed in such a way that it initiates copying processes precisely when they are not accessing this data record want.
  • the first control unit thus has virtually all of the data records available in the first memory at all times.
  • the first control unit initiates copying of the data record into the second memory immediately after it has completely written a data record into the first memory. In this way, current data records are advantageously immediately available in the second memory for the second control unit.
  • Another advantage is achieved if the first control unit initiates copying of the data record, which corresponds to the last one read, from the second memory into the first memory before reading a data record from the first memory. If changes have occurred during the reading time of the last data record read and have been stored in the second memory by the second control unit, the first memory is updated with these changes without additional delay.
  • the second control unit can simultaneously write access to the first memory and the second memory. Copying processes, which would be necessary without this possibility, are omitted.
  • a cyclical operation of the fieldbus is advantageously ensured if the arrangement for the transmission of data records is part of a plug-in card for the personal computer, which is an interface between the
  • Processor of the personal computer as the first control unit and the fieldbus implemented with a fieldbus master as the second control unit.
  • FIG. 1 shows a block diagram of a personal computer with a connected fieldbus
  • FIG. 2 shows a block diagram with the essential parts of an arrangement for the transmission of data records
  • FIG. 3 shows a flow chart for a write access and FIG. 4 shows a flow chart for read access to a data record.
  • FIG. 1 shows a simple automation system for controlling a process, which has a personal computer 1 and a field bus 2 connected to it, which is designed as PROFIBUS DP, with a sensor 3 and an actuator 4.
  • the personal computer 1 is constructed in the usual way and contains a processor 5 which is connected via a PCI bus 6 to a working memory 7, a ROM 8 and a drive 9. Other components of the personal computer are not shown for reasons of clarity.
  • An operating system for example Windows NT, is loaded onto the personal computer that is not real-time capable.
  • the interface between the personal computer 1 and the fieldbus 2 forms a plug-in card 10, which is inserted into the personal computer 1 and connected to the PCI bus 6.
  • a control program which runs as an application in the personal computer 1, can read in measurement data acquired by the sensor 3 on the process and issue control commands to the actuator 4, which acts as an actuator on the process.
  • data is exchanged cyclically between the connected components 3, 4 and 10 via the fieldbus 2.
  • the plug-in card 10 contains a PROFIBUS DP master which cyclically calls the sensor 3 and the actuator 4, both of which are operated as PROFIBUS DP slaves, for data exchange.
  • an arrangement for the transmission of data records divided into several words essentially consists of a first memory A, a second memory B, one Copy unit S2 and a synchronization logic SL.
  • the processor 5 (FIG. 1) of the personal computer 1 can access the first memory A assigned to it via the system bus 6 and a controllable gate S1.
  • a controller 20, which is part of a connection to the fieldbus 2 has access to the second memory B via a controllable gate S3.
  • In the first memory A there is storage space for data records Eil ... Ein for input data and Storage space for data records All ... Alm provided for output data.
  • Memory B Storage space for data records E21, .. E2n for input data and for data records A21 ... A2m for output data.
  • this can be 128 data records with 256 bytes each in memories A and B.
  • 256 bytes are also available for diagnostic data per slave (128 data records with 256 bytes). Since diagnostic data is treated like input data, it is not necessary to consider these data records in the further description.
  • One data record is therefore available in the first memory A and in the second memory B for each slave that can be connected to the PROFIBUS DP.
  • the first memory A can be accessed with a 32-bit data width and the second memory B with a 16-bit data width.
  • two control cells ZO and ZI and a register DS are also provided, which are the first to be processed by the processor 5
  • Control unit can be described and evaluated by the synchronization logic SL.
  • the controller 20 as the second control unit cyclically reads the data records A21 ... A2m of the output data from the second memory B and writes the data records E21 ... E2n with current input data. A complete data record is always read or written.
  • the controller 20 signals the synchronization logic SL in each case to the start and end of a write or read operation on a data record.
  • the signal on line 21 is used by the synchronization logic SL to control copying processes by the copying unit S2.
  • the controller 20 can also Describe input data records Eil ... On in memory A at the same time as writing data records E21 ... E2n for input data in memory B via a path 22.
  • Controlled by the synchronization logic SL this possibility only exists if the first control unit, the processor 5, does not also access the respective data set express ... one of the input data in the memory A.
  • An access of the first control unit to a data record in the memory A is indicated to the synchronization logic SL with the control cells ZO and ZI and with the register DS.
  • the control cells ZO and ZI differentiate between write access to one of the data records All ... Alm in memory A or read access to one of the data records Express ... On for input data in memory A.
  • the respective number of the data record is entered in the DS register.
  • the first control unit writes the new output data, for example, into a data record A12 of the memory A assigned to it. In principle, he has any time to write in the new output data.
  • the second control unit 20 still has the old output data stored in the data record A22.
  • the number of the data record A12 is entered directly in the register DS.
  • the synchronization logic SL is thus indicated that new output data have been completely entered in the data record with the number entered in the DS register.
  • the copying unit S2 is caused in a step 36 to output the output data of the data record A12 to the corresponding data record A22 Copy memory B if a query 35 has determined that the second control unit 20 is not currently accessing the data record A22 in memory B.
  • the two controllable gates S1 and S3 are blocked by the synchronization logic SL for access by the first control unit 5 to the data record A12 and for access by the second control unit 20 to the data record A22.
  • the register DS is set to a DEFAULT value by the synchronization logic SL, for example the hexadecimal value FF, which is not one of the occurring ones
  • the first control unit 5 advantageously initiates copying processes itself, so that copying processes are always carried out when the first control unit 5 does not want to access the corresponding data record. Access by the first control unit 5 is thus possible without delay.
  • the copying process itself is carried out comparatively quickly by a control unit in the copying unit S2, which is implemented by a programmable integrated circuit.
  • the first control unit 5 initiates read access, for example, to the data record E12 in memory A by writing access to the control cell ZI and writing the corresponding data record number into the register DS.
  • This write access is carried out in the flow chart according to FIG. 4 with a step 41.
  • the number of data record E12 is not yet entered in the DS register.
  • the synchronization logic SL checks whether the second control unit 20 is currently writing access to the data record, the number of which is still entered in the register DS, since the first control unit 5 has read access to it was, for example on the data record express.
  • step 43 in which the previously blocked data record, in this example the data record Express for input data, is updated by copying the data record E21 from the memory B into the memory A. becomes.
  • the number of the data record E12 is then entered in the register DS in a step 44.
  • step 44 further accesses of the second control unit 20 to the data record E12 are blocked by the synchronization logic SL.
  • the first control unit 5 now reads it for the second
  • Control unit 20 blocked data record E12 with input data from memory A. This takes place in a step 45. While the data record E12 is blocked for the second control unit 20, the latter can of course have write access to the corresponding data record E22 in memory B for one cycle of its processing cycle. When the next data record is read out by the first control unit 5, the steps of the flow chart according to FIG. 4 are carried out again. A possibly updated data record E22 is copied into the corresponding data record E12 of the memory A. All input data records which are not locked are updated by the second control unit 20 both in the memory A and in the memory B. This means that current data is immediately available in the memory A for the first control unit 5 without first having to be copied from the memory B into the memory A.
  • the exemplary embodiment shown makes it clear that the arrangement for the transmission of data does not impose any requirements on the control units.
  • a process running on the first control unit can be non-deterministic and asynchronous, without the behavior of a deterministic process on the second control unit being influenced thereby.
  • the data records are always exchanged consistently between the two control units.
  • Each control unit has access to a memory assigned to it, in which a process image can be kept for the example of an automation system described.

Abstract

The invention relates to a system for transmitting data records that are divided into a plurality of words between two control units (5, 20). The inventive system comprises a memory configuration having a first memory (A) and a second memory (B) which can be accessed by at least one control device. The data records are consistently copied from one memory (A; B) into the other memory (B; A) by a copying unit (S2). A synchronization logic unit (SL) ensures collision-free access. As a result, it is possible to obtain a consistent transmission of data records without mutually influencing the processes running on the control units. The invention is used in data interfaces between different control units.

Description

Beschreibungdescription
Anordnung zur Übertragung von in mehrere Worter unterteilten DatensätzenArrangement for the transmission of data records divided into several words
Die Erfindung betrifft eine Anordnung zur Übertragung von in mehrere Worter unterteilten Datensätzen zwischen zwei Steuereinheiten mit einer Speicheranordnung nach dem Oberbegriff des Anspruchs 1.The invention relates to an arrangement for the transmission of data records divided into several words between two control units with a memory arrangement according to the preamble of claim 1.
Eine derartige Anordnung ist bereits aus der EP 0 377 886 A2 bekannt. Zur Entkopplung von Datenwegen unterschiedlicher Breite und Ubertragungsgeschwindigkeit wird ein Pufferspeicher eingesetzt, in welchen gesteuert durch eine Synchro- nisationseinheit die zu übertragenden Daten eingeschrieben und ausgelesen werden. Beide Steuereinheiten können lesend und/oder schreibend auf den Pufferspeicher zugreifen. Durch die Synchronisationseinheit wird der Fall verhindert, daß die eine Steuereinheit einen Datensatz nur teilweise eingeschrie- ben hat und die andere Steuereinheit daraufhin den gesamtenSuch an arrangement is already known from EP 0 377 886 A2. For decoupling data paths of different widths and transmission speeds, a buffer memory is used, in which the data to be transmitted are written and read out, controlled by a synchronization unit. Both control units can have read and / or write access to the buffer memory. The synchronization unit prevents the case in which one control unit has only partially written a data record and the other control unit has subsequently written the entire one
Datensatz abruft, bevor die erste Einheit den Datensatz voll- standig einschreiben konnte. Die zweite Steuereinheit wurde dann einen verfälschten Datensatz empfangen. Entsprechend wurde ein Fehler auftreten, wenn die eine Steuereinheit zum Teil Worter eines Datensatzes aus einem Speicherbereich des Pufferspeichers abrufen wurde und die andere Einheit den vollständigen Datensatz in denselben Speicherbereich eintragen wurde, bevor die erste Steuereinheit die Wörter des Datensatzes vollständig abrufen konnte. Will die eine Steuer- einheit einen Datensatz in den Pufferspeicher einschreiben oder daraus lesen, prüft sie deshalb zur Synchronisation der Zugriffe zunächst, ob sie auf denselben Adressenbereich wie die andere Steuereinheit zugreift. Der Adressenbereich umfaßt dabei eine solche Anzahl von Adressen, wie sie zur Aufnahme der Worter eines Datensatzes erforderlich ist. Der Adreß- bereich wird mit dem in einem Register hinterlegten Adreß- bereich des Zugriffs der anderen Steuereinheit verglichen und geprüft, ob die Adreßbereiche übereinstimmen. Solange eine Übereinstimmung besteht, hat die andere Steuereinheit den ausschließlichen Zugriff auf den Pufferspeicher. Die eine Steuereinheit muß somit warten, bis die andere Steuereinheit den vollständigen Datensatz ausgelesen bzw. eingeschrieben hat. Damit ist eine Konsistenz der Daten gewährleistet. D. h., es ist sichergestellt, daß Datensätze immer zusammenhängend zwischen den beiden Steuereinheiten ausgetauscht werden.Retrieves the data record before the first unit was able to completely write the data record. The second control unit was then received a corrupt data record. Accordingly, an error would occur if one control unit would retrieve some words of a data record from a memory area of the buffer memory and the other unit would enter the complete data record in the same memory area before the first control unit could completely retrieve the words of the data record. If one control unit wants to write a data record into the buffer memory or read it from it, it first checks to synchronize the accesses whether it accesses the same address range as the other control unit. The address range includes such a number of addresses as is required to record the words of a data record. The address area is compared with the address area of the access of the other control unit stored in a register and checked whether the address ranges match. As long as there is a match, the other control unit has exclusive access to the buffer memory. One control unit must therefore wait until the other control unit has read out or written in the complete data record. This ensures data consistency. This means that it is ensured that data records are always exchanged in a continuous manner between the two control units.
Diese Anordnung zur Übertragung von Datensätzen setzt voraus, daß beide Steuereinheiten ein deterministisches Verhalten aufweisen. Beispielsweise in automatisierungstechnischen Anlagen wird ein derartiges Verhalten der Steuerung gefor- dert. Damit ein Prozeß richtig bedient und ausreichend schnell auf eine Fehlfunktion reagiert werden kann, werden Aufträge durch Steuereinheiten der Automatisierungstechnik zyklisch bearbeitet. Wird eine der beiden Steuereinheiten durch einen Feldbus-Controller, insbesondere einen PROFI- BUS DP-Master, realisiert, an welchen über den Feldbus eine dezentrale Peripherie, die aus Sensoren und Aktuatoren besteht, angeschlossen ist, so muß zyklisch auf den Pufferspeicher zugegriffen werden. Der PROFIBUS DP-Master liest neue Ausgabedaten aus dem Pufferspeicher aus und gibt sie über den PROFIBUS an die angeschlossene dezentrale Peripherie weiter. Von den als PROFIBUS DP-Slaves betriebenen Sensoren erhält er neue Eingangsinformationen, die er in den Pufferspeicher ablegt. Von einer anderen Steuereinheit werden die Eingangsdaten aus dem Pufferspeicher gelesen, daraus er- forderliche Eingriffe in den Prozeß ermittelt und die entsprechenden Ausgabedaten in den Pufferspeicher eingeschrieben. Für den Fall, daß eine Steuerung ausfällt, wird in automatisierungstechnischen Anlagen üblicherweise ein eigensicherer Zustand vorgesehen, in welchem beispielsweise bei einer Bandsteuerung alle Motoren gestoppt werden. Zur Erkennung eines derartigen Fehlers sind als PROFIBUS DP-Slave betriebene Aktuatoren mit einer Zeitüberwachung ausgestattet. Werden sie nicht zyklisch innerhalb einer vorgebbaren Zeit mit neuen Ausgabedaten versorgt, so leiten sie den eigensicheren Zustand ein. Auch für den Betrieb der einen Steuereinheit, die in dem beschriebenen Beispiel als PROFIBUS DP- Master arbeitet, muß somit das Einhalten einer definierten, berechenbaren Zykluszeit sichergestellt werden. Wird als andere Steuereinheit ein Prozessor eines Personal Computers mit einem nicht echtzeitfähigen Betriebssystem, beispielsweise Windows NT, verwendet, so kann es vorkommen, daß bei- spielsweise ein Schreibvorgang eines neuen Datensatzes unterbrochen wird, bevor alle zum Datensatz gehörenden Wörter in den Pufferspeicher eingeschrieben wurden. Es ist nicht gewährleistet, daß der PC-Prozessor noch innerhalb der definierten Zykluszeit den Schreibvorgang fortsetzt und den Datensatz vollständig in den Pufferspeicher einschreibt. Auf der einen Seite des Pufferspeichers muß jedoch der Feldbus- Controller mit dem Lesen dieses Datensatzes so lange warten, bis der PC-Prozessor auf der anderen Seite seinen Schreibvorgang vollständig ausgeführt hat. Die für den Feldbus vor- geschriebene Zykluszeit wird somit überschritten und die an den Feldbus angeschlossene dezentrale Peripherie leitet den eigensicheren Zustand ein. Die bekannte Anordnung zur Übertragung von Datensätzen ist somit nur für eine Übertragung zwischen zwei Steuereinheiten geeignet, die beide ein de- terministisches Verhalten aufweisen.This arrangement for the transmission of data sets presupposes that both control units have a deterministic behavior. Such behavior of the control is required, for example, in automation systems. To ensure that a process is operated correctly and a malfunction can be reacted to sufficiently quickly, orders are processed cyclically by control units in automation technology. If one of the two control units is implemented by a fieldbus controller, in particular a PROFIBUS DP master, to which a decentralized periphery consisting of sensors and actuators is connected via the fieldbus, the buffer memory must be accessed cyclically. The PROFIBUS DP master reads out new output data from the buffer memory and forwards it to the connected distributed I / O via the PROFIBUS. It receives new input information from the sensors operated as PROFIBUS DP slaves, which it stores in the buffer memory. The input data are read from the buffer memory by another control unit, necessary interventions in the process are determined therefrom and the corresponding output data are written into the buffer memory. In the event that a control system fails, an intrinsically safe state is usually provided in automation systems, in which all motors are stopped, for example, in the case of a belt control system. To detect such an error, actuators operated as PROFIBUS DP slaves are equipped with time monitoring. If they are not supplied with new output data cyclically within a predefinable time, they initiate the intrinsically safe state. For the operation of the one control unit, which in the example described works as a PROFIBUS DP master, compliance with a defined, predictable cycle time must be ensured. If a processor of a personal computer with a non-real-time operating system, for example Windows NT, is used as the other control unit, it can happen that, for example, a writing process of a new data record is interrupted before all the words belonging to the data record have been written into the buffer memory. There is no guarantee that the PC processor will continue to write within the defined cycle time and that the data record will be written completely into the buffer memory. On one side of the buffer memory, however, the fieldbus controller must wait to read this data record until the PC processor on the other side has completed its writing process. The cycle time specified for the fieldbus is thus exceeded and the distributed I / O connected to the fieldbus initiates the intrinsically safe state. The known arrangement for the transmission of data records is therefore only suitable for transmission between two control units, both of which have a deterministic behavior.
Der Erfindung liegt die Aufgabe zugrunde, eine Anordnung zur Übertragung von in mehrere Wörter unterteilten Datensätzen zu schaffen, bei welcher eine konsistente Übertragung der Daten- sätze gewährleistet wird und gleichzeitig zwei an der Übertragung beteiligte Steuereinheiten weitgehend ohne gegenseitige Beeinflussung betrieben werden können.The invention has for its object to provide an arrangement for the transmission of data sets divided into several words, in which a consistent transmission of the data sets is guaranteed and at the same time two control units involved in the transmission can be operated largely without mutual interference.
Zur Lösung dieser Aufgabe weist die neue Übertragungsanord- nung der eingangs genannten Art die im kennzeichnenden Teil des Anspruchs 1 angegebenen Merkmale auf. In den Unteransprüchen sind vorteilhafte Weiterbildungen beschrieben. Die Erfindung hat den Vorteil, daß jede Steuereinheit jeweils immer auf einen Speicher zugreifen kann, der ihr quasi exklusiv zur Verfügung steht. Prozesse können auf den beiden Steuereinheiten somit getrennt voneinander ablaufen und jede Steuereinheit hat alle benötigten Informationen in ihrem Speicher. Wurde in einen ersten Speicher, der einer ersten Steuereinheit zugeordnet ist, durch die erste Steuereinheit ein neuer Datensatz vollständig eingetragen, so wird dieser Datensatz in einem vergleichsweise schnellen Kopiervorgang zu einem Zeitpunkt, zu welchem eine zweite Steuereinheit auf den entsprechenden Datensatz in einem dieser zugeordneten zweiten Speicher gerade nicht zugreift, in den zweiten Speicher übertragen. Nach einer geringfügigen Verzögerung liegen somit in beiden Speichern aktuelle Daten vor. Dadurch wird in vorteil- hafter Weise eine konsistente, von der Zugriffszeit einerTo solve this problem, the new transmission arrangement of the type mentioned has the features specified in the characterizing part of claim 1. Advantageous further developments are described in the subclaims. The invention has the advantage that each control unit can always access a memory that is available to it almost exclusively. Processes can therefore run separately on the two control units and each control unit has all the information it needs in its memory. If a new data record has been completely entered into a first memory which is assigned to a first control unit by the first control unit, then this data record is copied in a comparatively fast manner at a point in time at which a second control unit points to the corresponding data record in a second one assigned to it Memory is not currently being accessed, transferred to the second memory. After a slight delay, current data is available in both memories. This advantageously ensures a consistent one of the access times
Steuereinheit unabhängige Übertragung von Daten zwischen zwei Steuereinheiten erreicht. Die neue Anordnung ist zudem für die Übertragung von Datensätzen beliebiger Länge geeignet. Ein Zugriff einer Steuereinheit auf den ihr zugeordneten Speicher kann prinzipiell beliebig lange dauern, da für die andere Steuereinheit ständig alle Informationen in dem dieser zugeordneten Speicher bereitstehen.Control unit independent transfer of data between two control units achieved. The new arrangement is also suitable for the transmission of data records of any length. In principle, an access of a control unit to the memory assigned to it can take any length of time since all information is constantly available in the memory assigned to the other control unit.
Ein vergleichsweise schneller Kopiervorgang hat den Vorteil, daß die Steuereinheiten während des Kopiervorgangs entsprechend kürzer von Zugriffen auf den jeweils aktuell kopierten Datensatz gesperrt werden. Die Zugriffe auf beiden Seiten werden somit nicht merklich verzögert.A comparatively fast copying process has the advantage that the control units are blocked correspondingly shorter times during the copying process from accesses to the currently copied data record. Access to both sides is therefore not significantly delayed.
Kopiervorgänge, während deren Dauer Zugriffe beider Steuereinheiten gesperrt sind, wirken sich nicht einschränkend auf die zeitliche Zugriffsmöglichkeit der ersten Steuereinheit aus, wenn diese selbst die Kopiervorgänge einleiten kann. Dazu kann die erste Steuereinheit in vorteilhafter Weise der- art ausgebildet werden, daß sie gerade dann Kopiervorgänge einleitet, wenn sie nicht auf diesen Datensatz zugreifen will. Damit stehen der ersten Steuereinheit quasi jederzeit alle Datensätze im ersten Speicher zur Verfügung.Copying processes, during which access to both control units is blocked, have no restrictive effect on the temporal accessibility of the first control unit if the latter can initiate the copying processes itself. For this purpose, the first control unit can advantageously be designed in such a way that it initiates copying processes precisely when they are not accessing this data record want. The first control unit thus has virtually all of the data records available in the first memory at all times.
Die erste Steuereinheit leitet unmittelbar, nachdem sie einen Datensatz vollständig in den ersten Speicher geschrieben hat, ein Kopieren des Datensatzes in den zweiten Speicher ein. Damit stehen in vorteilhafter Weise für die zweite Steuereinheit sofort aktuelle Datensätze im zweiten Speicher zur Verfügung.The first control unit initiates copying of the data record into the second memory immediately after it has completely written a data record into the first memory. In this way, current data records are advantageously immediately available in the second memory for the second control unit.
Wenn die erste Steuereinheit jeweils vor einem Lesen eines Datensatzes aus dem ersten Speicher ein Kopieren des Datensatzes, der dem zuletzt gelesenen entspricht, aus dem zweiten Speicher in den ersten Speicher einleitet, wird ein weiterer Vorteil erreicht. Sind nämlich Änderungen während der Lesezeit des zuletzt gelesenen Datensatzes aufgetreten und durch die zweite Steuereinheit im zweiten Speicher hinterlegt worden, so wird ohne zusätzliche Verzögerung der erste Speicher mit diesen Änderungen aktualisiert.Another advantage is achieved if the first control unit initiates copying of the data record, which corresponds to the last one read, from the second memory into the first memory before reading a data record from the first memory. If changes have occurred during the reading time of the last data record read and have been stored in the second memory by the second control unit, the first memory is updated with these changes without additional delay.
Damit neue Daten vorteilhaft für die erste Steuereinheit schneller verfügbar sind, kann die zweite Steuereinheit gleichzeitig auf den ersten Speicher und auf den zweiten Speicher schreibend zugreifen. Kopiervorgänge, welche ohne diese Möglichkeit erforderlich wären, entfallen. In vorteilhafter Weise wird bei einer Anwendung bei einem Personal Computer mit Feldbusschnittstelle eine zyklische Arbeitsweise des Feldbusses gewährleistet, wenn die Anordnung zur Übertragung von Datensätzen Bestandteil einer Steckkarte für den Personal Computer ist, die eine Schnittstelle zwischen demSo that new data are advantageously more quickly available for the first control unit, the second control unit can simultaneously write access to the first memory and the second memory. Copying processes, which would be necessary without this possibility, are omitted. In an application in a personal computer with a fieldbus interface, a cyclical operation of the fieldbus is advantageously ensured if the arrangement for the transmission of data records is part of a plug-in card for the personal computer, which is an interface between the
Prozessor des Personal Computers als erster Steuereinheit und dem Feldbus mit einem Feldbus-Master als zweiter Steuereinheit realisiert.Processor of the personal computer as the first control unit and the fieldbus implemented with a fieldbus master as the second control unit.
Anhand der Zeichnungen, in denen ein Ausführungsbeispiel der Erfindung dargestellt ist, werden im folgenden die Erfindung sowie Ausgestaltungen und Vorteile näher beschrieben. Es zeigen: Figur 1 ein Blockschaltbild eines Personal Computers mit angeschlossenem Feldbus, Figur 2 ein Blockschaltbild mit den wesentlichen Teilen einer Anordnung zur Übertragung von Datensätzen,Based on the drawings, in which an embodiment of the invention is shown, the invention and embodiments and advantages are described in more detail below. FIG. 1 shows a block diagram of a personal computer with a connected fieldbus, FIG. 2 shows a block diagram with the essential parts of an arrangement for the transmission of data records,
Figur 3 ein Flußdiagramm für einen schreibenden Zugriff und Figur 4 ein Flußdiagramm für einen lesenden Zugriff auf einen Datensatz.3 shows a flow chart for a write access and FIG. 4 shows a flow chart for read access to a data record.
In Figur 1 ist eine einfache automatisierungstechnische Anlage zur Steuerung eines Prozesses dargestellt, die einen Personal Computer 1 und einen daran angeschlossenen Feldbus 2, der als PROFIBUS DP ausgeführt ist, mit einem Sensor 3 und einem Aktuator 4 aufweist. Der Personal Computer 1 ist in üblicher Weise aufgebaut und enthält einen Prozessor 5, der über einen PCI-Bus 6 mit einem Arbeitsspeicher 7, einem ROM 8 und einem Laufwerk 9 verbunden ist. Weitere Komponenten des Personal Computers sind der Übersichtlichkeit wegen nicht dargestellt. Auf den Personal Computer ist ein Betriebs- System, beispielsweise Windows NT, geladen, das nicht echt- zeitfähig ist. Die Schnittstelle zwischen dem Personal Computer 1 und dem Feldbus 2 bildet eine Steckkarte 10, die in den Personal Computer 1 gesteckt und an den PCI-Bus 6 angeschlossen ist. Über diese Steckkarte 10 kann ein Steuer- programm, das als Applikation im Personal Computer 1 abläuft, Meßdaten, die durch den Sensor 3 am Prozeß erfaßt werden, einlesen und Stellbefehle an den Aktuator 4, der als Stellglied auf den Prozeß einwirkt, ausgeben. Dazu werden über den Feldbus 2 Daten zyklisch zwischen den angeschlossenen Kompo- nenten 3, 4 und 10 ausgetauscht. Die Steckkarte 10 enthält einen PROFIBUS DP-Master, der den Sensor 3 und den Aktuator 4, die beide als PROFIBUS DP-Slaves betrieben werden, zyklisch zu einem Datenaustausch aufruft.FIG. 1 shows a simple automation system for controlling a process, which has a personal computer 1 and a field bus 2 connected to it, which is designed as PROFIBUS DP, with a sensor 3 and an actuator 4. The personal computer 1 is constructed in the usual way and contains a processor 5 which is connected via a PCI bus 6 to a working memory 7, a ROM 8 and a drive 9. Other components of the personal computer are not shown for reasons of clarity. An operating system, for example Windows NT, is loaded onto the personal computer that is not real-time capable. The interface between the personal computer 1 and the fieldbus 2 forms a plug-in card 10, which is inserted into the personal computer 1 and connected to the PCI bus 6. Via this plug-in card 10, a control program, which runs as an application in the personal computer 1, can read in measurement data acquired by the sensor 3 on the process and issue control commands to the actuator 4, which acts as an actuator on the process. For this purpose, data is exchanged cyclically between the connected components 3, 4 and 10 via the fieldbus 2. The plug-in card 10 contains a PROFIBUS DP master which cyclically calls the sensor 3 and the actuator 4, both of which are operated as PROFIBUS DP slaves, for data exchange.
Eine Anordnung zur Übertragung von in mehrere Wörter unterteilten Datensätzen besteht gemäß Figur 2 im wesentlichen aus einem ersten Speicher A, einem zweiten Speicher B, einer Kopiereinheit S2 und einer Synchronisationslogik SL. Der Prozessor 5 (Figur 1) des Personal Computers 1 kann über den Systembus 6 und ein steuerbares Tor Sl auf den ihm zugeordneten ersten Speicher A zugreifen. Auf der anderen Seite besteht für einen Controller 20, der Bestandteil einer An- schaltung zum Feldbus 2 ist, Zugriffsmöglichkeit über ein steuerbares Tor S3 auf den zweiten Speicher B. In dem ersten Speicher A ist Speicherplatz für Datensätze Eil ... Ein für Eingangsdaten und Speicherplatz für Datensätze All ... Alm für Ausgabedaten vorgesehen. Entsprechend weist der zweiteAccording to FIG. 2, an arrangement for the transmission of data records divided into several words essentially consists of a first memory A, a second memory B, one Copy unit S2 and a synchronization logic SL. The processor 5 (FIG. 1) of the personal computer 1 can access the first memory A assigned to it via the system bus 6 and a controllable gate S1. On the other hand, a controller 20, which is part of a connection to the fieldbus 2, has access to the second memory B via a controllable gate S3. In the first memory A there is storage space for data records Eil ... Ein for input data and Storage space for data records All ... Alm provided for output data. The second points accordingly
Speicher B Speicherplatz für Datensätze E21 , .. E2n für Eingangsdaten und für Datensätze A21 ... A2m für Ausgabedaten auf. Für das Beispiel eines PROFIBUS DP als Feldbus können dies in den Speichern A und B jeweils 128 Datensätze mit je 256 Byte sein. Für Diagnosedaten stehen pro Slave ebenfalls 256 Byte zur Verfügung (128 Datensätze mit 256 Byte) . Da Diagnosedaten wie Eingangsdaten behandelt werden, ist eine Betrachtung dieser Datensätze in der weiteren Beschreibung nicht erforderlich. Je anschließbarem Slave am PROFIBUS DP ist somit ein Datensatz im ersten Speicher A und im zweiten Speicher B vorhanden. Auf den ersten Speicher A kann mit 32 Bit Datenbreite, auf den zweiten Speicher B mit 16 Bit Datenbreite zugegriffen werden. Zur Synchronisation der Zugriffe sind weiterhin zwei Steuerzellen ZO und ZI sowie ein Register DS vorgesehen, die von dem Prozessor 5 als ersteMemory B Storage space for data records E21, .. E2n for input data and for data records A21 ... A2m for output data. For the example of a PROFIBUS DP as fieldbus, this can be 128 data records with 256 bytes each in memories A and B. 256 bytes are also available for diagnostic data per slave (128 data records with 256 bytes). Since diagnostic data is treated like input data, it is not necessary to consider these data records in the further description. One data record is therefore available in the first memory A and in the second memory B for each slave that can be connected to the PROFIBUS DP. The first memory A can be accessed with a 32-bit data width and the second memory B with a 16-bit data width. To control the access, two control cells ZO and ZI and a register DS are also provided, which are the first to be processed by the processor 5
Steuereinheit beschrieben werden können und von der Synchronisationslogik SL ausgewertet werden. Der Controller 20 als zweite Steuereinheit liest zyklisch die Datensätze A21 ... A2m der Ausgabedaten aus dem zweiten Speicher B aus und be- schreibt die Datensätze E21 ... E2n mit aktuellen Eingangsdaten. Dabei wird immer ein vollständiger Datensatz ausgelesen oder beschrieben. Über eine Leitung 21 signalisiert der Controller 20 der Synchronisationslogik SL jeweils Beginn und Ende eines Schreib- oder Lesevorgangs auf einen Datensatz. Das Signal auf der Leitung 21 wird durch die Synchronisationslogik SL zur Steuerung von Kopiervorgängen durch die Kopiereinheit S2 verwendet. Zudem kann der Controller 20 gleichzeitig mit einem Beschreiben der Datensätze E21 ... E2n für Eingangsdaten im Speicher B über einen Pfad 22 auch Eingangsdatensätze Eil ... Ein im Speicher A beschreiben. Gesteuert durch die Synchronisationslogik SL besteht diese Mög- lichkeit jedoch nur dann, wenn die erste Steuereinheit, der Prozessor 5, nicht ebenfalls auf den jeweiligen Datensatz Eil ... Ein der Eingangsdaten im Speicher A zugreift. Ein Zugriff der ersten Steuereinheit auf einen Datensatz im Speicher A wird der Synchronisationslogik SL mit den Steuerzellen ZO und ZI sowie mit dem Register DS angezeigt. Dabei wird durch die Steuerzellen ZO und ZI zwischen einem schreibenden Zugriff auf einen der Datensätze All ... Alm im Speicher A bzw. einem lesenden Zugriff auf einen der Datensätze Eil ... Ein für Eingangsdaten im Speicher A unterschieden. In das Register DS wird die jeweilige Nummer des Datensatzes eingetragen.Control unit can be described and evaluated by the synchronization logic SL. The controller 20 as the second control unit cyclically reads the data records A21 ... A2m of the output data from the second memory B and writes the data records E21 ... E2n with current input data. A complete data record is always read or written. Via a line 21, the controller 20 signals the synchronization logic SL in each case to the start and end of a write or read operation on a data record. The signal on line 21 is used by the synchronization logic SL to control copying processes by the copying unit S2. The controller 20 can also Describe input data records Eil ... On in memory A at the same time as writing data records E21 ... E2n for input data in memory B via a path 22. Controlled by the synchronization logic SL, however, this possibility only exists if the first control unit, the processor 5, does not also access the respective data set express ... one of the input data in the memory A. An access of the first control unit to a data record in the memory A is indicated to the synchronization logic SL with the control cells ZO and ZI and with the register DS. The control cells ZO and ZI differentiate between write access to one of the data records All ... Alm in memory A or read access to one of the data records Express ... On for input data in memory A. The respective number of the data record is entered in the DS register.
Anhand des Ablaufdiagramms in Figur 3 sollen im folgenden die einzelnen Schritte eines Schreibzugriffs der ersten Steuereinheit auf einen der Datensätze All ... Alm der Ausgabedaten im Speicher A erläutert werden. In einem Schritt 33 schreibt die erste Steuereinheit die neuen Ausgabedaten beispielsweise in einen diesen zugeordneten Datensatz A12 des Speichers A. Dabei hat er grundsätzlich beliebig lange Zeit, die neuen Ausgabedaten einzuschreiben. Während des Schreibvorgangs stehen der zweiten Steuereinheit 20 noch die alten Ausgabedaten, die im Datensatz A22 abgelegt sind, zur Verfügung. Nachdem die erste Steuereinheit 5 (Figur 1) den Datensatz A12 vollständig mit den neuen Ausgabedaten beschrieben hat, greift sie auf die Steuerzelle ZO zu und schreibt die Nummer des Datensatzes A12 in das Register DS . Beim Schreiben auf die Steuerzelle ZO wird die Nummer des Datensatzes A12 unmittelbar in das Register DS eingetragen. Der Synchronisationslogik SL wird damit angezeigt, daß in den Datensatz mit der ins Register DS eingetragenen Nummer neue Ausgabedaten vollständig eingetragen wurden. Die Kopiereinheit S2 wird dazu veranlaßt, in einem Schritt 36 die Ausgabedaten des Datensatzes A12 auf den entsprechenden Datensatz A22 im Speicher B zu kopieren, sofern in einer Abfrage 35 festgestellt wurde, daß die zweite Steuereinheit 20 gerade nicht auf den Datensatz A22 im Speicher B zugreift. Während des Kopiervorgangs im Schritt 36 sind durch die Synchronisations- logik SL die beiden steuerbaren Tore Sl und S3 für Zugriffe der ersten Steuereinheit 5 auf den Datensatz A12 und für Zugriffe der zweiten Steuereinheit 20 auf den Datensatz A22 gesperrt. In einem Schritt 37 wird das Register DS durch die Synchronisationslogik SL auf einen DEFAULT-Wert , beispiels- weise den Hexadezimalwert FF, der keiner der vorkommendenThe individual steps of a write access by the first control unit to one of the data records All ... Alm of the output data in the memory A are to be explained below with reference to the flow chart in FIG. In a step 33, the first control unit writes the new output data, for example, into a data record A12 of the memory A assigned to it. In principle, he has any time to write in the new output data. During the writing process, the second control unit 20 still has the old output data stored in the data record A22. After the first control unit 5 (FIG. 1) has completely written the data record A12 with the new output data, it accesses the control cell ZO and writes the number of the data record A12 in the register DS. When writing to the control cell ZO, the number of the data record A12 is entered directly in the register DS. The synchronization logic SL is thus indicated that new output data have been completely entered in the data record with the number entered in the DS register. The copying unit S2 is caused in a step 36 to output the output data of the data record A12 to the corresponding data record A22 Copy memory B if a query 35 has determined that the second control unit 20 is not currently accessing the data record A22 in memory B. During the copying process in step 36, the two controllable gates S1 and S3 are blocked by the synchronization logic SL for access by the first control unit 5 to the data record A12 and for access by the second control unit 20 to the data record A22. In a step 37, the register DS is set to a DEFAULT value by the synchronization logic SL, for example the hexadecimal value FF, which is not one of the occurring ones
Datensatznummern entspricht, zurückgesetzt. In vorteilhafter Weise leitet die erste Steuereinheit 5 Kopiervorgänge selbst ein, so daß Kopiervorgänge immer dann durchgeführt werden, wenn die erste Steuereinheit 5 gerade nicht auf den entspre- chenden Datensatz zugreifen will. Zugriffe der ersten Steuereinheit 5 werden somit ohne Verzögerung möglich. Der Kopiervorgang selbst wird vergleichsweise schnell durch ein Steuerwerk in der Kopiereinheit S2 durchgeführt, das durch einen programmierbaren integrierten Schaltkreis realisiert ist.Corresponds to record numbers, reset. The first control unit 5 advantageously initiates copying processes itself, so that copying processes are always carried out when the first control unit 5 does not want to access the corresponding data record. Access by the first control unit 5 is thus possible without delay. The copying process itself is carried out comparatively quickly by a control unit in the copying unit S2, which is implemented by a programmable integrated circuit.
Einen lesenden Zugriff beispielsweise auf den Datensatz E12 in Speicher A leitet die erste Steuereinheit 5 durch einen Schreibzugriff auf die Steuerzelle ZI und Einschreiben der entsprechenden Datensatznummer in das Register DS ein. Dieser Schreibzugriff wird im Ablaufdiagramm nach Figur 4 mit einem Schritt 41 durchgeführt. Die Nummer des Datensatzes E12 wird aber noch nicht in das Register DS eingetragen. In einer Abfrage 42 wird daraufhin durch die Synchronisationslogik SL überprüft, ob zu diesem Zeitpunkt gerade die zweite Steuer- einheit 20 auf den Datensatz schreibend zugreift, dessen Nummer noch in das Register DS eingetragen ist, da auf diesen zuvor durch die erste Steuereinheit 5 lesend zugegriffen wurde, beispielsweise auf den Datensatz Eil. Wenn dies nicht der Fall ist, wird zu einem Schritt 43 übergegangen, in wel- ehern der zuvor gesperrte Datensatz, in diesem Beispiel der Datensatz Eil für Eingangsdaten, durch Kopieren des Datensatzes E21 aus dem Speicher B in den Speicher A aktualisiert wird. Daraufhin wird in einem Schritt 44 die Nummer des Datensatzes E12 in das Register DS eingetragen. Dadurch werden weitere Zugriffe der zweiten Steuereinheit 20 auf den Datensatz E12 durch die Synchronisationslogik SL gesperrt. Die erste Steuereinheit 5 liest den nun für die zweiteThe first control unit 5 initiates read access, for example, to the data record E12 in memory A by writing access to the control cell ZI and writing the corresponding data record number into the register DS. This write access is carried out in the flow chart according to FIG. 4 with a step 41. However, the number of data record E12 is not yet entered in the DS register. In a query 42, the synchronization logic SL then checks whether the second control unit 20 is currently writing access to the data record, the number of which is still entered in the register DS, since the first control unit 5 has read access to it was, for example on the data record express. If this is not the case, a step is made to step 43, in which the previously blocked data record, in this example the data record Express for input data, is updated by copying the data record E21 from the memory B into the memory A. becomes. The number of the data record E12 is then entered in the register DS in a step 44. As a result, further accesses of the second control unit 20 to the data record E12 are blocked by the synchronization logic SL. The first control unit 5 now reads it for the second
Steuereinheit 20 gesperrten Datensatz E12 mit Eingangsdaten aus dem Speicher A aus. Dies geschieht in einem Schritt 45. Während der Datensatz E12 für die zweite Steuereinheit 20 gesperrt ist, kann diese selbstverständlich für einen Durch- lauf ihres Bearbeitungszyklus auf den entsprechenden Datensatz E22 in Speicher B schreibend zugreifen. .Beim Auslesen des nächsten Datensatzes durch die erste Steuereinheit 5 werden erneut die Schritte des Ablaufdiagramms nach Figur 4 ausgeführt. Dabei wird ein eventuell aktualisierter Datensatz E22 in den entsprechenden Datensatz E12 des Speichers A kopiert. Alle nicht gesperrten Eingangsdatensätze werden durch die zweite Steuereinheit 20 sowohl im Speicher A als auch im Speicher B aktualisiert. Damit stehen für die erste Steuereinheit 5 sofort aktuelle Daten im Speicher A zur Verfügung, ohne daß diese zunächst vom Speicher B in den Speicher A kopiert werden müssen.Control unit 20 blocked data record E12 with input data from memory A. This takes place in a step 45. While the data record E12 is blocked for the second control unit 20, the latter can of course have write access to the corresponding data record E22 in memory B for one cycle of its processing cycle. When the next data record is read out by the first control unit 5, the steps of the flow chart according to FIG. 4 are carried out again. A possibly updated data record E22 is copied into the corresponding data record E12 of the memory A. All input data records which are not locked are updated by the second control unit 20 both in the memory A and in the memory B. This means that current data is immediately available in the memory A for the first control unit 5 without first having to be copied from the memory B into the memory A.
An dem gezeigten Ausführungsbeispiel wird deutlich, daß durch die Anordnung zur Übertragung von Daten keinerlei Anforderun- gen an die Steuereinheiten gestellt werden. Beispielsweise kann ein auf der ersten Steuereinheit ablaufender Prozeß nichtdeterministisch und asynchron sein, ohne daß ein deterministischer Prozeß auf der zweiten Steuereinheit dadurch in seinem Verhalten beeinflußt wird. Zudem werden die Daten- sätze immer konsistent zwischen den beiden Steuereinheiten ausgetauscht. Jede Steuereinheit hat Zugriff auf einen ihr zugeordneten Speicher, in welchem für das beschriebene Beispiel einer automatisierungstechnischen Anlage ein Prozeßabbild gehalten werden kann. The exemplary embodiment shown makes it clear that the arrangement for the transmission of data does not impose any requirements on the control units. For example, a process running on the first control unit can be non-deterministic and asynchronous, without the behavior of a deterministic process on the second control unit being influenced thereby. In addition, the data records are always exchanged consistently between the two control units. Each control unit has access to a memory assigned to it, in which a process image can be kept for the example of an automation system described.

Claims

Patentansprüche claims
1. Anordnung zur Übertragung von in mehrere Wörter unterteilten Datensätzen zwischen zwei Steuereinheiten (5, 20) mit einer Speicheranordnung (A, B) , auf welche die beiden Steuereinheiten lesend und/oder schreibend zugreifen können, dadurch gekennzeichnet, daß die Speicheranordnung einen ersten Speicher (A) und einen zweiten Speicher (B) für die zu übertragenden Datensätze (Eil ... Ein, All ... Alm; E21 ... E2n, A21 ... A2m) aufweist, wobei eine erste Steuereinheit (5) zumindest auf den ersten Speicher (A) und eine zweite Steuereinheit (20) zumindest auf den zweiten Speicher (B) zugreifen kann, daß eine Kopiereinheit (S2) vorgesehen ist, durch welche Datensätze vom ersten Speicher (A) in den zweiten Speicher (B) und/oder umgekehrt kopierbar sind, und daß eine Synchronisationslogik (SL) vorhanden ist, derart, daß während eines Zugriffs der ersten Steuereinheit (5) auf einen Datensatz (A12) im ersten Speicher (A) ein Kopieren des entsprechenden Datensatzes (A22) und ein Zugriff der zweiten Steuereinheit (20) auf den jeweiligen Datensatz (A12) im ersten Speicher (A) nicht möglich sind, die zweite Steuereinheit (20) jedoch auf den entsprechenden Datensatz (A22) im zweiten Speicher (B) zugreifen kann.1. Arrangement for the transmission of data records divided into several words between two control units (5, 20) with a memory arrangement (A, B), to which the two control units can read and / or write access, characterized in that the memory arrangement has a first memory (A) and a second memory (B) for the data sets to be transmitted (Eil ... Ein, All ... Alm; E21 ... E2n, A21 ... A2m), with a first control unit (5) at least the first memory (A) and a second control unit (20) can access at least the second memory (B), that a copying unit (S2) is provided, through which data records from the first memory (A) into the second memory (B) and / or vice versa, and that a synchronization logic (SL) is present such that during an access of the first control unit (5) to a data record (A12) in the first memory (A) the corresponding data record (A22) and Indent If the second control unit (20) cannot access the respective data record (A12) in the first memory (A), the second control unit (20) can, however, access the corresponding data record (A22) in the second memory (B).
2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Kopiereinheit (S2) derart ausgebildet ist, daß ein Kopiervorgang eines Datensatzes von einem Speicher in den anderen wesentlich schneller abläuft als ein Lesen oder Schreiben eines Datensatzes durch eine Steuereinheit, und daß während eines Kopiervorgangs Zugriffe der ersten Steuereinheit (5) auf den jeweiligen Datensatz (A12) im ersten Speicher (A) und der zweiten Steuereinheit (20) auf den jeweiligen Datensatz (A22) im zweiten Speicher (B) durch die Synchronisationslogik (SL) gesperrt sind. 2. Arrangement according to claim 1, characterized in that the copying unit (S2) is designed such that a copying process of a data record from one memory to the other is much faster than reading or writing a data record by a control unit, and that during a copying process Accesses of the first control unit (5) to the respective data record (A12) in the first memory (A) and the second control unit (20) to the respective data record (A22) in the second memory (B) are blocked by the synchronization logic (SL).
3. Anordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß Kopiervorgänge durch die erste Steuereinheit (5) einleitbar sind.3. Arrangement according to claim 1 or 2, characterized in that copying operations can be initiated by the first control unit (5).
4. Anordnung nach Anspruch 3, dadurch gekennzeichnet, daß die erste Steuereinheit (5) nach einem Schreiben eines vollständigen Datensatzes in den ersten Speicher (A) ein Kopieren des Datensatzes in den zweiten Speicher (B) einleitet .4. Arrangement according to claim 3, characterized in that the first control unit (5) initiates copying of the data set into the second memory (B) after writing a complete data set in the first memory (A).
5. Anordnung nach Anspruch 3 oder 4, dadurch gekennzeichnet, daß die erste Steuereinheit (5) vor einem Lesen eines Datensatzes aus dem ersten Speicher (A) ein Kopieren des Datensatzes, der dem zuletzt gelesenen entspricht, aus dem zweiten Speicher (B) in den ersten Speicher (A) einleitet .5. Arrangement according to claim 3 or 4, characterized in that the first control unit (5) before reading a data record from the first memory (A) copying the data record, which corresponds to the last read, from the second memory (B) in initiates the first memory (A).
6. Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die zweite Steuereinheit (20) gleichzeitig auf den ersten Speicher (A) und auf den zweiten Speicher (B) schreibend zugreifen kann.6. Arrangement according to one of the preceding claims, characterized in that the second control unit (20) can simultaneously write access to the first memory (A) and to the second memory (B).
7. Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß sie Bestandteil einer Steck- karte (10) für einen Personal Computer (1) ist, welche eine Schnittstelle zwischen einem PC-Prozessor (5) als erster Steuereinheit und einem Feldbus (2) mit einem Feldbus-Master (20) als zweiter Steuereinheit realisiert. 7. Arrangement according to one of the preceding claims, characterized in that it is part of a plug-in card (10) for a personal computer (1) which has an interface between a PC processor (5) as the first control unit and a fieldbus (2nd ) with a fieldbus master (20) as the second control unit.
PCT/DE2000/000663 1999-03-02 2000-03-02 System for transmitting data records that are divided into a plurality of words WO2000052567A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19909081.5 1999-03-02
DE1999109081 DE19909081C2 (en) 1999-03-02 1999-03-02 Arrangement for the transmission of data records divided into several words

Publications (1)

Publication Number Publication Date
WO2000052567A1 true WO2000052567A1 (en) 2000-09-08

Family

ID=7899420

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2000/000663 WO2000052567A1 (en) 1999-03-02 2000-03-02 System for transmitting data records that are divided into a plurality of words

Country Status (2)

Country Link
DE (1) DE19909081C2 (en)
WO (1) WO2000052567A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2642403B1 (en) * 2012-03-23 2014-07-23 Siemens Aktiengesellschaft Interface device and method for consistent data exchange

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4125877A (en) * 1976-11-26 1978-11-14 Motorola, Inc. Dual port random access memory storage cell
US5287485A (en) * 1988-12-22 1994-02-15 Digital Equipment Corporation Digital processing system including plural memory devices and data transfer circuitry

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5014247A (en) * 1988-12-19 1991-05-07 Advanced Micro Devices, Inc. System for accessing the same memory location by two different devices
DE3900792A1 (en) * 1989-01-12 1990-07-19 Siemens Ag ARRANGEMENT FOR TRANSMITTING DATA WORDS DIVIDED INTO MULTIPLE PARTS
EP0893755B1 (en) * 1997-07-21 2004-05-06 Infineon Technologies AG Buffer storage device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4125877A (en) * 1976-11-26 1978-11-14 Motorola, Inc. Dual port random access memory storage cell
US5287485A (en) * 1988-12-22 1994-02-15 Digital Equipment Corporation Digital processing system including plural memory devices and data transfer circuitry

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
AN.: "100% Available DRAM", IBM TECHNICAL DISCLOSURE BULLETIN., vol. 29, no. 8, January 1987 (1987-01-01), IBM CORP. NEW YORK., US, pages 3338 - 3339, XP000923000, ISSN: 0018-8689 *

Also Published As

Publication number Publication date
DE19909081A1 (en) 2000-09-07
DE19909081C2 (en) 2003-03-20

Similar Documents

Publication Publication Date Title
DE60301702T2 (en) Fault-tolerant computer system, method of resynchronization of the same and program for resynchronization of the same
DE19900345A1 (en) Universal serial bus endpoint interface
DE4142756A1 (en) DATA WAY SETUP FOR COUPLING TWO BUSES
DE3049774C2 (en)
DE19614237C1 (en) Communication system with a master station and at least one slave station
DE60106929T2 (en) METHOD AND DEVICE FOR COUPLING SINGLE MASTER DEVICES TO A MULTIMASTER WIRED AND BUS ENVIRONMENT
DE3123382C2 (en) Method and device for transmitting data in a multiprocessor system
DE19614238C1 (en) Communication system with a master station and at least one slave station
EP0062141B1 (en) Circuit arrangement for entering control commands into a microcomputer system
EP0739509B1 (en) Arrangement with master and slave units
DE3501194A1 (en) METHOD AND DEVICE FOR EXCHANGING DATA BETWEEN MICROPROCESSORS
EP0350016B1 (en) Process and apparatus to copy the contents of record carriers
DE60300233T2 (en) Fault tolerant information processing device
EP0185260A2 (en) Interface for direct information transfer
DE2842603C3 (en) Interface between a maintenance processor and a plurality of individually tested functional units of a data processing system
WO2000052567A1 (en) System for transmitting data records that are divided into a plurality of words
LU101427B1 (en) Input / output station for a field bus system, field bus coupler for the input / output station and placeholder module for the input / output station
DE60128596T2 (en) INTERRUPT CONTROL FOR A MICROPROCESSOR
EP0562151B1 (en) Integrated microprocessor
EP3676995B1 (en) Master of a bus system
DE4439775B4 (en) Bus interface circuit for a FIFO memory
DE2523795B2 (en)
DE2362117C3 (en)
DE2612316C3 (en) Arrangement for controlling the multiplex operation between several channels and a central control circuit of an input / output unit in a data processing system
DE60204900T2 (en) METHOD AND DEVICE FOR RECEIVING COMMUNICATIONS BY DATA SEQUENCING WHICH ALLOWS A LIMITED NUMBER OF INTERFERENCE BETWEEN THE FOLLOWING DATA OF THE SEQUENCE

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

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)
122 Ep: pct application non-entry in european phase