DE2713400C3 - Numerisches Steuersystem für Bearbeitungszentren - Google Patents

Numerisches Steuersystem für Bearbeitungszentren

Info

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
Application number
DE2713400A
Other languages
English (en)
Other versions
DE2713400A1 (de
DE2713400C2 (de
Inventor
Piero Pomella
Luciano Lauro
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Olivetti Controllo Numerico SpA
Original Assignee
Olivetti Controllo Numerico SpA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Olivetti Controllo Numerico SpA filed Critical Olivetti Controllo Numerico SpA
Publication of DE2713400A1 publication Critical patent/DE2713400A1/de
Application granted granted Critical
Publication of DE2713400C2 publication Critical patent/DE2713400C2/de
Publication of DE2713400C3 publication Critical patent/DE2713400C3/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4148Structure 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33162Two bus, high speed and low speed bus, linked or not
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34034Multiplier, prm, brm
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34215Microprocessor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34236Multiplex for servos, actuators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/42Servomotor, servo controller kind till VSS
    • G05B2219/42256Sampling 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.
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.
DE2713400A 1976-03-29 1977-03-24 Numerisches Steuersystem für Bearbeitungszentren Expired - Lifetime DE2713400C3 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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