-
Die
Erfindung betrifft eine Detektoreinheit für ein Detektorsystem mit mehreren
Detektoreinheiten. Die Erfindung betrifft ferner ein Verfahren zur Übertragung
von Daten zwischen mehreren Detektoreinheiten eines derartigen Detektorsystems.
-
Eine
derartige Detektoreinheit besitzt einen Sensorabschnitt, bei dem
es sich beispielsweise um einen vollständigen Sensor, einen Teil eines
Sensors (z. B. Sender oder Empfänger)
oder eine optische, elektronische oder elektrische Schnittstelle
zu einem Sensor handeln kann. Beispielsweise kann als Sensor eine
Lichtschranke, ein Reflexionslichttaster, ein induktiver Näherungssensor,
ein kapazitiver Näherungssensor
oder ein Ultraschallsensor vorgesehen sein. Die Detektoreinheit
enthält
im Übrigen
eine Auswerte-, Steuerungs- und Kommunikationselektronik. Innerhalb
eines Detektorsystems ist in dichter räumlicher Anordnung eine Kopplung
von mehreren derartigen Detektoreinheiten miteinander vorgesehen,
um beispielsweise den Austausch von Lesedaten oder Steuerdaten zu
ermöglichen.
Zu diesem Zweck hat sich eine Reihenkopplung der Detektoreinheiten
bewährt,
wobei die Detektoreinheiten an einer ersten Kopplungsseite und an
einer zweiten Kopplungsseite jeweils einen seriellen Dateneingang und
einen seriellen Datenausgang aufweisen. Die Detektoreinheiten werden
derart in Reihe miteinander gekoppelt, dass die Detektoreinheiten
an ihrer jeweiligen ersten und zweiten Kopplungsseite mit der jeweiligen
zweiten bzw. ersten Kopplungsseite der benachbarten Detektoreinheiten
verbunden sind. Über
den jeweiligen Dateneingang und Datenausgang an jeder Kopplungsseite
können
die Detektoreinheiten somit bidirektional miteinander kommunizieren.
-
Bei
den bekannten Detektoreinheiten kommt es bisweilen zu Kompatibilitätsproblemen,
wenn mehrere Detektor- oder sonstige Einheiten miteinander gekoppelt
werden, die hinsichtlich ihrer Kommunikationsstrukturen und -protokolle
nicht vollständig baugleich
sind.
-
Eine
Detektoreinheit gemäß dem Oberbegriff des
Anspruchs 1 ist in der
EP
1 223 710 A2 offenbart. Aus der
DE 199 06 867 C1 ist ein
Verfahren gemäß dem Oberbegriff
des Anspruchs 23 bekannt.
-
Es
ist eine Aufgabe der Erfindung, die Kommunikation zwischen mehreren
miteinander in Reihe gekoppelten Detektoreinheiten schneller und
robuster zu gestalten.
-
Diese
Aufgabe wird durch eine Detektoreinheit mit den Merkmalen des Anspruchs
1 gelöst.
-
Die
Aufgabe der Erfindung wird auch durch ein Verfahren mit den Merkmalen
des Anspruchs 23 gelöst.
-
Es
ist also vorgesehen, dass die Kommunikation zwischen einer Detektoreinheit
und einer angekoppelten gleichartigen Detektoreinheit in Form von
Datenpaketen erfolgt, wobei diese Datenpakete unabhängig von
einem eventuellen Taktsignal einer übergeordneten Master-Einheit
abgesendet und empfangen werden können. Die Datenpakete enthalten
eine Empfängeradresse
zur Kennzeichnung derjenigen Detektoreinheit innerhalb eines Detektorsystems,
die das betreffende Datenpaket erhalten soll. Dabei muss es sich
natürlich
nicht unbedingt um eine Detektoreinheit handeln, die an die absendende
Detektoreinheit unmittelbar benachbart angekoppelt ist, sondern
es kann auch vorgesehen sein, dass das Datenpaket von mehreren in
Reihe gekoppelten Detektor- oder sonstigen Einheiten bis zu dem
endgültigen
Empfänger
weitergeleitet wird. Die Datenpakete enthalten ferner zumindest
eine Absenderadresse zur Kennzeichnung der absendenden Detektoreinheit
und eine Befehlskennung, in der beispielsweise eine Datenanforderung
oder ein Steuerbefehl verschlüsselt
ist. Durch den Einsatz von Datenpaketen mit Empfängeradresse, Absenderadresse
und Befehlskennung ist eine dezentrale Punkt-zu-Punkt-Kommunikation
zwischen verschiedenen Einheiten möglich. Unter einem Datenpaket
ist in diesem Zusammenhang ein geschlossener Datensatz gemäß einer
vorbestimmten Datenstruktur zu verstehen.
-
Indem
jede Detektoreinheit unabhängig
von einem globalen Synchronisationssignal Datenpakete absenden oder
empfangen kann, müssen
die Detektoreinheiten lediglich dafür ausgelegt sein, dass die jeweilige
Steuerschaltung oder ein darin enthaltener Schnittstellentreiber
an den seriellen Dateneingängen
und Datenausgängen
der Detektoreinheit mit Datenausgängen bzw. -eingängen einer
gleichartigen Einheit zu kommunizieren vermag, so dass zwischen
der betreffenden Detektoreinheit und einer unmittelbar angekoppelten
Einheit ein Datenpaket ausgetauscht werden kann. Um ein System von
mehreren Detektoreinheiten auszubauen, ist es also lediglich erforderlich,
derartige gleichartige Detektoreinheiten miteinander zu koppeln.
Hingegen ist es nicht erforderlich, eine "Master/Slave"-Hierarchie
zu verwirklichen. Kompatibilitätsprobleme
werden hierdurch vermieden, und auch das Anschließen von
anderen Einheiten an das Detektorsystem, wie beispielsweise von
externen Steuereinheiten oder Busadaptereinheiten, wird erleichtert.
-
Die
Möglichkeit,
Datenpakete unabhängig von
der Steuerung des eigentlichen Sensors der betreffenden Detektoreinheit
auszutauschen, kann zwar die Ansprechzeit des betreffenden Sensors
erhöhen.
Allerdings hat sich herausgestellt, dass hierfür akzeptable Grenzen definiert
werden können. Demgegenüber ergibt
sich der Vorteil, dass die Datenpakete besonders schnell und flexibel
zwischen verschiedenen Detektoreinheiten ausgetauscht werden können, da
die Kommunikation unabhängig
von der Synchronisation der jeweiligen Sensorabschnitte der Detektoreinheiten
erfolgt. Es ist somit lediglich erforderlich, dass die jeweiligen
Detektoreinheiten die gleichen Schnittstellen besitzen.
-
Ein
weiterer Vorteil des erläuterten
Austauschs von Datenpaketen besteht darin, dass sowohl eine lokale
Bedienung der Detektoreinheiten möglich ist als auch externe
Befehle zugeführt
und berücksichtigt
werden können,
da für
beide Fälle
die gleiche logische Schnittstelle vorgesehen ist. Durch Verwendung
einer jeweiligen Nachrichtenkennung können verschiedene Datenpakete
voneinander unterschieden werden.
-
Um
die Kommunikation einer Detektoreinheit mit einer angekoppelten
gleichartigen Detektoreinheit ohne zusätzliche Taktleitung zu ermöglichen, kann
jede Detektoreinheit einen internen Taktgeber aufweisen, der einen
Schreib-/Lesetakt erzeugt, wobei das Absenden und Empfangen von
Datenpaketen oder Teilen hiervon gemäß diesem Schreib-/Lesetakt
gesteuert wird. Selbstverständlich
sollten sämtliche
Detektoreinheiten eines Systems mit demselben Schreib-/Lesetakt
arbeiten, wobei unvermeidbare geringfügige Abweichungen durch eine
Selbstjustierung aufgrund der tatsächlich empfangenen Bitrate
kompensiert werden können.
Die Steuerschaltung bzw. ein hierin enthaltener Schnittstellentreiber übermittelt
oder liest ein Datenpaket an dem Datenausgang bzw. -eingang beispielsweise
byteweise gemäß dem internen
Schreib-/Lesetakt, wobei eine Pause zwischen zwei aufeinander folgenden
Datenpaketen durch eine Signallücke
beispielsweise von wenigstens einem Byte gekennzeichnet wird bzw. anhand
einer derartigen Signallücke
erkannt wird.
-
Erfindungsgemäß ist für die abgesendeten bzw.
empfangenen Datenpakete eine konstante Länge vorgesehen. Hierdurch kann
nämlich
eine dynamische Speicherverwaltung verwirklicht werden, bei der
für das
Speichern und Verarbeiten der Datenpakete lediglich Zeiger verändert werden
müssen,
die auf die Position des betreffenden Datenpakets innerhalb eines
Speichers zeigen. Das Umkopieren von vollständigen Datenpaketen in verschiedene
Bereiche des Speichers entfällt.
Somit ist letztlich eine geringere Menge an physischem Speicherplatz
erforderlich.
-
Die
Detektoreinheit weist einen Datenpaketspeicher auf, in dem die empfangenen
oder abzusendenden Datenpakete gespeichert werden. Es sind zwei
Sende-Warteschlagenspeicher vorgesehen, die der ersten Kopplungsseite
der Detektoreinheit bzw. der zweiten Kopplungsseite zugeordnet sind.
Diese Sende-Warteschlangenspeicher sind in mehrere Warteschlangenabschnitte
unterteilt, in denen jeweils ein Speicheradressenzeiger gespeichert
ist, der auf ein solches Datenpaket in dem Datenpaketspeicher zeigt,
das über
den Datenausgang der betreffenden Kopplungsseite abgesendet werden
soll. Somit können
die empfangenen und abzusendenden Datenpakete in unveränderter
Position innerhalb des Datenpaketspeichers gespeichert bleiben,
während
die Verwaltung der Datenpakete – beispielsweise
mittels eines Nachrichtenmaklers oder eines Schnittstellentreibers
der Steuerschaltung – über die
Speicheradressenzeiger erfolgt, die in den Sende-Warteschlangenspeichern
verwaltet werden. Ein Umkopieren des gesam ten jeweiligen Datenpakets
innerhalb des Datenpaketspeichers ist hierfür nicht erforderlich.
-
Weiterhin
ist es bevorzugt, wenn die Datenpakete – wie bereits erwähnt – zusätzlich eine
Nachrichtenkennung enthalten, die von der Steuerschaltung derjenigen
Detektoreinheit erzeugt wird, in der das Datenpaket erzeugt oder
von der das Datenpaket abgesendet wird. Hierdurch kann ein Datenpaket, das
von einer Detektoreinheit an eine angekoppelte Detektoreinheit abgesendet
wird, von einem solchen Datenpaket unterschieden werden, das von
der betreffenden Detektoreinheit an dieselbe angekoppelte Detektoreinheit
abgesendet wird. Hierdurch werden Mehrdeutigkeiten vermieden.
-
Gemäß einer
weiteren bevorzugten Ausführungsform
sendet die Steuerschaltung einer Detektoreinheit – nachdem
an dieser Detektoreinheit ein Datenpaket empfangen worden ist, das
gemäß Empfängeradresse
für diese
Detektoreinheit bestimmt war – ein
entsprechendes Quittierungs-Datenpaket an
den Absender des empfangenen Datenpakets. Hierdurch ist für den Absender
eines Datenpakets eine Kontrolle möglich, ob der vorgesehene Empfänger das
Datenpaket tatsächlich
empfangen hat. Beispielsweise kann in der absendenden Detektoreinheit überprüft werden,
ob innerhalb eines vorbestimmten Zeitintervalls nach Absendung eines
Datenpakets ein zugeordnetes Quittierungs-Datenpaket empfangen worden
ist, wobei im Falle eines negativen Ergebnisses dieser Überprüfung das
zuvor abgesendete Datenpaket erneut abgesendet wird. Dieses neuerliche
Absenden des Datenpakets wird zumindest für eine vorbestimmte Anzahl
von Versuchen wiederholt; danach wird die Verbindung zwischen der absendenden
Detektoreinheit und dem vorgesehenen Empfänger beispielsweise als unterbrochen
angesehen.
-
Eine
derartige Empfangsquittierung ist besonders einfach, wenn die Anfragekennung
des Quittierungs-Datenpakets der Anfragekennung des ursprünglich abgesendeten
Datenpakets entspricht, wobei lediglich ein Teil – beispielsweise
ein Bit – der Anfragekennung
modifiziert wird, um das betreffende Datenpaket als Quittierungs-Datenpaket
zu kennzeichnen. Dadurch kann der Absender des quittierten Datenpakets
das Quittierungs-Datenpaket auch besonders leicht dem quittierten
Datenpaket zuordnen.
-
Falls
in der Befehlskennung des zu quittierenden Datenpakets eine Anfrage
oder eine Datenanforderung enthalten ist, so enthält das zugeordnete
Quittierungs-Datenpaket vorzugsweise einen entsprechenden Antwortwert.
Mit anderen Worten dient das Quittierungs-Datenpaket zugleich als
Antwort auf die betreffende Anfrage oder Anforderung, so dass nicht
zwei separate Datenpakete an den Absender der Anfrage abgesendet
werden müssen.
-
Es
wurde bereits erläutert,
dass das Absenden von Datenpaketen unabhängig von einem Taktsignal einer übergeordneten
Master-Einheit erfolgt. Dennoch kann die Detektoreinheit zusätzlich zu
den genannten Dateneingängen
und Datenausgängen an
der ersten und zweiten Kopplungsseite einen jeweiligen Synchronisationsanschluss
zum Empfangen und Ausgeben eines Detektorsynchronisationssignals
für den
Sensorabschnitt der Detektoreinheit besitzen, wobei diese Synchronisationsanschlüsse direkt
oder indirekt über
die Steuerschaltung mit der Detektoreinheit verbunden sind. Ein
derartiges Detektorsynchronisationssignal dient zur gegenseitigen Synchronisierung
der Sensorabschnitte der verschiedenen Detektoreinheiten. Dies kann
beispielsweise im Zusammenhang mit optoelektronischen Sensoren hilfreich
sein, um eine gegenseitige optische Beeinflussung oder Störung zu
vermeiden. Die Übertragung
des Detektorsynchroni sationssignals erfolgt jedoch unabhängig von
der (asynchronen) Übertragung
der Datenpakete, und umgekehrt erfolgt das Absenden der Datenpakete – wie bereits
erläutert – unabhängig von
einem derartigen Detektorsynchronisationssignal. Hierdurch ist gewährleistet,
dass die Datenpakete ohne Rücksicht
auf das Detektorsynchronisationssignal zeitlich flexibel abgesendet
und empfangen werden können.
Außerdem
kann für
die Datenkommunikation zwischen den Detektoreinheiten ein vergleichsweise
einfaches Protokoll verwendet werden, das nicht auf die Abstimmung
mit einem Detektorsynchronisationssignal angewiesen ist.
-
Die
Erfindung bezieht sich schließlich
auch auf ein Detektorsystem mit mehreren Detektoreinheiten der erläuterten
Art, wobei dieses System zusätzlich
auch weitere Einheiten, wie beispielsweise externe Steuereinheiten,
Busanschlusseinheiten oder sonstige Kommunikations- oder Adaptereinheiten enthalten
kann.
-
Weitere
Ausführungsformen
sind in den Unteransprüchen
genannt.
-
Die
Erfindung wird nachfolgend lediglich beispielhaft unter Bezugnahme
auf die Zeichnungen erläutert.
-
1 zeigt
den Aufbau einer Detektoreinheit.
-
2 zeigt
ein Detektorsystem mit mehreren Detektoreinheiten gemäß 1.
-
3 zeigt
ein Datenpaket.
-
4 zeigt
einen Speicher mit einem Datenpaketspeicher und mehreren Warteschlagenspeichern.
-
Die
in 1 gezeigte Detektoreinheit 11 besitzt
eine erste Kopplungsseite 13 und eine hierzu gegenüberliegende
zweite Kopplungsseite 15. Die beiden Kopplungsseiten 13, 15 werden
auch als "Ost"-Seite und "West"-Seite der Detektoreinheit 11 bezeichnet.
-
Die
Detektoreinheit 11 besitzt an beiden Kopplungsseiten 13, 15 jeweils
einen optionalen Energieversorgungsanschluss Vcc, einen Masseanschluss
GND, einen seriellen Dateneingang RxD, einen seriellen Datenausgang
TxD und einen optionalen Synchronisationsanschluss INT. Die Energieversorgungsanschlüsse Vcc
der beiden Kopplungsseiten 13, 15 sind unmittelbar
miteinander verbunden und werden innerhalb der Detektoreinheit 11 lediglich abgegriffen.
Entsprechendes gilt für
die beiden Masseanschlüsse
GND. Sämtliche
der genannten Anschlüsse
sind mit einer Steuerschaltung 17 verbunden. Die Anschlüsse der
ersten Kopplungsseite 13 und die Anschlüsse der zweiten Kopplungsseite 15 sind – mit Ausnahme
der Dateneingänge
RxD und der Datenausgänge
TxD – symmetrisch
angeordnet. Letztere sind gegenseitig vertauscht. Dies bedeutet, dass
die Detektoreinheit 11 beispielsweise an ihrer ersten Kopplungsseite 13 mit
der zweiten Kopplungsseite einer gleichartigen Detektoreinheit dergestalt gekoppelt
werden kann, dass der Dateneingang RxD der einen Detektoreinheit 11 mit
einem Datenausgang der anderen Detektoreinheit und ein Datenausgang
TxD der einen Detektoreinheit 11 mit einem Dateneingang
der anderen Detektoreinheit verbunden ist. In entsprechender Weise
kann die gezeigte Detektoreinheit 11 an ihrer zweiten Kopplungsseite
mit einer ersten Kopplungsseite einer gleichartigen Detektoreinheit
gekoppelt werden. Die Detektoreinheit 11 ist bezüglich der "Ost"-Richtung und der "West"-Richtung also komplementär ausgebildet,
so dass mehrere Detektoreinheiten des gezeigten Typs in Reihe miteinander
gekoppelt werden können.
-
Die
Steuerschaltung 17 ist ferner mit einem Taktgeber 19 und
einem Speicher 21 verbunden. Außerdem ist die Steuerschaltung 17 mit
einem optoelektronischen Sensor 23 verbunden, der beispielsweise
einen optischen Sender, einen optischen Empfänger, eine zugeordnete Verstärkerschaltung
und eine Auswerteschaltung aufweist. Der genannte Sender und der
genannte Empfänger
müssen
nicht unbedingt in dem Gehäuse
der Detektoreinheit 11 enthalten sein, sondern können mit
der Detektoreinheit 11 auch über Lichtleiter oder über Leitung
galvanisch verbunden sein. Der optoelektronische Sensor 23 kann
beispielsweise als Lichtschranke oder als Reflexionslichttaster
dienen.
-
Die
gezeigte Detektoreinheit erfüllt
zum einen die Funktion, den darin enthaltenen optoelektronischen
Sensor 23 mit Energie und mit den notwendigen Steuerbefehlen
zu versorgen; zum anderen können
Signale des optoelektronischen Sensors 23 – gegebenenfalls
nach weiterer Verarbeitung wie beispielsweise einem Schwellenwertvergleich – über die Datenausgänge TxD
ausgegeben werden. Ein besonderer Vorteil des gezeigten Aufbaus
der Detektoreinheit 11 besteht darin, dass die Detektoreinheit 11 mit
gleichartigen Detektoreinheiten oder sonstigen Einheiten zu einem
Detektorsystem in Reihe gekoppelt werden kann, und dass zwischen
den somit gekoppelten Einheiten eine besonders einfache und stabile
Kommunikation möglich
ist. Zu diesem Zweck erfolgt der Datenaustausch in Form von Datenpaketen,
wobei die Übertragung
eines Datenpakets von der Detektoreinheit 11 zu einer angekoppelten gleichartigen
Einheit ohne Berücksichtigung
eines Taktsignals einer eventuellen übergeordneten Master-Einheit
erfolgt, d. h. eine derartige Master-Einheit ist nicht erforderlich,
um die Kommunikation zwischen den Einheiten zu ermöglichen.
Dies wird nachfolgend noch näher
erläutert.
-
Unter
einer "gleichartigen" Einheit ist im Zusammenhang
mit der Erfindung eine solche Einheit zu verstehen, die hinsichtlich
der Kommunikationsstruktur baugleich oder zumindest ähnlich zu
der Detektoreinheit 11 gemäß 1 ist.
-
2 zeigt
ein Detektorsystem mit mehreren Detektoreinheiten 11 gemäß 1 sowie
mit einer optionalen Busanschlusseinheit 31. Die Detektoreinheiten 11 sind
in Reihe gekoppelt und dabei in Platz sparender Weise miteinander
verbunden. Der Dateneingang und der Datenausgang der einen Detektoreinheit 11 sind
mit dem Datenausgang bzw. dem Dateneingang der jeweils benachbarten
Detektoreinheit 11 gekoppelt, wie bereits erläutert wurde. An
der jeweiligen ersten Kopplungsseite 13 und zweiten Kopplungsseite 15 kann
ein Verbindungsabschnitt – insbesondere
ein Steckverbindungsabschnitt – für die unmittelbare
Kopplung der Detektoreinheiten 11 vorgesehen sein.
-
An
dem gemäß 2 äußersten
rechten Ende der Reihenanordnung ist beispielhaft die Busanschlusseinheit 31 angekoppelt.
Diese besitzt optional ein Energieversorgungsmodul 33,
das für
die Energieversorgungsanschlüsse
Vcc und die Masseanschlüsse
GND der Detektoreinheiten 11 die erforderliche elektrische
Spannung liefert. Ferner besitzt die Busanschlusseinheit 31 ein
Adaptermodul 35, das eine Schnittstelle bildet für die nachfolgend
noch erläuterte
Datenkommunikation zwischen den Detektoreinheiten 11 einerseits
und extern anzuschließende
Steuer- oder Auswertegeräte
andererseits, wobei erforderlichenfalls eine Anpassung der elektrischen Signalpegel
und eine Anpassung an unterschiedliche Busprotokolle erfolgt. Außerdem kann
eine mechanische Anpassung an eine übliche Steckverbindung, z. B.
die einer RS232-Schnittstelle erfolgen.
-
Abweichend
von 2 kann eine Reihe von miteinander gekoppelten
Detektoreinheiten 11 auch autonom – also ohne zusätzlich angekoppelten
Bus – betrieben
werden, wobei die Detektoreinheiten 11 untereinander kommunizieren
können.
Allerdings ist es stets erforderlich, an mindestens einem Ende der Reihenanordnung über die
dort befindlichen Spannungsversorgungs- und Masseanschlüsse Vcc
bzw. GND eine elektrische Spannung zuzuführen. Ein Vorteil der in 2 gezeigten
Reihenkopplung besteht darin, dass für sämtliche Detektoreinheiten 11 nur
an einer einzigen Stelle die Energieversorgung angeschlossen werden
muss.
-
Zu
der Detektoreinheit 11 gemäß 1 und dem
Detektorsystem gemäß 2 ist
noch anzumerken, dass die Dateneingänge RxD und Datenausgänge TxD
als optische Schnittstellen oder als elektrische Verbindungen ausgebildet
sein können.
-
3 zeigt
ein mögliches
Format des Datenpakets 41, wie es zwischen den Detektoreinheiten 11 ausgetauscht
wird. Vorzugsweise ist für
verschiedene Datenpakete 41 stets dieselbe Länge vorgesehen,
beispielsweise neun Bytes. In dem Datenpaket 41 gemäß 3 sind
eine Empfängeradresse 42 (ein Byte),
eine Absenderadresse 43 (ein Byte), eine Nachrichtenkennung 44 (ein
Byte), eine Befehlskennung 45 (ein Byte), Parameterwerte 46 (vier
Bytes) und ein Prüfzifferwert 47 (ein
Byte) enthalten. Die Empfängeradresse 42 und
die Absenderadresse 43 bezeichnen den gewünschten
Empfänger
bzw. den Absender des Datenpakets 41. Die Nachrichtenkennung 44 dient
zur eindeutigen Identifizierung des Datenpakets 41, beispielsweise
für den
Fall, dass eine Detektoreinheit 11 mehrere Datenpakete
mit derselben Befehlskennung 45 an denselben Empfänger absendet.
Die Befehlskennung 45 kennzeichnet nach einem vorbestimmten
Schlüssel
einen Steuerbefehl oder eine Anfrage bzw. eine Datenanforderung.
Die Parameterwerte 46 werden beispielsweise entsprechend
dem in der Be fehlskennung 45 verschlüsselten Steuerbefehl oder mit
den angeforderten Daten belegt. Der Prüfzifferwert 47 dient
zur Überprüfung, ob
das Datenpaket 41 korrekt und vollständig empfangen worden ist.
-
4 zeigt
den Aufbau von Teilen des Speichers 21 gemäß 1.
Der Speicher 21 besitzt einen als Datenpaketspeicher 51 vorgesehenen
Abschnitt. Dieser ist wiederum in mehrere Datenpaketspeicherabschnitte 53 unterteilt,
deren Größe der Länge der Datenpakete 41 gemäß 3 entspricht
(neun Bytes).
-
Ferner
besitzt der Speicher 21 einen Sende-Warteschlangenspeicher 55 für die erste
Kopplungsseite 13 der betreffenden Detektoreinheit 11,
einen Sende-Warteschlangenspeicher 57 für die zweite Kopplungsseite 15,
einen Sendeanforderungs-Warteschlangenspeicher 59, einen
Empfangsbestätigungs-Warteschlangenspeicher 61,
einen Empfangs-Warteschlangenspeicher 63 für die erste Kopplungsseite 13 und
einen Empfangs-Warteschlangenspeicher 65 für die zweite
Kopplungsseite 15. Jeder der genannten Warteschlangenspeicher 55, 57, 59, 61, 63, 65 ist
in mehrere Warteschlangenabschnitte 67 unterteilt. In zumindest
einigen der Warteschlangenabschnitte 67 sind Speicheradressenzeiger
gespeichert, die auf einen Datenpaketspeicherabschnitt 53 des
Datenpaketspeichers 51 bzw. ein darin gespeichertes Datenpaket 41 zeigen, wie
in 4 durch Pfeile illustriert ist und wie nachfolgend
noch erläutert
wird.
-
Nachfolgend
wird die Funktionsweise der Detektoreinheit 11 gemäß 1 und
des Detektorsystems gemäß 2 erläutert.
-
Das
Absenden und das Empfangen eines Datenpakets 41 erfolgt
gemäß einem
Schreib-/Lesetakt des Taktgebers 19 der betreffenden Detektoreinheit 11:
Im Falle des Absendens eines Datenpakets 41 veranlasst
die Steuerschaltung 17 bzw. ein hierin enthaltener Schnittstellentreiber,
dass mit jedem Schreib-/Lesetakt ein Teil des Datenpakets 41,
beispielsweise jeweils ein Byte, an einem Datenausgang TxD seriell
ausgegeben wird. Das Empfangen eines Datenpakets 41 geschieht
in entsprechender Weise, d. h. mit jedem Schreib-/Lesetakt des Taktgebers 19 liest
die Steuerschaltung 17 bzw. ein darin enthaltener Schnittstellentreiber
einen Teil des eingehenden Datenpakets 41 an dem betreffenden
Dateneingang RxD seriell ein und setzt die empfangenen Daten zu
dem vollständigen
Datenpaket 41 zusammen. Zwischen zwei nacheinander abzusendenden Datenpaketen 41 werden
für eine
vorbestimmte Mindestanzahl von Schreib-/Lesetakten des Taktgebers 19 keine
Daten an dem betreffenden Datenausgang TxD ausgegeben, so dass die
Steuerschaltung 17 der angekoppelten empfangenden Detektoreinheit 11 das
Ende einer Datenübertragung
bzw. den Beginn einer neuen Datenübertragung erkennen kann.
-
Der
Schreib-/Lesetakt ist für
sämtliche
Detektoreinheiten 11 eines Systems einheitlich festgelegt,
so dass eine zusätzliche
Taktleitung zwischen zwei gekoppelten Detektoreinheiten 11 nicht
erforderlich ist. Insbesondere erfolgt das Absenden und Empfangen
von Datenpaketen 41 auch unabhängig von einem Takt- oder Synchronisationssignal
einer übergeordneten
Master-Einheit; eine solche ist also nicht erforderlich.
-
Das
Absenden und Empfangen von Datenpaketen 41 erfolgt auch
unabhängig
von Signalen, die über
die Synchronisationsanschlüsse
INT übermittelt
werden. Über
die Synchronisationsanschlüsse INT
werden Detektorsynchronisationssignale übertragen, die zur Koordinierung
der optoelektronischen Sensoren 23 der verschiedenen Detektoreinheiten 11 eines
Detektorsystems dienen, um gegenseitige optische Beeinflussungen
durch ausgesendete Lichtsignale zu vermeiden. Die Kommunikation
der Detektoreinheiten 11 über die Datenpakete 41 ist
hiervon jedoch unabhängig.
-
Die
Kommunikation zwischen den Detektoreinheiten 11 ist somit
zeitlich sehr flexibel, so dass ein schneller und störungsfreier
Datenaustausch zwischen den Detektoreinheiten 11 möglich ist.
-
Die
Steuerschaltung 17 besitzt jeweils einen Schnittstellentreiber
für den
seriellen Dateneingang RxD und für
den seriellen Datenausgang TxD jeder Kopplungsseite 13, 15 sowie
einen Nachrichtenmakler, der die empfangenen und abzusendenden Datenpakete 41 und
deren Weiterleitung verwaltet. Sofern die bereits erwähnte Auswerteschaltung
des optoelektronischen Sensors 23 nicht bereits in die
Steuerschaltung 17 integriert ist, kann die Steuerschaltung 17 ferner
einen Schnittstellentreiber für
den optoelektronischen Sensor 23 besitzen. Die Steuerschaltung 17 oder
ein Teil hiervon ist insbesondere auch für die lokale Parametrierung
der betreffenden Detektoreinheit 11 zuständig.
-
Die
Datenpakete 41 besitzen – wie bereits erwähnt – eine konstante
Länge.
Dadurch ist es möglich,
dass empfangene oder abzusendende Datenpakete 41 innerhalb
des Datenpaketspeichers 51 stets in den Datenpaketspeicherabschnitten 53 gespeichert
werden, die ebenfalls eine konstante Länge besitzen. Zur Verwaltung
der Datenpakete 41, beispielsweise wenn ein Datenpaket 41 endgültig abgesendet
werden soll, ist es nicht erforderlich, die Datenpakete 41 innerhalb
des Speichers 21 umzukopieren, sondern es genügt stattdessen,
Speicheradressenzeiger entsprechend zu modifizieren, die auf das betreffende
Datenpaket 41 in dem Datenpaketspeicher 51 zeigen
und die in den Warteschlangenspeichern 55, 57, 59, 61, 63, 65 abgelegt
sind.
-
Das
Absenden eines Datenpakets 41 wird in der Steuerschaltung 17 beispielsweise
wie folgt gehandhabt:
Auslöser
für das
Absenden eines Datenpakets 41 ist entweder eine entsprechende
Anforderung des optoelektronischen Sensors 23 (beispielsweise
um ein Empfangssignal weiterzuleiten), das Empfangen eines Datenpakets 41 von
einer angekoppelten Detektoreinheit 11, wobei dieses empfangene
Datenpaket 41 weitergeleitet oder quittiert werden muss,
oder ein von einem Benutzer eingegebener Steuerbefehl.
-
Falls
aufgrund entsprechender Anforderung durch den optoelektronischen
Sensor 23 ein abzusendendes Datenpaket 41 neu
erstellt wird, so werden die betreffenden Daten in einen freien
Datenpaketspeicherabschnitt 53 geschrieben. Dabei zeigt
ein Speicheradressenzeiger in dem Sendeanforderungs-Warteschlangenspeicher 59 auf
den betreffenden Datenpaketspeicherabschnitt 53. Sobald
das Datenpaket 41 fertig gestellt ist, sorgt die Steuerschaltung 17 bzw.
der Nachrichtenmakler dafür,
dass der Speicheradressenzeiger, der weiterhin auf das Datenpaket 41 bzw.
den betreffenden (unveränderten)
Datenpaketspeicherabschnitt 53 zeigt, aus dem Sendeanforderungs-Warteschlangenspeicher 59 entweder
in den Sende-Warteschlangenspeicher 55 oder
den Sende-Warteschlangenspeicher 57 verschoben wird. Die
Auswahl des Speichers 55 oder des Speichers 57 erfolgt
in Abhängigkeit
von der Empfängeradresse 42 des
Datenpakets 41, also je nachdem, ob das Datenpaket 41 an
der ersten Kopplungsseite 13 oder an der zweiten Kopplungsseite 15 der
Detektoreinheit 11 ausgegeben werden muss, um den vorgesehenen
Empfänger
zu erreichen.
-
Die
Reihenfolge der Warteschlangenabschnitte 67 innerhalb der
beiden Sende-Warteschlangenspeicher 55, 57 dient
zugleich als jeweilige Prioritätskennung,
d. h. zur Festlegung der Reihenfolge, in der die betreffenden Datenpakete
von dem jeweiligen Schnittstellentreiber ausgegeben werden sollen.
Dabei erhalten diejenigen Datenpakete 41 die höchste Prioritätskennung,
die nicht auf Veranlassung des optoelektronischen Sensors 23 erzeugt,
sondern an einem der Dateneingänge
RxD der Detektoreinheit 11 empfangen worden sind und gemäß der jeweiligen Empfängeradresse 42 lediglich
an eine andere Detektoreinheit 11 weitergeleitet werden
sollen (so genanntes Routing). Für
alle anderen Datenpakete 41 wird der betreffende Sende-Warteschlangenspeicher 55, 57 der
Reihe nach aufgefüllt.
-
Jedem
Warteschlangenabschnitt 67 der Sende-Warteschlangenspeicher 55, 57 kann
auch eine Statuskennung zur Kennzeichnung des aktuellen Sendestatus
des betreffenden Datenpakets 41 zugeordnet sein. Auf diese
Weise kann dem Nachrichtenmakler beispielsweise angezeigt werden,
ob ein Warteschlangenabschnitt 67 gerade leer ist, ob das
betreffende Datenpaket bereit ist zum Absenden oder ob das betreffende
Datenpaket 41 gerade gesendet wird.
-
Nachdem
also auf Veranlassung des optoelektronischen Sensors 23 ein
Datenpaket 41 abgesendet worden ist, veranlasst die Steuerschaltung 17 bzw.
der Nachrichtenmakler, dass der zugeordnete Speicheradressenzeiger
aus dem betreffenden Sende-Warteschlangenspeicher 55, 57 in
den Empfangsbestätigungs-Warteschlangenspeicher 61 verschoben
wird, wobei das betreffende Datenpaket 41 weiterhin in
demselben Datenpaketspeicherabschnitt 53 des Datenpaketspeichers 51 gespeichert
bleibt. In dem Empfangsbestätigungs-Warteschlangenspeicher 61 werden
Speicheradressenzeiger gespeichert, die auf solche Datenpakete 41 zeigen,
die bereits abgesendet worden sind und für die noch auf eine Quittierung
durch den Empfänger
gewartet wird. Für
die in dem Empfangsbestätigungs-Warteschlangenspeicher 61 markierten
Datenpakete 41 überprüft die Steuerschaltung 17,
ob innerhalb eines vorbestimmten Zeitintervalls nach Absendung des
Datenpakets 41 ein zugeordnetes Quittierungs-Datenpaket empfangen
wird. Falls dies nicht der Fall ist, wird das betreffende Datenpaket 41 erneut
abgesendet.
-
Falls
das Absenden eines Datenpakets 41 nicht von dem optoelektronischen
Sensor 23 veranlasst worden ist, sondern durch den vorherigen
Empfang dieses Datenpakets 41 ausgelöst wird und das Datenpaket 41 lediglich
weitergeleitet werden soll (Routing), so wird ein Speicheradressenzeiger,
der auf dieses Datenpaket 41 in dem Datenpaketspeicher 51 zeigt,
in demjenigen Sende-Warteschlangenspeicher 55 oder 57 abgelegt,
der der korrekten Senderichtung entspricht. Dabei wählt der
Nachrichtenmakler die höchste
Prioritätskennung
für dieses
Datenpaket 41, damit die Weiterleitung an den Empfänger möglichst
umgehend erfolgt. Ein Verschieben des Speicheradressenzeigers in
den Empfangsbestätigungs-Warteschlangenspeicher 61 erfolgt
in diesem Fall nicht, d. h. es wird nicht überprüft, ob ein entsprechendes Quittierungs-Datenpaket
erhalten wird.
-
In
beiden Fällen – also unabhängig davon, ob
das Absenden eines Datenpakets 41 durch den optoelektronischen
Sensor 23 oder durch das vorherige Empfangen dieses Datenpakets 41 an
einem Dateneingang RxD ausgelöst
wird – sorgt
die Steuerschaltung 17 bzw. der Nachrichtenmakler dafür, dass das
Datenpaket 41 gemäß der darin
enthaltenen Empfängeradresse 42 nur
in einer Richtung abgesendet, d. h. nur an einer Kopplungsseite 13 oder 15 ausgegeben
wird. Hierdurch ist gewährleistet,
dass der durch die in Reihe gekoppelten Detektoreinheiten 11 gebildete
Bus nicht unnötig
mit Datenpaketen 41 belastet wird.
-
Das
Empfangen eines Datenpakets 41 an einem Dateneingang RxD
einer Detektoreinheit 11 wird beispielsweise wie folgt
gehandhabt:
Das über
den betreffenden Dateneingang RxD und den zugeordneten Schnittstellentreiber
empfangene Datenpaket 41 wird in den Datenpaketspeicher 51 geschrieben,
und in den der betreffenden Kopplungsseite 13 oder 15 zugeordneten
Empfangs-Warteschlangenspeicher 63 oder 65 wird
ein Speicheradressenzeiger gesetzt, der auf den Datenpaketspeicherabschnitt 53 zeigt,
in dem das empfangene Datenpaket 41 gespeichert ist. Auch
die Warteschlangenabschnitte 67 der Empfangs-Warteschlangenspeicher 63, 65 können eine
Statuskennung enthalten, die den aktuellen Empfangsstatus des betreffenden
Datenpakets für
den Nachrichtenmakler kennzeichnet (z. B. Empfang läuft, Empfang
abgeschlossen).
-
Nachdem
das Datenpaket 41 vollständig empfangen worden ist,
so prüft
die Steuerschaltung 17 zunächst anhand eines vorbestimmten
Rechenschemas, ob das empfangene Datenpaket 41 einen korrekten
Prüfzifferwert 47 enthält und somit
korrekt und vollständig
empfangen worden ist. Im Falle eines negativen Ergebnisses dieser Überprüfung wird
das Datenpaket 41 verworfen, d. h. der betreffende Speicheradressenzeiger
wird gelöscht
und das Datenpaket 41 wird nicht weitergeleitet oder weiterverarbeitet, und
es wird auch kein "negatives" Quittierungs-Datenpaket
an den Absender des unvollständig
empfangenen Datenpakets 41 abgesendet.
-
Im
Falle eines positiven Ergebnisses der Überprüfung des Prüfzifferwerts 47 wird
zunächst
anhand der Empfängeradresse 42 danach
unterschieden, ob das Datenpaket 41 lediglich weitergeleitet werden
soll (Routing) oder für
die eigene Detektoreinheit 11 vorgesehen ist. In dem erstgenannten
Fall wird das Datenpaket 41 umgehend mit höchster Prioritätskennung
weitergeleitet, wie bereits erläutert wurde.
-
Falls
dagegen das Datenpaket 41 für die eigene Detektoreinheit 11 bestimmt
ist, so erfolgt gemäß der Befehlskennung 45 des
Datenpakets 41 eine weitere Verarbeitung des Datenpakets 41,
wobei beispielsweise ein entsprechender Steuerbefehl an den optoelektronischen
Sensor 23 ausgegeben wird. Falls es sich gemäß der Befehlskennung 45 um eine
Datenan forderung handelt, so werden die angeforderten Daten als
Parameterwerte 46 in das Datenpaket 41 geschrieben
bzw. überschrieben.
Falls sich anhand der Befehlskennung ergibt, dass es sich bei dem
empfangenen Datenpaket 41 um ein Quittierungs-Datenpaket
handelt, so wird das entsprechende, zuvor abgesendete Datenpaket 41 im
Datenpaketspeicher 51 identifiziert, und der zugeordnete Speicheradressenzeiger
wird aus dem Empfangsbestätigungs-Warteschlangenspeicher 61 gelöscht.
-
Schließlich wird
das empfangene Datenpaket 41 – sofern es sich nicht bereits
um ein Quittierungs-Datenpaket handelt – als Quittierungs-Datenpaket
zurück
an den Absender gesendet. Hierfür
werden die Empfängeradresse 42 und
die Absenderadresse 43 vertauscht. Die Nachrichtenkennung 44 bleibt
unverändert,
um dem ursprünglichen
Absender eine Identifizierung des Quittierungs-Datenpakets zu ermöglichen.
Innerhalb der Befehlskennung 45 wird ein einziges Bit,
beispielsweise das niedrigstwertige oder das höchstwertige Bit geändert, um
das Datenpaket 41 als Quittierungs-Datenpaket zu kennzeichnen.
Außerdem
wird der Prüfzifferwert 47 neu
berechnet und entsprechend überschrieben.
Das Quittierungs-Datenpaket
wird nun an den Absender des ursprünglichen Datenpakets 41 abgesendet.
Zu diesem Zweck wird der entsprechende Speicheradressenzeiger in
Abhängigkeit
von der erforderlichen Senderichtung in den Sende-Warteschlangenspeicher 55 oder 57 verschoben.
Mittels des betreffenden Schnittstellenspeichers kann das Quittierungs-Datenpaket
nun ausgegeben werden.
-
Entlang
ihrer Anordnungsrichtung besitzen die zu einem Detektorsystem gekoppelten
Detektoreinheiten 11 gemäß 2 aufsteigende
oder absteigende Adressen. Hierdurch kann eine Detektoreinheit 11 im
Zusammenhang mit einer Empfängeradresse 42 oder
einer Absenderadresse 43 eines Datenpakets 41 erkennen,
ob ein abzusendendes Datenpaket 41 an der ersten Kopplungsseite 13 oder
an der zweiten Kopplungsseite 15 auszugeben ist. Um eine
entsprechende Adressenzuordnung zu erhalten, kann die Steuerschaltung 17 jeder
Detektoreinheit 11 oder jeder sonstigen angekoppelten Einheit 31 zum Durchführen des
folgenden Adressenzuordnungsbetriebs ausgebildet sein:
Zunächst wird
nach dem Einschalten der betreffenden Detektoreinheit 11 geprüft, ob an
einer vorbestimmten Kopplungsseite 13 oder 15 eine
weitere Einheit 11, 31 angekoppelt ist. Diese
Prüfung
kann beispielsweise anhand eines vorbestimmten "Ping"-Signals überprüft werden.
Im Falle eines negativen Ergebnisses weist die Steuerschaltung 17 der
eigenen Detektoreinheit 11 eine vorbestimmte Adresse zu
(z. B. 0000), und sie gibt an der jeweils anderen Kopplungsseite 15 bzw. 13 ein
entsprechendes Adresssignal aus. Im Falle eines positiven Ergebnisses
der erläuterten
Prüfung
empfängt
die Steuerschaltung 17 an der vorbestimmten Kopplungsseite 13 oder 15 das
genannte Adresssignal und weist der eigenen Detektoreinheit 11 eine
(aufsteigend oder absteigend) benachbarte Adresse zu. An der jeweils
anderen Kopplungsseite 15 bzw. 13 wird wiederum
ein entsprechendes Adresssignal ausgegeben. Indem jede Detektoreinheit 11 nach diesem
Schema verfährt,
werden ausgehend von derjenigen Detektoreinheit 11, die
an der genannten vorbestimmten Kopplungsseite 13 oder 15 keinen angekoppelten
Nachbarn besitzt, der Reihe nach auf- oder absteigende Adressen
vergeben.
-
Die
unmittelbaren Nachbarn einer Detektoreinheit 11 können jedoch
stets direkt adressiert werden, und zwar unabhängig von ihrer Adresse entlang der
Reihenanordnung. Hierfür
sind zusätzlich
zwei spezielle Nachbaradressen definiert, die stets den jeweiligen
Nachbarn an der ersten Kopplungsseite 13 und den jeweiligen
Nachbarn an der zweiten Kopplungsseite 15 kennzeichnen.
Vorzugsweise sind hierfür
die kleinste und die größte Adresse
im verwendeten Adressraum vorgesehen, beispielsweise die Adressen
0000 und 0xFF bei einem Adressraum von 0000 bis 0xFF. Diese speziellen
Adressen werden vorzugsweise auch für das erläuterte "Ping"-Signal verwendet.
-
- 11
- Detektoreinheit
- 13
- erste
Kopplungsseite
- 15
- zweite
Kopplungsseite
- 17
- Steuerschaltung
- 19
- Taktgeber
- 21
- Speicher
- 23
- optoelektronischer
Sensor
- 31
- Busanschlusseinheit
- 33
- Energieversorgungsmodul
- 35
- Adaptermodul
- 41
- Datenpaket
- 42
- Empfängeradresse
- 43
- Absenderadresse
- 44
- Nachrichtenkennung
- 45
- Befehlskennung
- 46
- Parameterwerte
- 47
- Prüfzifferwert
- 51
- Datenpaketspeicher
- 53
- Datenpaketspeicherabschnitt
- 55
- Sende-Warteschlangenspeicher
für die
erste Kopplungsseite
- 57
- Sende-Warteschlangenspeicher
für die zweite
Kopplungsseite
- 59
- Sendeanforderungs-Warteschlangenspeicher
- 61
- Empfangsbestätigungs-Warteschlangenspeicher
- 63
- Empfangs-Warteschlangenspeicher
für die erste
Kopplungsseite
- 65
- Empfangs-Warteschlangenspeicher
für die zweite
Kopplungsseite
- 67
- Warteschlangenabschnitt
- Vcc
- Energieversorgungsanschluss
- GND
- Masseanschluss
- RxD
- Dateneingang
- TxD
- Datenausgang
- INT
- Synchronisationsanschluss