DE19909081A1 - Anordnung zur Übertragung von in mehrere Wörter unterteilten Datensätzen - Google Patents

Anordnung zur Übertragung von in mehrere Wörter unterteilten Datensätzen

Info

Publication number
DE19909081A1
DE19909081A1 DE1999109081 DE19909081A DE19909081A1 DE 19909081 A1 DE19909081 A1 DE 19909081A1 DE 1999109081 DE1999109081 DE 1999109081 DE 19909081 A DE19909081 A DE 19909081A DE 19909081 A1 DE19909081 A1 DE 19909081A1
Authority
DE
Germany
Prior art keywords
memory
control unit
data record
data
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE1999109081
Other languages
English (en)
Other versions
DE19909081C2 (de
Inventor
Juergen Bermann
Joerg Mensinger
Harald Raab
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
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 AG filed Critical Siemens AG
Priority to DE1999109081 priority Critical patent/DE19909081C2/de
Priority to PCT/DE2000/000663 priority patent/WO2000052567A1/de
Publication of DE19909081A1 publication Critical patent/DE19909081A1/de
Application granted granted Critical
Publication of DE19909081C2 publication Critical patent/DE19909081C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Die Erfindung betrifft eine Anordnung zur Übertragung von in mehrere Wörter unterteilten Datensätzen zwischen zwei Steuereinheiten (5, 20) mit einer Speicheranordnung mit einem ersten Speicher (A) und einem zweiten Speicher (B), auf welche jeweils zumindest eine Steuereinheit zugreifen kann. Durch eine Kopiereinheit (S2) werden die Datensätze konsistent von einem Speicher (A; B) in den anderen Speicher (B; A) kopiert. Eine Synchronisationslogik (SL) sorgt für kollisionsfreie Zugriffe. Dadurch wird eine konsistente Übertragung der Datensätze ohne gegenseitige Beeinflussung der auf den Steuereinheiten ablaufenden Prozesse erreicht. DOLLAR A Die Erfindung wird angewandt bei Datenschnittstellen zwischen verschiedenen Steuereinheiten.

Description

Die Erfindung betrifft eine Anordnung zur Übertragung von in mehrere Wörter unterteilten Datensätzen zwischen zwei Steuer­ einheiten mit einer Speicheranordnung nach dem Oberbegriff des Anspruchs 1.
Eine derartige Anordnung ist bereits aus der EP 0 377 886 A2 bekannt. Zur Entkopplung von Datenwegen unterschiedlicher Breite und Übertragungsgeschwindigkeit wird ein Puffer­ speicher 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 gesamten Datensatz abruft, bevor die erste Einheit den Datensatz voll­ ständig einschreiben konnte. Die zweite Steuereinheit würde dann einen verfälschten Datensatz empfangen. Entsprechend würde ein Fehler auftreten, wenn die eine Steuereinheit zum Teil Wörter eines Datensatzes aus einem Speicherbereich des Pufferspeichers abrufen würde und die andere Einheit den vollständigen Datensatz in denselben Speicherbereich ein­ tragen würde, 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 Wörter 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 zusammen­ hängend zwischen den beiden Steuereinheiten ausgetauscht werden.
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 PROFIBUS DP-Master, realisiert, an welchen über den Feldbus eine dezentrale Peripherie, die aus Sensoren und Aktuatoren be­ steht, angeschlossen ist, so muß zyklisch auf den Puffer­ speicher 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 Puffer­ speicher ablegt. Von einer anderen Steuereinheit werden die Eingangsdaten aus dem Pufferspeicher gelesen, daraus er­ forderliche Eingriffe in den Prozeß ermittelt und die ent­ sprechenden Ausgabedaten in den Pufferspeicher eingeschrie­ ben. Für den Fall, daß eine Steuerung ausfällt, wird in auto­ matisierungstechnischen Anlagen üblicherweise ein eigen­ sicherer Zustand vorgesehen, in welchem beispielsweisse bei einer Bandsteuerung alle Motoren gestoppt werden. Zur Er­ kennung 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 eigen­ sicheren Zustand ein. Auch für den Betrieb der einen Steuer­ einheit, 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, beispiels­ weise Windows NT, verwendet, so kann es vorkommen, daß bei­ spielsweise ein Schreibvorgang eines neuen Datensatzes unter­ brochen wird, bevor alle zum Datensatz gehörenden Wörter in den Pufferspeicher eingeschrieben wurden. Es ist nicht ge­ währleistet, daß der PC-Prozessor noch innerhalb der defi­ nierten 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 Schreib­ vorgang 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 Über­ tragung von Datensätzen ist somit nur für eine Übertragung zwischen zwei Steuereinheiten geeignet, die beide ein de­ terministisches Verhalten aufweisen.
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 Über­ tragung beteiligte Steuereinheiten weitgehend ohne gegen­ seitige Beeinflussung betrieben werden können.
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 Unter­ ansprüchen sind vorteilhafte Weiterbildungen beschrieben.
Die Erfindung hat den Vorteil, daß jede Steuereinheit jeweils immer auf einen Speicher zugreifen kann, der ihr quasi ex­ klusiv 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 über­ tragen. 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 einer 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.
Ein vergleichsweise schneller Kopiervorgang hat den Vorteil, daß die Steuereinheiten während des Kopiervorgangs entspre­ chend kürzer von Zugriffen auf den jeweils aktuell kopierten Datensatz gesperrt werden. Die Zugriffe auf beiden Seiten werden somit nicht merklich verzögert.
Kopiervorgänge, während deren Dauer Zugriffe beider Steuer­ einheiten 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.
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 Steuer­ einheit sofort aktuelle Datensätze im zweiten Speicher zur Verfügung.
Wenn die erste Steuereinheit jeweils vor einem Lesen eines Datensatzes aus dem ersten Speicher ein Kopieren des Daten­ satzes, 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 Lese­ zeit des zuletzt gelesenen Datensatzes aufgetreten und durch die zweite Steuereinheit im zweiten Speicher hinterlegt wor­ den, so wird ohne zusätzliche Verzögerung der erste Speicher mit diesen Änderungen aktualisiert.
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 vorteil­ hafter Weise wird bei einer Anwendung bei einem Personal Computer mit Feldbusschnittstelle eine zyklische Arbeitsweise des Feldbusses gewährleistet, wenn die Anordnung zur Über­ tragung von Datensätzen Bestandteil einer Steckkartei für den Personal Computer ist, die eine Schnittstelle zwischen dem Prozessor des Personal Computers als erster Steuereinheit und dem Feldbus mit einem Feldbus-Master als zweiter Steuer­ einheit realisiert.
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:
Fig. 1 ein Blockschaltbild eines Personal Computers mit angeschlossenem Feldbus,
Fig. 2 ein Blockschaltbild mit den wesentlichen Teilen einer Anordnung zur Übertragung von Datensätzen,
Fig. 3 ein Flußdiagramm für einen schreibenden Zugriff und
Fig. 4 ein Flußdiagramm für einen lesenden Zugriff auf einen Datensatz.
In Fig. 1 ist eine einfache automatisierungstechnische An­ lage 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 an­ geschlossen 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 Stell­ glied 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, zyk­ lisch zu einem Datenaustausch aufruft.
Eine Anordnung zur Übertragung von in mehrere Wörter unter­ teilten Datensätzen besteht gemäß Fig. 2 im wesentlichen aus einem ersten Speicher A, einem zweiten Speicher B, einer Kopiereinheit S2 und einer Synchronisationslogik SL. Der Prozessor 5 (Fig. 1) des Personal Computers 1 kann über den Systembus 6 und ein steuerbares Tor S1 auf den ihm zugeord­ neten ersten Speicher A zugreifen. Auf der anderen Seite besteht für einen Controller 20, der Bestandteil einer Aas­ 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 E11 . . . E1n für Eingangsdaten und Speicherplatz für Datensätze A11 . . . A1m für Ausgabedaten vorgesehen. Entsprechend weist der zweite Speicher B Speicherplatz für Datensätze E21 . . . E2n für Ein­ gangsdaten 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 Zu­ griffe sind weiterhin zwei Steuerzellen ZO und ZI sowie ein Register DS vorgesehen, die von dem Prozessor 5 als erste Steuereinheit beschrieben werden können und von der Synchro­ nisationslogik 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 Eingangs­ daten. Dabei wird immer ein vollständiger Datensatz ausge­ lesen 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 Synchronisa­ tionslogik 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 Ein­ gangsdatensätze E11 . . . E1n im Speicher A beschreiben. Ge­ steuert 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 E11 . . . E1n 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 A11 . . . A1m im Speicher A bzw. einem lesenden Zugriff auf einen der Datensätze E11 . . . E1n für Eingangsdaten im Speicher A unterschieden. In das Register DS wird die jeweilige Nummer des Datensatzes eingetragen.
Anhand des Ablaufdiagramms in Fig. 3 sollen im folgenden die einzelnen Schritte eines Schreibzugriffs der ersten Steuer­ einheit auf einen der Datensätze A11 . . . A1m 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 Ausgabe­ daten, die im Datensatz A22 abgelegt sind, zur Verfügung. Nachdem die erste Steuereinheit 5 (Fig. 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 un­ mittelbar in das Register DS eingetragen. Der Synchronisa­ tionslogik 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 fest­ gestellt 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 S1 und S3 für Zugriffe der ersten Steuereinheit 5 auf den Datensatz A12 und für Zu­ griffe 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 vorkommenden Datensatznummern entspricht, zurückgesetzt. In vorteilhafter Weise leitet die erste Steuereinheit 5 Kopiervorgänges 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 Steuer­ einheit 5 werden somit ohne Verzögerung möglich. Der Kopier­ vorgang selbst wird vergleichsweise schnell durch ein Steuer­ werk in der Kopiereinheit S2 durchgeführt, das durch einen programmierbaren integrierten Schaltkreis realisiert ist.
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 Fig. 4 mit einem Schritt 41 durchgeführt. Die Nummer des Datensatzes E12 wird aber noch nicht in das Register DS eingetragen. In einer Ab­ frage 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 Num­ mer noch in das Register DS eingetragen ist, da auf diesen zuvor durch die erste Steuereinheit 5 lesend zugegriffen wurde, beispielsweise auf den Datensatz E11. Wenn dies nicht der Fall ist, wird zu einem Schritt 43 übergegangen, in wel­ chem der zuvor gesperrte Datensatz, in diesem Beispiel der Datensatz E11 für Eingangsdaten, durch Kopieren des Daten­ satzes 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 wer­ den 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 zweiite 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 Daten­ satz E22 in Speicher B schreibend zugreifen. Beim Auslesen des nächsten Datensatzes durch die erste Steuereinheit 5 werden erneut die Schritte des Ablaufdiagramms nach Fig. 4 ausgeführt. Dabei wird ein eventuell aktualisierter Datensatz E22 in den entsprechenden Datensatz E12 des Speichers A ko­ piert. 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 Steuer­ einheit 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.
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 de­ terministischer 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 Bei­ spiel einer automatisierungstechnischen Anlage ein Prozeß­ abbild gehalten werden kann.

Claims (7)

1. Anordnung zur Übertragung von in mehrere Wörter unter­ teilten Datensätzen zwischen zwei Steuereinheiten (5, 20) mit einer Speicheranordnung (A, B), auf welche die beiden Steuer­ einheiten 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 (E11 . . . E1n, A11 . . . A1m; E21 . . . E2n, A21 . . . A2m) aufweist, wo­ bei 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 Steuer­ einheit (20) jedoch auf den entsprechenden Datensatz (A22) im zweiten Speicher (B) zugreifen kann.
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 Steuer­ einheit (5) auf den jeweiligen Datensatz (A12) im ersten Speicher (A) und der zweiten Steuereinheit (20) auf den je­ weiligen Datensatz (A22) im zweiten Speicher (B) durch die Synchronisationslogik (SL) gesperrt sind.
3. Anordnung nach Anspruch 1 oder 2, dadurch gekenn­ zeichnet, daß Kopiervorgänge durch die erste Steuereinheit (5) einleitbar sind.
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) ein­ leitet.
5. Anordnung nach Anspruch 3 oder 4, dadurch gekenn­ zeichnet, 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) ein­ leitet.
6. Anordnung nach einem der vorhergehenden Ansprüche, da­ durch gekennzeichnet, daß die zweite Steuereinheit (20) gleichzeitig auf den ersten Speicher (A) und auf den zweiten Speicher (B) schreibend zugreifen kann.
7. Anordnung nach einem der vorhergehenden Ansprüche, da­ durch 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.
DE1999109081 1999-03-02 1999-03-02 Anordnung zur Übertragung von in mehrere Wörter unterteilten Datensätzen Expired - Fee Related DE19909081C2 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE1999109081 DE19909081C2 (de) 1999-03-02 1999-03-02 Anordnung zur Übertragung von in mehrere Wörter unterteilten Datensätzen
PCT/DE2000/000663 WO2000052567A1 (de) 1999-03-02 2000-03-02 Anordnung zur übertragung von in mehrere wörter unterteilten datensätzen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE1999109081 DE19909081C2 (de) 1999-03-02 1999-03-02 Anordnung zur Übertragung von in mehrere Wörter unterteilten Datensätzen

Publications (2)

Publication Number Publication Date
DE19909081A1 true DE19909081A1 (de) 2000-09-07
DE19909081C2 DE19909081C2 (de) 2003-03-20

Family

ID=7899420

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1999109081 Expired - Fee Related DE19909081C2 (de) 1999-03-02 1999-03-02 Anordnung zur Übertragung von in mehrere Wörter unterteilten Datensätzen

Country Status (2)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2642403A1 (de) * 2012-03-23 2013-09-25 Siemens Aktiengesellschaft Schnittstellenvorrichtung und Verfahren für einen konsistenten Datenaustausch

Citations (2)

* 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
EP0893755A2 (de) * 1997-07-21 1999-01-27 Siemens Aktiengesellschaft Pufferspeicheranordnung

Family Cites Families (3)

* 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
DE3900792A1 (de) * 1989-01-12 1990-07-19 Siemens Ag Anordnung zum uebertragen von in mehrere teile unterteilten datenwoertern

Patent Citations (2)

* 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
EP0893755A2 (de) * 1997-07-21 1999-01-27 Siemens Aktiengesellschaft Pufferspeicheranordnung

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2642403A1 (de) * 2012-03-23 2013-09-25 Siemens Aktiengesellschaft Schnittstellenvorrichtung und Verfahren für einen konsistenten Datenaustausch
EP2642403B1 (de) 2012-03-23 2014-07-23 Siemens Aktiengesellschaft Schnittstellenvorrichtung und Verfahren für einen konsistenten Datenaustausch
US9274993B2 (en) 2012-03-23 2016-03-01 Siemens Aktiengesellschaft Interface device and method for consistently exchanging data

Also Published As

Publication number Publication date
WO2000052567A1 (de) 2000-09-08
DE19909081C2 (de) 2003-03-20

Similar Documents

Publication Publication Date Title
CH619309A5 (de)
DE3049774C2 (de)
DE3710813A1 (de) Datenverarbeitungssystem sowie verfahren dafuer
DE69605820T2 (de) Datenfehler-detektion und -korrektur für gemeinsamen speicher
DE3123382C2 (de) Verfahren und Einrichtung zum Übertragen von Daten in einem Mehrprozessorsystem
DE69427512T2 (de) Direktspeicherzugriffssteuerung
DE3501194A1 (de) Verfahren und vorrichtung zum datenaustausch zwischen mikroprozessoren
DE2064473B2 (de) Schaltung zur Bestimmung der Adresse einer in einem Speicher einer Datenverarbeitungsanlage enthaltenden, gesuchten Information
DE3911721A1 (de) Schaltung zur verzoegerten freigabe eines schreibvorganges in einen vorratsspeicher fuer ein zweifachbus-mikrocomputersystem
DE3814875A1 (de) Logische verknuepfungseinrichtung und logisches verknuepfungsverfahren
EP0350016B1 (de) Verfahren und Einrichtung zum Duplizieren des Inhalts von Datenträgern
DE2842603C3 (de) Schnittstelle zwischen einem Wartungsprozessor und einer Mehrzahl einzeln zu prüfender Funktionseinheiten eines datenverarbeitenden Systems
DE19909081C2 (de) Anordnung zur Übertragung von in mehrere Wörter unterteilten Datensätzen
DE69500544T2 (de) Mikrocomputer mit integrierter Haltepunktanordnung zur Erkennung von zusammengesetzten Ereignissen
EP0562151B1 (de) Integrierter Mikroprozessor
DE69023677T2 (de) DMA-Übertragung für Rechnersystem.
DE3016269C2 (de)
DE4114545C2 (de) Schaltungsanordnung für einen Mikrocomputer
DE2362117C3 (de)
DE2523795B2 (de)
DE102004045727B3 (de) System umfassend einen Mikrocontroller bzw. Mikroprozessor und eine Schnittstellen-Einrichtung, sowie Verfahren zum Betreiben eines derartigen Systems
DE3534871C2 (de)
EP0301160A2 (de) System mit zwei Mikroprozessoren und einem gemeinsamen Schreibe-Lese-Speicher
EP3384356B1 (de) Vorrichtung zur kopplung zweier bussysteme
DE3119457A1 (de) Mehrrechnersystem

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
8110 Request for examination paragraph 44
8304 Grant after examination procedure
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee