-
Steuerungseinrichtung und Betriebsverfahren für eine rechner-
-
geführte Steuerung bei einer numerisch gesteuerten Maschine, beisDielsweise
einer Werkzeuwiiaschine Die Erfindung bezieht sich auf eine Steuerungseinrichtung
und ein Betriebsverfahren für eine rechnergeführte Steuerung bei einer numerisch
gesteuerten Maschine, beispielsweise einer Werkzeugmaschine, bei der eine Anzahl
von Programmblöcken mit unterschiedlichen Prioritäten vorgesehen sind, die über
Anforderungen aufgerufen werden können. Eine solche Steuerungseinrichtung ist bekannt
aus Siemens-Zeitschrift 49 (1975) Heft 6, Seiten 346 bis 351, insbesondere Seite
350.
-
Bei der bekannten Steuerungseinrichtung sind für die Anforderung der
einzelnen Programmblöcke eine Anforderung beim Einschalten der Steuerung, eine Anforderung
bei jedem gelesenen Lochstreifenzeichen, eine Anforderung bei jedem Zyklustakt und
eine Daueranforderung vorgesehen. Die Programmblöcke werden nur dann abgearbeitet,
wenn die genannten Anforderungen vorliegen. Die eiazelnen Programmblöcke müssen
jedoch unterschiedlich oft ablaufen.
-
Die Laufzeiten der Programmblöcke können bei Jedem Durchlauf unterschiedlich
sein.
-
Es besteht daher die Aufgabe, die eingangs genannte, bekannte Steuerungsvorrichtung
so weiterzubilden, daß die Programmblöcke Jeweils von höherprioren Programmblöcken
unterbrechbar sind.
-
Erfindungsgemäß wird dies dadurch erreicht, daß jedem Programmblock
ein Register zugeordnet ist, in das bei einer Unterbrechung des betreffenden Programmblocks
der aktuelle Programmzustand, die aktuellen Daten und die Befehlsadresse der Unterbrechungsstelle
eingegeben werden, und daß ein Registerzeiger vorgesehen ist, der Jeweils auf eines
der Register von Programmblöcken mit Daueranforderung zeigt und der programmiert
umgesetzt werden kann.
-
Bei der erfindungsgemäßen Steuerungseinrichtung arbeitet Jeder Programmblock
mit einem eigenen Register. Diese Register bestehen aus einer Anzahl von Speicherstellen,
welche die aktuellen Daten für den betreffenden Prpgrammblock enthalten. Jeder Programmblock
kann nach jeder Operation zugunsten eines höherprioren und häufiger zu durchlaufenden
Programmblocks unterbrochen werden. Der den Programmablauf fortsetzende Programmblock
arbeitet wiederum mit einem eigenen Register. Die Daten des unterbrochenen Programmblocks
werden daher nicht zerstört. Damit der unterbrochene Programmblock nach der Unterbrechung
an der richtigen Stelle fortgesetzt wird, wird die Befehlsadresse der Unterbrechungsstelle
ebenfalls zwischengespeichert. Weiterhin wird der aktuelle Programmzustand gespeichert,
wie beispielsweise Anzeigen, Überlauf usw.
-
Bei einer Steuerungseinrichtung der eingangsgenannten Art ist ein
Betriebsverfahren bekannt, bei dem für den höchstprioren Programmblock für ein Anlaufprogramm
eine diskrete Aufforderung beim Einschalten der Steuerung, für den nächst niederprioren
Programmblock für ein Leseprogramm eine diskrete Anforderung bei Jedem Lochstreifenzeichen,
für den nächst niederprioren Programmblock für ein Steuerungsprogramm eine diskrete
Anforderung bei Jedem Zyklustakt und Daueranforderungen für die niederstprioren
Programmblöcke für ein Verarbeitungsprogramm und ein Hilfsprogramm vorgesehen sind.
Die erfindungsgemäi Steuerungseinrichtung ermöglicht ein vorteilhaftes Betriebsverfahren
mit folgenden Merkmalen:
a) Die Antbrderungen für Programmblöcke,
für die diskrete Anforderungen vorgesehen sind, werden am Ende des betreffenden
Programmblocks gelöscht, b) in Jedem niederprioren Programmblock sind zusätzliche
diskrete Anforderungen für einen höherprioren Programmblock programmierbar, c) am
Ende der niederstprioren Programmblocks mit diskreter Anforderung ist ein Umsetzbefehl
für den Registerzeiger programmiert, der den Registerzeiger auf den höherprioren
Programmblock mit Daueranforderung setzt, d) zum Umsetzen des Registerzeigers vom
höherprioren Programmblock mit Dsueranoforderung auf den niederstprioren Programmblock
mit Daueranforderung wird zunächst eine Anforderung für den höchstprioren Programmblock
mit diskreter Anforderung programmiert; in diesem höchstprioren Programmblock wird
ein Umsetzbefehl für den Registerzeiger programmiert und nach dem Umsetzen des Registerzeigers
wird die Anforderung für den höchstprioren Programmblock gelöscht.
-
Ein Ausführungsbeispiel der Erfindung und ihre in den Unteransprüchen
näher gekennzeichneten Weiterbildungen wird anhand der Zeichnung näher erläutert:
Die dargestellte Systemübersicht über eine erfindungsgemäße Steuerungseinrichtung
zeigt einen Programmspeicher PO für ein Anlaufprogramm, einen Programmspeicher P1
für ein Leseprogramm, einen Programmspeicher P2 für ein Steuerungsprogramm, einen
Programmspeicher P3 für ein Vorbereitungsprogramm und einen Programmspeicher P4
für ein Hilf sprogramm.
-
Unter einem Anlaufprogramm PO werden Operationen verstanden, die beim
Einschalten der Stromversorgung 1 die dynamischen Speicher wieder in den Urzustand
zurücksetzen (Urlader) und die weiteren Programme zum erneuten Anlaufen vorbereiten
(Wiederanlauf). Bevor dies nicht geschehen ist, dürfen keine Anforderungen für diese
weiteren Programme angenommen werden. Das Anlaufprogramm
wird mit
einer diskreten Anforderung AO von der Stromversorgung 1 nach dem Einschalten als
höchstpriores Programm angefordert. Das Anl&ufprogramm ist nicht unterbrechbar.
-
Unter einem Leseprogramm Pl werden Operationen verstanden, die der
Steuerung des Lesers 2, beispielsweise eines Lochstreifenlesers, und der Vordekodierung
dienen. Das Leseprogramm soll immer dann laufen, wenn der angeschlossene Lochstreifenleser
2 ein Zeichen vom Lochstreifen gelesen hat. Das Leseprogramm verarbeitet dieses
Lochstreifenzeichen. Die diskrete Anforderung Al für das Leseprogramm ist deshalb
mit dem Leser-takt der Lesersteuerung gekoppelt.
-
Unter einem Steuerungsprogramm P2 werden Operationen verstanden, die
der Fahrlogik der Werkzeugmaschine und der Geometrieberechnung dienen. Das Steuerungsprogramm
dient zur Ermittlung der Vorschübe in den gesteuerten Maschinenachsen. Ein zyklischer
Taktgeber 3 bildet diskrete Anforderungen A2 für das Steuerungsprogramm bei jedem
Zyklustakt. Das Steuerungsprogramm kann mehrere Male vom Leseprogramm unterbrochen
werden, wenn der Lochstreifenleser 2 gerade einen Lochstreifen einzieht.
-
Unter einem Vorbereitungsprogramm P3 werden Operationen verstanden,
die der Informationsvorbereitung dienen, beispielsweise die Dekodierung und Bearbeitung
von Eingabewerten, Korrekturrechnungen und Ausgabe von Hilfsfunktionen. Für das
Vorbereitungsprogramm liegt eine Daueranforderung DA1 vom Rechner 4 vor.
-
Unter einem Hilfsprogramm P4 werden Operationen verstanden, die nicht
synchron mit den anderen Programmen ablaufen, beispielsweise periphere Anforderungen
oder freilaufende Leser, Ldschprogramme usw. Für das Hilfsprogramm P4 liegt ebenfalls
eine Dauerantbrderung DA2 vom Rechner 4 vor.
-
Den einzelnen Programmblöcken sind Jeweils Register RO, RI, R2, R3,
R4 zugeordnet, die Jeweils eine Anzahl von Speicherstellen enthalten. Bei einer
Unterbrechung des zugehörigen Programmblocks
bleiben die aktuellen
Daten im zugehörigen Register gespeichert.
-
Außerdem wird die Befehlsadresse der Unterbrechungsstelle und der
aktuelle Programmzustand gespeichert.
-
Für die beiden Programmblöcke mit Daueranforderung für ein Vorbereitungsprogramm
und ein Hilfsprogramm ist zusätzlich ein Registerzeiger RZ vorgesehen, der Jeweils
auf eines der Register R3 bzw. R4 zeigt. Der Registerzeiger RZ kann programmiert
umgesetzt werden.
-
Bei einer rechnergeführten Steuerung einer numerisch gesteuerten Werkzeugmaschine
läuft im Rechner 4 ständig ein bestimmtes Programm ab. Das Gesamtprogramm ist in
Programmblöcke aufgeteilt, die aus dem Anlaufprogramm, sowie dem Leseprogramm, dem
Steuerungsprogramm, dem Vorbereitungsprogramm und dem Hilfsprogramm bestehen. Die
einzelnen Programmblöcke sollen zeitlich geschachtelt ablaufen. Die Häufigkeit des
Ablaufens ist für die einzelnen Programmblöcke unterschiedlich. Das Leseprogramm
soll am häufigsten durchlaufen werden, das Hilfsprogramm am seltensten.
-
Die Laufzeit der Programmblöcke ist bei Jedem Durchlauf unterschiedlich.
-
Jedes Programm arbeitet während des Laufens mit einem eigenen Register.
Die Register bestehen aus einer Anzahl von Speicherzellen, die die aktuellen Daten
für den betreffenden Programmblock enthalten. jedes Programm kann nach jeder Operation
zugunsten eines höherprioren und häufiger zu durchlaufenden Programmblocks unterbrochen
werden. Der den Programmablauf fortsetzende Programmblock arbeitet mit einem eigenen
Register und zerstört nicht die Daten des unterbrochenen Programmblocks.
-
Damit der unterbrochene Programmblock nach der Unterbrechung an der
richtigen Stelle fortgesetzt wird, wird die Befehlsadresse der Unterbrechungsstelle
zwischengespeichert. Dies geschieht ebenfalls im Register. Im Register wird auch
der aktuelle Programmzustand, wie Anzeigen, Sberlauf usw. zwischengespeichert.
-
Der Rechner kann Jeden beliebigen Programmblock anfordern. Wird ein
Programmblock angefordert, so kommt er nach Beendigung der gerade bearbeiteten Operation
sofort zum Laufen, vorausgesetzt, es wird nicht gerade ein höherpriorer Programmblock
bearbeitet.
-
Die Anforderung bleibt solange bestehen, bis sie vom Programmblock
selbst wieder gelöscht wird. Dies ist in der Zeichnung durch die schwarzen Kästchen
an den Programmblöcken angedeutet, von denen aufwärts gerichtete Doppelpfeile ausgehen.
Dies soll bedeuten, daß die ebenfalls durch Doppelpfeile dargestellte Anforderung
für diesen Programmblock am Ende des Programmblocks gelöscht wird.
-
Das Anlaufprogramm PO wird beim Einschalten der Stromversorgung 1
durch die diskrete Anforderung AO angefordert. Es kann aber auch während des Programmablaufs
in Jedem beliebigen anderen Programmblock programmiert angefordert werden.
-
Für die Programmblöcke PA für das Vorbereitungsprogramm und P4 für
das Hilfsprogramm bestehen Daueranforderungen DA1 und DA2.
-
Die Daueranforderungen können nicht gelöscht werden. Dies bedeutet,
daß im Rechner immer ein Programm laufen wird, auch wenn keine Anforderungen für
das Anlaufprogramm PO,- das Leseprogramm P1, oder das Steuerungsprogramm P2 vorhanden
sind. Ob das Vorbereitungsprogramm P3 oder das Hilfsprogramm P4 läuft, entscheidet
sich nach der Stellung des Registerzeigers RZ, der sowohl auf das Vorbereitungsprogramm
P3 als auch auf das Hilfsprogramm P4 weisen kann. Der Registerzeiger RZ kann programmiert
umgesetzt werden.
-
Bevor der Programmblock P2 für das Steuerungsprogramm am Ende seine
Anforderung löscht, setzt er den Registerzeiger RZ auf das Vorbereitungsprogramm.
Dies ist durch ein schwarzes Kästchen angedeutet. Das Vorbereitungsprogramm P3 fragt
beispielsweise alle Eingangssignale der Steuerung ab und führt dementsprechende
Funktionen aus. Der Programmblock P3 für das Vorbereitungsprogramm setzt am Ende
den Registerzeiger RZ auf den Programmblock P4 für das Hilfsprogramm. Das Hilfsprogramm
läuft somit immer, wenn kein anderes Programm angefordert ist.
-
Der Wechsel vom Vorbereitungsprogramm P3 zum Hilfsprogramm P4 wird
programmiert durchgeführt. Dabei wird der Registerzeiger RZ umgesetzt. Weiterhin
werden aber auch die zwischengespeicherten Daten für den Programmzustand und die
Befehlsadresse aktualisiert. Dies geschieht in mehreren Einzeloperationen. Zwischen
diesen Einzeloperationen wäre das Programm Jedoch unterbrechbar zugunsten der höherpbioren
Programmblöcke Pl und P2 für das Leseprogramm und das Steuerungsprogramm. Bei einer
solchen Unterbrechung würden die Daten verloren gehen, die aus dem betreffenden
Register geholt wurden, aber noch nicht wieder im Rechner abgelegt sind. Um den
Verlust dieser Daten zu verhindern, erfolgt erfindungsgemäß das Umsetzen des Registerzeigers
RZ durch den Programmblock PO für das Anlaufprogramm. Der Programmblock P3 für das
Verbereitungsprogramm fordert zunächst den Programmblock PO für das Anlaufprogramm
an. Im Programmblock PO wird der Registerzeiger RZ umgesetzt. Während dieser Zeit
ist das Programm nicht mehr unterbrechbar, da der Programmblock PO für das Anlaufprogramm
höchste Priorität aufweist und nicht unterbrechbar ist. Nach dem Umladen des Registerzeigers
RZ löscht der Programmblock PO die Anforderung. Damit ist das Programmsystem wieder
freigegeben.
-
Der Programmblock P2 für das Steuerungsprogrnmm ist normalerweise
niederprior gegenüber dem Programmblock Pl für das Leseprogramm.
-
Das Steuerungsprogramm kann somit Jederzeit vom Leseprogramm unterbrochen
werden. Es ist Jedoch vorteilhaft, wenn während dines gewissen Zeitbereichs am Anfang
der Taktzeit das Steuerungsprogramm nicht unterbrechbar ist, wenn in diesem Zeitbereich
Daten in gleichmäßigen Abständen ausgegeben werden sollen. Um dies zu erreichen,
wird zu Beginn der Anforderung A2 für einen gewissen Zeitraum die Anforderung Al
abgeblockt.
-
3 Patentansprüche
Leerseite