-
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.
-
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 mit vorbestimmter Mindestlänge wenigstens eines n-stelligen
Datenwortes eingefügt,
wobei n größer oder
gleich 1 ist. Das wenigstens eine Datenbit vorbestimmter Mindestlänge 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 vorbestimmter Mindestlänge 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 Bits mit gleichem Pegel und vorbestimmter Mindestlänge 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,
wobei n größer oder
gleich 1 ist. Der wenigstens eine Teilnehmer ist zum Gewinnen des
wenigstens einen Datenbits vorbestimmter Mindestlänge 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 vorbestimmter Mindestlänge 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.