DE2743492C2 - - Google Patents

Info

Publication number
DE2743492C2
DE2743492C2 DE19772743492 DE2743492A DE2743492C2 DE 2743492 C2 DE2743492 C2 DE 2743492C2 DE 19772743492 DE19772743492 DE 19772743492 DE 2743492 A DE2743492 A DE 2743492A DE 2743492 C2 DE2743492 C2 DE 2743492C2
Authority
DE
Germany
Prior art keywords
memory
bit
machine tool
routine
processor
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
DE19772743492
Other languages
German (de)
Other versions
DE2743492A1 (en
Inventor
Ernst H. Chesterland Ohio Us Dummermuth
William A. Concord Ohio Us Donze
Timothy Maple Heights Ohio Us Bielawski
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.)
Allen Bradley Co LLC
Original Assignee
Allen Bradley Co LLC
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
Priority claimed from US05/728,000 external-priority patent/US4038533A/en
Application filed by Allen Bradley Co LLC filed Critical Allen Bradley Co LLC
Publication of DE2743492A1 publication Critical patent/DE2743492A1/en
Application granted granted Critical
Publication of DE2743492C2 publication Critical patent/DE2743492C2/de
Granted 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/4147Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using a programmable interface controller [PIC]
    • 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/35Nc in input of data, input till input file format
    • G05B2219/35262Macro instruction, canned cycles, subroutines, subprogram

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)
  • Executing Machine-Instructions (AREA)

Description

Die Erfindung bezieht sich auf einen Steuerprozessor, der sowohl als numerische Steuerung für eine gesteuerte Werkzeugmaschine Werkstückprogramme ausführt als auch als programmierbares Steuergerät ar­ beitet, das den Zustand einzelner, der gesteuerten Werk­ zeugmaschine zugeordneter digitaler Abtastvorrichtungen abfühlt und einzelne, der gesteuerten Werkzeugmaschine zugeordnete digitale Arbeitsvorrichtungen betätigt, gemäß dem Oberbegriff des Patentanspruchs 1.The invention relates to a Control processor that works both as a numerical controller for a controlled machine tool workpiece programs executes as well as a programmable control unit ar that works the condition of individual, controlled works witness machine associated digital scanning devices senses and individual, the controlled machine tool actuated assigned digital work devices, according to the preamble of claim 1.

Ein derartiger Steuerprozessor ist aus der US-PS 38 10 104 bekannt. Dieser bekannte Steuerprozessor kann sowohl als numerische Steuerung für eine Werkzeugmaschine als auch als programmierbares Steu­ ergerät zur Steuerung von Ein/Aus-Funktionen an der ge­ steuerten Maschine arbeiten. Er enthält zu diesem Zweck eine der numerischen Steuerung zugeordnete erste Prozessor­ einrichtung, die die zur numerischen Steuerung dienenden Werkstückprogrammdatenblöcke verarbeitet und im Zuge dieser Verarbeitung auch Werkstückprogrammdatenblöcke decodiert, welche das Setzen eines ausgewählten Speicherplatzes in einem System-Kennzeichen-Tabelle-Speicher auf einen logi­ schen Zustand veranlassen, der anzeigt, daß an der Werk­ zeugmaschine eine Hilfsfunktion vorzunehmen ist. Ferner enthält der bekannte Steuerprozessor eine dem programmierbaren Steuergerät zugeordnete zweite Pro­ zessoreinrichtung, die zur Vornahme dieser Hilfsfunktio­ nen vorgesehen ist und dazu periodisch Steuergerätbefehle ausführt, die zur Betätigung von digitalen Arbeitsvorrich­ tungen dienen, welche an der Werkzeugmaschine vorhanden sind. Die Betätigung dieser Arbeitsvorrichtungen geschieht dabei in Abhängigkeit des logischen Zustands von an der Werkzeugmaschine vorgesehenen digitalen Abtastvorrich­ tungen als auch in Abhängigkeit des logischen Zustands der von der ersten Prozessoreinrichtung gesetzten Spei­ cherplätze im System-Kennzeichen-Tabelle-Speicher.Such a control processor is off the US-PS 38 10 104 known. This well-known Control processor can be used both as a numerical controller a machine tool as well as a programmable control device for controlling on / off functions on the ge controlled machine work. It contains for this purpose a first processor assigned to the numerical control device that is used for numerical control Workpiece program data blocks processed and in the course of this Processing also decodes workpiece program data blocks, which the setting of a selected storage space in a system flag table memory on a logi cause that indicates that at work an auxiliary function. Further the known control processor contains one the second pro assigned to the programmable control device processor device for carrying out this auxiliary function NEN is provided and periodically control unit commands that performs the operation of digital work devices serve, which exist on the machine tool are. The operation of these devices is done depending on the logical state of the Machine tool provided digital scanning device as well as depending on the logical state  the memory set by the first processor device System memory table memory locations.

Aus der US-PS 39 42 158 ist ein Steuer­ prozessor bekannt, der als programmierbares Steuergerät arbeitet, das den Zustand einzelner, einer gesteuerten Werkzeugmaschine zugeordneter digitaler Abtastvorrichtun­ gen abfühlt und einzelne, der gesteuerten Werkzeugmaschi­ ne zugeordnete digitale Abtastvorrichtungen betätigt. Dieser bekannte Steuerprozessor enthält eine Einrichtung zum Ausführen der in einem Routine-Speicher abgelegten Steuergerätbefehle werkzeugmaschinenspezifi­ scher Routinen. Ferner ist ein E/A-Bild-Tabelle-Speicher vorgesehen, der für jede der Werkzeugmaschine zugeordnete digitale Abtastvorrichtung und für jede der Werkzeugma­ schine zugeordnete digitale Arbeitsvorrichtung einen Speicherplatz aufweist. Die logischen Zustände der den digitalen Abtastvorrichtungen zugeordneten Speicherplätze werden fortlaufend auf dem aktuellen Werkzeugmaschinen­ stand gehalten. Die logischen Zustände der den digitalen Arbeitsvorrichtungen zugeordneten Speicherplätze werden in Abhängigkeit des logischen Zustands ausgewählter Ab­ tastvorrichtungs-Speicherplätze gesetzt, und hiernach wird der Werkzeugmaschinenzustand entsprechend eingestellt. Der E/A-Bild-Tabelle-Speicher bietet den Vorteil, daß die Ablaufgeschwindigkeit des aus einer Folge von Steuergerät­ befehlen bestehenden Steuerprogramms unabhängig von der Datenübertragungsgeschwindigkeit zwischen dem Steuerpro­ zessor und den angeschlossenen Abtast- und Arbeitsvorrich­ tungen der Werkzeugmaschine ist.From US-PS 39 42 158 is a tax processor known as a programmable controller works that the state of individual, a controlled Digital scanning device associated with the machine tool and individual, controlled machine tools ne assigned digital scanning devices actuated. This known control processor contains one Means to execute the in a routine memory stored control unit commands machine tool-specific routine. There is also an I / O image table memory provided that assigned to each of the machine tool digital scanner and for each of the tool ma digital working device associated with the machine Has storage space. The logical states of the memory locations allocated to digital scanning devices are continuously on the current machine tools stood firm. The logical states of the digital Storage devices are assigned to storage devices depending on the logical state of selected Ab tracer memory locations set, and after that the machine tool status is set accordingly. The I / O picture table memory has the advantage that the Expiration speed of a sequence of control unit command existing control program regardless of the Data transfer speed between the tax pro processor and the connected scanning and work device machine tool.

Aufgabe der Erfindung ist es, einen Steuerprozessor der gattungsgemäßen Art derart weiterzu­ bilden, daß der von der numerischen Steuerung durchgeführ­ te Steuerungsvorgang und der von dem programmierbaren Steuergerät durchgeführte Steuerungsvorgang in einer zeit­ lich optimal aufeinander abgestimmten Weise ausgeführt werden können. The object of the invention is a Control processor of the generic type continue to do so form that performed by the numerical control te control process and that of the programmable Control device performed control process at a time Lich optimally coordinated way executed can be.  

Diese Aufgabe wird bei einem Steuer­ prozessor gemäß dem Oberbegriff des Patentanspruchs 1 durch dessen kennzeichnende Merkmale gelöst. Danach ar­ beitet der in dem gattungsgemäßen Steuer­ prozessor vorausgesetzte System-Kennzeichen-Tabelle- Speicher in einer speziellen Weise mit einem E/A-Bild- Tabelle-Speicher zusammen. Diese Zusammenarbeit ist so getroffen, daß es zwischen den beiden Steuerungsvorgängen zu einem diese Vorgänge beeinflussenden, gegenseitigen Nachrichtenaustausch kommt. Dieser Nachrichtenaustausch erfolgt relativ schnell. Dies ist besonders dann von großer Bedeutung, wenn die beiden Steuerungsvorgänge mit Hilfe eines einzigen Prozessors im Zeitmultiplexbetrieb durchgeführt werden. Der einzige Prozessor muß nämlich in diesem Falle innerhalb bestimmter zeitlicher Grenzen sehr viele Funktionen ausführen, die die numerische Steue­ rung und das programmierbare Steuergerät betreffen. Jedes Tätigwerden des Prozessors ist daher zeitkritisch. Der nach der Erfindung ausgebildete Prozessor stellt daher im Ergebnis eine optimal ineinandergreifende Vereinigung einer numerischen Steuerung und eines program­ mierbaren Steuergeräts zu einer vollständigen einheitli­ chen Werkzeugmaschinensteuerung dar.This task is with a tax processor according to the preamble of claim 1 solved by its characteristic features. After that ar works in the generic tax processor required system identifier table - Memory in a special way with an I / O image Table storage together. This collaboration is so hit that there is between the two control operations to a mutual influencing these processes Message exchange is coming. This exchange of messages happens relatively quickly. This is especially true of of great importance if the two control processes with Using a single processor in time-division multiplexing be performed. The only processor has to in this case within certain time limits perform many functions that control numerical tion and the programmable control unit. Each Action by the processor is therefore time-critical. The Processor designed according to the invention therefore provides an optimally interlocking result Association of a numerical control and a program mable control unit to a complete uniform machine tool control.

Eine Weiterbildung des Steuerprozessors nach Patentanspruch 2 bietet den Vorteil, daß vom Werk­ zeugmaschinenhersteller oder Anwender sehr leicht Redigier­ funktionen durchgeführt werden können, wie sie beispielswei­ se in der US-PS 38 13 649 beschrieben sind.A training course for the tax processor according to claim 2 has the advantage that from the factory Machine tool manufacturers or users very easy to edit functions can be performed, such as se are described in US-PS 38 13 649.

Eine Weiterbildung des Steuerprozessors nach Patentanspruch 3 ermöglicht es in Verbindung mit Speicherregistern des Prozessors, Steuergerätbefehle un­ mittelbar und effizient auszuführen.A training course for the tax processor according to claim 3, it allows in conjunction with Memory registers of the processor, control unit commands and to carry out indirectly and efficiently.

Die Erfindung und ihre Weiterbildungen werden im folgenden anhand der Zeichnungen näher beschrieben, die ein bevor­ zugtes Ausführungsbeispiel darstellen. Es zeigtThe invention and its developments are as follows with reference to the drawings described before represent drawn embodiment. It shows

Fig. 1 eine perspektivische Ansicht einer in einem Schrank angeordneten, numerischen Steuerung, die an eine Werkzeugmaschine angeschlossen ist,Disposed Fig. 1 is a perspective view of a cabinet in a numerical controller, which is connected to a machine tool,

Fig. 2 eine perspektivische Ansicht der numerischen Steue­ rung nach Fig. 1 bei geöffneter Schranktür, Fig. 2 is a perspective view of the numerical Steue tion of FIG. 1 with the cabinet door is open,

Fig. 3 ein Blockschaltbild der numerischen Steuerung nach Fig. 1, die Fig. 3 is a block diagram of the numerical control of FIG. 1, the

Fig. 4A und 4B ein Blockschaltbild eines Steuer­ prozessors, der einen Teil der Steuerung nach Fig. 3 bildet, FIGS. 4A and 4B is a block diagram of a control processor, which forms part of the controller of FIG. 3,

Fig. 5 ein Blockschaltbild eines Rechen- und Logikprozessors, der einen Teil des Steuerprozessors nach Fig. 4B bildet, Fig. 5 is a block diagram of an arithmetic and logic processor that forms a part of the control processor of FIG. 4B,

Fig. 6 ein Blockschaltbild einer Eingabe/Ausgabe-Schaltung, die einen Teil des Steuerprozessors nach Fig. 4B bildet, Fig. 6 is a block diagram of an input / output circuit which forms part of the control processor of Figure 4B.,

Fig. 7 ein schematisches Schaltbild einer Prioritätscodier­ schaltung, die einen Teil des Steuer­ prozessors nach Fig. 4A bildet, Fig. 7 is a schematic diagram of a circuit Prioritätscodier, the processor part of the control of FIG. 4A forms,

Fig. 8 ein Blockschaltbild einer Echtzeit-Taktgeberschaltung, die ein Teil des Steuerprozessors nach Fig. 4B bildet, Fig. 8 is a block diagram of a real time clock circuit forming part of the control processor of FIG. 4B,

Fig. 9 ein Flußdiagramm des Software-Systems, Fig. 9 is a flowchart of the software system,

Fig. 10 eine schematische Darstellung der Beziehung der ex­ ternen E/A-Vorrichtungen zu Plätzen im Haupt-Arbeits­ speicher des Prozessors nach Fig. 4A, Fig. 10 is a schematic representation of the relationship of the ex ternal I / O devices to places in the main working memory of the processor of FIG. 4A,

Fig. 11 eine schematische Darstellung eines Teils des Takt­ geber-Zählers und Wortspeichers nach Fig. 10, Fig. 11 is a schematic representation of a portion of the clock timer counter and word memory of Fig. 10,

Fig. 12A eine schematische Zeichnung zur Erläuterung der Pro­ grammierung des Prozessors nach Fig. 4A, FIG. 12A is a schematic drawing for explaining the Pro programming of the processor of FIG. 4A,

Fig. 12B ein Leiterdiagramm zur Veranschaulichung der Pro­ grammierung des Prozessors nach Fig. 4A, FIG. 12B is a ladder diagram illustrating the programming of the Pro processor of Fig. 4A,

Fig. 13 ein Flußdiagramm der Haupt-Steuergerät-Routine, die einen Teil des Software-Systems nach Fig. 9 bildet, Fig. 13 is a flow chart of the main controller routine which forms a part of the software system of FIG. 9,

Fig. 14A und 14B ein Flußdiagramm der Blockausführungs- Routine, die einen Teil des Software-Systems nach Fig. 9 bildet, FIG. 14A and 14B a flow chart of Blockausführungs- routine which forms a part of the software system of FIG. 9,

Fig. 15A und 15B ein Flußdiagramm der Zehn-Millisekunden- Takt-Unterbrechungsroutine, die einen Teil des Soft­ ware-Systems nach Fig. 9 bildet, FIG. 15A and 15B are a flowchart of the ten-millisecond clock interrupt routine which forms a part of the soft ware system of FIG. 9,

Fig. 16 eine Darstellung einer einzigen Tastatur, die an­ stelle der zwei in Fig. 1 dargestellten Tastaturen verwendet werden kann, Fig. 16 is an illustration of a single keyboard, the location of two can be used in Fig. 1 shown keyboards,

Fig. 17 und 18 Flußdiagramme der Programmredigier-Routine, die einen Teil des Software-Systems nach Fig. 9 bildet, FIGS. 17 and 18 are flow charts of the Programmredigier routine which forms a part of the software system of FIG. 9,

Fig. 19A-19C Flußdiagramme der Subroutinen, die von der Programmredigier-Routine nach Fig. 18 aufgerufen werden, und FIG. 19A-19C are flow charts of the subroutines which are called by the Programmredigier routine of Fig. 18, and

Fig. 20A und 20B ein Flußdiagramm einer XIC-Taste-Subroutine, die von der Programmredigierroutine nach Fig. 18 auf­ gerufen wird. FIG. 20A and 20B a flow chart of a XIC button subroutine that is called by the Programmredigierroutine of FIG. 18.

Nach Fig. 1 ist eine numerische Steuerung in einem Schrank 1 untergebracht und über ein Kabel 2 mit einer Viel­ funktions-Werkzeugmaschine mit automatischem Werkzeugwechsler 3 verbunden. Die numerische Steuerung steuert die Be­ wegung eines Schneidwerkzeugs 4 längs zweier oder mehrerer Be­ wegungsachsen (Koordinaten) in Abhängigkeit von einem Teil­ programm, das von einem Bandleser 5 abgelesen wird. Außerdem steuert die numerische Steuerung in Abhängigkeit von Befehlen, die vom Bandleser 5 gelesen wurden, Hilfsfunktionen der Werkzeugmaschine 3, wie eine selbsttätige Werkzeugwahl und -auswechslung aus einem Werkzeugmagazin 6, Palettenwahl und -wechsel, Spindeldrehzahl- und Kühlmittelbetätigung. Die Verwirklichung dieser Hilfsfunktionen umfaßt das Abtasten von 1-Bit-Signalen, die von mehreren Eingabe-Vorrichtungen erzeugt werden, z. B. von Grenzschaltern, Wählschaltern und Fotozellen, die an der Werkzeugmaschine 3 angebracht sind, und die Betäti­ gung einer Vielzahl von Ausgabevorrichtungen, wie Hubmagneten, Lampen, Relais und Motoranlasser. Die Anzahl und Art dieser Eingabe- und Ausgabevorrichtungen sowie die Art, in der sie betrieben werden, ist von Maschine zu Maschine unterschied­ lich.According to Fig. 1, a numerical control unit is housed in a cabinet 1 and connected via a cable 2 with a multi-function machine tool with automatic tool changer. 3 The numerical control controls the movement of a cutting tool 4 along two or more loading axes (coordinates) depending on a part program that is read by a tape reader 5 . In addition, the numerical control controls auxiliary functions of the machine tool 3 as a function of commands that were read by the tape reader 5 , such as automatic tool selection and replacement from a tool magazine 6 , pallet selection and change, spindle speed and coolant actuation. The implementation of these auxiliary functions involves the sampling of 1-bit signals generated by several input devices, e.g. B. of limit switches, selector switches and photocells, which are attached to the machine tool 3 , and the actuation of a variety of output devices such as solenoids, lamps, relays and motor starters. The number and type of these input and output devices and the way in which they are operated differ from machine to machine.

Die beschriebene numerische Steuerung läßt sich leicht an alle Werkzeugmaschinenfabrikate anpassen. Diese An­ passung erfolgt durch Programmierung der numerischen Steue­ rung mittels einer Hilfstastatur 7 derart, daß wählbar der Zustand der jeweiligen Eingabevorrichtungen der zu steuern­ den Werkzeugmaschine abgetastet und ihre Ausgabevorrichtungen wählbar so gesteuert werden, daß sie die gewünschte Operations­ art durchführen.The numerical control described can be easily adapted to all machine tool brands. This is done by programming the numerical control by means of an auxiliary keyboard 7 in such a way that the state of the respective input devices of the machine tool to be controlled is selectively scanned and its output devices are selectively controlled so that they perform the desired type of operation.

An der Tür des Schranks 1 unmittelbar über der Hilfstastatur 7 ist eine manuelle Dateneingabe-Tastatur 8 (MDE-Tastatur) und ein zugehöriges Kathodenstrahlröhren-Sichtgerät 9 angeordnet. Rechts von der MDE-Tastatur 8 und dem Sichtgerät 9 ist eine Hauptsteuertafel 10 angebracht, die eine Vielzahl von Druck­ tasten und Wählschaltern für herkömmliche Bedienungsaufgaben, wie Betriebsartwahl, Vorschubgeschwindigkeitsübersteuerung, Spindeldrehzahlübersteuerung, Tastbetriebswahl, Achsenwahl und dergleichen, aufweist. Eine der Drucktasten gibt die Tastaturen 7 und 8 zur Dateneingabe frei.A manual data entry keyboard 8 (MDE keyboard) and an associated cathode ray tube viewing device 9 are arranged on the door of the cabinet 1 directly above the auxiliary keyboard 7 . To the right of the MDE keyboard 8 and the display device 9 there is a main control panel 10 which has a large number of pushbuttons and selector switches for conventional operating tasks, such as mode selection, feed rate override, spindle speed override, touch mode selection, axis selection and the like. One of the pushbuttons releases the keyboards 7 and 8 for data entry.

Zu insbesondere den Fig. 2 und 3: Die Elemente der numerischen Steuerung sind im Schrank 1 so angeordnet, daß sie leicht zur Inspektion, Prüfung und Wartung zugänglich sind. Die Tastaturen 7 und 8 sind zusammen mit Bandleser 5, Sicht­ gerät 9 und Hauptsteuertafel 10 an der Schranktür 11 ange­ bracht. Eine sekundäre Steuertafel 12 ist unmittelbar über dem Bandleser 5 angeordnet, und alle diese E/A-Vorrichtungen der Steuerung sind an einen industriellen Steuerprozessor 13 angeschlossen, der am Boden des Schranks 1 angeordnet ist. Im einzelnen verläuft die Verbindung des Bandlesers 5 über ein Kabel 14, die der sekundären Steuertafel 12 über ein Kabel 15, die der Hilfstastatur 7 über ein Kabel 16, die des Sicht­ geräts 9 über ein Kabel 17 und die der Hauptsteuertafel 10 über ein Kabel 18 zu einem Sammelkabel 19, das zum industriel­ len Steuerprozessor 13 führt. Eine Prozessorfronttafel 26 weist mehrere manuell betätigbare Drucktasten und Sichtanzeigen auf, die sich auf die Betätigung des Prozessors 13 beziehen und mit diesem über eine Vielfachleitung 27 (bzw. einen Kanal 27) verbunden sind.To particular Figures 2 and 3. The elements of the numerical controller are arranged in the cabinet 1 so that they are easily accessible for inspection, testing and maintenance. The keyboards 7 and 8 are together with tape reader 5 , view device 9 and main control panel 10 on the cabinet door 11 is introduced . A secondary control panel 12 is located immediately above the tape reader 5 , and all of these control I / O devices are connected to an industrial control processor 13 located at the bottom of the cabinet 1 . In detail, the connection of the tape reader 5 via a cable 14 , that of the secondary control panel 12 via a cable 15 , the auxiliary keyboard 7 via a cable 16 , the view device 9 via a cable 17 and that of the main control panel 10 via a cable 18th to a collecting cable 19 , which leads to the industrial control processor 13 len. A processor front panel 26 has a plurality of manually operable pushbuttons and visual displays which relate to the actuation of the processor 13 and are connected to it via a multiple line 27 (or a channel 27 ).

Zwei Eingabe/Ausgabe-(E/A)-Schnittstellengestelle 20 und 21 sind im Schrank 1 über dem Prozessor 13 angeordnet und mit diesem über ein Sammelkabel 22 verbunden, das links von ihnen nach oben verläuft. Ein Hauptstromversorgungsgerät 23 ist über dem E/A-Schnittstellengestell 21 angeordnet, wäh­ rend ein Arbeitsspeicher-Stromversorgungsgerät 24 an der linken Seitenwand des Schranks 1 angeordnet ist.Two input / output (I / O) interface frames 20 and 21 are arranged in the cabinet 1 above the processor 13 and connected to it via a collecting cable 22 which runs upwards to the left of them. A main power supply device 23 is arranged above the I / O interface frame 21 , while a memory power supply device 24 is arranged on the left side wall of the cabinet 1 .

Die E/A-Schnittstellengestelle 20 und 21 tragen eine Viel­ zahl von Eingabe- und Ausgabeschaltungen auf dicht benach­ barten, vertikal stehenden gedruckten Schaltungsplatten (die in den Zeichnungen nicht dargestellt sind). Diese Ein­ gabe- und Ausgabeschaltungen dienen zur Ankopplung des Steuerprozessors 13 an das Kabel 2, das zur Werkzeugmaschine 3 führt, und können Eingabeschaltungen zur Abtastung des Zustands von Grenz-, Wähl- und Drucktasten- Schaltern, wie sie z. B. in der US-Patentschrift 36 43 115 angegeben sind, und Ausgabeschaltungen für den Antrieb von Hubmagneten und Motoren aufweisen, wie sie in der US-Patent­ schrift 37 45 546 angegeben sind. Die Eingabeschaltungen wei­ sen auch Lage-Istwert-Akkumulatoren auf, denen Istwertdaten von Lage-Meßumformern an der Werkzeugmaschine 3 zugeführt werden, und die Ausgabeschaltungen weisen Register zur Über­ tragung von Achsenbewegungs-Sollwerten an die Werkzeugmaschi­ nen-Regelvorrichtungen (Servovorrichtungen) auf. Nähere Ein­ zelheiten bezüglich des mechanischen Aufbaus der E/A-Schnitt­ stellengestelle 20 und 21 können der US-Patentschrift 39 92 654 entnommen werden. Der Schrank 1 mit den beiden E/A- Schnittstellengestellen 20 und 21 reicht zur Steuerung einer typischen Drei-Achsen-Werkzeugmaschine aus. Wenn jedoch eine größere Anlage erforderlich ist, können bis zu fünf zusätz­ liche E/A-Schnittstellengestelle in benachbarten Schränken zur Erhöhung der Eingabe/Ausgabe-Kapazität untergebracht wer­ den.The I / O interface frames 20 and 21 carry a variety of input and output circuits on closely adjacent vertical printed circuit boards (not shown in the drawings). These input and output circuits are used to couple the control processor 13 to the cable 2 , which leads to the machine tool 3 , and can be input circuits for scanning the state of limit, selection and push-button switches, such as those used for. B. are specified in US Patent 36 43 115, and have output circuits for driving solenoids and motors, such as are specified in US Patent 37 45 546. The input circuits also have actual position value accumulators, to which actual value data from position measuring transducers on the machine tool 3 are supplied, and the output circuits have registers for transmitting setpoint axis movement values to the machine tool control devices (servo devices). Further details regarding the mechanical structure of the I / O interface frames 20 and 21 can be found in US Pat. No. 3,992,654. The cabinet 1 with the two I / O interface frames 20 and 21 is sufficient to control a typical three-axis machine tool. However, if a larger system is required, up to five additional I / O interface racks can be accommodated in neighboring cabinets to increase the input / output capacity.

Nach den Fig. 4A und 4B ist der Steuerprozessor 13 um einen 16-Bit-bidirektionalen-Prozessor-Datenkanal 30 herum angeordnet. Die Daten werden über diesen Kanal 30 von einem Prozessor-Element zum anderen bei der Ausführung eines Mikrobefehls übertragen, der in einem 24-Bit-Mikrobefehls­ register 31 gespeichert ist. Jeder Mikrobefehl bestimmt die Quelle der Daten, die dem Datenkanal 30 zugeführt werden sol­ len, den Bestimmungsort der Daten und alle Operationen, die mit den Daten ausgeführt werden sollen. Die Mikrobefehle sind in einem Mikroprogramm-Festspeicher 32 gespeichert, und alle 200 Nanosekunden wird einer über einen Kanal 33 ausgelesen und ins Mikrobefehlsregister 31 übertragen. Der Festspeicher 32 speichert eine große Anzahl getrennt adressierbarer oder wählbarer Mikroroutinen, von denen jede aus einem Satz von Mikrobefehlen besteht. Wenn der Prozessor 13 eine gewünschte Funktion ausführen soll, wird die entsprechende Mikroroutine in dem Festspeicher 32 gespeichert und durch einen 16-Bit- Makrobefehl, der in einem Lese-Schreib-Hauptarbeitsspeicher 34 gespeichert ist, ausgewählt bzw. aufgerufen. FIGS. 4A and 4B, the control processor is arranged to provide a 16-bit bidirectional data channel processor 30 around. 13 The data is transmitted via this channel 30 from one processor element to the other when a microinstruction is executed, which is stored in a 24-bit microinstruction register 31 . Each microinstruction determines the source of the data to be supplied to data channel 30 , the destination of the data, and all operations to be performed on the data. The microinstructions are stored in a microprogram read-only memory 32 , and one is read out via a channel 33 every 200 nanoseconds and transferred to the microinstruction register 31 . Read-only memory 32 stores a large number of separately addressable or selectable micro routines, each of which consists of a set of micro instructions. When the processor 13 is to perform a desired function, the corresponding micro routine is stored in the read-only memory 32 and selected by a 16-bit macro instruction stored in a read-write main memory 34 .

Der Haupt-Arbeitsspeicher 34 besteht aus dynamischen 4K-durch- 1-MOS-Direktzugriffsspeichern, die eine Speicherkapazität von bis zu 32 000 16-Bit-Wörtern haben. Aus dem bzw. in den Haupt- Speicher 34 werden Makrobefehle und Daten über ein 16-Bit- Arbeitsspeicher-Datenregister 35, das an den Prozessor-Daten­ kanal 30 angeschlossen ist, ausgelesen bzw. eingeschrieben. Die Arbeitsspeicher-Wörter werden über ein 15-Bit-Arbeits­ speicher-Adressenregister 36 ausgewählt oder adressiert, das ebenfalls an den Prozessordatenkanal 30 angeschlossen ist. Um eine Information in den Haupt-Arbeitsspeicher 34 einzuschrei­ ben, wird zuerst eine Adresse in das Arbeitsspeicher-Adressen­ register 36 geladen, indem seiner Taktleitung 29 ein 1-Signal (in Form einer hohen Spannung) zugeführt wird. Die einzu­ speichernden Daten erscheinen in dem Prozessordatenkanal 30 und werden durch das Arbeitsspeicher-Datenregister durch An­ legen eines 1-Signals an seine Dateneingabe-Taktleitung 27 durchgeschaltet. Dann wird einer Lese/Schreib-Steuerleitung 34′ am Arbeitsspeicher 34 ein 1-Signal zugeführt, um die Lade­ operation abzuschließen. Daten oder ein Makrobefehl werden über eine adressierte Leitung des Haupt-Arbeitsspeichers 34 ausgelesen, wenn ein Mikrobefehl LESEN ausgeführt wird. Der Lese/Schreib-Steuerleitung 34′ wird ein 0-Signal (eine nie­ drige Spannung) und einer Datenausgabe-Freigabeleitung 28 am Arbeitsspeicher-Datenregister 35 ein 1-Signal zugeführt. Das Datenwort wird vorübergehend im Register 35 gespeichert und anschließend über den Prozessor-Datenkanal 30 zur ge­ wünschten Stelle übertragen.Main memory 34 consists of dynamic 4K by 1 MOS random access memories that have a storage capacity of up to 32,000 16-bit words. Macro commands and data are read or written from or into the main memory 34 via a 16-bit main memory data register 35 which is connected to the processor data channel 30 . The memory words are selected or addressed via a 15-bit memory address register 36 , which is also connected to the processor data channel 30 . In order to write information into the main working memory 34 , an address is first loaded into the working memory address register 36 by supplying its clock line 29 with a 1 signal (in the form of a high voltage). The data to be stored appear in the processor data channel 30 and are switched through by the main memory data register by applying a 1 signal to its data input clock line 27 . Then a read / write control line 34 ' at the working memory 34 is supplied with a 1 signal to complete the loading operation. Data or a macro instruction is read out over an addressed line of main memory 34 when a READ micro instruction is executed. The read / write control line 34 ' is a 0 signal (a never drige voltage) and a data output enable line 28 is supplied to the memory data register 35, a 1 signal. The data word is temporarily stored in the register 35 and then transmitted via the processor data channel 30 to the desired location.

In Abhängigkeit von der Ausführung einer Mikroroutine AB­ RUFEN, die den Mikrobefehl LESEN enthält, wird ein Makrobe­ fehl aus dem Haupt-Arbeitsspeicher 34 ausgelesen und über den Datenkanal 30 in ein 16-Bit-Makrobefehlsregister 37 übertragen. Der Makrobefehl wird in dem Register 37 durch ein 1-Signal ab­ gespeichert, das einer Makrobefehlsregister-Taktleitung 37′ zugeführt wird. Bestimmte Makrobefehle enthalten Operations­ codes, die über einen Befehlsregisterkanal 39 einer Makro­ decodierschaltung 38 zugeführt werden, und weitere Befehle enthalten auch einen Bit-Hinweiscode, der über den gleichen Befehlsregisterkanal 39 einer Bit-Hinweisschaltung 40 zuge­ führt wird. Bei der Bit-Hinweisschaltung 40 handelt es sich um einen binären Decodierer, der vier Eingänge, die mit den den niedrigsten Ziffernstellen zugeordneten Ausgängen des Makrobefehlsregisters 37 verbunden sind, und eine Gruppe aus 16 Ausgängen aufweist, die jeweils mit einer Leitung in dem Prozessor-Datenkanal 30 verbunden sind. In Abhängigkeit von der Ausführung eines vorbestimmten Makrobefehls (MASKIEREN), wird einem Anschluß 41 ein 1-Signal zugeführt, so daß die Bit-Hinweisschaltung 40 einer ausgewählten Leitung der 16 Lei­ tungen in dem Prozessor-Datenkanal 30 ein 0-Signal zuführt. Die Bit-Hinweisschaltung 40 gestattet die Ausführung bestimm­ ter Makrobefehle eines programmierbaren Steuergeräts, wie noch näher beschrieben wird.Depending on the execution of a CALL RETURN micro-routine that contains the READ microinstruction, a macro error is read out of the main working memory 34 and transferred via the data channel 30 into a 16-bit macro instruction register 37 . The macro instruction is stored in the register 37 by a 1 signal, which is supplied to a macro instruction register clock line 37 ' . Certain macro commands include Operations codes, the 39 a macro, via a command register channel decoding circuit are fed to 38, and other commands also include a bit indication code, which is a bit-indication circuit supplies 40 fed over the same command register channel. 39 Bit pointer circuit 40 is a binary decoder that has four inputs connected to the lowest digit digit outputs of macro instruction register 37 and a group of 16 outputs, each with one line in the processor data channel 30 are connected. Depending on the execution of a predetermined macro command (MASK), a 1 signal is supplied to a terminal 41 , so that the bit indication circuit 40 supplies a selected line of the 16 lines in the processor data channel 30 with a 0 signal. The bit pointer circuit 40 allows certain macro commands from a programmable controller to be executed, as will be described.

In Abhängigkeit von einem Operationscode eines im Register 37 gespeicherten Makrobefehls wird eine der im Festspeicher 32 gespeicherten Mikroroutinen ausgewählt. Der Operationscode wird der Makrodecodierschaltung 38 zugeführt, die einen von vier Abbildungs-Proms (PROM=Programmierbarer Festspeicher) 42 bis 45 auftastet und eine ausgewählte Zeile in dem auf­ getasteten Abbildungs-Prom adressiert. Jede Zeile der Ab­ bildungs-Proms 42 bis 45 speichert eine 12-Bit-Mikroroutinen- Anfangsadresse, die nach dem Auslesen einem Mikroprogramm- Adressenkanal 46 zugeführt wird, um ein 12-Bit-Mikroprogramm- Ablaufsteuerwerk 47 voreinzustellen. Das Ablaufsteuerwerk 47 ist ein voreinstellbarer Zähler, der einen Ladeanschluß 52, einen Fortschaltanschluß 53 und einen Taktanschluß 54 auf­ weist. Der Taktanschluß 54 wird von einem Fünf-Megahertz- Taktsignal beaufschlagt, das von einer Prozessor-Taktschal­ tung 45 erzeugt wird, die mit dem Ablaufsteuerwerk 47 über ein UND-Tor 46 verbunden ist. Jedesmal, wenn dem Anschluß 54 des Mikroprogramm-Ablaufsteuerwerks 47 ein 1-Takt-Impuls zu­ geführt wird, wird es entweder auf eine Adresse voreingestellt, die im Kanal 46 erscheint, oder um einen Zählschritt weiter­ geschaltet bzw. um eins erhöht. Gleichzeitig erhält das Mikro- Befehlsregister 31 über eine Leitung 88 und ein UND-Tor 88′ ein Taktsignal zum Lesen und Speichern des Mikrobefehls, der vom Mikroprogramm-Ablaufsteuerwerk 47 adressiert wird. Die UND-Tore 86 und 88 können in Abhängigkeit von vorbestimmten Codes in einem Mikrobefehl gesperrt werden, um das Fünf-Mega­ hertz-Taktsignal zu sperren. Dieses Trennen des Taktgebers 85 vom Ablaufsteuerwerk 47 erfolgt beispielsweise während Ein­ gabe- und Ausgabeoperationen, um den Daten eine Laufzeit von einer Mikrosekunde zu gewähren.Depending on an operation code of a macro instruction stored in register 37 , one of the micro routines stored in read-only memory 32 is selected. The opcode is applied to the macro decoder circuit 38 which gates one of four map proms (PROM = programmable read only memory) 42 through 45 and addresses a selected line in the map prom gated. Each line of the image proms 42 through 45 stores a 12-bit micro-routine start address which, after being read out, is fed to a micro-program address channel 46 to preset a 12-bit micro-program sequencer 47 . The sequential control unit 47 is a presettable counter, which has a charging connection 52 , an indexing connection 53 and a clock connection 54 . The clock connection 54 is acted upon by a five-megahertz clock signal, which is generated by a processor clock circuit 45 , which is connected to the sequencer 47 via an AND gate 46 . Every time the connection 54 of the microprogram sequence controller 47 is supplied with a 1-stroke pulse, it is either preset to an address which appears in the channel 46 , or switched on by a counting step or increased by one. At the same time, the micro instruction register 31 receives via a line 88 and an AND gate 88 ' a clock signal for reading and storing the microinstruction, which is addressed by the microprogram sequence controller 47 . The AND gates 86 and 88 can be locked in response to predetermined codes in a microinstruction to disable the five megahertz clock signal. This separation of the clock 85 from the sequential control unit 47 takes place, for example, during input and output operations in order to grant the data a runtime of one microsecond.

Jeder Mikrobefehl, der aus dem Festspeicher 32 ins Mikrobe­ fehlsregister 31 übertragen wird, wird über einen Mikrobe­ fehlskanal 31 A in eine Mikrobefehls-Decodierschaltung 48 ge­ leitet, die ebenfalls an der Taktleitung 88 angeschlossen ist. Die Mikrobefehle werden decodiert und ausgeführt, bevor der nächste Taktimpuls dem Anschluß 54 des Mikroprogramm-Ablauf­ steuerwerks 47 zugeführt wird. Wie noch näher dargelegt wird, besteht jeder Mikrobefehl aus mehreren getrennten Codes, die als Mikroaufträge bezeichnet werden und getrennt decodiert werden, um eines der Prozessor-Elemente aufzutasten bzw. freizugeben.Each microinstruction misregistration from the ROM 32 into the microbe is transmitted is 31, 48 passes through a microbe ge failed channel 31 A in a microinstruction decoder circuit, which is also connected to the clock line 88th The microinstructions are decoded and executed before the next clock pulse is supplied to the connection 54 of the microprogram sequence control unit 47 . As will be explained in more detail, each microinstruction consists of several separate codes, which are referred to as microorders and are decoded separately in order to probe or release one of the processor elements.

Jede im Mikroprogramm-Festspeicher 32 gespeicherte Mikro­ routine schließt mit einem Spezialmikrobefehl ab, der einen Code oder Mikroauftrag enthält, der nachstehend mit der Kurz­ bezeichnung EOX oder EOXS angesprochen wird. Bei Zuführung zur Mikrobefehls-Decodierschaltung 48 bewirkt dieser Code, daß einem Prioritäts-Abbildungs-Prom 50 über eine EOX-Leitung 49 ein 1-Signal zugeführt wird. Wenn sich der industrielle Steuerprozessor 13 im DURCHLAUF-Betrieb befindet, wird die Anfangsadresse der ABRUF-Mikroroutine aus dem Prioritäts- Abbildungs-Prom 50 ausgelesen und dem Ablaufstuerwerk 47 über den Kanal 46 zugeführt. Die Mikrobefehls-Decodierschal­ tung 48 führt ferner ein 1-Signal einer Voreinstellungsleitung 51 zu, die mit dem Ladeanschluß 52 des Mikroprogramm-Ablauf­ steuerwerks 47 verbunden ist, um das Ablaufsteuerwerk 47 auf die Anfangsadresse der ABRUF-Mikroroutine einzustellen.Each microroutine stored in the microprogram read-only memory 32 ends with a special microinstruction which contains a code or micro order, which is referred to below with the short name EOX or EOXS. When supplied to the microinstruction decoding circuit 48 , this code causes a priority mapping prom 50 to be supplied with a 1 signal via an EOX line 49 . When the industrial control processor 13 is in the CONTINUOUS mode, the start address of the FET micro-routine is read from the priority mapping prom 50 and supplied to the sequencer 47 via the channel 46 . The microinstruction decoding TIC 48 further comprising a 1 signal to a preset line 51 to which is connected 47 to the load terminal 52 of the microprogram sequence controller factory, to adjust the flow control unit 47 to the starting address of the fetch micro routine.

Wie bereits erwähnt wurde, dient die ABRUF-Mikroroutine zum Auslesen des nächsten auszuführenden Makrobefehls aus dem Haupt-Arbeitsspeicher 34, zu dessen Übertragung ins Makro­ befehlsregister 37 und zur Auslösung der Ausführung dieses Makrobefehls. Der letzte Mikrobefehl in der ABRUF-Mikroroutine enthält einen Code, der im folgenden mit der Kurzbezeichnung MAP angesprochen wird. Dieser Mikrobefehlscode bewirkt, daß die Mikrobefehls-Decodierschaltung 48 der Makrodecodierschal­ tung 3 über eine MAP-Leitung 52 ein 1-Signal zuführt, um die Decodierung des Makrobefehls auszulösen, der im Makrobefehls­ register 37 gespeichert ist. Ferner wird der Voreinstellungs­ leitung 51 ein 1-Signal zugeführt, um das Mikroprogramm-Ab­ laufsteuerwerk 47 mit der Anfangsadresse der vom decodierten Makrobefehl aufgerufenen Mikroroutine zu laden. Die Liste der Abruf-Mikroroutine ist im Mikroroutinen-Anhang enthalten. As already mentioned, the FET micro routine is used to read the next macro command to be executed from the main working memory 34 , to transfer it to the macro command register 37 and to trigger the execution of this macro command. The last microinstruction in the ACCESS micro-routine contains a code which is referred to below with the short name MAP. This microinstruction code causes the microinstruction decoding circuit 48 to supply a 1 signal to the macrodecoding circuit 3 through a MAP line 52 to initiate decoding of the macroinstruction stored in the macroinstruction register 37 . Furthermore, the preset line 51 is supplied with a 1 signal in order to load the microprogram sequence controller 47 with the start address of the micro routine called by the decoded macro instruction. The list of the retrieval microroutine is contained in the microroutine appendix.

Wie Fig. 4B zeigt, werden vom Steuerprozessor 13 mathematische und logische Operationen in einem Rechen- und Logikprozessor 55 durchgeführt, der über den Kanal 56 mit dem Prozessordatenkanal 30 und der Mikrobefehls-Decodier­ schaltung 48 verbunden ist. Nach Fig. 5 enthält der Rechen- und Logikprozessor 55 ein "L"-Register 57 für 16 Bits, das an die Leitungen in dem Prozessordatenkanal 30 angeschlos­ sene Eingänge und eine entsprechende Gruppe von Ausgängen aufweist, die über einen Kanal 58 mit den "B"-Eingängen ei­ ner 16-Bit-Rechen- und Logikeinheit (RLE) 59 verbunden sind. Die Daten im Kanal 30 werden taktweise ins L-Register 57 eingetastet, wenn einer Leitung 60 ein 1-Signal zugeführt wird, und das L-Register 57 wird gelöscht, wenn einer Lei­ tung 61 ein 1-Signal zugeführt wird. Die Leitungen 60 und 61 führen über den Kanal 56 zur Mikrobefehls-Decodierschaltung 48 und werden daher von vorbestimmten Mikrobefehlen gesteuert. As, Fig. 4B, mathematical from the control processor 13 and logical operations are carried out in an arithmetic and logic processor 55 which is connected via the channel 56 to the processor data channel 30 and the microinstruction decode circuit 48. According to FIG. 5, the arithmetic and logic processor 55 contains a "L" register 57 for 16 bits, which has on the lines in the processor data channel 30 is closed folio inputs and a corresponding group of outputs via a channel 58 with the "B " Inputs of a 16-bit arithmetic and logic unit (RLE) 59 are connected. The data in channel 30 is clocked into the L register 57 when a line 60 is supplied with a 1 signal, and the L register 57 is cleared when a line 61 is supplied with a 1 signal. Lines 60 and 61 lead via channel 56 to microinstruction decoding circuit 48 and are therefore controlled by predetermined microinstructions.

Die RLE 59 besteht aus vier im Handel erhältlichen Rechen­ logikeinheiten, die mit einer im Handel erhältlichen Voll­ übertrag-Vorgriffschaltung zur Durchführung von Hochgeschwin­ digkeitsoperationen, wie Additionen, Subtraktionen, Verringe­ rungen um eins und Geradeausübertragungen, kombiniert sind. Die RLE 59 hat sechzehn A-Eingänge, die unmittelbar mit den Leitungen im Prozessordatenkanal 30 verbunden sind, und vier Funktionswählleitungen 62, die über den Kanal 56 mit der Mikrobefehls-Decodierschaltung 48 verbunden sind. In Abhängig­ keit von vorgewählten Mikrobefehlen führt die RLE 59 Opera­ tionen mit ihren Eingängen A und B zugeführten Daten aus und überträgt die 16-Bit-Ergebnisse über einen Kanal 64 in eine Schiebeschaltung 63.The RLE 59 consists of four commercially available computing logic units, which are combined with a commercially available full transfer look-ahead circuit for performing high-speed operations such as additions, subtractions, reductions by one and straight-line transmissions. The RLE 59 has sixteen A inputs that are connected directly to the lines in processor data channel 30 and four function select lines 62 that are connected to microinstruction decoding circuit 48 via channel 56 . Depending on preselected microinstructions, the RLE 59 executes operations with its inputs A and B and transfers the 16-bit results via a channel 64 to a shift circuit 63 .

Die RLE 59 erzeugt ferner Signale, die einem RLE-Decodierer 114 zugeführt werden, der eine Anzeige bewirkt, wenn das Er­ gebnis einer logischen oder arithmetischen Operation null ist, aus lauter Einsen besteht, ungerade ist, negativ ist oder wenn bei ihrer Durchführung ein Überlauf oder ein Übertrag auftritt. The RLE 59 also generates signals which are fed to an RLE decoder 114 which provides an indication when the result of a logical or arithmetic operation is zero, is all 1's, is odd, is negative, or when an overflow occurs when it is performed or a carryover occurs.

Das Auftreten einer solchen Bedingung wird getrennt von Mikroaufträgen oder -codes in Mikrobefehlen überprüft, die den RLE-Decodierer 114 über den Kanal 56 auftasten bzw. einschalten. Das Auftreten der überwachten Bedingungen hat die Erzeugung eines 1-Signals auf einer Spring-Leitung 115, die mit dem Decodierer 48 verbunden ist, zur Folge.The occurrence of such a condition is checked separately from micro-orders or codes in micro-instructions which activate or switch on the RLE decoder 114 via the channel 56 . The occurrence of the monitored conditions results in the generation of a 1 signal on a jump line 115 connected to decoder 48 .

Das Auftreten eines Überlaufs in der RLE 59 kann auch in ei­ nem Überlauf-Flipflop 116 gespeichert werden, wenn ihrem Takt­ anschluß von der Decodierschaltung 48 über eine Leitung 117 ein 1-Signal zugeführt wird. Der Q-Ausgang des Flipflop 116 ist mit dem RLE-Decodierer 114 verbunden, und sein Zustand kann durch einen geeigneten Mikroauftrag überprüft werden. Ein System-Kennzeichen-Flipflop 118 ist am RLE-Decodierer 114 angeschlossen und kann in Abhängigkeit von einem geeigneten Mikroauftrag über eine Leitung 119 vom Mikrobefehlsdecodierer 48 umgeschaltet werden. Das Kennzeichen-Flipflop 118 kann in Abhängigkeit von einem der überprüften bzw. überwachten RLE- Zustände gesetzt werden, und sein Zustand kann seinerseits von einem geeigneten Mikroauftrag überprüft werden, der über den RLE-Decodierer 114 wirksam ist.The occurrence of an overflow in the RLE 59 can also be stored in an overflow flip-flop 116 if its clock connection from the decoding circuit 48 is supplied with a 1 signal via a line 117 . The Q output of flip-flop 116 is connected to RLE decoder 114 and its state can be checked by an appropriate micro order. A system flag flip-flop 118 is connected to the RLE decoder 114 and can be switched over by the microinstruction decoder 48 depending on a suitable micro order via a line 119 . The flag flip-flop 118 can be set depending on one of the checked or monitored RLE states, and its state can in turn be checked by a suitable micro job that is effective via the RLE decoder 114 .

Die Schiebeschaltung 63 besteht aus acht im Handel erhält­ lichen doppelten Vier-Leitungen-zu-einer-Leitung-Datenwählern, deren Eingänge mit vorbestimmten Leitungen im Kanal 64 ver­ bunden sind. Die sechzehn Ausgänge der Schiebeschaltung 63 sind mit einem sechzehn Leitungen aufweisenden RLE-Daten­ kanal 65 verbunden, und zwei Steuerleitungen 66 verbinden sie mit der Mikrobefehls-Decodierschaltung 48. In Abhängigkeit von den ausgewählten Mikrobefehlen leitet die Schiebeschal­ tung 63 das 16-Bit-Datenwort aus der RLE 59 direkt in den RLE-Datenkanal 65, oder sie verschiebt oder verdreht diese Daten um ein oder vier Bits.The shift circuit 63 consists of eight commercially available double four-line to one-line data selectors, the inputs of which are connected to predetermined lines in channel 64 . The sixteen outputs of the shift circuit 63 are connected to a sixteen line RLE data channel 65 and two control lines 66 connect them to the microinstruction decoding circuit 48 . Depending on the selected microinstructions, the shift circuit 63 directs the 16-bit data word from the RLE 59 directly into the RLE data channel 65 , or shifts or rotates this data by one or four bits.

Das 16-Bit-Datenwort im RLE-Kanal 65 wird einem 16-Bit-"A"- Register 67, einem 16-Bit-"B"-Register 68 oder einer Direkt­ zugriffspeicherbank 69 zugeführt. Die Daten werden in das A-Register 67 dadurch eingetastet, daß einer Leitung 70 ein 1-Signal zugeführt wird, die das A-Register 67 mit der Mikrobefehls-Decodierschaltung 48 verbindet, oder die Daten werden ins B-Register 68 eingetastet, indem ein 1-Signal einer Leitung 71 zugeführt wird, die das B-Register 68 mit der Mikrobefehls-Decodierschaltung 48 verbindet. Die sech­ zehn Ausgänge des A-Registers 67 sind mit den "A"-Eingängen eines 16-Bit-Multiplexers 62 verbunden, und die sechzehn Aus­ gänge des B-Registers 68 sind mit den "B"-Eingängen des Mul­ tiplexers 72 verbunden. Sechzehn Ausgänge des Multiplexers 72 sind mit den Leitungen im Prozessordatenkanal 30 verbun­ den, und wenn einer Freigabeleitung 73 ein 1-Signal zuge­ führt wird, wird entweder der Inhalt des A-Registers 67 oder der Inhalt des B-Registers 68 in den Prozessordatenkanal 30 geleitet. Die Auswahl erfolgt über eine Wählleitung 74, die zusammen mit der Freigabeleitung 73 zur Mikrobefehls-Decodier­ schaltung 48 führt. Bei der Ausführung ausgewählter Mikrobe­ fehle kann daher das A-Register 67 oder das B-Register 68 eine Datenquelle für den Prozessordatenkanal 30 über den Mul­ tiplexer 72 bilden, oder sie können durch ausgewählte Mikro­ befehle als Bestimmungsort der Daten auf dem Prozessorkanal 30 vorbestimmt werden, der über die RLE 59 und die Schiebe­ schaltung 63 angeschlossen ist.The 16-bit data word in RLE channel 65 is fed to a 16-bit "A" register 67 , a 16-bit "B" register 68, or a direct access memory bank 69 . The data is keyed into the A register 67 by applying a 1 signal to line 70 which connects the A register 67 to the microinstruction decoder circuit 48 , or the data is keyed into the B register 68 by a 1 signal is supplied to a line 71 which connects the B register 68 to the microinstruction decoding circuit 48 . The six ten outputs of the A register 67 are connected to the "A" inputs of a 16-bit multiplexer 62 , and the sixteen outputs of the B register 68 are connected to the "B" inputs of the multiplexer 72 . Sixteen outputs of the multiplexer 72 are connected to the lines in the processor data channel 30 , and if a release line 73 is supplied with a 1 signal, either the content of the A register 67 or the content of the B register 68 is routed to the processor data channel 30 . The selection is made via a dial line 74 which, together with the enable line 73, leads to the microinstruction decoding circuit 48 . When selected microbes are executed, the A register 67 or the B register 68 can therefore form a data source for the processor data channel 30 via the multiplexer 72 , or they can be predetermined by selected micro commands as the destination of the data on the processor channel 30 , which is connected via the RLE 59 and the sliding circuit 63 .

Der Direktzugriffspeicher 69 besteht aus vier im Handel er­ hältlichen 64-Bit-Direktzugriffspeichern, die sechzehn 16-Bit- Register bilden, und zwar das "P"-Register und die R1-R15- Register. Wenn einer Lese-Schreib-Leitung 75 ein 1-Signal zugeführt wird, wird in den Direktzugriffspeicher 69 ein 16-Bit-Datenwort aus dem RLE-Datenkanal 65 eingeschrieben. Andererseits wird der Inhalt eines der sechzehn Register des Speichers 69 über einen Kanal 76 einem 16-Bit-Datenpuffer 77 zugeführt, wenn der Leitung 75 ein 1-Signal zugeführt wird, und der Datenpuffer 77 speichert dieses Wort, wenn seine Takt­ leitung 78 ein 1-Signal erhält. Die Leitungen 75 und 78 führen zur Mikrobefehls-Decodierschaltung 48, so daß sowohl der Direkt­ zugriffspeicher 69 als auch der Datenpuffer 77 in Abhängig­ keit von ausgewählten Mikrobefehlen gesteuert werden.The random access memory 69 consists of four commercially available 64-bit random access memories which form sixteen 16-bit registers, namely the "P" register and the R1-R15 registers. When a 1 signal is supplied to a read-write line 75 , a 16-bit data word from the RLE data channel 65 is written into the random access memory 69 . On the other hand, the content of one of the sixteen registers of the memory 69 is supplied to a 16-bit data buffer 77 via a channel 76 when line 75 is supplied with a 1 signal, and data buffer 77 stores this word when its clock line 78 is a 1 Signal is received. The lines 75 and 78 lead to the microinstruction decoding circuit 48 , so that both the direct access memory 69 and the data buffer 77 are controlled in dependence on selected microinstructions.

Das jeweilige Register im Direktzugriffspeicher 69, das an­ gewählt werden soll, wird von einem 4-Bit-Adressencode be­ stimmt, der einer Gruppe von Anschlüssen 79 zugeführt wird. Die Adressenanschlüsse 79 sind mit den Ausgängen eines 4-Bit- Multiplexers 80 verbunden, der "A"-Eingänge zur Aufnahme der Bits 4-7 des Mikrobefehls (Ursprungsfeld) und vier "B"-Ein­ gänge zur Aufnahme der Bits 9-12 des Mikrobefehls (Empfangs- oder Bestimmungsortfeld) über den Mikrobefehlskanal 31 A auf­ weist. Der Multiplexer 80 wird über eine Leitung 81 aufge­ tastet, die zur Mikrobefehls-Decodierschaltung 48 führt, und die 4-Bit-Adresse an den A- oder B-Eingängen wird durch das Logiksignal ausgewählt, das einer Leitung 82 zugeführt wird, die zur Taktgeberschaltung 85 führt, um ein Fünf-Megahertz- Bestimmungsort-Signal zu empfangen. Wenn der Direktzugriff­ speicher 69 als Datenquelle gewählt ist, erscheint die Adresse des betreffenden Registers des Speichers 69, aus dem die Da­ ten ausgelesen werden sollen, an den A-Eingängen des Multi­ plexers 80, und wenn der Direktzugriffspeicher 69 als Daten­ bestimmungsort (oder Empfangsort) gewählt ist, erscheint die Adresse des betreffenden Registers, in das die Daten einge­ schrieben werden sollen, an den B-Eingängen.The respective register in the direct access memory 69 that is to be selected is determined by a 4-bit address code that is supplied to a group of connections 79 . The address connections 79 are connected to the outputs of a 4-bit multiplexer 80 , the "A" inputs for receiving bits 4-7 of the microinstruction (original field) and four "B" inputs for receiving bits 9-12 of the Microinstruction (receiving or destination field) via the microinstruction channel 31 A has. The multiplexer 80 is gated on a line 81 which leads to the microinstruction decoding circuit 48 and the 4-bit address on the A or B inputs is selected by the logic signal which is fed to a line 82 which leads to the clock circuit 85 leads to receive a five megahertz destination signal. If the direct access memory 69 is selected as the data source, the address of the relevant register of the memory 69 , from which the data are to be read, appears at the A inputs of the multiplexer 80 , and if the direct access memory 69 is used as the data destination (or destination) ) is selected, the address of the relevant register into which the data are to be written appears at the B inputs.

Aus dem Direktzugriffspeicher 69 ausgelesene und im Daten­ puffer 77 gespeicherte Daten werden in den Prozessordaten­ kanal 30 über sechzehn Tore 83 eingekoppelt. Die Tore 83 werden über eine Leitung 84 aufgetastet, die zur Mikrobe­ fehls-Decodierschaltung 48 führt und von dieser gesteuert wird. So dient beispielsweise das P-Register im Speicher 69 als Makroprogrammzähler, und wenn die ABRUF-Mikroroutine aus­ geführt wird, wird der Inhalt des P-Registers ausgelesen und über den Datenpuffer 77 und die Tore 83 zum Prozessordaten­ kanal 30 übertragen, über den er zum Hauptarbeitsspeicher- Adressenregister 36 geleitet wird. Data read from the direct access memory 69 and stored in the data buffer 77 are coupled into the processor data channel 30 via sixteen gates 83 . The gates 83 are gated on a line 84 which leads to the microbe error decoding circuit 48 and is controlled by this. For example, the P-register in the memory 69 serves as a macro program counter, and when the FET micro-routine is executed, the content of the P-register is read out and transmitted via the data buffer 77 and the gates 83 to the processor data channel 30 , via which it is sent to Main memory address register 36 is passed.

Der Rechen- und Logikprozessor 55 enthält ferner einen bi­ nären 8-Bit-Wiederholungszähler 141, dessen Eingänge mit den acht niedrigststelligen Leitungen im Prozessordaten­ kanal 30 verbunden sind. Der Wiederholungszähler 141 kann mit einer Konstanten durch einen Mikroauftrag geladen werden, der ihn als Bestimmungsort der Daten kennzeichnet und ihn über eine Freigabeleitung 142 auftastet. Der gleiche Mikro­ auftrag führt einem Voreinstellungsanschluß ein 1-Signal über eine Leitung 143 zu. Der Wiederholungszähler 141 kann über eine Leitung 144 weitergeschaltet werden, und wenn bis fünfzehn oder zweihundertfünfundfünfzig gezählt worden ist, erscheint auf der Leitung 156 oder der Leitung 157 ein Aus­ gangssignal. Die Leitungen 142 bis 144, 156 und 157 sind mit dem Mikrobefehlsdecodierer 48 verbunden.The arithmetic and logic processor 55 also contains a binary 8-bit repeat counter 141 , the inputs of which are connected to the eight least significant lines in the processor data channel 30 . The retry counter 141 can be loaded with a constant by a micro job that identifies it as the destination of the data and probes it over an enable line 142 . The same micro order leads a preset signal to a 1 signal via line 143 . The repetition counter 141 can be incremented over a line 144 , and if up to fifteen or two hundred and fifty-five has been counted, an output signal appears on line 156 or line 157 . The lines 142-144, 156 and 157 are connected to the micro instruction decoder 48th

Nach den Fig. 3 und 4B, auf die erneut Bezug genommen wird, erfolgt die Hin- und Herübertragung der Daten zwischen den E/A-Schnittstellengestellen 20 und 21 einerseits und den System-E/A-Vorrichtungen 5, 7, 8, 9 und 10 über eine Eingabe/ Ausgabe-Schnittstellenschaltung 87, die am Prozessor-Daten­ kanal 30 angeschlossen ist. Die E/A-Schnittstellenschaltung 87 enthält sechzehn Datenausgabetore 90 (Fig. 6), die an die Leitungen des Prozessor-Datenkanals 30 angeschlossene Ein­ gänge und an einen 16-Bit-Eingabe/Ausgabe-Datenkanal 91 an­ geschlossene Ausgänge aufweisen. Eine Auftastleitung 92 ver­ bindet einen zweiten Eingang jedes Datenausgabetors 90 mit der Mikrobefehls-Decodierschaltung 48, und wenn dieser Auftast­ leitung ein 1-Signal zugeführt wird, wird ein 16-Bit-Datenwort aus dem Prozessor-Datenkanal 30 in den Eingabe/Ausgabe-Daten­ kanal 91 übertragen. Der Eingabe/Ausgabe-Datenkanal 91 führt zu den Sammelkanälen 19 und 22, die den industriellen Steuer­ prozessor 13 mit den Schnittstellengestellen 20 und 21 und den jeweiligen System-E/A-Vorrichtungen, wie dem Kathoden­ strahl-Sichtgerät 9, verbinden. FIGS. 3 and 4B, to which reference is again made, the reciprocating Herübertragung takes place of the data between the I / O interface racks 20 and 21 on the one hand, and the system I / O devices 5, 7, 8, 9 and 10 via an input / output interface circuit 87 which is connected to the processor data channel 30 . I / O interface circuit 87 includes sixteen data output ports 90 ( FIG. 6) having inputs connected to the lines of processor data channel 30 and having 16-bit input / output data channel 91 having closed outputs. A strobe line 92 connects a second input of each data output port 90 to the microinstruction decoding circuit 48 , and when this strobe line is supplied with a 1 signal, a 16-bit data word from the processor data channel 30 becomes the input / output data channel 91 transmitted. The input / output data channel 91 leads to the collecting channels 19 and 22 , which connect the industrial control processor 13 to the interface frames 20 and 21 and the respective system I / O devices, such as the cathode ray viewer 9 .

Die Eingabe/Ausgabe-Schnittstellenschaltung 87 enthält auch ein 16-Bit-Eingabe/Ausgabe-Adressenregister 93, das mit den sechs niedrigststelligen Leitungen im Prozessor-Datenkanal 30 verbunden ist. Das E/A-Adressenregister 93 ist mit der Mikro­ befehls-Decodierschaltung 48 über eine Taktleitung 94 ver­ bunden, und wenn der Taktleitung 94 ein 1-Signal zugeführt wird, wird aus dem Prozessor-Datenkanal 30 eine 6-Bit-E/A- Adresse in das Register 93 eingetastet. Sechs Ausgangsan­ schlüsse des Registers 93 sind mit Leitungen in einem 6-Bit- E/A-Adressenkanal 95 verbunden. Der E/A-Adressenkanal 95 führt zum Sammelkanal 22, so daß die im Register 93 gespeicherte E/A- Adresse über den Kanal 95 zu den E/A-Schnittstellengestellen 20 und 21 übertragen wird. Eine Löschleitung 96 verbindet das Adressenregister 93 mit der Mikrobefehls-Decodierschaltung 48, und wenn dieser Löschleitung ein 1-Signal zugeführt wird, wird das Register 93 auf null zurückgestellt. Wenn, wie noch näher beschrieben wird, ein OTA-Makrobefehl ausgeführt wird, wird die E/A-Adresse (Gestellnummer und Spaltennummer) in das Aus­ gabeadressenregister 93 geladen und dem E/A-Adressenkanal 95 zugeführt. Die adressierte Vorrichtung bestätigt den Empfang ihrer Adresse, und dann kann ein 16-Bit-Datenwort dem Pro­ zessor-Datenkanal 30 zugeführt und über den Eingabe/Ausgabe- Datenkanal 91 zur adressierten Vorrichtung durchgeschaltet werden. Diesbezüglich wird auf die programmierte Datenausgabe- Mikroroutine in dem Mikroroutinen-Anhang verwiesen.The input / output interface circuit 87 also includes a 16-bit input / output address register 93 which is connected to the six least significant lines in the processor data channel 30 . The I / O address register 93 is connected to the microinstruction decoding circuit 48 via a clock line 94 , and when the clock line 94 is supplied with a 1 signal, the processor data channel 30 becomes a 6-bit I / O Address keyed into register 93 . Six output ports of register 93 are connected to lines in a 6-bit I / O address channel 95 . The I / O address channel 95 leads to the collective channel 22 , so that the I / O address stored in the register 93 is transmitted via the channel 95 to the I / O interface frames 20 and 21 . An erase line 96 connects the address register 93 to the microinstruction decoder circuit 48 , and when a 1 signal is applied to this erase line, the register 93 is reset to zero. As described in more detail below, when an OTA macro instruction is executed, the I / O address (rack number and column number) is loaded into the output address register 93 and fed to the I / O address channel 95 . The addressed device acknowledges receipt of its address, and then a 16-bit data word can be supplied to the processor data channel 30 and switched through the input / output data channel 91 to the addressed device. In this regard, reference is made to the programmed data output microroutine in the microroutine appendix.

Die Daten werden in den industriellen Steuerprozessor 13 über einen 16-Bit-Multiplexer 97 übertragen, der einen Teil der Eingabe/Ausgabe-Schnittstellenschaltung nach Fig. 6 bildet. Sechzehn "B"-Eingangsanschlüsse am Multiplexer 97 sind mit dem Eingabe/Ausgabe-Datenkanal 91 und sechzehn Ausgangsan­ schlüsse mit entsprechenden Leitungen im Prozessor-Daten­ kanal 30 verbunden. Die sechs niedrigststelligen Eingänge von sechzehn "A"-Eingängen des Multiplexers 97 sind mit ei­ nem Unterbrechungsadressenkanal 95 A verbunden. Eine Auftast­ leitung 98 und eine Wählleitung 99 am Multiplexer 97 sind mit der Mikrobefehls-Decodierschaltung 48 verbunden. Wenn der Auftastleitung 98 ein 1-Signal zugeführt wird, werden entweder aus dem E/A-Datenkanal 91 oder dem Unterbrechungs- Adressenkanal 95 A Daten in den Prozessor-Datenkanal 30 über­ tragen. Die Auswahl erfolgt durch den Signalzustand auf der Auswahlleitung 99, der ebenfalls durch Auswahlmikrobefehle über die Decodierschaltung 48 gesteuert wird.The data is transferred to the industrial control processor 13 via a 16-bit multiplexer 97 which forms part of the input / output interface circuit shown in FIG. 6. Sixteen "B" input ports on multiplexer 97 are connected to input / output data channel 91 and sixteen output ports are connected to corresponding lines in processor data channel 30 . The six lowest inputs of sixteen "A" inputs of the multiplexer 97 are connected to ei nem interrupt address channel 95 A. A gating line 98 and a selection line 99 on the multiplexer 97 are connected to the microinstruction decoding circuit 48 . When the strobe line 98 is supplied with a 1 signal, data is transferred from the I / O data channel 91 or the interrupt address channel 95 A to the processor data channel 30 . The selection is made by the signal state on the selection line 99 , which is also controlled by selection microinstructions via the decoding circuit 48 .

Die Decodierung der E/A-Adresse für die System-E/A-Vorrich­ tungen 5, 7, 8, 9 und 10 erfolgt in der Eingabe/Ausgabe- Schnittstellenschaltung nach Fig. 6. Die drei höchststelligen Leitungen des Eingabe/Ausgabe-Adressenkanals 95 sind mit ent­ sprechenden Eingängen von drei Exklusiv-NOR-Toren 102 bis 104 verbunden, und seine drei niedrigststelligen Leitungen sind mit den Eingängen eines BCD-Decodierers 105 verbunden. Der zweite Eingang jedes der Exklusiv-NOR-Tore 102 bis 104 ist über entsprechende Schalter 106 bis 108 mit einem 0-Signal- Zuführanschluß 109 und ein Ausgangsanschluß jedes der Tore 102 bis 104 ist mit entsprechenden Eingängen eines UND-Tores 110 verbunden. Ein Ausgang des UND-Tores 110 ist mit einem Auftastanschluß 112 am BCD-Decodierer 105 verbunden, und wenn diesem Anschluß ein 1-Signal zugeführt wird, wird die binär­ dezimalcodierte 3-Bit-Zahl, die an den Eingängen des Deco­ dierers 105 ansteht, decodiert. Dabei wird an einem der acht Anschlüsse 113 ein 0-Signal erzeugt, von denen die fünf niedrigststelligen mit entsprechenden System-E/A-Vorrich­ tungen 5, 7, 8, 9 und 10 über den Sammelkanal 19 verbunden sind. Die drei Schalter 106 bis 108 sind so eingestellt, daß sie die Gestellnummer anzeigen (die bei dem bevorzugten Aus­ führungsbeispiel die Nummer 1 ist), und wenn diese Nummer auf den drei höchststelligen Leitungen des E/A-Adressenkanals 95 erscheint, wird eine der System-E/A-Vorrichtungen adressiert.The decoding of the I / O address for the system I / O devices 5 , 7 , 8 , 9 and 10 takes place in the input / output interface circuit according to FIG. 6. The three highest-order lines of the input / output address channel 95 are connected to the corresponding inputs of three exclusive NOR gates 102 to 104 , and its three lowest-order lines are connected to the inputs of a BCD decoder 105 . The second input of each of the exclusive NOR gates 102 to 104 is via respective switches 106 to 108 with a 0 signal feeding terminal 109 and an output terminal of each of the gates 102 to 104 is connected to respective inputs of an AND gate 110th An output of the AND gate 110 is connected to a gating terminal 112 on the BCD decoder 105 , and if a 1 signal is supplied to this terminal, the binary decimal-coded 3-bit number which is present at the inputs of the decoder 105 , decoded. In this case, a 0 signal is generated at one of the eight connections 113 , of which the five lowest digits are connected to corresponding system I / O devices 5 , 7 , 8 , 9 and 10 via the collecting channel 19 . The three switches 106 to 108 are set so that they indicate the frame number (which in the preferred off operation example, the number is 1), and if this number appears the I / O address channel 95 to the most significant three lines, one of the system I / O devices addressed.

Die Eingabe/Ausgabe-Schnittstellenschaltung 87 nach Fig. 6 enthält ferner eine taktgesteuerte Unterbrechungsschaltung 162. Die Schaltung 162 enthält ein RS-Flipflop 163 mit einem Setzanschluß 165, der über eine Leitung 164 mit der Prozessor- Taktgeberschaltung 85 (Fig. 4B) verbunden ist. Alle 10,25 Millisekunden wird ein 1-Impuls als Setzimpuls dem Flipflop 163 zugeführt, so daß an seinem Q-Ausgangsanschluß ein 1-Signal erscheint und einer Unterbrechungsanforderungs­ leitung 160 zugeführt wird. Die Unterbrechungsanforderungs­ leitung ist mit einer Prioritätscodierschaltung 127 (Fig. 4A) verbunden, wie noch näher beschrieben wird, und wenn die Unterbrechung gewährt wird, wird auf einer Unterbrechungs­ bestätigungsleitung 161 ein 1-Signal erzeugt. Das Unter­ brechungsbestätigungssignal wird von einem UND-Tor 166 durch­ geschaltet und in ein d-c-Flipflop 167 eingetastet. Der Q- Ausgang des d-c-Flipflop 167 ist über eine Leitung 168 mit einem Eingang an jedem von sechs UND-Toren 169 und über eine Leitung 170 mit einem UND-Tor 171 verbunden. Die Ausgänge des UND-Tors 169 sind mit jeweils einer Leitung in dem Un­ terbrechungsadressenkanal 95 A und ihre jeweiligen zweiten Eingangsanschlüsse mit 1- und 0-Signal-Quellen in der Weise verbunden, daß im Kanal 95 A die Oktaladresse 17 erzeugt wird, wenn das d-c-Flipflop 167 gesetzt wird. Die Schaltung 162 führt daher dem Prioritätscodierer 127 alle 10,24 Millisekun­ den eine Unterbrechungsanforderung zu, und wenn sie ein Be­ stätigungssignal empfängt, bildet sie die E/A-Adresse 17 in dem Unterbrechungsadressenkanal 95 A aus.The input / output interface circuit 87 of FIG. 6 further includes a clock controlled interrupt circuit 162 . The circuit 162 includes an RS flip-flop 163 with a set terminal 165 which is connected via a line 164 to the processor clock circuit 85 ( FIG. 4B). Every 10.25 milliseconds, a 1 pulse is applied to the flip-flop 163 as a set pulse, so that a 1 signal appears at its Q output terminal and an interrupt request line 160 is supplied. The interrupt request line is connected to a priority coding circuit 127 ( FIG. 4A), as will be described in more detail, and when the interrupt is granted, a 1 signal is generated on an interrupt confirmation line 161 . The interruption confirmation signal is switched through by an AND gate 166 and keyed into a dc flip-flop 167 . The Q output of the dc flip-flop 167 is connected via a line 168 to an input at each of six AND gates 169 and via a line 170 to an AND gate 171 . The outputs of the AND gate 169 are each connected to a line in the interrupt address channel 95 A and their respective second input connections to 1- and 0-signal sources in such a way that the octal address 17 is generated in the channel 95 A , if that dc -Flipflop 167 is set. The circuit 162 performs the priority encoder 127 every 10.24 milli-seconds to an interrupt request, and if it receives a Be stätigungssignal, it forms the I / O address 17 in the interrupt address channel 95 from A.

Ähnliche Schaltungen wie die taktgesteuerte Unterbrechungs­ schaltung 162 sind in den Tastaturen 7 und 8 und dem Band­ leser 5 angeordnet. Alle diese System-E/A-Vorrichtungen sind mit der Unterbrechungsanforderungsleitung 160 und "gänse­ blümchenkettenartig" mit der Unterbrechungsbestätigungslei­ tung 161 verbunden. Wie Fig. 6 zeigt, ist die Unterbrechungs­ bestätigungsleitung 161 durch ein UND-Tor 172 über die Un­ terbrechungsschaltung 162 geführt, das vom -Ausgangsanschluß des RS-Flipflop 163 gesteuert wird. Wenn daher die Schaltung 162 die Unterbrechung anfordert, spricht sie nicht nur auf das resultierende Unterbrechungsbestätigungssignal an, son­ dern sie verhindert auch, daß dieses Signal an nachfolgende System-E/A-Vorrichtungen in der Gänseblümchenkette weiterge­ leitet wird. Auf diese Weise wird nur eine Unterbrechungs- E/A-Vorrichtung auf einmal bedient. Wenn, wie nachstehend noch ausführlicher beschrieben wird, eine Unterbrechung von der Prioritätscodierschaltung 127 bestätigt wird, löst sie auch die Ausführung einer Unterbrechungsbedienungs-Mikro­ routine aus, die die E/A-Adresse der Unterbrechungsvorrich­ tung in das Register R4 des Speichers 69 lädt. Diese E/A- Adresse wird dann zur Lokalisierung der Anfangsadresse in dem Haupt-Lese/Schreib-Arbeitsspeicher 34 einer Makroroutine verwendet, die diese betreffende System-E/A-Vorrichtung be­ dient. So ruft die taktgesteuerte Unterbrechungsschaltung 162 beispielsweise eine 10 Millisekunden taktgesteuerte Unter­ brechungsroutine auf (Fig. 15A und 15B). Die Unterbrechungs­ bedienungs-Mikroroutine ist in dem Mikroroutinen-Anhang auf­ gelistet.Circuits similar to the clock controlled interrupt circuit162 are in the keyboards7 and8th and the tape reader5 arranged. All of these are system I / O devices with the interrupt request line160 and "geese flower chain-like "with the interruption confirmation line tung161 connected. HowFig. 6 shows the interrupt confirmation line161 through an AND gate172 about the Un break circuit162 led by the -Output connection of the RS flip-flop163 is controlled. So if the circuit 162 requesting the interruption does not just speak up the resulting interrupt confirmation signal on, son they also prevent this signal from being sent to subsequent ones System I / O devices continued in the daisy chain  is leading. This way, only one interruption I / O device operated at once. If so, as below an interruption of the priority coding circuit127 is confirmed, it resolves also the execution of an interruption control micro routine, which is the I / O address of the interrupt device device in the register R4 of the memory69 loads. This I / O Address is then used to locate the start address in the main read / write memory34 a macro routine used that system I / O device concerned serves. So the clock-controlled interrupt circuit calls162  for example a 10 millisecond clock controlled sub break routine on (Fig. 15A and 15B). The interruption operating microroutine is in the microroutine appendix listed.

Wie die vorstehende Beschreibung zeigt, werden die verschie­ denen Elemente des Steuerprozessors 13 der Reihe nach in Abhängigkeit von Mikrobefehlen betätigt, die aus dem Mikroprogramm-Festspeicher 32 in das Mikrobefehls­ register 31 eingelesen und dann von der Decodierschaltung 48 decodiert werden. Die Adresse des ersten Mikrobefehls jeder auszuführenden Mikroroutine wird aus einem der Abbildungs- Proms 42 bis 45 oder 50 in das Mikroprogramm-Ablaufsteuer­ werk 47 geladen, und während die Mikrobefehle ausgeführt wer­ den, wird das Mikroprogramm-Ablaufsteuerwerk 47 solange um eins weitergeschaltet, um den nächsten Mikrobefehl der Mikro­ routine auszulesen, bis ein EOX- oder EOXS-Code festgestellt wird, der das Ende der Mikroroutine anzeigt.As the above description shows, the various elements of the control processor 13 are actuated in turn depending on microinstructions which are read from the microprogram memory 32 into the microinstruction register 31 and are then decoded by the decoding circuit 48 . The address of the first microinstruction of each micro routine to be executed is loaded into the microprogram sequencer 47 from one of the mapping proms 42 through 45 or 50 , and while the microinstructions are being executed, the microprogram sequencer 47 is incremented by one to that Read out the next microinstruction of the micro routine until an EOX or EOXS code is determined, which indicates the end of the micro routine.

Um die Verwendung von SPRUNG-Mikrobefehlen und damit nur eine Ebene einer Mikrosubroutine zu ermöglichen, ist ein 12-Bit- Sicherstellungsregister 120 an die Ausgänge des Mikroprogramm- Ablaufsteuerwerks 47 über einen Kanal 121 und ein 12-Bit- Multiplexer 122 mit den Eingängen des Ablaufsteuerwerks 47 über den Adressenkanal 46 verbunden. Das Sicherstellungs­ register enthält eine Taktleitung 123, die mit der Mikro­ befehls-Decodierschaltung 48 verbunden ist, und wenn aus­ gewählte SPRUNG-Mikrobefehle ausgeführt werden, wird die im Mikroprogramm-Ablaufsteuerwerk 47 gespeicherte Adresse in das Sicherstellungsregister 120 übertragen. Die Ausgänge des Sicherstellungsregisters 120 sind mit zwölf "A"-Eingängen des Multiplexers 122 verbunden, und wenn ein Rückruf-Mikro­ befehl anschließend ausgeführt wird, wird die im Sicherstel­ lungsregister gespeicherte Adresse über den Multiplexer 122 durchgeschaltet und in das Mikroprogramm-Ablaufsteuerwerk 47 zurückgeladen. Der Multiplexer 122 weist ferner "B"-Eingänge auf, die mit dem Mikrobefehlskanal 31 A verbunden sind, und wenn ein SPRUNG-Mikrobefehl ausgeführt wird, wird die in dem Befehl enthaltene Zieladresse aus dem Mikrobefehlsregister 31 in das Mikroprogramm-Ablaufsteuerwerk 47 über den Multi­ plexer 122 durchgeschaltet. Der Multiplexer 122 wird von der Datenwählleitung 124 und einer Auftastleitung 125 gesteuert, die beide mit der Mikrobefehls-Decodierschaltung 48 verbunden sind.To enable the use of JUMP microinstructions and thus only one level of a microsubroutine, a 12-bit save register 120 is connected to the outputs of the microprogram sequencer 47 via a channel 121 and a 12-bit multiplexer 122 with the inputs of the sequencer 47 connected via the address channel 46 . The save register contains a clock line 123 which is connected to the microinstruction decoding circuit 48 , and when selected JUMP microinstructions are executed, the address stored in the microprogram sequencer 47 is transferred to the save register 120 . The outputs of the fuse register 120 are connected to twelve "A" inputs of the multiplexer 122 , and when a recall micro command is subsequently executed, the address stored in the fuse register is switched through the multiplexer 122 and reloaded into the microprogram sequencer 47 . The multiplexer 122 further includes "B" inputs, which are connected to the microinstruction channel 31 A, and if a branch micro-instruction is executed, the target address contained in the command from the micro instruction register 31 is in the microprogram sequence controller 47 via the multi- plexer 122 switched through. The multiplexer 122 is controlled by the data selection line 124 and a strobe line 125 , both of which are connected to the microinstruction decoding circuit 48 .

Nach Fig. 4B ist der Mikrobefehlskanal 31 A auch über sechzehn UND-Tore 158 mit dem Prozessor-Datenkanal 30 verbunden. Der eine Eingang jedes Tors 158 ist mit einer Leitung im Kanal 31 A verbunden, während die zweiten Eingänge gemeinsam über eine Leitung 159 mit der Mikrobefehls-Decodierschaltung 48 verbunden sind. Ihre Ausgänge sind jeweils mit einer Leitung in dem Prozessor-Datenkanal 30 verbunden.According to FIG. 4B, the microinstruction channel 31 is also connected via A sixteen AND gates 158 with the processor data channel 30. One input of each gate 158 is connected to a line 31 A in the channel, while the second inputs are connected in common via a line 159 to the microinstruction decode circuit 48th Their outputs are each connected to a line in the processor data channel 30 .

Nach Fig. 4A verbindet eine Steuertafel-Schnittstellenschal­ tung 126 die Schalter, Lampen und andere Steuer- und Anzeige­ vorrichtungen an der Prozessorfronttafel 26 und der sekundären Steuertafel 12 mit dem Prozessor-Datenkanal 30. Die Steuer­ tafel-Schnittstellenschaltung 126 ist ferner mit Eingängen eines Prioritätscodierers 127 über einen 17-Leitungs-Kanal 128 verbunden, und fünf Ausgänge des Prioritätscodierers 127 sind über einen Kanal 129 mit dem Prioritäts-Abbildungs-Prom 50 verbunden. Die Steuertafel-Schnittstellenschaltung 126 empfängt Signale von den Tafeln 12 und 26 über die Kabel 15 und 27 und über den Prozessor-Datenkanal 30. Als Antwort darauf erzeugt sie ein 0-Signal auf einer oder mehreren der Leitungen im Kabel 128, die die gewünschte Betriebsart des Steuerprozessors 13 bestimmen.According to FIG. 4A is a control panel interface connects sound processing 126, the switches, lights and other control and display devices on the processor front panel 26 and secondary control panel 12 to the processor data channel 30. The control panel interface circuit 126 is also connected to inputs of a priority encoder 127 via a 17-line channel 128 , and five outputs of the priority encoder 127 are connected via a channel 129 to the priority mapping prom 50 . Control panel interface circuit 126 receives signals from panels 12 and 26 over cables 15 and 27 and over processor data channel 30 . In response, it generates a 0 signal on one or more of the lines in cable 128 that determine the desired operating mode of control processor 13 .

Wie Fig. 7 zeigt, enthält der Prioritätscodierer 127 einen ersten 3-Bit-Binärcodierer 130, der acht Eingänge aufweist, von denen sieben mit dem Kanal 128 verbunden sind. Der achte Eingang ist mit der Unterbrechungsanforderungsleitung 160 von der E/A-Schnittstellenschaltung 87 verbunden. Ein 8-Bit-Daten­ puffer 131 hat acht Eingänge, die mit Leitungen im Kanal 128 verbunden sind, und acht Ausgangsanschlüsse, die jeweils mit einem Eingang einer zweiten 3-Bit-Binärcodierschaltung 132 verbunden sind. Drei Ausgangsanschlüsse 133 des ersten Binär­ codierers 130 sind jeweils mit einem ersten Eingang von drei NAND-Toren 134 bis 136 verbunden. In ähnlicher Weise sind drei Ausgangsanschlüsse 137 des zweiten Codierers 132 jeweils mit einem zweiten Eingang der NAND-Tore 134 bis 136 und ein vierter Ausgangsanschluß 138 des zweiten Codierers 132 mit einem Auftastanschluß 139 des ersten Binärcodierers 130 ver­ bunden. Der vierte Ausgang 138, die Ausgänge der jeweiligen NAND-Tore 134 bis 136 und eine siebte Leitung 140 im Kanal 128 sind jeweils mit einer Leitung im Kanal 129 verbunden, der wiederum mit dem Prioritäts-Abbildungs-Prom 50 verbunden ist. Die Leitung 140 ist mit dem Eingang Nummer 4 des ersten Binärcodierers 130 verbunden.As shown in FIG. 7, priority encoder 127 includes a first 3-bit binary encoder 130 that has eight inputs, seven of which are connected to channel 128 . The eighth input is connected to the interrupt request line 160 from the I / O interface circuit 87 . An 8-bit data buffer 131 has eight inputs connected to lines in channel 128 and eight output connections, each connected to an input of a second 3-bit binary coding circuit 132 . Three output connections 133 of the first binary encoder 130 are each connected to a first input of three NAND gates 134 to 136 . Similarly, three output ports 137 of the second encoder 132 are each connected to a second input of the NAND gates 134 to 136 and a fourth output port 138 of the second encoder 132 to a gating port 139 of the first binary encoder 130 . The fourth output 138 , the outputs of the respective NAND gates 134 to 136 and a seventh line 140 in channel 128 are each connected to a line in channel 129 , which in turn is connected to the priority mapping prom 50 . Line 140 is connected to input number 4 of the first binary encoder 130 .

Der Prioritätscodierer 127 erzeugt einen 5-Bit-Binärcode, der dem Prioritäts-Abbildungs-Prom 50 zugeführt wird. Dieser spricht auf ein 0-Signal auf einer der sieben Leitungen im Kanal 128 an und bewirkt die Adressierung einer Leitung des Abbildungs- Proms 50. Der Abbildungs-Prom 50 wird aufgetastet, wenn sei­ nem EOX-Anschluß 49 ein 1-Signal am Ende der Mikroroutine, die dann gerade ausgeführt wird, zugeführt wird, so daß eine 12-Bit-Anfangsadresse aus der adressierten Zeile des aufge­ tasteten Abbildungs-Proms 50 ausgelesen und dem Mikroprogramm- Ablaufsteuerwerk 47 zugeführt wird. Obwohl mehr als eine der Leitungen im Kanal 128 zu irgendeiner Zeit ein 0-Signal füh­ ren können, erzeugt die Codierschaltung 127 den Code oder die Abbildungs-Prom-Zeilen-Adresse nur für diejenige Leitung, die die höchste Priorität aufweist. Die Signale, die in der nachstehenden Liste auf den in der Reihenfolge der Prioritäten laufend durchnumerierten Leitungen des Kanals 128 erscheinen, haben die Ausführung der folgenden Funktionen bzw. Operationen zur Folge:The priority encoder 127 generates a 5-bit binary code which is supplied to the priority mapping prom 50 . This responds to a 0 signal on one of the seven lines in channel 128 and effects the addressing of a line of the mapping prom 50 . The mapping prom 50 is gated on when a 1 signal is supplied to its EOX connection 49 at the end of the micro routine which is then being executed, so that a 12-bit start address is derived from the addressed line of the gated mapping Proms 50 read out and the microprogram sequence controller 47 is supplied. Although more than one of the lines in channel 128 may carry a 0 signal at any time, encoding circuit 127 generates the code or mapping prom line address only for the line that has the highest priority. The signals that appear in the list below on the channels 128 numbered sequentially in order of priority result in the execution of the following functions or operations:

Der Prioritätscodierer 127 enthält ferner einen Binär/Oktal- Decodierer 165 mit drei Eingängen, die jeweils an eines der NAND-Tore 134 bis 136 angeschlossen sind. Der zweite von acht Ausgangsanschlüssen des Decodierers 165 ist mit der Unter­ brechungsbestätigungs-Leitung 161 verbunden, und wenn die Unterbrechungsbedienungs-Mikroroutine durch ein 1-Signal auf der Unterbrechungsanforderungsleitung 160 angefordert wird, wird auf der Unterbrechungbestätigungsleitung 161 ein 1-Signal erzeugt, wenn die Anforderung gewährt wird.The priority encoder 127 further includes a binary / octal decoder 165 with three inputs of the NAND gates 134 are connected to 136 in each case to one. The second of eight output terminals of the decoder 165 is connected to the lower refraction acknowledge line 161, and when the interrupt-service microroutine by a 1 signal is required on the interrupt request line 160, is generated on the interrupt acknowledge line 161 is a 1 signal if the request is granted.

Nach den Fig. 4B und 8 ist eine Echtzeit-Taktgeberschaltung 145 mit dem Prozessor-Datenkanal 30 verbunden und von der Mikrobefehls-Decodierschaltung 48 gesteuert. Die Echtzeit- Taktgeberschaltung 145 enthält ein D-Flipflop 146, dessen Taktanschluß ein 5-Megahertz-Taktsignal über eine Leitung 147 von der Prozessor-Taktgeberschaltung 45 zugeführt wird. Der D-Eingang des Flipflop 146 wird von zwei NAND-Toren 148 und 149 über ein UND-Tor 149 A angesteuert. Ein erster Eingang des NAND-Tors 148 ist über eine Leitung 150 mit einem Fünf- Hertz-Taktsignalausgang der Prozessor-Taktgeberschaltung 85 und ein zweiter Eingang über eine Leitung 151 mit dem Makro­ befehlsregister 37 verbunden. Die Leitung 151 zeigt den Lo­ gikzustand des niedrigststelligen Bits des im Makrobefehls­ register 37 gespeicherten Makrobefehls an und ist über ein Umkehr-Tor 152 mit einem ersten Eingang des NAND-Tors 149 ver­ bunden. Ein zweiter Eingang des NAND-Tors 149 erhält ein 0,5- Hertz-Taktsignal von der Prozessor-Taktgeberschaltung 85 über eine Leitung 153. Der Q-Ausgang des Flipflop 146 ist mit dem einen Eingang eines NAND-Tors 154 verbunden. Der zweite Ein­ gang des NAND-Tors 154 ist mit der Mikrobefehls-Decodier­ schaltung 48 über eine TIM-Leitung 155 verbunden, während der Ausgang des NAND-Tors mit der niedrigststelligen Leitung im Prozessor-Datenkanal 30 verbunden ist. In Abhängigkeit von einem ausgewählten Mikrobefehl (TIM) kann der Zustand, eins oder null, entweder des 5-Hertz- oder des 0,5-Hertz-Taktsig­ nals der niedrigststelligen Leitung im Prozessor-Datenkanal 30 zugeführt und überprüft werden. FIGS. 4B and Figure 8 is a real time clock circuit 145 connected to the processor data channel 30 and controlled decoding circuit microinstruction 48 from the. The real-time clock circuit 145 contains a D flip-flop 146 , the clock connection of which is supplied with a 5-megahertz clock signal via a line 147 from the processor clock circuit 45 . The D input of flip-flop 146 is controlled by two NAND gates 148 and 149 via an AND gate 149 A. A first input of the NAND gate 148 is connected via a line 150 to a five-Hertz clock signal output of the processor clock circuit 85 and a second input via a line 151 to the macro instruction register 37 . The line 151 indicates the logic state of the least significant bit of the macro instruction stored in the macro instruction register 37 and is connected via a reversing gate 152 to a first input of the NAND gate 149 . A second input of NAND gate 149 receives a 0.5 Hertz clock signal from processor clock circuit 85 via line 153 . The Q output of flip-flop 146 is connected to one input of a NAND gate 154 . The second input of the NAND gate 154 is connected to the microinstruction decoder circuit 48 via a TIM line 155 , while the output of the NAND gate is connected to the least significant line in the processor data channel 30 . Depending on a selected microinstruction (TIM), the state, one or zero, of either the 5-Hertz or the 0.5-Hertz clock signal of the lowest-order line in the processor data channel 30 can be fed and checked.

Die oben beschriebene Hardware wird durch Mikrobefehle ge­ steuert, von denen alle 200 Nanosekunden einer ausgeführt wird. Diese Mikrobefehle enthalten Codes, die von der Schal­ tung 48 decodiert werden, um Auftastsignale den entsprechen­ den System-Elementen zuzuführen. Der Betrieb der Hardware wird nach der Beschreibung des Mikrobefehlssatzes, der von dieser Hardware ausgeführt wird, deutlicher.The hardware described above is controlled by microinstructions, one of which is executed every 200 nanoseconds. These microinstructions contain codes that are decoded by the circuit 48 to supply strobe signals to the corresponding system elements. Operation of the hardware will become clearer after the description of the microinstruction set executed by that hardware.

Der Mikrobefehlssatz besteht aus drei Arten von Befehlen. Der erste Mikrobefehlstyp hat das folgende Format und wird zur Übertragung von Daten zwischen Prozessor-Elementen verwendet, die an den Prozessor-Datenkanal 30 angeschlossen sind, um lo­ gische und arithmetische Funktionen (Operationen) mit Daten auszuführen, die der RLE 59 zugeführt werden, und um Daten­ überprüfungen und Mikrobefehls-Sprungoperationen auszuführen. The microinstruction set consists of three types of instructions. The first type of microinstruction has the following format and is used to transfer data between processor elements connected to processor data channel 30 to perform logic and arithmetic functions (operations) on data supplied to RLE 59 and to perform data checks and microinstruction jump operations.

Die Mikrobefehls-Decodierschaltung 48 decodiert gleichzeitig alle fünf "Mikroaufträge" bei diesem ersten Mikrobefehlstyp und schaltet die entsprechenden Prozessor-Elemente zur Durchführung einer oder mehrerer Funktionen (Operationen) ein. Das Prozessor-Element, das vom Bestimmungsort- bzw. Empfangscode vorgeschrieben wird, wird jedoch erst in dem letzten 50-Nanosekunden-Abschnitt des 200-Nanosekunden-Ausführungs-Zeittakts eingeschaltet. Die Codes, die in den fünf Mikroaufträgen eines Mikrobefehls vom "Typ 1" verwendet werden können, sind folgende:The microinstruction decoding circuit 48 simultaneously decodes all five "micro orders" for this first type of microinstruction and turns on the appropriate processor elements to perform one or more functions (operations). However, the processor element required by the destination or receive code is only turned on in the last 50 nanosecond section of the 200 nanosecond execution timing. The codes that can be used in the five micro orders of a "Type 1" microinstruction are as follows:

Mikroauftrags-Codes der Prozessorfunktionen Micro order codes of processor functions

Mikroauftragcodes der RLE-Funktionen Micro order codes of the RLE functions

Empfangsfeld-Mikroauftragcodes Receive field micro order codes

Ursprungsfeld-Mikroauftragcodes Origin field micro order codes

Sprungmikroauftragcodes Crack micro order codes

Kennzeichen-Mikroauftrag-Codes License plate micro order codes

Die KENNZEICHEN-Mikroaufträge werden nur dann freigegeben, wenn der Prozessorfunktions-Mikroauftrag FLG oder FLGS im gleichen Mikrobefehl erscheint. Bei Abwesenheit des Mikroauftrags FLG oder FLGS werden die SPRUNG-Mikroaufträge freigegeben. The LABEL micro orders are only released if if the processor function micro order FLG or FLGS in same micro command appears. In the absence of the micro order FLG or FLGS the SPRUNG micro orders are released.  

Abbildungs-Mikroauftrag-Codes Picture Micro Order Codes

Der zweite Mikrobefehlstyp hat das folgende Format: The second type of microinstruction has the following format:  

Die Prozessorfunktions-Mikroauftrag-Codes und die Bestimmungsort-Mikroauftragscodes sind die gleichen wie bei dem oben angegebenen Mikrobefehlstyp. Es sind nur zwei RLE-Funktions-Mikroauftragcodes vorhanden, und neben diesen Funktionen, die diese beiden Codes vorschreiben, dienen sie, wie oben beschrieben, zur Kennzeichnung des Mikrobefehls als einen solchen vom Format des zweiten Typs.The processor function micro order codes and the destination micro order codes are the same as those given above Microinstruction type. There are only two RLE function micro order codes in place, and in addition to these functions, these prescribe both codes, they serve, as described above, to mark the microinstruction as one of the format of the second type.

RLE-Funktions-Mikroauftrag-Codes RLE function micro order codes

Modifikator-Mikroauftrag-Codes Modifier micro order codes

Der Operanden-Mikroauftragcode ist eine ganze achtstellige Binärzahl, die eine Dezimalzahl von 0 bis 255 oder eine Oktalzahl von 0 bis 377 darstellt.The operand microorder code is a whole eight digit Binary number that is a decimal number from 0 to 255 or an octal number from 0 to 377.

Der dritte Mikrobefehlstyp hat das folgende Format:The third type of microinstruction has the following format:

Die Prozessorfunktions-Mikroauftrag-Codes sind die gleichen wie bei den Mikrobefehlen vom ersten Typ, und neben den Funktionen, die diese beiden unten angegebenen Codes vorschreiben, dienen sie zur Kennzeichnung des Makrobefehls als einen vom Format des dritten Typs.The processor function micro job codes are the same like the microinstructions of the first type, and besides the functions, that prescribe these two codes below, they are used to identify the macro command as one of the Format of the third type.

RLE-Funktions-Mikroauftrag-Codes RLE function micro order codes

Modifikator-Mikroauftrag-Codes Modifier micro order codes

Der Operand-Mikroauftrag-Code eines Befehls vom Typ drei ist eine 12-Bit-Adresse, die über den Multiplexer 122 dem Mikroprogramm-Steuerwerk 47 zugeführt wird.The operand micro-job code of a type three instruction is a 12-bit address which is supplied to the microprogram control unit 47 via the multiplexer 122 .

Die oben definierten Mikrobefehle werden zu Mikroroutinen zusammengesetzt, die im Mikroprogramm-Festspeicher 32 gespeichert werden. Diese Mikroroutinen werden ihrerseits zur Ausführung von Makrobefehlen verwendet, die im Haupt-Arbeitsspeicher 34 gespeichert sind. Die Makrobefehle werden zu Programmen oder Routinen zusammengesetzt, bei deren Ausführung die verschiedenen numerischen Steuerfunktionen durchgeführt und die einzelnen digitalen Vorrichtungen der Werkzeugmaschine betätigt werden. Bevor im einzelnen beschrieben wird, wie die Makrobefehle durch ausgewählte Mikroroutinen ausgeführt werden, soll das Software-System des industriellen Steuerprozessors 13 in großen Zügen beschrieben werden, um den Leser mit den zu lösenden Aufgaben und der grundsätzlichen Betriebsweise der Einrichtung zur Lösung dieser Aufgaben vertraut zu machen.The microinstructions defined above are put together to form micro routines which are stored in the microprogram read-only memory 32 . These micro routines are in turn used to execute macro instructions that are stored in main memory 34 . The macro instructions are put together to form programs or routines, the various numerical control functions are carried out and the individual digital devices of the machine tool are actuated when they are executed. Before describing in detail how the macro instructions are carried out by selected micro routines, the software system of the industrial control processor 13 is to be described broadly in order to familiarize the reader with the tasks to be solved and the basic mode of operation of the device for solving these tasks do.

Ferner wird bezüglich handelsüblicher numerischer Steuereinrichtungen, bei denen die Erfindung angewandt werden kann, auf den Aufsatz "The Technical Ins and Outs of Computerized Numerical Control" von P. G. Mesniaeff in "Control Engineering", März 1971, verwiesen. Furthermore, regarding commercial numerical control devices, to which the invention can be applied, to the essay "The Technical Ins and Outs of Computerized Numerical Control "by P. G. Mesniaeff in" Control Engineering ", March 1971.  

Der Betrieb des Steuerprozessors 13 wird durch die Software-Routinen bestimmt, die in seinem Haupt-Arbeitsspeicher 34 gespeichert sind und zusammen das Software-System bilden. Das Software-System besteht aus vier Hauptteilen: Grundroutinen; 10-Millisekunden-Takt-Unterbrechungssteuerroutinen; Bandleserbedienungsroutinen und Tastaturbedienungsroutinen.The operation of the control processor 13 is determined by the software routines which are stored in its main working memory 34 and which together form the software system. The software system consists of four main parts: basic routines; 10 millisecond clock interrupt control routines; Tape reader routines and keyboard routines.

Nach Fig. 9 bestehen die Grundroutinen 175 aus solchen die numerische Steuerung bewirkenden Basisroutinen, wie Aufbau-, Decodier-, Nicht-Unterbrechungsteil der Tastatur- und Bandleserroutinen, Anzeige-Aktualisierungs-Subroutine, ASCII/Oktal- und Oktal/ASCII-Umsetzer, Rechen- und Unterstützungsroutinen, Tastbetrieb, Tastaturbedienung, Werkzeug- und Halter-Versetzung, Schneidwerkzeugkorrektur und Teilprogrammredigierung. Die Grundroutinen enthalten auch diejenigen, die zu den Erfordernissen des programmierbaren Steuergeräts der Einrichtung gehören, wie ein maschinenabhängiger Software-Lader und -Editor (Textmanipulator), Hardcopy-Ausgabe, Locherausgabe und E/A-Monitor. Die meisten dieser Grundroutinen werden wahlweise von einer Hauptsteuerungs- oder Ausführungsroutine 176 aufgerufen, die aus drei Programmschleifen 177 bis 179 besteht. Diese drei Schleifen 177 bis 179 werden durch Betriebsartschalter an der Hauptsteuertafel 10 gewählt. Die erste Schleife 177 spricht auf die Auswahl der automatischen oder Block-für-Block-Betriebsarten, die zweite Schleife 178 auf die Tastatur-Betriebsart und die dritte Schleife 179 auf die manuelle Betriebsart an. Ein ausführlicher Flußplan der Hauptsteuerroutine 176 ist in Fig. 13 dargestellt.According to FIG. 9, the basic routines 175 consisting of such numerical control effecting the basic routines such as build-up, decoding, non-interrupted part of the keyboard and tape reader routines, display update subroutine, ASCII / octal and octal / ASCII converter, rakes - and support routines, touch operation, keyboard operation, tool and holder relocation, cutting tool correction and part program reduction. The basic routines also include those that are required by the facility's programmable controller, such as a machine-dependent software loader and editor (text manipulator), hard copy output, hole punch output, and I / O monitor. Most of these basic routines are optionally called by a main control or execution routine 176 , which consists of three program loops 177 to 179 . These three loops 177 to 179 are selected by mode switches on the main control panel 10 . The first loop 177 is responsive to the selection of automatic or block-by-block modes, the second loop 178 to the keyboard mode, and the third loop 179 to the manual mode. A detailed flow chart of the main control routine 176 is shown in FIG .

Die automatischen und Block-für-Block-Betriebsarten werden von einer gemeinsamen Schleife 177 durchgeführt, die ausgewählte Grundroutinen 175 aufruft. Diese Routinen lösen den Bandleser 5 aus, lesen den Teilprogrammdatenblock ein, decodieren ihn und stellen ihn auf. Die Routine 177 ruft dann eine Blockausführungsroutine auf, die die eigentliche Ausführung des Teilprogrammdatenblocks bewirkt.The automatic and block-by-block modes of operation are performed by a common loop 177 that calls selected basic routines 175 . These routines trigger the tape reader 5 , read the partial program data block, decode it and set it up. Routine 177 then calls a block execution routine which actually executes the program part data block.

Wie der detaillierte Flußplan nach den Fig. 14A und 14B zeigt, ist die Blockausführungsroutine in einen Vorblock- oder Vorspann-Teil, einen Interpolationsteil und einen Nachblock- oder Nachspann-Teil unterteilt. Während des Vorspann-Teils (oder Vorspiel-Teils) werden ausgewählte System-Kennzeichen so eingestellt, daß sie anzeigen, daß bestimmte Funktionen, wie das Einschalten der Spindel, des Kühlmittels und dergleichen, ausgeführt werden sollen. Diese Kennzeichen werden in einem ausgewählten Arbeitsspeicherteil in einer System-Kennzeichen-Tabelle 182 im Hauptarbeitsspeicher 34 gespeichert. In ähnlicher Weise werden während des Nachspann-Teils der Blockausführungsroutine Kennzeichen aus der Tabelle 182 gesetzt, um anzuzeigen, daß bestimmte Funktionen, wie Werkzeugwechsel, Hin- und Herbewegungen, Ausschalten von Kühlmittel und Spindel und dergleichen, von den maschinenspezifischen Vorrichtungen ausgeführt werden sollen. Wie nachstehend näher beschrieben wird, ist es die Kennzeichen-Tabelle 182, die die numerischen Steuerfunktionen der Einrichtung an die Funktionen des programmierbaren Steuergeräts der Einrichtung ankoppelt bzw. anpaßt.As shown in the detailed flow chart of FIGS . 14A and 14B, the block execution routine is divided into a header or header, an interpolation portion, and a post-block or header. During the preload portion (or prelude portion), selected system flags are set to indicate that certain functions, such as turning on the spindle, coolant, and the like, are to be performed. These identifiers are stored in a selected working memory part in a system identifier table 182 in the main working memory 34 . Similarly, during the trailer portion of the block execution routine, flags from table 182 are set to indicate that certain functions, such as tool change, reciprocation, coolant and spindle shutdown, and the like, should be performed by the machine-specific devices. As will be described in more detail below, it is the tag table 182 that couples the numerical control functions of the device to the functions of the programmable controller of the device.

Die zweite Schleife 178 der Hauptsteuerroutine 176 wird eingeleitet, wenn die Tastatur-Freigabedrucktaste an der Hauptsteuertafel 10 betätigt wird. Diese Betriebsart dient beispielsweise zur Durchführung solcher Funktionen, wie der Teilprogrammredigierung der maschinenspezifischen Software-Routine, die nachstehend an Hand der Flußpläne nach den Fig. 17 bis 20 näher beschrieben wird. Die dritte Schleife 179 der Hauptsteuerroutine 176 wird eingeleitet, wenn der Fronttafel-Wählschalter auf "manuell" eingestellt ist. Die manuelle Routine enthält alle Bedienungsfunktionen, wie Tastbetrieb, Bandsteuerung und Einstellung auf Null, die jeweils durch wahlweise aufgerufene Routinen durchgeführt werden. The second loop 178 of the main control routine 176 is initiated when the keyboard release push button on the main control panel 10 is operated. This operating mode is used, for example, to carry out functions such as the partial program reduction of the machine-specific software routine, which is described in more detail below with reference to the flowcharts according to FIGS . 17 to 20. The third loop 179 of the main control routine 176 is initiated when the front panel selector is set to "manual". The manual routine contains all operating functions, such as touch mode, belt control and zeroing, which are each carried out by optionally called routines.

Die Hauptsteuerroutine 176 leitet daher alle Grundfunktionen der Einrichtung, die dazu dienen, den Steuerprozessor 13 zur Bildung der Daten vorzubereiten, die den Servovorrichtungen (Regelvorrichtungen) an der Werkzeugmaschine zugeführt werden und den zugehörigen spezifischen digitalen Vorrichtungen die auszuführenden Hilfsfunktionen anzeigen.The main control routine 176 therefore directs all of the basic functions of the device which serve to prepare the control processor 13 for the formation of the data which are fed to the servo devices (control devices) on the machine tool and indicate the auxiliary functions to be carried out to the associated specific digital devices.

Die übrigen Teile des Software-Systems unterbrechen die Hauptsteuerroutine 176, um die E/A-Schnittstellengestelle 20 und 21 und die E/A-Vorrichtungen der Einrichtung zu bedienen. Eine 10-Millisekunden-Takt-Unterbrechungsroutine 183 bewirkt die augenblicklichen Übertragungen von Daten aus dem Steuerprozessor 13 zu den Regelvorrichtungen und spezifischen digitalen Vorrichtungen der gesteuerten Werkzeugmaschine. Diese Routine ist im wesentlichen in Fig. 9 dargestellt und wird dann zur Fertigbearbeitung alle 10,24 Millisekunden nach einer von der taktgesteuerten Unterbrechungsschaltung 162 geforderten Unterbrechung ausgeführt. Wie bereits erwähnt wurde, lädt eine Unterbrechungsbedienungs-Mikroroutine die Arbeitsspeicher-Anfangsadresse der 10-Millisekunden-Takt-Unterbrechungsroutine 183 ins P-Register (Programmzähler) des Speichers 69, und dann wird sie zur Fertigbearbeitung ausgeführt.The remaining parts of the software system interrupt the main control routine 176 to operate the I / O interface frames 20 and 21 and the I / O devices of the device. A 10 millisecond clock interrupt routine 183 causes the instantaneous transfers of data from the control processor 13 to the control devices and specific digital devices of the controlled machine tool. This routine is shown essentially in FIG. 9 and is then executed for finishing every 10.24 milliseconds after an interrupt requested by the clock controlled interrupt circuit 162 . As previously mentioned, an interrupt servicing micro routine loads the memory start address of the 10 millisecond clock interrupt routine 183 into the P register (program counter) of memory 69 , and then it is executed for finishing.

Nachdem - siehe Fig. 9 und die Fig. 15A und 15B - verschiedene organisatorische Operationen ausgeführt worden sind, werden Lage-Istwertdaten und Lage-Sollwertdaten zwischen dem E/A-Schnittstellengestell 20 und dem Steuerrechner 13 durch eine Regelvorrichtungs-Bedienungsroutine 184 übertragen. Bei beispielsweise einer Drei-Koordinaten-Maschine sind die x-, y- und z-Koordinaten-Lage-Istwert-Akkumulatoren mit den Spalten 0-2 des ersten E/A-Schnittstellengestells 20 und Regelvorrichtungs-Sollwertregister mit den Spalten 3 bis 5 verbunden. Die Routine 184 führt nacheinander die drei 16-Bit-Istwertwörter in entsprechenden Leitungen im Lese/Schreib-Arbeitsspeicher 34 und die drei 16-Bit-Sollwertwörter, die zuvor berechnet und an drei Arbeitsspeicherplätzen im Hauptarbeitsspeicher 34 gespeichert wurden, den Spalten 3 bis 5 des E/A-Schnittstellengestells 20 zu.After various organizational operations have been performed, see FIG. 9 and FIGS. 15A and 15B, actual position data and desired position data are transmitted between the I / O interface frame 20 and the control computer 13 by a controller operating routine 184 . In a three-coordinate machine, for example, the x , y and z coordinate position actual value accumulators are connected to columns 0-2 of the first I / O interface frame 20 and control device setpoint registers are connected to columns 3 to 5 . The routine 184 sequentially executes the three 16-bit actual value words in corresponding lines in the read / write main memory 34 and the three 16-bit setpoint words, which were previously calculated and stored in three main memory locations in the main main memory 34 , columns 3 to 5 of the I / O interface rack 20 too.

Die Zustände aller Abtastvorrichtungen, die an die E/A-Schnittstellengestelle 20 und 21 angeschlossen sind, werden dann dem Haupt-Arbeitsspeicher 34 durch eine Eingangzustandsroutine 186 zugeführt.The states of all the scanners connected to the I / O interface frames 20 and 21 are then fed to the main memory 34 through an input state routine 186 .

Die Routine 186 führt nacheinander die sechzehn Bits der Zustandsdaten aus den Spalten der E/A-Schnittstellengestelle 20 und 21 einer zugehörigen Zeile im Hauptarbeitsspeicher 34 zu. Ein Teil des Haupt-Arbeitsspeichers 34, im folgenden E/A-Bildtabelle 185 genannt, dient zur Speicherung dieser Zustandsdaten und derjenigen Daten, die an die E/A-Schnittstellengestelle 20 und 21 ausgegeben werden sollen. Eine ausführlichere Beschreibung der Verbindung zwischen den E/A-Spalten in den Schnittstellengestellen 20 und 21 mit den Zeilen in der E/A-Bildtabelle 185 wird im folgenden gegeben, und die Eingangabtastungs-Mikroroutine, die die Daten aus den acht Spalten eines E/A-Schnittstellengestells der E/A-Bildtabelle 185 zuführt, ist in dem Mikroroutinen-Anhang aufgeführt.Routine 186 sequentially feeds the sixteen bits of state data from the columns of I / O interface frames 20 and 21 to an associated row in main memory 34 . A part of the main working memory 34 , hereinafter referred to as I / O image table 185 , serves to store these status data and the data which are to be output to the I / O interface frames 20 and 21 . A more detailed description of the connection between the I / O columns in interfaces 20 and 21 with the rows in I / O image table 185 is given below, and the input sampling micro-routine that extracts the data from the eight columns of an I / O A interface rack to the I / O image table 185 is listed in the microroutine appendix.

Als nächstes wird eine maschinenspezifische Software-Routine 187 ausgeführt, um den Zustand zu bestimmen, in den alle arbeitenden Vorrichtungen, die an die E/A-Schnittstellengestelle 20 und 21 angeschlossen sind, gebracht werden sollen. Wie nachstehend noch ausführlicher beschrieben wird, enthält die maschinenspezifische oder maschinenabhängige Software-Routine 187 Befehle des programmierbaren Steuerwerks, die der Reihe nach ausgeführt werden, um boolesche bzw. schaltalgebraische Verknüpfungen auszuführen und dadurch den Zustand arbeitender Vorrichtungen zu bestimmen. Bei der Durchführung dieser Bestimmungen werden der Zustand ausgewählter Bits in der E/A-Bildtabelle um ein Bild des augenblicklichen Zustands sowohl des numerischen Steuervorgangs als auch der an die Steuereinrichtung angeschlossenen maschinenabhängigen Vorrichtungen zu ermitteln. Die festgestellten Zustände werden in der E/A-Bildtabelle 185 gespeichert, und nachdem die Routine 187 ausgeführt worden ist, werden diese Zustände durch eine Ausgabezustandsroutine 194 den Ausgabeschaltungen in den E/A-Schnittstellengestellen zugeführt, die die angeschlossenen arbeitenden Vorrichtungen antreiben. Die Routine 194 überträgt 16-Bit-Zustandswörter aus dem Hauptarbeitsspeicher 34 in ihre zugehörigen E/A-Schnittstellengestelle und -spalten. Die Ausgabeabtastungs-Mikroroutine zur Übertragung der E/A-Bild-Tabellen-Zustandswörter in die acht Spalten eines E/A-Schnittstellengestells ist in dem Mikroroutinen-Anhang aufgeführt.Next, a machine-specific software routine 187 is executed to determine the state in which all working devices attached to the I / O interface frames 20 and 21 are to be placed. As will be described in more detail below, the machine-specific or machine-dependent software routine 187 contains programmable controller instructions that are executed in order to perform Boolean or switch algebraic operations and thereby determine the state of working devices. In making these determinations, the status of selected bits in the I / O image table are determined to determine an image of the current status of both the numerical control process and the machine-dependent devices connected to the control device. The determined states are stored in the I / O image table 185 , and after the routine 187 has been executed, these states are supplied by an output state routine 194 to the output circuits in the I / O interface frames that drive the connected working devices. Routine 194 transfers 16-bit status words from main memory 34 to their associated I / O interface racks and columns. The output sample micro-routine for transferring the I / O image table status words into the eight columns of an I / O interface rack is listed in the micro-routine appendix.

Wenn ein Block aus Teilprogrammdaten aufgestellt und die Vorspann-Funktionen ausgeführt worden sind, wird eine Interpolations-Subroutine 188 ausgeführt, um Lage-Sollwertdaten für die Regelvorrichtungen der Maschine zu berechnen. Diese berechneten Lage-Sollwertwörter steuern die Regelvorrichtungen während einer Zeitspanne von 10,24 Millisekunden und werden durch die Regelvorrichtungs-Bedienungsroutine 184 während der anschließenden 10-Millisekunden-Unterbrechung ausgegeben. Die zeitlich gesteuerte bzw. taktgesteuerte Unterbrechungsroutine 183 wird zur Hauptsteuerroutine 176 zurückgeführt.When a block of program part data has been set up and the leader functions have been performed, an interpolation subroutine 188 is executed to calculate position set point data for the machine control devices. These calculated position setpoint words control the controllers for a period of 10.24 milliseconds and are output by controller operator routine 184 during the subsequent 10 millisecond interruption. The timed interrupt routine 183 is returned to the main control routine 176 .

Das maschinenspezifische Software-Programm wird also während jeder 10,24-Millisekunden-Unterbrechung einmal ausgeführt, um die Zustände der Abtastvorrichtungen zu überprüfen, die in der E/A-Bildtabelle 185 während des 10-Millisekunden-Intervalls auftreten, und die Zustände der Bits in der E/A-Bildtabelle 185 einzustellen, die den arbeitenden Vorrichtungen entsprechen. Ebenso oft wird die E/A-Bildtabelle 185 dadurch aktualisiert, daß Daten zwischen ihr und den Schnittstellengestellen 20 und 21 übertragen werden, um sicherzustellen, daß ihr Zustand ein genaues Bild des Zustands der gerade gesteuerten Maschine ist. The machine-specific software program is thus executed once during each 10.24 millisecond interruption to check the states of the scanners that appear in the I / O image table 185 during the 10 millisecond interval and the states of the bits in the I / O image table 185 that correspond to the working devices. Equally often, I / O image table 185 is updated by transferring data between it and interfaces 20 and 21 to ensure that its state is an accurate picture of the state of the machine being controlled.

Eine dritte Routineart des Software-Systems nach Fig. 9 ist die Bandleserroutine, die in zwei Teile unterteilt ist: Den Unterbrechungsteil 190 und den Grundteil. Die Bandleserroutine wird von der Hauptsteuerroutine 176 aufgerufen, die den Grundteil der Bandleserroutine zur Durchführung von Auslösefunktionen verwendet. Nach Auslösung bzw. Einleitung des Grundteils tritt immer dann eine Bandleserunterbrechung auf, wenn ein neues Bandzeichen unter dem Lesekopf des Bandlesers 5 angeordnet ist, wobei der Unterbrechungsteil der Bandleserroutine 190 ausgeführt wird. Bei dieser Routine wird das Bandzeichen abgelesen und in einen ausgewählten Datenpuffer des Hauptarbeitsspeichers 34 übertragen. Ferner setzt sie Kennzeichen in der Systemtabelle 182, wenn das Blockendezeichen gelesen und die Blockgrenze überschritten worden ist.A third type of routine of the software system of Fig. 9 is the tape reader routine, which is divided into two parts: the interrupt part 190 and the base part. The tape reader routine is called by the main control routine 176 , which uses the main part of the tape reader routine to perform trigger functions. After the triggering or initiation of the basic part, a tape reader interruption occurs whenever a new tape character is arranged under the reading head of the tape reader 5 , the interruption part of the tape reader routine 190 being executed. In this routine, the tape character is read and transferred to a selected data buffer in main memory 34 . It also sets flags in system table 182 when the end of block character has been read and the block boundary has been exceeded.

Eine vierte Art von Routinen des Software-Systems ist die Tastatur- und Sichtgerät-Routine. Diese enthält einen Unterbrechungsteil 191, der jedesmal eingeleitet wird, wenn eine Taste auf der MDE-Tastatur 8 oder der Hilfstastatur 7 betätigt wird. Grundteile der Tastatur- und Sichtgerät-Routine interpretieren die empfangenen ASCII-Zeichen als Daten, die im Haupt-Arbeitsspeicher 34 gespeichert sind, oder als Codes, die die Ausführung spezieller Subroutinen aufrufen. Die beiden Tastaturen 7 und 8 sind parallelgeschaltet, und ihr einziger Unterschied besteht darin, daß auf ihren Tasten verschiedene Symbole aufgedruckt sind. Die Tastatur 8 hat Tasten mit Symbolen, die typisch für eine numerische Steuereinrichtung sind, während die Tastatur 7 Tasten aufweist, die typisch für einen Programmlader von programmierbaren Steuergeräten sind. Beispielsweise enthält eine Gruppe von Tasten auf der Hilfstastatur 7 Symbole von Elementen eines Leiterdiagramms, und wenn diese Tasten betätigt werden, wird ein Leiterdiagramm auf dem Sichtgerät 9 wiedergegeben. Auf diese Weise werden Steuergerätebefehle, die in den maschinenspezifischen Software-Teil 187 des Haupt-Arbeitsspeichers 34 geladen werden sollen, an der Hilfstastatur 7 erzeugt, während ein Leiterdiagramm, das dem entwickelten Steuerprogramm entspricht, gleichzeitig auf dem Sichtgerät 9 aufgebaut wird. Andere Tasten der Hilfstastatur 7 rufen Redigierfunktionen auf, die durch das gebildete Steuerprogramm ausgeführt werden sollen. Zu diesen gehören die Funktionen SEARCH (SUCHEN), MONITOR (ÜBERWACHEN), GAP (BLOCKLÜCKE BILDEN) und UNGAP (BLOCKLÜCKE BESEITIGEN), die in der erwähnten US-Patentschrift 38 13 649 beschrieben sind.A fourth type of software system routine is the keyboard and display routine. This contains an interruption part 191 , which is initiated each time a key on the MDE keyboard 8 or the auxiliary keyboard 7 is pressed. Basic parts of the keyboard and display device routine interpret the received ASCII characters as data stored in the main working memory 34 or as codes which call the execution of special subroutines. The two keyboards 7 and 8 are connected in parallel, and their only difference is that different symbols are printed on their keys. The keyboard 8 has keys with symbols that are typical of a numerical control device, while the keyboard has 7 keys that are typical of a program loader of programmable control devices. For example, a group of keys on the auxiliary keyboard 7 contains symbols of elements of a ladder diagram, and when these keys are actuated, a ladder diagram is displayed on the display 9 . In this way, control unit commands that are to be loaded into the machine-specific software part 187 of the main working memory 34 are generated on the auxiliary keyboard 7 , while a circuit diagram corresponding to the control program developed is simultaneously built on the display unit 9 . Other keys of the auxiliary keyboard 7 call up editing functions which are to be carried out by the control program formed. These include the SEARCH, MONITOR, GAP, and UNGAP functions described in US Pat. No. 3,813,649.

Es kann aber auch nur eine einzige Tastatur zur Bedienung sowohl der numerischen Steuerfunktionen als auch der Funktionen des programmierbaren Steuergeräts verwendet werden. In diesem Falle ist es zweckmäßig, die Tasten mit Symbolen zu markieren, die ihren beiden Funktionen zugeordnet sind, wie es in Fig. 16 dargestellt ist. Unabhänig davon, ob nur eine Tastatur oder zwei Tastaturen verwendet werden, wird die Steuerung mittels der Tastatur 8 bewirkt, wenn die Einrichtung auf Tastaturbetrieb eingestellt ist. Durch Eingabe des Befehls "AL, PE" über die Tastatur 8 wird jedoch eine Programmredigier- Grundroutine aufgerufen, so daß alle nachfolgenden ASCII-Zeichen entsprechend den Symbolen auf den Tastaturtasten des programmierbaren Steuergeräts interpretiert werden. Ein Flußplan der Programmredigier-Routine ist in Fig. 17 dargestellt und wird nachstehend näher beschrieben.However, only a single keyboard can be used to operate both the numerical control functions and the functions of the programmable control device. In this case, it is expedient to mark the keys with symbols that are assigned to their two functions, as shown in FIG. 16. Regardless of whether only one keyboard or two keyboards are used, control is effected by means of the keyboard 8 if the device is set to keyboard operation. By entering the command "AL, PE" on the keyboard 8 , however, a basic program editing routine is called, so that all subsequent ASCII characters are interpreted according to the symbols on the keyboard keys of the programmable control unit. A flowchart of the program editing routine is shown in Fig. 17 and will be described in more detail below.

Wie bereits erwähnt wurde, wird ein Bild des Zustands der vom Steuerrechner 13 gesteuerten Maschine in der E/A-Bildtabelle 185 des Haupt-Arbeitsspeichers 34 und der Zustand der numerischen Steuermöglichkeiten der Einrichtung in der System-Kennzeichen-Tabelle 182 gespeichert. Nach Fig. 10 besteht die E/A-Bildtabelle 185 aus bis zu vierundzwanzig Leitungen des Haupt-Arbeitsspeichers 34, von denen bei dem bevorzugten Ausführungsbeispiel nicht alle benutzt werden. Die Spalten 6 und 7 des Schnittstellengestells 20 sind mit entsprechenden Leitungen 6 und 7 der E/A-Bildtabelle 185 verbunden, und alle acht Spalten im E/A-Schnittstellengestell 21 sind mit entsprechenden Leitungen 20 bis 27 (Oktal) in der E/A-Bildtabelle 185 verbunden. Alle Spalten in dem Schnittstellengestell 20 und 21, die mit der E/A-Bildtabelle 185 verbunden sind, enthalten jeweils sechzehn getrennte Eingabe- oder Ausgabeschaltungen, die jeweils mit einer digitalen Vorrichtung der Werkzeugmaschine 3 verbunden sind, z. B. einem Grenzwertschalter oder einem Motoranlasser. Jeder dieser Eingabe- oder Ausgabeschaltungen ist eines der sechzehn Bits auf einer Arbeitsspeicherleitung in der E/A-Bildtabelle 185 zugeordnet, so daß in der E/A-Bildtabelle 185 ein Zustandsbit existiert, das jeder speziellen digitalen Vorrichtung zugeordnet ist, die an die E/A-Schnittstellengestelle 20 und 21 angeschlossen ist. So schließt beispielsweise ein Schalter S an der Werkzeugmaschine 3, wenn der Maximalwert der Vorschubbewegung in Richtung der X-Achse erreicht ist, und er ist mit einer Eingabeschaltung verbunden, die in der Spalte 3 des Schnittstellengestells 21 angeordnet ist. Das Bit 14 in der Arbeitsspeicherleitung 023 (Oktal) entspricht diesem Grenzwertschalter S, und wenn der Grenzwertschalter S geschlossen wird, wird dieses Bit während der nächsten 10,24 Millisekunden dauernden Unterbrechung in den 1-Zustand gesetzt. Der Zustand des Bits 14 in der Leitung 023 kann dann durch einen Befehl der maschinenspezifischen Software-Routine 187 überprüft werden, um den Zustand seiner entsprechenden Abtastvorrichtung festzustellen.As already mentioned, an image of the state of the machine controlled by the control computer 13 is stored in the I / O image table 185 of the main working memory 34 and the state of the numerical control possibilities of the device in the system identification table 182 . According to FIG. 10, the E / A is-image table 185 from up to twenty-four lines of the main memory 34, not all of which are used in the preferred embodiment. Columns 6 and 7 of the interface frame 20 are connected to corresponding lines 6 and 7 of the I / O image table 185 , and all eight columns in the I / O interface frame 21 are with corresponding lines 20 to 27 (octal) in the I / O -Table 185 connected. All columns in the interface frame 20 and 21 , which are connected to the I / O image table 185 , each contain sixteen separate input or output circuits, each of which is connected to a digital device of the machine tool 3 , e.g. B. a limit switch or an engine starter. Each of these input or output circuits is assigned one of the sixteen bits on a memory line in the I / O image table 185 , so that there is a status bit in the I / O image table 185 that is associated with each particular digital device that is connected to the E / A interface frames 20 and 21 is connected. For example, a switch S on the machine tool 3 closes when the maximum value of the feed movement in the direction of the X axis has been reached, and it is connected to an input circuit which is arranged in column 3 of the interface frame 21 . Bit 14 on memory line 023 (octal) corresponds to this limit switch S , and when the limit switch S is closed, this bit is set to the 1 state during the next 10.24 millisecond interruption. The status of bit 14 on line 023 can then be checked by a command from machine-specific software routine 187 to determine the status of its corresponding scanner.

Die maschinenspezifische Software-Routine 187 besteht aus Steuergerätbefehlen, die den Zustand ausgewählter Bits in der E/A-Bildtabelle 185 überprüfen, und aus Steuergerätbefehlen, die den Zustand ausgewählter Bits in der Tabelle 185 einstellen. Der Überprüfungsbefehl des Steuergeräts besteht aus zwei Arbeitsspeicherwörtern, von denen das erste den Operationscode und einen aus vier Bits bestehenden Bit-Hinweis und das zweite Wort die Arbeitsspeicheradresse des Zustandsbits darstellt. Um beispielsweise zu prüfen, ob der Grenzwertschalter S geschlossen ist, wird der folgende 2-Wort- Prüfungs-Makrobefehl vom industriellen Steuerprozessor 13 ausgeführt:The machine-specific software routine 187 consists of controller commands that check the status of selected bits in the I / O image table 185 and controller commands that set the status of selected bits in the table 185 . The control device's check command consists of two memory words, the first of which represents the operation code and a four-bit bit indication and the second word the memory address of the status bit. For example, to check whether limit switch S is closed, the following 2-word check macro instruction is executed by industrial control processor 13 :

Wie nachstehend noch ausführlicher beschrieben wird, weist der XIC-Operationscode auf eine ausgewählte Mikroroutine hin, bei deren Ausführung der Inhalt der E/A-Bild-Tabelle-Zeile 023 (Oktal) auf den Prozessor-Datenkanal 30 ausgelesen wird. Die Bit-Hinweisschaltung 40 wird freigegeben und der 4-Bit-Hinweis (1110) dieser zugeführt, um alle bis auf ein Zustandsbit 14 zu maskieren bzw. auszublenden. Der Logikzustand des Bits 14 wird daher der RLE 59 zugeführt, wo er überprüft wird.As will be described in more detail below, the XIC operation code indicates a selected micro-routine, the execution of which reads the content of the I / O image table line 023 (octal) onto the processor data channel 30 . The bit indication circuit 40 is released and the 4-bit indication (1110) is fed to it in order to mask or hide all but one status bit 14. The logic state of bit 14 is therefore fed to RLE 59 where it is checked.

Das System bewirkt in ähnlicher Weise das Einstellen bzw. Setzen des Zustands der ausgewählten Zustandsbits in der E/A-Bildtabelle 185. So soll beispielsweise ein Hubmagnet (SOL), der mit einer Ausgabeschaltung Nummer 12 in der Spalte 2 des dritten E/A-Schnittstellengestells 21 verbunden ist, von der maschinenspezifischen Software-Routine 187 gesteuert werden. In diesem Beispiel entspricht das Zustandsbit Nummer 12 in der E/A-Bild-Tabelle-Zeile 022 (Oktal) dem Hubmagneten SOL, und der Zustand des Hubmagneten SOL kann durch Einstellung dieses Zustandsbits auf den entsprechenden Zustand gesteuert werden. Der folgende Makrobefehl stellt den Zustand des Hubmagnet-Zustandsbits in der E/A-Bild-Tabelle-Zeile 022 (Oktal) auf den 1-Zustand ein:The system similarly operates to set the status of the selected status bits in the I / O image table 185 . For example, a solenoid (SOL) connected to an output circuit number 12 in column 2 of the third I / O interface rack 21 is to be controlled by the machine-specific software routine 187 . In this example, the status bit number 12 in the I / O image table row 022 (octal) corresponds to the solenoid SOL, and the state of the solenoid SOL can be controlled to the appropriate state by setting this status bit. The following macro command sets the state of the solenoid status bit in I / O image table line 022 (octal) to the 1 state:

Das erste Wort ist der Operationscode, der die geeignete Mikrorouti 32627 00070 552 001000280000000200012000285913251600040 0002002743492 00004 32508ne auswählt und die Bit-Hinweisschaltung 40 vorbereitet, während das zweite Wort die Arbeitsspeicher-Zeile auswählt. Nach dem Setzen durch den Steuergerätbefehl wird der Zustand des Zustands-Bit der Ausgabeschaltung zugeführt, die den Hubmagneten SOL durch die Datenausgabe-Routine 189 betätigt. Es sei jedoch darauf hingewiesen, daß die E/A-Bildtabelle 185 irgendwo in dem Haupt-Arbeitsspeicher 34 untergebracht werden kann. Infolgedessen enthält das zweite Wort in jedem Steuergerätbefehl typischerweise eine Zahl, die wesentlich größer als die in den obigen Beispielen enthaltene ist und die absolute Arbeitsspeicheradresse des gewünschten Zustands-Bit kennzeichnet.The first word is the opcode that selects the appropriate micro route 32627 00070 552 001000280000000200012000285913251600040 0002002743492 00004 32508ne and prepares the bit flag 40 while the second word selects the memory line. After being set by the control device command, the state of the status bit is fed to the output circuit, which actuates the solenoid SOL by the data output routine 189 . However, it should be appreciated that the I / O image table 185 can be placed anywhere in the main memory 34 . As a result, the second word in each controller command typically contains a number that is significantly larger than that contained in the above examples and identifies the absolute memory address of the desired status bit.

Wie bereits erwähnt wurde, dient die System-Kennzeichen-Tabelle 182 der Anpassung der Aspekte des programmierbaren Steuergeräts der Einrichtung an die Aspekte der numerischen Steuerung. Wie in Fig. 10 dargestellt ist, ist die Kennzeichen-Tabelle 182 neben der E/A-Bildtabelle 185 in den relativen Arbeitsspeicher-Zeilen 200 bis 377 (Oktal) gespeichert. Der Inhalt der System-Kennzeichen-Tabelle für eine Drei-Koordinaten-Fräsmaschine ist in dem System-Kennzeichen- Tabelle-Anhang dieser Beschreibung aufgelistet. Wie man sieht, ist erheblicher Raum freigelassen, so daß das System vom Anwender an das jeweils verwendete Werkzeugmaschinenfabrikat angepaßt werden kann. Der Zustand der Kennzeichen-Tabelle 182 wird hauptsächlich durch die Grundroutinen 175 bestimmt, die von der Hauptsteuerungsroutine 176 aufgerufen werden, obwohl die maschinenspezifische Software-Routine 187 einige von ihnen steuert.As already mentioned, the system identifier table 182 serves to adapt the aspects of the programmable control device of the device to the aspects of the numerical control. As shown in Fig. 10, the tag table 182 is stored alongside the I / O image table 185 in the relative memory rows 200 through 377 (octal). The content of the system identification table for a three-coordinate milling machine is listed in the system identification table annex to this description. As can be seen, considerable space is left free, so that the system can be adapted by the user to the machine tool make used in each case. The state of the tag table 182 is primarily determined by the basic routines 175 that are called by the main control routine 176 , although the machine-specific software routine 187 controls some of them.

Die maschinenspezifische Software-Routine 187 kann den Zustand irgendeines System-Kennzeichens während ihrer Ausführung mit einem XIC-Befehl, wie oben beschrieben, oder anderen Prüfungsbefehlen des programmierbaren Steuergeräts überprüfen, die nachstehend näher beschrieben werden. Kurz gesagt, wird die System-Kennzeichen-Tabelle 182 im wesentlichen als eine Verlängerung oder Ergänzung der E/A-Bildtabelle 185 behandelt, die ein Bild des Zustands der Steuereinrichtung, während sie ein Teilprogramm ausführt, darstellt. Die System-Kennzeichen-Tabelle 182 dient der Koordinierung des Betriebs der maschinenspezifischen Arbeitsvorrichtungen mit der Ausführung des Teilprogramms.The machine-specific software routine 187 may check the status of any system identifier during execution with an XIC instruction, as described above, or other programmable controller test instructions, which are described in more detail below. In short, system tag table 182 is essentially treated as an extension or addition to I / O image table 185 , which is an image of the state of the controller as it executes a program unit. The system identifier table 182 is used to coordinate the operation of the machine-specific work devices with the execution of the partial program.

Das maschinenspezifische Software-Programm 187, das im Haupt- Arbeitsspeicher 34 gespeichert ist, besteht aus Sätzen von Makrobefehlen des programmierbaren Steuergerätetyps, die nacheinander jeweils während einer 10,24-Millisekunden-Unterbrechung ausgeführt werden. Wie bei herkömmlichen programmierbaren Steuergeräten führen diese Makrobefehle boolesche Gleichungen bzw. Schaltfunktionen aus, um zu entscheiden, ob eine bestimmte Arbeitsvorrichtung ein- oder ausgeschaltet werden muß. Die US-Patentschrift 39 42 158 beschreibt ein programmierbares Steuergerät, bei dem die Steuergerätbefehle diejenigen enthalten, die die Zustände der ausgewählten Zustands-Bits in der E/A-Bildtabelle 185 überprüfen, und solche, die ausgewählte Zustands-Bits darin auf einen logischen Zustand einstellen, der vom Ergebnis einer booleschen Gleichung bzw. Verknüpfung abhängt. Der beschriebene Steuerprozessor führt direkt einen vollständigen Satz von Befehlen aus, wie sie bei einem programmierbaren Steuergerät verwendet werden, so daß der Anwender das maschinenspezifische Software-Programm 187 unter Verwendung herkömmlicher Befehle eines programmierbaren Steuergeräts und Anwendung von Programmierverfahren, wie sie in der US-Patentschrift 38 13 649 beschrieben sind, entwickeln kann.The machine-specific software program 187 , which is stored in the main working memory 34 , consists of sets of macro instructions of the programmable control device type, which are executed in succession during a 10.24 millisecond interruption. As with conventional programmable controllers, these macro commands perform Boolean equations or switching functions to decide whether a particular work device needs to be turned on or off. U.S. Patent No. 39 42 158 describes a programmable controller in which the controller commands include those that check the states of the selected state bits in the I / O image table 185 and those that check the selected state bits therein for a logic state that depends on the result of a Boolean equation or combination. The described control processor directly executes a complete set of instructions as used in a programmable controller so that the user can use the machine-specific software program 187 using conventional instructions from a programmable controller and using programming techniques as described in the US patent 38 13 649 are described, can develop.

Der Makrobefehlssatz vom Typ eines programmierbaren Steuergeräts enthält 33 Operationsbefehle und neun Redigierbefehle. Die Operationsbefehle können in die folgenden fünf Arten unterteilt werden: Grundbefehle, Zeitgeberbefehle, Zählerbefehle, Rechenbefehle und Spezialbefehle. Die Grundbefehle sind solche, die zur Ausführung oder Lösung boolescher Gleichungen erforderlich sind. In der folgenden Liste derartiger Befehle erscheint das für jeden vorgesehene "Anzeige- und Tastatur-Symbol" auf einer Taste der Hilfstastatur 7 und auf dem Bildschirm des Kathodenstrahlröhren-Sichtgeräts 9, wenn diese Taste betätigt wird.The programmable controller type macro instruction set contains 33 operation instructions and nine edit instructions. The operation commands can be divided into the following five types: basic commands, timer commands, counter commands, arithmetic commands and special commands. The basic instructions are those that are required to execute or solve Boolean equations. In the following list of such commands, the "display and keyboard symbol" provided for each appears on a key of the auxiliary keyboard 7 and on the screen of the cathode ray tube display device 9 when this key is pressed.

Grundbefehle Basic commands

Taktgeberbefehle Clock commands

Zählerbefehle Counter commands

Rechenbefehle Arithmetic commands

Spezialbefehle Special commands

Die Redigierbefehle werden zur Entwicklung maschinenspezifischer Software verwendet, wobei die Tastatur 7 und das Sichtgerät 9 verwendet werden. Diese Befehle rufen Subroutinen auf, die folgende Funktionen ausführen:The editing commands are used to develop machine-specific software, using the keyboard 7 and the display device 9 . These commands call subroutines that do the following:

Im folgenden wird ein Programmbeispiel beschrieben, um eine Vorstellung von den auszuführenden Funktionen zu vermitteln. Das Programmbeispiel gilt für eine dreiachsige (x, y und z) Werkzeugmaschine, die in Fig. 12A schematisch dargestellt ist und bei der ein Schneidwerkzeug 200 in Richtung jeder Achse in Abhängigkeit von Lage-Sollwert-Wörtern verschoben wird, die von einem Teil- bzw. Werkstück-Programmband mittels des Bandlesers 5 abgelesen wird. Die Werkzeugmaschine weist einen Indextisch 201 auf, der das Werkstück trägt und um eine vertikale Achse b drehbar ist, um das Werkstück in die Arbeitslage relativ zum Schneidwerkzeug 200 zu bringen. Der für den Vorschub in Richtung der X-Achse vorgesehene Motor wird zur Drehung des Indextisches 201 verwendet. Der Indextisch 201 wird entzurrt und gehoben, und dann wird auf den Indextisch-Getriebezug mechanisch Antriebsenergie übertragen, wenn ein Hubmagnet (SOL A) eingeschaltet wird. Ein erster Grenzschalter (LS1) stellt fest, wann der Indextisch die obere Endlage UP erreicht, ein zweiter Grenzschalter (LS2) stellt fest, wann der Getriebezug in Eingriff ist, und ein dritter Grenzschalter (LS3) stellt fest, wann der Indextisch die untere Endlage DOWN erreicht hat. Folgende Operationsfolge soll ablaufen:A sample program is described below to give an idea of the functions to be performed. The program example applies to a three-axis (x, y and z) machine tool, which is shown schematically in FIG. 12A and in which a cutting tool 200 is displaced in the direction of each axis as a function of position setpoint words that are generated by a partial or The workpiece program tape is read by means of the tape reader 5 . The machine tool has an index table 201 which carries the workpiece and can be rotated about a vertical axis b in order to bring the workpiece into the working position relative to the cutting tool 200 . The motor provided for the feed in the direction of the X axis is used to rotate the index table 201 . The index table 201 is lashed and lifted, and then drive power is mechanically transmitted to the index table gear train when a solenoid (SOL A) is turned on. A first limit switch (LS1) determines when the index table reaches the upper end position UP, a second limit switch (LS2) determines when the gear train is engaged, and a third limit switch (LS3) determines when the index table reaches the lower end position Has reached DOWN. The following sequence of operations should take place:

  • 1. Ein "b"-Sollwertwort, den Indextisch 201 zu drehen, wird vom Bandleser 5 gelesen und in einen aktiven Puffer des Haupt-Arbeitsspeichers 34 übertragen. Verriegele Vorspann(Vorspiel-) und Nachspann (Nachspiel-)Anforderungskennzeichen in der System- Kennzeichentabelle 182.1. A "b" setpoint word for rotating index table 201 is read by tape reader 5 and transferred to an active buffer in main working memory 34 . Lock header (foreplay) and trailer (foreplay) requirement flags in the system flag table 182 .
  • 2. Wenn alle Achsen in Position sind und sich die Steuereinrichtung im Vorspann befindet, beginne mit Entzurren des Indextisches und seiner Verschiebung in Richtung zur oberen Endlage durch Einschalten von SOL A.2. When all axes are in position and the control device in the opening credits, start lashing of the index table and its displacement in Direction to the upper end position by switching on SOL A.
  • 3. Vergewisserung, ob sich Indextisch in oberer Endlage befindet, durch Überprüfung von LS1, und ob Getriebezug in Eingriff steht, durch Überprüfung von LS2. 3. Make sure that the index table is in the upper end position by checking LS1 and whether Gear train is engaged by inspection from LS2.  
  • 4. Auslösung des Vorspanns. Die Steuereinrichtung führt dann das b-Sollwertwort durch Drehung des Indextisches 201 aus.4. Release of the opening credits. The control device then executes the b setpoint word by rotating the index table 201 .
  • 5. Einhaltung einer Wartezeit von einer Sekunde nachdem b-Achse in Sollage ist, um das Abklingen einer Überschwingung zu ermöglichen.5. Compliance with a waiting time of one second after the b axis is in the target position in order to allow an overshoot to subside.
  • 6. Abwarten des Nachspanns, dann Ausschalten des SOL A.6. Wait for the credits, then turn off the SOL A.
  • 7. Überprüfung des Getriebeeingriffs (LS2), Vergewisserung, ob Indextisch 201 untere Endlage einnimmt (LS3) und dann Freigabe des Nachspanns.7. Check the gearbox intervention (LS2), make sure that index table 201 is in the lower end position (LS3) and then release the trailer.

Die Zuordnung der Anschlüsse an den E/A-Schnittstellengestellen 20 und 21 zu den externen E/A-Vorrichtungen (LS1, LS2, LS3 und SOL A) ist beliebig. Sie sind, wie es in Fig. 11 dargestellt ist, an die ersten drei Anschlüsse in der Spalte 5 und den ersten Anschluß der Spalte 7 des dritten E/A-Schnittstellengestells 21 angeschlossen. Die folgende Tabelle stellt diese Zuordnungen zusammenfassend dar.The assignment of the connections on the I / O interface frames 20 and 21 to the external I / O devices (LS1, LS2, LS3 and SOL A) is arbitrary. As shown in FIG. 11, they are connected to the first three connections in column 5 and the first connection in column 7 of the third I / O interface frame 21 . The following table summarizes these assignments.

Die zur Koordinierung dieser Ereignisfolge mit der Ausführung des Werkstück-Programmbandes erforderlichen internen System-Kennzeichen sind folgende:The one to coordinate this sequence of events with the execution of the workpiece program tape required internal system characteristics are the following:

Ein Programm zur Ausführung der oben beschriebenen Ereignisfolge wird dadurch in den maschinenspezifischen Software-Abschnitt 187 des Haupt-Arbeitsspeichers 34 eingegeben, daß nacheinander die entsprechenden Tasten auf der Hilfstastatur 7 betätigt werden. Jedesmal, wenn eine Taste betätigt wird, wird das Zeichen auf dem Sichtgerät 9 im Leiterdiagrammformat angezeigt, wie es in Fig. 12B dargestellt ist. Das resultierende Programm ist folgendes:A program for executing the sequence of events described above is entered into the machine-specific software section 187 of the main working memory 34 by successively pressing the corresponding keys on the auxiliary keyboard 7 . Each time a key is pressed, the character is displayed on the display 9 in ladder diagram format as shown in Fig. 12B. The resulting program is as follows:

Die Eingabe der maschinenspezifischen bzw. maschinenabhängigen Software (machine dependent software=MDS) wird durch Aufrufen des Programmaufbereiters oder Programm-Redigierers (program editor) ausgeführt. Gemäß dem Flußplan dieser Makroroutine nach Fig. 17 etikettiert der Programmaufbereiter Parameter, wie das Sprossen-Positionsanzeigesymbol, und außerdem löscht er das Sichtgerät. Die Redigier-Kennzeichen (Aufbereitungskennzeichen), die von den vorherigen Redigierbefehlen (Aufbereitungsbefehlen) gesetzt wurden, werden gelöscht, und dann wird das Wort "Anfang" auf dem Sichtgerät wiedergegeben, oder es wird eine Sprossen-Anzeige-Subroutine aufgerufen und die vom Sprossen-Positionsanzeigesymbol angezeigte Leiterdiagrammsprosse auf dem Sichtgerät angezeigt. Der Aufbereiter bleibt dann solange in einer Schleife, bis ein Zeichen von der Hilfstastatur 7 empfangen wird.The machine-dependent software (MDS) is entered by calling the program editor or program editor. In accordance with the flow chart of this macro routine of Fig. 17, the programmer labels parameters such as the rung position indicator symbol and also clears the display. The edit flags (edit flags) set by the previous edit commands (edit commands) are cleared, and then the word "start" is displayed on the display device, or a rung display subroutine is called and that of the rung Position indicator icon displayed ladder diagram rung displayed on the display device. The conditioner then remains in a loop until a character is received by the auxiliary keyboard 7 .

Wenn ein ASCII-Zeichen empfangen wird, wird sein Code zum Aufsuchen oder Abbilden der Anfangsadresse einer ihm zugeordneten Subroutine verwendet. Nach Fig. 18 erfolgt dieses Aufsuchen oder Abbilden durch eine Zeichentabelle 210, die fünfzig Zeilen des Haupt-Arbeitsspeichers 34 belegt, und zwar jeweils eine für jede Tastaturtaste. In Abhängigkeit vom Empfang eines numerischen Zeichens (0-9), wird der Inhalt jeweils einer der ersten zehn Zeilen der Zeichentabelle 210 ausgelesen und ausgeführt. Da ein numerisches Zeichen allein sinnlos ist, ist der Inhalt jeder Zeile 0-9 ein Sprungbefehl zurück zum Anfangspunkt "B" in Fig. 17, um den Empfang eines weiteren Zeichens von der Tastatur 7 abzuwarten.When an ASCII character is received, its code is used to look up or map the start address of a subroutine associated with it. According to FIG. 18, this search or mapping is carried out by a character table 210 which occupies fifty lines of the main main memory 34 , one for each keyboard key. Depending on the receipt of a numeric character (0-9), the content of one of the first ten lines of the character table 210 is read out and executed. Since a numeric character alone is meaningless, the content of each line 0-9 is a jump command back to the starting point "B" in Fig. 17 to await the reception of another character from the keyboard 7 .

Die Redigier- oder Aufbereitungstasten, die zur Bildung der MDS-Routine verwendet werden, und die Sprossen-Element-Tasten, die zur Bildung der Steuergerätbefehle verwendet werden, erzeugen jeweils ein spezielles ASCII-Zeichen, das eine zugeordnete Zeile in der Zeichentabelle 210 adressiert. Der Inhalt dieser adressierten Zeilen sind Sprungbefehle, die auf den Anfang einer speziellen Subroutine hinweisen, die die von der ihr zugeordneten Taste geforderte Funktion oder Aufgabe durchführt. Am Ende der den Redigiertasten zugeordneten Subroutinen wird der Programm-Aufbereiter erneut am Punkt "B" in Fig. 17 begonnen, um den Empfang des nächsten Tastatur-Zeichens abzuwarten. Andererseits wird der Programm-Aufbereiter am Ende der Sprossen-Element-Subroutinen wieder am Punkt "A" angefangen, um die Anzeige des Sichtgerätes durch Ausführung der Sprossen-Anzeige-Subroutine auf den neuesten Stand zu bringen. Jedesmal wenn daher ein Sprossenelement in die MDS-Routine eingegeben wird, wird dieses Element zu dem vom Sichtgerät 9 angezeigten Leiterdiagramm addiert.The edit or edit keys that are used to form the MDS routine and the rung element keys that are used to form the control unit commands each generate a special ASCII character that addresses an associated line in the character table 210 . The contents of these addressed lines are jump instructions which point to the start of a special subroutine which carries out the function or task required by the key assigned to it. At the end of the subroutines assigned to the edit keys, the program editor is started again at point "B" in Fig. 17 to wait for the next keyboard character to be received. On the other hand, at the end of the rung element subroutines, the program editor is started again at point "A" in order to update the display of the display device by executing the rung display subroutine. Therefore, each time a rung element is entered in the MDS routine, this element is added to the ladder diagram displayed by the display device 9 .

Die Subroutinen zum Ausführen der von den Redigiertasten gewünschten Aufgaben, sind durch die Flußpläne in den Fig. 19A bis C für die Einfügungs-, Entfernungs- und Übertragungstaste dargestellt. Die Einfügungstasten-Subroutine setzt lediglich ein Einfügungskennzeichnen auf "1" und setzt ein vorhandenes Entfernungs-Kennzeichen auf "0" und kehrt zurück zum Einsprungspunkt "B" der Programmaufbereitungs-Routine in Fig. 7. In ähnlicher Weise setzt die Entfernungs-Tasten-Subroutine das Entfernungs-Kennzeichen auf "1" und ein Einfügungs-Kennzeichen auf "0". Wenn die Übertragungstaste zweimal nacheinander betätigt wird, muß der Programmaufbereiter ausgelöst und die Steuerung wieder an die MDE-Tastatur 8 zurückübertragen werden. Die Übertragungstasten-Subroutine nach Fig. 19C wartet daher in einer Schleife den Empfang des nächsten Tastaturzeichens ab, und wenn es eine weitere Übertragung ist, werden die Subroutine und die Programmaufbereitungs-Subroutine ausgelöst. Andernfalls kehrt die Subroutine wieder zum Einsprung- bzw. Anfangspunkt "C" der Programmaufbereitungs-Routine nach Fig. 17 zurück.The subroutines for performing the tasks desired by the edit keys are illustrated by the flowcharts in Figs. 19A through C for the insert, delete and transfer keys. The insert key subroutine only sets an insert flag to "1" and sets an existing remove flag to "0" and returns to entry point "B" of the program editing routine in Fig. 7. Similarly, the remove button subroutine sets the removal flag to "1" and an insertion flag to "0". If the transfer key is pressed twice in succession, the program editor must be triggered and the control must be transferred back to the MDE keyboard 8 . The transfer key subroutine of Fig. 19C therefore waits for the next key character to be received, and if it is another transfer, the subroutine and the program editing subroutine are triggered. Otherwise, the subroutine returns to the entry or start point "C" of the program processing routine according to FIG. 17.

Die Sprossen-Element-Tasten-Subroutinen sind wesentlich komplizierter, als es der XIC-Tasten-Subroutinen-Flußplan nach den Fig. 20A und B darstellt. Diese Subroutine überprüft zuerst, ob die XIC-Taste als Teil einer Entfernungs- oder Einfügungs-Redigierfunktion betätigt wurde. Wenn das Entfernungs-Kennzeichen gesetzt worden ist und das Element-Positions-Anzeigesymbol auf einen XIC-Befehl hinweist, der gerade im MDS-Teil 187 des Haupt-Arbeitsspeichers 34 gespeichert ist, wird dieser Befehl entfernt, und die Routine kehrt zum Einsprungpunkt "A" des Programm-Aufbereiters zurück. Wenn dagegen das Einfügungs-Kennzeichen gesetzt oder das Element-Positionsanzeigeelement auf das letzte Element (Steuergerätebefehl) einer unvollständigen Sprosse (boolescher Ausdruck) hinweist, wird ein 2-Wort-XIC-Befehl in den Haupt-Arbeitsspeicher 34 geladen und das Element-Positionsanzeigesymbol erhöht, so daß es auf die Arbeitsspeicher-Plätze hinweist, in denen der Befehl gespeichert werden soll. Wenn keine Einfügung vorgenommen werden soll und das Positionsanzeigesymbol nicht auf ein Ausgabeelement (z. B. einen OTE-Befehl) hinweist, muß der Befehl, auf den das Element-Positionsanzeigesymbol hinweist, durch einen XIC-Befehl ersetzt werden. In jedem Falle wird nach dem Laden des XIC-Operationscodes in den Haupt-Arbeitsspeicher 34 ein Ziffernzähler auf minus drei gesetzt, und zwar zur Vorbereitung auf den Empfang von drei Oktalziffern, die das zweite Wort des XIC-Befehls bilden.The rung element key subroutines are much more complicated than the XIC key subroutine flowchart shown in FIGS . 20A and B. This subroutine first checks whether the XIC key has been operated as part of a remove or insert edit function. If the removal flag has been set and the element position indicator symbol indicates an XIC instruction currently stored in MDS portion 187 of main memory 34 , that instruction is removed and the routine returns to entry point "A "of the program editor. If, on the other hand, the insertion flag is set or the element position indicator element indicates the last element (control unit command) of an incomplete rung (Boolean expression), a 2-word XIC instruction is loaded into the main working memory 34 and the element position indicator symbol is increased so that it indicates the memory locations in which the command is to be saved. If no insertion is to be made and the position indicator symbol does not indicate an output element (e.g. an OTE command), the command indicated by the element position indicator symbol must be replaced by an XIC instruction. In any event, after the XIC opcode has been loaded into main memory 34, a digit counter is set to minus three in preparation for receiving three octal digits which form the second word of the XIC instruction.

Wie insbesondere Fig. 20B zeigt, wird in der XIC-Tasten-Subroutine eine Schleife ausgebildet, die auf den Empfang der drei Oktalziffern oder eines Kommandos zum Löschen des Befehls wartet. Jedesmal wenn eine Oktalziffer empfangen wird, wird sie in den Haupt-Arbeitsspeicher 34 geladen, um das zweite Wort des XIC-Befehls zu bilden. Nach dem Empfang der drei Oktalziffern wird eine zweite Schleife gebildet, die auf den Empfang des ersten Bits (1 oder 0) des 4-Bit-Hinweiscodes wartet und es in das erste Wort des XIC-Befehls lädt, und zwar zusammen mit dem XIC-Operationscode. Dann wird die dritte Schleife ausgebildet, die auf den Empfang der letzten drei Bits des Bit-Hinweiscodes (in Form einer Oktalziffer) wartet und sie in das erste Wort des XIC-Befehls lädt, um seine Bildung abzuschließen. Die XIC-Tasten-Subroutine kehrt dann zum Einsprungpunkt "A" des Programm-Aufbereiters zurück, um den Empfang des nächsten Tastaturzeichens abzuwarten. Während der Bildung des XIC-Befehls wird die vom Sichtgerät 9 angezeigte Sprosse aktualisiert, nachdem jedes Zeichen eingegeben worden ist, so daß die Bedienungsperson sich visuell von der Eingabe des richtigen Zeichens bei der Betätigung der Tastatur 7 überzeugen kann. Das so gebildete Sprossen-Element wird von der XIC-Tasten-Subroutine auch zum Blinken veranlaßt, so daß die Bedienungsperson deutlich auf die Bildung des Sprossen-Elements hingewiesen wird und daß weitere Zeichen eingegeben werden müssen, um die Bildung des Steuergerätbefehls abzuschließen.In particular, Fig. 20B, in the XIC-key subroutine, a loop is formed waiting for the receipt of three octal digits or a command for deleting the command. Each time an octal number is received, it is loaded into main memory 34 to form the second word of the XIC instruction. After receiving the three octal digits, a second loop is formed, waiting for the first bit (1 or 0) of the 4-bit hint code to be received and loading it into the first word of the XIC instruction, together with the XIC- Operation code. The third loop is then formed, waiting to receive the last three bits of the bit flag (in the form of an octal digit) and loading it into the first word of the XIC instruction to complete its formation. The XIC key subroutine then returns to the program editor entry point "A" to wait for the next keyboard character to be received. During the formation of the XIC command, the rung displayed by the display device 9 is updated after each character has been entered, so that the operator can visually convince himself of the input of the correct character when the keyboard 7 is actuated. The rung element thus formed is also caused to flash by the XIC key subroutine so that the operator is clearly informed of the formation of the rung element and that additional characters must be entered to complete the formation of the control device command.

Mittels der Hilfstastatur 7, des Sichtgeräts 9 und der Programmaufbereitungs- Routine wird das Steuergerätprogramm in dem oben beschriebenen Beispiel in die MDS-Routine 187 im Haupt-Arbeitsspeicher 34 eingegeben, und das Leiterdiagramm, das zu diesem Programm gehört, wird auf dem Sichtgerät 9 aufgebaut. Obwohl die Einrichtung auf eine große Anzahl von Sprossen oder booleschen Ausdrücken ausgelegt ist und jede Sprosse unzählige Zweige und Elemente aufweisen kann, ist das Sichtgerät 9 doch auf die Anzeige von fünf Zeilen auf einmal, bei bis zu zehn Elementen in einer Zeile, beschränkt. Die Anzeige kann nach oben oder unten verschoben werden, um andere Sprossen des Leiterdiagramms wiederzugeben.The control unit program in the example described above is entered into the MDS routine 187 in the main working memory 34 by means of the auxiliary keyboard 7 , the display unit 9 and the program preparation routine, and the ladder diagram belonging to this program is built up on the display unit 9 . Although the device is designed for a large number of rungs or Boolean expressions and each rung can have innumerable branches and elements, the display device 9 is nevertheless limited to the display of five lines at a time, with up to ten elements in one line. The display can be moved up or down to show other rungs of the ladder diagram.

Wie man sieht, sind die Steuergerätbefehle einzelbitorientiert und nicht wortorientiert. Das heißt, der Zustand einzelner Bits wird überprüft bzw. die Bits werden auf einen gewünschten Zustand eingestellt. Ferner muß die Bedingung eines booleschen Ausdrucks oder einer Leiterdiagrammsprosse aufrechterhalten werden, solange ein Befehl des Ausdrucks ausgeführt wird. Wenn der boolesche Ausdruck erfüllt ist (d. h. die Sprosse leitend ist), dann muß das programmierte Ereignis, das von den Elementen dieses Ausdrucks bedingt ist, auftreten. Obwohl es im obigen Beispiel nicht dargestellt ist, treten auf dem Gebiet der Steuerungen auch boolesche Ausdrücke auf, die von mehr als einer Gruppe von Bedingungen erfüllt werden können. Diese Ausdrücke weisen eine oder mehr ODER-Funktionen auf, die als parallele Zweige im Sprossendiagramm angesehen werden können. In diesem Falle können die in der Hauptsprosse vorgeschriebenen Bedingungen erfüllt werden, wenn irgendeiner von mehreren parallelen Zweigen in der Sprosse erfüllt ist.As you can see, the control unit commands are bit-oriented and not word-oriented. That is, the state of individual bits is checked or the bits are changed to a desired state set. Furthermore, the condition must be a Boolean Expression or a ladder rung as long as an expression command is executed. If the boolean expression is met (i.e. the rung is conductive), then the programmed event, which is carried out by due to the elements of this expression. Even though it is not shown in the example above, occur on the Field of controls also on boolean expressions by more than one group of conditions can be met. These expressions have one or more OR functions, which are considered to be parallel branches in the rung diagram can. In this case, those prescribed in the main rung Conditions are met if any of  several parallel branches in the rung is fulfilled.

Insbesondere nach den Fig. 4A, 4B und 5, wird ein Befehl vom Typ eines programmierbaren Steuergeräts anerkannt, wenn ein ins Makrobefehlsregister 37 geladener Makrobefehl einen Operationscode aufweist, der mit 105, 1014, 1015, 1016 oder 1017 (Oktal) beginnt. Der Makrodecodierer 38 stellt diese Codes fest und liest die Anfangsadresse der entsprechenden Mikroroutine aus einem der Abbildungs-Proms 42 bis 45 (auch Nachschlag-Prom genannt) aus. Diese Mikroroutinen sind unten aufgelistet, doch ist im folgenden allgemein beschrieben, wie diese Einrichtung boolesche Ausdrücke (Gleichungen) löst. Das Register R12 im Direktzugriffspeicher 69 wird zur Speicherung des "Sprossen-Bedingung-Kennzeichens", das Register R13 zur Speicherung des "Verzweigungs-Bedingung-Kennzeichens" und das Register R14 zur Speicherung des "Mehrfach-Verzweigungs-Bedingung-Kennzeichens" reserviert. Bei einer Sprosse ohne Verzweigungen speichert das Register R12 den Zustand oder die Bedingung der Sprosse. Das Register R12 wird beim Aussetzen auf den 1-Zustand gesetzt, und wenn ein XIC-Befehl ausgeführt wird, wird das Register R12 auf null gesetzt, wenn die überprüfte Bedingung nicht erfüllt (falsch) ist. Wenn die überprüfte Bedingung erfüllt (wahr) ist, bleibt das Register unberührt, so daß, wenn alle Bedingungen durch eine Folge von XIC-Befehlen überprüft worden sind, erfüllt (wahr) sind, das Register R12 im 1-Zustand bleibt, um anzuzeigen, daß die Sprosse leitend oder wahr ist. Wenn ein OTE- oder ein anderer ähnlicher Befehl dann ausgeführt wird, wird der Zustand des Registers R12 überprüft und zur Entscheidung oder Lösung des booleschen Ausdrucks bzw. der booleschen Gleichung verwendet.In particular, according to FIGS. 4A, 4B and 5, a command is recognized by the type of programmable controller, when a charged into the macroinstruction register 37 macro instruction comprises an operation code of 105, 1014, 1015, 1016 or 1017 starts (octal). The macro decoder 38 detects these codes and reads the start address of the corresponding micro routine from one of the mapping proms 42 to 45 (also called lookup prom). These micro-routines are listed below, but the following is a general description of how this facility solves Boolean expressions (equations). Register R12 in random access memory 69 is reserved for storing the "rung condition flag", register R13 for storing the "branch condition flag" and register R14 for storing the "multiple branch condition flag". In the case of a rung without branches, the register R12 stores the state or the condition of the rung. Register R12 is set to the 1 state upon suspend, and when an XIC instruction is executed, register R12 is set to zero if the checked condition is not met (false). If the checked condition is true, the register remains unaffected so that when all conditions have been checked by a sequence of XIC instructions are true, register R12 remains in the 1 state to indicate that the rung is conductive or true. When an OTE or other similar instruction is then executed, the state of register R12 is checked and used to decide or solve the Boolean expression or equation.

Wenn ein BST-Befehl ausgeführt wird, tritt in der Sprosse eine Verzweigung auf, so daß der Inhalt des Registers R12 ins Register R13 übertragen wird, um die Hauptverzweigungsbedingung sicherzustellen (aufzubewahren). Das Register R12 wird auf eins gesetzt, und die Bedingung des Registers R14 wird auf null gesetzt. Wenn ein weiterer BST-Befehl ausgeführt wird, bevor die vorherige Verzweigung abgeschlossen ist, erfolgt eine ODER-Verknüpfung des Inhalts des Registers R12 mit dem Inhalt des Registers R14, und das Ergebnis wird in Register R14 gespeichert. Wenn ein BND-Befehl ausgeführt wird, wird der Zweig oder werden die Zweige dadurch abgeschlossen, daß eine ODER-Verknüpfung des Inhalts des Registers R12 mit dem des Registers R14 und eine UND-Verknüpfung des Ergebnisses mit dem Inhalt des Registers R13 bewirkt wird. Das Ergebnis wird wieder ins Register R12 zurückgespeichert, um die Überprüfung der Hauptverzweigung fortzusetzen.When a BST instruction is executed, the rung occurs a branch on, so that the content of register R12 is transferred to register R13 to the main branch condition to ensure (keep). Register R12  is set to one and the condition of register R14 is set to zero. If another BST command is executed will complete before the previous branch is, the content of the register is ORed R12 with the contents of register R14, and the result is stored in register R14. When a BND command is executed the branch or branches are terminated by that an OR operation of the content of register R12 with that of register R14 and an AND operation of the result with the contents of register R13. The result is stored back in register R12 in order to Continue checking the main branch.

Wie bereits erwähnt wurde, bestehen die meisten Makrobefehle von programmierbaren Steuergeräten aus zwei Wörtern. Das erste Wort ist der Operationscode und das zweite die Adresse des Operanden im Haupt-Arbeitsspeicher 34. So kennzeichnet beispielsweise bei einem XIC- oder OTE-Befehl das zweite Wort eine Zeile in der E/A-Bildtabelle 185, während die vier niedrigststelligen Bits in dem ersten Wort als Bit-Hinweiser dienen, der das betreffende Bit in dieser Zeile kennzeichnet bzw. identifiziert. Die bei einem XIC- oder OTE-Befehl ausgeführte Mikroroutine gibt die Bit-Hinweisschaltung 40 zur Aufnahme dieses 4-Bit-Hinweisers und zur Erzeugung einer 16-Bit-Maske im Prozessor-Kanal 30 frei, die ins L-Register 57 geladen wird. Die Maske besteht nur aus Einsen, mit Ausnahme des Bits, das vom Hinweiser angezeigt wird, und wenn der Operand anschließend aus dem Haupt-Arbeitsspeicher 34 ausgelesen wird, wird er in der RLE 59 mit der Maske logisch verknüpft, um die gewünschte Funktion auszuführen. So wird beispielsweise zur Ausführung eines XIC-Befehls eine Exklusiv-ODER-Verknüpfung des Operanden mit der Maske ausgeführt, und wenn der RLE-Ausgang lauter Einsen aufweist, ist das identifizierte bzw. gekennzeichnete Zustandsbit in der E/A-Bildtabelle 185 "wahr" bzw. ein 1-Bit, so daß der Inhalt dss Registers R12 unverändert bleibt. Zur Ausführung eines OTE-Befehls wird die Maske erneut im L-Register 57 gespeichert. Wenn das Register R12 eine Null ist, die anzeigt, daß die Bedingungen nicht erfüllt sind, wird der im zweiten Wort des OTE-Befehls gekennzeichnete Operand in der RLE 59 mit der Maske nach einer UND-Funktion verknüpft und das Ergebnis wieder in die E/A-Bildtabelle 185 gespeichert. Wenn die Bedingungen erfüllt waren bzw. das Register R12 eine Eins ist, wird die Maske komplementiert, ins L-Register 57 zurückgeladen und mit dem Operanden nach einer ODER-Funktion verknüpft. Das Ergebnis wird in die E/A-Bildtabelle 185 an der gleichen Operanden-Adresse zurückgespeichert. Die Mikroroutinen für einige repräsentativere Befehle vom Typ programmierbarer Steuergeräte haben folgenden Aufbau:As already mentioned, most macro commands from programmable control units consist of two words. The first word is the opcode and the second is the address of the operand in main memory 34 . For example, in the case of an XIC or OTE instruction, the second word identifies a line in the I / O image table 185 , while the four least significant bits in the first word serve as a bit indicator which identifies the relevant bit in this line or identified. The micro routine executed in the case of an XIC or OTE instruction enables the bit flag circuit 40 to receive this 4 bit flag and to generate a 16 bit mask in the processor channel 30 which is loaded into the L register 57 . The mask consists only of ones, with the exception of the bit which is indicated by the pointer, and when the operand is subsequently read out of the main working memory 34 , it is logically linked in RLE 59 with the mask in order to carry out the desired function. For example, to execute an XIC instruction, an exclusive OR operation of the operand with the mask is carried out, and if the RLE output has all ones, the identified or marked status bit in the I / O image table 185 is "true" or a 1-bit, so that the content of the register R12 remains unchanged. To execute an OTE instruction, the mask is stored again in the L register 57 . If the register R12 is a zero, which indicates that the conditions are not fulfilled, the operand identified in the second word of the OTE instruction is linked in RLE 59 with the mask after an AND function and the result is returned to the I / O A-picture table 185 stored. If the conditions were met or the register R12 is a one, the mask is complemented, reloaded into the L register 57 and linked to the operand after an OR function. The result is saved back to the I / O image table 185 at the same operand address. The micro routines for some more representative commands of the programmable control unit type have the following structure:

Die Taktgeber-Befehle (TON 0.1, TON 1.0, TOF 0.1 und TOF 1.0) benötigen wesentlich kompliziertere Mikroroutinen und benutzen den Echtzeit-Taktgeber 145. Wie die anderen, so weisen auch die Taktgeber-Befehle zwei Arbeitsspeicher-Wörter auf. Das erste Wort in einem Taktgeber-Befehl ist der Operationscode, und das zweite Wort ist die Arbeitsspeicher-Adresse einer akkumulierten Zeit in einem Taktgeber-Zählerteil 192 des Haupt-Arbeitsspeichers 34. Wie Fig. 10 zeigt, ist dieser Teil des Arbeitsspeichers zwischen der E/A-Bildtabelle 185 und der System-Kennzeichen-Tabelle 182 in relativen Arbeitsspeicher-Zeilen 030 bis 177 (Oktal) gespeichert. Zusätzlich zu einem akkumulierten Taktgeber-Wert oder Zeitwert, der zu jedem Taktgeber-Befehl gehört, ist ein voreingestellter Zeitwert oder Takt im benachbarten Arbeitsspeicherplatz des Speicherteils 192 gespeichert, so daß insgesamt vier Arbeitsspeicher-Zeilen für jeden Taktgeber-Befehl erforderlich sind.The clock commands (TON 0.1, TON 1.0, TOF 0.1 and TOF 1.0) require much more complicated micro routines and use the real-time clock 145 . Like the others, the clock commands also have two memory words. The first word in a clock instruction is the opcode and the second word is the memory address of an accumulated time in a clock counter portion 192 of the main memory 34 . As shown in FIG. 10, this portion of memory between I / O image table 185 and system tag table 182 is stored in relative memory rows 030 through 177 (octal). In addition to an accumulated clock value or time value associated with each clock command, a preset time value or clock is stored in the adjacent working memory space of the memory part 192 , so that a total of four working memory lines are required for each clock command.

Nach insbesondere den Fig. 8 und 11 zeigt das niedrigststellige Bit des Operationscodewortes den ausgewählten Zeitbereich an. Wenn der Taktgeber-Befehls-Operationscode in das Makro-Befehlsregister 37 eingelesen worden ist, wird dieses Bit über die Leitung 151 zur Echtzeit-Taktgeberschaltung 145 übertragen, in der eine Eins die Zuführung des 5-Hertz-Taktsignals zum Flipflop 146 (0,1 Sekunden pro Periode) und eine Null den 0,5-Hertz-Takt (1,0 Sekunden pro Periode) freigibt. Der TIM- Ursprungsmikroauftragscode bewirkt die Erzeugung eines 1-Signals auf der TIM-Leitung 155, so daß der Zustand des ausgewählten Echtzeit-Taktgebers auf die niedrigststellige Leitung des Prozessor-Datenkanals 30 durchgeschaltet wird. Wie sich aus der nachstehenden Beschreibung der Mikroroutine ergibt, wird der Zustand des Echtzeit-Taktgebers mit dem niedrigststelligen Bit im akkumulierten Zeitwert verglichen. Dieser Vergleich erfolgt zumindest einmal alle 10,24 Millisekunden, und wenn die Zustände unterschiedlich sind, bedeutet dies, daß der Echtzeit-Taktgeber erhöht bzw. weitergeschaltet wurde, und der akkumulierte Zeitwert bei diesem Taktgeber ebenfalls um eins erhöht werden sollte. Die Mikroroutine überprüft ferner, ob die Laufzeit des Taktgebers abgelaufen ist. Dies wird durch Vergleichen des akkumulierten Zeitwertes mit dem voreingestellten Zeitwert bewirkt. Ein erstes Zustandsbit (Nummer 15) im voreingestellten Zeitwert zeigt an, ob der Taktgeber läuft oder nicht, und ein zweites Zustandsbit (Nummer 13) im gleichen Wort oder Wert zeigt an, ob der Taktgeber abgelaufen ist. Wenn daher der akkumulierte Zeitwert gleich oder größer als der voreingestellte Zeitwert ist, wird das Zustandsbit Nummer 13 auf Eins eingestellt, so daß es von den in der maschinenspezifischen Software-Routine 187 folgenden Befehlen überprüft werden kann. Ob ein Taktgeber ausgelöst werden muß oder nicht, wird vom Zustand der "Sprosse" oder des booleschen Ausdrucks bestimmt, von dem sie einen Teil bildet. Dieser Zustand wird vom Register R12 des Direktzugriffspeichers 69 angezeigt und als das erste Zustandsbit im voreingestellten Zeitwert gespeichert. Die Mikroroutine zur Ausführung der Makrobefehle TON (1.0) und TON (0.1) hat folgenden Aufbau: According to FIGS. 8 and 11 in particular, the least significant bit of the operation code word indicates the selected time range. When the clock instruction op code has been read into the macro instruction register 37 , this bit is transferred over line 151 to the real time clock circuit 145 , where a one feeds the 5 Hertz clock signal to flip-flop 146 (0.1 Seconds per period) and a zero enables the 0.5 Hertz cycle (1.0 seconds per period). The TIM origin micro-job code causes a 1 signal to be generated on the TIM line 155 , so that the state of the selected real-time clock is switched through to the lowest-digit line of the processor data channel 30 . As can be seen from the description of the micro routine below, the state of the real-time clock is compared with the least significant bit in the accumulated time value. This comparison is made at least once every 10.24 milliseconds, and if the states are different, it means that the real time clock has been incremented or advanced, and the accumulated time value for this clock should also be incremented by one. The micro-routine also checks whether the running time of the clock has expired. This is done by comparing the accumulated time value with the preset time value. A first status bit (number 15) in the preset time value indicates whether the clock is running or not, and a second status bit (number 13) in the same word or value indicates whether the clock has expired. Therefore, if the accumulated time value is equal to or greater than the preset time value, status bit number 13 is set to one so that it can be checked by the commands following in machine-specific software routine 187 . Whether or not a clock must be triggered is determined by the state of the "rung" or the Boolean expression of which it is a part. This state is indicated by the register R12 of the direct access memory 69 and stored as the first status bit in the preset time value. The micro routine for executing the macro commands TON (1.0) and TON (0.1) has the following structure:

Die anderen Taktgeber-Makrobefehle werden in ähnlicher Weise ausgeführt, obwohl die Zustandsbits in dem Wort des voreingestellten Zeitwertes anders verwendet werden. Die Register R12 und R13 werden als Zwischenspeicher in den Taktgeber-Mikroroutinen verwendet, und das Sprossen-Bedingungs-Register R12 wird am Ende der Mikroroutine auf Eins gesetzt, so daß es wieder als Sprossen-Bedingungs-Speichermittel dienen kann. The other clock macro instructions are similar executed, although the status bits are in the word of the preset Fair values are used differently. The registers R12 and R13 are used as a buffer in the clock micro routines used, and the rung condition register R12 is set to one at the end of the micro routine so that it can again serve as sprout condition storage means.  

Mikroroutinen-Anhang Microroutine attachment

System-Kennzeichentabelle-Anhang System license plate attachment

Bauteil-Anhang Component attachment

Zusammenfassend ist dargelegt worden, daß ein Steuerprozessor in einer numerischen Steuerung zur Steuerung der Regelvorrichtungen einer Werkzeugmaschine in Abhängigkeit von einem auf Band gespeicherten Teil- bzw. Werkstück-Programm gesteuert wird. Der Steuerprozessor weist besondere Hardware- und Software-Eigenschaften auf, die es ermöglichen, ihn auch als programmierbares Steuergerät zur Steuerung der einzelnen digitalen Vorrichtungen, die an die Werkzeugmaschine angeschlossen sind, zu betreiben. Der Steuerprozessor wird mit einer Gruppe herkömmlicher Computer-Befehle zur Durchführung numerischer Steuerfunktionen und mit einer Gruppe von Befehlen, wie sie bei einem programmierbaren Steuergerät verwendet werden, zur Durchführung maschinenspezifischer oder maschinenabhängiger logischer Funktionen programmiert. Die resultierende Einrichtung behält die Fähigkeiten bekannter numerischer computergesteuerter Steuerungen, macht diese aber zusätzlich ebenso flexibel und leicht programmierbar wie ein programmierbares Steuergerät.In summary, it has been shown that a Control processor in a numerical control Control of the control devices of a machine tool in Dependency on a partial or Workpiece program is controlled. The control processor has special hardware and software properties on, which also make it a programmable control unit to control the individual digital devices, connected to the machine tool. The control processor becomes more conventional with one group Computer commands for performing numerical control functions and with a group of commands, like a programmable one Control unit used to carry out machine-specific or machine-dependent logical functions programmed. The resulting facility retains the Capabilities of known numerical computer controlled controls, but also makes them just as flexible and easily programmable like a programmable control unit.

Claims (3)

1. Steuerprozessor, der sowohl als numerische Steuerung für eine gesteuerte Werkzeugmaschine Werkstückprogramme ausführt als auch als programmierbares Steuergerät arbeitet, das den Zustand einzelner, der gesteuerten Werkzeugmaschine zugeordneter digitaler Abtastvorrichtungen abfühlt und einzelne, der gesteuerten Werkzeugmaschine zugeordnete digitale Arbeitsvorrichtungen betätigt, mit Einrichtungen zum Decodieren eines Werkstückprogrammdatenblocks und zum davon abhängigen Setzen eines ausgewählten Speicherplatzes in einem System-Kennzeichen-Tabelle-Speicher auf einen logischen Zustand, der anzeigt, daß durch digitale Arbeitsvorrichtungen eine Hilfsfunktion vorzunehmen ist, und hierzu die in einem Routine-Speicher abgelegten Steuergerätbefehle werkzeugmaschinenspezifischer Routinen ausgeführt werden, dadurch gekennzeichnet,
daß ein E/A-Bild-Tabelle-Speicher (185) vorgesehen ist, der für jede der Werkzeugmaschine zugeordnete digitale Abtastvorrichtung und für jede der Werkzeugmaschine zugeordnete digitale Arbeitsvorrichtung einen Speicherplatz aufweist,
daß die logischen Zustände der in den digitalen Abtastvorrichtungen zugeordneten Speicherplätze auf dem aktuellen Werkzeugmaschinenzustand gehalten werden,
daß die logischen Zustände der den digitalen Arbeitsvorrichtungen zugeordneten Speicherplätze in Abhängigkeit sowohl des logischen Zustands ausgewählter Abtastvorrichtungs-Speicherplätze in dem E/A-Bild-Tabelle-Speicher als auch des logischen Zustands ausgewählter Speicherplätze in dem System-Kennzeichen-Tabelle-Speicher gesetzt werden und hiernach der Werkzeugmaschinenzustand entsprechend eingestellt wird, und
daß in Abhängigkeit vom logischen Zustand eines ausgewählten Abtastvorrichtungs-Speicherplatzes des E/A-Bild-Tabelle-Speichers der logische Zustand eines ausgewählten Speicherplatzes in dem System-Kennzeichen-Tabelle-Speicher (182) gesetzt wird, um die Ausführung des Werkstückprogramms durch die numerische Steuerung zu beeinflussen.
1.Control processor which both executes workpiece programs as a numerical control for a controlled machine tool and works as a programmable control device which senses the state of individual digital scanning devices assigned to the controlled machine tool and actuates individual digital working devices assigned to the controlled machine tool, with devices for decoding one Workpiece program data blocks and for the dependent setting of a selected memory location in a system identifier table memory to a logical state which indicates that an auxiliary function is to be carried out by digital work devices and for this purpose the control device commands of machine tool-specific routines stored in a routine memory are executed. characterized,
that an I / O image table memory ( 185 ) is provided which has a memory location for each digital scanning device assigned to the machine tool and for each digital working device assigned to the machine tool,
that the logical states of the memory locations allocated in the digital scanning devices are kept at the current machine tool state,
that the logical states of the memory locations associated with the digital work devices are set depending on both the logical state of selected scanner memory locations in the I / O image table memory and the logical state of selected memory locations in the system flag table memory, and then the machine tool status is set accordingly, and
that, depending on the logical state of a selected scanner memory location of the I / O image table memory, the logical state of a selected memory location in the system flag table memory ( 182 ) is set to enable execution of the workpiece program by the numerical Control.
2. Steuerprozessor nach Anspruch 1, gekennzeichnet durch
eine Tastatur (7, Fig. 17) zum Eingeben und Aufbereiten von Steuergerätbefehlen in dem der werkzeugmaschinenspezifischen Software zugeordneten Routine-Speicher und
eine Anzeigevorrichtung (9, Fig. 12B und 17) zum Ausgeben von der werkzeugmaschinenspezifischen Software zugeordneten Routinen aus ihrem Speicher in der Form eines Leiterdiagramms.
2. Control processor according to claim 1, characterized by
a keyboard ( 7 , FIG. 17) for entering and processing control unit commands in the routine memory assigned to the machine tool-specific software and
a display device ( 9 , FIGS. 12B and 17) for outputting routines associated with the machine tool-specific software from its memory in the form of a ladder diagram.
3. Steuerprozessor nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß der E/A-Bild-Tabelle-Speicher aus mehreren adressierbaren Wörtern besteht, die jeweils mehrere Bits enthalten, und daß diejenigen Steuergerätbefehle, die ausgewählte Bits überprüfen, und diejenigen Steuergerätbefehle, die den logischen Zustand ausgewählter Bits einstellen, jeweils eine Adresse, die ein Wort im E/A-Bild-Tabelle-Speicher auswählt, sowie einen Bit-Hinweis-Code enthalten, der ein Bit in dem Wort auswählt, und daß eine Bit-Hinweis-Schaltung (40) vorgesehen ist, die auf den Bit-Hinweis-Code im gerade ausgeführten Steuergerätbefehl anspricht, um aus einem aus dem E/A-Bild-Tabelle-Speicher ausgelesenen Wort ein Einzelbit bereitzustellen.3. Control processor according to claim 1 or 2, characterized in that the I / O image table memory consists of several addressable words, each containing several bits, and that those control unit commands that check selected bits, and those control unit commands that set the logical state of selected bits, each containing an address that selects a word in the I / O image table memory and a bit hint code that selects a bit in the word, and that a bit hint Circuit ( 40 ) is provided which responds to the bit indication code in the control device command just executed in order to provide a single bit from a word read out of the I / O picture table memory.
DE19772743492 1976-09-29 1977-09-28 Industrial digital control for machine tool - uses dedicated minicomputer for control of multi-axis machine tool system Granted DE2743492A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US05/728,000 US4038533A (en) 1976-09-29 1976-09-29 Industrial control processor system
CA279,882A CA1102433A (en) 1976-09-29 1977-06-06 Industrial control processor system

Publications (2)

Publication Number Publication Date
DE2743492A1 DE2743492A1 (en) 1978-05-18
DE2743492C2 true DE2743492C2 (en) 1990-03-15

Family

ID=25668519

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19772743492 Granted DE2743492A1 (en) 1976-09-29 1977-09-28 Industrial digital control for machine tool - uses dedicated minicomputer for control of multi-axis machine tool system

Country Status (1)

Country Link
DE (1) DE2743492A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57191703A (en) * 1981-05-20 1982-11-25 Fanuc Ltd Sequence controller

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3810104A (en) * 1972-07-31 1974-05-07 Allen Bradley Co Programmable magnetics for a numerical control system
US3813649A (en) * 1972-09-01 1974-05-28 Bradley Co A Controller program editor
US3859636A (en) * 1973-03-22 1975-01-07 Bell Telephone Labor Inc Microprogram controlled data processor for executing microprogram instructions from microprogram memory or main memory
US3942158A (en) * 1974-05-24 1976-03-02 Allen-Bradley Company Programmable logic controller

Also Published As

Publication number Publication date
DE2743492A1 (en) 1978-05-18

Similar Documents

Publication Publication Date Title
DE1549532C2 (en) Interruption director's alarm system for a data processing system with several computers and several perpendicular devices
DE3610433C2 (en) Method for controlling a machine with a programmable logic controller with a function chart interpreter
DE102009057923B4 (en) simulation device
DE3047251C2 (en) computer
DE2410491C2 (en)
DE2060635A1 (en) Computer control unit as well as procedure and control panel for programming the same
DE1499200B2 (en) DATA PROCESSING SYSTEM WITH PRIORITY CONTROLLED PROGRAM INTERRUPTION
DE2713253A1 (en) PROGRAM LOADER FOR A CONTROL UNIT
DE2721811A1 (en) DIGITAL CONTROL CIRCUIT FOR AN AUTOMATIC SEWING MACHINE
DE1275800B (en) Control unit for data processing machines
DE2724199C2 (en)
DE60200922T2 (en) Device for monitoring a production device controlled by a programmable logic controller
DE2420057A1 (en) ELECTRONIC COMPUTER FOR STORED PROGRAMS
DE4226536A1 (en) Programmable control system with user information function - uses memory to store status and data for checking and transmission over link to monitor for display
DE3011733A1 (en) COMPUTER TERMINAL
DE4106164A1 (en) METHOD FOR SEARCHING AND ELIMINATING PROGRAM ERRORS BY EXECUTING A BLOCK MODE RUN
DE2433436A1 (en) PROCEDURE AND ARRANGEMENT FOR MULTIPLE BRANCHING THE PROGRAM IN A DIGITAL COMPUTER
DE1191145B (en) Electronic number calculator
DE3311297C2 (en)
DE1160222B (en) Circuit arrangement for address modification in a program-controlled digital calculating machine
DE2743492C2 (en)
DE2759120A1 (en) PROCESSOR FOR DATA PROCESSING SYSTEMS
DE3318512A1 (en) Numeric control device
EP0643342A2 (en) Method of creating and/or modifying a numerical control program
DE2817536C2 (en)

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G05B 19/403

D2 Grant after examination
8364 No opposition during term of opposition