DE2817536C2 - - Google Patents
Info
- Publication number
- DE2817536C2 DE2817536C2 DE19782817536 DE2817536A DE2817536C2 DE 2817536 C2 DE2817536 C2 DE 2817536C2 DE 19782817536 DE19782817536 DE 19782817536 DE 2817536 A DE2817536 A DE 2817536A DE 2817536 C2 DE2817536 C2 DE 2817536C2
- Authority
- DE
- Germany
- Prior art keywords
- microprocessor
- bit
- input
- memory
- control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme 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
- G05B19/052—Linking several PLC's
-
- 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/11—Plc I-O input output
- G05B2219/1103—Special, intelligent I-O processor, also plc can only access via processor
-
- 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/11—Plc I-O input output
- G05B2219/1159—Image table, memory
-
- 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/12—Plc mp multi processor system
- G05B2219/1204—Multiprocessing, several plc's, distributed logic control
-
- 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/13128—Relay ladder diagram, RLL RLD KOP
-
- 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/15127—Bit and word, byte oriented instructions, boolean and arithmetic operations
Description
Die Erfindung bezieht sich auf ein programmierbares
Steuergerät gemäß dem Oberbegriff des Patentanspruchs 1.
Ein derartiges programmierbares Steuergerät wird unter
Bezugnahme auf Elektronik 1975, Heft 4, Seiten 93 bis 97
als bekannt vorausgesetzt.
Programmierbare Steuergerät dieser Art sind im allgemeinen
mit industriellen Anlagen oder Maschinen, wie
Fertigungsbändern oder Werkzeugmaschinen, verbunden, um
die Anlage oder Maschine in Abhängigkeit von einem gespeicherten
Steuerprogramm zu betreiben. Das gespeicherte
Steuerprogramm enthält Befehle, die in schneller Folge
ausgelesen werden, um den Zustand von ausgewählten Fühlervorrichtungen
in der zu steuernden Anlage zu überprüfen,
sowie Befehle, die ausgewählte Betätigungs- oder Stellvorrichtungen
in der zu steuernden Anlage in Abhängigkeit
vom Zustand von einem oder mehreren der überprüften
Fühlervorrichtungen ein- oder auszuschalten.
Grundsätzlich soll der Prozessor eines programmierbaren
Steuergeräts so konstruiert sein, daß er sehr schnell
die Steuergerättyp-Befehle ausführen kann, die die Verarbeitung
von Einzelbit-Eingabedaten und die Steuerung von
Einzelbit-Ausgabedaten verlangen. Die Länge des Steuerprogramms
und damit die Komplexität der zu steuernden
Maschine müssen begrenzt sein, um sicherzustellen, daß das
gesamte Steuerprogramm innerhalb einer bestimmten Zeit
ausgeführt oder abgetastet werden kann. Diese Zeitbegrenzungen
sind erforderlich, um zu gewährleisten, daß das
programmierbare Steuergerät auf irgendeine Änderung im
Zustand der Fühlervorrichtungen der zu steuernden Maschine
scheinbar momentan anspricht. Die Geschwindigkeit, mit der
ein Steuergerät-Prozessor Steuergerättyp-Befehle ausführen
kann, steht daher in einem direkten Zusammenhang mit der
Maschine oder dem Prozeß bzw. einem sonstigen Vorgang,
der von dem Steuergerät gesteuert werden soll.
Um die notwendige Ausführungsgeschwindigkeit sicherzustellen,
ist es aus der US-PS 39 42 158 bei einem
programmierbaren Steuergerät bekannt, den Prozessor aus
schnell arbeitenden logischen Gattern und integrierten
Schaltungen aufzubauen. Fest verdrahtete Prozessoren
dieser Art sind jedoch aufwendig.
Das aus Elektronik 1975, Heft 4, Seiten 93-97 bekannte
programmierbare Steuergerät benutzt einen mikroprogrammierten
Prozessor mit einem Befehlsregister, dem der jeweils
auszuführende Makrobefehl des gespeicherten Steuerprogramms
zugeführt wird. Die Decodierung dieses Makrobefehls erfolgt
mittels "Hardware", und zwar mit dem Ziel, ein Mikroprogramm
zu lokalisieren, und das im Festwertspeicher des Prozessors
gespeichert ist und das jetzt vom Prozessor ausgeführt
werden soll, um die vom Makrobefehl umschriebene
Funktion auszuüben. Der benutzte mikroprogrammierte Prozessor
enthält eine große Anzahl separater integrierter
Schaltungen in TTL-Technik und stellt daher eine relativ
kostspielige Baueinheit dar.
Aus der DE-OS 20 60 635 ist es bei einem programmierbaren
Steuergerät mit einem Allzweckrechner grundsätzlich
bekannt, die Befehle des Anwenderprogramms durch ein
Exekutivprogramm zu decodieren. Entsprechend dem Code,
der in einem Befehl steht, wird dann in eine Programmroutine
verzweigt.
Aus der DE-OS 25 22 343 ist es bekannt, programmierbare
Steuergeräte aus zwei Prozessoren, nämlich einem
Bitprozessor und einem Wortprozessor aufzubauen.
Der Erfindung liegt die Aufgabe zugrunde, ein programmierbares
Steuergerät der eingangs beschriebenen Art
derart weiterzubilden, daß unter Verminderung der Ausführungszeit
des Steuerprogramms ein möglichst einfach
ausgebildeter Mikroprozessor als Steuergerätprozessor
eingesetzt werden kann.
Diese Aufgabe wird durch den Gegenstand des Patentanspruchs
1 gelöst. Ein wesentliches Merkmal der vorgeschlagenen
Lösung ist die Verwendung eines Stapelhinweisregisters
(Stackpointer) des Mikroprozessors zur Adressierung
der Makrobefehlte im Verein mit dem Programmzähler des
Mikroprozessors zum Adressieren der Maschinenbefehle. Die
Verwendung des Stapelhinweisregisters gemäß der Erfindung
führt zu einer Verminderung der Ausführungszeit. Wenn ein
Anwenderbefehl vom Stapel gelesen ("pop") wird, wird das
Stapelhinweisregister automatisch inkrementiert (oder
dekrementiert), um zum nächsten Anwenderbefehl zu zeigen.
Ein separater Maschinencodebefehl ist daher zum Durchführen
dieser Funktion nicht erforderlich und es entfällt die
diesbezügliche Ausführungszeit. Im übrigen kommt man bei
Befolgung der erfindungsgemäßen Maßnahmen mit einem relativ
einfachen Mikroprozessor, beispielsweise einem kostengünstigen
Mikroprozessor-Chip, aus. Die im Festwertspeicher
gespeicherte Makrobefehl-Decodier-Routine gestattet es,
den in einem Makrobefehl enthaltenen Operationscode in eine
eindeutig zugeordnete Makrobefehl-Ausführungsroutine umzuformen,
die einen vom Mikroprozessor ohne weiteres ausführenden
Vorrat an Maschinenbefehlen darstellt. Die Anwendung
von Hardware in Form eine Befehlsdecodierschaltung,
wie bei dem bekannten programmierbaren Steuergerät
nach Elektronik 1975, Heft 4, Seiten 93-97, entfällt.
Vorteilhafte Weiterbildungen der Erfindung sind in
Unteransprüchen gekennzeichnet. Der Gegenstand des Patentanspruchs
4 führt
zu einem besonderen Vorteil einer höheren
Operationsgeschwindigkeit. Der boolesche Prozessor gestattet
nämlich die Ausführung bestimmter Makrobefehle mit
höherer Geschwindigkeit.
Ein bevorzugtes Ausführungsbeispiel der Erfindung
wird an Hand einer Zeichnung erläutert. Es zeigt:
Fig. 1 ein elektrisches Blockschaltbild eines nach
der Erfindung ausgebildeten programmierbaren Steuergeräts,
Fig. 2 ein elektrisches Blockschaltbild zweier Teile
des in der Fig. 1 dargestellten Steuergeräts, nämlich des
Prozessors und des Speichers mit direktem Zugriff,
Fig. 3A und 3B elektrische Schaltbilder des booleschen
Prozessors, der einen Teil des in der Fig. 2 dargestellten
Steuergerät-Prozessors darstellt,
Fig. 4 ein elektrisches Schaltbild der Takt- und
Steuerschaltung, die einen Teil des in der Fig. 2 gezeigten
Steuergerät-Prozessors darstellt,
Fig. 5 ein Taktdiagramm,
Fig. 6 ein Beispiel einer Kettenleiterschaltung,
die zur Beschreibung der Operation des booleschen Prozessors
dient, und
Fig. 7 eine schematische Darstellung eines Speicherabschnitts,
der zur Beschreibung der Taktgeberfunktion
dient.
Das in der Fig. 1 dargestellte programmierbare Steuergerät
ist um einen bidirektionalen 8-Bit-Datensammelkanal 1
herum gruppiert und enthält einen Steuergerät-Prozessor 2,
der mit Hilfe von Steuerleitungen und einem 16-Bit-Adreßsammelkanal
3 den Datenfluß darauf dirigiert. Ein Speicher
mit direktem Zugriff (RAM) 4 ist sowohl an den Datensammelkanal
1 als auch an den Adreßsammelkanal 3 angeschlossen.
Ein 8-Bit-Datenwort kann in Abhängigkeit von Steuersignalen,
die an eine "Datenaustast"- und "Speicher"-Steuerleitung 16
und 28 gelegt werden, in eine adressierte Zeile des Speichers
4 geschrieben oder aus einer adressierten Zeile des Speichers 4
gelesen werden. Der Speicher 4 kann irgendeine Anzahl
zwischen 2K bis 8K Speicherzeilen enthalten, was von der
Größe des zu speichernden Steuerprogramms abhängt. Die
ersten 256 Zeilen bestehen aus Arbeitsregistern 7, einer
Eingabe/Ausgabe-Bildtabelle 8 und einem Taktgeber- und
Zähler-Speicher 9. Im Rest des Speichers 4 mit direktem
Zugriff ist das Steuerprogramm 10 gespeichert, das eine
große Anzahl von Befehlen vom Typ für das programmierbare
Steuergerät enthält.
Ein Programmbedienungspult oder Programmfeld 11,
das über einen Universal-Asynchron-Empfänger/Sender
(UAR/T) 12 und eine Gruppe bidirektionaler Datentore 13
mit dem Datensammelkanal 1 verbunden ist, dient dazu, um
das Steuerprogramm 10 in den Speicher 4 zu laden und um
das Steuerprogramm aufzubereiten. Die Daten vom Programmfeld
11 werden von einem Kabel 17 seriell aufgenommen, und
das erhaltene 8-Bit-Wort wird durch Torsteuerung auf den
Datensammelkanal 1 gegeben, wenn der UAR/T 12 über den
Adreßsammelkanal 3 adressiert ist und wenn dem UAR/T 12
und den Datentoren 13 über eine "Freigabe SD"-Steuerleitung
14 ein im logischen Sinne hohes Signal zugeführt
wird. Daten werden von der Datensammelleitung 1 zum
UAR/T 12 torgesteuert, wenn über eine "Heraus"-Steuerleitung
15 den UAR/T-Datentoren 13 eine im logischen Sinne
hohe Spannung zugeführt wird. Diese Daten werden im
UAR/T 12 verriegelt und seriell zum Programmfeld 11 übermittelt,
wenn der UAR/T 12 adressiert ist und über die
"Datenaustast"-Steuerleitung 16 eine im logischen Sinne
hohe Spannung an den UAR/T 12 gelegt wird.
Das programmierbare Steuergerät ist über Eingabe/
Ausgabe-Schnittstelle-Gestelle 20 bis 23 an die zu steuernde
Maschine oder zu steuernde Anlage angeschlossen. Jedes
Schnittstelle-Gestell 20 bis 23 enthält eine Eingabe/Ausgabe-
Adapterkarte 24 und bis zu acht 8-Bit-Eingabekarten oder
Ausgabekarten, die in der Zeichnung nicht dargestellt und
von vier Schlitzen 0 bis 3 aufgenommen werden. Das bedeutet,
daß jeder Schlitz 0 bis 3 zwei 8-Bit-E/A-Module oder
-karten enthalten kann, und zwar eine niedrige und eine
hohe. Jede Eingabekarte enthält acht Eingabeschaltungen
zum Empfang von Digitalsignalen, die den Zustand von Fühlervorrichtungen
anzeigen, beispielsweise von Grenzschaltern
an der zu steuernden Maschine, und jede Ausgabekarte
enthält acht Ausgabeschaltungen zum Steuern von Betätigungs-
oder Stellvorrichtungen an der Maschine, beispielsweise
von Motorstartvorrichtungen und Tauchmagneten. Für
diesen Zweck kann man beispielsweise die aus den US-Patentschriften
36 43 115 und 37 45 546 bekannten Eingabe- und
Ausgabeschaltungen verwenden, obgleich zahlreiche andere
Schaltungen zur Verfügung stehen, um die Schnittstelle zwischen
den zahlreichen Arten von Fühlervorrichtungen und
Stellvorrichtungen zu bilden, die bei industriellen Anwendungen
vorkommen können.
Daten werden zu einer besonderen Karte hin oder von
einer besonderen Karte in den E/A-Schnittstelle-Gestellen
20 bis 23 weg geführt, indem die betreffende Karte über
eine 5-Bit-Eingabe/Ausgabe-Adreßsammelleitung 25 adressiert
wird. Zwei Bits wählen das geeignete E/A-Schnittstelle-
Gestell 20 bis 23 aus, und die übrigen drei Bits identifizieren
die adressierten Karte. Die E/A-Adapterkarte 24 auf
jedem E/A-Schnittstelle-Gestell 20 bis 23 enthält Mittel,
die erkennen, ob das betreffende Gestellt adressiert ist
(in der Zeichnung nicht gezeigt), und sie enthält einen
Dreibit-Decodierer (nicht gezeigt), der den betreffenden
Schlitz und die Karte freigibt. Die E/A-Adapterkarten 24
sind an anderer Stelle ausführlicher erläutert.
Die Eingabe/Ausgabe-Adresse wird von dem Steuergerät-
Prozessor 2 auf der Adreßsammelleitung 3 (AB0-AB4)
erzeugt. Sie wird der E/A-Adreßsammelleitung 25 über eine
Gruppe von E/A-Adreßtoren 26 zugeführt, die freigegeben
oder durchgeschaltet werden, wenn an einer "Eingabe/Ausgabe
SEL"-Steuerleitung 27 eine im logischen Sinne hohe
Spannung gelegt wird. Zusätzlich zu der E/A-Adresse verbinden
die Tore 26 die "Speicher"-Steuerleitung 28 und
eine "WO"-Steuerleitung 29 mit jedem der Schnittstelle-
Gestelle 20 bis 23, und zwar über eine Leseleitung 30 und
eine Schreibleitung 31. Weiterhin ist mit jedem Gestell 20
bis 23 noch eine Tastleitung 27′ verbunden, um anzuzeigen,
wann eine Eingabe- oder Ausgabefunktion vorgenommen werden
soll.
Zwischen dem Steuergerät-Prozessor 2 und den E/A-
Schnittstelle-Gestellen 20 bis 23 werden die Daten über
eine 8-Bit-Eingabe/Ausgabe-Datensammelleitung 32 über eine
Gruppe von acht Eingabe/Ausgabe-Datentoren 33 übermittelt.
Wenn an der Leseleitung 30 eine im logischen Sinne hohe
Spannung anliegt, werden von der adressierten Eingabe/Ausgabe-
Karte acht Bits an Daten durch Torsteuerung auf die
E/A-Datensammelleitung 32 gegeben und über die E/A-Datentore
33 zur Datensammelleitung 1 übermittelt. Wenn umgekehrt
an der Schreibleitung 31 eine im logischen Sinne hohe
Spannung anliegt, wird ein 8-Bit-Ausgabedatenwort vom Steuergerät-
Prozessor 2 über die E/A-Datentore 33 zu einer
adressierten Ausgabekarte in einem der E/A-Schnittstelle-
Gestellte 20 bis 23 übermittelt. Die E/A-Datentore 33 werden
von einer "BE"-Steuerleitung 34 gesteuert, an die eine
im logischen Sinne hohe Spannung gelegt wird, wenn Daten
an die E/A-Schnittstelle-Gestelle 20 bis 23 ausgegeben werden
sollen, und von einer "RLE"-Steuerleitung 35 gesteuert,
die mit einer im logischen Sinne hohen Spannung beaufschlagt
wird, wenn Eingabedaten von einer adressierten E/A-Karte empfangen
werden sollen. Eine "CL"-Steuerleitung 36 synchronisiert
die Operation der E/A-Datentore 33 mit derjenigen des
Steuergerät-Prozessors 2.
Das im Speicher 4 mit direktem Zugriff gespeicherte
Steuerprogramm wird vom Steuergerät-Prozessor 2 im "Durchlauf"-
Modus wiederholt ausgeführt oder abgetastet. Jede
Abtastung durch das Steuerprogramm erfordert weniger als
20 ms (die genaue Zeit hängt von der Länge des Steuerprogramms
10 und der Art der darin enthaltenen Befehle ab),
und im Anschluß an jede dieser Abtastungen wird eine Eingabe/
Ausgabe-Abtastroutine ausgeführt, um Daten zwischen
den E/A-Schnittstelle-Gestellen 20 bis 23 und der E/A-Bildtabelle
8 im Speicher 4 zu übermitteln. Die E/A-Bildtabelle
speichert ein Eingabestatusdatenwort und ein Ausgabestatusdatenwort
für jede E/A-Karte in den Schnittstelle-Gestellen
20 bis 23. Jedes Datenwort in der E/A-Bildtabelle ist
somit einer spezifischen Karte in einem der E/A-Schnittstelle-
Gestellen 20 bis 23 zugeordnet. Jedes Eingabestatusdatenwort
ist ein Bild des Zustands von acht Fühlervorrichtungen,
die mit der zugeordneten E/A-Karte verbunden sind,
und jedes Ausgabestatusdatenwort ist ein Bild des gewünschten
Zustands oder des Sollzustands von irgendwelchen Betätigungs-
oder Stellvorrichtungen, die mit der zugehörigen
E/A-Karte verbunden sind. Wenn ein besonderer E/A-Schlitz
eine Eingabekarte enthält, ist das Ausgabestatusdatenwort
in der E/A-Bildtabelle 8, die diesem Schlitz entspricht,
bedeutungslos und wäre frei. Obgleich dadurch der Speicherraum
in einem etwas geringeren Maße benutzt wird, besteht
der Vorteil, daß entweder Eingabe- oder Ausgabekarten vollkommen
frei in irgendeinen E/A-Schlitz gegeben werden können.
Die E/A-Abtastung wird nach jeder Abtastung oder
Ausführung des Steuerprogramms 10 vorgenommen. Die E/A-
Abtastung ist eine programmierte Sequenz, bei der Ausgabestatusdatenwörter
von der E/A-Bildtabelle 8 zu ihren zugehörigen
E/A-Karten sequentiell übermittelt werden und Eingabestatusdatenwörter
von den E/A-Karten zu ihren zugehörigen
Speicherplätzen in der E/A-Bildtabelle 8 sequentiell
übermittelt werden. Die E/A-Abtastung wird alle 20 ms oder
in kürzeren Abständen durchgeführt, so daß die E/A-Bildtabelle
8 im Hinblick auf die sich ändernden Zustände der
zu steuernden Maschine oder des zu steuernden Prozesses
auf dem neuesten Stand gehalten wird. Der Steuergerät-Prozessor
2 bearbeitet die Daten von der E/A-Bildtabelle 8,
anstelle von Daten, die direkt von den E/A-Schnittstelle-
Gestellen 20 bis 23 empfangen werden. Dadurch wird es dem
Prozessor gestattet, mit maximaler Geschwindigkeit zu arbeiten,
um das Steuerprogramm 10 in einer minimalen Zeit
auszuführen, wobei gleichzeitig die Datengeschwindigkeiten
auf dem E/A-Datensammelkanal 32 und dem E/A-Adreßsammelkanal
25 herabgesetzt werden können. Der letzte Umstand ist
von Bedeutung, da geringere Datengeschwindigkeiten die Verwendung
von effektiveren Geräuschschutzschaltungen gestatten,
die bei industriellen Anwendungen sehr notwendig sind.
Wie es aus der Fig. 2 hervorgeht, enthält der Steuergerät-
Prozessor 2 einen programmierten Mikroprozessor 40,
einen fest verdrahteten booleschen Prozessor 41 und zugehörige
Schaltungsanordnungen. Die Programme des Mikroprozessors
sind in einem Festwertspeicher (ROM) 42 gespeichert,
der bis zu 8000 Maschinenbefehle speichern kann.
Der Mikroprozessor 40 ist ein 8-Bit-72-Befehl-Großbereichintegration-
Chip, hergestellt von der Intel Corporation
und vertrieben als Modell 8080. Es stehen zahlreiche Arten
von Mikroprozessoren zur Verfügung, und in diesem Zusammenhang
wird auf die Druckschrift "Intel 8080 Microcomputer
Systems User's Manual", September 1975, verwiesen, in der
der Aufbau, die Wirkungsweise und der Befehlssatz des bei
dem bevorzugten Ausführungsbeispiel verwendeten Mikroprozessors
40 im einzelnen erläutert ist. Der boolesche Prozessor
41 ist eine fest verdrahtete Spezialzweckschaltung,
die in den Fig. 3A und 3B dargestellt ist.
Der Mikroprozessor 40 tranferiert Daten und interne
Zustandsinformation über eine bidirektionale 8-Bit-tri-state-
Prozessordatensammelleitung 43 (D0 bis D7). Die Speicher
4 und 42, das Programmfeld 11 und die E/A-Schnittstelle-
Gestelle 20 bis 23 werden von dem Mikroprozessor 40
über eine 16-Bit-3-Zustand-Prozessoradreßsammelleitung 44
adressiert. Der Mikroprozessor 40 weist drei Takt- und
Steuerausgänge (WR, SYNC und DBIN) auf, die über eine Sammelleitung
46 mit einer Takt- und Steuerschaltung 45 verbunden
sind. Vier Steuereingänge (Bereit, Zurücksetzen,
Φ1 und Φ2 verbinden die Takt- und Steuerschaltung 45 mit
dem Mikroprozessor 40 über eine Sammelleitung 47.
Die Prozessordatensammelleitung 43 führt zu einer
Gruppe von acht Eingängen 48 beim booleschen Prozessor 41,
zu acht Eingängen 49 bei der Zeit- und Steuerschaltung 45
und zu den Ausgängen von acht Dateneingangspuffertoren 50.
Die Eingänge der Dateneingangspuffertore 50 sind mit Leitungen
DB0 bis DB7 der Datensammelleitung 1 verbunden, und
von der Sammelleitung 1 werden Daten vom Mikroprozessor 40
torgesteuert, wenn an einer "DBIN"-Steuerleitung 51 eine
im logischen Sinne hohe Spannung anliegt. Alle vom Mikroprozessor
40 ausgegebenen Daten mit Ausnahme der Daten,
die der Takt- und Steuerschaltung 45 zugeführt werden, gelangen
zu dem booleschen Prozessor 41 und werden dann über
eine Gruppe von Anschlüssen 52 der Datensammelleitung 1 zugeführt.
Die Prozessoradreßsammelleitung 44 ist aufgeteilt,
um eine Anzahl von Abzweigen zu bilden, die mit verschiedenen
Systemelementen des programmierbaren Steuergeräts
verbunden sind. Ein Abzweig 53 aus Leitungen AB1, AB2,
AB13, AB14 und AB15 ist mit der Takt- und Steuerschaltung
45 verbunden, ein Abzweig 54 aus Leitungen AB0 bis AB7
ist direkt mit entsprechenden Leitungen in der Adreßsammelleitung
3 verbunden und ein dritter Abzweig 55 aus Leitungen
AB8 bis AB15 sind mit A-Eingängen eines Multiplexers 56
und mit Eingängen 57 am booleschen Prozessor 41 verbunden.
Die Leitung AB15 im Abzweig 55 ist an einen Auswählanschluß
des Multiplexers 56 angeschlossen, und in Abhängigkeit von
ihrem logischen Zustand werden entweder die Leitungen im
Abzweig 55 mit den Leitungen AB8 bis AB15 in der Adreßsammelleitung
3 verbunden oder eine Konstante, die an B-
Eingängen des Multiplexers 56 anliegt, wird dem Adreßsammelkanal 3
zugeführt.
Die Konstante, die über den Multiplexer 56 aufgedrückt
wird, erzeugt die Adresse 8192₁₀ (im folgenden 8K
bezeichnet), bei der es sich um die Adresse der ersten
Zeile im Speicher 4 mit direktem Zugriff (RAM) handelt.
Wenn diese Konstante an die Adreßsammelleitung 3 gelegt
wird, wählt die Adresse an den niedrigsten acht Bits AB0
bis AB7, die direkt vom Mikroprozessor 40 kommen, eine
der ersten 256 Zeilen im Speicher 4 aus. Diese Zeilen speichern
die Arbeitsregister 7, die E/A-Bildtabelle 8 und die
Taktgeber- und Zähler 9, die der Ausführung der Befehle vom
Typ für das programmierbare Steuergerät zugeordnet sind.
Die Folge davon ist, daß die Leitungen AB8 bis AB14 der
Prozessoradreßsammelleitung zur Übermittlung von Steuerinformation
durch den Abzweig 55 zum booleschen Prozessor 41
frei sind, wenn Daten in die ersten 256 Zeilen des Speichers
4 eingeschrieben oder aus diesen Zeilen gelesen werden sollen.
Diese Information zeigt zum Teil den Typ der Steuergerät-
Funktion an, die von dem booleschen Prozessor 41 ausgeführt
werden soll, und gibt an, welches Bit, wenn überhaupt
irgendeins, auf der Datensammelleitung 1 mit dieser
Funktion verwickelt ist. Wenn beispielsweise ein Statusbit
in der E/A-Bildtabelle 8 überprüft werden soll, wird die
Adresse der Speicherzeile, die dieses Bit speichert, auf
den Leitungen AB0 bis AB7 der Adreßsammelleitung zusammen
mit der 8K-Konstanten auf den Leitungen AB8 bis AB15 der
Adreßsammelleitung erzeugt. Gleichzeitig wird ein Bithinweiscode
über den Abzweig 55 zum booleschen Prozessor 41 übermittelt,
um zu identifizieren, welches Bit in der adressierten
Speicherzeile zu überprüfen ist.
Insbesondere unter Bezugnahme auf die Fig. 2 und 4
wird erwähnt, daß der Mikroprozessor 40 die verschiedenartigen
Elemente des Steuergerät-Prozessors 2 steuert und
dieser wiederum durch die im Festwertspeicher 42 gespeicherten
Befehle gesteuert wird. Der Mikroprozessor holt
diese Befehle sequentiell aus dem Festwertspeicher 42,
speicher jeden in seinem internen Befehlsregister und
führt ihn aus. Jeder Befehl erfordert einen bis fünf Maschinenzyklen,
und jeder Maschinenzyklus besteht aus drei
bis fünf Zuständen. Es wird wenigstens ein Maschinenzyklus
benötigt, um einen Befehl aus dem Festwertspeicher 42 zu
holen oder abzurufen, und der restliche Teil des Befehlszyklus
wird zur Ausführung des Befehls verwendet. Einige
Befehle erfordern lediglich einen Abruf-Maschinenzyklus,
weil andere zusätzliche Zyklen benötigen, um Daten aus dem
Speicher 4 mit direktem Zugriff zu lesen, Daten in den
Speicher 4 zu schreiben oder Daten von einem Eingabe/Ausgabe-
Gerät zu empfangen oder an es auszusenden. Zu Beginn
(während des ersten Zustands) jedes Maschinenzyklus gibt
der Mikroprozessor ein SYNC-Steuersignal an die Zeit- und
Steuerschaltung 45 über die Sammelleitung 46 ab. Gleichzeitig
erzeugt der Mikroprozessor an der Prozessordatensammelleitung
43 ein Statuswort, das die Art des im Fortschreiten
befindlichen Maschinenzyklus identifiziert. Dieses
Statuswort wird in Verriegelungen 65 und 66 in der
Takt- und Steuerschaltung 45 sichergestellt oder zwischengespeichert
und herangezogen, um Steuersignale zu entwickeln,
die die verschiedenen Elemente des Steuergeräts
betätigen.
Aus der Fig. 4 geht hervor, daß die Zeit- und Steuerschaltung
45 einen 18-MHz-Taktgeber 67 aufweist, der mit dem
Takteingang einer Taktgenerator- und Treiberschaltung 68
verbunden ist sowie an die CL-Steuerschaltung 36 angeschlossen
ist, die die E/A-Datentoren 33 betätigt. Die
Taktgenerator- und Treiberschaltung 68 erzeugt zwei sich
nicht überlappende Taktimpulszüge Φ1 und Φ2, die über
die Sammelleitung 47 dem Mikroprozessor 40 zugeführt werden.
Der Mikroprozessor 40 erzeugt sein SYNC-Signal an
der zur Taktgeber- und Treiberschaltung 68 führenden
"SYNC"-Steuerleitung 59 zu Beginn jedes Maschinenzyklus,
und die Schaltung 68 erzeugt daraufhin eine im logischen
Sinne hohe Spannung an einer "STSB"-Steuerleitung 69, um
Anschlüsse an den Statusverriegelungen 65 und 66 freizugeben.
In der Fig. 5 ist ein Taktdiagramm dargestellt, das
die zeitlichen Beziehungen zwischen den Signalen Φ1, Φ2,
SYNC und STSB aufzeigt.
Eine Anzahl von Steuersignalen werden direkt von
dem Statuswort abgeleitet, das in den Verriegelungen 65
und 66 gespeichert ist. Diese Steuersignale umfassen das
"WO"-Steuersignal an der Steuerleitung 29, das anzeigt,
daß Daten an ein E/A-Schnittstelle-Gestell 20 bis 23 ausgegeben
werden sollen, das "Heraus"-Steuersignal an der Leitung
15, das anzeigt, daß Daten an den UAR/T 12 ausgegeben
werden sollen, und das "Speicher"-Steuersignal an der Leitung
28, das anzeigt, daß Daten von einem E/A-Schnittstelle-
Gestell 20 bis 23 eingegeben oder aus einem der Steuergerät-
Speicher 4 oder 42 gelesen werden sollen. Zwei zusätzliche
Steuersignale für den booleschen Prozessor 41 werden direkt
aus dem Statuswort in den Verriegelungen 65 und 66 erzeugt.
Diese Steuersignale sind ein "Stapel"-Signal, das an einer
Steuerleitung 70 auftritt, und ein "Status hinein"-Signal,
das an einer Steuerleitung 71 auftritt. Diese Steuersignale
sind während des gesamten Maschinenzyklus vorhanden bzw. so
lange vorhanden, bis zu Beginn des nächsten Maschinenzyklus
ein neues Statuswort vom Mikroprozessor 40 erzeugt wird.
Eine Anzahl von Steuersignalen werden indirekt von
den Steuersignalen abgeleitet, die durch die Statusverriegelungen
65 und 66 erzeugt werden. Diese Steuersignale umfassen
das BE-Signal an der Steuerleitung 34, das anzeigt,
daß Daten über die E/A-Datentore 33 zu einem E/A-Schnittstelle-
Gestell 20 bis 23 ausgegeben werden sollen, das
Datenaustast-Signal an der Steuerleitung 16, das anzeigt,
daß Daten über den UAR/T 12 zum Programmfeld 11 gesendet
werden sollen, und ein "NSPC"-Steuersignal, das über eine
Steuerleitung 72 an den booleschen Prozessor 41 gelegt
wird. Das BE-Signal wird am Ausgang eines UND-Glieds 73
abgenommen, dessen einer Eingang mit der WO-Steuerleitung
29 und dessen anderer Eingang mit der E/A-SEL-Steuerleitung
27 verbunden ist. Das E/A-SEL-Steuersignal tritt
am Ausgang eines UND-Glieds 74 auf, dem das Bit 15 der
Adreßsammelleitung 3 und die Umkehrung der Bits 13 und 14
der Adreßsammelleitung 3 zugeführt werden. Die E/A-SEL-
Steuerleitung 27 weist eine im logischen Sinne hohe Spannung
auf, wenn ein E/A-Schnittstelle-Gestell 20 bis 23 für
den Zweck der Zusendung von Daten oder des Empfangs von
Daten adressiert werden soll. Das BE-Steuersignal zeigt
daher an, daß Daten an das adressierte E/A-Schnittstelle-
Gestell 20 bis 23 ausgegeben werden sollen. Das Datenaustast-
Signal (Daten-Heraus-Tastung) tritt am Ausgang eines
UND-Glieds 75 auf, dessen einer Eingang mit der "Heraus"-
Steuerleitung 15 und dessen anderer Eingang mit einer "WR"-
Steuerleitung 76 verbunden ist, die über die Sammelleitung
46 mit dem Mikroprozessor 40 in Verbindung steht. Das
NSPC-Signal tritt an einer Schaltung auf, die zwei NAND-
Glieder 77 und 78 und ein D-Flipflop 79 enthält. Ein erster
Eingang jedes NAND-Glieds 77 und 78 ist mit der Datenaustast-
Steuerleitung 16 verbunden. Einem zweiten Eingang
jedes NAND-Glieds 77 und 78 wird das erste Bit in der
Adreßsammelleitung 3 zugeführt. Das zweite Bit in der Datensammelleitung
1 gelangt direkt an einen dritten Eingang des
NAND-Glieds 77 und über ein Umkehrglied 79 an einen dritten
Eingang des NAND-Glieds 78. Die NSPC-Steuerleitung 72
steht mit dem booleschen Prozessor 41 in Verbindung und
hat die allgemeine Funktion, den Prozessor 41 freizugeben,
um Daten an der Prozessordatensammelleitung 43 und am
Adreßsammelleitungsabzweig 55 zu decodieren, wenn die Daten
für den booleschen Prozessor 41 bestimmt sind.
Das RLE-Steuersignal an der Leitung 35 und das
Freigabe-SD-Steuersignale an der Leitung 14 werden unabhängig
voneinander aus dem Statuswort in den Verriegelungen
65 und 66 abgeleitet. Die E/A-SEL-Steuerleitung 27 ist
über ein Verzögerungsglied 80 von 8 µs und zwei Tore 81
und 82 mit der RLE-Steuersignalleitung 35 verbunden. Wenn
die E/A-SEL-Steuerleitung 27 einen im logischen Sinne hohen
Wert annimmt, wird eine E/A-Adresse den E/A-Schnittstelle-
Gestellen 20 bis 23 zugeführt. Die Verzögerungszeit von
8 µs gestattet es dieser E/A-Adresse entlang der E/A-Adreßsammelleitung
25 zu laufen und durch die geeignete E/A-
Adapterschaltung 24 decodiert zu werden. Die RLE-Steuerleitung
35 wird für 8 µs auf einem im logischen Sinne niedrigen
Wert gehalten und wird dann auf eine im logischen Sinne
hohe Spannung gebracht, um die E/A-Datentore 33 freizugeben,
so daß von dem geeigneten E/A-Schlitz Daten empfangen
werden können. Um den Mikroprozessor 40 während dieser Verzögerungszeit
anzuhalten, wird von einem Dreizustand-Umkehrglied
84 während der Zeitperiode von 8 µs an eine "Bereit"-
Steuerleitung 83 ein im logischen Sinne niedriger Wert gelegt.
Die Steuerleitung 83 führt zu einem Eingang der Taktgenerator-
und Treiberschaltung 68, und während einer Dateneingabeoperation
wird der Mikroprozessor 40 angehalten
oder gestoppt, bis die 8-µs-Verzögerungsperiode abgelaufen
ist. Das Freigabe-SD-Steuersignal an der Leitung 14 tritt
am Ausgang eines UND-Glieds 85 auf, an dessen einem Eingang
das DBIN-Steuersignal anliegt, das vom Mikroprozessor 40 an
der Steuerleitung 51 erzeugt wird, und dessen zweiter Eingang
das Bit 2 der Adreßsammelleitung 3 erhält. Das Freigabe-
SD-Steuersignal gibt den Empfang von Daten vom Programmfeld
11 frei.
Obgleich der Mikroprozessor 40 in Abhängigkeit von
Maschinensprachebefehlen funktioniert, die im Festwertspeicher
42 gespeichert sind, wird die Gesamtfunktion des
programmierbaren Steuergeräts von den Steuergerättyp-Befehlen
dirigiert, die im Steuerprogramm 10 des Direktzugriffspeichers
4 gespeichert sind. Diese Befehle vom Typ
für das programmierbare Steuergerät werden in dem erfindungsgemäßen
Steuergerät als Makrobefehle behandelt, indem
sie durch eine Reihe von Mikroprozessormaschinenbefehlen
ausgeführt werden. Bevor die Art und Weise beschrieben
wird, wie die Steuergerätelemente funktionieren,
um die Steuergerättyp-Befehle auszuführen, wird der Befehlsvorrat
für das programmierbare Steuergerät kurz erläutert.
Der Makrobefehlsvorrat stimmt im wesentlichen mit
demjenigen überein, der in der US-PS 39 42 158 beschrieben ist,
und enthält drei allgemeine Befehlstypen: Bitbefehlte, Wortbefehle
und Steuerbefehle. Bitbefehle und Wortbefehle sind
in zwei Speicherzeilen gespeichert. Die erste Zeile speichert
einen Operationscode und die zweite Zahl eine Operandenadresse.
Die Steuerbefehle bestehen lediglich aus
einem zweizeiligen Operationscode. Die Bitbefehle enthalten
das folgende:
Die Operationen, die von diesen Bitbefehlen ausgeführt
werden, sind wie folgt definiert:
XIC - Prüfe, ob Statusbit geschlossen, oder ist das Statusbit
in einem logischen 1-Zustand?
XOE - Wie XIC, bezieht sich allerdings auf ein Statusbit in der Ausgabebildtabelle.
XIO - Prüfe, ob Statusbit offen, oder ist das Statusbit in einem logischen 0-Zustand?
XOD - Wie XIO, bezieht sich allerdings auf ein Statusbit in der Ausgabebildtabelle.
OTU - Wenn Bedingungen wahr, schalte Statusbit ab oder bringe es in einen logischen 0-Zustand, und wenn falsch, tue nichts.
OTL - Wenn Bedingungen wahr, schalte Statusbit ein oder bringe es in einen logischen 1-Zustand, und wenn falsch, tue nichts.
OTD - Wenn Bedingungen wahr, schalte Statusbit ab, und wenn Bedingungen falsch, schalte Statusbit ein.
OTE - Wenn Bedingungen wahr, schalte Statusbit ein, und wenn Bedingungen falsch, schalte Statusbit ab.
XOE - Wie XIC, bezieht sich allerdings auf ein Statusbit in der Ausgabebildtabelle.
XIO - Prüfe, ob Statusbit offen, oder ist das Statusbit in einem logischen 0-Zustand?
XOD - Wie XIO, bezieht sich allerdings auf ein Statusbit in der Ausgabebildtabelle.
OTU - Wenn Bedingungen wahr, schalte Statusbit ab oder bringe es in einen logischen 0-Zustand, und wenn falsch, tue nichts.
OTL - Wenn Bedingungen wahr, schalte Statusbit ein oder bringe es in einen logischen 1-Zustand, und wenn falsch, tue nichts.
OTD - Wenn Bedingungen wahr, schalte Statusbit ab, und wenn Bedingungen falsch, schalte Statusbit ein.
OTE - Wenn Bedingungen wahr, schalte Statusbit ein, und wenn Bedingungen falsch, schalte Statusbit ab.
Die Operandenadresse, die jedem der obigen Operationscodes
zugeordnet ist, identifiziert die Speicheradresse
des Wortes, das das gewünschte Statusbit enthält,
wohingegen der Bithinweis, der dem Operationscode zugeordnet
ist, den Platz des Statusbid in dem adressierten
Speicherwort identifiziert.
Die Steuerbefehle enthalten das folgende:
Die Operationen, die von diesen Steuerbefehlen ausgeführt
werden, können kurz wie folgt definiert werden:
NOP - Keine Operation
BND - Verzweigungsende: Beendigung einer booleschen Unterverzweigung
BST - Verzweigungsstart: Öffnen oder Beginnen einer booleschen Unterverzweigung
END - Ende des Steuerprogramms
MCR - Betätige Hauptsteuerflipflop.
BND - Verzweigungsende: Beendigung einer booleschen Unterverzweigung
BST - Verzweigungsstart: Öffnen oder Beginnen einer booleschen Unterverzweigung
END - Ende des Steuerprogramms
MCR - Betätige Hauptsteuerflipflop.
Die Worttyp-Steuergerät-Befehle enthalten das
folgende:
Die Operationen, die von diesen Worttyp-Befehlen
ausgeführt werden, können kurz wie folgt definiert werden:
TOF - Wenn Bedingungen wahr sind, schalte Ausgang ein, andernfalls,
warte bis Zeit abgelaufen ist, und schalte dann
Ausgang ab.
TON - Wenn Bedingungen wahr sind, warte bis Zeit abgelaufen ist und schalte dann Ausgang ein, andernfalls, schalte Ausgang ab.
RTO - Wenn Bedingungen wahr sind, warte bis Zeit abgelaufen ist und schalte dann Ausgang ein, andernfalls, halte Takt- oder Zeitgeber an.
CTD - Wenn Bedingungen wahr sind, vermindere den Zählwert um 1.
CTU - Wenn Bedingungen wahr sind, erhöhe des Zählwert um 1.
PUT - Wenn Bedingungen wahr sind, schreibe die Zahl in den Mikroprozessorakkumulator in der ausgewählten Speicherzeile, andernfalls, tue nichts.
RTR - Wenn Bedingungen wahr sind, setze Taktgeber zurück.
CTR - Wenn Bedingungen wahr sind, setze den Zähler zurück.
GET - Rufe das Wort in der ausgewählten Speicherzeile ab und speichere es im Mikroprozessorakkumulator.
EQU - Ist der im Mikroprozessorakkumulator gespeicherte Wert gleich dem Wert, der in der ausgewählten Speicherzeile gespeichert ist?
LES - Ist der im Mikroprozessorakkumulator gespeicherte Wert kleiner als der Wert, der in der ausgewählten Speicherzeile gespeichert ist?
TON - Wenn Bedingungen wahr sind, warte bis Zeit abgelaufen ist und schalte dann Ausgang ein, andernfalls, schalte Ausgang ab.
RTO - Wenn Bedingungen wahr sind, warte bis Zeit abgelaufen ist und schalte dann Ausgang ein, andernfalls, halte Takt- oder Zeitgeber an.
CTD - Wenn Bedingungen wahr sind, vermindere den Zählwert um 1.
CTU - Wenn Bedingungen wahr sind, erhöhe des Zählwert um 1.
PUT - Wenn Bedingungen wahr sind, schreibe die Zahl in den Mikroprozessorakkumulator in der ausgewählten Speicherzeile, andernfalls, tue nichts.
RTR - Wenn Bedingungen wahr sind, setze Taktgeber zurück.
CTR - Wenn Bedingungen wahr sind, setze den Zähler zurück.
GET - Rufe das Wort in der ausgewählten Speicherzeile ab und speichere es im Mikroprozessorakkumulator.
EQU - Ist der im Mikroprozessorakkumulator gespeicherte Wert gleich dem Wert, der in der ausgewählten Speicherzeile gespeichert ist?
LES - Ist der im Mikroprozessorakkumulator gespeicherte Wert kleiner als der Wert, der in der ausgewählten Speicherzeile gespeichert ist?
Die Operandenadresse, die jedem dieser Worttyp-
Operationscodes zugeordnet ist, ist eine 8-Bit-Adresse,
die bei Kombination mit der 8K-Konstanten eine Speicheradresse
einer Zeile im Direktzugriffsspeicher 4 ist.
Die Steuergerättyp-Befehle werden durch die vereinigte
Operation des Mikroprozessors 40 und des booleschen
Prozessors 41 ausgeführt. Mit einigen der Worttyp-
Steuergerät-Befehle, wie GET, EQU und LES, führt der
Mikroprozessor 40 anscheinend alle der angezeigten Operationen
in Kombination mit dem Direktzugriffsspeicher 4
aus. Mit den Steuertyp-Befehlen, wie BST, BND und MCR,
dient der Mikroprozessor 40 andererseits lediglich dazu,
den Operationscode aus dem Direktzugriffsspeicher 4 auszulesen
und den booleschen Prozessor 41 in geeigneter Weise
freizugeben. Der boolesche Prozessor 41 führt tatsächlich
die angegebene Operation aus. Mit den meisten Steuergerättyp-
Befehlen werden aber die Operationen, die von den Befehlen
angegeben sind, teilweise vom Mikroprozessor 40 und
teilweise von dem booleschen Prozessor 41 ausgeführt. Diese
Aufteilung der Funktionen ist ein Gesichtspunkt,
der noch im einzelnen erläutert wird. Im allgemeinen
ist es so, daß diejenigen Funktionen oder Operationen,
die am effizientesten von dem wortorientierten Mikroprozessor
40 ausgeführt werden können, diesem zugeordnet
werden, und daß diejenigen Funktionen, die am effizientesten
von dem einzelbitorientierten booleschen Prozessor 41 ausgeführt
werden können, diesem zugeordnet sind.
Wie man insbesondere der Fig. 2 entnehmen kann, ist
der boolesche Prozessor 41 mit der Prozessordatensammelleitung
43 verbunden, um vom Mikroprozessor 40 direkt Daten
empfangen zu können, und ist mit der Datensammelleitung 1
verbunden, um sowohl Daten vom Direktzugriffsspeicher 4
empfangen zu können als auch Daten zum Direktzugriffsspeicher
4 und auch zum Mikroprozessor 40 abgeben zu können.
Die Operation des booleschen Prozessors 41 wird über
die Leitungen gesteuert, mit denen er an die Zeit- und
Steuerschaltung 45 angeschlossen ist (d. h. an die Steuerleitung
WO 29, DBIN 51, Stapel 70, Status Hinein 71 und
NSPC 72). Weiterhin spricht der boolesche Prozessor 41 auf
die Operationscodes in den Steuergerättyp-Befehlen an, die
direkt vom Direktzugriffsspeicher 4 oder indirekt über den
Mikroprozessor 40 erhalten werden.
In der Fig. 3A ist dargestellt, daß die Leitungen
(D0 bis D7) in der Prozessordatensammelleitung 43, die mit
dem booleschen Prozessor 41 verbunden sind, über entsprechend
zugeordnete Dreizustand-Tore 90 bis 97 mit den betreffenden
Leitungen (DB0 bis DB7) in der Datensammelleitung
1 verbunden sind. Die Steueranschlüsse der Dreizustands-
Tore 90 bis 97 sind an entsprechende Ausgänge 98
eines programmierbaren Bitselektor-Festwertspeichers (PROM)
99 angeschlossen. In Abhängigkeit von einem Bithinweiscode,
der an einer Gruppe von drei Eingangsanschlüssen 100 des
PROM 99 empfangen wird, kann eines der Tore 90 bis 97
selektiv geöffnet werden, um die ihm zugeordnete Leitung
der Prozessordatensammelleitung von der ihm zugeordneten
Leitung der Datensammelleitung zu entkoppeln. Der Bithinweiscode
wird vom Mikroprozessor 40 über die Sammelleitung
55 empfangen und wird auch noch an Eingangsanschlüsse
101 einer Bithinweisschaltung 102 gelegt. In
Abhängigkeit vom Bithinweiscode erzeugt die Bithinweisschaltung
102 an einem ausgewählten ihrer acht Ausgangsanschlüsse
103 eine im logischen Sinne niedrige Spannung.
Die Ausgangsanschlüsse 103 sind an die Steueranschlüsse
einer Gruppe von acht ausgangsseitigen Tri-state-Toren
104 bis 111 angeschlossen. Die Eingänge der Tore 104 bis
111 sind mit dem Ausgang eines Exklusiv-ODER-Glieds 112
verbunden, und ihre Ausgänge sind an die entsprechenden
Leitungen DB0 bis DB7 in der Datensammelleitung 1 angeschlossen.
Ein Eingang am Exklusiv-ODER-Glied 112 steht
über eine Leitung 113 mit der Sammelleitung 55 in Verbindung,
um die Bitzahl 11 in der Prozessoradreßsammelleitung
44 zu emfangen, und sein anderer Eingang ist an eine
"Entscheidungs"-Leitung 114 angeschlossen. Der PROM 99 und
die Bithinweisschaltung 102 werden über eine "OTX"-Leitung
115 freigegeben und vom WO-Steuersignal an der Steuerleitung
29 getaktet.
Der logische Zustand an der Entscheidungs-Leitung 114
stellt die Lösung eines booleschen Ausdrucks dar, und es
handelt sich dabei im wesentlichen um die logische Ausgabe
des booleschen Prozessors 41. Diese logische Ausgabe zeigt
an, daß ein besonderes Zustandsbit in der E/A-Bildtabelle 8
auf einen logischen 1-Zustand oder einen logischen 0-Zustand
gesetzt werden soll. Die Speicherzeile, die das besondere
zu setzende Bit enthält, wird angezeigt durch die Operandenadresse
von einem der Steuergerättyp-Befehle OTE, OTD,
OTL oder OTU. Das E/A-Bildtabelle-Statuswort wird vom
Direktzugriffsspeicher 4 in den Mikroprozessor 40 gelesen
und dann unter Hindurchleiten durch den booleschen Prozessor
41 wieder in den Direktzugriffsspeicher 4 eingeschrieben.
Der Bithinweiscode zeigt an, welches Statusbit in diesem
Statuswort geändert werden soll, wenn es durch den
booleschen Prozessor 41 läuft, und wenn die WO-Steuerleitung
29 eine im logischen Sinne hohe Spannung annimmt,
wird das betreffende Dreizustand-Tor 90 bis 97 vom PROM 99
gesperrt und das entsprechende ausgangsseitige Dreizustand-
Tor 104 bis 111 wird von der Bithinweisschaltung 102 freigegeben.
Durch dieses Einkoppeln des logischen Zustands
der Entscheidungs-Leitung 114 auf die geeignete Leitung
der Datensammlung 1 wird das geeignete Statusbit gesetzt,
während das E/A-Bildtabelle-Statuswort zwischen
dem Mikroprozessor 40 und dem Direktzugriffspeicher 4
"Im Laufen" ist. Für den Fachmann ist es augenscheinlich,
daß das Exklusiv-ODER-Glied 112 dazu dient, den logischen
Zustand der Entscheidungs-Leitung 114 zu invertieren und
auf diese Weise zwischen der Operation, zu der die OTE-
und OTL-Operationscodes aufrufen, und der "Umkehr"-Operation
zu unterscheiden, zu der die OTD- und OTU-Operationscodes
aufrufen.
Immer noch unter Bezugnahme auf die Fig. 3A sei
erläutert, daß der boolesche Prozessor 41 auf eine Anzahl
von Operationscodes in den Steuergerättyp-Befehlen anspricht,
die vom Mikroprozessor 40 aus dem Direktzugriffsspeicher
4 gelesen werden. Die Steuerbefehl-Operationscodes
(MCR, BST, BND) werden einem programmierbaren Befehlsdecoder-
Festwertspeicher 120 zugeführt, der eine
Gruppe von vier Eingängen 121 aufweist, die mit den Leitungen
DB2 bis DB6 der Datensammelleitung verbunden sind.
Die Bitbefehl-Operationscodes (XIC, XIO, OTE, OTL, OTD
und OTU) werden einem programmierbaren Befehlsdecoder-
Festwertspeicher 122 zugeführt, der eine Gruppe von fünf
Eingangsanschlüssen 123 aufweist, an die die Leitungen
AB11 bis AB15 der Prozessoradreßsammelleitung über die
Sammelleitung 55 angeschlossen sind.
Der programmierbare Festwertspeicher (PROM) 120
wird durch im logischen Sinne hohe Spannungen freigegeben,
die an Eingänge gelegt werden, die mit der Stapel-Steuerleitung
70, der NSPC-Steuerleitung 72 und der Leitung
für das Bit 0 (ABO) der Prozessoradreßsammelleitung 44
verbunden sind. Wenn auf diese Weise eine Freigabe erfolgt
ist, erzeugt der PROM 120 an einer "MCR"-Leitung 124 eine
im logischen Sinne hohe Spannung, wenn an der Datensammelleitung
1 ein MCR-Operationscode vorhanden ist. In ähnlicher
Weise wird eine im logischen Sinne hohe Spannung an
einer "BST"-Leitung 125 erzeugt, wenn ein BST-Operationscode
vorhanden ist, oder an einer "BND"-Leitung 126 wird
eine im logischen Sinne hohe Spannung erzeugt, wenn ein
BND-Operationscode vorhanden ist. Die MCR-, BST- und BND-
Steuerleitungen 124, 125 und 126 führen getrennt zu einer
in der Fig. 3B dargestellten Logikeinheit des
booleschen Prozessors 41. Alle drei Ausgänge des Befehlsdecoder-
PROM 120 sind mit den Eingängen eines ODER-Glieds
128 verbunden. Der Ausgang des ODER-Glieds 128 ist an
eine "Lösch"-Steuerleitung 129 angeschlossen. Die Lösch-
Steuerleitung 129 signalisiert die Beendigung der Ausführung
eines Befehls des programmierbaren Steuergeräts und
ist mit den Elementen der in der Fig. 3B gezeigten logischen
Einheit verbunden und mit einem UND-Glied 130 in
der Zeit- und Steuerschaltung nach der Fig. 4. Die Lösch-
Steuerleitung 129 signalisiert dem Mikroprozessor 40, daß
der boolesche Prozessor 41 seine Funktion beendet hat und
daß ein weiterer Steuergerät-Befehl aus dem Direktzugriffsspeicher
4 ausgelesen und ausgeführt werden kann.
Der Befehlsdecoder-PROM 122 wird von der DBIN-
Steuerleitung 51 und der NSPC-Steuerleitung 72 gesteuert.
Wenn ein XIC- oder XIO-Operationscode an der Sammelleitung
66 erscheint, erzeugt der PROM 122 eine im logischen
Sinne hohe Spannung an einer "XIC/XIO"-Leitung 131. Wenn
ein OTE-, OTD-, OTL- oder OTU-Operationscode vorhanden
ist, wird eine im logischen Sinne hohe Spannung an der
OTX-Leitung 115 erzeugt. Die OTX-Leitung 115 ist mit dem
Bitselektor-PROM 99 und dem Bithinweis-PROM 102 in der
oben beschriebenen Weise verbunden. Die XIC/XIO-Leitung
131 ist an die Elemente der in der Fig. 3B dargestellten
logischen Einheit angeschlossen, und ein dritter Ausgang
132 des Decoder-PROMS 122 ist mit einem Eingang eines
ODER-Glieds 133 verbunden. Ein vierter Ausgang 134 ist an
einen Eingang des ODER-Glieds 128 angeschlossen. Ein zweiter
Eingang des ODER-Glieds 133 steht mit der MCR-Leitung
124 in Verbindung, und der Ausgang des ODER-Glieds 133
ist an eine "TERM"-Leitung 135 angeschlossen. Der Ausgang
134 schaltet das ODER-Glied 128 durch, wenn entweder
ab der OTX-Leitung 115 oder an der XIC/XIO-Leitung 131
eine im logischen Sinne hohe Spannung anliegt, wohingegen
der Ausgang 132 das ODER-Glied 133 freigibt oder durchschaltet,
wenn an der OTX-Leitung 115 eine im logischen
Sinne hohe Spannung liegt. Die TERM-Leitung 135 wird somit
in einen logisch hohen Zustand getrieben, wenn einer
der "Beendigungs"-Operationscodes OTE, OTD, OTL, OTU oder
MCR vorhanden ist.
Die in der Fig. 3B dargestellte Logikeinheit des
booleschen Prozessors 41 enthält eine Gruppe von vier
Flipflops 137 bis 140, die mit einer Gruppe von logischen
Toren oder Verknüpfungsgliedern 141 bis 148 verbunden sind.
Das Eingangsteil der Logikeinheit bildet einen Bitselektor
157, der eine Gruppe von acht Eingängen 149 aufweist,
die mit den entsprechenden Leitungen DB0 bis DB7 in der
Datensammelleitung 1 verbunden sind. Der Bitselektor 157
hat eine weitere Gruppe von drei Bitauswahl-Eingängen 150,
die mit der Sammelleitung 55 verbunden sind, um den Bithinweiscode
zu empfangen, der vom Mikroprozessor 40 an
den Leitungen 8, 9 und 10 der Adreßsammelleitung erzeugt
wird. In Abhängigkeit von diesem Bithinweiscode koppelt
der Bitselektor 157 den logischen Zustand oder Status von
einer der Leitungen DB0 bis DB7 der Datensammelleitung zu
einem Ausgangsschluß 151. Der Ausgangsanschluß 151 ist
über ein Exklusiv-ODER-Glied 152 mit einem Eingang von
NAND-Gliedern 141 und 146 verbunden. Ein zweiter Eingang
des Exklusiv-ODER-Glieds 152 ist an die Sammelleitung 55
angeschlossen, um dort die Adreßsammelleitungbitnummer 11
zu empfangen. Das Exklusiv-ODER-Glied 152 ist tätig, um
den logischen Zustand des ausgewählten Statusbit zu invertieren,
wenn ein XIO-Befehl ausgeführt wird, und es
dient daher dazu, zwischen den XIO- und XIC-Operationscodes
zu unterscheiden. Ein zweiter Eingang der NAND-Glieder
141 und 146 ist mit der XIC/XIO-Leitung 131 verbunden,
und ein dritter Eingang des NAND-Glieds 141 ist an den
Q-Ausgang des Flipflop 137 angeschlossen. Der Ausgang des
NAND-Glieds 141 ist über ein NAND-Glied 143 mit dem K-
Eingang des Flipflop 138 verbunden. Der Ausgang des NAND-
Glieds 146 ist über ein NAND-Glied 147 mit dem K-Eingang
des Flipflop 140 verbunden. Die TERM-Leitung 135 und die
BND-Leitung 126 sind über das ODER-Glied 148 an die K-
Eingänge der Flipflops 137 und 139 und an das Umkehrglied
142 angeschlossen. Der Ausgang des Umkehrglieds 142 ist
mit dem zweiten Eingang des NAND-Glieds 143 verbunden, und
die TERM-Leitung 135 ist an den J-Eingang des Flipflop 140
angeschlossen. Die Lösch-Leitung 129 führt zu den Taktanschlüssen
von jedem der Flipflops 137 bis 140, und die
BST-Leitung ist an den Eingang des UND-Glieds 144 und an
die J-Anschlüsse der Flipflops 137 und 138 angeschlossen.
Der Q-Ausgang des Flipflop 138 ist über das UND-Glied 144
an den J-Eingang des Flipflop 139 gelegt. Die BND-Leitung
126 führt zu einem Eingang eines NAND-Glieds 145, und
die -Ausgänge der Flipflops 138 und 139 sind mit dem
zweiten und dritten Eingang des NAND-Glieds 145 verbunden.
Der Ausgang des NAND-Glieds 145 ist an den K-Eingang eines
Flipflop 140 über ein NAND-Glied 147 angeschlossen. Der
-Ausgang des Flipflop 137 ist mit einem dritten Eingang
des NAND-Glieds 146 verbunden.
Der Q-Ausgang des Flipflop 140 dient als Ausgang
der Logikeinheit und ist über ein UND-Glied 158 mit der
Entscheidungsleitung 114 verbunden. Weiterhin sind die
Q-Ausgänge der Flipflops 137 bis 140 an die entsprechenden
Leitungen DB4, DB3, DB1 und DB7 der Datensammelleitung
angeschlossen, und zwar über zugehörige Dreizustand-
Tore 153 bis 156. Der Steueranschluß jedes der Dreizustand-
Tore 153 bis 156 steht mit der "Status Hinein"-
Leitung 71 in Verbindung, und wenn daran von der Zeit-
und Steuerschaltung 45 eine im logischen Sinne hohe Spannung
nung hervorgerufen wird, wird der Zustand der Logikeinheit-
Flipflops 137 bis 140 auf die Datensammelleitung 1
und in den Mikroprozessor 40 torgesteuert.
Die Operation oder Arbeitsweise der Logikeinheit
wird an Hand der in der Fig. 6 gezeigten Kettenleiterschaltung
erläutert, bei der vier Fühlervorrichtungen
(1 bis 4) überprüft werden, um zu bestimmen, ob ein Betätigungs-
oder Stellglied (5) erregt oder eingeschaltet
werden soll oder nicht. Es wird angenommen, daß die
dicker eingezeichneten Fühlervorrichtungen (1 und 3) geschlossen
sind, wenn ihr Zustand überprüft wird, und daß
die übrigen Fühlervorrichtungen (2 und 4) offen sind.
Das folgende Steuerprogramm ist im Direktzugriffsspeicher
4 gespeichert, um die Festellung oder Bestimmung
vorzunehmen und die Stellvorrichtung (5) zu erregen oder
einzuschalten, wenn dies durch die Logikeinheit angezeigt
wird.
Die in der Fig. 3B dargestellte Logikeinheit beginnt
mit der Ausführung der booleschen Gleichung, wenn
sich das Hauptentscheidungs-Flipflop 140 im wahren Zustand
befindet (d. h. wenn sein Q-Ausgang einen im logischen Sinne
hohen Wert hat) und wenn sich das Abzweigungsauswahl-Flipflop
137, das Abzweigungsentscheidungs-Flipflop 138 und
das Abzweigungshalt-Flipflop 139 in ihrem falschen Zustand
befinden. Wenn der erste Befehl (XIC 1) ausgeführt
wird, wird der Logikzustand der Fühlervorrichtung (1) über
die Tore 152, 146 und 147 dem K-Eingang des Hauptentscheidungs-
Flipflop 140 zugeführt. Der Zustand ist wahr oder
im logischen Sinne hoch, und ein im logischen Sinne niedriger
Wert wird somit dem K-Eingang zugeführt, wenn das
Flipflop 140 über die Lösch-Leitung 129 getaktet wird.
Das Hauptentscheidungs-Flipflop 140 bleibt in seinem wahren
Zustand, um anzuzeigen, daß die Hauptabzweigungen insoweit
"leitend" ist.
Der zweite Befehl (BST 1) erzeugt einen im logischen
Sinne hohen Wert an der BST-Leitung 125, die das
Abzweigungsauswahl-Flipflop 137 und das Abzweigungsentscheidungs-
Flipflop 138 auslöst. Die Flipflops 137 und
138 werden somit auf ihren wahren Zustand gesetzt, und
ihre Ausgänge geben die Tore 141 und 144 frei und sperren
das Tor 146. Der nachfolgende Steuerbefehl (XIC 2) veranlaßt,
daß seine im logischen Sinne niedrige Spannung
am Ausgang 151 des Bitselektors 157 erzeugt wird, und
diese im logischen Sinne niedrige Spannung wird über die
Tore 152, 141 und 143 an den K-Anschluß des Abzweigungsentscheidungs-
Flipflop 138 gelegt. Das Flipflop 138 wird
auf seinen falschen Zustand zurückgesetzt, wenn es über
die Lösch-Leitung 129 getaktet wird, um anzuzeigen, daß
diese Abzweigung oder dieser Zweig nicht leitend ist.
Der vierte Steuerbefehl (BST 2) transferiert den
Zustand des Abzweigungsentscheidungs-Flipflop 138 über
das UND-Glied 144 zum Abzweigungshalt-Flipflop 139, und
setzt oder initialisiert das Flipflop 138 für die nächste
Abzweigungs- oder Zweigüberprüfung. Wenn der erste Zweig,
der die Fühlervorrichtung (2) enthält, wahr gewesen wäre,
würde diese Tatsache im Flipflop 139 nach der Ausführung
des vierten Steuerbefehls gespeichert sein. In dem betrachteten
Beispiel ist dies aber nicht der Fall, und es
befindet sich im falschen Zustand, um anzuzeigen, daß
keine leitenden Abzweigungen insoweit gefunden worden
sind.
Der fünfte Steuerbefehl (XIC 3) wird jetzt ausgeführt,
und das Resultat (die Fühlervorrichtung (3) ist leitend)
wird im Abzweigungsentscheidungs-Flipflop 138 gespeichert.
Es sei bemerkt, daß andere Fühlervorrichtungen
in der Abzweigung vorhanden sein können und daß weitere
Abzweigungen vorhanden sein können, daß jedoch in jedem
Falle nach der Überprüfung aller Zweige oder Abzweigungen
entweder das Abzweigungs-Flipflop 139 oder das Abzweigungsentscheidungs-
Flipflop 138 (oder beide) im wahren
Zustand sind, wenn eine leitende Abzweigung oder ein leitender
Zweig existiert. Der sechste Steuerbefehl (BND)
ermöglicht es dem NAND-Glied 145, die Zustände der Flipflops
138 und 139 einer logischen ODER-Funktion zu unterziehen
und das Ergebnis an das Hauptentscheidungs-Flipflop
140 weiterzuleiten. Bei dem betrachteten Beispiel
existiert eine leitende Abzweigung, und der Zustand des
Hauptentscheidungs-Flipflop 140 bleibt daher wahr. Der
BND-Befehl setzt auch die Flipflops 137 bis 139 über die
BND-Steuerleitung 126 und das ODER-Glied 148 zurück.
Der siebte Steuerbefehl (XIC 4) wird jetzt ausgeführt,
um die letzte Fühlervorrichtung in der Hauptabzweigung
oder im Hauptzweig zu überprüfen. Sie ist offen oder
falsch, so daß eine im logischen Sinne hohe Spannung dem
K-Eingang des Hauptentscheidungs-Flipflop 140 zugeführt
wird, um dieses in den falschen Zustand zurückzusetzen.
Sein Q-Ausgang befindet sich somit auf einer im logischen
Sinne niedrigen Spannung, und wenn der letzte Steuerbefehl
(OTE 5) ausgeführt wird, wird er über die Entscheidungs-
Leitung 114 zur Schaltung nach der Fig. 3A gekoppelt, um
die Stellvorrichtung (5) abzuschalten, wie es oben beschrieben
ist. Der OTE-Befehl beendet auch die Ausführung der
booleschen Gleichung, und eine im logischen Sinne hohe
Spannung wird an der TERM-Leitung 135 erzeugt, um das
Flipflop 140 zu setzen und die Flipflops 137 bis 139 zurückzusetzen,
und zwar in Vorbereitung für die nächste
Gleichung.
Den MCR-Steuerbefehl kann man benutzen, um während
der Ausführung eines bestimmten Abschnitts des Steuerprogramms
die Logikeinheit effektiv zu sperren. Der Fig. 3B
kann entnommen werden, daß ein Haupsteuer-Flipflop 168
mit seinem -Ausgang an das UND-Glied 158 angeschlossen
ist, um die Ausgabe oder das Ausgangssignal der Logikeinheit
vom Hauptentscheidungs-Flipflop 140 weiterzuleiten
oder zu sperren. Zwei UND-Glieder 169 und 170 sind an den
J- und K-Eingang des Flipflop 168 angeschlossen, und sein
Takteingang ist mit der Lösch-Leitung 129 verbunden. Ein
Eingang jedes UND-Glieds 169 und 170 steht mit der MCR-
Leitung 124 in Verbindung, und der andere Einfang des
UND-Glieds 170 ist mit dem Q-Ausgang und der andere Eingang
des UND-Glieds 169 mit dem -Ausgang des Flipflop 140
verbunden. Wenn das Hauptentscheidungs-Flipflop 140 im
falschen Zustand ist und der MCR-Steuerbefehl ausgeführt
wird, wird das Flipflop 168 gesetzt. An seinem -Ausgang
tritt daher eine im logischen Sinne niedrige Spannung
auf, so da das UND-Glied 158 gesperrt ist. Alle booleschen
Gleichungen, die danach von der Logikeinheit ausgeführt
werden, sind falsch, bis ein weiterer MCR-Steuerbefehl
ausgeführt wird, der das Flipflop 168 setzt. Das
Hauptsteuer-Flipflop 168 kann auch über seinen -Anschluß
direkt zurückgesetzt werden, der von einem NAND-Glied 171
angesteuert wird, dessen Eingänge mit der Datenaustast-
Leitung 16 und der Leitung 1 (DB1) der Datensammelleitung
verbunden sind.
Zusätzlich zum Auslesen des Zustands der Logikeinheit-
Flipflops 137 bis 140 auf die Datensammelleitung 1
können die Zustände dieser Flipflops direkt durch ausgewählte
Mikroprozessor-Befehle gesetzt werden. Dies wird
von einer Gruppe von drei NAND-Gliedern 180 bis 182 und
einem UND-Glied 183 erreicht, die alle, wie es in der
Fig. 3B dargestellt ist, mit den - und den -Anschlüssen
der Flipflops verbunden sind. Wenn die Logikeinheit
adressiert wird (d. h. AB1 befindet sich auf einer im logischen
Sinne hohen Spannung), werden Daten an den Leitungen
DB6 und DB7 der Datensammelleitung in die Logikeinheit
mit Hilfe der Datenaustast-Steuerleitung 16 torgesteuert.
Die Art und Weise, wie dies geschieht, kann
man bei Überprüfung der Routinen PUT, EQUAL, LESS und
TON erkennen, die im Anhang A aufgeführt sind. Die Funktionen,
die von einigen dieser Routinen vorgenommen werden,
werden vom Mikroprozessor 40 ausgeführt, und das
endgültige Ergebnis (wahr oder falsch) ist ein Element
der booleschen Gleichung, die vom booleschen Prozessor
41 ausgeführt wird. Dieses endgültige Resultat (wahr oder
falsch) muß in die passenden Flipflops der in der Fig. 3B
dargestellten Logikeinheit gegeben werden, und die Tore
180 bis 183 sind so geschaltet, daß dieses Ziel erreicht
wird. Der boolesche Prozessor 41 spricht somit auf die
logischen Entscheidungen an, die der Mikroprozessor 40
in Abhängigkeit von ausgewählten Steuergerät-Befehlen
trifft.
Unter Bezugnahme auf die Fig. 2 wird erläutert, daß
die Ausführung des im Direktzugriffsspeicher 4 gespeicherten
Steuerprogramms unter der Direktion eines Steuerbefehl-
Decoderprogramms 175 erfolgt, das im Festwertspeicher 42
gespeichert ist. Dieses Programm 175 macht Gebrauch von
einer Reihe interner Register im Mikroprozessor einschließlich
der folgenden Register:
(PC) 16-Bit-Programmzähler;
(SP) 16-Bit-"Stapel"-Hinweis;
(B) und (C) 8-Bit-Register angeordnet als ein Paar;
(D) und (E) 8-Bit-Register angeordnet als ein Paar, und
(H) und (L) 8-Bit-Register angeordnet als ein Paar.
(SP) 16-Bit-"Stapel"-Hinweis;
(B) und (C) 8-Bit-Register angeordnet als ein Paar;
(D) und (E) 8-Bit-Register angeordnet als ein Paar, und
(H) und (L) 8-Bit-Register angeordnet als ein Paar.
Der Programmzähler (PC) speichert die Speicheradresse
des laufenden Maschinenbefehls. Während eines Befehlsabrufs
wird diese Speicheradresse auf der Adreßsammelleitung
3 erzeugt, und der Programmzähler (PC) wird dann um
einen oder mehrere Zählwert inkrementiert. Der Stapelhinweis
(SP) speichert die Speicheradresse des nächsten
Steuergerättyp-Befehls, der ausgeführt werden soll. Der
Stapelhinweis wird so initialisiert, daß er auf den ersten
Steuergerät-Befehl im Steuerprogramm 10 zeigt, und nachdem
jeder Steuergerät-Befehl ausgeführt ist, wird der Stapelhinweis
(SP) um zwei Zählwerte inkrementiert, um den nächsten
Steuergerät-Befehl im Steuerprogramm 10 zu adressieren.
Die sechs Allzweckregister (B, C, D, E, H und L) werden
entweder einzeln als 8-Bit.Register oder als 16-Bit-
Registerpaare benutzt. Der Mikroprozessor 40 enthält auch
ein 8-Bit-Befehlsregister, das das erste 8-Bit-Byte eines
Maschinenbefehls speichert, der vom Festwertspeicher 42
abgerufen worden ist.
Die Maschinenbefehle, die das Makrobefehl-Decoderprogramm
175 enthalten, können wie folgt dargestellt werden:
Wenn der aus dem Direktzugriffsspeicher 4 gelesene
Steuergerät-Befehl ein BST-, BND- oder MCR-Befehl ist,
wird lediglich der erste Maschinenbefehl (POP H) ausgeführt,
der im obigen Programm aufgeführt ist. Der Befehl
POP H liest den Steuergerät-Befehl-Operationscode aus
dem Direktzugriffspeicher 4 und gibt den Befehl-Decoder-
PROM 120 im booleschen Prozessor 41 frei. Der Steuergerät-
Befehl-Operationscode wird an der Datensammelleitung 1 erzeugt,
und zwar in Abhängigkeit von diesem Maschinenbefehl
und der BST-, BND- oder MCR-Code wird vom PROM 120
decodiert. Somit wird eine im logischen Sinne hohe Spannung
an der passenden Leitung 124, 125 oder 126 zu der
Logikeinheit erzeugt, und über den Ausgang 134 wird eine
im logischen Sinne hoher Spannung an der Lösch-Steuerleitung
129 erzeugt. Die in der Fig. 3B dargestellte Logikeinheit
spricht sofort an, und es werden keine weiteren
Daten oder Operationen benötigt. Die im logischen Sinne
hohe Spannung an der Lösch-Leitung 129 setzt über das
UND-Glied 130 in der Takt- und Steuerschaltung 45 (Fig. 4)
den Mikroprozessor-Programmzähler (PC) auf Null zurück,
und als Folge davon, wird der Maschinenbefehl POP H erneut
ausgeführt, um aus dem Direktzugriffsspeicher 4 den
nächsten Steuergerät-Befehl auszulesen. Auf diese Weise
wird nur ein Befehlszyklus von etwa 8,5 µs benötigt, um
einen Steuergerät-Befehl vom Typ BST, BND oder MCR auszuführen.
Insbesondere unter Bezugnahme auf die Fig. 2, 3A
und 3B wird erläutert, daß lediglich die ersten beiden
Maschinenbefehle (POP H und MOV E, M) benötigt werden, um
einen XIC- oder einen XIO-Steuergerät-Befehl auszuführen.
Der erste Maschinenbefehl (POP H) liest den Operationscode
und die Operationsadresse aus dem Direktzugriffsspeicher und
bringt sie in das H- bzw. L-Register des Mikroprozessors.
Der zweite Maschinenbefehl (MOV E,M) wird dann ausgeführt,
und der Operationscode, der im H-Register gespeichert ist,
erscheint an den Leitungen AB8 bis AB15 der Prozessoradreß-
Sammelleitung. Der Multiplexer 56 blockiert diese acht Bits
und erzeugt an deren Stelle die Konstante (8K) an den Leitungen
AB8 bis AB15 der Adreßsammelleitung 3. Der 8-Bit-
Makrobefehloperand im L-Register erscheint an den Leitungen
AB0 bis AB7 der Adreßsammelleitung während der Ausführung
des Maschinenbefehls MOV E,M und dient dazu, eine der
Speicheradressen 8192₁₀ bis 8448₁₀ in der E/A-Bildtabelle 8
oder im Taktgeber-Zähler-Speicherabschnitt 9 des Direktzugriffsspeichers
4 auszuwählen. Der Steuergerät- oder
Makrobefehl-Operationscode im H-Register wird zusammen mit
dem Bithinweiscode über die Sammelleitung 55 während der
Ausführung des Maschinenbefehls MOV E,M dem booleschen
Prozessor 41 zugeführt. Der darin befindliche Befehl-Decoder-
PROM 122 identifiziert den XIC- oder XIO-Operationscode
und erzeugt eine im logischen Sinne hohe Spannung an
der XIC/XIO-Leitung 131.
Die Daten, wie ein Statuswort in der E/A-Bildtabelle
8, die von dem Steuergerät-Befehlsoperand ausgewählt
sind, werden von dem Maschinenbefehl MOV E,M aus dem
Direktzugriffsspeicher 4 ausgelesen und über die Datensammelleitung
1 dem bolleschen Prozessor 41 zugeführt. Diese
Daten gelangen dort zusammen mit dem Bithinweiscode an der
Sammelleitung 55 zum Bitselektor 157. Der Bithinweiscode
wählt ein Bit von den acht Datenbits an der Datensammelleitung
1 aus und führt es der Logikeinheit zu, wo die
logische Operation ausgeführt wird, die der Steuergerät-
Befehl XIC oder XIO verlangt. Vom Decoder-PROM 122 wird
auch eine im logischen Sinne hohe Spannung erzeugt und
über die Lösch-Leitung 129 zugeführt, um den Mikroprozessor-
Programmzähler (PC) auf Null zurückzusetzen. Der Steuergerät-
Befehl XIC oder XIO wird somit mit zwei Mikroprozessor-
Maschinenbefehlszyklen ausgeführt, die eine Gesamtzeit
von etwa 12,5 µs beanspruchen.
Die ersten drei Maschinenbefehle in dem oben beschriebenen
Makrobefehl-Decoder-Programm 175 werden ausgeführt,
wenn der vom Maschinenbefehl POP H aus dem Direktzugriffsspeicher
4 ausgelesene Makrobefehl ein Befehl OTE,
OTD, OTL oder OTU ist. Der Maschinenbefehl POP H lädt den
Makrobefehl in die H- und L-Register des Mikroprozessors,
und wenn der nächste Maschinenbefehl (MOV E,M) ausgeführt
wird, werden der Operationscode und der Bithinweis über
die Sammelleitung 55 dem booleschen Prozessor 41 zugeführt.
Der Operand wird durch die Adreßsammelleitung 3
weitergeleitet, um eine der ersten 256 Zeilen des Direktzugriffsspeichers
auszuwählen, und das ausgewählte Datenwort
wird ausgelesen und über die Datensammelleitung 1
und die Dateneingabe-Puffertore 55 in das E-Register des
Mikroprozessors 40 befördert. Der dritte Maschinenbefehl
(MOV M,E) wird dann ausgeführt, um den Inhalt des E-Registers
zurück in dieselbe Zeile des Direktzugriffsspeichers
4 zu laden. Während dieses Transfers werden allerdings
der Steuergerät-Befehls-Operationscode und der Bit
hinweiscode, die noch im H-Register des Mikroprozessors
gespeichert sind, erneut dem booleschen Prozessor 41 zugeführt.
Insbesondere unter Bezugnahme auf die Fig. 3A
wird bemerkt, daß der Operationscode vom Befehl-Decoder-
PROM 122 erkannt wird, der an der OTX-Leitung 115 eine
im logischen Sinne hohe Spannung erzeugt. Diese im logischen
Sinne hohe Spannung und eine im logischen Sinne
hohe Spannung, die an der WO-Leitung 29 von der Takt- und
Steuerschaltung 45 erzeugt wird, geben den Bitselektor-
PROM 99 und die Bithinweisschaltung 102 frei. Der Bithinweiscode
wird dem PROM 99 und der decodierenden Schaltung
102 über die Sammelleitung 55 zugeführt, und als Ergebnis
wird ein Tor der acht Dreizustand-Tore 90 bis 97 in
seinen Zustand hoher Impedanz getrieben, um während der
Ausführung des Maschinenbefehls MOV M,E eine ausgewählte
Leitung in der Prozessordatensammelleitung 43 von der
Datensammelleitung 1 effektiv zu trennen. Zusatzlich wird
ein Tor der Dreizustands-Tore 104 bis 111, das mit derselben
Leitung der Datensammelleitung 1 verbunden ist,
durch die Bithinweisschaltung 102 freigegeben und der
logische Zustand des Exklusiv-ODER-Glieds 112 wird ihm
zugeführt. Im Ergebnis wird somit während des dritten
Maschinenbefehls (MOV M,E) das 8-Bit-Datenwort an der
Prozessordatensammelleitung 43 erzeugt und über den
booleschen Prozessor 41 zurück in seinen ursprünglichen
Platz im Direktzugriffspeicher gegeben. Während dieses
Transfers wird der Ausgang oder die Ausgabe der Logikeinheit
des booleschen Prozessors dem geeigneten Bit in
dem Datenwort aufgedrückt, wenn dieses durch den booleschen
Prozessor 41 läuft.
Der Befehl-Decoder-PROM 122 im booleschen Prozessor
41 spricht auch auf den Steuergerät-Befehl-Operationscode
OTE, OTD, OTL oder OTU an, um an seinem Ausgang
134 eine im logischen Sinne hohe Spannung zu erzeugen,
die den Mikroprozessor-Programmzähler (PC) über die
Lösch-Leitung 129 zurücksetzt. Nachdem der dritte Maschinenbefehl
(MOV M,E) ausgeführt worden ist, springt daher
das System zum ersten Maschinenbefehl (POP H) zurück, um
den nächsten Makrobefehl auszulesen. Ein Steuergerät-
Befehl vom Typ OTE, OTD, OTL oder OTU, erfordert daher
drei Maschinenbefehlszyklen, die eine Ausführungszeit von
etwa 16,5 µs beanspruchen.
Der mit programmierbaren Steuergeräten vertraute
Fachmann kann würdigen, daß eine große Vielzahl von Steuergerät-
Befehlen typischer Benutzersteuerprogramme in dem
oben beschriebenen Typus enthalten sind, die nach der Erfindung
in ein bis drei Maschinenbefehlszyklen ausgeführt
werden. Obgleich die Ausführung von anderen Steuergerät-
Befehlen, die jetzt beschrieben werden sollen, beträchtlich
mehr Maschinenbefehle erfordern, hat die effizierte
Ausführung der oben erläuterten Steuergerät-Befehle
eine beachtlich günstige Wirkung auf die Gesamtabtastzeit
des programmierbaren Steuergeräts. Obgleich der boolesche
Prozessor 41 abgeändert werden kann, um bei der Ausführung
von mehr oder weniger Steuergerättyp-Befehlen zu assistieren,
wird angenommen, daß die Schaltungsanordnung nach dem
erläuterten bevorzugten Ausführungsbeispiel einen optimalen
Ausgleich zwischen den Kosten der hinzugefügten Geräteausstattung
auf der einen Seite und der erhöhten Effizienz
und Geschwindigkeit der Ausführung des Steuergerätprogramms
auf der anderen Seite darstellt.
Insbesondere unter Bezugnahme auf die Fig. 2 wird
erläutert, daß die restlichen Steuergerättyp-Befehle von
Programmen oder Routinen ausgeführt werden, die im Festwertspeicher
42 gespeichert sind und auf die kollektiv
als Makrobefehl-Ausführungsroutinen und E/A-Abtastroutine
Bezug genommen wird. Der allgemeine Zweck der Maschinenbefehle,
die das Makrobefehl-Decoder-Programm 175 enthalten,
besteht darin, jedesmal, wenn ein Makrobefehl aus
dem Direktzugriffsspeicher 4 ausgelesen wird, der nicht,
wie oben beschrieben, von den ersten drei Maschinenbefehlen
auszuführen ist, die geeignete Makrobefehl-Ausführungsroutine
aufzurufen.
Zur Lösung dieser Aufgabe wird die Abbildungstabelle
176 verwendet. Für jeden eindeutigen Steuergerät-Befehl-
Operationscode gibt es eine eindeutige Makrobefehl-Ausführungsroutine,
die bei einer bestimmten Adresse im Festwertspeicher
42 gespeichert ist. Für jede dieser Makrobefehl-
Ausführungsroutinen existiert ein Platz in der Abbildungstabelle
176, der die Startadresse dieser Routine
speichert. Die spezifische Funktion des Makrobefehl-Decoder-
Programms besteht somit darin, die geeignete Startadresse
der Abbildungstabelle in den Mikroprozessor-Programmzähler
(PC) zu laden.
Unter spezieller Bezugnahme auf das oben
angegebene Makrobefehl-Decoder-Programm 175 wird der
Steuerbefehl-Operationscode im H-Register des Mikroprozessors
gespeichert und die Operandenadresse wird im
L-Register gespeichert, nachdem die ersten drei Maschinenbefehle
ausgeführt sind. Der vierte Maschinenbefehl
(MVI D, ADRH) lädt die Konstante 8K in das D-Register des
Mikroprozessors. Der nächste Maschinenbefehl (MOV E,L)
transferiert die Steuerbefehl-Operandenadresse vom L-Register
zum E-Register, und der sechste Maschinenbefehl
(MOV L,H) transferiert den Operationscode vom H-Register
zum L-Register. Der siebte Maschinenbefehl (MVI H, 000)
lädt Nullen in das H-Register, und der achte Maschinenbefehl
(DAD H) verschiebt die Inhalte des H- und L-Registerpaares
um eine Bitstelle nach links. An dieser Stelle
speichert das L-Register die niedrigstwertigen acht Bits
der richtigen Zeile in der Abbildungstabelle 176. Mit
anderen Worten, jeder Makrobefehl-Operationscode wird
um eine Stelle nach links verschoben, um den Speicherplatz
der Zeile in der Abbildungstabelle 176 vorzusehen,
um die Startadresse seiner zugehörigen Makrobefehl-Ausführungsroutine
zu speichern.
Bevor allerdings der Inhalt der geeigneten Zeile
in der Abbildungstabelle 176 ausgelesen wird, wird der
Status oder Zustand des booleschen Prozessors 41 mit dem
neunten Maschinenbefehl (IN STATUS) in der A-Register des
Mikroprozessors geladen. Dieser Maschinenbefehl verursacht,
daß an der "Status Hinein"-Steuerleitung 71 eine
im logischen Sinne hohe Spannung erzeugt wird. Wie es aus
den Fig. 3B hervorgeht, werden dadurch die Dreizustand-
Tore 153 bis 156 durchgeschaltet oder freigegeben, um den
Zustand der Logikeinheit-Flipflops 137 bis 140 auf die
Datensammelleitung 1 zu geben. Von großer Bedeutung ist
der Zustand des Hauptentscheidungs-Flipflop 140, das an
die höchstwertige Digitalzahlleitung (DB7) der Datensammelleitung
1 gelegt wird, und das den Ausgang oder die
Entscheidung der Logikeinheit des booleschen Prozessors
darstellt. Wenn dann der nächste Maschinenbefehl (ANA A)
ausgeführt wird, um den Inhalt des A-Registers mit sich
selbst einer logischen UND-Operation zu unterziehen, wird
der Zustand des höchstwertigen Bit oder, in anderen Worten,
die Entscheidung des booleschen Prozessors 41 zum späteren
Gebrauch im Mikroprozessor-Flaggenregister gespeichert.
Schließlich wird der elfte und letzte Maschinenbefehl
im Steuerbefehl-Decoder-Programm 175 ausgeführt. Der
Befehl (PCHL) befördert den Inhalt des H- und L-Registers
in den Programmzähler, wodurch der Programmzähler so eingestellt
wird, daß er auf eine spezifische Zeile in der
Abbildungstabelle 176 des Festwertspeichers 42 zeigt. Wie
oben angedeutet, ist der Inhalt jeder Zeile in der Abbildungstabelle
176 ein Sprungbefehl zur Startadresse der geeigneten
Makrobefehl-Ausführungsroutine.
Die Makrobefehl-Ausführungsroutinen für die Steuergerät-
Befehl-Operationscodes, die nicht von den drei ersten
Maschinenbefehlen im Makrobefehl-Decoder-Programm
175 ausgeführt werden, sind im Anhang A aufgeführt. Bevor
zwei dieser Routinen erläutert werden, sollen einige allgemeine
Beobachtungen wiedergegeben werden. Als erstes
wird jede Steuerbefehl-Ausführungsroutine mit einem Sprung
zum Nullbefehl beendet, der den Mikroprozessor-Programmzähler
(PC) auf Null zurücksetzt. Das bedeutet mit anderen
Worten, daß nach der Ausführung einer Makrobefehl-Ausführungsroutine
das System zum Maschinenbefehl POP H in dem
Makrobefehl-Decoder-Programm 175 zurückspringt, um den
nächsten Makrobefehl von dem Steuerprogramm 10 auszulesen.
Der letzte Steuergerät-Befehl im Steuerprogramm ist der
END-Befehl, der in die E/A-Abtastroutine "abbildet". Wie
noch im einzelnen erläutert wird, stellt die E/A-Abtastroutine
die Datenverbindung zwischen jeder Zeile der E/A-
Bildtabelle 8 und den Karten der E/A-Schnittstelle-Gestelle
20 bis 23 her. Zusätzlich wird nahe bei der Beendigung
der E/A-Abtastroutine die Speicheradresse des ersten Steuergerät-
Befehls im Steuerprogramm 10 berechnet und in den
Stapelhinweis (SP) geladen. Wenn folglich bei der Beendigung
der E/A-Abtastroutine das System zum Befehl POP H
zurückspringt, wird als nächstes der erste Makrobefehl
des Steuerprogramms 10 ausgeführt. Das bedeutet mit anderen
Worten, daß das System sofort mit einer anderen Abtastung
durch das Steuerprogramm 10 beginnt, wenn die E/A-
Abtastroutine ausgeführt ist.
Insbesondere unter Bezugnahme auf die Fig. 1 wird
bemerkt, daß die E/A-Abtastroutine im Anhang A nach jeder
Abtastung durch das Steuerprogramm 10 ausgeführt wird.
Die ersten beiden Maschinenbefehle in dieser Routine setzen
das Flipflop 79 in der Takt- und Steuerschaltung 45
zurück, um an der NSPC-Steuerschaltung 72 eine im logischen
Sinne niedrige Spannung zu erzeugen. Auf diese Weise
wird der boolesche Prozessor 41 während der Ausführung der
E/A-Abtastroutine effektiv gesperrt, so daß er auf Daten
an der Prozessoradreßsammelleitung 44 nicht reagieren kann.
Die nächsten beiden Maschinenbefehle (LXI H, IOST und
LXI D, MDST) laden die Speicheradresse der ersten Zeile in
der E/A-Bildtabelle 8 in die H- und L-Register und laden die
E/A-Adresse der untersten Karte im ersten E/A-Schlitz in die
D- und E-Register. Die folgenden beiden Maschinenbefehle
(LDA NOSL und MOV C, A) laden den gesamten E/A-Schlitzzählwert
in das C-Register, und dann wird eine Schleife erstellt,
die Daten zwischen der E/A-Bildtabelle 8 und den
Karten in den E/A-Schnittstelle-Gestellen 20 bis 23 transferiert.
Somit wird das Statuswort in der E/A-Bildtabelle 8,
das durch den Inhalt des H-L-Registers adressiert ist, in
das A-Register geladen, und das Statuswort wird dann in die
unterste Karte im adressierten E/A-Schlitz durch den
Maschinenbefehl STAX D gegeben. Durch den Maschinenbefehl
LDAX D wird dann ein Statuswort von derselben E/A-
Karte in das A-Register gegeben, und im B-Register aufbewahrt.
Das H-L-Register wird dann um einen Zählwert
inkrementiert, um die nächste Zeile der E/A-Bildtabelle
zu adressieren, und das DE-Register wird um einen Zählwert
inkrementiert, um die nächste E/A-Karte zu adressieren.
Der Vorgang wird dann wiederholt. Das bedeutet,
daß das adressierte Statuswort aus dem Direktzugriffsspeicher
4 gelesen und über das Mikroprozessor-A-Register
an die adressierte E/A-Karte gegeben wird. Ein Statuswort
wird dann von derselben E/A-Karte eingegeben und
im A-Register gespeichert. Das H-L-Register wird um einen
Zählwert inkrementiert, um die nächste Zeile in der E/A-
Bildtabelle 8 zu adressieren, und das Statuswort, das
im B-Register gespeichert ist, wird durch den Maschinenbefehl
MOV M,B in es eingeschrieben. Das H-L-Register wird
erneut um einen Zählwert inkrementiert, und das Statuswort
im A-Register wird in die nächste Zeile der E/A-
Bildtabelle 8 geschrieben. Die D-E- und H-L-Register werden
beide um einen Zählwert inkrementiert, und der Schlitzzählwert
im C-Register wird durch den Maschinenbefehl
DCR D dekrementiert. Falls das C-Register noch nicht auf
Null zurückgezählt ist, was durch den Maschinenbefehl
JNZ LP1 bestimmt wird, wird die Routine zurück zum LP1-
Etikett geschleift, um den E/A-Datentransfer zwischen den
beiden E/A-Karten und den vier Zeilen der E/A-Bildtabelle
8 zu wiederholen.
Wenn das C-Register auf Null zurückgezählt ist,
sind alle E/A-Karten bedient worden, und die E/A-Abtastroutine
bereitet die Rückkehr zum Makrobefehl-Decoder-
Programm 175 vor. Zunächst wird allerdings das Stapelhinweisregister
(SP) gesetzt, um zur Speicheradresse des ersten
Makrobefehls im Steuerprogramm 10 zu zeigen. Dies
wird mit einer Reihe von Maschinenbefehlen erreicht, die
die Zahl der Zeilen berechnen, die die E/A-Bildtabelle 8
und die Takgeber und Zähler 9 besetzen, und zu dieser
Größe werden die 32 Zeilen des Arbeitsregisters 7 addiert.
Das Flipflop 79 wird dann gesetzt, um die NSPC-Steuerleitung
72 auf eine im logischen Sinne hohe Spannung zu
treiben, und die E/A-Abtastroutine springt zum Maschinenbefehl
POP H im Makrobefehl-Decoder-Programm 175.
Obgleich die Taktgebersteuerbefehle (TON und TOF)
eine Abbildung in die entsprechenden Makrobefehl-Ausführungsroutinen
vornehmen, assistiert der boolesche Prozessor
in einem hohen Maße dem Mikroprozessor 40 bei ihrer
Handhabung. Wie es in der Fig. 3B dargestellt ist, enthält
der boolesche Prozessor 41 einen Realzeit-Taktgeber 160,
der einen Eingang aufweist, dem das Bit 1 in der Datensammelleitung
1 zugeführt wird. Ein Ausgang des Taktgebers
160 ist mit dem Bit 0 in der Datensammelleitung 1
verbunden. Der Realzeit-Taktgeber 160 enthält ein Taktauswahl-
Flipflop 161, dessen D-Eingang das Signal von DB1 zugeführt
wird und dessen C-Eingang ein Taktsignal empfängt,
und zwar während der Ausführung des Befehls POP H. Der
Q-Ausgang des Flipflop 161 ist direkt mit dem Eingang eines
UND-Glieds 162 und über ein Umkehrglied 163 mit dem Eingang
eines weiteres UND-Glieds 164 verbunden. Ein zweiter
Eingang von jedem der beiden UND-Glieder 162 und 164 führt
zur "Status Hinein"-Steuerleitung 71. Die Ausgänge der
UND-Glieder 162 und 164 führen zu den Steueranschlüssen
von zugeordneten Dreizustand-Toren 165 und 166. Das Dreizustand-
Tor 165 wird von einem 0,5-Hz-Taktsignal und das
Dreizustand-Tor 166 von einem 5-Hz-Taktsignal angesteuert.
Die Ausgänge der beiden Dreizustand-Tore 165 und 166 sind
an das Bit 0 der Datensammelleitung 1 angeschlossen.
Immer wenn ein TON- oder TOF-Makrobefehl ausgeführt
wird, erscheint eine im logischen Sinne hohe oder
eine im logischen Sinne niedrige Spannung an der Leitung
DB1 der Datensammelleitung, um anzuzeigen, ob der 0,1-
oder der 1,0-Sekunden-Taktbereich ausgewählt ist. Diese
Daten werden in das Flipflop 161 getaktet, das das geeignete
UND-Glied 162 oder 164 freigibt. Bevor das Makrobefehl-
Decoder-Programm 175 in die TON- oder TOF-Makrobefehl-
Ausführungsroutine "abbildet", wird, wie oben angedeutet,
der Maschinenbefehl IN STATUS ausgeführt. Dieser
Maschinenbefehl erzeugt eine im logischen Sinne hohe
Spannung an der "Status Hinein"-Steuerleitung, die den
logischen Zustand des ausgewählten Taktes, nämlich 0,5 Hz
oder 5 Hz, auf das Bit 0 der Datensammelleitung 1 taktsteuert.
Dieses Taktbit wird im A-Register des Mikroprozessors
40 gespeichert, bevor das System in die TON- oder
TOF-Makrobefehl-Ausführungsroutine abbildet.
Unter Bezugnahme auf die Fig. 7 und die TON-Routine
im Anhang A wird erläutert, daß sich jeder TON-Operationscode
auf einen besonderen Zeit- oder Taktgeber bezieht,
der durch seinen zugehörigen Operanden identifiziert
wird. Dieser zugehörige Operand ist eine Adresse im Direktzugriffsspeicher
4 im ersten Zeitgeberwort und wird in den
D- und E-Mikroprozessor-Registern gespeichert, wenn das
System in die TON-Routine abbildet. Der Taktgeber besteht
aus vier 8-Bit-Speicherwörtern: ein erstes Akkumulatorwort
180, ein zweites Akkumulatorwort 181, ein erstes Voreinstellwertwort
182 und ein zweites Voreinstellwertwort
183. Die beiden Voreinstellwertwörter 182 und 183 speichern
eine dreiziffrige Dezimalzahl in binärcodierter
Dezimalform (BCD), die über das Programmfeld 11 in den
Direktzugriffsspeicher 4 geladen wird. Diese dreiziffrige
Zahl (000 bis 999) ist somit der voreingestellte Wert
für den Zeit- oder Taktgeber. Die beiden Akkumulatorwörter
180 und 181 sehen den Speicher für eine dreiziffrige
Zahl (000 bis 999) vor, die die Zeit darstellt, die seit
dem Einschalten des Taktgebers verstrichen ist bzw. akkumuliert
ist. Die akkumulierte Zeit wird in Abhängigkeit
von dem in der Fig. 3B dargestellten Realzeit-Taktgeber
160 inkrementiert, und wenn die akkumulierte Zeit gleich
dem voreingestellten Wert ist, der in den Wörtern 182
und 183 gespeichert ist, ist der Zeitgeber ausgelaufen.
Das Bit 7 im ersten Akkumulatorwort 180 wird in den logischen
1-Zustand gebracht, wenn der Zeitgeber eingeschaltet
ist bzw. die Zeit genommen wird. Das fünfte Bit wird
in den logischen 1-Zustand gesetzt, wenn der Zeitgeber
abgelaufen ist. Das fünfte und siebte Bit im ersten Akkumulatorwort
180 können von Steuergerät-Befehlen im Steuerprogramm
10 überprüft werden, um den St 20730 00070 552 001000280000000200012000285912061900040 0002002817536 00004 20611atus oder den
Zustand des Taktgebers sicherzustellen.
Der Taktgeber wird wie eine Betätigungs- oder
Stellvorrichtung behandelt, die eingeschaltet ist, wenn
die geeigneten Bedingungen existieren. D. h., der Taktgeber
ist das Abschlußelement in einem booleschen Ausdruck
und er wird in Abhängigkeit von der Lösung dieses
booleschen Ausdrucks ein- oder ausgeschaltet. Der zweite
Befehl (JM RSET) in der TON-Routine trifft diese Entscheidung.
Wenn der Ausgang der Logikeinheit des booleschen
Prozessors wahr ist (angezeigt durch Bit 7 im Mikroprozessor-
Flaggenregister), wird die TON-Routine in
ihrer Gesamtheit ausgeführt. Andernfalls springt das System
zum Etikett "RSET" nahe beim Ende der TON-Routine.
Unter der Annahme, daß die Bedingungen geeignet
oder wahr sind, rufen die nachfolgenden Maschinenbefehle
die beiden Akkumulatorwörter 180 und 181 ab und speichern
sie in den E- und D-Registern. Das Bit 5 im ersten Akkumulatorwort
180 wird dann überprüft, um zu bestimmen, ob
der Taktgeber abgelaufen ist. Wenn dies der Fall ist,
veranlaßt der Befehl JNZ FLGS einen Sprung zum Etikett
"FLGS" nahe beim Ende der TON-Routine. Wenn dies nicht
der Fall ist, verglichen die nachfolgenden Befehle das
Bit 0 im zweiten Akkumulatorwort 181 mit dem Realzeit-
Taktgeberzustand (Bit 0 im Mikroprozessor-Flaggenregister),
um zu bestimmen, ob die akkumulierte Zeit inkrementiert
werden soll. Wenn dies nicht der Fall ist, erfolgt ein
Sprung zum Etikett "FLGS", wohingegen andernfalls die
akkumulierte dreiziffrige Taktgeberzahl um einen Zählwert
inkrementiert wird.
Nachdem die akkumulierte Zeit- oder Taktgeberzahl
inkrementiert ist, wird sie mit der voreingestellten Zeit-
oder Taktgeberzahl verglichen, um zu bestimmen, ob die miteinander
verglichenen Werte gleich sind. Wenn dies der
Fall ist, ist der Zeit- oder Taktgeber abgelaufen. Das
Bit 5 im Akkumulatorwort 180 wird auf den logischen 1-Zustand
gesetzt. Der Vergleich wird ausgeführt, ohne daß die
Voreinstellwertwörter 182 und 183 in den Mikroprozessor
transferiert werden. Nachdem der Vergleich ausgeführt ist,
werden die auf den neuesten Stand gebrachten Akkumulatorwörter
180 und 181 zurück an ihre Plätze im Direktzugriffsspeicher
4 gebracht.
Unter besonderer Bezugnahme auf die Fig. 3B wird
ausgeführt, daß die Gruppe von Maschinenbefehlen, die bei
dem Etikett "FLGS" beginnen, die Logikeinheit des bolleschen
Prozessors 41 zurücksetzen und das System zum Befehl
POP H im Makrobefehl-Decoder-Programm 175 zurückkehren
lassen. Es sei in Erinnerung gerufen, daß mit den
"abschließenden" Steuergerät-Befehlen, die direkt vom
booleschen Prozessor 41 ausgeführt werden (MCR, OTU, OTL,
OTD, OTE), die Ausrüstung an der TERM-Leitung 135 eine
im logischen Sinne hohe Spannung erzeugt, die die Flip
flops 137 bis 139 in den falschen Zustand zurücksetzt und
die das Hauptentscheidungs-Flipflop 140 in Vorbereitung
der Ausführung der nächsten booleschen Gleichung in den
wahren Zustand setzt. Der TON-Befehl ist ebenfalls ein
beendigender oder abschließender Befehl, und um die
Logikeinheit-Flipflops 137 bis 140 bei der Beendigung
der Ausführung dieses Befehls zu konditionieren, wird
an den booleschen Prozessor 41 eine Maske ausgegeben,
die als "44H" identifiziert ist, um das NAND-Glied 182
freizugeben oder durchzuschalten. Aus der obigen Beschreibung
geht hervor, daß, obgleich der Mikroprozessor
40 die meisten Funktionen durchführt, die von dem
TON-Steuergerät-Befehl benötigt werden, es zu
einer Datenübertragung zwischen dem Mikroprozessor 40
und dem booleschen Prozessor 41 sowohl zu Beginn als
auch bei der Beendigung der TON-Routine kommt.
Zwischen dem Mikroprozessor 40 und dem booleschen
Prozessor 41 findet eine etwas andere Art der Koordination
statt, wenn die EQL-Operation ausgeführt werden
soll. Unter Bezugnahme auf die EQUAL-Routine im Anhang
A wird ausgeführt, daß der erste Maschinenbefehl,
nach der Abbildung in die EQUAL-Routine, das Bit 7 im
Mikroprozessor-Flaggenregister überprüft, um festzustellen,
ob das Hauptentscheidungs-Flipflop wahr oder
falsch ist. Wenn es sich im falschen Zustand befindet,
besteht keine Veranlassung, die EQL-Funktion auszuführen,
da das letzte Ergebnis des booleschen Ausdrucks (falsch)
nicht geändert werden kann. Es wird daher ein Sprung zum
Befehl POP H im Makrobefehl-Decodier-Programm 175 gemacht.
Wenn andererseits die Hauptenscheidung wahr ist,
wird der Inhalt der Speicherzeilen, die vom Operanden
des EQL-Makrobefehls identifiziert werden, zum Mikroprozessor-
A-Register transferiert und mit dem Inhalt
der C- und B-Register verglichen. Wenn die arithmetischen
Werte einander gleich sind, springt das System zum Befehl
POP H im Makrobefehl-Decodier-Programm 175. Der
Zustand der Logikeinheit des booleschen Prozessors wird
nicht verändert.
Wenn aber die arithmetischen Werte einander nicht
gleich sind, ist der von dem EQL-Makrobefehl verlangte
überprüfte Zustand falsch, und dieses Resultat wird der
in der Fig. 3B dargestellten Logikeinheit des booleschen
Prozessors mitgeteilt. Insbesondere wird eine Maske, die
als "84H" identifiziert ist, der Logikeinheit des booleschen
Prozessors durch den Befehl "OUT STATUS" zugeführt.
Dabei wird eine im logischen Sinne hohe Spannung an der
Leitung 7 (DB7) der Datensammelleitung erzeugt. Die Leitung
7 ist entweder über das NAND-Glied 180 gekoppelt,
um das Abzweigungsentscheidungs-Flipflop 138 in den falschen
Zustand zu treiben, oder ist über das NAND-Glied
181 gekoppelt, um das Hauptentscheidungs-Flipflop 140 in
den falschen Zustand zu treiben. Es sei bemerkt, daß das
Abzweigungsauswahl-Flipflop 137 bestimmt, welches Logikeinheit-
Flipflop in den falschen Zustand getrieben wird.
Damit wird automatisch durch die schaltungstechnische
Ausrüstung der Logikeinheit der Position innerhalb der
Kettenleitersprosse (d. h. einem ihrer Zweige oder ihr
Hauptzweig) von dem Element Rechnung getragen, das durch
den Makrobefehl EQL dargestellt ist. Die Aufgaben, die
der EQL-Makrobefehl verlangt, werden somit nach der Erfindung
im wesentlichen gleichmäßig auf den booleschen
Prozessor 41 und den Mikroprozessor 40 aufgeteilt.
Anhang B | |
Komponente | |
Beschreibung | |
RAM 4 | |
CMOS RAM IM6551 hergestellt von Intersil Corporation. | |
UAR/T 12 | Universal-Asynchron-Empfänger/Sender Serial No. 8251 hergestellt von Intel Corporation. |
Tore 13 | SN74125 gates, hergestellt von Texas Instruments, Inc. |
E/A-Adreßtore 26 | SN74125 gates, hergestellt von Texas Instruments, Inc. |
E/A-Datentore 33 | Periphere Treiber Serial No. 75450, hergestellt von Texas Instruments, Inc. |
Mikroprozessor 40 | Großbereichintegrations-Chip (8 Bits, 72 Befehle), hergestellt von Intel Corporation, - Modell 8080. |
ROM 42 | SN74S472 Schmelzverbindungs-PROM (512×8), hergestellt von Texas Instruments, Inc. |
Multiplexer 56 | SN74S257 quad two-line-to-one-line data selector/multiplexer, hergestellt von Texas Instruments, Inc. |
Taktgebergenerator- und Treiberschaltung 68 | Taktgenerator Serial No. 8224, hergestellt von Intel Corporation. |
Zustandsverriegelungen 65 und 66 | SN74116 8-Bit-Verriegelung, hergestellt von Texas Instruments, Inc. |
Zeitverzögerung 80 | SN74123 wiedertriggerbarer Multivibrator, hergestellt von Texas Intruments, Inc. |
Bit-Selektor-PROM 99 | Serial No. 82S123, hergestellt von Signetics Corporation. |
Bit-Selektor-Schaltung 102 | SN74151 eight-line-to-one-line multiplexer, hergestellt von Texas Instruments, Inc. |
Befehl-Decoder-PROMS 120 und 122 | Serial No. 82S129, hergestellt von Signetics Corporation. |
Dreizustand-Tore 90 bis 97 und 104 bis 111 | SN74125 gates, hergestellt von Texas Instruments, Inc. |
Bit-Selektor 157 | Daten-Selektor/Multiplexer, Serial No. 74LS151, hergestellt von Texas Instruments, Inc. |
Dreizustand-Tore 153 bis 156, 165 und 166 | SN74125 gates, hergestellt von Texas Instruments, Inc. |
Claims (7)
1. Programmierbares Steuergerät, enthaltend
einen Direktzugriffsspeicher (4), der eine Vielzahl von Makrobefehlen speichert, die ein Steuerprogramm bilden, wobei jeder Makrobefehl eine ausgewählte Operationscodeart einer Vielzahl von Arten von Operationscodes enthält,
eine mit dem Direktzugriffsspeicher verbundene Adreßsammelleitung (3),
eine mit dem Direktzugriffsspeicher verbundene Datensammelleitung (1),
ein mit der Adreßsammelleitung und der Datensammelleitung verbundenes E/A-Schnittstelle-Gestell (20 bis 23), das Eingabe- sowie Ausgabeschaltungen aufweist, die dazu dienen, um die Datensammelleitung mit Fühlervorrichtungen und Betätigungs- oder Stellvorrichtungen einer zu steuernden Maschine zu verbinden, und
einen mit der Datensammelleitung und der Adreßsammelleitung verbundenen Steuergerätprozessor (2) zur Ausführung des im Direktzugriffsspeicher gespeicherten Steuerprogramms einschließlich eines Mikroprozessors (40) und eines mit dem Mikroprozessor verbundenen Festwertspeichers (42), in welchem eine Vielzahl von Vorräten an Maschinenbefehlen gespeichert ist, die jeder Art von Makrobefehl-Operationscodes eindeutig zugeordnete Makrobefehl-Ausführungsroutinen enthalten, wobei der Mikroprozessor (40) zum Speichern der Adresse eines im Festwertspeicher (42) gespeicherten Maschinenbefehls einen Programmzähler aufweist,
dadurch gekennzeichnet,
daß der Festwertspeicher (42) über die an den Direktzugriffsspeicher (4) und das E/A-Schnittstelle-Gestell (20 bis 23) angeschlossenen Adreß- und Datensammelleitungen (3, 1) mit dem Mikroprozessor (40) verbunden ist,
daß im Festwertspeicher (42) ein weiterer Vorrat an Maschinenbefehlen gespeichert ist, die eine Makrobefehl-Decodier- Routine enthalten,
daß der Mikroprozessor (40) zum Speichern der Adresse eines im Direktzugriffsspeicher (4) gespeicherten Makrobefehls ein Stapelhinweisregister (Stackpointer) enthält, und
daß der Mikroprozessor (40) auf ausgewählte Maschinenbefehle in der Makrobefehl-Decodier-Routine anspricht, um aus dem Direktzugriffsspeicher den vom Stapelhinweisregister (Stackpointer) adressierten Makrobefehl auszulesen, sowie auf weitere ausgewähle Maschinenbefehle in der Makrobefehl- Decodier-Routine und den Operationscode in dem aus dem Direktzugriffsspeicher ausgelesenen Makrobefehl anspricht, um die Anfangsadresse der diesem Operationscode zugeordneten Makrobefehl- Ausführungsroutine in den Programmzähler zu laden.
einen Direktzugriffsspeicher (4), der eine Vielzahl von Makrobefehlen speichert, die ein Steuerprogramm bilden, wobei jeder Makrobefehl eine ausgewählte Operationscodeart einer Vielzahl von Arten von Operationscodes enthält,
eine mit dem Direktzugriffsspeicher verbundene Adreßsammelleitung (3),
eine mit dem Direktzugriffsspeicher verbundene Datensammelleitung (1),
ein mit der Adreßsammelleitung und der Datensammelleitung verbundenes E/A-Schnittstelle-Gestell (20 bis 23), das Eingabe- sowie Ausgabeschaltungen aufweist, die dazu dienen, um die Datensammelleitung mit Fühlervorrichtungen und Betätigungs- oder Stellvorrichtungen einer zu steuernden Maschine zu verbinden, und
einen mit der Datensammelleitung und der Adreßsammelleitung verbundenen Steuergerätprozessor (2) zur Ausführung des im Direktzugriffsspeicher gespeicherten Steuerprogramms einschließlich eines Mikroprozessors (40) und eines mit dem Mikroprozessor verbundenen Festwertspeichers (42), in welchem eine Vielzahl von Vorräten an Maschinenbefehlen gespeichert ist, die jeder Art von Makrobefehl-Operationscodes eindeutig zugeordnete Makrobefehl-Ausführungsroutinen enthalten, wobei der Mikroprozessor (40) zum Speichern der Adresse eines im Festwertspeicher (42) gespeicherten Maschinenbefehls einen Programmzähler aufweist,
dadurch gekennzeichnet,
daß der Festwertspeicher (42) über die an den Direktzugriffsspeicher (4) und das E/A-Schnittstelle-Gestell (20 bis 23) angeschlossenen Adreß- und Datensammelleitungen (3, 1) mit dem Mikroprozessor (40) verbunden ist,
daß im Festwertspeicher (42) ein weiterer Vorrat an Maschinenbefehlen gespeichert ist, die eine Makrobefehl-Decodier- Routine enthalten,
daß der Mikroprozessor (40) zum Speichern der Adresse eines im Direktzugriffsspeicher (4) gespeicherten Makrobefehls ein Stapelhinweisregister (Stackpointer) enthält, und
daß der Mikroprozessor (40) auf ausgewählte Maschinenbefehle in der Makrobefehl-Decodier-Routine anspricht, um aus dem Direktzugriffsspeicher den vom Stapelhinweisregister (Stackpointer) adressierten Makrobefehl auszulesen, sowie auf weitere ausgewähle Maschinenbefehle in der Makrobefehl- Decodier-Routine und den Operationscode in dem aus dem Direktzugriffsspeicher ausgelesenen Makrobefehl anspricht, um die Anfangsadresse der diesem Operationscode zugeordneten Makrobefehl- Ausführungsroutine in den Programmzähler zu laden.
2. Steuergerät nach Anspruch 1,
dadurch gekennzeichnet,
daß im Falle einer im Direktzugriffsspeicher (4) gespeicherte
E/A-Bildtabelle (8) aus einer Vielzahl von Mehrbit-Statuswörtern
eine Makrobefehl-Ausführungsroutine, die einem
Operationscode in einem der Makrobefehle zugeordnet ist,
Maschinenbefehle enthält, die den Mikroprozessor (40) führen,
um zwischen der E/A-Bildtabelle und dem E/A-Schnittstelle-
Gestell Daten zu übermitteln.
3. Steuergerät nach Anspruch 1 oder 2,
dadurch gekennzeichnet,
daß eine Abbildungstabelle (176) aus einer Liste mit den Anfangsadressen
aller Makrobefehl-Ausführungsroutinen im Festwertspeicher
(42) gespeichert ist und daß der Mikroprozessor
(40) die Anfangsadresse der dem Operationscode zugeordneten
Makrobefehl-Ausführungsroutine in den Programmzähler
lädt, und zwar durch Auslesen aus der Abbildungstabelle und
Übermittlung durch die Datensammelleitung zum Programmzähler.
4. Steuergerät nach einem der vorstehenden Ansprüche,
dadurch gekennzeichnet,
daß der Steuergerätprozessor (2) ferner einen mit dem Mikroprozessor
(40) verbundenen booleschen Prozessor (41)
enthält, der auf aus dem Direktzugriffsspeicher (4) ausgelesene,
ausgewählte Makrobefehl-Operationscodes anspricht,
um entsprechende logische Operationen auszuführen, und daß
der boolesche Prozessor Einrichtungen (120, 122, 128) enthält,
um den Mikroprozessor-Programmzähler auf die Startadresse
der Makrobefehl-Decodier-Routine zurückzusetzen,
nachdem der boolesche Prozessor seine logische Operation
ausgeführt hat.
5. Steuergerät nach Anspruch 4,
dadurch gekennzeichnet,
daß der boolesche Prozessor (41) mit der Datensammelleitung
(1) verbunden ist und enthält:
eine Logikeinheit (Fig. 3B) mit einer Einzelbitspeichereinrichtung (140), deren Eingang mit dem Eingang der Logikeinheit und deren Ausgang mit dem Ausgang der Logikeinheit verbunden ist,
einen Bitselektor (157), der an die Datensammelleitung (1) angeschlossene Eingänge aufweist und so betreibbar ist, daß er den logischen Zustand einer ausgewählten Leitung der Datensammelleitung zum Eingang der Logikeinheit übermittelt, und
eine Bitselektoreinrichtung (90 bis 112), die einen an den Ausgang (114) der Logikeinheit angeschlossenen Eingang aufweist und eine Vielzahl von Ausgängen (104 bis 111) hat, die mit den Leitungen der Datensammelleitung (1) verbunden sind.
eine Logikeinheit (Fig. 3B) mit einer Einzelbitspeichereinrichtung (140), deren Eingang mit dem Eingang der Logikeinheit und deren Ausgang mit dem Ausgang der Logikeinheit verbunden ist,
einen Bitselektor (157), der an die Datensammelleitung (1) angeschlossene Eingänge aufweist und so betreibbar ist, daß er den logischen Zustand einer ausgewählten Leitung der Datensammelleitung zum Eingang der Logikeinheit übermittelt, und
eine Bitselektoreinrichtung (90 bis 112), die einen an den Ausgang (114) der Logikeinheit angeschlossenen Eingang aufweist und eine Vielzahl von Ausgängen (104 bis 111) hat, die mit den Leitungen der Datensammelleitung (1) verbunden sind.
6. Steuergerät nach Anspruch 4 oder 5,
dadurch gekennzeichnet,
daß die Logikeinheit enthält:
eine zweite Einzelbit-Speichereinrichtung (138) mit einem an den Eingang der Logikeinheit angeschlossenen Eingang und mit einem an den Eingang der ersten Einzelbit- Speichereinrichtung (140) angeschlossenen Ausgang,
eine erste Toreinrichtung (152, 146, 147), die, wenn sie freigegeben ist, den Logikzustand vom Eingang der Logikeinheit zur ersten Einzelbit-Speichereinrichtung (140) übermittelt,
eine zweite Toreinrichtung (152, 141, 143), die, wenn sie freigegeben ist, den Logikzustand vom Eingang der Logikeinheit zur zweiten Einzelbit-Speichereinrichtung (138) übermittelt, und
eine dritte Toreinrichtung (145, 147), die, wenn sie freigegeben ist, den Logikzustand vom Ausgang der zweiten Einzelbit-Speichereinrichtung zum Eingang der ersten Einzelbit- Speichereinrichtung übermittelt.
eine zweite Einzelbit-Speichereinrichtung (138) mit einem an den Eingang der Logikeinheit angeschlossenen Eingang und mit einem an den Eingang der ersten Einzelbit- Speichereinrichtung (140) angeschlossenen Ausgang,
eine erste Toreinrichtung (152, 146, 147), die, wenn sie freigegeben ist, den Logikzustand vom Eingang der Logikeinheit zur ersten Einzelbit-Speichereinrichtung (140) übermittelt,
eine zweite Toreinrichtung (152, 141, 143), die, wenn sie freigegeben ist, den Logikzustand vom Eingang der Logikeinheit zur zweiten Einzelbit-Speichereinrichtung (138) übermittelt, und
eine dritte Toreinrichtung (145, 147), die, wenn sie freigegeben ist, den Logikzustand vom Ausgang der zweiten Einzelbit-Speichereinrichtung zum Eingang der ersten Einzelbit- Speichereinrichtung übermittelt.
7. Steuergerät nach Anspruch 6,
dadurch gekennzeichnet,
daß der boolesche Prozessor (41) Decodiereinrichtungen (120,
122) enthält, die die Operationscodes aus dem Direktzugriffsspeicher
(4) ausgelesener, ausgewählter Steuergerät-Befehle
empfangen und auf ausgewählte dieser Operationscodes ansprechen,
um die erste, zweite und dritte Toreinrichtung in der
Logikeinheit freizugeben.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US79025177A | 1977-04-25 | 1977-04-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2817536A1 DE2817536A1 (de) | 1978-10-26 |
DE2817536C2 true DE2817536C2 (de) | 1992-01-30 |
Family
ID=25150102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19782817536 Granted DE2817536A1 (de) | 1977-04-25 | 1978-04-21 | Programmierbares steuergeraet |
Country Status (3)
Country | Link |
---|---|
CA (1) | CA1103364A (de) |
DE (1) | DE2817536A1 (de) |
GB (1) | GB1596115A (de) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2842372A1 (de) * | 1978-09-28 | 1980-04-10 | Siemens Ag | Speicherprogrammierbare steuerung |
DE3302902A1 (de) * | 1983-01-28 | 1984-08-02 | Siemens AG, 1000 Berlin und 8000 München | Speicherprogrammierbare steuerung |
DE3302929A1 (de) * | 1983-01-28 | 1984-08-02 | Siemens AG, 1000 Berlin und 8000 München | Speicherprogrammierbare steuerung |
DE3302940A1 (de) * | 1983-01-28 | 1984-08-02 | Siemens AG, 1000 Berlin und 8000 München | Speicherprogrammierbare steuerung mit wort- und bitprozessor |
DE3323824A1 (de) * | 1983-07-01 | 1985-01-03 | Siemens AG, 1000 Berlin und 8000 München | Speicherprogrammierbare steuerung |
US4870614A (en) * | 1984-08-02 | 1989-09-26 | Quatse Jesse T | Programmable controller ("PC") with co-processing architecture |
US4716541A (en) * | 1984-08-02 | 1987-12-29 | Quatse Jesse T | Boolean processor for a progammable controller |
US4742443A (en) * | 1985-03-28 | 1988-05-03 | Allen-Bradley Company | Programmable controller with function chart interpreter |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3686639A (en) * | 1969-12-11 | 1972-08-22 | Modicon Corp | Digital computer-industrial controller system and apparatus |
US3942158A (en) * | 1974-05-24 | 1976-03-02 | Allen-Bradley Company | Programmable logic controller |
DE2522343C3 (de) * | 1975-05-20 | 1979-03-08 | Siemens Ag, 1000 Berlin Und 8000 Muenchen | Anordnung zur Steuerung Von Verfahrensabläufen |
-
1978
- 1978-01-16 CA CA294,998A patent/CA1103364A/en not_active Expired
- 1978-04-14 GB GB1472678A patent/GB1596115A/en not_active Expired
- 1978-04-21 DE DE19782817536 patent/DE2817536A1/de active Granted
Also Published As
Publication number | Publication date |
---|---|
CA1103364A (en) | 1981-06-16 |
DE2817536A1 (de) | 1978-10-26 |
GB1596115A (en) | 1981-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4135749B4 (de) | Prozessormodul für eine programmierbare Steuerung mit einer intelligenten Funktionsmodulschnittstelle | |
DE3914265C2 (de) | ||
DE1549532C2 (de) | Unterbrechungs-Direktorschalrwerk für eine Datenverarbeitungsanlage mit mehreren Rechenanlagen und mehreren perpheren Geräten | |
DE2703394A1 (de) | Datenverarbeitungssystem | |
EP0107026B1 (de) | Speicherprogrammierbare Steuerung | |
DE2523372B2 (de) | Eingabe-ZAusgabe-Anschlußsteuereinrichtung | |
DE2145120B2 (de) | Digitales datenverarbeitungsgeraet | |
DE3610433A1 (de) | Speicherprogrammierbares steuergeraet mit funktionsplaninterpreter | |
DE2355993A1 (de) | Datenverarbeitungseinheit einschliesslich mikroprogramm-steuereinrichtung | |
DE2244402A1 (de) | Datenverarbeitungsanlage | |
DE2849836A1 (de) | Programmierbares steuergeraet mit grenzwerterfassung | |
DE2523399A1 (de) | Datenverarbeitungssystem mit eingabe/ausgabeprozessoren | |
DE4313190B4 (de) | Vorrichtung und Verfahren zur Initialisierung einer Datenschnittstelle für eine programmierbare Steuerung | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE3219896A1 (de) | Verbundene datenverarbeitungsanlagen | |
DE3027734A1 (de) | Folgesteuereinrichtung | |
DE2817536C2 (de) | ||
DE3209046C2 (de) | Terminal-Verarbeitungssystem | |
DE2063195C2 (de) | Verfahren und Einrichtung zur Operationssteuerung einer Anzahl von externen Datenspeichern | |
DE2935101C2 (de) | ||
DE2218630B2 (de) | Schaltungsanordnung zur Steuerung von Unterbrechungssignalen in Datenverarbeitungsanlagen | |
DE19543411C2 (de) | Analog-Digital-Wandlervorrichtung | |
DE3938950C2 (de) | ||
DE4135031C2 (de) | Eingabe/Ausgabe-Einrichtung und Verfahren zum Betreiben einer Eingabe/Ausgabe-Einrichtung | |
DE10213860A1 (de) | Programmierbare Steuerung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8125 | Change of the main classification |
Ipc: G05B 19/02 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition |