Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYNCHRONISATION OF MEASUREMENT VALUES DELIVERED IN AN INDIVIDUAL MEASUREMENT PHASE FOR A SAFETY FUNCTION
Document Type and Number:
WIPO Patent Application WO/2023/083626
Kind Code:
A1
Abstract:
The invention relates to a method for synchronising measurement values delivered in an individual measurement phase, wherein the measurement values are processed by a safety-oriented controller in a monitoring phase in accordance with a safety function, wherein, in a current monitoring cycle of the monitoring phase, individual counter increments of the measurement values are compared with one another in comparison with a previous monitoring cycle, and a maximum counter increment is determined, wherein the measurement values that do not have the maximum counter increment are adjusted on the basis of the maximum counter increment, wherein on the basis of the adjusted measurement value(s) and the measurement value(s) associated with the maximum counter increment at least one monitoring value is established by the safety function. The invention also relates to an associated safety-oriented control unit.

Inventors:
BUDDAY DOMINIK (DE)
LE MINH (DE)
MOLITOR MATTHIAS (DE)
STEIN ALEXANDER (DE)
ZITTLAU PETER (DE)
Application Number:
PCT/EP2022/080135
Publication Date:
May 19, 2023
Filing Date:
October 27, 2022
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
International Classes:
G05B19/042
Foreign References:
US20160329975A12016-11-10
DE102020205521A12021-11-04
EP2924519A12015-09-30
Download PDF:
Claims:
29

Patentansprüche / Patent claims

1. Verfahren zum Synchronisieren von in einem jeweiligen Erfassungstakt gelieferten Erfassungswerten (posCurrent) , wobei die Erfassungswerte (posCurrent) von einer sicherheitsgerichteten Steuerung in einem Überwachungstakt gemäß einer Sicherheitsfunktion verarbeitet werden,

- wobei in einem aktuellen Überwachungszyklus des Überwa- chungstaktes jeweilige Zählerinkremente (incLocal) der Erfassungswerte (posCurrent) gegenüber einem vorherigen Überwachungszyklus miteinander verglichen werden und ein maximales Zählerinkrement (incGlobal) ermittelt wird,

- wobei diejenigen Erfassungswerte (posCurrent) , die nicht das maximale Zählerinkrement (incGlobal) aufweisen, anhand des maximalen Zählerinkrementes (incGlobal) angepasst werden,

- wobei basierend auf dem oder den angepassten Erfassungswerten (posOut) sowie dem oder den zu dem maximalen Zählerinkrement (incGlobal) zugehörigen Erfassungswerten (posCurrent) durch die Sicherheitsfunktion mindestens ein Überwachungswert gebildet wird.

2. Verfahren nach Anspruch 1, wobei die Erfassungswerte (posCurrent) in einem gemeinsamen Erf assungstakt oder in jeweiligen unterschiedlichen Erf assungstakten geliefert werden.

3. Verfahren nach Anspruch 1 oder 2, wobei der Überwachungstakt von dem Erf assungstakt oder zumindest von einzelnen Erfassungstakten abweicht.

4. Verfahren nach einem der vorstehenden Ansprüche, wobei die Erfassungswerte mittels eines Telegramms (1A1, 1A2, 2A1, 2A2,...) an die sicherheitsgerichtete Steuerung geliefert werden . 30

5. Verfahren nach einem der vorstehenden Ansprüche, wobei die Erfassungswerte (posCurrent) von jeweiligen Achsen (Al, A2 , ...) einer Mehrachskinematik geliefert werden.

6. Verfahren nach Anspruch 5, wobei die sicherheitsgerichtete Steuerung die Erfassungswerte (posCurrent) von verteilten Erfassungssystemen erhält.

7. Verfahren nach einem der vorstehenden Ansprüche, wobei als Erfassungswerte Positionswerte (posCurrent) , Geschwindigkeitswerte, Kraftwerte, Stromwerte oder Spannungswerte erfasst werden.

8. Verfahren nach einem der vorstehenden Ansprüche, wobei die Sicherheitsfunktion basierend auf aus dem oder den angepassten Erfassungswerten (posOut) sowie aus dem oder den zu dem maximalen Zählerinkrement (incGlobal) zugehörigen Erfassungswerten (posCurrent) abgeleiteten Größen den mindestens einen Überwachungswert bildet.

9. Verfahren nach einem der vorstehenden Ansprüche, wobei ein parametrierbarer Grenzwert eingerichtet wird, der eine erlaubte Differenz jeweiliger Zählerinkremente festlegt.

10. Verfahren nach einem der vorstehenden Ansprüche, wobei diejenigen Erfassungswerte (posCurrent) , die nicht das maximale Zählerinkrement (incGlobal) aufweisen, angepasst werden, indem eine Extrapolation anhand zuvor ermittelter oder zuvor angepasster Erfassungswerte (posOutPrevious ) durchgeführt wird .

11. Verfahren nach einem der vorstehenden Ansprüche, wobei die Sicherheitsfunktion abhängig von dem mindestens einen Überwachungswert Sicherheitsfunktionen einleitet. 12. Verfahren nach einem der vorstehenden Ansprüche, wobei durch die Sicherheitsfunktion ein Fehler berechnet wird, der bei der Überwachung des Überwachungswertes berücksichtigt wird .

13. Sicherheitsgerichtete Steuerungseinheit zum Synchronisieren von in einem jeweiligen Erf assungstakt gelieferten Erfassungswerten (posCurrent) , wobei die Erfassungswerte (posCur- rent) von der sicherheitsgerichteten Steuerung in einem Über- wachungstakt gemäß einer Sicherheitsfunktion verarbeitet werden,

- ausgebildet zum Vergleichen jeweiliger Zählerinkremente (incLocal) der Erfassungswerte (posCurrent) in einem aktuellen Überwachungszyklus des Überwachungstaktes gegenüber einem vorherigen Überwachungszyklus und zum Ermitteln eines maximalen Zählerinkrements (incGlobal) ,

- ausgebildet zum Anpassen derjenigen Erfassungswerte (posCurrent) , die nicht das maximale Zählerinkrement (incGlobal) aufweisen, anhand des maximalen Zählerinkrementes (incGlobal) ,

- ausgebildet zum Bilden mindestens eines Überwachungswertes basierend auf dem oder den angepassten Erfassungswerten (po- sOut) sowie dem oder den zu dem maximalen Zählerinkrement (incGlobal) zugehörigen Erfassungswerten (posCurrent) durch die Sicherheitsfunktion.

14. Sicherheitsgerichtete Steuerung nach Anspruch 13, ferner ausgestaltet zur Durchführung einer der Verfahrensschritte nach den Ansprüchen 2 bis 12.

Description:
Beschreibung / Description

Synchronisieren von in einem j eweiligen Erf assungstakt gelieferten Erfassungswerten für eine Sicherheits funktion

Die Erfindung betri f ft ein Verfahren zum Synchronisieren von in einem j eweiligen Erf assungstakt gelieferten Erfassungswerten, wobei die Erfassungswerte von einer sicherheitsgerichteten Steuerung in einem Überwachungstakt gemäß einer Sicherheits funktion verarbeitet werden, sowie eine zugehörige si- cherheitsgerichtete Steuerungseinheit .

In vielen Anwendungsbereichen in der Industrieautomatisierung sind mehrere Antriebsachsen beteiligt . Beispielsweise sind mehrere Achsen einer Mehrachskinematik an einer Bewegung beteiligt und werden dafür entsprechend angesteuert . Dabei ergibt sich eine Gesamtbewegung, beispielsweise eines Endeffektors , erst durch die j eweilige Bewegung der einzelnen Achsen . Oftmals müssen solche Bewegungen sicher ausgeführt werden, das heißt unter Einhaltung von Safety-Anf orderungen, die beispielsweise eine Überwachung der Einhaltung von Positionsoder Geschwindigkeitsgrenzen umfassen .

Ebenso werden in zahlreichen Anwendungen Geber- oder Sensorwerte von verschiedensten Gebern oder Sensoren innerhalb einer Anlage zu einem gemeinsamen Wert verarbeitet , beispielsweise zu einem Überwachungswert , der für die Einhaltung bestimmter Grenzwerte laufend ermittelt und überwacht wird .

In einem synchronen Betrieb werden die verschiedenen erfassten Werte in einem einheitlichen Erfassungstakt , d . h . zueinander zeit-synchronisiert erfasst . Je nach Anwendung und Art der verbauten Komponenten ist so ein synchronisierter Betrieb j edoch nicht gewährleistet . Auch für den sogenannten asynchronen Betrieb, bei dem ein einheitlicher Erf assungstakt oder eine Taktsynchronität bei der Erfassung oder Übertragung von Werten nicht gewährleistet ist oder ein nicht-taktsynchroner , zyklischer Aufruf von Erfassungswerten zur weiteren Verarbeitung erfolgt , sollen j edoch verlässliche Werte zur Überwachung verschiedenster Funktionen generiert werden können .

Vor diesem Hintergrund ist es eine Aufgabe der vorliegenden Erfindung eine Sicherheits funktion für beliebig, insbesondere asynchron oder nicht-taktsynchron, erfasste oder verarbeitete Erfassungswerte zu verbessern . Diese Aufgabe wird durch die Merkmale der unabhängigen Ansprüche gelöst . Vorteilhafte Ausgestaltungen sind in den abhängigen Ansprüchen angegeben .

Die Erfindung betri f ft ein Verfahren zum Synchronisieren von in einem j eweiligen Erf assungstakt gelieferten Erfassungswerten, wobei die Erfassungswerte von einer sicherheitsgerichteten Steuerung in einem Überwachungstakt gemäß einer Sicherheits funktion verarbeitet werden,

- wobei in einem aktuellen Überwachungs zyklus des Überwa- chungstaktes j eweilige Zählerinkremente der Erfassungswerte gegenüber einem vorherigen Überwachungs zyklus miteinander verglichen werden und ein maximales Zählerinkrement ermittelt wird,

- wobei diej enigen Erfassungswerte , die nicht das maximale Zählerinkrement aufweisen, anhand des maximalen Zählerinkre- mentes angepasst werden,

- wobei basierend auf dem oder den angepassten Erfassungswerten sowie dem oder den zu dem maximalen Zählerinkrement zugehörigen Erfassungswerten durch die Sicherheits funktion mindestens ein Überwachungswert gebildet wird . Die verschiedenen erfassten Werte werden von der sicherheitsgerichteten Steuerung verarbeitet , die selbst in einem Über- wachungstakt arbeitet , insbesondere um laufend aktuelle Über- wachungswerte zu generieren . Es kommt dabei beispielsweise durch einen nicht-deterministischen Aufruf der Erfassungswertverarbeitung, d . h . einen nicht taktsynchronen, zyklischen Aufruf der Erfassungswertverarbeitung zur Bildung des Überwa- chungswertes zu einem Jitter . Zudem erfolgt die Erfassung und/ oder die Bereitstellung der Werte in einem Erfassungstakt , wobei beliebig viele der verschiedenen Erfassungswerte in einem eigenen Erfassungstakt , insbesondere alle in einem anderen Takt , erfasst und/ oder geliefert werden . Man kann auch davon sprechen, dass die Uhren des j eweiligen Systems , in dem die j eweiligen Erfassungswerte erfasst werden, nicht miteinander synchronisiert sind oder auseinander laufen . Ebenso kann man davon sprechen, dass die Uhren zwischen dem Erfassungssystem und dem Uberwachungssystem nicht zwangsläufig synchronisiert sind . Ferner können sogenannte Aufsynchronisierungs zeitpunkte unterschiedlich oder ungleichmäßig sein, so dass an sich taktsynchron erfasste Erfassungswerte zur weiteren Verarbeitung für den Uberwachungswert , insbesondere durch ein Erfassungswertverarbeitungssystem, zeitlich unsynchronisiert empfangen und weiterverarbeitet werden . Zudem kann es auch in einem Ubertragungssystem zur Übertragung der Erfassungswerte hin zur Einheit , die den Uberwachungswert bildet , zu Jitter aufgrund von nicht äquidistanter Übertragung, beispielsweise bei Übertragung über Ethernet , kommen .

Aufgrund dieser durch verschiedene und insbesondere gleichzeitig vorliegende Ef fekte bewirkten zeitlichen Nebenläufigkeit liegen in der sicherheitsgerichteten Steuerung mehrere Erfassungswerte für die Bildung eines Überwachungswertes vor, die nicht zu einem einheitlichen Zeitwert oder einem einheit- lichen oder gemeinsamen Zeitpunkt gehören . Beispielsweise liegen bei Positionswerten, die in einem asynchronen Achsbetrieb geliefert werden, die Angaben zu Positionen der einzelnen Achsen, die in einem Überwachungstakt der Steuerung verarbeitet werden sollen, gegebenenfalls zeitgleich in der Steuerung vor, beziehen sich aber auf unterschiedliche Zeitpunkte . D . h . die gelieferten Positionen wurden von den j eweiligen Achsen zwar tatsächlich angenommen, j edoch ist nicht sichergestellt , dass die verschiedenen Positionswerte hinsichtlich des Zeitbezugs miteinander vergleichbar sind . Die Informationen zu entsprechenden Achspositionen sind daher nicht sinnvoll kombinierbar, um eine insgesamt aufgrund des Zusammenwirkens der Achsen angenommenen Positionswert , beispielsweise den Positionswert eines Endef fektors einer Mehrachskinematik, zu ermitteln und zu überwachen .

Der Überwachungswert wird aus mindestens zwei Erfassungswerten gebildet , ist also ein gemeinsamer oder zusammengesetzter oder kombinierter Überwachungswert . Der Überwachungswert kann eine sinnvolle Aussage zu einem zu überwachenden Zustand, beispielsweise einer Position oder Temperatur oder Geschwindigkeit , der von mehreren Erfassungswerten abhängig ist , nur sinnvoll gebildet werden, wenn die j eweiligen Erfassungswerte eine Aussage zu einem gemeinsamen Zeitpunkt tref fen .

Dafür erfolgt die Anpassung nach dem oben vorgeschlagenen Verfahren .

Die einzelnen Erfassungswerte werden entweder direkt verarbeitet oder einer oder mehrere der Erfassungswerte werden zunächst abgeleitet und gehen in abgeleiteter Form in die Ermittlung des Überwachungswertes ein . Es handelt sich somit um einen kombinierten oder gemeinsamen Überwachungswert , der abhängig von mehreren erfassten Werten gebildet wird . Die mehreren erfassten Werte werden beispielsweise durch mehrere lokal verbaute Sensoren oder Geber geliefert . Beispielsweise werden sie ferner zumindest teilweise durch Simulationsprogramme oder Cloud-basierte Anwendungen geliefert .

Der Erf assungstakt wird beispielsweise durch eine Erfassungseinheit für den j eweiligen Wert vorgegeben, beispielsweise den j eweiligen Sensor . Handelt es sich bei den einzelnen zu erfassenden Werten um Achswerte , wie beispielsweise Achspositionen, so wird der Erf assungstakt durch den Antriebstakt an der j eweiligen Achse vorgegeben . Ferner wird der Erfassungstakt beispielsweise durch einen vorhandenen Bus beeinflusst , wobei die erfassten Werte dann im Bustakt geliefert werden und der Bustakt dann den Erf assungstakt darstellt .

Beispielsweise handelt es sich bei den Erfassungswerten um Geber- oder Sensorwerte , die sich auf eine Bewegung eines Gerätes oder einer Maschine , gesteuert durch die sicherheitsgerichtete Steuerung, beziehen . Beispielsweise ist eine Überwachung dieser Bewegung durch die Sicherheits funktion vorgesehen .

Der Überwachungstakt wird durch die sicherheitsgerichtete Steuerung vorgegeben . Beispielsweise ist der Überwachungstakt durch einen Bewegungs zyklus vorgegeben, der auf der Steuerungseinheit vorgesehen ist . Beispielsweise läuft ein Safety- Baustein zur sicheren Bewegungsüberwachung auf der gleichen CPU wie eine Bewegungs führung, beispielsweise die eines Roboters , und hat einen größeren Takt als die Bewegungs führung .

Die j eweiligen Zählerinkremente ermöglichen eine Berücksichtigung von seit dem letzten gelieferten Wert abgelaufenen Zeiten in den j eweiligen Erfassungssystemen, beispielsweise an den j eweiligen Achsen . Dabei ist eine absolute Zählerzeit irrelevant . Beispielsweise werden in j edem Bus-Takt alle Achs-Telegramme der Sicherheitssteuerung zur Verfügung gestellt , wobei alle Achsen mit einem beliebigen Initial- Zählerwert beginnen . Jede Achse hat beispielsweise ihre eigene lokale Uhr in Form eines Zählers oder Zeitstempels , der mit fortschreitender Zeit um ein ganz zahliges Inkrement hochzählt . Hierbei entspricht die Dauer eines Inkrements dem Antriebstakt .

Die Inkremente der Zähler der verschiedenen im aktuellen Uberwachungs zyklus erfassten Werte werden miteinander verglichen, um den zeitlich aktuellsten Wert zu ermitteln . Die j eweiligen Zählerinkremente , beispielsweise die Zählerinkremente j e Achse , werden ermittelt durch einen Abgleich des Zählerwertes im aktuellen Uberwachungstakt mit einem Zählerwert des Erfassungswertes im vorherigen Uberwachungstakt . Dabei handelt es sich bei dem Zählerwert des Erfassungswertes im vorherigen Uberwachungstakt ggf . um einen angepassten Zählerwert . Dies ist der Fall , wenn im vorherigen Uberwachungs zyklus bereits das hier vorgeschlagene Anpassungsverfahren durchgeführt wurde . Liegt noch kein angepasster Erfassungswert vor oder ergab sich aufgrund des Zählerinkrementvergleichs keine Notwendigkeit einer Anpassung im vorherigen Uberwachungs zyklus , so wird direkt der mit dem im letzten Uberwachungstakt gelieferten Erfassungswert gelieferte Zählerwert für die Bildung des Zählerinkrements verwendet .

Das maximale Zählerinkrement , auch globales Zählerinkrement genannt , der j eweiligen Zählerinkremente , auch lokale Zählerinkremente genannt , legt für den aktuellen Uberwachungszyklus schließlich fest , auf welchen Zeitpunkt die j eweiligen Erfassungswerte anzupassen sind, falls sie diesem Zeitpunkt des Erfassungswertes mit dem zugehörigen maximalen Zählerinkrement nicht ohnehin entsprechen .

Vorteilhafterweise wird mit dem vorgeschlagenen Verfahren eine plausible Aussage beispielsweise über eine aktuelle Achs- Position des empfangenen Telegramms getrof fen . So wird vorteilhaft die Sicherheit und Verfügbarkeit im System erhalten . Durch präziser berechenbare Sicherheitsgrenzwerte ist eine sinnvolle , d . h . möglichst wenig unnötig vorsichtige , Nutzung bei gleichzeitig hoher Sicherheit gewährleistet .

Beispielsweise werden alle Telegramme , die beispielsweise von verschiedenen beteiligten Achsen empfangen werden, synchronisiert oder derart verändert , dass sie zeitlich zueinander konsistent sind . Man kann daher auch von der Funktionalität eines Telegramm-Filters sprechen . Somit wird insgesamt bei gemeinsamer Berücksichtigung aller ggf . angepasster Erfassungswerte für den davon abhängigen Überwachungswert ein plausibler, möglichst nah am tatsächlich vorliegenden Überwachungswert liegender Wert ermittelt .

Mit dem vorgeschlagenen Verfahren wird ein sicherheitsgerichteter Betrieb im asynchronen Modus ermöglicht . Somit können sicherheitsgerichtet Bewegungen beispielsweise einer Mehrachskinematik überwacht werden, ohne dass alle beteiligten Achsen hinsichtlich ihrer j eweiligen Antriebs- und Bus-Takte sowie in Bezug auf einen Überwachungs zyklus synchronisiert sein müssen . Die damit einhergehende Erschließung einer asynchronen Pro ektierung erlaubt eine größere Breite an Use- Cases . Beispielsweise können vorteilhaft 6-Achs Kinematiken, wie sie typischerweise bei Werkzeugmaschinen zum Einsatz kommen, dadurch mit vergleichbarer Genauigkeit und Verfügbarkeit der Sicherheits funktionen wie im synchronen Modus betrieben werden . Die vorgeschlagene Anpassung der Erfassungswerte mittels der beschriebenen Filterfunktionalität kann insbesondere mehrere Ef fekte , die zu zeitlicher Nebenläufigkeit und damit zu Ungenauigkeiten bei der Ermittlung des Uberwachungswertes beitragen, quasi gleichzeitig beheben, sofern sie auftreten : eine mögliche zeitliche Asynchronität aufgrund eines notwendigen Auf synchronisierens von im Saf ety-Zyklus einer sicherheitsgerichteten Antriebssteuerung erfassten und bearbeiteten Erfassungswerte auf einen Kommunikationstakt - auch wenn dieser selbst taktsynchron ist - sowie eine mögliche Asynchronität zwischen diesem Kommunikationstakt und dem nicht taktsynchronen Verarbeitungstakt des Saf ety- Funktionsbausteins in der Bewegungssteuerung, beispielsweise einem Aufruftakt der Applikation . In allen Stufen kann es auf dem Weg der Erfassung und Übertragung der Erfassungswerte bis hin zur Ermittlung des Uberwachungswertes zu Asynchronitäten kommen aufgrund von verteilten sowie überlagerten Komponenten . Die Anpassung der Erfassungswerte behebt vorteilhafterweise eine bestehende zeitliche Nebenläufigkeit .

Gemäß einer Ausgestaltung werden die Erfassungswerte in einem gemeinsamen Erf assungstakt oder in j eweiligen unterschiedlichen Erf assungstakten geliefert . Beispielsweise sind die Erfassungstakte von verschiedenen Gebern oder Sensoren, die j eweils einen der Erfassungswerte liefern, die in die Bildung des Uberwachungswertes eingehen, prinzipiell in einem gemeinsamen Takt , laufen aber dennoch für kurze Phasen auseinander und somit nicht synchron . Ferner sind auch Anwendungen mit hoher Genauigkeit sicherheitsgerichtet überwachbar, bei welchen zwar ein gemeinsamer Taktgeber der einzelnen Erfassungswerte vorliegt , beispielsweise ein gemeinsamer Taktgeber aller beteiligten Achsen vorhanden ist , sodass sie sich auf lange Sicht zeitlich nicht voneinander entfernen, bei welchen j edoch für kurze Zeitphasen keine Synchronität zueinander sichergestellt ist .

In anderen S zenarien ist der Erf assungstakt gleich, j edoch sind verschiedene Bus- oder andere Übertragungssysteme beteiligt , die keinen einheitlichen Takt aufweisen . Wiederum in anderen S zenarien sind die Erf assungstakte von vornherein unterschiedlich oder vollständig unbekannt . Für alle beschriebenen Ausgangssituationen bietet die vorgeschlagene Lösung die Sicherheit , dass dennoch Erfassungswerte miteinander verglichen werden oder einander zugeordnet werden oder gemeinsam für die Bildung eines gemeinsamen Überwachungswertes verwendet werden, deren zumindest potentiell zeitliche Asynchroni- tät berücksichtigt wird und somit zu einem genaueren Überwa- chungswert führt .

Gemäß einer Ausgestaltung weicht der Überwachungstakt von dem Erf assungstakt oder zumindest von einzelnen Erf assungstakten ab . Beispielsweise tastet die Sicherheitssteuerung in j edem Safety-Takt die Achs-Telegramme von beteiligten Achsen, deren Zusammenwirken überwacht werden soll , zusammen mit ihren Zählerwerten, beispielsweise einem aktuellen Zeitstempel , und dazugehörigen Positionswerten vom Bus ab . Je nachdem wie das Verhältnis der Dauer zwischen Safety-Takt und Bus-Takt eingestellt ist , liegt entweder eine Überabtastung, d . h . Bus- Taktdauer größer als Saf ety-Taktdauer , oder eine Unterabtastung, d . h . Bus-Taktdauer kleiner als Saf ety-Taktdauer , der Telegramme vor . In einem asynchronen Achsbetrieb können, falls Bustakt und Safety-Takt unterschiedliche Zeitdauer haben und Achstelegramme zu oft (Überabtastung) oder zu selten (Unterabtastung) vom Bus gelesen werden, vorteilhaft die axialen und vor allem auch die kartesischen Positionen sowie die Geschwindigkeiten von Mehrachskinematiken sicher überwacht werden . Somit berücksichtigt die vorgeschlagene Filterfunkti- onalität auf Seiten beispielsweise einer CPU in der Sicher- heitssteuerung eine Asynchronität zwischen einem Kommunikationstakt und einem zyklischen, aber nicht taktsynchronen Verarbeitungstakt eines Safety- Funktionsbausteins .

Gemäß einer Ausgestaltung werden die Erfassungswerte mittels eines Telegramms an die sicherheitsgerichtete Steuerung geliefert . Beispielsweise kommen Telegramme eines Bussystems zum Einsatz , das in einer Anlage , beispielsweise einer Fertigungsanlage oder einer Prozessanlage , für die kommunikative Verbindung einzelner Anlagenkomponenten oder Maschinen genutzt wird .

Gemäß einer Ausgestaltung werden die Erfassungswerte von j eweiligen Achsen einer Mehrachskinematik geliefert . Insbesondere bei Mehrachskinematiken, wie sie in Robotik-Anwendungen oftmals zum Einsatz kommen, ergibt sich der Vorteil , dass Erfassungswerte von verschiedenen Achsen als Eingabewerte benötigt werden, um daraus einen Uberwachungswert zu bilden, der einen Status oder einen Zustand der Kinematik überwacht , beispielsweise eine Position oder Geschwindigkeit an einem Endef fektor . Die verschiedenen Erfassungswerte zusammen ergeben den Wert , der überwacht werden soll . Die Erfassungswerte der verschiedenen Achsen werden gemäß der Ausgestaltung derart miteinander synchronisiert , dass sie zeitlich zueinander passen, d . h . dass die gelieferten Werte zu gleichen und damit vergleichbaren Erfassungs zeitpunkten gehören . Mit der vorgeschlagenen Ausgestaltung lässt sich sicherstellen, dass möglichst korrekte Positions- oder Geschwindigkeitswerte ermittelt werden, die die Kinematik mit größerer Wahrscheinlichkeit eingenommen hat als ohne die vorgenommene Anpassung und es wird die Gefahr vermieden, dass aufgrund zeitlicher Nebenläufigkeit der beteiligten Antriebsachsen eine ungenaue oder falsche Position oder Geschwindigkeit ermittelt wird, die beispielsweise der Endef fektor mit großer Wahrscheinlichkeit nie eingenommen hatte . Somit wird die Sicherheit und Zuverlässigkeit der Sicherheits funktion erhöht .

Gemäß einer Ausgestaltung erhält die sicherheitsgerichtete Steuerung die Erfassungswerte von verteilten Erfassungssystemen . Beispielsweise liefern die sechs Achsen eines typischen 6-Achs-Roboters j eweils einen Erfassungswert . Wenn die Synchronisation dieser Erfassungssysteme auf den Kommunikationstakt , in dem die sicherheitsgerichtete Steuerung die Erfassungswerte empfängt , unkoordiniert stattfindet und die Erfassung der Werte untersetzt zum Kommunikationstakt erfolgt , kann dieser Versatz mit der vorgeschlagenen Anpassung erkannt und korrigiert werden, womit der daraus abgeleitete Überwa- chungswert präziser wird . Die Erfassungswerte werden beispielsweise durch die Sicherheitssteuerung von mindestens zwei Control Units , kurz CUs , von mindestens zwei Achsantrieben verteilt empfangen und liegen somit für die Ermittlung des Uberwachungswertes nicht zeitsynchronisiert vor . Mit der vorgeschlagenen Anpassung auf einen gemeinsamen Zählerwert werden die Erfassungswerte der verschiedenen CUs miteinander synchronisiert und der daraus abgeleitete Uberwachungswert wird präziser .

Bei mehreren CUs synchronisieren diese ihren Saf ety-Zyklus auf den Kommunikationstakt , wobei die Synchronisation in der Regel allerdings unkoordiniert zu einem mehr oder weniger beliebigen Kommunikationstakt erfolgt , beispielsweise dann, wenn der Antrieb dazu bereit ist . Das kann dazu führen, dass die eine CU sich auf einen geraden Kommunikationstakt , die andere sich auf einen ungeraden Kommunikationstakt auf synchronisiert , womit im weiteren Verlauf die Sensordatenerfassung auf den beiden CUs um einen Kommunikationstakt versetzt erfolgt . Beide CUs sind j edoch insbesondere immer noch als taktsynchron zu betrachten . Der Safetyzyklus des Antriebs ist beispielsweise zum Kommunikationstakt untersetzt mit einem Kommunikationstakt von 4ms und einem Safety-Takt des Antriebs von 8ms . Die CU liefert dann in zwei Kommunikations zyklen hintereinander die gleichen Zähler und Werte . Das vorgeschlagene Anpassungsverfahren kann das erkennen, weil die Zyklus zähler sich nun in unterschiedlichen Takten inkrementieren .

Kommunikationstakt : 1 2 3 4 5 6 7 Zähler Antriebl : 1 1 2 2 3 3 4

Zähler Antrieb2 : 5 6 6 7 7 8 8

Immer wenn eine Zähler- Inkrementierung festgestellt wird, ist der empfangene Wert als aktueller zu bewerten, während der zum zweiten Mal empfangene Wert als älter zu betrachten ist und entsprechend korrigiert wird .

Somit können in Aus führungen der Erfindung einerseits eine Asynchronität zwischen dem Kommunikationstakt und einem zyklischen, aber nicht taktsynchronen Saf ety-Zyklus wie oben beschrieben berücksichtigt werden und andererseits zusätzlich antriebsseitig für sich betrachtet taktsynchrone sicherheitsgerichtete Antriebssteuerungen durch Anpassung der Erfassungswerte in zeitliche Synchronität zum Kommunikationstakt gebracht werden .

Gemäß einer Ausgestaltung werden als Erfassungswerte Positionswerte , Geschwindigkeitswerte , Kraftwerte , Temperaturwerte , Füllstandswerte , Stromwerte oder Spannungswerte erfasst . Die Positions- , Geschwindigkeits- , Kraft- , Temperatur- Füllstands- , Strom- oder Spannungswerte werden kombiniert , um als Überwachungswert einen Gesamt-Positions- , Geschwindigkeits- , Kraft- , Temperatur- , Füllstand- , Strom- oder Spannungswert zu erhalten . Beispielsweise werden an einer Anlage an den verschiedensten Stellen in einem Fertigungsablauf Werte erfasst , die zu einem Gesamt-Erfassungswert verarbeitet werden, um diesen dann als Überwachungswert mittels einer Sicherheitsfunktion überwachen zu lassen . Die vorgeschlagene Ausgestaltung ist insbesondere dann vorteilhaft , wenn ein Zustand als Gesamt-Überwachungsgröße überwacht werden soll , der Abhängigkeiten zu den verschiedenen Erfassungswerten aufweist , so dass die zeitliche Synchronität der Erfassungswerte für die Genauigkeit des Überwachungswertes wichtig ist . Beispielsweise wird aus den einzelnen zumindest teilweise angepassten Stromwerten ein Kraftwert als zu überwachender Wert ermittelt , der mit der durchgeführten Anpassung der einzelnen Stromwerte - soweit notwendig - auf eine gemeinsame Zählerinkrementierung hin eine sehr präzise Überwachung des tatsächlich zum j eweiligen Zeitpunkt vorliegenden Kraftwertes ermöglicht wird .

Gemäß einer Ausgestaltung bildet die Sicherheits funktion basierend auf aus dem oder den angepassten Erfassungswerten sowie aus dem oder den zu dem maximalen Zählerinkrement zugehörigen Erfassungswerten abgeleiteten Größen den mindestens einen Überwachungswert . Vorteilhaft gehen in die Ermittlung des Überwachungswertes ausschließlich oder zusätzlich zu den soweit notwendig angepassten Erfassungswerten auch aus diesen abgeleitete Größen ein . Beispielsweise werden aus angepassten Positionswerten sowie aus den Positionswerten, die keine Anpassung benötigen, Geschwindigkeitswerte abgeleitet . Beispielsweise gehen diese Geschwindigkeitswerte in die Sicherheits funktion ein, um die Sicherheits funktion „Sichere Geschwindigkeit" aus zuführen, bei der überwacht wird, dass ein Endef fektor eine Grenzgeschwindigkeit nicht überschreitet und ggf . Maßnahmen wie Stoppvorgänge einleitet . Gemäß einer Ausgestaltung wird ein parametrierbarer Grenzwert eingerichtet , der eine erlaubte Di f ferenz j eweiliger Zählerinkremente festlegt . Somit wird eine Asynchronität quasi nach oben hin begrenzt . Es wird eine maximal erlaubte Abweichung zwischen j eweiligen Zyklus zählerunterschieden eingeführt , bei deren Überschreitung eine Anpassung der Erfassungswerte nach einem der vorgeschlagenen Verfahren nicht mehr stattfinden soll , sondern stattdessen beispielsweise eine Fehlermeldung ausgegeben werden soll und/ oder eine Stopp- Funktion ausgeführt werden soll . Somit wird ein Schweben der einzelnen Erfassungswerte in zeitlicher Hinsicht zueinander geduldet und vorteilhaft korrigiert , allerdings nur bis zu dem festgelegten Grenzwert . Dieser wird beispielsweise j e Anlage oder bei einem Einrichten der Anlage durch die Steuerung vorgegeben und festgelegt . Somit wird die Filterfunktionali- tät begrenzt , was beispielsweise für Fehlerfälle wie ausgefallene Sensoren eine vorteilhafte Ergänzung der vorgesehenen Sicherheits funktionen darstellt .

Gemäß einer Ausgestaltung werden diej enigen Erfassungswerte , die nicht das maximale Zählerinkrement aufweisen, angepasst , indem eine Extrapolation anhand zuvor ermittelter oder zuvor angepasster Erfassungswerte durchgeführt wird . Beispielsweise wird eine lineare Extrapolation durchgeführt . Beispielsweise wird ein erfasster Positionswert , der nicht das maximale Zählerinkrement aufweist , extrapoliert . Dafür wird beispielsweise zunächst eine aufgrund der letzten Positionswerte und Zeitinkremente ermittelbare Geschwindigkeit , die somit beispielsweise eine möglichst aktuelle axiale Momentangeschwindigkeit darstellt , angenommen für die lineare Extrapolation der Position . Auch für eine beispielsweise ungleichmäßig laufende Achse , die bei vorgegebener Geschwindigkeit in j edem Takt leicht um diese Geschwindigkeit schwankt , d . h . in j edem Takt leicht beschleunigt oder abbremst , ist eine lineare Ext- rapolation gegenüber einer beispielsweise quadratischen Extrapolation (Berücksichtigung von momentaner Beschleunigung) einfach durchzuführen, da sich hierbei vorübergehende Beschleunigungen nicht auswirken . Ebenso ist es allerdings auch möglich mit Polynomen höherer Ordnung zu extrapolieren, welche momentane Beschleunigung, Ruck etc . einbeziehen . Dabei werden beispielsweise bei einer quadratischen Extrapolation drei Positionswerte , nämlich vom aktuellen Takt und den letzten beiden Takten, mit in die Rechnung einbezogen und in j edem Takt aktualisiert .

Gemäß einer Ausgestaltung leitet die Sicherheits funktion abhängig von dem mindestens einen Überwachungswert Sicherheitsfunktionen ein . Typische Sicherheits funktionen sind das Abbremsen beteiligter Bewegungsachsen, um in bestimmten Zonen mit reduzierter Geschwindigkeit zu fahren, oder das Einleiten von Stopp-Vorgängen, um in Kollisionsbereichen Gefahren zu vermeiden . Genauso können Alarmausgaben oder -meldungen vorgesehen sein, beispielsweise bei Temperatur- oder Drucküberschreitungen, die sich aufgrund des Überwachungswertes aus den einzelnen Erfassungswerten ergeben .

Gemäß einer Ausgestaltung wird durch die Sicherheits funktion ein Fehler berechnet , der bei der Überwachung des Überwachungswertes berücksichtigt wird . Der Fehler berücksichtigt die Ungenauigkeit , die sich bei der Anpassung des oder der Erfassungswerte ( s ) ergibt . Beispielsweise wird ein Fehler aufgrund der Extrapolation abgeschätzt . Vorteilhafterweise werden zugleich auch die sich durch Ableitung von Überwa- chungswerten aus den angepassten Erfassungswerten ergebenden Fehler berücksichtigt .

Die Erfindung betri f ft ferner eine sicherheitsgerichtete

Steuerungseinheit zum Synchronisieren von in einem j eweiligen Erf assungstakt gelieferten Erfassungswerten, wobei die Erfassungswerte von der sicherheitsgerichteten Steuerung in einem Überwachungstakt gemäß einer Sicherheits funktion verarbeitet werden, wobei die sicherheitsgerichtete Steuerungseinheit ausgebildet ist zum Vergleichen j eweiliger Zählerinkremente der Erfassungswerte in einem aktuellen Überwachungs zyklus des Überwachungstaktes gegenüber einem vorherigen Überwachungszyklus und zum Ermitteln eines maximalen Zählerinkrements , zum Anpassen derj enigen Erfassungswerte , die nicht das maximale Zählerinkrement aufweisen, anhand des maximalen Zäh- lerinkrementes , und zum Bilden mindestens eines Überwachungswertes basierend auf dem oder den angepassten Erfassungswerten sowie dem oder den zu dem maximalen Zählerinkrement zugehörigen Erfassungswerten durch die Sicherheits funktion .

Beispielsweise ist die sicherheitsgerichtete Steuerungseinheit dazu ausgelegt , im laufenden Betrieb eines Gerätes wie einer Kinematik, einem Roboter, einer Werkzeugmaschine oder einer sonstigen von der Steuerungseinheit angesteuerten Maschine , die Überwachungswerte zu bilden und j e nachdem, ob diese in einem erwarteten oder erlaubten Bereich oder Wertebereich liegen, eine Sicherheits funktion aus zulösen . Die Sicherheits funktion wird beispielsweise ebenfalls durch die Steuerung ausgelöst und gemäß festgelegten Routinen, bei welchen insbesondere ein Herunterregeln von Geschwindigkeiten bewegter Teile oder ein stromlos- oder momentenlos-Schalten von Antrieben umfasst sind .

Beispielsweise handelt es sich um eine sicherheitsgerichtete Steuerung, die verschiedene Antriebsachsen ansteuert . Beispielsweise haben die Antriebsachsen unabhängige , eigene Quarze mit j eweils eigener Zeitbasis , die nicht zwangsläufig gleich takten, d . h . die Achsen haben keine gemeinsame Uhr, sind asynchron . Beispielsweise werden die verschiedenen An- triebsachsen angesteuert , um zusammenwirkend eine gemeinsame Bewegung eines Teils oder Werkzeugs oder Roboter-Endef fektors zu erreichen . Dessen Bewegung im kartesischen Raum, die von den verschiedenen Antriebsachsen abhängig ist , wird überwacht . Die vorgeschlagene sicherheitsgerichtete Steuerung ermöglicht es , dass die Informationen der einzelnen Achsen, nämlich die j eweiligen Erfassungswerte , unter Berücksichtigung einer konsistenten Zeit gemeinsam zu einem Überwachungswert verarbeitet werden, der somit eine verlässliche Überwachung ermöglicht .

Gemäß einer Ausgestaltung ist die sicherheitsgerichtete Steuerungseinheit ausgestaltet zur Durchführung einer der oben beschriebenen Verfahrensschritte .

Die Erfindung wird nachfolgend anhand von Aus führungsbeispielen mit Hil fe der Figuren näher erläutert . Es zeigen :

Figur 1 eine schematische Darstellung zur Veranschaulichung des vorgeschlagenen Verfahrens gemäß einem ersten Aus führungsbeispiel der Erfindung;

Figur 2 eine schematische Darstellung eines Diagramms eines Überwachungswertes gemäß dem Stand der Technik;

Figur 3 eine schematische Darstellung eines Diagramms eines Überwachungswertes gemäß einem zweiten Aus führungsbeispiel der Erfindung .

In den Figuren sind funktionsgleiche Elemente mit denselben Bezugs zeichen versehen, sofern nichts anderes angegeben ist . In Figur 1 ist die Funktionsweise eines sof tware-technisch umgesetzten Telegramm-Filters gemäß einem ersten Aus führungsbeispiel der Erfindung gezeigt .

Es werden gemäß dem ersten Aus führungsbeispiel Erfassungswerte mehrerer Achsen Al , A2 und insbesondere deren Achstele- gramme mit einem Telegramm-Filter zeitlich zueinander konsistent gehalten . Bei den Erfassungswerten handelt es sich um Positionsangaben der einzelnen Achsen . Der Telegramm-Filter wird in einer sicherheitsgerichteten Steuerung umgesetzt , die für die Bewegung sowie die Überwachung der Bewegung einer durch die Achsen angetriebenen Mehrachskinematik vorgesehen ist .

Der Einfachheit halber sind in Figur 1 lediglich zwei Achsen Al und A2 mit deren j eweiligen Erfassungswerten, von diesen durch eine Steuerung empfangenen Telegrammen sowie deren Anpassungen abgebildet . In Anwendungen ist oftmals eine Vielzahl an Achsen beteiligt , welche insbesondere alle nach dem gezeigten Beispiel zueinander konsistent gehalten werden .

Die vertikalen strichlinierten Linien 1 , 2 , 3 , 4 , 5 , 6 gehören zu sechs beispielshalber ausgewählten Saf ety-Zyklen . Diese Zyklen sind durch die sicherheitsgerichtete Steuerung vorgegeben . Je Saf ety-Zyklus erfolgt die Verarbeitung der von den Achsen empfangenen Telegrammen zur Bildung eines Überwa- chungswertes .

Die Saf ety-Zyklen sind insbesondere in der Zeitbasis der si- herheitsgerichteten Steuerung äquidistant . In Figur 1 sind die Taktgrenzen derart beabstandet abgebildet , dass deutlich wird, in welchem zeitlichen Verhältnis die von den Achsen empfangenen Erfassungswerte zueinander stehen . Das im ersten Saf ety-Zyklus 1 von Achse Al empfangene Telegramm 1A1 hat den Zeitstempel oder Zählerwert 20 zusammen mit Position 100 . Das im ersten Saf ety-Zyklus 1 von Achse A2 empfangene Telegramm 1A2 hat den Zeitstempel oder Zählerwert -40 zusammen mit Position 800 . Diese Werte werden quasi als Startwerte verwendet und von der sicherheitsgerichteten Steuerung als gegeben und korrekt angenommen und für die Ermittlung des Überwachungswertes zugrunde gelegt .

Falls in zwei aufeinanderfolgenden Saf ety-Zyklen zwei unterschiedliche Telegramme der j eweiligen Achse Al oder A2 vorliegen, so unterscheiden sich deren Zählerwerte in Aus führungen um ein bestimmtes Inkrement i > 0 , i E N , wobei i vom Taktverhältnis Bus-Takt zu Safety-Takt abhängt . Bei einer Überabtastung kann es vorkommen, dass in zwei aufeinanderfolgenden Saf ety-Zyklen dasselbe Achs-Telegramm abgetastet wurde . Man spricht hier von einer Telegramm-Wiederholung, i ist dann Null und derselbe Positionswert vom Vortakt liegt wieder vor, dazu folgen weitere Aus führungen im Zusammenhang mit dem sechsten Saf ety-Zyklus 6 .

In Varianten laufen die Zyklus zähler im Zahlenring, d . h . haben Maximal- und Minimalwerte und springen bei Erreichen derer z . B . von der Maximalgrenze auf die Minimalgrenze . Dies lässt sich anhand der Sprunggröße bzw . mittels Überlauf detek- tion feststellen, sodass das korrekte Telegramm- Inkrement ebenfalls bestimmt werden kann und der of fi zielle Zählerwerte in diesen besonderen Zyklen von positiv zu negativ springt .

Bei unterschiedlichen Telegrammen und auch im Allgemeinen - da das Vorliegen einer Telegramm-Wiederholung nicht vorab bekannt ist - wird zuerst unter allen Achsen Al , A2 festgestellt , welche Achse den zeitlich aktuellsten Zeitstempel trägt , d . h . es wird nach dem maximalen Zeitinkrement gesucht durch Vergleich jeweiliger Zählerinkremente der Erfassungswerte im aktuellen Saf ety-Zyklus gegenüber einem vorherigen Saf ety-Zyklus .

Das maximale Zeitinkrement, nachfolgend als das globale Zeitinkrement incGlobal bezeichnet, unter allen Achsen wird wie folgt berechnet:

1.) incGlobal = max_k { counterCurrent_k - counterAdaptedPre- vious_k}, mit incLocal_k = counterCurrent_k - counterAdapted- Previous_k für eine beliebige Achse k, wobei folgende Definitionen gelten: counterCurrent: empfangener Zähler im aktuellen Takt. counterAdaptedPrevious : ggf. im Vortakt angepasster Zählerwert . incGlobal: für alle Achsen zyklisch je Saf ety-Zyklus neu berechnetes globales Zeitinkrement .

Ferner werden für jede Achse folgende Schritte ausgeführt (abkürzend wird der Index k weggelassen) :

2.) Falls counterDif f : = counterCurrent - counterAdaptedPrevious >0, dann aktualisiere die axiale Momentangeschwindigkeit v, mit v := (posCurrent - posPrevious ) /counterDif f

Folgende Definitionen gelten: counterPrevious : empfangener Zähler vom Vortakt. posCurrent: empfangener Erfassungswert, hier Positionswert, im aktuellen Takt. posPrevious: empfangener Positionswert vom Vortakt.

Falls incLocal==incGlobal , dann wird die mit dem Telegramm übermittelte Position ohne Extrapolation weitergereicht. Anhand von Figur 1 ist zu erkennen, dass die Positionswerte beider Achsen Al , A2 im zweiten Zyklus unverändert weitergereicht werden, da die beiden Telegramme 2A1 und 2A2 global zeitlich gleichauf sind . Beide Zählerwerte wurden um zwei Einheiten inkrementiert , so dass die beiden Achsen Al und A2 zeitlich synchron lagen . Der globale Zeitschrift incGlobal beträgt somit für beide 2 .

Ansonsten wird die Position basierend auf der zuletzt ermittelten Geschwindigkeit v extrapoliert und zwar für die Achsen, deren tatsächliches Zeitinkrement kleiner als das incGlobal ist .

Der angepasste Zeitstempel bzw . Zählerwert ( counterAdapted) j edes einzelnen Telegramms leitet sich schließlich aus dem global bestimmten Zeitinkrement IncGlobal ab .

5. ) counterAdapted = counterAdaptedPrevious + incGlobal .

Das heißt , dass mittels des Telegramm-Filters in j edem Sa- fety-Takt alle Achs zähler künstlich um dasselbe Zeitinkrement incGlobal inkrementieren . Die Positionswerte der Achsen Al , A2 werden somit auf einen gemeinsamen Zeitpunkt hin synchronisiert .

Im Ideal fall - dieser kann wie im gezeigten Aus führungsbeispiel im zweiten Saf ety-Zyklus 2 auftreten - haben alle Telegramme bereits denselben Zeitpunkt und sind somit im Verbund konsistent . Alle Positionswerte können in diesem Fall ohne Manipulation in die weitere Berechnung weitergeleitet werden . Dies wird bei einem asynchronen Betrieb j edoch nur zufällig und bei sehr kleiner Anzahl an Erfassungswerten der Fall sein . Andernfalls wird das Inkrementieren um das globale Zeitinkrement erzwungen, insbesondere durch folgende Extrapolation mit

Ordnung > 1 - also besserer Genauigkeit als bei einer puren linearen Extrapolation - ähnlich dem Kalman-Prinzip . Zunächst wird die neu gemessene Position (posCurrent ) sowie die linear extrapolierte Position auf Basis des letzten Zyklus (posOut- Previous + v* incLocal ) gemittelt : posBase : = U * (posCurrent + (posOutPrevious + v * incLo- cal ) ) , mit den Definitionen : posBase : vorgefilterte Stützposition .

Damit wird posBase die Ausgangsposition für die Extrapolation über den Zeitraum, um den diese Achse hinterherhinkt ( also incGlobal - incLocal ) . posOutPrevious : im Vortakt angepasste Position .

Die extrapolierte Achsposition posOut ergibt sich zu : posOut : = posBase + v * ( IncGlobal - incLocal ) .

Die Position der Achse Al aus dem Telegramm 3A1 im dritten Zyklus 3 wird unverändert weitergereicht , da die Achse Al zeitlich am aktuellsten ist . Hingegen muss die Position von Achse A2 aufgrund des dritten Telegramms 3A2 extrapoliert werden . Der Zeitstempel -37 hängt der aktuellen Zeit um 3 Inkremente hinterher und wird zu -34 adaptiert . Unter Anwendung der obigen Extrapolationsvorschri ft wird Position 770 anstatt 785 ausgegeben . Ebenso muss beim vierten Telegramm 4A2 im vierten Zyklus 4 für die Achse A2 die Position zu 765 extrapoliert werden und der Zählerwert auf -33 angepasst werden . Wiederum ist das Telegramm 4A1 der Achse Al das aktuellere . Dies ist keines falls zwangsläufig der Fall , sondern j e Sa- fety-Takt kann eine beliebige Achse und insbesondere j eden Safeyt-Takt eine andere Achse diej enige mit dem aktuellsten Telegramm darstellen . Bei Zyklus 5 liegen beide Achsen Al , A2 zeitlich gleichauf , sodass hier nur die Positionen der j eweiligen Telegramme 5A1 , 5A2 weitergereicht werden müssen .

In Zyklus 6 wird an beiden Achsen Al , A2 als neues Telegramm 6A1 , 6A2 j eweils dasselbe Telegramm von Zyklus 5 5A1 , 5A2 nochmals empfangen . Es wird davon ausgegangen, dass dies für die sicherheitsgerichtete Überwachung eine veraltete Aussage über die Positionen der Achsen Al und A2 ist , sodass hier beide Achsen um einen Zeitschrift incGlobal=l in die Zukunft bzgl . der aktuellen Geschwindigkeit extrapolieren . Dies ist insbesondere dann nötig, wenn sich die sicherheitsgerichtete Überwachung auf eine abgeleitete Größe der Messwerte bezieht , beispielsweise die Geschwindigkeit . Für ein Zeitinkrement von 0 wäre die Größe dann an dieser Stelle nicht di f ferenzierbar und es könnten keine gültigen Werte ermittelt werden .

Alle Zähler- und Extrapolationswerte sind in der folgenden Tabelle aufgelistet .

Zyklus : 2 3 4 5 6 counterAdaptedAl : 22 26 27 28 29 posOutAl : 120 160 170 180 190 counterAdaptedA2 : -38 -34 -33 -32 -31 posOutA2 : 790 770 765 760 755

Die Achs-Geschwindigkeiten v bleiben in j edem Zyklus trotz Extrapolation erhalten : v = (posOut - posOutPrev) / incGlobal .

Im Beispiel beträgt die Geschwindigkeit für Achse Al 10 Positionseinheiten pro Antriebstakt und für A2 -5 Einheiten pro Antriebstakt . Figur 2 veranschaulicht , wie sich Überwachungswerte , die sich aus mehreren Erfassungswerten sowie Ableitungen aus diesen ergeben und die für die Durchführung einer sicheren Überwachung im Betrieb einer angetriebenen Maschine berechnet werden, im Stand der Technik verhalten . Dabei werden die Überwachungswerte beispielsweise aus über der Zeit empfangenen und auf gezeichneten Erfassungswerten berechnet und ergeben über der Zeit t auf gezeichnet das Diagramm nach Figur 2 . Als Über- wachungswert wird die kartesische Geschwindigkeit v ' am Flansch eines SCARA 4-Achs-Roboters ausgewertet . Im Diagramm ist die ermittelte kartesische Geschwindigkeit v ' zu sehen, die zu einer periodischen Bewegung des Flansches entlang einer Ellipse zugehörig ist .

Man erkennt die Periodi zität der Geschwindigkeit v ' , sieht j edoch zudem einen überlagerten Jitter, der nicht der tatsächlichen Geschwindigkeit entspricht und der eine sinnvolle Überwachung verhindert . Der Jitter ist dabei so stark, dass der Geschwindigkeitsverlauf in der Darstellung nicht mehr aufgelöst wird . Bei höherer zeitlicher Auflösung würden die Schwankungen als getrennte Ausschläge sichtbar . Insbesondere führen ermittelte Überschwinger 21 , 22 in der kartesischen Geschwindigkeit v ' im zweiten sowie im sechsten abgebildeten Bewegungs zyklus zum Einleiten eines unnötigen Stoppvorganges : Ein Grenzwert für das Einleiten eines Stoppvorganges sollte vorteilhafterweise möglichst nah an der vorgesehenen kartesischen Geschwindigkeit liegen . Beispielsweise nimmt der Grenzwert einen zeitlichen Verlauf mit der gleichen Periodi zität der kartesischen Geschwindigkeit ein und liegt zu j eder Zeit knapp oberhalb der erwarteten Geschwindigkeit . Dieser Grenzwert liegt beispielsweise entsprechend so , dass er im zweiten und sechsten Bewegungs zyklus durch die ermittelte kartesische Geschwindigkeit v ' im Überwachungs f all überschritten würde . Es wird somit j eweils eine Sicherheits funktion eingeleitet , die nicht notwendig ist , da die tatsächliche kartesische Geschwindigkeit zum Zeitpunkt eines Überschwingers niedriger war als die ermittelte kartesische Geschwindigkeit v ' mit den Überschwingern 21 , 22 . Ebenso liegt die ermittelte Geschwindigkeit aufgrund der Schwankungen nach unten 23 , 24 , 25 , 26 , 27 immer wieder unterhalb der tatsächlichen Geschwindigkeit des Flansches , sodass fälschlicherweise eine zu niedrige Geschwindigkeit ermittelt wird und somit potentielle gefährliche Situationen bei einer Gefahreneinschätzung basierend auf der ermittelten Geschwindigkeit nicht erkannt würden .

Für das gleiche S zenario zeigt Figur 3 die Auf zeichnung des Überwachungswertes der kartesischen Geschwindigkeit v gemäß einem zweiten Aus führungsbeispiel der Erfindung, ansonsten analog zu der in Figur 2 gezeigten kartesischen Geschwindigkeit v ' .

Es wird gemäß dem zweiten Aus führungsbeispiel auf die empfangenen Telegramme mit den Positionswerten eine Synchronisierung angewendet , die alle Positionen auf den Zeitpunkt des aktuellsten Zählerwertes hin extrapoliert . Erst mit diesen synchronisierten Positionswerten wird als Überwachungswert die j eweils am Flansch vorliegende kartesische Geschwindigkeit berechnet . Die auf Grundlage der synchronisierten Positionen ermittelte kartesische Geschwindigkeit v zeigt den in Figur 3 dargestellten geglätteten Verlauf . Man erkennt , dass der periodische Verlauf kaum durch Jitter verfälscht wird .

Eine Überwachung der kartesischen Geschwindigkeit , um unerlaubte hohe Geschwindigkeiten, beispielsweise in davor festgelegten Zonen, zu verhindern, ist mit der Anpassung der Positionswerte mit deutlich höherer Genauigkeit und Zuverlässigkeit möglich . Zur noch weiteren Erhöhung der Präzision bei der Geschwindig- keitsüberwachung wird zusätzlich eine Fehlerbetrachtung durchgeführt .

Die Extrapolation unterstellt, dass für die zu extrapolierende Zeitdauer die Achse sich weiter mit der zuletzt bekannten Momentangeschwindigkeit weiterbewegt. Dies kann zu Positionsfehlern führen, falls die Achse in der Zeit beschleunigt oder abbremst. Zur Bestimmung des Achs-Positionsfehlers sind vier Fälle zu unterscheiden:

1.) Das Telegramm im vorherigen Zyklus ist zeitlich aktuell und es gilt: posOutPrev = posPrev, counterAdapted = counter- Previous UND im aktuellen Zyklus liegt ein Telegrammwiederholer vor: posCurrent = posPrev sowie counterCurrent = counter- Prev. Somit folgt, dass counterDiff = counterDif f ToAdapted = 0. Hier beträgt der Positionsfehler pe = a/2 * (counterlncGlobal) 2 , wobei für a die typische oder maximale Achsbeschleunigung herangezogen werden kann.

2.) Das Telegramm im vorherigen Zyklus ist zeitlich aktuell und es gilt: posOutPrev = posPrev, counterAdapted = counter- Previous UND das Telegramm im aktuellen Zyklus hängt zeitlich hinterher: counterDiff = counterDif f ToAdapted < counterlncGlobal. Es folgt für den Positionsfehler pe : pe = a/2 * (counterlncGlobal - counterDiff) 2 .

3.) Das Telegramm im vorherigen Zyklus und das Telegramm im aktuellen Zyklus hängen zeitlich hinterher UND im aktuellen Zyklus liegt kein Telegrammwiederholer vor. Es gilt mit pe- Prev (Positionsfehler im Vortakt) für den Positionsfehler: pe = a/2 * (counterlncGlobal - counterDif f ToAdapted) 2 + U * pePrev .

4.) Das Telegramm im vorherigen Zyklus und das Telegramm im aktuellen Zyklus hängen zeitlich hinterher UND im aktuellen Zyklus liegt ein Telegrammwiederholer vor. posCurrent = posPrevious, counterCurrent = counterPrevious :

Der Positionsfehler ergibt sich zu pe = U * pePrev + a/2 * (U * counterDif fToAdapted2 + (counterlncGlobal - counterDif fToAdapted) 2 ) .

Wenn zusätzlich der maximale Zeitversatz unter allen Achsen allowedCycleDif f beschränkt wird, dann kann der Positionsfehler nach oben abgeschätzt werden. Die Einhaltung dieser Beschränkung wird zusätzlich überwacht.

Es gilt a.) ( counterlncGlobal - counterDif f ToAdapted) < allowedCyc- leDiff und b.) | counterDif f ToAdapted | < allowedCycleDif f

Weiterhin kann für eine vereinfachte Fehlerabschätzung pos- Base = posCurrent verwendet werden, sodass der Fehlerterm vom Vortakt pePrev entfällt.

Daraus ergibt sich zusammenfassend folgende obere Schranke für Fall 2.) bis 4.) : pe a * allowedCycleDif f 2

Fall 1 lässt sich zusammenfassen zu: pe < U * a * (max (allowedCycleDif f, 2*1) ) 2 . Zum Beispiel ergibt sich für einen 6-Achs-Roboter mit 5 kg Nutzlast und 0 . 9m Reichweite , mit maximaler axialer Beschleunigung von Achse 1 = 288 ° / s 2 bzw . 0 . 288 Milligrad/ms 2 und al- lowedCycleDi f f = 2 sowie einer Zeitdauer pro Inkrement tf von 2ms unter Verwendung obiger Fehlerformel pe < * a * ( allo- wedCycleDi f f * ti ) 2 und der Annahme , dass allowedCycleDi f f größer gleich 2 * i ist , dass der maximale Positions fehler von Achse 1 3 . 456 Milligrad beträgt .

Diese Positions fehlerbetrachtung wird vorteilhafterweise für alle Achsen durchgeführt und in einer Fehlerfortpflanzungsabschätzung auch für die kartesische Geschwindigkeit berücksichtigt . Entsprechend wird ein Grenzwert für die Überwachung der Geschwindigkeit gemäß dem Fehler für diese reduziert , um eine ausreichend sichere Geschwindigkeitsüberwachung sicherzustellen .

Mit dem vorgeschlagenen Verfahren sowie der vorgeschlagenen Steuerung wird insbesondere im Umfeld von bewegten Kinematiken eine zuverlässige Geschwindigkeits- und Positionsüberwachung bei asynchronem Achsbetrieb ermöglicht und gewährleistet . Eine sichere Positions- und Geschwindigkeitsüberwachung ist somit auch möglich, wenn der Bus-Takt mit dem Safety-Takt zeitlich nicht synchronisiert ist , also im asynchronen Achsbetrieb . Somit muss keine Ausgangssituation vorliegen, bei der Achstelegramme vom Bus in j edem Safety-Takt zu äquidistanten Zeitpunkten gelesen und verarbeitet werden . Vor allem für die sichere Positions- und Geschwindigkeitsüberwachung von Bewegungen im dreidimensionalen, kartesischen Raum ist damit eine Lösung auch für den asynchronen Achsbetrieb gefunden .