-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die Erfindung betrifft eine numerische Steuerungseinrichtung zum Steuern einer Werkzeugmaschine und insbesondere eine numerische Steuerungseinrichtung mit einer Servoausgangsverzögerungseinheit.
-
Zum Stand der Technik
-
Bei manuellem Achsenvorschub, beispielsweise beim anfänglichen Einstellen einer von einer numerischen Steuerungseinrichtung gesteuerten Werkzeugmaschine, dreht eine Bedienungsperson eine Einstellscheibe eines manuellen Pulsgenerators, um entsprechend der Bewegungsstrecke beim manuellen Vorschub Pulse zu erzeugen.
-
Die vom manuellen Pulsgenerator erzeugten Pulse empfängt die numerische Steuerungsvorrichtung über eine Netzwerkkommunikation. Die von der numerischen Steuerungsvorrichtung empfangenen Pulsdaten werden in einen Zwischenspeicher der Steuerungsvorrichtung eingeschrieben. In der numerischen Steuerungsvorrichtung werden die in den Zwischenspeicher eingeschriebenen Pulsdaten ausgelesen und an eine Servoprozessoreinheit abgegeben, um so einen Servomotor anzutreiben zum Aktivieren mechanischer Komponenten der Werkzeugmaschine oder einer anderen industriellen Maschine.
-
Tritt ein Kommunikationsfehler in der Steuervorrichtung auf, werden die durch den manuellen Pulsgenerator erzeugten Pulsdaten nicht von der Steuervorrichtung über die Netzwerkkommunikation empfangen. Deshalb können die Pulsdaten nicht in den Zwischenspeicher der numerischen Steuerungsvorrichtung eingeschrieben werden und ein Puls für den betreffenden Zyklus wird nicht an eine Servosteuereinheit zum Steuern des Servomotors abgegeben. Dementsprechend stoppt die Maschine plötzlich, wodurch es zu mechanischen Erschütterungen („Schock”) kommen kann (siehe 8). Wie 8 zeigt, erzeugt das Auftreten eines Kommunikationsfehlers einen Leerzyklus in den Pulsdaten, die vom manuellen Pulsgenerator übertragen werden. Da die von der numerischen Steuereinrichtung empfangenen Pulsdaten unterbrochen sind, kann die Steuerung des Servomotors zum Antrieb der Maschine nicht normal durchgeführt werden und es kommt zu mechanischen Erschütterungen.
-
Beispielsweise beschreibt Anspruch 2 der japanischen Patentveröffentlichung
JP 2002-268 751 A eine Servosteuerungseinrichtung, die eingerichtet ist, eine Achsenbewegung in Richtung auf eine Stellung zwischen Zielpositionen auszuführen, welche vor und nach dem Auftreten eines möglichen Kommunikationsfehlers während der Bewegung abgespeichert werden. Die in dieser Patentveröffentlichung beschriebene Servosteuereinrichtung kann aber keine Achsenbewegung erreichen, die genau den von einem manuellen Pulsgenerator ausgegebenen Pulsdaten entspricht. Deshalb wird bei diesem bekannten Verfahren ein zuvor abgespeicherter Wiederaufnahmebetrieb eingeschoben wenn eine Kommunikationsfehler auftritt, sodass es dazu kommen kann, dass befohlene Operationen möglicherweise nicht durchgeführt werden.
-
Das Dokument
DE 690 24 788 T2 offenbart ein Pulsübertragungssystem für einen manuellen Pulsgenerator. Hierbei wird ein Ausgabe-Pulssignal einer manuellen Pulsgeneratoreinheit drahtlos an eine numerische Steuerung übertragen. Das offenbarte Pulsübertragungssystem umfasst einen Zähler zum Zählen von Impulsen, die entsprechend der Rotation des manuellen Pulsgenerators ausgehend von einer Referenzzeit erzeugt werden, einen Signalübertrager zum drahtlosen Übertragen eines numerischen Wertes des Zählers mit einem codierten Signal und einen in der numerischen Steuerung angeordneten Signalempfänger, der den numerischen Wert des Zählers empfängt, die Impulse des manuellen Pulsgenerators zählt und das codierte Signal überprüft.
-
KURZBESCHREIBUNG DER ERFINDUNG
-
Um diese Probleme des Standes der Technik zu überwinden, hat die Erfindung das Ziel, eine numerische Steuereinrichtung mit einer Servoausgangsverzögerungseinheit bereitzustellen.
-
Eine numerische Steuervorrichtung mit einer Servoausgangsverzögerungseinheit gemäß der Erfindung ist eingerichtet, Pulsdaten von einem manuellen Pulsgenerator über eine Kommunikationseinheit zu empfangen und einen Motor anzutreiben. Die numerische Steuervorrichtung hat einen Speicher mit einem Zwischenspeicherbereich zum Speichern der Pulsdaten für jede Kommunikationsperiode, eine Kommunikationssteuereinheit, die eingerichtet ist, die über die Kommunikationseinheit empfangenen Pulsdaten in den Speicherbereich einzuschreiben, eine Steuereinheit, die eingerichtet ist, die Pulsdaten aus dem Speicherbereich auszulesen und an eine Servoprozessoreinheit zum Antreiben des Motors abzugeben, eine Recheneinheit für akkumulierte Pulse, die eingerichtet ist, die Anzahl in dem Speicherbereich zu akkumulierender Pulse zu bestimmen entsprechend der Frequenz des Auftretens von Kommunikationsfehlern bei den durch die Kommunikationseinheit empfangenen Pulsdaten, und eine Servoausgangsverzögerungseinheit, die eingerichtet ist, die Steuereinheit anzuweisen, die Ausgabe an die Servoprozessoreinheit zu starten nachdem die empfangenen Pulse auf eine Anzahl akkumuliert sind, die von der Recheneinheit für akkumulierte Pulse bestimmt ist.
-
Die numerische Steuereinrichtung mit Servoausgangsverzögerungseinheit kann eine Fehlerfrequenzberechnungseinheit aufweisen, die eingerichtet ist, die Frequenz des Auftretens von Kommunikationsfehlern zu gewinnen durch Zählung der Anzahl des Auftretens von Kommunikationsfehlern, die in einer vorgegebenen Zeitspanne vorkommen bis der Antrieb des Motors durch den manuellen Pulsgenerator gestartet wird nach dem Beginn der Kommunikation zwischen der numerischen Steuereinrichtung und dem manuellen Pulsgenerator nach Einschalten der numerischen Steuerung. Die Recheneinheit für die akkumulierte Pulsanzahl kann eingerichtet sein, die Anzahl der im Zwischenspeicherbereich zu akkumulierenden Pulse aus der Frequenz des Auftretens von Kommunikationsfehlern, wie von der Fehlerfrequenzberechnungseinheit bestimmt, abzuleiten.
-
Die numerische Steuervorrichtung mit Servoausgangsverzögerungseinheit kann eine Überwachungseinheit („Monitor”) aufweisen, die eingerichtet ist, einen Überschuss oder einen Mangel an in dem Zwischenspeicherbereich akkumulierten Pulsen zu ermitteln durch Überwachung einer Unterbrechung der an die Servoprozessoreinheit ausgegebenen Pulse und einer Verzögerungszeitspanne von der Beendigung des Pulsdatenempfangs bis zur Beendigung der Ausgabe an die Servoprozessoreinheit, und eine Einstelleinheit, die eingerichtet ist, die Frequenz des Auftretens der Kommunikationsfehler neu zu berechnen und die Anzahl der im Zwischenspeicherbereich zu akkumulierenden Pulse anzupassen wenn ein Überschuss oder eine Fehlmenge von im Zwischenspeicherbereich akkumulierten Pulsen detektiert wird.
-
Mit der oben beschriebenen erfindungsgemäßen Konfiguration kann eine numerische Steuereinrichtung bereitgestellt werden mit einer Servoausgangsverzögerungseinheit.
-
KURZBESCHREIBUNG DER FIGUREN
-
Die obigen und andere Ziele und Merkmale der Erfindung werden noch deutlicher aus der nachfolgenden Beschreibung von Ausführungsbeispielen mit Blick auf die Figuren:
-
1 ist ein schematisches Blockdiagramm eines Ausführungsbeispieles der Erfindung;
-
2 erläutert das Ausführungsbeispiel;
-
3 erläutert das Ausführungsbeispiel;
-
4 ist ein Flussdiagramm des Prozesses beim Zählen der Frequenz der Akkumulation von Pulsdaten;
-
5 ist ein Flussdiagramm des Prozesses beim Schreiben von Pulsdaten in einen Zwischenspeicher eines Speichers einer numerischen Steuereinrichtung;
-
6 ist ein Flussdiagramm des Prozesses beim Lesen von Pulsdaten;
-
7 ist ein Flussdiagramm eines Prozesses für die erneute Berechnung der Frequenz der Akkumulation von Pulsdaten; und
-
8 zeigt eine herkömmliche Technik.
-
BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSBEISPIELE IM EINZELNEN
-
<Erstes Ausführungsbeispiel>
-
1 ist ein schematisches Blockdiagramm eines Ausführungsbeispieles der Erfindung. Für manuelle Vorschubachsen, beispielsweise beim anfänglichen Einstellen einer Werkzeugmaschine, die durch eine numerische Steuereinrichtung 20 gesteuert wird, dreht eine Bedienungsperson eine Einstellscheibe eines manuellen Pulsgenerators 10, um Pulse zu erzeugen, die der Bewegungsstrecke beim manuellen Vorschub entsprechen. Der manuelle Pulsgenerator 10 hat einen Zwischenspeicher 11, welche für jede Kommunikationsperiode die vom manuellen Pulsgenerator erzeugten Pulse speichert einschließlich aktueller Pulse und Pulse, die in einigen vorherigen Zyklen erzeugt worden sind.
-
Die numerische Steuereinrichtung 20 zum Steuern der Werkzeugmaschine (nicht gezeigt) empfängt über eine Kommunikationseinheit 21 Pulsdaten, die vom manuellen Pulsgenerator 10 übertragen werden. Die numerische Steuereinrichtung 20 hat einen Speicher 23 mit einem Zwischenspeicherbereich, der eingerichtet ist, für jede Kommunikationsperiode die empfangenen Pulsdaten zu speichern. Eine Kommunikationssteuereinheit 22 schreibt die für jeden Zyklus über die Kommunikationseinheit 21 empfangenden Pulsdaten in einen Zwischenspeicherbereich für den Speicher 23. Eine Steuereinheit 24 liest die Pulsdaten aus dem Zwischenspeicherbereich des Speichers 23 und gibt sie an eine Servoprozessoreinheit 25, welche einen Servomotor 30 antreibt. Die Servoprozessoreinheit 25 verwendet die eingegebenen Pulsdaten, um eine Servosteuerung durchzuführen und steuert antriebsmäßig den Servomotor 30, welcher an einer mechanischen Komponente der Werkzeugmaschine angebracht ist.
-
Eine Recheneinheit 26 bestimmt die akkumulierte Pulsanzahl, die im Zwischenspeicherbereich entsprechend der Frequenz des Auftretens der Fehler in der Kommunikation der durch die Kommunikationseinheit 21 empfangenen Pulsdaten zu akkumulieren sind. Eine Servoausgangsverzögerungseinheit 27 befiehlt der Steuereinheit 24, die Ausgabe an die Servoprozessoreinheit 25 zu beginnen wenn die empfangenen Pulse auf eine Anzahl akkumuliert sind, welche durch die Berechnungseinheit 26 für die akkumulierte Pulsanzahl bestimmt ist.
-
Es folgt eine Beschreibung der Frequenz des Auftretens von Kommunikationsfehlern der Pulsdaten. 2 erläutert ein erstes Ausführungsbeispiel entsprechend Anspruch 1. Die linke Hälfte der 2 veranschaulicht in den Zwischenspeicherbereich des Speichers 23 geschriebene Pulse und Ausgangspulse, die aus dem Zwischenspeicherbereich des Speichers 23 zur Servoprozessoreinheit 25 abgegeben werden, ohne Anwendung des Verfahrens gemäß dem ersten Ausführungsbeispiel. Die rechte Hälfte von 2 veranschaulicht in den Zwischenspeicherbereich des Speichers 23 geschriebene Pulse und aus dem Zwischenspeicherbereich ausgelesene und an die Prozessoreinheit 25 abgegebene Pulse unter Anwendung des ersten Ausführungsbeispiels.
-
Kommunikationsfehler treten auf und ein Zykluszähler zählt bis das Bedienelement des manuellen Pulsgenerators 10 gedreht wird nachdem die numerische Steuereinrichtung 20 eingeschaltet worden ist. Wenn eine manuelle Pulseingabenzeitspanne, welche durch den Zykluszähler vorgegeben wird, erreicht ist, wird die Anzahl des Auftretens von Kommunikationsfehlern gezählt und als Auftrittsfrequenz von Kommunikationsfehlern eingeordnet.
-
Basierend auf dieser Auftrittsfequenz der Kommunikationsfehler wird die zu akkumulierende Pulsanzahl beim Start der Drehung des Bedienelementes des manuellen Pulsgenerators 10 bestimmt. Treten zwei Kommunikationsfehler innerhalb der manuellen Pulseingabenzeitspanne beispielsweise auf, dann ist die Auftrittsfrequenz des Kommunikationsfehlers „2”, sodass Pulse für zwei Zyklen akkumuliert werden (siehe rechte Hälfte von 2). Wird das Auslesen der in den Zwischenspeicherbereich eingeschriebenen Pulsdaten und die Abgabe an die Servoprozessoreinheit 25 um die Akkumulation von zwei Zyklen verzögert, erfolgt keine Unterbrechung der Pulsdaten, wie weiter unten näher ausgeführt ist.
-
<Zweites Ausführungsbeispiel>
-
Ändert sich die Auftrittsfrequenz von Kommunikationsfehlern durch Änderung der Kommunikationsumgebung nachdem die Anzahl akkumulierter Pulsdaten durch die Berechnungseinheit 26 für akkumulierte Pulsdaten berechnet worden ist, wird die Anzahl zu akkumulierender Pulse unpassend. 3 erläutert ein zweites Ausführungsbeispiel mit Bezug zu Anspruch 3. Die linke Hälfte von 3 zeigt den Fall, bei dem die Anzahl der zu akkumulierenden Pulse relativ klein ist. In diesem Fall ist die im Zwischenspeicherbereich akkumulierte Anzahl von Pulsen zu klein im Vergleich mit der Auftrittsfrequenz von Kommunikationsfehlern, sodass der Pulsausgang (= Pulsabgabe) zu der Servoprozessoreinheit 25 unzureichend ist. Die rechte Hälfte von 3 zeigt den Fall, in dem die Anzahl zu akkumulierender Pulse relativ groß ist. In diesem Fall ist die im Zwischenspeicherbereich akkumulierte Pulsanzahl zu groß im Vergleich zur Auftrittsfrequenz von Kommunikationsfehlern, sodass der Pulsausgang (= Pulsabgabe) an die Servoprozessoreinheit 25 verzögert ist. Deshalb braucht es eine relativ lange Zeit bis der Servomotor 30 nach vollständigem Pulseingang stoppt.
-
Ist daraufhin die Auftrittsfrequenz von Kommunikationsfehlern so groß, dass die Anzahl zu akkumulierender Pulse unzureichend ist, wird beispielsweise die Anzahl des Auftretens von Kommunikationsfehlern innerhalb einer vorgegebenen Zeitspanne neu berechnet und die Anzahl zu akkumulierender Pulse erhöht. Verringert sich hingegen die Auftrittsfrequenz von Kommunikationsfehlern sodass die Anzahl zu akkumulierender Pulse ansteigt, wird die Anzahl des Auftretens von Kommunikationsfehlern innerhalb der vorgegebenen Zeitspanne neu berechnet und die Anzahl von zu akkumulierenden Pulse reduziert. Auf diese Weise kann die Anzahl zu akkumulierender Pulse optimal auf die Kommunikationsumgebung eingestellt werden.
-
Das Verfahren bezüglich der Servoausgangsverzögerung wird nun mit Blick auf die Flussdiagramme gemäß den 4 bis 7 beschrieben.
-
4 ist ein Flussdiagramm des Ablaufs beim Zählen der Frequenz der Akkumulation der Pulsdaten. Die Schritte werden nun sequentiell bezüglich des Verfahrens beschrieben. Das Verfahren gemäß dem Flussdiagramm nach 4 wird durch die Recheneinheit 26 für die akkumulierte Pulsanzahl ausgeführt.
-
[Schritt sa01] Es wird ermittelt, ob ein Kommunikationsfehler aufgetreten ist oder nicht. Ist ein Kommunikationsfehler aufgetreten (JA), geht das Verfahren zu Schritt sa02.
-
Wenn nicht (NEIN), geht das Verfahren zu Schritt sa03.
-
[Schritt sa02] Eins wird im Fehlerzähler addiert.
-
[Schritt sa03] Eins wird im Zykluszähler addiert.
-
[Schritt sa04] Es wird ermittelt, ob der Wert des Zykluszählers beim Zählen in Schritt sa03 nicht kleiner ist als die manuelle Pulseingabe-Andauerzeit. Ist der Wert des Zykluszählers nicht kleiner als die manuelle Pulseingabe-Andauerzeit (JA), geht das Verfahren zu Schritt sa05. Wenn nicht (NEIN), geht das Verfahren zurück zu Schritt sa01, woraufhin das Verfahren fortgesetzt wird.
-
[Schritt sa05] Das Verfahren wird beendet mit Annahme des Wertes des Fehlerzählers zum Zählen in Schritt sa02 als Frequenz der Akkumulation.
-
5 ist ein Flussdiagramm der Verarbeitung beim Einschreiben von Pulsdaten in den Zwischenspeicher des Speichers der numerischen Steuervorrichtung. Die Verarbeitung gemäß dem Flussdiagramm nach 5 wird durch die Kommunikationseinheit 21 und die Kommunikationseinheit 22 ausgeführt.
-
[Schritt sb01] Pulsdaten für einige abgelaufene Zyklen werden zusammen mit aktuellen Pulsdaten des Pulsgenerators empfangen. Die Pulsdaten für einige vergangene Zyklen werden eingestellt auf Basis der Frequenz der Akkumulation, die gemäß 4 gewonnen worden sind.
-
[Schritt sb02] Es wird ermittelt, ob im vorangegangenen Zyklus ein Kommunikationsfehler aufgetreten ist oder nicht. Ist kein Kommunikationsfehler aufgetreten (JA), geht das Verfahren zu Schritt sb03. Liegt ein Kommunikationsfehler vor (NEIN), geht das Verfahren zu Schritt sb04.
-
[Schritt sb03] Die aktuellen Pulsdaten werden in den Zwischenspeicher eingeschrieben, woraufhin das Verfahren beendet ist.
-
[Schritt sb04] Pulsdaten für den Fall des Auftretens eines Kommunikationsfehlers und die aktuellen Pulsdaten werden in den Zwischenspeicher eingeschrieben, woraufhin das Verfahren endet.
-
6 ist ein Flussdiagramm des Prozesses für das Lesen der Pulsdaten. Das Verfahren gemäß 6 wird durch die Servoausgangsverzögerungseinheit 27 und die Steuereinheit 24 ausgeführt. Das Verfahren gemäß 6 entspricht der Funktion der Servoausgangsverzögerungseinheit.
-
[Schritt sc01] Es wird festgestellt, ob die Frequenz der Akkumulation „0” ist oder nicht. Ist die Frequenz der Akkumulation „0”, geht das Verfahren zu Schritt sc03. Wenn nicht (NEIN), geht das Verfahren zu Schritt sc02.
-
[Schritt sc02] Die Frequenz der Akkumulation wird um eins reduziert, woraufhin das Verfahren endet.
-
[Schritt sc03] Es wird ermittelt, ob die Positionen des Schreib-Pointers und des Lese-Pointers verscheiden voneinander sind. Sind die Positionen verschieden (JA), geht das Verfahren zu Schritt sc04. Wenn nicht (NEIN), endet das Verfahren.
-
[Schritt sc04] Die Position des Lese-Pointers wird um eins vorgeschoben.
-
[Schritt sc05] Ein Puls wird an die Servoprozessoreinheit abgegeben, woraufhin das Verfahren endet.
-
7 ist ein Flussdiagramm des Prozesses zum Neuberechnen der Frequenz der Akkumulation von Pulsdaten. Das Verfahren nach 7 wird durch die Recheneinheit 26 für die akkumulierte Pulsanzahl ausgeführt.
-
[Schritt sd01] Es wird ermittelt, ob der Unterschied zwischen den Positionen der Schreib- und Lese-Pointer größer ist als die Frequenz der Akkumulation oder ob sie gleich „0” oder kleiner ist. Ist die Differenz größer als die Frequenz der Akkumulation oder ist sie gleich „0” oder kleiner (JA), geht das Verfahren zu Schritt sd02. Wenn nicht (NEIN), endet das Verfahren.
-
[Schritt sd02] Die Frequenz der Akkumulation wird neu berechnet, woraufhin das Verfahren endet.