-
Die Erfindung bezieht sich auf eine
Überwachungsschaltung, insbesondere auf eine Überwachungsschaltung zur
Verwendung mit einem Eingabe/Ausgabe-Bus einer
Datenverarbeitungsvorrichtung, wie etwa einer programmierbaren Steuerung.
-
Eine programmierbare Steuerung (im folgenden als PS
bezeichnet) weist normalerweise eine Bus-Gateschaltung auf,
die zwischen einem Datenbus einer CPU und einem mit
Eingabe/Ausgabe-Einheiten verbundenen Eingabe/Ausgabe-Bus
angeschlossen ist. Beim Zugriff auf die
Eingabe/Ausgabe-Einheiten gibt die CPU einen Befehl zum Öffnen der
Bus-Gateschaltung aus. Die Eingabe/Ausgabe-Einheiten umfassen eine Anzahl
von Eingabeeinheiten und Ausgabeeinheiten. Signalquellen,
wie Grenztaster, photoelektrische Schalter und
Näherungsschalter, sind mit den Eingabeeinheiten, und
Ausgabevorrichtungen, wie Motore, elektromagnetische Ventile und Pumpen,
sind mit den Ausgabeeinheiten verbunden.
-
Auf diese Weise spielt eine Eingabe/Ausgabe-Einheit die
Rolle einer Schnittstelle, welche die PS mit den zu
steuernden Geräten verbindet, und bildet unter den Komponenten der
PS denjenigen Teil, der der schlimmsten elektrischen
Umgebung unterworfen ist. Dementsprechend ist es von großer
Bedeutung, die PS in einer solchen Weisen auszulegen, daß
weder die Eingabe/Ausgabe-Einheit noch der Eingabe/Ausgabe-
Bus gegen durch externe Störsignale bewirkte Fehlfunktion
ungeschützt sind.
-
Wenn externe Störsignale am Eingabe/Ausgabe-Bus
erscheinen, während die CPU gerade Ausgangsdaten auf eine
Ausgabeeinheit überträgt oder Eingangsdaten von einer
Eingabeeinheit erhält, kann es sein, daß die Eingabe/Ausgabe-
Daten störend beeinflußt werden, was dann zu einer
Fehlfunktion
der PS führt.
-
Es ist bekannt, daß eine solche Störung des Eingabe/-
Ausgabe-Busses während des Arbeitens der PS stattfindet,
vorausgesetzt, daß die Eingabe/Ausgabe-Einheit an der
Steckverbindung des Eingabe/Ausgabe-Busses angebracht oder von
dieser gelöst wird. Dementsprechend wurde die herkömmliche
PS so konstruiert, daß das Anbringen und Lösen der Eingabe/-
Ausgabe-Einheit während ihres Arbeitens verhindert ist.
-
Es ist jedoch sehr angenehm, wenn eine ausgefallene
Einheit ausgetauscht werden kann, während andere Einheiten
normal betrieben werden.
-
Aus US-A-3 497 685 ist eine Überwachungsschaltung
bekannt, welche Mittel zur Übertragung von Pseudodaten über
eine Schaltung an einen mit einer CPU verbundenen
Ausgabebus, während eine zwischen einem Datenbus und dem Ausgabebus
angeschlossene Gateschaltung geschlossen ist, und Mittel zur
Beurteilung, ob die Pseudodaten unter dem wirken der Übertragungsmittel
korrekt auf den Ausgabebus übertragen werden
oder nicht, aufweist.
-
Die in US-A-3 497 685 beschriebene
Überwachungsschaltung weist auf:
-
- Speichermittel zur Speicherung von Pseudodaten, die
zum Testen verwendet werden
-
- mit den Speichermitteln verbundene Gatemittel zur
Übertragung der Pseudodaten auf Ausgabebusmittel
-
- Koinzidenzschaltungsmittel zum Vergleichen von
Ausgangs-Pseudodaten mit Ausgangsdaten, die in den
Speichermitteln gespeichert sind.
-
Es ist eine Hauptaufgabe der Erfindung, eine
Überwachungsschaltung zu schaffen, die in der Lage ist, eine
Störung des Eingabe/Ausgabe-Busses festzustellen, ohne eine
zusätzliche Belastung für eine CPU zu bewirken.
-
Diese Aufgabe wird durch eine Überwachungsschaltung
gelöst, wie sie im Anspruch 1 definiert ist.
-
Andere Aufgaben und zahlreiche Vorteile der
erfindungsgemäßen Überwachungsschaltung werden aus der folgenden
Beschreibung in Verbindung mit den beigefügten Zeichnungen
deutlich. Auf diesen ist
-
Fig. 1 ein Schaltungsdiagramm, welches den gesamten
Aufbau einer PS als eine bevorzugte Ausführungsform der
Erfindung zeigt,
-
Fig. 2 eine Detailansicht einer Überwachungsschaltung
der Fig. 1,
-
Fig. 3 ein Flußdiagramm, welches das gesamte Arbeiten
der PS der Fig. 1 zeigt,
-
Fig. 4 ein detailliertes Flußdiagramm des Schrittes der
Eingabe/Ausgabe-Auffrischung der Fig. 3, und
-
Fig. 5 ein Zeitdiagramm, welches das Arbeiten der PS
der Fig. 1 zeigt.
-
Bezugnehmend auf Fig. 1, ist ein Gesamtaufbau einer PS
gezeigt. Eine CPU 10 ist durch MOTOROLA 6809 gebildet, mit
welcher ein Systemspeicher 12 zur Speicherung eines
Systemprogramms, ein Benutzerprogrammspeicher 14, ein
Eingabe/Ausgabe-(E/A-)Speicher 18 und eine Programmkonsole 20 verbunden
sind. Jede E/A-Einheit 16, Nr. 0 bis n, spielt die Rolle
entweder einer Eingabeeinheit oder einer Ausgabeeinheit.
Eine Bus-Gateschaltung 22 ist zwischen einem Datenbus DBN,
der mit der CPU 10 verbunden ist, und einem E/A-Bus IODN,
der mit jeder E/A-Einheit verbunden ist, angeschlossen. Eine
Überwachungsschaltung 24 ist zwischen dem Eingang und
Ausgang der Bus-Gateschaltung 22 angeschlossen.
-
DBN, IODN und die Bus-Gateschaltung 22 sind zur
Vereinfachung der Beschreibung als nur ein Bit handhabend gezeigt,
tatsächlich werden sie aber entsprechend der Anzahl der
Ausgänge jeder E/A-Einheit vorgesehen.
-
Gemäß Fig. 3 ist das allgemeine Arbeiten der PS
veranschaulicht. Wenn die PS von der externen
Wechselspannungsquelle
über einen (nicht gezeigten) Leistungsschalter
Spannung erhält, beginnt der Vorgang der Fig. 3. n einem
Schritt 100 werden alle Teile der PS initialisiert. Der
nächste Schritt ist ebenfalls ein Initialisierungsschritt,
der im folgenden beschrieben wird. In einem Schritt 102
werden ein in einem Speicher 14 gespeichertes
Benutzerprogramm beruhend auf den im E/A-Speicher 18 gespeicherten
Daten bis zu seinem Endbefehl hinunter abgearbeitet und die
Ausgangsdaten des E/A-Speichers 18 gemäß den Ergebnissen der
Abarbeitung umgeschrieben.
-
Der nächste Schritt 103 ist zur Wiedergabe der
Verarbeitungsbedingungen an der Programmkonsole 20 oder für den
Erhalt verschiedener Instruktionen von dieser vorgesehen.
Dann wird ein Anomaliekennzeichen FLG der Monitorschaltung
24 durch ein Signal FGC gelöscht (Schritt 104). Der nächste
Schritt 105 ist für eine E/A-Auffrischverarbeitung
vorgesehen. Das heißt, die durch die Ausführung des
Benutzerprogramms umgeschriebenen Ausgabedaten des E/A-Speichers 18
werden auf die entsprechende Ausgabeeinheit 16 übertragen
und die letzten Eingabedaten der Eingabeeinheit 16 in den
E/A-Speicher 18 genommen und darin gespeichert.
-
Nach Abschluß des E/A-Auffrischvorganges wird
abgefragt, ob das Anomaliekennzeichen FLG gesetzt oder gelöscht
ist (Schritt 106). Wenn FLG gelöscht bleibt, so bedeutet
dies, daß die E/A-Auffrischverarbeitung korrekt
abgeschlossen worden ist. In diesem Fall kehrt die Folge nach Schritt
102 zurück, der, wie oben beschrieben, eine
Durchführungsroutine des Benutzerprogramms ist. Wenn FLG gesetzt wird,
bedeutet dies, daß auf dem E/A-Bus IODn während der
E/A-Auffrischverarbeitung eine Störung bewirkt worden ist und daß
die übertragenen Daten möglicherweise verändert worden sind.
In diesem Falle geht die Folge zu Schritt 104 zu 105, und
die E/A-Auffrischung wird erneut versucht.
-
In Fig. 2 ist im einzelnen der Aufbau einer
Überwachungsschaltung
24 veranschaulicht. Die
Überwachungsschaltung 24 umfaßt einen Datenspeicher 26, der ein gegebenes
Bitmuster von Pseudodaten speichert, eine Pufferschaltung
28, die zwischen dem Ausgang des Speichers 26 und IODn
angeschlossen ist, einen Multiplexer 30, der 50 eingerichtet
ist, daß er entweder Pseudodaten aus dem Speicher 26 oder
die Daten auf dem CPU-Datenbus DBn auswählen kann, eine
Koinzidenzschaltung 32, welche die Daten auf IODn mit den
durch den Multiplexer 30 ausgewählten Daten vergleicht, eine
Kennzeichenschaltung 34, die das Anomaliekennzeichen FLG
ansprechend auf das Nichtkoinzidenz-Ausgangssignal der
Koinzidenzschaltung 32 erstellt, und einen Zeitgenerator 36, der
so eingerichtet ist, daß er Zeitsignale G1, G2, G3 und G4
beruhend auf den Systemtakten EE und EQ sowie von der CPU 10
übertragenen Steuersignalen R/W und DLD erzeugen kann. Der
in Fig. 3 gezeigte Schritt 101 ist eine Routine zum Setzen
von Pseudodaten (Testdaten) im Datenspeicher 26.
-
In Fig. 5 ist ein Zeitdiagramm gezeigt, welches das
Arbeiten der auf die E/A-Einheiten 16 zugreifenden CPU 10
und das Arbeiten der Überwachungsschaltung 24
veranschaulicht. Zunächst wird eine Zugriffsbetriebsweise
(Schreibbetriebsweise) in Bezug auf Ausgabeeinheiten 16 beschrieben.
-
Die CPU 10 wählt mit dem Kanalauswahlsignal IOCHi (i =
0 bis n) die auszuwählende E/A-Einheit 16 aus und öffnet das
Ausgangsgate der Bus-Gateschaltung 22 durch Absenken des
Werts des Steuersignals OUTG und überträgt dann die
Ausgangsdaten auf den Datenbus DOn. Die CPU führt dann das
Signal IOEN nachfolgend auf das Absenken seines Werts auf
seinen hohen Wert zurück. Auf diese Weise werden die
Ausgangsdaten auf dem E/A-Bus IODn in der ausgewählten
Ausgabeeinheit 16 in Synchronisation mit dem Anstieg von IOEN
verriegelt. In dieser Schreibbetriebsweise wird der Multiplexer
30 der Überwachungsschaltung 24 so geschaltet, daß er die
Daten von DBn auswählt, und die Pufferschaltung 28 wird
geschlossen.
Dementsprechend werden, wenn die CPU 10 die Daten
durch Öffnen der Bus-Gateschaltung 22 überträgt, die Daten
auf IODn mit den Daten auf DBn in der Koinzidenzschaltung 32
verglichen. Außer wenn eine Störung auf IODn bewirkt wird,
ist zu erwarten, daß beide Daten zusammenfallen, während,
wenn eine solche Störung auftritt, eine Möglichkeit der
Bewirkung einer Nichtkoinzidenz zwischen den beiden Daten
besteht. Das Nichtkoinzidenz-Ausgangssignal der
Koinzidenzschaltung 32 wird in die Kennzeichenschaltung 34 mit dem
Anstieg des Signals IOEN eingelesen.
-
Als zweites wird die Zugriffsbetriebsweise
(Lesebetriebsweise) in Bezug auf Eingabeeinheiten 16 beschrieben.
Die CPU 10 wählt durch Kanalauswahlsignale ICHi die
Eingabeeinheit 16 aus, auf die zugegriffen werden soll, und senkt
die Werte der Signale IOEN und ING in der zweiten Hälfte
eines CPU-Maschinenzyklusses ab. Die Eingangsdaten der
ausgewählten Eingabeeinheit 16 werden auf IODn ausgegeben, über
die Bus-Gateschaltung 22 in DBn genommen und in den E/A-
Speicher 18 geschrieben.
-
In dieser Lesebetriebsweise wird der Multiplexer 30 der
Überwachungsschaltung 24 so geschaltet, daß die Pseudodaten
aus dem Datenspeicher 26 ausgewählt werden, und die
Pufferschaltung 28 wird geöffnet, unmittelbar bevor die Werte der
Signale IOEN und ING abgesenkt werden. Das heißt, die
Pseudodaten des Datenspeichers 26 werden über die
Pufferschaltung 28 auf IODn übertragen, unmittelbar bevor das
Eingangsgate der Bus-Gateschaltung 22 geöffnet wird, um den
Lesebetriebsweise-Zugriff zu ermöglichen. Danach werden die Daten
auf IODn mit den Daten des Datenspeichers 26 in der
Koinzidenzschaltung 32 verglichen. Wie weiter oben beschrieben,
ist zu erwarten, daß beide Daten übereinstimmen, wenn keine
Störung für IODn bewirkt wird, während, wenn eine solche
Störung bewirkt wird, die Möglichkeit einer Nichtkoinzidenz
zwischen den beiden Daten besteht. Die
Nichtkoinzidenz-Ausgabe
wird in die Kennzeichenschaltung 34 in Synchronisation
mit dem Anstieg des Taktes EE eingelesen.
-
Der Überwachungsvorgang von IODn durch Verwendung von
Pseudodaten wird gemäß der gleichen Zeit wie oben erwähnt
auch durchgeführt, wenn die CPU 10 auf die Speicher 12, 14
und 18 und die Programmkonsole 20 zugreift.
-
Bei dieser Ausführungsform wird also IODn durch die
Verwendung von Pseudodaten nicht nur überwacht, wenn die
Bus-Gateschaltung 22 geschlossen ist, sondern durch die
Verwendung der von der CPU über DBn durch Öffnen der
Gateschaltung 22 übertragenen Ausgangsdaten. Dementsprechend
kann die Häufigkeit der Überwachung stark angehoben werden,
was zu einem sehr geringen Übersehen von Störungen führt.
-
Neben den oben erwähnten Funktionen hat die PS dieser
Ausführungsform die folgenden Funktionen, welche das weiter
oben beschriebene Anbringen und Abnehmen von E/A-Einheiten
während des Arbeitens der PS ermöglicht.
-
Vor dem Ersetzen einer ausgefallenen E/A-Einheit 16
wird die Einheitennummer der Einheit unter Verwendung der
Programmkonsole 20 registriert. Diese Eingangsdaten werden
im Schritt 103 (Fig. 3) angenommen und in einer Tabelle
(nicht gezeigt) des Systemspeichers 12 gespeichert. Dann
wird das Ersetzungs-OK-Kennzeichen gesetzt und "Ersetzung
OK" auf der Anzeige der Programmkonsole 20 angezeigt. Der
Bediener der PS nimmt dann die Einheit, deren Nummer
registriert worden ist, ab und bringt dann eine neue Einheit an.
Danach gibt der Bediener die Beendigung des Ersetzens unter
Verwendung der Programmkonsole 20 ein. Ansprechend auf
obigen Vorgang löscht die CPU 10 die betreffenden in der
Tabelle gespeicherten Daten zusammen mit dem
Ersetzungs-OK-Kennzeichen nach Bestätigung, daß die Ersetzung normal
abgeschlossen worden ist. Gleichzeitig wird "Abschluß der
Ersetzung" angezeigt.
-
Die CPU 10 führt die E/A-Auffrischung in einer anderen
Weise durch, wenn "Ersetzung einer Einheit" registriert
worden ist (während das Ersetzungs-OK-Kennzeichen gesetzt
ist). Das heißt, unter Bezugnahme auf Fig. 4, ist ein
Flußdiagramm gezeigt, welches detaillierte Schritte des in Fig.
3 gezeigten Schritts 105 veranschaulicht.
-
In einem Abfrageschritt 201 wird abgefragt, ob das
Ersetzungs-OK-Kennzeichen gesetzt ist. Wenn nicht, geht die
Folge nach einem Schritt 202, in welchem eine normale E/A-
Auffrischung durchgeführt wird, weiter. Wenn ja, wird
abgefragt, ob die Nummer der Einheit, auf die zugegriffen wird,
registriert ist (Schritt 203). Wenn sie nicht registriert
ist, geht die Folge nach Schritt 202, wo eine normale E/A-
Aufführung, wie oben beschrieben, durchgeführt wird. Wenn
sie registriert ist, wird in einem Abfrageschritt 204
abgefragt, ob die registrierte Einheit eine Eingabeeinheit ist.
Im Falle einer Eingabeeinheit wird die Durchführung der E/A-
Auffrischung verhindert, um die entsprechenden Eingabedaten
des E/A-Speichers 18 zu halten, während im Falle einer
Ausgabeeinheit alle "0"-Daten auf die Einheit gegeben werden.
-
Auf diese Weise kann eine ausgefallene Einheit von der
E/A-Auffrischung ansprechend auf den Registriervorgang vor
der Ersetzung der ausgefallenen Einheit ausgeschlossen
werden. Es ist zu beachten, daß die E/A-Auffrischung
vollständig durchgeführt werden kann, weil der Auffrischvorgang, wie
weiter oben beschrieben, wiederholt durchgeführt wird, wenn
eine Störung auf dem E/A-Bus IODn infolge der Ersetzung der
ausgefallenen Einheit bewirkt wird. Das Fehlfunktionieren
einer PS ist also beseitigbar.