-
Numerische Programmsteuerung mit einem Interpolator und einem Positionierungs-Regelkreis
Es sind bereits numerische Bahnsteuerungen für mehrere Bewegungsrichtungen bekannt,
die von digitalen Inneninterpolatoren für lineare und zirkulare Interpolationen
Gebrauch machen. Von den Interpolatoren werden die Lagesollwerte in zeitlicher Darstellung
für jede Bewegungsrichtung getrennt vorgegeben. Die erforderliche Verstellgeschwindigkeit
des gesteuerten Maschinenelementes wird von einem Programm vorgegeben.
-
In der Fig. 1 ist eine solche bekannte numerische Bahnsteuerung schematisch
dargestellt. Mit L ist ein. Leser angedeutet in den das Programm P eingegeben wird.
Als Programmspeicher kann ein Lochstreifen verwendet werden. Der Leser gibt die
Programmwerte auf einen Zwischenspeicher ZS, in welchem diese als Sätze gespeichert
werden. Der Speicher ZS gibt die Programmwerte der zu fahrenden Bahnkurven an den
Interpolator J. Dieser errechnet die Einzel-Lagesollwerte und gibt sie mit einer
bestimmten Taktfrequenz nacheinander aus. Der Interpolator J wird von einem
Steuerwerk SW angesteuert. Das Steuerwerk selbst wird durch den internen
Sollwert-Rechentakt des Interpolators angesteuert. Die errechneten Lagesollwerte
gelangen auf ein digitales Vergleichsglied V, das durch den digitalen Istwert eines
Lagemeßgliedes LM angesteuert wird. Das Lagemeßglied ist z. B. am verstellbaren
Maschinenelement (Tisch) angeordnet und tastet einen digitalen Kodemaßstab ab, der
an der Maschine angeordnet ist. Die auftretende digitale Lageabweichung steuert
einen Digital-Analog-Umsetzer DA an, dem ein Verstärker D und ein Stellmotor
M, beispielsweise für die X-Koordinate, nachgeschaltet sind. Das Vergleichsglied
V gibt die Lageabweichung nach Betrag X," und Vorzeichen -I- oder - aus. Mit ST
ist die Regelstrecke bezeichnet.
-
über den Digital-Analog-Umsetzer DA erfolgt eine Ansteuerung
des Motors M, entsprechend der am Ausgang des Digital-Analog-Umsetzers anstehenden
kleineren oder größeren Spannung. Durch das vom Vergleichsglied V ausgehende Vorzeichen
-I- oder -wird der Digital-Analog-Umsetzer DA so gesteuert, daß der Motor
M in der einen oder anderen Richtung läuft. Der Digital-Analog-Umsetzer
DA bestimmt damit also die positive oder negative Drehrichtung des Motors
M.
-
Soll der Motor M schnell laufen, so muß die Ausgangsspannung des Digital-Analog-Umsetzers
DA
groß sein. Entsprechend muß der Leistungsverstärker D ein großes Eingangsglied
erhalten, und der Digital-Analog-Umsetzer DA muß dann auch durch ein großes
Eingangssignal angesteuert werden. Es muß also die Lage-Regelabweichung X," groß
sein. Die Regelung wird bei zunehmender Geschwindigkeit ungenau. Eine Regelung wird
nun andererseits gerade deshalb verwendet, um eine hohe Genauigkeit zu erreichen,
d. h., Lagesoll- und und -istwert sollen möglichst übereinstimmen.
-
Der erwähnte Nachteil wird durch die Erfindung vermieden. Die Erfindung
bezieht sich auf eine numtr rieche Programmsteuerung mit einem Interpolator und
einem Positionierungs-Regelkreis. und besteht darin, daß ein durch die Sollwert-Rechentakte
des Interpolators angesteuerter Zähler vorgesehen ist, der zwischen dem Auftreten
der Rechentakte von einem Höchstwert abwärts zählt, und daß der niedrigste in dem
Rechentaktintervall gezählte Wert als Geschwindigkeits-Führungsgröße zur Lageabweichung
addiert wird.
-
Die Erfindung wird mit weiteren vorteilhaften Ausbildungen an Hand
der Fig. 2 und 3 näher erläutert. In der Fig. 2 ist das Steuerwerk SW weggelassen.
-
Angedeutet ist nur der Ausgang B für die Heranziehung der Sollwert-Rechentakte
für die Regelung. Wie in der Fig.2 angedeutet, ist zwischen dem Vergleichsglied
V und dem Digital-Analog-Umsetzer DA ein digitales Addierwerk A angedeutet. Außer
der auftretenden digitalen Lage-Regelabweichung X", wird in dieses Addierwerk
A ein digitaler Wert X" eingegeben. Gemäß der Erfindung ist dieser Wert X"
bei kleiner Geschwindigkeit des Stellmotors. M klein und bei großer Geschwindigkeit
desselben groß. Wird zur Lage-Regelabweichung X," bei hoher Geschwindigkeit des
Stellmotors M zusätzlich ein großer Wert X,, hinzugezählt, so ergibt sich durch
das Addierwerk A am Ausgang deselben die Summe von
X" und X,, und
damit eine noch größere Aussteuerung des Digital-Analog-Umsetzers DA. Entsprechend
läuft der Stellmotor M sehr schnell.
-
Durch die Einführung des Wertes X" als Geschwindigkeits-Führungsgröße
kann nunmehr bei entsprechendem hohem Wert desselben die Lage-Regelabweichung X"
sogar Null werden, und trotzdem erfolgt eine Ansteuerung des Digital-Analog-Umsetzers
DA und entsprechend eine Ansteuerung des Stellmotors M. Wird der Wert
X,, gerade so groß gemacht, wie die Geschwindigkeit des Stellmotors M sein soll,
dann läuft der Motor M mit der Lage-Regelabweichung X" = 0.
-
In der Praxis wird man die Lage-Regelabweichung X" nicht gleich Null
machen, da für die Lageregelung auch noch das Vorzeichen -I- oder - benötigt wird.
Die Lage-Regelabweichung X" wird deshalb nicht kleiner als etwa zwei Einheiten gemacht.
Dieser Wert steht also mindestens immer am Betragsausgang des Vergleichsgliedes
V an. Damit ist das Vorzeichen sicher festlegbar, und am Vorzeichenausgang des Vergleichsgliedes
steht entweder -1- oder - an. Der über X" = 2 Einheiten hinausgehende Betrag wird
nunmehr stets durch den zusätzlich in das Addierwerk A eingegebenen Wert
X,, geschaffen.
-
Soll beispielsweise das nicht weiter dargestellte Element (Tisch)
einer Maschine mit 1 m/min laufen und werden beispielsweise am Eingang des Digital-Analog-Umsetzers.
DA 20 Einheiten benötigt, dann sei der Verstärker D so ausgesteuert, daß
der Stellmotor M mit 20 Einheiten pro Minute läuft. 18 Einheiten liefert dann der
in das Addierwerk A eingegebene Wert X", und zwei Einheiten werden durch die Lage-Regelabweichung
X" geliefert. Zur Festlegung der Laufrichtung des Steilmotors M wird vom Vergleichsglied
V als Vorzeichen für die mit zwei Einheiten anstehende Lage-Regelabweichung X" geliefert.
Würde der Wert X" = 20 Einheiten aufweisen, so wäre die Lage-Regelabweichung X"
= 0. Damit könnten am Vergleichsglied V Unsicherheiten in der Ausgabe des Vorzeichens
auftreten. Der Stellmotor M bekäme dann zwar durch den Wert X" den Befehl, sehr
schnell zu laufen; es würde für ihn jedoch die Richtungsangabe fehlen. Der Grenzfall
für den Wert X" ist also die größte den Motor M ansteuernde Einheit (20)
minus zwei Einheiten, wobei zwei Einheiten die kleinste Lage-Regelabwaichung X"
ist. Schwierigkeiten in der Festlegung des durch das Vergleichsglied V ausgegebenen
Vorzeichens treten bei dieser Bemessung nicht auf.
-
Der Betragsausgang des Vergleichsgliedes V ist, wie in der Fig. 2
angedeutet, mit einem Tor T verbunden. über dieses Tor T wird der Wert X,, auf das
Addierwerk A gegeben. Dieses Tor T wird sofort geschlossen, wenn die
Lage-Regelabweichung X", = 0 wird. Dann geht die Geschwindigkeit des Stellmotors
M sofort auf Null, da der Wert X" fehlt. Damit bildet sich aber sofort
wieder eine Lageabweichung, da ja der Stellmotor M durch diese Abschaltung langsamer
läuft. Entsprechend ergibt sich am Vergleichsglied V sofort wieder ein Vorzeichen.
Durch das Tor T wird die Einrichtung auch geschützt, wenn der über das Tor
T eingegebene Wert X,, beispielsweise 21 Einheiten hat, obgleich nur
20 Einheiten benötigt werden. In diesem Fall würde der Stellmotor M umgesteuert
werden, was auf jeden Fall durch die Torsteuerung des Wertes X" nunmehr vermieden
wird. Schwingungen des Stellmotors werden sicher vermieden. Der Wert X" muß also
auf alle Fälle stets kleiner als die benötigten Einheiten zur Aussteuerung des Stellmotors.
M sein. Vorzugsweise wird der Wert von X,, etwa fünf Einheiten kleiner als die benötigten
Einheiten gemacht, um so beispielsweise etwa während der Bearbeitung auftretende
Geschwindigkeitsänderungen des Stellmotors, die noch keine Störungen bedeuten, ohne
Ansprechen der Torsteuerung verarbeiten zu können.
-
Durch die Zugabe des Wertes X" zur Lageabweichung X" wird erreicht,
daß die Lageabweichung X", zur Steuerung des Motors M nicht groß zu sein braucht,
da zusätzlich der Wert X" mit zur Steuerung des Motors M herangezogen wird. Dadurch
wird nun die erwünschte genaue Regelung erhalten.
-
Zur Gewinnung des Wertes X,, sind ein Zähler Z sowie ein Frequenzgenerator
F, dessen Frequenz beispielsweise von Hand veränderbar ist, vorgesehen. Dieser Frequenzgenerator
F liefert an den Zähler Z eine Hilfsfrequenz, wie durch den Impulszug P angedeutet
ist. Der zwischen dem Frequenzgenerator F und dem Zähler Z vorgesehene Frequenzuntersetzer
U bleibe vorerst unberücksichtigt. An den Ausgang des Zählers Z ist ein Speicher
S angeschaltet. Der Zähler Z und der Speicher S werden durch die internen Sollwert-Rechentakte
des Interpolators J angesteuert. Diese Sollwert-Rechentakte für die Lagesollwerte
sind schematisch am Ausgang B des Interpolators dargestellt. Bei Auftreten eines
Rechentaktes wird vom Interpolator auch ein neuer errechneter Lagesollwert XK an
das Vergleichsglied V ausgegeben. Der Interpolator J gibt derartige Einzel-Lagesollwerte
pro Zeiteinheit aus. Je schneller der Interpolator J diese Einzelwerte ausgibt,
um so schneller wird die erwünschte Bahn durchfahren. Kommt also ein Sollwert-Rechentakt
B', so wird auch ein entsprechender Rechenwert als Einzel-Lagesollwert ausgegeben.
Kommen die Sollwert-Rechentakte zeitlich sehr schnell, so wird auch entsprechend
schnell verfahren. Kommen die Sollwert-Rechentakte dagegen langsam, so wird auch
entsprechend langsam verfahren.
-
Bei der bekannten Anordnung nach der Fig. 1 werden die Sollwert-Rechentakte
allein für den Interpolator J intern benötigt. Gemäß der Erfindung werden die Sollwerttakte
nunmehr für die Regelung mit herangezogen. Wie in der Fig. 2 angedeutet, steuern
sie den Zähler Z und den Speicher S an. Der Zähler Z ist derart ausgebildet, daß
er in seiner Ausgangsstellung von einem höchsten Wert nach niederen Werten zählt,
und zwar stets im Zeitraum zwischen zwei Rechentakten. Der Zähler Z ist als Binärzähler
ausgebildet und in seiner Ausgangsstellung (beispielsweise Takt B'; Fig. 2) auf
seinen Höchstwert eingestellt. Beispielsweise sei dieser Höchstwert LLLL. Der Zähler
Z fängt durch die ihn ansteuernden Impulse der Hilfsfrequenz P des Generators F
an zu zählen, wenn der Takt B' verschwindet. Er zählt abwärts bis zum Auftreten
des Taktes B". Treten die Sollwert-Rechentakte B', B" des Interpolators
J sehr langsam auf, so zählt der Binärzähler Z zwischen diesen Rechentakten
gegebenenfalls bis auf den Wert Null. Bei Auftreten des Taktes B" gibt der Zähler
Z den dann anstehenden Wert an den nachgeschalteten Speicher S ab. Der Zähler wird
darauf auf seinen Höchstwert zurückgestellt. Verschwindet der Takt B", so zählt
er von neuem. Der vom Speicher S übernommene niedrigste Zählwert des Zählers Z wird
zur Geschwindigkeitsregelung herangezogen. Es ist der
Wert X,,.
Er wird dem Speicher S entnommen und über die Tonstufe T dem Addierwerk
A zugeführt.
-
Liegt beispielsweise eine sehr langsame Folge von Sollwert-Rechentakten
B des Interpolators J vor, dann tritt auf jeden Fall am Ausgang des
Speichers S der Wert X" = 0 auf. Entsprechend wird durch das Addierwerk zum eingegebenen
Betrag der Regelabweichung Xu, der Wert Null hinzuaddiert. Damit wirkt auf den Regelkreis
nur die gerade vorliegende Lage-Regelabweichung X", ein. Da die Regelabweichung
X"., wie oben gefordert, nicht groß werden soll, läuft der Stellmotor M ganz langsam.
Dies ist auch erwünscht, da die Sollwert-Rechentakte B des Interpolators J langsam
kommen. Entsprechend wird auch das verstellbare Element der Maschine verfahren.
Es wird also, wie erwünscht, überhaupt kein Geschwindigkeitssollwert X" hinzugezählt.
-
Ist andererseits angenommen, daß die Folge der Sollwert-Rechentakte
B des Interpolators J mit der Frequenz des Generators F übereinstimmt, dann würde
der Zähler Z gerade einen Impuls vom Generator F erhalten und danach sofort zurückgestellt
werden. Das bedeutet jedoch, daß der Zähler Z immer auf seinem Höchstwert steht.
Damit übernimmt der dem Zähler Z nachgeschaltete Speicher S ständig den Höchstwert.
Dieser Höchstwert steht dann als Geschwindigkeissollwert X,, am Ausgang des Speichers
S an und wird über das Tor T auf das Addierwerk A gegeben. Damit wird mit maximaler
Geschwindigkeit gefahren. Das ist auch zu fordern, wenn die Lagesollwerte XK des
Interpolators J in sehr schneller Folge ausgegeben werden.
-
Die Geschwindigkeitsaddition zur Lageabweichung ist durch die Hilfsfrequenz
P des Frequenzgenerators F vorgegeben. Die Hilfsfrequenz P des Frequenzgenerators
F ist frei wählbar. Sie muß auf jeden Fall größer oder gleich der Frequenz der durch
den Interpolator J ausgegebenen Sollwert-Rechentakte B sein.
-
Der vorn den Impulsen P des Generators F angesteuerte Zähler Z zählt
vom Höchstwert zu kleineren Werten hin. Er kommt in der Zeiteinheit zu einem um
so kleineren Wert, je höher die Hilfsfrequenz ist. Dauert das Erscheinen von Sollwert-Rechentakt
B' zu Sollwert-Rechentakt B" b--ispielsweise 1 Sekunde, so wird der Zähler Z um
so niedriger zählen, je höher die höchste Frequenz des Generators ist. Je höher
die Höchstfrequenz des Generators F also gewählt wird, desto kleiner wird der vom
Speicher S ausgegebene Wert X,, und damit die Geschwindigkeits-Führungsgröße. Durch
Einstellung der Hilfsfrequenz P kann also vorgegeben werden, wie groß die Geschwindigkeitsaddition
sein soll. Der vom Zähler Z an den nachgeschalteten Speicher S abgegebene Wert ist
proportional der Sollwert-Rechentaktfrequenz.
-
Unter der Annahme, der Höchstwert des Zählers Z sei LLLL, wird er
nach dem ersten auftretenden Impuls P des Generators F den Zustand LLLO einnehmen.
Nach dem zweiten Impuls des Generators F wäre der Zustand des Zählers LLOL, nach
dem dritten Impuls LLOO, nach dem vierten Impuls LOLL usw. Tritt dann zu einem Zeitpunkt
ein Sollwert-Rechentakt B auf, so wird der momentane Zustand des Zählers Z an den
nachgeschalteten Speicher S abgegeben. Der Zähler Z wird darauf wieder auf seinen
Höchstwert LLLL gestellt. Selbstverständlich kann ein höherer Wert als LLLL für
den Zähler Z als Höchstwert gewählt werden. Bei gleicher Sollwert-Rechentaktfrequenz
würde vom Speicher S stets der gleiche Geschwindigkeitssollwert ausgegeben werden.
Wird die Hilfsfrequenz P des Generators F erhöht, so wird der Zähler Z in der gleichen
Zeiteinheit einen kleineren niedrigsten Wert als vorher erreichen. Dadurch wird
der Wert X,, nicht mehr so groß werden. Wenn die Hilfsfrequenz des. Generators F
dagegen verringert wird, so wird entsprechend der Wert X,, vergrößert werden. Der
am Ausgang des Speichers S auftretende Wert X" bleibt bis zum Erscheinen des nächsten
Sollwert-Rechentaktes B stehen.
-
Die vom Interpolato.r ausgegebenen Zuwachswerte J r sind nicht konstant.
Der Wert .J r kann beispielsweise im Verhältnis 1: 2 variieren, er kann also beispielsweise
zwischen 5 und 10 #tm liegen. Der Wert 1 r wird durch Division gewonnen. Da der
Wert J r nicht konstant ist, ist auch für eine bestimmte Gerade bestimmter Steigung
der Wert-] x nicht immer konstant. Gemäß einer weiteren Ausbildung wird die
Hilfsfrequenz des Generators F mittels eines Untersetzers U mit 1 x modifiziert.
Ist der Wert J x = 1, also so groß, daß _1 x mal der Sollwert-Rechentaktfrequenz
die erwünschte Geschwindigkeit ist, dann hat der Untersetzer U keine Wirkung. Ist
J x = 1/2, dann ist die Vorschubgeschwindigkeit nur halb so groß bei gleicher angenommener
Sollwert-Rechentaktfrequenz. Es muß dann dafür gesorgt werden, daß nur eine halb
so große Geschwindigkeitsaddition auftritt. Die Hilfsfrequenz des Generators F wird
in diesem Falle im Verhältnis 1: 2 untersetzt, was durch den Untersetzer U erfolgt.
-
Gibt der Frequenzgenerator F beispielsweise die Hilfsfrequenz 2 aus
und -]x sei = 1, dann wird durch den Untersetzer U die Hilfsfrequenz P im
Verhältnis 1 :2 untersetzt. Am Ausgang des Untersetzers tritt also der Wert 1 -
_I x auf. Ist J x = 1/2, dann muß mit doppelter Hilfsfrequenz gezählt werden. Bei
doppelter Hilfsfrequenz wird durch den Zähler Z auf einen doppelt so kleinen Wert
wie bei .J x = 1 und gleicher Taktfrequenz gezählt. Wenn -l x = 1/2 ist, dann ist
die Vorschubgeschwindigkeit halb so groß. Der Zähler Z muß also von seinem Höchstwert
auf einen so niedrigen Wert kommen, der halb so groß ist wie der Wert bei .I x =
1. Entsprechend wird der Wert X" am Speicher S auch halb so groß und damit die Geschwindigkeitsaddition
um die Hälfte verringert.
-
Der Untersetzer U kann gleichfalls als Binärzähler ausgebildet sein.
Auch dieser Zähler ist rückstellbar ausgebildet. Soll untersetzt werden, so zählt
der Zähler P des Generators F bis zum erforderlichen Untersetzungsverhältnis, beispielsweise
bei 1:4 von 0 bis 4, gibt dann ein Signal ab, und darauf wird er auf Null zurückgestellt.
In der Fig. 3 ist in schematischer Form ein derartiger Zähler Zn angedeutet, wie
er an anderer Stelle bereits vorgeschlagen ist. Die Zählstufen sind mit a bis f
angedeutet und als Addierwerke ausgebildet. Läßt man diesen Zähler zählen, so tritt
an der Stufe a die Frequenz 1., an der Stufe b die Frequenz 1/2, an der Stufe c
die Frequenz 1/4, an der Stufe d die Frequenz 1/1., an der Stufe e die Frequenz
1/1. und an der Stufe f die Frequenz 1/3.2 auf. In die Stufen werden die Impulse
P als Binärzahlen eingezählt. Den Addierwerken sind logische Schaltungen nachgeschaltet,
wie zwei mit g und h angedeutet sind. Die als Und-Stufe ausgebildete logische Schaltung
g spricht dabei beispielsweise auf die Zahl 3 an. Die Und-Stufe h spricht auf die
Zahl 4. an. Entsprechend könnten weitere Und-Stufen vorgesehen sein. Das am Ausgang
der Und-Stufe g auftretende
Signal stellt, wie durch die Leitung
10 schematisch angedeutet ist, den Zähler Z auf Null zurück. Der Zähler zählt also
beispielsweise von 1 bis 3, dann erscheint am Ausgang der Und-Stufe g ein Impuls,
der über die Leitung 10 den Zähler auf Null zurückstellt. An der Und-Stufe
h würde am Ausgang bei der Zahl 4 ein Impuls auftreten, der den Zähler wieder auf
Null stellen würde. Die Eingänge der Und-Stufe h sind bei der Zahl 4 = L. Sie sind
an die verneinten Ausgänge der Stufen a und b
und an den bejahten Ausgang
der Stufe c geschalet. Es können so Und-Stufen vorgesehen worden, die auf jede beliebige
Zahl ansprechen. Die Ausgangsimpulse der Und-Stufen gehen auf den Zähler Z (Fig.
2).
-
Es sind somit beliebige Frequenzuntersetzungen durch einen derart
ausgebildeten Zähler nach der Fig.3 erreichbar. Selbstverständlich kann jede beliebig
anders ausgebildete Frequenzuntersetzung für die Anordnung verwendet werden.