Beschreibung
Verfahren und Vorrichtung zur Kommunikation gleichberechtigter Stationen eines ringförmigen, seriellen Lichtwellenlei- ter-Busses
Die Erfindung bezieht sich auf ein Verfahren zur Kommunikation gleichberechtigter Stationen eines ringförmigen, seriellen Lichtwellenleiter-Busses und auf eine Vorrichtung zur Durch- führung dieses Kommunikationsverfahrens .
Es ist ein serielles Bussystem für die Vernetzung von "intelligenten" Ein-/Ausgabe-Einheiten sowie Sensoren und Aktoren innerhalb einer Anlage oder Maschine bekannt . Dieses serielle Bussystem nennt sich Controller Area Network (CAN) und wird mittlerweile nicht nur in Automobilen, sondern auch in der Industrieautomatisierung, beispielsweise bei Textilmaschinen, Verpackungsmaschinen, Maschinen zur Papierherstellung und -Verteilung und in der Medizintechnik, angewendet. Der serielle Bus besteht aus einer Zweidrahtleitung, deren Enden jeweils mit einem Busabschlußwiderstand versehen sind.
CAN ist ein serielles Bussystem, welches multimasterfähig ist, d.h., mehrere CAN-Knoten können gleichzeitig den Bus an- fordern. Bei der CAN-Datenübertragung, gemäß der Veröffentlichung "Controller Area Network - Ein serielles Bussystem nicht nur für Kraftfahrzeuge" der Internationalen Vereinigung "CAN in Automation (CiA) e.V." werden keine Stationen am Bus adressiert, sondern der Inhalt der Nachricht wird durch einen netzweiten eindeutigen Identifier gekennzeichnet. Neben der Inhaltskennung legt der Identifier auch die Prioritäten der Nachricht fest. Die Prioritäten werden beim Systementwurf durch entsprechende Binärwerte vergeben und sind nicht dynamisch veränderbar. Der Identifier mit der niedrigsten Binär- zahl hat die höchste Priorität. Der Buszugriffskonflikt wird mittels einer bitweisen Arbitrierung über die jeweiligen Identifier gelöst, indem jede Station Bit für Bit den Buspe-
gel beobachtet. Bei diesem Wettstreit der Stationen werden alle "Verlierer" automatisch zu Empfängern der Nachricht mit der höchsten Priorität und versuchen erst dann wieder zu senden, wenn der Bus frei wird. Mit der dann folgenden Akzep- tanzprüfung stehen alle Empfänger-Stationen im CAN-Netz nach korrektem Empfang der Nachricht anhand des Identifiers fest, ob die empfangenen Daten für sie relevant sind oder nicht (Selektieren) . Sind die Daten für die Empfänger-Stationen von Bedeutung, so werden sie weiter verarbeitet (Übernahme) , an- sonsten einfach ignoriert. Die Länge der zu übertragenden Informationen sind relativ kurz. Pro Nachricht kann man acht Byte Nutzdaten übertragen. Längere Datenblöcke können durch Segmentierung übertragen werden. Die maximale Übertragungsgeschwindigkeit ist 1 MBit/s. Dieser Wert gilt für ein Bussy- stem mit einer Ausdehnung bis zu 40 m. Für Entfernungen bis zu 500 m ist eine Übertragungsgeschwindigkeit von 125 kBit/s möglich, und bei Übertragungslängen von bis 1 km ist ein Wert von nur noch 50 kBit/s zulässig. Die Anzahl der Teilnehmer an einem CAN-Bussystem ist theoretisch durch die Anzahl der verfügbaren Identifier begrenzt (2032 bei Standardformat und 0,5-109 beim erweiterten Format). CAN erlaubt somit die Realisierung eines bedarfsabhängigen Buszugriffs, der aber aufgrund der bitweisen Arbitrierung über die Botschaftspriorität zerstörungsfrei vonstatten geht. Ein Syn- chronisationsmechanismus wird durch den CAN nicht unterstützt und die Datenübertragungsgeschwindigkeit ist für einen Prozeß, bei dem mehrere Bewegungsabläufe aufeinander synchron ablaufen, zu niedrig.
Ein digitales, serielles Feldbussystem, das einen Synchronisationsmechanismus unterstützt, ist das SERCOS interface (Serial Real Time Com unication System) . Dieses SERCOS interface ist ein digitales, serielles Kommunikationssystem zwischen Steuerungen und Antrieben bzw. Ein-/Ausgabebaugruppen und ist in dem Aufsatz "Kommunikation bei Antrieben" von Berthold Gick, Peter Mutschier und Stephan Schultze, abge-
druckt in der DE-Zeitschrift "etz", Band 112 (1991), Heft 17, Seiten 906 bis 916, näher dargestellt.
SERCOS interface spezifiziert eine streng hierarchische Kom- munikation mit den Daten in Form von Datenblöcken, den sogenannten Telegrammen, die in zeitlich konstanten Zyklen zwischen einer Steuerung und mehreren Unterstationen ausgetauscht werden. Unmittelbare Kommunikation zwischen den Unterstationen findet nicht statt. Der SERCOS interface verwen- det die Ringtopologie, wobei je Ring als Teilnehmer eine
Steuerung, auch als Master bezeichnet, und mehrere Untersta- tionen, auch als Slave bezeichnet, vorhanden sind. Die physikalische Schicht einer Übertragungsstrecke besteht aus optischen Punkt-zu-Punkt-Verbindungen. Die optische Übertragung findet gerichtet statt, wobei die Elemente der Übertragungs- strecke elektrooptische Wandler, Lichtwellenleiter und opto- elektrische Wandler sind. Die Übertragungsrate beträgt 2 MBit/s, 4 MBit/s oder 8 MBit/s. Die Länge jedes Übertragungsabschnitts kann bei Plastik-Lichtwellenleitern bis zu 60 m und bei Glasfaser-Lichtwellenleitern bis zu 250 m betragen. Die maximale Anzahl der Teilnehmer je Lichtwellenleiter- Ring ist 254. Außerdem sind in den Slaves Wiederholverstärker angeordnet, damit Signalverzerrungen, die durch die optische Übertragung entstehen, sich nicht akkumulieren können. Die aktive Signalaufbereitung und Taktregenerierung wird mit Hilfe von Phasenregelkreisen erreicht. Durch die Verwendung von Füllzeichen und Bit-Stopfen ist sichergestellt, daß ausreichend viele Signalflanken im Datenstrom enthalten sind. Dadurch wird es den Phasenregelkreisen ermöglicht, immer "ein- gerastet", d.h. bitsynchron, zu bleiben.
Die Kommunikation beim SERCOS interface erfolgt im Betrieb zyklisch als Master-Slave-Kommunikation mit einer bei der Initialisierung zu wählenden Zykluszeit. Der Master sendet mit einem unabhängigen Sendeschrittakt entweder Telegramme oder speist Füllzeichen in den Ring ein. Die Slaves erreichen entweder ihre regenerierten Eingangssignale an die nächsten
Teilnehmer weiter (Repeaterfunktion) oder sie senden ihr eigenes Telegramm. Der Master reicht sein Eingangssignal nicht weiter. Aus diesem Grunde ist ein unmittelbarer Querverkehr zwischen den einzelnen Slaves nicht möglich, der Ring kann somit am Master als offen betrachtet werden.
Jedes Telegramm beginnt und endet mit einer Telegrammbegrenzung und weist ein Adreßfeld, ein Datenfeld und eine Prüfsumme auf. Telegramme, die von den Slaves gesendet werden, sind quelladressiert, d.h., der Inhalt des Adreßfeldes kennzeichnet hier die sendende Station. Telegramme, die der Master sendet, sind zieladressiert. Im Datenfeld stehen die zu übertragenden Daten. Die Länge der einzelnen Datenfelder der verschiedenen Telegramme wird während der Initialisierung fest- gelegt und dann konstant gehalten.
Der Kommunikationszyklus des SERCOS interface ist in fünf Phasen unterteilt. Der Zyklus beginnt mit einem Master- Synchronisationstelegramm, das zur Vorgabe der Kommunika- tionsphase und der Zeitreferenz dient. Daran schließen sich die Antriebstelegramme (quelladressiert) an, die von den einzelnen Slaves gesendet werden. Nachdem beim Master alle Antriebstelegramme vorliegen, sendet dieser an alle Slaves ein Master-Datentelegramm. Jeder Slave kennt außerdem per Initia- lisierung die Zeitpunkte T3 und T4 innerhalb eines Zyklus. Im Zeitpunkt T3 werden systemweit alle Daten (Sollwerte) gleichzeitig freigegeben und im Zeitpunkt T4 werden systemweit alle Meßwerte gleichzeitig abgetastet. Exakt nach Ablauf der Zykluszeit startet der Master den nächsten Zyklus mit dem Ma- ster-Synchronisationstelegramm. Somit kennt SERCOS interface die folgenden Synchronisationsarten: Bitsynchronität , Synchronisation der Kommunikation und die Synchronisation der Datenverarbeitung in den Slaves.
Mit diesem SERCOS interface kann keine schnelle wahlfreie
Kommunikation unter gleichberechtigten Stationen durchgeführt werden, die dazu auch noch einfach ist.
Im Aufsatz "Wie ergänzt " Peer-to-Peer" die Antriebstechnik", abgedruckt in der DE-Zeitschrif "engineering & automation", Band 16 (1994), Heft 3-4, Seite 48, wird eine Möglichkeit vorgestellt, mit der innerhalb eines Mehrmotorenverbundes Si- gnale von Antriebseinheit zu Antriebseinheit übertragen werden. Peer-to-Peer-Verbindung bedeutet "Verbindung zwischen gleichberechtigten Partnern" . Bei dieser Peer-to-Peer- Verbindung kann ein und dieselbe Antriebseinheit sowohl Master (Sollwertquelle) als auch Slave (Sollwertsenke) sein. Die Peer-to-Peer-Verbindung besteht pro Antriebseinheit aus einem Empfangs- und Sendeanschluß und aus einer Zweidrahtleitung. Mit einer Peer-to-Peer-Verbindung kann eine autarke Sollwertkaskade aufgebaut werden, die einfach zu projektieren und in Betrieb zu nehmen ist. Die Übertragungsrate beträgt bis zu 187,5 kBit/s und es können bis zu 16 Steuersignale fortgeschaltet werden. Bei dieser Peer-to-Peer-Verbindung ist der Aufwand zum Aufbau einer neuen Kommunikations-Reihenfolge recht hoch, da neue Zweidrahtleitungen verlegt werden müssen.
Der Erfindung liegt nun die Aufgabe zugrunde, ein Verfahren zur Kommunikation gleichberechtigter Stationen eines ringförmigen, seriellen Lichtwellenleiter-Busses anzugeben, bei dem die genannten Nachteile nicht mehr auftreten.
Diese Aufgabe wird erfindungsgemäß mit den Merkmalen des Anspruchs 1 gelöst.
Bei diesem erfindungsgemäßen Kommunikationsverfahren wird von den gleichberechtigten Stationen am ringförmigen, seriellen Lichtwellenleiter-Bus eine Station als Dispatcher und die anderen Stationen als Transceiver para etriert . Die Dispatcher- Station erzeugt jeweils während eines Buszyklus streng zeitzyklische Containertelegramme, adressiert diese und gibt diese auf den Bus. Als Endtelegramm eines jeden Buszyklus sendet diese Dispatcher-Station ein Synchronisationstelegramm. Jede Transceiver-Station schreibt seine Daten in die ihm adressierten Containertelegramme. Somit sind diese beschriebenen
Containertelegramme quellenadressiert. Außerdem kann jede Transceiver-Station in Abhängigkeit seiner Leseberechtigung die Daten der beschriebenen Containertelegramme auf dem seriellen Bus lesen. Aus dem gelesenen Synchronisationstelegramm erzeugt jede Station am Bus ein Interrup, die in Abhängigkeit der Lage der Stationen am Bus derart zeitverzögert werden, daß alle Interrups zeitsynchron ausgegeben werden. Mit der Ausgabe dieser Interrups werden alle gelesenen Daten weiterverarbeitet .
Dadurch, daß während jedem Buszyklus aneinander gereihte Telegramme auf den Bus gegeben werden, ist auf dem Bus immer ein Bitstrom vorhanden, so daß die Stationen am Bus bitorientiert betrieben werden. Die Zeit jeder zwischen zwei Synchro- nisationstelegrammen ist die Busumlaufzeit des ringförmigen, seriellen Lichtwellenleiter-Busses und entspricht gleichzeitig dem gemeinsamen Systemtakt für die Synchronisation aller angeschlossenen Stationen. Dieses Synchronisationstelegramm wird streng zeitäquidistant und jitterfrei generiert. Somit arbeitet eine der gleichberechtigten Stationen zusätzlich als Taktgeber und die anderen Stationen legen ihre Daten jeweils in den ihnen zugeordneten Containertelegrammen ab und stellen somit ihre Daten allen anderen Stationen am seriellen Bus zum Lesen zur Verfügung. Da jede Station durch Parametrierung weiß, welche quelladressierten Daten gelesen werden dürfen, kann durch eine Parametrierung jede beliebige wahlfreie Kommunikation unter gleichberechtigten Stationen eingestellt werden, ohne den Lichtwellenleiter-Bus hardwaremäßig abändern zu müssen. Damit die Kommunikation der am ringförmigen, seri- eilen Lichtwellenleiter-Bus aufrechterhalten wird, muß eine Station die Funktion des Taktgebers übernehmen. Ansonsten werden keine weiteren Mittel benötigt, die die Kommunikation unter den gleichberechtigten Stationen an diesem Bus steuert.
Vorteilhafte Ausgestaltungen des Kommunikationsverfahrens und der Vorrichtung zur Durchführung dieses Kommunikationsverfahrens sind den Unteransprüchen zu entnehmen.
Zur näheren Erläuterung der Erfindung wird auf die Zeichnung Bezug genommen, in der eine Ausführungsform einer Vorrichtung zur Durchführung des erfindungsgemäßen Verfahrens zur Kommunikation gleichberechtigter Stationen schematisch veranschau- licht ist.
FIG 1 zeigt eine Bustopologie, in der
FIG 2 ist ein Blockschaltbild einer Anschaltbaugruppe des erfindungsgemäßen Bussystems näher dargestellt, die FIG 3 zeigt den Adressiermechanismus "Schreiben", wogegen die
FIG 4 den Adressiermechanismus "Lesen" darstellt, in der
FIG 5 ist ein Projektierungsbeispiel für eine Peer-to- Peer-Funktionalität dargestellt, die FIG 6 zeigt die zugehörige Kommunikations-Tabelle des Projektierungsbeispiels nach FIG 5, wobei in den
FIG 7-10 die verschiedenen Adressiermechanismen des Projektierungsbeispiels veranschaulicht sind.
In der FIG 1 ist eine Bustopologie dargestellt, mit der mehrere gleichberechtigte Stationen 2 bis 12 miteinander kommunizieren können. Die einzelnen Stationen 2 bis 12 sind jeweils mittels eines Lichtwellenleiters 14 als Übertragungsmedium untereinander verbunden. Die Datenrichtung auf diesem ringförmigen, seriellen Lichtwellenleiter-Bus ist richtungsgebunden und wird durch den Pfeil D veranschaulicht. Als Übertragungsmedium können Glas-Lichtwellenleiter oder Kunststoff-Lichtwellenleiter verwendet werden. Damit das erfin- dungsgemäße Verfahren zur Kommunika ion gleichberechtigter Stationen 2 bis 12 eines ringförmigen, seriellen Lichtwellenleiter-Busses durchgeführt werden kann, wird eine Station 2 als Dispatcher und die anderen Stationen 4 bis 12 als Transceiver parametriert . Jede Station 2 bis 12 am Lichtwel- lenleiter-Bus wirkt als Signalverstärker. Damit können bei der Verwendung von Kunststoff-Lichtwellenleitern als Übertragungsmedium maximal 40 m und bei der Verwendung von Glas- Lichtwellenleitern als Übertragungsmedium maximal 300 m zwi-
sehen den Stationen 2 bis 12 liegen. Die maximale Teilnehmerzahl am ringförmigen, seriellen Lichtwellenleiter-Bus ist 201.
Die Dispatcher-Station 2 hat die Funktion als Zuteiler und ist der Taktgeber dieses Bussystems. Die Kommunikationssteuerung ist in Form einer Task-Table in einem Schreib-Lese- Speicher 16 der Dispatcher-Station 2 hinterlegt. In dieser Task-Table wird festgelegt, wieviele Telegramme in einem Busumlauf, auch als Buszykluszeit bezeichnet, diese Dispatcher-Station 2 zu senden hat. Dazu wird in dieser Task-Table unter anderem für jeden aktiven Teilnehmer, das sind die gleichberechtigten Stationen 2 bis 12 am seriellen Bus, eine Adresse und eine Kanalnummer als Subadresse festgelegt. Au- ßerdem sind in dieser Task-Table die Adressen von sogenannten Leertelegrammen und von Sondertelegrammen hinterlegt. Zu diesen Sondertelegrammen gehören unter anderem das Synchronisationstelegramm und die sogenannten NOP-Telegramme (No Operation) . Mit dem Synchronisationstelegramm werden alle Statio- nen 2 bis 12 dieses ringförmigen Busses aufgefordert, die gelesenen Daten weiterzuverarbeiten. Die Leertelegramme und die NOP-Telegramme dienen als Fülltelegramme, damit innerhalb einer jeden Buszykluszeit fortlaufend Telegramme auf dem ringförmigen, seriellen Lichtwellenleiter-Bus umlaufen. Dadurch werden die Stationen 2 bis 12 bitsynchron am Bus betrieben.
Das Synchronisationstelegramm ist immer der letzte Eintrag in der Task-Table und wird somit immer am Ende der Buszykluszeit gesendet. Die Task-Table ist maximal auf 1024 Einträge begrenzt, d.h., es können maximal 1024 Telegramme in einem Bus- zyklus von der Dispatcher-Station 2 gesendec werden. Je Teilnehmer können acht Subadressen verwendet werden. Werden also bei allen aktiven Teilnehmern des ringförmigen, seriellen Lichtwellenleiter-Busses alle acht Subadressen verwendet, so können maximal 128 Teilnehmer am Bus angeschlossen sein.
Die Dispatcher-Station 2 arbeitet seine Task-Table ab, indem sie in Sendereihenfolge jede Adresse mit einem Containertele-
gramm verbindet und auf den seriellen Bus ausgibt. Nachdem der letzte Eintrag dieser Task-Table ausgelesen ist, wird ohne zeitliche Verzögerung mit der Abarbeitung der Eintrage dieser Task-Table von vorne begonnen. Die Containertelegramme werden streng zeitzyklisch generiert. Jede Transceiver-
Station 4 bis 12 empfangt die von der Dispatcher-Station 2 initiierten Telegramme und kann die Daten der Telegramme in Abhängigkeit seiner Leseberechtigung lesen und mit eigenen Daten überschreiben bzw. ablegen. Die Dispatcher-Station 2 kann wie jede Transceiver-Station 4 bis 12 die Daten der Telegramme in Abhängigkeit seiner Leseberechtigung lesen und mit neuen Daten überschreiben bzw. ablegen. Außerdem reicht jede Transceiver-Station 4 bis 12 die empfangenen Telegramme weiter unabhängig davon, ob die Daten gelesen oder mit neuen Daten überschrieben bzw. m diese abgelegt worden sind. Jede Station 2 bis 12 am ringförmigen, seriellen Lichtwellenlei- ter-Bus, die als Transceiver parametriert sind, können den Datenverkehr am Ringbus nicht selbständig aufrechterhalten. Dies ist ausschließlich die Aufgabe der Dispatcher-Station 2.
In der FIG 2 ist ein Blockschaltbild einer Anschaltbaugruppe 18 schematisch dargestellt, die jeweils m einer Station 2 bis 12 des Ringbusses nach FIG 1 angeordnet ist. Diese Anschaltbaugruppe 18 weist einen programmierbaren Baustein 20 mit einem zugehörigen loschbaren Festwertspeicher 22, einen Schreib-Lese-Speicher 16, einen Taktgeber 24, einen Systemstecker 26, einen optoelektπschen und einen elektrooptischen Wandler 28 und 30 und eine Spannungsversorgung 32 auf. Außerdem ist eine Frontseite 34 dieser Anschaltbaugruppe 18 mit mehreren Leuchtdioden 36, 38 und 40 für die Zustandsanzeige dieser Anschaltbaugruppe 18, mit zwei Lichtwellenleiter- Steckerbuchsen 42 und 44, die auch als Bussteckerbuchsen 42 und 44 bezeichnet werden, und mit einer Stromversorgungsstek- kerbuchse 46 versehen. Die Bussteckerbuchse 42 bzw 44 nimmt einen Lichtwellenleiter 14 des seriellen Ringbusses auf und ist mit dem optoelektπschen bzw dem elektrooptischen Wandler 28 bzw 30 verknüpf . Dieser Wandler 28 bzw. 30 ist aus-
gangs- bzw. eingangssei ig mit einem Anschluß des programmierbaren Bausteins 20 elektrisch leitend verbunden. Ebenfalls ist der loschbare Festwertspeicher 22, der Schreib- Lese-Speicher 16 und der Taktgeber 24 mit diesem programmier- baren Baustein 20 verknüpft. Als Spannungsversorgung 32 ist ein DC/DC-Spannungswandler vorgesehen, der eine externe Gleichspannung von beispielsweise 24 V m eine interne Gleichspannung Uv von beispielsweise 5 V wandelt. Dieser Darstellung ist ebenfalls zu entnehmen, daß diese Gleichspannung U ebenfalls von einer Station 2 bis 12 geliefert wird, in der diese Anschaltbaugruppe 18 steckt Der Austausch von Signalen SA (Adressen) , SL (Daten) und SL (Steuersignale, Interrup) und der Gleichspannung Uv wird mittels des Systemstek- kers 26 bewerkstelligt.
Wenn beispielsweise die Spannung U einer der Stationen 2 bis 12 ausfällt, kann die Funktionsfahigkeit der Anschalt- baugruppe 18 und damit die Funktionsfahigkeit des ringförmigen, seriellen Lichtwellenleiter-Busses durch eine an den An- Schaltbaugruppen 18 angeschlossene externe Spannungsquelle aufrechterhalten werden Der programmierbare Baustein 20 weist eine Einrichtung 48 zur Parametrierung der Anschaltbaugruppe 18 als Dispatcher oder als Transceiver auf. Als programmierbarer Baustein 20 ist ein programmierbares Gate- Array, insbesondere ein Field-Programmable Gate Array (FPGA) , vorgesehen, dessen Programm im loschbaren Festwertspeicher 22 abgelegt ist. Zur Abarbeitung dieses Programms wird ein Takt benötigt, der vom Taktgeber 24, insbesondere einem Oszillator, geliefert wird. Im Schreib-Lese-Spe cher 16 ist entweder eine Task-Table oder Sende- und Empfangsdaten gespeichert.
Wird diese Anschaltbaugruppe 18 als Dispatcher mittels der Einrichtung 48 parametπert , so muß im Schreib-Lese-Speicher 16 eine Task-Table angelegt werden. Ist diese Anschaltbau- gruppe 18 ais Transceiver mittels der Einrichtung 48 parame- triert, so werden im Schreib-Lese-Speicher 16 Sende- und Empfangsdaten jeweils wahrend eines Buszyklus abgespeichert In
diesem Schreib-Lese-Speicher 16 werden auch die Adressen von Telegrammen gespeichert, die diese Anschaltbaugruppe 18 lesen soll.
Wie bereits erwähnt, weist die Frontseite 34 der Anschaltbau- gruppe 18 drei Leuchtdioden 36, 38 und 40 auf, die Auskunft über den aktuellen Betriebszustand geben. Blinkt die Leuchtdiode 36, die beispielsweise grün ist, so findet ein fehlerfreier Nutzdatenverkehr über den ringförmigen, seriellen Lichtwellenleiter-Bus statt. Blinkt die Leuchtdiode 38, die beispielsweise rot ist, so ist Anschaltbaugruppe 18 in Betrieb. Blinkt die Leuchtdiode 40, die beispielsweise gelb ist, so ist der Datenaustausch zwischen dieser Anschaltbaugruppe 18 und der Station, in die diese Anschaltbaugruppe 18 gesteckt ist, in Ordnung. Ist eine dieser Leuchtdioden 36, 38 und 40 inaktiv, so liegt ein Fehler vor.
Die beiden Wandler 28 und 30 bilden zusammen mit einem Teil des programmierbaren Bausteins 20 eine sogenannte Interface- Schaltung 50 der Anschaltbaugruppe 18. Diese Interface- Schaltung 50 ist die Schnittstelle einer eden Anschaltbaugruppe 18 zum Ringbus . Diese Interface-Schaltung 50 besteht in ihrer Funktion aus der Wandlung des empfangenen Telegramms in elektrische Signale, der Signalabtastung und -neu- generierung, sowie der anschließenden Wandlung des elektrischen Signals in ein Sendetelegramm. Jede Interface-Schaltung 50 beeinflußt im gleichen Maße das Zeitverhalten der Datenübertragung. D.h., jedes empfangene Telegramm wird um ca. 3 Bitzeiten verzögert, bevor es wieder auf dem Bus gesendet wird. Diese Verzögerung wird auch als Durchlaufverzögerung bezeichnet . Diese Verzögerung wird zum einen durch die Wandler 28 und 30 und zum anderen durch die Signalabtastung und - neugenerierung verursacht. Bei einer festen Datenübertragungsrate von beispielsweise 11 MBit/s entsprechen die drei Bitzeiten einer Zeit von 272 ns .
In der FIG 3 ist der Adressiermechanismus "Schreiben" veranschaulicht. Bei dieser Veranschaulichung ist von der Anschaltbaugruppe 18 nur ein Teil des Schreib-Lese-Speichers 16 dargestellt. Die Dispatcher-Station 2 und jede Transceiver- Station 4 bis 12 dürfen Daten nur in Containertelegrammen schreiben, die ihnen über ihre Adresse zugeordnet sind. Jedes Telegramm CT hat im Telegrammkopf eine Adresse AH und eine Kanalnummer als Subadresse AS. Jede Adresse AH weist acht Subadressen AS auf, die jeweils 32 Bit groß sind. Somit kann jede Station 2 bis 12 maximal 8 x 32 Bitdaten in acht Telegrammen CT, die die gleichen Adressen AH und die Kanalnummern von 0 bis 7 als Subadressen AS haben, übertragen.
In dem dargestellten Beispiel der FIG 3 schreibt der Teilneh- mer am Ringbus mit der Adresse 5, d.h., dieser Teilnehmer ist eine Transceiver-Station 4 bis 12, Daten aus der Subadresse 0 in das Containertelegramm CT mit der Adresse 5. Wenn im Datenfeld DF dieses Telegramms 5/0 bereits Daten abgelegt sind, so werden diese bei diesem Schreibmechanismus überschrieben. Die Daten, die in das Datenfeld DF dieses Containertelegramms CT geschrieben werden, sind von der zugehörigen Transceiver- Station mittels der Signale SA und SD über den Systemstecker 26 und den programmierbaren Baustein 20 in diesen Schreib- Lese-Speicher 16 geschrieben worden. Somit bildet dieser Teil des Schreib-Lese-Speichers 16 einen Sendespeicher, in dem
Prozeßdaten wie Sollwerte, Istwerte, Steuer- oder Zustandsinformationen geschrieben werden. Beim erfindungsgemäßen Kommunikationsverfahren kann jede Station in ihr zugeordneten Containertelegrammen CT Daten schreiben. Somit ist jedes Tele- gramm CT nicht zieladressiert, sondern quelladressiert. Dadurch vereinfacht sich die Kommunikation der gleichberechtigten Stationen 2 bis 12 am seriellen Ringbus, da jede Station 2 bis 12 bezüglich des Sendens eines Telegramms CT, d.h., das Schreiben von Daten, nur in Containertelegramme CT Daten ab- legt, die seine Adresse tragen.
In der FIG 4 ist der Adressiermechanismus "Lesen" veranschaulicht. Bei dieser Veranschaulichung ist ebenfalls wie bei der Veranschaulichung gemäß FIG 3 von der Anschaltbaugruppe 18 nur ein Teil des Schreib-Lese-Speichers 16 dargestellt. Die Dispatcher-Station 2 und jede Transceiver-Station 4 bis 12 können wahlfrei die Daten von jedem Telegramm CT auf dem Ringbus lesen (auch die eigenen Telegramme) . Welche Telegramme CT letztendlich gelesen werden können, hängt jeweils von der Leseberechtigung einer jeden Station 2 bis 12 des seriel- len Ringbusses ab, die bei der Initialisierung einer Anwendung parametriert werden. Dazu werden in der Dispatcher- Station 2 bzw. in den Transceiver-Stationen 4 bis 12 jeweils die Adressen AH und die Subadressen AS als Empfangstelegramm parametriert, deren Daten gelesen werden sollen.
In dem dargestellten Beispiel der FIG 4 liest der Teilnehmer am Ringbus mit der Adresse 5 Daten aus dem Datenfeld DF des Containertelegramms CT mit der Adresse 5/3, d.h., dieser Teilnehmer schreibt die Daten in den Datenkanal mit der Ka- nalnummer 3 eines Teils des Schreib-Lese-Speichers 16. Dieser Teil des Schreib-Lese-Speichers 16 wird deshalb auch als Empfangsspeicher bezeichnet. Damit dieser Teilnehmer mit der Adresse 5 das Containertelegramm CT mit der Adresse 6/3 lesen kann, muß diese Adresse 6/3 als Leseadresse projektiert sein. Dieser Darstellung ist zu entnehmen, daß ein weiterer Teil dieses Schreib-Lese-Speichers 16 für die Projektierung der Leseberechtigung der zugehörigen Anschaltbaugruppe 18 vorgesehen ist. In diesem Teil des Schreib-Lese-Speichers 16 werden die Adressen aller zu lesenden Telegramme CT mit der Adresse AH und der Subadresse AS eingetragen.
Mit dem Senden des letzten Eintrags in der Task-Tabelle, nämlich dem Synchronisationstelegramm, werden zeitverzögert in jeder Station 2 bis 12 des Ringbusses Verzögerungszeiten zur Kompensation der LaufZeitverzögerung, hervorgerufen durch die Signalwandlung in jedem Teilnehmer, kompensiert. Für diese Berechnung einer individuellen Zeitverzögerung kennt jede
Station 2 bis 12 die Anzahl der gleichberechtigten Stationen 2 bis 12 am Ringbus und seine zugehörige Platzziffer. Mit Ablauf jeder berechneten Zeitverzogerung steht jeweils e n Interrup zur Verfugung, mit dem die Stationen 2 bis 12 zeitsyn- chronisiert werden. Mit diesem Interrup werden die gelesenen Daten aus dem Empfangsspeicher des Schreib-Lese-Speichers 16 einer jeden Anschaltbaugruppe 18 in die jeweilige zugehörige Station übernommen. Auf dieses streng zeitzyklische Synchro- nisationstelegramm können interne Regelkreise der einzelnen Stationen 2 bis 12 am seriellen Ringbus synchronisiert werden.
Anhand eines Projektierungsbeispiels für eine Peer-to-Peer- Funktionalitat gemäß den FIG 5 bis 10, soll das erfmdungsge- mäße Verfahren zur Kommunikation gleichberechtigter Stationen 2 bis 14 eines πngforrmigen, seriellen Lichtwellenleiter- Busses naher erläutert werden:
Beim Projektierungsbeispiel sollen drei umrichtergespeiste Motoren winkelgenau gleichlaufen. Somit sind an einem ringförmigen, seriellen Lichtwellenleiter-Bus drei Stationen 2, 4 und 6 mittels ihrer zugehörigen Anschaltbaugruppen 18 angeschlossen. Jede Station 2, 4 und 6 bildet einen aus einem Umrichter 52 und einem Wechselstrommotor 54 bestehenden dreh- zahlveranderbaren Antrieb. Die Anschaltbaugruppen 18 der drei Stationen 2 , 4 und 6 des Ringbusses sind derart mittels Lichtwellenleiter 4 untereinander verbunden, daß die Station 2 die Platzziffer 1, die Station 4 die Platzziffer 2 und die Station 6 die Platzziffer 3 hat. Jeder Anschaltbaugruppe 18 wird seine Platzziffer und die Anzahl der Stationen 2, 4 und 6 am seriellen Ringbus mitgeteilt Aus diesen Zahlen rechnet jede Anschaltbaugruppe 18 seine individuelle Verzoge- rungszeit aus .
Bei dieser winkelgenauen Gleichlaufregelung dreier drehzahl- veranderbarer Antriebe wird die Station 2 zum Leitantrieb mit integrierter virtueller Leitachse erkl rt Der Drehzahl-Leit-
soliwert für diese Antriebsgruppe wird über einen analogen Eingang oder eine Anlagensteuerung vorgegeben.
Die integrierte virtuelle Leitachsenfunktion erzeugt einen Weg-, Drehzahl- und Beschleunigungs-Sollwert ssoιι- nsoιι und ason für die Stationen 4 und 6, die einen Folgeantrieb 2 und Folgeantrieb 3 bilden. Bei diesem Projektierungsbeispiel sollen die Folgeantriebe 2 und 3 außerdem vom Leitantrieb ein- bzw. ausgeschaltet werden. D.h., daß jeder Folgeantrieb ein individuelles Steuerwort STW.2 bzw. STW_3 erhält. Umgekehrt sollen die Folgeantriebe jeweils ein individuelles Zustands- wort ZW_2 bzw. ZW.3 an den Leitantrieb senden. Daraus ergibt sich eine Kommunikations-Tabelle, die in der FIG 6 näher dargestellt ist.
Für die Übertragung von Prozeßdaten müssen die Anschaltbaugruppen 18 der drei Stationen 2, 4 und 6 wie nachfolgend parametriert werden:
Anschaltbaugruppe 18 in der Dispatcher-Station 2 (Leitantrieb) Folgende fünf Prozeßdaten müssen übertragen werden:
- STW-2 = Steuerwort für Station 4
- STW.3 = Steuerwort für Station 6 - Ssoii = Weg-Sollwert
- nSoiι = Drehzahl-Sollwert
- asoπ = Beschleunigungs -Sollwert
Es werden fünf Telegramme, d.h., fünf Kanäle, dazu benötigt.
Anschaltbaugruppe 18 der Transceiver-Station 4
(Folgeantrieb 2)
Es wird ein Prozeßdatum im Zustandswort ZW.2 übertragen
(Schreiben) . Dazu wird ein Telegramm (= ein Kanal) benötigt.
ZW-2 = Zustandswort von der Station 4
Anschaltbaugruppe 18 der Transceiver-Station 6
(Folgeantrieb 3)
Es wird ein Prozeßdatum im Zustandswort ZW.3 übertragen
(Schreiben) .
Dazu wird ein Telegramm (= ein Kanal) benötigt.
ZW-3 = Zustandswort von Station 6.
Für die Dispatcher-Station 2 als Leitantrieb sind folgende Parametereinstellungen von Bedeutung:
Die Einrichtung 48 auf der Anschaltbaugruppe 18 der Dispatcher-Station 2 wird auf Dispatcher gestellt. Als nächstes wird der Anschaltbaugruppe 18 der Dispatcher-Station 2 die Kanalzahl, die in diesem Projektierungsbeispiel 5 ist, mitge- teilt. Damit stehen jedem Teilnehmer fünf Telegramme zum Beschreiben zur Verfügung. Anschließend wird die Zykluszeit als Parameter eingegeben, die in diesem Beispiel 1 ms ist. Da mit fünf Telegrammen diese Zykluszeit nicht erreicht werden kann, werden automatisch so viele Zusatztelegramme, sogenannte Leertelegramme und NOP-Telegramme, gesendet, bis diese Zykluszeit erreicht wird.
Für die Synchronisation der dezentralisierten, unterlagerten Regelkreise in den Umrichtern 52 der Stationen 2, 4 und 6 muß die Buszykluszeit in einem definierten Verhältnis zu den
Zeitscheiben der einzelnen Regelungen stehen. Für die Zeitscheiben der Umrichter 52 gilt folgende Festlegung:
- Stromregelung in Zeitscheibe T0
- Drehzahlregelung in Zeitscheibe 2 • T0 - Lageregelung in Zeitscheibe 4 • T0
Die Zeitscheibe T0 ist gleich dem reziproken Wert der Pulsfrequenz und wird am Umrichter 52 durch die Wahl Pulsfrequenz eingestellt. Dann gilt für die Wahl der Buszykluszeit:
Buszykluszeit = n x langsamste, zu synchronisierende
Zeitscheibe
mit n = 1 , 2 , 3 . . .
Beim Projektierungsbeispiel sollen die Lageregelkreise der drei Stationen 2, 4 und 8 synchronisiert werden, wodurch die Buszykluszeit derart gewählt wird, daß dieser das n-fache der Zeitscheibe der Lageregelung entspricht. Zum Schluß der Parametrierung erhält die Transceiver-Station 2 (Folgeantrieb 2) die Teilnehmeradresse 1 und die Transceiver-Station 6 (Folgeantrieb 3) die Teilnehmeradresse 2.
In der FIG 7 ist der Adreßmechanismus "Schreiben" der Station 2 veranschaulicht. Die Teilnehmer-Adresse 0 zeigt an, daß diese Anschaltbaugruppe 18 als Dispatcher parametriert ist. Die Daten, die in den Subadressen 0 bis 4 stehen, werden hintereinander mit den Adressen 0/0 bis 0/4 auf den Bus geschrieben.
In der FIG 8 ist der Adreßmechanismus "Lesen" der Station 4 veranschaulicht. Die Teilnehmer-Adresse 1 zeigt an, daß diese Anschaltbaugruppe 18 als Transceiver parametriert ist. Außerdem ist in einem Teil des Schreib-Lese-Speichers 16 die Leseberechtigung dieser Station 4 am seriellen Ringbus in Form einer Tabelle abgespeichert. In dieser Tabelle sind alle Telegramm-Adressen mit ihrer Adresse AH und ihrer Subadresse AS, die von dieser Transceiver-Station 4 gelesen werden dürfen, eingetragen. Beim Lesen dieser Telegramme CT werden die Daten, hier der Beschleunigungs-Sollwert asoιι, des Datenfeldes DF der Containertelegramme CT entsprechend der Subadresse AS in den entsprechenden Datenkanal des Empfangsspeichers des Schreib-Lese-Speichers 16 kopiert. Ein Vergleich mit den Containertelegrammen CT der Dispatcher-Station 2 gemäß FIG 7 zeigt, daß das Telegramm mit der Adresse 0/1 nicht von der Transceiver-Station 4 gelesen werden darf, d.h., dieses Telegramm mit der Adresse 0/1 wird nur mittels der Interface- Schaltung 50 dieser Anschaltbaugruppe 18 zum nächsten Teilnehmer dieses seriellen Ringbusses gesendet.
In der FIG 9 ist der Adreßmechanismus "Schreiben" der Transceiver-Station 4 dargestellt. Danach schreibt diese Transceiver-Station 4 in einem Containertelegramm CT mit der Adresse 1/0 dieser Transceiver-Station 4 seine Daten, hier das Zu- Standswort ZW-2 des Folgeantriebs 2, in das zugehörige Datenfeld DF. Müßte diese Transceiver-Station 4 bis zu acht Daten auf den Ringbus senden, so würde die Dispatcher-Station 2 gemäß einer Task-Table weitere sieben Containertelegramme CT mit Teilnehmer-Adressen 1/1 - 1/7 aneinander gereiht auf dem Ringbus senden.
Da die Daten (Zustandswort) der Transceiver-Stationen 4 und 6 (Folgeantriebe 2 und 3) an die Dispatcher-Station 2 (Leitantrieb) gesendet werden sollen, muß diese Dispatcher- Station 2 eine dementsprechende Leseberechtigung aufweisen. D.h., in einer Leseberechtigungs-Tabelle des Schreib-Lese- Speichers 16 der Anschaltbaugruppe 18 sind die Telegramm- Adressen der Stationen 4 und 6 am seriellen Ringbus eingetragen, deren Telegramme CT die Dispatcher-Station 2 lesen soll. Da die Daten der Transceiver-Stationen 4 und 6 jeweils in der ersten Subadresse stehen, sind in der Leseberechtigungs- Tabelle der Dispatcher-Station 2 die Teilnehmer-Adressen 1/0 und 2/0 abgespeichert.
Bei der Initialisierung dieses Projektierungsbeispiels müssen außer der Parameter Anzahl der Teilnehmer, Platzziffer und Dispatcher- oder Transceiver-Funktion noch weitere Parametereinstellungen vorgenommen werden. Da dieser ringförmige, serielle Lichtwellenleiter-Bus eine konstante Übertragungsra- te von beispielsweise 11 MBit/s und die Gesamtlänge eines jeden Telegramms CT 70 Bits inklusive den 32 Bits Daten ist, benötigt somit ein Telegramm CT eine Übertragungszeit von 6,36 μs . In Abhängigkeit der Zeitscheiben der einzelnen Regelungen der am Ringbus angeschlossenen Teilnehmer wird eine Buszykluszeit ermittelt. Es wird angenommen, daß beim Projektierungsbeispiel die Buszykluszeit 1 ms ist. Außerdem werden sieben Telegramme mit den Teilnehmer-Adressen 0/0 bis 0/4,
1/0 und 2/0 und das Synchronisationstelegramm gesendet. Da diese acht Telegramme die Buszykluszeit nicht erreichen, werden so viele Zusatztelegramme, sogenannte Leertelegramme, an nichtadressierte Teilnehmer eingefügt, bis die Zykluszeit von 1 ms erreicht ist. Da die Laufzeit für ein Telegramm 70 Bit- Zeiten ist, können bei einer Übertragungsrate von 11 MBit/s 157 Telegramme gesendet werden. Diese Telegramme CT werden ohne Zwischenpausen unmittelbar hintereinander gesendet, wodurch ein streng zeitzyklischer Busumlauf sichergestellt wird. Wenn durch die Anzahl von Telegrammen CT die Buszykluszeit immer noch nicht erreicht wird, wobei die Differenz kleiner als die Länge eines Telegramms CT ist, wird die zeitliche Lücke mit sogenannten NOP-Telegrammen aufgefüllt.
Bei diesem Projektierungsbeispiel umfaßt die Task-Tabelle, die in einem Teil des Schreib-Lese-Speichers 16 der Anschaltbaugruppe 18 der Dispatcher-Station 2 hinterlegt ist, 157 Telegramme, von denen 7 Teilnehmer-Telegramme mit den Teilnehmer-Adressen 0/0 bis 0/4, 1/0 und 2/0, 159 Leertelegramme und 1 Synchronisationstelegramm sind. In dieser aufgezählten Reihenfolge stehen diese Telegramme CT in der Task-Table. Durch das am Ende der Buszykluszeit ausgesendete Synchronisationstelegramm werden in den gleichberechtigten Stationen 2, 4 und 6 individuelle Zeitverzogerungen derart berechnet, daß zeitgleich in jeder Station 2, 4 und 6 einer Interrup generiert wird, der dafür sorgt, daß jeweils die gelesenen Daten aus dem Empfangsspeicher des Schreib-Lese-Speichers 16 einer jeden Anschaltbaugruppe 18 mittels der Signale SA und SD vom zugehörigen Umrichter 52 übernommen werden.
Mit diesem erfindungsgemäßen Verfahren zur Kommunikation gleichberechtigter Stationen an einem ringförmigen, seriellen Lichtwellenleiter-Bus können Prozeßdaten extrem schnell, streng zeitzyklisch unter den gleichberechtigten Stationen wahlfrei ausgetauscht werden, wobei wegen der Quelladressie- rung der Telegramme und der wahlfreien Leseberechtigung jede Station nur mit dem Bus kommuniziert. D.h., jede gleichbe-
rechtigte Station kennt nicht die Stationen, mit denen diese kommuniziert, sondern weiß nur, welche Telegramme von ihr gelesen und welche beschrieben werden dürfen. Dadurch vereinfacht sich eine Projektierung einer Anlage auf die Parame- trierung jeder gleichberechtigten Station eines seriellen Bussystems .
Dieses erfindungsgemäße Kommunikationsverfahren kann auch bei einer herkömmlichen hierarchischen Busstruktur angewendet werden. Bei einer sogenannten Master-Slave-Busstruktur ist die Dispatcher-Station die übergeordnete Steuerung, beispielsweise ein Automati≤ierungsystem.