-
Die vorliegende Erfindung ist auf ein Verfahren zum Ansteuern von Ausführungseinheiten gerichtet, sowie auf eine entsprechend eingerichtete Systemanordnung. Darüber hinaus wird ein Kommunikationsknoten vorgeschlagen, welcher zur Verwendung in dem Verfahren bzw. in der Systemanordnung geeignet ist. Die vorliegende Erfindung ist ferner auf ein Computerprogramm gerichtet, mit Steuerbefehlen, welche das vorgeschlagene Verfahren implementieren bzw. die vorgeschlagene Systemanordnung betreiben.
-
DE 10 2014 003 066 A1 zeigt Bus-Teilnehmer in einem Busnetzwerk und lehrt hierzu eine dynamische Adressierung.
-
DE 10 2018 007141 A1 zeigt eine Systemanordnung zum fehlertoleranten und elektromagnetisch verträglichen Ansteuern einer Vielzahl von Ausführungseinheiten.
-
-
WO 2017/162 323 A1 zeigt eine effiziente Steuerungsanordnung und ein Steuerungsverfahren, wobei sequentiell angeordnete Ausführungseinheiten mittels einer Befehlseinheit angesteuert werden.
-
WO 2018/103 880 A1 zeigt eine kompakte Leuchtdiodenanordnung, welche generisch einsetzbar ist, jedoch aufgrund der kompakten Bauart insbesondere für die Verwendung in einem Fahrzeug vorteilhaft ist.
-
Gemäß herkömmlicher Verfahren ist eine Vielzahl von Möglichkeiten bekannt, Steuereinheiten, welche seriell geschaltet sind, anzusprechen. Hierbei gibt es generische Ansätze, welche jedoch in spezifischen Anwendungsszenarien nachteilig sein können oder aber auch sehr spezielle Ansätze, welche nunmehr nicht mehr in generischer Weise einsetzbar sind. Bekannt ist beispielsweise der sogenannte CAN-Bus, welcher bezüglich Kabelbäume entwickelt wurde und insbesondere eine Vernetzung von Steuergeräten umsetzen soll.
-
Allgemein ist die Komplexität des CAN Protokolls deutlich größer als bei ISELED (eingetragene Marke) und damit teurer. Aber der gewichtigste Nachteil von CAN und LIN ist, dass diese auf Grund der Busarchitektur keine natürliche (automatische) Adressierungsmöglichkeit bieten. Hier muss die Adresse konfiguriert werden. Bei ISELED (Ausführungseinheiten) und auch bei der segmentierten ISELED (Leitungstreibereinheit und Ausführungseinheiten) gibt es eine physikalisch vorgegebene Reihung und daraus folgt die Möglichkeit automatisch Adressen zu vergeben.
-
Aus dem Stand der Technik sind unterschiedliche Ausführungseinheiten bekannt, welche typischerweise als ein sogenannter Slave bzw. ein Client arbeiten und hierbei von einer übergeordneten Instanz, welche typischerweise als Master bezeichnet wird, Befehle erhalten. Die Ausführungseinheiten setzen diese Befehle sodann um. Der Stand der Technik zeigt hierzu unterschiedliche Architekturen bzw. Topologien, wie entsprechende Ausführungseinheiten mitsamt deren Steuerungseinheiten anzuordnen sind.
-
Der Stand der Technik weist hierbei jedoch das Problem auf, dass je nach Anwendungsszenario unterschiedliche Anforderungen gestellt werden und insgesamt also abzuwägen ist, ob ein energieeffizientes Verfahren mit höherer Störanfälligkeit bereitzustellen ist, oder aber ein Verfahren, welches mehr Energie aufnimmt, dafür jedoch fehlerrobuster ist. Darüber hinaus sind die Abmessungen des vorgesehenen Einsatzortes einer solchen Architektur zu berücksichtigen. Manche Anordnungen eignen sich nicht für einen großflächigen Einsatz und können daher lediglich auf einzelnen Leiterplatten implementiert werden. Andere Architekturen hingegen können großflächig über mehrere Meter hinweg verbaut werden und haben folglich ganz andere Anforderungen zu erfüllen als Systemanordnungen auf einzelnen Leiterplatten.
-
In einzelnen Anwendungsszenarien bestehen sehr spezifische Anforderungen, welche nicht mittels generischer Netzwerkarchitekturen befriedigt werden können. Folglich ist es notwendig spezielle Protokolle, Netzwerkarchitekturen und Verfahren vorzuschlagen, welche exakt dem Anwendungsszenario Genüge tragen. Ein spezielles Anwendungsgebiet ist der Automobilbereich, wo kosteneffizient, d.h. mit geringem technischem Aufwand, gearbeitet wird und darüber hinaus zuverlässige Netzwerkarchitekturen notwendig sind. Die Zuverlässigkeit der Netzwerkarchitekturen ist deshalb so entscheidend, da Automobile längeren Wartungsintervallen unterliegen und folglich würde der Kunde einen entsprechenden Ausfall nicht tolerieren. Darüber hinaus werden oftmals sicherheitskritische Funktionen bereitgestellt, sodass die Ausfallsicherheit essenziell ist.
-
So ist es im Stand der Technik unter anderem nachteilig, dass Netzwerkkomponenten bereitgestellt werden können, die dadurch nicht dem Anwendungsszenario ansprechen, dass einzelne Komponenten von zu großem Umfang sind und gegebenenfalls Logik implementieren, die gegebenenfalls nicht genutzt wird. Darüber hinaus besteht ein Bedarf an Netzwerkarchitekturen bzw. Komponenten die besonders effizient sind und zudem mit geringem technischem Aufwand herzustellen sind.
-
Die Ausfallsicherheit soll unter anderem dadurch gegeben werden, dass einzelne Komponenten derart segmentiert werden können, dass bei einem Ausfall eines einzelnen Segments keine weiteren Segmente betroffen sind. Insgesamt sollen die Komponenten möglichst einfach ausgestattet werden, um energieeffizient arbeiten zu können und zudem fehlerrobust funktionieren können. Insgesamt soll möglichst wenig Energie aufgenommen werden, da dies nicht nur die Energie an sich kostet, sondern vielmehr Abstrahlungen zu befürchten sind und darüber hinaus ist eine Temperaturentwicklung nachteilig.
-
Ein weiteres Problem im Stand der Technik ist es, dass oftmals eine bestimmte Netzwerkarchitektur eine effiziente Implementierung eines Protokolls verhindert. So sind aus dem Stand der Technik Segmentierungen von Netzwerktopologie bekannt, wobei entsprechende Protokolle für serielle Anordnungen optimiert sind. Ein Übersetzen von Protokollen, welche bezüglich serieller Anordnungen optimiert sind ist typischerweise aufwendig und fehleranfällig. So ist es vorteilhaft eine Verfahren bzw. eine Systemanordnung bereitzustellen, welche eine fehlerrobuste Segmentierung ermöglicht und zudem ein effizientes Protokoll bereitstellt, derart, dass die Netzwerkarchitektur effizient und fehlerrobust arbeiten kann. Insgesamt ist es stets gefordert, dass Netzwerkprotokolle bzw. Netzwerkarchitekturen mit bestehenden Komponenten kompatibel arbeiten.
-
Demgemäß ist es eine Aufgabe der vorliegenden Erfindung ein verbessertes Verfahren zum Ansteuern von Ausführungseinheiten vorzuschlagen, welches effizient abläuft und insbesondere die Vorteile einer seriellen Verkettung von Ausführungseinheiten als auch einer Segmentierung von Ausführungseinheiten kombiniert. Darüber hinaus ist es eine Aufgabe der vorliegenden Erfindung eine entsprechend eingerichtete Systemanordnung vorzuschlagen sowie einen Kommunikationsknoten, welcher sowohl in dem vorgeschlagenen Verfahren als auch in der vorgeschlagenen Systemanordnung Einsatz finden kann. Darüber hinaus ist es eine Aufgabe der vorliegenden Erfindung ein Computerprogrammprodukt bereitzustellen, mit Steuerbefehlen, welche das vorgeschlagene Verfahren implementieren bzw. die Systemanordnung betreiben.
-
Die Aufgabe wird gelöst mit den Merkmalen des Patentanspruchs 1. Weitere vorteilhafte Ausgestaltungen sind in den Unteransprüchen vorgeschlagen.
-
Demgemäß wird ein Verfahren zum Ansteuern von Ausführungseinheiten vorgeschlagen, aufweisend ein Bereitstellen eines physischen Netzwerks aus seriellen Teilketten von Ausführungseinheiten, wobei die einzelnen Teilketten seriell angesprochen werden und bei einem Ausfallen einer Ausführungseinheit lediglich ein Ausfallen der weiteren Teilkette erfolgt, wobei jede Teilkette anfangs genau einen Kommunikationsknoten vorgeschaltet hat und die Kommunikationsknoten der Teilketten derart untereinander seriell verkettet sind, dass eine Kommunikationskette vorgeschalteter Kommunikationsknoten vorliegt, wobei einzelne Kommunikationsknoten derart passiv geschaltet werden, dass die Kommunikationskette im Übrigen fortbesteht, wobei die Kommunikationsknoten jeweils mindestens eine Eingangsschnittstelle und mindestens eine Ausgangsschnittstelle aufweisen und die mindestens eine Eingangsschnittstelle und die mindestens eine Ausgangsschnittstelle explizit sperrbar ist, ein sequenzielles Abprüfen jeder der Teilketten mittels jeweils einer Anfrage an den jeweiligen vorgeschalteten Kommunikationsknoten der Teilketten, welcher jeder Ausführungseinheit der Teilkette eine eindeutige Kennung zuweist, derart, dass jeder Ausführungseinheit in dem Netzwerk eine eindeutige Kennung zugewiesen wird und ein Ansprechen mindestens einer Ausführungseinheit mittels des vorgeschalteten Kommunikationsknotens durch ein Kommando, welches von einer Steuereinheit erzeugt wird, welche der Kommunikationskette vorgeschaltet ist.
-
Die Ausführungseinheiten können als jeweils eigenständige Komponenten vorliegen, beispielsweise als Leuchtdioden oder aber auch jeweils als Sensoren. Dies sei nur beispielhaft zu verstehen und es sind alle möglichen Komponenten einsetzbar, beispielsweise Netzwerkkomponenten wie ein Switch. Die Ausführungseinheiten erhalten Steuerbefehle von einer Steuereinheit welche als ein Mikrocontroller vorliegen kann.
-
Erfindungsgemäß ist ein Initiieren des physischen Netzwerks vorgesehen, derart, dass die einzelnen Ausführungseinheiten eine Kennung bzw. eine Adresse erhalten. Folglich ist initial das Netzwerk an sich unbekannt und es erfolgt in vorbereitenden Verfahrensschritten ein Überprüfen des Netzwerkes derart, dass Komponenten, nämlich Ausführungseinheiten, identifiziert werden und diese erhalten eine Kennung. Die Kennung dient der Ansprache der jeweiligen Ausführungseinheit, so dass die Steuereinheit jede einzelne Ausführungseinheit gezielt ansteuern kann.
-
In einem vorbereitenden Verfahrensschritt erfolgt ein Bereitstellen eines physischen Netzwerks aus seriellen Ketten von Ausführungseinheiten. Dies bedeutet, dass mindestens eine Teilkette vorliegt, welche seriell aufgebaut ist und folglich sind die Ausführungseinheiten seriell miteinander gekoppelt. Diese Teilkette weist anfangs einen Kommunikationsknoten auf. So ist es erfindungsgemäß vorgesehen, dass eine Teilkette aus mindestens einem Kommunikationsknoten besteht. Bevorzugt aber optional sind an diesem Kommunikationsknoten weitere Ausführungseinheiten gekoppelt. Folglich ist an einen Kommunikationsknoten eine erste Ausführungseinheit kommunikativ gekoppelt. An diese erste Ausführungseinheit kann mindestens eine weitere Ausführungseinheit gekoppelt sein. So weist eine Ausführungseinheit typischerweise mindestens zwei Schnittstellen auf, wobei eine Schnittstelleneinheit entweder mit dem Kommunikationsknoten gekoppelt ist oder der vorhergehenden Ausführungseinheit und eine zweite Schnittstelleneinheit mit einer darauffolgenden Ausführungseinheit. Somit entsteht eine Abfolge von einem Kommunikationsknoten an den sich seriell mindestens eine weitere Ausführungseinheit anschließt. In einem Ausnahmefall ist es auch möglich, dass lediglich der Kommunikationsknoten vorliegt.
-
Da mehrere Teilketten vorliegen, liegen auch mehrere Kommunikationsknoten vor und somit ist es auch möglich die mehreren Kommunikationsknoten wiederum untereinander zu verschalten. Bildlich gesprochen liegen also die Teilketten horizontal vor, wie es die beigefügten Figuren zeigen und die Kommunikationsknoten liegen vertikal vor, wie es ebenfalls die beigefügten Figuren zeigen. Somit entsteht beispielhaft ein zweidimensionales Netzwerk, wobei sich horizontal die Ausführungseinheiten erstrecken und vertikal die Kommunikationsknoten erstrecken.
-
Indirekt sind also alle Ausführungseinheiten derart miteinander gekoppelt, dass jeweils einer Teilkette von Ausführungseinheiten ein Kommunikationsknoten vorgeschaltet ist und diese vorgeschalteten Kommunikationsknoten sind untereinander wiederum seriell gekoppelt.
-
Das Koppeln der einzelnen Einheiten kann unterschiedlich erfolgen. So ist es bevorzugt vorgesehen, dass die einzelnen Segmente bzw. die Teilketten auf einer Platine mit einem entsprechenden Bus angeordnet sind und die Kommunikationsknoten können mittels einer Kabelverbindung miteinander gekoppelt werden. Dies ist lediglich beispielhaft und nicht abschließend zu verstehen.
-
Die Kommunikation erfolgt ausgehend von einer Steuereinheit, welche der Kommunikationskette vorgeschaltet ist. So bilden die Kommunikationsknoten in ihrer Gesamtheit eine Kommunikationskette an deren Anfang die Steuereinheit steht. Folglich kann die Steuereinheit indirekt mit den Ausführungseinheiten kommunizieren, wobei jeder Teilkette ein Kommunikationsknoten vorgeschaltet ist. Somit kommuniziert die Steuereinheit primär mit den Kommunikationsknoten, welche sodann die Steuerbefehle an die jeweils angeschlossene Teilkette weiterreichen.
-
Da initial nicht bekannt ist, welche Komponenten sich in dem physischen Netzwerk befinden erfolgt ein sequenzielles Abprüfen jeder der Teilketten mittels jeweils eine Anfrage an den jeweiligen vorgeschalteten Kommunikationsknoten. Folglich gibt die Steuereinheit einen Befehl aus, der jeden Kommunikationsknoten veranlasst seine Teilkette zu prüfen und sodann werden entsprechende Kennungen zurückgegeben. So ist es vorteilhaft, dass die Steuereinheit mit einem ersten Kommunikationsknoten kommuniziert, welcher sodann prüft, wie viele bzw. welche Ausführungseinheiten in der jeweiligen Teilkette angeordnet sind. Wurde dies erfasst, so werden die Kennungen an die Steuereinheit zurückgegeben, was generell auch zu einem späteren Zeitpunkt erfolgen kann. Wurde folglich die erste Teilkette ab geprüft, so ist es vorgesehen, dass mittels eines Befehls an den zweiten Kommunikationsknoten veranlasst wird, dass dieser Kommunikationsknoten seine Teilkette abprüft und folglich Kennungen erzeugt, welche die einzelnen Ausführungseinheiten beispielsweise durchnummerieren.
-
Dies erfolgt sequenziell und iterativ derart, dass alle Kommunikationsknoten die angeordneten Teilketten überprüfen und hierzu jeweils eine eindeutige Kennung vergeben. Die eindeutige Kennung liegt folglich dem Kommunikationsknoten vor und dieser hat sodann Informationen darüber, welche Einheiten in der Teilkette angeordnet sind. Da alle Kommunikationsknoten ihre Kennungen an die Steuereinheit weiterreichen hat die Steuereinheit sodann Information über alle verfügbaren Kommunikationsknoten mitsamt angehängter Ausführungseinheiten.
-
Sobald die einzelnen Kennungen der Ausführungseinheiten bekannt sind kann ein Ansprechen mindestens einer Ausführungseinheit erfolgen, derart dass diese von der Steuereinheit indirekt über den Kommunikationsknoten mittels der Kennung angesprochen wird. So ist letztendlich der Steuereinheit jede Kennung der Ausführungseinheiten bekannt und somit kann die Steuereinheit den entsprechenden Kommunikationsknoten anweisen, dessen Kette die anzusteuernde Ausführungseinheit aufweist, eben diese Ansteuerung zu veranlassen. Folglich gibt die Steuereinheit ein Kommando aus, welches indirekt über den Kommunikationsknoten an die jeweilige Ausführungseinheit übermittelt wird. Bei einem Kommando kann es sich um ein Kommando handeln, welches eine Leseoperation oder eine Schreiboperation ausführt. So kann beispielsweise als Kommando ein Sensor ausgelesen werden oder aber auch eine Leuchtdiode bekommt einen entsprechenden Farbwert bzw. eine Helligkeitsintensität übermittelt. Darüber hinaus ist es generell möglich Statusinformationen aus den Ausführungseinheiten auszulesen. Diese Informationen werden sodann wieder indirekt über die Kommunikationsknoten an die Steuereinheit übermittelt.
-
Erfindungsgemäß ist es besonders vorteilhaft, dass die einzelnen Teilketten seriell angesprochen werden können und somit ein effizientes Protokoll geschaffen wird. Hierbei ist es jedoch auch möglich die einzelnen Ausführungseinheiten derart zu segmentieren, dass nicht eine einzige Teilkette vorliegt. Insgesamt liegen also mehrere Segmente bzw. Teilketten vor. Somit wird eine Ausfallsicherheit dahingehend geschaffen, dass bei einem Ausfallen eines Glieds einer Kette nicht die komplette weitere Kette ausfällt, sondern es erfolgt lediglich ein Ausfallen der weiteren Teilkette. Somit ist es erfindungsgemäß besonders vorteilhaft, dass die einzelnen Ausführungseinheiten sequenziell bzw. seriell gesteuert werden können und dennoch kann hardwaretechnisch eine Segmentierung vorliegen.
-
Darüber hinaus ist es besonders vorteilhaft, dass die einzelnen Kommunikationsknoten derart passiv geschaltet werden können, dass durch diese Kommunikationsknotensignale lediglich durchgeschaltet werden. Somit kann eine einzelne Teilkette ausfallen und dennoch werden die weiteren Teilketten in ihrer Funktionalität nicht beeinträchtigt.
-
Gemäß einem Aspekt der vorliegenden Erfindung weist das Ansprechen eine Leseoperation und/oder eine Schreiboperation auf. Dies hat den Vorteil, dass das Kommando der Steuereinheit entweder veranlassen kann, dass aus der Ausführungseinheit ein Sensorwert oder ein Status ausgelesen wird oder aber es erfolgt eine Schreiboperation derart, dass der Ausführungseinheit ein Wert mitgeteilt werden kann. Bei diesem Wert kann es sich um eine Farbintensität oder eine Helligkeit handeln. Generell ist auch eine Kombination aus beiden Operationen möglich.
-
Gemäß einem weiteren Aspekt der vorliegenden Erfindung liegt die eindeutige Kennung als eine Adresse, eine Nummerierung und/ oder eine Benennung vor. Dies hat den Vorteil, dass die einzelnen Ausführungseinheiten eindeutig gekennzeichnet werden können und sodann kann der Steuereinheit eine eindeutige Kennung mitgeteilt werden, anhand derer die Steuereinheit die Ausführungseinheit gezielt anstoßen kann. Generell kann es sich bei der Kennung auch um einen allgemeinen Namen handeln, derart, dass beispielsweise ein menschenlesbarer Quellkode entsteht.
-
Gemäß einem weiteren Aspekt der vorliegenden Erfindung erfolgt bei einem lesenden Ansprechen der Ausführungseinheit eine Kommunikation nur mit derjenigen Teilkette, welche die angesprochene Ausführungseinheit aufweist. Dies hat den Vorteil, dass weitere Teilketten ausgeblendet werden können und somit erfolgt lediglich eine serielle Kommunikation derart, dass die Steuereinheit indirekt über einen Kommunikationsknoten mit der Ausführungseinheit kommuniziert. Somit werden die vorangehenden Kommunikationsknoten durchgeschaltet und die Ausgangsschnittstelle zu nachfolgenden Kommunikationsknoten wird gesperrt. Folglich kann ein effizientes Ansprechen von Ausführungseinheiten implementiert werden. Insbesondere liegt ein Vorteil in der Segmentierung, da nicht seriell alle Ausführungseinheiten angesprochen werden müssen, bis diejenige Ausführungseinheit erreicht wird, welche angesteuert werden soll, sondern vielmehr können Ausführungseinheiten aus vorangehenden Teilketten übersprungen werden.
-
Gemäß einem weiteren Aspekt der vorliegenden Erfindung weisen die Kommunikationsknoten jeweils mindestens eine Eingangsschnittstelle und mindestens eine Ausgangsschnittstelle auf. Dies hat den Vorteil, dass die Kommunikationsknoten typischerweise drei Schnittstellen aufweisen, welche als gekoppelte Schnittstellen vorliegen und sowohl Eingangssignale als auch Ausgangssignale verarbeiten können. Eine genauere Beschreibung der jeweiligen Schnittstellen erfolgt anhand der beigefügten Figuren. Die Schnittstellen dienen generell der Datenkommunikation, wobei es auch vorteilhaft ist einzelne Schnittstellen zu sperren.
-
Gemäß einem weiteren Aspekt der vorliegenden Erfindung kann die mindestens eine Eingangsschnittstelle und die mindestens eine Ausgangsschnittstelle explizit gesperrt werden. Dies hat den Vorteil, dass eine effiziente Implementierung erfolgt und Schnittstellen derart gesperrt werden können, sodass eine weitere Kommunikation nicht möglich ist. Auf diese Art und Weise wird sichergestellt, dass Ausführungseinheiten, welche nicht angesprochen werden, auch nicht weiter bei der Kommunikation berücksichtigt werden müssen. So wird typischerweise lediglich diejenige Teilkette angesprochen, welche die angesprochene Ausführungseinheit aufweist. Ein solches Ausschalten weiterer Teilketten erfolgt anhand eines Sperrens von Schnittstellen.
-
Gemäß einem weiteren Aspekt der vorliegenden Erfindung kann die mindestens eine Eingangsschnittstelle und die mindestens eine Ausgangsschnittstelle durch die Steuereinheit und/oder den jeweiligen Kommunikationsknoten gesperrt werden. Dies hat den Vorteil, dass unterschiedliche Protokolle implementiert werden können und sowohl dezentral als auch zentral entschieden werden kann, welche Schnittstellen zu sperren sind.
-
Gemäß einem weiteren Aspekt der vorliegenden Erfindung kann die mindestens eine Eingangsschnittstelle und die mindestens eine Ausgangsschnittstelle in Abhängigkeit einer bereitgestellten Kennung gesperrt werden. Dies hat den Vorteil, dass anhand der Kennung ermittelt werden kann, welche Ausführungseinheit angesprochen werden sollte, und sodann wird lediglich diejenige Teilkette aktiv geschaltet, welche die Ausführungseinheit aufweist. Somit werden die vorangehenden Kommunikationsknoten passiv, d.h. durchgehend, geschaltet und alle weiteren Kommunikationsknoten werden gesperrt. Somit wird in dem Kommunikationspfad lediglich eine Teilkette angesprochen und alle weiteren Teilketten werden in der Kommunikation ausgeblendet. Folglich ist das vorgeschlagene Verfahren besonders effizient.
-
Gemäß einem weiteren Aspekt der vorliegenden Erfindung werden die eindeutigen Kennungen sequenziell an die Steuereinheit übermittelt. Dies hat den Vorteil, dass die Kennungen jeweils zurückgegeben werden, was beispielsweise derart erfolgt, dass die letzte Ausführungseinheit in dem Netzwerk die Kennung indirekt über die vorangehenden Ausführungseinheiten an den Kommunikationsknoten zurück übermittelt und der Kommunikationsknoten die Kennung sodann an die Steuereinheit übermittelt. Dies erfolgt sodann unter Verwendung der vorletzten Ausführungseinheit, bis die jeweilige Teilkette abgearbeitet ist. Sodann erfolgt ein Zurückgeben der Kennung der letzten Ausführungseinheit in der vorletzten Teilkette.
-
Gemäß einem weiteren Aspekt der vorliegenden Erfindung werden jedem Kommunikationsknoten diejenigen Kennungen aus der Teilkette übermittelt, welcher der Kommunikationsknoten vorgeschaltet ist. Dies hat den Vorteil, dass der Kommunikationsknoten eine Information aller Ausführungseinheiten seiner Teilkette zur Verfügung hat. Somit kennt jeder Kommunikationsknoten die Ausführungseinheiten, denen er vorgeschaltet ist.
-
Gemäß einem weiteren Aspekt der vorliegenden Erfindung werden einzelne Kommunikationsknoten derart passiv geschaltet, dass die Kommunikationskette im Übrigen fortbesteht. Dies hat den Vorteil, dass einzelne Kommunikationsknoten und somit Teilketten in der Kommunikation ausgeblendet werden können. Somit wird lediglich von der Steuereinheit ausgehend mit derjenigen Teilkette kommuniziert, die die angesprochene Ausführungseinheit aufweist. Folglich werden Signale durch vorangehende Kommunikationsknoten lediglich unverändert, d.h. unbearbeitet, durchgeschaltet bzw. durchgeschleift.
-
Gemäß einem weiteren Aspekt der vorliegenden Erfindung segmentieren die Teilketten die Gesamtheit der Ausführungseinheiten. Dies hat den Vorteil, dass nicht alle Ausführungseinheiten in Serie geschaltet werden müssen, sondern vielmehr können einzelne Segmente geschaffen werden und dennoch erfolgt anhand der Verarbeitung einzelner Teilketten ein effizientes protokollieren. Insgesamt wird folglich die Ausfallsicherheit erhöht, da bei einem Ausfallen einer Ausführungseinheit nicht alle weiteren in Serie geschalteten Ausführungseinheiten ausfallen, sondern vielmehr sind die Ausführungseinheiten derart segmentiert, dass lediglich alle weiteren Ausführungseinheiten innerhalb des Segments ausfallen.
-
Die Aufgabe wird auch gelöst durch einen Kommunikationsknoten, welcher zur Verwendung in dem vorgeschlagenen Verfahren bzw. in der vorgeschlagenen Systemanordnung eingerichtet ist.
-
Die Aufgabe wird auch gelöst durch eine Systemanordnung zum Ansteuern von Ausführungseinheiten, aufweisend ein physisches Netzwerk aus seriellen Teilketten von Ausführungseinheiten, wobei die einzelnen Teilketten seriell ansprechbar sind und derart eingerichtet sind, dass bei einem Ausfallen einer Ausführungseinheit lediglich ein Ausfallen der weiteren Teilkette erfolgt, wobei jede Teilkette anfangs genau einen Kommunikationsknoten vorgeschaltet hat und die Kommunikationsknoten der Teilketten derart untereinander seriell verkettet sind, dass eine Kommunikationskette vorgeschalteter Kommunikationsknoten vorliegt, wobei einzelne Kommunikationsknoten derart passiv schaltbar sind, dass die Kommunikationskette im Übrigen fortbesteht, wobei die Kommunikationsknoten jeweils mindestens eine Eingangsschnittstelle und mindestens eine Ausgangsschnittstelle aufweisen und die mindestens eine Eingangsschnittstelle und die mindestens eine Ausgangsschnittstelle explizit sperrbar ist,
die Kommunikationsknoten eingerichtet zum sequenziellen Abprüfen jeder der Teilketten mittels jeweils einer Anfrage an den jeweiligen vorgeschalteten Kommunikationsknoten der Teilketten, welcher eingerichtet ist jeder Ausführungseinheit der Teilkette eine eindeutige Kennung zuzuweisen, derart, dass jeder Ausführungseinheit in dem Netzwerk eine eindeutige Kennung zugewiesen ist und eine Steuereinheit eingerichtet zum Ansprechen mindestens einer Ausführungseinheit mittels des vorgeschalteten Kommunikationsknotens durch ein Kommando, welches von der Steuereinheit erzeugt wird, welche der Kommunikationskette vorgeschaltet ist.
-
Die Aufgabe wird auch gelöst durch ein Computerprogrammprodukt mit Steuerbefehlen, welche das Verfahren ausführen bzw. die vorgeschlagene Systemanordnung betreiben, wenn die Steuerbefehle auf einem Computer zur Ausführung gebracht werden.
-
Erfindungsgemäß ist es besonders vorteilhaft, dass die Systemanordnung strukturelle Merkmale bereitstellt, welche funktional den Verfahrensschritten entsprechen. Ferner werden Verfahrensschritte vorgeschlagen, welche strukturell auch von der Systemanordnung bezüglich der entsprechenden Funktionalität nachgebildet werden können. So dient das Verfahren dem Betreiben der Systemanordnung und die Systemanordnung kann das vorgeschlagene Verfahren ausführen.
-
Weitere Vorteile, Merkmale und Einzelheiten der Erfindung ergeben sich aus der nachfolgenden Beschreibung, in der unter Bezugnahme auf die Zeichnungen Aspekte der Erfindung im Einzelnen beschrieben sind. Dabei können die in den Ansprüchen und in der Beschreibung erwähnten Merkmale jeweils einzeln für sich oder in beliebiger Kombination erfindungswesentlich sein. Ebenso können die vorstehend genannten und die hier weiter ausgeführten Merkmale je für sich oder zu mehreren in beliebigen Kombinationen Verwendung finden. Funktionsähnliche oder identische Bauteile oder Komponenten sind teilweise mit gleichen Bezugszeichen versehen. Die in der Beschreibung der Ausführungsbeispiele verwendeten Begriffe „links“, „rechts“, „oben“ und „unten“ beziehen sich auf die Zeichnungen in einer Ausrichtung mit normal lesbarer Figurenbezeichnung bzw. normal lesbaren Bezugszeichen. Die gezeigten und beschriebenen Ausführungsformen sind nicht als abschließend zu verstehen, sondern haben beispielhaften Charakter zur Erläuterung der Erfindung. Die detaillierte Beschreibung dient der Information des Fachmanns, daher werden bei der Beschreibung bekannte Schaltungen, Strukturen und Verfahren nicht im Detail gezeigt oder erläutert, um das Verständnis der vorliegenden Beschreibung nicht zu erschweren. Weitere vorteilhafte Ausgestaltungen werden anhand der beigefügten Figuren näher erläutert. Es zeigen:
- 1: einen Aspekt des erfindungsgemäßen Kommunikationsknotens und insbesondere dessen Schnittstelleneinheiten;
- 2: in einem Zustandsübergangsdiagramm Zustände des erfindungsgemäßen Kommunikationsknotens, des Verfahrens bzw. der Systemanordnung;
- 3: in einem schematischen Blockdiagramm einen Aspekt der vorgeschlagenen Systemanordnung sowie einen Kommunikationsverlauf gemäß des vorgeschlagenen Verfahrens und insbesondere ein Ausführens des Befehls „INIT“;
- 4: in einem weiteren schematischen Blockdiagramm einen Aspekt der vorgeschlagenen Systemanordnung sowie einen Kommunikationsverlauf gemäß des vorgeschlagenen Verfahrens und insbesondere ein Ausführens des Befehls „PING 1“;
- 5: in einem weiteren schematischen Blockdiagramm einen Aspekt der vorgeschlagenen Systemanordnung sowie einen Kommunikationsverlauf gemäß des vorgeschlagenen Verfahrens und insbesondere ein Ausführens des Befehls „PING 2“;
- 6: in einem weiteren schematischen Blockdiagramm einen Aspekt der vorgeschlagenen Systemanordnung sowie einen Kommunikationsverlauf gemäß des vorgeschlagenen Verfahrens und insbesondere ein Ausführens des Befehls „WRITE“;
- 7: in einem weiteren schematischen Blockdiagramm einen Aspekt der vorgeschlagenen Systemanordnung sowie einen Kommunikationsverlauf gemäß des vorgeschlagenen Verfahrens und insbesondere ein Ausführens des Befehls „REG_READ“;
- 8: in einem weiteren schematischen Blockdiagramm einen Aspekt der vorgeschlagenen Systemanordnung sowie einen Kommunikationsverlauf gemäß des vorgeschlagenen Verfahrens und insbesondere ein Ausführens des Befehls „CHAIN READ 1“;
- 9: in einem weiteren schematischen Blockdiagramm einen Aspekt der vorgeschlagenen Systemanordnung sowie einen Kommunikationsverlauf gemäß des vorgeschlagenen Verfahrens und insbesondere ein Ausführens des Befehls „CHAIN_READ 2“;
- 10: in einem weiteren schematischen Blockdiagramm einen Aspekt der vorgeschlagenen Systemanordnung sowie einen Kommunikationsverlauf gemäß des vorgeschlagenen Verfahrens und insbesondere ein Ausführens des Befehls „INTERRUPT 1“;
- 11: in einem weiteren schematischen Blockdiagramm einen Aspekt der vorgeschlagenen Systemanordnung sowie einen Kommunikationsverlauf gemäß des vorgeschlagenen Verfahrens und insbesondere ein Ausführens des Befehls „INTERRUPT 2“; und
- 12: in einem schematischen Ablaufdiagramm einen Aspekt des erfindungsgemäßen Verfahrens zum Ansteuern von Ausführungseinheiten.
-
1 zeigt einen Kommunikationsknoten ICN und zeigt insbesondere die entsprechenden Schnittstellen. So hat ein Kommunikationsknoten typischerweise eine Master-Schnittstelleneinheit MA_PORT, welche vorliegend oben eingezeichnet ist, eine Client-Schnittstelleneinheit CL_PORT, welche vorliegend rechts eingezeichnet ist und eine Slave-Schnittstelleneinheit SL_PORT, welche vorliegend unten eingezeichnet ist. Die Ausrichtung des Kommunikationsknotens entspricht der Ausrichtung, wie sie in den weiteren Figuren gezeigt ist. Bildlich gesprochen ist die Kommunikationskette vertikal angeordnet und die Teilketten horizontal. Somit kommuniziert der gezeigte Kommunikationsknoten nach oben entweder mit weiteren Kommunikationsknoten oder aber der Steuereinheit. Nach rechts kommuniziert der Kommunikationsknoten mit einer ersten Ausführungseinheit. Die Ausführungseinheit kommuniziert optional mit weiteren Ausführungseinheiten. Nach unten kommuniziert der gezeigte Kommunikationsknoten optional mit weiteren Kommunikationsknoten. Es kann aber auch das Ende der Kommunikationskette erreicht sein, so dass sich weiter kein Kommunikationsknoten anschließt.
-
2 zeigt ein Zustandsübergangsdiagramm und zeigt insbesondere jeweils zwei Zustände oben und unten. Der linke Zustand oben ist derjenige Zustand, in dem sich das Netzwerk nicht initialisiert darstellt. Die Pfeile innerhalb der einzelnen Zustände zeigen eine Kommunikationsrichtung, welche vorliegend impliziert wird. So wird zum Initialisieren ausgehend von der Steuereinheit oben nach rechts in die Teilketten ein Steuerbefehl beziehungsweise ein Kommando übermittelt. Die Werte werden letztendlich nach oben zurückgegeben, derart dass die Kennungen in der Steuereinheit bekannt sind.
-
Die einzelnen Ausführungseinheiten kommunizieren über den Kommunikationsknoten. Auf der rechten Seite oben ist ein Zustand, der die vollständige Initialisierung anzeigt, angeordnet. Der obere Pfeil signalisiert, dass Schreiboperationen und Leseoperationen iterativ erfolgen können, da letztendlich alle Ausführungseinheiten bekannt sind. Das Initialisieren erfolgt derart, dass eine Anfrage an die einzelnen Komponenten geschickt wird. Ferner erfolgt auf der linken Seite unten ein Warten auf einen sogenannten Ping, also eine Anfragenachricht. Wird eine Komponente angefragt, so meldet sie sich zurück und falls ein Zeitfenster überschritten ist, so erfolgt ein sogenannter Timeout. Somit können alle Komponenten iterativ angefragt werden. Auf der rechten Seite unten ist eingezeichnet, dass auf ein Auslesen der vertikalen Kette gewartet wird, bis alle Kommunikationsknoten die eingesammelten Kennungen zurückgeben.
-
3 zeigt das physische Netzwerk, wobei die Steuereinheit als ein Mikrokontroller vorliegt, der vorliegend oben eingezeichnet ist. Darüber hinaus liegen die Kommunikationsknoten ICN links vor. ICN steht beispielhaft für ISELED Communication Network (eingetragene Marke). Die Kommunikationsknoten sind also vertikal angeordnet und die Ausführungseinheiten sind horizontal angeordnet. Vorliegend handelt es sich beispielhaft bei einer Ausführungseinheit um eine Leuchtdiode oder aber um einen Sensor. Alternativ kann eine Ausführungseinheit auch als ein Switch vorliegen.
-
Darüber hinaus verdeutlicht die 3 anhand der einzelnen Nummern wie die Kennungen initialisiert werden. So wird dem ersten Kommunikationsknoten eine Kennung 1 zugeordnet und sodann dem zweiten Kommunikationsknoten eine Kennung 2 zugeordnet. Daraufhin wird die angeschlossene Teilkette mit Kennungen versehen, derart, dass die erste Leuchtdiode eine Kennung 3 erhält, die zweite Leuchtdiode eine Kennung 4 und die dritte Leuchtdiode eine Kennung 5 erhält. Sodann werden diese Kennungen an den Kommunikationsknoten 2 zurückgegeben. Daraufhin erfolgt ein Vergeben von Kennungen in der nächsten Teilkette, welche vorliegend darunter eingezeichnet ist. So erhält der vorgeschaltete Kommunikationsknoten die Kennung 6 und ein daran angeschlossener Sensor die Kennung 7. Sodann wird diese Kennung zurückgegeben und über den Kommunikationsknoten 6,2 und 1 an die Steuereinheit weitergereicht. Daraufhin erfolgt ein weiteres Vergeben von Kennungen, derart dass die nächste Teilkette mit einem Kommunikationsknoten 8 beginnt, an die ein Switch 9 gekoppelt ist, sowie ein Sensor 10 und eine Leuchtdiode 11.
-
Dies ist im Folgenden anhand von Pseudo-Quellcodes demonstriert, der englische Begriffe aufweist, die dem Fachmann so geläufig sind und die dieser auch so verwenden würde.
- ◯ Reset:
- ◯ STATE = „uninitialized“
- ◯ wait for INIT command:
- ◯ all commands are discarded, except INIT
- ◯ INIT command detected at MA_Port:
- ◯ generate new INIT command and send to CL_Port
- ◯ wait for INIT sequence to complete at clients:
- ◯ set Address Registers and status_client.init
- ◯ generate new INIT command with addr = last_client_addr+1
- ◯ send INIT on SL_Port
- ◯ if last in chain:
- ◯ generate INIT answers* and send on MA_Port
- ◯ STATE = „initialized“
- ◯ else:
- ◯ wait for INIT answers on SL_Port:
- ◯ when complete:
- ◯ generate INIT answers* and send on MA_Port
- ◯ STATE = „initialized“
* INIT answer includes:
- client address + status_client.init
- own address + config.is_icn
-
In den 3 fortfolgende beziehen sich Komponenten auf beispielhafte Komponenten. Insbesondere kann der Switch 9 als ein Schalter, ein Aktuator ein Unterbrecher und/ oder ein Abtaster vorliegen. Der Pfeil von den Komponenten 9, 10 und 11 zu ICN 8 kann mittels eines Interruptors, also eines Unterbrechers, implementiert werden oder bei der Kommunikation kann zumindest ein Interruptor Einsatz finden. Gleiches gilt für die Kommunikation von Komponente 7 zu ICN 6. Pfeile können stets auch bidirektional verstanden werden, auch falls dies nicht eingezeichnet ist, da die Kommunikationsrichtung bei einer Kommunikation oder mindestens einer weiteren Kommunikation auch bzgl. der Richtung invertiert erfolgen kann.
-
4 zeigt einen sogenannten Ping-Vorgang, wobei eine entsprechende Nachricht an die jeweils obere Schnittstelleneinheit des Kommunikationsknotens übermittelt wird. Sodann werden diese Nachrichten an die Teilkette übermittelt und wiederum von der Teilkette an den Kommunikationsknoten zurückgegeben. Sodann erfolgt ein Weiterreichen an den jeweils darunter folgenden Kommunikationsknoten der sodann wieder seine Teilkette prüft. Letztendlich wird das Ergebnis von unten nach oben an die Steuereinheit weitergereicht.
- ◯ STATE = „initialized“
- ◯ NEXT_IS_PING command detected at MA_Port:
- ◯ STATE = „wait for ping“
- ◯ when command received at MA_Port:
- ◯ pass on to CL_Port, but not to SL_Port
- ◯ when answer received at CL_Port:
- ◯ when answer received at SL_Port:
-
5 zeigt einen weiteren Verlauf des Vorgangs und verdeutlicht anhand der Pfeile den Kommunikationsvorgang. Im folgenden Quellcode wird dieses Warten auf eine Antwort verdeutlicht und insbesondere wird auch eine Fehlerbehandlung aufgezeigt.
- ◯ STATE = „wait for ping“
- ◯ wait for PING command at MA_Port:
- ◯ pass on to CL_Port, but not to SL_Port
- ◯ wait for PING sequence to complete at clients
- ◯ save answer in last_client_answer register
- ◯ if last in chain:
- ◯ forward client answer to MA_Port
- ◯ STATE = „initialized“
- ◯ else:
- ◯ if answer = last_client_addr:
- ◯ send PING on SL_Port
- ◯ wait for answer on SL_Port
- ◯ forward answer to MA_Port
- ◯ STATE = „initialized“
- ◯ else: / /client chain is not intact!
- ◯ send PING on SL_Port
- ◯ wait for answer on SL_Port
- ◯ overwrite answer with value of last_client_answer Register
- ◯ send to MA_Port
- ◯ STATE = „initialized“
-
6 zeigt einen Schreibvorgang, wobei eine entsprechende Anfrage an den Kommunikationsknoten ICN von oben herangetragen wird und dieser sodann den Befehl sowohl nach rechts als auch an die weitere Einheit unten weitergibt. Wird von einer Steuereinheit aus der Teilkette eine Antwort empfangen, so wird diese nach oben weitergereicht und falls ein Kommunikationsknoten von unten eine Antwort erhält, so wird diese ebenfalls an die Steuereinheit weitergereicht.
- ◯ STATE = „initialized“
- ◯ when command received at MA_Port:
- ◯ pass on to SL_Port and CL_Port
- ◯ when answer received at CL_Port:
- ◯ when answer received at SL_Port:
-
7 zeigt ein Auslesen einer Registrierung, wobei ein Befehl in dem jeweiligen Kommunikationsknoten von oben empfangen wird und sodann nach unten und rechts weitergeleitet wird. Falls von rechts eine Antwort kommt so wird diese nach oben weitergeleitet und ebenfalls eine Antwort von unten wird nach oben weitergereicht.
- ◯ STATE = „initialized“
- ◯ when command received at MA_Port:
- ◯ pass on to SL_Port and CL_Port
- ◯ when answer received at CL_Port:
- ◯ when answer received at SL_Port:
-
8 zeigt ein Auslesen der Kommunikationskette, also der einzelnen Kommunikationsknoten. Generell ist der Zustand des Netzwerks initialisiert, wobei es auch möglich ist, dass noch nicht alle Steuereinheiten initialisiert sind und folglich muss darauf gewartet werden, bis der Initialisierungsprozess abgeschlossen ist. Diese Fallunterscheidung zeigt der folgende Quelltext.
- ◯ STATE = „initialized“
- ◯ NEXT_IS_CHAIN command detected at MA_Port, with ICN address as parameter of command:
- ◯ if parameter = own_address:
- ◯ else:
- ◯ STATE = „wait for chain_read“
- ◯ when command received at MA_Port:
- ◯ pass on to SL_Port, but not CL_Port
- ◯ when answer received at CL_Port:
- ◯ when answer received at SL_Port:
-
9 zeigt einen weiteren Verlauf des Auslesens der Kommunikationskette. Hier sind alle Ausführungseinheiten bekannt und letztendlich werden die Kennungen an die Steuereinheit weitergereicht. Somit kann der Zustand des Netzwerks als initialisiert gelten.
- ◯ STATE = „wait for chain_read“
- ◯ wait for CHAIN_READ command at MA_Port
- ◯ pass on command to SL_Port, but not CL_Port
- ◯ STATE = „initialized“
-
10 zeigt eine Unterbrechung, welche an die einzelnen Teilketten weitergegeben wird. Wird in dem vorliegenden Beispiel die letzte Teilkette erreicht, so erfolgt ein Auslesen des Status der jeweiligen Ausführungseinheiten und diese werden nach oben weiter zurückgereicht an die Steuereinheit. Liegt der Status der Ausführungseinheiten vor, so wird der entsprechende Parameter wieder gelöscht.
- ◯ STATE = „initialized“
- ◯ when Open Collector pulled down:
- ◯ status_client.interrupt = 1
- ◯ IR_READ command detected at MA_Port
- ◯ pass on to SL_Port and CL_Port
- ◯ if last in chain:
- ◯ send Client Status Register as answer to MA_Port
- ◯ status_client.interrupt = 0
- ◯ else:
- ◯ wait for answers on SL_Port
- ◯ when complete:
- ◯ send Client Status Register as answer to MA_Port
- ◯ status_client.interrupt = 0
-
11 zeigt den weiteren Verlauf des Unterbrechungsvorgangs und zeigt insbesondere, dass letztendlich die Unterbrechung aufgehoben wird.
- ◯ STATE = „initialized“
- ◯ when Open Collector pulled down:
- ◯ status_client.interrupt = 1
- ◯ IR_READ command detected at MA_Port
- ◯ pass on to SL_Port and CL_Port
- ◯ if last in chain:
- ◯ send Client Status Register as answer to MA_Port
- ◯ status_client.interrupt = 0
- ◯ else:
- ◯ wait for answers on SL_Port
- ◯ when complete:
- ◯ send Client Status Register as answer to MA_Port
- ◯ status_client.interrupt = 0
µC:
- ◯ If IR=1 at ICN:
- ◯ Read interrupt registers of all corresponding clients that support interrupt
-
12 zeigt in einem schematischen Ablaufdiagramm ein Verfahren zum Ansteuern von Ausführungseinheiten, aufweisend ein Bereitstellen 100 eines physischen Netzwerks aus seriellen Teilketten von Ausführungseinheiten, wobei die einzelnen Teilketten seriell angesprochen werden und bei einem Ausfallen einer Ausführungseinheit lediglich ein Ausfallen der weiteren Teilkette erfolgt, wobei jede Teilkette anfangs genau einen Kommunikationsknoten ICN vorgeschaltet hat und die Kommunikationsknoten ICN der Teilketten derart untereinander seriell verkettet sind, dass eine Kommunikationskette vorgeschalteter Kommunikationsknoten ICN vorliegt, wobei einzelne Kommunikationsknoten ICN derart passiv geschaltet werden, dass die Kommunikationskette im Übrigen fortbesteht, wobei die Kommunikationsknoten ICN jeweils mindestens eine Eingangsschnittstelle und mindestens eine Ausgangsschnittstelle aufweisen und die mindestens eine Eingangsschnittstelle und die mindestens eine Ausgangsschnittstelle explizit sperrbar ist, ein sequenzielles Abprüfen 101 jeder der Teilketten mittels jeweils einer Anfrage an den jeweiligen vorgeschalteten Kommunikationsknoten ICN der Teilketten, welcher jeder Ausführungseinheit der Teilkette eine eindeutige Kennung zuweist 102, derart, dass jeder Ausführungseinheit in dem Netzwerk eine eindeutige Kennung zugewiesen wird und ein Ansprechen 103 mindestens einer Ausführungseinheit mittels des vorgeschalteten Kommunikationsknotens ICN durch ein Kommando, welches von einer Steuereinheit erzeugt wird, welche der Kommunikationskette vorgeschaltet ist.
-
Der Fachmann erkennt hierbei, dass die beschriebenen Verfahrensschritte iterativ und/oder in einer anderen Reihenfolge ausgeführt werden können. Zudem können einzelne Verfahrensschritte Unterschritte aufweisen.