DE2713400C3 - Numerisches Steuersystem für Bearbeitungszentren - Google Patents
Numerisches Steuersystem für BearbeitungszentrenInfo
- Publication number
- DE2713400C3 DE2713400C3 DE2713400A DE2713400A DE2713400C3 DE 2713400 C3 DE2713400 C3 DE 2713400C3 DE 2713400 A DE2713400 A DE 2713400A DE 2713400 A DE2713400 A DE 2713400A DE 2713400 C3 DE2713400 C3 DE 2713400C3
- Authority
- DE
- Germany
- Prior art keywords
- bus line
- processing part
- unit
- control system
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/414—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
- G05B19/4148—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using several processors for different functions, distributed (real-time) systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33162—Two bus, high speed and low speed bus, linked or not
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34034—Multiplier, prm, brm
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34215—Microprocessor
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34236—Multiplex for servos, actuators
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/42—Servomotor, servo controller kind till VSS
- G05B2219/42256—Sampling the signal
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
- Control By Computers (AREA)
Description
Die Erfindung betrifft ein numerisches Steuersystem für Bearbeitungszentren
der im Oberbegriff des Patentanspruchs 1
angegebenen Art.
Ein derartiges numerisches Steuersystem ist aus der Zeitschrift
"wt-Z". ind. Fertig. 62 (1972), Seiten 533-538 bekannt.
Dieses bekannte Steuersystem ist insofern von Nachteil, als
die Datenübertragungsgeschwindigkeit auf der ersten Bus-Leitung
relativ langsam ist, wodurch die Geschwindigkeit des Systems
ebenfalls nachteilig beeinflußt wird. Nachteilig ist
außerdem, daß in der Verarbeitungseinheit mehr als ein RAM-Speicher
benötigt wird.
Der Erfindung liegt die Aufgabe zugrunde, ein numerisches
Steuersystem für Bearbeitungszentren der eingangs genannten
Art bei reduzierter Gesamtbauteileanzahl mit Bezug auf seine
Arbeitsgeschwindigkeit zu verbessern, diese also zu erhöhen.
Gelöst wird diese Aufgabe durch die kennzeichnenden Merkmale
des Anspruchs 1. Vorteilhafte Ausgestaltungen der Erfindung
sind in den Unteransprüchen angegeben.
Das erfindungsgemäße numerische Steuersystem sieht also einen
durch ein Programm automatisch auf die beiden Verarbeitungsteile
der Verarbeitungseinheit aufgeteilten Zugriff zum RAM-Speicher
und zu den peripheren Einheiten vor, wobei das Programm
in einem beiden Verarbeitungsteilen gemeinsam zugeordneten
Programmspeicher abgelegt ist. Dadurch läßt sich der Bauteileumfang
des gattungsgemäßen numerischen Steuersystems im
Vergleich zum Stand der Technik drastisch reduzieren.
Ferner gestattet die erfindungsgemäße Ausgestaltung des gattungsgemäßen
Steuersystems eine heraufgesetzte Datenübertragungsgeschwindigkeit
auf der ersten Bus-Leitung, wodurch die
Arbeitsgeschwindigkeit des gesamten Systems im Vergleich zum
Stand der Technik erhöht ist. Eine Besonderheit der Erfindung
besteht darin, daß Störungen von elektromagnetischen Betätigungselementen
der Meß- und Steuereinheit erfindungsgemäß dadurch
eliminiert werden, daß die zweite Bus-Leitung mit Bezug
auf die Auslöseschwellenspannung der ersten Bus-Leitung eine
wesentlich höhere Auslöseschwellenspannung als die Auslöseschwellenspannung
der ersten Busleitung aufweist.
Die Erfindung wird nachstehend anhand der in der Zeichnung
dargestellten Ausführungsbeispiele erläutert; in dieser
zeigt
Fig. 1 ein Blockschaltbild des numerischen
Steuersystems gemäß der Erfindung,
Fig. 2 ein Blockschaltbild eines ersten Verarbeitungsteils
des Systems gemäß Fig. 1,
Fig. 3 ein Ausschnitt des logischen Schaltschemas
dieses ersten Verarbeitungsteils,
Fig. 4 die Darstellung eines Details des
Systems gemäß Fig. 1,
Fig. 5 ein Blockschaltbild eines zweiten Verarbeitungsteils
des Systems gemäß Fig. 1,
Fig. 6 ein Blockschaltbild von logischen
Schaltungen zwischen dem ersten und dem
zweiten Verarbeitungsteil des Systems,
Fig. 7 ein Schaltbild der Programmsteuereinheiten
des zweiten Verarbeitungsteils
und
Fig. 8 ein Flußdiagramm, welches die Funktion
des Systems erläutert.
Es soll zunächst festgestellt werden, daß das hier dargestellte
Steuersystem (System, Verarbeitungssystem) für ein Bearbeitungszentrum verwendet wird,
welches mindestens einen Bearbeitungskopf aufweist, welcher ein
Werkzeug hält, sowie einen Träger für das zu bearbeitende
Werkstück. Der Bearbeitungskopf ist in bezug auf den Träger
in mehreren Achsen beweglich. Im allgemeinen sind es drei
Achsen, fünf Achsen werden in Bearbeitungszentren für komplexere
Oberflächen und Profile verwendet. Die Bewegung in
jeder Achsenrichtung wird durch Servomotoren bewirkt, welche
einzeln nach einem numerischen Programm gesteuert werden,
welches allgemein auf einem Lochstreifen oder Magnetband
festgehalten ist. Dieses Programm gibt die Daten der absoluten
Position oder deren Veränderung an, sowie die Geschwindigkeit
und die Länge der Relativbewegung zwischen
Werkzeug und Werkstück, gegebenenfalls ausgedrück in Termen
vorgegebener geometrischer Funktionen. Das System rechnet
auf der Grundlage des Programms und der momentanen Position
des Werkzeugs in bezug auf das Werkstück eine Reihe von
Zwischendaten aus, welche zur Steuerung der Servomotoren
dienen und mittels eines Interpolationssystems gewonnen
werden, was im wesentlichen demjenigen entspricht, welches
in der italienischen Patentschrift Nr. 7 28 204 der Anmelderin
beschrieben ist.
Wie Fig. 1 zeigt, besteht das Steuersystem im wesentlichen
aus einer Verarbeitungseinheit 10, welche ihre Informationen
von einem Lesegerät 4 bezieht, von dem ein Band abgetastet
wird, auf dem das Bearbeitungsprogramm festgehalten
ist. Das System enthält weiterhin eine manuelle Eingabeeinheit
8, welche aus einem alphabetischen Tastenfeld
und einer Konsole mit Steuertasten besteht, eine Ausgabeeinheit,
bestehend aus einem Anzeigefeld 12 und eine automatische
Dateneingabeeinheit 18, gebildet aus einer Platten-
oder Magnetbandeinheit. Die Einheiten 4, 8, 12 und 18
bilden eine erste Gruppe von peripheren Einheiten des
Systems.
Das numerische Steuersystem enthält weiterhin eine zweite
Gruppe von peripheren Einheiten, welche aus einer Anzahl
von Einheiten zur Messung und Steuerung der Bewegung des
Bearbeitungskopfs in bezug auf das Werkstück bestehen. Es
enthält insbesondere eine Steuereinheit 31 mit einer Anzahl
von Transduktoren zur Aufnahme der Abmaße, eine Steuereinheit
32 mit einer Anzahl von Analogausgängen zur Steuerung der
Servomotoren, eine Führungseinheit 33 für elektromagnetische
Betätigungselemente, wie Elektromagnete oder Magnetventile
zur Steuerung verschiedener Organe des Bearbeitungszentrums,
eine Analogsignaleingangseinheit (Eingangseinheit) 36, welche verschiedene
Organe des Bearbeitungszentrums in der Weise überprüft,
daß die Signale die Ausführung der vorgegebenen Aktionen
bestätigen und eine Probeneinheit 37 für die Daten
über Position und Geschwindigkeit für jede Achse.
Die Eichung besteht aus der gleichzeitigen Ablesung der
tatsächlichen Koordinaten jeder Achse, welche von den
Meßwertaufnehmern festgestellt und von der Steuereinheit
31 geliefert wurde unter Ausrechnung des entsprechenden
Positionierungsfehlers auf der Basis der ermittelten Koordinaten,
wobei ein Betätigungssignal aufgrund des Positionsfehlers
und der effektiven Geschwindigkeit gegeben
wird, und das Aktivierungssignal aus der digitalen in die
analoge Form umgewandelt wird.
Die Probeneinheit 37 wird für jede Achse betätigt und die Eichung
der Daten wird mit einer Frequenz von ungefähr 200 Hz vorgenommen,
welche so den Eichzyklus bestimmt.
Die zentrale Verarbeitungseinheit
besteht aus einem ersten Verarbeitungsteil (CPU)
1 und einem
zweiten Verarbeitungsteil (CPU) 2, die untereinander durch
eine Bus-Leitung 25 für Signale verbunden sind.
Das (Band-)Lesegerät 4 ist mit der Bus-Leitung 25 über ein Interface
5 verbunden, während die mit einem Tastenfeld versehene
manuelle Eingabeeinheit 8 über ein Fernsteuerungsinterface
9 angeschlossen ist. Das Anzeigefeld 12 ist mittels
eines geeigneten Interfaces 13 verbunden, welches
seinerseits mit einem Rahmenspeicher 14 verbunden ist, und
die eine Platten- oder Magnetband enthaltende automatische
Dateneingabeeinheit 18 ist über ein entsprechendes Interface
17 angeschlossen. Das System enthält außerdem ein ROM 26
und ein RAM 28, die mit der Bus-Leitung 25 über ein bidirektionelles
Interface 29 verbunden sind. Eine Bus-Leitung 30
verbindet unter anderem die Steuereinheit 31 für die Messungen,
die Steuereinheit 32 für die Analogausgänge, die
Führungseinheit 33 für die elektromechanischen Betätigungsorgane,
die Eingangseinheit 36 und die Probeneinheit 37 für
die Daten.
Insbesondere weist die Bus-Leitung 25, welche die beiden
Verarbeitungsteile (CPU) 1 und 2 und die erste Gruppe von peripheren Einheiten
des Verarbeitungssystems verbindet, eine Auslöseschwellenspannung
von 5 V auf. Die Bus-Leitung 25 ist daher in der
Lage, Daten mit einer heraufgesetzten Geschwindigkeit
zu übertragen. Die Bus-Leitung 30, welche die zweite Gruppe von peripheren
Einheiten verbindet, die mit den Servomechanismen bzw.
den Aufnehmern der Werkzeugmaschine in Verbindung stehen,
weist eine Auslöseschwellenspannung von
15 V auf.
Die Datenübertragung erfolgt daher im Vergleich mit derjenigen der Bus-Leitung 25, mit reduzierter Geschwindigkeit.
Da die Arbeitsgeschwindigkeiten der verschiedenen
Organe der Werkzeugmaschine nicht komprimierbar sind, wird
die Geschwindigkeit des Systems durch die genannte reduzierte
Geschwindigkeit nicht nachteilig beeinflußt. Im Gegenteil,
die heraufgesetzte Auslöseschwelle der Bus-Leitung
30 bildet eine heraufgesetzte Geräuschschwelle, so
daß elektromagnetische Störungen, welche von den verschiedenen
Betätigungselementen, wie Servomotoren, Magnetventilen,
Mikroschaltern usw. hervorgerufen sind, unterdrückt werden.
Der ROM-Speicher 26 enthält im wesentlichen die Mikroprogramme,
welche das System steuern. Der zweite Verarbeitungsteil
(CPU) 2 wird weiterhin gesteuert durch einen Teil
des ROM-Speichers 250, welcher die Rechenroutinen für den
Verarbeitungsteil (CPU) 2 enthält, welche auf das betreffende
Werkstück zugeschnitten sind, und durch einen Teil des
ROM-Speichers 310, der diejenigen Routinen enthält, welche
die elementaren Operationen des Verarbeitungsteils (CPU) 2
steuern, wie es im folgenden beschrieben ist.
Der RAM-Speicher 28 weist einen ersten Teil 19 zum zeitweisen
Festhalten der Parameter auf, welche zur Steuerung
des Wegs des Werkzeugs gehören, wie beispielsweise die
Koordinaten des Werkstücks in bezug auf einen absoluten
Maßstab, die Berichtigungen der Länge und/oder des Radius
der Werkzeuge, die relativen Parameter der Verschiebung
der Achsenanfangspunkte, die programmierte
Fortbewegungsgeschwindigkeit des Werkzeugs, die Länge
seines Weges etc. Ein zweiter Teil 20 des RAM-Speichers
28 dient zum Festhalten der relativen Daten eines Abschnitts
im Verlauf der Interpolation, wie beispielsweise:
die Koordinaten des Endpunkts des Abschnitts, die Kosinusrichtungen
des betreffenden Segments oder die Koordinaten
des Kreismittelpunkts, der zu einem Kreisbogen gehörige
Winkel, die für einen Abschnitt zu durchlaufende Gesamtlänge,
die Geschwindigkeit der Fortbewegung usw. Ein eine
weitere Untersektion bildender Teil 21 des RAM-Speichers 28 enthält numerische
Konstanten, wie beispielsweise die Zahlen null bis neun in
wissenschaftlicher Notation, die Konstanten für die Entwicklung
einer Serie von trigonometrischen Funktionen, den
Umrechnungsfaktor für die Geschwindigkeit in mm/min, in
µm/Umdrehung entsprechend der Eichung, die laufenden Koordinaten
der verschiedenen Achsen, den numerischen Wert des
gegenwärtigen Positionsfehlers, den Längenzuwachs der Position
etc.
Der RAM-Speicher 28 enthält weiterhin eine Anzahl von Registern
22 zum Festhalten der mittels der entsprechenden
Wählschalter des Tastenfelds 8 eingegebenen Parameter.
Schließlich hält ein weiterer Teil 23 des RAM-Speichers 28
die Befehlslogik der automatischen Arbeitsabläufe der Werkzeugmaschine
fest, wie beispielsweise den automatischen
Werkzeugwechsel, Schaltungen zur Beendigung des Achsenverlaufs,
Befehle zum Anlassen und zum Abfühlen der Umdrehung
des Spannfutters usw. Weiterhin dient es als Arbeitsspeicher
für die Daten, welche in einer Serie von Registern
der Steuereinheit 31 zum Festhalten der Maße enthalten sind.
Der erste Verarbeitungsteil (CPU) 1 ist vom Typ eines Mikroprozessors
mit Anweisungen, welche aus ein bis drei Bytes von
acht Bits und einer Ausführungszeit der Instruktionen von
2 bis 5,5 µs gebildet werden. Der erste Verarbeitungsteil (CPU)
1 arbeitet daher relativ langsam und dient zur Abarbeitung
der allgemeinen Daten, d. h. zur Abwicklung des Sortierens
der Daten, der Logik für die Entwicklung der Operationen
und die Koordinierung aller Funktionen der peripheren Einheiten
und aller Systeme.
Der zweite Verarbeitungsteil (CPU) 2 ist mikroprogrammiert und
benutzt Mikroanweisungen von 64 Bits mit einer typischen
Ausführungszeit von 250 ns. Er ist damit eine schnelle
Einheit mit einer gehobenen Parallelverarbeitungsfähigkeit,
der dazu dient, den größeren Teil der Rechenoperationen
und der schnellen Logikfunktionen auszuführen. Es soll daran
erinnert werden, daß die sich bei einer Recheneinheit
für ein numerisches Steuersystem stellenden Probleme bemerkenswert
komplex sind und notwendigerweise in Echtzeit
mit einer großen Verarbeitungsgeschwindigkeit gelöst werden
müssen, wenn eine volle Anpassung an die Charakteristiken
der Servomechanismen und der Werkzeugmaschinen erreicht werden
soll, um eine maximale Arbeitsgeschwindigkeit mit der
gewünschten hohen Bearbeitungspräzision zu erzielen.
Die Zeit, welche zur Verfügung steht, um durch kreisförmige
Interpolation mit vektoriellen Befehlen der Geschwindigkeit,
der Beschleunigung und der Verzögerung am Ende
der Interpolation zur exakten Position, Geschwindigkeit und
Beschleunigung zu gelangen, liegt in der Größenordnung von
2 ms. Zum anderen ermöglicht die erhaltene Rechengenauigkeit
eine so große Präzision, daß eine Positionierung auf
1 µm/10 m möglich ist.
Deshalb werden bei dem beschriebenen numerischen Steuersystem
die Zahlenwerte in der genannten wissenschaftlichen
Notation mit Mantisse und Exponent dargestellt. Die Mantisse
wird durch eine Dezimalzahl mit zehn dezimalen Stellen ausgedrückt,
während der Exponent durch eine Binärzahl von
vier Bits dargestellt wird. Die Mantisse ist genauso wie
der Exponent mit einem algebraischen Vorzeichen versehen.
Die Berechnung
der Mantissen erfolgt dezimal und seriell
in der Art, daß zehn Speicherzyklen pro Ziffer erforderlich
sind. Die Berechnung des Exponenten erfolgt dagegen binär
und parallel (4 Bits+1 Vorzeichen).
Die mit der Geschwindigkeit und extremen Präzision der
Rechnung verbundenen Probleme und diejenigen der Kapazität
für die schnelle Bearbeitung großer Mengen von Daten
werden durch die Struktur des Vielfachverarbeiters, gemäß
der Erfindung, gelöst, welche auf der Benutzung zweier Bearbeitungsteile
(CPU) 1 und 2 mit unterschiedlichen, einander
komplementären Charakteristiken basieren. Sie arbeiten
gleichzeitig unter zeitlicher Überlagerung und beide haben
Zugriff zum RAM-Speicher 28 und ebenfalls zu den peripheren
Einheiten.
Während nun der erste Verarbeitungsteil (CPU) 1 mit der Verarbeitung
von Daten beschäftigt ist, kann der zweite Verarbeitungsteil
(CPU) 2 die Ausführung von algebraischen oder trigonometrischen
Berechnungen vornehmen. Schließlich wird der
Weg des Werkzeugs, entsprechend dem auszuführenden Profil,
in einzelne elementare Abschnitte unterteilt, welche aus
einfachen Linienzügen bestehen, wie geraden Abschnitten,
Kreisbögen und parabolischen Bögen.
Der erste Verarbeitungsteil (CPU) 1 besteht aus einer Basisverarbeitungseinheit
100 (Fig. 2), welche eine interne Datenverarbeitungsleitung
50 (interne Bus-Leitung) mit einer Parallelität
von 8 Bits aufweist, mit der ein Mikroanweisungsregister
51, eine arithmetische und logische Einheit (ALU)
63 und außerdem eine Adressen-Bus-Leitung 62 um die Adressen
der Bus-Leitung 25 zuzuführen, versehen ist. Die interne Bus-Leitung
50 hat außerdem Verbindung mit der Bus-Leitung 25, welche
eine bidirektionelle Kommunikation für Daten und Anweisungen
zwischen dem ersten Verarbeitungsteil (CPU) 1 selbst,
dem RAM-Speicher 28 (Fig. 1), die ROM-Speicher 26 und dem
Eingangs-Interface 29 zuläßt.
Das allgemeine Byte einer Mikroprogrammanweisung, das aus
dem ROM-Speicher 26 (Fig. 1) stammt und gleichzeitig auf
der internen Bus-Leitung 50 (Fig. 2) vorhanden ist, wird
parallel in das Register 51 eingegeben, das es an einen
Decoder 52 weitergibt, welche eine Zeitgeber- und Steuerschaltung
53 ansteuert. Diese wird durch logische
Steuersignale beeinflußt und ist dazu gedacht, den
Ausführungszyklus der Mikroanweisung zu codieren. Im einzelnen
steuert die Zeitgeber- und Steuerschaltung 53 - wie es im Schema der
Fig. 2 dargestellt ist - die verschiedenen Teile der Basisverarbeitungseinheit
100 an, wie es der Führung durch die Daten und der
Führung des Programms entspricht.
Die Basisverarbeitungseinheit (Einheit) 100 ist mit einem Operationsspeicher
55 versehen, der eine Anzahl von adressierbaren
Datenregistern 57 und zwei Register 58 und 59 enthält, welche
die Rolle des Zellenanzeigers bzw. des Programmzählers
innehaben. Der Zellenanzeiger 58 kann jede mögliche Position
des RAM-Speichers 28 extern für die Einheit 100 in der Weise
adressieren, daß jeder vorbestimmte Teil des RAM-Speichers 28
als Stapelregister benutzt werden kann, das zum Magazinieren
und Wiederauffinden des Inhalts irgendeines der Datenregister
57 dient. Der Programmzähler 59, der automatisch
nach der Ausführung einer jeden aufeinanderfolgenden Anweisung
um eins heraufgesetzt wird, adressiert im ROM-Speicher
26 diejenige Zelle, in der der anschließend auszuführende
Programmschritt festgehalten ist. Diese Adressen werden
parallelumgesetzt durch einen Puffer 61, der schließlich
die Adressen-Bus-Leitung 62 führt.
Die Zeitsteuerung der Einheit 100 wird durch einen nicht
dargestellten quarzstabilisierten Oszillator bewirkt,
welcher der Zeitgeber und Steuerschaltung 53 zwei periodische Zeitsignale
mit einer Taktdauer von ungefähr 0,5 µs und einer Phasenverschiebung
von einer halben Periodendauer zuführt. Unter
der Voraussetzung, daß die Anweisungen aus ein bis drei
Bytes bestehen, benötigt jede ein bis fünf Speicherzyklen
für die Abrufung, die Decodierung und die Ausführung.
Jeder der benötigten Speicherzyklen erfordert zur Ausführung
drei bis fünf aufeinanderfolgende Zustände, von
denen jeder die Dauer einer Periode des Zeittakts (0,5 µs)
hat. Die anderen Zustände der Anlage können - entsprechend
der Geschwindigkeit der externen Signale - von einer Periode
bis zu einer unbegrenzten Anzahl von Perioden andauern.
Der erste Speicherzyklus ruft den Operationscode der Anweisung
ab und interpretiert ihn, wobei während der übrigen
Zyklen diese Anweisung ausgeführt wird.
Für den Dialog mit den peripheren Einheiten nimmt die Basisverarbeitungseinheit
100 teil an einer Anzahl von Signalen,
welche von der Zeitgeber- und Steuerschaltung 53 abgegeben
werden. Insbesondere wird ein Signal 79 ausgesandt, um den
Anfang jedes Speicherzyklus anzuzeigen, sowie ein Signal
78, das der Einheit 100 anzeigt, daß auf der internen Bus-Leitung
50 Daten vorhanden sind, welche aus dem RAM-Speicher
28 oder dem ROM-Speicher 26 stammen oder aus einer der Eingangseinheiten
4, 8 oder 18 (Fig. 1) herrühren. Wenn die
Einheit 100 (Fig. 2) nicht das Signal 78 empfängt, nachdem
sie eine Adresse für diese Daten auf die entsprechende Adressen-Bus-
Leitung 62 gegeben hat, nimmt sie einen Wartezustand ein
und nimmt durch Aussendung eines Signals 77 Kontakt mit
externen Einheiten auf, in der Weise, daß sie sich mit einzelnen
der verschiedenen langsameren peripheren Einheiten
synchronisiert. Ein weiteres Signal 72 wird ausgesandt, um
den externen Einheiten (peripheren Einheiten und Speichern)
anzuzeigen, daß die interne Bus-Leitung 50 Daten empfangen
kann, wohingegen ein Signal 71 abgegeben wird, um das Einschreiben
von Daten in den RAM-Speicher 28 oder in den
ROM-Speicher 26 zu steuern.
Unter Absendung des Steuersignals 76 kann eine externe
Einheit - beispielsweise der zweite Verarbeitungsteil (CPU) 2 -
die Steuerung der internen Bus-Leitung 50 für Daten und Adressen-Bus-Leitung 62
übernehmen. Wenn der Befehl 76 empfangen wird, werden die
verschiedenen Bus-Leitungen 50 und 62 von der Einheit 100
in einen Zustand der Blockierung oder großer Impedanz versetzt,
wie es durch ein Signal 75 angezeigt ist, so daß
sie ohne elektrische Störungen von externen Einheiten angesteuert
werden können.
Ein Signal 54, das von einer externen Einheit abgegeben
wird, dient zur Anforderung einer Programmunterbrechung.
Diese Anforderung wird nicht berücksichtigt, wenn das Programm
sie nicht zuläßt oder wenn die Einheit 100 sich im
Zustand der Blockierung nach der Aufnahme des Signals 76
befindet. Schließlich bewirkt ein Null-Rückkehrsignal, daß
der Inhalt des Programmzählers 59 über die Zeitgeber- und Steuerschaltung 53
auf null gesetzt wird.
Die Basisverarbeitungseinheit 100 ist über die interne Bus-Leitung 50 mit zwei
Führungsschaltungen 103 und 104 sowie - über einen Serien-
Parallelwandler 101 zum Festhalten der Betriebssignale -
mit einer Führungsschaltung 102 verbunden.
Der Serien-Parallelwandler 101 setzt das logische Signal
von 8 Bit, das auf den dem Ausgangssignal entsprechenden Leitungen
vorhanden ist, zu einem Zeitpunkt, der durch ein Zeitgebersignal
111 definiert ist, parallel um. Die Adressen-Bus-Leitung 62
ist mit zwei Führungsschaltungen 105, 106 zum Adressieren
des ROM-Speichers 26 und des RAM-Speichers 28 und einer
Führungsschaltung 108 zum Adressieren der peripheren Einheiten
verbunden. Eine Paritätserzeugungsschaltung 107 ist
andererseits verbunden mit der internen Bus-Leitung 50 und der Adressen-Bus-
Leitung 62. Jede der Führungsschaltungen 102 bis 106
dient dazu, auf acht Ausgangsleitungen die acht am Eingang
vorhandenen Logik-Signale zu wiederholen.
Im einzelnen übernehmen die Signale auf der internen Bus-Leitung
50 während des Signals 79 am Anfang des Zyklus die
besondere Kennzeichnung des Informationszustands der
Einheit 100, beispielsweise Erlangen/Decodierung der Anweisung,
Lesen und Einschreiben in den Speicher, Lesen
und Einschreiben in den Zellenanzeiger, Lesen und Übertragen
der Ausgangsdaten, Annehmen einer Anforderung,
Unterbrechung etc.
Auf diese Weise werden die einzelnen Kanäle der internen Bus-Leitung
50 im Zeitpunkt mit dem Signal 79 abgefragt, und die Signale werden
mit dem Zeitgebersignal 111 im Umsetzer 101 parallelumgesetzt,
wobei die Führungsschaltung 102 in einen Zustand zur Abgabe einer
Anzahl von Befehlssignalen "Eingang", "Ausgang", usw.
versetzt wird.
Die beiden Führungsschaltungen 103, 104 stellen die bidirektionelle
Verbindung der Bus-Leitung 25 mit der internen Bus-Leitung
50 her. Bei den beiden Führungsschaltungen 103 und 104
ist jeweils der Eingang der einen Führungsschaltung mit dem Ausgang
der anderen verbunden, und sie werden jeweils über
ein Deaktivierungssignal 112 bzw. 113 angesteuert.
Die Signale der Adressen-Bus-Leitung 62 werden durch die Führungsschaltungen
105 und 106 in analoger Weise auf die 16 Ausgangsleitungen
übertragen, so daß am Ausgang der Bus-Leitung
25 die Adressen des ROM-Speichers 26 und des RAM-Speichers 28 erscheinen. Die von der
Führungsschaltung 108 abgegebenen Signale dienen im Gegensatz dazu
zur Adressierung der peripheren Einheiten 4, 8
12 bzw. 18, die über die Bus-Leitung 25 angeschlossen sind.
Ein Signal 114, das von der Zeitgeber- und Steuerschaltung 53 abgegeben wird, aktiviert
die Führungsschaltungen 102, 105, 106 sowie 108,
die durch Befehle anderer Schaltungen oder peripherer
Einheiten, die mit ihnen verbunden sind, gesteuert werden.
Eine Unterbrechung des Programms kann durch irgendeine
der Ein- und Ausgabeeinheiten sowie der peripheren Einheiten 4, 8, 12, 18, 31, 32, 33,
36 oder 37 (Fig. 1) des Systems auf einen entsprechenden
Unterbrechungsbefehl 74 (Fig. 2) hin ausgelöst werden.
Die Anforderung wird empfangen durch Einführung einer
Sprunganweisung in die Betriebsroutine der jeweiligen Unterbrechung.
Es sind acht verschiedene Unterbrechungen vorgesehen.
Für jede von ihnen gibt es auf der internen Bus-Leitung
50 ein besonderes Byte, welches sie kennzeichnet. Da
die Zahl der Unterbrechungen für den ersten
Verarbeitungsteil (CPU) 1 sehr viel höher ist. Um
den Ansprüchen des beschriebenen numerischen Steuersystems
zu genügen, für das bis zu 2⁸=256 periphere Einheiten
vorgesehen werden können, wird bevorzugterweise so vorgegangen,
wie es im folgenden beschrieben ist. Wenn mit X
ein aktiviertes Bit gekennzeichnet ist und die Bits in der
Reihenfolge null bis sieben geschrieben werden, so ergibt
sich für das Byte, welches eine Unterbrechung definiert, für
das Niveau der Einheit 100 die Schreibweise 111XXX11.
Es löst einen nicht bedingten Sprung in eine Position des
RAM-Speichers 28 mit der Adresse XXX aus. Jenes wird ausgelöst
durch XXX=000 bis 110. Für diejenigen Unterbrechungen,
bei denen diese Gruppe von drei Bits XXX nicht 111
ist, wird der Unterbrechungscode sofort abgegeben, und er
löst eine Betriebsroutine aus, beispielsweise: Startzyklus
und Rückkehr zum anfänglichen Null-Zustand, Feststellung
des Maschinenzustands, (Ende des Ablaufs, Blockierung des
Werkzeugs usw.) oder Probeneinheit 37.
Im Gegensatz dazu wird die Anweisung 11111111 ausgeführt
wenn XXX=111 ist, und sie dient zur Anweisung für die Eingabe
von einer peripheren Einheit her. Da vorausgesetzt
ist, daß für jede periphere Einheit jeweils eine besondere Unterbrechung
vorgesehen ist, sind insgesamt im ersten Verarbeitungsteil
(CPU) 1: 7+256=263 anstelle von nur acht Unterbrechungen
möglich. Unter der Voraussetzung, daß für jede
periphere Einheit eine eigene Unterbrechung notwendig ist,
nimmt man als folgenden Code den Code der peripheren Einheit
selbst.
Auf diese Weise gibt eine signalerzeugende periphere Einheit
ein Signal 74 ab, wenn sie eine Unterbrechung verlangt.
Die Einheit 100 antwortet mit einem Aufnahmesignal 73 auf
die Unterbrechung, welche auf der internen Bus-Leitung 50 die Anweisung
11111111 abfragt, die der Anfrage der Adresse derjenigen
peripheren Einheit entspricht, welche die Unterbrechung
ausgelöst hat.
Im allgemeinen können Unterbrechungsanfragen nacheinander
eingehen bis eine Vorrang-Unterbrechung auftritt. In diesem
Fall wird eine vorbestimmte Prioritätenhierarchie beachtet.
Für den Fall, daß eine nachfolgende Unterbrechung
eine größere Priorität hat, wird die Ausführung der laufenden
Unterbrechungsroutine mit der niedrigeren Priorität
ausgesetzt und die Ausführung der neuen Unterbrechung gestartet
(die Wiedereinstiegsadresse für die Wiederaufnahme
der ausgesetzten Routine wird jedoch festgehalten). Die
Probeneinheit 37 für Daten arbeitet mit der höchsten Unterbrechungspriorität.
Insbesondere für die Ausführung von Unterbrechungen ist
eine Anzahl von vier Und-Nicht-Gattern 150 bis 153 (Fig. 3)
vorgesehen, die mit drei Führungsschaltern (155, 156 und
157) verbunden sind, die acht gleichartige und entsprechend
ihrer Ordnung mit den Leitungen der internen Bus-Leitung 50 verbundene
Ausgänge aufweisen. Diese Ausgänge bewirken, daß auf
der internen Bus-Leitung 50 die den peripheren Einheiten entsprechenden
Codes erscheinen, welche im Falle einer Unterbrechung
notwendig sind. Genauer gesagt aktivieren die beiden Signale
3L und 4L, welche von denjenigen peripheren Einheiten
abgegeben werden, für die die Gruppe der genannten Bits XXX
die Werte 000 bis 110 annimmt, die Eingänge des Und-Nicht-
Gatters 150. Das Signal 73, das zur gleichen Zeit wie das
Signal 72 von der Zeitgeber- und Steuerschaltung 53 (Fig. 2) erzeugt wird, setzt
den Ausgang des Und-Nicht-Gatters 151 (Fig. 3) auf "eins",
wodurch die Führungsschaltung 155 gesperrt wird. Wenn eine Unterbrechungsanforderung
aufgenommen wurde, aktiviert der invertierende
Ausgang des Und-Nicht-Gatters 150 über das Und-
Nicht-Gatter 153 die Führungsschaltung 156, welche an die interne
Bus-Leitung 50 ein Byte übermittelt, welches den Daten 111xyz11
entspricht, so daß die interne Bus-Leitung 50 in einen Zustand
zum Empfang von Daten versetzt wird. In diesen Daten koinzidieren
die Bits xyz jeweils mit
logischen Signalen 0L, 1L
und 2L, welche direkt diejenige periphere Einheit festlegen
welche die Unterbrechung anfordert.
Im Gegensatz dazu werden die Führungsschaltung 156 deaktiviert und
die Führungsschaltung 155 aktiviert die ihrerseits die interne Bus-Leitung 50
mit der Konfiguration 11111111 versieht,
wenn kein Signal 3L oder 4L vorhanden ist, wobei die Konfiguration 11111111 einen
nicht bedingten Programmsprung zu einer Eingabeanweisung für eine
periphere Einheit bewirkt, mittels deren der Code derjenigen
peripheren Einheit, welche die Unterbrechung fordert,
und so auch die Adresse der Unterbrechungsroutine selbst erlangt
werden. Auf diese Weise wird die Decodierung der Signale
auf der Adressen-Bus-Leitung 62 (Fig. 2) durch einen Decoder 200
sichergestellt, welcher jeweils auf das Signal "Eingang"
oder das Signal "Ausgang", welche von der Führungsschaltung 102 abgegeben
werden, um die Eingabe oder Ausgabe zu den peripheren
Einheiten zu steuern, ein Signal I3 abgibt, welches die
Anforderung einer peripheren Adresse nach einer Unterbrechung
darstellt. Das Signal I3 befähigt die Führungsschaltung
157 über das Und-Nicht-Gatter 152 (Fig. 3), diese Adresse
zu empfangen und auf die interne Bus-Leitung 50 abzugeben.
Andererseits gibt der Decoder 200 (Fig. 2) einen Inhibierungsbefehl
O3 ab, der eine Unterbrechungsanforderung
darstellt, wie sei bei allen peripheren Einheiten vorliegt,
wenn nicht die Probeneinheit 37 (Fig. 1) Daten mit der
höchsten Priorität an die Werkzeugmaschine abgibt.
Im einzelnen besteht die Probeneinheit 37 (Fig. 4) aus einem
Generator für Zeitimpulse 160, welcher einen 8-Bit-Binärzähler
161 ansteuert.
Am Anfang gibt der erste Verarbeitungsteil (CPU) 1 (Fig. 1) über
die Bus-Leitungen 25 und 30 Anweisungen an einen Decoder
162 (Fig. 4), welcher ein Signal 163 erzeugt. Diese befähigt
den Zähler 161 zur Entgegennahme eines festen Werts,
der ihm ebenfalls über die Bus-Leitungen 25 und 30 vom ersten Verarbeitungsteil
(CPU) 1 zugeführt wird. Der Zähler 161 zählt
unter der Wirkung der Impulse des Zeitgebers 160 rückwärts
bis null. Bei der Nullstellung des Zählers 161 wird ein
Signal erzeugt, welches eine Kippschaltung 164 aktiviert,
die ein Signal 74 (Fig. 2) als Unterbrechungsanforderung
auf eine Leitung 165 (Fig. 4) abgibt, wodurch eine Unterbrechung
des Programms für die Signalprobenentnahme (Abtastung) bewirkt
wird.
Wenn die Signalprobenentnahme einmal stattgefunden hat, wird
der Zähler 161, gesteuert durch ein Signal, das von dem Decoder
162 geliefert wird, auf den Anfangswert zurückgesetzt
und ein neuer Zyklus der Signalprobenentnahme gestartet. Das
Signalprobenintervall ist so der Zeitraum, den der Zähler
161 benötigt, um die Nullstellung zu erreichen.
Auf diese Weise erhält die erste Verarbeitungseinheit (CPU) 1
(Fig. 1) mit großer Frequenz von der Steuereinheit 31 die
Daten über Position und Geschwindigkeit für alle Achsen
der Werkzeugmaschine. Diese herausgearbeiteten Daten werden
jetzt der Steuereinheit 32 für die Servomotoren mit einer
Frequenz, die von der Probeneinheit 37 bestimmt wird, abgegeben.
Es ist ersichtlich, daß auf diese Weise die Probesignale
ohne jede Verzögerung zur Probeneinheit 37 gelangen, weil diese
die größte Unterbrechungspriorität aufweist.
Wie es bereits ausgeführt wurde, wird der zweite Verarbeitungsteil
(CPU) 2 durch ein Mikroprogramm gesteuert, welches in dem
ROM-Speicher 310 (Fig. 1) enthalten ist, wohingegen
der ROM-Speicherteil 250 die Subroutinen enthält, welche
für die Ausführung der Berechnungen zur Steuerung der
relativen Bewegungen von Werkzeug und Werkstück notwendig
sind.
Der zweite Verarbeitungsteil (CPU) 2 enthält eine arithmetische
und logische Einheit (ALU) 350 (Fig. 5), welche in zwei
Abschnitte unterteilt ist: einen dezimalen 351′, welcher
in Serie im BCD-(binär-dezimal-)Code arbeitet, und einen
rein binären 352′, der parallel arbeitet. Die beiden Abschnitte
351′ und 352′ sind jeweils zur Berechnung der Mantissen
und der Exponenten der Daten vorbereitet. Jeder der Teile
enthält eine Recheneinheit 351 bzw. 352 und eine entsprechende
Registergruppe 353 bzw. 354 für Mantisse und Exponent.
Jede Registergruppe 353 und 354 enthält jeweils zwei Register
355 und 356 und einen Akkumulator 371.
Die Elementaroperationen, welche von dem zweiten Verarbeitungsteil
(CPU) 2 ausgeführt werden sollen, sind die vier arithmetischen
Grundrechenarten, das Setzen des Kommas bei einer
Zahl in der Weise, daß ein dezimaler Multiplikator einen
vorgeschriebenen Exponenten aufweist und die Übertragung,
sowie den Austausch von Daten zwischen den verschiedenen Registern
und den Akkumulatoren.
Der ROM-Speicher 250 (Fig. 6) wird durch einen Mikroprogrammzähler
270 adressiert, der damit über eine Adressenleitung
271 mit zwölf Kanälen verbunden ist. Für eine Adresse
von zwölf Bits wird die entsprechende Zelle des ROM-Speichers
250 abgefragt, um eine Mikroanweisung von 16 Bits herauszuziehen.
Diese gelangt zu einem ersten Eingang 260 eines
logischen Netzwerks oder eines Multiplexers 255. An einen
zweiten Eingang 251 des Multiplexers 255 sind diejenigen
Leitungen der Bus-Leitung 25 angeschlossen, welche Daten
übertragen, sowie diejenigen, welche die am wenigsten signifikanten
Bits der Adresse enthalten.
Die Ausgänge 256 und 257 des Multiplexers 255 übertragen
die Signale, welche am ersten Eingang 260 vorliegen oder
die entsprechenden Signale, welche am zweiten Eingang 251
vorliegen, je nachdem, ob der logische Pegel eines Kommutationssignals
259, welches von der Kippschaltung 261 abgegeben
wird, "1" oder "0" ist.
Zum Multiplexer 255 gelangt außerdem ein logisches Signal
262, das - mit Verzögerung - aus dem Kommutationssignal
259 der Kippschaltung 261 gewonnen wurde. In entsprechender
Weise liefert der Multiplexer 255 am Ausgang ein Signal
258, welches zu einer Anzahl von logischen Schaltungen
263 bis 268 gelangt, die gleichermaßen durch eine Bus-Leitung
252 versorgt werden, welche aus der Zusammenführung
der acht signifikantesten Leitungen der Adresse oder der
acht signifikantesten Datenleitungen mit den acht am wenigsten
signifikanten Adressenleitungen der Bus-Leitung 25
oder aus den 16 Leitungen 256 und 257, die vom Multiplexer
255 abgehen, gebildet ist.
Die Schaltung 263 ist ein Decoder und Serien-Parallel-Umwandler,
der zu einem Zeitpunkt, der durch das Signal 258
festgelegt wird, das Adressenbyte, welches am Eingang 269
vorhanden ist, decodiert und parallelumsetzt, wobei die
zehn Ausgangssignale 280 bis 289, welche die Anweisungen
für die arithmetische und logische Einheit (ALU) 350 bilden,
aktiviert werden. Im einzelnen bewirkt die Anweisung
280 die Erzeugung einer unterschiedlichen Signifikanz der
Daten und legt deren Struktur, ihr Vorzeichen, die Mantisse,
den Exponenten etc. fest. Durch die Anweisung 281 muß die
gewünschte Operation denjenigen Exponenten aufweisen, der
durch die Daten festgelegt ist. Die Anweisung 282 bewirkt
die
Überführung des Inhalts des gerade adressierten Registers
des ROM-Speichers 26 in den Akkumulator 371 der Gruppe 353
(Fig. 5). Durch die Anweisung 283 (Fig. 5 und 6) wird der
Inhalt des gerade adressierten Registers des RAM-Speichers
28 in den Akkumulator 371 der Gruppe 354 übertragen. Die
Anweisungen 284 und 285 übertragen in das gerade adressierte
Register des RAM-Speichers 28 den Inhalt des ersten Registers
355 bzw. denjenigen des Registers 356 der Gruppe 353.
Die Anweisung 286 gestattet es, den gesamten RAM-Speicher
28 in seiner maximalen Konfiguration zu adressieren. Die Anweisung
287 aktiviert das Mikroprogramm des ROM-Speichers
250, wobei die Daten in den Zähler 270 des Mikroprogramms
eingegeben werden, welche die Routinen des Mikroprogramms
auswählen, beispielsweise diejenige Routine zum Berechnen
trigonometrischer Funktionen, quadratischer Funktionen, zur
Berechnung der fortschreitenden Abmessungen durch zirkulare
Interpolation usw. Die Anweisung 287 steuert die Kippschaltung
261 an, wohingegeben die Anweisung 288 das Ende des
Mikroprogramms festlegt und die Kippschaltung 261 zurücksetzt.
Schließlich ist die Anweisung 289 eine bedingte Sprunganweisung
in Abhängigkeit vom Vorzeichen der Mantisse oder
von der Tatsache, daß das Ergebnis einer Operation null ist.
Die Sprunganweisung bewirkt, daß die aktuellen Daten auf die
Bus-Leitung 25 übertragen wird.
Die Schaltung 264 ist ein Serien-Parallel-Umwandler für den
Operationscode, der über vier Kanäle der Bus-Leitung 311
gelangt, und sie wird gesteuert durch ein Signal 293 von
einer Oder-Schaltung 292, wenn die Anweisungen 280 und 281
vorhanden sind. Die Schaltung 265 ist ein Serien-Parallel-
Umwandler für die Adressenregister des RAM-Speichers 28,
welcher durch ein Signal 295 gesteuert wird, das von einem
Oder-Gatter 296 stammt, wenn eine der Anweisungen 282, 283,
284 oder 285 anliegt. Die Schaltung 266 ist ein Serien-
Parallel-Umwandler der Speicherzone und wird durch die Anweisung
286 gesteuert. Die numerischen Daten, welche durch
eine der Schaltungen 264, 265 und 266 parallelumgesetzt
werden, tragen so die Kennzeichnung, welche zu dem entsprechenden
Umsetzer selbst gehört.
Die Schaltung 267 ist ein Serien-Parallel-Umsetzer von
Wortzuständen, der in Abhängigkeit von einem Signal, das
aus dem Decoder 268 stammt, ein Wort von acht Bits festhält,
welches dem Zustand des zweiten Verarbeitungsteils (CPU) 2
entspricht. Dieses Wort wird auf die Bus-Leitung 252 und
so auf die Bus-Leitung 25 gegeben. Es kann beispielsweise
den Zustand der Kapazitätsüberschreitung anzeigen, das
Ergebnis "0" einer Operation, den Zustand, daß der zweite Verarbeitungsteil
(CPU) 2 besetzt ist etc.
Der Zähler 270 des Mikroprogramms empfängt parallel die
Konfiguration der Daten, wenn das Signal 289 aus der Schaltung
263 dies zuläßt, über ein Und-Gatter 274. Die Einführung
der Zieladresse des Sprungs bewirkt schließlich
in Abhängigkeit von dem Signal 276 die Ausführung einer
Sprungbedingung, welche aus einer geeigneten Sprungsteuerschaltung
275 stammt.
Der ROM-Speicher 310 (Fig. 7), welcher das Steuermikroprogramm
für den zweiten Verarbeitungsteil (CPU) 2 enthält, wird mittels
Signalen der Bus-Leitung 311 des Operationscodes abgefragt,
welche aus dem Serien-Parallel-Umsetzer 264 (Fig. 6) und
der Bus-Leitung 312 mit fünf Kanälen stammen, die mit
einem Zähler 313 (Fig. 7) verbunden ist, der bis 32 zählen
kann. Die Kapazität des ROM-Speichers 310 beträgt 512 Mikroanweisungen
zu 64 Bits. Um mit jeder Adresse, welche
durch die insgesamt neun auf den beiden Bus-Leitungen 311 und 312
vorhandenen Bits gebildet wird, korrespondieren zu können,
antwortet der ROM-Speicher 310 dadurch, daß er auf
einer Anzahl von Ausgangskanälen 314, 317, 318 und 319
eine Mikroanweisung des zweiten Verarbeitungsteils (CPU) 2 aussendet.
Die Signale der Kanäle 314 werden der arithmetischen
logischen Einheit (ALU) 350 (Fig. 5) übermittelt,
um deren Funktion zu steuern.
Die arithmetische logische Einheit (ALU) 350 arbeitet mit
Daten, welche über die Bus-Leitung 25 zu ihr gelangen, und
sie wird gelesen gleichzeitig mit einer Anwahl des Lesens
des Speichers 357. Diese Daten, welche zwei Bytes enthalten,
werden unterschiedlich behandelt, je nachdem, ob sie
dezimale Ziffern der Mantisse und des Exponenten darstellen
oder algebraische Zeichen von Mantisse oder Exponent. Die
korrekte Auswertung findet mit geeigneten logischen Steuersignalen
358, 359 und 360 statt, welche die Und-Gatter
361, 362 und 363 beeinflussen.
Jede der 16 möglichen Elementaroperationen (Addition, Subtraktion,
Multiplikation usw.) wird durch die Bus-Leitung
311 (Fig. 7) ausgewählt und mit einer Subroutine ausgeführt,
die eine bestimmte Anzahl von Mikroanweisungen
enthält, die aus dem ROM-Speicher 310 stammen. Jede Mikroanweisung
wird für eine bestimmte Anzahl von Zyklen oder
Perioden des Grundtakts von 4 MHz aktiviert, wobei die Anzahl
der Zyklen oder Perioden von der Mikroanweisung abhängig
ist.
Wenn eine Mikroanweisung aus dem ROM-Speicher 310 ausgegeben
ist, wird beim Passieren der Leitung 317 die dieser
Mikroanweisung entsprechende Anzahl von Zyklen in entsprechender
Weise in den Zähler 315 eingegeben. Schließlich
zählt der Zähler 315 pro Zyklus eine Einheit zurück. Wenn
der Zähler 315 null erreicht hat, gibt der ein Signal ab,
welches den Inhalt des Zählers 313 um eine Einheit heraufsetzt.
So wird die Adressierung der nachfolgenden
Mikroanweisung mittels der Leitung 317 in der Weise bewirkt,
daß der Zähler 315 von neuem gesetzt ist.
Wenn die Mikroanweisung eine Sprungmikroanweisung ist,
gibt die gewählte dreiadrige Leitung 318 eine der acht Bedingungen
des vorgesehenen Sprungs ab. Die Sprungbedingung
wird durch einen Multiplexer 323 festgelegt, welcher
daraufhin ein Signal 320 erzeugt, das die Paralleleingabe
einer entsprechenden Wortkonfiguration von fünf Bits in
den Zähler 313 bewirkt, welche von dem ROM-Speicher 310
über die fünfadrige Leitung 319 gegeben wurde. Diese Leitung
überträgt im wesentlichen die Adresse des Sprungziels
in den Rahmen der 32 Mikroanweisungen, welche die Subroutine
der betreffenden ausgewählten Operation bilden. Die
die von dem Multiplexer 323 ausgeführten Sprungbedingungen
betreffende Logik arbeitet entsprechend. Die Leitung 318,
welche von dem ROM-Speicher 310 ausgeht, fragt die Ausführung
einer von acht Sprungbedingungen ab. Eine achtkanalige
Leitung 364, die von der arithmetischen logischen Einheit
(ALU) 350 ausgeht, überträgt die Informationen, welche anzeigen,
ob jede der Bedingungen verifiziert ist.
Das Einschreiben der Ergebnisse der Berechnungen der arithmetischen
logischen Einheit (ALU) 350 wird gesteuert vom
Signal 75 (Fig. 2) des ersten Verarbeitungsteils (CPU) 1 und einem
Signal 365 (Fig. 5), das aus dem zweiten Verarbeitungsteil (CPU) 2
stammt unter Einschluß eines Und-Gatters 381, angesteuert
von der Ausgangs-Bus-Leitung 380 und verbunden mit der Bus-Leitung
25.
Unter der Steuerung der ROM-Speicher 250 und 310 dient der zweite
Verarbeitungsteil (CPU) 2 in erster Linie zur Berechnung
der Signalmuster jeder Achse und für jeden Augenblick, wie
sie von der Probeneinheit 37 (Fig. 1) abgegeben werden. Der
numerische Wert des Betätigungssignals wird in eine
analoge Form gebracht und steuert einen Leistungsverstärker
an, welcher den Motor für die betreffende Achse in bekannter
Weise beeinflußt. Es ist hiermit ersichtlich, daß
die von dem zweiten Verarbeitungsteil (CPU) 2 mit großer Geschwindigkeit
durchgeführten Berechnungen die Tätigkeit des ersten
Verarbeitungsteils (CPU) 1 nicht unterbrochen haben. Außerdem
ist ersichtlich, daß der zweite Verarbeitungsteil (CPU) 2 von
zwei verschiedenen Mikroprogrammen gesteuert wird, welche
in den ROM-Speichern 310 und 250 vorhanden sind, das eine
für die elementaren Berechnungen und das andere für die
Berechnung des Wegs des Werkzeugs in bezug auf das Werkstück.
Schließlich ist auch deutlich geworden, daß der RAM-Speicher
28 von dem zweiten Verarbeitungsteil (CPU) 2 durch den Befehl
75 des ersten Verarbeitungsteils (CPU) 1 benutzbar ist.
Was die Fig. 8 betrifft, so ist darin hauptsächlich der
Ablauf eines typischen Funktionsbeispiels beschrieben,
welches die Zusammenarbeit zwischen den beiden Verarbeitungsteilen
(CPU) 1 und 2 illustriert.
Es soll angenommen werden, daß der erste Verarbeitungsteil (CPU) 1
eine Anfrageanweisung an den zweiten Verarbeitungsteil (CPU) 2 ausführt
(in Fig. 8 mit 170 bezeichnet), um eine arithmetische
Operation auszuführen, beispielsweise die Addition zweier
Werte bezüglich einer Achse der Werkzeugmaschine. Diese Anforderung
wird mittels der Schaltung 103 (Fig. 2) und der
Bus-Leitung 25 bewirkt. Die Ausführung dieser Anweisung
löst eine Überprüfung 171 (Fig. 8) des zweiten Verarbeitungsteils
(CPU) 2 aus, um festzustellen, ob dieser eventuell durch
andere Operationen belegt ist. Wie bereits gesehen, wird
der Zustand des zweiten Verarbeitungsteils (CPU) 2 über den Serien-
Parallel-Umsetzer 267 (Fig. 6) signalisiert. Wenn der zweite Verarbeitungsteil
(CPU) 2 besetzt ist, wird die Anfrage 170
(Fig. 8) wiederholt, falls er nicht besetzt ist, führt der zweite
Verarbeitungsteil (CPU) 2 eine Wiedererkennungsoperation
172 der Anweisung für die benötigte arithmetische Operation
aus, die von dem Umsetzer 264 (Fig. 6) parallelumgesetzt
wurde. Auf die Wiedererkennungsoperation 172 (Fig. 8) hin können
die beiden Verarbeitungsteile (CPU) 1 und 2 parallel zwei verschiedene
Operationen ausführen. Insbesondere kann der erste Verarbeitungsteil
(CPU) 1 eine oder mehrere Anweisungen, die im Programm
(Block 173) vorgesehen sind, ausführen. Der zweite Verarbeitungsteil
2 führt die arithmetische Operation aus, welche
vom ersten Verarbeitungsteil (CPU) 1 angefordert und wiedererkannt
wurde, wobei das Signal, daß der zweite Verarbeitungsteil
(CPU) 2 besetzt ist (Block 174 in Fig. 8), dem ersten Verarbeitungsteil (CPU) 1 über
den Serien-Parallel-Umsetzer 267 (Fig. 6) gegeben wird.
Nach der Ausführung der vorgesehenen Anweisungen (Block 173)
führt der erste Verarbeitungsteil (CPU) 1 eine Anforderungsanweisung
(Block 176) aus und überträgt das Ergebnis der Berechnung des zweiten
Verarbeitungsteils (CPU) 2 in den RAM-Speicher
28 (Fig. 1), welcher von neuem über die Schaltung 103 (Fig. 2)
und die Bus-Leitung 25 mit einem Signal versehen wird. Diese
Ausführung bewirkt eine Überprüfung 177 (Fig. 8) des zweiten Verarbeitungsteils
(CPU) 2 und, wenn dieser besetzt ist, eine
Wiederholung der Anforderungsanweisung 176. Wenn andererseits der zweite Verarbeitungsteil
(CPU) 2 die Operation 174 beendet hat, erzeugt
er eine Wiedererkennung 178 der übertragenen
Anweisung durch Aussendung des Wiedererkennungssignals 365 (Fig. 5).
Wenn im Gegensatz dazu die Operation 174 des zweiten Verarbeitungsteils
(CPU) 2 vor der Operation 173 des ersten Verarbeitungsteil (CPU) 1
beendet ist, wartet der zweite Verarbeitungsteils (CPU) 2 auf von dem ersten
Verarbeitungsteil (CPU) 1 kommende Anweisungen, um das Ergebnis
zu übertragen (Block 179). Dieser Zustand wird jedenfalls
durch die Schaltung 267 (Fig. 6) parallelumgesetzt. Auf die
Operation 179 (Fig. 8) folgt eine Überprüfung (Block 181) der Abgabe
dieser Anweisung durch die Schaltung 103 (Fig. 2) vom ersten Verarbeitungsteil
(CPU) 1. In dem Fall, daß diese Anweisung
nicht abgegeben worden ist, wird die Operation 179
(Fig. 8) wiederholt. Im anderen Fall, wenn das Ergebnis
der Überprüfung 181 positiv ist, bewirkt der zweite Verarbeitungsteil
(CPU) 2 die Wiedererkennung 178 der
Anweisung dadurch, daß er ein Wiedererkennungssignal 365
(Fig. 5) abgibt. Unter der Voraussetzung, daß die Übertragung
des Ergebnisses der arithmetischen Operation, die
von dem zweiten Verarbeitungsteil (CPU) 2 ausgeführt wurde, den
Zugriff zu dem RAM-Speicher 28 (Fig. 1) erfordert, würde
eine Operation des ersten Verarbeitungsteils (CPU) 1 während dieser
Übertragung eine Störung darstellen. Deshalb bewirkt die
Wiedererkennung 178 (Fig. 8) der Übertragungsanweisung
eine Aussetzungsoperation 182 der Aktivität des ersten Verarbeitungsteils
(CPU) 1, woraufhin eine Überprüfung 183 folgt, um
festzustellen, ob der erste Verarbeitungsteil (CPU) 1 frei ist. Der
Zustand des ersten Verarbeitungsteils (CPU) 1 wird durch ein Signal 75
(Fig. 2) angezeigt, das von der Zeitgeber- und Steuerungsschaltung 53 abgegeben wird.
Wenn der erste Verarbeitungsteil (CPU) 1 besetzt ist, wird die
Aussetzungsoperation 182 (Fig. 8) wiederholt. Wenn er nicht besetzt ist,
bewirkt der erste Verarbeitungsteil (CPU) 1 eine Operation
184 für die Annahme der Aufschubanweisung, wobei ein entsprechendes
Signal 76 (Fig. 2) erzeugt wird. Dieses Signal 76 erzeugt
durch den zweiten Verarbeitungsteil (CPU) 2 (Block 186, Fig. 8)
einen Befehl auf der Bus-Leitung 25, welcher bewirkt, daß
von dem zweiten Verarbeitungsteil (CPU) 2 eine Übertragung (Block 187)
des Ergebnisses der Operation 174 zum RAM-Speicher 28 (Fig. 1)
ausgeführt wird, wobei die Übertragung über die Bus-Leitung
380 (Fig. 5) und das Und-Gatter 381 erfolgt. Nach ausgeführter
Übertragung 187 (Fig. 8) können die beiden Verarbeitungsteile
(CPU) 1 und 2 wieder parallel arbeiten. Beispielsweise
kann der erste Verarbeitungsteil (CPU) 1 mit der Ausführung
einer oder mehrerer Anweisungen beginnen, die im
Programm (Block 188) vorgesehen sind, bis er auf eine weitere
Operationsanweisung trifft, die vom zweiten Verarbeitungsteil (CPU) 2
benötigt wird, so daß er wiederum zum Punkt 189 des Diagramms
gemäß Fig. 8 springt. Es muß darauf hingewiesen werden, daß
das System jedesmal die im Block 188 vorgesehenen Bedingungen
einnimmt, wenn die Maschine gestartet wird, wie es
bei 191 in Fig. 8 angegeben ist.
Während der Operation 188 des ersten Verarbeitungsteils (CPU) 1 geht
der zweite Verarbeitungsteil (CPU) 2 in einen Wartezustand 192 über,
in Erwartung einer Anweisung vom ersten Verarbeitungsteil (CPU) 1,
die ebenfalls von der Schaltung 267 (Fig. 6) parallel umgesetzt
wird. Nun wird eine Prüfung 193 ausgeführt (Fig. 8),
die feststellt, ob die Abgabe dieser Anweisung
von der Schaltung 103 (Fig. 2) bereits gelesen wurde. Falls das nicht
der Fall war, wird die Operation 192 (Fig. 8) wiederholt.
Verläuft die Prüfung 193 positiv, geht das System zum Punkt
194 (Fig. 8). Es ist ersichtlich,
daß die beiden Verarbeitungsteile (CPU) 1 und 2 durch die
Bus-Leitung 25 verbunden und derart konzipiert sind, daß
sie gleichzeitig arbeiten können und sich den Zugriff zu
dem RAM-Speicher 28 automatisch teilen und ebenfalls - über
die Bus-Leitungen 25 und 30 sowie das Interface 29 - den
Zugriff zu den peripheren Einheiten.
Die der Werkzeugmaschine über die Steuereinheit zuzuführenden
Anweisungen werden von dem Operator in einer gerafften
und codierten Form eingegeben. Der Mensch-Maschine Dialog
dient zur Abstimmung neuer Programme und zur Modifizierung
der programmierten Anweisungen in sowohl geometrischer als
auch technologischer Hinsicht. Zum anderen sind manuelle
Steuerbefehle bezüglich Achsen- und anderen Bewegungen der
Werkzeugmaschine vorgesehen, um bei dem ersten Stück einer
Serie mechanische Einstellungen vorzunehmen und für eventuelle
Wiederholungen bei der Beseitigung anormaler Zustände.
Schließlich ist ein Befehl ausführbar für einen Wiederholungsbetrieb
bei der Bearbeitung von mehreren Stücken.
In ähnlicher Weise ist die Übermittlung von Befehlen vorgesehen,
welche eine erleichterte Überwachung des korrekten
Arbeitsablaufs ermöglichen.
Die Codierung der Benutzeranweisungen basiert auf dem
Gebrauch von dreibuchstabigen Abkürzungen, welche den zu
bearbeitenden Gegenstand und die im Rahmen dieses Gegenstands
benötigten Funktionen angeben. Um beispielsweise
ein im RAM-Speicher 28 vom Programmblock 125 bis Block 724
vorhandenes Programm auszuführen, sind die notwendigen Befehle:
ESE, MEP, N125, N724, , was im Klartext bedeutet:
das im permanenten Speicher vorhandene Programm ist
von Block N125 bis Block N724 auszuführen. Das Symbol
bedeutet die Betätigung einer besonderen Taste des Tastenfelds
8 (Fig. 1) und gibt an, daß die betreffende Befehlsfolge
zu Ende ist und daß die Ausführung begonnen werden
soll.
Das vorangehende Beispiel illustriert die Einfachheit und
die Prägnanz der Sprache. Die verwendeten Abkürzungen entstammen
der italienischen Sprache. Es ist wahlweise eine
Kommunikationslogik vorgesehen, welche es gestattet, aus
anderen Sprachen entlehnte Abkürzungen zu benutzen. Falls
Italienisch benutzt werden soll, betätigt man auf dem Tastenfeld
den Code "ITA", für Englisch den Code "ENG", für
Französisch "FRA" usw.
Entsprechend der Sprachlogik ist die Art und Weise festgelegt,
nach der der Rechner dem Operator in den Dialogphasen
antwortet und ihn während der Ausführung über den
Fortgang der Arbeiten unterrichtet.
Das Anzeigefeld 12 macht zusammen mit dem Rahmenspeicher 14
die Benutzung von Programmtafeln auf der Entwurfsebene
praktisch überflüssig, da es möglich ist, ganze Seiten der
Tafeln auf dem Bildschirm darzustellen und alle notwendigen
Anweisungen dem Operator zu vermitteln. Für eine noch bessere
Anpassung an die Eigenschaften des Systems sind die Dimensionen
der angezeigten Zeichen veränderlich: beispielsweise
4 mm Höhe für die Phasen der Einstellung des Programms wird
zu 8 mm bei der Eingabe von Daten im Verlauf der Ausführung
und zu mehr als 30 mm für Dringlichkeitsmitteilungen.
Im Verlaufe der Modifikationsphasen der Programme können
Änderungen ausgeführt werden, während gleichzeitig auf
dem Bildschirm sowohl diejenige Tafel erscheint, in der
die Veränderung vorgenommen werden soll, als auch - im
Verlaufe der Vorbereitung - der Block, der als Veränderung
in die Tafel eingesetzt werden soll.
Die Verbindung der beiden Bus-Leitungen 25 und 30 mit den
Einheiten, welche sie steuern, werden fortlaufend mittels
einer Verifizierung der ausgeführten Parität durch die
Einheit 107 (Fig. 2) parallel mit den übertragenen Daten
festgelegt. Auf diese Weise ist sichergestellt, daß die
Signale der Bus-Leitungen 25 und 30 alle diejenigen Module
des Systems richtig erreichen, die damit verbunden sind.
Die in dem RAM-Speicher 28 (Fig. 1) eingeschriebenen Daten
sind mit einem redundanten Code in der Weise eingespeichert,
daß sie im Augenblick des Gebrauchs verifiziert
werden können. Die an die Werkzeugmaschine abgegebenen Befehle
werden periodisch durch den Rechner erneut gelesen,
um ihre Genauigkeit zu überprüfen. Auf diese Weise ist es
möglich, automatisch die zwischengeschalteten Führungs-
und Steuerschaltungen zu kontrollieren.
Wenn die Operationen, welche vom Tastenfeld 8 kommen, überprüft
werden, wird gleichzeitig die Übereinstimmung dieser
Anweisungen mit den Befehlen kontrolliert. Wenn sie auf
diese Weise als fehlerhaft erkannt sind, werden sie nicht
mehr angenommen und dieser Zustand wird auf dem Anzeigefeld
12 klar dargestellt.
Je nach Art des vorgekommenen Fehlers kann in entsprechender
Weise vorgegangen werden. Das analoge Betätigungssignal,
das den Servomechanismus, gesteuert durch die
Mikroprogramme, zugeführt wird, kann vor der endgültigen
Benutzung zur Ansteuerung der Motoren überprüft werden,
um festzustellen, ob es wahrscheinlich ist, daß es durch
fehlerhafte Signale beeinflußt wurde, wie sie beispielsweise
durch starke elektrische Störungen hervorgerufen
werden können. Für den Fall, daß das analoge Betätigungssignal
als ungeeignet angesehen wird, wird es automatisch
durch ein entsprechendes Signal ersetzt, das aus dem vorhergehenden
Verlauf extrapoliert wurde. Wenn bei einer
Wiederholung der Messung festgestellt wird, daß das analoge
Betätigungssignal sich wieder in den vorgesehenen Grenzen
befindet, fährt man an der Stelle der Blockierung der
Achsen mit einer Eilroutine fort. Die Ausfilterung derjenigen
Analogsignale, die eventuell von einem Fehler betroffen
sein könnten, vermindert die Wahrscheinlichkeit
beträchtlich, daß bei der Behandlung der Oberfläche des
zu bearbeitenden Werkstücks Fehler auftreten.
Claims (12)
1. Numerisches Steuersystem für Bearbeitungszentren
oder ähnliche Werkzeugmaschinen zur Steuerung der Relativbewegung
zwischen einem Werkzeug und einem zu bearbeitenden
Werkstück nach einem vorgegebenen Bearbeitungsprogramm,
mit mindestens einer Programmleseeinheit, einer mit wenigstens
einem RAM-Speicher versehenen Verarbeitungseinheit und mindestens
einer peripheren Einheit, wobei die Verarbeitungseinheit
mindestens zwei Verarbeitungsteile
umfaßt, die untereinander durch eine gemeinsame
erste Bus-Leitung verbunden
sind und gleichzeitig arbeiten, und wobei
das zweite Verarbeitungsteil auf die
Steuerung der mindestens einen peripheren Einheit
und das erste Verarbeitungsteil für die Ausführung von Berechnungen
ausgelegt sind, welche die Interpolation der Wegstrecke
zwischen Werkzeug und zu bearbeitendem Werkstück betreffen,
dadurch gekennzeichnet,
daß die beiden Verarbeitungsteile
(1, 2) den Zugriff zu dem
RAM-Speicher (28) und zu der mindestens einen
peripheren Einheit durch ein Programm gesteuert
automatisch unter sich aufteilen, das in einem den
beiden Verarbeitungsteilen (1, 2) gemeinsam zugeordneten
Programmspeicher (26) abgespeichert ist,
daß zwei Gruppen von peripheren Einheiten vorgesehen sind, wobei die erste Gruppe eine Reihe von Einheiten (4, 8, 12, 18) für die Ein- und Ausgabe von Daten und Programmen und die zweite Gruppe eine weitere Reihe von Einheiten (31, 32) zur Messung und Steuerung der Bewegungen des Werkzeugs und des Werkstücks enthält, daß die beiden Verarbeitungsteile (1, 2) durch die erste Bus-Leitung (25) mit dem RAM-Speicher (28), mit dem Programmspeicher (26) und mit den Ein- und Ausgabeeinheiten (4, 8, 12, 18) verbunden sind,
daß die Meß- und Steuereinheiten (31, 32) unter sich durch eine zweite Bus-Leitung (30) verbunden sind, welche über ein bidirektionelles Interface (29) an die erste Bus-Leitung (25) angeschlossen ist,
und daß die erste Bus-Leitung (25) eine Auslöseschwellenspannung für eine heraufgesetzte Datenübertragungsgeschwindigkeit aufweist und daß die zweite Bus-Leitung (30) mit Bezug auf die Auslöseschwellenspannung der ersten Bus-Leitung (25) eine um so viel höhere Auslöseschwellenspannung als die Auslöseschwellenspannung der ersten Bus-Leitung (25) aufweist, daß Störungen von elektromagnetischen Betätigungselementen der Meß- und Steuereinheiten (31, 32) eliminiert werden.
daß zwei Gruppen von peripheren Einheiten vorgesehen sind, wobei die erste Gruppe eine Reihe von Einheiten (4, 8, 12, 18) für die Ein- und Ausgabe von Daten und Programmen und die zweite Gruppe eine weitere Reihe von Einheiten (31, 32) zur Messung und Steuerung der Bewegungen des Werkzeugs und des Werkstücks enthält, daß die beiden Verarbeitungsteile (1, 2) durch die erste Bus-Leitung (25) mit dem RAM-Speicher (28), mit dem Programmspeicher (26) und mit den Ein- und Ausgabeeinheiten (4, 8, 12, 18) verbunden sind,
daß die Meß- und Steuereinheiten (31, 32) unter sich durch eine zweite Bus-Leitung (30) verbunden sind, welche über ein bidirektionelles Interface (29) an die erste Bus-Leitung (25) angeschlossen ist,
und daß die erste Bus-Leitung (25) eine Auslöseschwellenspannung für eine heraufgesetzte Datenübertragungsgeschwindigkeit aufweist und daß die zweite Bus-Leitung (30) mit Bezug auf die Auslöseschwellenspannung der ersten Bus-Leitung (25) eine um so viel höhere Auslöseschwellenspannung als die Auslöseschwellenspannung der ersten Bus-Leitung (25) aufweist, daß Störungen von elektromagnetischen Betätigungselementen der Meß- und Steuereinheiten (31, 32) eliminiert werden.
2. Steuersystem nach Anspruch 1, dadurch gekennzeichnet, daß
der erste Verarbeitungsteil (1) Führungsschaltungen
(105, 106) zur Erzeugung einer Anzahl von Steuersignalen
für einen Dialog mit dem RAM-Speicher (28), dem Programmspeicher
(26) und den peripheren Einheiten aufweist sowie weitere
Führungsschaltungen (103, 104) für den Austausch von Daten
und Adressen mit dem RAM-Speicher (28), dem Programmspeicher
(26) und den peripheren Einheiten.
3. Steuersystem nach Anspruch 2, dadurch gekennzeichnet, daß
die für den Dialog zuständigen weiteren Führungsschaltungen (103,
104) des ersten Verarbeitungsteils (1) weiterhin dazu ausgelegt
sind, über die Führungsschaltungen (105, 106) für einen
Austausch von Daten und Anweisungen
zwischen den beiden Verarbeitungsteilen (1, 2) zu
sorgen.
4. Steuersystem nach Anspruch 3, dadurch gekennzeichnet, daß
der Dialog außerdem durch Unterbrechungsbefehle (74)
die von den peripheren
Einheiten abgegeben werden, und die in unterschiedlichen
Prioritätsebenen organisiert sind, steuerbar ist.
5. Steuersystem nach Anspruch 4, dadurch gekennzeichnet, daß
die zweite Gruppe der peripheren Einheiten eine Probeneinheit
(37) aufweist, deren Unterbrechungsbefehl (74) der höchsten
Prioritätsebene angehört.
6. Steuersystem nach Anspruch 5, dadurch gekennzeichnet, daß eine Anzahl von unterschiedlichen
(Programm-)Unterbrechungen vorhanden ist, daß
Dekodierungsmittel (150-157), die aus dem Unterbrechungsbefehl (74) der peripheren Einrichtung jeweils einen Programmunterbrechungscode
erzeugen, vorgesehen sind,
und daß somit eine Anzahl von peripheren Einheiten
möglich ist, welche die Anzahl der (Programm-)Unterbrechungen überschreitet.
7. Steuersystem nach einem der Ansprüche 1 bis 6, dadurch
gekennzeichnet, daß der zweite Verarbeitungsteil (2) eine
arithmetische und logische Einheit (350) umfaßt, welche in zwei
Abschnitte unterteilt ist, nämlich in einen dezimalen Abschnitt
(351′), welcher in Serie im BCD-Code arbeitet, und einen
rein binären Abschnitt (352′), der parallel arbeitet, wobei beide
Abschnitte (351′, 352′) zur Berechnung der Mantissen und
Exponenten der Daten vorbereitet sind und wobei jeder
der beiden Abschnitte (351′, 352′) jeweils eine Recheneinheit (351, 352) und der dezimale
Abschnitt (351′) eine Registergruppe (353) für die Mantisse
und der rein binäre Abschnitt (352′) eine weitere Registriergruppe (354) für den Exponenten umfaßt und daß die beiden Abschnitte (351′, 352′)
durch ein Mikroprogramm gesteuert werden, das in einem
ROM-Speicher (310) des zweiten Verarbeitungsteils (2)
abgespeichert ist.
8. Steuersystem nach Anspruch 7, dadurch gekennzeichnet, daß
der zweite Verarbeitungsteil (2) einen Multiplexer (255)
aufweist, der durch Daten gesteuert ist, die aus der
ersten Bus-Leitung (25) und aus einem weiteren ROM-Speicher
(250) des zweiten Verarbeitungsteils (2)
stammen, und die es gestatten, eine Befehlserzeugungseinheit
(Schaltung 263) zu steuern, die ihrerseits dazu dient, Speicheradressiermittel
zu beeinflussen und die Operationscodes
entsprechend den Daten, die aus der ersten Bus-Leitung
(25) stammen, festzulegen.
9. Steuersystem nach einem der Ansprüche 1 bis 8, dadurch
gekennzeichnet, daß der zweite Verarbeitungsteil (2) durch Mikroprogramme, die in den
zwei verschiedenen ROM-Speichern (250, 310) gespeichert
sind, gesteuert wird, von denen der ROM-Speicher (310) zur Steuerung einer
Anzahl von Grundoperationen dient, während der andere ROM-Speicher (250) zur
Berechnung des Wegs des Werkzeugs in bezug auf das Werkstück
vorgesehen ist.
10. Steuersystem nach einem der Ansprüche 1 bis 9, dadurch
gekennzeichnet, daß jeder der beiden Verarbeitungsteile (1, 2) derart
ausgelegt ist, dem jeweils anderen Verarbeitungsteil (1, 2) seinen Frei- oder
Besetzt-Zustand über die gemeinsame erste Bus-Leitung (25)
anzuzeigen, und daß die beiden Verarbeitungsteile (1, 2)
auf den Frei- oder Besetzt-Zustand hin überprüft werden,
wenn die beiden Verarbeitungsteile (1, 2) miteinander
in Verbindung stehen oder den Zugriff zu
dem RAM-Speicher (28) erhalten.
11. Steuersystem nach einem der Ansprüche 1 bis 10 mit einem
Tastenfeld für die Eingabe der Steuer- und Anforderungssignale
und einem Anzeigefeld für die eingegebenen und
angeforderten Informationen, dadurch gekennzeichnet, daß
die Steuersignale nach einem dreibuchstabigen alphabetischen
Code in der Weise eingebbar sind, daß das Tasten-
und Anzeigefeld (8, 12) einen erleichterten Dialog
zwischen Operator und System ermöglichen.
12. Steuersystem nach Anspruch 11, dadurch gekennzeichnet,
daß für jeden Befehl des Tastenfelds (8) zwei oder mehr, jeweils
dreibuchstabige Abkürzungen vorgesehen sind, von denen
jede die Abkürzung des betreffenden Befehls entsprechend
dem Sprachgebrauch in zwei oder mehr nationalen Sprachen
darstellt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT67725/76A IT1062827B (it) | 1976-03-29 | 1976-03-29 | Sistema di controllo numerico per macchine utensili |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2713400A1 DE2713400A1 (de) | 1977-10-06 |
DE2713400C2 DE2713400C2 (de) | 1991-02-28 |
DE2713400C3 true DE2713400C3 (de) | 1995-05-04 |
Family
ID=11304804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2713400A Expired - Lifetime DE2713400C3 (de) | 1976-03-29 | 1977-03-24 | Numerisches Steuersystem für Bearbeitungszentren |
Country Status (7)
Country | Link |
---|---|
US (1) | US4118771A (de) |
JP (1) | JPS52142178A (de) |
DE (1) | DE2713400C3 (de) |
FR (1) | FR2346757A1 (de) |
GB (1) | GB1573217A (de) |
IT (1) | IT1062827B (de) |
SE (1) | SE441311B (de) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL7703078A (nl) * | 1977-03-22 | 1978-09-26 | Philips Nv | Inrichting voor het genereren en corrigeren van een gebruikersprogramma. |
US4320452A (en) * | 1978-06-29 | 1982-03-16 | Standard Oil Company (Indiana) | Digital bus and control circuitry for data routing and transmission |
US4215395A (en) * | 1978-08-24 | 1980-07-29 | Texas Instruments Incorporated | Dual microprocessor intelligent programmable process control system |
US4215396A (en) * | 1978-08-24 | 1980-07-29 | Texas Instruments Incorporated | Intelligent programmable process control system |
US4215398A (en) * | 1978-08-24 | 1980-07-29 | Texas Instruments Incorporated | Dual microprocessor intelligent programmable process control system with communication link |
US4215399A (en) * | 1978-08-24 | 1980-07-29 | Texas Instruments Incorporated | Special function control system for a dual microprocessor programmable process control system |
US4215397A (en) * | 1978-08-24 | 1980-07-29 | Texas Instruments Incorporated | Automatic end-of-scan control system for a programmable process controller with expandable memory |
US4281379A (en) * | 1978-12-18 | 1981-07-28 | Mcdonnell Douglas Corporation | Computer driven control system for a numerically controlled machine tool |
US4228495A (en) * | 1978-12-19 | 1980-10-14 | Allen-Bradley Company | Multiprocessor numerical control system |
US4263647A (en) * | 1979-02-07 | 1981-04-21 | Allen-Bradley Company | Fault monitor for numerical control system |
US4262336A (en) * | 1979-04-27 | 1981-04-14 | Pritchard Eric K | Multi-axis contouring control system |
US4325116A (en) * | 1979-08-21 | 1982-04-13 | International Business Machines Corporation | Parallel storage access by multiprocessors |
IT1165716B (it) * | 1979-10-11 | 1987-04-22 | Olivetti & Co Spa | Apparecchiatura di controllo numerico adattativo per macchine utensili |
JPS5717012A (en) * | 1980-07-07 | 1982-01-28 | Fanuc Ltd | Numerical controller |
US4385350A (en) * | 1980-07-16 | 1983-05-24 | Ford Aerospace & Communications Corporation | Multiprocessor system having distributed priority resolution circuitry |
JPS5757303A (en) * | 1980-09-25 | 1982-04-06 | Fanuc Ltd | Machine tool for control of numerical value |
JPS5760409A (en) * | 1980-09-30 | 1982-04-12 | Fanuc Ltd | Loading system of numerical control device |
US4413318A (en) * | 1980-11-20 | 1983-11-01 | International Business Machines Corporation | Use of nodes to uniquely identify processes |
US4443846A (en) * | 1980-12-29 | 1984-04-17 | Sperry Corporation | Dual port exchange memory between multiple microprocessors |
JPS6043757B2 (ja) * | 1981-05-06 | 1985-09-30 | 株式会社日立製作所 | 電動機の制御方法およびその制御装置 |
DE3119259A1 (de) * | 1981-05-14 | 1982-12-02 | Hornberger Maschinenbaugesellschaft mbH & Co KG, 7294 Schopfloch | Elektronische steuerung fuer holzbearbeitungsmaschinen |
US4467412A (en) * | 1981-05-18 | 1984-08-21 | Atari, Inc. | Slave processor with clock controlled by internal ROM & master processor |
JPS57191703A (en) * | 1981-05-20 | 1982-11-25 | Fanuc Ltd | Sequence controller |
JPS584405A (ja) * | 1981-07-01 | 1983-01-11 | Amada Co Ltd | 工作機械における制御方法および装置 |
US4720783A (en) * | 1981-08-24 | 1988-01-19 | General Electric Company | Peripheral bus with continuous real-time control |
US4514814A (en) * | 1982-09-07 | 1985-04-30 | General Electric Company | Multi-processor axis control |
US4573139A (en) * | 1982-09-07 | 1986-02-25 | General Electric Company | System for position sensing transducers |
US4513379A (en) * | 1982-09-07 | 1985-04-23 | General Electric Company | Customization window for a computer numerical control system |
US4566336A (en) * | 1983-06-27 | 1986-01-28 | Canadian Patents & Development Ltd. Societe Canadienne Des Brevets Et D'exploitation Limited | Navigational aid alerting system |
JPS60156109A (ja) * | 1984-01-10 | 1985-08-16 | Fanuc Ltd | 自動プログラミング機能付きνc装置 |
US4594651A (en) * | 1984-01-18 | 1986-06-10 | General Electric Company | Concurrent processor for control |
US4675803A (en) * | 1984-02-29 | 1987-06-23 | Measurex Corporation | System for processing information |
EP0207175A1 (de) * | 1985-06-01 | 1987-01-07 | Karl Mohr | Schneidemaschine mit Rechnersteuerung |
HU198345B (en) * | 1985-10-15 | 1989-09-28 | Numerik Karl Marx Veb | Hierarchical control system |
JP2834122B2 (ja) * | 1987-07-08 | 1998-12-09 | 株式会社日立製作所 | 制御装置 |
EP0357768B1 (de) * | 1988-03-14 | 1994-03-09 | Unisys Corporation | Satzverriegelungsprozessor für vielfachverarbeitungsdatensystem |
US5276806A (en) * | 1988-09-19 | 1994-01-04 | Princeton University | Oblivious memory computer networking |
DE58908739D1 (de) * | 1989-01-14 | 1995-01-19 | Gutehoffnungshuette Man | Digitales Steuer- und Regelverfahren für eine gas- oder dampfdurchströmte Turbomaschine sowie Vorrichtung zur Durchführung des Verfahrens. |
JP2916796B2 (ja) * | 1990-05-23 | 1999-07-05 | 日立精工株式会社 | 複数の工作機械を制御するcnc装置 |
ATE157180T1 (de) * | 1992-12-08 | 1997-09-15 | Siemens Ag | Modular aufgebautes steuerungssystem mit einer intelligenten untereinheit |
EP0824726A1 (de) * | 1995-04-19 | 1998-02-25 | Siemens Aktiengesellschaft | Verfahren zum betrieb einer numerischen steuerung mit zeitkritischen und nicht zeitkritischen prozessen in einem echtzeitsystem |
JP3451594B2 (ja) * | 1995-12-21 | 2003-09-29 | 株式会社森精機ハイテック | 数値制御装置における記憶手段アクセス制御方法および数値制御装置 |
US20090206787A1 (en) * | 2005-03-07 | 2009-08-20 | Mitsubishi Electric Corporation | Drive Control System and Machine Control Device |
JP6407919B2 (ja) | 2016-06-15 | 2018-10-17 | ファナック株式会社 | 数値制御装置および変数判定方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3348210A (en) * | 1964-12-07 | 1967-10-17 | Bell Telephone Labor Inc | Digital computer employing plural processors |
US3631405A (en) * | 1969-11-12 | 1971-12-28 | Honeywell Inc | Sharing of microprograms between processors |
US3746845A (en) * | 1970-08-06 | 1973-07-17 | Bendix Corp | Numerical control system |
GB1369193A (en) * | 1970-08-17 | 1974-10-02 | Doall Co | Numerical control system for machine tools |
DE2150397B1 (de) * | 1971-10-09 | 1973-03-01 | Licentia Gmbh | Numerische Arbeitsmaschinensteuerung |
US3810104A (en) * | 1972-07-31 | 1974-05-07 | Allen Bradley Co | Programmable magnetics for a numerical control system |
US3882304A (en) * | 1973-05-04 | 1975-05-06 | Allen Bradley Co | Parametric interpolation of three-dimensional surfaces |
US4058711A (en) * | 1976-04-16 | 1977-11-15 | Cincinnati Milacron Inc. | Asynchronous dual function multiprocessor machine control |
-
1976
- 1976-03-29 IT IT67725/76A patent/IT1062827B/it active
-
1977
- 1977-03-24 GB GB12498/77A patent/GB1573217A/en not_active Expired
- 1977-03-24 DE DE2713400A patent/DE2713400C3/de not_active Expired - Lifetime
- 1977-03-24 SE SE7703374A patent/SE441311B/xx not_active IP Right Cessation
- 1977-03-28 US US05/782,172 patent/US4118771A/en not_active Expired - Lifetime
- 1977-03-29 JP JP3517977A patent/JPS52142178A/ja active Pending
- 1977-03-29 FR FR7709323A patent/FR2346757A1/fr active Granted
Also Published As
Publication number | Publication date |
---|---|
US4118771A (en) | 1978-10-03 |
FR2346757B1 (de) | 1983-01-28 |
SE7703374L (sv) | 1977-09-30 |
GB1573217A (en) | 1980-08-20 |
DE2713400A1 (de) | 1977-10-06 |
SE441311B (sv) | 1985-09-23 |
DE2713400C2 (de) | 1991-02-28 |
JPS52142178A (en) | 1977-11-26 |
FR2346757A1 (fr) | 1977-10-28 |
IT1062827B (it) | 1985-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2713400C3 (de) | Numerisches Steuersystem für Bearbeitungszentren | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
EP0014850B1 (de) | Einrichtung zur Erweiterung des Standard-Makroinstruktionssatzes in einer Datenverarbeitungsanlage | |
DE2318069C2 (de) | Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix | |
DE1524209B2 (de) | Programmgesteuerte datenverarbeitungsanlage | |
DE2703394A1 (de) | Datenverarbeitungssystem | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE1474062B2 (de) | Datenverarbeitungsanlage mit einer anzahl von pufferspeichern | |
DE1178623B (de) | Programmgesteuerte datenverarbeitende Maschine | |
DE2023354A1 (de) | Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit | |
DE2524046A1 (de) | Elektronische datenverarbeitungsanlage | |
DE3727017A1 (de) | Synchronisiervorrichtung fuer prozessoren | |
DE2244170B2 (de) | Programmsteuerung zum numerischen Rechnerdirektsteuern mehrerer Werkzeugmaschinen einer Fertigungsanlage | |
EP0130269B1 (de) | Speicherprogrammierbare Steuerung | |
DE2255252C3 (de) | Schaltungsanordnung zur Steuerung einer Anzeigeeinheit | |
DE2403669C3 (de) | SpezialComputer | |
DE2609698C2 (de) | Elektronischer Rechner | |
DE2658950A1 (de) | Mikroprogrammierte verarbeitungseinheit sowie verfahren zur organisation derselben | |
DE1923917C3 (de) | Werkzeugmaschinenantriebssteuerung mittels eines Rechners | |
DE1549399A1 (de) | Verfahren und System zur grafischen Aufzeichnung von Kurvenzuegen | |
DE2317162C2 (de) | Prozeßregelanordnung | |
DE1763875A1 (de) | Werkzeugmaschinensteueranlage | |
DE4026413C2 (de) | Positionier-Steuervorrichtung | |
DE2004762A1 (de) | Übertragungsanschlussgerät | |
DE2419836C3 (de) | Schaltungsanordnung zur Durchführung von Unterprogramm-Sprungbefehlen in Datenverarbeitungsanlagen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8128 | New person/name/address of the agent |
Representative=s name: MUELLER-BOERNER, R., DIPL.-ING., 1000 BERLIN WEY, |
|
8128 | New person/name/address of the agent |
Representative=s name: WEY, H., DIPL.-ING., PAT.-ANW., 8000 MUENCHEN |
|
D2 | Grant after examination | ||
8363 | Opposition against the patent | ||
8328 | Change in the person/name/address of the agent |
Free format text: HANSMANN, A., DIPL.-WIRTSCH.-ING. VOGESER, W., DIPL.-ING. ALBER, N., DIPL.-ING. UNIV. DIPL.-WIRTSCH.-ING.UNIV STRYCH, W., DR.RER.NAT., PAT.-ANWAELTE, 81369 MUENCHEN |
|
8366 | Restricted maintained after opposition proceedings | ||
8305 | Restricted maintenance of patent after opposition | ||
D4 | Patent maintained restricted |