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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Programmable Controllers (AREA)
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.
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.
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)
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)
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 | プログラマブルシ−ケンスコントロ−ラの入出力処理方法 |
WO1988002883A1 (en) * | 1986-10-08 | 1988-04-21 | Hitachi, Ltd. | Sequence controller |
JPH06140605A (ja) * | 1992-04-08 | 1994-05-20 | Nec Corp | ゲートアレイ |
JPH0657403A (ja) * | 1992-08-14 | 1994-03-01 | Daido Steel Co Ltd | 連続式プラズマ熱処理炉 |
-
1987
- 1987-04-07 JP JP62083802A patent/JPS63250702A/ja active Pending
-
1988
- 1988-04-06 US US07/178,198 patent/US5070476A/en not_active Expired - Fee Related
- 1988-04-07 DE DE3811658A patent/DE3811658A1/de active Granted
Also Published As
Publication number | Publication date |
---|---|
DE3811658A1 (de) | 1988-10-27 |
JPS63250702A (ja) | 1988-10-18 |
US5070476A (en) | 1991-12-03 |
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 | |
DE69415612T2 (de) | Verfahren zur fehlerbeseitigung in einem folgesteuerungsprogramm | |
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 |
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 |