Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND DEVICE FOR THE SIMPLIFICATION OF MACHINE CONTROL PROCESS SEQUENCES
Document Type and Number:
WIPO Patent Application WO/2009/043410
Kind Code:
A1
Abstract:
The invention relates to a method for the simplification of process sequences and the control of a machine, and particularly of a machining tool, wherein the tool has a plurality of sub-systems, and each individual sub-system of the tool operates with process sequences having clock conditions that differ at least partially. According to the invention, data sets are collected by means of a data collection device, said sets characterising the clock conditions of the individual clock systems, and at least two data sets are output to the user at least in a partially mutual manner by means of a display device.

Inventors:
LANDGRAF GUENTHER (DE)
Application Number:
PCT/EP2008/006689
Publication Date:
April 09, 2009
Filing Date:
August 14, 2008
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BOSCH GMBH ROBERT (DE)
LANDGRAF GUENTHER (DE)
International Classes:
G05B19/4068
Domestic Patent References:
WO1984002592A11984-07-05
Foreign References:
DE19746130A11999-04-22
EP0104503A21984-04-04
Attorney, Agent or Firm:
THÜRER, Andreas (BR/IPRZum Eisengiesser 1, Lohr am Main, DE)
Download PDF:
Claims:

Ansprüche

1. Verfahren zur Vereinfachung und/oder Optimierung von Prozessabläufen der Steuerung einer Maschine und insbesondere einer Bearbeitungsmaschine, wobei die Maschine eine Vielzahl von Teilsystemen aufweist und die einzelnen

Teilsysteme der Maschine jeweils mit Prozessabläufen mit zumindest teilweise voneinander unterschiedlichen Taktbedingungen arbeiten, dadu rch geke n nzeic h net, dass mithilfe einer Datensammeleinrichtung Datensätze gesammelt werden, die für die Taktbedingungen der einzelnen Teilsysteme charakteristisch sind und wenigstens für άa^ zwei Datensätze wenigstens teilweise gemeinsam über eine λnzoigooinriohtung an

-eteit Benutzer ausgegeben werden.

2. Verfahren nach Anspruch 1 , dadu rch ge ke n nze ichnet, dass die wenigstens zwei Datensätze wenigstens zwei unterschiedlichen Teilsystemen zugeordnet sind.

3. Verfahren nach Anspruch 1 , dadu rch geke n nzeic h net . dass die wenigstens zwei Datensätze unterschiedlichen Prozessabläufen desselben Teilsystems zugeordnet sind.

4. Verfahren nach Anspruch 1 , dadu rch geken nze i ch net. dass die Taktbedingungen Taktzeiten der einzelnen Teilsysteme sind.

5. Verfahren nach wenigstens einem der vorangegangenen Ansprüche, dadu rch geke n nzeich net , dass Datensätze aller Teilsysteme gemeinsam an den Benutzer ausgegeben werden.

6. Verfahren nach wenigstens einem der vorangegangenen Ansprüche, dadu rch g e k e n nz e i c h n e t , d ass eine mithilfe einer Vergleichseinrichtung die von der Datensammeleinrichtung gesammelten Daten miteinander verglichen werden.

7. Verfahren nach wenigstens einem der vorangegangenen Ansprüche, dadu rch geke n nze ic h net, dass von der Datensammeleinrichtung Zeitstempel von auf den einzelnen Maschinen ablaufenden Prozessen gesammelt werden.

8. Verfahren nach wenigstens einem der vorangegangenen Ansprüche 2 - 5, dadu rch g e k e n n ze i c h n e t , d a s s für jedes Teilsystem eine Vielzahl von Zeitabschnitten für unterschiedliche auf dem Teilsysteme ablaufende Prozessabschnitte definiert werden.

9. Verfahren nach Anspruch 8, dadu rch geke n nze ich net, dass die Zeitabschnitte aus einer Gruppe von Zeitabschnitten ausgewählt sind, welche Hauptzeiten, Nebenzeiten, Werkzeugwechselzeiten, Werkstückwechselzeiten, Messzeiten, Beladezeiten, Entladezeiten und dergleichen enthält.

10. Verfahren nach Anspruch 8 oder 9, dadu rch gekennzeichnet, dass die Zeitabschnitte unterschiedlicher Teilsysteme miteinander verglichen werden.

11. Verfahren nach wenigstens einem der vorangegangenen Ansprüche, dadu rch geke n nzeich net, dass aus den Datensätzen Prozesszeiten von Teilen von Prozessabläufen ermittelt werden und anhand dieser Prozesszeiten an den Benutzer Informationen ausgegeben werden

12. Verfahren nach wenigstens einem der vorangegangenen Ansprüche, d ad u rc h ge ke n n ze i c h n e t , dass die gesammelten Datensätze über das Internet zur Verfügung gestellt werden.

13. Verfahren nach wenigstens einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass die zu sammelnden Daten bzw. Datensätze wenigstens teilweise an einer Steuerungseinrichtung gemessen werden.

14. Vorrichtung zur Vereinfachung und/oder Optimierung von Prozessabläufen der

Steuerung einer Maschine und insbesondere einer Bearbeitungsmaschine, wobei

die Maschine eine Vielzahl von Teilsystemen aufweist und die einzelnen

Teilsysteme der Maschine jeweils mit Prozessabläufen unter zumindest teilweise voneinander unterschiedlichen Taktbedingungen arbeiten, dadu rch g eken nzei ch net , dass die Vorrichtung eine Datensammeleinrichtung aufweist, die Datensätze sammelt, die für die Taktbedingungen der einzelnen Teilsysteme charakteristisch sind sowie wenigstens eine Anzeigeeinrichtung, welche wenigstens zwei Datensätze wenigstens teilweise gemeinsam ausgibt.

15. Vorrichtung nach Anspruch 12, dadu rch gekennzei ch net , dass die Vorrichtung eine Vergleichseinrichtung aufweist, welche wenigstens zwei Datensätze miteinander vergleicht und ein für diesen Vergleich charakteristisches Signal ' ausgibt.

Description:

Verfahren und Vorrichtung zur Vereinfachung von Prozessabläufen einer

Maschinensteuerung

Beschreibung

Die vorliegende Erfindung bezieht sich auf ein Verfahren und eine Vorrichtung zur Vereinfachung von Prozessabläufen der Steuerung einer Maschine. Das Verfahren und die Vorrichtung werden unter Bezugnahme auf eine Bearbeitungsmaschine zum Bearbeiten von Körpern beschrieben. Es wird jedoch darauf hingewiesen, dass das erfindungsgemäße Verfahren und die erfindungsgemäße Vorrichtung auch auf andere Maschinen Anwendung finden können.

Bei modernen Bearbeitungsmaschinen ist es üblich, dass mehrere Teilsysteme dieser Maschine, beispielsweise Roboter, die eine gewisse Bewegung eines Werkstücks oder eine gewisse Bearbeitung eines Werksstücks ausführen, jeweils durch unterschiedliche

Steuerungen bzw. mit unterschiedlichen Prozessabläufen gesteuert werden. Dabei wird darauf geachtet, dass einzelne Teilsysteme in der gewünschten Art und Weise zusammenarbeiten, sodass beispielsweise ein in einer bestimmten Weise bearbeitetes Werkstück hergestellt werden kann.

Die einzelnen Teilsysteme arbeiten jedoch dabei mit unterschiedlichen Taktbedingungen und dabei tritt das Problem auf, dass beispielsweise einzelne Teilsystem mehr Zeit für einen bestimmten Arbeitsvorgang benötigen, als an sich erforderlich.

Für den Benutzer ist es in solchen Fällen sehr schwierig, festzustellen,. welches der

Teilsysteme einer derartigen Maschine unnötig Ressourcen vergeudet, beispielsweise auch unnötig viel Zeit für einen bestimmten Bearbeitungsvorgang benötigt.

Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren und eine Vorrichtung zur Verfügung zu stellen, welche die überwachung eines Gesamtsystems im Hinblick auf die einzelnen Prozessabläufe dieses Gesamtsystems ermöglichen. Dies wird

erfindungsgemäß durch ein Verfahren nach Anspruch 1 und eine Vorrichtung nach Anspruch 12 erreicht. Vorteilhafte Ausführungsformen und Weiterbildungen sind Gegenstand der Unteransprüche.

Bei einem erfindungsgemäßen Verfahren zur Vereinfachung von Prozessabläufen der Steuerung einer Maschine und insbesondere einer Bearbeitungsmaschine weist diese Maschine eine Vielzahl von Teilsystemen auf und die einzelnen Teilsysteme der Maschine arbeiten jeweils mit Prozessabläufen mit zumindest teilweise voneinander unterschiedlichen Taktbedingungen. Erfindungsgemäß werden mit Hilfe einer Datensammeleinrichtung Datensätze gesammelt, die für die Taktbedingungen der einzelnen Teilsysteme charakteristisph sind und wenigstens zwei derartige Datensätze werden wenigstens teilweise gemeinsam-öbef eine«Anzeigeeinrichtung*an dem Benutzer ausgegeben.

Unter den Teilsystemen der Maschine können beispielsweise einzelne Motoren (digitale intelligente Antriebe) oder auch einzelne Einrichtungen verstanden werden, die einen gewissen Teilvorgang eines gesamten Arbeitsvorgangs bewerkstelligen, wie z. B.

Bohrmaschinen, Schleifmaschinen, Fräsmaschinen und dergleichen. Danben kann es sich bei den Teilsystemen jedoch auch um sensorgesteuerte Systeme oder Sensoreinrichtungen handeln.

Unter den Datensätzen werden solche Datensätze verstanden, welche einen bestimmten Prozessablauf eines jeweiligen Teilsystems, wie beispielsweise die Bewegung einer Spindel, beschreiben. Damit werden unter Daten bzw. Datensätzen auch gemessene Signale bzw. die im Rahmen der Signalmessung gemessenen Werte verstanden. Bei der Datensammeleinrichtung handelt es sich insbesondere aber nicht ausschließlich um eine Speichereinrichtung beispielsweise in Form einer flüchtigen Speichereinrichtung oder auch in Form eines permanenten Speichers, in den die einzelnen Datensätze eingelesen werden können um diese später dem Benutzer zu visualisieren.

Damit ist es möglich, die Daten auf verschiedenen Zeitebenen und insbesondere taktsynchron zu sammeln und anzuzeigen. So ist insgesamt eine Möglichkeit geschaffen, übergeordnet die einzelnen Daten des verschiedenen Teilsystems unter dem Aspekt der Taktzeitanalyse zur Anzeige zu bringen.

Dabei werden bevorzugt die Daten in jeweils korrespondierenden Zeiträumen angezeigt, was mit Hilfe von Zeitstempeln bewerkstelligt werden kann.

Im Gegensatz zu bekannten Analyseeinrichtungen, die auf die speziellen Bedürfnisse der einzelnen Zeitsysteme zugeschnitten sind, wird damit ein übergeordnetes Mittel zur Verfügung gestellt, das die Daten der verschiedenen Teilsysteme zusammen darstellt.

Damit werden auch erfindungsgemäß Darstellungen zur Verfügung gestellt, die die unter Umständen verursachenden Zeitverzögerungen (bei Abläufen, Signalen und/oder Daten der verschiedenen Teilsysteme) in einer Darstellung anzeigen. Auf diese Weise werden Darstellungen und Funktionen gewonnen, die dem Anwender für die jeweilige Fragestellung, schnellstmöglich eine übersicht und damit im Bedarfsfall schnellstmöglich eine Behebung eines bestimmten Problems ermöglichen. Genauer gesagt wird für den Anwender die Möglichkeit einer raschen Analyse von Maschinentaktzeiten eröffnet.

Bevorzugt sind die zwei Datensätze wenigstens zwei unterschiedlichen Teilsystemen zugeordnet. So ist es beispielsweise möglich die Datensätze einer ersten Bearbeitungseinheit und einer zweiten Bearbeitungseinheit in einer gemeinsamen Darstellung aufzutragen, um auf diese Weise dem Anwender eine Entscheidung zu ermöglichen, welcher der jeweiligen zugrundeliegenden Prozessabläufe gegebenenfalls zeitlich verkürzt werden kann.

Vorteilhaft sind die wenigstens zwei Datensätze unterschiedlichen Prozessabläufen desselben Teilsystems zugeordnet. So ist es beispielsweise möglich, dass für ein bestimmtes Teilsystem ein älterer Prozessablauf existiert sowie ein später programmierter und damit jüngerer Prozessablauf. Diese beiden Prozessabläufe lassen sich hinsichtlich ihrer Taktbedingungen und insbesondere hinsichtlich ihrer Taktzeiten gegenüberstellen, wobei bevorzugt genau ermittelt wird, in welchen Teilen der jeweiligen Prozessabläufe sich beispielsweise die Taktzeiten der beiden Datensätze unterscheiden. Damit ist eine gemeinsame Analyse von unterschiedlichen Prozessabläufen des gleichen Teilsystems und auch eine gezielte Verbesserung von Prozessabläufen möglich.

Vorzugsweise handelt es sich bei dem Taktbedingungen um Taktzeiten der einzelnen Teilsysteme. Unter Taktbedingungen können jedoch auch andere Bedingungen, wie beispielsweise die Verwendung von verfügbarem Speicher und dergleichen, verstanden werden. Letztlich ist aber insbesondere eine Analyse der einzelnen Taktzeiten von besonderer Bedeutung, da auf diese Weise die benötigten Zeitdauern für einzelne Prozessabläufe analysiert und auch verkürzt werden können und damit die Bearbeitung durch die entsprechenden Maschinen schneller gestaltet werden kann.

Bevorzugt werden die Datensätze aller Teilsysteme gemeinsam an den Benutzer ausgegeben. Auf diese Weise wird dem Benutzer ein globaler überblick über sämtliche Teilsysteme gegeben und damit die Möglichkeit eingeräumt, einzelne Teilsysteme im Hinblick auf den Gesamtprozess zu optimieren. Dabei kann es sich bei den Datensätzen um die Datensätze für die jeweils vollständigen Prozessabläufe handeln, es könnten jedoch auch Teile dieser Datensätze separat analysiert werden, um auf diese Weise zeitliche Ressourcen einzusparen.

Bei einer weiteren vorteilhaften Ausführungsform werden von der Datensammeleinrichtung Zeitstempel von auf den einzelnen Maschinen ablaufenden Prozessen gesammelt. Mit Hilfe dieser Zeitstempel können Prozesse auf unterschiedlichen Zeitebenen bzw. Prozesse die zu gleichen Zeitpunkten ablaufen direkt einander gegenübergestellt werden. Bevorzugt werden zum Sammeln dieser Zeitstempel Rahmenprogramme verwendet, welche gewissen Zeitpunkten oder Zeitspannen jeweils in diesen Zeitspannen auflaufende Teilprozesse zuordnen. Bevorzugt werden über eine Zeitgebereinrichtung die einzelnen Zeitstempel erzeugt.

Bevorzugt wird für jedes Teilsystem eine Vielzahl von Zeitabschnitten für unterschiedliche auf dem Teilsystem ablaufende Prozessabschnitte definiert. Falls es sich beispielsweise bei dem Teilsystem um eine Bohrmaschine handelt, so können die auf dieser Bohrmaschine ablaufenden Prozesse unterteilt werden in den eigentlichen Bohrvorgang (Hauptzeit), einen Werkzeugwechselvorgang um einen Werkzeugwechsel durchzuführen (Werkzeugwechselzeit) und die dafür erforderlichen Anrück- und Abrückbewegungen (Nebenzeit), in der zwar nicht gebohrt wird aber die Bohrspindel in eine Sollstellung verbracht wird und der gleichen.

Vorzugsweise sind die Zeitabschnitte aus einer Gruppe von Zeitabschnitten ausgewählt, welche Hauptzeiten, Nebenzeiten, Werkzeugwechselzeiten, Werkstückwechselzeiten, Messzeiten, Ladezeiten, Entladezeiten, Kombinationen hieraus und dergleichen enthält.

Besonders bevorzugt werden die Zeitabschnitte unterschiedlicher Teilsysteme miteinander verglichen. Auf diese Weise kann beispielsweise überprüft werden, ob während einer Nebenzeit eines bestimmten Werkzeugs ein weiteres Werkzeug ebenfalls ruht oder ob diese Zeit genutzt werden könnte, um mit diesem weiteren Werkzeug einen Bearbeitungsvorgang durchzuführen.

Bevorzugt werden aus den Datensätzen Prozesszeiten von Teilen von Prozessabläufen ermittelt und an Hand dieser Prozesszeiten werden an dem Benutzer Informationen und insbesondere Empfehlungen und/oder Handlungsanweisungen ausgegeben. Auch ist es möglich, dass anhand der Prozesszeiten automatisiert (ggf. mit Rückfragen an den Benutzer) änderungen durchgeführt werden.

' So ist es beispielsweise möglich, dass mit dem erfindungsgemäßen Verfahren für ein bestimmtes Werkzeug eine überlange Prozesszeit ermittelt wird und das System daraufhin an dem Benutzer die Aufforderung angibt, die entsprechende Prozesszeit überprüfen und gegebenenfalls durch geeignete Umstrukturierung von Programmabläufen zu optimieren. Bevorzugt werden Vorschläge zur Optimierung der Taktzeit generiert.

Vorzugsweise werden die ermittelten bzw. gesammelten Datensätze über das Internet und/oder ein Intranet zur Verfügung gestellt. Damit wird ein Verfahren vorgeschlagen, bei dem die Ermittlung der Datensätze, deren Auswertung und deren Anzeige voneinander ortsunabhängig erfolgen können. Auch die Auswertung der gesammelten Datensätze kann über das Internet erfolgen.

Vorteilhaft werden die zu sammelnden Daten bzw. Datensätze wenigstens teilweise an einer Steuerungseinrichtung für die Maschine gemessen. So können beispielsweise Stromwerte über die Steuerungseinrichtung ausgelesen werden.

Die vorliegende Erfindung ist weiterhin auf eine Vorrichtung zur Vereinfachung von Prozessabläufen der Steuerung einer Maschine und insbesondere einer Bearbeitungsmaschine gerichtet, wobei die Maschine eine Vielzahl von Teilsystem aufweist und die einzelnen Teilsystem der Maschine jeweils mit Pr.ozessabläufen unter zumindest teilweise voneinander unterschiedlichen Taktbedingungen arbeiten. Erfindungsgemäß weist die Vorrichtung eine Datensammeleinrichtung auf, die Datensätze sammelt, die für die Taktbedingungen für die einzelnen Teilsysteme charakteristisch sind, sowie wenigstens eine Anzeigeeinrichtung, welche wenigstens zwei Datensätze wenigstens teilweise gemeinsam ausgibt.

Unter Teilsystemen, die unter zumindest teilweise voneinander unterschiedlichen Taktbedingungen arbeiten wird verstanden, dass nicht sämtliche Teilsysteme mit identischen Taktbedingungen und insbesondere identischer Taktzeiten arbeiten.

Vorteilhaft weist die Vorrichtung eine Vergleichseinrichtung auf, welche wenigstens zwei Datensätze miteinander vergleicht und ein für diesen Vergleich charakteristisches Signal bzw. tabellarische oder grafische Darstellung ausgibt. Bevorzugt weist die Vorrichtung auch eine Zeitgebereinrichtung auf, welche Zeitstempel erzeugt, die von der Datensammeleinrichtung aufgezeichnet werden.

Weitere Vorteile und Ausführungsformen ergebenen sich aus den beigefügten Zeichnungen:

Darin zeigen:

Fig. 1 ein Blockdiagramm zur Veranschaulichung eines Teilsschritts zum

Sammeln von Daten;

Fig. 2 ein Blockdiagramm zur Veranschaulichung eines weiteren Teilschritts zum

Sammeln von Daten;

Fig. 3 eine Gesamtdarstellung in Form eines Blockdiagramms zur

Veranschaulichung des Sammeins von Daten;

Fig. 4 eine Veranschaulichung von mittels einer Anzeigeeinrichtung ausgegebenen Daten;

Fig. 5 eine weitere Veranschaulichung von mittels einer Anzeigeeinrichtung ausgegebenen Daten;

Fig. 6a, b weitere Darstellung zur Veranschaulichung der Anzeige von Daten; und

Fig. 7a, b eine weitere Darstellung zur Veranschaulichung der Anzeige von Daten.

Fig. 1 zeigt eine blockdiagrammartige Veranschaulichung eines Teilprozesses beim Sammeln von Daten. Dabei bezieht sich das Bezugszeichen 4 auf eine

Datensammeleinrichtung bzw. eine Einheit dieser Datensammeleinrichtung. Mit dieser Datensammeleinrichtung 4 werden sowohl Blockdaten 6 als auch Signale 8 erfasst. Im Rahmen der Blockdatenerfassung können beispielsweise Programmanweisungen eingelesen werden.

Der oberste Pfeil I kennzeichnet dabei beispielsweise den Beginn einer Interpretation, wobei zunächst ein neuer Block und dessen Programmname in einen Speicher WB (1 ) eingelesen bzw. aufgezeichnet wird. Dabei wird während dieser Aufzeichnung auch ein Zeitstempel, der den Beginn der Interpretation markiert, aufgezeichnet, sowie die einzelnen Zeilennummern der Sätze in dem jeweils einzulesenden Programm. Daneben wird auch eine eindeutige ID (bzw. Adresse) zum Zuordnen von späteren Zeitstempel aufgezeichnet sowie auch ein

Name des Programms bzw. Unterprogramms (UP). Schließlich wird auch die aktuelle Tiefe des betreffenden Unterprogramms aufgezeichnet.

Mittels der eindeutigen ID und dem Zeitstempel kann später zum Zwecke der Darstellung eine Zusammenführung von Signaldaten und Blockdaten erfolgen.

Bei der Aufzeichnung des Programmnamens kann jeweils ein Name für das Programm mit einer vorgegebenen Länge aufgezeichnet werden.

In einem weiteren Schritt Il wird das Ende der betreffenden Interpretation, welche gleichzeitig den Beginn der Satzaufbereitung markiert, eingelesen. Auch hier wird wiederum ein Zeitstempel eingelesen sowie auch eine eindeutige Adresse zum Zuordnen von Zeitstempeln.

In entsprechender weise werden auch Zeitstempel (Schritt III), die das Ende der

Satzvorbereitung (SAV) markieren und entsprechende eindeutige Adressen zum Zuordnen dieser Zeitstempel eingelesen. Weiterhin werden, wie in dem unteren Abschnitt der Satzarbeitung gezeigt, auch Zeitstempel aufgezeichnet, die den Beginn der Satzabarbeitung bzw. den Beginn einer bestimmten Bewegung aufzeichnen (Schritt IV) und hier wiederum einen Zeitstempel aufzeichnen. Diese Daten werden in die Speichereinheit WB (1) aufgezeichnet.- Schließlich wird noch der Programmteil aufgezeichnet, der das Ende der Satzabarbeitung (Schritt V) markiert, wobei hier wiederum ein Zeitstempel für die Satzumschaltung eingelesen wird. Nach dem Ende der Satzarbeitung wird u.U. ein neuer Satz abgearbeitet, sofern alle erforderlichen Bedingungen, z.B. „vorgegebene Spindeldrehzahl erreicht", vorliegen und aufgrund dessen die Satzfortschaltung durch die Satzaufbereitung vorliegt. Parallel zur Satzabarbeitung liest die Steuerung (z.B. Teilsystem = NC-Kanal 1 ) weitere NC-Sätze ein, interpretiert diese und bereitet diese entsprechend für die Satzabarbeitung auf.

Parallel zu Satzinterpretation, -aufbereitung und -abarbeitung werden einzelne (durch den Anwender definierbare) Signale erfasst. Dabei kann es sich beispielsweise um Signale

handeln, welche für eine bestimmte Position einer bestimmten Maschine oder auch eine bestimmte Drehgeschwindigkeit oder Spannung oder dergleichen charakteristisch sind (beispielsweise die vorgegebenen Sollpositionen im Werkstückkoordinatensystem). Diese Signale können in Form von Werten eingelesen werden. Diese Signale werden ebenfalls in die Puffereinheit WB (1 ) eingelesen (Schritt A). Entsprechende weitere Signale beispielsweise für weitere Maschinen oder Teilsysteme können in Speichereinheiten WB(2) - WB(13) eingelesen werden. Es sei jedoch angemerkt, dass an dieser Stelle auch mehr oder weniger derartige Speichereinheiten zur Verfügung gestellt werden können. Gemeinsam mit den Signalen werden auch hier Zeitstempel eingelesen. über diese Zeitstempel kann eine Zuordnung zu den jeweiligen korrespondierenden Blockdaten erfolgen.

Ebenso werden auch sogenannte IPO-Signale aufgezeichnet. Dabei handelt es sich um solche Signale, welche beispielsweise an eine SPS übermittelt werden können und dort Anweisungen ausgeben. Diese Signale werden bei dem in Fig. 1 dargestellten Verfahren in die Speichereinheit WB(O) eingelesen. Bei diesen Signalen kann es sich beispielsweise um eine Vielzahl von Werten handeln, die jeweils eingelesen werden. Auch bei der Aufzeichnung der IPO-Signale können entsprechende Zeitstempel, gegebenenfalls mit zugehöriger ID eingelesen werden.

Damit enthält die Einheit 4 der Sammeleinrichtung unterschiedliche Daten sowohl im Bereich der Satzinterpretation der Satzaufbereitung als auch der Satzabarbeitung. Im Bereich der Satzaufbereitung und der Satzabarbeitung werden auch Einfügesätze eingelesen. Im Bereich der Satzinterpretation werden auch CPL-Sätze (Basic-ähnliche Hochsprache) eingelesen.

Fig. 2 zeigt eine weitere Darstellung zum Einlesen der einzelnen Daten. Dabei sind in Speichereinrichtungen 10 und 12 Messreihen XYZ bzw. Messeinstellungen abgelegt. Auf Grundlage der Messeinstellungen werden die einzelnen Teilsysteme der Gesamtvorrichtung gesteuert. Innerhalb der Messreihen sind die Ergebnisse der Aufzeichnungen gespeichert, die im folgenden auf die verschiedenste Arten grafisch dargestellt werden. Das

Bezugszeichen 14 bezieht sich auf eine Wechselspeichereinrichtung, in welche, wie unten genauer erläutert wird, die einzelnen Block- und Signaldaten eingelesen wurden. Dabei sind bei der in Fig. 2 gezeigten Ausführungsform jeweils 12 NC-Kanäle 14a für die Speicherung der oben genannten Blockdaten für die Satzvorbereitung und Signalaufzeichnung vorgesehen sowie ein weiterer Speicherblock 14b für die Aufzeichnung der Zeitstempel, welche beispielsweise den Beginn der Satzabarbeitung d. h. den Beginn der Bewegung und

5 das Ende der Bewegung markieren. Ein weiterer Speicherblock 14c ist für die Erfassung der (IPO)-Signaldaten vorgesehen. Dabei sind die einzelnen Blockspeicher WB(2) - WB(13) sowie WB(1 ) .und WB(O) jeweils als zweistufige Speicher ausgeführt. Dieses gesamte Wechselspeichersystem 14 ist dabei ein flüchtiges Speichersystem, welches seinen Dateninhalt wiederum in permanente Speicher 16 (Filesystem/Mount) laden kann.

I O

Die in das Filesystem 16 geladenen Daten dienen letztlich als Grundlage für die unten im Detail zu erläuternde Anzeige. Des Weiteren werden wie in Fig. 2 gezeigt, die im Filesystem 16 gespeicherten Daten, z.B. in eine Messung „BBL.XML", überführt. D.h. die gesammelten Binärdaten werden in eine besser lesbare XML-Struktur überführt und um zusätzliche für die

15 spätere Visualisierung erforderlichen Daten ergänzt, wie die zugehörigen NC-Programme 18, die vom Anwender eingegebenen Anmerkungen 17 oder die vom Anwender unter Verwendung einer Datenstruktur 19 getroffenen Messeinstellung (ausgewählte Signale, gewählte Signal- oder Satz-Triggerbedingung, Status der Messung, ...) 12. 0 Fig. 3 zeigt eine blockdiagrammartige Gesamtdarstellung für das Sammeln der Datensätze. Dabei bezieht sich das Bezugszeichen 4 wiederum auf die auch in Fig. 1 gezeigte Einheit der Datensammeleinrichtung. Die einzelnen in dieser Einheit 4 eingelesenen Daten werden in eine Datenverteileinrichtung 7 übertragen und von dieser wiederum in die oben erwähnten Wechselpuffer 14. Von diesem Wechselpuffer 14 werden die Datensätze in eine zyklische 5 Datenverteileinrichtung 15 und von dort in das oben erwähnte Permanentspeichersystem 16 übertragen. Dabei kann beispielsweise die Datenübertragung in das Speichersystem 16 gestartet werden, wenn einzelne Pufferspeicher der Pufferspeichereinheit 14 voll sind. In diesem Falle kann der entsprechende Puffer wieder geleert bzw. unter Heranziehung zusätzlicher Codes einfach überschrieben werden. 0

Auf Grundlage der in der Speichereinrichtung 16 abgelegten Daten können die unten beschriebenen Anzeigen der einzelnen Datensätze erfolgen.

Genauer gesagt ist durch die entsprechenden Daten ein erster überblick an der Maschine5 möglich, um zu beurteilen, bei welchen Teilabläufen bzw. auf welchen Teilsystemen welche Zeiten benötigt werden. Beispielsweise können die einzelnen Prozesszeiten, wie Haupt-, Neben-, Werkzeugwechsel-, Paletten-, Nutzerzeiten für die gewünschten Kanäle und Werkzeuge und dergleichen in grafischer Form dargestellt werden. 0 Daneben ist auch eine sehr detaillierte Darstellung und Analyse der einzelnen Prozessabläufe in den verschiedenen Teilsystemen aufgrund der vorhandenen

umfangreichen Datenbasis möglich (es können im Extremfall in Abhängigkeit des vorhandenen Filesystems bis zu mehreren Giga-Byte an Daten für eine Messung aufzeichnet werden)

Fig. 4 zeigt ein Beispiel für eine ausgegebene Darstellung zur Analyse bzw. Satzanalyse eines NC-Programms. Dabei beschreiben die einzelnen Balken 21a, 21b eine Bewegung eines bestimmten Elementes bzw. Maschinenteils, wobei die Länge dieser Balken ein Maß für die Bewegungszeiten der einzelnen Elemente ist. Im Rahmen der Darstellung in Fig. 4 sind jeweils kontinuierliche Bewegungen vorhanden, sodass sich die einzelnen Balken 21a, 21b jeweils entlang der Zeitachse direkt aneinander anschließen. In der linken Spalte von Fig. 4 sind die Sätze eines entsprechenden Anweisungsprogramms dargestellt. Das

Bezugszeichen 23 bezieht sich auf die Zeitspanne für die Interpretation eines bestimmten Satzes und das Bezugszeichen 25 auf die Vorbereitung einer bestimmten Bewegung. Diese Zeitspannen sind im Vergleich zu den Zeitspannen, die für die Bewegung verwendet werden, sehr kurz, sodass die entsprechenden Zeiträume hier in dieser Auflösung nur als vertikale Striche auftauchen. Auf der Ordinate wurden dabei die jeweiligen Zeiten aufgetragen, welche durch die jeweils miteingelesenen Zeitstempel ermittelbar sind.

Man erkennt, dass die jeweilige Satzinterpretation (CPL) und die Vorbereitung (NC) jeweils zeitlich vor der eigentlichen Bewegung (IPO) bzw. der Ausführung (IPO) liegen. Weiterhin kann man mit der in Fig. 4 gezeigten Darstellung auch das Zusammenspiel der einzelnen Teilabläufe untereinander sichtbar machen. Auf dieses Weise lassen sich gezielt Unterbrechungen und Verzögerungen der Bewegung als Lücken in der Satzaufführung auf dem Interpolator (IPO) erkennen und gegebenenfalls Maßnahmen ableiten.

Daneben ist auch eine Mehrkanal-Satzanalyse der Datensätze möglich, wobei diese

Mehrkanaldaten-Satzanalyse insbesondere für kanalübergreifende Datensatzanalyse zur Verfügung steht. Dabei werden ähnliche Informationen wie bei der in Fig. 3 gezeigten Darstellung geliefert wobei in diesem Falle allerdings die Satzanalyse für mehrere Kanäle erfolgt. Auch die Satzfortschreitung d. h. insbesondere die einzelnen Programmzahlen werden hier horizontal d. h. auf der Zeitachse aufgetragen. Auf diese Weise können in besonders anschaulicher Weise beispielsweise die Bewegungen zweier verschiedener Systeme gegenübergestellt werden. Ein Beispiel für eine derartige Darstellung ist in Fig. 5 gezeigt.

Weiterhin ist es durch das erfindungsgemäße Datensammeln auch möglich, dem Anwender eine raschen überblick über die verschiedenen Ausführungszeiten, beispielsweise der

jeweiligen Programmsequenzen und auch der abgearbeiteten NC- bzw. CPL-Sätze, zu • bieten. So ist es möglich, die benötigte Zeit für beispielsweise jede einzelne abgearbeitete Zeile eines Programms auszugeben. Die Darstellung kann hier in der Art eines Zeilenlistings vorgenommen werden, wobei für jede einzelne Programmzeile eine für die Abarbeitung dieser Zeile benötigte Zeit angegeben wird. Auch wäre es möglich, die Zeiten für die Abarbeitung bestimmter Zeilengruppen auszugeben.

In einer weiteren Darstellung ist es möglich, die gesammelten Daten in Form einer Tabelle anzuzeigen, so dass es insbesondere ermöglicht wird, die Abweichungen mehrerer Durchläufe eines NC-Programms genauer zu untersuchen. Im Rahmen einer derartigen Tabelle wäre es auch möglich, minimale Zeiten, maximale Zeiten, Zeitdifferenzen, Durchschnittszeiten und dergleichen anzugeben

Es ist beispielsweise möglich einen bestimmten Prozessablauf mit unterschiedlichen Programmen durchzuführen und anschließend die Abweichungen in einzelnen Schritten zu überprüfen. So kann in einer derartigen Spalte einer solchen Tabelle der jeweilige NC- bzw. CPL-Satz eingetragen werden, und in einer weiteren Spalte die benötigte Zeit (wahlweise die Satzinterpretations-, die Satzaufbereitungs-, die Satzabarbeitungs-, die Bewegungsausführυngszeit oder die Programmausführungszeit) für den betreffenden NC/CPL-Satzund in weiteren Spalten können Informationen über das programmierte Werkzeug, beispielsweise eine Drehzahl, ein programmierter F-Wert, die Art der Prozesszeit, d. h. ob es sich beispielsweise um eine Hauptzeit oder Nebenzeit handelt, eine Durchschnittszeit, eine minimale Zeit, eine maximale Zeit, eine Zeitdifferenz und dergleichen ausgegeben werden.

Mit Hilfe einer derartigen Darstellung lassen sich insbesondere Schwankungen erfassen, die möglicherweise auf Fehler und insbesondere auch Hard- oder Softwarefehler hinweisen. Genauer gesagt lässt sich ermitteln, ob einzelne NC/CPL-Sätze, bzw. die mit Ihrer Hilfe angestoßenen Teilabläufe, wie beispielsweise das Beschleunigen einer Werkzeugspindel auf eine vorgegeben Drehzahl über die SPS, besonders viel Zeit für sich beanspruchen, was entsprechend auf einen Fehler hindeuten könnte.

Diese entsprechende Darstellung lässt sich auch in einer vergleichenden Tabelle hinsichtlich zweier verschiedener Programmstände ausgeben. Dabei ermöglicht es ein Tabellenvergleich, zwei Programmstände exakt hinsichtlich ihrer Abweichungen zueinander (bzw. der Differenzen) zu untersuchen. Dabei können dem Anwender mit einem solchen Tabellenvergleich als Informationen beispielsweise der Programmname, der NC/CPL-Satz

und die Zeitdifferenzen zur Verfügung gestellt werden. Auf diese Weise lassen sich sehr schnell Differenzen von Programmen und deren Auswirkungen auf die Taktzeit untersuchen. Auch auf diese Weise können hier Programmteile, die unnötig viel Zeit für sich beanspruchen, rasch eliminiert werden.

Ein Beispiel für eine derartige Darstellung ist in der folgenden Tabelle Tab. 1 gezeigt:

Tab. 1

In der 3. und 7. Spalte werden die jeweiligen Programmteile einander derart gegenübergestellt, dass innerhalb einer Tabellenzeile zwei Programmzeilen miteinander inhaltlich verglichen werden können. In der 4. und 6. Spalte werden jeweils Zeiten bzw. Zeitpunkte für die Abarbeitung dieser Programmzeilen angegeben und in der 5. Spalte wird ein Vergleich zwischen diesen Zeiten angezeigt. Durch diese Darstellung kann dem Benutzer auch sehr schnell Auskunft über bereits erfolgte änderungen eines Programms gegeben werden. In dem in Tab. 1 gezeigten Abschnitt sind in den meisten Zeilen die jeweiligen Zeiten nährungsweise 0, d.h. sie unterscheiden sich möglicherweise erst in nicht mehr gezeigten Nachkommastellen voneinander. Entsprechend wird auch in der 5. Spalte jeweils ein = - Zeichen angegeben. Lediglich in der obersten Zeile treten zeitliche

änderungen auf, was auch durch das in der 5. Spalte stehende > - Zeichen kenntlich gemacht wird.

Weiterhin ist es auch möglich, wie in Fig. 7a, b gezeigt, dem Anwender entsprechende Oszilloskop- und Analyzer-Anzeigen 38 für die einzelnen Abläufe (in Form von Signalen und Daten) der verschiedenen Teilsysteme wie Drives (Antriebe), SPS, NC/Motion/RC, PC und dergleichen zeitsynchron mit dem eigentlichen Steuerprogramm (beispielsweise in Form der Mehrkanalanzeige) in grafischer Form zur Verfügung zu stellen. Optional ist auch eine Bearbeitungssimulation denkbar, mit deren Hilfe der Anwender sich sowohl räumlich als auch bearbeitungstechnisch schneller orientieren kann. Durch diese Darstellung lassen sich mögliche Verzögerungen in den Abläufen in Bezug zu möglichen Ursachen sehr genau analysieren.

Weiterhin ist auch eine Analyse dahingehend möglich, dass in einer speziellen Darstellung dem Anwender unter Verwendung der aufgezeichneten Daten sowie den Orginal-NC- Programmen in den Original NC-Programmen die durchlaufenen Teile sowie die Häufigkeit des Durchlaufs angezeigt werden (Profiling). Auch können die für die Durchläufe benötigten Zeiten angegeben werden. Auf diese Weise kann der Anwender schnell unzulässige Abläufe erkennen. Zum Zwecke dieser Analyse kann auch ein Flowchart einzelner Programmteile angezeigt werden.

Weiterhin ist es auch möglich, im Rahmen der Analyse einzelne Programmteile fokussiert zu betrachten, beispielsweise verschiedene Abläufe eines durchlaufenden Programmteils zu analysieren. Dieser Vorgang ist in untenstehender Tabelle 2 dargestellt:

Durch eine derartige Profile-Anzeige kann der Anwender schnell zeitintensive Abläufe erkennen. Neben der Anzeige des speziellen Programmteils und des NC-CPL-Satzes können zusätzlich Angaben über die Häufigkeit, eine Häufigkeit in Prozent, eine minimale Zeit, eine maximale Zeit für einen Durchlauf, eine Durchschnittszeit für den Durchlauf, eine prozentuale Durchschnittszeit, eine Summe der Durchlaufszeiten, und eine Summe der Durchlaufszeiten in Sekunden oder Prozent sowie gegebenenfalls eine Balkengrafik verwendet werden. Auch andere derartige Anzeigen sind möglich. über eine entsprechende Balkengrafik können besonders zeitintensive Programmteile zur Anzeige gebracht werden.

Weiterhin ist es auch möglich, einzelne Programmteile hinsichtlich beispielsweise der Häufigkeit der Minimalzeit und der Maximalzeit und dergleichen zu sortieren um auf diese Weise besonders zeitintensive Programmteile zu ermitteln. Durch eine spezielle Fokussierung auf bestimmte Programmteile lassen sich bestimmte immer wieder kehrende Teilsequenzen wie beispielsweise ein Spindelhochlauf zu Beginn der Bearbeitung sehr genau analysieren.

Anhand der in der Datensammlung aufgezeichneten Daten sowie der Orginal-NC- Programme können auch Flow-Charts der einzelnen Programmteile ausgegeben werden. Auf diese Weise wird dem Anwender eine schnelle übersicht über vorhandene Logiken und Verzweigungen geboten, sodass auch in sehr komplexen Anwendungen schnell unzulässige

bzw. nicht erforderliche Abläufe ermittelt werden können. Relevante Programmdurchläufe können auf diese Weise sehr schnell identifiziert werden, in deren Bereich unter dem Aspekt „Taktzeit-Minimierung" hinsichtlich Optimierungsmöglichkeiten zu analysieren sind. (In den Nebenästen, wie beispielsweise zur Fehlerreaktion kann eine solche Optimierung unterbleiben.)

Zu Zwecken der übersichtlichkeit können einzelne Aspekte dieser Flow-Charts ausgeblendet werden, wie beispielsweise Kommentare, Satzkommentare, CPL-Sätze mit und ohne bedingte/unbedingte Sprünge oder auch NC-Sätze mit und ohne bedingte/unbedingte Sprünge. Um sich eine überblick zu verschaffen oder um einzelne Sequenzen schneller beurteilen zu können, stehen dem Anwender Ansichtsfilter zur Verfügung. Hierbei kann er einzelne Punkte selektiv zu-/abschalten. Als Beispiele für derartige Punkte können CPL- Sätze, NC-Sätze, Bewegungen und/oder Kommentare genannt werden.

Daneben ist es auch möglich (vgl. Fig. 6a, b), im Rahmen einer Anzeige mehrere der oben genannten Anzeigen zu kombinieren. So kann beispielsweise die Anzeige aus Fig. 6a, b mit einer Anzeige der entsprechenden Programmteile, wobei die jeweiligen Durchlaufzeiten angegeben werden, ausgegeben werden. Auf diese Weise wird dem Anwender die Möglichkeit geboten, mehrere Anzeigen gleichzeitig einzusehen. Die erfindungsgemäße Sammeleinrichtung bewirkt die automatische Synchronisation zwischen derartigen Anzeigen innerhalb einer Mehrfachanzeige. Dabei ist von Bedeutung, dass in Einzelanzeigen jeweils die gleichen NC-Programme mit den gleichen Zeitstempel zugrunde liegen, um auf diese Weise über die Anzeigeeinrichtung die neuen Zusammenhänge herzustellen. Gleichzeitig können durch diese Mehrfachanzeige auch besonders zeitintensive Abläufe ermittelt werden.

Ein derartiges Beispiel für eine Doppelanzeige ist in Fig. 7a, b dargestellt. Das obere Teilbild enthält dabei eine Darstellung wie in Fig. 4 und das untere Teilbild enthält eine Auflistung der jeweiligen Zeiten für die einzelnen Programmabschnitte. Man erkennt, dass beispielsweise die Programmzeile N650 in beiden Programmteilen vorhanden ist. Im ' oberen Bild erkennt man das die Bewegung vorzeitig beendet ist (Bezugszeichen 26) und die Satzabarbeitung (IPO) auf das Weiterschalten des NC-Satzes wartet (Bezugszeichen 28). Damit kann hier die Zeit für die Abarbeitung einer bestimmten Programmzeile, der tatsächlichen für eine entsprechende hervorgerufene Bewegung benötigten Zeit gegenübergestellt werden. Das Bezugszeichen 26 kennzeichnet Blöcke mit Bewegungen und das Bezugszeichen 28 die zusätzlich noch verbleibende Ausführungszeit der Blöcke.

Bei einer weiteren vorteilhaften Variante des Verfahrens ist eine Suchfunktion vorgesehen, welche dem Anwender eine Suche nach vorgegebenen Passagen, beispielsweise in Programmteilen ermöglicht. Dabei kann beispielsweise nach Zeichen, wie Satznummern, gesucht werden. Auch können beliebige Zeichen oder Zeichenkombinationen innerhalb eines NC - Satzes aufgefunden werden. Auch kann gezielt nach Zeiten gesucht werden, etwa nach den oben erwähnten Relationszeichen (<, ≤, >, ≥, = . .) zu einem vorgegebenen Wert. Hierbei kann sich die vorgegebene Zeit auf unterschiedliche Zeitarten, wie der Interpretationszeit (CPL), der Vorbereitungszeit (NC), der Ausführungszeit (IPO), der Bewegungszeit (IPO) oder der Programmausführungszeit beziehen. Auch Zeitunterbrechungen können in der gleichen Weise, also hinsichtlich der Relationszeichen und/oder der Zeitarten gesucht werden. Wie ausgeführt, lassen sich auf diese Weise gezielt zeitintensive Elemente oder auch Lücken in der Satzausführung bzw. in der Bewegungsführung auffinden.

Im Rahmen eines erweiterten Ansichtsfilters können durch den Benutzer Zeichen oder Zeichenkombinationen (Strings) vorgegeben werden, die je nach Bedarf ein- oder ausgeblendet werden. So kann beispielsweise die Anweisung gegeben werden, die Zeichenkombinationen GO, G00, oder SCO auszublenden oder die Kombinationen Wait * , M3, M03. M19, M4, M04, und M05 einzublenden.

Weiterhin ist bevorzugt eine Sortierfunktion vorgesehen. Mit dieser Sortierfunktion können Zeichen oder Zeichenkombinationen, wie Satznummern oder beliebige Kombinationen im NC-Satz sortiert werden. Auch kann im Rahmen der zeitlichen Erfassung eine Sortierung nach Relationszeichen, Zeitarten oder im Rahmen der Erfassung von Zeitunterbrechungen nach Relationszeichen oder Zeitarten erfolgen.

über eine globale Zeitanzeige kann der Anwender innerhalb der verschiedenen Anzeigen die für ihn relevante Zeitart auswählen, wobei wiederum zwischen der Interpretationszeit (CPL), der Vorbereitungszeit (NC), der Ausführungszeit (IPO) der Bewegungszeit (IPO) oder der Programmausführungszeit unterschieden werden kann. Die jeweils gewählte Zeit kann dabei inkrementell und/oder absolut ausgewählt werden.

Sämtliche in den Anmeldungsunterlagen offenbarten Merkmale werden als erfindungswesentlich beansprucht, sofern sie einzeln oder in Kombination gegenüber dem Stand der Technik neu sind.

Bezuαszeichenliste

4 Datensammeleinπchtung

6 Blockdaten 7 Datenverteileinrichtung

8 Signale

I I, I IlI, I IIIII,

IV 1 V Schritte

A 1 B Schritte 10 Speichereinrichtung

12 Speichereinrichtung

14 Wechselspeichereinrichtung

14a, 14b, 14c Speicherblock der Wechselspeichereinrichtung

16 permanenter Speicher 17 Aussage

18 NC-Programm

19 SD - Kontrollstruktur

21a, 21b Balken

23 Zeitspanne für Interpretation 25 Vorbereitung (eines Bewegungsvorgangs)

26 Block für Bewegung

28 Block für Ausführung