DE2849836A1 - Programmierbares steuergeraet mit grenzwerterfassung - Google Patents
Programmierbares steuergeraet mit grenzwerterfassungInfo
- Publication number
- DE2849836A1 DE2849836A1 DE19782849836 DE2849836A DE2849836A1 DE 2849836 A1 DE2849836 A1 DE 2849836A1 DE 19782849836 DE19782849836 DE 19782849836 DE 2849836 A DE2849836 A DE 2849836A DE 2849836 A1 DE2849836 A1 DE 2849836A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- input
- bit
- control
- line
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000001514 detection method Methods 0.000 title description 2
- 230000015654 memory Effects 0.000 claims description 52
- 230000006870 function Effects 0.000 claims description 20
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000012546 transfer Methods 0.000 description 13
- 238000013507 mapping Methods 0.000 description 8
- 230000001343 mnemonic effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000000034 method Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 239000007858 starting material Substances 0.000 description 5
- 238000013075 data extraction Methods 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 238000013479 data entry Methods 0.000 description 3
- DOMHZVJNLCAZSA-UYSNGIAKSA-N (2s,3r,5s,6r)-2,3,4,5,6-pentachlorocyclohexan-1-ol Chemical compound OC1[C@H](Cl)[C@@H](Cl)C(Cl)[C@@H](Cl)[C@@H]1Cl DOMHZVJNLCAZSA-UYSNGIAKSA-N 0.000 description 2
- 241000607479 Yersinia pestis Species 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241000143437 Aciculosporium take Species 0.000 description 1
- 206010035148 Plague Diseases 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
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
-
- 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/13—Plc programming
- G05B2219/13017—Macro instructions
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25045—Electronic cam, encoder for sequence control as function of position, programmable switch pls
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Description
ALLEN-BRADLEY COMPANY, Milwaukee, Wisconsin, VStA
Programmierbares Steuergerät mit Grenzwerterfassung
Die Erfindung bezieht sich auf ein programmierbares
Steuergerät, wie es beispielsweise in den US-Patentschriften 3 942 158 und 3 810 118 sowie in der DE-OS 28 17 536 beschrieben
ist.
Programmierbare Steuergeräte dieser Art sind im allgemeinen mit industriellen Anlagen oder Ausrüstungen, ·
wie Fertigungsbändern oder Werkzeugmaschinen, verbunden, um die Anlage oder die Maschine in Abhängigkeit von einem
gespeicherten Steuerprogramm zu betreiben. In programmierbaren Steuergeräten nach den oben angegebenen Druckschriften
ist das Steuerprogramm in einem Speicher gespeichert, und es enthält Befehle, die in schneller Folge
ausgelesen werden, um den Zustand von ausgewählten Fühlervorrichtungen in der zu steuernden Anlage oder Maschine
zu überprüfen, und es enthält Befehle, die ausgewählte Betätigungs- oder Stellvorrichtungen in der zu steuernden
Anlage oder Maschine in Abhängigkeit vom Zustand von einem oder mehreren der überprüften Fühlervorrichtungen ein-
oder auszuschalten.
In einem programmierbaren Steuergerät ist der Prozessor so konstruiert, daß er sehr schnell Steuergerättyp-Befehle
ausführen kann, die die Verarbeitung von Einzelbit-Eingabedaten und die Steuerung von Einzelbit-Ausgabedaten
verlangen. In dieser Beziehung unterscheiden sich programmierbare Steuergeräte von Prozeßsteuergeräten, die Allgemeinzweck-Digitalrechner
verwenden, um industrielle Anlagen
909821/0629
und Prozesse zu steuern. Die Hauptfunktion eines Prozeßsteuergerätes
kann darin bestehen, eine Anzahl analoger Signale zu überwachen und eine Anzahl analoger Betätigungsoder Stellvorrichtungen zu steuern. Demgegenüber besteht
die Hauptfunktion programmierbarer Steuergeräte darin, eine große Anzahl von Einzelbit-Digitalvorrichtungen zu überwachen,
beispielsweise Grenzwert- oder Endschalter, und eine große Anzahl von Einzelbit-Betätigungsvorrichtungen oder
-Stellvorrichtungen zu steuern, beispielsweise Zylinderspulen und Motorstarter. Im Ergebnis ist daher der Prozessor
oder die zentrale Logikeinheit eines programmierbaren Steuergeräts typischerweise weniger komplex, weniger leistungsfähig
und weniger kostspielig als der Prozessor eines Allzweckrechners, und zwar deswegen, weil der Prozessor
eines programmierbaren Steuergeräts einzelne Bits anstelle von Wörtern verarbeitet und weil er nicht herangezogen
wird, um schwierige arithmetische Funktionen auszuführen. Andererseits kann aber infolge der großen Anzahl einzelnergetrennter
Fühler- und Stellvorrichtungen, die mit einem programmierbaren Steuergerät verbunden sind, und in Anbetracht
der rauhen Umgebung, in der das programmierbare Steuergerät im allgemeinen angeordnet ist, die Eingabe/
Ausgabe-Schnittstellenschaltung, die das programmierbare Steuergerät mit der industriellen Anlage verbindet, äußerst
aufwendig sein.
Die an Größe und Fähigkeit wachsenden programmierbaren Steuergeräte finden aber auch zunehmend Anwendung in
industriellen Anlagen und Prozessen, die analoge Vorrichtungen
und Positioniervorrichtungen enthalten, die früher von Prozeßsteuergeräten oder fest verdrahteten Spezialzweck-Steuergeräten
gesteuert wurden.
Ein solches festverdrahtetes Steuergerät ist der programmierbare Grenzschalter. Programmierbare Grenz- oder
Endschalter sind Spezialgeräte, die von Positionswandlern j
9 0 9821/0629
wie Digitalcodierern oder Drehmeldern, Gebrauch machen
und die die Voreinstellung bestimmter Winkel gestatten, bei denen ein Grenzschalter eingeschaltet werden soll,
sowie die Voreinstellung bestimmter Winkel gestatten, bei denen der Grenzschalter ausgeschaltet werden soll. Weiterhin ermöglichen sie die Anordnung zahlreicher Grenzschalter
längs einer Achse und die leichte Einstellung und Änderung der Schaltpositionen durch Programmieren oder
Wählen von unterschiedlichen voreinstellbaren Zahlen. Derartige programmierbare Grenzschalter können anstelle
von nockenbetätigten Grenzschaltergruppen verwendet werden. Obgleich derartige Grenzschalter programmierbar sind,
handelt es sich um relativ kostenaufwendige Geräte, die nur eine sehr spezifische Funktion ausführen können. Sie
sind nicht in der Lage, andere Steuerfunktionen an der Maschine oder Anlage vorzunehmen, und müssen daher in
Kombination mit festverdrahteten logischen Steuergeräten oder Relaisfeldern benutzt werden. Die bereitgestellte
gesamte Steuerungsanlage ist daher sehr aufwendig und teuer.
Wach der Erfindung soll ein programmierbares Steuergerät geschaffen werden, daß zusätzlich zu seinen anderen
bekannten Steuerfunktionen auch die Funktionen eines programmierbaren Grenzschalters bereitstellt. Dazu ist nach der
Erfindung ein programmierbares Steuergerät mit einem Eingabemodul ausgerüstet, der die Anschaltung eines Positionswandlers
an das programmierbare Steuergerät ermöglicht, und dem Prozessor des programmierbaren Steuergeräts sind Mittel zugeordnet,
die die Größe einer vom Eingabemodul gelieferten Digitalzahl mit dem Wert einer im Steuergerätspeicher gespeicherten
unteren Grenze und mit dem Wert einer im Steuergerät gespeicherten oberen Grenze vergleichen. Falls die von
dem Eingabemodul gelieferte Zahl zwischen der oberen und der unteren Grenze liegt, wird ein wahrer Zustand angezeigt und
gespeichert.
909821/OS29
849836
Die dem Prozessor des Steuergeräts zugehörigen oder zugeordneten Vergleichsmittel werden vorzugsweise in Abhängigkeit
von der Ausführung eines speziellen Steuergerätbefehls betrieben, der als ein Teil des Steuerprogramms in dem Steuergerätspeicher
gespeichert ist. Wenn dieser Befehl in Kombination mit anderen Steuergerätbefehlen verwendet wird, bildet das gespeicherte
Ergebnis der Vergleichsmittel ein Element einer booleschen Gleichung, die bestimmt, ob eine mit dem programmierbaren
Steuergerät verbundene Betätigungs- oder Stellvorrichtung eingeschaltet
werden soll oder nicht.
Die Hauptaufgabe der Erfindung ist es somit, ein programmierbares Steuergerät zu schaffen, das auch als programmierbarer
Grenz- oder Endschalter eingesetzt werden kann. Zusätzlich zur Eingabe von Daten vom Positionswandler und zusätzlich zum Vergleich
dieser Daten mit Daten, die einen oberen und einen unteren Grenzwert darstellen, kann das Steuergerät mit zahlreichen
Fühlervorrichtungen verbunden sein und so programmiert sein, daß es normale programmierbare Steuergerätfunktionen für zahlreiche
Betätigungsvorrichtungen ausübt.
Das nach der Erfindung geschaffene programmierbare Steuergerät kann man zum Steuern von Maschinen und Anlagen einsetzen,
die bisher auf die Verwendung von programmierbaren Grenzschaltern oder nockenbetätigten Grenzschaltern angewiesen waren.
Ein programmierbares Steuergerät zum Abtasten des Zustande von Fühlervorrichtungen und zum Steuern des Zustands von Betätigungsvorrichtungen
in Abhängigkeit von einem gespeicherten Programm enthält somit nach der Erfindung einen Positionscodier-Eingabemodul,
der Positionsdaten empfängt. Aufgrund von Befehlen im gespeicherten Programm werden die von dem Eingabemodul empfangenen
Positionsdaten mit einem oberen und einem unteren Grenzwert verglichen, die beide in dem Speicher des programmierbaren
Steuergeräts gespeichert sind. Wenn die empfangenen Positionsdaten außerhalb der Grenzen liegen, wird die Logikeinheit des
Steuergeräts gezwungen, eine falsche Entscheidung zu treffen.
309821/0829
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 eines Prozessors und eines Direktzugriffsspeichers, die beide
Teile des in der Fig. 1 dargestellten Steuergerätes bilden,
Fig. 3A und 3B elektrische Schaltbilder eines booleschen Prozessors, der einen Teil des in der Fig. 2
dargestellten Steuergerät-Prozessors bildet,
Fig. 4 ein elektrisches Schaltbild einer Takt- und Steuerschaltung, die einen Teil des in der Fig. 2
gezeigten Steuergerät-Prozessors bildet, und
Fig. 5 eine schematische Darstellung einer Gestelladapterschaltung und eines Codiereingabemoduls nach der
Erfindung.
Ein in der Fig. 1 dargestelltes programmierbares Steuergerät ist um eine bidirektionale 8-Bit-Datenschiene
herum gruppiert und enthält einen Steuergerät-Prozessor 2, der mit Hilfe von Steuerleitungen und einer 16-Bit-Adreßschiene
3 den Datenfluß auf der Datenschiene 1 steuert. Ein Direktzugriffsspeicher (RAM) 4 ist sowohl an die Datenschiene
1 als auch an die Adreßschiene 3 angeschlossen. Ein 8-Bit-Datenwort kann in Abhängigkeit von Steuersignalen,
die an eine "Datenheraustast"- 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,
909821/0829
was von der Größe des zu speichernden Steuerprogramms abhängt.
Die ersten 256 Zeilen bilden Arbeitsregister 7, eine Eingabe/Ausgabe-Bildtabelle 8 und einen Taktgeberund
Zähler-Speicher 9. Im Rest des Direktzugriffsspeichers 4 ist ein 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-Empfanger/Sender
(UAR/T) 12 und eine Gruppe bidirektionaler Datentore 13 mit der Datenschiene 1 verbunden ist, dient dazu, um das
Steuerprogramm 10 in den Direktzugriffsspeicher 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 die Datenschiene 1 gegeben, wenn der UAR/T 12 über die Adreßschiene 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. Von der Datenschiene 1 werden zum UAR/T
Daten torgesteuert, wenn über eine "Heraus"-Steuerleitung
15 den 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 "Datenheraustast"-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 von vier Schlitzen 0 bis 3 aufgenommen
werden. Das bedeutet, daß jeder Schlitz 0 bis 3 zwei
§09821/0829
-ίο- 2P4983a
8-Bit-E/A-Module oder -Karten enthalten kann, und zwar
eine niedrige und eine hohe. Jede Eingabekarte kann acht Eingabeschaltungen zum Empfang von Digitalsignalen enthalten,
die den Zustand von Einzelbit-Fuhl er vorrichtungen
anzeigen, beispielsweise von Grenzschaltern an der zu steuernden Maschine, und jede Ausgabekarte kann acht Ausgabeschaltungen
zum Steuern von Betätigungs- oder Stellvorrichtungen an der Maschine enthalten, beispielsweise
von Motorstartvorrichtungen und Zylinderspulen. Für diesen
Zweck kann man beispielsweise die aus den US-Patentschriften 3 643 115 und 3 745 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 in den E/ASchnittstelle-Gestellen
20 bis 23 hingeführt oder von einer besonderen Karte weggeführt, indem die betreffende Karte
über eine 5-Bit-Eingabe/Ausgabe-Adreßschiene 25 adressiert wird. Zwei Bits dienen zur Auswahl des geeigneten E/ASchnittstelle-Gestells
20 bis 23, und die übrigen drei Bits dienen zum Identifizieren der adressierten Karte. Die
E/A-Adapterkarte 24 jedes E/A-Schnittstelle-Gestells 20 bis 23 enthält Mittel, die erkennen, ob das betreffende
Gestell adressiert ist, und sie enthält Mittel zur Freigabe des passenden Schlitzes und der passenden Karte. Die
E/A-Adapterkarten 24 sind an anderer Stelle ausführlich erläutert.
Die Eingabe/Ausgabe-Adresse wird von dem Steuergerät-Prozessor 2 an die Adreßschiene 3 (ABO-AB4) gelegt.
Sie wird der E/A-Adreßschiene 25.über eine Gruppe von Eingabe/Ausgabe-Adreßtoren 26 zugeführt, die freigegeben
oder durchgeschaltet werden, wenn an eine "E/A-SEL·"-
909821/0629
2849838
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/ASchnittstelle-Gestellen
20 bis 23 werden die Daten über eine 8-Bit-Eingabe/Ausgabe-Datenschiene 32 und 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-Datenschiene
32 gegeben und über die E/A-Datentore 33 zur Datenschiene 1 übermittelt. Wenn umgekehrt an der Schreibleitung
31 eine im logischen Sinne hohe Spannung anliegt, wird ein 8-Bit-Ausgabedatenwort vom Steuergerät-Prozessor
über die E/A-Datentore 33 zu einer adressierten Ausgabekarte in einem der E/A-Schnittstelle-Gestelle 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.
Im "Durchlauf"-Modus wird das im Direktzugriffsspeicher
4 gespeicherte Steuerprogramm vom Steuergerät-
§09821/0829
-12- 2549838
Prozessor 2 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 Direktzugriffsspeicher 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 Ausgabestatuswort in der E/A-Bild tabelle 8, das diesem Schlitz entspricht, bedeutungslos und wäre
frei. Obgleich somit der Speicherraum in einem etwas geringeren Maße ausgenutzt 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
Exekution bzw. Ausführung des Steuerprogramms 10 vorgenommen. Die E/A-Abtastung ist eine programmierte Sequenz, bei
der Ausgabestatuswö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. Der Steuergerät-Prozessor 2 bearbeitet somit die Daten der E/A-Bildtabelle 8, anstelle der Daten,
909821/0629
284983a
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 der E/A-Datenschiene
32 und der E/A-Adreßschiene 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.
Es ist ein Grundkonzept der Erfindung, daß zusätzlich zu der E/A-Abtastung, die periodisch vorgenommen
wird, aufgrund von speziellen Steuergerättyp-Befehlen, die im folgenden E/A-Unmittelbarbefehle genannt werden,
E/A-Daten zwischen ausgewählten E/A-Karten und ihren zugeordneten Speicherplätzen in der E/A-Bildtabelle 8 übermittelt
werden. Im Gegensatz zur E/A-Abtastung nimmt allerdings bei dem Datentransfer, der aufgrund eines E/A-Unmittelbarbefehls
erfolgt, nur eine ausgewählte E/A-Karte teil. Die betreffende E/A-Karte wird durch einen Adreßcode
im E/A-Unmittelbarbefehl identifiziert.
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 Hilfsschaltungen. 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 bevor-
909821/0629
zugten 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 transferiert Daten und interne Zustandsinformation über eine bidirektionale 8-Bit-3-Zustand-Prozessordatenschiene
43 (DO 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ßschiene
44 adressiert. Der Mikroprozessor 40 weist drei Takt- und Steuerausgänge (WR, SYNC und DBIW) auf, die über eine Sammelleitung 46 mit
einer Takt- und Steuerschaltung 45 verbunden sind. Vier Steuereingänge (Bereit, Zurücksetzen, 01 und 02) verbinden
die Takt- und Steuerschaltung 45 mit dem Mikroprozessor 40 über eine Schiene 47.
Die Prozessordatenschine 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 Dateneingabe-Puffertoren 50. Die
Eingänge der Dateneingabe-Puffertore 50 sind mit Leitungen
DBO bis DB7 der Datenschiene 1 verbunden, und von der Datenschiene 1 werden Daten zum 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 Datenschiene 1 zugeführt. ·
Die Prozessoradreßschiene 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,
909821/0629
AB14 und AB15 ist mit der Takt- und Steuerschaltung 45
verbunden, ein Abzweig 54 aus Leitungen ABO bis AB7 ist
direkt mit entsprechenden Leitungen in der Adreßschiene verbunden und ein dritter Abzweig 55 aus Leitungen AB8
bis AB15 ist mit Α-Eingängen eines Multiplexers 56 und
mit Eingängen 57 am booleschen Prozessor 41 verbunden. Die Leitung AB15 im Abzweig 55 ist an einen Selektionsoder 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ßschiene 3 verbunden oder eine
Konstante, die an B-Eingängen des Multiplexers 56 anliegt, wird der Adreßschiene 3 zugeführt.
Die Konstante, die über den Multiplexer 56 aufgedrückt
wird, erzeugt die Adresse 8192^Q (im folgenden 8K
bezeichnet), bei der es sich um die Adresse der ersten Zeile im Direktzugriffsspeicher (RAM) 4 handelt. Wenn
diese Konstante an die Adreßschiene 3 gelegt ist, wählt die Adresse an den niedrigsten acht Bits ABO bis AB7»
die direkt vom Mikroprozessor 40 kommen, eine der ersten 256 Zeilen im Direktzugriffsspeicher 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
Steuergerättyp-Befehle zugeordnet sind. Die Folge davon ist, daß die Leitungen AB8 bis AB14 der Prozessoradreßschiene
zur Übermittlung von Steuerinformation durch den Abzweig 55 zum booleschen Prozessor 41 frei sind, wenn
Daten in die ersten 256 Zeilen des Direktzugriffsspeichers
4 eingeschrieben oder aus diesen Zeilen gelesen werden sollen. Diese Information zeigt zum Teil die Art oder den
Typ der Funktion des programmierbaren Steuergeräts an, die von dem booleschen Prozessor 41 ausgeführt werden soll,
und gibt an, welches Bit, wenn überhaupt irgendeins, auf der Datenschiene 1 von dieser Funktion betroffen ist. Wenn
beispielsweise ein Statusbit in der E/A-Bildtabelle 8 über-
909821/0629
-16-" 2849838
prüft werden soll, wird die Adresse der Speicherzeile, in
der dieses Bit gespeichert ist, auf den Leitungen ABO bis AB7 der Adreßschiene zusammen mit der 8K-Konstanten auf
den Leitungen AB8 bis AB15 der Adreßschiene 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,
speichert 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, während andere zusätzliche Zyklen benötigen, um Daten aus
dem Direktzugriffsspeicher 4 zu lesen, Daten in den Direktzugriffsspeicher 4 zu schreiben oder Daten von einem Eingabe/Ausgabe-Gerät
zu empfangen oder an es auszusenden. Zu Beginn (während des ersten Zustande) jedes Maschinenzyklus
gibt der Mikroprozessor ein SYNC-Steuersignal an die Zeit- und Steuerschaltung 45 über die Schiene 46 ab.
Gleichzeitig erzeugt der Mikroprozessor an der Prozessordatenschiene 43 ein Statuswort, das die Natur 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 gewinnen,
909821/0629
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-Steuerleitung 36 angeschlossen ist, die die E/A-Datentore 33 betätigt.
Die Taktgenerator- und Treiberschaltung 68 erzeugt zwei sich nicht überlappende Taktimpulszüge 01 und 02, die
über die Schiene 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 der DE-OS 28 17 536 ist ein Taktdiagramm dargestellt, das die zeitlichen Beziehungen zwischen den
Signalen 01, 02, 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/ASchnittstelle-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 abgeleitet. Diese Steuersignale enthalten ein
»Stapel"-Signal, das an einer Steuerleitung 70 auftritt,
909821/0629
-is- 284983a
und ein "Status-Eingabe"-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 Datenheraustast-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ßschiene 3 und die Umkehrung der Bits 13 und 14 der Adreßschiene 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 Datenheraustast-Signal
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 Schiene 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 der NAND-Glieder 77 und
909821/0629
ist mit der Datenheraustast-Steuerleitung 16 verbunden.
Einem zweiten Eingang jedes der NAND-Glieder 77 und 78 wird das erste Bit in der Adreßschiene 3 zugeführt. Das
zweite Bit in der Datenschiene 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 Prozessordatenschiene
43 und am Adreßschienenabzweig 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-Steuersignal 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/us und über 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/Us gestattet es dieser E/A-Adresse entlang der E/A-Adreßschiene
25 zu laufen und durch die geeignete E/A-Adapterschaltung 24 decodiert zu werden. Die RLE-Steuerleitung
35 wird für 8/us auf einem im logischen Sinne niedrigen Wert gehalten und 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 yus 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 angehalten oder
909821/0629
gestoppt, bis die 8-,us-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ßschiene 3 empfängt. Das Freigabe-SD-Steuersignal
gibt den Empfang von Daten vom Programmfeld 11 frei..
Obgleich der Mikroprozessor 40 in Abhängigkeit von Maschinensprachbefehlen 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 Direktzugriffsspeichers 4 gespeichert sind. Diese Befehle vom Typ für
das programmierbare Steuergerät werden als Makrobefehle behandelt, die durch eine Reihe von Mikroprozessormaschinenbefehlen
ausgeführt werden. Der Makrobefehlsvorrat enthält drei allgemeine Befehlstypen: Bitbefehle, Wortbefehle
und Steuerbefehle. Bitbefehle und Wortbefehle sind in zwei Speicherzeilen gespeichert. Die erste Zeile speichert
einen Operationscode und die zweite Zeile eine Operandenadresse. Die Steuerbefehle bestehen lediglich aus
einem zweizeiligen Operationscode. Die Bitbefehle enthalten das folgende:
909821/0629
Mnemonic | Bithinweis | Operationscode | Ausführungszeit |
XIC/XOE XIO/XOD |
XXX X X X |
0 10 11 110 11 |
12,5/US . |
OTU OTL OTD OTE |
XXX XXX XXX XXX |
10 111 0 0 111 11111 0 1111 |
16,5/us |
Befehls- bitzahl |
O 1 2 | 3 4 5 6 7 |
Die.Operationen, die von diesen Bitbefehlen ausgeführt
werden, sind wie folgt definiert:
XIC - Erü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
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.
909821/0629
Die Steuerbefehle enthalten das folgende:
Mnemonic | Op erati ons c ode | Ausführungszei't |
NOP BND BST MCR END |
XOOOOOOO XXX0001 1 XXX1 001 1 X X X 1 1 1 0 1 0 0 1 0 0 1 0.. 0 |
8,5/US 100 /US |
Befehls bitzahl |
01 234567 |
Anmerkung: X bedeutet "Ziehe nicht in Betracht",
Die von diesen Steuerbefehlen ausgeführten Operationen sind wie folgt definiert:
NOP - Keine Operation
BND - Verzweigungsende: Beendigung einer booleschen Uhterverzweigung
BST - Verzweigungsstart: Öffnen oder Beginnen einer
booleschen Unterverzweigung
END - Ende des Steuerprogramms
MCR - Betätige Hauptsteuerflipflop.
MCR - Betätige Hauptsteuerflipflop.
Die Worttyp-Steuergerät-Befehle enthalten das
folgende:
909821/0S29
- 23 Tabelle III
Mnemonic | O | Operationscode | O | 1 | O | O | O | 1 | O | Ausführungszeit |
TOF 0,1 s | O | O | O | 1 | O | O | O | O | ||
TOF 1,0 s | O | 1 | 1 | 1 | O | O | O | O | ||
TON 0,1 s | O | O | 1 | 1 | O | O | O | O | ||
TON 1,0 s | O | 1 | O | O | 1 | O | O | O | 100 /us - | |
RTO 0,1 s | O | O | O | O | 1 | O | O | O | ||
RTO 1,0 s | O | 1 | 1 | O | 1 | O | O | O | ||
GTD | O O |
1 | 1 O |
O O |
1 O |
O 1 |
O O |
O O |
||
CTU RTR |
O | O 1 |
O | O | O | 1 | O | O | 100/us | |
CTR | O | O | O | 1 | 1 | O | O | O | ||
PUT ' | O | 1 | O | 1 | 1 | O | O | O | ||
GET | O | O | 1 | 1 | 1 | O | O | O | ||
EQU | O | O | 1 | 1 | 1 | O | O | O | 100/us | |
LES | O | 1 | O | O | 1 | 1 | O | O | ||
JMP | O | 1 | 1 | 1 | O | 1 | O | O | ||
RTN | O | 1 | O | O | 1 | 1 | O | O | 10O /us | |
LBL | O | O | 2 | 3 | 4 | 5 | 6 | 7 | ||
Befehls- bitzahl |
1 | |||||||||
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, schalte
Takt- oder Zeitgeber an.
909821/0629
CTD - Wenn die Bedingungen wahr sind, vermindere den Zählwert
um 1.
CTU - Wenn die Bedingungen wahr sind, erhöhe den 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 die Bedingungen wahr sind, setze Taktgeber zurück, CTR - Wenn die Bedingungen wahr sind, setze den Zähler zurück.
GET - Rufe das Wort in der ausgewählten Speicherzelle ab und speichere es im Mikroprozessorakkumulator.
EQU - Ist der im Mikroprozessorakkumulator gespeicherte Wert gleich dem Wert, der in der ausgewählten Speicherzelle
gespeichert ist?
LES - Ist der im Mikroprozessorakkumulator gespeicherte Wert
kleiner als der Wert, der in der ausgewählten Speicherzelle gespeichert ist?
JMP - Unbedingter Sprung zur Zieladresse, die durch den zugeordneten
Operanden angegeben ist.
LBL - Lade Speicheradresse in die Sprungtabelle.
RTN - Kehre mit zugeordnetem Operanden zum Sprungbefehl
zurück.
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 programmierbaren Grenzbefehle nach der Erfindung sind Worttyp-Befehle und sie enthalten das folgende:
909821/0629
0 | 1 | Tabelle IHA | 7 | Ausführungszeit | |
Mnemonic | 0 | 1 | Operationscode 2 3 4 5 6 |
0 | 62,5 /US |
GB | 0 | 1 | 110 10 | 0 | 92/us |
LT | 0 1 11 0 | ||||
Die Operationen, die von diesen Befehlen ausgeführt werden, sind kurz wie folgt zu definieren:
GB - Nimm die 8-Bit-Octalzahl, die in der E/A-Bildtabelle
in dem durch die Operandenadresse angezeigten Platz gespeichert ist, und speichere sie im Mikroprozessor-C-Register.
LT - Falls die Octalzahl im C-Register größer oder gleich
einer unteren Grenze ist oder kleiner oder gleich einer oberen Grenze ist, tue nichts, andernfalls,
gib eine falsche Anzeige in die Logikeinheit des booleschen Prozessors ein. Die obere und die untere
Grenze sind im Direktzugriffsspeicher 4 in Plätzen gespeichert, die durch die zugeordnete Operandenadresse
angegeben sind.
Die Steuergerättyp-Befehle werden durch die vereinigte
Operation des Mikroprozessors 40 und des booleschen Prozessors 41 ausgeführt. Wie man insbesondere der Fig. 2 entnehmen
kann, ist der boolesche Prozessor 41 mit der Prozessordatenschiene 43 verbunden, um vom Mikroprozessor 40
direkt Daten empfangen zu können, und ist mit der Datenschiene 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 Steuer-
909821/0629
leitung ¥0 29, DBIN 51, Stapel 70, Status-Eingabe 71 und _ NSPC 72). Weiterhin spricht der boolesche Prozessor 41
auf die Operationscodes in den Steuergerättyp-Befehlen an, die direkt zum Direktzugriffsspeicher 4 oder indirekt über
den Mikroprozessor 40 erhalten werden.
In der Fig. 3A ist dargestellt, daß die Leitungen (DO bis D7) in der Prozessordatenschiene 43, die mit dem
booleschen Prozessor 41 verbunden sind, über entsprechend zugeordnete Dreizustand-Tore 90 bis 97 mit den betreffenden
Leitungen (DBO bis DB7) in der Datenschiene 1 verbunden sind. Die Steueranschlüsse der Dreizustand-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 Prozessordatenschiene von der ihm zugeordneten Leitung der Datenschiene
zu entkoppeln. Der Bithinweiscode wird vom Mikroprozessor 40 über die Sammelleitung 55 empfangen und wird auch noch
an Eingangsanschlüsse 100 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 Dreizustand-Toren
104 bis 111 angeschlossen. Die Eingänge der Tore 104 bis 111 sind mit dem Ausgang eines Exklusiv-ODER-Glieds
verbunden, und ihre Ausgänge sind an die entsprechenden Leitungen DBO bis DB7 in der Datenschiene 1 angeschlossen.
Ein Eingang am Exklusiv-ODER-Glied 112 steht über eine
Leitung 113 mit der Schiene 55 in Verbindung, um die Bitzahl 11 in der Prozessoradreßschiene 44 zu empfangen, und
sein anderer Eingang ist an eine "Entscheidungs»-Leitung
114 angeschlossen. Der PROM 99 und die Bithinweis schaltung
909821/0629
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 Zusatzbit in der E/A-Bildtabelle 8 auf einen 1-Zustand oder einen lpgischen
O-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
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 Datenschiene 1 wird das geeignete Statusbit
gesetzt, während das E/A-Bildtabelle-Statuswort zwischen dem Mikroprozessor 40 und dem Direktzugriffsspeicher 4
"im Laufen" ist.
An Hand der Fig. 3A sei weiterhin 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 — Festwert-
S09821/0629
2849838
speicher 120 zugeführt, der eine Gruppe von vier Eingängen aufweist, die mit den Leitungen DB2 bis DB6 der Datenschiene
verbunden sind. Die Bitbefehl-Operationscodes (XIC, XIO, OTE, OTL, OTD, 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ßschiene über die Schiene 55 angeschlossen sind.
Der programmierbare Pestwertspeicher (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ßschiene 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 Datenschiene 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-, BSD- und BND-Steuerleitung 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 Logikeinheit 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
909821/0629
- 29 - 284983a
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-, XIO-, XCF- oder XOF-Operationscode'an der
Schiene 66 erscheint, erzeugt der PROM 122 an einer "XIC/XIO"-Leitung 131 eine im logischen Sinne hohe Spannung.
Wenn ein OTE-, OTDr, OTL-, OTU- oder OEF-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 Logikeinheit angeschlossen, und ein dritter Ausgang 132 des Befehlsdecoder-PROM 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 an 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 im logischen Sinne 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 159 aufweist, die
909821/0629
mit den entsprechenden Leitungen DBO bis DB7 in der Datenschiene 1 verbunden sind. Der Bitselektor 157 hat
eine weitere Gruppe von drei Bitauswahl-Eingängen 150,
die mit der Schiene 55 verbunden sind, um den Bithinweiscode zu empfangen, der vom Mikroprozessor 40 an den Leitungen
8, 9 und 10 der Adreßschiene erzeugt wird,-In Abhängigkeit
von diesem Bithinweiscode koppelt der Bitselektor 157 den logischen Zustand oder Status von einer
der Leitungen DBO bis DB7 der Datenschiene zu einem Ausgangsanschluß 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 Schiene 55 angeschlossen,
um dort die Adreßschienenbitnummer 11 zu empfangen. Das Exklusiv-ODER-Glied 152 ist tätig, um den logischen
Zustand des ausgewählten Statusbit zu invertieren, wenn ein XIO- oder XOF-Befehl ausgeführt wird, und es dient
daher dazu, zwischen den XIO- und XIC-Operationscodes und zwischen den XCF- und XOF-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 125 ist an den Eingang
des UND-Glieds 144 und an die J-Anschlüsse der Flip-r
flops 137 und 138 angeschlossen. Der Q-Ausgang des Flip-
9098 2 1/0 629
flop 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 Q-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 Flipflöp 140
über ein NAND-Glied 147 angeschlossen. Der Q-Ausgang des Flipflop 137 ist mit einem dritten F.ingang 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
Entscheidungs-Leitung 114 verbunden. Weiterhin sind die Q-Ausgänge der Flipflops 137 bis 140 an die entsprechenden
Leitungen DB4, DB3, DB1 und DB7 der Datenschiene angeschlossen, und zwar über zugehörige Dreizustand-Tore 153
bis 156. Der Steueranschluß jedes der Dreizustand-Tore
bis 156 steht mit der "Status-Eingabe»-Leitung 71 in Verbindung,
und wenn daran von der Zeit- und Steuerschaltung 45 eine im logischen Sinne hohe Spannung hervorgerufen wird,
wird der Zustand der Logikeinheit-Flipflops 137 bis 140 auf die Datenschiene 1 und in den Mikroprozessor 40 torgesteuert.
Den MCR-Steuerbefehl kann man benutzen, um während
der Ausführung bestimmter Anteile des Steuerprogramms die Logikeinheit effektiv zu sperren. Der Fig. 3B kann entnommen
werden, daß ein Hauptsteuer-Flipflop 168 mit seinem Q-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 Eingang des UND-Glieds 170 ist mit dem Q-Ausgang und der andere Eingang des UND-Glieds
909821/0629
mit dem Q-Ausgang des Flipflop 140 verbunden. ¥enn das Hauptentscheidungs-Flipflop 140 im falschen Zustand ist
und der MCR-Steuerbefehl ausgeführt werden soll, wird das
Flipflop 168 gesetzt. An seinem Q-Ausgang tritt daher eine im logischen Sinne niedrige Spannung auf, so daß das UND-Glied
158 gesperrt wird. 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 PE-Anschluß direkt zurückgesetzt werden, der
von einem NAND-Glied 171 angesteuert wird, dessen Eingänge mit der Datenheraustast-Steuerleitung 16 und der Leitung 1
(DB1) der Datenschiene verbunden sind.
Zusätzlich zum Auslesen des Zustande der Logikeinheit-Flipflops
137 bis 140 auf die Datenschiene 1 können ' die Zustände dieser Flipflops direkt durch einen Mikroprozessor-Befehl
(Statusausgabe) gesetzt werden. Dies wird mit 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 PK- und den PJ-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 Datenschiene in die Logikeinheit mit Hilfe
der Datenheraustast-Steuerleitung 16 torgesteuert. Eine Entscheidung (wahr oder falsch) kann somit vom Mikroprozessor
40 in die geeigneten Flipflops der in der Fig. 3B dargestellten Logikeinheit gegeben werden.
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 von einer Reihe
interner Register im Mikroprozessor einschließlich der folgenden Register Gebrauch:
909821/0629
-33- 2849838
(PC) 16-Bit-Programmzähler;
(SP) i6-Bit-»Stapel"-Hinweis;
(B) und (C) 8-Bit-Register angeordnet als ein Paarj
(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ßschiene 3
erzeugt, und der Programmzähler (PC) wird dann um einen ocer mehrere Zählwerte 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 als 8-Bit-Register
oder als 16-Bit-Registerpaare benutzt. Der Mikroprozessor
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,haben die folgende Darstellung:
909821/0629
2849838
Mnemonic | Operand | Bemerkung " |
POP | H | Lade Steuergerät-Befehl, der durch den Stapelhinweis (SP) angezeigt wird, in das H- und L-Register. |
MOV | E, M | Nimm Statuswort von der E/A-Bild tabelle 8, wie es durch die Adresse im L-Register angezeigt wird, und bringe den Steuergerät-Befehl-Opera tionscode und den Bithinweiscode, der im Η-Register gespeichert ist, zum booleschen Prozessor 41 über die Verriegelung 57. |
MOV | M, E - | Speichere das Statuswort wieder in der E/A-Bildtabelle. |
MVI | D,ADRH | Speichere die Konstante (8K) im D-Register. |
MOV | E,L | Transferiere die Speicheradresse, die im L-Register gespeichert ist, zum E-Register. |
MOV | L, H | Transferiere den Steuergerät-Befehl- Operationscode im Η-Register zum L-Register. |
MOV | B,L | Transferiere den Steuergerät-Befehl- Operationscode und den Bithinweis code zum B-Register. |
MVI | H, 000 | Lade Nullen in das H-Register. |
DAD | H | Verschiebe den Inhalt des H- und L- Registers nach links um ein Bit. |
IN | STATUS | Gib Status des booleschen Prozessors 41 ein und speichere ihn im A-Re gist er. |
ANA | A | Nimm eine logische UND-Operation am Inhalt des Α-Registers mit sich selbst vor, um den Status des Entscheidungs- Flipflop 140 in das Mikropirozessor- ALU-Plaggenregister zu geben. |
PCHL | Führe indirekten Sprung zur Steuerbe fehlsausführungsroutine durch, indem die Speicheradresse, die in der Abbil dungstabelle 176 gespeichert ist, in den Programmzähler (PC) geladen wird* |
909821/0629
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 angegeben ist. Der Befehl POP H liest
den Steuergerät-Befehl-Operationscode aus dem Direktzugriffsspeicher 4 und gibt den Befehl-Decoder-PROM 120 im
booleschen Prozessor 41 frei. Der Steuergerät-Befehl-Operationscode wird an der Datenschiene 1 in Abhängigkeit von
diesem Maschinenbefehl erzeugt, 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 hohe Spannung an der
Lösch-Leitung 129 erzeugt. Der in der Fig. 3B dargestellte Teil der 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/US 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 Operandenadresse aus dem Direktzugriffsspeicher 4 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 Η-Register gespeichert ist,
erscheint an den Leitungen AB8 bis AB15 der Prozessoradreßschiene.
Der Multiplexer 56 blockiert diese acht i. Bits und
909821/0629 ■
erzeugt an deren Stelle die Konstante (8K) an den Leitungen AB8 bis AB15 der Adreßschiene 3. Der 8-Bit-Makrobefehloperand
im L-Register erscheint an den Leitungen ABO bis AB7 der Adreßschiene während der Ausführung des
Maschinenbefehls MOV E,M und dient dazu, eine der Speicheradressen
8192^0 bis 844S10 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 Η-Register wird zusammen mit dem Bithinweiscode über die Schiene 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-Befehls operand ausgewählt sind,
werden von dem Maschinenbefehl MOV E, M aus dem Direktzugriffsspeicher
4 ausgelesen und über die Datenschiene 1 dem booleschen Prozessor 41 zugeführt. Diese Daten gelangen
dort zusammen mit dem Bithinweiscode an der Schiene 55 zum Bitselektor 148. Der Bithinweiscode wählt ein Bit von den
acht Datenbits an der Datenschiene 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ätbefehl XIC oder XIO wird somit
mit zwei Mikroprozessor-Maschinenbefehlszyklen ausgeführt, die eine Gesamtzeit von etwa 12,5/Us beanspruchen.
21/0629
Die ersten drei Maschinenbefehle in dem oben beschriebenen
Makrobefehl-Decoder-Programm. 175 v/erden 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 das 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 Schiene 55 dem booleschen Prozessor 41 zugeführt. Der Operand wird durch die Adreßschiene
3 weitergeleitet, um eine der ersten 256 Zeilen des Direktzugriffsspeichers 4 auszuwählen, und das ausgewählte
Datenwort wird ausgelesen und über die Datenschiene 1 und die Dateneingabe-Puffertore 55 in das
Ε-Register des Mikroprozessors 40 befördert. Der dritte Maschinenbefehl (MOV M,E) wird dann ausgeführt, um den
Inhalt des Ε-Registers zurück in dieselbe Zeile des Direktzugriffsspeichers 4 zu laden. Während dieses Transfers
werden allerdings der Steuergerät-Befehl-Operationscode
und der Bithinweiscode, die noch im Η-Register des Mikroprozessors gespeichert sind, erneut dem booleschen
Prozessor 41 zugeführt. Insbesondere unter Bezugnahme aif 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 Schiene 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 Prozessordatenschiene 43 von der
0 9 8 2 1/0629
DatenscMene 1 effektiv zu trennen. Zusätzlich, wird ein
Tor der Dreizustand-Tore 104 bis 111, das mit derselben
Leitung der Datenschiene 1 verbunden ist, durch die Bithinweis schaltung 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 Prozessordatenschiene
43 erzeugt und über den booleschen Prozessor 41 zurück in seinen ursprünglichen Platz im Direktzugriffsspeicher
4 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 φ-lOV 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/Us beanspruchen.
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-Abbastroutine
Bezug genommen wird. Der allgemeine Zweck der Maschinenbefehle, die das Makrobefehl-Decoder-Programm 175 ent-
90982T/0629 ο
halten, 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, in dem die Startadresse dieser Routine gespeichert ist. Die spezifische
Funktion des Makrobefehl-Decoder-Programms besteht somit darin, die geeignete Startadresse der
Abbildungstabelle in den Mikroprozessor-Programmzahler (PC) zu laden.
Unter spezieller Bezugnahme auf das oben angegebene Makrobefehl-Decoder-Programm 175 wird der
Steuerbefehl-Operationscode im Η-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 Ε-Register, und die beiden nächsten Maschinenbefehle (MOV L,H) (MOV B, L)
transferieren den Operationscode und den Bithinweiscode vom Η-Register zu dem L- und B-Register. Der
nächste Maschinenbefehl (MVI H,000) lädt Nullen in das Η-Register, und der achte Maschinenbefehl (DAD H) verschiebt
die Inhalte des H- und L-Registerpaares um eine
909821/0629
Bitstelle nach links. An dieser Stelle speichert das L-Register die niedrigstwertigen acht Bits der richtigen
Zeile in der Abbildungstabelle 176. Mit anderen Worten heißt dies, daß jeder Makrobefehl-Operationscode
um eine Stelle nach links verschoben wird, um denjenigen Speicherplatz der Zeile in der Abbildungstabelle 176 vorzusehen, der die Startadresse der zugeordneten
Makrobefehl-Ausführungsroutine speichert.
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 das A-Register
des Mikroprozessors geladen. Dieser Maschinenbefehl verursacht, daß an der "Statuseingabe"-Steuerleitung
71 eine im logischen Sinne hohe Spannung erzeugt wird. Wie es aus der Fig. 3B hervorgeht, werden
dadurch die Dreizustand-Tore 153 bis I56 durchgeschaltet
oder freigegeben, um den Zustand der Logikeinheit-Flipflops 137 bis 140 auf die Datenschiene 1 zu geben.
Von großer Bedeutung ist der Zustand des Hauptentscheidungs-Flipflop
140, der an die höchstwertige Digitalzahlleitung (DB7) der Datenschiene 1 gelegt
wird und 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 Α-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 Vorzeichenbit des Mikroprozessor-Flaggenregisters gespeichert.
909821/0629
Schließlich wird der zwölfte 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 Makro- -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 Festwertspeicher 42 gespeichert. Jede Makrobefehl-Ausführungsroutine
wird mit einem Sprung zum Nullbefehl beendet, der- den Mikroprozessor-Programmzähler (PC) auf Null zurücksetzt.
Nachdem eine Makrobefehl-Ausführungsroutine ausgeführt worden ist, springt somit das System zum Maschinenbefehl
POP H im Makrobefehl-Decoder-Programm 175 zurück, um den nächsten Makrobefehl aus dem Steuerprogramm 10
auszulesen.
Die Makrobefehl-Ausführungsroutinen sind für viele der Befehl-Operationscodes im einzelnen in der
DE-OS 28 17 536 erläutert.
Der letzte Makrobefehl im Steuerprogramm 10 ist ein "END"-Befehl, der in eine E/A-Abtastroutine "abbildet"
. Die E/A-Abtastroutine stellt aufeinanderfolgend
die Verbindung für Statuswörter zwischen jeder Zeile der E/A-Bildtabelle 8 und den entsprechenden E/A-Karten
in den E/A-Schnittstelle-Gestellen 20 bis 23 her. Das bedeutet, daß ein 8-Bit-Statuswort zu jeder E/A-Karte
0 9 8 21/0829
2849838
mit Ausgabeschaltungen übermittelt wird und daß ein 8-Bit-Statuswort zu der E/A-Bildtabelle 8 von jeder
E/A-Karte mit Eingabeschaltungen übermittelt wird. Auf diese Weise wird die E/A-Bildtabelle 8 mit dem laufenden
Status oder Zustand von allen Fühlervorrichtungen, die mit dem programmierbaren Steuergerät verbunden sind,
auf den neuesten Stand gebracht, und der berechnete Status oder Zustand aller Betätigungs- oder Stellvorrichtungen,
die mit dem programmierbaren Steuergerät verbunden sind, wird von der E/A-Bildtabelle 8 ausgegeben.
Gegen Ende der E:A-Abtastroutine wird die Speicheradresse
des ersten Steuergerät-Befehls im Steuerprogramm 10 berechnet und in das Stapelhinweisregister
(SP) geladen. Wenn bei der Beendigung der E/A-Abtastroutine das System zum Befehl POP H zurückspringt,
wird folglich als nächstes der erste Makrobefehl des Steuerprogramms 10 ausgeführt. Das bedeutet, daß das
System sofort mit einer anderen Abtastung durch das Steuerprogramm 10 beginnt, sobald die E/A-Abtastroutine
ausgeführt ist.
Insbesondere unter Bezugnahme auf die Fig. 1 und 5 wird dargelegt, daß die E/A-Adapterschaltungen
jedes E/A-Schnifctstelle-Gestells 20 bis 23 die E/AKarten
des Gestells mit der E/A-Adreßschiene 25 und
der E/A-Datenschiene 32 verbinden. Die sechs Leitungen
der E/A-Adreßschiene 25 sind an die Eingänge von sechs Schmitt-Triggern 130 angeschlossen, die als Störschutzfilter
dienen. Drei Ausgänge der Schmitt-Trigger sind über eine Schiene 131 an einen 2-Bit-Gestellnummer-Decodierer
133 angeschlossen, und drei Ausgänge der Schmitt-Trigger 130 führen über die Schiene 131 zu
einem 3-Bifc-E/A-Kartenfreigabe-Decodierer 134. Der
Gestellnummer-Decodierer 133 erzeugt an seinem Ausgang 135 eine im logischen Sinne hohe Spannung, wenn
1/0629
er durch ein Signal an einer der Ausgangsleitungen der Schmitt-Trigger in der Schiene 131 freigegeben wird und
wenn die Nummer (O bis 3) des E/A-Schnittstelle-Gestells, dem die E/A-Adapterschaltung 24 angehört, an den beiden
anderen Leitungen auftritt. Der E/A-Kartenfreigabe-Decodierer 134 ist ein 4-Leitung-zu-10-Leitung~Decodierer,
der an einem von acht Ausgängen 136 in Abhängigkeit von dem 3-Bit-Binärcode, der seinen Eingängen zugeführt
wird, eine im logischen Sinne hohe Spannung erzeugt. Jeder der Ausgänge 136 ist mit einer E/A-Karte
in demselben E/A-Schnittstelle-Gestell verbunden, und eine dieser acht Karten wird jedesmal freigegeben, wenn
eine E/A-Adresse an der Schiene 25 erzeugt wird und das
E/A-Schnittstelle-Gestell freigegeben worden ist.
Eine Gruppe von vier Schmitt-Triggern 137 empfängt die drei Steuersignale an der Leseleitung 30, der' Schreibleitung
31 und der Abtastleitung 18 (27f in Fig. 1). Das
gefilterte Lese- und Schreibsignal wird an einer Leitung 138 bzw. 139 erzeugt, wenn die Schmitt-Trigger 137
von dem Gestellnummer-Decodierer 133 freigegeben sind. Die Leseleitung 138 führt zu einem Freigabeanschluß 140
einer Gruppe von acht Datentoren 141, und die Schreibleitung
139 führt zu einem Freigabeanschluß 142 einer Gruppe
von acht Datentoren 143» Das gefilterte Abtastsignal erscheint an einer Leitung 144, sofern die Schmitt-Trigger
137 durch den Decodierer 133 freigegeben sind. Die Leitung 144 führt zu einem Taktanschluß 145 einer 8-Bit-Datenverriegelung
146 und zu einem Freigabeanschluß einer Gruppe von Schmitt-Triggern 150.
Die acht Leitungen in der E/A-Datenschiene 32 sind mit den Eingängen von acht Schmitt-Triggern 147 und mit
den Ausgängen der Datentore 141 verbunden. Die acht Ausgänge der Schmitt-Trigger 147 sind über eine Leitungs-
909821/0629
schiene 148 mit den Eingangsanschlüssen der Datentore 143 verbünde. Die Ausgänge der acht Datentore 143
führen zu entsprechend zugeordneten Leitungen in einer 8-Bit-E/A-Kartendatenschiene 151. Die gleichen Leitungen
in der Schiene 151 sind auch mit der Datenverriegelung
146 verbunden. Die E/A-Kartendatenschiene 151 führt zu jeder der acht E/A-Karten in dem E/A-Schnittstelle-Gestell,
dem die betreffende E/A-Adapterschaltung zugeordnet ist.
Wenn Daten an ein E/A-Schnittstelle-Gestell 20 bis 23 ausgegeben werden sollen, erscheinen die Adresse
des betreffenden Schnittstelle-Gestells (0 bis 3) und die Adresse der besonderen E/A-Karte (0 bis 7 dieses
Schnittstelle-Gestells an der E/A-Adreßschiene 25. Die
Daten treten an der E/A-Datenschiene 32 auf, und die Schreibleitung 31 befindet sich auf einer im logischen
Sinne hohen Spannung. Der Gestellnummer-Decodierer 133 in dem adressierten E/A-Schnittstelle-Gestell erzeugt
eine im logischen Sinne hohe Spannung an seinem Ausgang 135, so daß die Schmitt-Trigger 137 das logische Signal
an der Schreibleitung 31 weiterleiten, und zwar zum Freigabeanschluß 142 der Datentore 143. Die adressierte
E/A-Karte ist durch den E/A-Kartenfreigabe-Decodierer 134 freigegeben, und die Daten an der Schiene 32 gelangen
über die Schmitt-Trigger 147 und die Datentore 143 zu der freigegebenen E/A-Karte.
Wenn Daten von einem E/A-Schnittstelle-Gestell bis 23 eingegeben werden sollen, erscheinen die Adresse
des E/A-Schnittstelle-Gestells und die Adresse der E/AKarte in dem betreffenden Gestell an der E/A-Adreßschiene
25. Ein logisches Signal an der Leseleitung 30 wird über die Schmitt-Trigger 137 in dem adressierten E/ASchnittstelle-Gestell
zum Freigabeanschluß 140 der Daten-
909821/0629
tore 141 weitergeleitet. Die Daten von der adressierten E/A-Karte erscheinen an der E/A-Kartendatenschiene
und werden von dem Signal an der Abtastleitung 18, das über die Schmitt-Trigger 137 zur Steuerleitung 144 gelangt,
in die Datenverriegelung 146 getaktet. Auf diese Weise gelangen acht Datenbits durch die Datentore 141
auf die E/A-Datenschiene 32.
In der Fig. 5 ist ein nach der Erfindung ausgebildeter Eingabemodul 155 dargestellt. Er enthält zwei
Quartettt-D-Flipflops 156, die somit zusammen acht
Eingangsanschlüsse aufweisen, die über ein Kabel 158 mit einem optischen Drehgeber oder Drehcodierer 157
verbunden sind. Die Flipflops 156 bilden eine 8-Bit-Datenverriegelung,
und wenn eine im logischen Sinne hohe Spannung an einen Freigabeanschluß 159 gelegt wird,
wird eine an dem Kabel 158 auftretende 8-Bit-Zahl in den Flipflops 156 gespeichert und über deren Ausgangsanschlüsse
an die Eingänge einer Exklusiv-ODER-Gruppe
160 gelegt. Die Exklusiv-ODER-Gruppe 160 arbeitet als
Decodierer, der den vom Drehcodierer 157 erzeugten "Gray Code" in einen entsprechenden Binärcode umsetzt. Die
acht Ausgangsanschlüsse des von der Exklusiv-ODER-Gruppe 160 gebildeten Decodierers sind mit der E/A-Kartendatenschiene
151 verbunden.
Wenn eine im logischen Sinne hohe Spannung an der Kartenfreigabeleitung I36 und an der Leseleitung
erscheint, gibt ein UND-Glied 161 einen im logischen Sinne hohen Spannungsimpuls ab. Die Anstiegsflanke dieses Impulses
gibt die aus den Flipflops I56 gebildete 8-Bit-Datenverriegelung
frei, um die Ausgangssignale des Drehcodierer s 157 zu lesen und zu speichern. Während der Restzeit
dieses Impulses ist der aus der Exklusiv-ODER-Gruppe gebildete Decodierer freigegeben, um die in der Datenverriegelung
gespeicherte Zahl in die Binärform umzusetzen und
sie an die E/A-Kartendatenschiene 151 abzugeben. . 909821/0629
Bei einer typischen Ausführungsform wird die E/A-Abtastroutine wenigstens alle 20 ms ausgeführt, so daß die
Position des Drehcodierers 151 wenigstens einmal alle 20 ms
abgelesen wird. Die auf diese Weise in das Steuergerät eingelesene 8-Bit-Binärzahl wird, wie bereits oben angedeutet,
in derjenigen Zeile der E/A-Bildtabelle 8 des Direktzugriffsspeichers
4 gespeichert, die dem E/A-Kartenplatz des Eingabemoduls 155 in den Schnittstelle-Gestellen 20 bis 23 entspricht.
Es sei bemerkt, daß die besondere Art des verwendeten Codierers nicht kritisch ist. Das entsprechende gilt
für die Größe der erzeugten Digitalzahl. Man kann beispielsweise einen zweiten E/A-Kartenplatz benutzen, um von einem
16-Bit-Codierer ein zweites 8-Bit-Byte an Daten zu übermitteln.
Die Grenzschalter-Befehle GB und LT werden in dem ·
Steuerprogramm verwendet, um die Punktionen eines programmierbaren
Grenzschalters vorzusehen. Die Maschinenbefehle, die in Abhängigkeit von dem GB-Makrobefehl ausgeführt werden,
nachdem das Makrobefehl-Decoder-Programm 175 ausgeführt worden ist, sind wie folgt:
Etikett | Mnemonic | Operand | Bemerkung |
GB | XCHG | Transferiere Operanden adresse von dem D- und E- Register in das H- und L- Register |
|
MOV | C, M | Nimm die 8-Bit-Binärzahl aus der E/A-Bildtabelle 8 und speichere sie im C-Register |
|
JMP | MAIN | Springe zum Befehl POP H im Programm 175 |
909821/0 629
Wenn der LT-Makrobefehl aus dem Direktzugriffsspeicher
4 gelesen wird, bildet das Makrobefehl-Decoder-Programm 175 den folgenden Satz von Maschinenbefehlen ab:
Etikett | Mnemonic | Operand | Bemerkung |
LT | MXIIG | Transferiere Operanden adresse von dem D- und E- Register in das H- und L- Register |
|
MOV | A,C | Transferiere die gegenwär tige Codierpositionsnummer vom C-Register in das A-Register |
|
CMP | M | Vergleiche die gegenwärtige Codierpositionsnummer mit der unteren Grenze |
|
JC | OUTF | Wenn die gegenwärtige Codier position kleiner als die untere Grenze ist, springe nach OUT. |
|
INX | H | Inkrementiere H-Register zum Adressieren der oberen Grenznummer. |
|
MOV | A, M | Transferiere die 8-Bit- Binärzahl der oberen Grenze vom Direktzugriffsspeicher 4 in das A-Register. |
|
CMP | C | Vergleiche die gegenwärti ge Codierpositionsnummer mit der oberen Grenze. |
|
JNC | MAIN | Wenn die gegenwärtige Codierposition gleich oder kleiner als die obere Grenze ist, springe zum Befehl POP H im Decoder-Programm 175 |
|
OUTF | MVI | A,84H | Lade Maske in das Η-Register vom Direkt zugriffsspeicher 4. |
OUT | STATS | Gib Maske an die Logikein heit des booleschen Pro zessors 41 aus, um eine fal sche Entscheidung zu erzwingen |
|
JMP | MAIN | Springe zum Befehl POP H im Decoder-Programm 175 |
909821/0629
Die obigen Makrobefehle können rait anderen Steuergerät-Befehlen verwendet werden, um fest verdrahtete
programmierbare Grenzschalter zu ersetzen. Ein Steuerprograinm zum Betreiben eines Motor starters,
der mit dem Schnittstelle-Gestell 21 (Gestell Wr. 1), Schlitz 0, Anschluß 5 verbunden ist, und zwar in Abhängigkeit
von dem Zustand oder Status eines Grenzschalters, der mit dem Schnittstelle-Gestell 21,
Schlitz 1, Anschluß 3 verbunden ist, und in Abhängigkeit vom Drehcodierer 157, der mit dem Schnittstelle-Gestell
22 (Gestell Nr. 2), Schlitz 2 verbunden ist, kann wie folgt aussehen:
Mnemonic | Operand | Bemerkung |
XIC | 11103 | Wenn der Grenzschalter ge schlossen ist und |
GB | .1220 | |
LT | 247,136,071 | wenn die Drehcodierposition zwisehen der oberen Grenze von 247 (Oktal) und der unteren Grenze von 136 (Oktal) ist, |
OTE | 01005 | dann schalte den Motorstarter |
ein«, |
Falls der Drehcodierer zwischen den zwei angegebenen Grenzen nicht positioniert ist, wird die Logikeinheit
durch den LT-Befehl zu einer falschen Entscheidung gezwungen, und das Statusbit in der E/A-Bildtabelle 8, das
dem Motorstarter entspricht, wird durch den OTE-Befehl
auf einen falschen Zustand gesetzt. Wenn danach die E/A-Abtastroutine ausgefülirt wird, und zwar im Anschluß an
die Abtastung durch das Steuerprograinm, wird dieser falsche Status oder Zustand zu der Ausgäbeschaltung in dem
9 Π 9 Π 'Μ / Π G 7 fl
Schnittstelle-Gestell 21 übermittelt, die den Motorstarter antreibt, und er wird abgeschaltet. Es sei
bemerkt, daß zahlreiche Betätigungs- oder Stellvorrichtungen
auf diese Weise als Funktion der Position des Drehcodierers 157 gesteuert werden können, und
zwar lediglich durch die Addition geeigneter GB- und LT-Befehle zu dem Steuerprogramm 10.
Das erläuterte bevorzugte Ausführungsbeispiel kann im Rahmen der erfindungsgemäßen Lehre abgewandelt
und modifiziert werden. So könnte man beispielsweise einen einzigen Makrobefehl verwenden, um sowohl die
Funktion des GB-Makrobefehls als auch die Funktion des LT-Makrobefehls vorzusehen. Ein derartiger Makrobefehl
würde eine Operandenadresse enthalten, die die geeignete Zeile in dar E/A-Bildtabelle B als auch die obere und
untere Grenzzahl identifizieren würde. Man könnte auch
unmittelbare Eingabebefehle heranziehen, die an anderer
Stelle beschrieben sind, um die gegenwärtige Drehcodierposition, unmittelbar vor den GB- und LT-Befehlen einzugeben.
"ι Π 1H: ■ ■
Claims (7)
- *-lug. Y:iMH fislchel e-vu«if V:.-V.-Öl<i H01GÜ81 ^6 Frankfurt a. M. 1 2049833 Pkiß 13ALLER-BRADLEY COMPANY, Milwaukee, Wisconsin, VStAPatentansprücheIy Programmierbares Steuergerät mit einem Prozessor, der Befehle in einem gespeicherten Steuerprogramm wiederholt' ausführt, um den Status von mit dem Gerät verbundenen Eingabevorrichtungen zu überprüfen sowie deren Status zu einer Logikeinheit zu übermitteln und um in Abhängigkeit von dem Zustand der Logikeinheit mit dem Gerat verbundene Ausgabevorrichtungen zu betätigen,
gekennzeichnet durcheinen mit dem Prozessor verbundenen Eingabemodul zur Schnittstellen-Anschaltung des Geräts an einen Positionswandler, der eine Multibit-Positionszahl erzeugt,eine dem Prozessor zugeordnete Speichereinrichtung mit Speicherplätzen zum Speichern einer vorgewählten Multibit-r zahl für eine obere Grenze, zum Speichern einer vorgewählten Multibit-Zahl für eine untere Grenze und zum Speichern einer gegenwärtigen Positionszahl,• eine dem Prozessor zugeordnete Einrichtung zum Übermitteln der von dem Positionswandler erzeugten Positionszahl zu dem Speicherplatz der gegenwärtigen Positionszahl undeine dem Prozessor zugeordnete Vergleichseinrichtung zum Vergleichen des arithmetischen Wertes der gegenwärtigen Positionszahl in der Speichereinrichtung mit den arithmetischen Werten für die obere und die untere Grenze in der Speichereinrichtung, wobei die Vergleichseinrichtung betätigbar ist, um die Logikeinheit in einen falschen Zustand zu setzen, wenn die gegenwärtige Positionszahl kleiner als die untere Grenze oder größer als die obere Grenze ist.90 9821/0629- 2- 284983a - 2. Programmierbares Steuergerät nach Anspruch 1, dadurch gekennzeichnet, daß die Vergleichseinrichtung in Abhängigkeit von der Ausführung ausgewählter Befehle in dem Steuerprogramm arbeitet.
- 3. Programmierbares Steuergerät nach Anspruch 2, dadurch gekennzeichnet, daß die Übermittlungseinrichtung in Abhängigkeit von der Ausführung anderer ausgewählter Befehle in dem Steuerprogramm arbeitet.
- 4. Programmierbares Steuergerät nach Anspruch 2, dadurch gekennzeichnet, daß beim Vorhandensein eines Speichers zum Speichern einer Eingabe/Ausgabe-Bildtabelle und einer Eingabe/Ausgabe-Abtasteinrichtung zum periodischen Übermitteln von Daten von den Eingabevorrichtungen zu der Eingabe/Ausgabe-Bildtabelle, von der Eingabe/Ausgabe-Bildtabelle zu den Ausgabevorrichtungen und von dem Eingabemodul zu einem ausgewählten Platz in der Eingabe/Ausgabe-Bildtabelle die Übermittlungseinrichtung in Abhängigkeit von der Ausführung anderer ausgewählter Befehle im Steuerprogramm betätigbar ist, um den Inhalt des ausgewählten Platzes in der Eingabe/Ausgabe-Bildtabelle zu dem Speicherplatz der gegenwärtigen Positionszahl zu übermitteln.
- 5. Programmierbares Steuergerät nach einem der vorstehenden Ansprüche,dadurch gekennzeichnet, daß der Prozessor einen Mikroprozessor enthält und daß es sich bei der Logikeinheit um einen getrennten booleschen Prozessor handelt.
- 6. Programmierbares Steuergerät nach Anspruch 5, dadurch gekennzeichnet, daß die Speichereinrichtung ausgewählte Register des Mikroprozessors enthält.909821/0829
- 7. Programmierbares Steuergerät,
gekennzeichnet durcheinen Mikroprozessor, der mit einem Direktzugriffsspeicher verbunden ist, in dem ein Steuerprogramm, eine Eingabe/Ausgabe-Bildtabelle und Makrobefehl-Ausführungsroutinen ge speichert sind,ein mit dem Mikroprozessor verbundenes Schnittstelle-Gestell einschließlich eines Eingabemoduls, der mit einem Positionswandler verbunden ist, um von diesem eine Multibit-Positionszahl zu empfangen,einen Platz in dem Direktzugriffsspeicher zum Speichern einer gegenwärtigen Positionszahl,einen Platz in dem Direktzugriffsspeicher zum Speichern einer ausgewählten MuItibit-Zahl, die eine obere Grenze darstellt, undeinen Platz in dem Direktzugriffsspeicher zum Speichern einer vorgewählten MuItibit-Zahl, die eine untere Grenze darstellt,wobei der Mikroprozessor in Abhängigkeit von einer der Makrobefehl-Ausführungsroutinen, die einem ausgewählten Befehl der Steuerprogrammbefehle zugeordnet ist, betreibbar ist, um:a) die gegenwärtige Positionszahl aus dem Direktzugriffsspeicher auszulesen,b) ■ die Zahl für die obere Grenze aus dem Direktzugriffsspeicher auszulesen,c) die Zahl für die untere Grenze aus dem Direktzugriffsspeicher auszulesen,d) die Größen der drei aus dem Direktzugriffsspeicher ausgelesenen Zahlen miteinander zu vergleichen unde) ein logisches Signal zu erzeugen, das einen falschen Zustand darstellt, wenn die gegenwärtige Positionszahl kleiner als die Zahl für die untere Grenze oder größer als die Zahl für die obere Grenze ist.909821/0629
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/853,721 US4158226A (en) | 1977-11-21 | 1977-11-21 | Programmable controller with limit detection |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2849836A1 true DE2849836A1 (de) | 1979-05-23 |
Family
ID=25316735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19782849836 Withdrawn DE2849836A1 (de) | 1977-11-21 | 1978-11-17 | Programmierbares steuergeraet mit grenzwerterfassung |
Country Status (4)
Country | Link |
---|---|
US (1) | US4158226A (de) |
CA (1) | CA1111951A (de) |
DE (1) | DE2849836A1 (de) |
GB (1) | GB2008279B (de) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5853368B2 (ja) * | 1978-08-30 | 1983-11-29 | 三菱電機株式会社 | シ−ケンスコントロ−ラ |
US4251885A (en) * | 1979-03-09 | 1981-02-17 | International Business Machines Corporation | Checking programmed controller operation |
US4360882A (en) * | 1980-08-27 | 1982-11-23 | Phillips Petroleum Company | Process control system |
JPS57113117A (en) * | 1980-12-30 | 1982-07-14 | Fanuc Ltd | Robot control system |
US4404637A (en) * | 1981-04-30 | 1983-09-13 | Phillips Petroleum Company | Process control system |
FR2547075B1 (fr) * | 1983-06-03 | 1986-03-28 | Telemecanique Electrique | Procede et dispositif pour la protection et le controle de la transmission des informations entre l'unite centrale d'un automate programmable et les capteurs et/ou les actionneurs du processus commande |
JPS60204052A (ja) * | 1984-03-28 | 1985-10-15 | Fanuc Ltd | 入出力ボ−ドのアドレス選択方式 |
US4872136A (en) * | 1984-06-04 | 1989-10-03 | Ge Fanuc Automation North America, Inc. | Programmable controller input/output communications system |
US5093804A (en) * | 1984-06-04 | 1992-03-03 | Ge Fanuc Automation North America, Inc. | Programmable controller input/output communications system |
US4744022A (en) * | 1985-06-03 | 1988-05-10 | Autotech Corporation | Programmable control apparatus including an absolute position transducer |
US4839789A (en) * | 1985-06-03 | 1989-06-13 | Microfast Controls Corp. | Programmable control device for high speed processing of data |
US4835676A (en) * | 1985-06-03 | 1989-05-30 | Autotech Corporation | Programmable control apparatus including an absolute position transducer |
KR920005252B1 (ko) * | 1988-11-11 | 1992-06-29 | 미쯔 비시덴끼 가부시끼가이샤 | 수치제어장치 |
US5285376A (en) * | 1991-10-24 | 1994-02-08 | Allen-Bradley Company, Inc. | Fuzzy logic ladder diagram program for a machine or process controller |
JP2963299B2 (ja) * | 1993-03-31 | 1999-10-18 | 三菱電機株式会社 | プログラマブルコントローラの周辺装置、及び内部情報設定方法 |
US6076124A (en) * | 1995-10-10 | 2000-06-13 | The Foxboro Company | Distributed control system including a compact easily-extensible and serviceable field controller |
US6912427B1 (en) * | 2002-03-22 | 2005-06-28 | Ametek, Inc. | Programmable limit switch with distributed intelligence |
US6973353B1 (en) * | 2002-07-23 | 2005-12-06 | Goldman Craig E | Programmable controller for controlling an output state |
DE102004037259A1 (de) * | 2004-07-31 | 2006-02-16 | Robert Bosch Gmbh | Verfahren zur Einstellung vorgebbarer Parameter |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3829842A (en) * | 1973-02-22 | 1974-08-13 | Terry Controls Corp | Automatic self-testing programmable industrial controller |
US3996565A (en) * | 1974-04-19 | 1976-12-07 | Toyoda Koki Kabushiki Kaisha | Programmable sequence controller |
US3978454A (en) * | 1974-06-20 | 1976-08-31 | Westinghouse Electric Corporation | System and method for programmable sequence control |
US3997879A (en) * | 1975-12-24 | 1976-12-14 | Allen-Bradley Company | Fault processor for programmable controller with remote I/O interface racks |
US4063611A (en) * | 1976-05-19 | 1977-12-20 | Anderson Roland N | Surface effect vehicle |
-
1977
- 1977-11-21 US US05/853,721 patent/US4158226A/en not_active Expired - Lifetime
-
1978
- 1978-06-26 CA CA306,173A patent/CA1111951A/en not_active Expired
- 1978-08-16 GB GB7833610A patent/GB2008279B/en not_active Expired
- 1978-11-17 DE DE19782849836 patent/DE2849836A1/de not_active Withdrawn
Non-Patent Citations (1)
Title |
---|
US-IEEE Transactions on Industrial Electronics and Control Instrumentation Vol. IECI-22, No. 3 S. 329-333, Aug. 1975 * |
Also Published As
Publication number | Publication date |
---|---|
CA1111951A (en) | 1981-11-03 |
US4158226A (en) | 1979-06-12 |
GB2008279B (en) | 1982-08-18 |
GB2008279A (en) | 1979-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2849836A1 (de) | Programmierbares steuergeraet mit grenzwerterfassung | |
DE3610433C2 (de) | Verfahren zum Steuern einer Maschine mit einer speicherprogrammierbaren Steuerung mit Funktionsplaninterpreter | |
DE1549532C2 (de) | Unterbrechungs-Direktorschalrwerk für eine Datenverarbeitungsanlage mit mehreren Rechenanlagen und mehreren perpheren Geräten | |
DE102007038877B4 (de) | Steuervorrichtung mit schneller I/O-Funktion und Steuerverfahren zum Steuern ihrer Daten | |
DE2145120A1 (de) | Digitales Datenverarbeitungsgerat | |
DE2735207B2 (de) | Maschinensteuersystem | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE2658313A1 (de) | Steueranlage mit einem prozessor zur steuerung von maschinen | |
EP0107026B1 (de) | Speicherprogrammierbare Steuerung | |
DE2446224A1 (de) | Vorrichtung zum steuern des mikroprogramms im operationssystem einer digitalen datenverarbeitungsanlage | |
DE2219918A1 (de) | Programmierbares Steuergerät | |
DE2015971A1 (de) | Datenverarbeitungssystem zur Verarbeitung eines Stromes mehrfacher Operanden | |
DE2713253A1 (de) | Programmlader fuer ein steuergeraet | |
DE1474062B2 (de) | Datenverarbeitungsanlage mit einer anzahl von pufferspeichern | |
DE3501194A1 (de) | Verfahren und vorrichtung zum datenaustausch zwischen mikroprozessoren | |
DE2817536C2 (de) | ||
DE10213860B4 (de) | Programmierbare Steuerung | |
DE2932394A1 (de) | Intelligente, programmierbare prozessteueranordnung | |
DE1212748B (de) | Datenverarbeitende Maschine mit Programmunterbrechung | |
DE4417434B4 (de) | Parametrier- und Diagnosebaugruppe für eine modulare speicherprogrammierbare Steuerung und speicherprogrammierbare Steuerung | |
DE2500320A1 (de) | Programmierbares steuerwerk | |
DE3139421C2 (de) | ||
DE2459958A1 (de) | Steuersystem mit programmierter logik | |
DE4103121A1 (de) | Datenfluss-steuerprozessor | |
DE2022921A1 (de) | Verarbeitungseinheit fuer Buchungsmaschinen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8130 | Withdrawal |