DE102012021888B4 - Kommunikationsverfahren für verteilte sicherheitsgerichtete Automatisierungseinrichtungen - Google Patents

Kommunikationsverfahren für verteilte sicherheitsgerichtete Automatisierungseinrichtungen Download PDF

Info

Publication number
DE102012021888B4
DE102012021888B4 DE102012021888.5A DE102012021888A DE102012021888B4 DE 102012021888 B4 DE102012021888 B4 DE 102012021888B4 DE 102012021888 A DE102012021888 A DE 102012021888A DE 102012021888 B4 DE102012021888 B4 DE 102012021888B4
Authority
DE
Germany
Prior art keywords
telegram
time
group
participants
telegrams
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE102012021888.5A
Other languages
English (en)
Other versions
DE102012021888A1 (de
Inventor
Wolfgang A. Halang
Markus Weidner
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to DE102012021888.5A priority Critical patent/DE102012021888B4/de
Publication of DE102012021888A1 publication Critical patent/DE102012021888A1/de
Application granted granted Critical
Publication of DE102012021888B4 publication Critical patent/DE102012021888B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/22Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Hardware Redundancy (AREA)

Abstract

Telegrammbasiertes Verfahren zur Kommunikation zwischen parallel an einen Feldbus angeschlossenen und zur redundant-zeitparallelen Ausführung sicherheitsgerichteter Berechnungen in Gruppen organisierten Teilnehmern mit konfliktauflösendem und -vermeidendem Mehrfachzugriff (CSMA/CA), wobei alle sendewilligen Teilnehmer, zunächst unabhängig ihrer Gruppenzugehörigkeit, in der deterministisch, aber nicht zentral gesteuerten und konfliktauflösenden Arbitrierungsstartphase um den Buszugriff mit einem Identifikatorwert konkurrieren, der die im Telegramm enthaltende Information kennzeichnet, sodass auf dem Feldbus der nicht-zerstörte Identifikatorwert des Gewinners der Arbitrierung für alle Teilnehmer sichtbar wird, was diese befähigt, sowohl ihre Zugehörigkeit zur Gruppe des Gewinners als auch ggf. die zu sendende Information zu erkennen und dann in einer gruppenintern festgelegten Reihenfolge den angefangenen Telegrammrahmen durch ihre spezifischen Teilrahmen so zu ergänzen, dass insgesamt auf dem Feldbus ein zusammenhängendes Telegramm entsteht, das mit einem Identifikatorwert beginnt und anschließend die entsprechenden, von den einzelnen Gruppenmitgliedern redundant berechneten Daten enthält und wegen der parallelen Topologie von allen Teilnehmern zeitgleich eingelesen werden kann.

Description

  • Stand der Technik In der Automatisierungstechnik werden Feldbusse für die Vernetzung dezentral angeordneter Mess- und Steuerungseinheiten verwendet. Letztere arbeiten i. W. autark und tauschen Daten über Feldbusnetze aus. Für die Verbindungen der Netzknoten untereinander stehen verschiedene Netztopologien zur Verfügung. Häufige Anwendung findet die Bustopologie, bei der alle Knoten an einem gemeinsamen Medium angeschlossen sind, oder die Ringtopologie, bei der jeder Knoten eine eigene Verbindung zum vorherigen und nächsten Knoten besitzt, so dass sich ein geschlossener Kreis ergibt, der alle Knoten einbindet [2, 4, 11].
  • In US2011/0283027A1 [1] wird gezeigt, wie mittels Feld- und Lokalbussen dezentralisierte Netzhierarchien aufgebaut werden können. In den verschiedenen Kommunikationssystemen werden paket- und datenstrombasierte Kommunikationsprotokolle eingesetzt, die Datenaustausch zwischen den angeschlossenen Knoten ermöglichen. Zwischen den einzelnen Bussystemen können Koppler geschaltet sein, die auf verschiedene Art und Weise als Vermittler arbeiten.
  • Da ein Kommunikationsmedium für alle daran angeschlossenen sendeberechtigten Teilnehmer eine gemeinsame Ressource darstellt, deren Nutzung optimal aufgeteilt werden muss, werden verschiedene Zugriffsverfahren angewendet, um Konflikte zwischen den Kommunikationswünschen aufzulösen oder gar nicht erst entstehen zu lassen. Dies kann z. B. durch die Installation eines Kommunikationsmasters geschehen, der die Rechte für den Zugriff auf das Medium nach einem definierten Plan an die Slaves verteilt, indem er sie nacheinander zum Datenversand während eines begrenzten Zeitraums auffordert (Zeitmultiplexverfahren).
  • In DE19935490C2 [8] wird erläutert, wie auf einem Busmedium mit Mehrfachzugriff und paketorientiertem Kommunikationsprotokoll ein echtzeitfähiges Kommunikationsverfahren realisiert werden kann. Dazu wird eine Masterinstanz benötigt, die durch Senden von Synchronisationstelegrammen einerseits die vorhandene Übertragungskapazität deterministisch in Zeitschlitze einteilt und andererseits für die Dauer dieser Zeitschlitze die Sendeberechtigung an die angeschlossenen Slaves exklusiv vergibt. Wegen der parallelen Anordnung ist der zeitgerechte Telegrammempfang bei allen Kommunikationsteilnehmern gewährleistet.
  • Wird auf eine Masterinstanz verzichtet, müssen die Knoten selbständig mit dem Datenversand beginnen, wenn das Medium frei ist. Wenn mehrere Knoten dies gleichzeitig tun, kommt es zu Kollisionen, die aufgelöst werden müssen, um nur genau einem Knoten Sendeberechtigung zu erteilen. Dazu werden u. a. deterministische und zerstörungsfrei wirkende Verfahren eingesetzt, nach denen sich einer der sendenden Knoten durchsetzt, ohne sein begonnenes Telegramm wiederholen zu müssen. Diese Verfahren erfordern eine Priorisierung der Kanalsymbole. Andere Methoden erkennen dagegen nur Kollisionen; bereits gesendete Telegramme werden zerstört. Die beteiligten Knoten müssen dann nach einem festgelegten Protokoll zu unterschiedlichen späteren Zeitpunkten erneute Sendeversuche starten. Das Medium wird dadurch zunächst wieder frei. Durch die verschiedenen Zeitpunkte wird der gleichzeitige Zugriff entflochten. Allerdings kann für keines der Telegramme eine maximale Versanddauer mehr garantiert werden.
  • Problem Werden physikalische Prozesse automatisiert, so muss die Funktion aller in deren Steuerung und Regelung einbezogenen Feldbusse mit der Prozessdynamik Schritt halten, da anderenfalls Stelleingriffe zu spät erfolgen könnten. Gefordert ist mithin echtzeitfähiger Telegrammversand mit vorhersagbaren Zustellungsterminen. Weil Störungen von Übertragungsmedien nicht gänzlich auszuschließen sind, muss die Zustellwahrscheinlichkeit besonders wichtiger Informationen durch Überlaststeuerung erhöht werden. Sollte es dabei zu unzulässigen Verzögerungen kommen, müssen diese zweifelsfrei aufzudecken sein.
  • Darüber hinaus sind Maßnahmen zur Vermeidung störungsbedingter Ausfälle erforderlich, die neben Einschränkungen in der Verfügbarkeit unter Umständen sogar zu Schäden an Personen oder Umwelt führen können. Da ausfallsicherheitsgerichtetes Verhalten in der Halbleitertechnik nicht basierend auf unverlierbaren physikalischen Eigenschaften realisierbar ist, kann nur quasi-ausfallsicherheitsgerichtetes Verhalten durch Redundanz und Mehrheitsentscheid ermöglicht werden. Um Mehrheitsentscheide durchführen zu können, müssen nicht nur alle Netzknoten parallel am Medium angeschlossen sein, sondern ein Synchronisationsmechanismus muss auch gewährleisten, dass die Ergebnisse redundant durchgeführter Berechnungen zeitgleich im Entscheider vorliegen. Damit ein System bei Ausfall eines Knotens ohne Einschränkungen weiterarbeiten kann, müssen die Netzknoten mindestens dreifach redundant ausgelegt sein. Die Wiedereingliederung reparierter Knoten in den laufenden Betrieb darf nicht das Echtzeitverhalten stören.
  • Lösung Aufgabe der gegenständlichen Erfindung ist es, die für ein sicherheitsgerichtetes und echtzeitfähiges Kommunikationssystem notwendigen Mechanismen echtzeitfähige Datenübertragung, Überlaststeuerung im Störungsfall, zweifelsfreie Diagnose verspätet eintreffender Daten, redundante Auslegung der Netzknoten für Mehrheitsentscheide und Wiedereingliederung reparierter Netzknoten in den laufenden Betrieb zu realisieren und dabei ohne eine steuernde Masterinstanz auszukommen.
  • Mikrorechner können wegen ihrer komplexen Halbleiterstrukturen kein echtes ausfallsicherheitsgerichtetes Verhalten aufweisen. Daher kann unter Einsatz von Redundanz nur quasi-ausfallsicherheitsgerichtetes Verhalten realisiert werden, das auf Vergleichen, Mehrheitsentscheiden und Plausibilitätsprüfungen basiert [6, 3]. Redundant angeordnete Knoten führen dabei auf gleichen Eingangsinformationen unabhängig voneinander dieselben Berechnungen durch und stellen ihre Ergebnisse über ein Kommunikationssystem zum Vergleich bereit. Sie werden gemäß einer Bustopologie miteinander vernetzt, die der Redundanz der Systemstruktur besonders entgegenkommt. Eine logische Einheit wird deswegen durch drei parallele physikalische Netzknoten gebildet, die jeweils gleichberechtigt am Übertragungsmedium angeschlossen sind und eine Gruppe bilden (1).
  • Das Übertragungsmedium ist zweikanalig redundant ausgelegt (Kanäle A und B). Auf beiden Kanälen werden dieselben logischen Symbole gesendet. Leistungssteigernde Maßnahmen durch unterschiedliche Verwendung der Kanäle werden nicht eingesetzt, damit sich bei Fehlfunktion eines Kanals nicht das Zeitverhalten ändert [4]. Durch Überprüfung der Protokollvorschriften ist im Störungsfall einkanaliger Betrieb ohne Einschränkungen möglich, da der fehlerhafte Kanal identifiziert und die korrekte Funktion des verbleibenden Kanals überprüft werden kann.
  • Zur Datenübertragung wird ein bedarfs- und paketorientiertes, asynchrones Zeitmultiplexverfahren verwendet. Die Dreifachredundanz wird vom Protokoll direkt unterstützt, indem ein Telegramm aus insgesamt drei Teilrahmen zusammengesetzt ist (2), die einer Startsequenz folgen. Letztere dient einerseits der Konfliktauflösung und enthält andererseits einen Identifikator, der bestimmt, welcher Prozesswert im Gesamttelegramm enthalten sein wird. Alle Knoten können wegen ihrer parallelen Anordnung die einleitende Sequenz lesen und erkennen daran, ob sie als Quelle an der Bildung des Gesamtrahmens beteiligt sind. In diesem Falle senden sie in der Reihenfolge A, B, C nacheinander je einen Teilrahmen, der ihr zugehöriges und aktuelles Berechnungsergebnis (Felder Px) zum durch die Startsequenz identifizierten Prozesswert enthält.
  • Zur Sicherung der Datenintegrität versieht jeder Knoten seinen Teilrahmen mit einer CRC-Prüfkennung (Feld CRCx), in deren Berechnung nicht nur die Elemente des eigenen Teilrahmens einfließen, sondern ebenfalls die Elemente der Startsequenz, insbesondere der Identifikator. Den Empfängern ist es somit möglich zu prüfen, ob der Telegrammrahmen in sich verfälscht wurde und ob die Knoten die Startsequenz S korrekt eingelesen und mit dem richtigen Prozesswert geantwortet haben.
  • Bedingt durch die Parallelschaltung aller Knoten am Medium erfolgt der Telegrammempfang an allen Knoten zeitgleich und kann zur Synchronisation genutzt werden (3). Die Verarbeitung eines empfangenen Prozesswertes beginnt dadurch zeitparallel. Unter Verwendung eines Echtzeitbetriebssystems kann ein Fertigstellungstermin garantiert werden, von dem der Beginn einer neuen Busperiode abgeleitet wird. Durch Aneinanderreihung mehrerer Verarbeitungszyklen bestehend aus Berechnungs- und Busperiode können längere Verarbeitungsketten gebildet werden, die mit der Erzeugung von Prozesswerten durch Sensoren beginnen und mit der Ausgabe von Stellgrößen enden. Längere einzelne Berechnungsschritte können zerteilt werden, indem durch einen Telegrammversand eine Selbstsynchronisation der bearbeitenden Gruppe durchgeführt wird. Die Kombination von Echtzeitbetriebssystemen und dem gegenständlichen echtzeitfähigen Kommunikationssystem erlaubt es, von diesen Verarbeitungsketten im System mehrere asynchron gleichzeitig und in den Gruppenmitgliedern mehrere quasi-parallel ablaufen zu lassen.
  • Da sich in jedem Telegramm drei unabhängig voneinander berechnete, aber zusammengehörige Prozesswerte befinden, ist es den Empfängern möglich, bei jeder beginnenden Berechnungsperiode einen Mehrheitsentscheid über die Ergebnisse der vorherigen Periode durchzuführen. Die Mehrheitsentscheide werden synchron und ebenfalls dreifachredundant ausgeführt und lassen wegen der identischen Eingangsinformationen erwarten, dass die Ergebnisse der folgenden Berechnungsperiode wieder gruppenintern identisch sind.
  • Wegen der frei wählbaren Längen der einzelnen Berechnungsperioden, innerhalb derer keine diesbezügliche Interaktion zwischen den Gruppenmitgliedern erfolgt, sowie den anschließenden Busperioden, die der Synchronisation des nächsten Berechnungsschritts dienen, können die in den Gruppenmitgliedern eingesetzten Ausführungsprogramme diversitär erstellt werden.
  • Der Ausfall eines Gruppenmitgliedes führt somit zu keinem Verlust der Systemfunktion, denn während dieser Zeit stehen allen Empfängern weiterhin mindestens zwei gleiche Prozesswerte zur Verfügung. Das ausgefallene oder gestörte Gruppenmitglied kann eindeutig identifiziert werden, da es keine (Teilrahmen TRx bleibt leer) oder falsche bzw. ungültige Daten liefert. Nach der Reparatur integriert sich der Knoten dann durch den Telegrammempfang im laufenden Betrieb schrittweise wieder in die Verarbeitungsketten. Auf ein das Echtzeitverhalten störendes spezielles Integrationsprotokoll sowie eine die Integration steuernde Masterinstanz kann verzichtet werden.
  • Beim Betrieb verteilter Systeme muss nicht zuletzt wegen der räumlichen Ausdehnung generell mit Störungen gerechnet werden, die zu verspäteten oder gar fehlgeschlagenen Telegrammzustellungen führen. Da innerhalb einer Verarbeitungskette Ort und Zeitpunkt nicht vorhersagbar sind, wird die vollständige Kette in eine Prüfung eingeschlossen. Entscheidend ist, dass die am Ende auszugebende Stellgröße schritthaltend mit der Dynamik des zu steuernden physikalischen Prozesses pünktlich zur Anwendung gelangt.
  • Beginnend bei der Prozesswertgenerierung z. B. durch Sensoren ist daher eine Überwachung der maximalen Verwendungsdauer ein geeignetes Mittel, um die Rechtzeitigkeit der Ausgaben zu überwachen. Diese kann mittels Relativzeitgebern in Form von Rückwärtszählern realisiert werden. Bei der Generierung eines Prozesswertes wird eine spezifische Lebenszeit gesetzt, die bei der Ausgabe als Stellgröße noch nicht abgelaufen sein darf. Es kann dazu in jedem Knoten ein Datenbereich eingerichtet werden, in dem die Lebenszeiten aller Prozesswerte eingetragen und permanent dekrementiert werden. Durch gerätetechnische Implementierung kann letzteres unabhängig von Programmlaufzeiten und -unterbrechungen gehalten werden. Zusätzlich muss das Kommunikationsprotokoll die Lebenszeiten zusammen mit den Prozesswerten übertragen (Felder LA, LB, LC). Da während der Übertragung nicht dekrementiert werden kann, wird empfängerseitig eine Korrektur anhand der Übertragungsdauer durchgeführt.
  • Für jedes Zwischenergebnis, das aus einer Berechnungsperiode resultiert und das für den Busversand vorgesehen ist, werden ein eindeutiger Identifikator und ein Lebenszeitzähler vorgesehen. Während der Identifikator bereits während der Entwurfszeit des Systems fest definiert wird, wird der Wert des Lebenszeitzählers jedes Mal aus dem Lebenszeitzähler des Eingangswertes für den Berechnungsschritt übernommen. Werden dabei mehrere Prozesswerte kombiniert, so wird der jeweils kleinste Lebenszeitzähler aller Eingangswerte verwendet. Am Ende einer Verarbeitungskette ergeben sich dadurch z. B. eine Stellgröße sowie eine zugehörige relative Restzeit, die für die Ausgabe in den physikalischen Prozess noch aufgewendet werden darf. Ist die Lebenszeit abgelaufen, so ist entweder eine der Eingangsgrößen durch die Erfassung direkt mit der Lebenszeit Null als ungültig bzw. fehlerhaft gekennzeichnet worden (z. B. bei Detektion eines Sensorfehlers) oder innerhalb des Steuerungssystems ist es zu unzulässigen Verspätungen gekommen, so dass die Lebenszeit mindestens eines der Eingangswerte abgelaufen ist. Über die Lebenszeiten können ebenfalls Mehrheitsentscheide durchgeführt werden.
  • Damit Verarbeitungsketten zeitgerecht durchlaufen werden können, müssen Telegramme so versendet werden, dass ausgehend von den Einplanungszeitpunkten die jeweiligen spätesten Zustellungstermine vorhersagbar sind. Die benötigte Versanddauer muss also begrenzt und bekannt sein. Paketorientierte Kommunikationsverfahren, wo alle Teilnehmer mit ihren Sendewünschen um das Übertragungsmedium konkurrieren, erfordern deswegen zunächst einen für termingerechte Sendereihenfolge sorgenden Mechanismus. Somit müssen die Zustellungstermine einerseits in die Priorisierung einfließen und andererseits müssen Konflikte zerstörungsfrei, also deterministisch, aufgelöst werden. Realisiert werden beide Forderungen mit dem vom CAN-Feldbus her bekannten Arbitrierungsverfahren Carrier Sense Multiple Access/Collision Avoidance (CSMA/CA) [5, 2], das ohne steuernde Masterinstanz auskommt. Dabei senden alle sendewilligen Knoten nach einem Synchronisationssymbol einen binären Prioritätswert. Sie scheiden nach und nach aus, wenn andere verbliebene Teilnehmer einen höheren Prioritätswert (kleineren Zahlenwert) senden. Die Erkennung dieses Ereignisses ist möglich, weil auf dem Bus nur zwei Symbole gesendet werden können, die eine unterschiedliche Priorität bei gleichzeitiger Ausgabe besitzen (4). Das dominante 0-Symbol wird durch eine aktive Treiberstufe generiert und kann das passiv, z. B. durch einen Widerstand erzeugte 1-Symbol überschreiben. Jeder ein 1-Symbol sendender Knoten kann also prüfen, ob ein andere Knoten eine höherpriore Zahlensequenz sendet, und scheidet ggf. dann aus. Am Ende erhält derjenige Knoten das Senderecht, der den kleinsten Zahlenwert gesendet hat. Die übrigen Knoten müssen später erneut konkurrieren.
  • Kollisionen führen dabei bedingt durch die spezielle Busankopplung, die rezessive und dominante Symbole erzeugt, nie zu einer Zerstörung der Sequenz, die der Gewinner der Arbitrierung sendet. Setzt man nun für den Prioritätswert den spätesten Zustellungstermin (ZT) in Form der verbleibenden relativen Restzeit ein, so steigt die Priorität einer Nachricht, je dichter sie an ihren Endtermin heranrückt. Sortieren alle Knoten vor jeder Konfliktauflösung ihre eingeplanten Telegramme und nehmen jeweils mit dem dringlichsten teil, so ergibt sich ganz von selbst, ohne, dass dafür ein steuernder Master notwendig wäre, eine zeitgerechte Zustellung aller Telegramme nach dem Fristenverfahren, sofern dies theoretisch möglich ist [6, 7]. Da zu jedem beliebigen Zeitpunkt innerhalb eines Knotens neue Sendewünsche hinzu kommen können, ist es geboten, bei jedem Arbitrierungsbeginn immer das dringlichste Telegramm zu verwenden, auch wenn es erst später hinzugekommen ist. Dies wird realisiert, in dem neue Telegramme in einer Liste entsprechend ihres relativen Zustellungstermins einsortiert werden. Die Reihenfolge der bereits in der Liste enthaltenen Telegramme ändert sich dadurch nie (5).
  • Um dem Fall begegnen zu können, dass mehrere Knoten, auch aus unterschiedlichen Gruppen, mit derselben relativen Zeit angetreten sind, wird das Arbitrierungsfeld um den Prozesswertidentifikator (ID) erweitert. Da ein Prozesswert nur einer Quellgruppe zugeordnet sein kann, wird das Auflösungsverfahren damit eindeutig zugunsten einer Gruppe entschieden. Bedingt durch die synchronisierten Abläufe wird die Sendeberechtigung dabei in der Regel von mehreren Gruppenmitgliedern gemeinsam erworben. Das Senderecht wird anschließend aber in jedem Fall gemäß Protokoll in der Mitgliederreihenfolge A, B, C weitergereicht. Damit die Gesamtversanddauer angegeben werden kann, ist es geboten, den Nutzdateninhalt bspw. auf einen Prozesswert zu begrenzen und Kanalsicherungsmaßnahmen wie Blockcodierung mit Vorwärtskorrektur anzuwenden [9, 4].
  • Der Versand eines neuen Telegramms darf frühestens nach einer festgelegten Ruhephase nach Abschluss des vorherigen Telegramms beginnen. Dadurch wird gewährleistet, dass es regelmäßig zu gemeinsamen Zeitpunkten zu fairen Arbitrierungen kommt, an denen alle Knoten teilnehmen können. Die sendewilligen Knoten beginnen dann nach einem Synchronisationssymbol mit der Ausgabe ihrer individuellen Startsequenzen. Dabei ist es möglich, dass bedingt durch Schwankungen in den Taktfrequenzen der Mikrorechner trotz regelmäßiger Synchronisationen nicht alle Gruppenmitglieder denselben Prozesswert mit derselben Restzeit senden wollen. Die deterministische Arbitrierung sorgt in jedem Fall dafür, dass eine Gruppe das Senderecht erhält. Es schließen sich dann immer alle Mitglieder dem Telegrammversand an. Die rechtzeitige Fertigstellung der Prozesswerte wurde zuvor vom echtzeitfähigen Betriebssystem gewährleistet. Schwankungen des Fertigstellungszeitpunkts können jedoch dazu führen, dass einige Gruppenmitglieder beim asynchron dazu beginnenden Telegrammbeginn noch nicht mit ihrer Berechnung fertig sind. Um dies zu verhindern, wird eine Wartezeit zwischen Telegrammeinplanung und aktiver Teilnahme an der Arbitrierung mit dem Ergebnis vorgeschrieben, dass die aktive Teilnahme an der Arbitrierung zunächst verboten ist, die Aufforderung zur Teilnahme am Telegrammversand jedoch akzeptiert wird. Nach Ablauf der Wartezeit kann jeder Knoten aktiv an einer neu beginnenden Arbitrierung teilnehmen. Die Frequenztoleranzen müssen mithin beim theoretischen Nachweis, dass zu jedem Zeitpunkt der pünktliche Versand des gesamten Nachrichtenaufkommens möglich ist, berücksichtigt werden.
  • Kommt es störungsbedingt zu Telegrammwiederholungen, hängt es vom aktuellen Nachrichtenaufkommen und dessen eingeplanten Reserven ab, ob noch alle Telegramme pünktlich zugestellt werden können. Damit zur Lastreduzierung entschieden werden kann, welche Nachrichten verzichtbar sind, werden ihnen Nutzenfunktionen zugeordnet (6) [7]. Ein solcher Wert gibt somit Auskunft über die Wichtigkeit einer Information. Definiert werden folgende Nutzenfunktionen:
    Weich: Der Inhalt von Telegrammen mit weicher Nutzenfunktion hat einen konstanten Nutzen bis zum Zustellungstermin. Danach ist der Inhalt aber nicht sofort wertlos. Der Empfängerknoten kann auch noch eine Zeitlang darüber hinaus aus den Daten einen sinnvollen Nutzen ziehen (weiches Echtzeitverhalten). Eine Zustellung lohnt also auch nach der Verletzung des Termins noch.
    Fest: Besitzt der Prozesswert einen festen Nutzen, so ist er sofort mit Ablauf des Zustellungstermins wertlos (hartes Echtzeitverhalten). Darüber hinausgehender Telegrammversand ist sinnlos; zur Reduzierung der Buslast wird das Telegramm gestrichen.
    Kritisch: Besonders wichtig sind Prozesswerte mit kritischem Nutzen. Werden die sie enthaltenden Telegramme nicht bis zum gesetzten Termin versendet, ist nicht nur der Nutzen verloren gegangen, sondern es droht zusätzlich noch Gefahr für das System bzw. den zu steuernden Prozess. Diese Telegramme müssen in Überlastsituationen bevorzugt behandelt werden und haben deswegen eine besonders hohe Priorität.
  • Um Nachrichten abhängig von ihrem Nutzen unterschiedlich behandeln zu können, wird dem bisherigen Arbitrierungsfeld (nach dem synchronisierenden Startsymbol) ein binärer 2-Bit-Steuerwert (SF) vorangestellt (2). Dabei haben die Werte 0 (00b) die höchste und 3 (11b) gemäß dem Arbitrierungsverfahren die niedrigste Priorität. Da dieses zusätzliche Steuerfeld in der Arbitrierung vor der relativen Restzeit (ZT) sowie dem folgenden Prozesswertidentifikator (ID) angeordnet ist, besitzt es den höchsten Einfluss auf das Ergebnis der Arbitrierung. Um das Echtzeitverhalten im störungsfreien Zustand nicht zu verändern, nehmen alle Telegramme bis zum Ablauf ihres regulären Zustellungstermins generell mit derselben Prioritätsstufe 1 an der Arbitrierung teil (7). Verpasst ein Telegramm mit festem Nutzen seinen Termin, kann es gestrichen werden. Telegrammen mit weichen Zeitbedingungen kann hingegen eine zusätzliche Zeitreserve zugeteilt werden. Da diese Reserve nur mit der niedrigeren Priorität 2 teilnimmt, werden sie nur dann gesendet, wenn es keine anderen Telegramme mehr gibt, die noch ihren Termin halten könnten und dadurch behindert würden. Abwarten des Zustellungstermins kritischer Telegramme wäre hingegen fatal, denn ein Anheben der Priorität würde dann bereits zu spät kommen. Darum wird für sie bereits während der Systementwicklung der jeweils maximal erlaubte Spielraum für die Zustellung berechnet und in zwei festgelegte Teile aufgeteilt. Mit denn ersten Teil nimmt das Telegramm mit der normalen Priorität 1 teil. Diese Zeitwerte werden während der Arbitrierung reduziert um den zweiten Teil ausgegeben. Der Zeitwert null wird also früher als eigentlich notwendig erreicht. Erfolgt in diesem Zeitraum keime Zustellung, so werden der zweite Teil zugewiesen und die Priorität auf Stufe 0 angehoben. Diese Telegramme setzen sich nun gegenüber aller anderen Telegrammen durch. Die Zustellwahrscheinlichkeit wird also zu Lasten der weniger wichtigen Informationen erhöht. Damit es im störungsfreien Betrieb nicht generell zu diesem Ereignis kommt, ist die theoretische Zustellbarkeit aller Nachrichten während der Entwicklungsphase mit denn reduzierten Spielraum nachzuweisen, so dass die zusätzliche Reserve der kritischen Telegramme nicht benötigt wird. Um stets die Sendereihenfolge innerhalb der Klasse der kritischen Telegramme zu wahren, muss der zweite Zeitanteil für alle kritischen Telegramme gleich groß gewählt werden.
  • Die übrig gebliebene niedrigste Priorität 3 wird ergänzend noch für Telegramme verwendet, die keinen Zeitbedingungen unterliegen. Das Feld ZT darf dann bspw. statische Prioritätsinformationen enthalten.
  • Ausführungsbeispiel Die Erfindung wird anhand eines Beispiels erläutert, bei der eine dezentrale Automatisierungseinrichtung bestehend aus drei logischen Knoten angenommen wird. Diese logischen Knoten 1, 2 und 3 bestehen jeweils aus drei redundant angeordneten physikalischen Knoten (1.A, 1.B, 1.C usw. gemäß 1), die als Gruppen betrachtet werden. Sie sind alle parallel an das zweifachredundant ausgelegte Kommunikationssystem in Bustopologie angeschlossen. Es wird eine Verarbeitungskette betrachtet, bei der die Knoten der Gruppe 1 dreifachredundant über die Sensoren S1 eine Prozessgröße erfassen, verarbeiten und über ein Telegramm an die Gruppe 2 senden. Die Knoten der Gruppe 3 senden ebenfalls einen mittels der Sensoren S3 erfassten Prozesswert an die Gruppe 2. In der Gruppe 2 werden die beiden Prozesswerte miteinander verrechnet und zurück an die Gruppe 1 gesendet, die schließlich mit dem Ergebnis der Berechnungen als Stellgröße über den Aktor A in den zu regelnden Prozess eingreift. Der gesamte Vorgang läuft sich zyklisch wiederholend ab. Für die Verarbeitungskette werden dementsprechend die im Folgenden beschriebenen Bearbeitungsprogramme benötigt, die alle innerhalb der ausführenden Gruppe dreifach parallel zum Einsatz kommen:
    Programm P1.1 erfasst in der Gruppe 1 den Sensorwert S1 und führt eine Vorverarbeitung aus. Das Ergebnis wird mit dem Identifikator ID10 gekennzeichnet.
    Programm P3.1 erfasst in der Gruppe 3 den Sensorwert S3 und führt eine Vorverarbeitung aus. Das Ergebnis wird mit dem Identifikator ID11 gekennzeichnet.
    Programm P2.1 nimmt den Sensorwert S1 von Gruppe 1 entgegen und speichert ihn als ID12 gekennzeichnet zwischen.
    Programm P2.2 berechnet in der Gruppe 2 das Endergebnis aus den Sensorwerten, die es von den Gruppen 1 (ID12) und 3 (ID11) erhalten hat und kennzeichnet es mit ID13.
    Programm P1.2 läuft in Gruppe 1 ab und gibt das Endergebnis der Verarbeitungskette, das es als ID13 gekennzeichnet von Gruppe 2 erhalten hat, mittels des Aktors A in den physikalischen Prozess aus.
  • Die für die Berechnungen notwendigen Programme werden auf jedem Rechner von Betriebssystemen mit hartem Echtzeitverhalten verwaltet. Jedem Programm kann daher eine maximale Laufzeit zugeordnet werden, nach deren Ablauf das Ergebnis garantiert zur Verfügung steht (Fertigstellungstermin). Dabei können von jedem Knoten trotzdem mehrere solcher Aufgaben quasi-parallel bearbeitet werden, wie es z. B. in der Gruppe 1 stattfindet, die einerseits Sensoren einliest (P1.1) und andererseits Stellgrößen ausgibt (P1.2). Auch die Gruppe 2 führt zwei Programme quasi-parallel aus. In jedem Fall aber stehen die Ergebnisse einer Berechnungsperiode bei gleichzeitigem, synchronisiertem Start wiederum gleichzeitig zur Verfügung, so dass sie anschließend in einem gemeinsamen Telegramm versendet werden können. Für den Versand werden im Beispiel die folgenden Telegramme benötigt:
    Telegramm T1 sendet das Ergebnis aus P1.1 mit ID10.
    Telegramm T2 sendet das Ergebnis aus P3.1 mit ID11.
    Telegramm T3 sendet das Ergebnis aus P2.2 mit ID13.
  • Die Knoten der Gruppe 1 erfassen nun mit einem Programm zyklisch die Sensorwerte S1 (8a). Jedes Mal, wenn der Wert neu erfasst wurde, wird die Lebenszeit neu gesetzt. Die Lebenszeiten werden für jedem Prozesswert während der Entwicklungszeit anhand der Dynamik des zu steuernden physikalischen Prozesses spezifisch definiert und als relative Restzeiten implementiert. Gerätetechnisch werden alle Lebenszeitzähler in äquidistanten Zeitabschnitten kontinuierlich bis auf null zurückgezählt, wodurch die Lebenszeiten unabhängig von den Eigenschaften der Programmausführungen werden. Am Ende der Berechnungsperiode (b), d. h. zum Fertigstellungstermin, ist das Ergebnis als Prozesswert ID10 abgespeichert. Anschließend planen alle Gruppenmitglieder unabhängig voneinander den Telegrammversand T1 für den Prozesswert ein. Beginnen alle Gruppenmitglieder synchronisiert zeitgleich mit derselben Berechnungsaufgabe, so findet die Telegrammeinplaung (c) ebenfalls zeitgleich statt. Möglicherweise auftretende Schwankungen bezüglich des Einplanungszeitpunktes werden ausgeglichen, indem die Knoten nach der Einplanung erst nach einer kurzen Wartezeit (die aus den Toleranzen der Taktquellen bestimmt werden kann) mit der aktiven Teilnahme an der Arbitrierung beginnen dürfen. Alle Knoten am Bus empfangen ebenso wie die sendende Gruppe 1 selbst nun das gesendete Telegramm. Die Gruppe 1 nutzt den Telegrammempfangszeitpunkt (d) für eine Selbstsynchronisation, mittels derer das Programm P1.1 erneut gestartet wird (gekennzeichnet durch die gestrichelte Rückschleife). Dies führt dazu, dass die Gruppe 1 nun zyklisch in definierten Zeitabständen den aktuellen Prozesswert aus Sensor S1 auf dem Bus zur Verfügung stellt.
  • In analoger Weise wird nun mit den Sensorwerten aus S3 verfahren, die von Gruppe 3 mit dem Programm P3.1 eingelesen und gekennzeichnet mit ID11 in Telegramm T2 auf den Bus gebracht werden. Auch hier wird eine Selbstsynchronisation für den zyklischen Versand eingerichtet. Gruppe 2 empfängt nun regelmäßig wiederkehrend die Telegramme T1 und T2 (9). Die Lebenszeiten der darin enthaltenen Prozesswerte werden automatisch um die Versanddauer nach unten korrigiert. Anhand der Identifikatoren in den Telegrammen können die zugehörigen Bearbeitungsprogramme in den Mitgliedern synchron gestartet werden. Der Empfang von Telegramm T1 (e) startet also das Programm P2.1 in jedem Gruppenmitglied, welches zunächst eine Mehrheitsentscheidung über den Sensorwert S1 (ID10) durchführt. Jeder Knoten hat den vollständigen Satz bestehend aus drei Prozesswerten erhalten und kann deswegen autark entscheiden. Dabei wird eines der Ergebnisse aus dem Telegrammrahmen T1 ausgewählt, mit dem dann weitergearbeitet wird. Es ist zu erwarten, dass alle Knoten aufgrund der identischen Eingangsinformationen dieselben Entscheidungen treffen. Das Programm speichert den ausgewählten Prozesswert in diesem Beispiel dann nur ab, kennzeichnet ihn mit ID12 und terminiert (f). Die Lebenszeit wird aus dem Telegramm übernommen und kontinuierlich dekrementiert, und zwar auch über das Programmende hinaus. Trifft nun Telegramm T2 von Gruppe 3 ein (g), so wird das Programm P2.2 gestartet. Es führt ebenfalls einen Mehrheitsentscheid über die empfangenen Werte (ID11) aus und übernimmt die Lebenszeit des ausgewählten Prozesswertes. Das Programm verrechnet nun die beiden Werte aus den Gruppen 1 (ID12) und 3 miteinander (h). Das Ergebnis wird mit ID13 gekennzeichnet. Für die Lebenszeit des neuen Berechnungsergebnisses wird der kleinere der beiden Eingangszählerwerte übernommen, um zu gewährleisten, dass am Ende der Verarbeitungskette die kleinste Lebenszeit aller Eingangsprozesswerte Berücksichtigung gefunden hat. Das neue Berechnungsergebnis wird mit der Fertigstellung zum Versand über Telegramm T3 eingeplant (j). Die Gruppe 1 empfängt dieses Telegramm und startet das Programm P1.2 (k). Es wird zunächst wieder ein Mehrheitsentscheid sowie eine Prüfung der Lebenszeiten durchgeführt. Kann dabei ein gültiges Ergebnis ermittelt werden, wird das Berechnungsergebnis über den Aktor in den physikalischen Prozess ausgegeben. Dabei werden die drei autark berechneten Ergebnisse der Gruppenmitglieder nochmals miteinander verglichen (m). Ist aufgrund unterschiedlicher Prozesswerte oder abgelaufenen Lebenszeiten kein Ergebnis bestimmbar, so muss eine geeignete Fehlerbehandlung gestartet werden. Dabei kann eine abgelaufene Lebenszeit entweder durch unzulässige Verzögerungen entstanden sein oder die die Sensoren abfragenden Programme haben die Möglichkeit, ihre Prozesswerte im Falle eines Sensorfehlers direkt mit dem Wert null als ungültig zu kennzeichnen.
  • Kommt es in dem beschriebenen Ablauf nun dazu, dass eine Störung zum Ausfall des Knotens 2.A führt, so kann wegen der beiden verbliebenen Knoten 2.B und 2.C der normale Betrieb aufrecht erhalten werden. Die Mehrheitsentscheide berücksichtigen die als ungültig markierten (Lebenszähler gleich null) oder ganz fehlende Prozesswerte (fehlender Teilrahmen) als fehlerhaft, so dass immer eine 2-aus-3-Entscheidung durchgeführt werden kann. Es liegt also immer ein gültiges Ergebnis vor, solange kein zweiter Fehler auftritt und sich die beiden verbliebenen Gruppenmitglieder mit ihren Berechnungsergebnissen gegenseitig bestätigen. Die Wiedereingliederung nach der Reparatur erfolgt vollautomatisch durch Empfang der Telegramme T1 und T2. Solange das Telegramm T2 nicht empfangen wurde, führt der Knoten das Programm P2.2 nicht aus. Infolge dessen wird er am Versand des Telegramms T3 nicht teilnehmen und sein Teilrahmen TRA bleibt leer. Hat er T2 empfangen, aber noch nicht T1, so nimmt er zwar am Versand von T3 teil, aber sein Prozesswert PA ist mit der Lebenszeit null gekennzeichnet, weil der Zähler für ID12 noch nicht von P2.1 gesetzt wurde. Dies ist erst dann der Fall, wenn auch T1 empfangen und P2.1 ausgeführt wurde. Der Knoten läuft danach wie gewohnt im Automatisierungssystem mit. Für die Wiedereingliederung sind weder ein spezielles Protokoll noch ein Master notwendig.
  • Das Beispiel zeigt, dass in den Gruppen mehrere Sendewünsche gleichzeitig auftreten können. Jedes eingeplante Telegramm besitzt einen spätesten Zustellungstermin. Die Knoten sortieren ihre eigenen eingeplanten Telegramme entsprechend der Zustellungszeiten vor. Bei jeder Arbitrierung wählen sie dann dasjenige Telegramm mit dem dringendsten Zustellungstermin aus. Die Priorisierung der Kanalsymbole erlaubt es nun während der Arbitierung, dass jeder Knoten überprüfen kann, ob ein anderer Knoten eine dringendere Nachricht senden will. Er zieht sich in diesem Fall zurück und schaltet in den Empfangsmodus. Wird das Senderecht somit nicht erworben, bleibt das Telegramm in der Sendeliste enthalten und nimmt zu einem späteren Zeitpunkt erneut an der Konfliktauflösung teil. Bis dahin wird der Zähler für den Zustellungstermin kontinuierlich verringert, so dass das Telegramm in der Priorität ansteigt.
  • Während der Systemauslegung ist nun nachzuweisen, dass die Sendeeinplanungen von T1, T2 und T3 sowie deren Zustellungstermine zu jedem beliebigen Zeitpunkt eine Telegrammmenge bilden, die theoretisch zeitgerecht verarbeitbar ist. In diesem Fall sorgt der Priorisierungsmechanismus für eine zeitgerechte Zustellung aller Telegramme.
  • Wenn nachgewiesen ist, dass kein Telegramm seinen Termin verpassen wird, werden sie alle mit dem Prioritätswert 1 im Steuerfeld SF gesendet, das deswegen noch keinen Einfluss auf die Senderechtsvergabe hat. Tritt nun eine Störung auf, so dass Telegramme wiederholt werden müssen, so verpasst unter Umständen eines der Telegramme seinen Termin. Für diesen Fall werden ihnen Nutzenfunktionen zugewiesen, die das weitere Verfahren bestimmen. Es soll beispielhaft nun angenommen werden, dass das Telegramm T1 einen weichen Nutzen hat, T2 einen festen Nutzen und dass T3 kritisch ist. Verpassen diese Telegramme ihren Termin, würde T2 gestrichen und T1 erhielte eine neue Frist, die aber nur noch mit einer geringeren Priorität SF = 2 an der Konfliktauflösung teilnehmen könnte. Telegramm T3 hingegen würde in der Priorität mit SF = 0 angehoben und besäße nun die höchste Zustellungswahrscheinlichkeit. Die maximale theoretische Zustellungszeit des kritischen Telegramms wird vorsorglich in zwei Teile aufgeteilt. Der erste Teil wird wie gewohnt mit SF = 1 gesendet. Nach Ablauf der ersten Zustellungsfrist wird dann durch SF = 0 die Priorität des Telegramms über die aller anderen angehoben und der zweite Teil dem Zeitgeber für den Zustellungstermin zugewiesen. Beispielhaft könnte die maximale Zustellungszeit von 30 Zeiteinheiten in die Teile 20 und 10 aufgeteilt werden. Solange der erste Teil von 20 noch nicht bis auf 0 heruntergezählt ist, nimmt das Telegramm mit seinem Zählerstand und SF = 1 an der Arbitrierung teil. Danach wird die Reserve 10 zugewiesen und auf null gezählt. In diesem Zeitraum werden Zustellungsversuche mit SF = 0 durchgeführt. Damit es innerhalb der Gruppe der kritischen Telegramme nicht zu Änderungen des Echtzeitverhaltens kommt, muss der zweite Teil der Zustellungszeit aller kritischen Telegramme den Wert 10 besitzen. Ein anderes Telegramm mit der Zustellungszeit 55 würde also zunächst den Zeitraum 45 und danach auch den Zeitraum 10 verwenden.
  • Die Behandlung verpasster Termine durch Streichung oder Änderung der Prioritätsstufen in Verbindung mit neuen Zustellzeiten wird autark von den Knoten vorgenommen und bedarf ebenfalls keiner Masterinstanz.
  • Durch die Erfindung erreichte Vorteile Das erfindungsgemäße Kommunikationssystem stellt eine neue Art der Verbindung dezentraler Automatisierungseinrichtungen bereit, die echtzeitfähigen Telegrammversand und direkte Unterstützung einer Systemarchitektur mit dreifacher Redundanz vereint.
  • Der Einsatz bedarfsorientierten Paketversands anstelle der Vergabe fester Zeitraster oder Abfolgen für die Zuweisung der Sendeberechtigung an die Knoten ermöglicht eine optimale Ausnutzung der zur Verfügung stehenden Bandbreite. Das dafür notwendige Konfliktauflösungsverfahren priorisiert die Telegramme entsprechend ihrer individuellen Zustellungstermine und sorgt damit automatisch für zeitgerechten Versand aller anstehenden Telegramme nach dem Fristenverfahren. Da diese Telegrammpriorisierung dezentral vorgenommen werden kann, ist keine steuernde Masterinstanz notwendig, wodurch Zuverlässigkeit und Verfügbarkeit des Gesamtsystems gesteigert werden.
  • Das Konfliktauflösungsverfahren erlaubt darüber hinaus die Verwendung eines gemeinsamen Kommunikationsmediums, das sämtliche Knoten, parallel angeschlossen, in Bustopologie organisiert. Der Ausfall eines dieser Knoten kann deswegen nicht zu einer betriebsstörenden Segmentierung des Kommunikationsmediums führen.
  • Die so eingesetzte Bustopologie wird vom Kommunikationsprotokoll ausgenutzt, indem eine dreifach redundante Auslegung von Steuerungseinheiten direkt unterstützt wird, die Einsatz in ausfallsicherheitsgerichteten Anlagen ermöglicht. Jede Einheit wird durch drei autarke Knoten implementiert, die jeweils zu einer Gruppe zusammnengefasst werden. Das Protokoll, das immer die drei einander entsprechenden Prozesswerte einer Gruppe in einer Nachricht zusammenfasst und gemeinsam überträgt, ermöglicht empfängerseitige Mehrheitsentscheide. Diese können in den Gruppenmitgliedern autark durchgeführt und mit dem zeitparallelen Telegrammempfang synchronisiert werden.
  • Weitergehend erlauben nun die Gruppensynchronisationen, unter Einsatz von Echtzeitbetriebssystemen für die Programmabarbeitung längere Verarbeitungsketten zu bilden, die aus Aneinanderreihungen von Berechnungs- und Busperioden bestehen und von immer wiederkehrenden Synchronisationen und Mehrheitsentscheiden geprägt sind.
  • Um Kommunikationsstörungen im Durchlauf solcher Verarbeitungsketten begegnen zu können, rundet eine selbst dezentral gesteuerte Überlaststeuerung das Verfahren ab. Den Telegrammen zugewiesene Nutzenfunktionen bestimmen das Vorgehen bei drohenden oder eingetretenen Telegrammverspätungen. Besonders kritische Telegramme werden ggf. automatisch bevorzugt übertragen.
  • Weil diese Störungen die weniger wichtigen oder in besonders schwerwiegenden Fällen auch die kritischen Telegramme beeinträchtigen, ist nie auszuschließen, dass eine Verarbeitungskette nicht vollständig oder zumindest nur unpünktlich durchlaufen wird. Um diesen Fehlerfall aufdecken zu können, unterstützt das Verfahren mit seinen verwalteten Lebenszeiten für jeden Prozesswert eine weitere Überwachungsmöglichkeit. Da die Lebenszeiten individuell bei der Generierung der Prozesswerte neu gesetzt und während des gesamten Durchlaufs einer Verarbeitungskette weitergezählt werden, kann zum Abschluss eine echte Ende-zu-Ende-Kontrolle über die Aktualität der Berechnungsergebnisse durchgeführt werden.
  • Das gegenständliche Verfahren qualifiziert sich also mit seinen genannten Maßnahmen zum Einsatz in sicherheitsgerichteten Prozessautomatisierungen, die ein Besonders hohes Maß an zeitlicher Vorhersagbarkeit, Verfügbarkeit, Zuverlässigkeit und Ausfallsicherheit erfordern.
  • Beschreibungen der Figuren
  • 1: Implementierung der Steuerungseinheiten in Gruppen zu jeweils drei redundanten Knoten, zusammengeschaltet am doppeltredundanten Feldbus in Bustopologie
  • 2: Telegrammrahmen bestehend aus den Startsequenzfeldern Steuerfeld SF, Zustellungszeit ZT, Identifikator ID für die Konfliktauflösung sowie den drei folgenden Teilrahmen der Gruppenmitglieder TRA, TRB und TRC, die jeweils einen Prozesswert Px, den Lebenszeitzähler Lx und eine Prüfkennung CRCx enthalten
  • 3: Verarbeitungskette – Gruppe 1 liest Eingabewerte ein und verarbeitet sie; der Fertigstellungstermin wird durch Einsatz von Echtzeitbetriebssystemen garantiert; die folgende Busperiode fasst die Ergebnisse zusammen; Gruppe 2 synchronisiert sich auf den Telegrammempfang und führt autark Mehrheitsentscheide durch; eine folgende Selbstsynchronisation zerteilt einen längeren Berechnungsschritt in zwei Teile; die Ergebnisse werden anschließend zur Ausgabe an Gruppe 1 zurückgesendet
  • 4: CSMA/CA-Verfahren (Stand der Technik) – das dominante 0-Symbol überschreibt auf dem Bus das rezessive 1-Symbol; jeder Knoten kann einlesen, ob sein gesendetes Symbol auf dem Busmedium ansteht
  • 5: Fristenverfahren – jeder Knoten sortiert seine eigenen eingeplanten Telegramme nach Dringlichkeit; an der Arbitrierung nimmt er immer mit dem dringendsten Telegramm teil; neue Telegramme werden in die Liste einsortiert, wobei sich die Reihenfolge der bereits enthaltenen Telegramm nicht ändert
  • 6: Verlauf des Nutzens nach dem Zustellungstermin
  • 7: Verwendung des Steuerfelds SF für die Lastregulierung – a) verwendeter Prioritätswert in SF, b) Zeitraum über den die zeitgerechte Zustellbarkeit im störungsfreien Betrieb gewährleistet wird, c) geplanter spätester Zustellungstermin, d) Reservezeitraum für kritische Telegramme oder zusätzlicher Spielraum für weiche Telegramme (feste Telegramme werden gestrichen), e) Zustellungstermin für kritische Telegramme
  • 8: Ausführungsbeispiel eines erfindungsgemäßen Kommunikationssystems – Gruppe 1 sendet zyklisch einen eingelesenen Prozesswert
  • 9: Ausführungsbeispiel eines erfindungsgemäßen Kommunikationssystems – Gruppen 1 und 3 senden an Gruppe 2 jeweils einen Prozesswert; Gruppe 2 berechnet aus beiden Prozesswerten ein Ergebnis und sendet es zur Ausgabe an Gruppe 1 zurück
  • Literatur
    • [1] D. Büsching, H.-H. Kirste, S. und O. Wetter: Automation Appliance and Method for Accelerated Processing of Selected Process Data. Patentanmeldung US20110283027A1 , 2011
    • [2] R. Busse: Feldbussysteme im Vergleich. S. 61–68, S. 100–113. München: Pflaum Verlag 1996, ISBN 3-7905-0722-9
    • [3] Deutsches Institut für Normung: DIN EN61508 Funktionale Sicherheit sicherheitsbezogener elekrischer/elektronischer/programmierbarer elektronischer Systeme, Teile 1–7. Berlin: Beuth Verlag 2001
    • [4] Th. Erdner: Entwurf eines realzeitfähigen fehlertoleranten Feldbussystems. S. 36–53, S. 71–74. Düsseldorf: VDI Verlag 2003, ISBN 3-18-372210-0
    • [5] K. Etschberger: Controller-Area-Network. 3. Auflage. S. 18–23, S. 54–69. München: Carl Hanser Verlag 2002, ISBN 3-446-21776-2
    • [6] W. A. Halang und R. Konakovsky: Sicherheitsgerichtete Echtzeitsysteme. S. 28/29, S. 412–423. München: R. Oldenbourg Verlag 1999, ISBN 3-486-24036-6
    • [7] W. A. Halang und Z. Li: Kurs Echtzeitsysteme II. Version 1.0.1, S. 127–129, S. 297–303. Hagen: Fernuniversität 2009
    • [8] J. Jasperneite: Verfahren sowie Steuer- und Datenübertragungsanlage zur Bereitstellung einer Kommunikation zwischen mehreren Teilnehmern. Deutsches Patent DE19935490C2 , 1999
    • [9] F. Kaderali: Kurs Digitale Kommunikationstechnik. S. 207 ff. Hagen: Fernuniversität 2007, http://www.kaderali.de/fileadmin/vorlesungsskripte/BuchKT(A4).pdf (abgerufen am 24.05.2012)
    • [10] R. Nocker: Digitale Kommunikationssysteme 1. S. 106–125. Wiesbaden: Vieweg & Sohn 2004, ISBN 3-528-03976-0
    • [11] R. Nocker: Digitale Kommunikationssysteme 2. S. 85–86. Wiesbaden: Vieweg & Sohn 2005, ISBN 3-528-03977-9

Claims (9)

  1. Telegrammbasiertes Verfahren zur Kommunikation zwischen parallel an einen Feldbus angeschlossenen und zur redundant-zeitparallelen Ausführung sicherheitsgerichteter Berechnungen in Gruppen organisierten Teilnehmern mit konfliktauflösendem und -vermeidendem Mehrfachzugriff (CSMA/CA), wobei alle sendewilligen Teilnehmer, zunächst unabhängig ihrer Gruppenzugehörigkeit, in der deterministisch, aber nicht zentral gesteuerten und konfliktauflösenden Arbitrierungsstartphase um den Buszugriff mit einem Identifikatorwert konkurrieren, der die im Telegramm enthaltende Information kennzeichnet, sodass auf dem Feldbus der nicht-zerstörte Identifikatorwert des Gewinners der Arbitrierung für alle Teilnehmer sichtbar wird, was diese befähigt, sowohl ihre Zugehörigkeit zur Gruppe des Gewinners als auch ggf. die zu sendende Information zu erkennen und dann in einer gruppenintern festgelegten Reihenfolge den angefangenen Telegrammrahmen durch ihre spezifischen Teilrahmen so zu ergänzen, dass insgesamt auf dem Feldbus ein zusammenhängendes Telegramm entsteht, das mit einem Identifikatorwert beginnt und anschließend die entsprechenden, von den einzelnen Gruppenmitgliedern redundant berechneten Daten enthält und wegen der parallelen Topologie von allen Teilnehmern zeitgleich eingelesen werden kann.
  2. Kommunikationsverfahren nach Anspruch 1 unter Anwendung des deterministischen Konfliktauflösungsverfahrens CSMA/CA ohne zentrale Steuerung, wobei zur Erzeugung echtzeitfähiger Sendereihenfolgen die Teilnehmer ihren zu sendenden Telegrammen relative späteste Zustellungstermine zuweisen, die bis zum Versand fortlaufend dekrementiert werden, und jeder Teilnehmer mit seinem dringensten Telegramm am Konkurrenzverfahren derart teilnimmt, dass in der Startphase das Arbitrierungsfeld durch ein zusätzliches höherpriores Zeitfeld erweitert wird, in dem die telegrammspezifische verbleibende Restzeit gesendet wird, sodass mit fortschreitender Zeit die Telegrammpriorität ansteigt und dadurch die zeitgerechte Zustellung aller Telegramme dezentral und deterministisch gewährleistet wird.
  3. Kommunikationsverfahren nach den Ansprüchen 1 und 2, wobei im Überlastfall die vorhandene Übertragungskapazität dezentral gesteuert verteilt wird, indem jedem Telegramm ein individueller Nutzenwert zugeordnet wird, der die Wichtigkeit der enthaltenen Information repräsentiert und bestimmt, wie vor und bei Ablauf der Zustellungsfrist mit dem Telegramm verfahren werden soll, wozu innerhalb der Arbitrierungsstartphase dem Arbitrierungsfeld jedes Telegramms ein weiteres höherpriores Feld vorangestellt wird, in dem alle jene Telegramme, die noch ihren Zustelltermin einhalten können, denselben Wert senden, sodass dieser zunächst keinen Einfluss auf die Priorität und damit das Echtzeitverhalten hat, den Wert aber bei drohender oder eingetretener Terminverletzung individuell verändern, wodurch die Zustellwahrscheinlichkeit abhängig vom Nutzenwert erhöht oder verringert wird.
  4. Kommunikationsverfahren nach Anspruch 1, wobei abhängig vom Identifikatorwert im transportierenden Telegramm Programme zur Verarbeitung empfangener Daten von den Gruppenmitgliedern redundant und gleichzeitig ausgeführt werden und wobei zur Synchronisation dieser Programmausführungen der, wegen des parallelen Anschlusses der Teilnehmer an den Feldbus, gleichzeitige Telegrammempfang bei den Gruppenmitgliedern ausgenutzt wird, sodass trotz fehlender gemeinsamer Zeitbasis unter Verwendung von Echtzeitbetriebssystemen ein gemeinsamer Programmfertigstellungstermin garantiert und für den Versandtermin der redundanten Berechnungsergebnisse in einem nächsten, gemeinsam erzeugten Gruppentelegramm verwendet werden kann.
  5. Kommunikationsverfahren nach den Ansprüchen 1 und 4, wobei durch die Zusammenfassung redundanter Berechnungsergebnisse der einzelnen Gruppenmitglieder in einem gemeinsamen Telegrammrahmen von den Empfängern eigenständige Vergleiche der darin enthaltenen Daten und entsprechende Mehrheitsentscheide regelmäßig und parallel redundant durchgeführt werden können.
  6. Kommunikationsverfahren nach Anspruch 1, wobei das Übertragungsprotokoll vorsieht, für jede der von den Gruppenmitgliedern in einem gemeinsamen Telegrammrahmen beigesteuerten Nutzinformationen jeweils eine eigene, von den Teilnehmern eigenständig aktualisierte und um die Übertragungsdauer korrigierte Lebenszeit zu übertragen, die die zur Verwendung der zugehörigen Information noch verbleibende und erlaubte Restzeit ausdrückt, sodass in einem Telegrammrahmen immer redundante Paare aus Nutzinformationen und zugehörigen Lebenszeiten enthalten sind.
  7. Kommunikationsverfahren nach den Ansprüchen 1, 5 und 6, wobei die in einem Telegrammrahmen mehrfach enthaltenen redundanten Lebenszeiten in die von den Empfängerteilnehmern durchgeführten Mehrheitsentscheide über die Prozesswerte mit einfließen, sodass die zum Durchlauf redundanter Berechnungspfade maximal erlaubten Zeiten von der Generierung von Prozessgrößen bis hin zu ihrer Ausgabe über alle Teilnehmer, deren Berechnungen und Kommunikationsvorgänge hinweg überwacht werden können.
  8. Kommunikationsverfahren nach den Ansprüchen 1 und 4, wobei ihren Betrieb aufnehmende Teilnehmer ohne Einsatz einer zentralen Steuerung oder spezieller Kommunikationsprotokolle derart in den laufenden Systembetrieb integriert werden, dass die von ihnen auszuführenden Berechnungsschritte nach und nach selbsttätig und zeitsynchron zu den Mitgliedern ihrer Gruppen durch Telegrammempfang angestoßen werden.
  9. Kommunikationsverfahren nach Anspruch 1, wobei jedes Gruppenmitglied seinen zu einem Telegramm beigesteuerten Teilrahmen mit einer zur Übertragungssicherung und Fehlererkennung dienenden Prüfkennung ausstattet, in der neben den eigenen gesendeten Daten zusätzlich die Informationen aus der Startsequenz eingerechnet sind, um die Integrität des Gesamttelegramms und seiner Komponenten sowie die korrekte Zugehörigkeit der Nutzinformationen in den einzelnen Teilrahmen zu dem Identifikatorwert aus der Arbitrierungsphase überprüfbar zu machen.
DE102012021888.5A 2012-11-07 2012-11-07 Kommunikationsverfahren für verteilte sicherheitsgerichtete Automatisierungseinrichtungen Expired - Fee Related DE102012021888B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102012021888.5A DE102012021888B4 (de) 2012-11-07 2012-11-07 Kommunikationsverfahren für verteilte sicherheitsgerichtete Automatisierungseinrichtungen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102012021888.5A DE102012021888B4 (de) 2012-11-07 2012-11-07 Kommunikationsverfahren für verteilte sicherheitsgerichtete Automatisierungseinrichtungen

Publications (2)

Publication Number Publication Date
DE102012021888A1 DE102012021888A1 (de) 2014-05-08
DE102012021888B4 true DE102012021888B4 (de) 2016-03-24

Family

ID=50489625

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102012021888.5A Expired - Fee Related DE102012021888B4 (de) 2012-11-07 2012-11-07 Kommunikationsverfahren für verteilte sicherheitsgerichtete Automatisierungseinrichtungen

Country Status (1)

Country Link
DE (1) DE102012021888B4 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19935490C2 (de) * 1999-07-28 2002-04-25 Phoenix Contact Gmbh & Co Verfahren sowie Steuer- und Datenübertragungsanlage zur Bereitstellung einer Komunikation zwischen mehreren Teilnehmern
US20110283027A1 (en) * 2010-05-12 2011-11-17 Dirk Buesching Automation Appliance and Method for Accelerated Processing of Selected Process Data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19935490C2 (de) * 1999-07-28 2002-04-25 Phoenix Contact Gmbh & Co Verfahren sowie Steuer- und Datenübertragungsanlage zur Bereitstellung einer Komunikation zwischen mehreren Teilnehmern
US20110283027A1 (en) * 2010-05-12 2011-11-17 Dirk Buesching Automation Appliance and Method for Accelerated Processing of Selected Process Data

Also Published As

Publication number Publication date
DE102012021888A1 (de) 2014-05-08

Similar Documents

Publication Publication Date Title
AT411948B (de) Kommunikationsverfahren und apparat zur übertragung von zeitgesteuerten und ereignisgesteuerten ethernet nachrichten
DE10211281B4 (de) Verfahren und Vorrichtung zur Synchronisation der Zykluszeit von mehreren Bussen sowie entsprechendes Bussystem
DE102011107321A1 (de) System und Verfahren zur Parametrierung von Feldgeräten eines Automatisierungs- oder Steuerungssystems
EP2302472A2 (de) Steuerungssystem zum Steuern von sicherheitskritischen Prozessen
WO2013170285A1 (de) Verfahren und apparat zur vermittlung von zeitgesteuerten und ereignisgesteuerten nachrichten
DE102011015966B4 (de) Automatisierungssystem
EP2875412A1 (de) Verfahren zum synchronisieren von anzeigeelementen
EP2203821B1 (de) Verfahren zur sicheren datenübertragung und gerät
WO2016059100A1 (de) Verfahren zum überwachen eines ersten teilnehmers in einem kommunikationsnetzwerk und überwachungssystem
EP1639758A2 (de) Verfahren, vorrichtung und system zum austausch von daten über ein bussystem
EP1495590A1 (de) Netzwerk mit einem verbindungs-netzwerk and mehreren mit dem verbindungs-netzwerk gekoppelten netzknoten
WO2020212218A1 (de) Teilnehmerstation für ein serielles bussystem und verfahren zur kommunikation in einem seriellen bussystem
DE102012021888B4 (de) Kommunikationsverfahren für verteilte sicherheitsgerichtete Automatisierungseinrichtungen
EP4427101A1 (de) Verfahren und system zur bereitstellung von zeitkritischen steuerungsanwendungen
EP1484679B1 (de) Sicherstellung von maximalen Reaktionszeiten in komplexen oder verteilten sicheren und/oder nicht sicheren Systemen
EP2527935B1 (de) Verfahren zum Betrieb eines Automatisierungssystems
EP3435179B1 (de) Verfahren zum gemäss einer sicherheitsnorm funktional sicheren austausch von informationen
DE10216920A1 (de) Verfahren und Vorrichtung zur Überprüfung einer Überwachungsfunktion eines Bussystems und Bussystem
WO2002075992A2 (de) System und verfahren zur einführung von redundanzmechanismen in ein kommunikationssystem
EP1399818A2 (de) Verfahren und vorrichtung zur kommunikation in einem fehlertoleranten verteilten computersystem
DE102010038484A1 (de) Verfahren und Vorrichtung zum Steuern einer Anlage
WO2004090734A2 (de) Zeitgesteuertes betriebssystem für echtzeitkritische anwendungen
EP2963861B1 (de) Steuerung von funkverbindungen bei der gebäudeautomation
DE102011004363A1 (de) Steuervorrichtung zum Steuern von Netzwerkteilnehmern, Verfahren zum Betreiben eines Computernetzwerks und Computernetzwerk
WO2003028308A1 (de) Verfahren zur erstellung einer dynamischen adresstabelle für einen koppelknoten in einem datennetz und verfahren zur übertragung eines datentelegramms

Legal Events

Date Code Title Description
R086 Non-binding declaration of licensing interest
R012 Request for examination validly filed
R084 Declaration of willingness to licence
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee