DE2944757C2 - Programmierbare Prozeßsteuerung - Google Patents

Programmierbare Prozeßsteuerung

Info

Publication number
DE2944757C2
DE2944757C2 DE2944757A DE2944757A DE2944757C2 DE 2944757 C2 DE2944757 C2 DE 2944757C2 DE 2944757 A DE2944757 A DE 2944757A DE 2944757 A DE2944757 A DE 2944757A DE 2944757 C2 DE2944757 C2 DE 2944757C2
Authority
DE
Germany
Prior art keywords
data
control
memory
address
jump
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
Application number
DE2944757A
Other languages
English (en)
Other versions
DE2944757A1 (de
Inventor
Bruno M. Einsiedeln Hess
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.)
HESS, BRUNO M., EINSIEDELN, CH
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to DE2944757A priority Critical patent/DE2944757C2/de
Priority to AT0102380A priority patent/AT379457B/de
Priority to US06/201,361 priority patent/US4405980A/en
Priority to CH8150/80A priority patent/CH654679A5/de
Priority to IT68690/80A priority patent/IT1129370B/it
Priority to JP15528880A priority patent/JPS5674704A/ja
Priority to CA000363451A priority patent/CA1159572A/en
Publication of DE2944757A1 publication Critical patent/DE2944757A1/de
Application granted granted Critical
Publication of DE2944757C2 publication Critical patent/DE2944757C2/de
Expired 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/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/04Program control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/323Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for indirect branch instructions
    • 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/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13083Jumps
    • 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/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15048Microprocessor
    • 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/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15129Separating address and databus

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Control By Computers (AREA)

Description

— die Adreßrecheneinheit (AR) aus dem Steuerspeicher (STS/VAdreßiniormation und Befehlsinformation erhält und Operandenadressen (A, B) und die Ergebnisadresse (C) für den Datenspeicher (AKU) berechnet und damit nacheinander den Datenspeicher (AKU) adressiert,
— dann die Operanden nacheinander aus dem Datenspeicher oder der Dueneingabe-Aausgabeeinheit (7/O1Jausgelesen und der Arithmetik-Logik-Einheit (ALU) zur Ve. knüpfung zugeführt werden,
— das Ergebnis der Verknüpfungsoperation aus der Arithmetik-Logik-Einheit (ALU) unter der Ergebnisadresse (C) in den Datenspeicher eingeschrieben wird und/oder an die Dateneingabe-Aausgabeeinheit (I/O) abgegeben wird, und
— die Zyklusfolgesteuerung die Steuerspeicheradresse für den nächsten Steuerzyklus in Abhängigkeit von dem Ergebnis der laufenden Verknüpfungsoperation festlegt.
45
2. Prozeßsteuerung nach Anspruch 1, dadurch gekennzeichnet, daß die Arithmetik-Logik-Einheit (ALU) eine Sprungbefehllogik besitzt, die mit dem die Befehle enthaltenden Teil des Steuerspeichers für Befehls- und Adreßinformation (STSP) und einem Sprungregister in der Zyklusfolgesteuerung verbunden ist und eine von dem die Befehle enthaltenden Teil des Steuerspeichers (STSP) erhaltene Sprungbedingung als Sprungbefehl an das Sprungregister abgibt, das über den Steuerzykluszähler (PZ) mit dem die Befehle enthaltenden Teil des Steuerspeichers (STSP) verbunden ist.
3. Prozeßsteuerung nach Anspruch 2, dadurch gekennzeichnet, daß in der Zyklusfolgesteuerung Zusätzlich ein Sprungzykluszähler vorgesehen ist, der einerseits mit der Sprungbefehllogik und andererseits mit dem Sprungregister verbunden ist und die Anzahl der Sprungwiederholungen oder Sprungschleifen steuert und seine Fortschaltimpulse aus dem Steuerprogramm erhält.
4. Prozeßsteuerung nach Anspruch 1, dadurch gekennzeichnet, daß die Arithmetik-Logik-Einheit (ALU) in ihrem Eingang zwei Zwischenspeicher (ZSpA, ZSpB) enthält, über die sie mit dem Datenspeicher (AKU) verbunden ist und aus dem Datenspeicher taktgesteuert nacheinander abgerufene Operanden A und B, die miteinander verknüpft werden sollen, erhält, wobei diese Zwischenspeicher die Daten für die Weitergabe an die Recheneinheiten der Arithmetik-Logik-Einheit (ALU)statisch halten.
5. Prozeßsteuerung nach Anspruch 2, dadjrch gekennzeichnet, daß die Sprungbefehllogik ein Festwertspeicher ist, in den die Sprungbedingungen als Tabelle eingeschrieben sind.
6. Prozeßsteuerung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß die Arithmetik-Logik-Einheit (ALU) im wesentlichen aus Festwertspeichern besteht, in die Tabellen eingeschrieben sind.
7. Prozeßsteuerung nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß zur zeitlichen Entlastung und optimalen Freihaltung des Datenbus in der Datenausgabeeinheit ein Zwischenspeicher vorgesehen ist
8. Prozeßsteuerung nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß der Datenbus zwischen dem Ausgang der Arithmetik-Logik-Einheit (ALU) und der Dateneingabe-Aausgabeeinheit (I/O) mit einer ü'oergabeeinheit (OE) verbunden ist, die andererseits mit der Adreßrecheneinheit (AR) verbunden ist und so einen externen Zugriff zur Adreßrecheneinheit (AR) ermöglicht.
9. Prozeßsteuerung nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, daß der die Befehle enthaltende Teil des Steuerspeichers für Befehlsund Adreßinformation (STSP) einen Steuerausgang aufweist, der direkt mit den Peripherie-Einheiten der Prozeßsteuerungseinheit verbunden ist, zur direkten Abgabe von Steuersignalen aus dem Steuerspeicher (STSP) an die Peripherie-Einheiten.
10. Prozeßsteuerung nach Anspruch 1, dadurch gekennzeichnet, daß der Taktgenerator (TC) einen Oszillator und ein Schieberegister enthält, dessen Ausgang oder von dem ein Ausgang, der nicht der letzte Ausgang des Schieberegisters ist, invertierend auf seinen Eingang zurückgeführt ist, und die Ausgänge des Schieberegisters mit Exklusiv-ODER-Gattern (Antivalenz-Verknüpfungsgliedern) verbunden sind, deren Ausgänge die Taktausgänge bilden.
11. Prozeßsteuerung nach Anspruch 10, dadurch gekennzeichnet, daß ein Taktausgang zur Weiterschaltung um einen Steuerzyklus mit dem Steuerzykluszähler (P 2) verbunden ist.
Die Erfindung betrifft eine programmierbare Prozeßsteuerung mit einem Steuerspeicher für Befehls- und Adreßinformation, einer Zyklusfolgesteuerung, einem Datenspeicher, einer Dateneingabe-/-ausgabeeinheit, einer Arithmetik-Logik-Einheit und einem Taktgenerator.
Eine derartige programmierbare Prozeßsteuerung verarbeitet sequentiell und taktgesteuert Daten- und Steuerinformationen, wie es auch bei Mikroprozessoren üblich ist. Sie ist hauptsächlich für die Steuerung von Industriemaschinen und Industrieanlagen geeignet.
In jüngster Zeit werden immer mehr Mikroprozessoren zur Steuerung von Industriemaschinen oder -anla-
gen eingesetzt, da sie schnell arbeiten und den Vorteil bieten, daß die Steuerung Ober das Programm leichter zu beeinflussen und zu ändern ist, als es bei einer fest eingebauten mechanischen oder elektrischen Hardware-Steuerung der Fall ist Darüber hinaus sind die Bausteine eines Mikroprozessorsystems insbesondere bei Massenherstellung relativ billig.
So sind beispielsweise in der US-Zeitschrift »Computer«, Juni 1978, Seiten 56—77, Mikroprozessoren beschrieben, die auf bipolarer Technologie aufgebaut sind und bereits schon relativ hohe Arbeitsgeschwindigkeiten besitzen. Ihre Architektur und ihre Betriebsweise ist jedoch für viele Einsatzzwecke zu kompliziert, wobei sich selbst bei optimaler Programmierung noch zu lange Arbeitszeiten ergeben.
Bei der Steuerung von Industriemaschinen oder -anlagen durch Mikroprozessoren oder Prozeßsteuerungen ist es aber im allgemeinen erforderlich, daß die Steuerung der Arbeitsabläufe sehr schnell und/oder sehr genau erfolgt, je präziser jedoch der zeitliche Arbeitsablauf gesteuert werden soll, desto mehr Daten müssen üblicherweise in einer kürzeren Zeit verarbeitet werden. Es ist deshalb wünschenswert, daß der Mikroprozessor oder die Prozeßsteuerung sehr schnell arbeiten kann.
Aufgabe der Erfindung ist es, eine programmierbare Prozeßsteuerung der eingangs genannten Art zu schaffen, bei der mit relativ geringem Aufwand eine höhere Arbeitsgeschwindigkeit als bei Mikroprozessoren erreichbar ist
Diese Aufgabe wird durch eine programmierbare Prozeßsteuerung nach dem Oberbegriff des Anspruchs 1 gelöst, bei der der Datenspeicher (AKU) einerseits durch einen Adressenbus über eine Adreßrecheneinheit (AR) mit dem die Adressen enthaltenden Teil des Steuerspeichers (STSP) für Befehis- und Adreßinformation verbunden ist, von dem er die Adressen für den laufenden Steuerzyklus erhält und andererseits mit der Dateneingabe-Aausgabeeinheit (I/O) direkt durch einen Datenbus verbunden ist und von ihr mit externen Daten beliefert wird, und weiterhin durch den Datenbus direkt mit der Arithmetik-Logik-Einheit (ALU) verbunden ist, daß die Arithmetik-Logik-Einheit (ALU)direkt mit dem die Befehle enthaltenden Teil des Steuerspeichers (STSP) verbunden ;st wobei innerhalb eines Steuerzyklus
— die Adreßrecheneinheit (AR) aus dem Steuerspeicher (STSP) Adreßinformation und Befehlsinformation erhält und Operandenadressen (A), (B) und die Ergebnisadresse (C) für den Datenspeicher (AKU) berechnet und damit nacheinander den Datenspeicher (AK U) adressiert,
— dann die Operanden nacheinander aus dem Datenspeicher oder der Dateneingabe-Aai'Sgabeeinheit (i/O) ausgelesen und der Arithmetik-Logik-Einheit (ALU)zur Verknüpfung zugeführt werden,
— das Ergebnis der Verknüpfungsoperation aus der Arithmetik-Logik-Einheit (ALU) unter der Ergebnisadresse (C)\n den Datenspeicher eingeschrieben wird und/oder an die Dateneingabe-Aausgabeeinheit (I/O)abgegeben wird, und
— die Zyklusfolgesteuerung die Steuerspeicheradresse für den nächsten Steuerzyklus in Abhängigkeit von dem Ergebnis der laufenden Verknüpfungsoperation festlegt.
Bei der Prozeßsteuerung nach dem Anspruch 1 ist insbesondere der Datenbus vom Adressenbus getrennt Der Datenbus ist nur für Daten vorhanden und wird nie mit Adressen belastet Dadurch, daß eine gesonderte Adreßrecheneinheit vorhanden ist, können Daten und Adressen völlig getrennt verarbeitet werden.
Während bei bekannten Mikroprozessoren ein Befehlszyklus beispielsweise folgendermaßen abläuft: Von einem Befehlsadreßzähler wird die für den nächsten auszuführenden Befehl anstehende Adresse z. B. an ein ίο ROM ausgegeben, das daraufhin den Befehl in das Befehlsregister der Zentraleinheit überträgt; nachdem der Befehl bezüglich der erforderüchen Daten dekodiert und interpretiert worden ist werden diese Daten z. B. von einem RAM-Speicherplatz angefordert und der Reis cheneinheit zur Durchführung der durch den Befehl gewünschten Operation zugeführt woraufhin das Ergebnis weiter verarbeitet wird; werden demgegenüber bei dem Prozeßrechner nach dem Anspruch 1 die Daten und Adressen, getrennt verarbeitet. Die im jeweiligen Takt erforderliche Adresse wird de· Adreßrecheneinheit aus dem die Adresse.n enthaltenden Teil des Steuerspeichers zugeführt verarbeitet und dann dem Datenspeicher zugeführt. Außerdem gelangen die Daten, die verarbeitet werden sollen, d. h. die Operanden, durch die Datenei^gabeeinheit in den Datenspeicher, von wo sie, ebenfalls taktgesteuert in die Arithmetik-Logik-Einheit eingegeben werden. Die Arithmetik-Logik-Einheit erhält den Operationsbefehl direkt taktgesteuert vom Steuerspeicher und kann die gewünscht*; Operation sofort ausführen. Nach Übertragung des Operationsbefehls muß dieser also nicht erst interpretiert werden, um die notwendigen Daten von irgendeinem Speicherplatz abzufragen. Dadurch kann die Operation sehr schnell durchgeführt werden. Auch kann nach Beendigung der Operation das Ergebnis sofort über den für die Ausgabe freien Datenbus der Datenausgabeeinheit zugeführt werden, da der Datenbus nicht mit Adressen für neue Befehle belastet ist.
Ein Steuerzykluszähler ruft nacheinander die einzelnen Steuerzyklen auf und steuert die Abgabe der Operationsbefehle aus dem die Befehle enthaltenden Teil des Steuerspeichers für Befehls- und Adreßinfcrmation. Dieser Steuerzykluszähler ist mit einem Register in der Zyklussteuerung gekoppelt, das als .Sprungregister dient. Dieses Sprungregister empfängt Sprungbefehle von einer zur Arithmetik-Logik-Einheit gehörenden Sprungbefehl-Logik. Auch die Sprungbefehl-Logik empfängt Sprungbedingungen direkt taktgesteuert aus dem die Befehle enthaltenden Teil des Steuerspeichers für Befehls- und Adreßinformation. Wenn daher das Ergebnis der Operation in der Arithmetik-Logik-Einheit einer Sprungbedingung unterliegt, wird ein Sprungbefehl üusi das Sprungregister an den Steuerzykluszähler abgegeben, der nun direkt auf den im Sprungregister anstehenden Steuerzyklus springt und bis zure nächsten Sprungbei hl dort nacheinander die folgenden Steuerzyklen aufruft.
Es hat sich als vorteilhaft erwiesen, in der Zyklusfolgesteuerung einen Sprungzykluszähler vorzusehen, der die Anzahl von Sprungwiederholungen oder Sprung' schleifen steuert. Bei der Steuerung von Indusiriemaschinen ist es häufig erforderlich, daß ein Steuerzyklus oder eine Folge von Steuerzyklen mehrmals wiederholt wird, was mit Hilfe d^s Sprungzykluszählers leicht möglieh ist, ohne daß langwierige Entscheidungsoperationen eingeschoben werden müssen.
Der die Adressen enthaltende Teil des Steuerspeichers für Befehls- und Adreßinformation enthält bei-
spielsweise Operandenadressen (A) und (B) für Operanden A und B und Ergebnisadressen (C) für das aus der Verknüpfung der Operanden A und B entstehende Ergebnis C. Wenn die Operanden A und B untereinander zum Ergebnis C verknüpft werden sollen, werden bei 5 jedem Steuerzyklus sukzessiv die Adressen (A), (B) und (C)\n dieser Reihenfolge aufgerufen. Die Adreßrecheneinheit verarbeitet zuerst die Adresse (A) und leitet die F.rgebnisadresse dem Datenspeicher zu, der seinerseits die unter dieser Adresse gespeicherten Daten an die Arithmetik-Logik-Einheit übermittelt. In gleicher Weise werden nacheinander die Adressen (B) und (C) behandelt, wobei unter der Adresse (C) das Ergebnis der Operation in der Arithmetik-Logik-Einheit in den Datenspeicher rückgespeichert wird.
Da die Daten A und B in der Arithmetik-Logik-Einheit statisch verarbeitet werden, von der Adreßrecheneinheit jeuucii nacheinander eintreffen, enthält die Arithmetik-Logik-Einheit zwei Zwischenspeicher, in denen die Daten aufgefangen werden und während der Restzeit des Steuerzyklus bzw. bis zur nächsten Änderung anstehen.
Die Adreßrecheneinheit arbeitet in einfachster Ausführung mit folgenden Befehlen, die der die Befehle enthaltende Teil des Steuerspeichers im anstehenden Steuerzyklus fordert:
1. direkte Weitergabe der Adressen (A), (B) und (C) an den Datenspeicher und bei vorhandenem Befehl Abspeichern in ein Register zur späteren Verwendung.
2. Summenbildung der Adressen (A), (B) und (C) mit den entsprechenden Adressen eines aufgerufenen Registers ohne Rückspeichern des Ergebnisses.
3. Wie unter 2„ jedoch mit Rückspeichern des Ergebnisses in das aufgerufene Register.
Die Adreßrecheneinheit weist deshalb vorzugsweise mehrere, z. B. vier, Adreßregister auf.
Die Arithmetik-Logik-Einheit kann eine herkömmliehe Logikschaltung sein. Es wird jedoch bevorzugt, daß zumindest die Sprungbefehl-Logik ein Festwertspeicher ist, in den die Sprungbedingungen als Tabelle eingeschrieben sind. Als Festwertspeicher dienen nichtlöschbare oder löschbare Nur-Lese-Speicher, sögenannte ROMs oder EPROMs. Die arn Festwertspeicher anstehenden Adressen und/oder Sprungbedingungen von dem die Befehle enthaltenden Teil des Steuerspeichers geben den Speicherplatz an, an dem das gewünschte Ergebnis steht. Es wird dann als Sprungbefehl ausgegeben.
In einer weiteren bevorzugten Ausführungsform besteht die Arithmetik-Logik-Einheit (abgesehen von gegebenenfalls vorhandenen Zwischenspeichern) im wesentlichen nur aus Festwertspeichern, in die Tabellen eingeschrieben sind. Beispielsweise enthält die Arithmetik-Logik-Einheit drei ROMs, von denen zwei ROMs Daten für die Verknüpfung der Daten A und B enthalten und das dritte ROM die Sprungbefehl-Logik enthält. Den beiden ROMs für die Verknüpfung werden die Daten. gegebenenfalls über Zwischenspeicher, aus dem Datenspeicher sowie die Operationsbefehle von dem die Befehle enthaltenden Teil des Steuerspeichers über Steuereingänge zugeführt. Aus den so adressierten Speicherplätzen in den Tabellen wird das Ergebnis abgefragt und weiterverarbeitet bzw. der Datenausgabeeinheit zugeführt.
Dabei sind beispielsweise die Daten A und B jeweils 4 Bit-Daten, von denen jeweils nur 3 Bit dem ersten ROM zugeführt und in diesem verarbeitet werden, während das 4. Bit jeweils dem zweiten ROM zugeführt wird. Das Ergebnis der Verknüpfung der ersten 3 Bits der Daten A mit den ersten 3 Bits der Daten B in dem ersten ROM wird als 4-Bit-lnformation an das zweite ROM abgegeben. 4-Bit-Steuereingänge führen den beiden ROMs jeweils die Operationsbefehle von dem die Befehle enthaltenden Teil des Steuerspeichers zu. Auf diese Weise lassen sich in jedem der beiden ROMs jeweils 16 Tabellen mit je einer 64stelligen Matrix (1024 Speicherplätze) ansprechen.
Da im BCD-Code und im Binär-Code jeweils die ersten drei Bit gleich sind, wird zweckmäßigerweise das vierte Bit dazu verwendet, um zu bestimmen, ob das Ergebnis binär oder BCD ist. Diese Information wird deshalb durch das vierte Bit dem zweiten ROM zugeführt, in dem die Fnurheidung gefällt wird, ob binär oder im BCD-Code gearbeitet wird, d. h. ob das Ergebnis der Verknüpfung der Daten im ersten ROM binär oder im BCD-Code vorliegt.
Bei internen Logik- oder Rechenoperationen arbeitet die Arithmetik-Logik-Einheit ausschließlich mit den Datenspeicher, wobei die Daten der Adressen (A) und (B) entnommen, verarbeitet und unter der Adresse (C) bei Bedarf zurückgespeichert werden. Als Adressen (A), (B) und (C) ';^nnen auch gleiche Adressen verwendet werden.
Es bleiben beispielsweise Daten aus z. B. Adresse (B) unberücksichtigt, wenn von einer Rechenoperation nur das Vorzeichen benötigt wird; wenn von Daten A nur das invertierte Vorzeichen benötigt wird: usw.
Es wird zuweilen notwendig sein, den Operationsbefehl und/oder die Sprungbedingung zu dekodieren, nachdem sie von dem die Befehle enthaltenden Teil des Steuerspeichers abgegeben worden sind, damit sie von der Arithmetik-Logik-Einheit und/oder der Sprungbefehl-Logik verarbeitet werden können. In diesem Falle ist ein Dekoder entweder im Ausgang des die Befehle enthaltenden Teils des Steuerspeichers oder im Eingang der Arithmetik-Logik-Einheit bzw. der Sprungbefehl-Logik vorgesehen.
Es hat sich weiterhin als zweckmäßig erwiesen, im Datenbus am Datenausgang einen Zwischenspeicher vorzusehen, in den die Arithmetik-Logik-Einheit das Operationsergebnis ausgibt. Dieser Zwischenspeicher dient als zeitlicher »Puffer« und steht der Arithmetik-Logik-Einheit nach Beendigung ihrer Operation stets zur Verfügung, wenn sie taktgesteuert ihr Ergebnis ausgibt. Die Datenausgabe der Arithmetik-Logik-F'iheit ist nur zur Ausgabe des Ergebnisses offen und sonst gesperrt Der Datenbus wird dadurch sofort wieder frei, und der Inhalt des Zwischenspeichers kann nach Bedarf in die Peripherie-Einheiten ausgeleert werden.
In einer weiteren vorteilhaften Ausführungsform der Erfindung ist zwischen dem Datenbus und der Adreßrecheneinheit eine Übergabeeinheit vorgesehen, die einen Zugriff zur Adreßrecheneinheit von außen gestattet. Eine derartige Obergabeeinheit, die die Verbindung zwischen dem Datenbus und der Adreßrecheneinheit bzw. der Adreßrecheneinheit und dem Datenbus herstellt, bringt zusätzliche Vorteile, wenn beispielsweise mehrere Prozeßsteuerungen miteinander korrespondieren sollen. Diese Übergabeeinheit gestattet die Verwendung des gleichen Steuerzyklusteiies zur Verarbeitung verschiedener Daten, die alle getrennt abgespeichert sind und von externen Befehlen oder bei besonderen Bedingungen nach Bedarf abgerufen werden können.
In einer weiteren vorteilhaften Ausführungsform der Prozeßsteuerung nach dem Anspruch 1 ist an dem die Befehle enthaltenden Teil des Steuerspeichers ein Steuerausgang vorgesehen, von dem ein Steuersignal direkt an die Peripherie-Einheiten der Prozeßsteuerung abgegeben werden kann. Dieses Steuersignal kann in jedem Steuer-ryklus mitprogrammiert werden und bildet somit einen leiten Teil des Steuerzyklus.
Für die gesamte Steuerung der Prozeßsteuerung ist ein Taktgenerator vorhanden. Er ist voreugsweise in herkömmlicher TTL-Technik (d. h. Transistor-Transistor-Logik-Technik) aufgebaut und umfaßt einen Oszillator, der Fortschaltimpulse an ein Schieberegister liefert. Der Ausgang des Schieberegisters ist invertiert mit dem Eingang des Schieberegisters verbunden. Ein am Ausgang des Schieberegisters ankommender L-Impuls wirkt invertierend auf den Eingang des Schieberegisters ein, so daß die nachfolgenden Impulse als Η-Impulse das Schieberegister durchlaufen. Andererseits wirkt ein am Ausgang ankommender H-lmpuls so invertierend auf den Eingang des Schieberegisters ein, daß die nachfolgenden Impulse das Schieberegister als L-Impulse durchlaufen. Besitzt das Schieberegister n-Stellen, so wechseln η L-Impulse mit η Η-Impulsen am Ausgang des Taktgenerators ab.
Maximal π Takte (Impulse) bilden einen Steuerzyklus. Wenn ein Steuerzyklus η Takte umfassen soll, wird der letzte benötigte Ausgang des Schieberegisters invertiert mit dem Eingang des Schieberegisters verbunden. Ein Steuerzyklus besitzt dann nur so viele Takte, wie die Anzahl der von dem Schieberegister verwendeten Stellen beträgt.
Eine derartige Änderung der Steuerzykluslänge ist leicht ohne Dekodierung durchzuführen. Die Prozeßsteuerung kann dadurch leicht anderen, z. B. schneller arbeitenden Bauteilen angepaßt werden.
wenn beispielsweise ein lÖ-MHz-Üszülator zusammen mit einem 40stelligen Schieberegister für den Taktgenerator verwendet wird, werden aus den 10-MHz-Impulsen mit jeweils 0,1 ps Länge über die Zusammenfassung von 40 Takten zu einem Steuerzyklus Steuerzyklen mit der Länge von 4 (is erzeugt.
Entsprechend der Steuerzykluslänge von 4 \is können 250 000 Rechenoperationen pro Sekunde mit Abspeichern an beliebigen Speicherplätzen ausgeführt werden.
Für die Steuerung von Industriemaschinen, die üblicherweise mit Motoren arbeiten, gestattet diese hohe Rechengeschwindigkeit schon eine sehr präzise Steuerung. Außerdem ist die Struktur der programmierbaren Prozeßsteuerung so, daß im Maschinencode gearbeitet wird. Sie ist daher einfach zu programmieren, was für die Steuerung von Industrieanlagen oder Industriemaschinen notwendig ist Darüber hinaus ist ihre Struktur so einfache, daß durch Auswechseln von wenigen ROMs das Programm relativ leicht geändert werden kann und sogar, wie oben dargelegt, die Steuerzykluslänge verändert werden kann.
Die Erfindung wird nun durch Ausführungsbeispiele anhand der Zeichnungen näher erläutert In den Zeichnungen zeigt
F i g. 1 eine schematische Darstellung der wesentlichen Baueinheiten der Prozeßsteuerung gemäß dem Anspruch 1,
F i g. 2 eine andere Ausführungsform des Datenspeichers der Prozeßsteuerung nach F i g. i,
F i g. 3 eine schematische Darstellung eines Ausführungsbeispiels des Aufbaus der Arithmetik-Logik-Einheit der Prozeßsteuerung nach F i g. 1,
F i g. 4 eine Ausführungsform der Datenausgabe der Prozeßsteuerung nach F i g. 1,
F i g. 5 eine schematische Darstellung zur Erläuterung, des Programmablaufs,
Fig.6 eine andere Ausführungsform der programmierbaren Prozeßsteuerung als in F i g. 1 dargestellt ist und
F i g. 7 eine schematische Darstellung des Taktgenerators.
ίο F i g. 1 zeigt ein Ausführungsbeispiel für eine programmierbare Prozeßsteuerung nach dem Anspruch 1. Das Programm ist in dem die Befehle enthaltenden Teil FSp und dem die Adressen enthaltenden Teil ASp des Steuerspeichers STSP für Befehls- und Adreßinformation gespeichert. Der die Adressen enthaltende Teil ASp ist über einen 16 Bit-Adressenbus mit einer Adreßrecheneinheit AR verbunden, die die benötigten Adressen jeweils über eine 16 Bit-Leitung dem Datenspeicher (oder Akumulatnr) AKL/zuführt. Die zu verarbeitenden Daten werden von der Dateneingabe-Z-ausgabeeinheit //Odem Datenspeicher AKUzugeführt und unter der von der Adreßrecheneinheit angegebenen Adresse abgespeichert.
Der Datenspeicher besteht aus einem oder mehreren Schreib-Lese-Speichern, üblicherweise als »RAM« bezeichnet.
In dem die Befehle enthaltenden Teil des Steuerspeichers sind die für die Durchführung des Programms benötigten Befehle, Sprungbedingungen und ähnliches gespeichert Die Operationsbefehle werden direkt der Arithmetik-Logik-Einheit, kurz »ALU« genannt, gegebenenfalls über einen Dekoder, zugeführt. Im dargestellten Beispiel ist für die Zuführung des Operationsbefehls eine 8 Bit-Leitung vorgesehen.
Die zu verarbeitenden Daten, d. h. die Operanden, die im Datenspeicher gespeichert worden sind, werden der ALU über den 4 Bit-Datenbus zugeführt und gemäß dem Operationsbefehl verarbeitet. Das Ergebnis wird von der ALU über den 4 Bit-Datenbus an die Dateneingabe-/-ausgabeeinheit//O abgegeben, wo es für den jeweiligen Zweck weiterverarbeitet wird. Außerdem kann es erforderlich sein, daß das Ergebnis im Datenspeicher aufbewahrt wird; in diesem Falle wird es zusätzlich über den Datenbus dem Datenspeicher zugeführt.
Die ALU besitzt eine Sprungbefehl-Logik, in die die Sprungbedingung über eine 4 Bit-Leitung direkt oder gegebenenfalls über einen Dekoder, von dem die Befehle enthaltenden Teil des Steuerspeichers eingegeben wird. Ergibt die Verarbeitung der Daten in der ALU, daß ein Sprung auszuführen ist so wird ein Sprungbefehl an ein Sprungregister abgegeben, in das vorher die Adresse des Steiierzyklus von dem die Befehle enthaltenden Teil des Steuerspeichers eingelesen worden ist auf den der Sprung erfolgen soll. Für den Sprungbefehl ist üblicherweise eine 1 Bit-Steuerleitung ausreichend
Der zeitliche Ablauf der Steuerzyklen und somit der zeitliche Programmablauf wird durch einen Taktgenerator gesteuert der die Taktimpulse den jeweiligen Bausteinen der Prozeßsteuerung zuführt, in einem unten noch näher erläuterten Beispiel beträgt die Länge eines Taktes 0,1 us, und 40 Takte sind zu einem Steuerzyklus von 4 us zusammengefaßt Obgleich für die Steuerung von Industriemaschinen üblicherweise Rechenoperationen, die 40 Takte umfassen, ausreichend sind, ist es natüriich auch möglich, für längere bzw. einfachere Rechenoperationen mehr bzw. weniger Takte zu einem Steuerzyklus zusammenzufassen oder mehrere Steuerzyklen zu verwenden.
Ein Steuerzykluszähler PZ steuert die Steuerzyklen, und zwar das Auslesen des Operationsbefehls, der Sprungbedingung usw. aus dem die Befehle enthaltenden Teil des Steuerspeichers in die ALU und die Sprungbefehl-Logik sowie das Auslesen der Adressen in die Adreßrecheneinheit für den laufenden Steuerzyklus. Liegt kein Sprungbefehl vor, so wird im fortlaufenden Programm weitergearbeitet. Liegt dagegen ein Sprungbefehl vor, so wird über das Sprungregister der Steuerzykluszähler angewiesen, auf welchen Steuerzyklus gesprungen werden soll.
Beim Beginn eines Steuerzyklus liest die Adreßrecheneinheit aus dem die Adressen enthaltenden Teil des Steuerspeichers Adressen aus, die sie zu den Adressen verarbeitet, unter denen die im lautenden Steuerzyklus zu verarbeitenden Daten im Datenspeicher abgelegt sind. Diese Daten werden daraufhin als Operanden sukzessiv in die ALU eingelesen, verarbeitet, d. h. miteinander verknüpft, und das Ergebnis wird am Ende des Steuerzyklus taktgesteuert an die Datenausgabeeinheit und/ oder den Datenspeicher über den Datenbus abgegeben.
Die Daten und ihre Adressen werden also getrennt verarbeitet und aufgrund der Taktsteuerung koordiniert.
Obgleich der wesentliche Bestandteil des Datenspeichers aus einem oder mehreren RAM besteht, sind in einer weiteren Ausführungsform der Erfindung zusätzlich ein oder mehrere ROMs (d. h. Nur-Lese-Speicher) im Datenspeicher vorgesehen. Diese Ausführungsform der Erfindung ist in F i g. 2 dargestellt. In dem zusätzlich vorhandenen ROM können beispielsweise bei der Verknüpfung der variierenden Daten benötigte apparative Festwerte, Sollwerte, Konstanten und dergleichen gespeichert sein.
In der in F i g. 1 dargestellten Ausführungsform der erfindungsgemäßen Prozeßsteuerung sind in dem die Adressen enthaltenden Teil des Sieuerspeiehers beispielsweise Adressen (AX (B) und (C) für Daten A, B und C gespeichert, wobei Daten A und B Operanden seien, deren Verknüpfung das Ergebnis C liefert. Es werden jeweils der Reihe nach Daten A, die auf den Adressen (A) abgespeichert sind, in die ALU ausgelesen und dort dann mit Daten B. die auf den Adressen (B) abgespeichert sind, verknüpft. Das Ergebnis C wird, wenn es abgespeichert werden soll, im Datenspeicher unter einer Adresse (C) abgelegt.
F i g. 3 zeigt eine Ausführungsform des Grundaufbaues der ALU. Die ALU besteht im wesentlichen aus drei Nur-Lese-Speichern ROMl ROMU und ROM III, denen über zwei Zwischenspeicher [A] und [B]die zu verarbeitenden Operanden-Daten A und Baus dem Datenspeicher AKU zugeführt werden, während sie die Operationsbefehle, einschließlich der Sprungbedingungen, direkt von dem die Befehle enthaltenden Teil des Steuerspeichers erhalten. In diese Nur-Lese-Speicher ROMl, ROMU und ROMlU sind Daten in Tabellenform eingeschrieben, die jeweils als Ergebnisse logischer Verknüpfungen abgerufen werden können. Nachdem vom Datenspeicher AKU nacheinander die Operanden-Daten A in dem Zwischenspeicher [A] und die Operanden-Daten B in dem Zwischenspeicher [B] eingetroffen sind, stehen sie dort zur statischen Weiterverarbeitung an. Taktgesteuert werden dann von den 4 Bit-Daten jeweils die ersten 3 Bit dem ROMI zugeführt und geben einen Speicherplatz in einer Tabeüenmairix an. Durch den gleichzeitig von dem die Befehle enthaltenden Teil des Steuerspeichers taktgesteuert eintreffenden Operationsbefehl wird die Tabelle bestimmt, in der der richtige M /trixspeieherplatz liegt. Das Ergebnis dieser Verknüpfung der Daten A und B wird als 4 Bit-Information dem ROMII zugeführt. In ROMU wird durch das jeweilige vierte Bit der Daten A bzw. B angegeben, ob es sich bei dem Ergebnis aus ROMl um eine binäre oder eine BCD-Information handelt. Das Ergebnis wird dann über den 4 Bit-Datenbus taktgesteuert der Datenausgabeeinheit zugeführt, um dort weiterverarbeitet werden zu können. Außerdem wird das Ergebnis oder ein Zwischenergebnis dem ROMlM zugeführt, das die Sprungbefehl-Logik enthält. In diesem ROMIIl wird entschieden, ob eine Sprungbedingung, die von dem die Befehle enthaltenden Teil des Steuerspeichers an ROMIlI gegeben worden ist, erfüllt ist oder nicht.
Das Ergebnis, im allgemeinen ein Ί Bii-Sprungbefehi, wird an das Sprungregister übertragen.
Die Datenausgabe ist taktgesteuert nur dann geöffnet, wenn ein Ergebnis ausgegeben werden soll. Die übrige Zeit ist der Datenausgang gesperrt.
In das Sprungregister, das im Beispiel der Fig. 1 16 Plätze aufweist und mit einer 4-Bit-Adressierung gefüllt worden ist, ist vorher die Adresse desjenigen Steuerzyklus (mit 12-Bit) eingelesen worden, in den gegebenenfalls der Sprung erfolgen soll. Wenn die ALU ent-
2; scheidet, daß kein Sprung erfolgen soli, so wird im Steuerzykluszähler einfach weitergezählt und zum nächsten Zyklus übergegangen.
Das Sprungregister kann aus dem die Befehle enthaltenden Teil des Steuerspeichers nur auslesen, aber nicht in diesen einschreiben.
Es ist weiterhin dem Sprungregister ein Sprungzykluszähler zugeordnet, der seine Fortschaltimpuise aus dem Steuerprogramm erhält und nach Erreichen der zuvor eingegebenen Zykluszahl einen unbedingten Sprung zu einem Steuerzyklus einleitet, der im Sprungregister auf einem bestimmten Platz abgespeichert ist.
F i g. 5 zeigt schcmaiisch den Ablauf der Datenverarbeitung in der ALU. Die Posten zeigen im einzelnen:
1. den Adressenspeicherausgang für die Adresse (A)
2. den Adressenspeicherausgang für die Adresse (B)
3. den Adressenspeicherausgang für die Adresse (C)
4. wann der Zwischenspeicher im Eingang der Adreßrecheneinheit frei ist
5. wann in das Adressenregister geschrieben werden kann
6. wann ein Teil des Adressenregisters für Operanden-Daten A nicht mehr offen ist
7. wann ein Teil des Adressenregisters für Operanden-Daten B nicht mehr offen ist
8. Daten A in AKU schreiben und Übernahme in ALU
9. Daten B in AKU schreiben und Übernahme in ALU
10. Übernahme Daten Cin AKU
11. Dateneingabe von Daten A in [A]
12. Dateneingabe von Daten B in [B]
13. Datenausgabe von Daten Caus der ALU
14. Fortschaltimpuls des Steuerzykluszählers
15. (Inverter) Zustand des Zwischenspeichers in der
Datenausgabe
16. Takt für Datenausgabe an die Peripherie.
Zu Beginn des Steuerzyklus mit 40 Takten ruft die Adreßrecheneinheit die Adresse der Operanden-Daten A im Datenspeicher auf, so daß diese Daten in die ALU, und zwar in ihren Zwischenspeicher [AJ eingelesen
werden. Bei dem Übernahmetakt werden die Daten spä-
ter aus dem Zwischenspeicher zur Verarbeitung in ROMl bzw. ROMU freigegeben. Vorher wird die Adresse von Operanden-Daten B im Datenspeicher aufgerufen, woraufhin diese Daten in den Zwischenspeicher [B]der ALU eingelesen werden, und nun ebenfalls an den Adreßeingängen von ROM I bzw. ROM II anstehen.
Nach der Verarbeitung mittels der in die ROM I und ROM II eingeschriebenen Tabellen steht das Ergebnis (Daten C) am Ausgang der ALU zur Verfugung und wird taktgesteuert zum geeigneten Zeitpunkt auf den Datenbus freigegeben. Unter der Bezeichnung :>Daten kann das Ergebnis unter der zeitlich parallel berechneten Adresse C des Datenspeichers in diesen eingele-Scii werden. Andererseits wird das Ergebnis der Daienausgabeeinheit zugeführt. Wenn, wie im dargestellten Beispiel, nur ein Datenbus von der Dateneingabe-/-ausgabeeinheit I/O die Verbindung zum Datenspeicher und zur ALU bildet, muß der Datenbus möglichst schnell nach der Belastung mit Daten wieder freigegeben werden. Deshalb ist vorzugsweise in der Datenausgabe ein Zwischenspeicher vorgesehen, der taktgesteuert das Ergebnis aufnimmt und bis zum Ende des nächsten Programmschrittes an die Peripherie abgibt. Die Datenausgabe an die Peripherie bleibt dadurch über die maximal möglich Zeit eines Steuerzyklus stabil und kann von der angeschlossenen Peripherie leichter verarbeitet werden.
Diese Zwischenspeicherung ist notwendig, da die vom Rechner ausgegebenen Dater; von der Peripherie wegen der zwangsläufig längeren Leitungswege nicht direkt aufgenommen werden können. Im vorstehend beschriebenen Ausführungsbeispiel beträgt die Gesamtzeit eines Steuerzyklus nur 4 μ5, d. h. die Daten werden in einer Folge von 250 kH ausgegeben.
F i g. 4 zeigt schematisch einen Teil der Peripherie,
ÜLrCr viCn viiv L^atCilaüSgaifc Cl lOlgt. L/ic VOH UcT nt.c über den Zwischenspeicher ausgegebenen 4 Bit-Daten werden in einem Dekoder dekodiert und über eine 16 Bit-Leitung dem Zwischenspeicher zugefüh Bei einem vorherbestimmten Takt (Posten 16 in _,. 5) erfoigt die Übergabe an die eigentliche Datenausgabeeinheit, die wiederum taktgesteuert Steuersignale, gegebenenfalls über Leistungsverstärker, Leistungswandler, Meßwertwandler oder dergleichen an die zu steuernde Maschine oder Anlage abgibt. Ein Steuerausgang von dem die Befehle enthaltenden Teil des Steuerspeichers für Befehls- und Adreßinformation, der beispielsweise 12 Bit verarbeitet und zur Peripherie des Prozeßrechners führt, liefert die Zuordnung der Ergebnisse der Rechenoperation. Er wird beispielsweise angeben, wo die Daten aus dem Datenbus abzuspeichern sind, um welche Daten es sich handelt, welchen Stellenwert die Daten darstellen (d. h. Einer, Zehner, Hunderter, Tausender) usw.
Dadurch, daß der Datenbus immer so schnell wie möglich wieder freigemacht wird, ist es möglich, daß der Datenspeicher auch während eines Steuerzyklus Daten über die Dateneingabeeinheit aufnehmen kann. Diese Daten können in dem Datenspeicher als A- bzw. B-Dzten abgespeichert werden. Vorgegeben wird diese Dateneingabe beispielsweise von gemessenen Ist-Werten aus der Peripherie.
In jedem Falle regelt die Adreßrecheneinheit die Einspeicherung und Ausgabe von Daten im Datenspeicher.
F i g. 6 zeigt eine Abwandlung der erfindungsgemäßen programmierbaren Prozeßsteuerung nach Fig. 1. Zwischen dem Datenbus und der Adreßrecheneinheit AR ist eine Übergabeeinheit ÜE vorgesehen, die eine Verbindung zwischen dem Datenbus und der Adreßrecheneinheit herstellt. Hierdurch wird ein externer Zugriff zur Adreßrecheneinheit AR möglich, der insbesondere für die Kommuniaktion mehrerer Pr^zeßst^uerung wichtig ist. In derartigen Sonderfällen, wenn z. B. Korrespondenz mehrerer Prozeßsteuerungen untereinander erwünscht ist, bringt die zusätzliche Übergabeeinheit u. a. den Vorteil, daß gleiche Programmteile zur
ίο Verarbeitung verschiedener Daten verwendet werden können, die alle getrennt abgespeichert sind und von externen Befehlen oder bei besonderen Bedingungen nach Bedarf abgerufen werden können.
Der die Befehle enthaltende Teil des Steuerspeichers besiiii vur^ugSwciSc iiüf RumS, die üüf ein ic5tc5 Programm eingestellt sind. Diese ROMs können als Steckkarten eingesetzt werden. Der Einsatzbereich der Prozeßsteuerung kann jedoch insofern erweitert werden, als statt der Nur-Lese-Speicher. d. h. der ROMs, iösciibare Nur-Lese-Speicher, sogenannte »EPROMs«, eingesetzt werden.
Es muß jedoch im Einzelfalle entschieden werden, ob es wichtiger ist, einen vielseitigen Einsatzbereich der Prozeßsteuerung zu erreichen oder ob der leichteren Bedieiibarkeit und Einfachheit der Vorzug gegeben werden soll. Je mehr Möglichkeiten vorhanden sind, desto schwieriger ist es, ein Programm zu schreiben. Häufig wird der Wunsch nach einfacher Programmierbarkeit beim Einsatz in der Praxis überwiegen.
Der einfache Aufbau der programmierbaren Prozeßsteuerung zeigt sich auch darin, daß nur ein Datenspeicher und keine de.n Datenspeicher zugeordneten Zwischenspeicher vorgesehen sind. Dadurch, daß der Datenspeicher einen direkten Zugriff besitzt, arbeitet er besonders schnell. Andererseits kann jeweils nur eine Adresse aufgerufen werden.
η or» K Ao
Ancnriir>K 1
I »KUf · VW·· t
6 £5 f
hier anhand eines 4 Bit-Rechners im einzelnen beschrieben worden ist, wird ausc"ücklich bemerkt, daß der Grundgedanke nicht auf 4 Bit-Rechner beschränkt ist. Die Steuerung kann in gleicher Weise z. B. auf 8 Bit-, 24 Bit- usw.-Rechner erweitert werden.
Als Taktgenerator zur Zeittaktsteuerung der Frozeßsteuerung nach der Erfindung kann an sich jeder geeignete bekannte Taktgenerator eingesetzt werden. Es hat sich jedoch gezeigt, daß die bekannten Taktgeneratoren wegen ihrer langen Laufzeiten zu langsam waren. Es wird daher bei der erfindungsgemäßen Prozeßsteuerung, deren Aufbau ein besonders schnelles Arbeiten
so gestattet, ein Taktgenerator verwendet, wie er in F i g. 7 dargestellt ist. Dieser Taktgenerator ist in TTL-Technik (Transistor-Transistor-Logik-Technik) aufgebaut. Ein Oszillator mit 10 MHz Oszillationsfrequenz liefert Fortschaltimpulse an ein Schieberegister, das zum Beispiel 40 Stellen besitzt, wenn ein Steuerzyklus 40 Takte besitzen soll. Die 10-MHz-lmpulse vom Oszillator werden in das Schieberegister eingelesen und durch dieses hindurchgeschoben. Der Ausgang des Schieberegisters ist invertiert mit dem Eingang des Schieberegisters verbunden. Ein am Ausgang des Schieberegisters ankommender, zum Beispiel L-Impuls, wirkt invertierend auf den Eingang des Schieberegisters ein, so daß die nachfolgenden Impulse als Η-Impulse das Schieberegister durchlaufen. Nach dem 40. Takt hat der erste H-Impuls
&5 das Schieberegister durchlaufen und ist am Ausgang des Schieberegisters angekommen und wirkt nun seinerseits invertierend auf den Eingang des Schieberegisters, so daß daraufhin 40 L-Impulse das Schieberegister
durchlaufen. Dementsprechend treten a«n Ausgang des Schieberegisters nacheinander 40 L-Impulse, 40 H-impulse,40 L-Impulse usw. auf.
Die Gesamtheit von 40 Takten mit gleichen H- bzw. L-Impulsen bilde. jeweils einen Steuerzyklus.
Wenn ein Steuerzyklus weniger Takte enthalten soll, wodurch die Steuerzyklusfolge erhöht werden kann, wird einfach nach einem früheren Takt invertiert, d. h. ein Ausgang des Schieberegisters zwischen dem Ausgang 1 und Ausgang 40 (zum Beispiel der Ausgang »25«) wird invertierend an den Eingang des Schieberegisters zurückgeführt Die Steuerzykluslänge umfaßt weniger Takte (in diesem Falle 25 Takte).
Ein Takt der Takte, die einen Steuerzyklus bilden, wird jeweils zur Weiterschaltung des Programms und insbesondere des Steuerzykluszählers benötigt. Zweckmäßigerweise wird dafür der erste oder der letzte Takt eines Steuerzyklus verwendet
An die Ausgänge des Schieberegisters sind Exklusiv-ODER-Gatter (Antivalenz-Verknüpfungsglieder) ange- schlossen, deren Ausgänge die Taktausgänge bilden. Wenn an die 40 Ausgänge des Schieberegisters beispielsweise 20 Exklusiv-ODER-Gatter angeschlossen sind, erhält man in diesem Falle 20 Taktausgänge hinter den Exklusiv-ODER-Gattern. Kommerziell erhältlich sind 20 Exklusiv-ODER-Gatter auf einer Platte, die beim Taktgenerator eingesetzt werden können.
Die Schaltzeit der Exklusiv-ODER-Gatter fällt mit zirka 12 bis 15 ns beim Einschalten bzw. Ausschalten nicht ins Gewicht Darüber hinaus heben sich die Ein- und Ausschaltzeiten auf, so daß die Taktlänge konstant bleibt Der erfindungsgemäß eingesetzte Taktgenerator ist schneller und stabiler als herkömmliche Taktgeneratoren.
Im angegebenen Beispiel werden aus den 10-MHz-Impulsen mit jeweils 0,1 us Länge 40 Takte zu einem Steuerzyklus mit der Länge von 4 μ5 erzeugt.
Der Oszillator kann in üblicher Weise aufgebaut sein, d. h. die Frequenz über einen Schwingquarz oder über einen astabilen Multivibrator erzeugen. Vorzugsweise ist der Oszillator aus Schmitt-Triggern aufgebaut, so daß der Taktgenerator aus nur wenigen verschiedenen Bausteinen besteht
Es ist ohnehin anzustreben, bei der Prozeßsteuerung nach dem Anspruch 1 möglichst wenig verschiedene Bauelemente zu verwenden, um möglichst gleiche Temperaturabhängigkeit und etwa die gleiche Zeitkonstanz zu erreichen. Wenn alle Bauelemente im wesentlichen die gleiche Zeitkonstante und die gleiche Temperaturabhängigkeit aufweisen, kann sich zwar die einzelne Taktlänge etwas ändern, was sich jedoch insgesamt auf das Arbeiten der Prozeßsteuerung nicht störend auswirkt.
Eine wesentliche Anwendung der Prozeßsteuerung nach dem Anspruch 1 ist ihre Anwendung auf die Steuerung von Motoren für Werkstückbearbeitung.
Bei den im Maschinenbau vorkommenden Steuerungsa'jfgaben handelt es sich in den meisten Fällen darum, einen im wesentlichen vorher bestimmten Ablauf eines Vorgangs oder mehrerer Vorgänge zu steu- i>o ern, wobei von außen eingegebene Meßgrößen, Sollwerte oder andere Parameter den Ablauf beeinflussen sollen. Es handelt sich also hierbei im wesentlichen immer um die gleiche nur in Einzelheiten variierende Aufgabenstellung. Meistens ist es dabei der Zweck der Steuerung, zwei zum Beispiel 4 Bit-Worte miteinander zu vergleichen, um aus dem Vergleich ein Steuersignal zu erhalten. Dazu wird in der Steuerung entweder eine Referenzfunktion oder eine Rechenfunktion gespeichert, durch die es möglich ist, miteinander vergleichbare Daten zu erhalten.
Hierzu 7 Blatt Zeichnungen

Claims (1)

Patentansprüche:
1. Programmierbare Prozeßsteuerung mit einem Steuerspeicher für Befehls- und Adreßinformation, einer Zyklusfolgesteuerung, einem Datenspeicher, einer Dateneingabe-Aausgabeeinheit, einer Arithmetik-Logik-Einheit und einem Taktgenerator, dadurch gekennzeichnet,
daß der Datenspeicher (AKU) einerseits durch einen Adressenbus über eine Adreßrecheneinheit (AR) mit dem die Adressen enthaltenden Teil des Steuerspeichers (STSP) verbunden ist, von dem er die Adressen für den laufenden Steuerzyklus erhält, und andererseits mit der Dateneingabe-Aausgabeeinheit (I/O) direkt durch einen Datenbus verbunden ist und von ihr mit externen Daten beliefert wird, und weiterhin durch den Datenbus direkt mit der Arithmetik-Logik-Einheji f/iLLflverbunden ist, daß die Arithmetik-Logik-Einheit (ALU) direkt mit dem die Befehle enthaltenden Teil des Steuerspeichers (STSP) verbunden ist, wobei innerhalb eines Steuerzyklus
DE2944757A 1979-11-06 1979-11-06 Programmierbare Prozeßsteuerung Expired DE2944757C2 (de)

Priority Applications (7)

Application Number Priority Date Filing Date Title
DE2944757A DE2944757C2 (de) 1979-11-06 1979-11-06 Programmierbare Prozeßsteuerung
AT0102380A AT379457B (de) 1979-11-06 1980-02-25 Sequentiell taktgesteuerter prozessrechner
US06/201,361 US4405980A (en) 1979-11-06 1980-10-27 Process control computer wherein data and addresses are separately processed
CH8150/80A CH654679A5 (de) 1979-11-06 1980-11-03 Prozessrechner.
IT68690/80A IT1129370B (it) 1979-11-06 1980-11-05 Calcolatore di processo
JP15528880A JPS5674704A (en) 1979-11-06 1980-11-06 Process control computer
CA000363451A CA1159572A (en) 1979-11-06 1980-12-28 Process control computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2944757A DE2944757C2 (de) 1979-11-06 1979-11-06 Programmierbare Prozeßsteuerung

Publications (2)

Publication Number Publication Date
DE2944757A1 DE2944757A1 (de) 1981-05-27
DE2944757C2 true DE2944757C2 (de) 1986-01-16

Family

ID=6085266

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2944757A Expired DE2944757C2 (de) 1979-11-06 1979-11-06 Programmierbare Prozeßsteuerung

Country Status (7)

Country Link
US (1) US4405980A (de)
JP (1) JPS5674704A (de)
AT (1) AT379457B (de)
CA (1) CA1159572A (de)
CH (1) CH654679A5 (de)
DE (1) DE2944757C2 (de)
IT (1) IT1129370B (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4577282A (en) * 1982-02-22 1986-03-18 Texas Instruments Incorporated Microcomputer system for digital signal processing
US5854907A (en) * 1982-02-22 1998-12-29 Texas Instruments Incorporated Microcomputer for digital signal processing having on-chip memory and external memory access
DE3213801A1 (de) * 1982-04-15 1983-10-27 Alfred Teves Gmbh, 6000 Frankfurt Verfahren und vorrichtung zur erzeugung von zahlenwerten, die der frequenz der messimpulse einer messimpulsfolge proportional sind
US5056014A (en) * 1985-02-04 1991-10-08 Lockheed Sanders, Inc. Network simulation system
US4860192A (en) * 1985-02-22 1989-08-22 Intergraph Corporation Quadword boundary cache system
US4933835A (en) * 1985-02-22 1990-06-12 Intergraph Corporation Apparatus for maintaining consistency of a cache memory with a primary memory
US5255384A (en) * 1985-02-22 1993-10-19 Intergraph Corporation Memory address translation system having modifiable and non-modifiable translation mechanisms
US4899275A (en) * 1985-02-22 1990-02-06 Intergraph Corporation Cache-MMU system
US5091846A (en) * 1986-10-03 1992-02-25 Intergraph Corporation Cache providing caching/non-caching write-through and copyback modes for virtual addresses and including bus snooping to maintain coherency
US4866663A (en) * 1987-02-13 1989-09-12 Sanders Associates, Inc. Simulation system
US5279317A (en) * 1993-02-26 1994-01-18 Bowman Michael D Endoscopic cannulated instrument flushing apparatus for forcing a cleaning solution through an endoscopic cannulated instrument for removal of gross debris
USD367258S (en) 1994-09-26 1996-02-20 Olexa Jr Bruce T 9.6V battery eliminator cartridge
US6654832B1 (en) 2000-01-18 2003-11-25 Micron Technology, Inc. Method of initializing a processor and computer system
US6591318B1 (en) * 2000-01-24 2003-07-08 Micron Technology, Inc. Computer system having reduced number of bus bridge terminals
DE10127348A1 (de) * 2001-06-06 2002-12-19 Infineon Technologies Ag Verfahren und Schaltungsanordnung zur Übertragung von Daten zwischen einem Prozessor und einem Hardware-Rechenwerk
JP2004252844A (ja) * 2003-02-21 2004-09-09 Fanuc Ltd 数値制御装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1264095A (de) * 1970-02-13 1972-02-16

Also Published As

Publication number Publication date
IT8068690A0 (it) 1980-11-05
IT1129370B (it) 1986-06-04
US4405980A (en) 1983-09-20
ATA102380A (de) 1985-05-15
JPS5674704A (en) 1981-06-20
DE2944757A1 (de) 1981-05-27
CH654679A5 (de) 1986-02-28
AT379457B (de) 1986-01-10
CA1159572A (en) 1983-12-27

Similar Documents

Publication Publication Date Title
DE2944757C2 (de) Programmierbare Prozeßsteuerung
DE68914172T2 (de) Datenverarbeitungssystem und Videoverarbeitungssystem mit einem derartigen Datenverarbeitungssystem.
DE69130630T2 (de) Synchrones Verfahren und Gerät für Prozessoren
DE4302495C2 (de) Einrichtung und Verfahren zum Bestimmen der Länge eines Befehls in einem sequentiellen Befehlsstrom
DE2424820C3 (de) Einrichtung zur Durchsuchung eines Datenspeichers
DE2936913C2 (de) Anordnung zur Steuerung von Eingabe und Ausgabe bei einer programmierbaren Logiksteuerung
DE2360303C2 (de) Datenverarbeitungsanlage mit Adreßübersetzung für Ein-/Ausgabekanäle
DE3400723C2 (de)
DE2750344C2 (de) Logikschaltung zum Betätigen irgendeiner Teilmenge einer Mehrzahl von Vorrichtungen
DE2926322A1 (de) Speicher-subsystem
DE1262641B (de) Mikroprogrammsteuerwerk
DE3507584C2 (de)
DE1115488B (de) Datenverarbeitungssystem
DE2900586C2 (de) Anordnung zum Decodieren von Codewörtern variabler Länge
DE1805992C3 (de) Einrichtung zur Adressierung von Zwischenspeichern beim Sortieren/Mischen von vorsortierten Datenfolgen
DE69031361T2 (de) Taktsignalgeneratorsystem
DE2245284A1 (de) Datenverarbeitungsanlage
DE3546332C2 (de) Mikroprozessor mit verbessertem Befehlszyklus
DE19531036C2 (de) Analog/Digital-Wandler
DE2759120A1 (de) Prozessor fuer datenverarbeitungssysteme
DE60302103T2 (de) Steuerungsvorrichtung für eine Maschine
DE3123379C2 (de)
DE3843638C2 (de)
DE2606295C3 (de) Anordnung zur Übertragung von Zeichen zwischen über einen Multiplexkanal ansteuerbaren peripheren Einheiten und einem Arbeitsspeicher eines Zentralprozessors
DE1107432B (de) Elektronische Rechenmaschine

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: HESS, BRUNO M., EINSIEDELN, CH

D2 Grant after examination
8363 Opposition against the patent
8365 Fully valid after opposition proceedings
8339 Ceased/non-payment of the annual fee