-
Die
Erfindung betrifft ein Verfahren zur bidirektionalen, synchronen
Datenübertragung
zwischen einer Leiteinrichtung und wenigstens einem Teilnehmer,
der über
eine Taktleitung und wenigstens eine Datenleitung mit der Leiteinrichtung
verbunden ist. Die Erfindung betrifft ferner eine Datenübertragungsanlage
zur bidirektionalen, synchronen Datenübertragung zwischen einer Leiteinrichtung
und wenigstens einem Teilnehmer.
-
Bekannt
sind industrielle Busse, die einen Master, auch Steuerung oder Leiteinrichtung
genannt, mit mehreren Slaves verbinden. Die Slaves können Sensoren
sein, die Positionsdaten an Achsen erfassen. Derartige Bussysteme
ermöglichen
einem Master, in einem sogenannten Sensormodus Daten aus den angeschlossenen
Sensoren zyklisch auszulesen. Der Sensormodus zeichnet sich dadurch
aus, dass Daten aus allen angeschlossenen Sensoren zyklisch ausgelesen
werden, ohne dass die Sensoren adressiert werden müssen. Dies
wird dadurch erreicht, dass nach der Systeminitialisierung der Master
nur noch ein Taktsignal an die Sensoren anlegt, mit dem die Sensordaten
aus den Sensoren ausgegeben werden. Ferner kann der Master in einem
Registermodus Sensoren und deren Register auswählen, um Daten in ausgewählte Register
zu schreiben oder aus ausgewählten
Registern auszulesen. Zum Beispiel können Parameter, Befehle oder andere
Daten in die ausgewählten
Register geschrieben werden.
-
Ein
solches Sensor-Aktor-Bussystem ist beispielsweise aus der
DE 196 14 654 C1 bekannt.
Dieses Bussystem erlaubt eine bidirektionale Datenübertragung
von Signalen über
Busleitungen, wobei Daten zyklusweise übertragen werden können. Das eine
Taktleitung vorgesehen ist und diese zur Datenübertragung mit benutzt wird,
ist dieser Patentschrift nicht zu entnehmen.
-
Aus
der
DE 195 13 210
A1 ist ein Verfahren zur seriellen Datenübertragung
zwischen einer Master-Station und einer Slave-Station bekannt. Damit eine
Slave-Station bei einer seriellen Datenübertragung Anfang und Ende
eines Übertragungszyklus
erkennen kann, erzeugt die Master-Station eine Synchronisationsinformation,
indem innerhalb eines Übertragungszyklus
ein Zustandswechsel in einem Datenkanal erzeugt wird, während der
Zustand des Taktsignals erhalten bleibt. Um Daten bidirektional zwischen
der Master-Station und der Slave-Station austauschen zu können, werden
zwei unidirektionale Datenkanäle
verwendet. Eine Datenidentifikation erfolgt demnach lediglich über den
Zustand des jeweiligen Datenkanals.
-
Mit
dem bekannten Bussystem können
jedoch keine Daten im Sensormodus vom Master zu allen oder zu ausgewählten Sensoren übertragen
werden.
-
Der
Erfindung liegt nunmehr die Aufgabe zu Grunde, ein Verfahren und
eine Datenübertragungsanlage
bereitzustellen, mit denen Daten von einer Leiteinrichtung zu Teilnehmern übertragen
werden können,
während
gleichzeitig Sensordaten aus den angeschlossenen Teilnehmern zyklisch
ausgelesen werden können.
-
Der
Kerngedanke der Erfindung ist darin zu sehen, dass eine Leiteinrichtung
Daten für
Teilnehmer bereithält,
die mit einer Bitrate, die kleiner ist als die von der Leiteinrichtung
erzeugte Taktrate, zu allen oder ausgewählten Teilnehmern übertragen
werden können.
-
Dieses
technische Problem löst
die Erfindung zum einen durch die Verfahrensschritte des Anspruchs
1.
-
Danach
wird ein Verfahren zur bidirektionalen, synchronen Datenübertragung
zwischen einer Leiteinrichtung und wenigstens einem Teilnehmer zur Verfügung gestellt.
Der wenigstens eine Teilnehmer ist über eine Taktleitung und wenigstens
eine Datenleitung mit der Leiteinrichtung verbunden. Über die Taktleitung
wird ein Taktsignal an den wenigstens einen Teilnehmer angelegt.
An wenigstens einer vorbestimmten Stellen des Taktsignals wird ein
Datenbit wenigstens eines n-stelligen Datenwortes eingefügt, indem
ein konstanter Pegel von einer vorbestimmten zeitlichen Mindestdauer
in dem Taktsignal erzeugt wird, wobei n größer oder gleich 1 ist. Das
wenigstens eine Datenbit wird an dem wenigstens einen Teilnehmer
aus dem Taktsignal wieder gewonnen.
-
Vorteilhafte
Weiterbildungen sind Gegenstand der Unteransprüche.
-
Um
während
einer Datenübertragung
von der Leiteinrichtung zu dem wenigstens einen Teilnehmer Daten
mit einer schnellen Bitrate aus dem wenigstens einen Teilnehmer
auslesen zu können,
wird das Taktsignal zum zyklischen Auslesen von Daten aus dem wenigstens
einen Teilnehmer verwendet. Gleichzeitig wird an vorbestimmten Stellen
des Taktsignals jeweils ein Datenbit wenigstens eines zu übertragenden,
mehrstelligen Datenwortes eingefügt,
derart, dass das wenigstens eine Datenwort in mehreren Zyklen von
der Leiteinrichtung zu dem wenigstens einen Teilnehmer übertragen
werden kann.
-
Vorzugsweise
werden die Datenbits vorbestimmter Mindestlänge an Stellen des Taktsignals eingefügt, die
jeweils dem Ende eines Zyklus entsprechen.
-
Auf
diese weise können
Teilnehmer einfacher erkennen, ob die Leiteinrichtung ein Datenbit gesendet
hat. Denn nur am Ende eines Zyklus wird von dem wenigstens einen
Teilnehmer geprüft,
ob im Taktsignal ein Datenbit vorbestimmter Mindestlänge empfangen
worden ist. Mit anderen Worten wird vom Teilnehmer ein Datenbit
erkannt, wenn am Ende eines Zyklus im Taktsignal ein konstanter
Pegel von einer definierten Mindestdauer erzeugt wird.
-
Um
nach der Übertragung
des wenigstens einen Datenwortes ein weiteres Datenwort oder eine weitere
Gruppe von Datenwörtern übertragen
zu können,
wird das Ende der Übertragung
des wenigstens einen Datenwortes dem wenigstens einen Teilnehmer
signalisiert.
-
Vorteilhafter
Weise wird das Übertragungsende
durch m gleichwertige Bits signalisiert, wobei die Bits an m Stellen
des Taktsignals übertragen
werden, die jeweils dem Ende eines Zyklus entsprechen.
-
Das
Datenwort kann die Adresse des wenigstens einen Teilnehmers, die
Adresse eines Speichers des wenigstens einen Teilnehmers, ein Befehl, beispielsweise
ein Lese- oder Schreibbefehl,
ein Parameter und/oder ein Datum sein, welche während mehrerer Zyklen zu dem
wenigsten einen Teilnehmer übertragen
werden können.
-
Dank
der Erfindung ist es insbesondere möglich, dass die Leiteinrichtung über mehrere
Zyklen hinweg Teilnehmer sowie Speichereinrichtungen in den Teilnehmern
adressieren kann, während
die Leiteinrichtung quasi gleichzeitig Daten aus dem wenigsten einen
Teilnehmer mit der Geschwindigkeit des Taktsignals auslesen kann.
-
Das
oben genannte technische Problem wird ebenfalls durch eine Datenübertragungsanlage
zur bidirektionalen, synchronen Datenübertragung zwischen einer Leiteinrichtung
und wenigstens einen Teilnehmer gelöst.
-
Danach
weist die Leiteinrichtung eine Einrichtung zum Erzeugen eines Taktsignals
und eine Einrichtung auf, die an wenigstens einer vorbestimmten
Stellen des Taktsignals ein Datenbit mit vorbestimmter Mindestlänge wenigstens
eines n-stelligen Datenwortes
einfügt,
indem sie einen konstanten Pegel mit einer vorbestimmten Mindestdauer
in dem Taktsignal erzeugt, wobei n größer oder gleich 1 ist. Der
wenigstens eine Teilnehmer ist zum Gewinnen des wenigstens einen
Datenbits aus dem Taktsignal ausgebildet.
-
Vorzugsweise
ist die Erzeugungseinrichtung zum Erzeugen eines Taktsignals zum
zyklischen Auslesen von Daten aus dem wenigstens einen Teilnehmer
ausgebildet. Ferner ist die Einfügeeinrichtung
zum Einfügen
jeweils eines Datenbits wenigstens eines zu übertragenden Datenwortes an
vorbestimmten Stellen des Taktsignals ausgebildet, derart, dass
die Leiteinrichtung wenigstens ein Datenwort in mehreren Zyklen
zu dem wenigstens einen Teilnehmer übertragen kann.
-
Vorteilhafte
Weiterbildungen sind Gegenstand der Unteransprüche.
-
Die
Erfindung wird nachfolgend anhand eines Ausführungsbeispiels in Verbindung
mit den beiliegenden Zeichnungen erläutert. Es zeigen:
-
1 eine
schematische Darstellung eines seriellen Bussystems,
-
2 den
Signalverlauf eines modifizierten Mastersignals und den Signalverlauf
Se am Ausgang eines Sensors über
n Zyklen,
-
3 ein
beispielhaftes, modifiziertes Mastersignal Ma zusammen mit dem Ausgangssignal
Se eines Sensor über
mehrere Zyklen, wobei für
jeden Zyklus nur ein Bit des Mastersignals dargestellt ist, und
-
4 ein
beispielhaftes, modifiziertes Mastersignal Ma zusammen mit dem Ausgangssignal
Se eines Sensor über
einen Zyklus.
-
1 zeigt
eine beispielhafte industrielle Sensor-Busanlage, wie sie zum Beispiel zur
Positionserfassung an Achsen eingesetzt werden kann. Die Sensor-Busanlage
enthält
als Leiteinrichtung einen Master 10, der über eine Taktleitung 20 mit
beispielsweise zwei Sensoren 30 und 40 verbunden
ist. Die beiden Sensoren enthalten beispielsweise jeweils zwei Speichereinrichtung,
die mit 32 und 34 bzw. 42 und 44 gekennzeichnet
sind. Wie 1 zeigt, liegt die Taktleitung 20 parallel
an den Sensoren 30 und 40 an. Die Sensoren 30 und 40 können seriell
geschaltet sein, so dass die ausgelesenen Daten nacheinander über eine
Rückleitung 60 zum
Master 10 übertragen
werden. Daneben besteht die Möglichkeit,
die Ausgangssignale der Sensoren 30 und 40 parallel
zum Master 10 zu führen,
so dass die Daten der beiden Sensoren gleichzeitig vom Master 10 eingelesen
werden können.
Diese Ausführung
bedeutet einen größeren Aufwand
in der Verdrahtung, führt
aber zu kürzeren Übertragungszeiten.
-
Die
Sensor-Busanlage ist derart ausgebildet, dass der Master 10 in
dem Sensormodus Sensordaten aus den angeschalteten Sensoren 30 und 40 auslesen
kann. In dem Registermodus kann der Master 10 die Sensoren 30 und 40 sowie
deren Speichereinrichtungen 32 und 34 bzw. 42 und 44 adressieren,
um Daten gezielt aus einer Speichereinrichtung auslesen oder in
eine Speichereinrichtung einschreiben zu können.
-
Darüber hinaus
ist die Sensor-Busanlage derart ausgebildet, dass der Master 10 im
Sensormodus Daten mit einer Bitrate, die niedriger ist als die Geschwindigkeit
des Taktsignals, Daten zu einem oder beiden Sensoren übertragen
kann.
-
Nachfolgend
wird die Funktionsweise der Sensor-Busanlage nach 1 näher erläutert.
-
Die
Funktionsweise des in 1 dargestellten Bussystems wird
zunächst
anhand der in 2 dargestellten Signalverläufe erläutert.
-
Die 2 zeigt
ein Mastersignal Ma, welches beispielsweise für n Arbeitszyklen vom Master 10 erzeugt
wird. Das Mastersignal Ma ist ein Taktsignal, in das jeweils am
Ende eines Arbeitszyklus ein Datenbit mit vorbestimmter Mindestlänge, welches nachfolgend
MCDM (Multi-Cycle-Data-Master)-Bit genannt
wird, eingefügt
werden kann. Der Arbeitszyklus entspricht im vorliegenden Beispiel
einem Sensordaten-Auslesezyklus. Mit dem dargestellten Mastersignal
Ma können
Daten aus den Sensoren 30 und 40 im Rhythmus des
Taktsignals zyklisch ausgelesen werden. Diese Übertragungsart wird auch als
Sensormodus bezeichnet.
-
Weiterhin
zeigt 2 der einfacheren Darstellung wegen nur das Ausgangssignal
Se eines der beiden Sensoren während
der n Arbeitszyklen.
-
Der
einfacheren Erläuterung
wegen wird die Funktionsweise der Sensor-Busanlage nur in Verbindung
mit einem Sensor beschrieben, wobei natürlich das nachfolgend beschriebene
Prozedere in Verbindung mit beiden oder mehreren Sensoren in gleicher Weise
abläuft.
-
Es
sei nunmehr der Fall angenommen, dass der Master 10 während des
Sensormodus ein n-stelliges Datenwort zu den Sensoren 30 und 40 übertragen
möchte.
-
Zunächst erzeugt
der Master 10 zu Beginn jedes Arbeitszyklus ein Anforderungsbit,
um die Sensoren 30 und 40 aufzufordern, Daten
zum Master 10 zu übertragen.
Die Sensoren 30 und 40 erkennen ein Anforderungsbit
daran, dass nach der ersten empfangenen fallenden Flanke innerhalb
einer vorbestimmten Zeit t1 eine steigende
Flanke folgt. Unter Ansprechen auf die steigende Flanke speichern
die Sensoren 30 und 40 aktuelle Daten, oder beginnen mit
einer Messwertkonvertierung. Die zweite steigende Flanke im Mastersignal
Ma veranlasst die Sensoren 30 und 40, an den Ausgängen beispielsweise
einen Low-Pegel zu erzeugen, der dem Master 10 signalisiert,
dass die Sensoren 30 und 40 das Anforderungssignal
empfangen haben. Sobald die Sensoren 30 und 40 bereit
sind, Daten zum Master 10 zu übertragen, senden die Sensoren 30 und 40 jeweils
ein Startbit, beispielsweise eine logische Eins. Dem Startbit folgen
dann die zu übertragenden
Daten, die beispielsweise mit jeder steigenden Flanke des Mastersignals
Ma aus den Sensoren 30 und 40 ausgetaktet werden.
Wie im Sensorsignal Se nach 2 dargestellt
ist, können
die Sensoren 30 und 40 am Ende der eigentlichen Datenübertragung
eines Arbeitszyklus ein einzelnes Zusatzbit MCD übertragen, welches als ein
Bit eines n-stelligen Datenwortes interpretiert werden kann. Das
n-stellige Datenwort kann über
n aufeinanderfolgende Arbeits- oder Auslesezyklen ausgelesen und
im Master 10 wieder zu dem n-stelligen Datenwort zusammengesetzt
werden. Der erste Auslesezyklus wird vom Sensor 30 durch
ein Stopzeichen beendet.
-
Um
im Sensormodus, der, wie bereits erwähnt, ein zyklisches Auslesen
von Daten aus den Sensoren 30 und 40 ermöglicht,
Daten vom Master 10 zu einem oder beiden Sensoren 30 und 40 übertragen
zu können,
kann das Mastersignal Ma am Ende mehrerer Auslesezyklen für eine vorbestimmte Zeit
auf einem konstanten Pegel gehalten werden, wie dies in 2 gezeigt
ist. Die Sensoren 30 und 40 sind derart ausgebildet,
dass sie, getriggert durch die letzte fallende oder steigende Flanke
des Mastersignals Ma am Ende eines Arbeitszyklus, prüfen, ob
innerhalb einer Zeit t2 eine Flanke im Mastersignal
Ma auftritt. Wenn in dieser Zeit keine Flanke innerhalb des Mastersignals
Ma aufgetreten ist, interpretieren die Sensoren 30 und 40 diesen
Zustand als Übertragung
eines Datenbits, welches im vorliegenden Fall ein im ersten Arbeitszyklus übertragenes
Datenbit mit dem Pegel Null und der Wertigkeit Eins, ein im zweiten
Arbeitszyklus übertragenes
Datenbit mit dem Pegel Eins und der Wertigkeit Null und ein im n-ten Arbeitszyklus übertragenes
Datenbit mit dem Pegel Null und der Wertigkeit Eins 1. Die jeweils
am Ende eines Arbeitszyklus im Mastersignal Ma übertragenen Bits, welche auch
als MCDM (Multi-Cycle-Data-Master)-Bit genannt werden, können die
Datenbits des n-stelligen Datenwortes sein. Das Mastersignal Ma
und das Sensorsignal Se, welche in 2 dargestellt
sind, zeigen den oben beschriebenen Funktionsablauf. An dieser Stelle
sei erwähnt,
dass die Datenbits eines n-stelligen Datenwortes nicht zwangsläufig in
n unmittelbar aufeinanderfolgenden Arbeitszyklen im Mastersignal
Ma übertragen
werden müssen.
Ein Kommunikationsprotokoll kann alternativ n Arbeitszyklen festlegen,
um ein n-stelliges Datenwort im Mastersignal Ma zu den Sensoren 30 und 40 übertragen
zu können.
Allerdings würde
sich in diesem Fall die Übertragungsrate
gegenüber
der Übertragungsrate,
die sich bei der Übertragung
eines n-stelligen
Datenwortes in n unmittelbar aufeinanderfolgenden Arbeitszyklen
ergibt, erhöhen.
-
Das
Ende der Zyklusfolge während
der das n-stellige Datenwort übertragen
worden sind, kann den Sensoren 30 und 40 dadurch
signalisiert werden, dass der Master 10 in m aufeinanderfolgenden
Arbeitszyklen jeweils das gleiche MCDM-Bit überträgt. Beispielsweise werden in
vierzehn aufeinanderfolgenden Zyklen jeweils ein MCDM-Bit mit der
Wertigkeit Null übertragen,
um das Ende der Übertragung des
n-stelligen Datenwortes zu signalisieren.
-
Als
Datenworte können
Sensor-Adressen, Speicheradressen, Befehle, z.B. Lese- und Schreibbefehle,
Parameter, Steuerworte zum Aktivieren und Deaktivieren bestimmter
Leistungsmerkmale, wie zum Beispiel das Ein- und Ausschalten des
Power-Save-Modus eines Sensors, und Daten übertragen werden.
-
Dank
der Erfindung ist es ferner möglich,
mit der beispielhaften Sensor-Busanlage eine Registerkommunikation
im Sensormodus durchzuführen. Eine
Registerkommunikation, bei der beispielsweise Daten aus dem Speicher 32 des
Sensors 30 ausgelesen werden sollen, wird nachfolgend in
Verbindung mit 3 näher erläutert. Natürlich können auch Daten vom Master 10 gezielt
in den Speicher 32 des Sensors 30 geschrieben
werden. Es sei darauf hingewiesen, dass jeder in 3 gezeigte
Zustand einen vollständigen
Zyklus, wie in 2 dargestellt, repräsentiert.
Der einfacheren Darstellung wegen sind im Mastersignal Ma nur MCDM-Bits
und in dem einen dargestellten Sensorsignal Se beispielsweise MCD-Bits
gezeigt.
-
Das
Protokoll für
eine Registerkommunikation sieht im allgemeinen die Möglichkeit
vor, die Speicher 32 und 34 im Sensor 30 und
die Speicher 42 und 44 im Sensor 40 gezielt
auszuwälen,
um Daten in die Speicher zu schreiben oder aus ihnen auszulesen. Darüber hinaus
können
spezielle, frei definierbare Befehle an einen oder mehrere Sensoren übertragen werden.
-
Um
eine Registerkommunikation im Sensormodus durchführen zu können, wird im Mastersignal Ma
während
des ersten Zyklus als MCDM-Bit ein Startbit und im zweiten Zyklus
als MCDM-Bit ein sogenanntes Selektionsbit MSe zu den Sensoren 30 und 40 gesendet.
Ist das Selektionsbit MSe beispielsweise gleich Eins, werden in
Abhängigkeit
des Kommunikationsprotokolls die in den folgenden Arbeitszyklen
im Mastersignal Ma übertragenen
MCDM-Bits innerhalb beispielsweise als Adresse des Sensors 30 und
als Adresse des Speichers 32 interpretiert. Darüber hinaus
kann ein CRC-Polynom, ein Lesebefehl READ und ein Startzeichen als
MCDM-Bits in den folgenden Zyklen zu den Sensoren übertragen
werden. Bis zur Übertragung
des Startzeichens im Mastersignal Ma können Daten aus den Sensoren 30 und 40 zyklisch
ausgelesen werden, wie in Verbindung mit 2 erläutert wurde.
-
Nachdem
die Sensoren 30 und 40 das Startzeichen vom Master 10 empfangen
haben, erzeugt nur der Sensor 30 ein Startzeichen, welches
im Sensorsignal Se zum Master 10 übertragen wird. Mit dem Startzeichen
signalisiert der Sensor 30 dem Master 10, dass in den folgenden
Arbeitszyklen Datenbits aus dem Speicher 32 und CRC-Bits
zum Master 10 übertragen
werden. Wenn alle Daten aus dem Speicher 32 des Sensors 30 ausgelesen
worden sind, wird ein Stoppzeichen erzeugt. Anschließend kann der
normale Sensormodus wieder aufgenommen werden.
-
Eine
weitere Variante sieht vor, ohne eine komplette Neuadressierung
den Speicher 34 des Sensors 30 zu adressieren,
um Daten aus diesem Speicher auszulesen. Hierzu werden in aufeinanderfolgenden
Auslesezyklen im Mastersignal Ma zunächst ein MCDM-Stoppbit und
danach MCDM-Startbit gesendet wird. Diese beiden Bits interpretiert
der ausgewählte
Sensor 30 als Befehl, um die Speicheradresse um Eins zu
inkremetieren. Anschließend
können
die Daten aus dem Speicher 34 ausgelesen werden.
-
Um
ein- oder mehrstellige Datenworte vom Master zu wenigstens einem
Sensor übertragen
zu können,
kann ein reduziertes Kommunikationsprotokoll verwendet werden, bei
dem kein zyklisches Auslesen von Sensordaten erfolgt.
-
Die
in 4 dargestellten Master- und Sensorsignale veranschaulichen
die Datenübertragung vom
Master 10 zu den Sensoren 30 und 40.
Zum Einleiten der Kommunikation überträgt der Master 10 zunächst eine
erste fallende Flanke. Die Sensoren 30 und 40 prüfen, ob
innerhalb der Zeit t1 eine steigende Flanke
vom Master 10 erzeugt worden ist. Ist dies der Fall, interpretieren
die angesprochenen Sensoren diesen Zustand als ein Anforderungssignal.
Mit der zweiten, vom Master 10 empfangenen steigenden Flanke
veranlassen die Sensoren 30 und 40, dass an ihren
Ausgängen
beispielsweise ein Low-Pegel erzeugt wird. Dieses Signal wiederum
interpretiert der Master 10 als Bestätigung dafür, dass die Sensoren 30 und 40 das
Anforderungssignal empfangen haben. Gleichzeitig prüfen die
Sensoren, ob auf die zweite steigende Flanke des Mastersignals innerhalb eines
Zeitintervalls t2 eine fallende Flanke folgt.
Wenn keine fallende Flanke innerhalb der Zeit t2 folgt,
interpretieren die angesprochenen Sensoren dieses Ergebnis als Übertragung
eines MCDM-Bits. In dem in 4 gezeigten
Mastersignal Ma wurde beispielsweise ein MCDM-Bit mit der Wertigkeit
Null übertragen.
Wenn eine fallende Flanke innerhalb des Zeitintervalls t2 folgt (nicht dargestellt), wird erneut
geprüft, ob
innerhalb eines weiteren Zeitintervalls t2 eine
steigende Flanke im Mastersignal Ma erkannt wird. Wenn keine steigende
Flanke innerhalb der Zeit t2 auftritt, interpretieren
die angesprochenen Sensoren dieses Ergebnis als Übertragung eines MCDM-Bits, und
zwar beispielsweise als ein MCDM-Bit mit der Wertigkeit Eins. In ähnlicher
Weise können
in weiteren Zyklen jeweils ein MCDM-Bit übertragen werden, um beispielsweise
ein n-stellige Datenwort oder auch mehrere Datenworte mit der Gesamtlänge n zu
den Sensoren oder zu ausgewählten
Sensoren zu übertragen.