-
Verfahren und Einrichtung zur Wegfehlerkorrektur bei numerischen Steuerungen
Bei numerischen Arbeitsmaschinensteuerungen unterscheidet man zwischen absoluter
und incrementeller Sollwert-Vorgabe. Bei absoluter Sollwert-Vorgabe werden die Maschinenbefehle
zum Anfahren der gewünschten Position stets immer auf einen bestimmten Fixpunkt
bezogen, während man bei der incrementellen Sollwert-Vorgabe die Maschinenbefehle
stets von der beim vorherigen Programmschritt erreichten Position ausgeht. Legt
man eine gewisse Toleranz für das Einfahren des zu bewegenden Maschinenteiles in
die vorgegebene Position zugrunde, so besteht bei der letztgenannten Steuerungsart
die Gefahr, daß sich nach mehreren Programmschritten diese für den einzelnen Programmschritt
noch hinnehmbaren Ungenauigkeiten zu einem nicht mehr tragbaren Gesamtfehler addieren.
Prinzipiell können bei einem Programmschritt drei Fehlerarten auftreten: die Maschine
kann über die vorgeschriebene Sollwertposition infolge ihrer trägen Masse hinauslaufen,
die Maschine erreicht infolge vorzeitiger Abbremsung die vorgegebene Sollwertposition
nicht, und es können vorübergehende Maschinenschwingungen in der Weise auftreten,
daß die Bewegungsrichtung der Maschine zeitweise von der programmierten Richtung
abweicht.
-
Als Sollwertgeber dient bei numerischen Steuerungen in der Regel ein
digitaler Binärzähler, in den die gewünschte Sollwertposition als Zählerstand eingegeben
wird, wobei dieser Zählerstand durch von einem Istwertgeber gelieferte Wegimpulse
abgebaut wird. Der Zählerstand Null dient dann als ein Kriterium dafür, daß die
gewünschte Sollwertposition von der Maschine erreicht ist. Die zuvor genannten Wegfehler
bei den einzelnen Programmschritten werden üblicherweise durch einen bidirektionalenalen
Wegzähler erfaßt, wodurch der beim einzelnen Programmschritt zuviel oder zuwenig
zurückgelegte Weg beim nächsten Programmschritt ohne weiteres berücksichtigt werden
kann. Ein bidirektion Zähler stellt aber praktisch gegenüber einem Zähler, der nur
in einer Richtung zu zählen braucht, eine Verdoppelung des Aufwandes dar, welche
insofern von Bedeutung ist, als die Kapazität des als Sollwertpositionsspeicher
dienenden Zählers für den maximal der Maschine vorgebbaren Weg ausgelegt werden
muß.
-
Aufgabe der Erfindung ist es, diesen Aufwand zu vermindern, indem
nur ein in einer Richtung zählender Zähler als Sollwertpositionsspeicher benötigt
wird. Die Erfindung betrifft ein Verfahren zur Korrektur eines im Zuge oder nach
Beendigung eines einzelnen Programmschrittes bei schrittweise incrementell programmierten,
numerischen Arbeitsmaschinensteuerungen auftretenden Wegfehlers. Sie ist dadurch
gekennzeichnet, daß ein Rückwärtszähler als Sollwertpositionsspeicher verwendet
ist und daß vor dem nächsten Programmschritt eine dem Wegfehler entsprechende Anzahl
von Impulsen in einen bidirektionalen Korrekturzähler übernommen wird und dessen
Zählerstand danach in Abhängigkeit von der Richtung des entsprechenden Programmschrittes
entweder durch die von dem Istwertgeber gelieferten Wegimpulse abgebaut wird oder
den Zählerstand des Rückwärtszählers entsprechend vermindert. Der Korrekturzähler
braucht dabei nur für eine wesentlich kleinere Zählerkapazität als der Rückwärtszähler
ausgelegt zu werden, da er ja nur eine kleine Zahl von Fehlerimpulsen aufzunehmen
braucht.
-
Die Erfindung samt ihren Ausgestaltungen soll im folgenden an Hand
der Figuren näher veranschaulicht werden.
-
In F i g. 1 ist das Prinzipschaltbild für die Steuerung in einer Koordinate
einer Arbeitsmaschine gezeichnet. Vor Beginn eines jeden Programmschrittes wird
von einer geeigneten Informationsspeichereinrichtung I,
im dargestellten Beispiel
von einem Lochstreifen, der Sollwert-Schritt nach Größe und Richtung in eine Decodiereinrichtung
2 eingegeben. Der Betrag der vorgegebenen Verschiebung PS des zu positionierenden
Maschinenteils wird als entsprechender Zählerstand in den mit P bezeichneten Sollwertpositionsspeicher
eingegeben. An einem Ausgang des Positionsspeichers P erscheint daraufhin ein Signal
ZSp als Kriterium dafür, daß der Zählerstand des Positionsspeichers ungleich Null
ist. Dieses Signal kann dazu verwendet
werden, um den Vorschubmotor
für die entsprechende Koordinate in Bewegung zu setzen, worauf ein von dem bewegten
Maschinenteil beeinfiußter digitaler Istwertgeber, beispielsweise eine Magnetscheibe
3, der ein Hallgenerator 3a zugeordnet ist, pro zurückgelegter Wegeinheit einen
Impuls 1w liefert. Die Impulse Iw passieren eine Auswertschaltung 4 und gelangen
über eine der Torschaltungen T1 bis T6 entweder auf den Positionsspeicher P oder
auf den Korrekturzähler K. Während der Positionsspeicher P nur für die Zählung in
Rückwärtsrichtung vorgesehen ist, jeder an seinem Eingang eintreffende Impuls also
seinen Zählerstand vermindert, gestattet der Korrekturzähler K eine Zählung in beiderlei
Richtungen, so daß die an seinem Eingang einlaufenden Impulse entsprechend einer
Signalgabe an seinen mit -f- und -gekennzeichneten Eingängen entweder seinen Zählerstand
erhöhen oder erniedrigen. Im Normalfall gelangen die Wegimpulse 1w über die Torschaltung
T; auf den Positionsspeicher P. In einer mit 5 bezeichneten Auswerteschaltung, deren
Wirkungsweise später noch näher beschrieben wird, werden programmierte Koordinatenrichtung
(K+, K-) und Bewegungsrichtung des Vorschubes (B+, B-) verglichen,
wobei die zuerst genannten Signale der Decodiereinrichtung 1, die zuletztgenannten
der Auswerteschaltung 4, entnommen werden. Stimmen im Laufe des Programmschrittes
programmierte Koordinatenrichtung und tatsächlichen Bewegungsrichtung des Vorschubes
nicht überein, so ist dies ein Anzeichen dafür, daß eine sogenannte schwingende
Bewegung des Maschinenteils auftritt. Dann erscheint am Ausgang der Auswerteschaltung
5 das Signal R, wodurch über die Negationsstufe 11 ein Sperren des Tores
T; und gleichzeitig ein Öffnen des Tores T4 bewirkt wird. Die Istwertimpulse 1w
laufen dann auf den Korrekturzähler K für die Dauer des Rücklaufes. Bei darauffolgender
richtiger Drehrichtung der Impulsscheibe 3 und damit des zu bewegenden Maschinenteils
wird der Korrekturzähler durch die Wegimpulse I", leergezählt. Ist der Zählerstand
Null des Korrekturzählers K erreicht, was durch das Signal ZSx ausgewertet werden
kann, so wird der Positionsspeicher P mittels der Torschaltung T1 wieder zur Leerzählung
durch die Impulse Iw freigegeben.
-
Tritt gegen Ende eines Programmschrittes ein Überlauf des zu bewegenden
Maschinenteiles über die programmierte Sollwertposition auf, so äußert sich dies
darin, daß der Zählerstand des Positionsspeichers P Null ist und trotzdem noch Impulse
I. auftreten, welche keine weitere Veränderung des Zählerstandes des Positionsspeichers
P bewirken könnten. Für diesen Fall erscheint am Ausgang der mit 6 bezeichneten
Überlaufschaltung das Signal Ü, welches die Torschaltung T3 öffnet und die dann
noch auftretenden Wegimpulse 1u, auf den Korrekturzählereingang gelangen läßt, wodurch
dessen Zählerstand von Null auf um einen Betrag erhöht wird, der dem Überlaufweg
proportional ist. Dadurch wird dieser Wegfehler als Zählerstand im Korrekturzähler
gespeichert.
-
Erreicht nach Ende eines Programmschrittes das zu bewegende Maschinenteil
die vorgegebene Sollwertposition nicht, so ist dieser Betriebszustand gekennzeichnet
durch das Stillstandssignal St und das einen Zählerinhalt andeutende Signal
ZSp. Mit diesen beiden Signalen wird durch eine weitere Auswerteschaltung 7 das
Signal N erzeugt, welches eine Torschaltung T6 öffnet. Daraufhin können Impulse
Ix eines frei schwingenden Impulsgenerators 8 sowohl auf den Korrekturzähler
K als auch auf den Positionsspeicher P gelangen. Die Impulse 1k zählen den Positionsspeicher
P leer, während sie den Zählerstand des Korrekturzählers K von Null an erhöhen.
Mit Erreichen des Zählerstandes Null des Positionsspeichers P, was sich in einem
Verschwinden des Signals ZSp äußert, verschwindet das Signal N am Ausgang
der Auswerteschaltung 7, und die Impulse 1k werden von der Torschaltung TB gesperrt.
Wiederum steht der durch den Nachlauf bedingte Wegfehler als entsprechender Zählerstand
im Korrekturzähler K.
-
Wie im vorstehenden dargetan, wird sowohl bei Überlauf als auch bei
Nachlauf der daraus resultierende Wegfehler in den Korrekturzähler K übernommen.
Abhängig davon, ob für den darauffolgenden Programmschritt eine Bewegung in derselben
Koordinatenrichtung oder in der entgegengesetzten Koordinatenrichtung vorgesehen
ist, hat zur Berücksichtigung dieser Wegfehler eine Addition oder eine Subtraktion
von dem von der Informationsspeichereinrichtung für die Wegimpulse I" gelieferten
neuen Sollwert zu erfolgen. Hierzu sind zwei mit 9 und 10 bezeichnete Auswerteschaltungen
vorgesehen, welche die alte programmierte Koordinatenrichtung jeweils gespeichert
haben und sie mit der neuen und mit der Art des entstandenen Fehlers (Überlauf oder
Nachlauf) vergleichen. Soll eine Addition erfolgen, so entsteht am Ausgang der Auswerteschaltung
9 das Signal A, welches die Torschaltung TZ öffnet, so daß die Wegimpulse I" zunächst
den Korrekturzähler K
leerzählen; ist dessen Zählerstand Null erreicht, wird
die Torschaltung TZ gesperrt und die Torschaltung T; für die Wegimpulse 1w geöffnet,
so daß wieder das normale Leerzählen des Zählers P erfolgt. Die Addition geschieht
dadurch, daß die Istwertimpulse I, zunächst nicht den Zählerstand des Positionsspeichers
erniedrigen, sondern zuerst den des Korrekturzählers K leerzählen müssen.
-
Erfordert die Berücksichtigung des beim vorherigen Programmschritts
aufgetretenen Fehlers eine Subtraktion vom neuen Positionssollwert, so erscheint
am Ausgang der Auswertschaltung 10 das Signal S, welches die Torschaltung T5 öffnet.
Die von dem Impulsgenerator 8 gelieferten Impulse Ik gelangen nun gleichzeitig auf
die Eingänge des Korrekturzählers K sowie des Positionsspeichers P und erniedrigen
den Zählerstand des letzteren so lange, bis der Zählerstand Null des Korrekturzählers
K erreicht ist. Gleichzeitig muß natürlich Sorge dafür getragen werden, daß für
den Vorgang des Leerzählens des Korrekturzählers K der Vorschubantrieb gesperrt
ist, so daß keine Wegimpulse I. erzeugt werden. Die Realisierung der Auswerteschaltungen
5 bis 10 kann mit an sich bekannten Methoden der logischen Verknüpfungstechnik
unter Verwendung von handelsüblichen erhältlichen Bausteinen erfolgen. Insofern
braucht daher auf ihre innere Wirkungsweise nicht näher eingegangen zu werden. Vorteilhaft
ist es hier im Interesse einer kleinen Typenzahl vorwiegend Bausteine eines Typs,
z. B. sogenannte Nor-Gatter, zu verwenden.
-
In F i g. 2 sei beispielsweise der Innenaufbau der mit 5 bezeichneten
Auswerteschaltung dargestellt. An anderen Ausgang soll ein Signal auftreten, wenn
ein sogenanntes Schwingen des zu bewegenden Maschinenteils, d. h. eine kurzzeitige,
unbeabsichtigte Bewegungsrichtungsumkehr erfolgt. Hierzu sind sechs mit 12 bis
17
bezeichnete Nor-Gatter vorgesehen. Ein Nor-Gatter ist ein logischer Baustein, an
dessen Ausgang nur dann ein Signal erscheint, wenn an seinen sämtlichen Eingängen
kein Signal ansteht. Im folgenden soll das Nichtvorhandensein eines Signals mit
0-Signal und das Vorhandensein eines Signals mit L-Signal bezeichnet sein. Die Nor-Gatter
12 und 13 sind in an sich bekannter Weise durch gegenseitige, kreuzweise
Rückkopplung zu einer bistabilen Kippstufe zusammengeschaltet. Ist beim jeweiligen
Programmschritt eine Koordinatenrichtung in negativer Richtung programmiert worden,
so soll das mit K- bezeichnete Signal ein sogenanntes 0-Signal sein. Entsprechendes
gilt für die die Bewegungsrichtung des Maschinenteils anzeigenden Signale B-- und
B+ sowie das für den Zählerstand des Korrekturzählers K repräsentierende Signal
ZSx.
-
Stimmen programmierte Koordinatenrichtung und tatsächliche Bewegungsrichtung
nicht überein, so wird an einem Ausgang der Nor-Gatter 16 oder 17 ein L-Signal und
an beiden Ausgängen der Nor-Gatter 14 und 15 ein 0-Signal auftreten.
Da damit sämtliche Eingänge des Nor-Gatters 12 mit 0-Signalen besetzt sind, erscheint
an der mit R bezeichneten Klemme ein L-Signal, was als ein Anzeichen von auftretenden
Maschinenschwingungen gewertet werden kann. Die Gewinnung der mit B+ und B- bezeichneten,
die tatsächliche Bewegungsrichtung des Maschinenteils kennzeichnenden Signale kann
bei der Anordnung entsprechend F i g. 1 aus der Drehrichtung der mit dem zu bewegenden
Maschinenteil gekuppelten Impulsscheibe 3 gewonnen werden.
-
In F i g. 3 ist ein Beispiel dafür dargestellt, wie bei Ausbleiben
der von der Impulsscheibe 3 gelieferten Wegimpulse Iu. das Signal St erarbeitet
wird. Die in F i g. 3 dargestellte Schaltung ist Teil der Auswerteschaltung 4 in
F i g. 1. Sie besteht wiederum aus zwei kreuzweise gegenseitig rückgekoppelten,
als bistabile Kippstufe arbeitenden Nor-Gattern 18 und 19, denen zwei Und-Gatter
20 und 21 vorgeschaltet sind. Diese werden über einen Differenzierkondensator
22 von den Wegimpulsen 1u beaufschlagt. Durch eine Ableitdiode 23 werden dabei jeweils
die ansteigenden Flanken der Wegimpulse A,; unterdrückt. Der Ausgang des Nor-Gatters
19 ist mit dem Eingang des Und-Gatters 21, der des Nor-Gatters 18 mit dem
Eingang des Und-Gatters 20 verbunden. Auf diese Weise wird erreicht, daß die auf
den Kondensator 22 gelangenden Istwertimpulse I, die aus den Nor-Gattern
18 und 19 bestehende bistabile Kippstufe abwechselnd in ihre beiden
Lagen kippt. Die an ihren Ausgang geschalteten monostabilen Kippstufen 22 und 23
werden dabei periodisch angestoßen, und deren Kippzeiten sind derart gewählt, daß
ihre Ausgangs-L-Signale sich gegenseitig zeitlich überlappen. Treten als Istwertimpulse
A" auf, so entsteht an der Ausgangsklemme das Dauer-L-Signal St.
-
Das erfindungsgemäße Verfahren eröffnet auch die Möglichkeit, bei
Steuerung in mehreren Koordinaten mit einem einzigen Positionsspeicher auszukommen,
der dann nacheinander auf die jeweils zu steuernde Koordinate umgeschaltet wird.
Bei einer derartigen Abschaltung des Positionsspeichers ist stets der jeder Koordinate
zugeordnete Korrekturzähler mit dem entsprechenden Istwertgeber in Verbindung gebracht;
so daß etwaige z. B. durch unbeabsichtigte Erschütterungen des stillgelegten Maschinenteils
hervorgerufene Wegimpulse nicht verlorengehen, sondern als Fehlerimpulse im Korrekturzähler
gespeichert und dann in der zuvor beschriebenen Weise von dem nächsten Programmschritt
berücksichtigt werden können.