DE3811658C2 - - Google Patents

Info

Publication number
DE3811658C2
DE3811658C2 DE3811658A DE3811658A DE3811658C2 DE 3811658 C2 DE3811658 C2 DE 3811658C2 DE 3811658 A DE3811658 A DE 3811658A DE 3811658 A DE3811658 A DE 3811658A DE 3811658 C2 DE3811658 C2 DE 3811658C2
Authority
DE
Germany
Prior art keywords
program
input
programmable logic
logic controller
memory
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
DE3811658A
Other languages
English (en)
Other versions
DE3811658A1 (de
Inventor
Katsuhiro Sakura Chiba Jp Fujiwara
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
Original Assignee
Hitachi 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 filed Critical Hitachi Ltd
Publication of DE3811658A1 publication Critical patent/DE3811658A1/de
Application granted granted Critical
Publication of DE3811658C2 publication Critical patent/DE3811658C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware

Description

Die Erfindung betrifft eine speicherprogrammierbare Steue­ rung gemäß dem Oberbegriff des Anspruchs 1. Eine solche speicherprogrammierbare Steuerung ist aus Siemens-Energie­ technik 5 (1983) H. 2 S. 56-59 bekannt. Bei herkömmlichen speicherprogrammierbaren Steuerungen sind folgende Teil­ funktionen zur Programmablaufverfolgung (debugging) vorge­ sehen:
  • 1. Festhalten des Eingabe/Ausgabe-Zustandes, sobald der Betrieb angehalten ist,
  • 2. ein Stop, nachdem ein Schritt (Befehl) durchgeführt ist, und
  • 3. ein Stop, nachdem eine Abtastung durchgeführt ist, wie dies in den JP-OS 40 605/1986, 57 403/1985 und 2 17 402/1985 angegeben ist.
Gemäß der JP-OS 40 605/1986, die eine herkömmliche spei­ cherprogrammierbare Steuerung behandelt, werden beim Um­ schalten der speicherprogrammierbaren Steuerung vom Be­ triebszustand zum Haltzustand alle Ausgänge, die abge­ schaltet werden sollen, in dem Zustand festgehalten, der gerade vor dem Betriebsstop erreicht worden ist. Daher läßt sich der Zustand, in dem die speicherprogrammierbare Steuerung angehalten worden ist auch nach dem Betriebsstop erkennen, wodurch es möglich wird, den Betrieb von dem Zu­ stand aus wieder aufzunehmen, der gerade vor dem Stop er­ reicht worden ist. Diese Betriebsweise gestattet es jedoch nicht, die speicherprogrammierbare Steuerung bei einem be­ stimmten Abschnitt eines Folgeprogramms (Netzwerks) anzu­ halten oder den Zustand in diesem Augenblick zu erkennen.
Gemäß der in der JP-OS 57 403/1985 angegebenen Betriebs­ weise wird die speicherprogrammierbare Steuerung nach je­ dem Schritt des Netzwerks angehalten. Diese Betriebsweise ermöglicht es, die Befehlsdurchführung an einer beliebigen Programmstufe genau zu erkennen. Im allgemeinen wird der Betreiber der speicherprogrammierbaren Steuerung jedoch nur auf den Steuervorgang bei einem Kontaktplan insgesamt achten und nicht darauf, in welcher Reihenfolge der Inhalt der speicherprogrammierbaren Steuerung abgearbeitet wird, oder darauf, ob der Kontaktplan unter Zerlegung in Programmschritte durchgeführt wird. In dieser Hinsicht ist daher die bekannte speicherprogrammierbare Steuerung um­ ständlich einzusetzen, da der Benutzer die Inhalte der speicherprogrammierbaren Steuerung verstehen muß, bevor er sie benutzen kann.
Gemäß der JP-OS 2 17 402/1985 wird die speicherprogrammier­ bare Steuerung am Ende einer Abtastung angehalten, was eine Verarbeitungsunterbrechung bei "Beginne von Neuem von Anfang an, wenn die Durchführung des Inhalts aller Pro­ grammspeicher beendet ist", bedeutet, was ein sogenanntes zyklisches Abtastverfahren darstellt, das ein Betriebs­ merkmal für diese speicherprogrammierbare Steuerung im Gegensatz zu dem nach der JP-OS 57 403/1985 darstellt.
Durch Untersuchung des Zustands der zu steuernden Objekte ist es möglich, den Zustand der Programmdurchführung zu erkennen und den Programmablauf zu verfolgen. Außerdem ist bei dieser speicherprogrammierbaren Steuerung anders als bei der nach der JP-OS 57 403/1985 kein spezielles Wissen über die Inhalte der speicherprogrammierbaren Steuerung erforderlich. Wenn jedoch das gleiche zu steuernde Objekt während einer Abtastung eine Veränderung zweimal oder öfter erfährt, wird es schwierig, den Zustand zu erfassen, bei dem es nicht möglich ist, eine vollständige Programm­ ablaufverfolgung durchzuführen.
Außerdem gestatten die drei vorstehend behandelten Bei­ spiele nur die Beherrschung der Einstellung eines einfa­ chen Haltezustands, sie reichen jedoch nicht aus, um eine Zustandserkennung auch nach den komplexen Bedingungen zu erlauben, wie sie der Programmablaufverfolgung eigen sind.
Aus der oben erwähnten Druckschrift Siemens-Energietechnik 5 ist ein einfacher Betriebsstop bekannt, der ein Steuer­ signal zum Anhalten des Betriebs erzeugt. Dieser Stop reicht jedoch, wie bereits ausgeführt, nicht aus, um den Zustand des zu steuernden Objekts und den Ablaufzustand des Programms auch nach einer komplexen, einer Folgepro­ grammablaufverfolgung eigenen, Bedingung zu erkennen.
Probleme bei dem geschilderten Stande der Technik liegen also darin, daß der Zustand, bei dem die speicher­ programmierbare Steuerung die Steueroperation durchführt, nicht mit hinreichender Genauigkeit erkannt wird und daß das Verfahren für die Bezeichnung der anzuwendenden Programmablaufverfolgung kompliziert wird.
Der Erfindung liegt die Aufgabe zugrunde, eine speicher­ programmierbare Steuerung zu schaffen, die den Vorgang der Programmablaufverfolgung vereinfacht und eine hinreichend genaue Zustandserfassung auch nach komplexen Stopbedin­ gungen ermöglicht.
Die gestellte Aufgabe wird gemäß der Erfindung gelöst durch eine speicherprogrammierbare Steuerung, wie sie im Patentanspruch 1 angegeben ist; vorteilhafte Ausgestaltun­ gen und Weiterbildungen der Erfindung ergeben sich aus den Unteransprüchen.
Nachfolgend wird die Bezeichnung SPS als Abkürzung für speicherprogrammierbare Steuerung verwendet.
Für die weitere Erläuterung der Erfindung wird nunmehr auf die Zeichnung Bezug genommen, in der bevorzugte Ausfüh­ rungsbeispiele für die Erfindung veranschaulicht sind. Da­ bei zeigt in der Zeichnung
Fig. 1 ein Schaltbild zur Veranschaulichung der Struktur eines Systems gemäß einem ersten Ausführungsbeispiel für die Erfindung,
Fig. 2 ein Diagramm zur Veranschaulichung der Datenstruktur in einem Befehlsregister,
Fig. 3 ein Diagramm zur Veranschaulichung der Datenstruktur in einem Zustandsregister,
Fig. 4 ein Diagramm zur Veranschaulichung eines Kontaktplans,
Fig. 5 ein Diagramm zur Veranschaulichung eines Folgeprogrammanfangscodes (Netzwerkanfangscodes),
Fig. 6 ein Diagramm zur Veranschaulichung eines dem Kontaktplan von Fig. 4 entsprechenden Programms,
Fig. 7 ein Diagramm für den Verarbeitungsfluß gemäß einem ersten Ausführungsbeispiel,
Fig. 8 ein Blockschaltbild zur Veranschaulichung der Struktur größerer Teile einer SPS gemäß einem zweiten Ausführungsbeispiel,
Fig. 9 ein Flußdiagramm zur Veranschaulichung des Betriebs dieser SPS,
Fig. 10 ein Diagramm zur Veranschaulichung eines zu verarbeitenden Kontaktplans,
Fig. 11 ein Zeitdiagramm für Ausgangssignale,
Fig. 12 ein Blockschaltbild zur Veranschaulichung der Struktur größerer Teile einer SPS gemäß einem dritten Ausführungsbeispiel,
Fig. 13 ein Flußdiagramm zur Veranschaulichung des Betriebs dieser SPS,
Fig. 14 ein Diagramm zur Veranschaulichung eines zu verarbeitenden Kontaktplans,
Fig. 15 ein Zeitdiagramm für Ausgabesignale,
Fig. 16 ein Blockschaltbild zur Veranschaulichung der Struktur größerer Teile einer SPS gemäß einem vierten Ausführungsbeispiel,
Fig. 17 ein Flußdiagramm zur Veranschaulichung des Betriebs dieser SPS,
Fig. 18 ein Diagramm zur Veranschaulichung eines zu verarbeitenden Kontaktplans und
Fig. 19 ein Zeitdiagramm für Ausgabesignale.
Die Darstellung in Fig. 1 zeigt ein Blockschaltbild für eine SPS, die den Programmablauf nach der Verarbeitung von n Netzwerken gemäß einem ersten Ausführungsbeispiel anhält und deren Struktur nun im einzelnen beschrieben werden soll.
Ein Programmspeicher 1 speichert ein einem Kontaktplan entsprechendes Programm, das aus einer Mehrzahl von Netz­ werken (Kontaktplanuntereinheiten) besteht. Der Inhalt des Programmspeichers 1 ist in Fig. 6 veranschaulicht. Ein Kontaktplan für diesen Fall ist in Fig. 4 gezeigt. Dieser Kontaktplan soll im folgenden als in Kontaktplanunterein­ heiten (Netzwerke) unterteilt betrachtet werden. Die Netz­ werke sind im Programmspeicher 1 gespeichert unter Angabe eines Netzwerkanfangscodes als eine Unterbrechung des Netzwerks für jede der Kontaktplaneinheiten. Wenn dieser Netzwerkanfangscode auftritt, heißt das, daß die Auslesung des vorangehenden Netzwerks beendet ist und daß die Prozedur neu aufzunehmen ist, um das nächste Netzwerk zu lesen.
Eine Verarbeitungseinheit 2 liest die Netzwerke nachein­ ander aus dem Programmspeicher 1 aus, führt die Befehls­ verarbeitung entsprechend den Eingabebedingungen an einer Befehlsfolgeeingabe 5 durch und gibt das Ergebnis als eine Befehlsausgabe 6 an eine Steuervorrichtung ab. Außerdem prüft die Verarbeitungseinheit 2 für jeden ausgelese­ nen Code, ob er ein Anfangscode für ein Netzwerk ist oder nicht, und hält die Auslesung aus dem Netzwerk an, wenn eine Zahl n für die Schritte der Kontaktplan erreicht ist.
Zwischen der Verarbeitungseinheit 2 und einem Periphe­ rieterminal 4 für die Einspeisung verschiedener externer Daten ist ein Verbindungssteuerungsprozessor 3 eingeschal­ tet.
Die Verarbeitungseinheit 2 besteht aus einer Mehrzahl von einzelnen Baustufen, die in der folgenden Erläuterung der Betriebsweise noch im einzelnen beschrieben werden.
Die Verarbeitungseinheit 2 liest nacheinander die Netzwerke aus dem Programmspeicher 1 aus, führt auf der Grundlage des Zustandes der Eingabe 5 (Befehlsfolgeein­ gabe) von dem zu steuernden Objekt die dem Programm ent­ sprechende Operation aus und erzeugt eine Ausgabe 6 (Be­ fehlsfolgeausgabe) für das zu steuernde Objekt.
In vielen Fällen ist außerdem in Form des Peripherietermi­ nals 4 der Anschluß von Monitor- und Programmiergeräten an die Verarbeitungseinheit 2 vorgesehen. Zusätzlich zu der Vearbeitungseinheit 2 besorgt der Verbindungs­ steuerungsprozessor 3 die Verbindung zu dem Peripherie­ terminal 4 unabhängig von der Befehlsverarbeitung.
Bei weiterer ins einzel gehender Betrachtung besteht die Verarbeitungseinheit 2 aus einem Befehlsprozessor 21, der in der Hauptsache die Verarbeitung für den Speicher 1 bewirkt, einer Eingabe/Ausgabe-Steuerung 23, die zur Steue­ rung der Befehlsfolgeeingabe 5 und der Befehlsfolgeausgabe 6 dient, und einer Operationssteuerung 22, die in der Hauptsache den Betrieb des Verbindungssteuerungsprozessors 3 steuert.
Bei noch weiter ins einzel gehender Betrachtung weist der Befehlsprozessor 21 einen Taktsignalgenerator 211 auf, der Taktsignale erzeugt, so daß jede Baustufe ordnungsgemäß arbeitet. Zunächst erzeugt ein Programmzähler 212 eine Programmadresse für den Speicher 1, wodurch Programmdaten ausgelesen werden, die dieser Adresse entsprechen. Diese Daten werden einmal in einem Befehlsregister 213 gespei­ chert und einem angeschlossenen Befehlsdekoder 214 zuge­ führt, der entsprechend der Interpretation eines Befehls das entsprechende Steuersignal an die Eingabe/Ausgabe- Steuerung 23 und an einen Befehlsprozessor 215 abgibt. Der Befehlsprozessor 215 führt die Operation gestützt auf die Daten aus der Eingabe/Ausgabe-Steuerung 23 durch und gibt das Ergebnis an die Eingabe/Ausgabe-Steuerung 23 zurück, womit die Befehlsfolgeoperation durchgeführt ist.
Bei Empfang eines Folgelauf/Stop-Befehls aus dem Prozessor 3, d. h. vom Peripherieterminal 4 her, gibt die Operations­ steuerung diesen an den Taktsignalgenerator 211 weiter, um die SPS anzuhalten oder in Lauf zu setzen, und außerdem informiert sie den Prozessor 3 über den Zustand, wenn die SPS angehalten wird.
Das erstere geschieht, wenn vorgegebene Daten durch den Prozessor 3 in ein Befehlsregister 222 eingeschrieben, an eine Lauf/Halt-Steuerung 221 abgegeben und schließlich zu dem Taktsignalgenerator 211 weitergeleitet werden.
Das letztere geschieht, indem der Prozessor 3 so rasch wie möglich aus einem Stopsignalgenerator 224 über das Anhalten der SPS und aus einem Zustandsregister 223 über die Ursache oder den Grund für dieses Anhalten der SPS informiert wird.
Zu den gemäß der Erfindung vorgesehenen Baustufen gehören weiter ein Programmanfangsdetektor 216, der in Erweiterung zu dem Befehlsdekoder 214 zur Codebestimmung dient, ein Anfangscodezähler 225, der die Eingaben für den Programm­ anfangsdetektor 216 zählt, und die Lauf/Halt-Steuerung 221, die zum Anhalten der Verarbeitung dient, sobald der im Anfangscodezähler 225 gezählte Werte größer wird als die Anzahl der über das Peripherieterminal 4 als Eingabestufe eingegebenen Folgeschaltungen.
Die Darstellungen in Fig. 2 und 3 veranschaulichen die Bitstrukturen für das Befehlsregister 222 bzw. für das Zustandsregister 223 der SPS.
Gemäß Fig. 2 besteht das Befehlsregister 222 aus einem Betriebsbefehlsbit ("1" steht für Lauf und "0" für Halt), einem Mode-Einstellbit ("1" steht für Halt (Setzen) und "0" für Lauf (Rücksetzen)) zum Anhalten nach Durchführung von n Netzwerken und einem Register für den gezählten Wert der Programmanfangcodes.
Gemäß Fig. 3 besteht das Zustandsregister 223 aus einem Kennzeichenbit ("1" steht für Halt und "0" steht für Lauf) für den Betrieb der SPS, einem Anzeigebit ("1" steht für einen Halt nach Durchführung von n Program­ men, und "0" steht für eine andere Ursache) für die Stop­ ursache und einem Kennzeichen für die Stopursache.
Die Darstellung in Fig. 4 gibt einen Kontaktplan wieder, während die Darstellung in Fig. 6 den Zustand veranschau­ licht, in dem der Kontaktplan von Fig. 4 in einen Befehlsprogrammspeicher gespeichert steht. Fig. 5 zeigt einen Netzwerk­ anfangscode. Dieser Code tritt nur am Netzwerkanfang auf und findet sich nicht im Programm selbst.
Dabei veranschaulicht Fig. 4 einen Kontaktplan, der aus einer Anzahl von Untereinheiten, den Netzwerken besteht. Fig. 6 zeigt ein Beispiel, bei dem der Kontaktplan programmiert und im Speicher 1 gespeichert ist. Der in Fig. 5 gezeigte Netzwerkanfangscode wird für jeden Kontaktplan vorgesehen und in die jeweilige Kopfadresse Speicher 1 eingetragen.
Als nächstes soll der Betrieb für ein Anhalten nach Durchführung von n Netzwerken, wie er im Sinne der vorlie­ genden Erfindung liegt, in Verbindung mit der Darstellung in Fig. 7 beschrieben werden, wobei der Einfachheit halber der Fall n = 1 zugrundegelegt wird.
Zunächst wird bei in Ruhe befindlicher SPS die Zahl n aus dem Peripherieterminal 4 eingegeben. Im gewählten Falle wird der Wert n = 1 eingegeben. Der eingegebene Wert n wird durch den Verbindungssteuerungspro­ zessor 3 an das Befehlsregister 222 abgegeben und darin in einem Programmanfangszählregister gespeichert. Als nächstes wird der Wert 1 an das Mode-Einstellbit für das Anhalten nach Durchführung von n Programmen im Befehlsregi­ ster 222 abgegeben, um den Modus für das Anhalten nach Durchführung von n Programmen einzustellen. Sodann wird 1 eingegeben an das Betriebsbefehlbit für die SPS im Befehlsregister 222, um die SPS in Lauf zu setzen. Anschließend führt die SPS die Befehle durch. Bei dem gewählten Beispiel wird jedesmal dann, wenn ein Netzwerkanfangscode erfaßt wird, im Zähler 225 1 hinzuaddiert. Wenn der Zählerstand 2 erhalten wird, also, wenn nach dem Auftreten des ersten Netzwerk­ anfangs der zweite Netzwerkanfang aufgetreten ist oder in anderen Worten, wenn ein Programm durchgeführt ist, wird ein Signal aus dem Stopsignalgenerator 224 als interner Stopbefehl an die Lauf/Halt-Steuerung 221 und als externes Stopinformationssignal an den Prozessor 3 abgegeben, und die SPS angehalten. In diesem Augenblick hält die SPS ihren Zustand fest. Wenn daher zu einem späteren Zeitpunkt unter Verwendung des Peripherieterminals 4 der Zustand abgefragt wird, läßt sich der Zustand nach Durchführung eines Programmes erkennen.
Der Betreiber bezeichnet außerdem die Kontaktpläne, die von ihm mit dem Erfordernis einfacher Betriebswei­ se voll verstanden werden können.
Gemäß diesem Ausführungsbeispiel kann die Programmablaufverfolgung für jeden der Kontaktpläne, die sinnvolle Minimumeinhei­ ten für das Programm darstellen, angegeben werden, wodurch es möglich wird, die für die Ablaufverfolgung erforderliche Zeit zu reduzieren auf:
etwa 1/10 im Vergleich zu dem Fall, daß überhaupt keine Programm­ ablaufverfolgung vorhanden ist,
etwa 1/10 im Vergleich zu dem Fall, daß eine Funktion mit Festhalten des Zustandes beim Stop des Betriebs vorhan­ den ist,
etwa 1/2 im Vergleich zu dem Fall, daß es eine Funktion mit Anhalten nach der Durchführung eines Schritts gibt, und
etwa 1/3 im Vergleich zu dem Fall, daß es eine Funktion für ein Anhalten nach der Durchführung einer Abtastung gibt.
Für ein Anhalten der Verarbeitung nach Durchführung einer vorgegebenen Anzahl von Programmen sollte n auf eine andere Zahl als 1 geändert werden, und 1 + 1 dient zur Erkennung des Anhaltens.
Gemäß dem oben beschriebenen Ausführungsbeispiel wird ein Netzwerk durch die SPS erkannt durch:
  • 1. Definition eines Netzwerkanfangscodes und
  • 2. die Anordnung von Mitteln, die erkennen, ob ein während der Durchführung des Programms ausgelesener Programmcode ein Netzwerkanfangscode ist oder nicht.
Außerdem wird das Ergebnis der Codeerkennung als eine Ein­ gabe zusammen mit anderen Zuständen als weitere Eingaben für das Anhalten der SPS nutzbar gemacht, um die gewünschten Operationen, wie:
  • A Anhalten nach jedem Programm (Netzwerk),
  • B Anhalten nach jeweils n Programmen,
  • C Anhalten nach Durchführung eines Programms, das ein spezielles zu steuerndes Objekt einschließt,
  • D Anhalten nach Durchführung eines Programms, das einen bestimmten Code enthält, und
  • E Anhalten nach mehrfacher Durchführung von Programmen gemäß C bzw. D
zu erhalten.
Die Fälle A und B sind bereits oben in Verbindung mit dem vorstehenden Ausführungsbeispiel behandelt. Die Einrichtung zum Anhalten der SPS weist einen Inhalt auf, der in Abhängigkeit von der gewünschten Operation variiert, und es sind konkrete Mittel erforderlich, wie sie nachstehend angegeben sind:
  • Mittel für A: Anhalten bei Zählerstand 2 für die Signale vom Detektor und
  • Mittel für B: Anhalten beim Zählerstand n + 1 für die Signale aus dem Detektor.
  • Mittel für C: Mittel zum Speichern der Durchführung eines Zugriffscodes für ein bestimmtes zu steuern­ des Objekt und zum Anhalten bei Erfüllung der UND-Bedingung für ein Signal von diesen Mitteln und einem Signal aus dem Detektor.
  • Mittel für D: Mittel zum Speichern der Durchführung eines bestimmten Codes und zum Anhalten bei Erfül­ lung der UND-Bedingung für ein Signal von diesen Mitteln und einem Signal aus dem Detektor.
  • Mittel für E: Mittel zum Zählen der Anzahl einer Erfüllung der UND-Bedingungen entsprechend C bzw. D und Mittel zum Vergleichen dieser Anzahl mit der für das Anhalten vorgegebenen Anzahl von Malen eines solchen Auftretens und zum An­ halten, wenn die verglichenen Ergebnisse miteinander übereinstimmen.
Die oben erwähnten Fälle C, D und E sollen nunmehr im einzelnen behandelt werden.
Der Fall C entspricht einem zweiten Ausführungsbeispiel, das Mittel zum Anhalten der Verarbeitung der SPS enthält, nachdem ein Programm, das einen Programmschritt enthält, der ein bestimmtes zu steuerndes Objekt bezeichnet, eine vorgegebene Anzahl von Malen durchgeführt worden ist. Der Aufbau größerer Teile, ein Flußdiagramm für den Betrieb, ein Befehlsprogramm und ein Zeitdiagramm für Ausgaben zu diesem Ausführungsbeispiel sind in Fig. 8, 9, 10 bzw. 11 dargestellt.
In Fig. 8 weist ein Befehlsdekoder 214 zusätzlich zu einem Netzwerk­ anfangsdetektor 216 einen Komparator 350, ein Ein­ gabe/Ausgabe-Einstellregister 330 und eine Verriegelung 360 auf. Dem Dekoder 214 wird ein Netzwerk von einem Befehlsregister 213 über einen Bus 300 zugeführt, der sich im Dekoder 214 in zwei Seitenbusse 300 a und 300 b verzweigt, von denen der eine (300 a) zum Netzwerkanfangsdetektor 216 und der andere (300 b) zu einem Eingang des Komparators 350 führt. Die Busse 300 a und 300 b übertragen Codebits und Operandenbits des Netzwerks. Am anderen Eingang wird dem Komparator 350 ein Operand eingegeben, der ein bestimm­ tes zu steuerndes Objekt bezeichnet und von dem Peripherie­ terminal 4 über den Prozessor 3, einen Bus 320, das Ein­ gabe/Ausgabe-Einstellregister 330 und einen Bus 322 geführt wird.
Der Komparator 350 erzeugt ein Ausgangssignal, wenn ein ihm aus dem Befehlsregister 213 zugeführtes Signal mit einem Signal aus dem Eingabe/Ausgabe-Einstellregister 330 über­ einstimmt, und dieses Ausgangssignal wird einem Setz-Ein­ gangsanschluß der Verriegelung 360 zugeführt. Dadurch wird die Verriegelung 360 gesetzt, und es tritt an ihrem Aus­ gabeanschluß Q eine Ausgabe auf. Der Netzwerkanfangsdetek­ tor 216 erzeugt jedesmal dann ein Ausgangssignal, wenn ein Netzwerkanfangscode erfaßt wird, und dieses Ausgangssignal wird der Verriegelung 316 an einem Rücksetz- Anschluß als Eingangssignal zugeführt. Dadurch wird die Verriegelung 360 rückgesetzt, und entsprechend wird die an ihrem Ausgabeanschluß Q erzeugte Ausgabe rückgesetzt.
Wenn ein in Fig. 10 gezeigter Kontaktplan vorliegt, ent­ sprechen die Eingabe und die Ausgabe für die Verriegelung 360 der Darstellung in Fig. 11.
Auf diese Weise wird eine Einrichtung erhalten, die den Ausgang Q jedesmal setzt, wenn die durch das Eingabe/Aus­ gabe-Einstellregister 330 gesetzte Eingabe/Ausgabe-Zahl in der Schaltung erzeugt wird, und die die weitere Verarbei­ tung in der SPS anhält, nachdem das Programm, das einen Programmschritt enthält, der ein bestimmtes zu steuerndes Objekt bezeichnet, eine vorgegebene Anzahl von Malen durchgeführt worden ist.
Dem Fall D entspricht ein drittes Ausführungsbeispiel, bei dem Mittel zum Anhalten der Verarbeitung der SPS vorgesehen sind, die selektiv auf ein Programm mit einem speziellen Zustand ansprechen, das einem speziellen zu steuernden Objekt entspricht. Dieses Ausfüh­ rungsbeispiel ist in Fig. 12, 13, 14 und 15 in Form einer Darstellung größerer Schaltungsteile, eines Flußdiagramms für den Betrieb, eines Kontaktplans bzw. eines Zeitdia­ gramms für Ausgaben veranschaulicht.
In Fig. 12 enthält ein Befehlsdekoder 214 zusätzlich zu einem Netzwerkempfangsdetektor 216 einen Komparator 350, ein Eingabe/Ausgabe-Einstellregister 330, eine Verriegelung 360 und eine UND-Schaltung 370 mit zwei Eingängen. Von einem Befehlsregister 213 wird dem Dekoder 214 ein Kontaktplan über einen Bus 300 zugeführt, der sich im Dekoder 214 in zwei Seitenbusse 300 a und 300 b verzweigt, von denen der eine (300 a) zum Netzwerkanfangsdetektor 216 und der andere (300 b) zu einem Eingang des Komparators 350 führt. Die Busse 300 a und 300 b übertragen Codebits und Operandenbits aus dem Folgeprogramm.
In Fig. 12 zweigt von dem Seitenbus 300 b weiter ein Bus 300 c ab, der zu der Eingabe/Ausgabe-Steuerung 23 führt.
Am anderen Eingang wird dem Komparator 350 ein Operand eingegeben, der ein spezielles zu steuerndes Objekt be­ zeichnet und von dem Peripherieterminal 4 her über den Prozessor 3, einen Bus 320, das Eingabe/Ausgabe-Einstell­ register 330 und einen Bus 322 zugeführt wird.
Der Komparator 350 erzeugt ein Ausgangssignal, wenn ein ihm vom Befehlsregister 213 zugeführtes Signal mit einem Signal aus dem Eingabe/Ausgabe-Einstellregister 330 übereinstimmt, und dieses Ausgangssignal wird der Verriegelung 360 über die UND-Schaltung 370 an einem Setz-Eingangsanschluß zuge­ führt. An dem anderen Eingang der UND-Schaltung 370 liegen Daten, wie beispielsweise Ein- und Aus-Signale von Kontak­ ten und dergleichen an, die von der Befehlsfolgeeingabe 5 kommen und über die Eingabe/Ausgabe-Steuerung 23 bezeichnet werden. Damit wird die Verriegelung 360 gesetzt, wenn der Komparator 350 eine Ausgabe erzeugt und gleichzeitig eine bezeichnete Befehlsfolgeeingabe 5 vorliegt, und diese Aus­ gabe tritt am Ausgabeanschluß Q der Verriegelung 360 auf.
Der Netzwerkanfangsdetektor 216 erzeugt seinerseits immer dann ein Ausgangssignal, wenn im Programm ein Netzwerk­ anfangscode auftritt, und dieses Ausgangssignal wird der Verriegelung 360 an einem Rücksetz-Anschluß zugeführt. Damit wird die Verriegelung 360 rückgesetzt, und ebenso wird die an ihrem Ausgangsanschluß Q stehende Ausgabe rück­ gesetzt.
Wenn ein Kontaktplan vorliegt, wie er in Fig. 14 veran­ schaulicht ist, so werden an der Verriegelung 360 Eingaben und Ausgaben erhalten, wie sie in Fig. 15 gezeigt sind.
Auf diese Weise entsteht eine Einrichtung, die den Ausgang Q immer dann setzt, wenn die durch das Eingabe/Ausgabe- Einstellregister 330 eingestellte Eingabe/Ausgabe-Zahl in der Schaltung unter einer speziellen Bedingung (beispiels­ weise dem Schließen eines Kontaktes) für eine bezeichnete Befehlseingabe erzeugt wird, und die einen weiteren Betrieb des Sequenz-Controllers anhält, der damit selektiv durch eine Schaltung unter einer speziellen Bedingung für ein spezielles zu steuerndes Objekt angehalten wird.
Der Fall E entspricht einem vierten Ausführungsbeispiel, bei dem Vorkehrungen getroffen sind, um die Verarbeitung der SPS anzuhalten, nachdem eine Schaltung, die einen speziellen Netzwerk-Programmcode enthält, eine vorgegebene Anzahl von Malen durchgeführt worden ist. Der Aufbau größerer Teile, ein Flußdiagramm für den Be­ trieb, ein Kontaktplan und ein Zeitdiagramm für Ausgaben zu diesem Ausführungsbeispiel sind in Fig. 16, 17, 18 bzw. 19 gezeigt.
In Fig. 16 enthält ein Befehlsdekoder 214 zusatzlich zu einem Netzwerkanfangsdetektor 216 einen Komparator 350, ein Befehlseinstellregister 332 und eine Verriegelung 360. Dem Befehlsdekoder 214 wird in Fig. 16 ein Netzwerk vom Befehlsregister 213 über einen Bus 300 zugeführt, der sich im Dekoder 214 in zwei Seitenbusse 300 a und 300 a′ ver­ zweigt, von denen der eine (300 a) zu dem Netzwerkanfangs­ detektor 216 und der andere (300 a′) zu einem Eingang des Komparators 350 führt. Die Busse 300 a und 300 a′ übertragen Codebits im Netzwerk.
Am anderen Eingang des Komparators 350 liegt als Eingangs­ signal ein Signal für die Bezeichnung eines speziellen Befehls (z. B. UND, ODER und dergleichen), der von dem Peripherieterminal 4 her über den Prozessor 3, einen Bus 320, das Befehlseinstellregister 332 und einen Bus 322 zugeführt wird.
Der Komparator 350 erzeugt ein Ausgangssignal, wenn ein ihm vom Befehlsregister 213 zugeführtes Signal mit einem Signal aus dem Befehlseinstellregister 332 übereinstimmt, und dieses Ausgangssignal wird der Verriegelung 360 an einem Setz-Eingangsanschluß als Eingangssignal zugeführt. Damit wird die Verriegelung 360 gesetzt, und an ihrem Ausgangs­ anschluß Q tritt eine Ausgabe auf. Der Netzwerkanfangs­ detektor 216 erzeugt seinerseits jedesmal dann ein Aus­ gangssignal, wenn im Programm ein Netzwerkanfangscode fest­ gestellt wird, und dieses Ausgangssignal wird der Verrie­ gelung 360 an einem Rücksetz-Anschluß als Eingangssignal zugeführt. Damit wird die Verriegelung 360 rückgesetzt, und ebenso wird die an ihrem Ausgabe-Anschluß Q erzeugte Aus­ gabe rückgesetzt.
Wenn der Kontaktplan die in Fig. 18 dargestellte Form hat, werden an der Verriegelung 360 Eingaben und Ausgaben erhalten, wie sie in Fig. 19 gezeigt sind.
Auf diese Weise erhält man eine Einrichtung, die das Aus­ gabesignal Q immer dann setzt, wenn der durch das Befehls- Einstellregister 332 eingestellte Befehl in der Folgeschal­ tung erzeugt wird, und das den weiteren Betrieb der SPS anhält, nachdem der Kontaktplan, der einen speziellen Programmcode enthält, eine vorgege­ bene Anzahl von Malen durchgeführt worden ist.
Bei den oben beschriebenen Ausführungsbeispielen ist ein Code, der eine Unterbrechung des Programms angibt, am Anfang jedes Netzwerks vorgesehen. Gemäß der Erfin­ dung muß ein Code, der eine Unterbrechung bezeichnet, aber nicht notwendigerweise am Anfang des Programms vorgesehen werden, sondern er kann auch am Ende des Folgeprogramms vorgesehen werden. Um die Verarbeitung nach n-maliger Durchführung anzuhalten, muß dann die Programmdurchführung gestoppt werden, wenn die Anzahl der Codes den Wert n erreicht hat.
Es ist weiter möglich, einen Code, der eine Unterbrechung des Programms bezeichnet, an einer bestimmten Stelle, beispielsweise an der vorletzten Stelle im Netzwerk vorzusehen, um die Durchführung des Programms nach Vornahme einer vorgegebenen Anzahl von Durchgängen seit der Erfas­ sung des Befehls anzuhalten.
Beim Durchführen einer Programmablaufverfolgung an einem Programm unter Verwendung einer SPS gemäß der Erfindung,wie er oben beschrieben worden ist, kann der Betreiber der SPS den Durchfüh­ rungszustand jedes Programms leicht feststellen, wodurch es möglich wird, die Zeit für die Fehlerbeseitigung stark zu verkürzen.

Claims (9)

1. Speicherprogrammierbare Steuerung mit einem Speicher (1) zum Speichern eines Programms, einem Prozessor (2) zum Auslesen des Programms aus dem Speicher und zu seiner Verarbeitung, wobei die Verarbeitung des Programms durch ein Steuersignal angehalten wird, gekennzeichnet durch einen mit dem Speicher verbundenen Dekoder (216) zum Erkennen festgelegter Daten aus dem Programm, durch einen mit dem Dekoder verbundenen Zähler (212) zum Zählen der Anzahl der während der Verarbeitung erkannten festgelegten Daten, durch eine Eingabeein­ richtung (23) zum Eingeben eines numerischen Wertes, der einer vorgegebenen Anzahl der festgelegten Daten entspricht und durch einen Komparator (225) zum Ver­ gleichen eines gezählten Wertes des Zählers mit dem numerischen Wert und zum Erzeugen des Steuersignals, wenn der gezählte Wert den numerischen Wert erreicht.
2. Speicherprogrammierbare Steuerung nach Anspruch 1, da­ durch gekennzeichnet, daß mit dem Komparator (225) eine von diesem mit dem Steuersignal gespeiste Anzeigeein­ richtung zum Anzeigen des Anhaltens der Programmverar­ beitung verbunden ist.
3. Speicherprogrammierbare Steuerung nach Anspruch 2, da­ durch gekennzeichnet, daß die festgelegten Daten in Operationscodes des Programms eingearbeitet sind, und daß der Dekoder (216) mit dem Speicher (1) über einen Bus für die Übertragung der Operationscodes verbunden ist.
4. Speicherprogrammierbare Steuerung nach Anspruch 1, da­ durch gekennzeichnet, daß die festgelegten Daten ein bestimmter Operationscode sind.
5. Speicherprogrammierbare Steuerung nach Anspruch 4, da­ durch gekennzeichnet, daß als Bestandteil des Dekoders (216) ein weiterer Komparator (350) vorhanden ist, von dem ein erster Eingang mit dem Speicher (1) über einen Bus für die Übertragung der Operationscodes verbunden ist, während ein anderer Eingang des weiteren Kompara­ tors mit der Eingabeeinrichtung (23) verbunden ist, und daß der weitere Komparator ein Ausgangssignal an den Zähler (225) liefert, wenn die Signale auf seinen beiden Eingängen übereinstimmen.
6. Speicherprogrammierbare Steuerung nach Anspruch 1, dadurch gekennzeichnet, daß die festgelegten Daten ein bestimmter Operand sind.
7. Speicherprogrammierbare Steuerung nach Anspruch 6, da­ durch gekennzeichnet, daß als Bestandteil des Dekoders (216) ein weiterer Komparator (350) vorhanden ist, von dem ein erster Eingang mit dem Speicher (1) über einen Bus verbunden ist, der die Operanden überträgt, während ein zweiter Eingang des weiteren Komparators mit der Eingabeeinrichtung verbunden ist, und daß der weitere Komparator ein Ausgangssignal an den Zähler (225) liefert, wenn die Signale auf seinen beiden Eingängen übereinstimmen.
8. Speicherprogrammierbare Steuerung nach Anspruch 1, da­ durch gekennzeichnet, daß die festgelegten Daten ein Signal sind, das einen bestimmten Zustand eines von der speicherprogrammierbaren Steuerung gesteuerten Objekts darstellt.
9. Speicherprogrammierbare Steuerung nach Anspruch 8, da­ durch gekennzeichnet, daß als Bestandteil des Dekoders (216) ein weiterer Komparator (350) und eine UND- Schaltung (370) mit zwei Eingängen verbunden sind, die als einen Eingang ein Ausgangssignal des weiteren Kom­ parators und als einen zweiten Eingang das Signal von dem zu steuernden Objekt zugeführt erhält, das den be­ stimmten Zustand darstellt, wobei ein erster Eingang des weiteren Komparators mit dem Speicher (1) über einen Bus für die Übertragung der Operanden verbunden ist und ein zweiter Eingang des weiteren Komparators mit der Eingabeeinrichtung (23) in Verbindung steht, und daß der weitere Komparator ein Ausgangssignal an den Zähler (225) liefert, wenn die Signale auf seinen beiden Eingängen übereinstimmen.
DE3811658A 1987-04-07 1988-04-07 Sequenz-controller Granted DE3811658A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62083802A JPS63250702A (ja) 1987-04-07 1987-04-07 シ−ケンスコントロ−ラ

Publications (2)

Publication Number Publication Date
DE3811658A1 DE3811658A1 (de) 1988-10-27
DE3811658C2 true DE3811658C2 (de) 1990-03-22

Family

ID=13812791

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3811658A Granted DE3811658A1 (de) 1987-04-07 1988-04-07 Sequenz-controller

Country Status (3)

Country Link
US (1) US5070476A (de)
JP (1) JPS63250702A (de)
DE (1) DE3811658A1 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2526688B2 (ja) * 1990-02-22 1996-08-21 三菱電機株式会社 プログラマブルコントロ―ラおよびシ―ケンスプログラムの部分実行方法
JP2526690B2 (ja) * 1990-02-27 1996-08-21 三菱電機株式会社 プログラマブルコントロ―ラの制御方法
JP2743622B2 (ja) * 1991-06-17 1998-04-22 三菱電機株式会社 数値制御装置
GB2266605B (en) * 1992-04-27 1995-10-11 Intel Corp Microprocessor having a run/stop pin for accessing an idle mode
GB2266606B (en) * 1992-04-27 1996-02-14 Intel Corp A microprocessor with an external command mode
US6240508B1 (en) * 1992-07-06 2001-05-29 Compaq Computer Corporation Decode and execution synchronized pipeline processing using decode generated memory read queue with stop entry to allow execution generated memory read
US5321603A (en) * 1992-12-15 1994-06-14 Allen-Bradley Company, Inc. Programming apparatus for an industrial controller using two-dimensional graphic behavior profiles
JPH08123515A (ja) * 1994-10-25 1996-05-17 Fanuc Ltd シーケンス・プログラムの表示方式
FR2757653B1 (fr) * 1996-12-20 1999-03-12 Sextant Avionique Controleur d'entrees-sorties autonome et deporte
JP3663106B2 (ja) * 2000-02-28 2005-06-22 東芝機械株式会社 データ入出力装置
JP4582167B2 (ja) * 2007-04-27 2010-11-17 ダイキン工業株式会社 群管理装置及び群管理プログラム
CN103425066B (zh) * 2013-08-02 2015-11-25 上海华力微电子有限公司 一种晶圆批量作业动态处理系统及其处理方法
JP5937637B2 (ja) * 2014-04-30 2016-06-22 ファナック株式会社 シーケンスプログラムの切り替え時に、切り替え予告信号を出力する制御装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6024963B2 (ja) * 1978-03-16 1985-06-15 豊田工機株式会社 シ−ケンスコントロ−ラ
DE2954553C2 (de) * 1978-10-15 1993-08-05 Canon K.K., Tokio/Tokyo, Jp
JPS56108109A (en) * 1980-02-01 1981-08-27 Fanuc Ltd Programmable sequence controller
JPS56162103A (en) * 1980-05-16 1981-12-12 Toshiba Mach Co Ltd Sequence control device
JPS5723110A (en) * 1980-07-18 1982-02-06 Hitachi Ltd Sequence controller
JPS5760411A (en) * 1980-09-29 1982-04-12 Toyoda Mach Works Ltd Status display device of sequence controller
JPS5868109A (ja) * 1981-10-17 1983-04-22 Toshiba Mach Co Ltd 機能拡張性を有するプログラマブルシ−ケンスコントロ−ラ
JPS59205605A (ja) * 1983-05-07 1984-11-21 Hitachi Ltd シ−ケンス制御装置
JPS6057403A (ja) * 1983-08-29 1985-04-03 Mitsubishi Electric Corp シ−ケンスコントロ−ラ
JPS60217402A (ja) * 1984-04-11 1985-10-31 Matsushita Electric Works Ltd シ−ケンサ
JPS6140605A (ja) * 1984-08-01 1986-02-26 Koyo Denshi Kogyo Kk プログラマブルコントロ−ラ
JPS61190607A (ja) * 1985-02-18 1986-08-25 Toyoda Mach Works Ltd 異常停止機能を備えた数値制御工作機械
JPH0670764B2 (ja) * 1985-03-06 1994-09-07 株式会社日立製作所 シ−ケンス制御装置
JPH0713778B2 (ja) * 1985-08-30 1995-02-15 株式会社日立製作所 プログラマブルシ−ケンスコントロ−ラ
JPS62117001A (ja) * 1985-11-16 1987-05-28 Hitachi Ltd プログラマブルシ−ケンスコントロ−ラの入出力処理方法
DE3750132T2 (de) * 1986-10-08 1994-10-20 Hitachi Ltd Folgesteuervorrichtung.
JPH06140605A (ja) * 1992-04-08 1994-05-20 Nec Corp ゲートアレイ
JPH0657403A (ja) * 1992-08-14 1994-03-01 Daido Steel Co Ltd 連続式プラズマ熱処理炉

Also Published As

Publication number Publication date
JPS63250702A (ja) 1988-10-18
US5070476A (en) 1991-12-03
DE3811658A1 (de) 1988-10-27

Similar Documents

Publication Publication Date Title
DE4331703C2 (de) Elektronische Einrichtung
DE3811658C2 (de)
DE2735397C2 (de) Überwachungseinrichtung für eine programmgesteuerte Maschine
CH654943A5 (de) Pruefeinrichtung fuer mikroprogramme.
DE1549522B1 (de) Datenverarbeitungsanlage mit simultanverarbeitung mehrerer programme mittels mehrerer rechner
DE1900141A1 (de) Datenverarbeitungsvorrichtung
DE2148847B2 (de) Datenübertragungssteuerung zwischen Speichern und peripheren Geräten einer Datenverarbeitungsanlage
DE2713253A1 (de) Programmlader fuer ein steuergeraet
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE1474062B2 (de) Datenverarbeitungsanlage mit einer anzahl von pufferspeichern
DE3314976C2 (de)
DE2145709A1 (de) Datenverarbeitungsanlage
DE4106164A1 (de) Verfahren zum suchen und beseitigen von programmfehlern durch ausfuehren eines blockmodenlaufes
DE2935101C2 (de)
DE1966793A1 (de) Steuerungssystem
EP0450116B1 (de) Automatisierungsgerät mit Test in einzelnen Schritten
DE2725077A1 (de) Ueberwachungssystem fuer eine datenverarbeitungsanlage
DE3813980C2 (de) Programmierbare Steuereinrichtung
DE3316681A1 (de) Computersystem mit programmueberwachungsvorrichtung
DE1499840B2 (de) Fehlerprüfeinrichtung für eine Datenverarbeitungsanlage
DE2632277A1 (de) Mikroprogrammierbarer computer fuer eine numerische steuervorrichtung
DE4130015A1 (de) Numerische steuerung zum vereinfachen des werkzeugwechsels
DE3638256C2 (de)
DE4026581A1 (de) Integriertes steuerungssystem fuer eine textilmaschine mit einer vielzahl von separat angetriebenen spindeln
DE3711216A1 (de) Verfahren und einrichtung fuer eine verbesserte schnittstelleneinheit zwischen analogen eingangssignalen und einem signalbus

Legal Events

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

Ipc: G05B 19/04

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee