Verfahren und Vorrichtung zur Überwachung eines verteilten Systems
Stand der Technik
Die Erfindung geht aus von einem Verfahren und einer Vorrichtung zur Überwachung eines verteilten Systems, welches aus mehreren Teilnehmern besteht, die mittels eines
Bussyslems verbunden sind sowie einem entsprechenden Bussyslem und einem entsprechenden verteilten System gemäß den Oberbegriffen der unabhängigen Ansprüche. Der heulige Ansatz einer Vielzahl elektronischer Steuereinheiten in allen technischen
Bereichen, wie z. B. in industriellen Anwendungen, z. B. im Werkzeugmaschinenbereich oder auch der Automatisierung sowie im Fahrzeugbereich und die Vernetzung dieser Steuereinheiten wirft insbesondere bei sicherheitsrelevanten Anwendungen wie beispielsweise Bremsfunktionen beim Kraftfahrzeug, z. B. ABS oder ESP, Lenkfunktionen oder auch Getriebeschaltfunktionen sowie Motorsteuerungsfunktionen das Problem des sicheren Betriebs eines solchen verteilten Systems auf.
Dabei werden heule gerade im Kraftfahrzeugbereich gemischt mechanisch-elektronische Systeme verwendet. Heutige mechatronische Systeme überwachen die Funktion des Systems selbsttätig, indem z. B. Redundanz eingebaut wird. Übliche Systeme beinhallen dabei je Steuereinheit bzw. Teilsystem zwei Prozessoren, welche die Funktionen berechnen und dann die Ergebnisse vergleichen. Liegt eine Differenz der Ergebnisse vor, so muss ein Fehler eingetreten sein und es können sicherheitsrelevante Maßnahmen eingeleitet werden. Dabei ist der zweite Prozessor häufig leistungsschwächer ausgelegt. In einem solchen Fall rechnet dieser zweite Prozessor nur ausgewählte Teilbereiche nach
und vergleicht diese mit dem eigentlichen Funktionsrechner, wie dies beispielsweise in der DE 195 00 188 AI gezeigt ist.
Übertragen auf ein verteiltes System bedeutet das, dass jedes Steuergerät des Teilsystems in sich so aufgebaut ist, dass es einen Fehler selbsttätig erkennen kann und dann
Fehlerbehandlungsmaßnahmen einleitet, jedes Teilsystem also selbst redundant zur Ermittlung der Ergebnisse aufgebaut ist. Zur Erzeugung dieser Redundanz in den selbslüberwachenden Steuereinheiten müssen diese sehr aufwändig aufgebaut sein und es müssen Komponenten integriert sein, die für die eigentliche Funktion der Steuereinheit nicht zwingend notwendig wären.
Aufgabe der Erfindung ist es nun, diesen Überwachungsaufwand für jedes einzelne Teilsystem zu reduzieren. Vorteile der Erfindung
Gelöst wird diese Aufgabe durch die Verlagerung wesentlicher Überwachungsfunktionalität auf das Bussystem selbst. So wird eine Überwachung von verteilten Systemen über das Bussystem hinweg ermöglicht, wodurch vorteilhafter Weise die Teilsysteme bzw. Steuereinheilen oder Teilnehmer auf ihre eigene Funktion bezogen aufgebaut werden können und zusätzlicher Überwachungsaufwand in diesem Teilnehmeraufbau weitgehend vermieden werden kann.
Dazu geht die Erfindung von einem Verfahren und einer Vorrichtung zur Überwachung eines verteilten Systems aus, welches aus mehreren Teilnehmern besteht, die mittels eines
Bussystems verbunden sind. Zweckmäßiger Weise wird dann wenigstens eine Anzahl der Teibehmer als überwachende Teilnehmer vorgesehen und Prozessdaten wenigstens eines überwachten Teilnehmers werden in Datenbereichen von Speichereinheiten des Bussystems abgelegt, aufweiche die überwachenden Teilnehmer Zugriff haben, wobei diese Prozessdalen durch die überwachenden Teilnehmer ausgewertet werden.
So muss vorteilhafter Weise in einem System mit verteilter Intelligenz nicht jedes Teilsystem in sich alle relevanten Fehler selbst entdecken und nötige Gegenmaßnahmen einleiten, da dies erhöhte Kosten aufwerfen würde und die vorhandenen Möglichkeiten des Bussystems nicht genutzt würden. So kann erfindungsgemäß auf Teile der
Überwachungsvorrichtungen verzichtet werden, indem Teile der Überwachung durch andere Teilnehmer mitübernommen werden, insbesondere durch den jedem Teilnehmer individuell zugeordneten Abschnitt des Bussystems, die Busankoppeleinheit.
Zweckmäßiger Weise wird dazu jeder der Datenbereiche eindeutig einem überwachten
Teilnehmer zugeordnet.
Dabei ist es vorteilhaft, wenn der überwachte Teilnehmer selbst auf den ihm zugeordneten Datenbereich keinen Zugriff hat. Dabei können zum Einen die Dalenbereiche über die wenigstens zwei Speichereinheilen verteilt sein, so dass sozusagen virtuelle Datenbereiche entstehen und oder wenigstens ein Teil der Dalenbereiche ist gleichzeitig in jeder Speichereinheit vorsehbar, abhängig vom Zugriffspotential der einzeben Teibehmer. Zur Überwachung selbst, erzeugt jeder überwachende Teilnehmer vorteilhafter Weise abhängig von der Auswertung der Prozessdalen des überwachten Teilnehmers Ergebnisdaten. Diese Ergebnisdaten zur Überwachung werden von allen überwachenden Teilnehmern mit Ausnahme des wenigstens einen überwachten Teilnehmers selbst erzeugt und ergeben sich aus der Auswertung der Prozessdaten, tasbesondere indem die eigenermi -leiten Daten zu den Prozessen mit denen des zu überwachenden Teilnehmers verglichen werden. Zweckmäßiger Weise wird in diesen Ergebnisdaten dann ebe Fehlerinformalion und/oder eine Maßnahmeninformalion enthalten sein. Damit kann dem zu überwachenden Teilnehmer zum Einen aus individueller Sicht jedes überwachenden Teilnehmers mitgeteilt werden, ob ein Fehler vorliegt und welche Maßnahmen aufgrund eines vorliegenden Fehlers der jeweils überwachende Teibehmer einleiten würde.
Dies erfolgt vorteilhafter Weise dadurch, dass die Ergebnisdaten über das Bussystem zu einem KommunikationscontroUer des Bussystems übertragen werden, der dem überwachten Teilnehmer zugeordnet ist. Die Auswertung der Ergebnisdaten kann so zum Einen durch den Kommunikationscontroller des überwachten Teilnehmers selbst ausgefiihrt werden. Werden die Ergebnisdaten in einer vorteilhaften Ausführungsform b den Datenbereichen, insbesondere der Busankoppeleinheit abgelegt, kann eine Auswertung auch durch andere Teilnehmer oder andere KommunikationscontroUer außer dem des überwachten Teilnehmers erfolgen.
Durch die erfindungsgemäßen Verfahren, Vorrichtung, Bussystem und Verteiltes System können im Gesamtsystem weniger kostenlrächtige Maßnahmen zur Überwachung einzelner Baugruppen oder Teilsysteme des Gesamtsystems eingesetzt werden, so dass insbesondere die Anzahl von Hardwarekomponenlen in den Teilsystemen und damit die Kosten für diese verringert werden können. Weiterhm kann ohne großen Mehraufwand eine Bewertung durch Voting der Überwachungsinformationen, insbesondere einer M- aus N-Λuswahl bezüglich der Ergebnisdaten erfolgen, wobei N und M natürliche Zahlen sind und M größer 2 sowie N größer M/2 ist. Weitere Vorteile und vorteilhafte Ausgestaltungen ergeben sich aus der Besehreibung sowie den Merkmalen der Ansprüche. Zeichnung Nachfolgend wird die Erfindung anhand der in der Zeichnung dargestellten Figuren näher
' erläutert. Dabei zeigt Figur 1 ein verteiltes System mit mehreren Teilnehmern, wobei eb Teilnehmer aus einem entsprechenden Teilsystem und einer Busankoppeleinheit besteht. Figur 2 zeigt einen solchen Teilnehmer und seine Anbindung an die Kommunikationsverbindung fa detaillierterer Darstellung. Figur 3 zeigt die Busankoppeleinheit mit erfindungsgemäßen Datenbereichen.
In Figur 4 ist nochmals em Teibehmer detailliert dargestellt, diesmal bezüglich eines redundant ausgelegten Bussystems.
Beschreibung der Ausführungsbeispiele
Figur 1 zeigt ein verteiltes System 100 mit vier Teilnehmern 101 bis 104. Jeder Teilnehmer besteht dabei aus einem entsprechenden Teilsystem 1 bis 4 sowie einer Busankoppeleinheit 106 bis 109. Diese Teilnehmer 101 bis 104 smd über eine
Kommunikationsverbindung 105 mitefaander verbunden. Erfindungsgemäß übernehmen nun in diesem verteilten System die überwachenden Teilnehmer, insbesondere deren Busankoppeleinheiten, auch Teile der Überwachung des wenigstens einen überwachten Teilnehmers, hier beispielsweise Teilnehmer 101 überwacht durch die Teilnehmer 102 bis 104. Gleichzeitig wird beispielsweise Teibehmer 102 durch die Teitaehmer 101, 103 und 104 überwacht usw., so dass jeder Teilnehmer respektive jedes Teilsystem durch wenigstens zwei weitere Teilnehmer des verteilten Systems überwacht wird.
Wird jeder Teilnehmer durch wenigstens drei weitere Teibehmer des verteilten Systems überwacht, so ist auch eine Votingfunklion, also eine Auswahlfi-nktion bezüglich der
Beurteilung der überwachenden Teilnehmer bezogen auf den überwachten Teilnehmer möglich. Dazu können die überwachenden Teilnehmer ihre Einschätzung, also das Ergebnis der Überwachung über den Funktionszustand des wenigstens einen überwachten Teilnehmers über die Kommunikationsverbindung an beispielsweise den KommunikationscontroUer des überwachten Teibehmers übermitteln. Diese
Ergebnisdaten werden dann vom Kommunikationscontroller ausgewertet, woraufhin dieser dann gegebenenfalls entsprechende Maßnahmen ergreift. Bei dieser Auswertung kann dann ein Voting dergestalt erfolgen, dass beispielsweise bei drei überwachenden Teibehmern eine 2- aus 3-Bewertung zum Einen zur Fehlererkennung und auch zur Maßnahmeneinleilung erfolgen kann. Dabei kann jener Teilnehmer von allen anderen dem verteilten System zugehörigen Teilnehmern überwacht werden oder nur von einem Teil der Teilnehmer, wobei diese Teilnehmer dann als überwachende Teilnehmer vorgesehen sind. Zur Erhöhung der Sicherheit, insbesondere bei efaem fehlerhaften Teilsystem, kann das
Teilsystem selbst, insbesondere die Recheneinheit des Teilsystems, nicht auf die Überwachungsergebnisse, also die Ergebnisdaten der anderen Teibehmer zugreifen, so dass die Überwachung unabhängig im und über das Bussystem geschieht.
Das verteilte System gemäß Figur 1 ist somit so konzipiert, dass Teile der
Funktionsüberwachung auch außerhalb der Teilsysteme, sprich in den anderen Teilnehmern bzw. in der Busankoppeleinheit abgearbeitet werden können. Ausgehend von eber Überwachung des Teilsystems 1 legt das Teilsystem 1 die Prozessdaten auf dem Datenbus im Bussystem ab. Dabei werden die Prozessdaten in Dalenbereiche von Speichereinheiten des Bussystems in der Busankoppeleinheit wie fa den nachfolgenden
Zeichnungen noch erläutert wird, abgelegt. Die Teibehmer 101 bis 104 respektive die Teilsysteme 2 bis 4 können auf diese Prozessdaten in den Datenbereichen von Speicherebheiten des Bussystems zugreifen und diese auswerten, so dass aus diesen Informationen die Überwachung gerechnet werden kann. Jedes Teilsystem legt seine Emschätzung b Form von Ergebnisdaten über den Zustand des Teilsystems 1, also des überwachten Teilsystems wieder auf dem Datenbus, also dem Bussystem in speziellen Bereichen ab. Diese Ergebnisdatenbereiche sbd dem Kommunikationscontroller bzw. der Busankoppeleinheit oder einer speziell darin vorgesehenen zusätzlichen Einrichtung zugeordnet und können von dieser ausgewertet werden.
Diese Ergebnisdaten enthalten zum Einen Fehlerinformationen, also die Einschätzung des jeweiligen Teilsystems, ob das überwachte leilsyslem eine Fehlfunklion aufweist oder nicht. Zum Anderen kann diese Fehlerinformation in Form e er Kennung derart ausgeweitet werden, dass konkret angegeben werden kann, bei welchen Prozessdaten und damit bei welcher Funktionalität eb Fehler erkannt wurde. Neben dieser
Fehlerinformation, die also zum Einen eine Ja-Nein-Entscheidung des Fehlers erlaubt oder in eber ausgeweiteten Form den Fehler genau bezeichnen kann (bzw. den zugrundeliegenden Prozess oder die Funktionalität), kann weiterhin in den Ergebnisdaten eine Maßnahmeiibformation vorgesehen sem. Dies bedeutet, dass abhängig von beispielsweise der Fehlerart oder der Prozessdalenart, bei der der Fehler aufgetreten ist oder der Prozessart bzw. Funktionalität, bei der der Fehler zu Tage trat, Fehlermaßnahmen differenziert eingeleitet werden können. Solche Maßnahmen können das Abschalten ebes Teilsystems, den Übergang e es Teilsystems in den Notlauf oder auch das normale Weilerarbeiten bei geringer Fehlerpriorität sein. Bei Übergang in einen Notlauf kann dabei ein vorgegebenes Programm abgearbeitet, feste Werte angenommen oder eine eingeschränkte Funktionalität vorgesehen werden.
Somit kann in einem einfachen Fall ein Voting erfolgen, eben eine N- aus M-Λuswahl oder hier eine 2- aus 3- Auswahl mit fest vorgegebener Fehlerreaktion oder auch in differenzierter Weise abhängig von der Art des Fehlers, wie beschrieben, eine spezielle
Maßnahme e geleitet werden, wobei eine Zuordnung von Maßnahme zu Fehlerart beispielsweise über eine fest vorgegebene Zuordnungstabelle oder andere Auswahlkriterien erfolgen kann.
Um beispielsweise bei einem fehlerhaften Prozessor bzw. etaer so fehlerhaften Recheneinheit des Teilsystems 1 zu vermeiden, dass diese selbsttätig durch die eigene Fehlerhaftigkeit die Auswertung der Daten gefährdet, soll die Recheneinheit des Teilsystems 1, also des überwachten Systems, keine Möglichkeil haben, auf die speziellen Datenbereiche bezüglich der Ergebnisdaten in den Speichereinheiten des
Bussystems, die diesem Teilsystem 1 zugeordnet sind, zuzugreifen.
Figur 2 zeigt nun detailliert einen solchen Teilnehmer, der an die Komπ-unikationsverbindung 201 angekoppelt ist. Die Λnkopplung an diese Kommunikationsverbindung 201 erfolgt über eine Busankoppeleinheit 202, welche aus ebem Transceiver 203, einem KommunikationscontroUer 204 und der Speichere-nheit einem Überwachungsregister oder Monitoringregister 205 besieht. Mit dieser Busankoppeleinheit ist das Teilsystem über etae Rechnereinheit 206 verbunden, welche die Steuereinheit bzw. Rechnereinheil, den μC des Teilsystems darstellt. Diese Teileinheit enthält von Sensoren 211 über etae Sensorsignalanpassungse heit 212 gelieferte Eingangsdaten, wobei solche Sensordaten ebenfalls über die Kommunikationsverbindung und die Busankoppeleinheit zur Recheneinheit lieferbar sind. Dies gilt beispielsweise für intelligente Sensorik, die ihrerseits mit der Kommunikationsverbtadung in Verbbdung steht.
Ausgehend von diesen Ebgangsdaten werden Λusgangssignale durch die Rechnereinheit 206 generiert und zum Einen eine Leistungseinheit 209 angesteuert, welche ihrerseits wiederum Λktuatoren 210 bedient. Ebenso sind weitere Signalausgänge über eine Signalanpassungseinheit 208 optional möglich.
Das Überwachungsregister bzw. die Busankoppeleinheit 202 steht direkt mit einer Fehlereinheit 207 b Verbindung. Dadurch kann die Busankoppeleinheit, bsbesondere der Kommunikationscontroller 204 ausgehend von den Daten in den Datenbereichen des Überwachungsregisters 205 Signale ausgeben, beispielsweise an etae Rücksetzeinheit oder Reset-Unit, einen Spannungsregler, also voltage regulator, einen Oszillator und/oder eben watchdog.
In dem Teibehmer 200 nach Figur 2, bestehend eben aus dem entsprechenden Teilsystem und der Busankoppeleinheit, gelangen so die Überwachungsinformationen, also zum Einen die Prozessdaten des überwachten Teilnehmers und zum Anderen die
Ergebnisdaten der anderen Teibehmer, sofern er selbst überwacht wird, direkt vom Kommunikationscontroller 204 in die Überwachungsregister, also die Dalenbereiche der Speicheretaheit 205. In diesen Datenbereichen kann nun eine Gewichtung, eben beispielsweise durch Voting erfolgen, welche Maßnahmen eingeleitet werden sollen.
Sind sich die Teilsystems 2 bis 4 respektive die Teilnehmer 102 bis 104 einig, das Teilsystem 1 seine Funktion fehlerhaft erfüllt bzw. ergibt sich eme solche Einschätzung z.B. aus einem entsprechenden Voting, eben z. B. einer 2- aus 3-Auswahl, so kann beispielsweise Teilsystem 1 resetiert, also zurückgesetzt, ganz abgeschaltet oder beispielsweise nur die Leistungseinheil 209 deaktiviert werden. Eine solche
Fehlerreaktion, wie auch schon vorher beschrieben, kann auch durch die Busankoppeleinheit unter Umgehung der Rechnereinheit 206 optional durch direkte Λnsteuerung der Leistungsetaheit 209 bzw. der Signalanpassungseinheit 208, wie durch die gestrichelten Pfeile dargestellt, realisiert werden.
Ist bei mehreren Teilsystemen oder Teilnehmern nur ein Teilnehmer der Meinung, dass das Teilsystem 1 einen Fehler aufweist, so ist denkbar, dass statt dem überwachten Teilsystem in diesem Teilsystem, das den Fehler delektiert hat, ein Fehler vorliegt. Da, wie zu Figur 1 beschrieben, jedes Teilsystem über Kreuz mit diesem Verfahren geprüft werden kann, kann nun speziell dieses Teilsystem auf Fehler hin untersucht werden. So werden dann die Prozessdaten dieses Teilsystems ausgewertet und das Teilsystem, das irrtümlich auf Fehler erkannt hat, wird seinerseits überprüft. Einem fehlerhaften Abschalten wird somit vorgebeugt. Ebenso wird unzureichenden oder falschen Fehlerreaktionen und Maßnahmen vorgebeugt.
Figur 3 zeigt nochmals eine Busankoppeleinheit 300 mit einem Transceiver301, einem Kommumkationscontroller 302 sowie der Speicheretaheit, also dem Überwachungsregister 303. Dieses Überwachungsregister ist hier beispielhaft in vier Datenbereiche Tl, T2, T3 und T4 entsprechend der Anzahl der überwachten oder zu überwachenden Teilnehmer eingeteilt. Diese Dalenbereiche Tl bis T4 können dann wieder semerseits geteilt sein, so dass zum Einen die Prozessdaten des entsprechenden Teilnehmers eingeschrieben werden, zum Anderen die entsprechenden Ergebnisdaten zugeordnet werden können. Diese Datenbereiche können identisch in jeder Busankoppeleinheit vorgesehen sein, wobei entsprechend der Anzahl der überwachten
und überwachenden Teibehmer auch beliebige andere Kombbationen denkbar und erfindungsgemäß möglich sind.
Bei Überwachung des Teibehmers Tl werden somit die Prozessdaten dieses Teilnehmers in Tl etageschrieben. Die überwachenden Teilnehmer werten nun diese Prozessdaten aus und erstellen aus dieser Auswertung Ergebnisdaten. Für das Einschreiben der Ergebnisdaten gibt es nun verschiedene Möglichkeiten. Zum Eben können alle Ergebnisdaten der einzelnen Teilnehmer in den Datenbereich des überwachten Teibehmers etageschrieben werden, wobei z. B. durch etae Kennung etae Zuordnung der Daten zum jeweiligen überwachenden Teilnehmer möglich ist. Der
Koπ-munikationscontroller nimmt nun eine Bewertung dieser Ergebnisdaten durch Vergleich oder Voting vor und leitet eine entsprechende Fehlerreaktion ein.
Zum Anderen können die entsprechenden Daten dem jeweiligen teilnehmerzugeordeten Datenbereich eingeschrieben werden, so dass die jeweiligen Prozessdaten des entsprechenden Teilnehmers eingeschrieben werden und diesen Prozessdaten in PE1 von Tl spezielle Bereiche PE2 bis PE4 zugeordnet sind, in welche die jeweiligen Ergebnisdaten eben des Teilnehmers 2, 3 oder 4 eingeschrieben werden, so dass durch den Kommunikatio--scontroller 302 über diese optionale Zeile 304 ein Vergleich und ein Voting sowie die entsprechenden Maßnahmen durchgeführt werden können. Im ersten
Fall entspricht die Anzahl der Datenbereiche der Anzahl der überwachten Teibehmer, so dass jedem überwachten Teilnehmer ein Datenbereich eindeutig zugeordnet ist. Im zweiten Fall entspricht die Anzahl der Datenbereiche der Summe der Anzahl der überwachenden und der überwachten Teilnehmer, wobei, wie schon beschrieben, dabei auch eine Schnittmenge bis vollständigen Übereinstimmung der Anzahl von überwachten und überwachenden Teilnehmern möglich ist, sodaß im Extremfall jeder Teilnehmer von allen anderen überwacht wird..
In Figur 4 nun ist ein redundantes System mit Kommunikationsverbindungen 401 und 402 als Teilnehmer 400 dargestellt. Dabei sind nun zwei Busankoppeleinheiten 403 und
404 vorgesehen, von denen jede mit eber Kommunikationsverbtadung gekoppelt ist. Auch hier enthalten die Busankoppeleinheiten einen Transceiver 405 bzw. 408, einen Kommunikationscontroller 406 respektive 409 sowie ein Überwachungsregister, die Speichereinheit 407 bzw.410. Auch hierbei ist wenigstens eine Fehlereinheit 411 vorgesehen, die durch die Speicheretaheit bzw. die Busankoppeleinheit 404 bedient wird.
Dabei kann die selbe Fehlereinheit 411 durch die andere Busankoppeleinheit 403 gleichfalls bedient werden, oder aber es ist eine zweite Fehlereinheit aus Redundanzgründen, also je Busankoppeleinheit eine Fehlereinheit vorgesehen. Beide Busankoppeleinheiten stehen auch hier mit der Rechnereinheit 417 des Teilsystems in Verbindung, welche wiederum von Sensoren 415 über eine
Sensorsignalanpassungsemheit 416 Eingangssignale erhält. Gleichermaßen bildet hier die Rechnereinheit 417 Λusgangssignale zu einer Leistungseinheit 413 oder etaer Signalanpassungseinheit 412. Die Leistungseinheit 413 steuert auch hier Aktuatoren 414
Durch Verwendung eines solchen redundanten Systems ist etae Skalierbarkeit bezüglich der Fehlersicherheit durch Anordnung der Dalenbereiche in den Speichereinheiten 407 bzw.410 möglich. So können die Datenbereiche beispielsweise über die zwei Speichereinheiten verteilt sein oder auch nur teilweise verteilt und teilweise gleichermaßen vorgesehen sein. So ist es möglich, manche Datenbereiche in beiden
Speichereinheiten 407 und 410 vorzusehen und andere Datenbereiche jeweils nur in einer Speicheretaheit. Dadurch ergibt sich eine skalierbare Redundanz, mit welcher sehr flexibel auf sicherheitsrelevante Anforderungen des Systems reagiert werden kann. So kann wenigstens eb Teil der Datenbereiche zum Einen ta jeder Busankoppeleinheit des verteilten Systems, aber auch in jeder Busankoppeleinheit dieses redundanten verteilten
Systems vorgesehen sein. Dies hängt auch msbesondere von der Anzahl der überwachten und/oder der überwachenden Teilnehmer ab.
Damit ist eine sehr flexible und dennoch einfache Form der Fehlerüberwachung in einem verteilten System gegeben.