DE2944757C2 - Programmierbare Prozeßsteuerung - Google Patents
Programmierbare ProzeßsteuerungInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Program-control systems
- G05B19/02—Program-control systems electric
- G05B19/04—Program control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/323—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for indirect branch instructions
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13083—Jumps
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/15—Plc structure of the system
- G05B2219/15048—Microprocessor
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/15—Plc structure of the system
- G05B2219/15129—Separating 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.
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 C« 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.
Claims (1)
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
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)
| 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)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB1264095A (de) * | 1970-02-13 | 1972-02-16 |
-
1979
- 1979-11-06 DE DE2944757A patent/DE2944757C2/de not_active Expired
-
1980
- 1980-02-25 AT AT0102380A patent/AT379457B/de not_active IP Right Cessation
- 1980-10-27 US US06/201,361 patent/US4405980A/en not_active Expired - Lifetime
- 1980-11-03 CH CH8150/80A patent/CH654679A5/de not_active IP Right Cessation
- 1980-11-05 IT IT68690/80A patent/IT1129370B/it active
- 1980-11-06 JP JP15528880A patent/JPS5674704A/ja active Pending
- 1980-12-28 CA CA000363451A patent/CA1159572A/en not_active Expired
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 |