DE3207057C2 - - Google Patents

Info

Publication number
DE3207057C2
DE3207057C2 DE3207057A DE3207057A DE3207057C2 DE 3207057 C2 DE3207057 C2 DE 3207057C2 DE 3207057 A DE3207057 A DE 3207057A DE 3207057 A DE3207057 A DE 3207057A DE 3207057 C2 DE3207057 C2 DE 3207057C2
Authority
DE
Germany
Prior art keywords
accumulator
pdr
instruction
branch
stack
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE3207057A
Other languages
English (en)
Other versions
DE3207057A1 (de
Inventor
Toichi Yokohama Jp Kudo
Takasi Funabashi Jp Abe
Seiichiro Ichikawa Jp Ogawa
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.)
Hitachi Ltd
Nissan Motor Co Ltd
Original Assignee
Hitachi Ltd
Nissan Motor Co Ltd
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 Hitachi Ltd, Nissan Motor Co Ltd filed Critical Hitachi Ltd
Publication of DE3207057A1 publication Critical patent/DE3207057A1/de
Application granted granted Critical
Publication of DE3207057C2 publication Critical patent/DE3207057C2/de
Granted 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/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13004Programming the plc
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13128Relay ladder diagram, RLL RLD KOP
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/14Plc safety
    • G05B2219/14112Diagnostic, troubleshooting
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15054LIFO for storing intermediate results

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Executing Machine-Instructions (AREA)

Description

Die Erfindung betrifft eine speicherprogrammierte Ablaufsteuerung nach dem Oberbegriff des Anspruchs 1.
Übliche Rechen- und Steuerwerke solcher Ablauf­ steuerungen enthalten einen Ergebnisspeicher und verar­ beiten mit Hilfe von arithmetischen und logischen Opera­ tionen Signale aus einer Eingabeeinheit, einer Ausgabe­ einheit und Signale, die im Ergebnisspeicher abgespeichert sind, entsprechend dem im Programmspeicher abgespeicherten Programm.
Die Fig. 1 zeigt ein Beispiel einer herkömmlichen Ablaufsteuerung, wobei PM den Programmspeicher, I/O die Eingabe/Ausgabe-Einheit (E/A-Einheit) und ALU das Rechen- und Steuerwerk bezeichnen. Der Programmspeicher speichert ein einer Relaisfolge gleichwertiges Programm. Das Pro­ gramm besteht aus einem Verbund von Befehlen. Jeder einzelne Befehl enthält, wie Fig. 2 zeigt, ein Operations­ codefeld OP, das den Befehlstyp INS kennzeichnet, und ein Operandenfeld OR, das die durch den Befehl zu verarbei­ tenden Signale kennzeichnet. Der Programmspeicher PM liest sequentiell und zyklisch die in ihm gespeicherten Befehle aus. Das Operationscodefeld OP des Lesebefehls wird über Befehlssignalleitungen 6 dem Rechen- und Steuerwerk ALU eingegeben, und das Operandenfeld OR wird über eine Ein- Ausgabe-Auswahlsignalleitung 7 der Ein-Ausgabe-Einheit I/O zugeführt. Die Ein-Ausgabe-Einheit I/O kann an eine Ein­ richtung zur Erfassung des Zustands eines von der Ablauf­ steuerung gesteuerten Prozesses, wie Grenzwertschalter und an eine von der Ablaufsteuerung gesteuerten Prozeß­ einrichtung, wie Magnetschalter oder Magnetventile ange­ schlossen sein. Die E/A-Einheit I/O empfängt das Operanden­ feld OR, wählt die zu verarbeitenden Eingabe/Ausgabe- Signale (E/A-Signale) aus und führt diese dem Rechen- und Steuerwerk ALU über eine Eingabe-Ausgabe-Lesesignalleitung (E/A-Lesesignalleitung) 10 zu. Dies erfolgt in zeitlicher Übereinstimmung mit einem Eingabe-Ausgabe-Steuersignal (E/A-Steuersignal), das vom Rechen- und Steuerwerk ALU über eine Eingabe- Ausgabe-Steuersignalleitung 13 (E/A-Steuersignalleitung) geliefert wird. Das Rechen- und Steuerwerk ALU besteht aus einer Rechen- und Steuerschaltung 1, einem Akkumulator 2 und einem Ergebnis-Speicherregister 3. Die Rechen- und Steuerschaltung 1 führt die vorbestimmten arithmetischen und logischen Operationen mit den vom Akkumulator 2, der E/A-Einheit I/O und dem Ergebnisspeicherregister 3 ge­ lieferten Signalen entsprechend dem über die Befehlssignal­ leitungen 6 angelegten Operationscode aus. Am Ende der arithmetischen und logischen Operationen sendet die Rechen- und Steuerschaltung 1 über eine Schrittsignal­ leitung 8 ein Schrittsignal an den Programmspeicher PM, um den nächsten Befehl auszulesen. Anschließend führt die Rechen- und Steuerschaltung erneut die arithmetischen und logischen Operationen entsprechend dem Operationsfeld OP des Befehls aus. Um die Steuerungsfolge durchzuführen, wird die obige Operation wiederholt ausgeführt.
Fig. 3 zeigt ein Beispiel einer Relaisfolge, in der A, B, C, D und E Kontakte bezeichnen und F eine Relais­ spule angibt. Fig. 3 bezieht sich auf eine herkömmliche Ablaufsteuerung. Die Relaisfolge wird in ein Programm umgewandelt, das aus einer Ansammlung von Befehlen LOD, AND, OR, AND STR, OR STR und OUT besteht. Das in dieser Weise gebildete Programm wird im Programmspeicher PM ab­ gespeichert. Für die jeweiligen Befehle sind im folgenden die Funktionen des Rechen- und Steuerwerks ALU aufgezeigt:
  • LOD: speichere den Inhalt des Akkumulators 2 in das Ergebnisspeicherregister 3 und lies aus der E/A-Einheit das Signal in den Akkumulator 2.
  • AND: verknüpfe den Inhalt des Akkumulators 2 mit dem von der E/A-Einheit I/O gelieferten Signal mit "UND" und lade das Ergebnis in den Akkumulator 2.
  • OR: verknüpfe den Inhalt des Akkumulators 2 mit dem von der E/A-Einheit I/O erhaltenen Signal mit "ODER" und lade das Ergebnis in den Akkumulator 2.
  • AND STR: verknüpfe den Inhalt des Akkumulators 2 und den Inhalt des Ergebnisspeicherregisters 3 mit "UND" und lade das Ergebnis in den Akkumulator 2.
  • OR STR: verknüpfe den Inhalt des Akkumulators 2 und den Inhalt des Ergebnis-Speicherregisters mit "ODER" und lade das Ergebnis in den Akku­ mulator 2.
  • OUT: gebe den Inhalt des Akkumulators 2 an die E/A-Einheit I/O aus.
Mit diesen Befehlen wird die in Fig. 3 gezeigte Relaisfolge in das in Fig. 4 gezeigte Programm verwandelt. Um die Erklärung zu erleichtern, sind die Befehlsschritte auf der rechten Seite numeriert. Die Programmfolge wird im folgenden anhand Fig. 4 erläutert:
Schritt 1
Der Befehl wird aus dem Programmspeicher PM ausge­ lesen, der Code "LOD" im Operationscodefeld der Rechen- und Steuerschaltung 1 über die Befehlssignalleitung 6 ein­ gegeben. Aus dem Operandenfeld wählt die E/A-Einheit I/O "A" über die Eingabe-Ausgabe-Auswahlsignalleitung (E/A- Auswahlsignalleitung) 7 und erzeugt ein logisches Zustands­ signal für das Ein/Ausgabesignal A. Die Rechen- und Steuerschaltung 1 speichert die Ausgabe des Akkumulators 2 in das Ergebnisspeicherregister 3 über eine Akkumulator­ ausgangssignalleitung 9 ab. Das Ergebnisspeicherregister 3 besteht aus einem zweiseitig verschiebbaren Stapelspei­ cherregister mit gemeinsamem Ein/Ausgabekanal. Darin wird ein Signal gespeichert, in dem der Inhalt des Ergebnis­ speicherregisters 3 durch ein Schiebesignal, das über eine Schiebesignalleitung 12 angelegt wird, verschoben wird. Der Inhalt des Akkumulators 2 wird in das Ergebnisspeicher­ register 3 gespeichert, und das Signal A, wie es aus dem Operandenfeld aus dem Code "A" durch die Ein/Ausgabe­ einheit 4 ausgewählt wurde, wird in den Akkumulator 2 eingelesen und dort gespeichert. (Das Signal A stellt den logischen Zustand "1" oder "0" entsprechend der Ein/ Aus-Stellung des Kontakts A dar, wie es aus dem Operanden­ feld aus dem Code "A" ausgewählt wurde, und wird in dieser Weise zu einer verständlichen Erklärung verwendet. Für die anderen Signale werden gleiche Ausdrücke verwendet).
Schritt 2
Das Signal A, das noch im Akkumulator 2 gespeichert ist, wird in das Ergebnisspeicherregister 3 und ein neu ausgewähltes Signal B in den Akkumulator 2 gespeichert.
Schritt 3
Das im Akkumulator 2 gespeicherte Signal B wird mit einem von der E/A-Einheit 4 ausgewählten Signal C logisch "UND"-verknüpft und das Verknüpfungsergebnis in den Akku­ mulator 2 gespeichert.
Schritt 4
Der Inhalt des Akkumulators 2 wird in das Ergebnis­ speicherregister 3 und ein Signal D in den Akkumulator 2 gespeichert.
Schritt 5
Das im Akkumulator 2 gespeicherte Signal D wird mit einem von der E/A-Einheit 4 ausgewählten Signal E logisch "UND"-verknüpft und das Verknüpfungsergebnis in den Akku­ mulator 2 abgespeichert.
Schritt 6
Das zuletzt im Ergebnisspeicherregister 3 gespeicher­ te Signal wird über die Lesesignalleitungen 11 in die Rechen- und Steuerschaltung 1 eingegeben. Dieses einge­ gebene Signal ist das Ergebnis einer logischen "UND"- Verknüpfung zwischen den Signalen B und C. Dieses Signal wird logisch mit dem Inhalt des Akkumulators 2 "OR" (ODER) verknüpft, und das Ergebnis wird in den Akkumulator 2 ge­ speichert. So wie die im Ergebnisspeicherregister gespei­ cherten Daten ausgelesen werden, wird der Inhalt des Ergebnisspeicherregisters entgegengesetzt zur Richtung, in welche der Inhalt bei der Speicherung geschoben wird, verschoben.
Schritt 7
Durch das Schieben in Schritt 6 steht nun das Signal A im Ergebnisspeicherregister 3 an der dem Ausgabekanal direkt benachbarten Stelle. Über die Lesesignalleitung 11 wird das Signal A aus dem Ergebnisspeicherregister 3 an die Rechen- und Steuerschaltung 1 übermittelt. Das Ergeb­ nis der logischen Verknüpfung des Signals A mit dem Inhalt des Akkumulators 2 wird in den Akkumulator 2 abgespeichert.
Schritt 8
Der Inhalt des Akkumulators 2 wird an der durch den Code "F" im Operandenfeld ausgewählten Stelle der E/A- Einheit 4 ausgegeben.
In oben beschriebener Weise wird die Relaisfolge von Fig. 3 in das in Fig. 4 gezeigte, der Relaisfolge äqui­ valente Programm, umgewandelt.
Beim Einsatz eines solchen, dem Stand der Technik entsprechenden Rechen- und Steuerwerks kann ein Pro­ grammierer die Programmfolge nicht programmieren, wenn er nicht erfaßt hat, daß der LOD-Befehl das Ergebnis in das Ergebnisspeicherregister 3 abspeichert, daß sowohl der AND STR-Befehl als auch der OR STR-Befehl den Inhalt des Ergebnisspeicherregisters auslesen, um ihn für die Verarbeitung zu verwenden, und daß andere Befehle in gleicher Weise entsprechende Operationen ausführen. Zu­ sätzlich muß der Programmierer zum völligen Verständnis den inneren Aufbau der Ablaufsteuerung zu einem gewissen Maße kennen. Aus dem Vergleich der Fig. 4 mit der Fig. 3 wird deutlich, daß die Befehlsausdrücke und die Symbole der Befehlsfolge nicht einzeln übereinstimmen und der Befehlsausdruck alphabetisch angegeben ist, so daß die Relaisfolge von Fig. 3 in die Befehlssprache in Fig. 4 umgeschrieben werden muß.
Infolgedessen ist zur Programmierung der Relaisfolge eine große Anzahl von Schritten nötig, und der Programmierer muß bei der Verwendung einer Ablaufsteuerung herkömmlicher Art ein breites Wissen besitzen.
Wenn aus dem in Fig. 4 aufgeführten Programm umgekehrt wieder die Relaisfolge von Fig. 3 gebildet werden soll, treten für den Operator große Schwierigkeiten auf, da die Symbole der Relaisfolge und die Programmsprache nicht Befehl für Befehl übereinstimmen.
Aus diesen Gründen ordnet man, wie die Fig. 5 zeigt, auf einer Programmiertafel Tasten K₁, K₂, K₃ bis K₉ an, deren Tastenknöpfe mit den Elementen der Relaisfolge bezeichnet sind. Auf diese Weise kann die Relaisfolge, wie in Fig. 6 gezeigt ist, durch Drücken solcher Tasten programmiert werden. Dadurch erreicht man, daß die Befehls­ ausdrücke und die Symbole der Relaisfolge Befehl für Befehl übereinstimmen und vermeidet die oben angegebenen Schwierigkeiten.
Bei Rechenmaschinen ist es allgemein bekannt, Zwischenergebnisse, die nachfolgend transferiert oder gelöscht werden, in Stapelregistern zu speichern (E. Organick "Computer System Organization" Academic Press, 1973, Seiten 22 bis 25; und "Introduction to Computer Architecture" Harald S. Stone et al., 1975, Science Research Associates Inc., Seiten 281 bis 305). Die vorliegende Erfindung wendet diese an sich bekannten Stapelregister bei einem Ausführungsbeispiel an.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, eine speicherprogrammierte Ablaufsteuerung anzugeben, bei der eine Relaisschaltung durch die Eingabe von Symbolen für Verbindungen und Verzweigungen von Kontakten und Relaiswicklungen mittels einer Tastatur nachbildbar ist und wobei bei der Eingabe der Symbole ein der Relaisfolge äquivalentes Folgeprogramm in einem Programm­ speicher eingespeichert wird, das bei der Eingabe in ein Rechenwerk die der Relaisschaltung äquivalente Funktion eines Steuerwerks für die Ablaufsteuerung durchführt. Gelöst wird diese Aufgabe durch die im kennzeichnenden Teil des Patentanspruchs 1 angegebenen Merkmale. Eine zweckmäßige Ausgestaltung und Weiterbildung der Erfindung ist im Unteranspruch angegeben.
Ein Ausführungsbeispiel der Erfindung wird im folgenden anhand der Zeichnung beschrieben. Es zeigt
Fig. 1 ein Blockschaltbild einer dem Stand der Technik entsprechenden Ausführung einer Ablauf­ steuerung,
Fig. 2 ein Befehlsformat,
Fig. 3 ein Beispiel einer Relaisfolge,
Fig. 4 ein von einer herkömmlichen Ablaufsteuerung ausgeführtes Programm,
Fig. 5 und 6 Darstellungen zur Veranschaulichung der Erfindung,
Fig. 7 eine Ausführungsform der Erfindung,
Fig. 8 ein Beispiel einer Programmerstellung gemäß der Erfindung,
Fig. 9 ein Programmbeispiel gemäß der Erfindung und
Fig. 10 die Inhalte von Anweisungen die erfindungsgemäß ausgeführt werden können.
Anhand Fig. 7 wird im folgenden eine Ausführung der Erfindung anhand des Gesamtaufbaus einer speicherprogrammierten Ablaufsteuerung erläutert. Dabei sind gleiche Teile wie in Fig. 1 mit den gleichen Bezugszeichen und Symbolen bezeichnet. Mit PDR₁ und PDR₂ werden eine erste und eine zweite Speicherein­ richtung bezeichnet, die wesentliche Teile der Erfindung darstellen. Im vorliegenden Fall stellen sie Stapelregister dar, deren Inhalt in zwei Richtungen verschiebbar ist und die gemeinsame Ein/Ausgabekanäle besitzen. Der Inhalt des Akkumulators 2 wird den Stapelregistern PDR₁ und PDR₂ über eine Akkumulator-Ausgangssignalleitung 9 zuge­ führt. Die Ausgänge der Stapelregister PDR₁ und PDR₂ liegen dauernd an der Rechen- und Steuerschaltung 1 über die Auslesesignalleitungen 15 und 16 an. Die Ausgangs­ signale der Stapelregister PDR₁ und PDR₂, die in der den jeweiligen Eingabekanälen am nächsten liegenden Bit­ position gespeichert sind, werden der Rechen- und Steuer­ schaltung 1 zugeführt. Über Schiebesignalleitungen 17 und 18 werden von der Rechen- und Steuerschaltung 1 Schiebe­ signale zum Verschieben der Stapelregister PDR₁ und PDR₂ geliefert, die von der Rechen- und Steuerschaltung 1 je­ weils an das entsprechende Stapelregister PDR₁ und PDR₂ geleitet werden. Sobald ein Rechtsschiebesignal an das Stapelregister PDR₁ oder PDR₂ angelegt wird, werden die darin gespeicherten Signale um eine Stelle nach rechts geschoben und der Inhalt des Akkumulators 2 in der dem Eingabekanal direkt benachbarten Bitposition gespeichert. Der in der dem Eingabekanal direkt benachbarten Bitposition gespeicherte Inhalt wird der Rechen- und Steuerschaltung 1 über die Auslesesignalleitungen 15 oder 16 zugeführt. Wenn an die Stapelregister PDR₁ oder PDR₂ ein Linksschiebe­ signal angelegt wird, werden die darin gespeicherten Signale um eine Bitposition nach links geschoben, und das an die dem Eingabekanal direkt benachbarte Bitposition geschobene Signal wird der Rechen- und Steuerschaltung 1 zugeführt.
Ein Programm kann aus den Symbolen der Relaisfolge, die in Fig. 5 gezeigt sind, gebildet sein. Die Verbindungstasten K₁, K₂, K₃, K₄, K₅ und K₆ der in Fig. 5 gezeigten Tasten geben den Verbindungszustand an, während die Elementtasten K₇, K₈ und K₉ die Elemente der Relais­ folge angeben. Dabei kann jede Taste eine Anweisung dar­ stellen, jedoch bezeichnen in der dargestellten Aus­ führung der Erfindung die Startpunkttaste K₁ einen Start­ punkt S der Relaisfolge, die Verzweigungsfortsetzungs­ taste K₂ einen Unterverzweigungspunkt B₂, die Verzweigungs­ endpunkttaste K₃ einen Verzweigungsendpunkt B₃ und die Verzweigungsanfangspunkttaste K₄ einen Verzweigungsanfangs­ punkt B₄. Eine diese Tasten betreffende Anweisung wird durch Kombination des gewöhnlich geöffneten Tastenkontakts K₇, des gewöhnlich geschlossenen Tastenkontakts K₈ mit der Relaisspulentaste K₉ gebildet. Die Verzweigungs­ knotenpunkttasten K₅ und K₆, die Verzweigungsknotenpunkte B₅ und B₆ darstellen, und die Elementtasten K₇, K₈ und K₉ ergeben jeweils eine Anweisung.
In Fig. 8 ist die Funktion der Tasten K₁, K₂, K₃ bis K₉ dargestellt, wie sie für die Programmierung der in Fig. 3 gezeigten Relaisfolge erforderlich ist; Fig. 9 zeigt ein so gebildetes Programm. Zur leichteren Erklärung sind auf der rechten Seite in Fig. 9 die Schritte numeriert. Das so gebildete Programm ist im Programmspeicher PM ge­ speichert.
Die zur Ausführung der Anweisungen ablaufenden Vorgänge werden nun anhand der Fig. 10 erklärt, in der die für die jeweiligen Befehle im Rechen- und Steuerwerk ALU ablaufen­ den Vorgänge dargestellt sind. Zum leichteren Verständnis sind die Kontakte mit X und die Relaisspule mit Y bezeichnet. Die Markierungspfeile am Stapelregister PDR₁ und PDR₂ zeigen die Schieberichtungen der Register.
Kombinationsanweisung aus Taste K₁ und Taste K₇ (oder Taste K₈):
Schiebe ein logisches "1"-Signal in das erste Stapel­ register PDR₁ und speichere es darin und lies das Signal X aus der E/A-Einheit I/O in den Akkumulator 2.
Kombinationsanweisung aus Taste K₄ und Taste K₇ (oder Taste K₈):
Speichere den Inhalt des Akkumulators 2 in das erste Stapelregister PDR₁ und speichere das Ergebnis der logi­ schen UND-Verknüpfung des Inhalts des Akkumulators 2 mit dem Signal von der E/A-Einheit I/O in den Akkumulator 2.
Kombinationsanweisung aus Taste K₂ und Taste K₇ (oder Taste K₈):
Speichere den Inhalt des Akkumulators 2 in das zweite Stapelregister PDR₂ und speichere das Ergebnis der logi­ schen UND-Verknüpfung des Signals aus dem ersten Stapel­ register PDR₁ mit dem Signal von der E/A-Einheit I/O in den Akkumulator 2. Das erste Stapelregister PDR₁ wird beim Lesen nicht verschoben.
Kombinationsanweisung aus Taste K₃ und Taste K₇ (oder Taste K₈):
Speichere den Inhalt des Akkumulators 2 in das zweite Stapelregister PDR₂ und speichere das Ergebnis der logi­ schen UND-Verknüpfung des Signals aus dem ersten Stapel­ register PDR₁ mit dem Signal von der E/A-Einheit I/O in den Akkumulator 2. Das erste Stapelregister PDR₁ wird beim Lesen in Pfeilrichtung geschoben.
Taste K₇ (oder Taste K₈) Anweisung:
Verknüpfe den Inhalt des Akkumulators 2 mit dem Signal von der E/A-Einheit I/O logisch UND und speichere das Er­ gebnis in den Akkumulator 2.
Taste K₅ Anweisung:
Verknüpfe das Ausgangssignal des zweiten Stapel­ speichers PDR₂ logisch ODER mit dem Inhalt des Akkumulators 2 und speichere das Ergebnis in den Akkumulator 2.
Taste K₆ Anweisung:
Dieselbe wie bei der Taste K₅ Anweisung.
Taste K₉ Anweisung:
Gebe den Inhalt des Akkumulators 2 an die E/A-Einheit I/O aus.
Kombinationsanweisung aus Taste K₄ und Taste K₉:
Speichere den Inhalt des Akkumulators 2 in das erste Stapelregister PDR₁ und gebe den Inhalt des Akkumulators 2 an die E/A-Einheit I/O aus. Diese Anweisung findet dann Ver­ wendung, wenn die Spule weiter verzweigt wird.
Kombinationsanweisung aus Taste K₂ und Taste K₉:
Lies das Ausgangssignal des ersten Stapelregisters PDR₁ in den Akkumulator 2 und gib das Lesesignal an die E/A-Einheit I/O. Das erste Stapelregister PDR₁ wird beim Lesen nicht verschoben.
Kombinationsanweisung aus Taste K₃ und Taste K₉:
Lies das Ausgangssignal des ersten Stapelspeichers in den Akkumulator 2 und gib das Lesesignal an die E/A- Einheit I/O aus. Das erste Stapelregister PDR₁ wird beim Lesen in Pfeilrichtung verschoben.
Um das erste und zweite Stapelregister PDR₁ und PDR₂ in die vorbestimmten Positionen zur bestimmten Zeit zu schieben, liest die Rechen- und Steuerschaltung 1 des Rechen- und Steuerwerks ALU aus dem Programmspeicher PM die jeweiligen Befehle aus und führt den vorgegebenen Ablauf aus.
Das im Programmspeicher gespeicherte Programm besteht aus einer Gruppe von INS Befehlen, von denen jeder ein Operationscodefeld OP, welches den Befehlstyp bezeichnet, und ein Operandenfeld OR, um die zu verarbeitenden Signale auszuwählen, enthält, wie es in Fig. 2 der Fall ist. Das Operationscodefeld OP enthält einen den Tasten K₁, K₂, K₃ bis K₉ der Fig. 5 entsprechenden Code. Um den Operationstyp der Rechen- und Steuerschaltung 1 zuzuleiten, wird das Operationscodefeld OP über die Befehls­ signalleitung 6 an die Rechen- und Steuerschaltung 1 ange­ legt. Das Operandenfeld OR wird über die E/A-Auswahlsignal­ leitung 7 an die E/A-Einheit I/O geführt, um damit die zu verarbeitenden E/A-Signale auszuwählen. Die E/A-Einheit I/O legt über die E/A-Lesesignalleitung 10 die ausgewählten Signale zum Zeitpunkt des von der Rechen- und Steuerschaltung 1 gelieferten E/A-Steuersignals als E/A-Lesesignale an die Rechen- und Steuerschaltung 1 an. In zeitlicher Überein­ stimmung mit dem über die Akkumulatorausgangssignalleitung 9 abgegebenen E/A-Steuersignal wird der Inhalt des Akkumula­ tors 2 bei der durch das E/A-Auswahlsignal 7 bestimmten Position verriegelt. Die Rechen- und Steuerschaltung 1 führt mit den Signalen des Akkumulators 2, der E/A-Einheit I/O und des ersten und zweiten Stapelregisters PDR₁ und PDR₂ entsprechend dem über die Befehlssignalleitung 6 ge­ lieferten Operationscode OP die vorgegebenen Verarbeitungs­ schritte aus. Für die zeitliche Abfolge der Verarbeitung gibt die Rechen- und Steuerschaltung 1 über die Schritt­ signalleitung 8 an den Programmspeicher PM ein Schritt­ signal aus, um die Leseadresse des Programmspeichers PM um 1 zu erhöhen, und liest den nächsten Befehl aus. Die obigen Verarbeitungsschritte werden zur Fortsetzung des Ablaufs wiederholt. Das erste und zweite Stapelregister PDR₁ und PDR₂ sind zweiseitig verschiebbare Schiebe­ register; die Signale für die Stapelregister PDR₁ und PDR₂ werden durch Anlegen des Schiebesignals durch die Rechen- und Steuerschaltung 1 an die Stapelregister PDR₁ und PDR₂ gespeichert, wobei die Inhalte der Stapelregister PDR₁ und PDR₂ intern verschoben werden und der Inhalt des Akkumulators 2 an der dem Eingangskanal direkt benachbarten Bitposition gespeichert wird. Die Signale, die an der dem Eingabekanal direkt benachbarten Bitposition gespeichert waren, werden an die Rechen- und Steuerschaltung 1 über die Lesesignalleitungen 15 und 16 übertragen und als zu verarbeitende Signale verwendet.
Der Ablauf wird in weiteren Einzelheiten anhand Fig. 9 erklärt. Der Befehlsschritt 1 stellt den Kontakt mit einem Bus der Relaisfolge dar. Aufgrund dieses Befehls wird eine logische "1" in das erste Stapelregister PDR₁ gespeichert und ein Signal A, das durch ein "A" im Operandenfeld gekennzeichnet ist, von der E/A-Einheit I/O in den Akku­ mulator 2 eingelesen und abgespeichert. Im Befehlsschritt 2 wird der Inhalt des Akkumulators 2 in das erste Stapel­ register PDR₁ abgespeichert, und der Inhalt des Akkumula­ tors 2 wird logisch mit einem Signal B von der E/A-Einheit I/O UND-verknüpft und das Ergebnis in den Akkumulator 2 gespeichert. Im Programmschritt 3 wird der Inhalt des Akku­ mulators 2 mit einem Signal C von der E/A-Einheit I/O logisch UND-verknüpft und das Ergebnis in den Akkumulator 2 abgespeichert. Zu diesem Zeitpunkt speichert der Akku­ mulator 2 die logische UND-Funktion der Signale A, B und C.
In Schritt 4 wird der Inhalt des Akkumulators in das zweite Stapelregister PDR₂ gespeichert; das Signal von dem ersten Stapelregister PDR₁ wird mit einem Signal D logisch UND-verknüpft, und das Ergebnis in den Akku­ mulator 2 abgespeichert. Gleichzeitig mit dem obigen Verarbeitungsschritt wird der Inhalt des ersten Stapel­ registers PDR₁ in Richtung des Ausgabekanals geschoben. Daraus ergibt sich die Ausgabe des Signals A aus dem ersten Stapelregister PDR₁, so daß die logische UND- Funktion der Signale A und D im Akkumulator 2 gespeichert wird. Im Programmschritt 5 wird der Inhalt des Akkumulators 2 logisch mit einem Signal E von der E/A-Einheit I/O UND- verknüpft und das Ergebnis in den Akkumulator 2 gespei­ chert. Durch den Programmschritt 6 wird der Inhalt des Akkumulators 2, d. h. die logische UND-Funktion der Signale A, D und E, logisch mit dem Ausgangssignal des zweiten Stapelregisters PDR₂ ODER-verknüpft, was bedeutet, daß die logische UND-Funktion der Signale A, B und C und das Er­ gebnis im Akkumulator 2 gespeichert werden. Gleichzeitig mit der obigen Verarbeitung wird das zweite Stapelregister PDR₂ in Richtung des Ausgabekanals verschoben. Im Pro­ grammschritt 7 wird der Inhalt des Akkumulators 2, d. h. das Endergebnis, an der durch "F" im Operanden ausgewählten Bitstelle der E/A-Einheit I/O verriegelt.
Auf diese Weise wird die der in Fig. 8 gezeigten Relaisfolge äquivalente Ablaufsteuerung durch das in Fig. 9 gezeigte Programm ermöglicht. Die Ablaufsteuerung führt sequentiell und zyklisch das Programm aus und steuert damit die Relaisspule F entsprechend dem durch die Ein­ gangssignale A, B, C, D und E bestimmten Zustand.
Bei der dargestellten Ausführungsform der Erfindung wird die Relaisfolge aus normalerweise geöffneten (Arbeits-) Kontakten gebildet. Falls normalerweise geschlossene (Ruhe-)Kontakte verwendet werden, werden die Signale der E/A-Einheit durch eine (nicht dargestellte) Inver­ tierschaltung, die am Eingang des Rechen- und Steuerwerks angebracht ist, invertiert. Deshalb kann eine Relaisfolge aus Ruhekontakten in derselben Weise wie eine Relaisfolge aus Arbeitskontakten in der Ablaufsteuerung behandelt werden. Die in Fig. 10 in Klammer gesetzten Symbole zeigen beispielhaft den Fall der aus Ruhekontakten ge­ bildeten Relaisfolge.
Bei der dargestellten Ausführungsform der Erfindung sind Stapelregister als erste und zweite Speicherein­ richtungen verwendet. Die Ablaufsteuerung kann in manchen Fällen einen Mikrocomputer aufweisen. Es ist in diesem Fall möglich, die Stapelregister PDR₁ und PDR₂ zusätzlich vorzusehen, jedoch kann dieselbe Funktion durch einen Schreib/Lese-Speicher, der im Mikrocomputer vorhanden ist, erreicht werden. Vorbestimmte Speicheradressen werden in diesem Fall im Schreib/Lese-Speicher reserviert und als Speichereinrichtungen verwendet. Um ihren Inhalt zu ver­ schieben, wird der Inhalt des Speichers in den Akkumulator des Mikrocomputers eingelesen und dessen Inhalt mit Hilfe eines Mikrocomputerbefehls geschoben. Nach dem Verschieben wird der Inhalt des Akkumulators unter derselben Adresse, wie oben beschrieben, gespeichert. Dieselbe Funktion er­ reicht man, indem man der ersten und zweiten Speicherein­ richtung vorgegebene, eine Vielzahl von Adressen umfassen­ de Adreßbereiche des Schreib/Lese-Speichers des Mikro­ computers zuweist und einen Adreßzeiger einrichtet. Jedoch kann der Ablauf vereinfacht werden, wenn die in der bevor­ zugten Ausführungsform der Erfindung verwendeten Stapel­ register als erste und zweite Speichereinrichtung dienen.
Zur Beschreibung der Erfindung sind die in Fig. 5 gezeigten Symbole verwendet; die Erfindung ist jedoch nicht auf die Verwendung dieser Symbole beschränkt, und es können auch andere gewünschte Symbole verwendet werden.
Die vorliegende Erfindung gibt demnach ein Rechen- und Steuerwerk für speicherprogrammierte Ablaufsteuerungen an, mit einer ersten Speichereinrichtung, die die Ergebnisse logischer Ver­ knüpfungen an den Verzweigungsanfangspunkten einer Relais­ folge sequentiell speichert und einer zweiten Speicher­ einrichtung, die die Ergebnisse logischer Verknüpfungen für die mit den Verzweigungspunkten verbundenen Verzwei­ gungen aufgrund der in der ersten Speichereinrichtung gespeicherten Ergebnisse logischer Verknüpfungen sequen­ tiell abspeichert, um aufgrund der in der ersten und zweiten Speichereinrichtung gespeicherten Inhalte arith­ metische und logische Operationen auszuführen. Soweit die­ selben Funktionen erzielt werden, sind die Speicherein­ richtungen nicht auf die dargestellte Stapelregister beschränkt.

Claims (3)

1. Speicherprogrammierte Ablaufsteuerung mit
  • - einem Programmspeicher (5) zur Aufnahme eines Ablaufprogramms bestehend aus symbo­ lischen Anweisungen, die den Verbindungsaufbau der Ablaufsteuerung angeben durch einen Startpunkt (K 1), einen Verzweigungsstartpunkt (K 4), eine Verzweigungs­ fortsetzung (K 2), einen Verzweigungsendpunkt (K 3) und einen Verzweigungsverbindungspunkt (K 5, K 6) und aus An­ weisungen (K 7, K 8), die entweder Kontakte (A, B, C, D, E) der Relais oder (K 9) Relaiswicklungen (F) angeben;
  • - einem Rechen- und Steuerwerk (1) mit einem Akkumulator (2) und einem Ergebnisspeicherregister zur Aufnahme der Ergebnisse von logischen Operationen mit den Werten (0, 1), die den Schaltzuständen der Kontakte (A-E) und den Relaiswicklungen (F) zugeordnet sind; und
  • - einer Eingabe/Ausgabeeinheit (I/O) als Schnittstelle zwischen den Relaiskontakten (A-E) und den Relaiswick­ lungen (F) und dem Rechen- und Steuerwerk (1);
dadurch gekennzeichnet,
daß das Rechen- und Steuerwerk (1) ein erstes Stapelregi­ ster (PDR₁), das die Ergebnisse logischer Verknüpfungen an den Verzweigungspunkten einer ersten Folge von Kontak­ ten sequentiell aufnimmt, und
ein zweites Stapelregister (PDR₂) zur Aufnahme eines ab­ geschlossenen Ergebnisses der logischen Verknüpfung der ersten Folge von Kontakten (A-E) aufweist,
wobei beide Stapelregister nach beiden Seiten verschieb­ bar sind (17, 18) und beide jeweils gemeinsame Ein-/Aus­ gabekanäle (9, 15; 9, 16) haben; und daß das Rechen- und Steuerwerk (1)
  • - bei einer Startpunkt-Anweisung (K 1) einen vorbestimmten Anfangswert (0, 1) zusammen mit einem Schiebevorgang in das erste Stapelregister (PDR₁) eingibt und bei einer nachfolgenden Schaltkontakt-Anweisung (K 7, K 8) den Wert des logischen Zustandes des Schaltkontakts (A-E) in den Akkumulator (2) einspeist;
  • - bei einer Verzweigungsstartpunkt-Anweisung (K 4) einen im Akkumulator (2) befindlichen Wert mit einem Schiebe­ vorgang in das erste Stapelregister (PDR₁) eingibt und bei einer nachfolgenden Schaltkontakt-Anweisung (K 7, K 8) den Inhalt des Akkumulators (2) mit dem logischen Zustand des eingegebenen Schaltkontakts (A-E) logisch UND-verknüpft und das resultierende Ergebnis im Akkumu­ lator (2) speichert;
  • - bei einer Verzweigungsfortsetzungs-Anweisung (K 2) oder bei einer Verzweigungsendpunkt-Anweisung (K 3) den im Akkumulator (2) befindlichen Inhalt mit einem Schiebe­ vorgang in das zweite Stapelregister (PDR₂) eingibt;
  • - bei einer Verzweigungsfortsetzungs-Anweisung (K 2) mit nachfolgender Schaltkontakt-Anweisung (K 7, K 8) das am Ausgang des ersten Stapelregisters (PDR₁) liegende Signal mit dem Zustandssignal des Schaltkontakts (A-E) logisch UND-verknüpft und das Ergebnis in den Akkumu­ lator (2) setzt;
  • - bei einer Verzweigungsendpunkt-Anweisung (K 3) mit nach­ folgender Schaltkontakt-Anweisung (K 7, K 8) den aus dem ersten Stapelregister (PDR₁) ausgeschobenen Wert mit dem Zustandssignal des Schaltkontakts (A-E) logisch UND-verknüpft und das resultierende Ergebnis in den Akkumulator (2) setzt;
  • - bei einer Verzweigungsfortsetzungs-Anweisung (K 2) mit nachfolgender Anweisung (K 9), die eine Relaiswicklung (F) angibt, den am Ausgang des ersten Stapelregisters (PDR₁) liegenden Inhalt in den Akkumulator (2) setzt;
  • - bei einer Verzweigungsendpunkt-Anweisung (K 3) mit nach­ folgender Anweisung (K 9), die eine Relaiswicklung (F) angibt, den am Ausgang des ersten Stapelregisters (PDR₁) ausgeschobenen Wert in den Akkumulator (2) setzt; und
  • - bei einer Verzweigungsverbindungspunkt-Anweisung (K 5, K 6) den am Ausgang des zweiten Stapelregisters (PDR₂) liegenden Inhalt mit dem Inhalt des Akkumulators (2) logisch ODER-verknüpft und das resultierende Ergebnis in den Akkumulator (2) einspeichert.
2. Speicherprogrammierte Ablaufsteuerung nach Anspruch 1, dadurch gekennzeichnet, daß die Funktionen des ersten und zweiten Stapelregisters (PDR₁, PDR₂) durch Baugruppen eines Mikrocomputers, ins­ besondere durch vorbestimmte Teilbereiche von dessen Lese/Schreibspeicher in Verbindung mit dessen Akkumulator und dessen Mikrobefehlssteuerung, realisiert werden.
DE19823207057 1981-02-27 1982-02-26 Rechen- und steuerwerk fuer eine ablaufsteuerung Granted DE3207057A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56026747A JPS57141709A (en) 1981-02-27 1981-02-27 Operation processor for sequence controller

Publications (2)

Publication Number Publication Date
DE3207057A1 DE3207057A1 (de) 1982-10-07
DE3207057C2 true DE3207057C2 (de) 1990-04-19

Family

ID=12201883

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19823207057 Granted DE3207057A1 (de) 1981-02-27 1982-02-26 Rechen- und steuerwerk fuer eine ablaufsteuerung

Country Status (4)

Country Link
US (1) US4621317A (de)
JP (1) JPS57141709A (de)
DE (1) DE3207057A1 (de)
GB (1) GB2094028B (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6162902A (ja) * 1984-09-05 1986-03-31 Toshiba Corp プログラマブルコントロ−ラ
US4941081A (en) * 1985-06-03 1990-07-10 Microfast Controls Corp. Interrupt zone in rung of ladder program in programmable controller
JPH0827645B2 (ja) * 1987-04-27 1996-03-21 株式会社東芝 プログラマブルコントロ−ラ
US5034882A (en) * 1987-11-10 1991-07-23 Echelon Corporation Multiprocessor intelligent cell for a network which provides sensing, bidirectional communications and control
EP0386151B1 (de) * 1987-11-10 1996-06-19 Echelon Corporation Intelligente multiprozessor-zelle für ein netzwerk
US5373438A (en) * 1989-07-18 1994-12-13 Matsushita Electric Industrial Co., Ltd. Sequence controlling method
US10318904B2 (en) 2016-05-06 2019-06-11 General Electric Company Computing system to control the use of physical state attainment of assets to meet temporal performance criteria
TWI594102B (zh) * 2016-11-03 2017-08-01 緯創資通股份有限公司 電壓調節電路及其控制方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4025902A (en) * 1972-07-31 1977-05-24 Toyoda Koki Kabushiki Kaisha General purpose sequence controller
US4021783A (en) * 1975-09-25 1977-05-03 Reliance Electric Company Programmable controller
US4038533A (en) * 1976-09-29 1977-07-26 Allen-Bradley Company Industrial control processor system
US4217658A (en) * 1977-07-25 1980-08-12 Struthers-Dunn, Inc. Process control system that controls its outputs according to the results of successive analysis of the vertical input columns of a hypothetical ladder diagram
US4227247A (en) * 1977-10-12 1980-10-07 Eaton Corporation Integrated circuit controller programmable with unidirectional-logic instructions representative of sequential wire nodes and circuit elements of a ladder diagram
JPS54114687A (en) * 1978-02-27 1979-09-06 Toyoda Mach Works Ltd Sequence controller
US4244034A (en) * 1979-01-09 1981-01-06 Westinghouse Electric Corp. Programmable dual stack relay ladder line solver and programming panel therefor
US4247909A (en) * 1979-01-09 1981-01-27 Westinghouse Electric Corp. Programmable dual stack relay ladder diagram line solver with shift register
JPS5672703A (en) * 1979-11-19 1981-06-17 Yaskawa Electric Mfg Co Ltd Programmable controller equipped with contact logic circuit reader
JPS56162103A (en) * 1980-05-16 1981-12-12 Toshiba Mach Co Ltd Sequence control device
JPS56147203A (en) * 1980-04-17 1981-11-16 Toshiba Mach Co Ltd Sequence control device equipped with row cyclic operation part
US4396979A (en) * 1980-05-30 1983-08-02 Fairchild Camera & Instrument Corporation Microprocessor with improved arithmetic logic unit data path

Also Published As

Publication number Publication date
GB2094028B (en) 1984-09-12
US4621317A (en) 1986-11-04
GB2094028A (en) 1982-09-08
JPS57141709A (en) 1982-09-02
JPH0321923B2 (de) 1991-03-25
DE3207057A1 (de) 1982-10-07

Similar Documents

Publication Publication Date Title
DE1774296C2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE2912287C3 (de) Datenverarbeitungsanlage
DE1181461B (de) Adressenaddierwerk einer programm-gesteuerten Rechenmaschine
DE1549523B2 (de) Datenverarbeitungsanlage
DE2130299B2 (de) Eingabe-/Ausgabekanal für eine Datenverarb eitungsanlage
DE1524209B2 (de) Programmgesteuerte datenverarbeitungsanlage
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE2339636A1 (de) Programmsteuereinrichtung
EP0010185A1 (de) Virtuell-Adressiervorrichtung für einen Computer
DE3207057C2 (de)
DE69029608T2 (de) Digitale Signalprozessorvorrichtung
DE2336676C3 (de) Einrichtung zur Modifizierung von Mikroprogrammbefehlen
DE2245284A1 (de) Datenverarbeitungsanlage
DE3121046C2 (de)
DE2403669C3 (de) SpezialComputer
DE2632277A1 (de) Mikroprogrammierbarer computer fuer eine numerische steuervorrichtung
DE1774421B1 (de) Mehrprogramm datenverarbeitungsanlage
DE2425380C2 (de) Datenverarbeitungsanlage zur parallelen Ausführung von Verarbeitungsoperationen
DE2057587A1 (de) Inhaltsadressierter Speicher
DE2024584B2 (de) Steuereinrichtung für eine allgemeine Datenverarbeitungseinrichtung
DE2150292C2 (de) Mikroprogrammgesteuerte Datenverarbeitungsanlage mit überlagerter Ausführung und Entnahme von Befehlen
DE2727188A1 (de) Anordnung zum adressieren eines speichers
EP0561457A2 (de) Mikroprozessor zur Verarbeitung von Eingabe/Ausgabedaten
DE2735874C2 (de)
DE2327950C3 (de) Vorrichtung zur Steuerung industrieller Einrichtungen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8125 Change of the main classification

Ipc: G06F 9/06

8126 Change of the secondary classification

Ipc: G05B 15/02

D2 Grant after examination
8364 No opposition during term of opposition