DE2138560B2 - Vorrichtung zur numerischen programmsteuerung - Google Patents
Vorrichtung zur numerischen programmsteuerungInfo
- Publication number
- DE2138560B2 DE2138560B2 DE19712138560 DE2138560A DE2138560B2 DE 2138560 B2 DE2138560 B2 DE 2138560B2 DE 19712138560 DE19712138560 DE 19712138560 DE 2138560 A DE2138560 A DE 2138560A DE 2138560 B2 DE2138560 B2 DE 2138560B2
- Authority
- DE
- Germany
- Prior art keywords
- block
- program
- subroutine
- computer
- switch
- 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.)
- Withdrawn
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
-
- 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/4093—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 characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
-
- 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/35—Nc in input of data, input till input file format
- G05B2219/35436—Means, manual input, input reference, hand wheel
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Geometry (AREA)
- Numerical Control (AREA)
Description
Die Erfindung betrifft eine Vorrichtung zur numerischen Programmsteuerung einer Werkzeugmaschine
mit einem Eingabegerät zum zeichenweisen Einlesen der auf einem Datenträger bereitgestellten und den
einzelnen Arbeitsschritten entsprechenden Teilprogramme, wobei die Zeichen eines Teilprogramms an
eine Einrichtung übertragen werden, die einen programmierbaren Digitalrechner mit einem über den
Rechner adressierbaren Speicher enthält, in dem mindestens ein Teilprogramm aus dem Datenträger vollständig
eingespeichert wird, welcher Digitalrechner eine Korrektur der Zeichen der Teilprogramme nach
Maßgabe von Hand eingegebener Korrekturbefehle ermöglicht, welche Einrichtung in Abhängigkeit der
so korrigierten Zeichen Befehlssignale an die Servoantriebe der Werkzeugmaschine abgibt.
Eine derartige Vorrichtung ist in der Zeitschrift »Regelungstechnik und Prozeß-Datenverarbeitung«,
Band 18 (1970) Seiten 293 bis 297 beschrieben. Bei ihr ist ein Digitalrechner zur Steuerung einer Mehrzahl
von Werkzeugmaschinen vorgesehen. Die im Speicher des Digitalrechners stehenden Teilprogramme
können von der Werkzeugmaschine her bezüglich Nullpunktsvcrschiebungen und Abmessungsänderungen des verwendeten Werkzeugs durch
Eingaben entsprechender Korrekturbefehlc von Hand angepaßt werden.
Aus dem Buch von W. Simon »Die numerische
Steuerung von Werkzeugmaschinen«, Carl Hanser-
Verlag München 1963. Seiten 182 bis 185 und 26Ü ein neues Teilprogramm wird einfach dadurch erstellt,
bis 261 ist terner bekannt, im Speicher eines Digital- daß die Änderungsbefehle und Änderungsdaten über
rechnen häufig wiederkehrende Bewegungsabläufe in die Schalter des Steuerpults eingegeben werden. Es
Form von Unterprogrammen abrufbar bereitzuhalten. ist nicht nötig, den Lochstreife α neu zu schneiden oder
Eine weitere Vorrichtung zur numerischen Pro- 5 zwei oder mehrere Lochstreifen herzustellen, wenn
grammsteuerung ist in dem Buch von S. Lude r -Die nur gelegentliche Änderungen auf ihnen erforderlich
numerische Steuerung von Werkzeugmaschinen«, sind.
Seiten 2i bis 23 beschrieben. Dort wird von Hand Die der Erfindung zugrundeliegende Aufgabe ist
der Durchmesser des jeweils verwendeten Werkzeugs demgemäß darin zu sehen, die Korrektur der Teilproar.
die Servoantriebe ansteuernaen Interpolatoren io gramme möglichst frühzeitig im Ablauf der numerieingegeben.
Das Ausgangssignal der Interpolatoren sehen Bearbeitung vorzunehmen und damit eine Vie I-kann
zur Berücksichtigung einer NuIIpunktverschie- seitigkeit von Korrekturmoglichktiten zu erreichen,
bung des Werkzeugs noch zusatzlich modifiziert wer- Diese Aufgabe ist erfindungsgemäß bei der Vorrich-"entung
der eingangs beschriebenen Art gelöst durch ein
Mit den bekannten Vorrichtungen zur numerischen 15 Steuerpult mit mehreren betätigbaren Eingabeeinhei-Programmsteuening
ist jedoch nur eine begrenzte ten für die Korrekturbefehle, von denen eine erste
Einflußnahme auf den Ablauf des auf dem Datenträ- zur Einleitung einer Korrektur unterbrechungsbeger
aufgezeichneten Programms möglich. rechtigte Gruppe von Schaltern über einen ersten Satz
Aufbauend auf diesem Stande der Technik besteht von Toren und eine zweite zur Korrekturdateneingabe
die Erfindung in der Ausgestaltung der Übertragung 20 vorgesehene Gruppe von Schaltern über einen zweider
Daten eines Teilprogramms von einem nicht an- ten Satz von Toren mit dem Rechner in Verbindung
derbaren bzw. nicht aufbereitbaren Speichermedium, steht, eine erste Programmiereinrichtung im Rechner,
wie einem Lochstreifen, an einen adressierbaren Spei- die auf die Signale der betätigbaren Eingabeeinheiten
eher, wie einem Magnetspeicher, Magnetband, Trom- zur Änderung der Zeichen des vollständig eingespeimel-
oder Plattenspeicher und dem anschließenden 25 cherten Teilprogramms anspricht, eine zweite Pro-Wiederauffinden
der Teilprogrammdaten im Speicher grammiereinrichtung zur selektiven Betätigung des
zu ihrer Verarbeitung durch eine von einem digitalen ersten und zweiten Satzes von Toren und Schaltern
Rechner gesteuerte Werkzeugmaschine. Dieser ar- in Abhängigkeit von einem Vorrang, um die Signale
beitet vorzugsweise mit Programmunterbrechung. von den betätigbaren Eingabeeinheiten einzugeben.
Dabei haben Geräte zur Datenübertragung ein- 30 und durch eine Vorrangschaltung, die ausschließlich
schließlich der Interpolatoren und der Steuerpult- zwischen der ersten Gruppe von Eingabeeinheiten
schalter eine Befähigung zur Programmunterbre- und dem Rechner zur Festlegung des Vorrangs in Abchung,
um eiern Rechner die Notwendigkeit der hängigkeit von der Betätigung der Eingabeeinheiten
Übermittlung von Teilprogrammdaten zu melden. der ersten Gruppe geschaltet ist, wobei das Auslesen
Den verschiedenen Geräten, die ein Unterbrechungs- 35 der Zeichen des geänderten Teilprogramms aus dem
signal erzeugen können, sind Vorrangstufen zugeord- Speicher vom Rechner überwacht wird,
net. Außerdem ist der Rechner programmiert, daß er Mit der erfindungsgemäßen Vorrichtung ist es sehr
net. Außerdem ist der Rechner programmiert, daß er Mit der erfindungsgemäßen Vorrichtung ist es sehr
letztlich automatisch auf Programme bzw. Unterpro- einfach, ein Teilprogramm an die jeweiligen Bearbeigramme
ohne Vorrang herabsteigt, von denen eines tungserfordernisse wie verarbeitetes Material und
die Abtastung der Schalter des Steuerpults ist. Diese 40 Werkzeugabmessungen anzupassen. Auch ProSchalter dienen zur Eingabe von Buchstaben und grammänderungen, die zu einer anderen Formgebung
Zahlen zur Anzeige- als auch zu Programmände- des Werkstücks führen, sind einfach durchzuführen,
rungszwecken. Ein automatisch eingegebenes erstes Dabei braucht kein neuer Datenträger erstellt zu wer-Unterprogramm
arbeitet in Abhängigkeit von be- den, was zeitraubend und kostspielig ist.
stimmten Steuerpultschaltern ohne Programmunter- 45 Da das erfindungsgemäß vorgesehene Steuerpult brechungsbefähigung und von bestimmten Schaltern mehrere Gruppen von Schaltern aufweist, von denen des Steuerpults mit Programmunterbrechungsbefähi- nur eine zur Unterbrechung des Betriebs des Rechners gung, um ein gewünschtes Teilprogrammzeichen zu befähigt ist und zur Weitergabe des am Steuerpult ersuchen und zur Anzeige zu bringen, sei es ein Buch- zeugten Unterbrechnungssignals eine Vorrangschalstabe oder einf. Zahl. Ein anderes Unterprogramm 50 tung vorgesehen ist, ist eine Störung des Bearbeiwird nur in Abhängigkeit von einer bestimmten tungsvorgangs durch falsche Dateneingabe oder Drucktaste mit Programmunterbrechungsbefähigung versehentliches Betätigen eines Steuerpultschalters eingegeben, um sowohl Such- als auch Änderungsauf- praktisch ausgeschlossen.
stimmten Steuerpultschaltern ohne Programmunter- 45 Da das erfindungsgemäß vorgesehene Steuerpult brechungsbefähigung und von bestimmten Schaltern mehrere Gruppen von Schaltern aufweist, von denen des Steuerpults mit Programmunterbrechungsbefähi- nur eine zur Unterbrechung des Betriebs des Rechners gung, um ein gewünschtes Teilprogrammzeichen zu befähigt ist und zur Weitergabe des am Steuerpult ersuchen und zur Anzeige zu bringen, sei es ein Buch- zeugten Unterbrechnungssignals eine Vorrangschalstabe oder einf. Zahl. Ein anderes Unterprogramm 50 tung vorgesehen ist, ist eine Störung des Bearbeiwird nur in Abhängigkeit von einer bestimmten tungsvorgangs durch falsche Dateneingabe oder Drucktaste mit Programmunterbrechungsbefähigung versehentliches Betätigen eines Steuerpultschalters eingegeben, um sowohl Such- als auch Änderungsauf- praktisch ausgeschlossen.
gaben zu übernehmen. Somit kann die Bedienungs- Weiterhin ist vorgesehen, daß die Auswahl des zu
person durch Löschungeines Zeichens, Änderung ei- 55 bearbeiteten Teilprogramms, die Einstellung der genes
Zeichens oder Hinzufügung neuer Zeichen aus wünschten Betriebsart der Vorrichtung, die Eingabe
dem Lochstreifen ein Teilprogrammzeichen entweder von Befehlen und die Eingabe von Zahlen durch
zur Anzeige bringen oder abändern. Wenn Zeichen Schalter erfolgt, bei denen die Zahl der unterschiedligelöscht
werden, dann wird der Teilprogrammspei- chen Schaltstellungen der Zahl der unterschiedlich
eher entsprechend auf den neuesten Stand gebracht, 60 einzugebenden Größen entspricht. So hat z. B. ein Beum
die durch die Löschung eines Zeichens oder eines fehlseingabeschalterso viele Schaltstellungen, wie unganzen
Datenblocks entstehende Lücke zu schließen. terschiedliche über das Steuerpult zu verarbeitende
Wenn ein Zeichen oder ein Datenblock eingegeben Befehle vorgesehen sind (es versteht sich, daß mowerden
soll, dann wird das Teilprogramm entspre- montan noch nicht bcntötigte Schaltstellungen für eine
chend auseinandergezogen, damit Teilprogrammda- s5 spätere Erweiterung des Befehlsvorrates vorgesehen
ten dazwischen eingefügt werden können. Somit läßt sein können), und ein Tastenfeld zur Eingabe von
sich das Teilprogramm schnell und leicht ändern, so- Zahlen hat elf Tasten zur Eingab., der Ziffern 0 bis
lange es im adressierbaren Speicher des Rechners ist; 9 und des Minuszeichens. Hie;durch wird eine sichere
Eingabe der Korrekturbefehle durch die Bedienungsperson sichergestellt, ohne daß diese mit der binären
Darstellung von Zeichen vertraut zu sein brauchte. In weiterer vorteilhafter Ausgestaltung der Erfindung
ist ein Kodierer zum Umsetzen der Schaltstellungen in entsprechende Zeichen im Lochstreifencode vorgesehen.
Damit verarbeitet die erfindungsgemäße Vorrichtung intern durchgängig im Lochstreifencode dargestellte
Zeichen.
Es ist auch vorgesehen, daß die Eingabeeinheiten selbst nur rechnerseitig über entsprechende Aktivie
rungsschaltungen aktiviert werden können und andererseits auch nur auf Befehl des Rechners über ihnen
zugeordnete Torschaltungen mit der Eingabesammelleitung des Rechners verbindbar sind. Hierdurch wird
die Betriebssicherheit der erfindungsgemäßen Vorrichtung noch einmal verbessert.
Die Änderung eines Teilprogramms durch manuelle
Eingabe von Korrekturbefehlen erfordert auch die Ausgabe von Daten an die Bedienungsperson wie
der Nummer des jeweils betrachteten Blockes, der zu ändernden oder schon geänderten Programmdaten,
des Steuerzustandes der Vorrichtung, von Fehlermeldungen und dergleichen mehr.
Hierfür ist eine Mehrzahl von Anzeigefeldern vorgesehen, an denen die interessierenden Daten automatisch
und gleichzeitig angezeigt werden. Damit entfällt das umständliche Abfragen einzeln auszuwählender
Speicherzellen und das Notieren ihres Inhalts.
Ein Irrtum über den momentanen Stand eines Teilprogramms oder den momentanen Betriebszustand
der Vorrichtung kann leicht zu falschen Änderungen des Teilprogramms führen. Deshalb sind die Anzeigefelder
durch Leuchtröhren gebildet. Damit ist es auch dem mit der binären Zeichendarstellung nicht oder
wenig Vertrauten möglich, die für die von ihm zu tätigenden Eingaben zu berücksichtigenden, vom Rechner
ausgegebenen Informationen mühelos und fehlerfrei abzulesen.
Im folgenden wird die Erfindung an Hand eines Ausführungsbeispiels und unter Bezugnahme auf die
Zeichnung näher erläutert. In dieser zeigt
Fig. 1 ein Blockschaltbild einer erfindungsgemäßen Vorrichtung,
Fig. 2 eine Ansicht eines Steuerpults einer erfindungsgemäßen Vorrichtung,
Fig. 3 ein Schaltbild, in dem die Eingabeeinheiten
der erfindungsgemäßen Vorrichtung nach Fig. 1 und ihre Verbindung mit dem Rechner dargestellt ist,
Fig. 4 ein Schaubild, an Hand dessen das Arbeiten des Rechners erläutert wird,
Fig. 5 einen Ausschnitt aus den aufeinanderfol genden Programmdaten, so wie sie auf dem Lochstreifen
und im Speicher angeordnet sind,
Fig. 6 ein Flußdiagramm eines zur Zeichensuche
und Zeichenanzeige verwendeten Unterprogramms,
Fig. 6a bis 6 j Flußdiagramme weiterer im Unterprogramm der Fig. 6 verwendeter Unterprogramme,
Fig. 7 ein Flußdiagramm eines zur Programmändeniflg verwendeten Unterprogramms,
Fig. 7a bis 7 i Flußdiagramme weiterer im Unterprogramm der Fig. 7 verwendeter Unterprogramme,
Fig. 8 ein Finfidiagramm eines Unterprogramms
zum Starten des Lochstreifenlesers,
Fig. 9 ein Flußdiagramm eines Unterprogramms
zum Auslesen von Zekhen vom Lochstreifen und zum Anhalten des Locnstreffenlesers,
zur Weitergabe von Zeichen aus dem Speicher an die Interpolatoren und
Fig. 10a ein Flußdiagramm eines in dem Unterprogramm
der Fig. 10 verwendeten Unterprogramms.
Die maschinentechnischen Teile der erfindungsgemäßen Vorrichtung sind in Fig. 1 dargestellt. Sie umfassen
einen herkömmlichen Lochstreifenleser 10, ein elektrooptisches Gerät mit acht Kanälen zum Auslesen
der Acht-Bit-Zeichen eines herkömmlichen Lochstreifens 12 mit dem Teilprogramm für die numerische
Steuerung. Das Teilprogramm auf dem Lochstreifen 12 umfaßt alphanumerische Zeichen im
Binärkode, wobei ein gestanztes Loch eine »Eins« und die Abwesenheit eines Lochs eine »Null« bedeutet.
Die Zeichen sind in seriellen Blöcken angeordnet. Das erste Zeichen eines Blocks ist normalerweise die
Block- oder Folgenummer und das letzte Zeichen ein das Ende des Blocks anzeigender Kode, der aus einem
gestanzten Loch im achten Kanal gemäß der herkömmlichen Normung für numerische Steuerungen
besteht. Der Lochstreifenleser 10 tastet diese Lochanordnungen ab und setzt die Acht-Bit-Zeichen des
Teilprogramms in elektrische Impulse um, die über
eine Ausgangsleitung 14 parallel, d.h. gleichzeitig jeweils acht Bits, an den programmierbaren Digitalrechner
16 übertragen werden, dessen adressierbarer Magnetkernspeicher 18 vorzugsweise ein energieunabhängiger
Speicher ist. Natürlich können ebenfalls Plattenspeicher, Trommelspeicher und andere Speichereinrichtungen
verwendet werden. Bei Betätigung des Lochstreifenlesers 10 wird das Teilprogramm auf
dem Lochstreifen 12 durch den Rechner 16 an den Speicher 18 übertragen, wo es in Binärform gespei-
chert wird. Die Kapazität des Speichers 18 soll vorzugsweise für zwei oder mehr vollständige Teilprogramme
ausreichen, wobei jedes Teilprogramm durch eine eigene Zahlenadresse gekennzeichnet wird.
Der Rechner 16 wird durch ein Steuerpult 20 mit
einer Anordnung von Anzeigegeräten und Schaltern einschließlich Drucktasten und Rändelradschaltern
gesteuert (Fig. 2). Vom Steuerpult 20 werden die Daten in der Form von acht Bit-Bytes über eine Eingabesammelleitung
22 an den Rechner 16 übertragen.
Der Rechner 16 steuert den Fluß der Teilprogrammdaten vom Speicher 18 zu einer aus acht Leitungen
bestehenden Ausgabesammelleitung 24, die mit einem oder mehreren Interpolatoren 26 verbunden
ist. Die Interpolatoren sind vorzugsweise in der
Form von herkömmlichen Differentialanalysatoren (DDA) ausgebildet und geben Befehlsimpulse ab, deren
Zahl proportional den einzelnen Achsenbefehlen ist und deren Frequenz proportional dem Sollvor
schub ist, alles Merkmale, die allgemein bekannt sind.
Von den Interpolatoren 26 gelangen die Befehlsim
pulse an die phasenanaloge Servosteuerung 28, die die Versetzung oder Verstellung der in verschiedenen
Achsen verfahrbaren Schlitten der Werkzeugmaschine 30 in herkömmlicher Weise bewerkstelligt. Die
Schütten sind mit Hilfe geeigneter Wandler einschließlich von Funktionsdrehmeldern und anderen
phasenanalogen Geräten über eine Rückführungsleitung 32 an die Servosteuerung 28 angeschlossen.
Die Anlage der Fig. 1 ist vorzugsweise für aufoma-
rechen Betrieb ausgelegt, wobei die Daten einesteflprogramms seriell, also nacheinander vom Speieher
18 an die Interpolatoren 26 und von dort zur Servosteuerung 28 übertragen werden, um das Teu^ro-
gramm durchzuführen. Um den Datenfluß des Teilprogramms aufrechtzuerhalten, haben die Interpolatoren
26 eine Befähigung zur Programmunterbrechung, d.h. sie können ein Signal erzeugen, das den
Bedarf für einen weiteren Datenblock aus dem Teilprogramm anzeigt, damit das Teilprogramm weiterhin
durchgeführt werden kann. Dieses Signal gelangt über eine Unterbrechun^ssignalleitung 34 an den Rechner
16. Nachdem die Interpolatoren durch den Rechner 16 als Quelle des Unterbrechungssignals auf der Leitung
34 erkannt worden sind, startet der Rechner 16 ein vorprogrammiertes Unterprogramm zur Bedienung
der Interpolatoren 26. Durch dieses Unterprogramm wird ein neuer Datenblock vom Speicher 18
an die Interpolator η 26 über die Ausgabesammelleitung 24 übertragen Die Unterbrechungssignale können
auch durch bestimmte Schalter im Steuerpult 20 erzeugt werden.
Zwischen die unterbrechungssignalgebenden Interpolatoren
26 und das Steuerpult 20 ist eine Vorrangschaltung 36 geschaltet, durch welche die Reihenfolge
der Berücksichtigung der Unterbrechungssignale durch den Rechner 16festgelegt wird. Das heißt,
das Unterbrechungssignal selbst gib« keinen Aufschluß
über seinen Ursprung, sondern zeigt einfach an, daß eines der externen Geräte zur Abgabe oder
Übernahme von Daten bereit ist. Für den Rechner 16 ist die Vorrangschaltung 36 eine vollkommen externe
Einrichtung, welche die Reihenfolge bestimmt, in welcher die Interpolatoren 26 und die Schalter des
Steuerpults durch den Rechner 16 abgetastet und bedient werden.
Die Einzelheiten des Steuerpults 20 sind in Fig. 2 gezeigt, wobei über dieses Steuerpult 20 Teilprogrammdaten
von Hand in den Speicher 18 der Fig. 1 eingegeben oder auch in ihm gelöscht werden können;
ferner können die Daten des Teilprogramms von Hand verändert werden und bestimmte Daten dieses
Teilprogramms zur Anzeige gebracht werden. Das Steuerpult 20 hat eine zu seiner Oberfläche bündige
Plexiglasscheibe 38, hinter welcher eine sechsstellige, aus Leuchtröhren bestehende Steuerzustandsanzeige
40, eine sechsstellige, aus Leuchtröhren bestehende Programmodusanzeige 42, eine dreistellige Block nummer
44, eine zweistellige Anzeige 46 für die Werkzeugversetzung und eine achtstellige Datenanzeige
48 untergebracht ist. Die hier beschriebenen maschinentechnischen Teile und Geräte zur Übertragung
der Teilprogxammdaten arbeiten mit einer Kapazität von acht Bit, damit sie dem herkömmlichen,
genormten Achtkanal-Lochstreifen für das Teilprogramm entsprechen. Es sei jedoch betont, daß mehr
oder weniger Kanäle je nach dem jeweils benutzten Teilprogrammformat verwendet werden können.
Weiter enthält das Steuerpult 20 eine Drucktaste 49 zum Laden des Lochstreifens und einen Betriebsartenschalter 50 mit fünf oder mehr Stellungen einschließlich der Stellungen für die Dateneingabe, der
Blocksuche und der Programmänderung. Sodann umfaßt das Steuerpult 20 eine Reihe von Rändelradschal tern 52,54,56,58,60 und 62 mit den zugeordneten Skalenrädern 64,66,68,70, 72 und 74. Um den
Umfang des Skalenrades 64 herum sind in Abständen verschiedene Buchstaben aufgedruckt, die Befehlsadressen darstellen, welche durch die entsprechende
Drehung des Rändelradschalters 52 gewählt werden können. Zum Beispiel steht die Befehlsadresse N für
eine Block- oder Folgenummer, X für eine Steuer-
achse, Z für eine andere Steuerachse, F für den Vorschub,
T für die Werkzeugverstellung usw. Der Rändelradschalter 54 und das Skalenrad 66 dienen zui
Wahl der Stellungsanzeige, und die anderen Rändelradschalter sind mit den entsprechenden Bezeichnungen
versehen, aus denen ihre Funktionen hervorgehen. Ferner umfaßt das Steuerpult 20 den Eingabe-
und Anzeigeschalter 76 mit fünf Schaltstellungen und das Tastenfeld 78 für dreizehn Drucktasten zur Ein-
ίο gäbe von numerischen Daten, wie nachstehend nähei
erläutert wird. Die Drucktasten des Tastenfeldes 78 dienen zur Auslösung der Unterbrechungssignale aul
der Leitung 34, die in Verbindung mit der Beschreibung der Fig. 1 bereits erwähnt wurde.
In Fig. 3 ist ein bevorzugter Stromlaufplan zwischen den Schaltern des Steuerpults 20 und dem
Rechner 16 gezeigt. Die Schalter der Fig. 3 sind in drei Gruppen von jeweils acht Schaltern eingeteilt,
wobei die Schalter Sl bis 58 die erste Gruppe, die Schalter 59 bis 516 die zweite Gruppe und die Drucktasten
517 bis 524 die dritte Gruppe darstellen. Die Achtergruppen wurden gewählt, um der aus acht Leitungen
bestehenden Eingabe-Sammelleitung 22 des Rechners 16 zu entsprechen, wobei eine andere
Gruppe von Drucktasten erforderlich ist, um die anderen fünf Drucktasten des Tastenfeldes 78 zu bedienen.
Für den Rechner 16 dienen die verschiedenen Achtergruppen von Schaltern jeweils als ein einziges
Dateneingabegerät zur Eingabe von aus acht Bits bestehenden Wörtern, wobei die Zahl »Eins« für jeden
Schalter an einer anderen Bitstelle steht. Die Schalter 51 bis 516 sind nicht zur Programmunterbrechung
befähigt, sondern werden durch den Rechner 16 mit niedriger Vorrangstufe abgetastet. Wie nachstehend
näher erläutert wird, können die Schalter 517 bis 524 eine Programmunterbrechung herbeiführen.
Die Schalter 51, 59 und 517 sind über einen Leitungsempfänger
80 an die Eingabe-Sammelleitung 22 des Rechners angeschlossen, wobei der Leitungsempfänger
einfach ein RC-Filter und Amplitudenwandler ist, damit an den Schaltkontakten hohe Spannungen
anliegen können und damit ein mögliches Schalterprellen und andere Störungen des Eingabesignals vermieden
werden. Die Schalter 52, 510 und 518 sind an einen zweiten Leitungsempfänger 82 und die
Schalter 58. 516 und 524 an einen dritten Leitungsempfänger 84 angeschlossen. Es ist zu beachten, daß
die nicht gezeigten Schalterkombinationen (z.B. 53, 511 und 519) ebenfalls an nicht gezeigte einzelne Lei-
tungsempf anger angeschlossen sind. Über Tore 86,88
und 90 werden die Signale der Leitungsempfänger 80, 82 und 84 den einzelnen Leitungen der Eingabesammelleitung
22 aufgeschaltet, wobei ein Eingang dieser Tore mit dem zugeordneten Leitungsempfänger und
ein anderer Eingang an die Ausgangsleitung eines UND-Tores 92 angeschlossen ist. Auf einer Eingangsleitung 94 des Tores 92 liegt das Taktsignal des
Rechners 16 an und auf einer zweiten Eingangsleitung 96 das Signal eines Adressendekodierers 98, der seine
Signale von einem Adressenregister 100 empfängt, welches wiederum vom Rechner 16 gesteuert wird.
Wenn an beiden Eingängen des Tores 92 hochpegelige Signale anliegen, so werden die Tore 86, 88 und 90
angesteuert und übertragen von den Leitungsempfän-
gern 80,82 und 84 ein Acht-Bit-Wort an den Rechner
16. Für den mit einem geschlossenen Schalter verbundenen Leitungsumpfänger wird eine »Eins« an die
Eingabesammelleitung 22 übertragen und für den an
6 09 523/52
einen offenen Schalter angeschlossenen Leitungsempfänger wird eine »Null« an die zugeordnete Leitung
in der Eingabesammelleitung 22 übertragen.
Zur Vervollständigung der Einrichtungen, durch welche die Schaltergruppen angewählt werden, sind
die Schalter Sl bis 58 der ersten Gruppe mit einem Schalteransteuerverstärker 102 verbunden, der durch
Umschaltung eines bistabilen Triggerkreises in der Form eines Flip-Flops 104 beaufschlagt wird. Ebenso
sind die Schalter 59 bis 516 der zweiten Gruppe gemeinsam an einen Schaltersteuerverstärker 106 geführt,
der durch ein Flip-Flop 108 beaufschlagt wird. Schließlich sind die Schalter 517 bis 524 der dritten
Gruppe an einen Schalteransteuerverstärker 110 angeschlossen, dessen Schaltzustand durch ein Flip-Flop
112 gesteuert wird. Die Flip-Flops 104,108 und 112
schalten der Reihenfolge nach um, wodurch die Schaltergruppen seriell abgetastet werden, d.h. es werden
über die Eingabesammelleitung 22 die digitalen Daten seriell von den Schaltergruppen an den Rechner 16
übertragen. Um dies durchzuführen, liegen zwei Taktsignale an einem Koinzidenztor 114 an, dessen
Ausgang an einen Eingang eines UND-Tores 116 geführt ist. Der andere Eingang des UND-Tores 116
ist an die erste Ausgangsleitung der Ausgabesammelleitung 24 des Rechners 16 angeschlossen. Wenn an
beiden Eingängen des Tores 116 hochpegelige Signale anliegen, dann wird das Flip-Flop 104 angesteuert und
erzeugt ein Ausgangssignal zur Anschaltung des Schalteransteuerverstärkers 102. Das gegenpolige,
von der Ausgabesammelleitung 24 her am Tor 116 anliegende Signal gelangt an ein Löschtor 118 und
löscht das Flip-Flop 104, so aaß an dessen Ausgang ein Signal »Null« anliegt. In der gleichen Weise sind
UND-Tore 120 und 124 geschaltet, um die Flip-Flops 108 und 112 auf den Zustand »Eins« umzuschalten,
und UND-Tore 122 und 126 dienen zu Löschzwekken. Wenn somit der Rechner 16 das Wort 10000000
ausgibt, dann wird das Flip-Flop 104 umgeschaltet, wenn das Leitwerk 16 das Wort 01000000 ausgibt,
dann wird das Flip-Flop 108 umgeschaltet und wenn das Leitwerk das Wort 00100000 ausgibt, dann wird
das Flip-Flop 112 umgeschaltet.
Wie in Fig. 3 gezeigt, unterscheiden sich die Schalter
517 bis 524 von den Schaltern der ersten beiden Gruppen darin, daß hier für jeden Schalter zwei Kontaktsätze
verwendet sind. Der linke Kontaktsatz (Fig. 3) dient, wie vorstehend erläutert, als eigentliches
Dateneingabegerät. Eine Seite der rechten Kontaktsätze der Anordnung der Fig. 3 ist gemeinsam an
Masse geführt und die andere Seite ist gemeinsam an den Anschalteingang eines Flip-Flops 128 angeschlossen.
Das zu dem am Anschalteingang anliegende entgegengesetzt gepolte Signal gelangt zu
Löschzwecken an den Löscheingang. Die Ausgangssignale »Eins« und »Null« des Flip-Flops 128 gelangen
direkt an den Anschalt- und Löscheingang eines Flip-Flops 130. Außerdem liegt das Ausgangssignal
»Eins« des Flip-Flops 128 und das Ausgangssignal »Null« des Flip-Flops 130 an je einem eigenen Eingang eines UND-Tores 132 an, dessen Ausgangssignal
an den Anschalteingang eines dritten Flip-Flops 134 geführt wird. Das Ausgangssignal »Eins« des FHp-Flöps 134 gelangt über ein ODER-Tor 136, das ein
Teil der Vorrangschaltung 36 der Fig. 1 ist, an die Unterbrechungssignalleitung 34, die es an den Rechner 16 weiterleitet. Da die beiden Flip-Flops 128 und
130 taktgebergesteuert sind, liegen an den beiden
Eingängen des Tores 132 während des Intervalls zwischen zwei aufeinanderfolgenden Taktgeberzyklen
hochpegelige Signale nach dem Empfang eines Signals auf der Leitung von einem der rechten Kontakte der
Schalter 517 bis 524 an. Während dieses Intervalls wird das Flip-Flop 134 auf den Zustand »Eins« umgeschaltet
und erzeugt auf der Leitung 34 ein Unterbrechungssignal. Während sich das Flip-Flop 134 im
Schaltzustand »Eins« befindet, gelangt über eine Leitung 140 zusammen mit einem Taktsignal des Rechners
16 auf einer Leitung 144 ein Signal an das Tor 142 und beaufschlagt eine Anzahl von ODER-Toren
146, um die Adresse der Drucktasten des Tastenfeldes 78 an den Rechner 16 zu übertragen. Durch die Anschaltung
des Tores 142 wird auch ein Tor 148 beaufschlagt und löscht das Flip-Flop 134. Somit werden
durch das Niederdrücken einer der Drucktasten 517 bis 524 nicht nur Daten an den Rechner 16 (über
die Leitungsempfänger 80, 82 und 84) übertragen, sondern es wird auch über das Flip-Flop 134 ein Unterbrechungssignal
erzeugt, wodurch dem Rechner das Anstehen von Daten gemeldet wird. Außerdem kann durch das Umschalten des Flip-Flops 134 zusammen
mit dem Bestätigungssignal auf der Leitung 144 die Adresse der Drucktastengruppe an den Rechner
16 über das Tor 146 übertragen werden, womit die Quelle der von Hand an den Rechner 16 übertragenen
Daten gekennzeichnet ist.
Der Rändelradschalter 52 der Fig. 2 für die Befehlsadresse
besteht eigentlich aus einer Anzahl von Einzelschaltern 51 bis 58, wobei jeder Schalter einer
anderen Drehstellung des Rändelrads entspricht, und diese Stellung wiederum entspricht einem anderen
Buchstaben für die Befehlsadresse. Typische Buchstäben für die Befehlsadresse sind N für die Blocknummer,
F für den Vorschub, G für eine vorbereitende Funktion, / für den Abstand zum Bogenmittelpunkt
gemessen parallel zu x, S für die Spindeldrehzahl, 7"für Werkzeugfunktionen, X für den Direktweg
bzw. die Direktabmessung der Hauptbewegung in der A'-Achse und Z für den Weg bzw. die Abmessung
der Hauptbewegung in der Z-Achse.
In Fig. 4 ist der Aufbau des Hauptsteuerprogramms der Gerätegruppe nach der h ig. 1 gezeigt.
Dieses enthält ein Organisationsprogramm 401, dessen Aufgabe es ist, die Unterbrechungssignalleitung
34 über die Vorrangschaltung 36 der Fig. 1 anzuschalten und das Unterprogramm mit der höchsten
Priorität zu laden. Das Hauptsteuerprogramm enthält vier Routinen 402,404,406 und 408 mit hohem Vorrang
und vier Routinen 410, 412, 414 und 416 mit niedriger Priorität. Im allgemeinen verläuft die den
Routinen 402 bis 408 zugeordnete Priorität von der höchsten zur niedrigsten, wobei die Routinen 402 bis
408 während der Durchführung nicht unterbrochen werden und die Routinen 410 bis 416 während ihrer
Durchführung unterbrochen werden können, jedoch nur durch eine der Routinen 402 bis 408. Somit schalten die Routinen 402 bis 406 die Unterbrechungssignale 34 durch entsprechende Übertragung von Si
gnalen an die Vorrangschaltung 36 ab. Die Routinen 410 bis 416 besitzen diese Abschaltmöglichkeit nicht
Die erste Routine 402 ist ein Unterprogramm zum Auslesen der Programmdaten vom Lochstreifenleser
10 zur Speicherung im Speicher 18. Die zweite Routine 404 triggert das Auslesen der Zeichen vom Speicher 18 und wird normalerweise mit einer Geschwindigkeit ausgeführt, die der Taktgeschwindigkeit
proportional ist, wobei diese Geschwindigkeit so gewählt ist, daß ein Datenblock normalerweise für die
Interpolatoren 26 bereitsteht, wenn ein Unterbrechungssignal von den Interpolatoren über die Vorrangschaltung
36 empfangen wird und den Bedarf an zusätzlichen Daten anzeigt. Außerdem erfüllt die
zweite Routine die Aufgabe der Abtastung eines externen Taktsignals, um Achsenbefehle an einen kumulierenden
Achsenbefehlzähler im Rechner 16 zu übertragen. Die dritte Routine 406 ist ein Unterprogramm
zur Bedienung der Interpolatoren 26 und umfaßt die Übertragung eines Datenblocks vom Zwischenspeicher
eines Registers im Rechner 16 an die Interpolatoren zur Erzeugung von Befehlsimpulsen.
Die vierte Routine 408 ist dem Unterprogramm zur Auslesung der Daten von den Drucktasten des Tastenfeldes
78 der Fig. 3 in Abhängigkeit von einem
Unterbrechungssignal zugeordnet. Der letzte Befehl in jeder der vier Routinen 402 bis 408 ist ein Rücksprungbefehl
zum Organisationsprogramm 401. Ent- ao sprechend besteht der erste Schritt des Organisationsprogramms 401 in der Anschaltung der Unterbrechungssignalleitung
34.
Die fünfte und sechste Routine 410 bzw. 412 erfüllen
Hilfsfunktionen wie das Zählen und Löschen von Blöcken usw. Mit der fünften Routine werden Daten
vom Speicher 18 für die Interpolatoren 26 ausgelesen, wie es das Organisationsprogramm verlangt, das seinerseits
hierfür in Abhängigkeit vom Ergebnis der zweiten Routine 404 einen Zeitplan aufstellt. Die
siebte Routine 416 ist ein Unterprogramm, das zur Abtastung von bestimmten Schaltern des SteuerpuJts
einschließlich der Schalter 50 und 76 aufgerufen wird, und dieses Unterprogramm wird in Abhängigkeit von
der Betätigung der Eingabetasten im Tastenfeld 78 gestartet. Die siebte Routine 416 besteht im »vesentlichen
aus dem im Flußdiagramm der Fig. 7 gezeigten Unterprogramm und dient zur Programmabänderung,
wie unten noch im einzelnen dargelegt werden wird.
Die achte Routine 418 ist ein anderes Unterprogramm zur Abtastung weiterer Schalter des Steuerpults
und zur Durchführung der in Fig. 6 gezeigten und nachstehend im einzelnen erläuterten Aufgabe
der Anzeige von Daten.
In Fig. 5 ist ein kleiner Abschnitt eines normalen Lochstreifens 12 mit einem Teilprogramm gezeigt, der
die serielle Anordnung von Daten wiedergibt. Wie bekannt, besteht jedes Zeichen aus einer Queranordnung
von bis zu acnt gestanzten Löchern und aus einem im Mittelpunkt angeordneten Transportloch zum
Bewegen des Lochstreifens. Auf dem Lochstreifenabschnitt der Fig. 5 sind vier Buchstabenzeichen gezeigt,
denen jeweils zwei Zahlenzeichen folgen. Dies ist ein normales Format für numerische Lochstreifensteuerungen,
auf das später bei der Erklärung der Arbeitsweise der Unterprogramme der Fig. 6 und 7 zurückzukommen sein wird.
Die Schalter des Steuerpults 20 der Fig. 2 und 3 sind Eingabegeräte des Rechners, durch welche die
Bedienungsperson die zur Anzeige und Aufbereitung bestimmten Daten des Teilprogramms kennzeichnen
kann. Die Buchstabenadressen werden durch den Rändelradschalter 52 und die Zahlen durch das Tastenfeld 78 vorgegeben. Somit ist jede Zahl für sich
allein ohne Angabe einer Befehlsadresse zur Kennzeicbnung des Feldes, dem diese Zahl zuzuordnen ist,
bedeutungslos.
chen eines Blocks für die Anzeige ausgewählt, indem zuerst der Betriebsartenschalter 50 auf die Stellung
»Programmänderung« und der Eingabe- und Anzeigeschalter 76 auf die Stellung »Befehlsadresse« gestellt
wird und dann der entsprechende Buchstabe am Rändelradschalter 52 gewählt wird. Zur Eingabe des
Unterprogramms der Fig. 7 für die Programmänderung muß die Eingabetaste E oder die Löschtaste L
des Tastenfeldes 78 gedrückt werden. Dadurch wird das Unterprogramm der Fig. 7 aufgerufen, wobei die
Löschtaste angibt, daß die betrachteten Daten zu lösen sind. Sonst ersetzen die eingegebenen numerischen
Daten die Daten, die vorher an der Stelle der Befehlsadresse waren. Wenn jedoch die Befehlsadresse
des Buchstabens N gewählt wird und eine Zahl eingegeben wird, so gilt diese als Nummer des
für die Bedienungsperson interessanten Datenblocks. Es ist offensichtlich, daß in vielen Fällen zwischen die
vorhandenen Daten einzufügende völlig neue Daten eingegeben werden sollen. Aus diesem Grunde werden
auf dem Lochstreifen kaum einmal Blocknummern (N-Kodes) in aufsteigender Reihenfolge gewählt,
ohne Lücken für neue einzufügende Datenblöcke zu lassen.
In Fig. ft ist die achte Routine 418, d.h. das Unterprogramm
zur Programmänderung als Flußdiagramm so gezeigt, daß ein Programmierer die speziellen Maschinenbefehle
zur Durchführung der gestellten Aufgabe mit einem Prozeßrechner seiner Wahl zusammenstellen
kann. Wenn keine Routine mit höherer Priorität zur Bearbeitung ansteht, so wird das Unterprogramm
der Fig. 6 automatisch gestartet. Somit kann der Rechner 16 bei diesem Unterprogramm für
einige Zeit im »Leerlauf« arbeiten. Die Routine 418 muß durch Abtastung der Schalter am Steuerpult feststellen,
daß sich der Schalter 50 in der Schaltstellung »Programmänderung« befindet. Dies wird durch einen
Programmblock 601 bewerkstelligt. Wenn diese Bedingung erfüllt ist, geht das Unterprogramm auf
einen Block 602 über, in welchem ermittelt wird, ob das bei Programmänderungen verwendete Unterprogramm
zur Zeichensuche seit der letzten Wahl der Programmänderungsstellung des Schalters 50 durch
die Bedienungsperson bei der automatischen Abtastung der Schalter mit der Einrichtung nach der Fig. 3
gestartet worden ist. Wenn der Einstieg in das Unterprogramm für die Zeichensuche bei Programmänderung
später erfolgt ist als die Wahl der Programmänderungsstellung des Schalters 50, so geht das
Unterprogramm weiter zu einem Block 603, wo die Rückstellung der angeordneten Blocknummer aut
Eins erfolgt. Wenn das Unterprogramm für die Zeichensuche bei Programmänderung nicht später eingegeben
worden ist, so gelangt es an einen Block 604, wobei die Teilprogrammnummer gemäß der Einstellung
eines Rändelradschalters 200 am Steuerpult 20 neu festgelegt wird. Fig. 6b zeigt die Teilprogrammänderung im Block 604, die nachstehend erläutert
wird, in ihren Einzelheiten. Vom Block 604 geht es dann zu einem Block 605, in dem ermittelt wird, ob
der Rändelradschalter 52 für die Befehlsadresse in Nullstellung oder in der Stellung für eine Befehlsadresse steht. Ist der Rändelradschalter 52 in Nullstellung, so springt das Unterprogramm der Fig. 6 aui
das Organisationsprogramm 401 der Fig. 4 zurück, um zu ermitteln, ob in eine der Routinen 410 bis 418
eingestiegen werden soll. Dieses schnelle Verlassen des Unterprogramms zu der angegebenen Prüfung ist
ein wich'iger Teil des Unterprogramms der Fig. 6.
Wenn der Schalter 52 auf eine Befehlsadresse gestellt
ist, geht das Unterprogramm zu einem Block 606 weiter, in dem die Befehlsadresse in ein ihr gemäß
dem Lochstreifenkode entsprechendes Zeichen umgesetzt wird. Beispielsweise ist allgemein bekannt, daß
ein N-Kode im Lochstreifen 12 für das Teilprogramm durch das BDC-Zeichen 01000101 dargestellt wird.
Auf diese Weise werden die Schalterdaten umgesetzt. Diese umgesetzte Befehlsadresse wird für späteren
Abruf in einem lokalen Speicher abgelegt. Vom Block 60*i geht das Unterprogramm weiter zu einem Block
607, wo die Zeichen des Teilprogramms nacheinander geprüft werden. Dabei wird mit dem ersten Zeichen
des gewählten, im Speicher 18 gespeicherten Teilprogramms begonnen.
Da jedes Zeichen entweder eine Zahl oder einen Buchstaben darstellt, wird im Block 607 auch bestimmt,
ob das Zeichen ein Buchstabe oder eine Zahl ist. Buchstaben bewirken einen Übergang des Unterprogramms
zu einem Block 608, der prüft, ob der durch die Bedienungsperson beim Start des Unterprogramms
der Fig. 6 vorgegebene Block bereits gefunden wurde. Wenn der gesuchte Block gefunden
wurde, so folgt ein Block 609, der seinerseits ein Unterprogramm darstellt, das im Zusammenhang mit der
Fig. 6c näher erläutert wird. Wenn der gesuchte Block nicht gefunden wurde, so läuft das Unterprogramm
über einen Block 610 weiter, der seinerseits ein Unterprogramm darstellt, das in Verbindung mit
der Fig. 6d näher beschrieben wird. Beide Blöcke 609 und 610 führen zu einem Block 611, der bestimmt,
ob das Unterprogramm der Fig. 6 durch Absuchen weiterer Zeichen fortgesetzt werden soll oder nicht.
Falls ja, so folgt ein Block 612, der prüft, ob das letzte im Teilprogramm gespeicherte Zeichen gelesen
wurde. Wenn nicht, so erfolgt vom Block 612 ein Rücksprung zum Block 607, um das nächste Zeichen
des Teilprogramms zu bearbeiten. Wird im Block 611 festgestellt, daß der Suchvorgang nicht fortgesetzt
werden soll, so erfolgt ein Rücksprung vom Unterprogramm auf das Organisationsprogramm 401 der
Fig. 4.
Wenn der Block 607 ein Zeichen als Zahl identifiziert, dann geht das Unterprogramm auf einen Block
613 über, der prüft, ob die Zahl aufbewahrt werden soll. Wenn ja, dann wird das Zeichen wie in Block
614 angegeben gespeichert, und das Unterprogramm schreitet zum Block 612 fort. Stellt Block 613 fest,
daß die Zahl nicht aufzubewahren ist, was anzeigt daß die Zahl nicht gesucht wird, so erfolgt ein Sprung
zum Block 612.
Wird im Block 612 festgestellt, daß das letzte Zeichen des Teilprogramms gefunden wurde, so läuft das
Unterprogramm zu einem Block 615 weiter, der seinerseits ein dann aufgerufenes Unterprogramm darstellt,
das in Verbindung mit der Fig. 6e erläutert wird. Hierauf folgt ein Block 616, der ein anderes,
in Verbindung mit der Fig. 6f näher beschriebenes Unterprogramm darstellt.
Wie vorstehend erwähnt, ist das aufgerufene Unterprogramm der Fig. 6 ein Teil der achten Routine
418, die automatisch gestartet wird, wenn keine Routine mit höherer Vorrangstufe Rechnerzeit anfordert
und die Betriebsart »Programmänderung« gewählt wurde. Das aufgerufene Unterprogramm läuft nur bis
zum Block 605, wenn keine Befehlsadresse über den Rändelradschalter 52 eingegeben wird. Wenn eine
Befehlsadresse über den Rändelradschalter 52 eingegeben wurde, so wird das aufgeruiene Unterprogramm
völlig durchgeführt, um diese Zahl über die Datenanzeige 48 der Fig. 2 zur Anzeige zu bringen.
In Fig. 6b ist das Unterprogramm des Blocks 604 zur Änderung der Teilprogrammnummer in seinen
Einzelheiten gezeigt. Der Hauptzweck dieses Unterprogramms besteht in der Änderung der Teilprogrammnummer
gemäß der Stellung von Rändelrad-
schaltern 200 (Fig. 2) sowie im Transport der Teilprogramme an die gewünschten Kernspeicherstellen
im Speicher 18. Wenn sich eine Teilprogrammnummer nicht geändert hat, so geschieht nichts. Wenn
das zweite von zwei Teilprogrammen durch die Stellungen
der Rändelradschalter 200 ausgewählt wird, wo vorher die Teilprogrammzahl Eins eingestellt war,
dann wird Teilprogammnummer 2 zu dem die niedrigeren Adreßindizes aufweisenden Teil des Kernspeichers
transportiert. Wenn andererseits das erste Teilprogramm gewählt wird, und vorher das zweite
Teilprogramm gewählt war, dann wird das zweite Teilprogramm an die Kernspeichersteilen mit den höheren
Adreßindizes transportiert und das erste Teiiprogramm
in den unteren Kernspeicherabschnitt ge-
a5 bracht.
Ein Block 618 der Fig. 6b stellt die angeforderte Teilprogrammnummer fest. Wenn Teilprogramm 2
gewählt wird, dann bestimmt ein Block 619, ob dies mit dem vorher gewählten Teilprogramm identisch ist
oder ob es sich um ein anderes Teilprogramm handelt. Wenn es das gleiche Teilprogramm ist, dann erfolgt
der Rücksprung. Wenn es jedoch ein neues Teilprogramm ist, so gelangt das Unterprogramm zu einem
Block 621, bei dem Teilprogramm 2 nach den vorstehend beschriebenen Verfahren weiterbewegt wird.
Auf Block 621 folgt ein Block 623, in dem die lokale Variable bzw. die entsprechende Speicherstelle abgeändert
wird, welche die Beaufscnlagung einer Anzeige 202 (auf dem Steuerpult 20. Fig. 2) für die Teilprogrammnummer
steuert. Wenn Teilprogramm 1 gewählt wird, so gelangt das Unterprogramm der Fig. 6b zu den Blöcken 619 und 621 ähnlichen Blökken
620 und 622. Vom Block 623 geht das Unterprogramm auf einen Block 624 über, in dem der Teilprogrammindex
und die Blocknummer auf den neuesten Stand gebracht werden.
In Fig. 6c sind die Einzelheiten des ein Unterprogramm darstellenden Blocks 609 dargestellt. Der
Hauptzweck dieses Unterprogramms besteht im Aufsuchen der Blocknummern oder N-Kodes und im
Vergleich dieser Kodezahlen mit der angeforderten Blocknummer, welche durch die über das Tastenfeld
78 in den Speicher 18 eingegebene Ziffernfolge gegeben ist, wobei zur Eingabe der Rändelradschalter 52
für die Befehlsadresse entsprechend eingestellt war. Eine lokale Variable dient dazu, das Buchstabenzeichen
beim Einlesen in den Block 607 der Fig. 6 zu erhalten. Wenn das Zeichen ein N ist, so wird der Index
seiner Speicherstelle festgestellt. Die hierzu nötigen Schritte werden von Blöcken 625, 626 und 627
durchgeführt (Fig. 6c). Wenn das letzte Zeichen ein N ist, dann wird der gespeicherte Index mit der
gewünschten Blocknummer verglichen. Wenn der gewünschte Block fehlt, dann wird die Anzeige des Steuerpultes
berichtigt und es erfolgt ein Rücksprung. Wenn der gewünschte Block noch nicht erreicht ist,
so läuft das Unterprogramm zurück (über die Blöcke 611,612 und 607 der Fig. 6), um die übrigen Zeichen
im Block zu verarbeiten. Es sei jedoch darauf hingewiesen,
daß die Suche eines Blocks nicht durch einen N-Kode ausgeführt zu werden braucht. Es wurden sich
ebenso andere Verfahrensweisen eignen, wie ζ Β eine Suche nach dem N-ten Block.
Über einen eine Verzweigung darstellenden Block * 628 kann das Unterprogramm entweder über Blöcke
615 und 616 an einen Block 632 gelangen, dessen Beschreibung in Verbindung mit der Fig. 6h gegeben
wird, und von dort aus weiter zu einem Block 633 Andererseits folgt auf Block 628 ein Block 629, dessen
Beschreibung in Verbindung mit der Fig. 6g gegeben wird, und hierauf wieder Block 616 und ein
Block 630. Im Block 630 wird festgestellt, ob eine Suche nach einem N-Kode durchgeführt wird. Wenn
ja, so läuft das Unterprogramm über den Block 632 und den Block 633 weiter, dessen Eteschreibung in
Verbindung mit der Fig. 6i gegeben wird. Von der Fig. 6ispringtdas Unterprogramm auf den Block 611
der Fig. 6 zurück. Wenn die Prüfung durch Block 630 ao negativ endet, so geht das Unterprogramm auf einen
Block 631 über, der die Bedingungen für das weitere Absuchen des Blocks einstellt, und von dort aus weiter
zum Block 611 der Fig. 6.
Fig. 6d zeigt das Flußdiagramm fur den Block 610 der Fig. 6. Der Zweck dieses Unterprogramms besteht
darin, die richtige Buchstabenadresse im Block zu finden und die die-.er Buchstabenadresse folgende
Zahl anzuzeigen, wie in der Fig. 5 zur Erklärung der Einteilung des Lochstreifens gezeigt wurde. Dieser
Arbeitsgang besteht im Vergleich der gewünschten Buchstabenadresse mit dem laufenden Zeichen.
Wenn das Zeichen gefunden ist, so erfolgt eine Meldung und die nachfolgende Zahl wird gespeichert. Die
Zahl wird dann angezeigt, und andere Steuerpultenzeigen werden geändert, um die Art der angezeigten
Große anzugeben. Wenn das Signal für das Ende eines Blocks vor der gewünschten Buchstabenadresse auftaucht,
so werden die Steuerpultanzeigen auf den neuesten Stand gebracht und das für die Programmänderung
erforderliche Absuchen der Zeichen wird beendet.
Der Block 610 in Fig. 6d leitet das Unterprogramm an einen Block 634 weiter, der ermittelt, ob
ein Minuszeichen gefunden wird, und wenn dies der Fall ist, wird das Unterprogramm 610 verlassen. Wird
kein Minuszeichen gefunden, so läuft das Unterprogramm vom Block 634 zu einem Block 635 weiter,
in welchem der angefundene Buchstabe mit dem gesuchten verglichen wird. Bei Gleichheit geht das Unterprogramm
auf e\nen Block 636, in welchem die Speicherung der Zahl eingeleitet wird. Mit Block 636
ist das Unterprogramm 610 beendet. Stellt Block 635 Ungleichheit der Buchstaben fest, so läuft das Unterprogramm
zu einem Block 637 weiter, der ermittelt, ob der vorhergehende Buchstabe der richtige war.
Wenn ja, dann läuft das Unterprogramm nacheinander zum Block 633 und zum Block 632, die an Hand
der Fig. 6i und 6h näher erläutert werden. Wenn die Antwort des Blocks 637 negativ ist, so folgt ein Block
638, der prüft, ob das Zeichen ein Blockendezeichen ist. Wenn nicht, so läuft das Unterprogramm zurück
zum Block 636 und springt zurück. Wenn jedoch ein Blockendezeichen angetroffen wird, so übergibt der
Block 638 an einen Block 639, der im einzelnen in Fig. 6j erläutert wird. Vom Block 639 wird das Unterprogramm
610 über den Block 632 beendet.
In Fig. 6e ist der Unterprogrammblock 615 der
In Fig. 6e ist der Unterprogrammblock 615 der
Fig. 6 näher beschrieben. Der Hauptzweck diese kurzen Unterprogramms besteht in der Änderung de
Anzeige am Steuerpult 20 der Fig. 2. Zugleich sol angezeigt werden, daß der gewünschte Block fehli
Dies erfolgt dadurch, daß eine Variable auf den neue sten Stand gebracht wird, so daß bei deren Ausgab
auf dem Steuerpult eine entsprechende Leuchte ange schaltet wird. Hierzu ist ein einziger Block 640 vorge
sehen, der einen Maskierschritt darstellt, bei dem Hi vorgegebenes Bit einer bestimmten Variablen ge
löscht und wie gewünscht neu gesetzt wird, wöbe diese Variable zur Anschaltung der Niwie-Röhren dei
Datenanzeige 48 des in Fig. 2 dargestellten Steuerpults 20 verwendet wird.
In der Fig. 6f sind die Einzelheiten des Blocks 61<
der Fig. 6 dargestellt. Ein einziger Block 641 dienl
dazu, die Blocknummeranzeige 44 mit drei Nixie-Röhren der auf den neuesten Stand zu bringen. Dies
wird durch Eingabe der Variablen in das Ausgaberegister des Rechners 16 sowie durch Ausführung des
entsprechenden Befehls erreicht.
Der Unterprogrammblock 629 ist in Fig. 6g im einzelnen dargestellt. Er hat einen einzigen Flußdiagrammblock
642, der die Steuerpultanzeige so abändert, daß die Bedienungsperson sieht, daß der gewünschte
Block gefunden ist. Die Programmodusanzeige 42 wird durch Änderung einer lokalen Variablen
abgeändert und bei deren Ausgabe leuchten entsprechende Lampen am Steuerpult 20 auf. Die speziellen
Befehle zur Durchführung solcher Unterprogramme bei dem verwendeten Rechner sind dem Fachmann
bekannt und daher kann eine Beschreibung der speziellen Maschinenbefehle entfallen.
In Fig. 6h sind die Einzelheiten des Blocks 632 der Fig. 6c gezeigt. Er enthält Blöcke 643. 644 und
645, deren Hauptaufgabe es ist. Daten an die Datenanzeige 48 der Fig. 2 auszugeben. Dies wird durch
Eingabe des Vorzeichens der Zahl im Block 643 und durch Ausgabe der Zahl an die entsprechenden Anzeigeröhren
der Datenanzeige 48 erreicht, wie durch den Block 644 angezeigt wird. Der Block 645 stellt
eine einfache Prüfstufe dar, um zu ermitteln, ob die Anzeige vollständig ist, und wenn sie es ist, ist das
Unterprogramm beendet.
Inder Fig. 6i ist der Unterprogrammblock 633 mit seinem einzigen Block 646 dargestellt. Der Zweck des
Unterprogrammblocks 633 besteht in der Fortschreibung der Steuerpultlampen, um anzuzeigen, daß die
gewünschte Buchstabenadresse gefunden wurde. Dies wird durch Fortschreibung einer Variablen erreicht,
so daß bei ihrer Ausgabe die entsprechende Lampe und die Datenanzeige 48 aufleuchten.
In Fig. 6j hat der Block 639 einen einzigen Block
647, dessen Aufgabe darin besteht, die Steuerpult lampen fortzuschreiben, um anzuzeigen, daß die gewünschte
Buchstabenadresse fehlt. Dies wird durch Fortschreibung einer Variablen erreicht, so daß bei
ihrer Ausgabe die entsprechende Lampe aufleuchtet.
In Fig. 7 ist das allgemeine Unterprogramm zur Eingabe neuer Teilprogrammdaten, zur Löschung alter
Teilprogrammdaten oder zur Änderung von im Speicher 18 gespeicherten Teilprogrammdaten gezeigt.
Das Unterprogramm der Fig. 7 und ihrer Nebenfiguren ist ein Teil der siebten Routine 416 der
Fig. 4 und wird nur dann gestartet, wenn der Betriebsartenschalter 50 der Fig. 2 auf »Programmänderung«
gedreht wird, der Eingabe- und Anzeigeschalter 76 in die Stellung Befehlsadresse gebracht
wird und die Eingabedrucktaste E oder die Loschdrucktaste
L des Tastenfeldes 78 gedruckt wird, so daß der Rechnerbetrieb vom Steuerpult her unterbrochen
wird, wie vorstehend in Verbindung mit der Fig. 3 näher erläutert wurde. Der allgemeine Aufbau
des Unterprogramms der Fig. 7 ist gleich dem des Unterprogramms der Fig. 6 und bedingt ebenso ein
serielles Absuchen der gespeicherten Teilprogrammdaten. Der Hauptunterschied zwischen den beiden
Unterprogrammen besteht darin, daß nur das Unterprogramm der Fig. 7 zur wirklichen Programmänderung
verwendet werden kann und daß das mit der niedersten Priorität des Rechners versehene Unterprogramm
418 (Fig. 6) automatisch gestartet wird, während das Unterprogramm der Fig. 7 (Routine
416) auf Befehl der Bedienungsperson gestartet wird.
Ein Block 701 ermittelt, ob die Schalter des Steuerpults im richtigen Zustand zum Starten des Unterprogramms
sind, d.h. das Unterprogramm wird nur dann aufgerufen, wenn sich die Schalter 50 und 76 im vorstehend
beschriebenen Schaltzustand befinden und die Eingabetaste E gedruckt wird. Nur dann wird das
Unterprogramm der Fig. 7 aufgerufen, und der Block 701 übergibt an einen Block 702, der feststellt, ob
eine Änderungssperrtaste 204 am Steuerpult 20 entsperrt ist und der Rändelradschalter 52 für die Eingabe
einer Befehlsadresse in einer sinnvollen Stellung steht. Wenn diese Bedingungen nicht beide erfüllt
sind, dann wird die Programmschleife sofort unterbrochen. Dadurch wird das Teilprogramm vor unbefugten
oder unbeabsichtigten Eingriffen geschützt. Block 702 übergibt sonst an einen Block 703, in welchem
die Buchstabenadresse des auf dem Skalenrad 64 des Randelradschalters 52 angezeigten Befehls
festgestellt wird und diese Befehlsadresse in den entsprechenden BCD-Lochstreifenkode umgesetzt wird.
Wiederum sei betont, daß die Verwendung des BCD-Kodes im Speicher nicht erfindungswesentlich
ist, obwohl dies recht zweckmäßig ist, da der BCD-Kode auch beim Lochstreifen verwendet wird. Es
kann jedoch genauso zweckmäßig sein, den BCD-Kode in einen reinen Binärkode umzusetzen und ein
einfaches Übersetzungsprogramm zur Umsetzung der Teilprogrammdaten während der Speicherung zu verwenden.
Auf den Block 703 folgt ein Block 704, wo ermittelt wird, ob ein N-Kode gewählt wurde, ohne
daß der entsprechende Block gelöscht werden soll. Löschen eines Blocks wird durch Drücken der Löschtaste
L auf dem Tastenfeld 78 angezeigt. Wenn ein N-Kode ohne Löschung angetroffen wird, dann wird
die Blocknummer in einem Block 705 abgeändert und das Unterprogramm der Fig. 7 wird verlassen; danach
wird bei Erreichen der niedrigsten Priorität das Unterprogramm der Fig. 6 gestartet, um den gewählten
Block aufzufinden und zur Anzeige zu bringen. Soll dagegen ein Löschen erfolgen, so gelangt das Unterprogramm
zu einem Block 706, in dem das sequentielle Absuchen des im Speicher 18 befindlichen Teilprogramms
vorbereitet wird. Block 706 übergibt an einen Block 707, in welchem die eigentliche Suche
und Überprüfung der Zeichen vorgenommen wird.
Wird im Block 707 ein Buchstabe ermittelt, so läuft das Unterprogramm zu einem Block 708, der prüft,
ob nach einem Block gesucht wird. Falls ja, so folgt ein Block 709, der in Verbindung mit der Beschreibung
der Fig. 7a näher erläutert wird. Wird keine Blocksuche durchgeführt, so übergibt der Block 708
an einen Block 710, der ein kurzes Unterprogramm darstellt, das im einzelnen in Verbindung mit de
Fig. 7b beschrieben wird. Die Blöcke 709 und 71 übergeben beide an einen Block 711, in dem entschie
den wird, ob die Suche fortgesetzt werden soll. Wen die Suche fortgesetzt werden soll, so gelangt das Un
terprogramm vom Block 711 an einen Block 712. de prüft, ob das zuletzt gelesene Zeichen das letzte Zei
chen des Teilprogramms ist. Ist es dies nicht, so erfolg ein Rücksprung vom Block 712 auf den Block 707
ίο Damit kann die Programmschleife zwischen den Blök
ken 707, 708, 709, 710, 711 und 712 zyklisch durch laufen werden.
Wird im Block 711 festgestellt, daß die Suche nich fortgesetzt werden soll, so gelangt das Unterpro
gramm zu einem Block 713, in welchem die Speicher
zelle für die Eingabedaten nullgesetzt wird. Hierau] wird das Unterprogramm der Fig. 7 verlassen.
Wird im Block 712 festgestellt, daß das zuletzt gelesene Zeichen das letzte Zeichen des Teilprogramms
ao ist, so gelangt das Unterprogramm an einen Block 714, der ermittelt, ob eine Löschroutine angefordert
wurde. Wenn dies der Fall ist, so gelangt das Unterprogramm an den Block 713 und von dort zur Rücksprungstelle.
Wenn andererseits keine Löschroutine
angefordert wurde, dann übergibt der Block 714 an einen Block 715, der in Verbindung mit der Fig. 7c
näher beschrieben wird.
Wenn das im Block 707 gelesene und geprüfte Zeichen eine Ziffer und kein Buchstabe ist, so springt
das Unterprogramm vom Block 707 zu einem Block 716, der feststellt, ob die Zahl erhalten und gespeichert
werden soll. Falls ja, so folgt ein Block 717, der die Zeichenspeicherung besorgt. Auf Block 717 folgt
wiederum der obenstehend beschriebene Block 712.
Somit besteht die Möglichkeit einer Programmschleife vom Block 707 zu den Blöcken 716, 717, 712 und
zurück zum Block 707. Ist das Ergebnis der Prüfung durch Block 716 negativ, so gelangt das Unterprogramm
direkt an den Block 712.
In Fig. 7a sind die Einzelheiten des Blocks 709 gezeigt. Der Hauptzweck des Unterprogramms der
Fig. 7a besteht darin, die N-Zeichen zu suchen und die den N-Zeichen unmittelbar folgenden N-Zahlen
mit der gewünschten Blocknummer zu vergleichen,
die von Hand dadurch eingegeben wird, daß der Rändelradschalter 52 für die Befehlsadresse auf die Stellung
N gestellt wird und dann die gewünschte N-Zahl über die numerischen Drucktasten des Tastenfeldes
78 eingegeben wird.
In Fig. 7a übergibt der Block 709 an einen Block 718, der prüft, ob der zuvor als letzter aufgefundene
und überprüfte Buchstabe ein N oder ein anderer Buchstabe war. Wenn er kein N war, so wird der laufende
Buchstabe geprüft, um zu ermitteln, ob er ein N ist. Dies erfolgt in einem Block 719. Wenn er ein
N ist, so übergibt der Block 719 an einen Block 720, in welchem die Speicheradresse des Buchstabens N
gespeichert wird und dann das Unterprogramm verlassen wird. Gibt der Block 719 eine negative Antwort,
so wird das Unterprogramm sofort verlassen. Endet die Prüfung im Block 718 positiv, so läuft das
Unterprogramm zu einem Block 721 weiter, der ermittelt, welcher Block gegenwärtig abgesucht wird,
und diesen Block mit der gewünschten Blocknummer vergleicht. Wird festgestellt, daß der gewünschte
Block noch nicht gefunden wurde, dann übergibt der Block 721 an den Block 719. Wenn festgestellt wird,
daß der Block fehlt, so läuft das Unterprogramm zu
einem Block 722 weiter, und wenn der Block gefunden ist, dann folgt ein Block 723. Wenn im Block 722
ermittelt wird, daß keine Loschroutint angefordert wurde, so gelangt das Unterprogramm vom Block 722
an einen Block 724, der ausführlicher in Verbindung mit der Fig. 7c beschrieben wird. Wenn eine Löschroutine
angefordert wurde, so wird das Unterprogramm vom Block 722 aus verlassen. Stellt Block 721
fest, daß der gewünschte Block gefunden ist, dann gelangt das Unterprogramm zum Block 723, wo ermittelt
wird, ob eine Blocknummer ode»· ein N-Kode gesucht wird. Wenn kein N-Kode gesucht wird, so
gelangt das Unterprogramm an einen Block 725, in welchem das Absuchen des Datenblocks nach weiteren
Zeichen vorbereitet wird. Wenn ein Blockkode bzw. ein Buchstabe N gesucht wird, dann gelangt das
Unterprogramm an einen Block 726, der die Suche nach einem Blockzeichen EOB vorbereitet. Sowohl
vom Block 726 als auch vom Block 725 aus wird das Unterprogramm verlassen.
In Fig. 7b ist das Unterprogramm des Blocks 710 in weiteren Einzelheiten gezeigt. Die Aufgabe dieses
Unterprogramms besteht im Auffinden der richtigen Buchstabenadresse in einem Block sowie in der Speicherung
der entsprechenden Zahl in einer entsprechend gewählten Speicherstelle. In Fig. 7b gelangt
das Unterprogramm des Blocks 710 zunächst an einen Block 727, wo geprüft wird, ob der richtige Buchstabe
vorliegt oder nicht. Wenn ja, dann gelangt das Unterprogramm an einen Block 728, der feststellt, ob das
Zeichen für das Blockende (EOB) vorliegt. Wenn das Zeichen für das Blockende vorliegt, dann gelangt das
Unterprogramm an einen Block 729, der ein Verdichtungsprogramm darstellt und in Fig. 7d näher beschrieben
wird. Liegt kein Blockendezeichen vor, so wird das Unterprogramm verlassen. Wenn die Prüfung
durch Block 727 negativ ausfällt, so gelangt das Unterprogramm an einen Block 730, in dem festgestellt
wird, ob der letzte Buchstabe richtig war und wenn dem so ist, so folgt ein Block 731, wo geprüft
wird, ob eine Löschung vorzunehmen ist. Falls nicht, gelangt das Unterprogramm an den Block 715, der
in Verbindung mit der Fig. 7c beschrieben wird. Wenn ja, wird das Unterprogramm über den Block
729 fortgesetzt. Wenn das Ergebnis der Prüfung durch den Block 730 negativ ist, gelangt das Unterprogramm
zu einem Block 732, der die gleiche Prüfung wie der Block 728 durchführt. Ein positives Prüfungsergebnis
des Blocks 732 bewirkt einen Sprung zum Block 731 und ein negatives ein Verlassen des Unterprogramms.
In Fig. 7 c werden die Einzelheiten des Blocks 715 der Fig. 7 beschrieben. Der Hauptzweck des Unterprogramms
der F i g. 7 c besteht in der Berechnung der erforderlichen Änderungen in der Länge des Teilprogramms,
um die durch die Bedienungsperson angeforderte Änderungsroutine aufnehmen zu können, das
Teilprogramm berichtigen zu können, und um ermitteln zu können, ob im Speicher 18 genügend Speicherkapazitäten
für neu einzugebende Daten oder Datenblöcke vorhanden ist.
Im Block 715 steht als erster ein Block 733, in welchem die Zahl der einzugebenden Zeichen ermittelt
wird, wobei diese Zeichen vorher auf ihre Art geprüft und gezählt worden sind, was während des Niederdrückens
der verschiedenen Drucktasten auf dem Steuerpult 20 erfolgt. Auf Block 733 folgt ein Block
734, in welchem ermittelt wird, ob im Speicher genügend Raum vorhanden ist. Ist dies nicht der Fall, so
wird das Unterprogramm sofort verlassen. Ist genügend Speicherkapazität vorhanden, so gelangt das
Unterprogramm zu einem Block 735, in welchem ermittelt wird, ob das Teilprogramm zur Aufnahme weiterer
Teilprogrammdaten verlängert werden muß oder verdichtet werden muß, um durch Zeichenlöschung
erhaltenen Leerraum auszufüllen. Wenn eine Teilprogrammverlängerung erforderlich ist, dann geht
das Unterprogramm auf einen Block 736 über, der
ίο seinerseits ein Unterprogramm darstellt, das in Verbindung
mit der Fig. 7e beschrieben wird. Wenn andererseits eine Teilprogrammverdichtung vorzunehmen
ist, so gelangt das Unterprogramm zum Block 729, der in Verbindung mit der Fig. 7d näher be-
schrieben wird. Wenn keine Änderung stattfindet, d. h. Daten werden durch andere ersetzt und ihre Anzahl
bleibt gleich groß, so folgt dann ein Block 737, der auch über die Blöcke 729 und 736 erreicht wird.
Block 737 ermittelt, ob ein neuer Datenblock einge-
ao geben wird, und ist dies der Fall, so folgen Blöcke 738 und 739, die im einzelnen in Verbindung mit den
Fig. 7 fund 7 g beschrieben werden. Wenn kein neuer Block eingegeben wird, so gelangt das Programm vom
Block 737 direkt zum Block 739 und von dort aus zur Rücksprungstelle.
In Fig. 7d sind die Einzelheiten des Blocks 729 gezeigt. Der Zweck des Unterprogramms der Fig. 7 d
besteht in der Löschung unerwünschter Daten durch Verdichtung des Teilprogramms.
Der Block 729 enthält als ersten einen Block 740. in welchem eine Speicherstelle aufgesucht und ihre
Adresse gespeichert wird. Vom Block 740 gelangt das Unterprogramm an einen Block 741, wo die Anzahl
der zu verschiebenden Zeichen bestimmt wird. Dies ist die Zahl von Zeichen zwischen der Stelle der Löschung
und dem Ende des Teilprogramms. Ein Block 742 bewerkstelligt die Verschiebung dieser Zeicher
als ein Block. Ein Block 743 ändert den Inhalt des Zeichenzählers und zeigt so das Löschen der Zeicher
an. In einem Block 744 wird die Anzeige durch das Steuerpult auf den entsprechenden neuesten Stand
gebracht.
In F i g. 7 e wird das Unterprogramm des Blocks 736 in Einzelheiten gezeigt. Der Hauptzweck des Unter-Programms
der Fig. 7e dient der Verlängerung des Teilprogramms, um für weitere Daten Platz zwischen
den schon in vorgegebener Reihenfolge im Speichel stehenden Daten zu schaffen. Dies wird durch einer
Block 745, in welchem die Speicherbelegung und die
Änderungsstellen verarbeitet werden, durch einer Block 746, in dem die Anzahl der zwischen der Stelle
der Einfügung und dem Teilprogrammende stehender
' und zu verschiebenden Zeichen bestimmt wird aurch
einen Block 747, der die eigentliche Verschiebung dei Zeichen vornimmt, sowie durch einen Block 748 bewerkstelligt,
in welchem der Inhalt des Zeichenzähler: abgeändert wird und somit eine der Gesamtlänge des
neuen Teilprogramms entsprechende Zahl bereitgestellt wird.
In Fig. 7f sind die Einzelheiten des Blocks 738 gezeigt. Die Aufgabe dieses Unterprogramms bestehi
in der Eingabe der Zeichen des N-Kodes, wenn eir neuer Datenblock in das gespeicherte Teilprogramrr
eingefügt wird. Der Block 738 beginnt mit einerr Block 749, der in Verbindung mit der Fig. 7h nähei
beschrieben wird. Hierauf folgt ein Block 750, in wel ehern die einzugebende Zahl gesucht wird. Vom Blocl
750 gelangt das Unterprogramm an einen Block 751
der das eigentliche Unterprogramm für die Eingabe darstellt und näher in Verbindung mit der Fig. 7i beschrieben
wird.
In Fig. 7g sind die Einzelheitendes Blocks 739 näher
erläutert. Der Zweck dieses Unterprogramms besteht darin, festzulegen, welche Zeichen im Teilprogramm
abzuspeichern sind, wenn die Buchstabenadresse mit einem Zahlenfeld eingefügt wird.
Auf Block 739 folgt ein Block 749, der näher in Verbindung mit der Fig. 7h beschrieben wird. Block
749 übergibt an einen Block 752, wo ermittelt wird, ob ein Minuszeichen gebraucht wird. Falls nicht, so
läuft das Unterprogramm zu einem Block 753 weiter, in dem die vorher vom Tastenfeld aus eingegebene
Zahl gesucht und abgespeichert wird. Endet die Prüfung im Block 752 positiv, so läuft das Unterprogramm
zurück zum Block 749 und von dort aus weiter zum Block 753. Vom Block 753 gelangt das Programm
zum Block 751, der in Verbindung mit der Fig. 7i näher erläutert wird. Block 751 übergibt an
einen Block 754. der prüft, ob ein neuer Block von Programmdaten eingegeben wird. Vom Block 754 gelangt
das Unterprogramm zur Rücksprungstelle, wenn die Prüfung negativ ausfällt und zum Block 749. wenn
die Prüfung positiv endet.
In Fig. 7h sind die Einzelheiten des Blocks 749 dargestellt. Der Zweck dieses Unterprogramms beiteht
darin, ein Buchstabenzeichen in das Teilprogramm einzuspeichern. Hier besorgt ein einziger
Block 755 die Einspeicherung des kodierten Buchstabens in das Teilprogramm. Dies wird dadurch erreicht,
daß das entsprechend kodierte Zeichen im Speicherplatz einer lokalen Variablen abgelegt wird, die Speicheradresse
berechnet wird und dann das Zeichen abgespeichert wird.
In Fig. 7i sind die Einzelheiten des Blocks 751 gezeigt.
Der Zweck dieses Unterprogramms besteht darin, die kodierten Zeichen zu suchen und dann im
Teilprogrammspeicher abzuspeichern. Das Unterprogramm besteht aus Blöcken 756 und 757. in welchen
eine Indexzahl gesucht wird, der entsprechende zum Aufsuchen des betrachteten numerischen Zeichens
verwendete Wert in das Register des Rechners 16 transportiert wird, die Speicheradresse des Zeichens
bestimmt wird und das Zeichen zu dem Teilprogramm transportiert wird.
In Fig. 8 ist das Programm für den Start des Lochstreifenlesers 10 der Fig. 1 gezeigt. Die Aufgabe des
Unterprogramms der Fig. 8 besteht darin, den Lochstreifenleser zu starten und ihn während der Abspeicherung
bzw. der Übertragung des Teilprogramms vom Lochstreifen 12 zum Speicher 18 in Betrieb zu
halten. Der Lochstreifenleser kann nur dann in Betrieb sein, wenn der Betriebsartenschalter 50 der
Fig. 2 in der Stellung »Programmänderung« ist, wie dies durch einen Block SOlder Fig. 8 angezeigt wird.
Wie In einem Block 802 gezeigt, besteht das Unterprogramm
weiter in der Rückstellung einer Speichersfr-jfe·
für <fe* TfapiiiiilSiigft (Zeichenzähler) auf
Null, der Zuteilung von Atdan^uwj irn an Teüproriabfe
{Block 803} und dem Starten des
LochstrenTerfesers in Vtsi (Block 804).
Ia Fig. 9 ist das Unterprogramm zur Speicherung der Ton in der Reihenfolge gezeigt,
m der sie arfd^mn angeordnet sind. Das
Unterprogramm der Flg. 9 dient auch zum Weiterschäften
des ZeichenzäUers und zum Anhalten des
;s atf BeIeM. Em Einstiegsblock 900
der Fig. 9 übergibt an einen Block 901, der prüft, ob zu viele Daten zum Abspeichern bereitgestellt
werden. Wenn das nächste Zeichen den Speicher 18 zum Überlaufen bringen würde, dann folgt ein Block
902, in welchem der Lochstreifenleser angehalten wird. Der Block 902 übergibt an einen Block 903,
in welchem die Variable für die Steuerpultlannpen geändert wird, um eine entsprechende Anzeige auf dem
Steuerpult 20 zu erhalten. Wenn das nächste Zeichen
ίο noch Platz hat, dann geht das Unterprogramm vom
Block 901 auf einen Block 904, der eine Speicherung des Zeichens bewerkstelligt. Block 904 übergibt an
einen Block 905, der prüft, ob das gespeicherte Zeichen ein Zeichen für das Ende des Teilprogramms
oder fur das Ende des Lochstreifens ist, wenn es keines von beiden ist, dann erfolgt ein Rücksprung. Ist das
Zeichen dagegen eines dieser Endzeichen, so folgt auf Block 905 ein Block 906, der prüft, ob ein Zeichen
für das Programmende oder für das Lochstreafenende vorliegt. Bedeutet das Zeichen das Ende des Programms,
so übergibt der Block 906 an einen Block 907. der ein Anhalten des Lochstreifenlesers sowie
das Verlassen des Unterprogramms bewirkt. Wenn das Zeichen das Ende des Lochstreifens bedeutet,
so läuft das Unterprogramm vom Block 906 zu einem Block 908, durch welchen der Lochstreifen
angehalten und der Lochstreifen zurückgespult wird.
In Fig. 10 ist das Unterprogramm für den Zugriff des Rechners 16 zu den Zeichen des Speichers 18 zur
Verwendung in den Interpolatoren 26 gezeigt. Es dient dazu. Teilprogrammdaten zur Verwendung in
der Werkzeugmaschinensteuerung bereitzustellen. Das Unterprogramm wird vom Organisationspro-
gramm 401 aufgerufen. In einem ersten Block 1001 wird geprüft, ob ein Zeichen gebracht wird. Wenn ja,
so folgt ein Block 1002, dessen weitere Einzelheiten in Fig. 10a beschrieben sind. Die Blöcke KK)I und
1002 führen beide zu einem Block 1003, der feststellt,
ob das Zeichen fur eine Zwischenspeicherung bestimmt ist. Ist dies nicht der Fall, dann gelangt das
Unterprogramm zu einem Block 1005. wo weitere nicht unbedingt notwendige Suchroutinen - falls erwünscht
- durchgeführt werden. Von dort aus wird
das Unterprogramm verlassen. Wenn das Zeichen für eine Zwischenspeicherung gebraucht wird, dann gelangt
das Unterprogramm zum Block 1004, wo das Zeichen verarbeitet wird und zur Programmdurchführung
gespeichert wird: anschließend wird (das Unterprogramm verlassen.
In Fig. 10a sind die Einzelheiten des Blocks 1002 gezeigt. Die Aufgabe dieses Unterprogramms besteht
dann, das nächste entsprechende Zeichen zu suchen und auf bestimmte Bedingungen zu prüfen. Das Un-
terprogramm hat einen ersten Block 1006, der die Teilprogrammnummer feststellt und die Adresse des
gewünschten Zeichens errechnet Vom Block 1006 gelangt das Unterprogramm ai einem Block »007, in
welchem das Zeichen vom Speicher ausgelesen wild
und eme Indexzahl angepaßt wirf, um den richtigen
seriellen Datei.fluß M gew&rfeisten. Dann gelangt
dasunterprogramm zu einem Block 1008, wo geprüft
wmL_obdas Zeichen ein zulässiges Zeichen ist Kam
SSiSs?1 Bfcht ««gewMaweo werden, so folgt em
B^10W,deremAtistiiattenemerSteueröBlöampe
andern Beendigen des Aaslesens *on Zekheii vetan-
Vom Block 1009 aus wM das ΙΪ«β_Γ.^._
Stellt Block 1008 die Zulässigkdt des
3
trachteten Zeichens fest, so gelangt das Unterprogramm
zu einem Block 1010, wo das Zeichen daraufhin geprüft wird, ob es ein zeichen für das Ende eines
Blocks (EOB) ist. Ist es kein EOB-Zeichen, so wird das Unterprogramm verlassen; sonst folgt auf Block
1010 ein Block 1011. Der Block 1011 prüft auf fakul-
tative Suchroutinen, die ein Teil des Unterprogramms sein können. Ist dies der Fall, so verläßt das Unterprogramm
über den Block 1011 die Programmschleife. Andernfalls gelangt das Unterprogramm zu einem
Block 1012, wo die Lesevorgänge beendet werden und das Unterprogramm die Schleife verläßt.
Hierzu 8 Blatt Zeichnungen
«0523/52
Claims (11)
1. Vorrichtung zur numerischen Programmsteueiung
einer Werkzeugmaschine mit einem Eingabegerät zum zeichenweisen Einlesen der auf
einem Datenträger bereitgestellten und den einzelnen Arbeitsscheuen entsprechenden Teilprogramme,
wobei die Zeichen eines Teilprogramms an eine Einrichtung übertragen werden, die einen
programmierbaren Digitalrechner mit einem über den Rechner adressierbaien Speicher enthält, in
dem mindestens ein Teüprognimm aus dem Datenträger vollständig eingespeichert wirtl, welcher
Digitalrechner eine Korrektur der Zeichen der Teilprogramme nach Maßgabe von Hand eingegebener
Korrekturbefehle ermöglicht, welche Einrichtung in Abhängigkeit der so korrigierten
Zeichen Befehlssignale an die Servoantriebe der Werkzeugmaschine abgibt, gekennzeichnet
du rc π ein Steuerpult mit mehreren betätigbaren
Eingabeeinheiten für die KorrekturbefehJe (50 bis 78; 200; 204), von denen eine erste zur Einleitung
einer Korrektur unterbrechungsberechtigte Gruppe von Schaltern (517 bis 524) über einen
ersten Satz von Toren (114 bis 126) und eine zweite zur Korrekturdateneingabe vorgesehene
Gruppe von Schaltern (SiI bis 516) über einen
zweiten Satz von Toren (86 bis 92) mit dem Rechner (16) in Verbindung steht; eine erste Programmiereinrichtung
(418) im Rechner, die auf die Signale der betätigbaren Eingabeeinheiten zur
Änderung der Zeichen des vollständig eingespeicherten Teilprogramms anspricht; eine zweite
Programmiereinrichtung (402 bis 416) zur selektiven Betätigung des ersten und zweiten Satzes von
Toren und Schaltern in Abhängigkeit von einem Vorrang, um die Signale von den betätigbaren
Eingabeeinheiten einzugeben, und durch eine Vorrangschaltung (36), die ausschließlich zwischen
der ersten Gruppe von Eingabeeinheiten und dem Rechner (16) zur Festlegung des Vorranges
in Abhängigkeit von der Betätigung der Eingabeeinheiten der ersten Gruppe geschaltet ist,
wobei das Auslesen der Zeichen des geänderten Teilprogramms aus dem Speicher vom Rechner
überwacht wird.
2. Vorrichtung nach Anspruch 1, gekennzeichnet durch einen Teilprogrammwähler (200) zur
Auswahl eines der im Speicher (18) stehenden Teilprogramme zur Bearbeitung.
3. Vorrichtung nach Anspruch 1 oder 2, gekennzeichnet durch einen Betriebsartenschalter
(50), dessen verschiedene Schaltstellungen den verschiedenen Betriebsarten der Vorrichtung zugeordnet
sind.
4. Vorrichtung nach einem der Ansprüche 1 bis
3, gekennzeichnet durch einen Befehlseingabeschalter (52, 64) mit einer Mehrzahl unterschiedlichen
Befehlen zugeordneter Schaltstellungen.
5. Vorrichtung nach einem der Ansprüche 1 bis
4, gekennzeichnet durch ein Tastenfeld (78) zur Eingabe numerischer Daten.
6. Vorrichtung nach einem der Ansprüche 1 bis
5, gekennzeichnet durch einen den Eingabeeinheiten für Korrekturbefehle (50 bis 78; 200; 204)
nachgeordneten Kodierer zum Umsetzen der Schalterstellungen in ein entsprechendes im Loch-
sireifencode dargestelltes Zeichen.
7. Vorrichtung nach einem der Ansprüche 1 bis
6, dadurch gekennzeichnet, daß die Schaltergrup
pen (51 bis 58, 59 bis 516, 517 bis 524) zur Eingabe von Korrekturdaten i>ber ihnen zugeordnete
Aktivierungsschaifungi.'! (114, 116, 118, iü4,
102;114,120.122 108,106;114,124,126, 112,
110) vom Rechner (16) durch Bereitstellung einer ihnen jeweils zugeordneten Adresse auf einer
Ausgangssammelleitung (24) getrennt aktivierbar sind.
8. Vorrichtung nach einem der Ansprüche 1 bis
7, dadurch gekennzeichnet, daß die Schaltergruppen (51 bis 58, 59 bis 516, 517 bis 524) zur Eingabe
von Korrekturdaten über ihnen zugeordnete Torschaltungen (92, 86; 92, 88; 92, 90jgetrennt
gemäß der auf einer Ausgangssammelleitung (24) des Rechners (16) bereitgestellten Schalteradresse
mit einer Eingangssammelleitung (22) des Rechners (16) verbindbar sind.
9. Vorrichtung nach einem der Ansprüche 1 bis
8, gekennzeichnet durch einen Schaltkreis (140 bis 146), der bei Erzeugung eines Programmunterbrechungssignals
durch die unterbrechungsberechtigte Schaltergruppe (517 bis 524) ein dieser
zugeordnetes Anrufkennungssignal erzeugt.
10. Vorrichtung nach einem der Ansprüche 1 bis 9, gekennzeichnet durch eine Mehrzahl von
Anzeigefeldern (40 bis 48, 202) zur Ausgabe von zur Programmänderung relevanten Daten.
11. Vorrichtung nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, daß die Anzeigefelder
(40 bis 48, 202) durch Leuchtröhren gebildet sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US6224370A | 1970-08-06 | 1970-08-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2138560A1 DE2138560A1 (de) | 1972-02-10 |
DE2138560B2 true DE2138560B2 (de) | 1976-08-12 |
Family
ID=22041157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19712138560 Withdrawn DE2138560B2 (de) | 1970-08-06 | 1971-08-02 | Vorrichtung zur numerischen programmsteuerung |
Country Status (6)
Country | Link |
---|---|
JP (1) | JPS5338901B1 (de) |
BR (1) | BR7105017D0 (de) |
CA (1) | CA951412A (de) |
DE (1) | DE2138560B2 (de) |
FR (1) | FR2108196B1 (de) |
GB (1) | GB1322128A (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2705011A1 (de) * | 1976-02-06 | 1977-08-11 | Sharp Kk | Elektronische naehmaschine |
DE3311297A1 (de) * | 1982-03-30 | 1983-10-13 | Yamazaki Machinery Works, Ltd., Ooguchi, Aichi | Numerische steuerung |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS4920856A (de) * | 1972-06-20 | 1974-02-23 | ||
DE2731970C3 (de) * | 1977-07-15 | 1987-04-16 | Diehl GmbH & Co, 8500 Nürnberg | Ansteueranordnung für das Anzeigefeld einer elektronischen Herdschaltuhr |
JPS5467280A (en) * | 1977-11-08 | 1979-05-30 | Toyoda Mach Works Ltd | Numerical control unit for controlling the processing of a nonround work |
JP2019061467A (ja) * | 2017-09-26 | 2019-04-18 | オムロン株式会社 | サポート装置およびサポートプログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CH497740A (de) * | 1967-07-12 | 1970-10-15 | Houdaille Industries Inc | Einrichtung zur numerischen Steuerung wenigstens einer Werkzeugmaschine |
-
1971
- 1971-04-30 CA CA111,857,A patent/CA951412A/en not_active Expired
- 1971-07-23 FR FR7126973A patent/FR2108196B1/fr not_active Expired
- 1971-07-26 GB GB3487671A patent/GB1322128A/en not_active Expired
- 1971-08-02 DE DE19712138560 patent/DE2138560B2/de not_active Withdrawn
- 1971-08-05 BR BR005017/71A patent/BR7105017D0/pt unknown
- 1971-08-06 JP JP5953671A patent/JPS5338901B1/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2705011A1 (de) * | 1976-02-06 | 1977-08-11 | Sharp Kk | Elektronische naehmaschine |
DE3311297A1 (de) * | 1982-03-30 | 1983-10-13 | Yamazaki Machinery Works, Ltd., Ooguchi, Aichi | Numerische steuerung |
Also Published As
Publication number | Publication date |
---|---|
GB1322128A (en) | 1973-07-04 |
FR2108196B1 (de) | 1974-05-31 |
JPS5338901B1 (de) | 1978-10-18 |
BR7105017D0 (pt) | 1973-05-10 |
CA951412A (en) | 1974-07-16 |
DE2138560A1 (de) | 1972-02-10 |
FR2108196A1 (de) | 1972-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2751097C2 (de) | Schaltungsanordnung zum Erzeugen eines Kennsignals | |
DE2656123C3 (de) | Eingabeeinrichtung zum Zufuhren einer Vielzahl von Zeichen, die ein Datenfeld bilden | |
DE2522247C3 (de) | Kanalwähler | |
DE3245610C2 (de) | ||
DE3309779C2 (de) | ||
DE1436446B2 (de) | Vorrichtung zum beliebigen zeilenweisen Abteilen und Ausschließen eines Drucktextes | |
DE3148099C2 (de) | Anordnung zum Erkennen einer Digitalfolge | |
DE2607842A1 (de) | System zur textausgabe und -anzeige | |
DE2506671C3 (de) | Binärdaten-Handhabungsnetzwerk | |
DE2138560B2 (de) | Vorrichtung zur numerischen programmsteuerung | |
DE2006672C3 (de) | Datensichtgerät | |
DE1276736B (de) | Schaltung zur Verstaerkungssteuerung | |
DE1486882A1 (de) | Einrichtung zur Kodierung von Zeichen | |
DE3604236C1 (de) | Universell programmierbare Tastatur | |
DE3207660C2 (de) | ||
DE1142453B (de) | Geraet zum Eintragen von Informationen mittels eines Tastenfeldes auf einen bewegbaren Informationstraeger | |
DE1474066A1 (de) | Verfahren zur Umsetzung von Zahlen in datenverarbeitenden Anlagen,insbesondere Fernmeldeanlagen | |
DE3240926C2 (de) | Logikanalysator | |
DE2508134C3 (de) | Vorrichtung zum Überwachen des Betriebszustandes von Maschinen | |
DE2253635A1 (de) | Schieberegisteranordnung zum kombinieren von texten | |
DE69324783T2 (de) | System zur Dateneingabe und -darstellung | |
DE2357371C2 (de) | Kanalwähler | |
DE2411561C3 (de) | Digital-Analog-Umsetzer, insbesondere für einen nach dem Iteratiwerfahren arbeitenden Codierer | |
EP0193553A1 (de) | Datenkompressions- und datenexpandiereinrichtung zum übertragen bzw. speichern von daten | |
DE2747195C3 (de) | Vorrichtung zum Verarbeiten von Druckdaten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
BHJ | Nonpayment of the annual fee |