-
Die
Erfindung betrifft ein Verfahren zum Betrieb eines Automatisierungssystems
gemäß dem Oberbegriff
des Anspruchs 1, ein nach dem Verfahren in einem Automatisierungssystem
betriebenes oder betreibbares Automatisierungsgerät, ein Automatisierungssystem
mit mindestens zwei solchen Automatisierungsgeräten sowie einen Programmcode
zur Implementation des Verfahrens. Speziell bezieht sich die Erfindung
auf die automatische Zuweisung von Adressen (Autoadressierung) zu
einzelnen Automatisierungsgeräten
in einem Automatisierungssystem.
-
Verfahren
zur Adressvergabe, auch Verfahren zur automatischen Adressvergabe,
sind allgemein bekannt. So basieren bekannte Verfahren zur Autoadressierung
auf zusammenfassend im Folgenden als Kodiermittel bezeichneten Vorrichtungen,
z. B. auf Adressschaltern, in einem speziellen, nicht-flüchtigen
Speicherbereich hinterlegten oder hinterlegbaren Adressdaten, kodierten
Steckern mit Adressdaten, analogen Daten aufgrund von z. B. Strom-
oder Spannungspegel, welche Informationen über den Einbauort geben, oder
werksseitig vergebenen Kennzeichen, wie z. B. einer Seriennummer.
Im Hinblick auf diese bekannten Adressierungsverfahren auf Basis
solcher Kodiermittel wird auf die Dokumente
DE 44 04 962 ,
DE 101 47 512 ,
DE 44 28 502 ,
DE 40 38 992 und
EP 0 855 817 verwiesen.
-
Nachteilig
bei diesen bekannten Verfahren ist, dass die Autoadressierung kaum
oder nur unzureichend in Ansehung der räumlichen Position des jeweiligen
Automatisierungsgerätes
im Automatisierungssystem erfolgt.
-
Eine
Aufgabe der Erfindung ist entsprechend, ein Verfahren sowie ein
nach dem Verfahren arbeitendes Gerät oder ein System, in dem ein
solches Gerät
zum Einsatz kommt, anzu geben, mit dem die oben genannten Nachteile
vermieden oder zumindest reduziert werden und das zudem einfach
implementierbar ist.
-
Automatisierungssysteme,
aber auch z. B. komplexe Stromversorgungssysteme oder dergleichen,
werden in an sich bekannter Art und Weise meist als Systeme mit
einerseits einem zentralen Gerät,
das so genannte Masterfunktionalität übernimmt und im Folgenden entsprechend
als "Master" bezeichnet wird,
z. B. eine Steuerung, sowie andererseits einer Anzahl weiterer Geräte, die
im Folgenden zur Unterscheidung als Peripheriegerät bezeichnet werden
und die so genannte Slavefunktionalität übernehmen und im Folgenden
entsprechend als "Slave" bezeichnet werden,
realisiert. Alle diese Geräte
oder Module, im Folgenden zusammenfassend als Gerät oder Geräte bezeichnet,
sind, soweit sie über
einen Kommunikationsbus kommunikativ verbunden sind, an diesem Bus über eine
in Bezug auf den Bus eindeutige Adresse ansprech- und/oder identifizierbar.
-
Die
Erfindung geht von der Erkenntnis aus, dass es oftmals wichtig sein
kann, eine definierte Adressierungsfolge, insbesondere in Bezug
auf die Position des Masters, also vom Master ausgehend, festzulegen,
ohne dazu vor dem Anlauf des Automatisierungssystems Bedieneingriffe
vornehmen zu müssen.
-
Mit
der nachfolgend beschriebenen Autoadressierung gemäß der Erfindung
gelingt der Erhalt und die Einhaltung einer definierten Adressierungsfolge
und daraus resultierend eine problemlose räumliche Lokalisierbarkeit,
z. B. im Service- und
Inbetriebnahmefall, aber auch für
routinemäßige Überwachungen.
Eine in der Praxis häufig
vorkommende Betriebssituation ist zudem der Anlauf und der Betrieb
des Automatisierungssystems ohne Master (Standalone), die ebenfalls
mit der Erfindung möglich ist.
Dabei ist es für
die Anwendbarkeit der Erfindung unerheblich, ob sich diese Betriebssituation
aufgrund eines Fehlers, also z. B. aufgrund eines Ausfalls des Masters,
oder gewollt, also z. B. bei Systemen, in denen bewusst auf die
Verwendung eines Masters verzichtet wird, ergibt.
-
Erfindungsgemäß wird die
oben genannte Aufgabe mit einem kurz als Autoadressierung bezeichneten
Verfahren zum Betrieb eines Automatisierungssystems mit mindestens
zwei kommunikativ zum Austausch, also zum Empfangen und/oder Senden,
von Daten miteinander verbundenen Automatisierungsgeräten, wobei
jedem Automatisierungsgerät
eine Adresse zugewiesen werden kann, dadurch gelöst, dass zu Beginn des Verfahrens
sämtliche
Automatisierungsgeräte,
denen noch keine Adresse zugewiesen ist, zumindest zeitweise auf
den Empfang von Daten reagieren, wobei demjenigen Automatisierungsgerät, das nach
Ablauf einer vorgegebenen oder vorgebbaren Zeitspanne keine Daten
empfangen hat, eine Adresse, insbesondere eine Adresse aus einem
vorgegebenen oder vorgebbaren Pool von Adressdaten, zugewiesen wird.
-
Vorteilhaft
wird das Verfahren fortgesetzt, indem dasjenige Automatisierungsgerät, dem jeweils eine
Adresse zugewiesen worden ist, ausscheidet, also bei der weiteren
Adressvorgabe nach dem erfindungsgemäßen Verfahren nicht mehr berücksichtigt wird,
bis allen Automatisierungsgeräten
eine Adresse zugewiesen ist.
-
Weiter
vorteilhaft wird nach Zuweisung einer Adresse an alle Automatisierungsgeräte ein erstes Automatisierungsgerät, das an
dem Verfahren nicht teilgenommen hat, als Automatisierungsgerät mit Masterfunktionalität (also
als "Master") initialisiert. Daraufhin
wechseln alle Automatisierungsgeräte, denen nach dem Verfahren
eine Adresse zugewiesen wurde, in einen im Folgenden kurz also Betriebsmodus
bezeichneten Normalbetriebsmodus, in dem sie zur Teilnahme am Datentransfer über den
Bus unter der jeweils zugewiesenen Adresse zugelassen sind oder
in dem sie tatsächlich
an einem solchen Datentransfer teilnehmen.
-
Alternativ
kann vorgesehen sein, dass nach Zuweisung einer Adresse an alle
Automatisierungsgeräte
dasjenige Automatisierungsgerät,
dem nach dem Verfahren zuerst eine Adresse zugewiesen wurde, die
Masterfunktionalität übernimmt.
Daraufhin wechseln alle Automatisierungsgeräte, denen nach dem Verfahren
eine Adresse zugewiesen wurde, ebenfalls in den Betriebsmodus. Dies
bezieht sich vornehmlich auf die weiter oben geschilderte Betriebssituation
des Anlaufs oder des Betriebs des Automatisierungssystems ohne Master,
wenn also der Master z. B. fehlt, defekt ist oder aufgrund eines
Defekts nicht erreichbar ist.
-
Die
mit der Anmeldung eingereichten Patentansprüche sind Formulierungsvorschläge ohne
Präjudiz
für die
Erzielung weitergehenden Patentschutzes. Die Anmelderin behält sich
vor, noch weitere, bisher nur in der Beschreibung und/oder Zeichnungen
offenbarte Merkmalskombinationen zu beanspruchen.
-
Die
Ausführungsbeispiele
sind nicht als Einschränkung
der Erfindung zu verstehen. Vielmehr sind im Rahmen der vorliegenden
Offenbarung zahlreiche Abänderungen
und Modifikationen möglich, insbesondere
solche Varianten und Kombinationen, die z. B. durch Kombination
oder Abwandlung von einzelnen in Verbindung mit den im allgemeinen
oder speziellen Beschreibungsteil beschriebenen sowie in den Ansprüchen und/oder
den Zeichnungen enthaltenen Merkmalen bzw. Elementen oder Verfahrensschritten
für den
Fachmann im Hinblick auf die Lösung
der Aufgabe entnehmbar sind und durch kombinierbare Merkmale zu
einem neuen Gegenstand oder zu neuen Verfahrensschritten bzw. Verfahrensschrittfolgen
führen,
auch soweit sie Herstell-, Prüf- und
Arbeitsverfahren betreffen.
-
In
Unteransprüchen
verwendete Rückbeziehungen
weisen auf die weitere Ausbildung des Gegenstandes des Hauptanspruches
durch die Merkmale des jeweiligen Unteranspruches hin; sie sind nicht
als ein Verzicht auf die Erzielung eines selbständigen, gegenständlichen
Schutzes für
die Merkmalskombinationen der rückbezogenen
Unteransprüche
zu verstehen. Des Weiteren ist im Hinblick auf eine Auslegung der
Ansprüche
bei einer näheren Konkretisierung
eines Merkmals in einem nachgeordneten Anspruch davon auszugehen,
dass eine derartige Beschränkung
in den jeweils vorangehenden Ansprüchen nicht vorhanden ist.
-
Da
die Gegenstände
der Unteransprüche
im Hinblick auf den Stand der Technik am Prioritätstag eigene und unabhängige Erfindungen
bilden können, behält die Anmelderin
sich vor, sie zum Gegenstand unabhängiger Ansprüche oder
Teilungserklärungen zu
machen. Sie können
weiterhin auch selbständige Erfindungen
enthalten, die eine von den Gegenständen der vorhergehenden Unteransprüche unabhängige Gestaltung
aufweisen.
-
Nachfolgend
wird ein Ausführungsbeispiel der
Erfindung anhand der Zeichnung näher
erläutert. Einander
entsprechende Gegenstände
oder Elemente sind in allen Figuren mit den gleichen Bezugszeichen
versehen.
-
Darin
zeigen:
-
1 zum
Stand der Technik ein schematisch vereinfachtes busfähiges Gerät als Beispiel
für ein
Automatisierungsgerät,
-
2 ebenfalls
zum Stand der Technik als Beispiel für ein Automatisierungssystem
eine Anzahl von über
einen Bus kommunikativ verbundenen Automatisierungsgeräten,
-
3 immer
noch zum Stand der Technik eine Vorrichtung zur Anschaltung eines
Automatisierungsgerätes
an einen Bus (Busanschaltung),
-
4 eine
zur Anwendung und/oder Ausführung
des Verfahrens zur automatischen Adressierung modifizierte Busanschaltung,
-
5 ein
Automatisierungssystem unter Verwendung der modifizierten Busanschaltung
gemäß 4,
-
6a bis 6c die
modifizierte Busanschaltung mit weiteren Details, insbesondere einem darin
enthaltenen Schaltwerk mit unterschiedlichen Schaltzuständen des
Schaltwerks,
-
7a bis 7c schematisch
vereinfacht den Ablauf des erfindungsgemäßen Adresszuweisungsverfahrens
in Bezug auf damit assoziierte Schaltzustände der Busanschaltung,
-
8 ein
vereinfachtes Flussdiagramm des erfindungsgemäßen Adresszuweisungsverfahrens,
-
9a bis 9c schematisch
vereinfacht den Ablauf des erfindungsgemäßen Adresszuweisungsverfahrens
in Bezug auf damit assoziierte Schaltzustände der Busanschaltung bei
einer besonderen Ausgangssituation und
-
10 ein
vereinfachtes Flussdiagramm für das
erfindungsgemäße Adresszuweisungsverfahren bei
einer solchen besonderen Ausgangssituation.
-
Zum
Stand der Technik ist in 1 schematisch vereinfacht ein
busfähiges
Gerät 10,
das im Prinzip in seiner jeweiligen konkreten Ausgestaltung z. B.
sowohl eine Steuerung als auch ein Peripheriegerät sein kann, dargestellt. Je
nach Anwendungsfall werden solche Geräte 10 auch als Einschub
mit einer Rückwandadaptierung
zur Kontaktierung eines so genannten Rückwandbusses 11, der
im dargestellten Beispiel einen Versorgungsbus 12 zur Stromversorgung
und einen Datenbus 13 zur Kommunikation umfasst, ausgeführt. Zur
Kontaktierung des Versorgungsbusses 12 ist in an sich bekannter
Weise geräteintern
eine Stromversorgung 14 und zur Kontaktierung des Datenbusses 13 in
ebenfalls an sich bekannter Weise ein Kommunikationsinterface 15 vorgesehen.
-
Geräteintern
ist bei einem zur Verwendung in einem Automatisierungssystem vorgesehenen
Gerät 10 üblicherweise
eine Verarbeitungseinheit 16, also z. B. ein Mikrocontroller
mit einem Programmspeicher und/oder einem Datenspeicher, die maßgeblich die
tatsächliche
Funktionalität
(Steuerung, Peripheriegerät,
etc.) bestimmt, vorgesehen. Zur Anbindung eines Automatisierungsgerätes 10 an
einen jeweils gesteuerten und/oder überwachten technischen Prozess
ist eine Prozessschnittstelle 17 zum Anschluss externer
Prozessperipherie (nicht dargestellt) vorgesehen. Zur Adressvergabe
können
im Stand der Technik bekannte Kodiermittel 18 der eingangs
beschriebenen Art entweder im Bereich einer Rückwand, also ggf. auch funktional
dem Rückwandbus 11 zugeordnet,
im Bereich einer Bedienseite oder im Innern des Gerätes 10 vorgesehen
sein.
-
2 zeigt
ebenfalls zum Stand der Technik als Beispiel für ein Automatisierungssystem
eine Anzahl von über
einen Bus kommunikativ verbundenen Automatisierungsgeräten der
oben genannten Art.
-
Eine
Mehrzahl solcher Geräte 10 kann
in so genannten "Cabinets" 20, 22, 24 logisch,
funktional, elektrisch und/oder mechanisch zusammengefasst werden,
wobei der Begriff Cabinet 20–24 hier synonym zu
den sonst auch gebräuchlichen
Begriffen wie "rack" oder Schaltschrank
verwendet wird. Ein als Master 26 fungierendes Gerät 10 (siehe 1)
sowie eine Mehrzahl als Slave 28 fungierender Geräte 10 haben
verallgemeinert eine gleiche oder zumindest im Wesentlichen gleiche
interne Struktur. Für über einen
seriellen oder parallelen Kommunikationsbus 30, der z.
B. in Form eines Rückwandbusses 11 realisiert sein
kann, kommunikativ miteinander verbundene Geräte 10, 26, 28 ist
eine lokale Adressierung notwendig, damit diese gezielt über das
Gerät mit
Masterfunktionalität
(Master 26) gesteuert und kontrolliert werden können. Dabei
ist es unerheblich, welcher Physik dieser Kommunikationsbus 30 folgt
(z. B. CAN, RS485, Ethernet, etc.).
-
2 zeigt
auch, wiederum zum Stand der Technik, schematisiert ein Beispiel
für eine
Bustopologie mit einer Anzahl von Automatisierungsgeräten 26, 28,
von denen eines als Master 26 fungiert und von denen in
einem ersten, zweiten und dritten Cabinet 22, 24, 26 jeweils
eine Anzahl als Slave 28 fungierender Automatisierungsgeräte zusammengefasst
sind. Alle Automatisierungsgeräte 26, 28 sind über den
Bus 30 kommunikativ miteinander verbunden, wobei jeweils
dem ersten Kommunikationsteilnehmer, also dem als Master 26 fungierenden
Automatisierungsgerät,
ein erster externer Busabschluss 32 und dem "letzten" Kommunikationsteilnehmer, also
dem in seiner Reihenfolge am Bus letzten als Slave 28 fungierenden
Automatisierungsgerät 28,
ein zweiter externer Busabschluss 34 zugeordnet ist.
-
Im
Zusammenhang mit der Darstellung zum Stand der Technik gemäß 2 zeigt 3 schematisch
vereinfacht ein Businterface 36 nach dem Stand der Technik.
Das bekannte Businterface 36 ist in Form eines T-Gliedes
ausgeführt,
d. h., es realisiert einen parallelen Abgriff einer als Zwei- oder
Mehrdrahtleitung ausgeführten
Busleitung des Busses 30. Der parallele Abgriff für jedes
Businterface 36 und damit für jedes Automatisierungsgerät 26, 28,
das über
jeweils ein solches Businterface 36 genau einmal verfügt, ermöglicht das
Senden und das Empfangen von Daten. Dazu ist eine Anschaltung 38,
insbesondere zur elektrischen Kontaktierung des Busses 30 vorgesehen,
an die sich eine Schnittstelle 40 zur Übergabe von über den
Bus 30 empfangenen Daten in das Automatisierungsgerät 26, 28 (in 3 nicht dargestellt)
oder zur Übernahme
von Daten aus dem Automatisierungsgerät 26, 28 zum
Versenden über den
Bus 30 anschließt.
-
Wie
oben bereits beschrieben, werden nach dem Stand der Technik bisher
in die Geräte
eingebrachte Konstanten, nämlich
Kodiermittel 18 (1) oder
dergleichen, als Basis für
eine Adressierung benutzt, so z. B. fortlaufende eindeutige Seriennummern,
von Hand einstellbare Schalter, aber auch Kodierungen, die am Geräteeinbauplatz
vorgenommen wurden und beim Systemanlauf in das Gerät 10 übertragen
werden. Solche Konstanten können
durch Auswertung mittels der jeweiligen Firmware der Geräte 10 in
die Ermittlung einer lokalen Adresse einfließen. Solche dem Gerät 10 zugeordneten
Konstanten gestatten aber keine Aussage über die räumliche Position des einzelnen
Gerätes.
Dies muss immer aufwendig "von
außen" eingebracht werden
(z. B. Steckplatz-Kodierung), wenn eine klare Adressierungsreihenfolge
vom Master 26 ausgehend notwendig ist.
-
Die
Erfindung bricht mit diesem bisher im Stand der Technik durchgängig verfolgten
Konzept und teilt die bekannte Busanschaltung 36 (3)
in einer modifizierten Busanschaltung 50 – im Folgenden
kurz ebenfalls als Busanschaltung 50 bezeichnet – in einen
unabhängigen
Eingangszweig und einen unabhängigen
Ausgangszweig auf, wie dies in 4 schematisch
vereinfacht dargestellt ist. Danach umfasst die modifizierte Busanschaltung 50 einen Buseingang 52 und
einen davon unabhängigen
Busausgang 54 sowie ein Schaltwerk 56 und eine Schnittstelle 58.
Die Busanschaltung 50 ist zur Kombination mit jeweils einem
Automatisierungsgerät 26, 28,
also entweder einem Automatisierungsgerät 26 mit Masterfunktionalität (Master 26)
oder einem Automatisierungsgerät 28 mit
Slavefunktionalität
(Slave 28), vorgesehen. Auf die Darstellung eines Automatisierungsgerätes 26, 28,
mit dem die Busanschaltung 50 kombiniert ist, um für das jeweilige
Automatisierungsgerät 26, 28 eine
Teilnahme am Datenverkehr über
den Bus 30 zu ermöglichen,
ist in 4 aus Gründen
der Übersichtlichkeit
verzichtet worden.
-
5 zeigt
in diesem Zusammenhang das Automatisierungssystem entsprechend der
Darstellung in 2, wie es sich hinsichtlich
der Bustopologie bei Verwendung modifizierter Businterfaces 50 gemäß der Darstellung
in 4 ergibt. Der Unterschied zur Darstellung in 2 besteht
vor allem darin, dass bei jedem Automatisierungsgerät 26, 28, das
am Bus 30 einen Vorgänger
und einen Nachfolger hat, der Buseingang 52 und der Busausgang 54 belegt
sind, während
bei der Topologie gemäß 2 keine
Unterscheidung hinsichtlich Ein- oder Ausgang möglich war und entsprechend
nur von einem Busanschluss über
die Anschaltung 38 gesprochen werden kann.
-
Mit
der Busanschaltung 50 wird das erfindungsgemäße Verfahren
möglich,
bei dem zum Betrieb eines Automatisierungssystems mit mindestens zwei
kommunikativ zum Austausch von Daten (Empfangen und/oder Senden)
miteinander verbundenen Automatisierungsgeräten 26, 28,
wobei jedem Automatisierungsgerät 26, 28 eine
Adresse zugewiesen werden kann, vorgesehen ist, dass zu Beginn des Verfahrens
sämtliche
Automatisierungsgeräte 26, 28, denen
noch keine Adresse zugewiesen ist, zumindest zeitweise auf den Empfang
von Daten reagieren und dass demjenigen Automatisierungsgerät 26, 28, das
nach Ablauf einer vorgegebenen oder vorgebbaren ersten Zeitspanne
keine Daten empfangen hat, eine Adresse, insbesondere eine Adresse
aus einem vorgegebenen oder vorgebbaren Pool von Adressdaten, zugewiesen
wird.
-
Mit
der Aufteilung der Funktionalität
des Businterfaces 50 in einen Eingangszweig und einen davon
unabhängigen
Ausgangszweig wird es erstmals möglich,
den Bus 30 gesteuert aufzutrennen und mit einem aufgetrennten
Bus 30 für
jedes Automatisierungsgerät 26, 28 eindeutig
festzustellen, ob dieses Automatisierungsgerät 26, 28 entlang
des Busses 30 einen Vorgänger hat oder nicht. Bei aufgetrenntem
Bus 30 empfängt
nämlich
das Automatisierungsgerät 26, 28,
das entlang des Busses 30 keinen Vorgänger hat, selbst dann keine
Daten, wenn alle (anderen) Automatisierungsgeräte 26, 28 Daten
aussenden. Selbstverständlich
reicht für
die Überprüfung, ob
Daten empfangen werden oder nicht, ein begrenzter Zeitraum, dessen
Dauer vorgegeben werden kann, aus. Wenn also am Ende der vorgegebenen
oder vorgebbaren Dauer (erste Zeitspanne) ein Automatisierungsgerät 26, 28 keine
Daten empfangen hat, steht für
dieses Automatisierungsgerät 26, 28 fest,
dass es entlang des Busses 30 keinen Vorgänger hat,
also entsprechend entlang des Busses 30 das "erste" Automatisierungsgerät am Bus 30 ist. Ausgehend
von dieser Feststellung kann diesem Automati sierungsgerät 26, 28 eine
Adresse, insbesondere eine Adresse aus einem vorgegebenen oder vorgebbaren
Pool von Adressdaten, zugewiesen werden, wobei die zugewiesene Adresse
bevorzugt die räumliche
Position des Automatisierungsgerätes 26, 28,
insbesondere die Reihenfolge des Automatisierungsgerätes am Bus,
besonders bevorzugt in Bezug auf eine Position eines als Master 26 fungierenden
Automatisierungsgerätes 26, 28,
reflektiert.
-
Nachdem
aufgrund der erfindungsgemäßen Ausgestaltung
des Businterfaces 50 mit jedem Businterface 50,
also durch jedes Automatisierungsgerät 26, 28 mit
einem solchen Businterface 50, eine Auftrennung des Busses 30 im
Bereich des jeweiligen Automatisierungsgerätes 26, 28 möglich ist,
ist weiter vorteilhaft vorgesehen, dass zu Beginn des Verfahrens
sämtliche
Automatisierungsgeräte 26, 28, denen
noch keine Adresse zugewiesen ist, zu zufälligen Zeitpunkten oder während zu
zufälligen
Zeitpunkten beginnenden Zeiträumen
auf den Empfang von Daten reagieren und zu zufälligen Zeitpunkten oder während zu
zufälligen
Zeitpunkten beginnenden Zeiträumen
Daten versenden. Auf diese Art und Weise ist gewährleistet, dass trotz permanent über die gesamte
Länge des
Busses 30 auftretender Unterbrechungen zumindest gewisse
Zeitspannen existieren, während
derer Daten zumindest von einem ersten Automatisierungsgerät 26, 28 zu
einem diesem Automatisierungsgerät 26, 28 unmittelbar
benachbarten Automatisierungsgerät 26, 28 gelangen
können.
Wenn dies entlang des Busses 30 für sämtliche möglichen Paare benachbarter
Automatisierungsgeräte 26, 28 gewährleistet
ist, ist ebenfalls gewährleistet,
dass innerhalb der vorgegebenen oder vorgebbaren ersten Zeitspanne
jedes Automatisierungsgerät 26, 28 zumindest
theoretisch von seinem am Bus 30 vorangehenden Nachbar-Automatisierungsgerät 26, 28 Daten
empfangen und auf diese Art und Weise feststellen kann, ob ein solcher
am Bus 30 vorangehender Nachbar 26, 28 vorhanden
ist. Damit ist gewährleistet,
dass kein Automatisierungsgerät 26, 28, das
tatsächlich
noch einen Vorgänger 26, 28 am
Bus 30 hat, irrtümlich
annimmt, das erste Automatisierungsgerät 26, 28 am
Bus 30 zu sein.
-
Die 6a, 6b und 6c zeigen nochmals
die Busanschaltung 50 aus 4, wobei jedoch
das Schaltwerk 56 mit weiteren Einzelheiten dargestellt
ist. Wie in 6a, 6b und 6c erkennbar
ist, umfasst das Schaltwerk 56 eine Anzahl von Schaltmitteln,
die in den Figuren als mechanische Schalter 60, 61, 62, 63, 64 dargestellt
sind, die jedoch auch in Form von elektrischen oder elektronischen
Schaltern, also z. B. Relais oder Transistoren, ausgeführt sein
können.
Unter den Schaltmitteln 60–64 gibt es erste,
zweite, dritte und vierte Durchschaltmittel 60, 61, 62, 63,
die zur Verbindung der Schnittstelle 58 entweder mit dem
Buseingang 52 oder dem Busausgang 54 vorgesehen
sind. Des Weiteren umfasst das Schaltwerk 56 Aktivierungsschaltmittel 64 zur
Aktivierung eines einerseits dem Buseingang 52 und andererseits
dem Busausgang 54 zugeordneten internen Busabschlusses 66, 67.
-
Die
unterschiedlichen Darstellungen in 6a, 6b und 6c beziehen
sich auf unterschiedliche Betriebsarten des Automatisierungsgerätes 26, 28 (5)
am Bus 30 und stellen unterschiedliche Schaltzustände des
Schaltwerks 56 dar. Bei dem in 5a dargestellten
Schaltzustand des Schaltwerks 56 ist die Schnittstelle 58 mit
dem Buseingang 52 verbunden. In dieser Schaltstellung des
Schaltwerks 56 ist das jeweilige Automatisierungsgerät 26, 28 zum
Empfang von Daten über
den Bus 30 (und den Buseingang 52) freigeschaltet.
Bei der Darstellung in 6b befindet sich das Schaltwerk 56 in
einer Stellung, in der die Schnittstelle 58 mit dem Busausgang 54 verbunden
ist. In dieser Schaltstellung des Schaltwerks 56 ist das
Automatisierungsgerät
zum Transfer von Daten auf den Bus 30 (und den Busausgang 54)
freigeschaltet. Die schließlich
in 6c dargestellte Schaltstellung des Schaltwerks 56 bezieht
sich auf eine Schaltstellung, die die Busanschaltung 50 in
einem normalen Betrieb zur Kommunikation über den Bus einnimmt. Dieser Modus
wird im Folgenden auch als Betriebsmodus bezeichnet. Die Schnittstelle 58 ist
sowohl mit dem Buseingang 52 als auch dem Busausgang 54 verbunden.
Die Aktivierungsschaltmittel 64 sind geöffnet, so dass nur ein externer
Busabschluss 32, 34 (vgl, auch 5)
wirksam ist.
-
In
den 7a, 7b und 7c wird schematisch
vereinfacht der Ablauf der automatischen Adressvergabe oder Adresszuweisung
dargestellt. Die weitere Erläuterung
der 7a, 7b und 7c erfolgt
dabei im Zusammenhang mit dem Flussdiagramm in 8.
-
In 8 ist
der Algorithmus zur automatischen Adressvergabe gemäß der Erfindung
mit 100 bezeichnet.
-
In
einem ersten Schritt 105 wird ein als Master 26 fungierendes
Automatisierungsgerät 26, 28 (allgemein:
ein als Master 26 fungierender Kommunikationsteilnehmer 26, 28 an
einem Kommunikationsbus 30) für eine vorgegebene oder vorgebbare
Zeitspanne (Timeout_2) passiviert, d. h., das Gerät nimmt
an den weiteren Kommunikationsvorgängen über den Bus 30 während dieser
Zeitspanne nicht teil. In 7a ist
dies durch den Pfeil mit der Bezugsziffer 105 verdeutlicht.
-
In
einem zweiten Schritt 110 wird ein "stochastisches Senden und Hören" sämtlicher
als Slave 28 fungierender Automatisierungsgeräte 26, 28 (Kommunikationsteilnehmer)
für eine
vorgegebene oder vorgebbare Zeitspanne (Timeout_1) initiiert. In 7a ist
dies durch die Klammer mit der Bezugsziffer 110 verdeutlicht.
Die Klammer 110 umfasst sämtliche Kommunikationsteilnehmer,
die an dem Verfahren teilnehmen. Während der Zeitspanne "Timeout_1" schalten die jeweiligen
Slaves 28 stochastisch, also zu im Wesentlichen zufälligen Zeitpunkten,
mittels des Schaltwerks 56 entweder den Buseingang 52 oder
den Busausgang 54 an den Bus 30. Dies ist in der
Darstellung in 7a (im Übrigen auch in der Darstellung
in 7b) durch den Doppelpfeil im Bereich der Schalter 60, 61 (vgl. 6a)
verdeutlicht. Beim Senden, also beim Anschalten des Busausgangs 54 an
den Bus 30, sendet der jeweilige Slave 28 an den
diesem Slave 28 "rechts" (gemäß der graphischen
Darstellung) benachbarten Kommunikationsteilnehmer 28.
Bei den in 7a dargestellten drei Slaves 28 sendet
also während
der Zeitspanne "Timeout_1" der ganz links dargestellte
Slave 28 zumindest einmal an den in der Mitte dargestellten Slave 28 und
der in der Mitte dargestellte Slave 28 sendet seiner seits
zumindest einmal an den ganz rechts dargestellten Slave 28.
Der ganz links dargestellte Slave 28 empfängt keine
Daten, da der als Master 26 fungierende Kommunikationsteilnehmer 26,
der der einzige Kommunikationsteilnehmer 26" links" vom ganz links dargestellten Slave 28 ist,
während
der Zeitspanne "Timeout_2" passiviert war.
-
Aufgrund
dieses Umstands, d. h. aufgrund des Umstands, dass ein bestimmter
Slave 28 während
der Zeitspanne "Timeout_1" keine Daten empfangen
hat, kann zweifelsfrei geschlossen werden, dass dieser Slave 28 der
erste Slave 28 in einer Kette von Slaves 28 ist,
so dass diesem Slave 28 in Ansehung dieses Ergebnisses
in einem dritten Schritt 115 eine Adresse in Ansehung seiner
Position in einer Abfolge der insgesamt vorhandenen Slaves 28 zugewiesen
werden kann.
-
Die
zugewiesene Adresse kann dabei aus einem in Form einer Datenbasis
(nicht dargestellt) zugänglichen
vorgegebenen oder vorgebbaren Pool von Adressdaten stammen. Als
Pool von Adressdaten wird ebenso eine automatisch erzeugte eindeutige
Adresse, z. B. eine fortlaufende Nummer, aufgefasst, wobei der Wert
der fortlaufenden Nummer auch die Position am Bus 30 kodiert.
Ebenso wird als Pool von Adressdaten eine Generierung fortlaufender
Nummern ausgehend von vorgegebenen oder vorgebbaren Startwerten
aufgefasst. So kann z. B. in komplexeren Bussystemen einem ersten
Teilbus als Basis für
einen "Pool von
Adressdaten" ein
erster Startwert (z. B. 1000000) und einem anderen Teilbus ebenfalls
als Basis für
einen "Pool von
Adressdaten" ein
zweiter Startwert (z. B. 2000000) zugewiesen werden. Ausgehend von
dem jeweiligen Startwert und dem damit begründeten Pool von Adressdaten können für jeden
Teilbus Adressen, z. B. in der Form 1000000, 1000001, 1000002, etc.
für den
ersten Teilbus, erzeugt werden, die einerseits die Zugehörigkeit des
jeweiligen Gerätes
zum jeweiligen Teilbus und andererseits deren räumliche Abfolge in Ansehung einer
Reihenfolge am Bus 30 anzeigen.
-
In
einem vierten Schritt 120 wird derjenige Slave 28,
dem gemäß dem Verfahren
eine Adresse zugewiesen wurde, für
den weiteren Ablauf des Verfahrens passiviert, d. h. auch dieser
Slave 28, also jeder Slave 28, dem mit dem Verfahren
eine Adresse zugewiesen wurde, nimmt danach an dem weiteren Ablauf
des Verfahrens nicht mehr teil. In 7a ist der
Umstand, der sich bei der ersten Ausführung der Implementierung des
erfindungsgemäßen Adresszuweisungsverfahrens
durch den Algorithmus 100 nur auf einen der Kommunikationsteilnehmer 28 auswirkt,
durch den diesem Kommunikationsteilnehmer 28 zugeordneten
Pfeil mit den Bezugsziffern 115, 120 veranschaulicht.
-
In
einem fünften
Schritt 125 wird, solange die Zeitspanne "Timeout_2", also die Zeitspanne,
während
der der als Master 26 fungierende Kommunikationsteilnehmer 26 passiviert
ist, noch nicht abgelaufen ist, d. h. wenn also die Möglichkeit
besteht, dass noch weitere Kommunikationsteilnehmer 28 mit
Slavefunktionalität
an dem Bus 30 angeschlossen sind, denen bisher nach dem
Verfahren noch keine Adresse zugewiesen wurde, vor den zweiten Schritt 110 verzweigt.
-
Bei
der erneuten Ausführung
(vgl. 7b) des zweiten Schritts 110 senden
alle Kommunikationsteilnehmer 28 mit Slavefunktionalität während der vorgegebenen
oder vorgebbaren Zeitspanne "Timeout_1" erneut stochastisch,
also zu im Wesentlichen zufälligen
Zeitpunkten, Daten über
den Bus 30 oder überwachen
einen eventuellen Datenempfang. Nach Ablauf dieser Zeitspanne (Timeout_1)
hat wieder genau ein Slave 28 keine Daten empfangen. Da der
in 7b ganz links dargestellte Slave 28 beim ersten
Durchlauf des Verfahrens (7a) eine Adresse
erhalten hat und danach für
den weiteren Ablauf des Verfahrens passiviert wurde, sendet dieser
während
des zweiten Schrittes 110 keine Daten mehr. In 7b ist
dies durch die mit der Bezugsziffer 110 versehene Klammer,
die nicht mehr denjenigen Kommunikationsteilnehmer 28 umfasst,
dem bereits eine Adresse zugewiesen wurde, veranschaulicht. Entsprechend
kann der in 7b als mittlerer Slave 28 darge stellte
Kommunikationsteilnehmer 28 an seinem Buseingang 52 keine
Daten empfangen haben. Jetzt kann also aufgrund dieses Umstands diesem
Kommunikationsteilnehmer 28 (dem in 7b als
mittlerer Slave 28 dargestellten Kommunikationsteilnehmer 28)
eine Adresse zugewiesen werden (Schritt 120) und das Verfahren
wird im Schritt 125, sofern die Zeitspanne "Timeout_2" noch nicht abgelaufen
ist, nochmals wiederholt.
-
Die
Zeitspanne "Timeout_2" wird also so gewählt, dass
in Ansehung der möglichen
Maximalanzahl von an den Bus 30 angeschlossenen Kommunikationsteilnehmern
eine automatische Adressvergabe an jeden Kommunikationsteilnehmer 28,
also an jedes Automatisierungsgerät 28 (Peripheriegerät 28) möglich ist.
-
Nach
Ablauf der Zeitspanne "Timeout_2" wird in einem sechsten
Schritt 130 jeder Kommunikationsteilnehmer 26, 28 mit
einer gemäß der Erfindung ausgestalteten
Busanschaltung 50, in der Darstellung gemäß 7a, 7b, 7c also
zumindest die Slaves 28, in einen normalen Betriebszustand (vgl. 6c)
geschaltet. Danach kann der normale Datenverkehr über den
Bus 30 aufgenommen werden und jeder Slave 28 ist über die
mit dem erfindungsgemäßen Verfahren
zugewiesene Adresse am Bus 30 eindeutig adressierbar.
-
Das
erfindungsgemäße Adresszuweisungsverfahren
endet im Schritt 135 und alle Kommunikationsteilnehmer 26, 28 beginnen
mit ihrer normalen und insoweit an sich bekannten Buskommunikation unter
Kontrolle des als Master 26 fungierenden Kommunikationsteilnehmers.
-
In
den 9a, 9b und 9c wird
dargestellt, dass das erfindungsgemäße Adresszuweisungsverfahren
auch ohne einen als Master 26 fungierenden Kommunikationsteilnehmer
ablaufen kann, was als besonderer Vorteil angesehen wird, da bisher
im Stand der Technik bekannte dynamisch ablaufende Adresszuweisungsverfahren
auf dem Vorhandensein eines als Master 26 fungierenden
Kommunikationsteilnehmers 26 basieren. Inhalt lich entsprechen
die Darstellungen in 9a, 9b und 9c im
Wesentlichen der Darstellung in 7a, 7b und 7c,
jedoch mit der Ausnahme, dass der als durchgestrichen, also nicht
vorhanden dargestellte Master 26 in der Praxis tatsächlich nicht
an den Bus 30 angeschlossen ist. Ebenfalls analog zu der
Darstellung in 7a, 7b und 7c erfolgt auch
in der Darstellung in 9a, 9b und 9c eine
Bezugnahme auf einzelne Schritte während des Ablaufs des erfindungsgemäßen Verfahrens
durch Pfeile oder Klammern, die mit entsprechenden, auf den jeweiligen
Verfahrenschritt bezogenen Bezugsziffern versehen sind.
-
Der
bei einer solchen Konstellation (9a, 9b, 9c)
ablaufende Algorithmus zur Adresszuweisung ist in 10 dargestellt.
Der Algorithmus in 10 entspricht im Wesentlichen
dem bereits im Zusammenhang mit 8 erläuterten
Algorithmus. Der modifizierte Algorithmus gemäß 10 beginnt in
Schritt 150 und startet in einem ersten Schritt 160 in
einer Phase, während
der alle angeschlossenen Kommunikationsteilnehmer 28, die
sämtlich
als Slave 28 fungieren, genau wie im Schritt 110 (8)
stochastisch, also zu im Wesentlichen zufälligen Zeitpunkten, entweder
ihren Buseingang 52 oder ihren Busausgang 54 an
den Bus 30 anschalten und auf diese Weise entweder Daten über den
Bus 30 senden oder auf den eventuellen Empfang von Daten über den
Bus 30 warten. Analog den vorstehend im Zusammenhang mit
dem Algorithmus gemäß 8 beschriebenen
Verhältnissen
hat nach Ablauf der Zeitspanne "Timeout_1" genau einer der
Kommunikationsteilnehmer 28, nämlich derjenige Kommunikationsteilnehmer,
der keinen "linken" Nachbarn (bezogen
auf die graphische Darstellung in 9a) hat, keine
Daten empfangen (Schritt 165). Diesem Kommunikationsteilnehmer 28 wird
in einem nachfolgenden, weiteren Schritt 170 eine Adresse
in Ansehung seiner Position in der Abfolge der Kommunikationsteilnehmer 28 zugewiesen
und der jeweilige Kommunikationsteilnehmer 28 wird für den weiteren
Ablauf des Verfahrens deaktiviert. Nachfolgend wird in einem Schritt 175 (analog
zu Schritt 125 gemäß 8) überprüft, ob eine
vorgegebene oder vorgebbare Zeitspanne (Timeout_2) bereits abgelaufen
ist. Ist dies nicht der Fall, wird vor den Schritt 160 verzweigt und
das Verfahren wird mit den verbleibenden Kommunikationsteilnehmern 28,
also allen denjenigen Kommunikationsteilnehmern 28, denen
gemäß dem Verfahren
bisher noch keine Adresse zugewiesen wurde, fortgesetzt (9b).
Die Zeitspanne "Timeout_2" wird wiederum so
gewählt,
dass in Ansehung des Maximalausbaugrades, d. h. der maximal möglichen
Teilnehmer am Bus 30, innerhalb dieser Zeitspanne mit dem
Verfahren jedem Kommunikationsteilnehmer 28 eine Adresse
zugewiesen werden kann. Nach Ablauf dieser Zeitspanne wird das Verfahren
im Schritt 180 fortgesetzt und derjenige Kommunikationsteilnehmer 28,
dem gemäß dem Verfahren
zuerst eine Adresse zugewiesen wurde, in der graphischen Darstellung
in 9a also der "ganz links" dargestellte Slave 28, übernimmt
für die
weitere Kommunikation über
den Bus 30 Masterfunktionalität, d. h. er fungiert als Master 26.
Das Verfahren endet im Schritt 185 und alle Kommunikationsteilnehmer 26, 28 nehmen
die normale Buskommunikation auf.
-
Damit
lässt sich
die Erfindung kurz wie folgt darstellen:
Es wird ein Verfahren
zum Betrieb eines Automatisierungssystems mit mindestens zwei zum
Austausch von Daten kommunikativ verbundenen Automatisierungsgeräten 26, 28,
wobei jedem Automatisierungsgerät 26, 28 eine
Adresse zugewiesen werden kann, angegeben, bei dem zu Beginn des
Verfahrens sämtliche
Automatisierungsgeräte 26, 28,
denen noch keine Adresse zugewiesen ist, zumindest zeitweise auf den
Empfang von Daten reagieren, wobei demjenigen Automatisierungsgerät 26, 28,
das nach Ablauf einer vorgegebenen oder vorgebbaren Zeitspanne (Timeout_1)
keine Daten empfangen hat, eine Adresse, insbesondere eine Adresse
aus einem vorgegebenen oder vorgebbaren Pool von Adressdaten, zugewiesen
wird. Danach scheidet das identifizierte Automatisierungsgerät 26, 28 für den weiteren
Ablauf des Verfahrens aus, das für
eine vorgegebene oder vorgebbare Zeitspanne (Timeout_2) fortgesetzt wird, bis
nach und nach allen Geräten 26, 28 eine
Adresse zugewiesen wurde.