-
21. Industrieller Steuerprozessor nach Anspruch 20,
-
gekennzeichnet durch eine Vorrichtung zum Entwickeln und Aufbereiten
der maschinenspezifischen Software-Routine, die aufweist: eine Tastaturvorrichtung
mit einer ersten Gruppe manuell betätigbarer Tasten zum Erzeugen einer ersten Gruppe
von Zeichentabellen-Codes, die einer Gruppe von Steuergerätbefehls-Operationscodes
entsprechen, mit einer zweiten Gruppe manuell betätigbarer Tasten zum Erzeugen einer
zweiten Gruppe von Zeichentabellen-Codes, die numerischen Werten entsprechen, und
mit einer dritten Gruppe manuell betätigbarer Tasten zum Erzeugen einer dritten
Gruppe von Zeichentabellen-Codes, die einer Gruppe von Aufbereitungsfunktionen entsprechen;
eine Vorrichtung, die in Abhängigkeit von der ersten Gruppe von Zeichentabellen-Codes,
die von der Tastaturvorrichtung erzeugt wurden, wählbar Steuergerätbefehls-Operationscodes
für die die maschinenspezifische Software-Routine speichernde Vorrichtung erzeugt;
eine Vorrichtung, die in Abhängigkeit von der zweiten Gruppe von Zeichentabellen-Codes,
die von der Tastaturvorrichtung erzeugt wurden, wählbar binärcodierte Zahlen für
die die maschinenspezifische Software-Routine speichernde Vorrichtung erzeugt; und
eine Vorrichtung, die in Abhängigkeit von der dritten Gruppe von Zeichentabellen-Codes,
die von der Tastaturvorrichtung erzeugt wurden, wählbar Aufbereitungsfunktionen
mit den in der Speichervorrichtung für die maschinenspezifische Software-Routine
gespeicherten Steuergerätbefehlen durchführt.
-
22. Industrieller Steuerprozessor nach Anspruch 21, d a d u r c h
g e k e n n z e i c h n e t, daß die Vorrichtung zum Entwickeln und Aufbereiten
der maschinenspezifischen Software-Routine ferner aufweist eine Sichtvorrichtung
zum Erzeugen von Leiterdiagrammen in Abhängigkeit von einer empfangenen Gruppe von
Codes und eine an die Sichtvorrichtung und die Speichervorrichtung für die maschinenspezifische
Software-Routine angeschlossene Vorrichtung zum Erzeugen einer Gruppe von Codes
für die Sichtvorrichtung,
die einer ausgewählten Gruppe von Steuergerätbefehlen,
die einen booleschen Ausdruck aufweisen, entspricht.
-
Industrieller Steuerprozessor und numerische Steuereinrichtung Die
Erfindung liegt auf dem Gebiet der numerischen Steuereinrichtungen für Werkzeugmaschinen,
insbesondere industrieller Prozessoren, die sowohl zur Steuerung der Achsenlage
und Bewegung bei einer Mehrachsen-Werkzeugmaschine als auch zur Steuerung der einzelnen,
digitalen Vorrichtungen, die zur Werkzeugmaschine gehören, geeignet sind.
-
Numerische Steuerprozessoren sind bislang als festverdrahtete elektronische
Spezialzweck-Rechner ausgebildet worden. Diese festverdrahteten Steuerrechner sind
mit Servosteuereinheiten (Regeleinrichtungen) an der Werkzeugmaschine gekoppelt,
um die Bewegung eines Schneidwerkzeugs längs einer oder mehrerer Achsen (oordinaten)
zu steuern, und mit elektromechanischen Relais oder getrennten Halbleiter-Steuerschaltungen
zur Steuerung der einzelnen digitalen Vorrichtungen, die Hilfsfunktionen ausführen,
wie Werkzeugwechsel und -wahl, Palettenwechsel und -wahl sowie Kühlmittel steuerung.
Alle Werkzeugmaschinenfabrikate und -typen haben ihre eigenen speziellen digitalen
Vorrichtungen und erfordern dementsprechend eigene spezielle Steuerschaltungen.
Bislang hat man es den Werkzeugmaschinenherstellern verlassen, die Relais-Schalttafel
oder Halbleiter-Steuerschaltung zu entwickeln und sie für den Anschluß an die numerische
Steuereinrichtung anzupassen. Dies ist zeitaufwendig und erhöht die Gesamtkosten
der Maschine.
-
Nach der USA-Patentschrift 3 810 104 ist die Anpassung einer numerischen
Steuereinrichtung an eine bestimmte Werkzeugmaschine durch Verwendung eines programmierbaren
Steuergeräts mit dem numerischen Steuerprozessor wesentlich erleichtert worden.
Das programmierbare Steuergerät kann leicht vom Werkzeugmaschinenhersteller so programmiert
werden, daß esdie einzelnen digitalen Vorrichtungen an jeder Werkzeugmaschine betätigt,
so daß die zeitaufwendige und kostspielige Entwicklung spezieller Steuerschaltungen
für jedes Fabrikat entfällt. Eine numerische Steuereinrichtung, bei der die Lehre
dieser USA-Patentschrift angewandt wird, wird von der Anmelderin als Modell 4500
hergestellt und vertrieben.
-
Sodann hat man digitale Universal-Rechner als numerische Steuerprozessoren
verwendet. "Minicomputer", wie der Typ 2100A der HEWLETT-Packard Company und der
Typ PDP-8 der Digital Equipment Corporation,werden so programmiert, daß sie numerische
Steueraufgaben durchführen, und sowohl an die Servosteuereinheiten als auch an die
einzelnen digitalen Vorrichtungen einer Werkzeugmaschine angepaßt. Die Programme,
die den elektronischen Minirechner so steuern, daß er sowohl eine Achsensteuerung
als auch maschinenabhängige logische Funktionen durchführt, werden im Arbeitsspeicher
des Rechners in Maschinensprache gespeichert. Um den Betrieb einer solchen Einrichtung
zu ändern, so daß sie den speziellen Anforderungen einer bestimmten Werkzeugmaschine
genügt, mufl der Werkzeugmaschinenhersteller erfahrene Programmierer anstellen,
die das gesamte "Software-Systemt' beherrschen. Zusätzlich zu den Schwierigkeiten
und der Kompliziertheit der Echtzeit-Rechnerprogrammierung, die diese Einrichtung
bietet, bedeutet die Steuerung der einzelnen digitalen Werkzeugmaschinen-Vorrichtungen
mit einem digitalen Universal-Rechner eine erhebliche Verschwendung an kostspieligem
Arbeitsspeicherplatz und wertvoller Rechnerzeit.
-
Die Erfindung bezieht sich auf einen Prozessor für eine
numerische
Steuereinrichtung, die so programmiert werden kann, daß sie die Servorsteuereinheiten
an einer Mehrachsen-Werkzeugmaschine betätigt, und die so programmiert werden kann,
daß sie die maschinenabhängigen logischen Funktionen durchführen kann. Der erfindungsgemäße
Prozessor weist insbesondere ein erstes Mittel auf, das in Abhängigkeit von einem
ersten Satz aus Makrobefehlen, die im Prozessor-Arbeitsspeicher gespeichert sind,
Zahlen verarbeitet und mit ihnen arithmetische Funktionen durchführt, sowie ein
zweites Mittel, das in Abhängigkeit von einem zweiten Satz aus Makrobefehlen, die
im Prozessor-Arbeitsspeicher gespeichert sind, einzelne Daten-Bits behandelt und
mit ihnen logische Funktionen durchführt. Bei der Art des ersten Makrobefehlssatzes
handelt es sich um eine solche, wie sie üblicherweise in digitalen Universal-Rechnern
verwendet wird, während es sich bei dem zweiten Makrobefehlssatz um einen solchen
handelt, wie er üblicherweise in programmierbaren Steuergeräten verwendet wird.
Der erfindungsgemäße industrielle Prozessor stellt daher eine Vereinigung eines
numerischen Steuerprozessors mit einem programmierbaren Steuergerät zu einer vollständigen
Werkzeugmaschinensteuerung dar.
-
Nach der Erfindung ist es möglich, eine maschinenabhängige Logik für
eine numerische Steuereinrichtung zu schaffen, die leicht vom Werkzeugmaschinenhersteller
programmierbar ist.
-
Ein vorgewahlter Teil des Prozessor-Arbeitsspeichers wird für Befehle
reserviert, die die maschinenabhängige Logik durchführen. Bei diesen Befehlen handelt
es sich um solche, wie sie üblicherweise in programmierbaren Steuergeräten verwendet
werden, und sie können vom Werkzeugmaschinenhersteller über eine zur Einrichtung
gehörige Tastatur eingegeben werden.
-
Ein Kathodenstrahlröhren-Sichtgerät gehört ebenfalls zu der Einrichtung,
und als maschinenabhängige Logik werden Befehle vom Werkzeugmaschinenhersteller
eingegeben, und ein Leiter-Diagramm, das die auf diese Weise entwickelte maschinenabhängige
Logik anzeigt, wird auf dem Kathodenstrahlröhren-
Bildschirm wiedergegeben.
Sodann können vom Werkzeugmaschinenhersteller Redigierfunktionen, wie sie in der
USA-Patentschrift 3 813 649 beschrieben sind, durchgeführt werden, um das maschinenabhängige
Logikprogramm mittels der Tastatur zu ändern. Erfindungsgemäß ist es auch möglich,
einen digitalen Prozessor zu schaffen, der Befehle ausführt, wie sie gewöhnlich
in digitalen Universal-Rechnern und in programmierbaren Steuergeräten verwendet
werden. Dies wird teilweise von einem Bit-Hinweiser bewirkt, der an ein Befehlsregister
im Prozessor angeschlossen ist, und teilweise von einem Echtzeit-Taktgeber, der
an den Prozessor-Datenkanal angeschlossen ist.
-
Diese Elemente ermöglichen es in Verbindung mit den Speicherregistern
im Prozessor, Befehle programmierbarer Steuergeräte unmittelbar und effizient auszuführen.
-
Die Erfindung und ihre Weiterbildungen werden im folgenden anhand
der Zeichnungen näher beschrieben, die ein bevorzugtes Ausführungsbeispiel darstellen.
Es zeigt: Fig. 1 eine perspektivische Ansicht einer in einem Schrank angeordneten,
numerischen Steuereinrichtung, die an eine Werkzeugmaschine angeschlossen ist, Fig.
2 eine perspektivische Ansicht der numerischen Steuereinrichtung nach Fig. 1 bei
geöffneter Schranktür, Fig. 3 ein Blockschaltbild der numerischen Steuereinrichtung
nach Fig. 1, die Fig. 4A und 4B ein Blockschaltbild des industriellen Steuerprozessors,
der einen Teil der Einrichtung nach Fig. 3 bildet, Fig. 5 ein Blockschaltbild des
Rechen- und Logikprozessors, der einen Teil des industriellen Steuerprozessors nach
Fig. 4B bildet, Fig. 6 ein Blockschaltbild der Eingabe/Ausgabe-Schaltung, die einen
Teil des industriellen Steuerprozessors nach Fig. 4B bildet,~~ ~
Fig.
7 ein schematisches Schaltbild der Prioritätskodierschaltung, die einen Teil des
industriellen Steuerprozessors nach Fig. 4A bildet, Fig. 8 ein Blockschaltbild der
Echtzeit-Taktgeberschaltung, die ein Teil des industriellen Steuerprozessors nach
Fig. 4B bildet, Fig. 9 ein Flußdiagramm des Software-Systems, Fig. 10 eine schematische
Darstellung der Beziehung der externen E/A-Vorrichtungen zu Plätzen im Haupt-Arbeitsspeicher
des Prozessors nach Fig. 4A, Fig. 11 eine schematische Darstellung eines Teils des
Taktgeber-Zählers und Wortspeichers nach Fig. 10, Fig. 12A eine schematische Zeichnung
zur Erläuterung der Programmierung des Prozessors nach Fig. 4A, Fig. 12B ein Leiterdiagramm
zur Veranschaulichung der Programmierung des Prozessors nach Fig. 4A, Fig. 13 ein
Flußdiagramm der Haupt-Steuergerät-Routine, die einen Teil des Software-Systems
nach Fig. 9 bildet, die Fig. 14A und 14B ein Flußdiagramm der Blockausführungs-Routine,
die einen Teil des Software-Systems nach Fig. 9 bildet, die Fig. 15A und 15B ein
Flußdiagramm der Zehn-Millisekunden-Takt-Unterbrechungsroutine, die einen Teil des
Software-Systems nach Fig. 9 bildet, Fig. 16 eine Darstellung einer einzigen Tastatur,
die anstelle der zwei in Fig. 1 dargestellten Tastaturen verwendet werden kann,
die Fig. 17 und 18 Flußdiagramme der Programmredigier-Routine,
die
einen Teil des Software-Systems nach Fig. 9 bildet, die Fig. 19A - C Flußdiagramme
der Subroutinen, die von der Programmredigier-Routine nach Fig. 18 aufgerufen werden,
und die Fig. 20A und B ein Flußdiagramm einer XIC-Taste-Subroutine, die von der
Programmredigierroutine nach Fig. 18 aufgerufen wird.
-
Nach Fig. 1 ist eine numerische Steuereinrichtung in einem Schrank
1 untergebracht und über ein Kabel 2 mit einer Vielfunktions-Werkzeugmaschine mit
automatischem Werkzeugwechsler 3 verbunden. Die numerische Steuereinrichtung steuert
die Bewegung eines Schneidwerkzeugs 4 längs zweier oder mehrerer Bewegungsachsen
(Koordinaten) in Abhängigkeit von einem Teilprogramm, das von einem Brndleser 5
abgelesen wird. Außerdem steuert die numerische Steuereinrichtung in Abhängigkeit
von Befehlen, die vom Bandleser 5 gelesen wurden, Hilfsfunktionen der Werkzeugmaschine
3, wie eine selbsttätige Werkzeugwahl und-auswechslung aus einem Werkzeugmagazin
6, Palettenwahl und -wechsel, SpindeldrehzahE und Kühlmittelbetatigung. Die Verwirklichung
dieser Hilfsfunktionen umfaßt das Abtasten von 1-Bit-Signalen, die von mehreren
Eingabe-Vorrichtungen erzeugt werden, z.B. von Grenzschaltern,ählschaltern und Fotozellen,
die an der Werkzeugmaschine 3 angebracht sind, und die Betätigung einer Vielzahl
von Ausgabevorrichtungen, wie Hubmagneten, Lampen, Relais und Motoranlasser. Die
Anzahl und Art dieser Eingabe- und Ausgabevorrichtungen sowie die Art, in der sie
betrieben werden, ist von Maschine zu Maschine unterschiedlich.
-
Die numerische Steuereinrichtung nach der Erfindung läßt sich leicht
an alle Werkzeugmaschinenfabrikate anpassen. Diese Anpassung erfolgt durch Programmierung
der numerischen Steuereinrichtung mittels einer Hilfstastatur 7 derart, daß wählbar
der
Zustand der jeweiligen Eingabevorrichtungen der zu steuernden Werkzeugmaschine abgetastet
und ihre Ausgabevorrichtungen wählbar so gesteuert werden, daß sie die gewünschte
Operationsart durchführen.
-
An der Tür des Schranks 1 unmittelbar über der Hilfs-Tastatur 7 ist
eine manuelle Dateneingabe-Tastatur 8 (MDE-Tastatur) und ein zugehöriges Kathodenstrahlröhren-Sichtgerät
9 angeordnet.
-
Rechts von der MDE-Tastatur 8 und dem Sichtgerät 9 ist eine Hauptsteuertafel
10 angebracht, die eine Vielzahl von Drucktasten und Wählschaltern für herkömmliche
Bedienungsaufgaben, wie Betriebsartwahl, Vorschubgeschwindigkeitsübersteuerung,
Spindeldrehzahlübersteuerung, Tastbetriebswahl, Achsenwahl und dergleichen, aufweist.
Eine der Drucktasten gibt die Tastaturen 7 und 8 zur Dateneingabe frei.
-
Zu insbesondere den Fig. 2 und 3: Die Elemente der numerischen Steuereinrichtung
sind im Schrank 1 so angeordnet, daß sie leicht zur Inspektion, Prüfung und Wartung
zugänglich sind.
-
Die Tastaturen 7 und 8 sind zusammen mit Bandleser 5, Sichtgerät 9
und Hauptsteuertafel 10 an der Schranktür 11 angebracht. Eine sekundäre Steuertafel
12 ist unmittelbar über dem Bandleser 5 angeordnet,und alle diese E/A-Vorrichtungen
der Einrichtung sind an einen industriellen Steuerprozessor 13 angeschlossen, der
am Boden des Schranks 1 angeordnet ist.
-
Im einzelnen verläuft die Verbindung des Bandlesers 5 über ein Kabel
14, die der sekundären Steuertafel 12 über ein Kabel 15, die der Hilfstastatur 7
über ein Kabel 16, die des Sichtgeräts 9 über ein Kabel 17 und die der Hauptsteuertafel
10 über ein Kabel 18 zu einem Sammelkabel 19, das zum industriellen Steuerprozessor
13 führt. Eine Prozessorfronttafel 26 weist mehrere manuell betätigbare Drucktasten
und Sichtanzeigen auf, die sich auf die Betätigung des Prozessors 13 beziehen und
mit diesem über eine Vielfachleitung 27 (bzw. einen Kanal 27) verbunden sind.
-
Zwei Eingabe/Ausgabe-(E/A)-Schnittstellengestelle 20 und 21 sind im
Schrank 1 über dem Prozessor 13 angeordnet und mit
diesem über
ein Ssamelkabel 22 verbunden, das links von ihnen nach oben verläuft. Ein Hauptstromversorgungsgerät
23 ist über dem E/A-Schnittstellengestell 21 angeordnet, während ein Arbeitsspeicher-Stromversorgungsgerät
24 an der linken Seitenwand des Schranks 1 angeordnet ist.
-
Die E/A-Schnittstellengestelle 20 und 21 tragen eine Vielzahl von
Eingabe- und Ausgabeschaltungen auf dicht benachbarten, vertikal stehenden gedruckten
Schaltungsplatten (die in den Zeichnungen nicht dargestellt sind). Diese Eingabe-
und Ausgabeschaltungen dienen zur Ankopplung des industriellen Steuerprozessors
13 an das Kabel 2, das zur Werkzeugmaschine 3 führt, und können Eingabeschaltungen
zur Abtastung des Zustands von Grenz-, Wähl- und Drucktasten-Schaltern, wie sie
z.B. in der USA-Patentschrift 3 643 115 angegeben sind, und Ausgabeschaltungen für
den Antrieb von Hubmagneten und Motoren aufweisen, wie sie in der USA-Patentschrift
3 745 546 angegeben sind. Die Eingabeschaltungen weisen auch Lage-Istwert-Akkumulatoren
auf, denen Istwertdaten von Lage-Meßumformern an der Werkzeugmaschine 3 zugeführt
werden, und die Ausgabeschaltungen weisen Register zur Übertragung von Achsenbewegungs-Sollwerten
an die Werkzeugmaschinen-Regelvorrichtungen (Servovorrichtungen) auf. Nähere Einzelheiten
bezüglich des mechanischen Aufbaus der E/A-Schnittstellengestelle 20 und 21 können
der USA-Patentschrift 3 992 654 entnommen werden. Der Schrank 1 mit den beiden E/A-Schnittstellengestellen
20 und 21 reicht zur Steuerung einer typischen Drei-Achsen-Werkzeugmaschine aus.
Wenn jedoch eine größere Anlage erforderlich ist, können bis zu fünf zusätzliche
E/A-Schnittstellengestelle in benachbarten Schränken zur Erhöhung der Eingabe/Ausgabe-Kapazität
untergebracht werden.
-
Nach den Fig. 4A und 4B ist der industrielle Steuerprozessor 13 um
einen 16-Bit-bidirektionalen-Prozessor-Datenkanal 30 herum angeordnet. Die Daten
werden über diesen Kanal 30 von einem Prozessor-Element zum anderen bei der Ausführung
eines
Mikrobefehls übertragen, der in einem 24-Bit-Mikrobefehlsregister
31 gespeichert ist. Jeder Mikrobefehl bestimmt die Quelle der Daten, die dem Datenkanal
30 zugeführt werden sollen, den Bestimmungsort der Daten und alle Operationen, die
mit den Daten ausgeführt werden sollen. Die Mikrobefehle sind in einem Mikroprogramm-Festspeicher
32 gespeichert, und alle 200 Nanosekunden wird einer über einen Kanal 33 ausgelesen
und ins Mikrobefehlsregister 31 übertragen. Der Festspeicher 32 speichert eine große
Anzahl getrennt adressierbarer oder wählbarer Mikroroutinen, von denen jede aus
einem Satz von Mikrobefehlen besteht. Wenn der Prozessor 13 eine gewünschte Funktion
ausführen soll, wird die entsprechende Mikroroutine in dem Festspeicher 32 gespeichert
und durch einen 16-Bit-Makrobefehl, der in einem Lese-Schreib-Hauptarbeitsspeicher
34 gespeichert ist, ausgewählt bzw. aufgerufen.
-
Der Haupt-Arbeitsspeicher 34 besteht aus dynamischen 4K-durch-1-MOS-Direktzugriffsspeichern,
die eine Speicherkapazität von bis zu 32000 16-Bit-Wörtern haben. Aus dem bzw. in
den Haupt-Speicher 34 werden Makrobefehle und Daten über ein 16-Bit-Arbeitsspeicher-Datenregister
35, das an den Prozessor-Datenkanal 30 angeschlossen ist, ausgelesen bzw. eingeschrieben.
-
Die Arbeitsspeicher-Wörter werden über ein 15-Bit-Arbeitsspeicher-Adressenregister
36 ausgewählt oder adressiert, das ebenfalls an den Prozessordatenkanal 30 angeschlossen
ist. Um eine Information in den Haupt-Arbeitsspeicher 34 einzuschreiben, wird zuerst
eine Adresse in das Arbeitsspeicher-Adressen register 36 geladen, indem seiner Taktleitung
29 ein 1-Signal (in Form einer hohen Spannung) zugeführt wird. Die einzuspeichernden
Daten erscheinen in dem Prozessordatenkanal 30 und werden durch da s Arb das Arbeitsspeicher-Datenregister
durch Anlegen eines 1-Signals an seine Dateneingabe-Taktleitung 27 durchgeschaltet.
Dann wird einer Lese/Schreib-Steuerleitung 34' am Arbeitsspeicher 34 ein 1-Signal
zugeführt, um die Ladeoperation abzuschließen. Daten oder ein Makrobefehl werden
über eine adressierte Leitung des Haupt-Arbeitsspeichers 34
ausgelesen,
wenn ein Mikrobefehl LESEN ausgeführt wird. Der Lese/Schreib-Steuerleitung 34' wird
ein O-Signal (eine niedrige Spannung) und einer Datenausgabe-Freigabeleitung 28
am Arbeitsspeicher-Datenregi ster 35 ein 1-Signal zugeführt.
-
Das Datenwort wird vorübergehend im Register 35 gespeichert und anschließend
über den Prozessor-Datenkanal 30 zur gewünschen Stelle übertragen.
-
In Abhängigkeit von der Ausführung einer Mikroroutine AB-RUFEN, die
den Mikrobefehl LESEN enthält, wird ein Makrobefehl aus dem Haupt-Arbeitsspeicher
34 ausgelesen und über den Datenkanal 30 in ein 16-Bit-Makrobefehlsregister 37 übertragen.
-
Der Makrobefehl wird in dem Register 37 durch ein 1-Signal abgespeichert,
das einer Makrobefehlsregister-Taktleitung 37a' zugeführt wird. Bestimmte Makrobefehle
enthalten Operationscodes, die über einen Befehlsregisterkanal 39 einer Makrodecodierschaltung
38 zugeführt werden, und weitere Befehle enthalten auch einen Bit-Hinweiscode, der
über den gleichen Befehlsregisterkanal 39 einer Bit-Hinweisschaltung 40 zugeführt
wird. Bei der Bit-Hinweisschaltung 40 handelt es sich um einen binären Decodierer,
der vier Eingänge , die mit den den niedrigsten Ziffernstellen zugeordneten Ausgängen
des Makrobefehlsregisters 37 verbunden sind, und eine Gruppe aus 16 Ausgängen aufweist,
die jeweils mit einer Leitung in dem Prozessor-Datenkanal 30 verbunden sind. In
Abhängigkeit von der Ausführung eines vorbestimmten Mikrobefehls (MASKIEREN), wird
einem Anschluß 41 ein 1-Signal zugeführt, so daß die Bit-Hinweisschaltung 40 einer
ausgewählten Leitung der 16 Leitungen in dem Prozessor-Datenkanal 30 ein O-Signal
zuführt.
-
Die Bit-Hinweisschaltung 40 gestattet die Ausführung bestimmter Makrobefehle
eines programmierbaren Steuergeräts, wie noch näher beschrieben wird.
-
In Abhängigkeit von einem Operationscode eines im Register 37 gespeicherten
Makrobefehls wird eine der im Festspeicher 32 gespeicherten Mikroroutinen ausgewählt.
Der Operationscode
wird der Makrodecodierschaltung 38 zugeführt,
die einen von vier Abbildungs-Proms (PROM = Programmierbarer Festspeicher) 42 bis
45 auftastet und eine ausgewählte Zeile in dem aufgetasteten Abbildungs-Prom adressiert.
Jede Zeile der Abbildungs-Proms 42 bis 45 speichert eine 12-Bit-Mikroroutinen-Anfangsadresse,
die nach dem Auslesen einem Mikroprogramm-Adressenkanal 46 zugeführt wird, um ein
12-Bit-Mikroprogramm-Ablaufsteuerwerk 47 voreinzustellen. Das Ablaufsteuerwerk 47
ist ein voreinstellbarer Zähler, der einen Ladeanschluß 52, einen Fortschaltanschluß
53 und einen Taktanschluß 54 aufweist. Der Taktanschluß 54 wird von einem FUnf-Megahertz-Taktsignal
beaufschlagt, das von einer Prozessor-Taktschaltung 45 erzeugt wird, die mit dem
Ablaufsteuerwerk 47 über ein UND-Tor 46 verbunden ist. Jedesmal, wenn dem Anschluß
54 des Mikroprogramm-Ablaufsteuerwerks 47 ein 1-Takt-Impuls zugeführt wird, wird
es entweder auf eine Adresse voreingestellt, die im Kanal 46 erscheint, oder um
einen Zählschritt weitergeschaltet bzw. um eins erhöht. Gleichzeitig erhält das
Mikro-Befehlsregister 31 über eine Leitung 88 und ein UND-Tor 88' ein Taktsignal
zum Lesen und Speichern des Mikrobefehls, der vom Mikroprogramm-Ablaufsteuerwerk
47 adressiert wird. Die UND-Tore 86 und 88 können in Abhängigkeit von vorbestimmten
Codes in einem Mikrobefehl gesperrt werden, um das Fünf-Megahertz-Taktsignal zu
sperren. Dieses Trennen des Taktgebers 85 vom Ablaufsteuerwerk 47 erfolgt beispielsweise
während Eingabe- und Ausgabeoperationen, um den Daten eine Laufzeit von einer Mikro
sekunde zu gewähren.
-
Jeder Mikrobefehl, der aus dem Festspeicher 32 ins Mikrobefehlsregister
31 übertragen wird, wird über einen Mikrobefehlskanal 31A in eine Mikrobefehls-Decodierschaltung
48 geleitet, die ebenfalls an der Taktleitung 88 angeschlossen ist.
-
Die Mikrobefehle werden decodiert und ausgeführt, bevor der nächste
Taktimpuls dem Anschluß 54 des Mikroprogramm-Ablaufsteuerwerks 47 zugeführt wird.
Wie noch näher dargelegt wird, besteht jeder Mikrobefehl aus mehreren getrennten
Codes, die
als Mikroaufträge bezeichnet werden und getrennt decodiert
werden, um eines der Prozessor-Elemente aufzutasten bzw.
-
freizugeben.
-
Jede im Mikroprogramm-Festspeicher 32 gespeicherte Mikroroutine schließt
mit einem Spezialmikrobefehl ab, der einen Code oder Mikroauftrag enthält, der nachstehend
mit der Kurzbezeichnung EOX oder EOXS angesprochen wird. Bei Zuführung zur Mikrobefehls-Decodierschaltung
48 bewirkt dieser Code, daß einem Prioritäts-Abbildungs-Prom 50 über eine EOX-Leitung
49 ein 1-Signal zugeführt wird. Wenn sich der industrielle Steuerprozessor 13 im
DURCHLAUF-Betrieb befindet, wird die Anfangsadresse der ABRUF-Mikroroutine aus dem
Prioritäts-Abbildungs-Prom 50 ausgelesen und dem Ablaufsteuerwerk 47 über den Kanal
46 zugeführt. Die Mikrobefehls-Decodierschaltung 48 führt ferner ein 1-Signal einer
Voreinstellungsleitung 51 zu, die mit dem Ladeanschluß 52 des Mikroprogramm-Ablaufsteuerwerks
47 verbunden ist, um das Ablaufsteuerwerk 47 auf die Anfangsadresse der ABRUF-Mikroroutine
einzustellen.
-
Wie bereits erwähnt wurde, dient die ABRUF-Mikroroutine zum Auslesen
des nächsten auszuführenden Makrobefehls aus dem Haupt-Arbeitsspeicher 34, zu dessen
Ubertragung ins Makrobefehlsregister 37 und zur Auslösung der Ausführung dieses
Makrobefehls. Der letzte Mikrobefehl in der ABRUF-Mikroroutine enthält einen Code,
der im folgenden mit der Kurzbezeichnung MAP angesprochen wird. Dieser Mikrobefehlscode
bewirkt, daß die Mikrobefehls-Decodi erschaltung 48 der Makrodecodierschaltung 38
über eine MAP-Leitung 52 ein 1-Signal zuführt, um die Decodierung des Makrobefehls
auszulösen, der im Makrobefehlsregister 37 gespeichert ist. Ferner wird der Voreinstellungsleitung
51 ein 1-Signal zugeführt, um das Mikroprogramm-Ablaufsteuerwerk 47 mit der Anfangsadresse
der vom decodierten Makrobefehl aufgerufenen Mikroroutine zu laden. Die Liste der
Abruf-Mikroroutine ist im Mikroroutinen-Anhang enthalten.
-
Wie Fig. 4B zeigt, werden vom industriellen Steuerprozessor 13 mathematische
und logische Operationen in einem Rechen-und Logikprozessor 55 durchgeführt, der
über den Kanal 56 mit dem Prozessordatenkanal 30 und der Mikrobefehls-Decodierschaltung
48 verbunden ist. Nach Fig. 5 enthält der Rechen-und Logikprozessor 55 ein 'ßL"-Register
57 für 16 Bits, das an die Leitungen in dem Prozessordatenkanal 30 angeschlossene
Eingänge und eine entsprechende Gruppe von Ausgängen aufweist, die über einen Kanal
58 mit den "B"-Eingängen einer 16-Bit-Rechen- und Logikeinheit (RLE) 59 verbunden
sind.
-
Die Daten im Kanal 30 werden taktweise ins L-Register 57 eingetastet,
wenn einer Leitung 60 ein 1-Signal zugeführt wird, und das L-Register 57 wird gelöscht,
wenn einer Leitung 61 ein 1-Signal zugeführt wird. Die Leitungen 60 und 61 führen
über den Kanal 55 zur Mikrobefehls-Decodierschaltung 48 und werden daher von vorbestimmten
Mikrobefehlen gesteuert.
-
Die RLE 59 besteht aus vier im Handel erhältlichen Rechenlogikeinheiten,
die mit einer im Handel erhältlichen Vollübertrag-Vorgriffschaltung zur Durchführung
von Hochgeschwindigkeitsoperationen, wie Additionen, Subtraktionen, Verringerungen
um eins und Geradeausübertragungen, kombiniert sind.
-
Die RLE 59 hat sechzehn A-Eingänge, die unmittelbar mit den Leitungen
im Prozessordatenkanal 30 verbunden sind, und vier Funktionswählleitungen 62, die
über den Kanal 56 mit der Mikrobefehls-Decodierschaltung 48 verbunden sind. In Abhängigkeit
von vorgewählten Mikrobefehlen führt die RLE 59 Operationen mit ihren Eingängen
A und B zugeführten Daten aus und überträgt die 16-Bit-Ergebnisse über einen Kanal
64 in eine Schiebeschaltung 63.
-
Die RLE 59 erzeugt ferner Signale, die einem RLE-Decodierer 114 zugeführt
werden, der eine Anzeige bewirkt, wenn das Ergebnis einer logischen oder arithmetischen
Operation null ist, aus lauter Einsen besteht, ungerade ist, negativ ist oder wenn
bei ihrer Durchführung ein Uberlauf oder ein Übertrag auftritt.
-
Das Auftreten einer solchen Bedingung wird getrennt von Mikroaufträgen
oder -codes in Mikrobefehlen überprüft, die den RLE-Decodierer 114 über den Kanal
56 auftasten bzw.
-
einschalten. Das Auftreten der überwachten Bedingungen hat die Erzeugung
eines 1-Signals auf einer Spring-Leitung 115, die mit dem Decodierer 48 verbunden
ist, zur Folge.
-
Das Auftreten eines Uberlaufs in der RLE 59 kann auch in einem Uberlauf-Flipflop
116 gespeichert werden, wenn ihrem Taktanschluß von der Decodierschaltung 48 über
eine Leitung 117 ein 1-Signal zugeführt wird. Der Q-Ausgang des Flipflop 116 ist
mit dem RLE-Decodierer 114 verbunden, und sein Zustand kann durch einen geeigneten
Mikroauftrag überprüft werden.
-
Ein System-Kennzeichen-Flipflop 118 ist am RLE-Decodierer 114 angeschlossen
und kann in Abhängigkeit von einem geeigneten Mikroauftrag über eine Leitung 119
? 9 vom Mikrobefehlsdecodierer 48 umgeschaltet werden. Das Kennzeichen-Flipflop
118 kann in Abhängigkeit von einem der überprüften bzw. überwachten RLE-Zustände
gesetzt werden, und sein Zustand kann seinerseits von einem geeigneten Mikroauftreg
überprüft werden, der über den RLE-Decodierer 114 wirksam ist.
-
Die Schiebeschaltung 63 besteht aus acht im Handel erhältlichen doppelten
Vi er-Leitungen-zu- einer-Leitung-Datenwählern, deren Eingänge mit vorbestimmten
Leitungen im Kanal 64 verbunden sind. Die sechzehn Ausgänge der Schiebeschaltung
63 sind mit einem sechzehn Leitungen aufweisenden RLE-Datenkanal 65 verbunden,und
zwei Steuerleitungen 66 verbinden sie mit der Mikrobefehls-Decodierschaltung 48.
In Abhängigkeit von den ausgewählten Mikrobefehlen leitet die Schiebeschaltung 63
das 16-Bit-Datenwort aus der RLE 59 direkt in den RLE-Datenkanal 65, oder sie verschiebt
oder verdreht diese Daten um ein oder vier Bits.
-
Das 16-Bit-Datenwort im RLE-Kanal 65 wird einem 16-Bit-"A"-Register
67, einem 16-Bit-"B"-Register 68 oder einer Direktzugriffspeicherbank
69
zugeführt. Die Daten werden in das A-Register 67 dadurch eingetastet, daß einer
Leitung 70 ein 1-Signal zugeführt wird, die das A-Register 67 mit der Mikrobefehls-Decodierschaltung
48 verbindet, oder die Daten werden ins B-Register 68 eingetastet, indem ein 1-Signal
einer Leitung 71 zugeführt wird, die das B-Register 68 mit der Mikrobefehls-Decodierschaltung
48 verbindet. Die sechzehn Ausgänge des A-Registers 67 sind mit den "A"-Eingängen
eines 16-Bit-Multiplexers 62 verbunden, und die sechzehn Ausgänge des B-Registers
68 sind mit den "B"-Eingängen des Multiplexers 72 verbunden. Sechzehn Ausgänge des
Multiplexers 72 sind mit den Leitungen im Prozessordatenkanal 30 verbunden, und
wenn einer Freigabeleitung 73 ein 1-Signal zugeführt wird, wird entweder der Inhalt
des A-Registers 67 oder der Inhalt des B-Registers 68 in den Prozessordatenkanal
30 geleitet. Die Auswahl erfolgt über eine Wahlleitung 74, die zusammen mit der
Fr ei gabel eitung 73 zur Mikrobefehls-Decodierschaltung 48 führt. Bei der Ausführung
ausgewählter Mikrobefehle kann daher das A-Register 67 oder das B-Register 68 eine
Datenquelle für den Prozessordatenkanal 30 über den Multiplexer 72 bilden, oder
sie können durch ausgewählte Mikrobefehle als Bestimmungsort der Daten auf dem Prozessorkanal
30 vorbestimmt werden, der über die RLE 59 und die Schiebeschaltung 63 angeschlossen
ist.
-
Der Direktzugriffspeicher 69 besteht aus vier im Handel erhältlichen
64-Bit-Direktzugriffspeichern, die sechzehn 16-Bit-Register bilden, und zwar das
"P"-Register und die R1-R15-Register. Wenn einer Lese-Schreib-Leitung 75 ein 1-Signal
zugeführt wird, wird in den Direktzugriffspeicher 69 ein 16-Bit-Datenwort aus dem
RLE-Datenkanal 65 eingeschrieben.
-
Andererseits wird der Inhalt eines der sechzehn Register des Speichers
69 über einen Kanal 76 einem 16-Bit-Datenpuffer 77 zugeführt, wenn der Leitung 75
ein 1-Signal zugeführt wird, und der Datenpuffer 77 speichert dieses Wort, wenn
seine Taktleitung 78 ein 1-Signal erhält. Die Leitungen 75 und 78 führen zur Mikrobefehls-Decodierschaltung
48, so daß sowohl der Direktzugriffspeicher
69 als auch der Datenpuffer
77 in AbhEngigkeit von ausgewahlten Mikrobefehlen gesteuert werden.
-
Das jeweilige Register im Direktzugriffspeicher 69, das angewählt
werden soll, wird von einem 4-Bit-Adressencode bestimmt, der einer Gruppe von Anschlüssen
79 zugeführt wird.
-
Die Adressenanschlüsse 79 sind mit den Ausgängen eines 4-Bit-Multiplexers
80 verbunden, der "A"-Eingänge zur Aufnahme der Bits 4-7 des Mikrobefehls (Ursprungsfeld)
und vier B-Eingänge zur Aufnahme der Bits 9-12 des Mikrobefehls (Empfangs-oder Bestimmungsortfeld)
über den Mikrobefehlskanal 31A aufweist. Der Multiplexer 80 wird über eine Leitung
81 aufgetastet, die zur Mikrobefehls-Decodierschaltung 48 führt, und die 4-Bit-Adresse
an den A- oder B-EingEngen wird durch das Logiksignal ausgewählt, das einer Leitung
82 zugeführt wird, die zur Taktgeberschaltung 85 führt, um ein Fünf-Megahertz-Bestimmungsort-Signal
zu empfangen. Wenn der Direktzugriffspeicher 69 als Datenquelle gewählt ist, erscheint
die Adresse des betreffenden Registers des Speichers 69, aus dem die Daten ausgelesen
werden sollen, an den A-Eingängen des Multiplexers 80, und wenn der Direktzugriffspeicher
69 als Datenbestimmungsort (oder Empfangsort) gewählt ist, erscheint die Adresse
des betreffenden Registers, in das die Daten eingeschrieben werden sollen, an den
B-Eingängen.
-
Aus dem Direktzugriffspeicher 69 ausgelesene und im Datenpuffer 77
gespeicherte Daten werden in den Prozessordatenkanal 30 über sechzehn Tore 83 eingekoppelt.
Die Tore 83 werden über eine Leitung 84 aufgetastet, die zur Mikrobefehls-Decodierschaltung
48 führt und von dieser gesteuert wird. So dient beispielsweise das P-Register im
Speicher 69 als Makroprogrammzähler, und wenn die ABRUF-Mikroroutine ausgeführt
wird, wird der Inhalt des P-Registers ausgelesen und über den Datenpuffer 77 und
die Tore 83 zum Prozessordatenkanal 30 übertragen, über den er zum Hauptarbeitsspeicher-Adressenregister
36 geleitet wird
Der Rechen- und Logikprozessor 55 enthält ferner
einen binähren 8-Bit-Wiederholungszahler 141, dessen Eingänge mit den acht niedrigststelligen
Leitungen im Prozessordatenkanal 30 verbunden sind. Der Wiederholungszähler 141
kann mit einer Konstanten durch einen Mikroauftrag geladen werden, der ihn als Bestimmungsort
der Daten kennzeichnet und ihn über eine Freigabeleitung 142 auftastet. Der gleiche
Mikroauftrag führt einem Voreinstellungsanschluß ein 1-Signal über eine Leitung
143 zu. Der Wiederholungazähler 141 kann über eine Leitung 144 weitergeschaltet
werden, und wenn bis fünfzehn oder zweihundertfünfundfünfzig gezählt worden ist,
erscheint auf der Leitung 156 oder der Leitung 157 ein Ausgangssignal. Die Leitungen
142 bis 144, 156 und 157 sind mit dem Mikrobefehlsdecodierer 48 verbunden.
-
Nach den Fig. 3 und 4B, auf die erneut Bezug genommen wird, erfolgt
die Hin- und Herübertragung der Daten zwischen den E/A-Schnittstellengestellen 20
und 21 einerseits und den System-E/A-Vorrichtungen 5, 7, 8, 9 und 10 über eine Eingabe/
Ausgabe-Schnittstellenschaltung 87, die am Prozessor-Datenkanal 30 angeschlossen
ist. Die E/A-Schnittstellenschaltung 87 enthält sechzehn Datenausgabetore 90 (Fig.
6), die an die Leitungen des Prozessor-Datenkanals 30 angeschlossene Eingänge und
an einen 15-Bit-Eingabe/Ausgabe-Datenkanal 91 angeschlossene Ausgänge aufweisen.
Eine Auftastleitung 92 verbindet einen zweiten Eingang jedes Datenausgabetors 90
mit der Mikrobefehls-Decodierschaltung 48, und wenn dless Auftastleitung ein 1-Signal
zugeführt wird, wird ein 16-Bit-Datenwort aus dem Prozessor-Datenkanal 30 in den
Eingabe/Ausgabe-Datenkanal 91 übertragen. Der Eingabe/Ausgabe-Datenkenal 91 führt
zu den Sammelkanälen 19 und 22, die den industriellen Steuerprozessor 13 mit den
Schnittstellengestellen 20 und 21 und den jeweiligen System-E/A-Vorrichtungen, wie
dem Kathodenstrahl-Sichtgerät 9, verbinden.
-
Die Eingabe/Ausgabe-Schnittstellenschaltung 87 enthält auch ein 16-Bit-Eingabe/Ausgabe-Adressenregister
93, das mit den
sechs niedrigststelligen Leitungen im Prozessor-Datenkanal
30 verbunden ist. Das E/A-Adressenregister 93 ist mit der Mikrobefehls-Decodierschaltung
48 über eine Taktleitung 94 verbundenßund wenn der Taktleitung 94 ein 1-Signal zugeführt
wird, wird aus dem Prozessor-Datenkanal 30 eine 6-Bit-E/A-Adresse in das Register
93 eingetastet. Sechs Ausgangsanschlüsse des Registers 93 sind mit Leitungen in
einem 6-Bit-E/A-Adressenkanal 95 verbunden. Der E/A-Adressenkanal 95 führt zum Sammelkanal
92, so daß die im Register 93 gespeicherte E/A-Adresse über den Kanal 95 zu den
E/A-Schnittstellengestellen 20 und 21 übertragen wird. Eine Löschleitung 96 verbindet
das Adressenregister 93 mit der Mikrobefehls-Decodierschaltung 48, und wenn dieser
Löschleitung ein 1-Signal zugeführt wird, wird das Register 93 auf null zurückgestellt.
Wenn, wie noch näher beschrieben wird, ein OTA-Makrobefehl ausgeführt wird, wird
die E/A-Adresse (Gestellnummer und Spaltennummer) in das Ausgabeadressenregister
93 geladen und dem E/A-Adressenkanal 95 zugeführt. Die adressierte Vorrichtung bestätigt
den Empfang ihrer Adresse, und dann kann ein 16-Bit-Datenwort dem Prozessor-Datenkanal
30 zugeführt und über den Eingabe/Ausgabe-Datenkanal 91 zur adressierten Vorrichtung
durchgeschaltet werden. Diesbezüglich wird auf die programmierte Datenausgabe-Mikroroutine
in dem Mikroroutinen-Anhang verwiesen.
-
Die Daten werden in den industriellen Steuerprozessor 13 über einen
16-Bit-Multiplexer 97 übertragen, der einen Teil der Eingabe/Ausgabe-Schnittstellenschaltung
nach Fig. 6 bildet.
-
Sechzehn "B"-Eingangsanschlüsse am Multiplexer 97 sind mit dem Eingabe/Ausgabe-Datenkanal
91 und sechzehn Ausgangsanschlüsse mit entsprechenden Leitungen im Prozessor-Datenkanal
30 verbunden. Die sechs niedrigststelligen Eingänge von sechzehn "A"-Eingängen des
Multiplexers 97 sind mit einem Unterbrechungsadressenkanal 95A verbunden. Eine Auftastleitung
98 und eine Wählleitung 99 am Multiplexer 97 sind mit der Mikrobefehls-Decodierschaltung
48 verbunden, Wenn der Auftastleitung 98 ein 1-Signal zugeführt wird, werden
entweder
aus dem E/A-Datenkanal 91 oder dem Unterbrechungs-Adressenkanal 95A Daten in den
Prozessor-Datenkanal 30 bertragen. Die Auswahl erfolgt durch den Signalzustand auf
der Auswahlleitung 99, der ebenfalls durch Auswahlmikrobefehle über die Decodierschaltung
48 gesteuert wird.
-
Die Decodierung der F/A-Adresse für die System-E/A-Vorrichtungen 5,
7, 8, 9 und 10 erfolgt in der Eingabe/Ausgabe-Schnittstellenschaltung nach Fig.
6. Die drei höchststelligen Leitungen des Eingabe/Ausgabe-Adressenkanals 95 sind
mit entsprechenden Eingängen von drei Exklusiv-NOR-Toren 102 bis 104 verbunden,
und seine drei niedrigststelligen Leitungen sind mit den Eingängen eines BCD-Decodierers
105 verbunden. Der zweite Eingang jedes der Exklusiv-NOR-Tore 102 bis 104 ist über
entsprechende Schalter 106 bis 108 mit einem O-Signal-Zuführanschluß 109 und ein
Ausgangsanschluß jedes der Tore 102 bis 104 ist mit entsprechenden Eingängen eines
UND-Tores 110 verbunden. Ein Ausgang des UND-Tores 110 ist mit einem Auftastanschluß
112 am BCD-Decodierer 105 verbunden, und wenn diesem Anschluß ein 1-Signal zugeführt
wird, wird die binärdezimalcodierte 3-Bit-Zahl, die an den Eingängen des Decodierers
105 ansteht, decodiert. Dabei wird an einem der acht Anschlüsse 113 ein O-Signal
erzeugt, von denen die fünf niedrigststelligen mit entsprechenden System-E/A-Vorrichtungen
5, 7, 8, 9 und 10 über den Sammelkanal 19 verbunden sind. Die drei Schalter 106
bis 108 sind so eingestellt, daß sie die Gestellnummer anzeigen (die bei dem bevorzugten
Ausführungsbeispiel die Nummer 1 ist), und wenn diese Nummer auf den drei höchststelligen
Leitungen des E/A-Adressenkanals 95 erscheint, wird eine der System-E/A-Vorrichtungen
adressiert.
-
Die Eingabe/Ausgabe-Schnittstellenschaltung 87 nach Fig. 6 enthält
ferner eine taktgesteuerte Unterbrechungsschaltung 162. Die Schaltung 162 enthält
ein RS-Flipflop 183 mit einem Setzanschluß, der über eine Leitung 164 mit der Prozessor-Taktgeberschaltung
85 (Fig. 4B) verbunden ist. Alle 10,25
Millisekunden wird ein 1-Impuls
als Setzimpuls dem Flipflop 163 zugeführt, so daß an seinem Q-Ausgangsanschluß ein
1-Signal erscheint und einer Unterbrechungsanforderungsleitung 160 zugeführt wird.
Die Unterbrechungsanforderungsleitung ist mit einer Prioritätscodierschaltung 127
(Fig. 4A) verbunden, wie noch näher beschrieben wird, und wenn die Unterbrechung
gewährt wird, wird auf einer Unterbrechungsbestätigungsleitung 191 ein 1-Signal
erzeugt. Das Unterbrechungsbestätigungssignal wird von einem UND-Tor 166 durchgeschaltet
und in ein d-c-Flipflop 167 eingetastet. Der Q-Ausgang des d-c-Flipflop 167 ist
über eine Leitung 168 mit einem Eingang an jedem von sechs UND-Toren 169 und über
eine Leitung 170 mit einem UND-Tor 171 verbunden. Die Ausgänge des UND-Tors 169
sind mit jeweils einer Leitung in dem Unterbrechungsadressenkanal 95A und ihre jeweiligen
zweiten Eingangsanschlüsse mit 1- und O-Signal-Quellen in der Weise verbunden, daß
im Kanal 95A die Oktaladresse 17 erzeugt wird, wenn das d-c-Flipflop 167 gesetzt
wird. Die Schaltung 192 führt daher dem Prioritätscodierer 127 alle 10,24 Millisekunden
eine Unterbrechungsanforderung zu, und wenn sie ein Bestätigungssignal empfängt,
bildet sie die E/A-Adresse 17 in dem Unterbrechungsadressenkanal 95A aus.
-
Ähnliche Schaltungen wie die taktgesteuerte Unterbrechungsschaltung
192 sind in den Tastaturen 7 und 8 und dem Bandleser 5 angeordnet. Alle diese System-E/A-Vorrichtungen
sind mit der Unterbrechungsanforderungsleitung 160 und gänseblümchenkettenartig"
mit der Unterbrechungsbestätigungsleitung 161 verbunden. Wie Fig. 6 zeigt, ist die
Unterbrechungsbestätigungsleitung 161 durch ein UND-Tor 172 über die Unterbrechungsschaltung
162 geführt, das vom 5-Ausgangsanschluß des RS-Flipflop 163 gesteuert wird. Wenn
daher die Schaltung 162 die Unterbrechung anfordert, spricht sie nicht nur auf das
resultierende Unterbrechungsbestätigungssignal an, sondern sie verhindert auch,
daß dieses Signal an nachfolgende System-E/A-Vorrichtungen in der Gänseblümchenkette
weitergeleitet
wird. Auf diese Weise wird nur eine Unterbrechungs-E/A-Vorrichtung
auf einmal bedient. Wenn, wie nachstehend noch ausführlicher beschrieben wird, eine
Unterbrechung von der Prioritätscodierschaltung 127 bestätigt wird, löst sie auch
die Ausführung einer Unterbrechungbedienungs-Mikroroutine aus, die die E/A-Adresse
der Unterbrechungsvorrichtung in das Register R4 des Speichers 69 lädt. Diese E/A-Adresse
wird dann zur Lokalisierung der Anfangsadresse in dem Haupt-Lese/Schreib-Arbeitsspeicher
34 einer Makroroutine verwendet, die diese betreffende System-E/A-Vorrichtung bedient.
So ruft die taktgesteuerte Unterbrechungsschaltung 162 beispielsweise eine 10 Millisekunden
taktgesteuerte Unterbrechungsroutine auf (Fig. 15A und 15B). Die Unterbrechungsbedienungs-Mikroroutine
ist in dem Mikroroutinen-Anhang aufgelistet.
-
Wie die vorstehende Beschreibung zeigt, werden die verschiedenen Elemente
des industriellen Steuerprozessors 13 der Reihe nach in Abhängigkeit von Mikrobefehlen
betätigt, die aus dem Mikroprogramm-Festspeicher 32 in das Mikrobefehlsregister
31 eingelesen und dann von der Decodierschaltung 48 decodiert werden. Die Adresse
des ersten Mikrobefehls Jeder auszuführenden Mikroroutine wird aus einem der Abbildungs-Proms
42 bis 45 oder 50 in das Mikroprogramm-Ablaufsteuer werk 47 geladen, und während
die Mikrobefehle ausgeführt werden, wird das Mikroprogramm-Ablaufsteuerwerk 47 solange
um eins weitergeschaltet, um den nächsten Mikrobefehl der Mikroroutine auszulesen,
bis ein EOX-oder EOXS-Code festgestellt wird, der das Ende der Mikroroutine anzeigt.
-
Um die Verwendung von SPRUNG-Mikrobefehlen und damit nur eine Ebene
einer Mikrosubroutine zu ermöglichen, ist ein 12-Bit-Sicherstellungsregister 120
an die Ausgänge des Mikroprogramm-Ablaufsteuerwerks 47 über einen Kanal 121 und
ein 12-Bit-Multiplexer 122 mit den Eingängen des Ablaufsteuerwerks 47 über den Adressenkanal
46 verbunden. Das Sicherstellungsregister
enthält eine Taktleitung
123, die mit der Mikrobefehls-Decodierschaltung 48 verbunden ist, und wenn ausgewählte
SPRUNG-Mikrobefehle ausgeführt werden, wird die im Mikroprogramm-Ablaufst euerwerk
47 gespeicherte Adresse in das Sicherstellungsregister 120 übertragen. Die Ausgänge
des Sicherstellungsregisters 120 sind mit zwölf "A"-Eingängen des Multiplexers 122
verbunden, und wenn ein RUckruf-Mikrobefehl anschließend ausgeführt wird, wird die
im Sicherstellungsregister gespeicherte Adresse über den Multiplexer 122 durchgeschaltet
und in das Mikroprogramm-Ablaufsteuerwerk 47 zurückgeladen. Der Multiplexer 122
weist ferner "B"-Eingänge auf, die mit dem Mikrobefehlskanal 31A verbunden sind,
und wenn ein SPRUNG-Mikrobefehl ausgeführt wird, wird die in dem Befehl enthaltene
Zieladresse aus dem Mikrobefehlsregister 31 in das Mikroprogramm-Ablaufsteuerwerk
47 über den Multiplexer 122 durchgeschaltet. Der Multiplexer 122 wird von der Datenwählleitung
124 und einer Auftastleitung 125 gesteuert, die beide mit der Mikrobefehls-Decodierschaltung
48 verbunden sind.
-
Nach Fig. 4B ist der Mikrobefehlskanal 31A auch über sechzehn UND-Tore
158 mit dem Prozessor-Datenkanal 30 verbunden. Der eine Eingang jedes Tors 158 ist
mit einer Leitung im Kanal 31A verbunden, während die zweiten Eingänge gemeinsam
über eine Leitung 159 mit der Mikrobefehls-Decodierschaltung 48 verbunden sind.
Ihre Ausgänge sind jeweils mit einer Leitung in dem Prozessor-Datenkanal 30 verbunden.
-
Nach Fig. 4A verbindet eine Steuertafel-Schnittstellenschaltung 126
die Schalter, Lampen und andere Steuer- und Anzeigevorrichtungen an der Prozessorfronttafel
26 und der sekundären Steuertafel 12 mit dem Prozessor-Datenkanal 30. Die Steuertafel-Schnittstellenschaltung
126 ist ferner mit Eingängen eines Prioritätscodierers 127 über einen 17-Leitungs-Kanal
128 verbunden, und fünf Ausgänge des Prioritätscodierers 127 sind über einen Kanal
129 mit dem Prioritäts-Abbildungs-Prom 50 verbunden. Die Steuertafel-Schnittstellenschaltung
126
empfängt Signale von den Tafeln 12 und 26 über die Kabel 15
und 27 und über den Prozessor-Datenkanal 30. Als Antwort darauf erzeugt sie ein
O-Signal auf einer oder mehreren der Leitungen im Kabel 128, die die gewünschte
Betriebsart des industriellen Steuerprozessors 13 bestimmen.
-
Wie Fig. 7 zeigt, enthält der Prioritätscodierer 127 einen ersten
3-Bit-Binärcodierer 130, der acht Eingänge aufweist, von denen sieben mit dem Kanal
128 verbunden sind. Der achte Eingang ist mit der Unterbrechungsanforderungsleitung
160 von der E/A-Schnittstellenschaltung 87 verbunden. Ein 8-Bit-Datenpuffer 131
hat acht Eingänge, die mit Leitungen im Kanal 128 verbunden sind, und acht Ausgangsanschlüsse,
die jeweils mit einem Eingang einer zweiten 3-Bit-Binärcodierschaltung 132 verbunden
sind. Drei Ausgangsanschlüsse 133 des ersten Binärcodierers 130 sind jeweils mit
einem ersten Eingang von drei NAND-Toren 134 bis 136 verbunden. In ähnlicher Weise
sind drei Ausgangsanschlüsse 137 des zweiten Codierers 132 jeweils mit einem zweiten
Eingang der NAND-Tore 134 bis 136 und ein vierter Ausgangsanschluß 138 des zweiten
Codierers 132 mit einem Auftastanschluß 139 des ersten Binärcodierers 130 verbunden.
Der vierte Ausgang 138, die Ausgänge der jeweiligen NAND-Tore 134 bis 136 und eine
siebte Leitung 140 im Kanal 128 sind jeweils mit einer Leitung im Kanal 129 verbunden,
der wiederum mit dem Prioritäts-Abbildungs-Prom 50 verbunden ist. Die Leitung 140
ist mit dem Eingang Nummer 4 des ersten Binärcodierers 130 verbunden.
-
Der Prioritätscodierer 127 erzeugt einen 5-Bit-Binärcode, der dem
Prioritäts-Abbildungs-Prom 50 zugeführt wird. Dieser spricht auf ein O-Signal auf
einer der sieben Leitungen im Kanal 128 an und bewirkt die Adressierung einer Leitung
des Abbildungs-Proms 50. Der Abbildungs-Prom 50 wird aufgetastet, wenn seinem EOX-Anschluß
49 ein 1-Signal am Ende der Mikroroutine, die dann gerade ausgeführt wird, zugeführt
wird, so daß eine 12-Bit-Anfangsadresse aus der adressierten Zeile des aufgetasteten
Abbildungs-Proms
50 ausgelesen und dem Mikroprogramm-Ablaufsteuerwerk 47 zugeführt wird. Obwohl mehr
als eine der Leitungen im Kanal 128 zu irgendeiner Zeit ein O-Signal führen können,
erzeugt die Codierschaltung 127 den Code oder die Abbildungs-Prom-Zeilen-Adresse
nur für diejenige Leitung, die die höchste Priorität aufweist. Die Signale, die
in der nachstehenden Liste auf den in der Reihenfolge der Prioritäten laufend durchnumerierten
Leitungen des Kanals 128 erscheinen, haben die Ausführung der folgenden Funktionen
bzw. Operationen zur Folge: Leitungs-Nr. Mikroroutine Beschreibung O ABRUFEN DURCHLAUF-Betrieb,
in dem das im Haupt-Arbeitsspeicher gespeicherte Programm ausgeführt wird.
-
1 UNTERBRECHUNG Eine angeforderte Unterbrechung wird bedient.
-
2 NETZ EIN/AUS Eine Unterbrechung mit höherer Priorität. Sie wird
vor anderen Unterbrechungen bedient.
-
3 START Löst den Prozessor aus, wenn er von HALT auf DURCHLAUF-Betrieb
umgeschaltet wird.
-
4 HALT Drei-Befehls-Mikroschleife, in der keine Makrobefehle ausgeführt
oder keine Unterbrechungen bedient werden.
-
5 LÖSCHE ANZEIGE Anzeigeregister an Prozessor-Fronttafel 26 wird
gelöscht.
-
6 PAR NHLT Unterbricht und anzeigt "Arbeitsspeicherfehler" auf Sichtgerät.
-
7 PAR HLT Prozessor wird unterbrochen und angehalten.
-
8 ANZEIGE R Inhalt eines ausgewählten Prozessorregisters an Prozessor-Fronttafel
26 wird angezeigt.
-
9 ANZEIGE T Inhalt eines ausgewählten Arbeitsspeicherplatzes an Prozessor-Fronttafel
26 wird angezeigt.
-
10 SPEICHERE R Speichere Inhalt der Prozessor-Fronttafel-Anzeige
in ausgewähltem Prozessor-Register.
-
11 SPEICHERE T Speichere Inhalt der Prozessor-Fronttafel-Anzeige
in ausgewähltem Arbeitsspeicherplatz.
-
12 DECM Verringere Inhalt des Arbeitsspeicher-Adressenregisters 36.
-
13 INCM Erhöhe Inhalt des Arbeitsspeicheradressenregisters 36.
-
14 SCHRITT Führe einen Makrobefehl aus, dann halte an.
-
15 BBL Ein Mikroprogramm, das ein permanent gespeichertes "Ureingabe-Makroprogramm
in den Haupt-Arbeitsspeicher überträgt und dessen Ausführung auslöst.
-
16 MPFF Schreibt HALT-Codes in alle Plätze des Haupt-Arbeitsspeichers,
wenn Stromversorgungsbatterie während eines längeren Netzausfalls ausfällt.
-
Der Prioritätscodierer 127 enthält ferner einen Binär/Oktal-Decodierer
165 mit drei Eingängen, die jeweils an eines der NAND-Tore 134 bis 136 angeschlossen
sind. Der zweite von acht Ausgangsanschlüssen des Decodierers 165 ist mit der Unterbrechungsbestätigungs-Leitung
161 verbunden, und wenn die Unterbrechungsbedienungs-Mikroroutine durch ein 1-Signal
auf der Unterbrechunganforderungsleitung 160 angefordert wird, wird auf der Unterbrechungbestätigungsleitung
161 ein 1-Signal erzeugt, wenn die Anforderung gewährt wird.
-
Nach den Fig. 4B und 8 ist eine Echtzeit-Taktgeberschaltung 145 mit
dem Prozessor-Datenkanal 30 verbunden und von der Mikrobefehls-Decodierschaltung
48 gesteuert. Die Echtzeit-Taktgeberschaltung 145 enthält ein D-Flipflop 146, dessen
Taktanschluß ein 5-Megahertz-Taktsignal über eine Leitung 147 von der Prozessor-Taktgeberschaltung
45 zugeführt wird. Der D-Eingang des Flipflop 146 wird von zwei NAND-Toren 148 und
149
über ein UND-Tor 149A angesteuert. Ein erster Eingang des NAND-Tors 148 ist über
eine Leitung 150 mit einem Fünf-Hertz-Takt signal ausgang der Prozessor-Taktgeberschaltung
85 und ein zweiter Eingang über eine Leitung 151 mit dem Makrobefehlsregister 37
verbunden. Die Leitung 151 zeigt den Logikzustand des niedrigststelligen Bits des
im Makrobefehlsregister 37 gespeicherten Makrobefehls an und ist über ein Umkehr-Tor
152 mit einem ersten Eingang des NAND-Tors 149 verbunden. Ein zweiter Eingang des
NAND-Tors 149 erhält ein 0,5-Hertz-Taktsignal von der Prozessor-Taktgeberschaltung
85 über eine Leitung 153. Der Q-Ausgang des Flipflop 146 ist mit dem einen Eingang
eines NAND-Tors 154 verbunden. Der zweite Eingang des NAND-Tors 154 ist mit der
Mikrobefehls-Decodierschaltung 48 über eine TIM-Leitung 155 verbunden, während der
Ausgang des NAND-Tors mit der niedrigststelligen Leitung im Prozessor-Datenkanal
30 verbunden ist. In Abhängigkeit von einem ausgewählten Mikrobefehl (TIM) kann
der Zustand, eins oder null, entweder des 5-Hertz- oder des 0,5-Hertz-Taktsignals
der niedrigststelligen Leitung im Prozessor-Datenkanal 30 zugeführt und überprüft
werden.
-
Die oben beschriebene Hardware wird durch Mikrobefehle gesteuert,
von denen alle 200 Nanosekunden einer ausgeführt wird. Diese Mikrobefehle enthalten
Codes, die von der Schaltung 48 decodiert werden, um Auftastsignale den entsprechenden
System-Elementen zuzuführen. Der Betrieb der Hardware wird nach der Beschreibung
des Mikrobefehlssatzes, der von dieser Hardware ausgeführt wird, deutlicher.
-
Der Mikrobefehlssatz besteht aus drei Arten von Befehlen. Der erste
Mikrobefehlstyp hat das folgende Format und wird zur Übertragung von Daten zwischen
Prozessor-Elementen verwendet, die an den Prozessor-Datenkanal 30 angeschlossen
sind, um logische und arithmetische Funktionen (Operationen) mit Daten auszuführen,
die der RLE 59 zugeführt werden, und um Datenüberprüfungen und Mikrobefehls-Sprungoperationen
auszuführen.
Bit-Nr. 23 22 21 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4
3 2 1 0 |
UR- SPRUNG, |
Beschreibung PROZESSOR- RLE- EMPFANGS- SPRUNGS- KENN- |
bung FUNKTION FUNKTION FELD FELD ZEICHEN |
und |
MAP |
Die Mikrobefehls-Decodierschaltung 48 decodiert gleichzeitig alle fünf "Mikroaufträge"
bei diesem ersten Mikrobefehlstyp und schaltet die entsprechenden Prozessor-Elemente
zur Durchführung einer oder mehrerer Funktionen (Operationen) ein.
-
Das Prozessor-Element, das vom Bestimmungsort- bzw. Empfangscode vorgeschrieben
wird, wird jedoch erst in dem letzten 50-Nanosekunden-Abschnitt des 200-Nano sekunden-Ausführungs-Zeittakts
eingeschaltet. Die Codes, die in den fünf Mikroaufträgen eines Mikrobefehls vom
"Typ 1" verwendet werden können, sind folgende: Mikroauftrags-Codes der Prozessorfunktionen
Kurz- Bit- Beschreibung bezeichnung Kombinationen ASG1 11010 Freigeben der Decodierung
der Änderung/Sprung-Gruppe 1 des Makrobefehl 5.
-
ASG2 11011 Freigeben der Decodierung der Änderung/Sprung-Gruppe 2
des Makrobefehls CFLG 01111 Lösche Prozessor-Kennzeichen-Flipflop 118.
-
COV 01101 Lösche Überlauf-Flipflop 116.
-
CYFL 00111 Wenn Prozessor-Kennzeichen-Flipflop 118 gesetzt ist, erzeuge
Ubertrag und übertrage ihn in die RLE 59.
-
DIV 10000 Dividiere 32-Bit-Zahl in den A- und B-Registern durch Zahl
im L-Register.
-
DMA 01011 Freigeben von DMA-Zyklus nach Ausführung von Mikrobefehl.
-
DWEL 00100 Bewirkt 1-Mikrosekunden-Einfrierung durch Sperren von UND-Tor
86 am Ablaufsteuerwerk 47.
-
FLG 11101 Gibt Setzen von Prozessor-Kennzeichen-Bit frei.
-
FLGS 11100 Schaltet Zustand von Prozessor-Kennzeichen-Bit um.
-
ICNT 00010 Schaltet Wiederholungszähler 141 um eins weiter.
-
IOFF 00101 Sperrt Unterbrechungsfeststellung, mit Ausnahme von Paritätsfehlern
und Stromversorgungsausfall-Unterbrechungen IOG 01010 Löst 1-Mikrosekunden-E/A-Zyklus
aus.
-
L1 10100 Bewirkt logische Linksverschiebung der die RLE verlassenden
Daten um ein Bit.
-
L4 10111 Bewirkt eine logische 4-Bit-Linksverschiebung der die RLE
verlassenden Daten.
-
MPY 10001 Multipliziert Zahl im A-Register mit Zahl im L-Register.
-
NOP 00000 Keine Operation wird durchge-oder führt.
-
11111 R1 10101 Bewirkt logische 1-Bit-Rechtsverschiebung der die
RLE verlassenden Daten.
-
LESEN 01000 Lädt Adresse in Haupt-Arbeitsspeicher-Adressenregister
36 und liest Daten oder Makrobefehl ins Arbeitsspeicher-Datenregister 35.
-
RPT 00011 Wiederholt nächsten Mikrobefehl und erhöht Wiederholungszähler
141.
-
RSS 11110 Kehrt Richtung von Sprung/Kennzeichen-Mikroauftrag um.
-
SFLG 01110 Setzt Prozessor-Kennzeichen-Flipflop 118.
-
SOV 01100 Setzt Überlauf-Flipflop 116.
-
SRGl 11000 Arithmetische oder Rotationsverschiebung von RLE verlassende
Daten, wie von Bits 6 bis 9 im Makrobefehlsregister 37 vorgeschrieben.
-
SRG2 11001 Ähnlich wie oben, jedoch von Bits 0, 1, 2 und 4 im Makrobefehlsregister
37 gesteuert.
-
WRTE 01001 Lädt Adresse in Haupt-Arbeitsspeicheradressenregister
36 und schreibt Inhalt des Arbeitsspeicherdatenregisters 35 in Haupt-Arbeitsspeicher
34.
-
Mikroauftragcodes der RLE-Funktionen Kurz- Bit- Beschreibung bezeichnung
Kombinationen ADD 00100 Addiert die Daten aus dem Prozessor-Datenkanal 30 zum Inhalt
des L-Registers 57.
-
ADDO 00101 Ebenso wie ADD, jedoch Verlängerungs-und Überlauf-Logik
freigegeben.
-
UND 01100 Bewirkt eine UND-Verknüpfung der Daten im Prozessor-Kanal
30 und des Inhalts des L-Registers 57.
-
ARS 11010 Verwendet in Kombination mit Verschiebungscodes der Prozessorfunktionen
zur Durchführung arithmetischer Verschiebungen des kombinierten Inhalts des A-Registers
67 und des B-Registers 68.
-
CMPS 01010 Einer-Komplement von Daten aus Prozessor-Datenkanal 30.
-
CR5 11001 Verwendet in Verbindung mit Schiebecodes der Prozessorfunktionen
zur Durchführung einer zirkularen Umlaufverschiebung des Inhalts des A-Registers
67 und des B-Registers 68.
-
DEC 00110 Verringere Daten aus Prozessor-Datenkanal 30 um eins.
-
INC 00010 Erhöhe Daten im Prozessor-Datenkanal 30 um eins.
-
INCO 00001 Erhöhe Daten im Prozessor-Datenkanal 30 um eins bei freigegebener
(aufgetasteter) Verlängernngs- und b erlauflogik.
-
IOR 01110 ODER-Verknüpfung der Daten im Prozessor-Datenkanal 30 und
des Inhalts des L-Registers 57.
-
LGS 11000 Logische Linksverschiebung des kombinierten A-Registers
67 und B-Registers 68 bei Kombination mit Prozessor-Schiebecodes.
-
LWF 10011 In Kombination mit geeigneten Prozessor-Schiebecodes wird
Drehverschiebung der dem Schieber 63 und dem Kennzeichenbit zugeführten Daten ausgeführt.
-
NAND 01101 Bewirkt NAND-VerknUpfung der Daten des Prozessor-Datenkanals
30 und des Inhalts von L-Register 57.
-
NOR 01111 Bewirkt NOR-VerknUpfung der Daten im Prozessor-Datenkanal
30 und des Inhalts von L-Register 57.
-
EINSEN 01011 Läßt alle "Einsen" zum Schieber 63 durch.
-
PASS 00000 Läßt die Daten unverändert passieren.
-
RSB 10010 Lädt Inhalt des Sicherstellungsregisters 120 in Mikroprogramm-Ablaufsteuerwerk
47.
-
SUB 00111 Subtrahiert Inhalt des L-Registers 57 von Daten im Prozessor-Datenkanal
30.
-
SWD 11111 Schalter an Prozessor-Steuertafel schreibt Empfangsfeld
vor.
-
SWS 11110 Schalter an Prozessor-Steuertafel schreibt Ursprungsfeld
vor.
-
XNOR 00011 Führt Exklusiv- NOR -VerknUpfung der Daten im Prozessor-Datenkanal
30 mit Inhalt des L-Registers 57 durch.
-
XOR 01000 Führt Exklusiv-ODER-Verknüpfung der Daten im Prozessor-Datenkanal
30 mit Inhalt des L-Registers 57 durch.
-
NULL 01001 RLE läßt alle Nullen durch.
-
Empfangsfeld-Mikroauftragcodes Kurz- Bit- Beschreibung bezeichnung
Kombinationen A 10100 Speichert Daten aus RLE-Kanal 65 in A-Register 67.
-
ABT 10110 A-Register 67, B-Register 68 oder Arbeitsspeicher 34 abhängig
von Inhalt des Arbeitsspeicher-Adressenregisters 36.
-
B 10101 Speichert Daten aus RLE-Kanal 65 in B-Register 68.
-
CAB 10001 A-Register 67 oder B-Register 68 abhängig von Bit 11 in
Makrobefehlsregister 37.
-
CNTR 11110 Speichert niedrigststellige acht Bits aus Prozessor-Datenkanal
30 in Wiederholungszähler 141.
-
DSPL 11010 Speichert Daten aus Prozessor-Datenkanal 30 in Prozessor-Fronttafel-Sichtgerät.
-
I00 10111 Koppelt Daten aus Prozessor-Datenkanal 30 in E/A-Datenkanal
91 ein.
-
IR 11011 Speichert Daten aus Prozessor-Datenkanal 30 in Makrobefehlsregister
37.
-
IRIO 11001 Speichert niedrigststellige sechs Bits aus Prozessor-Datenkanal
30 in E/A-Adressenregister 93.
-
L 10000 Speichert Daten aus Prozessor-Datenkanal 30 in L-Register
57.
-
M 10011 Speichert Daten aus Prozessor-Datenkanal 30 in Arbeitsspeicheradressenregister
36.
-
NOP 11111 Keine Speicheroperation.
-
P 00000 Speichere Daten aus RLE-Kanal 65 in P-Register des Speichers
69.
-
T 10010 Speichere Daten aus Prozessor-Datenkanal 30 in Arbeitsspeicher-Datenregister
35.
-
R1 - 00001 Speichere Daten aus RLE-Kanal 65 in R15 bis eines der
Register Rl bis R15 des 01111 Speichers 69.
-
Ursprungsfeld-Mikroauftragcodes Kurz- Bitbezeichnung Kombinationen
Beschreibung A 10100 Koppelt Daten aus A-Register 67 in Prozessor-Datenkanal 30
ein.
-
ABT 10110 A-Register 67, B-Register 68 oder Arbeitsspeicher 34 abhängig
von Inhalt des Arbeitsspeicher-Adressenregisters 36.
-
ADDR 11001 Koppelt unteren Teil des Makrobefehlsregisters 37 und
oberen Teil des Arbeitsspeicheradressenregisters 36 in Prozessor-Datenkanal 30 ein.
-
B 10101 Koppelt Daten aus B-Register 68 in Prozessor-Datenkanal 30
ein.
-
CAB 10001 Koppelt Daten aus A-Register 67 in Prozessor-Datenkanal
30 ein, wenn Bit 11 in Makrobefehlsregister 37 gleich null ist; koppelt Daten aus
B-Register 68 in Prozessor-Datenkanal 30 ein, wenn Bit 11 eine Eins ist
CIR
11000 Koppelt 6-Bit-Adresse aus E/A-Unterbrechungskanal 95A in Prozessor-Datenkanal
30 ein.
-
DSPL 11010 Koppelt Inhalt des Prozessor-Fronttafel-Anzeigeregisters
(das nicht dargestellt ist in Prozessor-Datenkanal 30 ein.
-
IOI 10111 Koppelt Daten aus E/A-Datenkanal 91 in Prozessor-Datenkanal
30 ein.
-
IR 11011 Koppelt Daten aus Makrobefehlsregister 37 in Prozessor-Datenkanal
30 ein.
-
LDR 11101 Koppelt Daten aus Ureingabeprogramm-Prom in Prozessor-Datenkanal
30 ein.
-
M 10011 Koppelt Daten aus Arbeitsspeicheradressenregister 36 in Prozessor-Datenkanal
30 ein.
-
MASK 11100 Tastet Bit-Hinweisschaltung 40 auf.
-
NOP 11111 Prozessor-Datenkanal 30 enthält nur Einsen.
-
P 00000 Koppelt Inhalt des P-Registers im Speicher 69 in den Prozessor-Datenkanal
30 ein.
-
R1 - 00001 Koppelt Daten aus jeweiligem Re-R15 bis gister R7 bis
R15 des Speichers 69 01111 in Prozessor-Datenkanal 30 ein.
-
T 10010 Koppelt Haupt-Arbeitsspeicher-Daten aus Register 35 in Prozessor-Datenkanal
30 ein.
-
TIM 11110 Koppelt Ausgangssignal des Echtzeit-Taktgebers 145 in Prozessor-Daten-Kanal
30 ein.
-
Sprungmikroauftragcodes Kurz- Bitbezeichnung Kombinationen Beschreibung
ALO 0010 Überspringt den nächsten Mikrobefehl, wenn Bit O am Ausgang von RLE 59
eine Eins ist.
-
AL15 0011 Überspringt nächsten Mikrobefehl, wenn Bit 15 am Ausgang
der RLE 59 eine Eins ist.
-
ALZ 0001 Überspringt nächsten Mikrobefehl, wenn Ausgang der RLE 59
null ist.
-
CNT1 1001 Überspringt nächsten Mikrobefehl, wenn die vier niedrigststelligen
Bits des Wiederholungszählers 141 alles Einsen sind.
-
CNT8 1000 Überspringt nächsten Mikrobefehl, wenn alle Bits des Wiederholungszählers
141 Einsen sind.
-
COUT 0100 Überspringt nächsten Mikrobefehl, wenn RLE 59 einen Übertrag
abgibt.
-
FLG 1011 Überspringt nächsten Mikrobefehl, wenn Prozessor-Kennzeichen-Flipflop
118 gesetzt ist.
-
INTP 1010 Überspringt nächsten Mikrobefehl, wenn Unterbrechung vorliegt.
-
NOl> 0000 Überspringe nicht; nächsten Mikrobefehl.
-
0101 Überspringt den nächsten Mikrobefehl, wenn alle Ausgangssignale
der RLE 59 Einsen darstellen.
-
OVFL 0110 Überspringt nächsten Mikrobefehl, wenn Prozessor-Überlauf-Flipflop
116 gesetzt ist.
-
UNCD 0111 Überspringt nächsten Mikrobefehl unbedingt.
-
Kennzeichen-Mikroauftrag-Codes Kurs- Bit- Beschreibung bezeichnung
Kombinationen ALO 0010 Setze Prozessor-Kennzeichen-Flip flop 118, wenn das niedrigststelige
Bit der RLE 59 eine Eins ist.
-
AL15 0011 Setze Prozessor-Kennzeichen-Flipflop 118, wenn das höchststellige
Bit der RLE 59 eine Eins ist.
-
AL2 0001 Setze Prossor-Kennzeichenflipflop 118, wenn alle Aushanhsbits
/der RLE 59 Nullen sind.
-
COUT 0100 Setze Prozessor-Kennzeichen-Flipflop 118, wenn RLE 59 einen
Übertrag liefert.
-
EINSEN 0101 Setze Prozessor-Kennzeichen-Flipflop 118, wenn alle Ausgangsbits
der ilLE 59 Einsen sind.
-
OVFL 0110 Setze Prozessor-kennzeichen-Flipflop 118, wenn Überlauf
autritt.
-
UNCD 011-l Setze Prozessor-Kennzeichen-Flipflop 118 unbedingt.
-
Die KENNZEICHEN-Mikroaufträge werden nur dann freigegeben, wenn der
Prozessorfunktions-Mikroauftrag FLG oder FLGS im gleichen Mikrobefehl erscheint.
Bei Abwesenheit des Mikroauftrags FLG oder FLGS werden die SPRUNG-Mikroaufträge
freigegeben.
-
Abbildungs-Mikroauftrag-Codes Kurz- Bitbezeichnung Kombinationen
Beschreibung EOX 1100 Zeigt an, daß Mikroroutine nach Ausführung des nächsten Mikrobefehls
abgeschlossen ist und gibt Prioritäts-Abbildungs-Prom 50 frei.
-
EOXS 1101 Zeigt an, daß Mikroroutine abgeschlossen ist und gibt Prioritäts-Abbildungs-Prom
50 frei.
-
1111 Gibt Makrodecodierschaltung 38 frei und ruft Mikroroutine auf,
die vom Makrobefehl im Register 37 vorgeschrieben wird.
-
MAPI 1110 Gibt Makrodecodierschaltung 38 frei, um Mikroroutine aufzurufen,
nachdem indirekte Adressierung aufgelöst ist.
-
Der zweite Mikrobefehlstyp hat das folgende Format:
5 l |
Bit-Nr. 23 22 212019 18 171615 14 131211 109 8 7 6543 21 0 |
. . ~ |
I I BESTIM- o I |
Beschrei- PROZESSOR- RLE- BESTIM- OH OPEItMJI) |
bung FUNKTION FUNKTION MUNGSORT Zwei |
H |
l |
Die Prozessorfunktions-Mikroauftrag-Codes und die Bestimmungsort-Mikroauftragcodes
sind die gleichen wie bei dem oben angegebenen Mikrobefehlstyp. Es sind nur zwei
RLE-Funktions-Mikroauftragcodes vorhanden, und neben diesen Funktionen, die diese
beiden Codes vorschreiben, dienen sie, wie oben beschrieben, zur Kennzeichnung des
Mikrobefehls als einen solchen vom Format des zweiten Typs.
-
RLE-Funktions-Mikroauftrag-Codes Kurz- Bitbezeichnung Kombinationen
Beschreibung IMM 10100 Überträgt sechzehn Bits in Prozessor-Datenkanal 30, die aus
dem Einer-Komplement des binären 8-Bit-Operanden und weiteren acht Bits aus nur
Einsen bestehen. Die RLE 59 führt eine PASS-Operation durch.
-
IMMC 10101 Wie IMM, nur daß RLE 59 das Einer-Komplement der Daten
im Prozessor-Datenkanal 30 bildet.
-
Modifikator-Mikroauftrag-Codes Kurz- Bitbezeichnung Kombinationen
Beschreibung HOCH 1 Schreibt vor, das Einer-Komplement des Operanden den acht höchststelligen
Bitleitungen des Prozessor-Datenkanais 30 zuzuführen
N II 1>'Ii
(; o Schreibt vor, drei Liner-Komplement des Operanden den acht niedrigststellingen
Bitleitungen des Prozessor-Datenkanals 30 zuzuführen.
-
Der Operanden-Mikroauftragcode ist eine ganze achtstellige Binärzahl,
die eine Dezimalzahl von 0 bis 255 oder eine Oktalzahl von 0 bis 377 darstellt.
-
Der dritte Mikrobefehlstyp hat das folgende Format:
l3it-lll. {53 22 21 21 2D 222l19 1817161514 1312 11 10 987
6 5 4 3 2 1 0 |
0 |
lir<i - I'iOZI'SS0I- RLE- OH OPERAIJI |
F1JIKT OI FUNKTION |
l |
Die Prozessorfunktions-Mikroauftrag-Codes sind die gleichen wie bei den Mikrobefehlen
vom ersten Typ, und neben den Funktionen, die diese beiden unten angegebenen Codes
vorschreiben, dienen sie zur Kennzeichnung des Makrobefehls als einen vom Format
des dritten Typs.
-
RLE-Funktions-Mikroauftrag-Codes Kurz- Bitbezeichnung Kombinationen
Beschreibung JMP 10110 Unbedingter Sprung zur Mikrobefehlsadresse, die im Operanden
angegeben ist.
-
10111 Unbedingter Sprung zur Mikrobefehlsadresse, die im Operanden
angegeben ist, und Speicherung der RUcksprungadresse im Sicherstellungsregister
120.
-
Modifikator-Mikroauftrag-Codes Kurz- Bitbezeichnung Kombinationen
Beschreibung J30 01 Ersetzt die vier niedrigststelligen Bits des Operanden durch
die vier niedrigststelligen Bits im Makrobefehlsregister 37.
-
J74 10 Ersetzt die vier niedrigststelligen Bits des Operanden durch
die Bits vier bis sieben im Makrobefehlsregister 37.
-
NOP 11 Keine Modifikation des Operanden.
-
Der Operand-Mikroauftrag-Code eines Befehls vom Typ drei ist eine
12-Bit-Adresse, die über den Multiplexer 122 dem Mikroprogramm-Steuerwerk 47 zugeführt
wird.
-
Die oben definierten Mikrobefehle werden zu Mikroroutinen zusammengesetzt,
die im Mikroprogramm-Festspeicher 32 gespeichert werden. Diese Mikro routinen werden
ihrerseits zur Ausführung von Makrobefehlen verwendet, die im Haupt-Arbeitsspeicher
34 gespeichert sind. Die Makrobefehle werden zu Programmen oder Routinen zusammengesetzt,
bei deren Ausführung die verschiedenen numerischen Steuerfunktionen durchgeführt
und die einzelnen digitalen Vorrichtungen der Werkzeugmaschine betätigt werden.
Bevor im einzelnen beschrieben wird, wie die Makrobefehle durch ausgewählte Mikroroutinen
ausgeführt werden, soll das Software-System des industriellen Steuerprozessors 13
in großen Zügen beschrieben werden, um den Leser mit den zu lösenden Aufgaben und
der grundsätzlichen Betriebsweise der Einrichtung zur Lösung dieser Aufgaben vertraut
zu machen.
-
Ferner wird bezüglich handelsüblicher numerischer Steuereinrichtungen,
bei denen die Erfindung angewandt werden kann, auf den Aufsatz "The Technical Ins
and Outs of Computerized Numerical Control" von P. G. Mesniaeff in "Control Engineering",
März 1971 verwiesen,
Der Betrieb des industriellen Steuerprozessors
13 wird durch die Software-Routinen bestimmt, die in seinem Haupt-Arbeitsspeicher
34 gespeichert sind und zusammen das Software-System bilden. Das Software-System
besteht aus vier Hauptteilen: Grundroutinen; 10-Millisekunden-Takt-Unterbrechungssteuerroutinen;
Bandleserbedienungsroutinen und Tastaturbedienungsroutinen.
-
Nach Fig. 9 bestehen die Grundroutinen 175 aus solchen die numerische
Steuerung bewirkenden Basisroutinen, wie Aufbau-, Decodier-, Nicht-Unterbrechungsteil
der Tastatur-und Bandleserroutinen, Anzeige-Aktualisierungs-Subroutine, ASCII/Oktal-
und Oktal/ASCII-Umsetzer, Rechen- und Unterstützungsroutinen, Tastbetrieb, Tastaturbedienung,
Werkzeug- und Halter-Versetzung, Schneidwerkzeugkorrektur und Teilprogrammredigierung.
Die Grundroutinen enthalten auch diejenigen, die zu den Erfordernissen des programmierbaren
Steuergeräts der Einrichtung gehören, wie ein maschinenabhängiger Software-Lader
und -Editor (Textmanipulator), Hardcopy-Ausgabe, Locherausgabe und E/A-Monitor.
Die meisten dieser Grundroutinen werden wahlweise von einer Hauptsteuerungs- oder
Ausführungsroutine 176 aufgerufen, die aus drei Programmschleifen 177 bis 179 besteht.
Diese drei Schleifen 177 bis 179 werden durch Betriebsartschalter an der Hauptsteuertafel
10 gewählt. Die erste Schleife 177 spricht auf die Auswahl der automatischen oder
Block-fUr-Block-Betriebsarten, die zweite Schleife 178 auf die Tastatur-Betriebsart
und die dritte Schleife 179 auf die manuelle Betriebsart an.
-
Ein ausführlicher Flußplan der Hauptsteuerroutine 176 ist in Fig.
13 dargestellt.
-
Die automatischen und Block-für-Block-Betriebsarten werden von einer
gemeinsamen Schleife 177 durchgeführt, die ausgewählte Grundroutinen 175 aufruft.
Diese Routinen lösen den Bandleser 5 aus, lesen den Teilprogrammdatenblock ein,
decodieren ihn und stellen ihn auf. Die Routine 177 ruft dann
eine
Blockausführungsroutine auf, die die eigentliche Ausführung des Teilprogrammdatenblocks
bewirkt.
-
Wie der detaillierte Flußplan nach den Fig. 14A und 14B zeigt, ist
die Blockausführungsroutine in einen Vorblock-oder Vorspann-Teil, einen Interpolationsteil
und einen Nachblock- oder Nachspann-Teil unterteilt. Während des Vorspann-Teils
(oder Vorspiel-Teils) werden ausgewählte System-Kennzeichen so eingestellt, daß
sie anzeigen, daß bestimmte Funktionen, wie das Einschalten der Spindel, des Kühlmittels
und dergleichen, ausgeführt werden sollen. Diese Kennzeichen werden in einem ausgewählten
Arbeitsspeicherteil in einer System-Kennzeichen-Tabelle 182 im Hauptarbeitsspeicher
34 gespeichert. In ähnlicher Weise werden während des Nachspann-Teils der Blockausführungsroutine
Kennzeichen aus der Tabelle 182 gesetzt, um anzuzeigen, daß bestimmte Funktionen,
wie Werkzeugwechsel, Hin- und Herbewegungen, Ausschalten von Kühlmittel und Spindel
und dergleichen, von den maschinenspezifischen Vorrichtungen ausgeführt werden sollen.
Wie nachstehend näher beschrieben wird, ist es die Kennzeichen-Tabelle 182, die
die numerischen Steuerfunktionen der Einrichtung an die Funktionen des programmierbaren
Steuergeräts der Einrichtung ankoppelt bzw. anpaßt.
-
Die zweite Schleife 178 der Hauptsteuerroutine 176 wird eingeleitet,
wenn die Tastatur-Freigabedrucktaste an der Hauptsteuertafel 10 betätigt wird. Diese
Betriebsart dient beispielsweise zur Durchführung solcher Funktionen, wie der Teilprogrammredigierung
der maschinenspezifischen Software-Routine, die nachstehend anhand der Flußpläne
nach den Fig.
-
17 bis 20 näher beschrieben wird. Die dritte Schleife 179 der Hauptsteuerroutine
176 wird eingeleitet, wenn der Fronttafel-Wählschalter auf "manuell" eingestellt
ist. Die manuelle Routine enthält alle Bedienungsfunktionen, wie Tastbetrieb, Bandsteuerung
und Einstellung auf Null, die jeweils durch wahlweise aufgerufene Routinen durchgeführt
werden.
-
Die Hauptsteuerroutine 146 leitet daher alle Grundfunktionen der Einrichtung,
die dazu dienen, den industriellen Steuerprozessor 13 zur Bildung der Daten vorzubereiten,
die den Servovorrichtungen (Regelvorrichtungen) an der Werkzeugmaschine zugeführt
werden und den zugehörigen spezifischen digitalen Vorrichtungen die auszuführenden
Hilfsfunktionen anzeigen.
-
Die übrigen Teile des Software-Systems unterbrechen die Hauptsteuerroutine
176, um die E/A-Schnittstellengestelle 20 und 21 und die E/A-Vorrichtungen der Einrichtung
zu bedienen. Eine 10-Millisekunden-Takt-Unterbrechungsroutine 183 bewirkt die augenblicklichen
Übertragungen von Daten aus dem industriellen Steuerprozessor 13 zu den Regelvorrichtungen
und spezifischen digitalen Vorrichtungen der gesteuerten Werkzeugmaschine. Diese
Routine ist im wesentlichen in Fig. 9 dargestellt und wird dann zur Fertigbearbeitung
alle 10,24 Millisekunden nach einer von der taktgesteuerten Unterbrechungsschaltung
162 geforderten Unterbrechung ausgeführt. Wie bereits erwähnt wurde, lädt eine Unterbrechungsbedienungs-Mikroroutine
die Arbeitsspeicher-Anfangsadresse der 10-Millisekunden-Takt-Unterbrechungsroutine
183 ins P-Register (Programmzähler) des Speichers 69, und dann wird sie zur Fertigbearbeitung
ausgeführt.
-
Nachdem - siehe Fig. 9 und die Fig. 15A und 15B - verschiedene organisatorische
Operationen ausgeführt worden sind, werden Lage-Istwertdaten und Lage-Sollwertdaten
zwischen dem E/A-Schnittstellengestellt 20 und dem industriellen Steuerrechner 13
durch eine Regelvorrichtungs-Bedienungsroutine 184 übertragen. Bei beispielsweise
einer Drei-Koordinaten-Maschine sind die x-, y- und z-Koordinaten-Lage-Istwert-Akkumulatoren
mit den Spalten 0-2 des ersten E/A-Schnittstellengestells 20 und Regelvorrichtungs-Sollwertregister
mit den Spalten 3 bis 5 verbunden. Die Routine 184 führt nacheinander die drei 16-Bit-Istwertwörter
in entsprechenden Leitungen im Lese/ Schreib-Arbeitsspeicher 34 und die drei 16-Bit-Sollwertwörter,
die
zuvor berechnet und an drei Arbeitsspeicherplätzen im Hauptarbeitsspeicher 34 gespeichert
wurden, den Spalten 3 bis 5 des E/A-Schnittstellengestells 20 zu.
-
Die Zustände aller Abtastvorrichtungen, die an die E/A-Schnittstellengestelle
20 und 21 angeschlossen sind, werden dann dem Haupt-Arbeitsspeicher 34 durch eine
Eingangzustandsroutine 186 zugeführt.
-
Die Routine 186 führt nacheinander die sechzehn Bits der Zustandsdaten
aus den Spalten der E/A-Schnittstellengestelle 20 und 21 einer zugehörigen Zeile
im Hauptarbeitsspeicher 34 zu. Ein Teil des Haupt-Arbeitsspeichers 34, im folgenden
E/A-Bildtabelle 185 genannt, dient zur Speicherung dieser Zustandsdaten und derjenigen
Daten, die an die E/A-Schnittstellengestelle 20 und 21 ausgegeben werden sollen.
Eine ausführlichere Beschreibung der Verbindung zwischen den E/A-Spalten in den
Schnittstellengestellen 20 und 21 mit den Zeilen in der E/A-Bildtabelle 185 wird
im folgenden gegeberqund die Eingangabtastungs-Mikroroutine, die die Daten aus den
acht Spalten eines E/A-Schnittstellengestells der E/A-Bildtabelle 185 zuführt, ist
in dem Mikroroutinen-Anhang aufgeführt.
-
Als nächstes wird eine maschinenspezifische Software-Routine 187 ausgeführt,
um den Zustand zu bestimmen, in den alle arbeitenden Vorrichtungen, die an die E/A-Schnittstellengestelle
20 und 21 angeschlossen sind, gebracht werden sollen. Wie nachstehend noch ausführlicher
beschrieben wird, enthält die maschinenspezifische oder maschinenabhängige Software-Routine
187 Befehle des programmierbaren Steuerwerks, die der Reihe nach ausgeführt werden,
um boolesche bzw. schaltalgebraische Verknüpfungen auszuführen und dadurch den Zustand
arbeitender Vorrichtungen zu bestimmen. Bei der Durchführung dieser Bestimmungen
werden der Zustand ausgewählter Bits in der E/A-Bildtabelle 185 und der System-Kennzeichen-Tabelle
182 überprüft, um ein Bild des augenblicklichen Zustands sowohl des numerischen
Steuervorgangs als auch der an die Steuereinrichtung
angeschlossenen
maschinenabhängigen Vorrichtungen zu ermitteln. Die festgestellten Zustände werden
in der E/A-Bildtabelle 185 gespeichert, und nachdem die Routine 187 ausgeführt worden
ist, werden diese Zustände durch eine Ausgabezustandsroutine 194 den Ausgabeschaltungen
in den E/A-Schnittstellengestellen zugeführt, die die angeschlossenen arbeitenden
Vorrichtungen antreiben. Die Routine 194 überträgt 16-Bit-Zustandswörter aus dem
Hauptarbeitsspeicher 34 in ihre zugehörigen E/A-Schnittstellengestelle und -spalten.
Die Ausgabeabtastungs-Mikroroutine zur Übertragung der E/A-Bildtabellen-Zustandswörter
in die acht Spalten eines E/A-Schnittstellengestells ist in dem Mikroroutinen-Anhang
aufgeführt.
-
Wenn ein Block aus Teilprogrammdaten aufgestellt und die Vorspann-Funktionen
ausgeführt worden sind, wird eine Interpolations-Subroutine 188 ausgeführt, um Lage-Sollwertdaten
für die Regelvorrichtungen der Maschine zu berechnen. Diese berechneten Lage-Sollwertwörter
steuern die Regelvorrichtungen während einer Zeitspanne von 10,24 Millisekunden
und werden durch die Regelvorrichtungs-Bedienungsroutine 184 während der anschließenden
10-Millisekunden-Unterbrechung ausgegeben. Die zeitlich gesteuerte bzw. taktgesteuerte
Unterbrechungsroutine 183 wird zur Hauptsteuerroutine 176 zurückgeführt.
-
Das maschinenspezifische Software-Programm wird also während jeder
10,24-Millisekunden-Unterbrechung einmal ausgeführt, um die Zustände der Abtastvorrichtungen
zu überprüfen, die in der E/A-Bildtabelle 185 während des 10-Millisekunden-Intervalls
auftreten, und die Zustände der Bits in der E/A-Bildtabelle 185 einzustellen, die
den arbeitenden Vorrichtungen entsprechen. Ebenso oft wird die E/A-Bildtabelle 185
dadurch aktualisiert, daß Daten zwischen ihr und den Schnittstellengestellen 20
und 21 übertragen werden, um sicherzustellen, daß ihr Zustand ein genaues Bild des
Zustands der gerade gesteuerten Maschine ist.
-
Eine dritte Routinenart des Software-Systems nach Fig. 9 ist die Bandleserroutine,
die in zwei Teile unterteilt ist: Den Unterbrechungsteil 190 und den Grundteil.
Die Bandleserroutine wird von der Hauptsteuerroutine 176 aufgerufen, die den Grundteil
der Bandleserroutine zur Durchführung von Auslösefunktionen verwendet. Nach Auslösung
bzw. Einleitung des Grundteils tritt immer dann eine Bandleserunterbrechung auf,
wenn ein neues Bandzeichen unter dem Lesekopf des Bandlesers 5 angeordnet ist, wobei
der Unterbrechungsteil der Bandleserroutine 190 ausgeführt wird. Bei dieser Routine
wird das Bandzeichen abgelesen und in einen ausgewählten Datenpuffer des Hauptarbeitsspeichers
34 übertragen. Ferner setzt sie Kennzeichen in der Systemtabelle 182, wenn das Blockendezeichen
gelesen und die Blockgrenze überschritten worden ist.
-
Eine vierte Art von Routinen des Software-Systems ist die Tastatur-
und Sichtgerät-Routine. Diese enthält einen Unterbrechungsteil 191, der jedesmal
eingeleitet wird, wenn eine Taste auf der MDE-Tastatur 8 oder der Hilfstastatur
7 betätigt wird. Grundteile der Tastatur- und Sichtgerät-Routine interpretieren
die empfangenen ASCII-Zeichen als Daten, die im Haupt-Arbeitsspeicher 34 gespeichert
sind, oder als Codes, die die Ausführung spezieller Subroutinen aufrefen. Die beiden
Tastaturen 7 und 8 sind parallelgeschaltet, und ihr einziger Unterschied besteht
darin, daß auf ihren Tasten verschiedene Symbole aufgedruckt sind. Die Tastatur
8 hat Tasten mit Symbolen, die typisch für eine numerische Steuereinrichtung sind,
während die Tastatur 7 Tasten aufweist, die typisch für einen Programmlader von
programmierbaren Steuergeräten sind. Beispielsweise enthält eine Gruppe von Tasten
auf der Hilfstastatur 7 Symbole von Elementen eines Leiterdiagramms, und wenn diese
Tasten betätigt werden, wird ein Leiterdiagramm auf dem Sichtgerät 9 wiedergegeben.
Auf diese Weise werden Steuergerätbefehle, die in den maschinenspezifischen Software-Teil
187 des Haupt-Arbeitsspeichers 34 geladen werden sollen, an der Hilfstastatur 7
erzeugt, während ein Leiterdiagramm,
das dem entwickelten Steuerprogramm
entspricht, gleichzeitig auf dem Sichtgerät 9 aufgebaut wird. Andere Testen der
Hilfstastatur 7 rufen Redigierfunktionen auf, die durch das gebildete Steuerprogramm
ausgeführt werden sollen. Zu diesen gehören die Funktionen SEARCH (SUCHEN), MONITOR
(ÜBERWACHEN), GAP (BLOCKLUCKE BILDEN) und UNGAP (BLOCKLÜCKE BESEITIGEN), die in
der erwähnten USA-Patentschrift 3 813 649 beschrieben sind.
-
Es kann aber auch nur eine einzige Tastatur zur Bedienung sowohl der
numerischen Steuerfunktionen als auch der Funktionen des programmierbaren Steuergeräts
verwendet werden.
-
In diesem Falle ist es zweckmäßig, die Tasten mit Symbolen zu markieren,
die ihren beiden Funktionen zugeordnet sind, wie es in Fig. 16 dargestellt ist.
Unabhängig davon, ob nur eine Tastatur oder zwei Tastaturen verwendet werden, wird
die Steuerung mittels der Tastatur 8 bewirkt, wenn die Einrichtung auf Tastaturbetrieb
eingestellt ist. Durch Eingabe des Befehls "AL, PE" über die Tastatur 8 wird jedoch
eine Programmredigier-Grundroutine aufgerufen, so daß alle nachfolgenden ASCII-Zeichen
entsprechend den Symbolen auf den Tastaturtasten des programmierbaren Steuergeräts
interpretiert werden. Ein Flußplan der Programmredigier-Routine ist in Fig. 17 dargestellt
und wird nachstehend näher beschrieben.
-
Wie bereits erwähnt wurde, wird ein Bild des Zustands der vom industriellen
Steuerrechner 13 gesteuerten Maschine in der E/A-Bildtabelle 185 des Haupt-Arbeitsspeichers
34 und der Zustand der numerischen Steuermöglichkeiten der Einrichtung in der System-Kennzeichen-Tabelle
182 gespeichert.
-
Nach Fig. 10 besteht die E/A-Bildtabelle 185 aus bis zu vierundzwanzig
Leitungen des Haupt-Arbeitsspeichers 34, von denen bei dem bevorzugten Ausführungsbeispiel
nicht alle benutzt werden. Die Spalten 6 und 7 des Schnittstellengestells 20
sind
mit entsprechenden Leitungen 6 und 7 der E/A-Bildtabelle 185 verbunden, und alle
acht Spalten im E/A-Schnittstellengestell 21 sind mit entsprechenden Leitungen 20
bis 27 (Oktal) in der E/A-Bildtabelle 185 verbunden. Alle Spalten in dem Schnittstellengestell
20 und 21, die mit der E/A-Bildtabelle 185 verbunden sind, enthalten jeweils sechzehn
getrennte Eingabe- oder Ausgabeschaltungen, die jeweils mit einer digitalen Vorrichtung
der Werkzeugmaschine 3 verbunden sind, z.B. einem Grenzwertschalter oder einem Motoranlasser.
-
Jeder dieser Eingabe- oder Ausgabeschaltungen ist eines der sechzehn
Bits auf einer Arbeitsspeicherleitung in der E/A-Bildtabelle 185 zugeordnet, so
daß in der E/A-Bildtabelle 185 ein Zustandsbit existiert, das jeder speziellen digitalen
Vorrichtung zugeordnet ist, die an die E/A-Schnittstellengestelle 20 und 21 angeschlossen
ist. So schließt beispielsweise ein Schalter S an der Werkzeugmaschine 3, wenn der
Maximalwert der Vorschubbewegung in Richtung der X-Achse erreicht ist, und er ist
mit einer Eingabeschaltung verbunden, die in der Spalte 3 des Schnittstellengestells
21 angeordnet ist. Das Bit 14 in der Arbeitsspeicherleitung 023 (Oktal) entspricht
diesem Grenzwertschalter S, und wenn der Grenzwert schalter S geschlossen wird,
wird dieses Bit während der nächsten 10,24 Millisekunden dauernden Unterbrechung
in den 1-Zustand gesetzt. Der Zustand des Bits 14 in der Leitung 023 kann dann durch
einen Befehl der maschinenspezifischen Software-Routine 187 überprüft werden, um
den Zustand seiner entsprechenden Abtastvorrichtung festzustellen.
-
Die maschinenspezifische Software-Routine 187 besteht aus Steuergerätbefehlen,
die den Zustand ausgewählter Bits in der E/A-Bildtabelle 185 überprüfen, und aus
Steuergerätbefehlen, die den Zustand ausgewählter Bits in der Tabelle 185 einstellen.
Der Überprüfungsbefehl des Steuergeräts besteht aus zwei Arbeitsspeicherwörtern,
von denen das erste den Operationscode und einen aus vier Bits bestehenden Bit-
Hinweis
und das zweite Wort die Arbeitsspeicheradresse des Zustandsbits darstellt. Um beispielsweise
zu prüfen, ob der Grenzwertschalter S geschlossen ist, wird der folgende 2-Wort-Prüfungs-Makrobefehl
vom industriellen Steuerprozessor 13 ausgeführt: 1. WORT: XIC,14 1 000 101 001 11
1110 2. WORT: 00023 0 000 000 010 011 Wie nachstehend noch ausführlicher beschrieben
wird, weist der XIC-Operationscode auf eine ausgewählte Mikro routine hin, bei deren
Ausführung der Inhalt der E/A-Bildtabellen-Zeile 023 (Oktal) auf den Prozessor-Datenkanal
30 ausgelesen wird. Die Bit-Hinweisschaltung 40 wird freigegeben und und der 4-Bit-Hinweis
(1110) dieser zugeführt, um alle bis auf ein Zustandsbit 14 zu maskieren bzw. auszublenden.
Der Logikzustand des Bits 14 wird daher der RLE 59 zugeführt, wo er überprüft wird.
-
Das System bewirkt in ähnlicher Weise das Einstellen bzw.
-
Setzen des Zustands des ausgewählten Zustandsbits in der E/A-Bildtabelle
185. So soll beispielsweise ein Hubmagnet (SOL), der mit einer Ausgabeschaltung
Nummer 12 in der Spalte 2 des dritten E/A-Schnittstellengestells 21 verbunden ist,
von der maschinenspezifischen Software-Routine 187 gesteuert werden. In diesem Beispiel
entspricht das Zustandsbit Nummer 12 in der E/A-Bildtabellen-Zeile 022 (Oktal) dem
Hubmagneten SOL, und der Zustand des Hubmagneten SOL kann durch Einstellung dieses
Zustandsbits auf den entsprechenden Zustand gesteuert werden. Der folgende Makrobefehl
stellt den Zustand des Hubmagnet-Zustandsbits in der E/A-Bildtabellen-Zeile 022
(Oktal) auf den 1-Zustand ein: ERSTES WORT: OTE,12 1 000 101 011 00 1100 ZWEITES
WORT: 00022 0 000 000 010 010 Das erste Wort ist der Operationscode, der die geeignete
Mikroroutine auswählt und die Bit-Hinweisschaltung 40 vorbereitet,
während
das zweite Wort die Arbeitsspeicher-Zeile auswählt. Nach dem Setzen durch den Steuergerätbefehl
wird der Zustand des Zustands-Bit der Ausgabeschaltung zugeführt, die den Hubmagneten
SOL durch die Datenausgabe-Routine 189 betätigt. Es sei jedoch darauf hingewiesen,
daß die E/A-Bildtabelle 185 irgendwo in dem Haupt-Arbeitsspeicher 34 untergebracht
werden kann. Infolgedessen enthält das zweite Wort in jedem Steuergerätbefehl typischerweise
eine Zahl, die wesentlich größer als die in den obigen Beispielen enthaltene ist
und die absolute Arbeitsspeicheradresse des gewünschen Zustands-Bit kennzeichnet.
-
Wie bereits erwähnt wurde, dient die System-Kennzeichen-Tabelle 182
der Anpassung der Aspekte des programmierbaren Steuergeräts der Einrichtung an die
Aspekte der numerischen Steuereinrichtung. Wie in Fig. 10 dargestellt ist, ist die
Kennzeichen-Tabelle 182 neben der E/A-Bildtabelle 185 in den relativen Arbeitsspeicher-Zeilen
200 bis 377 (Oktal) gespeichert. Der Inhalt der System-Kennzeichen-Tabelle für eine
Drei-Koordinaten-Fräsmaschine ist in dem System-Kennzeichen-Tabelle-Anhang dieser
Beschreibung aufgelistet. Wie man sieht, ist erheblicher Raum freigelassen, so daß
das System vom Anwender an das jeweils verwendete Werkzeugmaschinenfabrikat angepaßt
werden kann. Der Zustand der Kennzeichen-Tabelle 182 wird hauptsächlich durch die
Grundroutinen 175 bestimmt, die von der Hauptsteuerungsroutine 176 aufgerufen werden,
obwohl die maschinenspezifische Software-Routine 187 einige von ihnen steuert.
-
Die maschinenspezifische Software-Routine 187 kann den Zustand irgendeines
System-Kennzeichens während ihrer Ausführung mit einem XIC-Befehl, wie oben beschrieben,
oder anderen Prüfungsbefehlen des programmierbaren Steuergeräts überprüfen, die
nachstehend näher beschrieben werden. Kurz gesagt, wird die System-Kennzeichen-Tabelle
182 im wesentlichen als eine Verlängerung oder Ergänzung der E/A-Bildtabelle 185
behandelt, die ein Bild des Zustands der industriellen Steuereinrichtung,
während
sie ein Teilprogramm ausführt, darstellt.
-
Die System-Kennzeichen-Tabelle 182 dient der Koordinierung des Betriebs
der maschinenspezifischen Arbeitsvorrichtungen mit der Ausführung des Teilprogramms.
-
Das maschinenspezifische Software-Programm 187, das im Haupt-Arbeitsspeicher
34 gespeichert ist, besteht aus Sätzen von Makrobefehlen des programmierbaren Steuergerätetyps,
die nacheinander jeweils während jeder 10,24-Millisekunden-Unterbrechung ausgeführt
werden. Wie bei herkömmlichen programmierbaren Steuergeräten führen diese Makrobefehle
boolesche Gleichungen bzw. Schaltfunktionen aus, um zu entscheiden, ob eine bestimmte
Arbeitsvorrichtung ein- oder ausgeschaltet werden muß. Die USA-Patentschrift 3 942
158 beschreibt ein programmierbares Steuergerät, bei dem die Steuergerätbefehle
diejenigen enthalten, die die Zustände der ausgewählten Zustands-Bits in der E/A-Bildtabelle
185 überprüfen, und solche, die ausgewählte Zustands-Bits darin auf einen logischen
Zustand einstellen, der vom Ergebnis einer booleschen Gleichung bzw. Verknüpfung
abhängt. Der erfindungsgemäße industrielle Steuerprozessor führt direkt einen vollständigen
Satz von Befehlen aus, wie sie bei einem programmierbaren Steuergerät verwendet
werden, so daß der Anwender das maschinenspezifische Software-Programm 187 unter
Verwendung herkömmlicher Befehle eines programmierbaren Steuergeräts und Anwendung
von Programmierverfahren, wie sie in der USA-Patentschrift 3 813 649 beschrieben
sind, entwickeln kann.
-
Der Makrobefehlssatz vom Typ eines programmierbaren Steuergeräts enthält
33 Operationsbefehle und neun Redigierbefehle.
-
Die Operationsbefehle können in die folgenden fünf Arten unterteilt
werden: Grundbefehle, Zeitgeberbefehle, Zählerbefehle, Rechenbefehle und Spezialbefehle.
Die Grundbefehle sind solche, die zur Ausführung oder Lösung boolescher Gleichungen
erforderlich sind. In der folgenden Liste derartiger Befehle erscheint das für jeden
vorgesehene "Anzeige und Tastatur-Symbol" auf einer Taste der Hilfstastatur 7 und
auf
dem Bildschirm des Kathodenstrahlröhren-Sichtgeräts 9, wenn
diese Taste betätigt wird.
-
Grundbefehle
Kurz- Anzeige- Operations- |
bezeich- und Tastatur- Code Beschreibung |
nung Symbol (Oktal) |
XIC -3 [- 10516 Überprüfe Zustandsbit, |
ist es geschlossen oder |
befindet es sich im |
1-Zustand? |
XIO -] / [- 10520 Überprüfe Zustandsbit, |
ist es offen oder befin- |
det es sich im O-Zustand? |
BND 3 10524 Verzweigungsende; Ab- |
schluß einer booleschen |
Unterverzweigung. |
BST 7 10522 Verzweigungsanfang; |
Öffnet oder beginnt eine |
boolesche Unterverzwei- |
gung. |
OTE - ( ) - 10530 Wenn Bedingungen erfüllt |
sind, schalte Zustands- |
bit ein, und wenn Bedin- |
gungen nicht erfüllt sind, |
schalte Zustandsbit aus. |
OTD -(/)- 10526 Wenn Bedingungen erfüllt |
sind, schalte Zustands- |
bit aus, und wenn Bedin- |
gungen nicht erfüllt sind, |
schalte Zustandsbit ein. |
OTL -(L)- 10554 Wenn Bedingungen erfüllt |
sind, schalte Zustands- |
bit ein, und wenn nicht, |
tue nichts. |
OTU -(U)- 10534 Wenn Bedingungen erfüllt |
sind, schalte Zustands- |
bit aus, und wenn nicht, |
tue nichts. |
GET -[G]- 10532 Hole in ausgewählter Ar- |
beitsspeicher;Zeile ge- |
speichertes Wort und |
speichere es im A-Register |
-
EQL » - 10540 Ist der im A-Register 67 gespeicherte Wert gleich dem
in der ausgewählten Arbeitsspeicher-Zeile gespeicherten Wert? LES -\s- 10542 Ist
der im A-Register 67 gespeicherte Wert kleiner als der in der ausgewählten Arbeitsspeicher-Zeile
gespeicherte Wert? PUT -(PUT)- 10544 Wenn Bedingungen erfüllt sind, schreibe das
im A-Register 67 gespeicherte Wort in die ausgewählte Arbeitsspeicher -Zeile wenn
sie nicht erfüllt sind, tue nichts.
-
Taktgeberbefehl e Kurz- Anzeige- Operationsbezeich- und Tastatur-
Code Beschreibung nung Symbol (Oktal) TON 0.1 -(TON)- 105143 Wenn Bedingungen erfüllt
sind, warte bis zum Ende des Takts, dann schalte Ausgabe ein, andernfalls schalte
Ausgabe aus.
-
TON 1.0 -(TON)- 105144 Ebenso wie TON 0.1, nur daß längeres Taktintervall
möglich ist.
-
TOF 0.1 -(TOF)- 105145 Wenn Bedingungen erfüllt sind, schalte Ausgabe
ein, andernfalls warte bis Taktende, dann schalte Ausgabe aus.
-
TOF 1.0 -(TOF)- 105146 Wie TOF 0.1, nur daß längeres Taktintervall
möglich ist.
-
RTO 0.1 -(RTO)- 105147 Wenn Bedingungen erfüllt sind, warte bis Taktende,
dann schalte Ausgabe ein, andernfalls halte Takt-bzw. Zeitgeber an.
-
RTO 1.0 -(RTO)- 105150 Wie RTO 0.1, nur daß längeres Taktintervall
möglich ist.
-
RTR -(RTR)- 105151 Wenn Bedingungen erfüllt sind, stelle Taktgeber
zurück.
-
Zählerbefehle Kurz- Anzeige- Operationsbezeich- und Tastatur- Code
Beschreibung nung Symbole (Oktal) CTU -(CTU)- 105140 Wenn Bedingungen erfüllt sind,
erhöhe Zählerstand um eins.
-
CTD -(CTD)- 105141 Wenn Bedingungen erfüllt sind, verringere Zählerstand
um eins.
-
CTR -(CTR)- 105142 Wenn Bedingungen erfüllt sind, rückstelle Zähler
auf null.
-
Rechenbefehl e Kurz- .Unzeige- Operationsbezeich- und Tastatur- Code
Beschreibung nung Symbole (Oktal) PLUS -[+)- 105500 Addiere Inhalt des A-Registers
67 zu den Daten der adressierten Zeile des Arbeitsspeichers 34 und speichere Ergebnis
im A-Register 67.
-
MINUS -[-- 105520 Subtrahiere Daten der adressierten Zeile des Arbeitsspeichers
34 vom Inhalt des A-Registers 67 und speichere Ergebnis im A-Register 67.
-
Spezialbefehle Kurz- Anzeige- Operationsbezeich- und Tastatur- Code
Beschreibung nung Symbole (Oktal) TBL -BL- 105153 Lies Zeile aus Anwenderdatentabelle
ins A-Register 67.
-
B/D [B-D 105154 Binär/Dezimal-Umsetzung.
-
D/B - [D-Bg - 105155 Dezimal/Binär-Umsetzung.
-
SLR -|S>|- 10146 Verschiebe Inhalt des A-Registers 67 um einen
vorbestimmten Betrag nach rechts.
-
SLL -[S<]- 10546 Verschiebe Inhalt des A-Registers 67 um einen
vorbestimmten Betrag nach links.
-
OUTP 105157 übertrag Inhalt der E/A-Bildtabelle 185 in ein E/A-Schnittstellengestell.
-
INPT 105156 übertrag Daten aus einem E/A-Schnittstellengestell in
zugehörigen Arbeitsspeicherplatz in E/A-Bildtabelle 185.
-
Die Redigierbefehle werden zur Entwicklung maschinenspezifischer Software
verwendet, wobei die Tastatur 7 und das Sichtgerät 9 verwendet werden. Diese Befehle
rufen Subroutinen auf, die folgende Funktionen ausführen: Kurz- Tastatur- Operationsbezeich-
Symbole Code Beschreibung nung (Oktal) EINFÜGUNG In der maschinenspezifischen Software
wird eine Öffnung für die Einfügung eines zusätzlichen PSG-Makrobefehls (PSG - programmierbares
Steuergerät) gebildet.
ENTFERNEN Aus der maschinenspezi- |
fischen Software-Routine |
wird ein PSEMakrobefehl |
entfernt und die resul- |
tierende Lücke wird ge- |
schlossen. |
SPROSSE Schreibt die Leiterdia- |
grammsprosse vor, die |
auf dem Sichtgerät 9 |
angezeigt und mit der |
Tastatur 7 redigiert |
werden soll. |
Verringert Sprossen- |
Positionsanzeigesymbol |
zur Sichtanzeige und |
Redigierung der vorher- |
gehenden Sprosse. |
Erhöht Sprossen-Posi- |
tionsanzeigesymbol zur |
Sichtanzeige und Redi- |
gierung der nächsten |
Sprosse. |
Verschiebt Element- |
Positionsanzeigesymbol |
nach rechts zum Laden |
oder Redigieren des |
nächsten Sprossen-Ele- |
ments. |
Verschiebt Element- |
Positionsanzeigesymbol |
nach links zur Redigie- |
rung des vorhergehenden |
Sprossen-Elements. |
LÖSCHEN Löscht Such- und nume- |
rasche Eingangsgrößen. |
SUCHEN Zeigt auf Bildschirm des |
Sichtgeräts einen ausge- |
wählten PSG-Makrobefehl |
in der maschinenspezifi- |
schen Software-Routine |
an. |
-
Im folgenden wird ein Programmbeispiel beschrieben, um eine Vorstellung
von den auszuführenden Funktionen zu vermitteln.
-
Das Programmbeispiel gilt für eine dreiachsige (x, y und z)
Werkzeugmaschine,
die in Fig. 12A schematisch dargestellt ist und bei der ein Schneidwerkzeug 200
in Richtung jeder Achse in Abhängigkeit von Lage-Sollwert-Wörtern verschoben wird,
die von einem Teil- bzw. Werkstück-Programmband mittels des Bandlesers 5 abgelesen
wird. Die Werkzeugmaschine weist einen Indextisch 201 auf, der das Werkstück trägt
und um eine vertikale Achse b drehbar ist, um das Werkstück in die Arbeitslage relativ
zum Schneidwerkzeug 200 zu bringen. Der für den Vorschub in Richtung der X-Achse
vorgesehene Motor wird zur Drehung des Indextisches 201 verwendet. Der Indextisch
201 wird entzurrt und gehoben, und dann wird auf den Indextisch-Getriebezug mechanisch
Antriebsenergie übertragen, wenn ein Hubmagnet (SOL A) eingeschaltet wird. Ein erster
Grenzschalter (LS1) stellt fest, wann der Indextisch die obere Endlage UP erreicht,
ein zweiter Grenzschalter (LS2) stellt fest, wann der Getriebezug in Eingriff ist,
und ein dritter Grenzschalter (LS3) stellt fest, wann der Indextisch die untere
Endlage DO"1N erreicht hat. Folgende Operationsfolge soll ablaufen: 1. Ein "b"-Sollwertwort,
den Indextisch 201 zu drehen, wird vom Bandleser 5 gelesen und in einen aktiven
Puffer des Haupt-Arbeitsspeichers 34 übertragen.
-
Verriegele Vorspann(Vorspiel-) und Nachspann (Nachspiel)-Anforderungskennzeichen
in der System-Kennzeichentabelle 182.
-
2. Wenn alle Achsen in Position sind und sich die Steuereinrichtung
im Vorspann befindet, beginne mit Entzurren des Indextisches und seiner Verschiebung
in Richtung zur oberen Endlage durch Einschalten von SOL A.
-
3. Vergewisserung, ob sich Indextisch in oberer Endlage befindet,
durch Überprüfung von LS1, und ob Getriebezug in Eingriff steht, durch Oberprüfung
von LS2.
-
4. Auslösung des Vorspanns. Die Steuereinrichtung führt dann das
b-Sollwertwort durch Drehung des Indextisches 201 aus.
-
5. Einhaltung einer Wartezeit von einer Sekunde nachdem b-Achse in
Sollage ist, um das Abklingen einer Überschwingung zu ermöglichen.
-
6. Abwarten des Nachspanns, dann Ausschalten des SOL A.
-
7. Überprüfung des Getriebeeingriffs (LS2), Vergewisserung, ob Indextisch
201 untere Endlage einnimmt (LS3) und dann Freigabe des Nachspanns.
-
Die Zuordnung der Anschlüsse an den E/A-Schnittstellengestellen 20
und 21 zu den externen E/A-Vorrichtungen (LS1, LS2, LS3 und SOL A) ist beliebig.
Sie sind, wie es in Fig. 11 dargestellt ist, an die ersten drei Anschlüsse in der
Spalte 5 und den ersten Anschluß der Spalte 7 des dritten E/A-Schnittstellengestells
21 angeschlossen. Die folgende Tabelle stellt diese Zuordnungen zusammenfassend
dar.
E/A-Vor- Zustand Beschreibung Zustands-Bit- |
richtung Arbeitsspeicher- |
Adresse |
LS1 WAHR (1) Indextisch oben 025 00 |
FALSCH (0) Indestisch unten |
LS2 WAHR (1) Zahnräder in Eingriff 025 01 |
FALSCH (0) Zahnräder nicht in Ein |
griff |
LS3 WAHR (1) Indextisch unten 025 02 |
FALSCH (O) Indextisch nicht unten. |
SOL A WAHR (1) Entzurre und verschiebe 027 °° |
Indextisch nach oben und |
schalte X-Achsenantrieb |
auf b-Achse um. |
FALSCH |t)) Verschiebe Indextisch nach |
unten und entzurre ihn |
und schalte Antrieb zu- |
rück auf x-Achse |
Die zur Koordinierung dieser Ereignisfolge mit der Ausführung
des Werkstck-Programmbandes erforderlichen internen System-Kennzeichen sind folgende:
KENN- ZUSTAND BESCHREIBUNG KENNZ.- |
ZEICH. TAB.-ARBEIT |
SPEICHER- |
ADRESSE |
SSPST WAHR (1) Haltesystem im Nachspann. 250 17 |
FALSCH (O) Keine Nachspann-Halte-An- |
forderung. |
SXFER WAHR (1) Werkstück-Programmdatenblock 264 17 |
angefangen. |
FALSCH (O) Datenblock nicht angefangen. |
SPSTX WAHR (1) Nachspann aktiv. 266 17 |
FALSCH (O) Nachspann nicht aktiv. |
SINPO WAHR (1) Alle Achsen in Soll-Lage. 271 17 |
FALSCH (O) Alle Achsen nicht in Soll-Lage |
!CUR2 WAHR (1) B-Achsen-Befehl im Datenblock 340 03 |
FALSCH (O) Kein B-Achsen-Befehl |
SSPRE WAHR (1) Haltesystem in Vorspann j 251 17 |
FALSCH (O) Keine Vorspann-Halte-Anford. |
SPREX WAHR (1) Vorspann aktiv. 267 17 |
FALSCH (O) Vorspann nicht aktiv. |
-
Ein Programm zur Ausführung der oben beschriebenen Ereignisfolge wird
dadurch in den maschinenspezifischen Software-Abschnitt 187 des Haupt-Arbeitsspeichers
34 eingegeben, daß nacheinander die entsprechenden Tasten auf der Hilfstastatur
7 betätigt werden. Jedesmal, wenn eine Taste betätigt wird, wird das Zeichen auf
dem Sichtgerät 9 im Leiterdiagrammformat angezeigt, wie es in Fig. 12B dargestellt
ist. Das resultierende Programm ist folgendes: Sprossen- Befehl Beschreibung Nr.
-
1 XIC 34003 Wenn ein b-Achsen-Befehl (Sollwert) in einem Block aus
Werkstückprogrammdaten vorhanden ist,
XIC 26417 und wenn dieser
Datenblock angefangen worden ist, OTL 25017 dann verriegele Nachspann-Halte-Bit.
-
2 XIC 25017 Wenn Nachspann-Halte-Bit verriegelt ist, OTL 25117 dann
verriegele Vorspann-Halte-Bit.
-
3 XIC 27117 Wenn alleAdhsen die Soll-Lage erreicht haben (in Position
sind), XIC 2501 und die Indextisch-Zahnräder in Eingriff sind, XIC 2502 und der
Indextisch unten ist XIC 26717 und sich das System im Vorspann-Teil der Blockausführung
befindet, OTL 02700 dann schalte SOL A ein.
-
4 XIC 2500 Wenn der Indextisch oben ist, XIC 2501 und wenn der Index-Getriebezug
in Eingriff ist, OTU 25117 dann gib Vorspann-Halte-Bit frei, um Tischdrehung zu
ermöglichen.
-
5 XIC 26617 Wenn sich System im Nachspann-Teil der Blockausführung
befindet, XIC 27117 und wenn alle Achsen die Soll-Lage einnehmen, TON 030 dann schalte
Taktgeber am Arbeitsspeicher-Platz 030 ein und setze das fünfzehnte Bit auf Eins,
wenn eine Sekunde abgelaufen ist.
-
6 XIC 03017 Wenn der Taktgeber am Arbeitsspeicher-Platz 030 abgelaufen
ist, OTU 2700 ausschalte SOL A.
-
7 XIC 26617 Wenn sich System im Nachspann-Teil der Blockausführung
befindet, XIC 02502 und der Indextisch unten ist, XIC 0250 und der Getriebezug in
Eingriff steht, OTU 25017 dann löse Nachspann-Halte-Bit aus, um die Ausführung des
nächsten Blocks der Werkstück-Programmdaten zu gestatten.
-
Die Eingabe der maschinenspezifischen bzw. maschinenabhängigen Software
(machine dependent software = MDS) wird durch Aufrufen des Programmaufbereiters
oder Programm-Redigierers (program editor) ausgeführt. Gemäß dem Flußplan dieser
Makroroutine nach Fig. 17 etikettiert der Programmaufbereiter Parameter, wie das
Sprossen-Positionsanzeigesymbol, und außerdem
löscht er das Sichtgerät.
Die Redigier-Kennzeichen (Aufbereitungskennzeichen), die von den vorherigen Redigierbefehlen
(Aufbereitungsbefehlen) gesetzt wurden, werden gelöscht, und dann wird das Wort
"Anfang" auf dem Sichtgerät wiedergegeben, oder es wird eine Sprossen-Anzeige-Subroutine
aufgerufen und die vom Sprossen-Positionsanzeigesymbol angezeigte Leiterdiagrammsprosse
auf dem Sichtgerät angezeigt.
-
Der Aufbereiter bleibt dann solange in einer Schleife, bis ein Zeichen
von der Hilfstastatur 7 empfangen wird.
-
Wenn ein ASCII-Zeichen empfangen wird, wird sein Code zum Aufsuchen
oder Abbilden der Anfangsadresse einer ihm zugeordneten Subroutine verwendet. Nach
Fig. 18 erfolgt dieses Aufsuchen oder Abbilden durch eine Zeichentabelle 210, die
fünfzig Zeilen des Haupt-Arbeitsspeichers 34 belegt, und zwar jeweils eine für jede
Tastaturtaste. In Abhängigkeit'vom Empfang eines numerischen Zeichens (0-9), wird
der Inhalt jeweils einer der ersten zehn Zeilen der Zeichentabelle 210 ausgelesen
und ausgeführt. Da ein numerisches Zeichen allein sinnlos ist, ist der Inhalt jeder
Zeile 0-9 ein Sprungbefehl zurück zum Anfangspunkt "B" in Fig. 17, um den Empfang
eines weiteren Zeichens von der Tastatur 7 abzuwarten.
-
Die Redigier- oder Aufbereitungstasten, die zur Bildung der MDS-Routine
verwendet werden, und die Sprossen-Element-Tasten, die zur Bildung der Steuergerätbefehle
verwendet werden, erzeugen jeweils ein spezielles ASCII-Zeichen, das eine zugeordnete
Zeile in der Zeichentabelle 210 adressiert. Der Inhalt dieser adressierten Zeilen
sind Sprungbefehle, die auf den Anfang einer speziellen Subroutine hinweisen, die
die von der ihr zugeordneten Taste geforderte Funktion oder Aufgabe durchführt.
Am Ende der den Redigiertasten zugeordneten Subroutinen wird der Programm-Aufbereiter
erneut am Punkt "B" in Fig. 17 begonnen, um den Empfang des nächsten Tastatur-Zeichens
abzuwarten. Andererseits wird der Programm-Aufbereiter am Ende der Sprossen-Element-Subroutinen
wieder am Punkt "A"
angefangen, um die Anzeige des Sichtgerätes
durch Ausführung der Sprossen-Anzeige-Subroutine auf den neuesten Stand zu bringen.
Jedesmal wenn daher ein Sprossenelement in die MDS-Routine eingegeben wird, wird
dieses Element zu dem vom Sichtgerät 9 angezeigten Leiterdiagramm addiert.
-
Die Subroutinen zum Ausführen der von den Redigiertasten gewünschen
Aufgaben, sind durch die Flußpläne in den Fig. 19A bis C für die Einfügungs-, Entfernungs-
und Übertragungstaste dargestellt. Die Einfügungstasten-Subroutine setzt lediglich
ein Einfügungskennzeichen auf "1" und setzt ein vorhandenes Entfernungs-Kennzeichen
auf "O" und kehrt zurück zum Einsprungpunkt " B" der Programmaufbereitungs-Routine
in Fig. 7.
-
In ähnlicher Weise setzt die Entfernungs-Tasten-Subroutine das Entfernungs-Kennzeichen
auf "1" und ein EinfUgungs-Kennzeichen auf "O". Wenn die Übertragungstaste zweimal
nacheinander betätigt wird, muß der Programmaufbereiter ausgelöst und die Steuerung
wieder an die MDE-Tastatur 8 zurückübertragen werden. Die Übertragungstasten-Subroutine
nach Fig.
-
19C wartet daher in einer Schleife den Empfang des nächsten Tastaturzeichens
ab, und wenn es eine weitere Übertragung ist, werden die Subroutine und die Programmaufbereitungs-Subroutine
ausgelöst. Andernfalls kehrt die Subroutine wieder zum Einsprung- bzw. Anfangspunkt
C der Programmaufbereitungs-Routine nach Fig. 17 zurück.
-
Die Sprossen-Element-Tasten-Subroutinen sind wesentlich komplizierter,
als es der XIC-Tasten-Subroutinen-Flußplan nach den Fig. 20A und B darstellt. Diese
Subroutine überprüft zuerst, ob die XIC-Taste als Teil einer Entfernungs- oder Einfügungs-Redigierfunktion
betätigt wurde. Wenn das Entfernungs-Kennzeichen gesetzt worden ist und das Element-Positions-Anzeigesymbol
auf einen XIC-Befehl hinweist, der gerade im MDS-Teil 187 des Haupt-Arbeitsspeichers
34 gespeichert ist, wird dieser Befehl entfernt, und die Routine kehrt zum Einsprungpunkt
"A" des Programm-Aufbereiters zurück. Wenn dagegen
das Einfügungs-Kennzeichen
gesetzt oder das Element-Positionsanzeigeelement auf das letzte Element (Steuergerätbefehl)
einer unvollständigen Sprosse (boolescher Ausdruck) hinweist, wird ein 2-Wort-XIC-Befehl
in den Haupt-Arbeitsspeicher 34 geladen und das Element-Positionsanzeigesymbol erhöht,
so daß es auf die Arbeitsspeicher-Plätze hinweist, in denen der Befehl gespeichert
werden soll. Wenn keine Einfügung vorgenommen werden soll und das Positionsanzeigesymbol
nicht auf ein Ausgabeelement (z.B. einen OTE-Befehl) hinweist, muß der Befehl, auf
den das Element-Positionsanzeigesymbol hinweist, durch einen XIC-Befehl ersetzt
werden. In jedem Falle wird nach dem Laden des XIC-Operationscodes in den Haupt-Arbeitsspeicher
34 ein Ziffernzähler auf minus drei gesetzt, und zwar zur Vorbereitung auf den Empfang
von drei Oktalziffern, die das zweite Wort des XIC-Befehls bilden.
-
Wie insbesondere Fig. 20B zeigt, wird in der XIC-Tasten-Subroutine
eine Schleife ausgebildet, die auf den Empfang der drei Oktalziffern oder eines
Kommandos zum Löschen des Befehls wartet. Jedesmal wenn eine Oktalziffer empfangen
wird, wird sie in den Haupt-Arbeitsspeicher 34 geladen, um das zweite Wort des XIC-Befehls
zu bilden. Nach dem Empfang der drei Oktalziffern wird eine zweite Schleife gebildet,
die auf den Empfang des ersten Bits (1 oder 0) des 4-Bit-Hinweiscodes wartet und
es in das erste Wort des XIC-Befehls lädt, und zwar zusammen mit dem XIC-Operationscode.
Dann wird die dritte Schleife ausgebildet, die auf den Empfang der letzten drei
Bits des Bit-Hinweiscodes (in Form einer Oktalziffer) wartet und sie in das erste
Wort des XIC-Befehls lädt, um seine Bildung abzuschließen. Die XIC-Tasten-Subroutine
kehrt dann zum Einsprungpunkt "A" des Programm-Aufbereiters zurück, um den Empfang
des nächsten Tastaturzeichens abzuwarten. Während der Bildung des XIC-Befehls wird
die vom Sichtgerät 9 angezeigte Sprosse aktualisiert, nachdem jedes Zeichen eingegeben
worden ist, so daß die Bedienungsperson sich visuell von der Eingabe des richtigen
Zeichens bei der Betätigung der Tastatur 7 überzeugen
kann. Das
so gebildete Sprossen-Element wird von der XIC-Tasten-Subroutine auch zum Blinken
veranlaßt, so daß die Bedienungsperson deutlich auf die Bildung des Sprossen-Elements
hingewiesen wird und daß weitere Zeichen eingegeben werden müssen, um die Bildung
des Steuergerätbefehls abzuschliessen.
-
Mittels der Hilfstastatur 7, des Sichtgeräts 9 und der Programmaufbereitungs-Routine
wird das Steuergerätprogramm in dem oben beschriebenen Beispiel in die MDS-Routine
187 im Haupt-Arbeitsspeicher 34 eingegeben, und das Leiterdiagramm, das zu diesem
Programm gehört, wird auf dem Sichtgerät 9 aufgebaut. Obwohl die Einrichtung auf
eine große Anzahl von Sprossen oder booleschen Ausdrücken ausgelegt ist und jede
Sprosse unzählige Zweige und Elemente aufweisen kann, ist das Sichtgerät 9 doch
auf die Anzeige von fünf Zeilen auf einmal, bei bis zu zehn Elementen in einer Zeile,
beschränkt. Die Anzeige kann nach oben oder unten verschoben werden, um andere Sprossen
des Leiterdiagramms wiederzugeben.
-
Wie man sieht, sind die Steuergerätbefehle einzelbitorientiert und
nicht wortorientiert. Das heißt, der Zustand einzelner Bits wird überprüft bzw.
die Bits werden auf einen gewünschten Zustand eingestellt. Ferner muß die Bedingung
eines booleschen Ausdrucks oder einer Leiterdiagrammsprosse aufrechterhalten werden,
solange ein Befehl des Ausdrucks ausgeführt wird.
-
Wenn der boolesche Ausdruck erfüllt ist (d.h. die Sprosse leitend
ist), dann muß das programmierte Ereignis, das von den Elementen dieses Ausdrucks
bedingt ist, auftreten. Obwohl es im obigen Beispiel nicht dargestellt ist, treten
auf dem Gebiet der Steuerungen auch boolesche Ausdrücke auf, die von mehr als einer
Gruppe von Bedingungen erfüllt werden können.
-
Diese Ausdrücke weisen eine oder mehr ODER-Funktionen auf, die als
parallele Zweige im Sprossendiagramm angesehen werden können. In diesem Falle können
die in der Hauptsprosse vorgeschriebenen Bedingungen erfüllt werden, wenn irgendeiner
von
mehreren parallelen Zweigen in der Sprosse erfüllt ist.
-
Insbesondere nach den Fig. 4A, 4B und 5, wird ein Befehl vom Typ eines
programmierbaren Steuergeräts anerkannt, wenn ein ins Makrobefehlsregister 37 geladener
Makrobefehl einen Operationscode aufweist, der mit 105, 1014, 1015, 1016 oder 1017
(Oktal) beginnt. Der Makrodecodierer 38 stellt diese Codes fest und liest die Anfangsadresse
der entsprechenden Mikroroutine aus einem der Abbildungs-Proms 42 bis 45 (auch Nachschlag-Prom
genannt) aus. Diese Mikroroutinen sind unten aufgelistet, doch ist im folgenden
allgemein beschrieben, wie diese Einrichtung boolesche Ausdrücke (Gleichungen) löst.
Das Register R12 im Direktzugriffspeicher 69 wird zur Speicherung des "Sprossen-Bedingung-Kennzeichens",
das Register R13 zur Speicherung des "Verzweigungs-Bedingung-Kennzeichens" und das
Register R 14 zur Speicherung des "Mehrfach-Verzweigungs-Bedingung-Kennzeichens"
reserviert. Bei einer Sprosse ohne Verzweigungen speichert das Register R12 den
Zustand oder die Bedingung der Sprosse. Das Register R12 wird beim Aussetzen auf
den 1-Zustand gesetzt, und wenn ein XIC-Befehl ausgeführt wird, wird das Register
R12 auf null gesetzt, wenn die überprüfte Bedingung nicht erfüllt (falsch) ist.
Wenn die überprüfte Bedingung erfüllt (wahr) ist, bleibt das Register unberührt,
so daß, wenn alle Bedingungen durch eine Folge von XIC-Befehlen überprüft worden
sind, erfüllt (wahr) sind, das Register R72 im 1-Zustand bleibt, um anzuzeigen,
daß die Sprosse leitend oder wahr ist. Wenn ein OTE- oder ein anderer ähnlicher
Befehl dann ausgeführt wird, wird der Zustand des Registers R12 überprüft und zur
Entscheigung oder Lösung des booleschen Ausdrucks bzw. der booleschen Gleichung
verwendet.
-
Wenn ein BST-Befehl ausgeführt wird, tritt in der Sprosse eine Verzweigung
auf, so daß der Inhalt des Registers R12 ins Register R13 übertragen wird, um die
Hauptverzweigungsbedingung sicherzustellen (aufzubewahren). Das Register R12
wird
auf eins gesetzt, und die Bedingung des Registers R14 wird auf null gesetzt. Wenn
ein weiterer BST-Befehl ausgeführt wird, bevor die vorherige Verzweigung abgeschlossen
ist, erfolgt eine ODER-VerknUpfung des Inhalts des Registers R12 mit dem Inhalt
des Registers R14, und das Ergebnis wird in Register R14 gespeichert. Wenn ein BND-Befehl
ausgeführt wird, wird der Zweig oder werden die Zweige dadurch abgeschlossen, daß
eine ODER-Verknüpfung des Inhalts des Registers R12 mit dem des Registers R14 und
eine UND-Verknüpfung des Ergebnisses mit dem Inhalt des Registers R13 bewirkt wird.
Das Ergebnis wird wieder ins Register R12 zurückgespeichert, um die Überprüfung
der Hauptverzweigung fortzusetzen.
-
Wie bereits erwähnt wurde, bestehen die meisten Makrobefehle von programmierbaren
Steuergeräten aus zwei Wörtern. Das erste Wort ist der Operationscode und das zweite
die Adresse des Operanden im Haupt-Arbeitsspeicher 34. So kennzeichnet beispielsweise
bei einem XIC- oder OTE-Befehl das zweite Wort eine Zeile in der E/A-Bildtabelle
185, während die vier niedrigststelligen Bits in dem ersten Wort als Bit-Hinweiser
dienen, der das betreffende Bit in dieser Zeile kennzeichnet bzw. identifiziert.
Die bei einem XIC- oder OTE-Befehl ausgeführte Mikroroutine gibt die Bit-Hinweisschaltung
40 zur Aufnahme dieses 4-Bit-Hinweisers und zur Erzeugung einer 16-Bit-Maske im
Prozessor-Kanal 30 frei, die ins L-Register 57 geladen wird. Die Maske besteht nur
aus Einsen, mit Ausnahme des Bits, das vom Hinweiser angezeigt wird, und wenn der
Operand anschließend aus dem Haupt-Arbeitsspeicher 34 ausgelesen wird, wird er in
der RLE 59 mit der Maske logisch verknüpft, um die gewünschte Funktion auszuführen.
So wird beispielsweise zur Ausführung eines XIC-Befehls eine Exklusiv-ODER-Verknüpfung
des Operanden mit der Maske ausgeführt, und wenn der RLE-Ausgang lauter Einsen aufweist,
ist das identifizierte bzw. gekennzeichnete Zustandsbit in der E/A-Bildtabelle 185
"wahr" bzw. ein 1-Bit, so daß der Inhalt des Registers R12 unverändert bleibt. Zur
Ausführung eines OTE-Befehls wird die Maske erneut im L-Register 57 gespeichert.
Wenn das Register
R12 eine Null ist, die anzeigt, daß die Bedingungen
nicht erfüllt sind, wird der im zweiten Wort des OTE-Befehls gekennzeichnete Operand
in der RLE 59 mit der Maske nach einer UND-Funktion verknüpft und das Ergebnis wieder
in die E/A-Bildtabelle 185 gespeichert. Wenn die Bedingungen erfüllt waren bzw.
das Register R12 eine Eins ist, wird die Maske komplementiert, ins. L-Register 57
zurückgeladen und mit dem Operanden nach einer ODER-Funktion verknüpft. Das Ergebnis
wird in die E/A-Bildtabelle 185 an der gleichen Operanden-Adresse zurückgespeichert.
Die Mikroroutinen für einige repräsentativere Befehle vom Typ programmierbarer Steuergeräte
haben folgenden Aufbau: Kurz- Prozessor- RLE- Empfangs- Ursprungs- Sprung/ form
funktion Funktion code code Kennzeichen XIC LESEN INC P P PASS L MASKE LESEN ABT
IOR ABT EINSEN NULL R12 EOX XIO LESEN INC P P CMPS R8 MASKE PASS L R8 LESEN ABT
UND ABT ALZ NULL R12 EOX OTE LESEN INC P P KENNZ. PASS R12 AL15 PASS R8 ABT LESEN
R8 PASS L MASKE CMPS R10 MASKE UND R9 ABT RSS PASS L R?O KENNZ.
-
IOR R9 R9 SCHREIBEN R8 ABT R9 EINSEN R12 EOX
BST
IMM L UNTEN 377B XOR R14 ALZ JMP BSTp1 PASS L R14 IOR R14 R12 EINSEN R12 EOX BST01
PASS R13 R12 EINSEN R12 NULL R14 EOX BND PASS L R12 IOR R14 R14 PASS L R14 IMM R14
UNTEN 377B UND R12 R13 EOX Die Taktgeber-Befehle (TON 0.1, TON 1.0, TOF 0.1 und
TOF 1.0) benötigen wesentlich kompliziertere Mikroroutinen und benutzen den Echtzeit-Taktgeber
145. Wie die anderen, so weisen auch die Taktgeber-Befehle zwei Arbeitsspeicher-Wörter
auf. Das erste Wort in einem Taktgeber-Befehl ist der Operationscode, und das zweite
Wort ist die Arbeitsspeicher-Adresse einer akkumulierten Zeit in einem Taktgeber-Zählerteil
192 des Haupt-Arbeitsspeichers 34. Wie Fig. 10 zeigt, ist dieser Teil des Arbeitsspeichers
zwischen der E/A-Bildtabelle 185 und der System-Kennzeichen-Tabelle 182 in relativen
Arbeitsspeicher-Zeilen 030 bis 177 (Oktal) gespeichert. Zusätzlich zu einem akkumulierten
Taktgeber-Wert oder Zeitwert, der zu jedem Taktgeber-Befehl gehört, ist ein voreingestellter
Zeitwert oder Takt im benachbarten Arbeitsspeicherplatz des Speicherteils 192 gespeichert,
so daß insgesamt vier Arbeitsspeicher-Zeilen für jeden Taktgeber-Befehl erforderlich
sind.
-
Nach insbesondere den Fig. 8 und 11 zeigt das niedrigststellige Bit
des Operationscodewortes den ausgewählten Zeitbereich an. Wenn der Taktgeber-Befehls-Operationscode
in das Makro-Befehlsregister 37 eingelesen worden ist, wird dieses Bit über die
Leitung 151 zur Echtzeit-Taktgeberschaltung 145 übertragen,
in
der eine Eins die Zuführung des 5-Hertz-Taktsignals zum Flipflop 146 (0,1 Sekunden
pro Periode) und eine Null den 0,5-Hertz-Takt (1,0 Sekunden pro Periode) freigibt.
Der TIM-Ursprungsmikroauftragscode bewirkt die Erzeugung eines 1-Signals auf der
TIM-Leitung 155, so daß der Zustand des ausgewählten Echtzeit-Taktgebers auf die
niedrigststellige Leitung des Prozessor-Datenkanals 30 durchgeschaltet wird. Wie
sich aus der nachstehenden Beschreibung der Mikroroutine ergibt, wird der Zustand
des Echtzeit-Taktgebers mit dem niedrigststelligen Bit im akkumulierten Zeitwert
verglichen. Dieser Vergleich erfolgt zumindest einmal alle 10,24 Millisekunden,
und wenn die Zustände unterschiedlich sind, bedeutet dies, daß der Echtzeit-Taktgeber
erhöht bzw. weitergeschaltet wurde, und der akkumulierte Zeitwert bei diesem Taktgeber
ebenfalls um eins erhöht werden sollte. Die Mikroroutine überprüft ferner, ob die
Laufzeit des Taktgebers abgelaufen ist. Dies wird durch Vergleichen des akkumulierten
Zeitwertes mit dem voreingestellten Zeitwert bewirkt. Ein erstes Zustandsbit (Nummer
15) im voreingestellten Zeitwert zeigt an, ob der Taktgeber läuft oder nicht, und
ein zweites Zustandsbit (Nummer 13) im gleichen Wort oder Wert zeigt an, ob der
Taktgeber abgelaufen ist.
-
Wenn daher der akkumulierte Zeitwert gleich oder größer als der voreingestellte
Zeitwert ist, wird das Zustandsbit Nummer 13 auf Eins eingestellt, so daß es von
den in der maschine spezifischen Software-Routine 187 folgenden Befehlen überprüft
werden kann. Ob ein Taktgeber ausgelöst werden muß oder nicht, wird vom Zustand
der "Sprosse" oder des booleschen Ausdrucks bestimmt, von dem sie einen Teil bildet.
Dieser Zustand wird vom Register R12 des Direktzugriffspeichers 69 angezeigt und
als das erste Zustandsbit im voreingestellten Zeitwert gespeichert. Die Mikroroutine
zur Ausführung der Makrobefehle TON (1.0) und TON (0.1) hat folgenden Aufbau:
Kurz-
Proz.- RLE- Empf.- Urspr.- Sprung/ Beschreibung form Funkt. Funkt. Code Code Kennz.
-
TON KENNZ. PASS R12 AL15 Setze Prozessor-Kennzeichen, wenn Sprosse
wahr ist.
-
INC P P Erhöhe Programmzähler und R8 ABT bringe Adresse des akkumulierten
Zeitwertes ins Register R8.
-
LESEN INC R13 R8 Hole akkumulierten NULL RIO Zeitwert und bringe
PASS R9 ABT ins Register R9 und bringe Adresse von voreingestelltem Zeitwert ins
Register R13.
-
LESEN R13 Hole voreingestellten Zeitwert.
-
IMM L HOCH 360B Lade 0000 1111 1111 NULL R11 ins L-Register und setze
Register R11 auf Null.
-
UND R12 ABT KENNZ. Lade Vorwahlzeitwert ins Register R12.
-
JMP ROCKS. Wenn Prozessor-Kennzeichen null ist, springe nach RUCK-SETZEN.
-
PASS L R9 Lade akkumulierten Zeitwert ins L-Register.
-
CYFL SUB R12 AL15 Vergleiche akkumulierten Zeitwert mit voreingestelltem
Zeitwert.
-
JMP TON+1 Wenn akkumuliert er Wert kleiner, springe nach TON01 IMMC
R11 HOCH 240B Forme:1010000000000000 PASS L R11 und lade ins Register.
-
IOR R12 R12 Verknüpfe L-Register mit voreingestelltem Wert und SCHREIB.
R13 schreibe Ergebnis zurück ABT R12 in Arbeitsspeicher 34.
-
EINSEN R12 EOX Lade Einsen ins Register R12 und Ausgang.
-
TONQ1 RSS XOR TIMR ALQ Vergleiche Zustand des Echtzeit-Taktgebers
mit akkumuliertem Zeitwert im L-Register.
-
INC R9 R9 Wenn unterschiedlich, erhöhe akkumulierten Zeitwert im
Register R9.
-
SCHREIB. INC R8 R8 Schreibe akkumulierten PASS ABT R9 Zeitwert zurück
in Arbeitsspeicher 34.
-
L1 PASS R12 R12 Setze Zustandsbit 15 R1 LWF R12 R12 von voreingestelltem
Wertwort auf Eins und SCHE:R INC R8 Schreibe gesamtes Wort ABT R12 zurück in Speicher
34.
-
EINSEN R12 EOX Setze lauter Einsen ins register R12 und Ausgang.
-
...................................................................
-
RÜCKS. SCHREIB. INC R8 R8 Schreibe Nullen in PASS ABT R10 Akkumulationswertzeile
des Speichers 34.
-
PASS L R11 Entlade Register R11, das lauter Nullen enthält, ins L-Register.
-
IOR R12 R12 Kombiniere L-Register mit voreingestelltem Wertwort und
speichere ins Register R12.
-
SCHR. R8 Schreibe voreingestell-PASS ABT R12 tes Wertwort zurück
in Speicher 34 und EINSEN R12 EOX schreibe Einsen ins Register R12 und Ausgang.
-
Die anderen Taktgeber-Makrobefehle werden in ähnlicher Weise ausgeführt,
obwohl die Zustandsbits in dem Wort des voreingestellten Zeitwertes anders verwendet
werden. Die Register R12 und R13 werden als Zwischenspeicher in den Taktgeber-Mikroroutinen
verwendet, und das Sprossen-Bedingungs-Register Rl 2 wird am Ende der Mikroroutine
auf Eins gesetzt, so daß es wieder als Sprossen-Bedingungs-Speichermittel dienen
kann.
-
Mikroroutinen-Anhang Kurz- FUNK. RLE EMPF. URSPR. FOLGE KOMMENTAR
form Unterbrechungs-Bedienungs-Mikroroutine UNTERBR DWEL PASS R4 CIR Lade Unterbrechungs-E/A-LESEN
R4 adresse ins R4, auslese PASS IR ABT und ausführt Makrobefehl LESEN ADR MAP in
Arbeitsspeicherplatz, der von Unterbrechungs-E/A-Adresse angezeigt wird.
-
Programmdaten-Eingabe-Mikroroutine LIAB IOG NOP NOP NOP NOP Eingebe
Daten aus E/A-Adresse, DWEL PASS CAB IOI EOX die von den sechs niedrigststelligen
Bits im Register 37 angezeigt wird, und lade sie ins A- oder B-Register.
-
Programmdaten-Ausgabe-Makroroutine OTAB IOG NOP NOP NOP NOP Ausgebe
Daten aus A-oder B-Register DWEL PASS IOO CAB EOX in E/A-Vorrichtung, die von den
sechs niedrigststelligen Bits im Register 37 adressiert wird.
-
Eingabe-Abtastungs-Mikroroutine EINGAB. LESEN INC P P Acht 16-Bit-Wörter
werden IMMC R10 HOCH 205B in E/A-Bildtabelle des IMM R14 NIEDR. 377B Haupt-Arbeitsspeichers
PASS R8 ABT aus acht aufeinanderfolgenden E/A-Adressen eingelesen.
-
LESEN INC P P IMMC R9 NIEDR. 100B PASS L R9 IOR R9 ABT LESEN INC
P P PASS L R10 IOR R9 R9 RSS PASS R10 ABT ALZ EINSEN R12 EOX IMM CNTR NIEDR. 7 EINGBO
R1 PASS R10 R10 ALO JMP EINGB1 PASS IR R9
IOG DWEL PASS R11 IOI
SCHR. INC R8 PASS ABT R11 EINGB1 DEC R8 R8 INC R9 R9 CNT4 ICNT JMP EINGB0 EINS R12
EOX Ausgabe-Abtastungs-Mikroroutine AUSGB. LESEN INC P P Acht 16-Bit-Wörter werden
IMMC R10 HOCH 205B aus aufeinanderfolgenden PASS R8 ABT Zeilen der E/A-Bildta-LESEN
INC P P belle des Hauptarbeits-IMMC R9 NIEDR. 200B speichers in acht aufeinanderfolgende
E/A-Adressen gelesen.
-
PASS L R9 IOR R9 ABT LESEN INC P P PASS L R10 IOR R9 R9 RSS PASS
R10 ABT ALZ PASS EOX IMM CNTR NIEDR. 7 AUSGB0 R1 PASS R10 R10 AL0 JMP AUSGB1 LESEN
INC R8 PASS IR R9 PASS R11 ABT IOG DWELL PASS IOO R11 AUSGB1 DEC R8 R8 INC R9 R9
CNT4 ICNT JMP AUSGB0 PASS EOX Abruf-Mikro-Routine ABRUF LESEN INC P P Lies Makrobefehl
aus ION PASS R1 DSPL Arbeitsspeicherzeile, CFLG PASS IR ABT die von P-Register ange-LESEN
INC R8 ADR MAP zeigt wird, ins Makrobefehlsregister und eintrage in richtige Mikro
routine
System-Kennzeichentabelle-Anhang Arbeits- Kurzbespeicherplatz
zeichnung Beschreibung 200 FPHW1 Fronttafel-Zustand 201 FPHW2 Fronttafel-Zustand
202 FPHW3 Fronttafel-Zustand 203 SPECL Reserviert 204 STELK Bandaufbereitungssperre
205 SMSTP Anforderung zum selbsttätigen Neubeginn 206 HOMWD Achsenkennzeichnungswort:
Bit 0 = erste Achse, Bit 1 = zweite Achse, usw.
-
207 OVLWD Uberlaufwort: Bit O = erste Achse plus, Bit 1 = erste Achse
minus, usw.
-
210 /TOL/ Werkzeug in Trommelanzeige-MSW 211 /TOL/ Werkzeug in Trommelanzeige-LSW
212 %TOOL Werkzeug in Spindelanzeige-MSWX Auch zum Wählen verwendet 213 %TOOL Werkzeug
in Spindelanzeige-LSW/ versetzt, wenn STOOL gesetzt.
-
214 SJSPD Tastbetriebs-Geschwindigkeitserhöhung 215 SRPM Spindeldrehzahlanzeige
216 SPALT Wahr = B-Halterversetzungen -Falsch 5 A-Halterversetzung.
-
217 SCSLK Aufbereitungssperre für gespeichertes Programm 220 SMOO
Decodiertes MOO 221 SMO1 Decodiertes M01 222 SM02 Decodiertes M02 223 SM03 Sichtgerät
für Anzeigezwecke gesetzt 224 SMO4 Sichtgerät für Anzeigezwecke gesetzt 225 SM05
Sichtgerät für Anzeigezwecke gesetzt 226 SMO6 Decodiertes MO6 227 SMO7 Sichtgerät
für Anzeigezwecke gesetzt 230 SM08 Sichtgerät für Anzeigezwecke gesetzt 231 SM09
Sichtgerät für Anzeigezwecke gesetzt 232 SM30 Decodiertes M30 233 SM49 Decodiertes
M49, falsch für M48 234 !WMR Warnungsnachrichtanzeige, linke Zeile 1, Oktal-Wert
235 !EMR Bedarfsnachrichtanzeige, rechte Zeile 1, Oktal-Wert 236 237 240 241 242
243 244 245 246 SEOB Anforderung Ende von Blockhalt 247 STOOL Werkzeugtransferabschluß
250
SSPST Nachblockzeit-Anforderung (Transfer-Sperre) 251 SSPRE Vorblockzeit-Anforderung
252 SPSTR Zyklusstart-Anforderung 253 SPSTP Zyklusstop-Anforderung 254 255 SJGHD
Tastbetriebhalt-Anforderung 256 SININ Vorschubhalt-Anforderung 257 SEMER Bedarfsstop-Anforderung
260 d£NPO Welche Achse ist in Soll-Lage, Bit O = Achse 1, usw.
-
261 %SPED Spindeldrehzahlübersteuerung . 2 (16384 = 100 %) 262 FPHW4
Fronttafel-Ausgänge 263 FPHW5 Fronttafel-Ausgänge 264 SXFER Datentransfer aus Puffer
in Aktivteil 265 SPTO Stromversorgung eingeschaltet/ Ausgeschaltet, wenn E-Stop
zurückgesetzt 266 SPSTX Nachblockzeit 267 SPREX Vorblockzeit gerät) 270 SMCUR MCU
Zurücksetzung(MCU-Hauptsteuer-271 SINPO Alle Achsen in Soll-Lage 272 SINOV Sperre
Spindel- und Vorschubgeschwindigkeitsübersteuerung CSTR CSTM 273 SCSTR Zyklus ein
0 1 Zyklusstop angefordert 1 0 Am Blockende 274 SCSTM Zyklus ein 1 1 Blockausführung
275 SACTR Aktivteil-Rücksetzung 276 #SWTC Welche Achse metrisch, Bit 0 = erste
Achse, usw.
-
277 #INMT Metrische Betriebsart 300 301 302 !10FT G92/G98-Pufferadresse
(LSW bis MSW) 303 /XX Wagen-Positionsadresse (LSW bis MSW) 304 %MODE Betriebsartwahl
305 %MACZ Maschine Null 306 %INCR Tastbetrieb-Funktionswahl MSW 307 %INCR Tastbetrieb-Funktionswahl
LSW 310 %GRID Gitter Null 311 %FNSL Achsenwahl 312 %FEED Vorshubgeschwindigkeitsübersteuerung
x 214 (16384 = 100%) 313 STPRG T-programmiert 314 SSPRG S-programmiert 315 SMPRG
M-programmiert 316 SENDP Endpunkt 317 SBPRG B-programmiert 320 321
322
SENTE Bandaufbereitung 323 SDDNC DNC 324 SRDRB RDR B 325 SRDRA RDR A 326 STEST Testbetriebsart
327 SMIR Spiegelbild 330 SHOLD Vorschubhalt 331 SBLCM Blockabschluß 332 SMOM1 Programmstop
333 SEDPS Programmende 334 !BVAL Programmierter B-Wortwert MSW 335 !BVAL Programmierter
B-Wortwert LSW 336 /FD/ F-Wortanzeige MSW 337 !FDIS F-Wortanzeige LSW 340 !CUR2
Bitkombination des programmierten Wortes 341 !VDM2 Vorschubbetriebsart G93 = 0,
G94 = 1, G95 = 2(numerisch) 342 !DWL2 Verweilbetriebsart G04 - +1 343 !G982 Achsenvoreinstellung
G92G98 = 1, G99 = 2, G70 = 4, G71 3 8 (Bit) 344 !CAN2 Festzyklusbetrieb G80 w 0,
G81 - 1, G82 = 2, usw. (numerisch) 345 !CCM2 Werkzeugkorrekturbetrieb G40 = O, G41
= 1, G42 = 2 (numerisch) 346 !PLN2 Ebencode G17=, G18=5, G19=6 (numerisch) 347 !ABN2
Absolut/Inkremental G90 , 0, G91 = 1 Bit 350 !MOD2 Linear/Zirkular GOO = O, G01
= 1, G02 = 2, G03 = 3, G33 - 4 (numerisch) 351 !MVAL Programmierter M-Wortwert 352
!TVAL Programmierter T-Wortwert MSW 353 !TVAL Programmierter T-Wortwert LSW 354
!SVAL Programmierter S-Wortwert MSW 355 !SVAL Programmierter S-Wortwert LSW 356
!FVAL Programmierter F-Wortwert MSW 357 !FVAL Programmierter F-Wortwert LSW 360
361 362 363 364 365 366 367 370 371 372 373 374 375 376 377
Bauteil-Anhang
Bauteil Bezugszahl Beschreibung Bandleser 5 Typ TRS 920OBBDED, hergestellt von EECO.
-
Kathodenstrahl- Typ TV-12, hergestellt von röhren-Sichtgerät 9 Ball
Brothers.
-
Mikrobefehlsre- 31 Vier Register vom Typ SN74174 gister Rex D, hergestellt
von Texas Instruments, Inc.
-
Mikroprogramm- Zwölf bipolare Proms vom Typ Festspeicher 32 625131
(512X4), hergestellt von Signetics.
-
Haupt-Arbeits- 34 Vierunddreißig dynamische Arbeitsspeicher speicher-Anordnungen
vom Typ TMS4030, hergestellt von Texas Instruments, Inc.
-
Arbeitsspeicher- Vier Quad.-Verriegelungsschalter Datenregister 35
vom Typ SN7475, hergestellt von Texas Instruments, Inc.
-
Arbeitsspeicher- Vier Quad.-Verriegelungsschalter Adressenregister
36 vom Typ SN7475, hergestellt von Texas Instruments, Inc.
-
Makrobefehls- Vier Quad,-Verriegelungsschalter register 37 vom Typ
SN7475, hergestellt von Texas Instruments, Inc.
-
Bit-Hinweis- 4-zu-1 6-Zeilen-Decodierer vom schaltung 40 Typ SN74154,
hergestellt von Texas Instruments, Inc.
-
Abbildungs-Proms 42-45 Vier bipolare Proms SN74S288 (32x8,hergestellt
von Texas Instruments, Inc.
-
Mikroprogramm- Binärer Synchronzähler SN74S163 Ablaufsteuerwerk 47
von Texas Instruments, Inc.
-
Prioritäts-Abbil- Bipolarer Prom SN74S288 (32 x 8) dungs-Prom 50 von
Texas Instruments, Inc.
-
L-Register 57 Drei Register vom Typ SN74174 hex D von Texas Instruments,
Inc.
-
Rechen- und Logik- Vier RLEs vom Typ SN74S181 von einheit 59 Texas
Instruments, Inc.
-
Schiebeschaltung 63 Acht Zweifach-4-zu-1-Multiplexer vom Typ SN74LS253
von Texas Instruments, Inc.
-
A-Register 67 Zwei 8-Bit-Schieberegister SN74198 von Texas Instruments,
Inc.
-
B-Register 68 Drei Register vom Typ SN74174 hex D, hergestellt von
Texas Instruments, Inc.
-
Direktzugriff- Vier bi olare RAMs SN74189 speicher 69 (16 x 4 von
Texas Instruments, Inc.
-
Multiplexer 72 Vier Vierfach-2-zu-1-Multiplexer SN74S257 von Texas
Instruments, Inc.
-
Datenpuffer (Daten- Zwei 8-Bit-Verriegelungsschalter verriegelungsschal-
77 SN74116 von Texas Instruments, ter) Inc.
-
Multiplexer 80 Ein Vierfach-2-zu-1-Multiplexer SN74S257 von Texas
Instruments, Inc.
-
Multiplexer 97 Vier Vierfach-2-zu-1-Multiplexer SN74S257 von Texas
Instruments, Inc.
-
Exklusiv-NOR- 102-104 Typ SN7486 von Texas Instruments, Glieder Inc.
-
BCD-Decodierer 105 4-zu-10-Decodierer So74145 von Texas Instruments,
Inc.
-
Sicherstellungs-Register 120 Drei Register vom Typ SN74174 hex D von
Texas Instruments, Inc.
-
Multiplexer 122 Ein Vierfach-2-zu-1-Multiplexer SN74S257 von Texas
Instruments, Inc.
-
Binär-Codierer 130 & 132 Prioritätscodierer SN74148 von Texas
Instruments, Inc.
-
Daten-Puffer 131 Register vom Typ SN74174 hex D (Datenverriege- von
Texas Instruments, Inc.
-
lungsschalter)
Wiederholungs- Zwei binäre Synchronzähler
Zähler 141 SN74S163 von Texas Instruments, Inc.
-
Ausgabeadressen- Zwei Vierfach-Verriegelungs-Register 93 schalter
SN7475 von Texas Instruments, Inc.
-
Binär/Oktal- 3-zu-8-Decodierer SN74S138 von Decodierer 165 Texas Instruments,
Inc.
-
Zusammenfassend ist dargelegt worden, daß ein industrieller Steuerprozessor
in einer numerischen Steuereinrichtung zur Steuerung der Regelvorrichtungen einer
Werkzeugmaschine in Abhängigkeit von einem auf Band gespeicherten Teil- bzw.
-
Werkstück-Programm gesteuert wird. Der industrielle Steuerprozessor
weist besondere Hardware- und Software-Eigenschaften auf, die es ermöglichen, ihn
auch als programmierbares Steuergerät zur Steuerung der einzelnen digitalen Vorrichtungen,
die an die Werkzeugmaschine angeschlossen sind, zu betreiben. Der Steuerprozessor
wird mit einer Gruppe herkömmlicher Computer-Befehle zur Durchführung numerischer
Steuerfunktionen und mit einer Gruppe von Befehlen, wie sie bei einem programmierbaren
Steuergerät verwendet werden, zur Durchführung maschinenspezifischer oder maschinenabhängiger
logischer Funktionen programmiert. Die resultierende Einrichtung behält die Fähigkeiten
bekannter numerischer computergesteuerter Steuereinrichtungen, macht diese aber
zusätzlich ebenso flexibel und leicht programmierbar wie ein programmierbares Steuergerät.