-
Die
vorliegende Erfindung betrifft ein programmierbares Steuersystem
und ein Rücksetz-Steuerverfahren
für das
programmierbare Steuersystem.
-
Aus
dem Stand der Technik ist zum Beispiel in
JP 07056763 A ein Duplexsteuersystem
bekannt, bei dem eine Vielzahl von I/O-Vorrichtungen mit Controllern über entsprechende Übertragungsleitungen verbunden
sind, so dass ein Controller ein aktives System und ein anderer
Controller als ein Stand-by-System
verwendet wird.
-
Ferner
ist aus
DE 195 25
103 C2 ein Multiprozessorsystem bekannt, das in der Lage
ist sich selbst einzustellen, während
fehlerhafte CPUs von einem gemeinsamen Bus abgetrennt sind, wobei
das Multiprozessorsystem eine Rücksetzsteuervorrichtung
aufweist, die mit jeder CPU durch eine Rücksetzleitung für individuelle
CPU-Hardware verbunden ist zum Steuern der CPUs.
-
Ein
herkömmliches
programmierbares Steuersystem wird unter Bezugnahme auf 7 erklärt werden. Dieses programmierbare Steuersystem
ist mit einer Leistungsversorgungseinheit 500 zum Zuführen von
Leistung zum System, einer CPU-Einheit 510, die ein Zentrum
des Systems bildet, zum Ausführen
der Operationsverarbeitung für
die Steuerung, einer Ausgabeeinheit 520 zum Ausgeben von EIN/AUS-Information
zu einer externen Vorrichtung 600 basierend auf einem durch
eine CPU-Einheit 510 ausgegebenen Befehl, einer Datenverbindungseinheit 530 zum
Ausführen
einer Datenkommunikation zwischen Systemen (angeschlossenen Stationen 610) über bestimmte
Leitungen und einer Positioniereinheit 540, die mit einem
Servomotor 620 verbunden ist, zum Ausführen einer Positioniersteuerung versehen.
Diese Einheiten sind an einem Motherboard 550 angebracht,
das einen Systembus enthält (der
hierin nachfolgend Basiseinheit genannt wird), d.h. mit einem Bus
verbunden ist.
-
Bei
der Erklärung,
die folgt, werden die Ausgabeeinheit 520, die Datenverbindungseinheit 530, etc.,
die durch die CPU-Einheit 510 gesteuert
werden, allgemein I/O-Einheit genannt.
-
Die
CPU-Einheit 510 ist zusätzlich
zum Mikroprozessor (MPU) 511 mit einer Rücksetzschaltung 512 versehen.
Die Rücksetzschaltung 512 vereinigt
ein Fehlersignal zum vorläufigen
Informieren über
die vom Leistungsversorgungssystem nach unten gesendete Leistungsversorgung
(ein Leistungsversorgungs-Rücksetzsignal:
das hierin nachfolgend ΣREL-Signal
genannt wird) und ein Fehlersignal (das hierin nachfolgend CPUERRL-Signal
genannt wird) aufgrund eines Betriebs- bzw. Operationsfehlers, etc.,
die durch den Mikroprozessor 511 erzeugt werden, so daß ein Rücksetzsignal
(hierin nachfolgend ΣMRE-Signal)
zum Steuern der Rücksetzoperation
in bezug auf die I/O-Einheit des programmierbaren Steuersystems
ausgegeben wird.
-
Wenn
sowohl das ΣREL-Signal
als auch das CPUERRL-Signal in der Rücksetzschaltung 512 nicht
aktiv (auf dem H-Pegel) sind, da nicht zugelassen wird, daß Ströme durch
die Dioden 513 und 514 fließen, wird das elektrische Basispotential
des Transistors 515 auf den hohen Pegel eingestellt, um
dadurch zuzulassen, daß ein
Strom durch den Emitter und den Kollektor des Transistors 515 fließt, so daß das ΣMRE-Signal
auf den L-Pegel
(auf nicht aktiv) gesetzt bzw. eingestellt wird.
-
Beispielsweise
dann, wenn die Leistungsversorgungseinheit 500, die das
Abschalten der Leistungsversorgung aufgrund dessen, daß die Leistungsversorgung
ausgeschaltet wird, erfaßt
hat, das ΣREL-Signal
auf dem L-Pegel ausgibt, fließt
ein Strom in der Vorwärtsrichtung
durch die Diode 513, um dadurch das elektrische Basispotential
des Transistors 515 auf den L-Pegel einzustellen, was veranlaßt, daß der Stromfluß zwischen
dem Emitter und dem Kollektor des Transistors 515 stoppt,
und das ΣMRE-Signal
dementsprechend auf den H-Pegel (auf aktiv) einstellt.
-
Darüber hinaus
gibt die CPU-Einheit 510 in dem Fall eines Operationsfehlers
im MPU 511 das CPUERRL-Signal auf dem L-Pegel aus, um die I/O-Einheit auf den
Anfangszustand rückzusetzen. Wenn
das CPUERRL-Signal auf den L-Pegel eingestellt wird, wird zugelassen,
daß ein
Strom in der Vorwärtsrichtung
der Diode 514 fließt,
um dadurch das elektrische Basispotential des Transistors 515 auf den
L-Pegel einzustellen,
mit dem Ergebnis, daß nicht
zugelassen wird, daß ein
Strom zwischen dem Emitter und dem Kollektor des Transistors 515 fließt, und
das ΣMRE-Signal
auf den H-Pegel
(auf aktiv) eingestellt wird.
-
In
einem derartigen Fall, in welchem ein Operationsfehler im MPU 511 innerhalb
der CPU 510 auftritt, indem eine Steuerung des MPU 511 zum
Einstellen des CPUERRL-Signals auf den L-Pegel rückgesetzt wird, um die I/O-Einheit
auf den Anfangszustand einzustellen, oder durch die Leistungsversorgungs-EIN/AUS-Operation
und die resultierende Rücksetzsteuerung,
bei welcher die Leistungsversorgungseinheit 500 das ΣREL-Signal
auf den L-Pegel eingestellt
hat, um dadurch die I/O-Einheit auf den Anfangszustand einzustellen,
wird das ΣMRE-Signal zu
allen Einheiten (der Ausgabeeinheit 520, der Datenverbindungseinheit 530 und
der Positioniereinheit 540) über die Basiseinheit 550 übertragen.
-
Auf
einen Empfang des ΣMRE-Signals
des H-Pegels hin löscht
die Ausgabeeinheit 520 die Latch-Schaltung bzw. Zwischenspeicherung
des Ausgabeabschnitts 521, um dadurch die externe Vorrichtung 600 auszuschalten.
Die Datenverbindungseinheit 530 gibt Signale eines H-Pegels
zu den RÜCKSETZ-Anschlüssen des
Steuerabschnitts 531 und des Übertragungs-I/F-Abschnitts 532 ein,
so daß der
Steuerabschnitt 531 und der Übertragungs-I/F-Abschnitt 532 auf
den Anfangszustand rückgesetzt
werden, um dadurch das Netzwerk zu trennen.
-
Die
Positioniereinheit 540 setzt den Steuerabschnitt 541 auf
den Anfangszustand zurück,
indem Signale eines H-Pegels zum RÜCKSETZ-Anschluß des Steuerabschnitts 541 und
zum CLR-Anschluß des Ausgabeabschnitts 542 eingegeben
werden, und löscht
auch die Latch-Schaltung bzw. Zwischenspeicherung des Ausgabeabschnitts 542,
um die Antriebsoperation des Servomotors 620 zu stoppen.
-
Beim
herkömmlichen
programmierbaren Steuersystem, wie es oben beschrieben ist, ist
deshalb, weil das Rücksetzsystem
auf ein System beschränkt
ist, die Rücksetzsteuerung
nur diesbezüglich
verfügbar,
ob das gesamte System rückgesetzt wird
oder nicht, und es ist nicht möglich,
jede Einheit einzeln rückzusetzen.
-
Darüber hinaus
müssen
beim herkömmlichen
programmierbaren Steuersystem dann, wenn versucht wird, jede Einheit
einzeln rückzusetzen,
dieselben Schaltungen wie die Rücksetzschaltung 512, deren
Anzahl so groß wie
die Anzahl der jeweiligen Einheiten ist, in der CPU-Einheit 510 installiert
sein, und es müssen
Rücksetzsignale
entsprechend dem ΣMRE-Signal,
deren Anzahl dieselbe wie die Anzahl der Einheiten ist, im Inneren
der CPU-Einheit 510 und der Basiseinheit 550 vorgesehen
sein; jedoch ist es bei dem programmierbaren Steuersystem, bei welchem
die Anzahl von Einheiten, die anzuschließen sind, durch den Anwender
frei bestimmt wird, unter einem realistischen Gesichtspunkt unmöglich, diese
vielen Schaltungen und Steuersignale zu installieren.
-
Darüber hinaus
gibt in bezug auf das herkömmliche
programmierbare Steuersystem dann, wenn der Steuerabschnitt 541 der
Positioniereinheit 540 aus einer Steuerung getrieben wird,
die CPU-Einheit 510 ein Rücksetzsignal aus, indem das CPUERRL-Signal
auf dem L-Pegel ausgegeben wird, um den Steuerabschnitt 541 der
Positioniereinheit 540 zu initialisieren, und dieser Fall
veranlasst ein Problem, bei welchem die Datenverbindungseinheit 530 weiter
rückgesetzt
wird, um das Netzwerk abzutrennen, etc., und das resultierende Problem
besteht darin, dass das Systemmanagement ineffektiv wird.
-
Darüber hinaus
wird beim herkömmlichen programmierbaren
Steuersystem dann, wenn das System aufgrund eines Operationsfehlers
gestoppt wird, etc., und zwar innerhalb der CPU-Einheit 510, ein
Rücksetzsignal
ausgegeben, um die Ausgabe zu löschen,
und dieser Fall führt
zu einem Problem, bei welchem die Datenverbindungseinheit 530 weiter rückgesetzt
wird, um das Netzwerk aufzutrennen, etc., und das resultierende
Problem besteht darin, dass das Systemmanagement ineffektiv wird.
-
Weiterhin
besteht beim herkömmlichen
programmierbaren Steuersystem deshalb, weil nicht jede Einheit einzeln
rückgesetzt
wird, das resultierende Problem darin, dass es nicht möglich ist,
das System durch Ändern
der Anzahl von Einheiten der CPU-Einheiten 510 zu einer
einzelnen oder zu mehreren zu ändern,
indem ein programmierbares Steuersystem unter Verwendung derselben
Basiseinheit 550 verwendet wird.
-
Daher
ist es bei einem programmierbaren Steuersystem, das dieselbe Basiseinheit
verwendet, die Aufgabe der vorliegenden Erfindung, ein programmierbares
Steuersystem zu schaffen, das es möglich macht, einzelne I/O-Einheiten
durch Verwenden einer einzelnen CPU-Einheit oder einer Vielzahl von
CPU-Einheiten einer Rücksetzsteuerung
zu unterziehen, ohne dafür
separate Steuerleitungen vorzusehen.
-
Die
Aufgabe der vorliegenden Erfindung wird durch den Gegenstand der
unabhängigen
Ansprüche gelöst, vorteilhafte
Ausführungsformen
sind in den abhängigen
Ansprüchen
verkörpert.
-
OFFENBARUNG
DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft ein Rücksetzsteuerverfahren eines
programmierbaren Steuersystems, das mit einer einzelnen oder einer
Vielzahl von CPU-Einheiten zum Ausführen der Steuerung des gesamten
Systems und eine Vielzahl von I/O-Einheiten, die unter einer Steuerung
der CPU-Einheiten betrieben werden, versehen ist, und wobei bei
einem solchen Rücksetzsteuerverfahren die
CPU-Einheit einen Befehl zum. Befehlen einer Steuer-CPU-spezifizierten
Information für
jede I/O-Einheit schreibt, jede I/O-Einheit einen durch die CPU-Einheit befohlenen
Befehl decodiert, um zu bestimmen, ob er eine Information ist oder
nicht, die durch die Steuer-CPU spezifiziert ist, und die durch die
Steuer-CPU spezifizierte entsprechende Information in der I/O-Einheit
hält, die
CPU-Einheiten Befehle zum
Befehlen der Rücksetzsteuerung
zu allen I/O-Einheiten ausgeben und jede I/O-Einheit den Befehl
decodiert, der ihre Rücksetzsteuerung
befiehlt, und dann, wenn bestimmt worden ist, daß der entsprechende Befehl
von der CPU-Einheit
des Steuerendes befohlen ist, daraus der Rücksetzsteuerbefehl folgt, so
daß die
Rücksetzoperation
der spezifischen I/O-Einheit am System, spezifiziert durch die CPU-Einheit,
gesteuert wird. Darüber
hinaus ist bei der vorliegenden Erfindung in bezug auf Befehle zum Ausgeben
eines Rücksetzens
zu jeder der I/O-Einheiten die CPU-Einheit mit zwei Arten von Befehlen zur
Rücksetzsteuerung
des Steuerabschnitts der I/O-Einheit und zur Rücksetzsteuerung des Ausgabeabschnitts
der I/O-Einheit versehen. Daher kann nur die spezifische I/O-Einheit
am System, die durch die CPU-Einheit spezifiziert ist, rückgesetzt
werden, und es ist möglich,
den Steuerabschnitt und den Ausgabeabschnitt der I/O-Einheit einzeln
rückzusetzen.
-
Die
vorliegende Erfindung besitzt auch ein Rücksetzsteuerverfahren eines
programmierbaren Steuersystems, das mit einer einzelnen oder einer Vielzahl
von CPU-Einheiten zum Ausführen
der Steuerung des gesamten Systems und einer Vielzahl von I/O-Einheiten,
die unter einer Steuerung der CPU-Einheiten betrieben werden, versehen
ist, und wobei bei einem solchen Rücksetzsteuerverfahren die CPU-Einheit
mit zwei Systemen eines Signals zur Rücksetzsteuerung des Steuerabschnitts
der I/O-Einheit und eines Signals zur Rücksetzsteuerung des Ausgabeabschnitts
der I/O-Einheit als Rücksetzsignale
versehen ist, die durch die CPU-Einheit zum gesamten System ausgegeben
werden, und durch Verwenden der zwei Signale auf unabhängige Weise das
Rücksetzen
der I/O-Einheit
zwischen dem Steuerabschnitt und dem Ausgabeabschnitt individuell ausgeführt wird.
Daher wird die Rücksetzsteuerung der
I/O-Einheiten am gesamten System auf eine aufgeteilte Weise zwischen
dem Rücksetzen
des Steuerabschnitts der I/O-Einheiten
und dem Rücksetzen ihres
Ausgabeabschnitts ausgeführt.
-
Darüber hinaus
betrifft die vorliegende Erfindung ein programmierbares Steuersystem,
das mit einer einzelnen oder einer Vielzahl von CPU-Einheiten zum
Ausführen
der Steuerung des gesamten Systems und einer Vielzahl von I/O-Einheiten,
die unter einer Steuerung der CPU-Einheiten betrieben werden, versehen
ist, und wobei bei einem solchen programmierbaren Steuersystem die
CPU-Einheit einen Befehl zum Befehlen einer Steuer-CPU-spezifizierten
Information für
jede I/O-Einheit schreibt, jede I/O-Einheit einen durch die CPU-Einheit
befohlenen Befehl decodiert, um zu bestimmen, ob er eine Information
ist oder nicht, die durch die Steuer-CPU spezifiziert ist, und die
durch die Steuer-CPU spezifizierte entsprechende Information in
der I/O-Einheit hält, die
CPU-Einheiten Befehle
zu Befehlen der Rücksetzsteuerung
zu allen I/O-Einheiten ausgeben und jede I/O-Einheit den Befehl
decodiert, der ihre Rücksetzsteuerung
befiehlt, und dann, wenn bestimmt worden ist, daß der entsprechende Befehl
von der CPU-Einheit des Steuerendes befohlen ist, daraus der Rücksetzsteuerbefehl
folgt, so daß die
Rücksetzoperation
der spezifischen I/O-Einheit am System, spezifiziert durch die CPU-Einheit,
gesteuert wird. Darüber
hinaus ist die CPU-Einheit
in bezug auf Befehle zum Ausgeben eines Rücksetzens zu jeder der I/O-Einheiten
mit zwei Arten von Befehlen zur Rücksetzsteuerung des Steuerabschnitts
der I/O-Einheit und zur Rücksetzsteuerung
des Ausgabeabschnitts der I/O-Einheit versehen. Dadurch kann nur
die spezifische I/O-Einheit am System, die durch die CPU-Einheit
spezifiziert ist, rückgesetzt
werden, und es ist möglich,
den Steuerabschnitt und den Ausgabeabschnitt der I/O-Einheit einzeln
rückzusetzen.
-
Darüber hinaus
ist bei der vorliegenden Erfindung die I/O-Einheit mit einem Register zum Zwischenspeichern
einer Steuer-CPU-spezifizierten
Information und einem Register zum Zwischenspeichern von zum Rücksetzen
von nur der spezifischen I/O-Einheit am System, die durch die CPU-Einheit spezifiziert
ist, verwendeten Information versehen. Daher ist es möglich, nur
die spezifische I/O-Einheit am System rückzusetzen, die durch die CPU-Einheit spezifiziert
ist, indem auf die Inhalte des Registers Bezug genommen wird.
-
Darüber hinaus
schafft die vorliegende Erfindung ein programmierbares Steuersystem
eines Mehrfach-CPU-Systems vom Dispersionssteuertyp, wobei eine
Vielzahl von CPU-Einheiten jeweils unterschiedliche I/O-Einheiten
steuern. Daher ist es bei dem programmierbaren Steuersystem des
Mehrfach-CPU-Systems vom Dispersionssteuertyp möglich, nur die spezifische
I/O-Einheit am System
rückzusetzen,
die durch die CPU-Einheit spezifiziert ist.
-
Weiterhin
schafft die vorliegende Erfindung ein programmierbares Steuersystem
eines Mehrfach-CPU-Systems vom redundanten Steuertyp, das eine Standby-CPU-Einheit
enthält,
die dann, wenn irgendeine der Einsatz-CPU-Einheiten, die gegenwärtig betrieben
werden, aufgrund eines Fehler gestoppt wird, anstelle der gestoppten
CPU-Einheit betrieben wird. Daher ist es beim programmierbaren Steuersystem
des Mehrfach-CPU-Systems
vom redundanten Steuertyp möglich,
nur die spezifische I/O-Einheit am System rückzusetzen, die durch die CPU-Einheit spezifiziert
ist.
-
Die
vorliegende Erfindung betrifft ein programmierbares Steuersystem,
das mit einer einzelnen oder einer Vielzahl von CPU-Einheiten zum
Ausführen
der Steuerung des gesamten Systems und einer Vielzahl von I/O-Einheiten,
die unter einer Steuerung der CPU-Einheiten betrieben werden, versehen ist,
und wobei bei einem solchen programmierbaren Steuersystem die CPU-Einheit
mit einer Ausgabeeinheit versehen ist, die ein Signal zur Rücksetzsteuerung
des Steuerabschnitts der I/O-Einheit
als Rücksetzsignal
ausgibt, das zum gesamten System zu übertragen ist, und einer Ausgabeeinheit,
die ein Signal zur Rücksetzsteuerung
des Ausgabeabschnitts der I/O-Einheit ausgibt, so daß die Rücksetzoperation
der I/O-Einheit zwischen dem Steuerabschnitt und dem Ausgabeabschnitt
individuell ausgeführt
wird. Daher wird die Rücksetzsteuerung
der I/O-Einheiten im gesamten System auf eine aufgeteilte Weise
zwischen dem Rücksetzen
des Steuerabschnitts der I/O-Einheit
und dem Rücksetzen
des Ausgabeabschnitts ausgeführt.
-
Darüber hinaus
betrifft die vorliegende Erfindung ein programmierbares Steuersystem
eines Mehrfach-CPU-Systems vom Dispersionssteuertyp, wobei eine
Vielzahl von CPU-Einheiten unterschiedliche I/O-Einheiten individuell
steuert, und wobei bei diesem System eine der Vielzahl von CPU-Einheiten die
Rücksetzsteuerung
auf eine vereinigte Weise ausführt.
Daher wird beim programmierbaren Steuersystem des Mehrfach-CPU- Systems vom Dispersionssteuertyp
die Rücksetzsteuerung
der I/O-Einheiten im gesamten System auf eine aufgeteilte Weise zwischen
dem Rücksetzen
des Steuerabschnitts der I/O-Einheiten und dem Rücksetzen des Ausgabeabschnitts
ausgeführt.
-
Weiterhin
schafft die vorliegende Erfindung ein programmierbares Steuersystem
eines Mehrfach-CPU-Systems vom redundanten Steuertyp, das eine Standby-CPU-Einheit
enthält,
die dann, wenn irgendeine der Einsatz-CPU-Einheiten, die gegenwärtig betrieben
werden, aufgrund eines Fehlers gestoppt wird, anstelle der gestoppten
CPU-Einheit betrieben wird. Daher wird beim programmierbaren Steuersystem
des Mehrfach-CPU-Systems
vom redundanten Steuertyp die Rücksetzsteuerung
der I/O-Einheiten im gesamten System auf eine aufgeteilte Weise
zwischen dem Rücksetzen
des Steuerabschnitts der I/O-Einheit
und dem Rücksetzen
des Ausgabeabschnitts ausgeführt.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein System-Blockdiagramm, das ein programmierbares Steuersystem
zum Ausführen einer
Gruppen-I/O-Rücksetzoperation
und einer Gruppeneinheits-Rücksetzoperation
bei der vorliegenden Erfindung zeigt;
-
2 ist
eine erklärende
Zeichnung, die die Inhalte eines Befehls-INST-W detailliert zeigt;
-
3 ist
ein System-Blockdiagramm, das ein programmierbares Steuersystem
zum Ausführen einer
Systemrücksetzoperation
bei der vorliegenden Erfindung zeigt;
-
4 ist
ein System-Blockdiagramm, das ein bevorzugtes Ausführungsbeispiel
zeigt, bei welchem das programmierbare Steuersystem der vorliegenden
Erfindung auf ein programmierbares Steuersystem eines Mehrfach-CPU-Systems
vom Dispersionssteuertyp angewendet ist;
-
5 ist
ein System-Blockdiagramm, das ein bevorzugtes Ausführungsbeispiel
zeigt, bei welchem das programmierbare Steuersystem der vorliegenden
Erfindung auf ein programmierbares Steuersystem eines Mehrfach-CPU-Systems
vom redundanten Steuertyp angewendet ist;
-
6 ist
eine erklärende
Zeichnung, die eine Fehlererfassungssequenz der CPU-Einheit im programmierbaren
Steuersystem eines Mehrfach-CPU-Systems
vom redundanten Steuertyp zeigt; und
-
7 ist
ein System-Blockdiagramm, das ein herkömmliches programmierbares Steuersystem zeigt.
-
Ausführungsbeispiele
des programmierbaren Steuersystems gemäß der vorliegenden Erfindung
werden nachfolgend detailliert erklärt, während auf die beigefügten Zeichnungen
Bezug genommen wird. Zuerst werden kurze Erklärungen von vier Typen von Rücksetzoperationen
in einem programmierbaren Steuersystem gemäß der vorliegenden Erfindung
angegeben.
-
Die
CPU-Einheit überwacht
regelmäßig ein Port,
das zum Bestätigen
des Betriebszustands einer I/O-Einheit verwendet wird, und auf eine
Erfassung irgendeiner Anormalität
in der I/O-Einheit führt
sie die folgende Sequenz von Operationen in Abhängigkeit vom Zustand des erfaßten Fehlers
aus:
- (1) wenn nur der Ausgabeabschnitt der
durch ihre eigene Einheit gemanagten I/O-Einheit rückgesetzt
werden muß,
gibt sie ein Gruppen-I/O-Rücksetzen
aus;
- (2) wenn der Steuerabschnitt der durch ihre eigene Einheit gemanagten
I/O-Einheit rückgesetzt werden
muß, gibt
sie ein Gruppeneinheits-Rücksetzen
as;
- (3) wenn die Ausgabeabschnitte des gesamten Systems aufgrund
eines ernsthaften Fehlers rückgesetzt
werden müssen,
gibt sie ein System-I/O-Rücksetzen
aus; und
- (4) wenn die Steuerabschnitte des gesamten Systems rückgesetzt
werden müssen,
gibt sie ein Systemeinheits-Rücksetzen
aus.
-
1 zeigt
ein programmierbares Steuersystem, das eine Vielzahl von CPU-Einheiten
enthält, die
einem Gruppen-I/O-Rücksetzen
und einem Gruppeneinheits-Rücksetzen
unterzogen werden, und zwar bei einem ersten Ausführungsbeispiel
der vorliegenden Erfindung.
-
Dieses
programmierbare Steuersystem ist versehen mit einer Leistungsversorgungseinheit 10 zum
Zuführen
von Leistung zum System; CPU-Einheiten 20A und 20B,
die als Zentralabschnitte des Systems zum Ausführen von Operationsprozessen für die Steuerung
dienen; einer Positioniereinheit 30, die mit einem Servomotor
(nicht gezeigt) verbunden ist, um eine Positioniersteuerung auszuführen, und einer
Datenverbindungseinheit 50 zum Ausführen einer Datenkommunikation
mit einem anderen System, das nicht gezeigt ist, über eine
bestimmte Leitung, und diese Einheiten sind durch eine Basiseinheit 60, die
einen Systembus 61 enthält,
wechselseitig verbunden.
-
Jede
der CPU-Einheiten 20A, 20B hat einen MPU 21 und
einen Befehlserzeugungsabschnitt 22 zum Ausgeben von durch
den MPU 21 geschriebenen Daten auf den Systembus 61 der
Basiseinheit 60, und gibt zur Zeit eines Schreibens einen
Schreibbefehl INST-W, der durch eine Reihe von Daten hergestellt
ist, die aus drei Phasen bestehen, d.h. einer Befehlsphase CMD,
einer Adressenphase ADR und einer Datenphase DTA (deren detaillierte
Beschreibung später
angegeben werden wird), auf einen Systembus 61 aus.
-
Eine
Positioniereinheit 30, die eine I/O-Einheit ist, enthält einen
Befehlsdecodierabschnitt 31, in welchem die CPU-Einheit 20A oder 20B einen
durch den Systembus 61 ausgegebenen Befehl decodiert, einen
Steuerabschnitt 32 zum Ausführen einer Positioniersteuerung,
einen Ausgabeabschnitt 33 zum Ausgaben eines Signals zum
Antreiben eines Servomotors, einen Pufferspeicher 34 zum Übertragen
und zum Empfangen von Daten zu und von der CPU-Einheit und Register 35, 36, 37, 38 und 39,
von welchen jedes das Ergebnis einer Ausführung des durch den Befehlsdecodierabschnitt 31 decodierten
Befehls zwischenspeichert.
-
Die
Register 35, 36, 37, 38 und 39 speichern jeweils
Management-CPU-spezifizierte Information, Gruppen-I/O-Rücksetzinformation, Gruppen-I/O-Rücksetzmaskeninformation,
Gruppeneinheits-Rücksetzinformation
und Gruppeneinheits-Rücksetzmaskeninformation
zwischen. Die jeweiligen Ausgänge
der Register 35, 36 und 37 sind mit dem
CLR-Anschluß des
Ausgabeabschnitts 33 durch die logische Schaltung 40 verbunden,
und die jeweiligen Ausgänge
der Register 35, 38 und 39 sind mit dem
RÜCKSETZ-Anschluß des Steuerabschnitts 32 durch
die logische Schaltung 41 verbunden, so daß das Einstellen
bzw. Setzen der Register 35 bis 39 es möglich macht,
eine Rücksetzsteuerung
am Steuerabschnitt 32 und am Ausgabeabschnitt 33 auszuführen.
-
Beispielsweise
dann, wenn das CPU-0-Bit des Registers 35, das RSTH-0-Bit
des Registers 38 und das RMK-0-Bit des Registers 39 jeweils
eingeschaltet sind, wird ein L-Pegel-Signal zum RÜCKSETZ-Anschluß des Steuerabschnitts 32 von
der logischen Schaltung 41 eingegeben, so daß der Steuerabschnitt 32 auf
den Anfangszustand rückgesetzt wird.
-
Beim
programmierbaren Steuersystem wird deshalb, weil die CPU-Einheit 20A oder 20B einen Befehl
INST-W zur I/O-Einheit über
den Systembus 61 ausgibt, eine Datenschreiboperation bei
der I/O-Einheit ausgeführt.
-
Unter
Bezugnahme auf 2 wird eine detaillierte Erklärung bezüglich der
Inhalte des Befehls INST-W gegeben. Der Befehl INST-W ist aus drei Phasen
hergestellt, d.h. einer Befehlsphase CMD, einer Adressenphase ADR
und einer Datenphase DATA.
-
Die
Befehlsphase CMD enthält
eine befehlsbereichsspezifizierende Information, die aus numerischen
Bits besteht, die anzeigen, ob das Ziel des Befehls alle Einheiten
des Systems oder eine spezifische I/O-Einheit ist, eine schlitzspezifizierende
Information, die aus numerischen Bits besteht, die anzeigen, zu
welcher I/O-Einheit,
die an einem Schlitz der Basiseinheiten angebracht ist, der Befehl
gerichtet wird, wenn der Befehl zu einer spezifischen I/O-Einheit
gerichtet wird, und eine gebietsspezifizierende Information, die
aus numerischen Bits besteht, die Zugriffsgebiete innerhalb der
I/O-Einheit darstellen, wie beispielsweise einen Pufferspeicher
und ein Eingabe/Ausgabe-Register.
-
Zur
Adressenphase ADR werden Adressen von Zugriffsgebieten geschrieben,
die durch die Befehlsphase CMD der I/O-Einheit spezifiziert sind,
und die Datenphase DATA besteht aus Daten, die zur Zeit eines Schreibens
in die I/O-Einheit zu schreiben sind, und besteht auch aus Daten,
die zur Zeit eines Lesens aus der I/O-Einheit zu lesen sind. Als
nächstes wird
eine detaillierte Erklärung
einer Sequenz von Ausgabebefehlen angegeben. Wenn die CPU-Einheit 20A Daten
B zu einer Adresse A des Pufferspeichers 34 der I/O-Einheit
(Positioniereinheit) 30, des MPU 21, innerhalb
der CPU-Einheit 20A schreibt, gibt sie einen Befehl INST-W
zum Befehlserzeugungsabschnitt 22 aus, um zuzulassen, daß Daten
B bei der Adresse A des Pufferspeichers 34 in bezug auf
die I/O-Einheit 30 geschrieben werden.
-
Der
Befehlserzeugungsabschnitt 22 gib eine Befehlsphase CMD
auf einen Systembus 61 aus, gibt eine Adressenphase ADR
auf den Systembus 61 nach einem vorbestimmten Verstreichen
an Zeit aus und gibt auch eine Datenphase DATA-W auf den Systembus 61 nach
einem Verstreichen einer vorbestimmten Zeit aus.
-
Wenn
die CPU-Einheit 20A die Inhalte der Adresse C des Pufferspeichers 34 der
I/O-Einheit 30 liest, gibt der MPU 21 innerhalb
der CPU-Einheit 21A einen Befehl INST-R zum Lesen der Inhalte
der Adresse C im Pufferspeichergebiet in bezug auf die I/O-Einheit 30 zum
Befehlserzeugungsabschnitt 22 aus.
-
Der
Befehlserzeugungsabschnitt 22 gibt eine Befehlsphase CMD
auf den Systembus 61 aus, und gibt eine Adressenphase ADR
nach einem Verstreichen einer vorbestimmten Zeit auf den Systembus 61 aus.
Auf einen Empfang der Befehlsphase CMD und der Adressenphase ADR
hin gibt die I/O-Einheit 30 eine Datenphase DATA aus, und
die CPU-Einheit 20A liest die Datenphase DATA.
-
Als
nächstes
wird eine Erklärung
einer Operation der I/O-Einheit
angegeben, die einen Befehl von der CPU-Einheit empfangen hat.
-
Jede
der I/O-Einheiten decodiert die Befehlsphase CMD des über den
Systembus 61 eingegebenen Befehls durch Verwenden des Befehlsdecodierabschnitts 31,
und dann, wenn irgendeine Information, die anzeigt, daß der Befehl
zur Einheit selbst gerichtet ist, in der befehlsbereichsspezifizierenden Information
der Befehlsphase oder der schlitzspezifizierenden Information enthalten
ist, schreibt sie durch die Datenphase DATA spezifizierten Daten
in einer durch die Adressenphase ADR, die kontinuierlich eingegeben
wird, spezifizierten Adresse.
-
Als
nächstes
wird eine Erklärung
des Falls angegeben, in welchem die CPU-Einheit 20A ein Gruppeneinheits-Rücksetzen
zur I/O-Einheit ausgibt. Das Gruppeneinheits-Rücksetzen betrifft einen Prozeß, bei welchem
der Steuerabschnitt einer durch die CPU-Einheit spezifizierten spezifischen
I/O-Einheit rückgesetzt
wird, so daß die
I/O-Einheit auf den Anfangszustand eingestellt wird.
-
Wenn
die CPU-Einheit 20A ein Gruppeneinheits-Rücksetzen
zur I/O-Einheit ausgibt, wird es durch Kombinieren der folgenden
zwei Befehle ausgeführt.
-
Einer
ist ein Schreibbefehl zum Schreiben eines Informationsstücks, das
anzeigt, daß die CPU-Einheit 20A die
entsprechende CPU-Einheit zum Managen der I/O-Einheit 30 (oder 40)
zur Zeit des anfänglichen
Einstellens nach einem Einschalten der Leistungsversorgung in Bezug
auf die I/O-Einheit 30 (oder 40)
ist, zu dem Register 35, das zum Spezifizieren von Information
der managenden CPU innerhalb der I/O-Einheit 30 (oder 40)
verwendet wird.
-
Durch
Ausführen
des vorliegenden Befehls geht das CPU-0-Bit des Registers 35 auf
hoch. Wenn die CPU-Einheit 20B denselben Befehl ausgegeben hat,
geht das CPU-1-Bit des Registers 35 auf hoch.
-
Der
andere ist ein Schreibbefehl zum Schreiben eines Informationsstücks, das
anzeigt, daß die CPU-Einheit 20A ein
Gruppeneinheits-Rücksetzen zu
allen durch die CPU-Einheit 20A gemanagten I/O-Einheiten
ausgeben wird, zum Register 38, das für eine Gruppeneinheits-Rücksetzinformation
innerhalb der I/O-Einheit verwendet wird.
-
Durch
Ausführen
des vorliegenden Befehls geht das RSTH-0-Bit des Registers 38 auf
hoch. Wenn die CPU-Einheit 20B denselben Befehl ausgegeben
hat, geht das RSTH-1-Bit des Registers 38 auf hoch.
-
Das
Register 39 zum Zwischenspeichern der Gruppeneinheits-Rücksetzmaskeninformation hat
einen Anfangswert (einen Vorgabewert), der auf einen hohen Pegel
eingestellt ist; daher geht dann, wenn die oben angegebenen zwei
Befehle beide ausgeführt
werden, die Eingabe des RÜCKSETZ-Anschlusses
des Steuerabschnitts 32 auf niedrig, um dadurch zuzulassen,
daß die
I/O-Einheit 30 den Steuerabschnitt 32 auf en Anfangszustand
rücksetzt.
-
Darüber hinaus
wird dann, wenn die CPU-Einheit 20A einen Befehl zum Entfernen
des Gruppeneinheits-Rücksetzens
von allen I/O-Einheiten, die durch die CPU-Einheit 20A gemanagt
werden, auf dem Systembus 61 ausgibt, und zwar beispielsweise
durch Zulassen, daß der
Befehlsdecodierabschnitt 31 der I/O-Einheit 30 die Befehlsphase CMD
decodiert, die Gruppeneinheits-Rücksetzinformation
des Registers 38 gelöscht,
so daß das RRSTH-0-Bit
damit auf niedrig geht, daß die
Eingabe des RÜCKSETZ-Anschlusses
des Steuerabschnitts 32 auf hoch geht; somit wird das Gruppeneinheits-Rücksetzen
gelöscht.
-
Die
CPU-Einheit 20A gibt einen Befehl zum Einstellen eines
Registers 39 zum Maskieren des Gruppeneinheits- Rücksetzbefehls von der CPU-Einheit 20A über den
Systembus 61 zur I/O-Einheit 30 oder 40 aus,
so daß es
möglich
ist, das Gruppeneinheits-Rücksetzen
in bezug zu jeder der I/O-Einheiten zu
maskieren.
-
Bei
diesem Aufbau wird zugelassen, daß die CPU-Einheit 20A alle
Steuerabschnitte der I/O-Einheiten, die sie managt, einheitlich
rücksetzt,
oder nur einen spezifischen der Steuerabschnitte, der einen Fehler
hat, unter den I/O-Einheiten
rücksetzt,
die sie managt; somit wird es möglich,
nur die Einheit einer Rücksetzsteuerung
zu unterziehen, während
eigener Steuerabschnitt wegläuft,
und folglich, die Effizienz des Systemmanagements zu verbessern.
-
Als
nächstes
wird eine Erklärung
des Falls angegeben, in welchem die CPU-Einheit 20A ein Gruppen-I/O-Rücksetzen
zu den I/O-Einheiten 30, 40 ausgibt. Das Gruppen-I/O-Rücksetzen
bezieht sich auf einen Prozeß,
bei welchem nur der Ausgabeabschnitt der durch die CPU-Einheit spezifizierten
spezifischen I/O-Einheit rückgesetzt
wird.
-
Das
Ausgeben und Löschen
des Gruppen-I/O-Rücksetzens
wird durch Kombinieren von zwei Befehlen ausgeführt, und zwar auf dieselbe Weise
wie das Gruppeneinheits-Rücksetzen.
-
Einer
ist ein Schreibbefehl zum Schreiben eines Informationsstücks, das
anzeigt, daß die CPU-Einheit 20A die
entsprechende CPU-Einheit zum Managen der I/O-Einheit 30 (oder 40)
ist, zum Register 35, das zum Spezifizieren von Information der
managenden CPU innerhalb der I/O-Einheit 30 (oder 40)
verwendet wird.
-
Durch
Ausführen
des vorliegenden Befehls geht das CPU-0-Bit des Registers 35 auf
hoch. Wenn die CPU-Einheit 20B denselben Befehl ausgegeben hat,
geht das CPU-1-Bit des Registers 35 auf hoch.
-
Der
andere ist ein Schreibbefehl zum Schreiben eines Informationsstücks, das
anzeigt, daß die CPU-Einheit 20A ein
Gruppeneinheits-Rücksetzen zu
allen I/O-Einheiten, die durch die CPU-Einheit 20A gemanagt
werden, zur Zeit eines anfänglichen
Einstellens nach einem Einschalten der Leistungsversorgung ausgeben
wird, zum Register 36, das für eine Gruppen-I/O-Rücksetzinformation
innerhalb der I/O-Einheit
verwendet wird.
-
Durch
Ausführen
des vorliegenden Befehls geht das IORH-0-Bit des Registers 36 auf
hoch. Wenn die CPU-Einheit 20B denselben Befehl ausgegeben
hat, geht das IORH-1-Bit der Gruppen-I/O-Rücksetzinformation 47 auf
hoch.
-
Das
Register 37 zum Zwischenspeichern der Gruppen-I/O-Rücksetzmaskeninformation hat
einen Anfangswert (einen Vorgabewert), der auf einen hohen Pegel
eingestellt ist; daher setzt die I/O-Einheit 30 dann, wenn
die oben angegebenen zwei Befehle beide ausgeführt werden, den Ausgabeabschnitt 33 zurück, um dadurch
die Ausgabe auszuschalten.
-
Darüber hinaus
wird dann, wenn die CPU-Einheit 20A einen Befehl zum Entfernen
des Gruppeneinheits-Rücksetzens
von allen I/O-Einheiten, die durch die CPU-Einheit 20A gemanagt
werden, auf dem Systembus 61 ausgibt, und zwar beispielsweise
durch Zulassen, daß der
Befehlsdecodierabschnitt 31 der I/O-Einheit 30 die Befehlsphase CMD
decodiert, die Gruppeneinheits-Rücksetzinformation
des Registers 36 gelöscht,
so daß das IORH-0-Bit
damit auf niedrig geht, daß die
Eingabe des CLR-Anschlusses des Ausgabeabschnitts 33 auf hoch
geht; somit wird das Gruppen-I/O-Rücksetzen gelöscht.
-
Die
CPU-Einheit 20A gibt einen Befehl zum Einstellen eines
Registers 37 zum Maskieren des Gruppeneinheits- Rücksetzbefehls von der CPU-Einheit 20A über den
Systembus 61 zur I/O-Einheit 30 oder 40 aus,
so daß es
möglich
ist, das Gruppen-I/O-Rücksetzen
in bezug auf jede der I/O-Einheiten zu maskieren.
-
Bei
diesem Aufbau wird zugelassen, daß die CPU-Einheit 20A alle
Ausgabeabschnitte der I/O-Einheiten, die sie managt, einheitlich
löscht,
oder nur einen spezifischen der Ausgabeabschnitte, der einen Fehler
hat, unter den I/O-Einheiten,
die sie managt, rücksetzt;
somit wird es möglich,
die Effizienz des Systemmanagements zu verbessern.
-
Das
in 1 gezeigte Ausführungsbeispiel nimmt an, daß jedes
der Register 35 bis 39 ein 4-Bit-Register ist;
jedoch kann die Anzahl von Bits in jedem Register auf n-Bits eingestellt
sein, so daß es bei
einem Versuch zum Verbessern der Effizienz des Systemmanagements
möglich
ist, die Steueroperation durch Verwenden einer erwünschten
Anzahl n von CPU-Einheiten auszuführen.
-
Beim
ersten Ausführungsbeispiel
gibt jede CPU-Einheit einen Befehl auf einem Systembus aus, um ein
Gruppeneinheits-Rücksetzen
und ein Gruppen-I/O-Rücksetzen
auszugeben oder zu löschen,
so daß in
bezug auf eine durch die CPU-Einheit spezifizierte spezifische I/O-Einheit
eine Rücksetzsteuerung
ausgeführt
wird, während
der Steuerabschnitt und der Ausgabeabschnitt davon unterschieden
wird; daher kann basierend auf der Art von erzeugten Fehlern der
minimale Bereich des Systems rückgesetzt und
gesteuert werden, um es dadurch möglich zu machen, die Effizienz
des Systemmanagements zu verbessern.
-
3 zeigt
ein programmierbares Steuersystem zum Ausführen eines Systemrücksetzens
bei einem zweiten Ausführungsbeispiel
der vorliegenden Erfindung. Das Systemrücksetzen bezieht sich auf eine
Rücksetzoperation,
die durch jede CPU-Einheit zu allen CPU-Einheiten und I/O-Einheiten
im System ausgegeben wird, um die Steuerabschnitte rückzusetzen
oder die Ausgabeabschnitte zu löschen,
um dadurch eine externe Vorrichtung auszuschalten.
-
Dieses
programmierbare Steuersystem ist versehen mit einer Leistungsversorgungseinheit 70 zum
Zuführen
von Leistung zum System, einer CPU-Einheit 80, die als
Zentralabschnitt des Systems dient, zum Ausführen von Steueroperationsprozessen,
einer Ausgabeeinheit 90 zum Ausgeben von EIN/AUS-Information
zu einer externen Vorrichtung 600 basierend auf einem durch
die CPU-Einheit 80 ausgegebenen Befehl, einer Datenverbindungseinheit 100 zum
Ausführen
von Datenkommunikationen zwischen Systemen (angeschlossenen Stationen 610) über bestimmte
Leitungen und einer Positioniereinheit 110, die mit dem
Servomotor 620 verbunden ist, um eine Positioniersteuerung
auszuführen,
und diese Einheiten sind an einem Motherboard angebracht, das einen
Systembus 102 enthält
(der hierin nachfolgend Basiseinheit genannt wird) und über einen
Bus verbunden ist.
-
Die
Ausgabeeinheit 90 hat einen Ausgabeabschnitt 91 für die externe
Vorrichtung 600, und die Positioniereinheit 110 hat
einen Positionier-Steuerabschnitt 111 und einen Ausgabeabschnitt 112 für den Servomotor 620.
Darüber
hinaus hat die Datenverbindungseinheit 100 einen Steuerabschnitt 101 und
einen Übertragungs-I/F-Abschnitt 102.
-
Die
CPU-Einheit 80 hat eine Rücksetzschaltung 82 zusätzlich zum
Mikroprozessor (MPU) 81. Die Rücksetzschaltung 82 vereinigt
ein Fehlersignal (ΣREL-Signal)
zum vorläufigen
Ankündigen
eines Abschaltens einer Leistungsversorgung, das von einem Leistungsversorgungssystem
gesendet wird, und ein Einheits-Rücksetzsignal, das durch den
MPU 81 zu allen I/O-Einheiten
im System ausgegeben wird, um ein Rücksetz-Steuersignal auszugeben (das hierin
nachfolgend Systemeinheits-Rücksetzsignal
genannt wird), um eine Rücksetzsteuerung
für Funktionen
auszuführen,
die andere als Ausgaben sind, wie beispielsweise die Steuerabschnitte
der I/O-Einheiten und des Kommunikations-I/F-Abschnitts, etc. des
gesamten Systems.
-
Darüber hinaus
vereinigt die Rücksetzschaltung 82 das ΣREL-Signal, das I/O-Rücksetzsignal, das
durch den MPU 81 zu allen I/O-Einheiten im System ausgegebenen
wird, und ein Ausgabesignal von einer Zeitgeberschaltung (WDT-Schaltung) 83 zum Überwachen
der Operation des MPU 81, so daß sei ein Rücksetz-Steuersignal (das hierin
nachfolgend System-I/O-Rücksetzsignal
genannt wird) ausgibt, um eine Rücksetzsteuerung
der Ausgabeabschnitte aller I/O-Einheiten des Systems auszuführen.
-
In
der Rücksetzschaltung 82 geht
dann, wenn das ΣREL-Signal
und das Einheits-Rücksetzsignal
nicht aktiv (auf dem H-Pegel) sind, da nicht zugelassen ist, daß ein Strom
durch die Dioden 84 und 85 fließt, das
elektrische Basispotential des Transistors 86 auf hoch,
was zuläßt, daß ein Strom
zwischen dem Emitter und dem Kollektor des Transistors 86 fließt; somit
geht das Systemeinheits-Rücksetzsignal auf
niedrig (auf nicht aktiv).
-
Beispielsweise
dann, wenn das ΣREL-Signal aufgrund
des Ausschaltens der Leistungsversorgung auf niedrig geht, da ein
Strom durch die Diode 84 in der Vorwärtsrichtung fließt, geht
das elektrische Basispotential des Transistors 86 auf niedrig,
was dazu führt,
daß kein
Strom zwischen dem Emitter und dem Kollektor des Transistors 86 fließt. Somit
wird zugelassen, daß das
Systemeinheits-Rücksetzsignal
auf hoch (aktiv) geht.
-
Darüber hinaus
wird beispielsweise in dem Fall eines Operationsfehlers im MPU 81 dann,
wenn die CPU-Einheit 80 ein Einheits-Rücksetzsignal auf dem niedrigen
Pegel ausgibt, um den Steuerabschnitt der I/O-Einheit auf den Anfangszustand
rückzusetzen,
zugelassen, daß ein
Strom durch die Diode 85 in der Vorwärtsrichtung fließt, so daß das elektrische
Basispotential des Transistors 86 auf niedrig geht, und
nicht zugelassen wird, daß ein
Strom durch den Emitter und den Kollektor des Transistors 86 fließt; somit
wird zugelassen, daß das
Systemeinheits-Rücksetzsignal
auf hoch (aktiv) geht.
-
Auch
in bezug auf das System-I/O-Rücksetzsignal
ist die Rücksetzschaltung 82 mit
derselben Rücksetzschaltung
versehen, die durch Dioden 87, 88 und einen Transistor 89 gebildet
ist. Das System-I/O-Rücksetzsignal
wird durch eine Logikprodukt-Schaltung 82a als logisches
Produkt zwischen der Ausgabe der Rücksetzschaltung 82 und
der Ausgabe der WDT-Schaltung 83 (der
Anfangswert der Ausgabe der WDT-Schaltung 83 ist der niedrige
Pegel) gegeben. Die WDT-Schaltung 83 überwacht die Operation des
MPU 81, und dann, wenn für eine vorbestimmte Zeit keine
Antwort von dem MPU 81 gegeben wird, ändert sie die Ausgabe, um hoch
zu wenden, indem es für
bestimmt angenommen wird, daß der
MPU 81 gestoppt worden ist. Daher wird dann, wenn der MPU 81 aufgrund
eines ernsthaften Fehlers gestoppt wird, ein System-I/O-Rücksetzen
ausgegeben, so daß die
externe Ausgabe ausgeschaltet wird.
-
Als
nächstes
wird eine Erklärung
der Operation des zweiten Ausführungsbeispiels
angegeben. Wenn der MPU 81 beispielsweise das Einheits-Rücksetzsignal
aktiv macht (zum L-Pegel), indem der in der CPU-Einheit 80 vorgesehene
Rücksetzschalter (nicht
gezeigt) betätigt
wird, so daß ein
Systemeinheits-Rücksetzen
zu allen I/O-Einheiten im System ausgegeben wird, werden die Steuerabschnitte
aller I/O-Einheiten,
die das System bilden (der Steuerabschnitt 101 der Datenverbindungseinheit 100,
der Steuerabschnitt 111 der Positioniereinheit 110)
und Funktionen, die andere als die Ausgabeabschnitte sind (der Kommunikations-I/F-Abschnitt 102 der
Datenverbindungseinheit 100) auf den Anfangszustand rückgesetzt.
-
Wenn
in dem Fall eines Operationsfehlers im MPU 81 innerhalb
der CPU-Einheit 80 ein System-I/O-Rücksetzen zu allen I/O-Einheiten im System
ausgegeben wird, indem zugelassen wird, daß die CPU-Einheit 80 das
I/O-Rücksetzsignal
aktiv macht (zum L-Pegel bringt), werden nur die Ausgabeabschnitte
(der Ausgabeabschnitt 91 der Ausgabeeinheit 90,
der Ausgabeabschnitt 112 der Positioniereinheit 110)
aller I/O-Einheiten
im System rückgesetzt,
wird die Ausgabe der externen Vorrichtung 600 ausgeschaltet
und wird die Antriebsoperation des Servomotors 620 gestoppt.
Darüber
hinaus erkennt deshalb, weil eine Unterbrechung zum Unterbrechungsanschluß IT des
Steuerabschnitts 101 der Datenverbindungseinheit 100 gegeben
wird, die Datenverbindungseinheit 100, daß die CPU-Einheit 80 ein
System-I/O-Rücksetzen
ausgegeben hat, und überträgt die entsprechende
Information auf das Netzwerk.
-
Die
oben angegebenen zwei Systemrücksetzungen
werden so vorbereitet, daß selbst
dann, wenn das System aufgrund eines Fehlers innerhalb der CPU-Einheit 80 gestoppt
wird, es möglich
ist, nur die Ausgabeabschnitte 91, 112 der Ausgabe 90 und der
Positioniereinheit 110 rückzusetzen, ohne die Datenverbindungseinheit 100 rückzusetzen
und folglich das System mit hoher Effizienz zu betreiben.
-
4 zeigt
ein bevorzugtes Ausführungsbeispiel,
bei welchem das programmierbare Steuersystem bei einem dritten Ausführungsbeispiel
der vorliegenden Erfindung auf ein programmierbares Steuersystem
des Mehrfach-CPU-Systems vom Dispersionssteuertyp angewendet ist.
Das programmierbare Steuersystem des Mehrfach-CPU-Systems vom Dispersionssteuertyp
bezieht sich auf ein programmierbares Steuersystem, das eine Systemsteuerung
hoher Geschwindigkeit mit einem großen Ausmaß erreichen kann, indem zugelassen
wird, daß eine
Vielzahl von CPU-Einheiten jeweils unterschiedliche I/O-Einheiten
steuern, um die einer CPU-Einheit
auferlegte Belastung zu streuen.
-
Dieses
programmierbare Steuersystem ist versehen mit einer Leistungsversorgungseinheit 120, CPU-Einheiten 130, 140, 105 (ursprünglich kann
irgendeine erwünschte
Anzahl von CPU-Einheiten
angeschlossen sein, um das System zu bilden; jedoch zeigt die Figur
in diesem Fall beispielsweise einen Fall, in welchem drei CPU-Einheiten
angeschlossen sind), I/O-Einheiten 160, 170, die
durch die CPU-Einheit 130 gemanagt werden, einer I/O-Einheit 180,
die durch die CPU-Einheit 140 gemanagt wird, und einer I/O-Einheit 910,
die durch die CPU-Einheit 150 gemanagt wird, und diese
Einheiten sind an einer Basiseinheit 200 mit einem Systembus 201 angebracht.
-
Jede
der CPU-Einheiten 130, 140 und 150 hat
denselben Befehlserzeugungsabschnitt, wie die CPU-Einheit des ersten
Ausführungsbeispiels (1)
und dieselbe Rücksetzschaltung
wie die CPU-Einheit des zweiten Ausführungsbeispiels (3);
darüber
hinaus ist jede der I/O-Einheiten 160, 170, 180 und 190 versehen
mit demselben Befehlsdecodierabschnitt und demselben Register, etc., zum
Zwischenspeichern der Information zum Spezifizierender managenden
CPU, etc., wie die I/O-Einheit des ersten Ausführungsbeispiels (1)
und ist auch so entworfen, um durch ein System-Rücksetzsignal auf dieselbe Weise
wie die I/O-Einheit des zweiten Ausführungsbeispiels (3)
eingegeben zu werden.
-
Die
Basiseinheit 200 enthält
Logikproduktschaltungen 202, 203, und Systemeinheits-Rücksetzsignale
der jeweiligen CPU-Einheiten 130, 140 und 150 sind
den jeweiligen I/O-Einheiten 160, 170, 180 und 190 in
der Form von logischen Produkten über die Logikproduktschaltung 202 zugeteilt,
und jeweilige System-I/O-Rücksetzsignale
der CPU-Einheiten 130, 140 und 150 sind
den jeweiligen I/O-Einheiten 160, 170, 180 und 190 in
der Form von Logikprodukten über
die Logikproduktschaltung 203 zugeteilt.
-
Als
nächstes
wird eine Erklärung
eines Systemeinheits-Rücksetzens
und eines System-I/O-Rücksetzens
bei einem programmierbaren Steuersystem eines Mehrfach-CPU-Systems
vom Dispersionssteuertyp angegeben. Beim programmierbaren Steuersystem
eines Mehrfach-CPU-Systems vom Dispersionssteuertyp werden auf ein
Anlegen einer Leistung hin das Systemeinheits-Rücksetzen und das System-I/O-Rücksetzen allen CPU-Einheiten 130, 140 und 150 auferlegt,
und zur Zeit des Anfangsprozesses löscht die CPU-Einheit 130 das Systemeinheits-Rücksetzen
und das System-I/O-Rücksetzen,
so daß zugelassen
wird, daß das
Systemeinheits-Rücksetzsignal
und das System-I/O-Rücksetzsignal
der CPU-Einheit 130 auf niedrig geht. Gegensätzlich dazu
löschen
die CPU-Einheit 140 und die CPU-Einheit 150 das
Systemeinheits-Rücksetzen
und das System-I/O-Rücksetzen
nicht, was zum Ergebnis hat, daß das
Systemeinheits-Rücksetzsignal
und das System-I/O-Rücksetzsignal
dieser CPU-Einheiten 140, 150 auf dem hohen Pegel
gehalten werden.
-
Dieser
Aufbau läßt zu, daß die CPU-Einheit 130 das
gesamte System auf eine zentralisierte Weise managt. Anders ausgedrückt wird
in diesem Zustand, in dem das durch die CPU-Einheit 130 ausgegebene Systemeinheits-Rücksetzsignal
aktiv gemacht wird (zum H-Pegel gebracht wird) zugelassen, daß das Ausgangssignal
(das Systemeinheits-Rücksetzsignal)
der Logikproduktschaltung 202 auf hoch geht, um dadurch
die Funktionen, die andere als die Steuerabschnitte und die Ausgabeabschnitte
aller CPU-Einheiten und I/O-Einheiten sind, zum Anfangszustand rückzusetzen.
-
Darüber hinaus
wird zugelassen, daß das Ausgangssignal
(das System-I/O-Rücksetzsignal) der
Logikproduktschaltung 203 auf hoch geht, um dadurch das
durch die CPU-Einheit 130 ausgegebene System-I/O-Rücksetzsignal
aktiv zu machen (zum H-Pegel
zu bringen), um dadurch die Ausgabeabschnitte aller CPU-Einheiten
und I/O-Einheiten im System rückzusetzen.
-
Als
nächstes
wird eine Erklärung
eines Gruppenrücksetzens
beim programmierbaren Steuersystem des Mehrfach-CPU-Systems vom
Dispersionssteuertyp angegeben. Auf dieselbe Weise wie beim ersten
Ausführungsbeispiel
werden dann, wenn die CPU-Einheit 130 ein
Gruppeneinheits-Rücksetzen ausgibt,
Funktionen, die andere als die Steuerabschnitte und die Ausgabeabschnitte
(der Kommunikations-I/F-Abschnitt, etc. der Datenverbindungseinheit)
der durch die CPU-Einheit 130 spezifizierten spezifischen
I/O-Einheiten 160, 170 sind, rückgesetzt. Auf dieselbe Weise
werden dann, wenn die CPU-Einheit 140 oder
die CPU-Einheit 150 ein Gruppeneinheits-Rücksetzen
ausgibt, Funktionen, die andere als die Steuerabschnitte und die
Ausgabeabschnitte der durch die CPU-Einheit 140 spezifizierten I/O-Einheit 180 oder
der durch die CPU-Einheit 150 spezifizierten I/O-Einheit 190 sind,
rückgesetzt.
-
Darüber hinaus
werden dann, wenn die CPU-Einheit 130 ein Gruppen-I/O-Rücksetzen
auf dieselbe Weise wie beim ersten Ausführungsbeispiel ausgibt, die
Ausgabeabschnitte der durch die CPU-Einheit 130 spezifizierten
spezifischen I/O-Einheiten 160, 170 sind, rückgesetzt.
Auf dieselbe Weise wird dann, wenn die CPU-Einheit 140 oder
die CPU-Einheit 150 ein Gruppen-I/O-Rücksetzen ausgibt, der Ausgabeabschnitt
der durch die CPU-Einheit 140 spezifizierten I/O-Einheit 180 oder
der durch die CPU-Einheit 150 spezifizierten I/O-Einheit 190 rückgesetzt.
-
Im
Vergleich mit dem Fall, bei welchem eine Signal-CPU-Einheit alle der
Vielzahl von I/O-Einheiten steuert, wird dann, wenn die Steuerung
durch das Mehrfach-CPU-System vom Dispersionssteuertyp wie in dem
Fall des vorliegenden Ausführungsbeispiels
durchgeführt
wird, die einer CPU-Einheit auferlegte Belastung dispergiert bzw.
streut, um es dadurch möglich
zu machen, ein System hoher Geschwindigkeit zu schaffen. Darüber hinaus
ist es im Vergleich mit einem System, das eine einzelne CPU-Einheit
verwendet, möglich,
ein System größeren Ausmaßes auszubilden.
-
5 zeigt
ein bevorzugtes Ausführungsbeispiel,
bei welchem das programmierbare Steuersystem bei einem vierten Ausführungsbeispiel
der vorliegenden Erfindung auf ein programmierbares Steuersystem
des Mehrfach-CPU-Systems vom redundanten Steuertyp angewendet wird.
Das programmierbare Steuersystem des Mehrfach-CPU-Systems vom redundanten
Steuertyp bezieht sich auf ein programmierbares Steuersystem mit
hoher Sicherheit, wobei ein Doppelsystem durch Installieren einer
CPU-Einheit (die hierin nach folgend Standby-CPU-Einheit genannt
wird) zur Verfügung
gestellt wird, die dann, wenn eine einer Vielzahl von CPU-Einheiten,
die gegenwärtig
betrieben werden, aufgrund eines ernsthaften Fehlers gestoppt wird,
anstelle der gestoppten CPU-Einheit betrieben werden kann.
-
Dieses
programmierbare Steuersystem ist versehen mit einer Leistungsversorgungseinheit 210, zwei
Einsatz-CPU-Einheiten 220, 230, einer einzelnen
Standby-CPU-Einheit 240 und einer Vielzahl von I/O-Einheiten 250, 260, 270, 280,
und diese Einheiten sind an einer Basiseinheit 290 mit
einem Systembus 291 angebracht.
-
Die
Einsatz-CPU-Einheit 220 managt die I/O-Einheiten 250 und 260,
die Einsatz-CPU-Einheit 230 managt die I/O-Einheiten 270 und 280,
und in dem Fall des Stoppens der Einsatz-CPU-Einheit 230 wird
die Standby-CPU-Einheit 240 anstelle von dieser betrieben.
-
Wenn
die jeweiligen CPU-Einheiten als die Einsatz-CPU-Einheit, die Standby-CPU oder die Standby-CPU-Einheit
vorgesehen sind, kann der Anwender bestimmen, mit welcher CPU-Einheit
eine jeweilige CPU-Einheit ersetzt werden kann, und das Ergebnis
in einer Systeminformation innerhalb jeder CPU-Einheit über die
Programmiervorrichtung einstellen.
-
Bei
diesem bevorzugten Ausführungsbeispiel
ist jede der CPU-Einheiten 220, 230, 240 versehen
mit demselben Befehlserzeugungsabschnitt, wie die CPU-Einheit des
ersten Ausführungsbeispiels (1)
und derselben Rücksetzschaltung
wie die CPU-Einheit des zweiten Ausführungsbeispiels (3);
darüber
hinaus ist jede der I/O-Einheiten 250, 260, 270, 280 versehen
mit demselben Befehlsdecodierabschnitt und demselben Register, etc.,
zum Zwischenspeichern von Information, die durch eine managende
CPU spezifiziert ist, etc., wie die I/O-Einheit des ersten Ausführungsbeispiels
(1), und auf dieselbe Weise wie die I/O-Einheit
des zweiten Ausführungsbeispiels
(3), von welchen jede einen Aufbau hat, zu welchem
das System-Rücksetzsignal
eingegeben wird.
-
Die
Basiseinheit 290 enthält
Logikproduktschaltungen 292, 293, und die jeweiligen
Systemeinheits-Rücksetzsignale
der Einsatz-CPU-Einheiten 220, 230 und der Standby-CPU-Einheit 240 sind
jeder der I/O-Einheiten 250, 260, 270, 280 in
der Form von logischen Produkten über die Logikproduktschaltung 292 zugeteilt;
darüber
hinaus sind die jeweiligen System-I/O-Rücksetzsignale
der Einsatz-CPU-Einheiten 220, 230 und der Standby-CPU-Einheit 240 jeder
der I/O-Einheiten 250, 260, 270, 280 in
der Form von Logikprodukten durch die Logikproduktschaltung 293 zugeteilt.
-
Als
nächstes
wird unter Bezugnahme auf 6 in bezug
auf das programmierbare Steuersystem des Mehrfach-CPU-Systems vom redundanten Steuertyp
eine Erklärung
diesbezüglich
gegeben, wie ein Fehler in der CPU-Einheit erfaßt wird.
-
Zuerst
schreibt die Einsatz-CPU-Einheit 230, um die Standby-CPU-Einheit 240 über die
Tatsache zu informieren, daß ihre
eigene Einheit normalerweise betrieben wird, "1" in
einer spezifischen Adresse A der Standby-CPU-Einheit 240 ((1)
der 6). Die Standby-CPU-Einheit 240 liest "1" in der Adresse A, so daß sei bestätigt, daß die Einsatz-CPU-Einheit 230 normalerweise
betrieben wird ((2) der 6).
-
Danach
schreibt die Standby-CPU-Einheit 240, um die Einsatz-CPU-Einheit 230 über die
Tatsache zu informieren, daß ihre
eigene Einheit normalerweise betrieben wird, "1" in
einer spezifischen Adresse B der Einsatz-CPU-Einheit 230 ((3)
der 6). Die Einsatz-CPU-Einheit 230 liest "1" in der Adresse B, so daß sie bestätigt, daß die Standby-CPU-Einheit 240 normalerweise
betrieben wird ((4) der 6).
-
Dann
schreibt die Einsatz-CPU-Einheit 230, um die Standby-CPU-Einheit 240 über die
Tatsache zu informieren, daß ihre
eigene Einheit normalerweise betrieben wird, "0",
d.h. einen von dem zuvor geschriebenen Wert unterschiedlichen Wert,
in der spezifischen Adresse A der Standby-CPU-Einheit 240 ((5)
der 6). Die Standby-CPU-Einheit 240 liest die
Adresse A und bekommt "0", was unterschiedlich von
dem Wert ist, der zuvor durch Lesen der Adresse A erhalten wird;
daher bestätigt
sie, daß die
Einsatz-CPU-Einheit 230 normalerweise betrieben wird ((6)
der 6).
-
Danach
schreibt die Standby-CPU-Einheit 240, um die Einsatz-CPU-Einheit 230 über die
Tatsache zu informieren, daß ihre
eigene Einheit normalerweise betrieben wird, "0",
d.h. einen vom zuvor geschriebenen unterschiedlichen Wert, in der
spezifischen Adresse B der Einsatz-CPU-Einheit 230 ((7) der 6).
Die Einsatz-CPU-Einheit 230 liest die Adresse B und bekommt "0", was unterschiedlich von dem Wert ist,
der zuvor durch Lesen der Adresse B erhalten wird; daher bestätigt es,
daß die
Standby-CPU-Einheit 240 normalerweise betrieben wird ((8)
der 6). Danach wird die Sequenz bzw.
-
Aufeinanderfolge
(1) bis (8) wiederholt, um wechselseitig zu bestätigen, daß die andere CPU-Einheit normalerweise
betrieben wird (hierin nachfolgend wird diese Operation "Überlebensbestätigung" genannt).
-
Wenn
die Einsatz-CPU-Einheit 230 aufgrund eines ernsthaften
Fehlers während
der Operation des Systems gestoppt wird, ist die Einsatz-CPU-Einheit 230 unfähig dazu,
in der Adresse A der Standby-CPU-Einheit 240 zu schreiben.
Darüber
hinaus werden die Inhalte des Fehlers im Eingabe/Ausgabe-Port innerhalb
der Einsatz-CPU-Einheit 230 geschrieben. Im Fall keiner Änderung
bezüglich
des Werts der Adresse A liest die Standby-CPU-Einheit 240 den
Eingabe/Ausgabe-Port innerhalb der Einsatz-CPU-Einheit 230,
um den Fehler der Einsatz-CPU-Einheit 230 zu
bestätigen,
bestätigt,
daß die
Einsatz-CPU-Einheit 230 gestoppt
worden ist und startet eine Steuerung der I/O-Einheit 270 oder 280 anstelle
der Einsatz-CPU-Einheit 230.
-
Darüber hinaus
wird deshalb, weil der MPU innerhalb der Einsatz-CPU-Einheit 230 gestoppt wird,
zugelassen, daß die
Ausgabe des System-I/O-Rücksetzsignals
der Einsatz-CPU-Einheit 230 auf
hoch geht, und zwar durch eine WDT-Schaltung. Wenn alle CPU-Einheiten
gestoppt werden, da das System-I/O-Rücksetzsignal
auf hoch geht, werden die Ausgabeabschnitte des gesamten Systems auf
Rücksetzzustände eingestellt;
daher wird selbst dann, wenn alle CPU-Einheiten gestoppt werden, das
System nicht weglaufen.
-
Durch
Erzielen des oben angegebenen programmierbaren Steuersystems des
Mehrfach-CPU-Systems vom redundanten Typ ist es möglich, ein
Doppelschutzsystem zur Verfügung
zu stellen, das normalerweise die Systemsteuerung fortführen kann,
selbst wenn eine bestimmte CPU-Einheit gestoppt worden ist.
-
INDUSTRIELLE
ANWENDBARKEIT
-
Die
vorliegende Erfindung ist auf eine programmierbare Steuerung für verschiedene
Bearbeitungsvorrichtungen und Industriemaschinen anwendbar, bei
welchen die sequentielle Steuerung ausgeführt wird.