DE2401645C2 - Device for delivering control signals to a circuit arrangement - Google Patents
Device for delivering control signals to a circuit arrangementInfo
- Publication number
- DE2401645C2 DE2401645C2 DE19742401645 DE2401645A DE2401645C2 DE 2401645 C2 DE2401645 C2 DE 2401645C2 DE 19742401645 DE19742401645 DE 19742401645 DE 2401645 A DE2401645 A DE 2401645A DE 2401645 C2 DE2401645 C2 DE 2401645C2
- Authority
- DE
- Germany
- Prior art keywords
- command
- memory
- binary
- variable
- accumulator
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—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/13—Plc programming
- G05B2219/13092—Speed up, evaluation of expressions between brackets
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Devices For Executing Special Programs (AREA)
- Programmable Controllers (AREA)
Description
Die Erfindung bezieht sich auf eine Vorrichtung zur Erzeugung und Abgabe von Steuersignalen an eine Schaltungsanordnung, wobei die Steuersignale durch Schaltfunktionen der Booleschen Algebra, die mindestens eine binäre Variable enthalten, bestimmt sind und in Abhängigkeit von den binären Werten der Variablen entweder eine binäre »0« oder »1« ergeben und wobei jede Schaltfunktion durch die Verarbeitung gespeicherter Befehle realisiert wird, die jeweils in der Reihenfolge der Bearbeitung in einen Befehlsdecoder eingegeben werden.The invention relates to a device for generating and outputting control signals to a Circuit arrangement, the control signals by switching functions of Boolean algebra, the at least contain a binary variable, are determined and dependent on the binary values of the variables result in either a binary “0” or “1” and each switching function being stored by the processing Commands is implemented, each entered in the order of processing in a command decoder will.
Derartige Vorrichtungen sind als programmierbare Universalsteuersysteme bekannt (Brown Boveri Mitteilungen, April/Mai 1966, Seiten 365 - 371: Das Zentras — ein programmierbares Universalsteuersystem). Bei diesem Steuersystem werden Befehle, die sich auf die Verknüpfung logischer Variabler beziehen, in einen Speicher eingegeben, aus dem sie nach einer durch ein Programm festgelegten Reihenfolge ausgelesen werden. Es handelt sich um Dreiadreßbefehie, wobei zwei Adressen jeweils die Speicherplätze zweier Oper an ten und die dritte Adresse einen Speicherplatz angeben, zu dem das Ergebnis nach Ausführung des Befehls übertragen wird. In der Grundausführung des bekannten Universalsteuersystems stehen vier Befehle: Disjunktion, binäre Addition, bedingter Sprung und Repetition zur Verfügung. Es können Programme für Schaltfunktionen, die sich mittels Gleichungen der Booleschen Algebra ausdrücken lassen, verarbeitet werden. Das Ergebnis der Verarbeitung einer solchen Schaltfunktion, eine binäre »0« oder »1«, wird einer zu steuernden Anordnung zugeführtSuch devices are known as programmable universal control systems (Brown Boveri Mitteilungen, April / May 1966, pages 365 - 371: Das Zentras - a programmable universal control system). In this control system, commands that relate to the Relate linkage of logical variables, entered into a memory, from which they after a through a The sequence specified in the program can be read out. These are three-address commands, where two addresses are the storage locations of two opera an th and the third address specifies a memory location to which the result after execution of the command is transmitted. In the basic version of the well-known universal control system there are four commands: disjunction, binary addition, conditional jump and repetition are available. There can be programs for Switching functions that can be expressed using equations of Boolean algebra are processed will. The result of processing such a switching function, a binary "0" or "1", becomes one controlling arrangement supplied
Da die bekannte Anordnung keine Befehle zur konjunktiven Verknüpfung von Variablen verarbeiten kann, müssen die in der Regel konjunktive und disjunktive Verknüpfungen von Variablen beinhaltenden Schaltfunktionen zuerst in eine für die Aufstellung von Befehlen geeignete Form mit Hilfe des Theorems von Shannon-De-Morgen umgewandelt werden. JeSince the known arrangement does not process commands for conjunctive linking of variables can, must contain the usually conjunctive and disjunctive combinations of variables Switching functions first in a form suitable for the setting up of commands with the help of the theorem to be converted by Shannon-De-Morgen. Ever
ei miteinander sw verknöpfende Variable benötigen einen Befehl, dessen Ergebnis in einen Zwischenspeicher eingegeben werden muß. Bei der Weiterverarbeitung dieses Ergebnisses, beispielsweise durch Verknüpfung mit einer anderen Variablen oder einem anderen Ergebnis, ist ein weiterer Befehl notwendig. Bei der Programmierung, d, h. der Aufstellung der Befehlsfolge, muß Rücksicht auf den Aufbau der Schaltfunktion genommen werden. Wenn beispielsweise die Schaltfunktion Klammern enthält, muß die Verarbeitung der Schaltfunktion mit den in der Klammer stehenden Variablen beginnen. Bei ineinander verschachtelten Klammsrausdrücken ist deshalb eine beträchtliche Arbeit bei der Aufstellung der für die Verarbeitung in dem Steuersystem geeigneten Reihenfolge der Befehle zu leisten. Außerdem erfordern nachträgliche Erweiterungen der Schaltfunktion, insbesondere beim Hinzufügen von Variablen in verschachtelten Klammern, einen großen Alipassungsaufwand.ei require variables that are linked to each other an instruction, the result of which must be entered in a buffer. During further processing this result, for example by linking with a different variable or a different result, another command is necessary. In the Programming, i.e. the listing of the command sequence, the structure of the switching function must be taken into account. For example, if the switching function Contains brackets, the processing of the switching function must be carried out with the ones in brackets Variables begin. In the case of nested parentheses, there is therefore a considerable one Work on establishing the appropriate order of commands for processing in the control system afford to. In addition, subsequent expansions of the switching function require, especially when adding of variables in nested brackets, a lot of effort to align.
Der Erfindung liegt daher die Aufgabe zugrunde, eine Vorrichtung der eingangs erwähnten Gattung derart weiterzuentwickeln. daß sie einfach und schnell Befehlsfoigen für Schaltfunktionen verarbeiten kann, deren Befehle in der durch die Schreibweise der Schaltfunktion gegebenen Reihenfolge und Verknüpfung der Variablen nacheinander aufgelistet sind.The invention is therefore based on the object of a To further develop the device of the type mentioned above. that they are easy and quick Can process command forms for switching functions, their commands in the order and link given by the notation of the switching function the variables are listed one after the other.
Die Aufgabe wird erfindungsgemäß durch die im Anspruch 1 beschriebenen Merkmale gelöst.The object is achieved according to the invention by the features described in claim 1.
Mit dieser Anordnung lassen sich Befehle verarbeiten, die sich auf ein Einlesen von Variablen, auf eine UND-Verknüpfung, auf eine ODER-Verknüpfung, auf offene oder geschlossene Klammern und auf die Anzeige des Beginns einer weiteren Schaltfunktion beziehen. Diese Befehle reichen für die Berechnung des Ergebnisses einer Schaltfunktion aus. Die Reihenfolge der Befehle kann mit der links in der Booleschen Schreibweise der Schaltfunktion stehenden Variablen beginnen. Hieran schließen sich die weiteren Befehle entsprechend der in der Bolleschen Schreibweise gegebenen Reihenfolge an.With this arrangement, commands can be processed that relate to reading in variables, to a AND link to an OR link open or closed brackets and the display of the start of another switching function relate. These commands are sufficient for calculating the result of a switching function. The chronological order the commands can be processed with the variables on the left in the Boolean notation of the switching function kick off. This is followed by the other commands in accordance with the Bollean notation given order.
Für die Verarbeitung von Klammern und für die ODER-Verknüpfung genügt ein Befehl mit einem Operationsteil ohne Adreßteil. Befehle für das Einlesen von zu verarbeitenden Variablen benötigen nur einen Adreßteil. Ein wesentlicher Vorteil der oben erläuterten Vorrichtung ist somit darin zu sehen, daß sie Befehle schnell verarbeitet, die an Hand von in Boolescher Schreibweise niedergelegten Verknüpfungen ohne vorherige Umformung oder Änderung der Reihenfolge aufgestellt sind. Damit lassen sich auch noch nachträglich in die Schaltfunktion aufgenommene Variable im Programm mit geringem Aufwand berücksichtigen. Im Gegensatz zu der bekannten Anordnung ist eine Zuordnung von Ergebniszwischenspeichern und deren wiederholte Abfrage nicht notwendig. Die Programmierung wird deshalb erleichtertA command with an operation part without an address part is sufficient for processing brackets and for the OR link. Commands for reading in variables to be processed only require an address part. An essential advantage of the device explained above is therefore to be seen in the fact that it processes commands quickly which are set up on the basis of links laid down in Boolean notation without prior reshaping or changing the order. This means that variables that are subsequently included in the switching function can also be taken into account in the program with little effort. In contrast to the known arrangement, an allocation of result buffers and their repeated interrogation are not necessary. Programming is therefore made easier
Bei einer zweckmäßigen Ausführungsform ist vorgesehen, daß die Befehle in einem programmierbaren festwertspeicher speicherbar und in der von einem Befehlszlbltr vorgegebenen Reihenfolge einem Zwischenspeicher zuführbar sind, dem eine BefehlsdekodiertchJÜtung und eine Ädrestenansteuerschaltung ntCBMSchtlttt ist, und dafl der Ein-Bit-Akkumulator, der BüvBlt-Spefcher und der Zahler über ein der Befthlldekodlirtcludtung nichfeschaltetes VerknüfptfflfMehftltwtrk tpiieuerbar rind,-dessen Eingange mit dem Hn-Blt-Alkuimilttor, dem Eln-Bit-Speicher und dem Zthler sowie der Adressentnsteuerschaltung verbunden sind, die an eine Eingabe/Ausgabe^Sammelleitung angeschlossen ist, die mit Eingabe- und Ausgabespeichern in Verbindung steht, die ober die Adressenansteuerschaltung aufrufbar sind. Mit dieser einfach aufgebauten Anordnung lassen sich aufwendige, den jeweiligen Steuerungsaufgaben speziell angepaßte Schaltungen ersetzen. Die Befehle werden in den Festwertspeicher eingegeben, so daß sie vor störenden Veränderungen geschützt sind. Die Bedingungen für ίο eine Steuerungsaufgabe werden in Form von Schaltfunktionen der Booleschen Algebra aufgestellt und in eine Befehlsliste umgewandelt, die für den Festwertspeicher bestimmt istIn an expedient embodiment it is provided that the commands in a programmable Read-only memory can be stored and a buffer memory in the order specified by a command counter can be fed to the command decoding control and a branch driver circuit ntCBMSchtlttt, and that the one-bit accumulator, the BüvBlt-Spefcher and the payer over one of the Befthlldekodlirtcludnung unswitched shortcutfflfMehftltwtrk tpiieuerbar beef, -whose entrances with the Hn-Blt-Alkuimilttor, the Eln-Bit-Speicher and the counter and the address control circuit are connected to an input / output ^ bus line is connected, which is connected to input and output memories, which are above the Address control circuit can be called. With this With a simple structure, complex arrangements can be specially adapted to the respective control tasks Replace circuits. The commands are entered into the read-only memory so that they are before disruptive Changes are protected. The conditions for a control task are in the form of switching functions based on Boolean algebra and converted into a command list for the read-only memory is determined
Vorzugsweise wird als Verknüpfungsschaltwerk und als Befehlsdekodierschaltung ein Festwertspeicher verwendet Diese Anordnung bringt eine weitere Vereinfachung des Aufbaus.Is preferably used as a logic switch and a read-only memory is used as the instruction decoding circuit. This arrangement brings a further one Simplification of the structure.
Bei einer zweckmäßigen Ausführungsform sind zwei Befehle in einem Befehlswort enthalten, wobei nur ein Befehl eine Adresse enthält Hiermit kann der Speicherbedarf für Befehle verkleinert *verden.In an expedient embodiment, two commands are contained in one command word, with only one Command contains an address This allows the memory requirement for commands to be reduced.
Die Erfindung wird im folgenden an Hand eines Ausführungsbeispieis näher erläutert Es zeigtThe invention is explained in more detail below with reference to an exemplary embodiment
Fig. 1 ein Blockschaltbild einer Vorrichtung zur Abgabe von Steuersignalen,1 shows a block diagram of a device for emitting control signals,
F i g. 2 ein Diagramm der von den binären Werten der Variablen und den Befehlen abhängigen Steuermaßnahmen. F i g. 2 is a diagram of the binary values of the Variables and control measures dependent on the commands.
Bei der Analyse einer Steuerungsaufgabe werden zu jeder Funktion die erforderlichen Bedingungen ermittelt, die in Form einer Booleschen Gleichung festgehalten werden. Derartige Funktionen können z. B. die Bedingungen des Ein- und Ausschaltens eines Motorschützes, eines magnetisch betätigbaren Ventils oder einer Anzeige sein. An Hand der einzelnen Funktionen werden Befehle erstellt, die sich auf Variable, ODER-Verknüpfung von Variablen, Klammern und neue Funktion beziehen, wobei das Befehlsformat einen Operationsteil und einen nicht in jedem FaU benutzten Adreßteil enthält, der sich nur auf eine Adresse bezieht Die einzelnen Befehle werden in Zellen eines programmierbaren Festwertspeichers eingegeben. In der Reihenfolge der Funktionen und der darin enthaltenen Ausdrücke stehen die Befehle in den Zellen des Speichers. Die Befehle werden durch Adressierung der Speicherzellen ausgelesen, wobei nach der Verarbeitung eines Befehls jeweils die Speicheradresse um eins erhöht wird Ein Befehlswort kann auch Doppelbefehle umfassen, wobei der eine Teil sich auf eine Abfrage so einer Variablen mit zugehöriger Adresse und der andere Teil sich auf eine Klammer oder eine ODER-Verknüpfung beziehtWhen analyzing a control task, the necessary conditions are determined for each function, which are recorded in the form of a Boolean equation. Such functions can e.g. B. the Conditions for switching a motor contactor on and off, a magnetically actuated valve or be an advertisement. On the basis of the individual functions, commands are created that relate to variables, OR links of variables, parentheses and new functions, where the command format is a Operation part and one not used in every FaU Contains address part that relates only to one address. The individual commands are stored in cells of a programmable read-only memory. In the order of the functions and those in them The expressions contained in it contain the commands in the cells of the memory. The commands are made by addressing of the memory cells are read out, the memory address being changed after each command has been processed one is incremented A command word can also include double commands, one part relating to a query such a variable with the associated address and the other part on a bracket or an OR link relates
Die Verarbeitung von Befehlen umfaßt die Adressierung derjenigen Zelle, in der der nächste Befehl in der von der Schaltfunktion vorgegebenen Reihenfolge vorhanden ist In Fig.2 ist dies durch ein:n Block 1 »(Befehlsfolgezähler)+1« dargestellt Dar Inhalt der adressierten Zelle wird gemäß Block 2 in Fig.2 zwischengespeichert und dekodiert, was in F i g. 2 durch den Block 3 darges· .-Ut ist Es werden folgende Befehle unterschieden:The processing of commands includes addressing the cell in which the next command is in the The sequence specified by the switching function is present "(Command sequence counter) +1" is shown. The content of the addressed cell is shown in accordance with block 2 in FIG cached and decoded what is shown in FIG. 2 represented by block 3 ·.-Ut is The following commands differentiated:
Variable laden, Variable negiert laden, Abfrage auf bejahte Variable, Abfrage auf negier ie Variable, ODER-Verknüpfung, offene Klammer, geschlossene Klammer, Setzen eines Ergebnisspeichers undLoad variable, load variable negated, query for affirmed variable, query for negated variable, OR link, open brackets, closed brackets, setting a result memory and
negiertes Setzen «snes Elgebnisapeichers.
Wird festgestellt, daß ein Befehl: Variable laden, vorliegt, dann wird, wie im Block 4 in F i g. 2 gezeigt, dernegated setting «snes result tapeichers.
If it is determined that a command: load variable is present, then, as in block 4 in FIG. 2 shown the
unter der Variablenadresse gespeicherte Wert in einen Akkumulator übertragen, und in einen Ein-Bit-Speicher eine1 logische »0« sowie in einen Zahler der Wert null eingegeben. Als nächstes wird gemäß Block 5 der Inhalt des Ein-Bit-Akkumulators geprüft. Enthält der Akkumulator eine logische »1«. dann schließt sich die Maßnahme gemäß Block t an. Besteht der Inhalt des Akkumulators aus einer logischen »0«, so wird eine logische »1« in den Speicher eingegeben, bevor auf die Maßnahme gemäß Block 1 Übergegangen wird.Transfer the value stored under the variable address to an accumulator, and enter a 1 logical "0" into a one-bit memory and the value zero into a counter. Next, according to block 5, the content of the one-bit accumulator is checked. If the accumulator contains a logical "1". then the measure according to block t follows. If the content of the accumulator consists of a logical “0”, a logical “1” is entered into the memory before the measure according to block 1 is passed on.
Wird der Befehl »Variable negiert laden« dekodiert, dann wird gemäß Block 6 in Fig.2, der unter der Variablenadresse gespeicherte Wert negiert dem Akkumulator zugeführt und eine logische »0« in den Speicher sowie eine null in den Zähler eingegeben. Auf die Maßnahmen nach Block 6 folgen die Maßnahmen des Blocks 5, der oben bereits beschrieben wurde.If the command "load variable negated" is decoded, according to block 6 in FIG Variable address stored value negates fed to the accumulator and a logical "0" in the Memory plus a zero entered in the counter. The measures in block 6 are followed by the measures of block 5, which has already been described above.
Falls der Befehl: »Abfrage bejahte Variable« ermittelt wird, findet eine Prüfung des Inhalts des Speichers statt, wie in Fig.2 im Block 7 dargestellt ist, ist im Speicher eine lügiSCiic »in VOriiäfiucfi, uäni'i wcructi anschließend die Maßnahmen des Blocks 1 ausgeführt. Enthält der Speicher jedoch eine logische »0«, so wird der Wert der Variablen dem Akkumulator zugeführt und im Anschluß daran zu den Maßnahmen des Blocks S übergegangen.If the command: »query affirmed variable« is determined, the content of the memory is checked, As shown in Fig. 2 in block 7, there is a lying in memory in VOriiäfiucfi, uäni'i wcructi subsequently the measures of block 1 carried out. However, if the memory contains a logical "0", the value of the Variables supplied to the accumulator and then passed to the measures of block S.
Ergibt die Dekodierung den Befehl »Abfrage negierte Variable«, dann folglt die bereits in Verbindung mit dem Block 7 erläuterte Abfrage des Inhalts des Speichers gemäß einem Block 8, wobei im Unterschied zum Block 7 der negierte Wert der Variablen in den Akkumulator eingegeben wird. Es folgen dann die im Block 5 erläuterten Maßnahmen.If the decoding results in the command »Query negated variable«, then it already follows in connection with the Block 7 explained interrogation of the contents of the memory according to a block 8, in which, in contrast to block 7 the negated value of the variable is entered into the accumulator. This is followed by those in block 5 explained measures.
Wird ein Befehl, der sich auf eine ODER-Verknüpfung besieht, festgestellt, so schließt sich die Abfrage des Zählerinhalts an, wie im Block 9 der Fig.2 gezeigt ist. Wenn der Zählerinhalt von null verschieden ist, wird wieder auf die Maßnahmen des Blocks 1 übergegangen. Im Falle des Zählerinhalts erfolgt gemäß Block 10 eine Prüfung des Akkumulatorinhalts. Enthält der Akkumulator eine logische »0«, dann wird in den Speicher eine logische »0« und in den Akkumulator eine logische »1« eingegeben, bevor sich die Maßnahmen des Blocks 1 anschließen. Ist im Akkumulator jedoch eine logische »1« enthalten, so wird dem Speicher eine logische »1« zugeführt und anschließend gemäß Block 1 verfahren.If a command that refers to an OR link is detected, the query of the closes Counter content, as shown in block 9 of Figure 2. If the counter content differs from zero, the measures of block 1 are returned to. In the case of the contents of the counter, the contents of the accumulator are checked in accordance with block 10. Contains the accumulator a logical "0", then a logical "0" in the memory and a logical "1" in the accumulator entered before the measures of block 1 follow. However, it is a logical one in the accumulator Contain "1", then a logical "1" is fed to the memory and then proceeded according to block 1.
Ergibt die Dekodierung, daß eine offene Klammer gegeben ist, dann folgt gemäß Block 11 die Abfrage des Inhalts des Speichers. Bei einer logischen »1« im Speicher tritt eine Erhöhung des Standes des Zählers um eine Eins ein, was mit dem Block 12 bezeichnet ist Herrscht im Speicher eine logische »0«, so wird der Inhalt des Akkumulators gemäß Block 13 geprüft Enthält der Akkumulator eine logische »0«, dann wird eine logische »1«in den Speicher eingegeben, bevor sich die Maßnahmen des Blocks 1 anschiießea Bei einer logischen »1« im Akkumulator wird dem Speicher eine logische »0« zugeführt und danach auf den Block 1 übergegangen.If the decoding shows that there is an open bracket, the query of the follows according to block 11 Contents of the memory. If there is a logical "1" in the memory, the counter status increases around a one, which is denoted by block 12. If there is a logical "0" in the memory, then the Contents of the accumulator checked according to block 13. If the accumulator contains a logical "0", then a logical "1" is entered into memory before going the measures of block 1 are followed by a. If there is a logical "1" in the accumulator, a logical “0” and then passed to block 1.
Wenn eine geschlossene Klammer festgestellt wird, so folgt gemäß Block 15 eine Prüfung des Inhalts des Speichers. Bei einr logischen »0« im Speicher schließt sich der Block 1 an. Herrscht im Speicher eine logische »1«, dann folgt ein Block 16, der die Abfrage des Zählers beinhaltet Ein von null verschiedener Zählerinhalt führt zu einer Verminderung des Inhalts um den Wert Eins sowie anschließend zum Obergang auf den Block 1. Ist der Zählerinhalt null, dann wird die Maßnahme des Blocks 13 ausgeführtIf a closed bracket is found, the content of the is checked according to block 15 Memory. If there is a logical "0" in the memory, block 1 follows. There is a logical one in the memory "1", then a block 16 follows, which contains the interrogation of the counter. A counter content different from zero follows to a reduction of the content by the value one and then to the transition to block 1. Actual the counter content is zero, then the action of block 13 is carried out
Sind alle Zeichen einer Funktion verarbeitet, so wird, bevor eine neue Funktion begonnen wird, der Inhalt des Akkumulators durch die Befehle Setzen bzw. negiertes Setzen ausgegeben. Bei Entschlüsselung dieser Befehle im Schritt 3 wird der Akkumulatorinhalt in wahrer oder negierter Form in einen Ausgabespeicher eingegeben. Danach wird auf die Maßnahme des Blocks 1 übergegangen.If all characters of a function have been processed, then before a new function is started, the contents of the accumulator with the commands set or negated Put issued. When these instructions are decrypted in step 3, the accumulator contents become true or negated form entered into an output memory. Then the measure of block 1 passed over.
In einen programmierbaren Festwertspeicher 21 sind Befehle in einer durch die Funktionen mit ihren Ausdrücken gegebenen Reihenfolge gespeichert Die einzelnen Zellen, in denen ein Befehl gespeichert ist, sind durch einen Befehlsfolgezahler 23 adressierbar, dessen Inhalt nach der Ausführung eines Befehls jeweils um eines erhöht wird. Beim Auslesen des Speichers 21 wird der Inhalt einer Zelle in einen Zwischenspeicher 24 eingegeben, über den eine Trennung zwischen dem Befehlsteil und dem Adreßteil eines Befehlswortes vorgenommen wird. Der Befehlsteil wird einer Befehlsdekodierschaltung 25 zugeführt, während der Adreßteil in einer Adressenansieuerschaiiung 5ö dekodiert wird, die mit einem Eingabe/Ausgabe- Bus 22 verbunden ist! der Daten an die Adressenansteuerschaltung 30 abgibt oder von ihr Daten zugeführt bekommt. An den Bus 22 sind Eingabekarten 31 und Ausgabespeicher 32 angeschlossen. Während die Werte der Variablen, z. B. von Kontaktstellungen in einem zu steuernden Prozeß, zunächst zu den Eingabekarten 31 gelangen, werden die den einzelnen Funktionen entsprechenden Werte in die Ausgabc*peicher 32 eingegeben und steuern von dort aus den Prozeß. Über nicht näher bezeichnete Aufrufsteuerleitungen können Datenübertragungen von den Eingabekarten 31 und Ausgabespeichern 32 über den Bus 22 von und zu der Adressenansteuerschaltung 30 eingeleitet werden. Die Eingabekarten 31 ermöglichen die Pegelanpassung und Adressierung von Eingangsvariablen.In a programmable read-only memory 21 are commands in one through the functions with their Expressions are saved in the given order The individual cells in which a command is saved are addressable by an instruction sequence counter 23, the content of which after the execution of an instruction is increased by one. When the memory 21 is read out, the content of a cell is stored in a buffer memory 24 entered, through which a separation between the command part and the address part of a command word is made. The command part is fed to a command decoding circuit 25, while the address part is decoded in an address code 5ö, which is connected to an input / output bus 22! which outputs data to the address control circuit 30 or receives data from it. Input cards 31 and output memories 32 are connected to the bus 22 connected. While the values of the variables, e.g. B. of contact positions in a process to be controlled, first arrive at the input cards 31, the values corresponding to the individual functions are entered in the Output memory 32 entered and control the process from there. About unspecified Call control lines can transmit data from the input cards 31 and output memories 32 via the bus 22 from and to the address control circuit 30 can be initiated. The input cards 31 enable the level adjustment and addressing of input variables.
Mit den Ausgangssignalen der Befehlsdekodierschaltung 25 wird ein Verknüpfungsschaltwerk 26 beaufschlagt, von dem ein Ein-Bit-Akkumulator 27, ein Ein-Bit-Speicher 28 und ein Zähler 29 gesteuert wird. Die Ausgänge des Akkumulators 27, des Speichers 28 und des 7Shlers 29 sind an weitere Eingänge des Vefkiiupiungsschaltwerks 26 gelegt das über eine weitere Leitung 33 mit einem Ausgang der Adressensteuerschaltung 30 verbunden ist Die Adressenansteuerschaltung 30 ist ferner über eine Leitung 34 an einen Ausgang der Befehlsdekodierschaltung 25 angeschlossen. Der Ausgang des Akkumulators steht mit einem Eingang der Adressenansteuerschaltung 30 in Verbindung. Ein Taktgenerator 20 steuert den Ablauf der Vorgänge in und zwischen den Einheiten 21 bis 3ZThe output signals of the command decoding circuit 25 are applied to a logic circuit 26, by which a one-bit accumulator 27, a one-bit memory 28 and a counter 29 are controlled. The outputs of the accumulator 27, the memory 28 and the 7Shler 29 are connected to further inputs of the Vefkiiupiungsschaltwerks 26 placed the over a further line 33 is connected to an output of the address control circuit 30. The address control circuit 30 is also connected to an output of the command decoding circuit 25 via a line 34. The output of the accumulator is connected to an input of the address control circuit 30. A clock generator 20 controls the sequence of processes in and between the units 21 to 3Z
Das Verknüpfungsschaltwerk 26 stellt einen Zuordner dar, der ein Festwertspeicher sein kann. Soll z. B. eine Schaltfunktion der folgenden Form:The logic circuit 26 represents an allocator which can be a read-only memory. Should z. B. a switching function of the following form:
a+b c[ad+dc\f+g-(h + i)k]m+s-t)u+m>a + b c [ad + dc \ f + g- (h + i) k] m + s-t) u + m>
verarbeitet werden, wobei a, b,cd, f, g, h, i, k, i, m, s, t, u, ν und w logische Variable sind, dann muß eineprocessed, where a, b, cd, f, g, h, i, k, i, m, s, t, u, ν and w are logical variables, then a
der die Befehle angeben, daß es sich um nicht negiertewhich the commands indicate that it was not negated
beziehenden Befehlen, die einen Adreßteil enthalten, stehen in der durch die Funktion vorgegebenenreferring commands that contain an address part, are in the range specified by the function
Klammern.Brackets.
Stellen eine Variable zu finden ist. Jedem Kartenplatz und jedem Bit auf dieser Karte ist eindeutig eine durch die Verarbeitung gegebene Adresse zugeordnet. Dk Kartenplatze können wahlweise mit Eingabekarten, Ausgabespeicherkarten, Zeitkarten und nullspannungssicheren Speichern bestockt werden.Make a variable can be found. Each card slot and each bit on this card is clearly one through assigned to the processing address. Dk card slots can optionally be equipped with input cards, Output memory cards, time cards and non-volatile memories can be stocked.
Durch den Befehlsfolgezahler 23 wird eine Adresse ausgewählt, unter der ein Befehl gespeichert ist, der sich auf dt*s Variable α bezieht Dieser Befehl wird in den Zwischenspeicher 24 eingegeben, durch den der Operationsteil des Befehls der Dekodierschaltung 25 zugeführt wird. Die Dekodierschaltung 25 bildet die zu dem Befehl »Variable laden« gehörigen Ausgangssignale, durch die aus dem vom Adreßteil des Befehl bestimmten Speicher eine »0« oder »I« in den Akkumulator 27 eingegeben und dem Speicher 28 eine logische »0« zugeführt sowie der Inhalt des Zählers 29 auf null gesetzt wird.The instruction sequence counter 23 selects an address at which an instruction relating to dt * s variable α is stored. The decoding circuit 25 forms the output signals belonging to the command “load variable”, by means of which a “0” or “I” is entered into the accumulator 27 from the memory determined by the address part of the command and a logic “0” is fed to the memory 28, as well as the Content of the counter 29 is set to zero.
Führt die Variable a den Wert »I«, dann wird der nächste Befehl ausgeführt, tier durch Erhöhung des Inhalts des Befehlsfolgezählers um eins adressiert wird. Wenn die Variable den Wert »0« hat, wird eine logische »1« in den Speicher 28 eingegeben, bevor der nächste Befehl im Speicher 21 durch eine Erhöhung des Befehlsfolgezählerinhalts um eins adressiert wird. Beim zweiten Befehl gemäß der oben beschriebenen Funktion handelt es sich um eine ODER-Verknüpfung. Da der Zählerinhalt null ist findet eine Prüfung des Inhalts des Akkumulators 27 statt Der Akkumulator 27 enthält zu diesem Zeitpunkt noch die Variable a. If the variable a has the value "I", the next instruction is executed, which is addressed by increasing the content of the instruction sequence counter by one. If the variable has the value "0", a logical "1" is entered into memory 28 before the next instruction in memory 21 is addressed by increasing the contents of the instruction sequence counter by one. The second command according to the function described above is an OR link. Since the counter content is zero, the content of the accumulator 27 is checked. At this point in time, the accumulator 27 still contains the variable a.
Wenn die Variable a den Wert »I« hat wird der Speicher 28 mit einer logischen »1« geladen. Anschließend findet eine Erhöhung des Befehlsfolgezählerinhalts statt Bei der Ausführung weiterer Befehle, die sich auf Variable beziehen, erfolgt dann immer die Ausführung der Schritte 7 oder 8 mit anschließender Verarbeitung eines neuen Befehle. Bei ODER-Verknüpfungen werden die Schritte 9 und 10 durchlaufen. Im Falle von offenen und geschlossenen Klammern wird, da der Speicher 28 eine logische »I« enthält immer nur der Zählerinhalt um eins erhöht oder vermindert bevor ein neuer Befehl verar. Jtet wird Auf diese Weise werden die zu einer Funktion gehörigen Befehle sehr schnell verarbeitet bis ein Befehl: Setzen bzw. Setzen negiert vorkommt Eine neue Funktion wird durch den Befehl »Variable laden« eingeleitetIf the variable a has the value “I”, the memory 28 is loaded with a logical “1”. The content of the instruction sequence counter is then incremented. When further instructions that relate to variables are executed, steps 7 or 8 are always executed with subsequent processing of a new instruction. Steps 9 and 10 are carried out for OR operations. In the case of open and closed brackets, since the memory 28 contains a logical "I", only the counter content is increased or decreased by one before a new instruction is processed. In this way, the commands belonging to a function are processed very quickly until a command: Set or Set occurs negated. A new function is initiated by the command »Load variable«
Hat die Variable a jedoch den Wert »0«, dann wird nach dem Schritt 10 eine logische »0« in den Speicher 28 und eine logische »1« in den Akkumulator eingegeben, bevor der nächste Befehl verarbeitet wird, der sich auf die Variable b bezieht Da a den Wert »0« hat wird nach dem Schritt 7 die Variable b aus dem Eingabespeicher in den Akkumulator gebracht Wenn b den Wert»1«führt wird aitschlieBend der nächste Befehl verarbeitet Hat die Variable b den Wert »0« dann wird vor der Ausführung des nächsten Befehls eine logische »1« in den Speicher 28 eingegeben.However, if the variable a has the value "0", then after step 10 a logical "0" is entered into the memory 28 and a logical "1" into the accumulator before the next instruction is processed, which refers to the variable b refers As a has the value "0" has the variable, after the step 7 b from the input memory placed in the accumulator If lead b the value "1" is aitschlieBend the next instruction has processed the variable b has the value "0" then before a logical "1" is entered into memory 28 when the next command is executed.
Gemäß der oben beschriebenen Funktion bezieht sich dieser Befehl auf die Variable c Nach der Einspeicherung des Befehls im Speicher 24 veranlaßt die Dekodierschaltung 25 Ober das Verknüpfungsschaltwerk 26 die Prüfung des Inhalts des Speichers 28.According to the function described above, this command refers to the variable c after storage the command in the memory 24 causes the decoding circuit 25 via the logic circuit 26 checking the contents of the memory 28.
Der FaH, daß die Variable a den Wert »1« hat wurde bereits oben erläutert Wenn bei einer Variablen a von »0« die Variable b den Wert »1« hat dann wird beim Einlesen der Variablen c, je nach deren Wert entweder bei einer logischen »1« der nächstfolgende Befehl sofort oder bei einer logischen »0« dieser Befehl erst ausgeführt nachdem eine logische »1« in den SpeicherThe saw that the variable a the value "1" has been explained above, if at a variable a of "0", the variable b has the value "1" then when reading the variable c, depending on the value of either a logical "1" the next command immediately or with a logical "0" this command is only executed after a logical "1" has entered the memory
28 eingegeben wurde.28 was entered.
Gemäß der oben beschriebenen Funktion betrifft der nächste auszuführende Befehl eine offene Klammer, s Nach der Dekodierung des Befehls in der Schaltung 25 wird über das Verknüpfungsschaltwerk festgestellt daß im Speicher 28 eine logische »I« vorhanden ist Das Verknüpfungsschaltwerk 28 fahrt deshalb dem ZählerAccording to the function described above, the next command to be executed concerns an open bracket, s After the command has been decoded in circuit 25, the logic switching mechanism determines that There is a logical "I" in the memory 28. The logic circuit 28 therefore drives the counter
29 den Wert eins zu. Nachdem der Inhalt des Zählers 29 ίο um eins erhöht worden ist stellt das Verknüpfungsschaltwerk 26 das Ende des Befehls fest Danach wird der nächste Befehl über eine Erhöhung des Inhalts des Befehlsfolgezählers 23 in den Zwischenspeicher 24 ausgelesen und in der Schaltung 25 dekodiert.29 the value one to. After the content of the counter 29 has been increased by one, the logic circuit 26 determines the end of the command the next command to increase the content of the Instruction sequence counter 23 is read out into buffer memory 24 and decoded in circuit 25.
is Aus der oben beschriebenen Funktion ist ersichtlich, daß der nächste Befehl die Variable a betrifft. Vor Ausführung dieses Befehls ist im Akkumulator 27 und im Speicher 28 noch das Ergebnis der Verarbeitung der vor der Klammer stehenden Ausdrücke vorhanden. Hattenis It can be seen from the function described above that the next instruction concerns the variable a. Before this command is executed, the result of the processing of the expressions in front of the brackets is still present in the accumulator 27 and in the memory 28. Had
_ L· I _ J xxt « „λ.. _i ι t: I-» -:_i_ : _ L · I _ J xxt «" λ .. _i ι t: I- »-: _ i_:
Akkumulator 2/ eine »0« und im Speicher 28 eine »1«. An diesem Ergebnis ändert sich bei der erneuten Verarbeitung der Variablen a nichts. Es wird nur zum nächsten Befehl übergegangen, der sich auf die Variable rf bezieht. Bei einem Wert von »0« der Variablen d tritt ebenfalls keine Änderung des Inhalts des Akkumulators 27 und des Speichers 28 auf. Auch ein Wert einer logischen »1« der Variablen d führt zu keiner Änderung dieses Ergebnisses.Accumulator 2 / a "0" and in memory 28 a "1". This result does not change when the variable a is processed again. It only moves on to the next command, which refers to the variable rf. With a value of “0” of the variable d , there is also no change in the contents of the accumulator 27 and the memory 28. Even a value of a logical "1" of the variable d does not change this result.
)o Der nächstfolgende Befehl betrifft eine ODER-Verknüpfung. Nach der Dekodierung dieses Befehls stellt das Verknüpfungsschaltwerk fest daß der Inhalt des Zählers 29 von null verschieden ist und gibt daher ein Signal für den Beginn des folgenden Befehls ab, in dem die Variable d erneut verarbeitet wird. Da zu diesem Zeitpunkt der Speicher 28 noch eine logische »I« enthält schließt sich sofort die Verarbeitung des nächsten Befehls an, der die Variable c betrifft Auch bei diesem Befehl ändern sich die Inhalte des Akkumulators 27 und des Speichers 28 nicht Es wird daher anschließend gemäß der oben beschriebenen Funktion ein Befehl verarbeitet der eine offene Klammer betrifft. Dies führt wie oben bereits dargelegt zu einer Erhöhung des Inhalts des Zählers 29.) o The next command concerns an OR link. After this command has been decoded, the logic circuit determines that the content of the counter 29 is different from zero and therefore emits a signal for the beginning of the following command in which the variable d is processed again. Since the memory 28 still contains a logical "I" at this point in time, the processing of the next command, which relates to the variable c , immediately follows. The contents of the accumulator 27 and the memory 28 do not change with this command either the function described above processes a command that affects an open bracket. As already explained above, this leads to an increase in the content of the counter 29.
5 Bei den folgenden Befehlen, die sich auf die Variable f, eine ODER-Verknüpfung und die Variable g beziehen, werden lediglich die Verfahrensschritte 1,2,3,7 bzw. 1, 2,3, 9 durchlaufen, bevor jeweils der nächste Befehl an der Reihe ist Bei Verarbeitung des auf die Variable g 5 For the following commands, which relate to the variable f, an OR link and the variable g , only process steps 1, 2, 3, 7 or 1, 2, 3, 9 are run before the next command It is the turn to process the variable g
so folgenden Befehls für eine offene Klammer wird durch die Ausführung der Verfahrensschritte 1,2,3 und 11 der Zählerinhalt um eins erhöht Im Zähler 29 ist nun eine Drei gespeichert Auch bei der Verarbeitung der sich auf die Variable h, eine ODER-Verknüpfung und die Variable / beziehenden Befehle bleibt der Inhalt des Akkumulators 27 und des Speichers 28 unabhängig vom Wert der Variablen gleich.so following command for an open bracket is increased by the execution of the method steps 1,2,3 and 11 of the counter content by one in the counter 29 is now a three-stored also in the processing of h is the variable, an OR operation and the The contents of the accumulator 27 and the memory 28 remain the same regardless of the value of the variable.
Auf die Variable /' folgt ein Befehl für eine geschlossene Klammer. Nach der Dekodierung dieses Befehls wird über das Verknüpfungsschaltwerk 26 der Speicher 28 abgefragt in dem sich zu diesem Zeitpunkt eine logische »1« befindet Anschließend wird durch das Verknüpfungsschahwerk 26 der Inhalt des Zählers 29 geprüft der nach der Verarbeitung dreier offenerThe variable / 'is followed by a command for a closed bracket. After decoding this Command is queried via the logic circuit 26 of the memory 28 in which at this point in time a logical “1” is located. The logic logic unit 26 then reads the contents of the counter 29 checked the after processing three more open
es Klammern von null verschieden ist Das Verknüpfungsschaltwerk 26 vermindert deshalb den Inhalt des Zählers 29 um eins und gibt anschließend die Verarbeitung des folgenden Befehls frei, der sich auf dieit is brackets other than zero. The logic circuit 26 therefore reduces the content of the Counter 29 by one and then enables the processing of the following command, which relates to the
Variable k bezieht. Bei Verarbeitung dieses Befehls laufen die Verfahrensschritte 1, 2, 3 und 7 ab. Anschließend wird erneut ein Befehl über eine offene Klammer verarbeitet, wobei der Zahlerstand um eins vermindert wird. Die Verarbeitung der Befehle Ober die Variablen /und m umfaßt wiederum die Ausführung der Verfahrensschr'.tte 1 bis 3 und 7. Bei der Verarbeitung des gemäß der oben beschriebenen Punktion folgenden Befehls, der tine ODER-Verknüpfung betrifft, stellt das Verknüpfungsschaitwerk 26 nach der Befehlsdekodierung fest, daß der Stand des Zahlers 29 von null verschieden ist. Daher wird sofort der nächste Befehl ausgeführt, in dem die Variable s in den Verfahrensschritten 1 bis 3 und 7 verarbeitet wird. Entsprechendes gilt auch für die Verarbeitung der Variablen t. Bei der Verarbeitung des sich auf eine geschlossene Klammer beziehenden, folgenden Befehls wird in den Verfahrensschritten I bis 3, 15, 16 und 17 der Zählerstand null erreicht. Dies hat jedoch bei der Verarbeitung desVariable k relates. When this command is processed, steps 1, 2, 3 and 7 are executed. Then another command is processed via an open bracket, whereby the payment status is reduced by one. The processing of the commands via the variables / and m again includes the execution of procedural steps 1 to 3 and 7. When processing the command following the above-described punctuation, which relates to an OR link, the logic circuit 26 is set after the Command decoding determines that the status of the payer 29 is different from zero. The next command is therefore immediately executed in which the variable s is processed in method steps 1 to 3 and 7. The same applies to the processing of the variable t. During the processing of the following command relating to closed brackets, the counter value zero is reached in method steps I to 3, 15, 16 and 17. However, this has to do with the processing of the
d bd b
"schfc'gends" Ssfshis,"schfc'gends" Ssfshis,
dsr die Variable u betrifft.dsr concerns the variable u .
keinen Einfluß auf die Verfahrensschritte 1 bis 3 und 7.no influence on process steps 1 to 3 and 7.
Gemäß der oben beschriebenen Funktion schließt sich ein Befehl an, in dem eine ODER-Verknüpfung verarbeitet werden soll. Bei der Ausführung des Verfahrensschritts 9 stellt das Verknüpfungsschaltwerk 26 fest, daß der Zählerstand des Zählers 29 null ist Das Verknüpfungsschaltwerk prüft deshalb anschließend den Akkumulatorinhalt, bei dem es sich um eine logische »0« handelt Es wird deshalb eine logische »1« in den Akkumulator 27 und eine logische »0« in den Speicher über das Verknüpfungsschaltwerk 26 eingegeben.According to the function described above, a command follows in which an OR link should be processed. When performing method step 9, the logic switching device is set 26 determines that the count of counter 29 is zero. The logic circuit therefore then checks the contents of the accumulator, which is a logical "0". Therefore, a logical "1" is stored in the Accumulator 27 and a logic “0” are entered into the memory via the logic circuit 26.
Wenn im nächsten Befehl die Variable ν verarbeitet wird, steht im Speicher 28 eine logische »0«. Daher wird die Variable ν von einer Eingabekarte über den Bus 22, die Adressenansteuerschaltung 30 und das Verknüpfungsschaltwerk 26 in den Akkumulator 27 eingegeben. Auf diesen Datentransport folgt die Prüfung des Inhalts des Akkumulators 27. Handelt es sich bei der Variablen u um eine logische »1«, dann folgt anschließend die Ausführung des Befehls, der sich auf die Variable w bezieht Wenn die Variable ν den Wert »0« hat wird dem Speicher 28 eine logische »1« zugeführt, bevor ein neuer Befehl verarbeitet wird, der die Variable w betrifft When the variable ν is processed in the next command, there is a logical “0” in memory 28. The variable ν is therefore input from an input card via the bus 22, the address control circuit 30 and the logic circuit 26 into the accumulator 27. This data transport is followed by the checking of the contents of the accumulator 27. If the variable u is a logical "1", the command that relates to the variable w is then executed. If the variable ν has the value "0" has a logic "1" is fed to the memory 28 before a new instruction is processed which concerns the variable w
Steht bei der Ausführung dieses Befehls eine logische »0« im Akkumulator 27, so wird sofort zum nächsten Befehl übergegangen. Befindet sich jedoch eine logische »1« im Akkumulator, dann laufen die Verfahrensschritte 1 bis 3,7 und 5 nacheinander ab. Der Wert der Variablen ty bestimmt dabei den Akkumulatorinhalt Der nächste Befehl bezieht sich auf das Setzen eines Ergebnisspeichers. Der Inhalt des Akkumulators 27 wird bei der Verarbeitung der Adressenansteuerschaltung 30 zugeführt, die aufgrund der im Zwischenspeicher 24 vorhandenen Adresse einen Ausgabespeicher 32 ansteuert Anschließend erfolgt die Ausgabe der Daten von der Ansteuerschaltuag 30 auf den Bn 22, von dem sie in denjenigen Ausgabespeicher 32 gefangen, denen Eingänge über die Schaltung 30 durchHs«% gesteuert sind. Nach dieser Ausgabe des Attmnulatorinhihs an einem Speicher 32 ist die oben besee Schaltfunktion verarbeitet Es kann anschfieBend die nächste Funktion verarbeitet werden.If there is a logical "0" in the accumulator 27 when this command is executed, the next step is taken immediately Command passed. However, there is a logical one "1" in the accumulator, then process steps 1 to 3.7 and 5 run one after the other. The value of the variable ty determines the contents of the accumulator. The next Command refers to setting a memory of results. The content of the accumulator 27 is at the Processing of the address control circuit 30 is supplied, which based on the in the buffer 24 The existing address controls an output memory 32. The data are then output from the Ansteuerschaltuag 30 to the Bn 22, of which they are caught in the output memory 32 to which inputs via the circuit 30 are controlled by Hs «% are. After this issue of the Attmnulatorinhihs The switching function mentioned above is processed in a memory 32. The next one can then follow Function to be processed.
Falls der negierte Wert der Funktion an einen Ausgabespeicher gegeben werden sofl, ist an Stelle des Befehls: »Setzen des Eeeichera der Befehl »negiertes Setzen des Ergebnasgejcbetiy zu verwenden. If the negated value of the function is immediately sent to an output memory, instead of the Command: »Set the Eeeichera the command» use the negated setting of the result nasgejcbetiy.
Falls jedoch die beiden Variablen b und c den Wert »1« haben, steht vor der Ausführung des sich auf die erste offene Klammer beziehenden Befehls im Akkumulator 27 eine logische »1« und im Speicher 28 eineIf, however, the two variables b and c have the value "1", a logical "1" is placed in the accumulator 27 and a logic "1" in the memory 28 before the instruction relating to the first open bracket is executed
s logische »0«. Bei der Verarbeitung des Klammerausdrucks stellt das Verknüpfungsschaltwerk 26 die logische »0« im Speicher 28 fest und leitet daher den Verfahrensschritt 13 ein, auf den nach Einspeicherung einer logischen »0« in den Speicher 28 der nächstes logical "0". When processing the expression in brackets, the logic circuit 26 sets the logical "0" in the memory 28 and therefore initiates process step 13 to the after storage a logical "0" in the memory 28 the next
ι ο Befehl folgt Unter der Voraussetzung, daß die Variable a den Wert »1« hat, wird in Abhängigkeit von der Variablen d der Akkumulatorinhalt verändert Entspricht die Variable d einer logischen »0«, dann enthält der Akkumulator 27 nach deren Verarbeitung eine logische »0« und der Speicher 28 eine logische »I«. Bei Verarbeitung des anschließenden, eine ODER-Verknüpfung betreffenden Befehls ändert sich der Inhalt vom Akkumulator 27 zu »1« und der Speicherinhalt zu »0«.ι ο command follows Assuming that the variable a has the value "1", the accumulator content is changed depending on the variable d . If the variable d corresponds to a logical "0", then the accumulator 27 after processing contains a logical " 0 "and the memory 28 a logical" I ". When the subsequent instruction relating to an OR link is processed, the content of the accumulator 27 changes to "1" and the memory content to "0".
Die logische »1« der Variablen d bestimmt im nächsten Befehl den Inhalt des Akkumulators 27. Da auch die Variable eden Wert »1« aufweist, tritt bei der nächstfolgenden, offenen Klammer keine Änderung der Inhalte des Speichers 28 und des Akkumulators 27 ein.The logical "1" of the variable d determines the content of the accumulator 27 in the next instruction. Since the variable ed also has the value "1", the contents of the memory 28 and the accumulator 27 do not change with the next following open bracket.
Die Klammer wird überdies im Zähler 29 nicht berücksichtigtIn addition, the bracket is not taken into account in the counter 29
Hat die Variable f den Wert »0«, dann wird dem Akkumulator 27 eine logische »0« zugeführt durch die der Inhalt des Speichers 28 in eine logische »1« verwandelt wird. Bei Verarbeitung der anschließenden ODER-Verknüpfung ändern sich die Werte im Akkumulator 27 zu »1« und im Speicher 28 zu »0«. Die Variable g wird im folgenden Befehl in den Akkumulator eingegeben, da der Speicher 28 eine logische »0« aufweist Die Variable g habe den Wert »0«. Bei Verarbeitung der den nächsten Befehl bildenden offenen Klammer wird der Inhalt des Zählers 29 um eins erhöht Deshalb werden die Befehle der die Variablen A und /umfassenden Klammer durch die kurze Schrittfolge der Schritte 1 bis 3 und 7 bzw. 9 ausgeführt Durch den anschließend verarbeiteten Klammerbefehl wird der Inhalt des Zählers 29 auf null zurückgeführt Bei der Verarbeitung der Variablen Λ und ι laufen die Verfahrensschritte 1 bis 3 und 7 ab. Anschließend folgt ein Befehl, der sich auf eine geschlossene Klammer bezieht Die Verarbeitung dieses Befehls führt zum Verfahrensschritt 16. in dem das Verknüpfungsschaltwerk 26 feststellt, daß der Zählerinhalt null ist Da der Akkumulator 27 eine logische »0« enthält, wird eineIf the variable f has the value “0”, then a logical “0” is fed to the accumulator 27, which converts the content of the memory 28 into a logical “1”. When the subsequent OR operation is processed, the values in accumulator 27 change to "1" and in memory 28 to "0". The variable g is entered into the accumulator in the following command, since the memory 28 has a logical "0". The variable g has the value "0". When the open parenthesis forming the next command is processed, the content of the counter 29 is increased by one. Therefore, the commands of the parentheses comprising the variables A and / are executed by the short sequence of steps 1 to 3 and 7 or 9 by the subsequently processed parenthesis command the content of the counter 29 is returned to zero. When processing the variables Λ and ι, method steps 1 to 3 and 7 run. This is followed by a command that relates to closed brackets. The processing of this command leads to method step 16. in which the logic circuit 26 determines that the counter content is zero
so logische »1« in den Speicher 28 eingegeben. Der Wert der Variablen Jr wird daher im folgenden Befehl durch Ablauf der Schritte 1 bis 3 und 7 berücksichtigt, wobei am Ende im Akkumulator 27 eine »0« und im Speicher eine »1« erhalten bleibt Die Klammer ändert nichts an den Inhalten des Akkumulators und des Speichers. Ebensowenig ändern die Werte /und m den Inhalt im Akkumulator 27 und im Speicher 28.thus a logical "1" is entered into the memory 28. The value of the variable Jr is therefore taken into account in the following command by running steps 1 to 3 and 7, whereby at the end a "0" is retained in the accumulator 27 and a "1" in the memory. The brackets do not change the contents of the accumulator and of memory. Neither do the values / and m change the content in the accumulator 27 and in the memory 28.
Durch die Verarbeitung des nachfolgenden, eine ODER-Verknüpfung betreffenden Befehls werden diese Werte etier Daher legen die Werte der Variablen s . und t die Inhalte von Akkumulator 27 und Speicher 28 fest Entspricht die Variable s einer logischen »1« und dk Variable t einer logischen »1«, dann enthalten der Akkumulator 27 und der Speicher 28 eine logische »1« es bsw. eine »0«. Durch die Verarbeitung des Ktamnerbefehte laufen die Verfahrensschritte 1 bis 3 und 15 ab. Dadurch wird im JaJcBsCa1 Befehi der inhalt des Vril dBy processing the following command relating to an OR link, these values are set. Therefore, the values of the variables s. and t the contents of accumulator 27 and memory 28 fixed. If the variable s corresponds to a logical "1" and dk variable t corresponds to a logical "1", then the accumulator 27 and the memory 28 contain a logical "1" es eg. a "0". Process steps 1 to 3 and 15 run through the processing of the attendant's certificate. This means that in JaJcBsCa 1 command the content of the Vril d
J1
Akkumulators gemäß der Variablen α verändert J 1
Accumulator changed according to the variable α
Fail» diese den Wert »1« hat, wird bei der Verarbeitung der ODER-Verknüpfung in den Speicher 28 eine logische »I« eingegeben. Bei der Verarbeitung der sich auf die Variablen ν und tv beziehenden Befühle werden jeweils die Verfahrensschritte I bis 3 und 7 durchlaufen, wobei die Variable ν und w nicht «ten inhalt des Akkumulators 27 beeinflussen. Der Akkumulatorinhalt wird bei der Verarbeitung des folgenden Befehls in der oben beschriebenen Weise an einen Ergebnisspei-If “this has the value“ 1 ”, a logical“ I ”is entered in the memory 28 when the OR operation is processed. During the processing of the commands relating to the variables ν and tv, method steps I to 3 and 7 are run through, the variables ν and w not influencing the content of the accumulator 27. When the following command is processed, the accumulator content is transferred to a result memory in the manner described above.
eher 32 ausgegeben.rather 32 issued.
Hieraus ist ersichtlich, daß bei der Verarbeitung der einzelnen Befehle einer Funktion der zeitliche Aufwand sehr stark vermindert wird, wenn über das Verknüpfungsschaltwerk 26 festgestellt wird, daß ein Ergebnis im Akkumulator 27 durch weitere Befehle nicht mehr beeinflußt werden kann. Die in der Eeithnung dargestellte Schaltung benötigt daher eine sehr kurze Zeit für die Ermittlung des Ergebnisses einer Funktion.It can be seen from this that the time required to process the individual commands of a function is greatly reduced when it is determined via the logic circuit 26 that a result in the accumulator 27 can no longer be influenced by further commands. The one in the exhibition The circuit shown therefore requires a very short time to determine the result of a function.
Claims (4)
daß nach der Entschlüsselung des sich jeweils auf eine offene oder geschlossene Klammer beziehenden Befehls der Inhalt des Zriilers (29) um eine Einheit erhöht oder um eine Einheit vermindert wird,that after the decryption of the command related to the detection of a new switching function, the content of a one-bit accumulator (27) storing the result of the processing of the commands of a previously processed switching function is output as a control signal and a binary "0" is output as a one-bit -Memory (28), in which, as in the one-bit accumulator (27), the result of the processing of an instruction relating to a variable or an OR operation is stored and entered into a counter (29),
that after the decryption of the command relating to an open or closed bracket, the content of the code (29) is increased by one unit or decreased by one unit,
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19742401645 DE2401645C2 (en) | 1974-01-15 | 1974-01-15 | Device for delivering control signals to a circuit arrangement |
SE7500395A SE7500395L (en) | 1974-01-15 | 1975-01-15 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19742401645 DE2401645C2 (en) | 1974-01-15 | 1974-01-15 | Device for delivering control signals to a circuit arrangement |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2401645A1 DE2401645A1 (en) | 1975-07-17 |
DE2401645C2 true DE2401645C2 (en) | 1982-09-09 |
Family
ID=5904770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19742401645 Expired DE2401645C2 (en) | 1974-01-15 | 1974-01-15 | Device for delivering control signals to a circuit arrangement |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE2401645C2 (en) |
SE (1) | SE7500395L (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3728661A1 (en) * | 1987-08-27 | 1989-03-09 | Siemens Ag | METHOD FOR OPERATING A STORAGE PROGRAMMABLE CONTROLLER AND DEVICE FOR IMPLEMENTING THE METHOD |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DD88571A (en) * | ||||
DE1512547B2 (en) * | 1967-03-23 | 1971-12-09 | Standard Elektrik Lorenz Ag, 7000 Stuttgart | CIRCUIT ARRANGEMENT FOR THE EXECUTION OF LOGICAL OPERATIONS WITH REGISTER INPUT LEVELS |
DE2048949A1 (en) * | 1969-10-17 | 1971-05-19 | Inst Elektro Anlagen | Logical circuit arrangement for process controls |
US3593317A (en) * | 1969-12-30 | 1971-07-13 | Ibm | Partitioning logic operations in a generalized matrix system |
US3810118A (en) * | 1971-04-27 | 1974-05-07 | Allen Bradley Co | Programmable matrix controller |
-
1974
- 1974-01-15 DE DE19742401645 patent/DE2401645C2/en not_active Expired
-
1975
- 1975-01-15 SE SE7500395A patent/SE7500395L/xx unknown
Also Published As
Publication number | Publication date |
---|---|
DE2401645A1 (en) | 1975-07-17 |
SE7500395L (en) | 1975-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3752100T2 (en) | Instruction prefetcher having a circuit for checking the prediction of a branch instruction before it is executed | |
DE2715073C3 (en) | Microprogrammed computer control device | |
DE69534113T2 (en) | Compression of the command words of a computer | |
DE1499182C3 (en) | Data storage system | |
DE2339636C2 (en) | Device for addressing a writable microprogram memory | |
DE3780208T2 (en) | TEXT PROCESSING APPARATUS FOR THE PROCESSING OF TEXTS ACCORDING TO DIFFERENT SELECTED TEXT FORMATS. | |
DE68924719T2 (en) | Device and method for executing a subroutine in a data processing system with block switching. | |
DE1285219B (en) | Control unit for the execution of subroutines | |
DE2401645C2 (en) | Device for delivering control signals to a circuit arrangement | |
DE1774421B1 (en) | MORE PROGRAM DATA PROCESSING SYSTEM | |
DE2720842A1 (en) | DATA TRANSFER SYSTEM | |
DE1774211C3 (en) | Data storage arrangement for a data processing system | |
DE2425380C2 (en) | Data processing system for the parallel execution of processing operations | |
DE3640355A1 (en) | METHOD FOR DETERMINING THE PERIOD OF A LANGUAGE PARAMETER AND ARRANGEMENT FOR IMPLEMENTING THE METHOD | |
DE1222289B (en) | Data processing device | |
DE1184122B (en) | Adding device | |
DE3009121C2 (en) | Microprogram controller | |
DE2419836C3 (en) | Circuit arrangement for executing subprogram jump instructions in data processing systems | |
DE2735874C2 (en) | ||
EP0565194A1 (en) | Method to store and retrieve return addresses | |
DE19923517C1 (en) | Branch process for processing of program | |
DE1774421C (en) | Multi-program data processing system | |
DE2835261C2 (en) | Data processing unit | |
DE2502005C2 (en) | Circuit arrangement for assigning addresses to operations for the purpose of executing commands in a data processing device | |
DE2327950C3 (en) | Device for controlling industrial facilities |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OF | Willingness to grant licences before publication of examined application | ||
D2 | Grant after examination | ||
8339 | Ceased/non-payment of the annual fee |