-
HINTERGRUND DER ERFINDUNG
-
Erfindungsfeld
-
Die vorliegende Erfindung betrifft eine Steuervorrichtung, die eine Werkzeugmaschine oder eine Maschine wie etwa einen Industrieroboter steuert.
-
Stand der Technik
-
Es ist bekannt, in einer Werkzeugmaschine oder einer Maschine wie etwa einem Industrieroboter Diagnosetests mit regelmäßigen Intervallen auszuführen, um eine Beeinträchtigung von Sicherheitsfunktionen aufgrund eines Ausfalls von mechanischen Komponenten oder von ähnlichem zu vermeiden (siehe zum Beispiel das japanische Patent Nr.
5,681,224 und die ungeprüfte japanische Patentanmeldung mit der Veröffentlichungsnummer S
62-219105 ).
-
Ein Beispiel für einen derartigen Diagnosetest ist ein Diagnosetest einer Stromunterbrechungsschaltung für einen Notstopp einer Achsenbewegung, wenn eine Anormalität einer Maschine erfasst wird (MCC-Unterbrechungstest). In diesem Diagnosetest wird tatsächlich eine Stromunterbrechung durchgeführt und wird eine Anormalität der Stromunterbrechungsschaltung erfasst, indem ein Kontaktzustand der Stromunterbrechungsschaltung zu diesem Zeitpunkt geprüft wird. Weil dabei eine Stromunterbrechung erforderlich ist, kann dieser Diagnosetest nicht während eines automatischen Betriebs der Maschine ausgeführt werden. Deshalb muss ein Bediener den Zeitpunkt, zu dem kein automatischer Betrieb der Maschine durchgeführt wird, feststellen und den Diagnosetest ausführen.
-
Zum Beispiel benachrichtigt eine numerische Steuervorrichtung, die eine Werkzeugmaschine oder eine Maschine wie etwa einen Industrieroboter steuert, den Maschinenbediener (oder eine PLC-Vorrichtung) darüber, dass die gesetzte Zeit des Diagnosetests abgelaufen ist, wobei der Maschinenbediener (oder die PLC-Vorrichtung) den Zeitpunkt für das Ausführen des Diagnosetests basierend auf dem Zustand der Maschine bestimmt und danach den Diagnosetest ausführt.
-
- Patentdokument 1: Japanisches Patent Nr. JP 5 681 224 B2
- Patentdokument 2: Ungeprüfte japanische Patentanmeldung mit der Veröffentlichungsnummer JP S62 - 21 9105 A
-
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
(1) Wenn der Zeitpunkt für den Diagnosetest während des automatischen Betriebs der Maschine kommt und der automatische Betrieb der Maschine Priorität hat, kann der Diagnosetest nicht in einem vorbestimmten Zyklus ausgeführt werden. In diesem Fall besteht ein erhöhtes Risiko für eine Sicherheits-Fehlfunktion aufgrund des Ausfalls von mechanischen Komponenten oder von ähnlichem.
-
(2) Wenn der Zeitpunkt für den Diagnosetest während des automatischen Betriebs der Maschine kommt und der Diagnosetest Priorität hat, wird die Bearbeitung zu einem ungünstigen Zeitpunkt unterbrochen. In diesem Fall können Bearbeitungsdefekte auftreten.
-
(3) Um die Diagnosetests zuverlässig innerhalb einer vorbestimmten Periode auszuführen, muss der Maschinenbediener die abgelaufene Zeit zwischen den Diagnosetests und den Zeitpunkt des automatischen Betriebs der Maschine bestimmen. Dadurch wird der Arbeitsaufwand für den Maschinenbediener erhöht.
-
Deshalb ist es in der Maschinensteuervorrichtung wünschenswert, Diagnosetests (1) innerhalb einer vorbestimmten Periode, (2) unter Vermeidung des Auftretens von Bearbeitungsdefekten und (3) automatisch auszuführen.
-
Die obige Aufgabe wird durch den Gegenstand des unabhängigen Patentanspruchs erfüllt. Eine Maschinensteuervorrichtung gemäß der vorliegenden Erfindung ist eine Maschinensteuervorrichtung, die den Betrieb einer Maschine basierend auf einem Programm steuert und einen Diagnosetest einer Sicherheitsfunktion der Maschine innerhalb einer vorbestimmten Periode ausführt, und umfasst: eine Diagnosetestzeit-Berechnungseinheit, die eine geplante Ausführungszeit T1 des Diagnosetests berechnet; eine Programmausführungszeit-Voraussageeinheit, die eine vorausgesagte Endzeit T2 des Programms vor dem Ausführen des Programms voraussagt; eine Diagnosetestausführung-Bestimmungseinheit, die bestimmt, ob der Diagnosetest zu der vorbestimmten Zeit ausgeführt werden soll, indem sie bestimmt, ob die vorausgesagte Endzeit T2 des Programms die geplante Ausführungszeit T1 des Diagnosetests überschreitet; und eine Diagnosetest-Ausführungseinheit, die den Diagnosetest ausführt; wobei, wenn die vorausgesagte Endzeit T2 des Programms die geplante Ausführungszeit T1 des Diagnosetests überschreitet, die Diagnosetestausführung-Bestimmungseinheit die Diagnosetest-Ausführungseinheit anweist, den Diagnosetest vor der geplanten Ausführungszeit T1 des Diagnosetests vor dem Ausführen des Programms auszuführen.
-
Gemäß einem Aspekt der vorliegenden Erfindung können Diagnosetests (1) innerhalb einer vorbestimmten Periode, (2) unter Vermeidung des Auftretens von Bearbeitungsdefekten und (3) automatisch ausgeführt werden.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
- 1 ist ein Diagramm, das die Konfiguration einer Maschinensteuervorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung zeigt.
- 2 ist ein Zeitdiagramm, das die Ausführung eines Diagnosetests und die Ausführung eines Programms, wenn T3 < T2, zeigt.
- 3 ist ein Zeitdiagramm, das die Ausführung des Diagnosetests und die Ausführung des Programms, wenn T3 > T2 und T4 < T3, zeigt.
- 4 ist ein Zeitdiagramm, das die Ausführung des Diagnosetests und die Ausführung des Programms, wenn T3 > T2 und T4 > T3, zeigt.
- 5 ist ein Flussdiagramm, das einen Betrieb vor der Ausführung des Programms der Maschinensteuervorrichtung gemäß der Ausführungsform zeigt.
- 6 ist ein Flussdiagramm, das den Betrieb während der Ausführung des Programms der Maschinensteuervorrichtung gemäß der Ausführungsform zeigt.
- 7 ist ein Diagramm, das die Konfiguration einer Maschinensteuervorrichtung gemäß einem Modifikationsbeispiel der Ausführungsform zeigt.
-
AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
-
Im Folgenden wird ein Beispiel einer Ausführungsform der vorliegenden Erfindung mit Bezug auf die beigefügten Zeichnungen beschrieben. Es ist zu beachten, dass durchgehend gleiche Bezugszeichen für identische oder einander entsprechende Teile in den entsprechenden Zeichnungen verwendet werden.
-
1 ist ein Diagramm, das die Konfiguration einer Maschinensteuervorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. Eine in 1 gezeigte Maschinensteuervorrichtung 10 ist zum Beispiel eine numerische Steuervorrichtung, die den Betrieb einer Werkzeugmaschine und einer Maschine wie etwa eines Industrieroboters basierend auf einem Programm steuert. Die Maschinensteuervorrichtung 10 weist eine Funktion zum Ausführen von Diagnosetests oder Sicherheitsfunktionen der Maschine mit regelmäßigen Zyklen (Intervallen) auf.
-
Derartige Diagnosetests umfassen die nachfolgend beschriebenen Diagnosetests, die nicht während der Ausführung eines Programms ausgeführt werden dürfen.
-
(1) Stromunterbrechungsschaltungstest
-
Ein Diagnosetest für das Prüfen des normalen Zustands der Stromunterbrechungsschaltung durch das tatsächliche Durchführen einer Stromunterbrechung und das Prüfen der Stromunterbrechungsschaltung zu diesem Zeitpunkt.
-
(2) Bremstest
-
Ein Diagnosetest für das Prüfen des normalen Zustands der Bremse. Wie für eine Schwerkraftachse wird der Bremstest für eine Achse durchgeführt, für die das Risiko eines Herunterfallens, wenn die Stromzufuhr unterbrochen wird, besteht. Der normale Zustand der Bremse wird geprüft, indem ein Drehmoment an dem Motor bei aktivierter Bremse angelegt wird und geprüft wird, dass sich der Motor nicht bewegt.
-
(3) CPU-Selbstdiagnosetest/RAM-Test
-
Ein Diagnosetest für das Prüfen, dass die CPU und der RAM einer Steuervorrichtung normal betrieben werden. In dem CPU-Selbstdiagnosetest werden Ausführungsergebnisse von verschiedenen Befehlen geprüft oder wird die Schreiben/Lesen-Operation zu dem Register geprüft. Der RAM-Test prüft, dass die RAM-Lesen/Schreiben-Operation korrekt durchgeführt wird. Beide Diagnosetests müssen in einem sicheren Zustand ausgeführt werden, in dem sich die Welle nicht bewegt, während die Stromzufuhr unterbrochen ist, um den Diagnosetest an der CPU und dem RAM-Bereich während der Programmausführung auszuführen.
-
Die Maschinensteuervorrichtung 10 umfasst eine Diagnosetestzeit-Berechnungseinheit 12, eine Programmausführungszeit-Voraussageeinheit 14, eine Speichereinheit 16, eine Diagnosetestausführung-Bestimmungseinheit 18, eine Diagnosetestausführung-Verwaltungseinheit 22, eine Diagnosetest-Ausführungseinheit 24, eine Programmanalyseeinheit 26 und eine Programmausführungseinheit (eine Programmstopp-Verarbeitungseinheit) 28.
-
Die Steuereinheit 10 (mit Ausnahme der Speichereinheit 16) wird zum Beispiel durch einen arithmetischen Prozessor wie etwa einen digitalen Signalprozessor (DSP) oder ein feldprogrammierbares Gate-Array (FPGA) konfiguriert. Verschiedene Funktionen der Steuervorrichtung 10 werden durch das Ausführen einer vorbestimmten Software (eines Programms, einer Anwendung) erzielt, die zum Beispiel in der Speichereinheit gespeichert ist. Die verschiedenen Funktionen der Steuervorrichtung 10 können durch das Zusammenwirken von Hardware und Software erzielt werden. Die Speichereinheit 16 ist zum Beispiel ein wiederbeschreibbarer Speicher wie etwa ein EEPROM oder eine wiederbeschreibbare Platte wie etwa ein Festplattenlaufwerk (HDD) oder ein Solid-State-Laufwerk (SSD).
-
Es ist zu beachten, dass die Diagnosetestzeit-Berechnungseinheit 12, die Programmausführungszeit-Voraussageeinheit 14, die Speichereinheit 16 und die Diagnosetestausführung-Bestimmungseinheit 18 zum Beispiel in der Maschinensteuervorrichtung vorgesehen sein können oder in einer Servervorrichtung, die mit der Maschinensteuervorrichtung über ein Netzwerk verbunden ist, vorgesehen sein können.
-
2 ist ein Zeitdiagramm, das die Ausführung eines Diagnosetests und die Ausführung eines Programms, wenn T3 < T2, zeigt. 3 ist ein Zeitdiagramm, das die Ausführung des Diagnosetests und die Ausführung des Programms, wenn T3 > T2 und T4 < T3, zeigt. 4 ist ein Zeitdiagramm, das die Ausführung des Diagnosetests und die Ausführung des Programms, wenn T3 > T2 und T4 > T3, zeigt. In 2 bis 4 werden Zeiten durch Symbole wie folgt angegeben.
- T1: Geplante Ausführungszeit des Diagnosetests
- T2: Vorausgesagte Endzeit des Programms
- T3: Geplante Kompensationsausführungszeit des Diagnosetests
- T4: Tatsächliche Endzeit des Programms
- t1: Vorausgesagte Ausführungszeit des Programms
- t3: Kompensationszeit
- Weißes Dreieck (nach oben): Startzeit des Programms
- Weißes Dreieck (nach unten): Geplante Endzeit des Programms
- Schwarzes Dreieck (nach unten): Tatsächliche Endzeit des Programms
- Weißes Quadrat: Geplante Kompensationsausführungszeit des Diagnosetests
- Weißer (offener) Kreis: Geplante Ausführungszeit des Diagnosetests
- Schwarzer Kreis: Ausführungszeit des Diagnosetests
-
Die Diagnosetestzeit-Berechnungseinheit 12 berechnet die geplante Ausführungszeit T1 des Diagnosetests
-
Die Programmausführungszeit-Voraussageeinheit 14 sagt vor der Ausführung des Programms die vorausgesagte Ausführungszeit T1 des Programms und die vorausgesagte Endzeit T2 des Programms voraus.
-
Die Speichereinheit 16 speichert eine vorbestimmte Kompensationszeit T3 für das Kompensieren der geplanten Ausführungszeit T1 des Diagnosetests. Die tatsächliche Ausführungszeit des Programms kann sich relativ zu der vorausgesagten Ausführungszeit t1 verlängern. Mit anderen Worten kann die tatsächliche Endzeit des Programms relativ zu der vorausgesagten Endzeit T2 verzögert sein. Ein Beispiel hierfür ist ein Werkzeugwechselprogramm. Es reicht aus, wenn die vorbestimmte Kompensationszeit T3 unter Berücksichtigung einer Verlängerungszeit der tatsächlichen Endzeit in Bezug auf die vorausgesagte Ausführungszeit t1 des Programms, d.h. eine Verzögerungszeit der tatsächlichen Endzeit in Bezug auf die vorausgesagte Endzeit T2 des Programms, gesetzt werden kann.
-
Die Diagnosetestausführung-Bestimmungseinheit 18 bestimmt, ob der Diagnosetest zu der nächsten vorbestimmten Zeit in dem regulären Zyklus ausgeführt werden soll oder nicht. Insbesondere berechnet die Diagnosetestausführung-Bestimmungseinheit 18 die geplante Kompensationsausführungszeit T3 des Diagnosetests, indem sie die vorbestimmte Kompensationszeit t3 von der geplanten Ausführungszeit T1 des Diagnosetests subtrahiert, und bestimmt, ob die vorausgesagte Endzeit T2 des Programms die geplante Kompensationsausführungszeit T3 des Diagnosetests überschreitet oder nicht.
-
Wenn wie in 2 gezeigt die vorausgesagte Endzeit T2 des Programms die geplante Kompensationsausführungszeit T3 des Diagnosetests überschreitet, weist die Diagnosetestausführung-Bestimmungseinheit 18 die Diagnosetest-Ausführungseinheit 24 an, den Diagnosetest vor der geplanten Ausführungszeit T1 des Diagnosetests vor der Ausführung des Programms auszuführen. Wenn dagegen wie in 3 gezeigt die vorausgesagte Endzeit T2 des Programms nicht die geplante Kompensationsausführungszeit T3 des Diagnosetests überschreitet, fordert die Diagnosetestausführung-Bestimmungseinheit 18 die Diagnosetestausführung-Verwaltungseinheit 22 auf, den Diagnosetest zu der geplanten Ausführungszeit T1 des Diagnosetests nach der Ausführung des Programms auszuführen.
-
Die Diagnosetestausführung-Verwaltungseinheit 22 verwaltet die Ausführung des Diagnosetests während und nach der Ausführung des Programms. Insbesondere wenn wie in 3 gezeigt die Diagnosetestausführung-Bestimmungseinheit 18 bestimmt, dass die vorausgesagte Endzeit T2 des Programms die geplante Kompensationsausführungszeit T3 des Diagnosetests nicht überschreitet und die geplante Kompensationsausführungszeit T3 des Diagnosetests während der Ausführung des Programms nicht überschreitet (d.h. wenn die tatsächliche Endzeit T4 des Programms die geplante Kompensationsausführungszeit T3 des Diagnosetests nicht überschreitet), weist die Diagnosetestausführung-Verwaltungseinheit 22 die Diagnosetest-Ausführungseinheit 24 an, den Diagnosetest zu der geplanten Ausführungszeit T1 des Diagnosetests nach der Ausführung des Programms auszuführen.
-
Wenn dagegen wie in 4 gezeigt die Diagnosetestausführung-Bestimmungseinheit 18 bestimmt, dass die vorausgesagte Endzeit T2 des Programms die geplante Kompensationsausführungszeit T3 des Diagnosetests nicht überschreitet und die geplante Kompensationsausführungszeit T3 des Diagnosetests während der Ausführung des Programms überschreitet (d.h. wenn die tatsächliche Endzeit T4 des Programms die geplante Kompensationsausführungszeit T3 des Diagnosetests überschreitet), fordert die Diagnosetestausführung-Verwaltungseinheit 22 die Programmausführungseinheit auf, das Programm in einem zu einem Diagnosetest fähigen Block (z.B. in einem nicht-F, der eine Positionsoperation oder eine Stoppoperation in dem Programm enthält) des durch die Programmanalyseeinheit 26 analysierten Programms zu stoppen, und weist die Diagnosetest-Ausführungseinheit 24 an, den Diagnosetest auszuführen, während das Programm gestoppt ist.
-
Die Diagnosetest-Ausführungseinheit 24 führt den Diagnosetest in Reaktion auf einen Ausführungsbefehl für den Diagnosetest von der Diagnosetestausführung-Bestimmungseinheit 18 oder der Diagnosetestausführung-Verwaltungseinheit 22 aus.
-
Die Programmanalyseeinheit 26 analysiert das Programm.
-
Die Programmausführungseinheit 28 führt das Programm aus. Die Programmausführungseinheit 28 stoppt das Programm in dem zu einem Diagnosetest fähigen Block des durch die Programmanalyseeinheit 26 analysierten Programms in Reaktion auf die Stoppaufforderung von der Diagnosetestausführung-Verwaltungseinheit 22. Nach dem Stoppen des Programms, veranlasst die Programausführungseinheit 28, dass die Maschine zu einer Referenzposition bewegt wird.
-
Im Folgenden wird mit Bezug auf 5 und 6 der Betrieb der Maschinensteuervorrichtung gemäß dieser Ausführungsform beschrieben. 5 ist ein Flussdiagramm, das einen Betrieb vor der Ausführung des Programms der Maschinensteuervorrichtung gemäß der Ausführungsform zeigt. 6 ist ein Flussdiagramm, das den Betrieb während der Ausführung des Programms der Maschinensteuervorrichtung gemäß der Ausführungsform zeigt.
-
Zuerst wird mit Bezug auf 5 der Betrieb der Maschinensteuervorrichtung 10 vor der Ausführung des Programms beschrieben. In Schritt S11 erhält die Diagnosetestausführung-Bestimmungseinheit 18 die durch die Diagnosetestzeit-Berechnungseinheit 12 berechnete geplante Ausführungszeit T1 des Diagnosetests. Weiterhin erhält in Schritt S12 die Diagnosetestausführung-Bestimmungseinheit 18 die durch die Programmausführungszeit-Voraussageeinheit 14 vorausgesagte Endzeit T2 des Programms. Weiterhin erhält in Schritt S13 die Diagnosetestausführung-Bestimmungseinheit 18 die in der Speichereinheit 16 gespeicherte Kompensationszeit t3 und erhält dadurch die geplante Kompensationsausführungszeit T3 des Diagnosetests, die durch das Subtrahieren der Kompensationszeit t3 von der geplanten Ausführungszeit T1 des Diagnosetests erhalten wird.
-
In Schritt S14 bestimmt die Diagnosetestausführung-Bestimmungseinheit 18, ob die vorausgesagte Endzeit T2 des Programms die geplante Kompensationsausführungszeit T3 des Diagnosetests überschreitet oder nicht, und bestimmt dadurch, ob der Diagnosetest zu der nächsten vorbestimmten Zeit in dem regulären Zyklus (Zeitintervall) ausgeführt werden soll oder nicht.
-
Wenn wie in 2 gezeigt die vorausgesagte Endzeit T2 des Programms die geplante Kompensationsausführungszeit T3 des Diagnosetests überschreitet (JA in Schritt S14), weist die Diagnosetestausführung-Bestimmungseinheit 18 die Diagnosetest-Ausführungseinheit 24 an, den Diagnosetest auszuführen, um den Diagnosetest vor der geplanten Ausführungszeit T1 des Diagnosetests vor der Ausführung des Programms auszuführen. Bei dieser Konfiguration führt in Schritt S15 die Diagnosetest-Ausführungseinheit 24 den Diagnosetest vor dem Starten des Programms aus. Weiterhin schaltet in Schritt S16 die Diagnosetestausführung-Bestimmungseinheit 18 das Diagnosetest-Aufforderungsflag aus. Bei dieser Konfiguration führt die Diagnosetestausführung-Verwaltungseinheit 22 die Ausführungsverwaltung des Diagnosetests während und nach der Ausführung des Programms nicht durch, was weiter unten beschrieben wird.
-
Wenn dagegen wie in 3 gezeigt die vorausgesagte Endzeit T2 des Programms die geplante Kompensationsausführungszeit T3 des Diagnosetests nicht überschreitet (NEIN in Schritt S14), schaltet die Diagnosetestausführung-Bestimmungseinheit 18 ein Diagnosetest-Aufforderungsflag in Schritt S17 ein. Bei dieser Konfiguration führt die Diagnosetestausführung-Verwaltungseinheit 22 die Ausführungsverwaltung des Diagnosetests während und nach der Ausführung des Programms durch, was weiter unten beschrieben wird.
-
Im Folgenden wird mit Bezug auf 6 der Betrieb der Maschinensteuervorrichtung 10 während der Ausführung des Programms beschrieben. In Schritt S21 bestimmt die Diagnosetestausführung-Verwaltungseinheit 22, ob das Diagnosetest-Aufforderungsflag EIN ist oder nicht (d.h. ob die vorausgesagte Endzeit T2 des Programms die geplante Kompensationsausführungszeit T3 des Diagnosetests überschreitet oder nicht).
-
Wenn in Schritt S22 das Diagnosetest-Aufforderungsflag EIN ist (d.h. wenn die vorausgesagte Endzeit T2 des Programms die geplante Kompensationsausführungszeit T3 des Diagnosetests wie in 3 und 4 gezeigt nicht überschreitet) (JA in Schritt S21), bestimmt die Diagnosetestausführung-Verwaltungseinheit 22, ob die aktuelle Zeit die geplante Kompensationsausführungszeit T3 des Diagnosetests überschreitet oder nicht (d.h. ob die aktuelle Zeit die geplante Kompensationsausführungszeit T3 des Diagnosetests während der Ausführung des Programms überschreitet oder nicht; mit anderen Worten ob die tatsächliche Endzeit T4 des Programms die geplante Kompensationsausführungszeit T3 des Diagnosetests überschreitet oder nicht).
-
Wenn die aktuelle Zeit die geplante Kompensationsausführungszeit T3 des Diagnosetests überschreitet (d.h. wenn die aktuelle Zeit die geplante Kompensationsausführungszeit T3 des Diagnosetests während der Ausführung des Programms überschreitet; mit anderen Worten wenn die aktuelle Endzeit T4 des Programms die geplante Kompensationsausführungszeit T3 des Diagnosetests wie in 4 gezeigt überschreitet) (JA in Schritt S22), fordert die Diagnosetestausführung-Verwaltungseinheit 22 die Programmausführungseinheit 28 auf, das Programm in dem zu einem Diagnosetest fähigen Block (zum Beispiel in einem nicht-Bearbeitungsblock einschließlich einer Positionierungsoperation oder einer Stoppoperation in dem Programm) des durch die Programmanalyseeinheit 26 analysierten Programms zu stoppen. Bei dieser Konfiguration bestimmt in Schritt S23 die Programmausführungseinheit 28, ob der Block ein zu einem Diagnosetest fähiger Block ist.
-
Wenn der Block ein zu einem Diagnosetest fähiger Block ist (JA in Schritt S23), stoppt die Programmausführungseinheit 28 das Programm in dem zu einem Diagnosetest fähigen Block. Zum Beispiel stoppt in Schritt S24 die Programmausführeinheit 28 das Programm an der Position, an der die Positionierungsoperation abgeschlossen ist (setzt das Programm aus). Nach dem Stoppen des Programms bewegt die Programmausführungseinheit 28 die Maschine zu der Referenzposition (zu einer sicheren Position).
-
Die Diagnosetestausführung-Verwaltungseinheit 22 weist die Diagnosetest-Ausführungseinheit 24 an, den Diagnosetest auszuführen, um den Diagnosetest auszuführen, während das Programm gestoppt ist. Bei dieser Konfiguration führt in Schritt S25 die Diagnosetest-Ausführungseinheit 24 den Diagnosetest durch, während das Programm gestoppt ist.
-
Dann fordert die Diagnosetestausführung-Verwaltungseinheit 22 die Programmausführungseinheit 28 auf, das Programm erneut zu starten. Bei dieser Konfiguration führt in Schritt S26 die Programmausführungseinheit 28 die Maschine von der Referenzposition zurück zu zum Beispiel der Position, an welcher die Positionierungsoperation abgeschlossen ist, und startet das Programm neu. In Schritt S27 schaltet die Diagnosetestausführung-Verwaltungseinheit 22 das Diagnosetest-Aufforderungsflag aus.
-
Wenn dagegen in Schritt S21 das Diagnosetest-Aufforderungsflag AUS ist (NEIN in Schritt S21), schreitet die Verarbeitung zu Schritt S28 fort (weiter unten beschrieben).
-
Und wenn das Diagnosetest-Aufforderungsflag EIN ist (d.h. wenn die vorausgesagte Endzeit T2 des Programms die geplante Kompensationsausführungszeit T3 des Diagnosetests nicht überschreitet) und die aktuelle Zeit die geplante Kompensationsausführungszeit T3 des Diagnosetests nicht überschreitet (d.h. wenn die tatsächliche Endzeit T4 des Programms die geplante Kompensationsausführungszeit T3 des Diagnosetests während der Ausführung des Programms nicht überschreitet; mit anderen Worten wenn die tatsächliche Endzeit T4 des Programms die geplante Kompensationsausführungszeit T3 des Diagnosetests wie in 3 gezeigt nicht überschreitet) (NEIN in Schritt S22), weist die Diagnosetestausführung-Verwaltungseinheit 22 die Diagnosetest-Ausführungseinheit 24 an, den Diagnosetest zu der geplanten Ausführungszeit T1 des Diagnosetests nach der Ausführung des Programms auszuführen. Die Verarbeitung schreitet dann zu dem weiter unten beschriebenen Schritt S28 fort.
-
Wenn in Schritt S21 das Diagnosetest-Aufforderungsflag EIN ist (d.h. wenn die vorausgesagte Endzeit T2 des Programms die geplante Kompensationsausführungszeit T3 des Diagnosetests nicht überschreitet), überschreitet die aktuelle Zeit die geplante Kompensationsausführungszeit T3 des Diagnosetests (d.h. überschreitet die aktuelle Zeit die geplante Kompensationsausführungszeit T3 des Diagnosetests während der Ausführung des Programms; mit anderen Worten überschreitet die tatsächliche Programmendzeit die geplante Kompensationsausführungszeit T3 des Diagnosetests) und ist der Block kein zu einem Diagnosetest fähiger Block (NEIN in Schritt S23), sodass die Verarbeitung zu dem weiter unten beschriebenen Schritt S28 fortschreitet.
-
In Schritt S28 wird bestimmt, ob das Programm beendet wurde oder nicht. Wenn in Schritt S29 das Programm beendet wurde (JA in Schritt S28), wird das Diagnosetest-Aufforderungsflag ausgeschaltet. Wenn dagegen das Programm nicht beendet wurde (NEIN in Schritt S28), wird die Verarbeitung beendet, ohne das Diagnosetest-Aufforderungsflag zu AUS zurückzusetzen (zum Beispiel werden die Operationen der Schritte S21 bis S29 wiederholt).
-
Wie weiter oben beschrieben, wird in der Maschinensteuervorrichtung 10 gemäß dieser Ausführungsform die vorausgesagte Endzeit des Programms vor der Ausführung des Programms vorausgesagt, und wird, wenn die vorausgesagte Endzeit des Programms die geplante Ausführungszeit des Diagnosetests überschreitet, der Diagnosetest vor der Ausführung des Programms vor der geplanten Ausführungszeit des Diagnosetests ausgeführt.
-
Bei dieser Konfiguration gilt:
- (1) Diagnosetests können innerhalb einer vorbestimmten Zeitperiode (regulärer Zyklus, Zeitintervall) ausgeführt werden. Daraus resultiert, dass eine Verschlechterung der Sicherheit der Maschine aufgrund eines Ausfalls von mechanischen Komponenten oder von ähnlichem unterdrückt werden kann. Es ist zu beachten, dass durch einen kurz gesetzten Zyklus des Diagnosetests die Sicherheit der Maschine verbessert werden kann.
- (2) Diagnosetests können unter Vermeidung des Auftretens von Bearbeitungsdefekten ausgeführt werden.
- (3) Diagnosetests können automatisch ausgeführt werden. Durch diese Konfiguration kann der Arbeitsaufwand für einen Maschinenbediener reduziert werden.
-
Weiterhin wird in der Maschinensteuervorrichtung 10 dieser Ausführungsform die geplante Kompensationsausführungszeit T3 des Diagnosetests durch das Subtrahieren der vorbestimmten Kompensationszeit t3 von der geplanten Ausführungszeit T1 des Diagnosetests berechnet, und wird, wenn die vorausgesagte Endzeit T2 des Programms die geplante Kompensationsausführungszeit T3 des Diagnosetests überschreitet, der Diagnosetest vor der Ausführung des Programms vor der geplanten Ausführungszeit T1 des Diagnosetests ausgeführt. Bei dieser Konfiguration kann die Verlängerungszeit der tatsächlichen Endzeit in Bezug auf die vorausgesagte Ausführungszeit t1 des Programms, d.h. die Verzögerungszeit der tatsächlichen Endzeit in Bezug auf die vorausgesagte Endzeit T2 des Programms, kompensiert werden.
-
Und wenn in der Maschinensteuervorrichtung 10 dieser Ausführungsform die vorausgesagte Endzeit T2 des Programms die geplante Kompensationsausführungszeit T3 des Diagnosetests nicht überschreitet und die geplante Kompensationsausführungszeit T3 des Diagnosetests während der Ausführung des Programms überschreitet, wird das Programm in den zu einem Diagnosetest fähigen Blöcken des Programms gestoppt und wird der Diagnosetest ausgeführt, während das Programm gestoppt ist. Bei dieser Konfiguration gilt: (2) Diagnosetests können auch während einer Bearbeitung unter Vermeidung des Auftretens von Bearbeitungsdefekten ausgeführt werden.
-
Als ein Verfahren zum Vermeiden der Ausführung des Diagnosetests während des automatischen Betriebs der Maschine kann ein Verfahren zum Verzögern der Startzeit des automatischen Betriebs verwendet werden. Bei diesem Verfahren wird jedoch eine Totzeit für das Stoppen der Maschine erzeugt, wodurch die Produktivität vermindert wird. Dagegen können mit der Maschinensteuervorrichtung 10 gemäß dieser Ausführungsform Totzeiten zum Stoppen der Bearbeitung vermieden werden und kann dementsprechend einer Verminderung der Produktivität vermieden werden.
-
(Modifikationsbeispiel)
-
7 ist ein Diagramm, das die Konfiguration einer Maschinensteuervorrichtung 10 gemäß einem Modifikationsbeispiel der Ausführungsform zeigt. Die in 7 gezeigte Maschinensteuervorrichtung 10 unterscheidet sich von der Maschinensteuervorrichtung 10 von 1 dadurch, dass sie weiterhin eine Schnittstelle (Erhaltungseinheit) 32 enthält. Die Schnittstelle 32 erhält eine geplante Betriebszeit (z.B. eine Betriebsstartzeit und eine Betriebsendzeit) eines Peripheriegeräts von der Steuervorrichtung des Peripheriegeräts wie etwa eines Roboters oder eines Transporters über ein Netzwerk.
-
Die Diagnosetestausführung-Bestimmungseinheit 18 kann die Ausführung des Diagnosetests basierend auf der Betriebsendzeit des Peripheriegeräts zusätzlich zu der vorausgesagten Endzeit T2 des Programms bestimmen. Insbesondere kann die Diagnosetestausführung-Bestimmungseinheit 18 bestimmen, ob der Diagnosetest zu einer vorbestimmten Zeit ausgeführt werden soll oder nicht, indem sie bestimmt, ob die geplante Betriebszeit des Peripheriegeräts die geplante Kompensationsausführungszeit T3 des Diagnosetests überschreitet oder nicht.
-
Wenn bei dieser Konfiguration die geplante Betriebszeit des Peripheriegeräts die geplante Kompensationsausführungszeit T3 des Diagnosetests überschreitet, kann die Diagnosetestausführung-Bestimmungseinheit 18 die Diagnosetest-Ausführungseinheit 24 anweisen, den Diagnosetest vor der geplanten Ausführungszeit T1 des Diagnosetests vor der Ausführung des Programms auszuführen.
-
Und wenn die Diagnosetestausführung-Bestimmungseinheit 18 bestimmt, dass die geplante Betriebszeit des Peripheriegeräts die geplante Kompensationsausführungszeit T3 des Diagnosetests nicht überschreitet und die geplante Kompensationsausführungszeit T3 des Diagnosetests während der Ausführung des Programms überschreitet, kann die Diagnosetestausführung-Verwaltungseinheit 22 die Programmausführungseinheit 28 auffordern, das Programm in dem zu einem Diagnosetest fähigen Block des durch die Programmanalyseeinheit 26 analysierten Programms zu stoppen, und kann die Diagnosetest-Ausführungseinheit 24 anweisen, den Diagnosetest auszuführen, während das Programm gestoppt ist.
-
Auf diese Weise kann durch das Bestimmen der Ausführung des Diagnosetests basierend auf der Betriebsendzeit des Peripheriegeräts zusätzlich zu der vorausgesagten Endzeit T2 des Programms eine Ausführung des Diagnosetests während des Betriebs des Peripheriegeräts vermieden werden.
-
(Modifikationsbeispiel)
-
In der Ausführungsform wird die durch das Subtrahieren der vorbestimmten Kompensationszeit t3 von der geplanten Ausführungszeit T1 des Diagnosetests erhaltene geplante Kompensationsausführungszeit T3 des Diagnosetests beim Bestimmen der Ausführung des Diagnosetests verwendet, wobei aber auch die geplante Ausführungszeit T1 des Diagnosetests selbst anstelle der geplanten Kompensationsausführungszeit T3 des Diagnosetests verwendet werden kann. Außerdem kann in diesem Fall die Diagnosetestausführung-Bestimmungseinheit 18 bestimmen, ob der Diagnosetest zu der nächsten vorbestimmten Zeit in dem regulären Zyklus (Zeitintervall) ausgeführt werden soll oder nicht, indem sie bestimmt, ob die vorausgesagte Endzeit T2 des Programms die geplante Ausführungszeit T1 des Diagnosetests überschreitet oder nicht. Und wenn die vorausgesagte Endzeit T2 des Programms die geplante Ausführungszeit T1 des Diagnosetests überschreitet, kann die Diagnosetestausführung-Bestimmungseinheit 18 die Diagnosetest-Ausführungseinheit 24 anweisen, den Diagnosetest vor der geplanten Ausführungszeit T1 des Diagnosetests vor dem Ausführen des Programms auszuführen.
-
Vorstehend wurden Ausführungsformen der vorliegenden Erfindung beschrieben, wobei die vorliegende Erfindung jedoch nicht auf die hier beschriebenen Ausführungsformen beschränkt ist, die auch auf verschiedene Weise modifiziert und variiert werden können. Zum Beispiel nimmt die beschriebene Ausführungsform auf eine Maschinensteuervorrichtung Bezug, die den Diagnosetest wiederholt mit vorbestimmten Intervallen, d.h. mit regelmäßigen Zeitintervallen, ausführt, wobei die Erfindung aber nicht darauf beschränkt ist und auch auf eine Maschinensteuervorrichtung angewendet werden kann. die den Diagnosetest einmalig zu einer vorbestimmten Zeit ausführt.
-
Außerdem nimmt die oben beschriebene Ausführungsform auf eine numerische Steuervorrichtung einer Werkzeugmaschine für das Steuern der Werkzeugmaschine Bezug, wobei die Erfindung aber nicht darauf beschränkt ist und auch auf eine Steuervorrichtung für verschiedene andere Maschinen wie etwa Industrieroboter angewendet werden kann.
-
LISTE DER BEZUGSZEICHEN
-
- 10
- Maschinensteuervorrichtung
- 12
- Diagnosetestzeit-Berechnungseinheit
- 14
- Programmausführungszeit-Voraussageeinheit
- 16
- Speichereinheit
- 18
- Diagnosetestausführung-Bestimmungseinheit
- 22
- Diagnosetestausführung-Verwaltungseinheit
- 24
- Diagnosetest-Ausführungseinheit
- 26
- Programmanalyseeinheit
- 28
- Programausführungseinheit (Programmstopp-Verarbeitungseinheit)
- 32
- Schnittstelle (Erhaltungseinheit)