DE2612621A1 - Programmgesteuerte einrichtung - Google Patents

Programmgesteuerte einrichtung

Info

Publication number
DE2612621A1
DE2612621A1 DE19762612621 DE2612621A DE2612621A1 DE 2612621 A1 DE2612621 A1 DE 2612621A1 DE 19762612621 DE19762612621 DE 19762612621 DE 2612621 A DE2612621 A DE 2612621A DE 2612621 A1 DE2612621 A1 DE 2612621A1
Authority
DE
Germany
Prior art keywords
output
program
input
address
commands
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
Application number
DE19762612621
Other languages
English (en)
Inventor
Raymond Theodoor Gustaaf Boute
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Standard Electric Corp
Original Assignee
International Standard Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Standard Electric Corp filed Critical International Standard Electric Corp
Publication of DE2612621A1 publication Critical patent/DE2612621A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/045Programme control other than numerical control, i.e. in sequence controllers or logic controllers using logic state machines, consisting only of a memory or a programmable logic device containing the logic for the controlled machine and in which the state of its outputs is dependent on the state of its inputs or part of its own output states, e.g. binary decision controllers, finite state controllers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Description

Patentanwalt | NAOHeEREiCHT
Dipl.-Phys. Leo Thul Stuttgart
R.Boute - 1
INTERNATIONAL STANDARD ELECTRIC CORPORATION, NEW YORK
Programmgesteuerte Einrichtung
Die Erfindung betrifft eine programmgesteuerte Einrichtung mit einem Speicher, in dem ein aus Befehlen bestehendes Programm gespeichert ist, mit einer Steuereinheit, die eine Eingangsschaltung mit mehreren Eingängen aufweist, die mehrere Eingangsvariable empfangen, die ferner eine Steuerschaltung aufweist, die in der Lage ist, einen Befehl bezüglich der anstehenden Eingangsvariablen auszuführen und einen entsprechenden Wert für mehrere Ausgangsvariable zu ermitteln, und die eine Ausgangsschaltung mit mehreren Ausgängen aufweist, an denen die Ausgangsvariablen abgegriffen werden können.
Eine solche programmgesteuerte Einrichtung, deren Steuereinheit in der Lage ist, mit Hilfe der Programmbefehle aufgrund der anstehenden binären Eingangsvariablen eine Anzahl logischer Operationen auszuführen und daraus zu der Gruppe
19.3.1976
Vl/Mr
609850/0614
NACHGEREiQHTf
anstehender Eingangsvariabler zugeordnete binäre Ausgangsvariable zu ermitteln, ist allgemein als programmierbare Steuerung bekannt, bei der eine Folge von Gruppen von Eingangsvariablen zu einer entsprechenden Folge von Gruppen von Ausgangsvariablen führt. Die binären Zustände der Eingangsvariablen entsprechen z.B. dem Schaltzustand von Kontakten und die binären Werte der Ausgangsvariablen entsprechen z.B. dem Erregungszustand von Magnetspulen3 Motoranlassern, usw.
Bei einer solchen programmierbaren Steuerung umfaßt das Befehlsprogramm üblicherweise eine Anzahl Befehle, die aufeinanderfolgend die Ausführung von UND-, ODER- und NICHT-Funktionen steuert, die für die Berechnung eines Boolfsehen Ausdrucks notwendig sind, wobei das Programm unmittelbar vom Bool'schen Ausdruck abgeleitet wird. Da jede Ausgangsvariable eine Funktion aller Ein- und Ausgangsvariablen sein kann, hängt die Anzahl der auszuführenden Programmbefehle zur Ermittlung des endgültigen Wertes einer Ausgangsvariablen von der Anzahl der primären Implikanten der Ein- und Ausgangsvariablen ab und von der einfachsten Form des Bool'schen Ausdrucks unter Berücksichtigung dieser primären Implikanten. Zum Beispiel möge ein Ausdruck mit fünf\ Variablen (einschließlich beteiligter Ausgangsvariabler) auf sechs primäre Implikanten mit je drei bis vier Verknüpfungsgroßen zurückzuführen sein und insgesamt die Durchführung von 27 Programmbefehlen oder Schritten erfordern. In einem solchen Fall ist gewöhnlich mehr als ein Befehl pro Eingangsvariable nötig, wenn diese Variable mehr als einmal in obigem Bool'schen Ausdruck auftaitt. Darüberhinaus werden die Programmbefehle unabhängig von den binären Werten der Variablen ausgeführt und in vielen Fällen steht der endgültige Wert einer Ausgangsvariablen bereits nach der Ausführung einer Anzahl Be-
609850/06U
- 3 - [naohqereiohtI
fehle fest3 die kleiner ist als die Gesamtzahl der pro Ausgangsvariable auszuführenden Programmbefehle.
Nähere Einzelheiten über die vorstehend benutzten Bool'sehen Begriffe kann man auf den Seiten 61 bis 109 des Buches "Logical Design of Digital Computers" von Montgomery Phister, Jr. veröffentlicht von John Wiley & Sons, Inc., New York, 1959, finden.
Die programmgesteuerte Einrichtung nach der Erfindung ist dadurch gekennzeichnet, daß das Programm eine Gruppe Befehle einfacher Art enthält, die jeder eine Adresse einer einzelnen, zu lesenden Eingangsvariablen kennzeichnen, und daß die Steuerschaltung so ausgebildet ist, daß sie bei diesen einfachen Befehlen vom Wert der gelesenen einzelnen Eingangsvariablen die Adresse des als nächstes auszuführenden Befehls unter zumindest zwei Befehlen ableitet, der beim einen Wert der Eingangsvariablen unmittelbar aus dem Ausgabebefehl für die entsprechende Ausgangsvariable besteht.
Die programmgesteuerte Einrichtung nach der Erfindung gestattet es, einzelne Ausgangsvariable unter Beachtung der Werte einzelner Eingangsvariabler mit weniger Programmschritten zu ermitteln und verkürzt damit die Gesamtzahl der auszuführenden Befehle und die Laufdauer eines Programms.
Eine ergänzende Ausgestaltung der programmgesteuerten Einrichtung nach der Erfindung ist dadurch gekennzeichnet, daß das Programm eine zweite Gruppe einfacher Befehle enthält, die jeder die Adresse einer auszugebenden Ausgangsvariablen, deren Wert und eine Adresse des nächstfolgenden Befehls umfassen. Mit dieser Ausgestaltung lassen sich weitere Programmschritte einsparen. Wenn im ungünstigsten Fall zur Ermittlung einer Ausgangsvariablen alle Eingangsvariablen geprüft werden müssen, dann ist die Anzahl der Programmschritte gleich n+1,
609850/06U -/-
also gleich der Anzahl der Eingangsvariablen plus einem Schritt für die Ausgabe der Ausgangsvariablen. Wenn auch '%, noch m r-ückgekoppelte Ausgangsvariable zu berücksichtigen sind, dann ist also die Anzahl der Programmsehritte gleich m+n+1. In vielen Fällen ist die Anzahl der Schritte pro Ausgangsvariable ohne Rückkopplung kleiner als n+1. In Abhängigkeit vom binären Wert der geprüften Eingangsvariablen und von der die Ausgangsvariable mit den η Eingangsvariablen verbundenden Verknüpfungsfunktion kann man eine Ausgangsvariable am Ausgang der Steuerung mit wesentlich weniger als η Programmschritten erhalten.
Die Bestimmung eines nachfolgenden Programmbefehls in Abhängigkeit vom binären Wert einer Eingangsvariablen ist für sich als "BinärentScheidungsprogramm" aus "The Bell System Technical Journal", Juli 1959, S.985 bis 999, bekannt. Sie wird dort aber zur Verwirklichung von verdrahteten Schaltkreisen beschrieben, wobei keine Zeitprobleme auftreten. Deshalb ist es dort unbeachtlich, wenn grundsätzlich alle möglichen Werte der Eingangsvariablen eine gleichartige Berücksichtigung im nachfolgenden Programm finden und die Änderung einer einzigen Eingangsvariablen einen kompletten Programmdurchlauf erfordert, weil es keine mit einem einfachen Befehl steuerbare Einrichtung gibt, die ausschließlich die Berücksichtigung einer Eingangsvariablen zur Bestimmung einer einzelnen Ausgangsvariablen festlegt. Nach der Erfindung lassen sich dagegen derartige programmierbare Steuereinrichtung auch dann noch einsetzen, wenn die Ablaufdauer der Programme aus zeitlich einander folgenden Befehlen eine kritische Grenze setzt.
V/eitere Ausgestaltungen der programmgesteuerten Einrichtung nach der Erfindung sind in den übrigen Unteransprüchen gekenn-
BO98BO-/D6 U
- 5 -R.Boute - 1
zeichnet und werden nachfolgend im Zusammenhang mit der Erläuterung eines Ausführungsbeispiels anhand der Zeichnungen beschrieben.
Pig.l zeigt ein Blockschaltbild einer programmgesteuerten Einrichtung nach der Erfindung.
Pig.2 zeigt ein Flußdiagramm zur Erläuterung der Punktion der Einrichtung nach Pig.l.
Die programmierbare. Steuerung einer programmgesteuerten Einrichtung nach Pig.l umfaßt einen Speicher PR und eine Steuereinheit CU. Der Speicher PR, ist ein programmierbarer Nurlese-Speicher mit einem Adresseneingang I3 Adressenausgängen 3 j 1J und 5 und einem Datenausgang 2.
Die Steuereinheit CU umfaßt eine Steuerschaltung mit logischen Schaltkreisen, eine Eingangsschaltung (oder "Datenwähler") DS mit einem Adresseneingang al, mit Eingärigen Il bis 111 und mit einem Ausgang DSO, und eine Ausgangsschaltung mit einem Decoder DC und Ausgangsregistern OLl und 0L2, deren letzteres Ausgänge 01 bis O1J hat. Die Eingangsschaltung DS verbindet einen Eingang Ii (i=l bis 11) mit ihrem Ausgang DSO, wenn die Adresse Ii ihrem Adresseneingang al zugeführt wird. Auf diese Art und Weise erscheint am Ausgang DSO der binäre Wert einer Eingangsvariablen Xi (i=l bis 9), die dem entsprechenden Eingang Ii (i=l bis 9) zugeführt wird, oder der binäre Wert einer Ausgangsvariablen Ui(i=3j Ό, die über eine Rückkopplungsleitung Pl oder F3 vom Ausgang Oi (i=l,3) zum Eingang 110 bzw. Ill zurückgekoppelt wird.
Der Decoder DC hat einen Einschalteingang E3, einen Adresseneingang a2 und mit den Schreibeingängen des Ausgangsregisters
09850/06 U j -/-
- 6 R.Boute - 1
OLl verbundene Ausgänge Wl bis W5. Die Decoderausgänge und die Ausgansregistereingänge haben hier nur ein gemeinsames Bezugszeichen. Der Decoder DC erregt einen Ausgang Wi (i=l bis 5)j wenn die entsprechende Adresse seinem Adresseneingang a2 zugeführt wird und wenn der Einschalteingang E3 erregt ist.
Das Ausgangsregister OLl hat einen mit einem Anschluß t des Adressenausgangs 5 des Speichers PR verbundenen Dateneingang a3, einen Taktimpulseingang cpl und Ausgänge Vl bis V5. Der Decoder DC und die Ausgangsregister OLl und 0L2 sind in der aus der-Zeichnung ersichtlichen Weise hintereinandergeschaltet. Beim Erscheinen eines Taktimpulses am Taktimpulseingang cpl speist das Ausgangsregister OLl den am Dateneingang a3 anstehenden binären Wert dem Ausgang Vi ein, wenn ein entsprechender Schreibeingang Wi erregt ist. Das Ausgangsregister 0L2 verbindet die Ausgänge Vi(i=l bis 4) des Ausgangsregisters OLl mit den entsprechenden Ausgängen 0i(i=l bis 4), wenn der Ausgang V5 eingeschaltet ist. Selbstverständlxch ist die Anzahl der Eingänge und Ausgänge nicht auf die. Werte 11 bzw. 4 beschränkt. Im allgemeinen wird es sich hier um höhere Vielfache von 2 handeln.
Wie oben erwähnt wird der binäre Wert der Eingangsvariablen Xl bis X9 auf die Eingänge Il bis 19 gegeben. Diese binären Werte entsprechen z.B. dem Schaltzustand von Kontakten. Die binären Werte der Ausgangsvariablen Ul bis U4 werden an den Ausgängen 01 bis 04 abgegriffen. Diese Werte entsprechen beispielsweise dem Erregungszustand der Magnetspulen einiger Relais, Motoranlasser, usw.
Die logischen Schaltungen umfassen Pufferspeicher Bl, B2 und B3j die beiden letzten haben Einschalteingänge E2 bzw. El,
609850/06U
COPY
ein Adressenregister AL, das einen Adresseneingang 6 und einen Taktimpulseingang cp2 hat, einen Taktimpulsgenerator CP, eine ODER-Schaltung OR und einen Inverter IN. Die Pufferspeicher Bl, B2 und B3 werden als Anpassung zwischen dem Speicher PR und den Ein- und Ausgangsschaltungen und.den logischen Schaltkreisen der Steuereinheit CU benutzt. Der Pufferspeicher Bl umfaßt Speicherstufen B/0 und Bzi, die die aus dem Speicher aufgelesenen binären Werte B/0=0 oder-1 bzw. die Adresse eines Eingangs Ii oder eines Ausgangs Oi übertragen können. Die. Pufferspeicher B2 und.B? können die Adressen von Programmbefehlen auf die die Ausgänge der Pufferspeicher B2 und B3 mit dem Eingang 6 des Adressenregisters AL verbindenden Adressensammelleitungen übertragen, was noch erläutert wird.
Der Ausgang der Speicherstufe B/0 ist einerseits mit dem Einschalteingang E3 des Decoders DC und andererseits mit einem der Eingänge der ODER-Schaltung 0R0 verbunden, deren anderer Eingang mit dem Ausgang DSO der Eingangsschaltung DS verbunden ist. Der Ausgang der ODER-Schaltung OR ist einerseits mit dem Einschalteingang El des Pufferspeichers B3 und andererseits über den Inverter IN mit dem Einschalteingang E2 des Pufferspeichers B2 verbunden. Der Ausgang der Speicherstufe Bzi ist über Adressensammelleitungen mit den Adresseneingängen al und a2 der Eingangsschaltung DS bzw. des Decoders DC verbunden.
Das Befehlsprogramm zur Berechnung der Werte der Ausgangsvariablen 01 bis 04 aus einer Gruppe von Werten der Eingangsvariablen Xi (die eine Anzahl rückgekoppelter Ausgangsvariable einschließen), ist ein BinärentScheidungsprogramm, dessen Aufbau in dem oben angegebene Artikel des BSTJ im Einzelnen erläutert ist. Ein solchee BinärentScheidungsprogramm besteht
60B8B0/06U ~'~
R.Boute - 1
aus einer Folge von Befehlen einheitlichen Typs, bei denen die Adresse jedes folgenden Befehls vom binären Wert einer gelesenen Variablen abhängt. Als Ergebnis obiger aufeinanderfolgender Prüfung jeder Eingangsvariablen erhält man den binären Wert jeder Ausgangsvariablen. Das vorstehend erläuterte Prinzip wird noch verständlicher anhand des nachstehenden Beispiels, bei dem neun Eingangsvariable Xl bis X9 den Eingängen Il bis 19 zugeführt werden, und bei dem zwei Ausgänge 01 und 03 (aus einer Gesamtheit von vier Ausgängen 01 bis 0*1) auf die Eingänge 110 bzw. Ill zurückgekoppelt sind.
Es wird vorausgesetzt, daß die Eingangsvariablen Xl bis X9, die Ausgänge Vl bis V*i und die Ausgangsvariablen 01 bis Ok durch folgende Bool'sche Ausdrücke verknüpft sind:
Vl = 01 = X1X3 + XlOl
V2 = 02 =,X2X4
V3 = 03 = X6(X4X5 + X7X8 + X8X9)
Vi = 04 = X4O3,
wobei man die Rückkopplung der Ausgangsvariablen 01 und 03 an ihrem Auftreten in den Ausdrücken für Vl bzw. V4 erkennt.
Die Punktion der Einrichtung wird anhand des Flußdiagramms nach Fig.2 erläutert, das einen Entscheidungsbaum beinhaltet. Darin wird der Binärwert jeder Eingangsvariablen geprüft und der nächste Befehl hängt jeweils vom Binärwert der geprüften Variablen ab. Zunächst wird der Binärwert der Eingangsvariablen Xl geprüft (dies wird nachfolgend kurz als Wert von Xl bezeichnet). Wenn Xl = 0, dann wird Vl = 0. Wenn Xl = 1, dann muß X3 geprüft werden. Wenn X3 = 0, dann muß Öl = Vl geprüft Werden. Wenn X3 = 1, dann Vl = 1, usw. Nachdem der Wert der
609860/0614-
R.Boute - 1
Ausgangsvariablen Vl feststeht, wird X4 in der vorstehend erläuterten Weise geprüft. Am Ende des Programmdurchlaufs sind auf diese Art die Werte aller Ausgangsvariablen Vl bis V5 ermittelt. Die,Variable V5 ist eine fiktive Variable, deren Bedeutung später noch erläutert wird.
Das entsprechende Befehlsprogramm, das zur Ermittlung der Ausgangsvariablen Vl bis V5 dient, ist in der Tabelle 1 aufgelistet. Dieses Programm umfaßt eine logische Folge von Verzweigungs- (B) und Ausgabebefehlen (0). Ein Verzweigungsbefehl wird solange benutzt, wie es erforderlich ist, eine Eingangsvariable zu prüfen, um den Wert einer Ausgangsvariablen zu erhalten. Ein Ausgabebefehl wird benutzt, wenn der Binärwert einer Ausgangsvariablen eine logische Folge der bereits ermittelten Werte ist.
Jeder Verzweigungsbefehl B umfaßt einen Operationsteil B/0=0, die Adresse eines Eingangs und die Adressen zweier Befehle, von denen einer als nächster Befehl gewählt wird. Die vierte und fünfte Spalte der Tabelle 1 enthalten die Adressen der nächsten Befehle für den Fall, daß die geprüfte Variable den Wert 0 bzw. 1 hat.
Es ist nicht unbedingt erforderlich, in jedem Verzweigungsbefehl zwei Adressen für nachfolgende Befehle anzugeben. Man könnte nämlich in jedem Verzweigungsbefehl nur eine Adresse für einen Folgebefehl angeben, der ausgeführt wird, wenn die geprüfte Variable einen bestimmten Wert, z.B. den Wert 1, hat. Die andere Adresse könnte man z.B. durch einen 1-Addierer bilden, der die Adresse des vorausgegangenen Befehls um 1 er hält, wenn die geprüfte Variable den anderen Wert, z.B. den Wert 0, hat. Solche Verzweigungsbefehle mit nur einer Ziel-
609850/0614
R.Boute - 1
Tabelle 1
Adresse des
Befehls
Verzweigungs
oder Ausgangs
befehl B/0
geprüfte
Variable
Adresse des
Folgebefehls
beim Wert 0
Adresse des
FoI gebefehl s
beim Wert 1
Wert der
Ausgangs
variablen
Al B X1 A2 A3
A2 0 V1 - A6 0
A3 B X3 AA A5
AA B V1 A2 A5
A5 0 VI - A6 1
A6 B XA A7 A8
A7 0 V2 - A9 0
A8 B X2 AIO
A9 0 VA ■ - AIA 0
AIO 0 V2 - A12 0
All 0 V2 - Al 2 , 1
Al 2 B V3 A9 A13
Al 3 0 VA - AiA 1
AiA B X6 Al 5 A16
A15 0 V3 - A22 0
A16 B XA A17 A18
A17 B X8 A15 A19
A18 B X5 A17 A20
A19 B X7 A21 A20
A20 0 V3 - A22 1
A21 B X9 A15 A20
A22 0 V5 - Al 1
609860/0614
adresse haben den Vorteil geringeren Speicherbedarfs pro Befehl, andererseits wird das Befehlaprogramm weniger flexibel bei Programmänderungen, die beim Hinzufügen neuer Eingangs- ^ und Ausgangsvariabler erforderlich sind.
Jeder Ausgabebefehl umfaßt einen Operationsteil B/O=l, die Adresse eines Ausgangs, den Binärwert der an diesem Ausgang abzugebenden Ausgangsvariablen und die Adresse eines nachfolgenden Befehls.
Der Befehl mit der· Adresse 1 ist ein Verzweigungsbefehl B und die Variable Xl wird geprüft. Wenn Xl=O, dann ist als nächstes der Befehl mit der Adresse A2 auszuführen. Dieser Befehl ist ein Ausgabebefehl. Der Wert dieser Ausgangsvariablen ist gemäß der fünften Spalte 0 und die nächste Befehlsadresse ist a6.. Wenn Xl=I, dann ist als nächstes der Befehl mit Adresse A3 auszuführen. Dies ist ein Verzweigungsbefehl. Wenn X3=0 oder 1, dann ist die nächste Befehlsadresse A4 bzw. A5. Der Befehl mit der Adresse A5 ist ein Ausgabebefehl, da jetzt der Wert 1 der Ausgangsvariablen Vl feststeht, und A6 ist die Adresse des nächsten Befehls. Dies wird fortgesetzt, bis alle Werte der Ausgangsvariablen ermittelt wurden, dann wird der Programmdurchlauf wiederholt.
Aus vorstehendem folgt, daß die minimale Anzahl der Programmschritte gleich der Anzahl der Eingangs- und Ausgangsvariablen ist. Ein ergänzender Befehl mit der Adresse A22 ist erforderlich, wenn ein zweites Ausgangsregister 0L2 benutzt wird, was später noch erläutert wird.
Der Punktiorisablauf in der programmierbaren Steuerung nach Pig.l läßt sich entsprechend folgendermaßen beschreiben: es wird vorausgesetzt, daß der Speicher PR zunächst mit der
609850/06U
- 12 R.Boute - 1
Adresse Al aufgerufen wird. Der entsprechende Befehl ist ein Verzweigungsbefehl mit B/0=0, der die Eingangsvariable Xl am Eingang Il prüft. Später wird noch erläutert, wie es dazu kommt, daß zunächst die Speicheradresse Al aufgerufen wird. Die Speicherstufen B/0 und Bzi übertragen den Wert B/0=0 und die Adresse des Eingangs II.
Wenn Xl=O, dann ist der Ausgang DSO der Eingangsschaltung DS auf dem Wert 0, weil der Wert von Xl, wie oben erläutert, vom Eingang Il unmittelbar auf den Ausgang DSO gegeben wird. Da auch B/0=0, ist der Ausgang des Pufferspeichers B2 eingeschaltet, während der Ausgang des Pufferspeichers B3 gesperrt ist. Der Pufferspeicher B2 überträgt die Befehlsadressen der vierten Spalte der Tabelle 1 (Wert der geprüften Variablen ist 0), also jetzt die Adresse A2S die am Adressenregistereingang 6 erscheint. Bei der Anstiegsflanke eines auftretenden Taktimpulses speist das Adressenregister AL die Adresse A2 in den Speichereingang 1 ein. Als Folge davon wird der Befehl mit der Adresse A2 gelesen. Dieser Befehl ist ein Ausgabebefehl mit B/0=l und liefert die'Ausgangsvariable Vl an den Ausgang 01. Die Speicherstufen B/0 und Bzi übertragen dabei den Binärwert B/0=l und die Adresse der Ausgangsvariablen Vl. Der Wert 1 dieser Ausgangsvariablen Vl erscheint am Ausgang t des Adressenausgangs 5 des Speichers und wird zum Dateneingang a3 des Ausgangsregisters OLl gegeben. Da jetzt B/0=ls werden der Pufferspeicher B3 und der Decoder DC eingeschaltet. Daraufhin erregt der Decoder DC seinen Ausgang Wl und am Eingang 6 des Adressenregisters AL erscheint die Adresse A6, da der Pufferspeicher B3 die Adressen der fünften Spalte der Tabelle 1 überträgt (wenn der Wert der geprüften Variablen 1 ist). Beim nächsten Taktimpuls liefert das Ausgangsregister OLl an seinem Ausgang Vl den Wert 0, und der Speicher PR wird mit der Adresse A6 des nächsten Befehls aufgerufen,der ein die Eingangsvariable X4 prüfender Verzweigungsbefehl ist.
60 9850/06 U -/-
R.Boute - 1
Danach wird der Befehl mit der Adresse A7 oderA8 ausgeführt, je nach dem, ob X 4 den Wert 0 oder 1 hat.
Wenn anfangs Xl=I, dann erscheint am Ausgang DSO eine 1 und nur der Pufferspeieher B3 wird eingeschaltet, dadurch erscheint die Adresse A3 am Eingang 6 des Adressenregisters AL. Beim Erscheinen des oben schon erwähnten ersten Taktimpulses würde dann der Speicher mit dieser Adresse A3 aufgerufen. Kurze Zeit dananch überträgt der Pufferspeicher folgende Information:
Tabelle 2
Pufferspeicher Information Bedeutung
B./0 0 Verzweigungsbefehl
Bzi Adresse 13 Prüfung von X3
B2 A4 )(hängt vom Wert
B3 A5 J [von X3 ab
Der Wert der Eingangsvariablen X3 erscheint also am Ausgang DSO der Eingangsschaltung DS und darm wird in Abhängigkeit vom Wert 0 oder 1 der Variablen X3 der Befehl mit der Adresse A4 bzw. A5 ausgeführt. Alle Befehle des Programms werden in der vorstehend erläuterten Weise nacheinander ausgeführt, bis die Werte aller Ausgangsvariablen am Ausgang des Ausgangsregisters OLl anstehen. Mit dem letzten Ausgabebefehl A22 wird der'Ausgang V5 des Ausgangsregisters OLl eingeschaltet. Beim nächsten Taktimpuls wird es dem Adressenregister AL ermöglicht, die Adresse Al in den Speicher PR einzugeben und die Werte der Ausgangsvariablen Vl bis V4 werden auf die entsprechenden Ausgänge 01 bis 04 des Ausgangsregisters 0L2 übertragen, das seinerseits durch die Ausgangsvariable V5 des Ausgangsregisters OLl eingeschaltet wurde.
609850/0614
R.Boute - 1
Die Verwendung eines zweiten Ausgangsregisters 0L2 ist nur dann erforderlich, wenn Zeitprobleme auftreten, wenn nämlich frühere Werte von Ausgangsvariablen zur Berechnung anderer Variablen benötigt werden und wenn diese Ausgangsvariablen innerhalb des gleichen Programmdurchlaufs bereits ihren Wert geändert haben. Dies wäre z.B. der Fall, wenn man bei obigen Verknüpfungen ergänzt X9=V1.
Man benötigt auch noch eine Anzahl Hilfsbefehle, die es z,B. ermöglichen, selbständig auf einen Befehl mit der Adresse Al zurückzuführen. Sonst kann es nämlich vorkommen, daß die Pufferspeicher B2 und B3 beim Start der Steuereinrichtung Adressen speichern, die in dem vorgesehenen Programm nicht auftreten, so daß die Steuereinrichtung ohne die Hilfsbefehle nicht zu einer der 22 Adressen Al bis A22 finden würde.
Das vorstehend erläuterte Prinzip läßt sich auch bei mehrwertigen Variablen, z.B. bei Variablen mit drei möglichen Werten, anwenden. In einem solchen Fall würden die Befehle drei mögliche Folgeadressen kennzeichnen, und die Auswahl hinge von dem ternären Wert der geprüften Variablen ab.
7 Patentansprüche
2 Blatt Zeichnungen, 2 Figuren
609850/0614

Claims (7)

  1. Pat entansprüche
    IJ Programmgesteuerte Einrichtung mit einem Speicher, in dem ein aus Befehlen bestehendes Programm gespeichert ist, mit einer Steuereinheit, die eine Eingangsschaltung mit-mehreren Eingängen aufweist, die mehrere Eingangsvariable empfangen, die ferner eine SteuerschaTfcung aufweist, die in der Lage ist, einen Befehl bezüglich der anstehenden Eingangsvariablen auszuführen und einen entsprechenden Wert für mehrere Ausgangsvariable zu ermitteln, und die eine Ausgangsschaltung mit mehreren Ausgängen aufweist, an denen die Ausgangsvariablen abgegriffen werden können, dadurqh gekennzeichnet,daß das Programm eine Gruppe Befehle einfacher Art enthält, die jeder eine Adresse (II) einer einzelnen, zu lesenden Eingangsvariablen (Xl) kennzeichnen, und daß die Steuerschaltung (B/0, OR, IN, B2, B3) so ausgebildet ist, daß sie bei diesen einfachen Befehlen vom Wert (0 bzw. 1) der gelesenen einzelnen Eingangsvariablen (Xl) die Adresse des als nachtes auszuführenden Befehls unter zumindest zwei Befehlen ableitet, der beim einen Wert (z.B.l) der Eingangsvariablen unmittelbar aus dem Ausgabebefehl für die entsprechende Ausgangsvariable besteht.
  2. 2. Programmgesteuerte Einrichtung nach Anspruch 1, dadurch gekennzeichnet,daß das Programm eine zweite Gruppe einfacher Befehle enthält, die jeder die Adresse einer auszugebenden Ausgangs-, variablen, deren Wert und eine Adresse des nächstfolgenden Befehls umfassen.
  3. 3. Programmgesteuerte Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Auswahl des nächstfolgenden Befehls unter den beiden möglichen folgenden Befehlen vom binären Wert der Eingangsvariablen abhängt, und daß jeder Befehl dieser Gruppe
    , die Adresse mindestens einen der beiden möglichen folgenden Befehle enthält.
    809850/06U ■ ./. "
    ORIGINAL ^SPECTED
    - 16 R.Boute - 1 ·
  4. 4. Programmgesteuerte Einrichtung nach Anspruch 3, dadurch gekennzeichnet, daß die Befehle dieser Gruppe die Adressen beider möglichen, folgenden Befehle enthalten.
  5. 5. Programmgesteuerte Einrichtung nach Anspruch 2, dadurch gekennzeichnet, daß die Befehle der ersten und zweiten Gruppe von Befehlen einen Operationsteil enthalten, der bei der ersten und zweiten Gruppe komplementäre Werte hat.
  6. 6. Programmgesteuerte Einrichtung nach Anspruch 3, dadurch gekennzeichnet, daß alle Befehle ausschließlich aus Verzweigungsbefehleri und Ausgabebefehlen bestehen, daß ein Taktgenerator vorgesehen ist, durch den jeweils nach Ausführung eines Befehls mit dem nächsten Taktimpuls die ausgewählte bzw. angezeigte nächste Adresse einem Leseeingang des Speichers (PR) zugeführt wird, und daß für die Befehlsausgabe zwei Pufferspeicher (B2, B3) für die möglichen Polgeadressen vorgesehen sind, von denen der eine direkt, der andere über einen Inverter (IN) durch das Ergebnis der Prüfung der einzelnen Eingangsvariablen gesteuert wird.
  7. 7. Programmgesteuerte Einrichtung nach Anspruch I3 dadurch gekennzeichnet, daß die Ausgangsschaltung ein erstes (OLl) und ein nachfolgendes zweites Ausgangsregister (0L2) enthält, daß das erste Ausgangsregister den binären Wert der bereits ermittelten Ausgangsvariablen während eines Programmzyklusses an seinen Ausgängen anzeigt und das zweite Ausgangsregister am Ende jedes Programmzyklusses einschaltet, wobei dann das zweite Ausgangsregister an seinen Ausgängen alle Ausgangs variablen anzeigt.
    609860/06U
DE19762612621 1975-04-01 1976-03-25 Programmgesteuerte einrichtung Withdrawn DE2612621A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NL7503820A NL7503820A (nl) 1975-04-01 1975-04-01 Programma-bestuurde inrichting.

Publications (1)

Publication Number Publication Date
DE2612621A1 true DE2612621A1 (de) 1976-12-09

Family

ID=19823473

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19762612621 Withdrawn DE2612621A1 (de) 1975-04-01 1976-03-25 Programmgesteuerte einrichtung

Country Status (10)

Country Link
US (1) US4393469A (de)
JP (1) JPS51135438A (de)
AU (1) AU1246676A (de)
BE (1) BE840275A (de)
BR (1) BR7601969A (de)
DE (1) DE2612621A1 (de)
ES (1) ES446547A1 (de)
GB (1) GB1500465A (de)
IT (1) IT1059251B (de)
NL (1) NL7503820A (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0006472A1 (de) * 1978-06-30 1980-01-09 International Business Machines Corporation Mikrosteuereinrichtung zur Steuerung der bidirektionalen Datenübertragung zwischen einer zentralen Steuereinheit und mehreren externen Einheiten
EP0006488A1 (de) * 1978-06-24 1980-01-09 Frankl & Kirchner GmbH. & Co. KG Fabrik für Elektromotoren und elektrische Apparate Verfahren zum Ausführen eines Adressen-Sprungbefehles bei einer speicherprogrammierten Folgesteuerung für Arbeitsmaschinen, insbesondere für Industrienähmaschinen, und Folgesteuerungs-Schaltanordnung zum Ausüben des Verfahrens

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02140804A (ja) * 1988-11-21 1990-05-30 Maikomu Kk プログラマブルロジック回路
US5274775A (en) * 1991-01-22 1993-12-28 The United States Of America As Represented By The Secretary Of The Navy Process control apparatus for executing program instructions
US7140003B2 (en) * 2003-02-14 2006-11-21 International Business Machines Corporation Method and system for specifying sets of instructions for selection by an instruction generator

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3651484A (en) * 1969-08-12 1972-03-21 Bailey Meter Co Multiple process control system
JPS5338392B2 (de) * 1971-11-30 1978-10-14
US3761882A (en) * 1971-12-01 1973-09-25 Struthers Dunn Process control computer
US3753243A (en) * 1972-04-20 1973-08-14 Digital Equipment Corp Programmable machine controller
GB1426748A (en) * 1973-06-05 1976-03-03 Burroughs Corp Small micro-programme data processing system employing multi- syllable micro instructions
US3900835A (en) * 1973-09-24 1975-08-19 Digital Equipment Corp Branching circuit for microprogram controlled central processor unit
US4101967A (en) * 1976-05-19 1978-07-18 Tendy Electronics Co. Single bit logic microprocessor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0006488A1 (de) * 1978-06-24 1980-01-09 Frankl & Kirchner GmbH. & Co. KG Fabrik für Elektromotoren und elektrische Apparate Verfahren zum Ausführen eines Adressen-Sprungbefehles bei einer speicherprogrammierten Folgesteuerung für Arbeitsmaschinen, insbesondere für Industrienähmaschinen, und Folgesteuerungs-Schaltanordnung zum Ausüben des Verfahrens
EP0006472A1 (de) * 1978-06-30 1980-01-09 International Business Machines Corporation Mikrosteuereinrichtung zur Steuerung der bidirektionalen Datenübertragung zwischen einer zentralen Steuereinheit und mehreren externen Einheiten

Also Published As

Publication number Publication date
NL7503820A (nl) 1976-10-05
JPS51135438A (en) 1976-11-24
GB1500465A (en) 1978-02-08
AU1246676A (en) 1977-10-06
IT1059251B (it) 1982-05-31
BE840275A (nl) 1976-10-01
US4393469A (en) 1983-07-12
ES446547A1 (es) 1977-06-16
BR7601969A (pt) 1976-10-05

Similar Documents

Publication Publication Date Title
DE2219918A1 (de) Programmierbares Steuergerät
DE1524239A1 (de) Verfahren zur Lokalisierung eines Fehlers in einer Anlage mit mindestens zwei parallel arbeitenden Rechengeraeten
DE2652706A1 (de) Numerisch gesteuerte produktionsmaschinen
DE2036729A1 (de) Digital Datenverarbeiter
DE2741886A1 (de) Datenuebertragungseinrichtung
DE1249926B (de) Einrichtung zum Umadressieren fehlerhafter Speicherstellen eines beliebig zuganglichen Hauptspeichers in einer Datenverarbeitungsanlage
DE1474062A1 (de) Datenverarbeitungsanlage
DE1269394B (de) Schaltungsanordnung zur Bestimmung des Vorrangsverhaeltnisses zwischen mehreren Eingangsgroessen fuer programmgesteuerte Datenverarbeitungssysteme
DE4426001A1 (de) Verfahren zur Überlastvermeidung bei einem Systemanlauf eines Mehrrechnersystems und Mehrrechnersystem dafür
DE1524111B2 (de) Elektronische Datenverarbeitungsanlage
DE2739525C2 (de) Rechner
DE2612621A1 (de) Programmgesteuerte einrichtung
DE4026581C2 (de)
DE2759120A1 (de) Prozessor fuer datenverarbeitungssysteme
DE2517525B2 (de) Verfahren und Signalisierungsidentifizierer zum Erkennen von Fernmelde-Signalisierungskriterien
DE1234054B (de) Byte-Umsetzer
DE1499286B2 (de) Datenbearbeitungsanlage
DE1806172A1 (de) Prioritaetsschaltung
DE2234982A1 (de) Expanderschaltung fuer ein programmierbares steuergeraet
DE19645057C2 (de) Vorrichtung zur Selektion von Adressenwörtern mittels Demultiplex-Decodierung
DE1296427B (de) Datenbearbeitungssystem
DE2639057A1 (de) Programmierbare folgesteuereinrichtung
DE3123379C2 (de)
DE2037506C3 (de) Programmierbare Datenverarbeitungsanlage mit einer steuerbaren Hauptsteuerung
DE1549582B1 (de) Anordnung zur bestimmung der niedrigstwertigen bit position

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee