DE19909081A1 - Anordnung zur Übertragung von in mehrere Wörter unterteilten Datensätzen - Google Patents
Anordnung zur Übertragung von in mehrere Wörter unterteilten DatensätzenInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2205/00—Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F2205/06—Indexing scheme relating to groups G06F5/06 - G06F5/16
- G06F2205/067—Bidirectional FIFO, i.e. system allowing data transfer in two directions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2205/00—Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F2205/10—Indexing scheme relating to groups G06F5/10 - G06F5/14
- G06F2205/108—Reading 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.
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.
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)
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)
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)
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 |
-
1999
- 1999-03-02 DE DE1999109081 patent/DE19909081C2/de not_active Expired - Fee Related
-
2000
- 2000-03-02 WO PCT/DE2000/000663 patent/WO2000052567A1/de active Application Filing
Patent Citations (2)
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)
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 |