-
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.
-
DE 197 46 130 A1 als nächstliegender Stand der Technik zeigt eine numerisch gesteuerte Werkzeugmaschine mit einer Werkstückaufnahme und mehreren Bearbeitungseinrichtungen, die relativ zueinander bewegbar sind. Hier ist kein taktsynchrones Anzeigen von Daten und kein Ausgeben von Handlungsanweisungen, wie in Anspruch 1 beschrieben.
-
EP 0 104 503 A2 zeigt ein Numerische-Steuerung- Verarbeitungssystem und ein Maschinenwerkzeug, das das System umfasst, bei denen eine Arbeitszeit von zwei verschiedenen Werkzeugträgern gleichzeitig als ein Balkendiagramm auf einer Anzeige angezeigt werden und die Dauern an der Anzeige verschiebbar sind, um die Verarbeitungszeitdauer zu reduzieren, die aus der Arbeits- und Leerlaufzeit der zwei verschiedenen Werkzeugträger besteht.
-
US 6 678 636 B1 zeigt einen Zykluszeitanalysierer und ein Verfahren, welche Maschinenereignisse analog oder digital überwachen und verstrichene Zeiten für diese Ereignisse berechnen.
-
DE 10 2004 003 052 A1 betrifft ein Anlageninformationssystem mit Mitteln zum Aquirieren einer Vielzahl von Prozessinformationsdaten von Automatisierungsgeräten, -systemen, Diagnosegeräten, -systemen und/oder weiteren -geräten einer Anlage.
-
US 6 862 486 B2 zeigt ein System und ein Verfahren zur Verarbeitung von Daten, die sich auf Bedingungen in einer Produktionsmaschine beziehen.
-
DE 102 34 469 A1 zeigt ein Verfahren zur Erfassung von Programmlaufzeiten in einem Datenverarbeitungsgerät, zum Beispiel einer speicherprogrammierbaren Steuerung.
-
WO 84/ 02 592 A1 zeigt ein Verfahren und eine Vorrichtung zur Überwachung von Prozessen, bei dem in einer Lernphase Sollzeiten automatisch ermittelt werden, derzeitige Zustände des laufenden Prozesses angezeigt werden und nicht akzeptierbare Zeitlücken zwischen Arbeitszeiten des Prozesses aufgezeichnet werden.
-
Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren und eine Vorrichtung zur Verfügung zu stellen, welche die Überwachung und/oder Optimierung 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 14 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 charakteristisch sind und wenigstens zwei derartige Datensätze werden wenigstens teilweise gemeinsam über eine Anzeigeeinrichtung an dem Benutzer ausgegeben, wie in Anspruch 1 angegeben.
-
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 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 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. 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.
-
Von der Datensammeleinrichtung werden 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 Prozessablä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, wie in Anspruch 14 angegeben.
-
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, wie in Anspruch 15 angegeben. 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:
- 1 ein Blockdiagramm zur Veranschaulichung eines Teilsschritts zum Sammeln von Daten;
- 2 ein Blockdiagramm zur Veranschaulichung eines weiteren Teilschritts zum Sammeln von Daten;
- 3 eine Gesamtdarstellung in Form eines Blockdiagramms zur Veranschaulichung des Sammelns von Daten;
- 4 eine Veranschaulichung von mittels einer Anzeigeeinrichtung ausgegebenen Daten;
- 5 eine weitere Veranschaulichung von mittels einer Anzeigeeinrichtung ausgegebenen Daten;
- 6a, b weitere Darstellung zur Veranschaulichung der Anzeige von Daten; und
- 7a, b eine weitere Darstellung zur Veranschaulichung der Anzeige von Daten.
-
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 II 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 1 dargestellten Verfahren in die Speichereinheit WB(0) 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.
-
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 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 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(0) 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.
-
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 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 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.
-
3 zeigt eine blockdiagrammartige Gesamtdarstellung für das Sammeln der Datensätze. Dabei bezieht sich das Bezugszeichen 4 wiederum auf die auch in 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 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.
-
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 Maschine 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.
-
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)
-
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 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 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 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 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 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ührungszeit 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:
-
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 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, indem 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. 6a, b), im Rahmen einer Anzeige mehrere der oben genannten Anzeigen zu kombinieren. So kann beispielsweise die Anzeige aus 6a, b mit den entsprechenden Programmteilen, 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 7a, b dargestellt. Das obere Teilbild enthält dabei eine Darstellung wie in 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 G0, 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.
-
Bezugszeichenliste
-
- 4
- Datensammeleinrichtung
- 6
- Blockdaten
- 7
- Datenverteileinrichtung
- 8
- Signale
- I, II, III, IV, V
- Schritte
- A, 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