DE2505475C3 - Verfahren und Vorrichtung zur Fehlerprüfung bei einem programmierbaren Logikwerk für die Ausführung logischer Operationen - Google Patents
Verfahren und Vorrichtung zur Fehlerprüfung bei einem programmierbaren Logikwerk für die Ausführung logischer OperationenInfo
- Publication number
- DE2505475C3 DE2505475C3 DE19752505475 DE2505475A DE2505475C3 DE 2505475 C3 DE2505475 C3 DE 2505475C3 DE 19752505475 DE19752505475 DE 19752505475 DE 2505475 A DE2505475 A DE 2505475A DE 2505475 C3 DE2505475 C3 DE 2505475C3
- Authority
- DE
- Germany
- Prior art keywords
- memory
- parity
- read
- data
- accumulator
- 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
Links
- 238000000034 method Methods 0.000 title claims description 11
- 230000015654 memory Effects 0.000 claims description 160
- 230000008859 change Effects 0.000 claims description 10
- 230000001960 triggered effect Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
- G06F11/1032—Simple parity
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/058—Safety, monitoring
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13188—Checking program data, parity, key
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Description
Die Erfindung bezieht sich auf ein Verfahren und eine Vorrichtung zur Fehlerprüfung bei einem programmierbaren
Logikwerk für die Ausführung logischer Operationen, wobei eine Mehrzahl von Eingangs- und
Ausgangsschaltungen, die jeweils Speicher enthalten, mit dem Logikwerk verbunden ist, das einen ersten
adressierbaren Festwertspeicher aufweist, wobei die Adressierung das Ergebnis einer vorausgehenden
Verarbeitung sein kann und in dem die jeweils einer Adresse zugeordneten Daten mit Paritätsdaten versehen
sind, die beim Auslesen der Daten geprüft werden.
Es ist bereits eine Fehlerprüfung bei einem programmierbaren
Logikwerk bekannt, mit iiem logische
Operationen ausgeführt werden. Dieses Logikwerk ist mit einer Mehrzahl von Eingangs- und Ausgangsschal-
tungsn verbunden, die jeweils Speicher enthalten. Das Logikwerk enthält einen adressierbaren Festwertspeicher,
wobei die Adressierung das Ergebnis einer vorausgehenden Verarbeitung sein kann. Neben den
jeweils einer Adresse zugeordneten Daten sind im Festwertspeicher Paritätsdaten enthalten, die beim
Auslesen der Daten geprüft werden (IEEE Transactions on Computers, Vol. C-19, No. 12, December 1970, Seiten
1153 bis !159). Das der bekannten Fehlerprüfung zugrunde liegende Prinzip besteht darin, zugleich mit
der Dekodierung von Daten eine Paritätsprüfung
durchzuführen. Um Mehrfachfehler erfassen zu können, werden bei der bekannten Fehlerprüfung i.uch mehrere
Paritätsbits verwendet.
Bekannt sind auch programmierbare Steuersysteme (Brown Boverie Mitteilungen, April/Mai 1966, Seiten
365—371: »Das Zentras — ein programmierbares Universalsteuersystem«). Bei einem solchen bekannten
Steuersystem werden Befehle, die sich auf die Verknüpfung logischer Variabler beziehen, in einen
Speicher eingegeben, aus dem sie nach einer durch ein Programm festgelegten Reihenfolge ausgelesen wer
den. Es handelt sich um Dreiadreßbefehle, wobei zwei Adressen jeweils die Speicherplätze zweier Operanden
und die dritte Adresse einen Speicherplatz angeben, zu dem das Ergebnis nach Ausführung des Befehls
übertragen wird. In der Grundausführung des bekannten Universalsteuersystems stehen vier Befehle: Dis-
junktion, binäre Addition, bedingter Sprung und Repetition zur Verfügung. Es können Programme für
Schaltfunktionen die sich mittels Gleichungen der Booleschen Algebra ausdrücken lassen, verarbeitet
werden. Das Ergebnis der Verarbeitung einer solchen Schaltfunktion, eine binäre »0« oder »1«, wird einer zu
steuernden Anordnung zugeführt.
Der Erfindung liegt die Aufgabe zugrunde, ein programmierbares Logikwerk der eingangs erwähnten
Gattung derart weiterzuentwickeln, daß die für die Ausführung der Verknüpfung logischer Variabler
verwendeten Steuersignale des Logikwerks in die Fehlerprüfung einbezogen werden und das Ergebnis der
Verknüpfung oder die für eine Verknüpfung im Logikwerk übertragene Variable bis zum Abschluß der
Übertragung zu bzw. von Eingangs- bzw. Ausgangsspeichern auf Fehler überwacht werden.
Die Aufgabe wird erfindungsgemäß dadurch gelöst, daß die für die Steuerung der Ausführung einer
logischen Operation während eines Befehlizyklus in
einem weiteren adressierbaren Festwertspeicher abge speicherten Daten unter jeweils benachbarten Adressen
abwechselnd auf geradzahlige bzw. ungeradzahlige Parität ergänzt sind und bei jeder Adrersenerhöhung
innerhalb eines Befehlszyklus der Wechsel zwischen geradzahliger und ungeradzahliger Parität überwacht
wird, und daß vor der Eingabe des Ergebnisses einer
logischen Operation aus dem Akkumulator in einen ausgewählten Datenspeicher einer ausgewählten Eingangs-
und Ausgangsschaltung zunächst geprüft wird, ob die Parität des gesamten Datenspeicherinhalts der
ausgewählten Eingangs- und Ausgangsschaltung noch mit der im Speicher enthaltenen Parität übereinstimmt
und bei Übereinstimmung dann geprüft wird, ob der Inhalt des ausgewählten Datenspeichers von dem Inhalt
des Akkumulators abweicht wobei bei Übereinstimmung der Inhalt des ausgewählten Datenspeichers und
die zum gesamten Datenspeicherinhalt gehörige Parität im Speicher unverändert bleiben, während bei Nichtübereinstimmung
der Inhalt des Akkumulators in den ausgewählten Datenspeicher übertragen wird und die
zum gesamten Datenspeicher gehörige Parität im Speicher den geänderten Daten angepaßt wird und
anschließend der Inhalt des ausgewählten Datenspeichers erneut mit dem Inhalt des Akkumulators auf
Übereinstimmung geprüft wird.
Mit diesem Verfahren können mit geringem Aufwand in entsprechend aufgebauten Logikwerken Fehler
festgestellt werden. Es wird die richtige Aufeinanderfolge der Steuersignale aus dem weiteren Festwertspeicher
überwacht, in dem ein Mikroprogramm enthalten ist, durch das die für den Ablauf der Datenverarbeitung
erforderlichen Signalkombinationen erzeugt werden. Bei fehlerhafter Signalausgabe kann somit verhindert
werden, daß weitere Steuerschritte eingeleitet werden, die unerwünschte Wirkungen im Steuerungsablauf
hervorrufen. Weiterhin wird nach der Durchführung einer logischen Verknüpfung geprüft, ob nicht der
gleiche Wert in dem für die Ausgabe des Ergebnisses bestimmten Ausgabespeicher schon enthalten ist. Falls
das Ergebnis einer Verknüpfung mit dem im Ausgabespeicher schon enthaltenen Wert übereinstimmt, unterbleibt
eine Übertragung vom Akkumulator zum Ausgabespeicher, so daß Störeinflüsse auf dem Übertragungsweg
entfallen. Falls eine Übertragung wegen unterschiedlicher Werte des Ergebnisses und im
Speicher sich nicht vermeiden läßt, wird nach der Übertragung noch einmal die Parität geprüft. Die
Sicherheit gegen fehlerhafte Signalverarbeitung wird daher wesentlich erhöht. Trotz Anwendung von
Halbleiterschaltelementen und Betriebsspannungen, die kleiner als die bei Relais- und Schützensteuerungen
üblichen Betriebsspannungen sind, ist die Zuverlässigkeit des Logikwerks durch das Fehlerprüfverfahren
nicht geringer als die mit Relais- und Schützensteuerungen erzielbare Zuverlässigkeit. Programmierbare Logikwerke
können deshalb auch eingesetzt werden, wenn an die Sicherheit einer Steuerung große Anforderungen
gestellt werden. Durch das oben erläuterte Verfahren werden den programmierbaren Logikwerken weitere
Verwendungsmöglichkeiten erschlossen, bei denen die mit Logikwerken erzielbaren Vorteile, geringerer
Raumbedarf, geringeres Gewicht, kleiner Energieverbrauch und schnellere Signalverarbeitung, zur Geltung
kommen können.
Eine Vorrichtung zur Durchführung des erfindungsgemäßen Verfahrens ist derart ausgebildet, daß der
Festwertspeicher über einen Zwischenspeicher in Verbindung mit Ausgangssignalen eines Ein-Bit-Speichers,
eines Vor/Rückwärtszählers und eines Ein-Bit-Akkumulators, in dem der Wert jeweils einer logischen
Variablen speicherbar ist, adressierbar und mit Hilfe der Steuersignale aus dem weiteren Festwertspeicher
auslesbar ist, daß der Ausgang des Festwertspeichers für die Paritätsdaten über einen Pufferspeicher an eine
Paritätsprüfschaltung angeschlossen ist, daß ein Paritätsgenerator mit den Datensignalen der Speicher der
Eingangs- und Ausgangsschaltungen beaufschlagbar ist, daß das Ausgangssignal des Paritätsgenerators mit
Signalen von Paritätsspeichern der Eingangs- und Ausgangsschaltungen vergleichbar ist und daß eine
Adressenansteuerschaltung für die Speicher der Eingangs- und Ausgangsschaltungen und einen Vergleicher
vorgesehen ist, der an den Akkumulator und über eine Sammelleitung an die Speicher der Eingangs- und
Ausgangsschaltungen anschließbar ist und durch den bei Abweichung des Akkumulatorinhalts vom Inhalt des
adressierten Speichers eine Änderungen des Inhalts des Paritätsspeichers und die Übertragung des Akkumulatorinhalts
von und zu dem adressierten Speicher steuerbar ist.
Die Anordnung erlaubt eine weitgehende Erfassung von Einfachfehlern bei geringem schaltungstechnischem
Aufwand für die Prüfung.
Bei einer zweckmäßigen Ausführungsform ist der Ausgang für die Paritätsdaten des weiteren Festwertspeichers
mit einer retriggerbaren monostabilen Kippstufe verbunden, deren Zeitkonstante länger als die
Periode des Wechsels der Paritätssignale ist. Durch diese Anordnung werden mit einfachen Mitteln Fehler
festgestellt, die beim Überspringen einzelner Schritte des Mikroprogramms auftreten. Es wird also sichergestellt,
daß auch bei schneller Aufeinanderfolge der einzelnen Schritte kein Schritt ohne Fehlermeldung
verlorengeht. Durch die Meldung eines derartigen Fehlers können Maßnahmen zum Anhalten des
Logikwerkes eingeleitet werden.
Vorzugsweise ist der weitere Festwertspeicher über einen Zähler adressierbar, der von einem Taktgeber
weiterschaltbar ist, dessen Taktsignale einer retriggerbaren monostabilen Kippstufe zuführbar sind, deren
Zeitkonstante länger als die Periode der Taktsignale eingestellt ist. Diese Anordnung überwacht die äquidistanten
Zeitabstände für die Verarbeitung.
Bei einer günstigen Ausführungsform ist vorgesehen, daß im Festwertspeicher Adreßzellen vorhanden sind,
deren Inhalt beim Auftreten fehlerhafter Adreßsignalkombinationen auslesbar ist und durch deren Ausgangssignale
eine Fehleranzeige und/oder Abschaltung auslösbar ist. Mit dieser Anordnung ist es möglich, für
bestimmte Fehlerkombinationen gezielte Maßnahmen einzuleiten. Für manche Fehler kann es ausreichend
sein, einen optischen oder akustischen Alarm auszulösen. Bei anderen Fehlern ist eine Abschaltung oder
Stillsetzung des Logikwerks notwendig, um Schaden bei den angeschlossenen Geräten oder der gesteuerten
Anlage zu vermeiden. Die vorstehend erwähnte Anordnung erlaubt eine flexible Anpassung des
Logikwerks an verschiedene Fehlerarten.
Vorzugsweise sind zwei Befehlszähler vorgesehen, die mit einer Vergleichsschaltung verbunden sind, die
bei Abweichungen zwischen den Ausgangssignalen der Befehlszähler ein Fehiersignai abgibt. Durch diese
Anordnung wird die Verarbeitung falscher Befehle bei fehlerbehafteten Befehlszählern vermieden.
Es ist zweckmäßig, beim Ausbleiben eines Taktsignals, bei einem Paritätsfehler in einem Befehl, bei
einem nicht vollzogenen Wechsel der Paritätssignale des weiteren Festwertspeichers oder bei einem
Paritätsfehler des Festwertspeichers in die Speicher für die Ausgabe in den Ausgangsschaltungen logische
»O«-Signale einzugeben und das Logikwerk stillzusetzen.
Die Ausführung fehlerhafter Verarbeitungsschritte wird dadurch verhindert
Wenn ein von der Paritätsprüfschaltung an der Sammelleitung abgegebenes Fehlersignal anliegt kann
vorteilhafterweise ein Befehl aus dem programmierbaren Befehlsspeicher ausgelesen werden, mit dem eine
der Art des Fehlers angepaßte Prüffoige eingeleitet
wird. Diese Prüffolge richtet sich nach der Art des an die
Eingangs-, Ausgangsschaltung angeschlossenen Gerätes und dessen Aufgabe in bezug auf die anderen zu
steuernden Einheiten.
Die Erfindung wird im folgenden an Hand eines in einer Zeichnung dargestellten Ausführungsbeispiels
näher erläutert.
Bei der Analyse der Steuerungsaufgabe, die von einem programmierbaren Logikwerk gelöst werden
soll, werden für die zu steuernden Geräte die erforderlichen Bedingungen ermittelt, die in Form von
Booleschen Funktionen niedergelegt werden. Diese Bedingungen können sich z. B. auf das Ein- und
Ausschalten eines Motorschützes, eines magnetisch betätigbaren Ventils, einer optischen oder akustischen
Anzeige oder das Abfragen von Schaltern beziehen. An Hand der ermittelten Booleschen Funktionen werden
Befehle erstellt, die logische Variable und deren Verknüpfung enthalten. Die Befehle umfassen neben
einem Operationsteil einen Adreßteil.
Die einzelnen Befehle werden in Zellen eines programmierbaren Befehlsspeichers 1 eingegeben. Die
Befehle werden durch Adressierung der Speicherzellen ausgelesen, wobei nach der Verarbeitung eines Befehls
die Speicheradresse jeweils um eins erhöht wird. Die Speicheradressen sind in Befehlszählern 2,3 enthalten,
deren Inhalte gemeinsam nach Ausführung eines Befehls um den Wert eins erhöht werden. Beide
Befehlszähler 2,3 enthalten die gleiche Befehlsspeicheradres^e.
Zur Adressierung des programmierbaren Befehlsspeichers 1 dient nur der Befehlszähler 2.
Die Ausgänge des Befehlsspeichers 1 sind mit einem Zwischenspeicher 4 verbunden, in den der Inhalt der
jeweils adressierter» Zelle des Befehlsspeichers 1 eingegeben wird. In dem Zwischenspeicher 4 wird ein
Befehlswort gespeichert und dekodiert Die Ausgänge des Zwischenspeichers 4 sind an Adreßeingänge eines
Festwertspeichers und an eine Adressenansteuerschaltung 6 angeschlossen. Die Ausgänge des Zwischenspeichers
4 sind so auf den Festwertspeicher 5 und die Adressenansteuerschaltung 6 aufgeteilt daß der Befehlsteil
eines Befehlsworts als Adresse am Festwertspeicher 5 und der Adreßteil an der Adressenansteuerschaltung
6 verfügbar sind. Die im Befehlsspeicher 1 enthaltenen Daten sind durch Paritätsdaten ergänzt die
beim Auslesen ebenfalls in den Zwischenspeicher 4 eingegeben werden. An die für die Aufnahme der
Paritätsdaten bestimmte, nicht näher dargestellte Speicherzelle des Zwischenspeichers 4 ist eine Paritätsprüfschaltung 7 angeschlossen, in der die Paritätsdaten
für den jeweils ausgelesenen Befehl geprüft werden.
Weitere Adreßeingänge des Festwertspeichers 5 sind an jeweils einen Ausgang eines Akkumulators 8, eines
Speichers 9 und eines Zählers 10 angeschlossen. Der Akkumulator 8 und der Speicher 9 sind für die
Speicherung von je einem Bit ausgelegt Bei dem Zähler
10 handelt es sich um einen Vor/Rückwärtszähler. Der Akkumulator 8, der Speicher 9 und der Zähler 10 sind
mit Ausgängen eines Pufferspeichers 12 verbunden, dessen Eingänge an die Ausgänge des Festwertspeichers
5 angeschlossen sind.
Der Akkumulator 8 ist über eine Leitung 32 mit einem Vergleicher 11 verbunden. Ober die Leitung 32 können
Daten wahlweise vom Akkumulator 8 zum Vergleicher
11 und in umgekehrter Richtung übertragen werden.
Der Vergleicher 11 ist an einzelne parallele Leitungen 12, 13, 14 einer Sammelleitung 17 anschaltbar, die
weitere parallele Leitungen 15, 16 enthält. Die Sammelleitung 17 kann auch mehr als die fünf
angegebenen parallelen Leitungen aufweisen. An die parallelen Leitungen 12 bis 16 sind Eingänge von
Eingangs-, Ausgangsschaltungen 18 angeschlossen. In den Eingangs-, Ausgangsschaltungen 18 sind nicht näher
dargestellte Ein-Bit-Speicher vorgesehen, die an einzelne Leitungen 12, 13, 14, 16 anschaltbar sind. Die
Leitungen 12, 13, 14 dienen beispielsweise für den Datenaustausch zwischen dem Vergleicher und den ,0
Speichern in den Eingangs-, Ausgangsschaltungen. Die Leitung 15 ist für die Übertragung von Taktsignalen zu
den Eingangs-, Ausgangsschaltungen 18 bestimmt. Die Ein- und Ausgangsschaltungen 18 enthalten je einen
weiteren Ein-Bit-Speicher 19, der an die Leitung 16 angeschlossen ist. In den Speichern i9 sind die
Paritätsdaten für die an die Sammelleitung 17 anschaltbaren Speicher der Eingangs-, Ausgangsschaltungen
18 vorhanden.
Die Eingangs-, Ausgangsschaltungen 18 sind über Leitungen 20 mit externen Geräten verbunden, bei
denen es sich um Schalter, photoelektrische oder magnetische Geber, Relais- oder Schützspulen usw.
handeln kann. Auf den Leitungen 20 werden Steuersignale von und zu den Eingangs-, Ausgangsschaltungen
übertragen. Neben der Speicherung von Daten ermöglichen die Eingangs-, Ausgangsschaltungen 18 die
Pegelanpassung zwischen den Signalen auf der Sammelleitung 17 und den externen Geräten, beispielsweise
eines zu steuernden Prozesses.
Den Eingangs-, Ausgangsschaltungen 18 sowie den Speichern in diesen Schaltungen sind Adressen zugeordnet,
die in der Adressenansteuerung 6 gespeichert werden. Über die Adressenansteuerung 6 können die
Eingangs-, Ausgangsschaltungen 18 und deren Speicher ausgewählt werden.
Ein Taktgeber 21 speist einen Zähler 22, der voreinstellbar ausgebildet ist. Die Ausgänge des Zählers
22 sind mit einem weiteren Festwertspeicher 23 verbunden, in dem ein Mikroprogramm gespeichert ist. 4P
Durch die Adressierung des weiteren Festwertspeichers
23 über den Zähler 22 werden an Ausgängen des Festwertspeichers 23 Steuersignale hervorgerufen, die
das Auslesen und die Durchführung der in Befehlsspeicher 1 enthaltenen Befehle in Verbindung mit den
Befehlszählern 2, 3, dem Zwischenspeicher 4, dem Festwertspeicher 5, dem Akkumulator 8, dem Speicher
9, dem Zähler 10, dem Vergleicher 11, und den Eingangs-, Ausgangsschaltungen 18 steuern. Die Anzahl
der vom Zähler 22 erzeugten Adressen bestimmt dabei die Dauer eines Befehlsauslese- bzw. Ausführungszyklus.
Die Art der Verknüpfung der logischen Variablen geht aus dem jeweiligen Befehl hervor, der im
Zwischenspeicher 4 während der Ausführung der Verknüpfungsoperation enthalten ist Der Befehl wird in
einem mehrere Schritte umfassenden Zyklus ausgeführt, der vom Mikroprogramm im Festwertspeicher 23
abhängt Die Schritte können sich z. B. auf das Einlesen
eines Befehls in den Zwischenspeicher 4, die Adressie- ω rung einer Eingangs-, Ausgangsschaltung bzw. eines
Speichers in einer derartigen Schaltung, die Übertragung der Variablen aus der Eingangs-, Ausgangsschaltung
18 über den Vergleicher 11 in den Akkumulator 8 oder die Adressierung des Festwertspeichers 5 über den
Zwischenspeicher 4, den Akkumulator 8, den Speicher 9 und den Zähler 10 beziehen. Das Ergebnis wird dann im
Akkumulator 8 gespeichert, wobei in den Speicher 9 und in den Zähler 10 Daten über die Operation, z. B. die Zahl
der Klammern eingegeben werden, die bei der Ausführung des nächsten Befehls berücksichtigt werden.
Die zu einer Operation gehörigen Variablen werden in der durch die Boolesche Funktion vorgegebenen
Reihenfolge nacheinander verknüpft. Die Verknüpfung erfolgt durch Ausgangssignale des Festwertspeichers
5, der unter Einbeziehung der Ausgangssignale des Akkumulators 8, des Speichers 9 und des Zählers 10
über den Zwischenspeicher 4 adressiert wird. Die Variable ist im Akkumulator 8 als Binärwert enthalten,
der entweder eine logische »0« oder »1« aufweisen kann.
Das Ergebnis einer Booleschen Operation befindet sich nach der Verarbeitung der letzten Variablen im
Akkumulator 8 und wird über den Vergleicher ίί und
die Sammelleitung 17 mittels eines Ausgabebefehls an eine adressierte Ausgabeschaltung 18 übertragen.
Boolesche Funktionen enthalten neben den Variablen Angaben über UND- bzw. ODER-Verknüpfungen
sowie Klammern, die offen oder geschlossen sein können. Es ist zweckmäßig, Befehle für Variable, für
offene und geschlossene Klammern, für die ODER-Verknüpfung und für eine neue Operation vorzusehen. Bei
Befehlen, die sich auf eine offene oder geschlossene Klammer beziehen, wird der Inhalt des Zählers 10 um
Eins erhöht oder erniedrigt. Das Ergebnis einer Befehlsverarbeitung wird im Akkumulator 8 und im
Speicher 9 gespeichert, der ebenfalls für ein Bit ausgelegt ist. Bei Verarbeitung eines eine Variable
betreffenden Befehls wird im Falle einer logischen »1« im Speicher 9 auf den folgenden Befehl in der durch die
Boolesche Operation vorgegebenen Reihenfolge übergegangen. Befindet sich im Speicher 9 eine logische »0«,
dann wird die Variable aus der Eingabeschaltung in den Akkumulator 8 übertragen. Wenn die Variable im
Akkumulator 8 den Wert einer logischen »1« aufweist, wird der nächste Befehl ausgeführt Hat die Variable im
Akkumulator 8 den Wert einer logischen »0«, so wird in den Speicher 9 eine logische »1« übertragen, bevor der
nächstfolgende Befehl ausgeführt wird. Betrifft ein Befehl eine ODER-Verknüpfung, dann wird bei von nuil
verschiedenem Zählerstand der in der Booleschen Operation folgende Befehl oder beim Zählerstand Null
im Falle einer logischen »1« im Akkumulator 8 eine logische »1« in den Speicher 9 eingegeben und im Falle
einer logischen »0« im Akkumulator 8 dessen Inhalt invertiert und eine logische »0« in den Speicher 9
eingegeben, bevor der in der Operation nächstfolgende Befehl verarbeitet wird. Bei Entschlüsselung einer sich
auf eine neue Boolesche Operation beziehenden Befehls wird der inhalt des Akkumulators 1 zu der adressierten
Ausgabeschaltung 18 übertragen.
Die Bedingungen für die Erzeugung von Steuersignalen,
mit denen die oben erwähnten Vorgänge durchgeführt werden, sind im Festwertspeicher 5 unter
Adressen enthalten. Die in den Adressen des Speichers 5 gespeicherten Daten weisen überdies Angaben auf, die
sich auf die Parität beziehen. Die Parität der aus dem Festwertspeichers ausgelesenen Daten wird geprüft
Hierfür ist eine Paritätsprüfschaltung 24 vorgesehen, die an eine Speicherstufe des Zwischenspeichers 12
angeschlossen ist in den die Paritätsdaten aus dem Festwertspeicher 5 eingegeben werden. Durch die
Erzeugung der für die Verknüpfung erforderlichen Signale mit Hilfe eines Festwertspeichers und die
Hinzufügung von Daten, mit denen sich Fehler bei diesen Signalen feststellen lassen, ist es mit geringem
Aufwand möglich, die Zuverlässigkeit des programmierbaren Logikwerks zu verbessern.
Nach der Ermittlung des Ergebnisses einer Operation, das sich zu diesem Zeitpunkt im Akkumulator 8
befindet, werden die Inhalte der Speicher in derjenigen Eingangs-, Ausgangsschaltung, die den adressierten
Speicher enthält, auf Parität geprüft. Gleichzeitig wird geprüft, ob der Inhalt des adressierten Speichers mit
dem Inhalt des Akkumulators 8 übereinstimmt. Dies geschieht im Vergleicher 11. Liegt Übereinstimmung
vor, dann werden der Inhalt des adressierten Speichers und die Paritätsdaten im Speicher 19 nicht geändert.
Weicht der Inhalt des adressierten Speichers in der jeweils ausgewählten Eingangs-, Ausgangsschaltung 18
vom Akkumulatorinhalt ab, dann wird der Akkumulatorinhalt über den Vergleicher 11 und die Sammelleitung
17 in den adressierten Speicher übertragen. Die Paritätsdaten im Speicher 19 werden der geänderten
Information in den Speichern der Eingangs-, Ausgangsschaltung angepaßt. Nach der Übertragung des
Akkumulatorinhalts in den adressierten Speicher findet ein erneuter Vergleich zwischen dem Speicherinhalt
und dem Akkumulatorinhalt statt. Wenn der Vergleicher 11 Übereinstimmung der Inhalte feststellt, dann
bedeutet dies, daß die Datenübertragung zwischen Akkumulator 8 und adressiertem Speicher fehlerfrei
abgelaufen ist. Es wird anschließend die Verarbeitung des nächsten Befehls freigegeben. Mit diesen Maßnahmen
können die Informationswege zwischen dem Akkumulator 8 und den Speichern der Eingangs-,
Ausgangsschaltungen 18 auf Einfachfehler überwacht werden. Die Sicherheit gegen Fehler in der Signalverarbeitung
wird dadurch wesentlich erhöht
Die im Festwertspeicher 23 unter den Adressen erreichbaren Daten enthalten Angaben über die Parität
dieser Daten. In benachbarten Adressen sind die Daten jeweils auf geradzahlige und ungeradzahlige Parität
ergänzt Über die Ausgangssignale des Zählers 22 werden nacheinander jeweils um den Wert eins
verschiedene Adressen ausgewählt Bei den ausgelesenen Daten ändert sich somit die Parität von Adresse zu
Adresse. Die sich ändernden Signale werden über eine nicht näher dargestellte Paritätsprüfschaltung einer
retriggerbaren monostabilen Kippstufe 25 zugeführt, deren Zeitkonstante länger als die Periode eines
Wechsels der Paritätssignale ist Der Wechsel des Paritätssignals wird somit bei jedem Adressenwechsel
überwacht Tritt kein Wechsel des Paritätssignals auf, dann wird eine Fehlermeldung mit Hilfe der monostabilen
Kippstufe 25 erzeugt Mit dieser Maßnahme wird verhindert, daß durch Fehler in den Adressensignalen
einzelne für die Ausführung des Befehls erforderliche Bearbciiungsschritte übersprungen werden.
Mit der Sammelleitung 17 ist ein Paritätsgenerator 26 verbunden, dem die auf den Leitungen 12, 13, 14
anstehenden Signale zugeführt werden können. Der Paritätsgenerator 26 erzeugt aus diesen Signalen einen
Paritätswert Dieser wird einer Paritätsprüfschaltung 27 zugeführt, deren zweiter Eingang an die Leitung 16
angeschlossen ist, die zur Übertragung der Paritätsda- ω
ten von und zu den Speichern 19 dient Bei Abweichung der Signale, die der Paritätsprüfschaltung 27 vorgegeben
werden, entsteht eine Fehlermeldung am Ausgang der Paritätsprüfschaltung 27.
Die Prüfung der Parität für die Speicherdaten in einer
ausgewählten Eingabe-, Ausgabeeinheit erfolgt selbsttätig unter der Kontrolle des im Festwertspeicher 23
enthaltenen Mikroprogramms mit der Prüfung auf
Übereinstimmung der Inhalte des Akkumulators und des adressierten Speichers. Wenn kein Paritätsfehler
vorhanden ist, können die oben erläuterten Vorgänge ablaufen, die sich auf den Vergleich des Akkumulatorinhalts
und des Inhalts des adressierten Speichers beziehen und je nach dem Vergleichsergebnis zu einer
Datenübertragung zwischen Akkumulator und Speicher über den Vergleicher 11 und die Sammelleitung 17
führen. Dadurch können die Speicher der Eingangs-, Ausgangsschaltungen ebenso wie die Übertragungsstrecke zwischen Akkumulator und dem Speicher, der
durch eine Adresse ausgewählt wurde, auf Einfachfehler mit geringem schaltungstechnischem Aufwand überwacht
werden.
Der Taktgeber 21 ist mit einer retriggerbaren monostabilen Kippstufe 30 verbunden. Die monostabile
Kippstufe 30 weist eine Zeitkonstante auf, die größer als eine Periode und kleiner als zwei Perioden der
periodischen Taktsignale des Taktgebers 21 ist. Setzt der Taktgeber aus, so gibt die Kippstufe 30 eine
Fehlermeldung ab. Diese Anordnung gewährleistet, daß die Abfrage von Eingangssignalen und die Verknüpfung
in äquidistanten Zeitabständen erfolgt Bei Abweichungen vom äquidistanten Verarbeitungszyklus erfolgt eine
Fehlermeldung.
Im Festwertspeicher 5 sind adressierbare Speicherzellen vorgesehen, die bei Auftreten einer fehlerbehafteten
Adressensignals angewählt werden. Die unter diesen Adressen gespeicherten Daten sind so ausgewählt,
daß bestimmte Maßnahmen zur Fehlermeldung oder Beseitigung eingeleitet werden. Die Daten können
beispielsweise für die Anwahl einer Eingangs-, Ausgangsschaltung 8 vorgesehen sein, von der eine optische
oder akustische Meldung erzeugt wird. Durch eine andere Datenverschiüsseiung kann ein Ausgabespeicher
ausgewählt werden, von dem die Abschaltung des Logikwerks gesteuert wird. Daher ist eine flexible
Anpassung des Logikwerks an verschiedene Fehlerarten möglich. Ferner lassen sich mit dieser Anordnung
Fehler im Zwischenspeicher dem Akkumulator 8, dem Speicher 9 und dem Zähler 10 erkennen.
Die Ausgänge der Befehlszähler 2, 3 sind an eine Vergleichsschaltung 28 angeschlossen, die bei Abweichung
der Zählerinhalte eine Fehlermeldung erzeugt Dadurch wird die Verarbeitung falscher Befehle bei
Fehlern in einem der Befehlszähler 2,3 vermieden.
Die Vergleichsschaltung 28, die monostabile Kippstufe 30, die Paritätsprüfschaltungen 7 und 24 sind an ein
ODER-Glied 31 angeschlossen, dem ein nicht näher dargestelltes Element nachgeschaltet ist, durch das die
Abschaltung des Logikwerks vorgenommen wird. Bei einem Ausbleiben eines Taktsignals, bei einem Fehler
der Ausgangssignaie des Festwertspeichers 5, des Zwischenspeichers 4 bzw. des Befehlsspeichers 1, bei
einem Fehler in einem der Befehlszähler 2, 3 und bei einem Fehler im Adressierungszyklus wird ein Signal an
das ODER-Glied 31 abgegeben, über das ein Schaltzustand erzwungen wird, bei dem die Speicher für die
Ausgabe in den Schaltungen 18 logische »0«-Signale erhalten.
Ein von der Paritätsprüfschaltung 25 abgegebenes Fehlersignal kann zum Aufruf eines Befehls dienen, mit
dem im programmierbaren Befehlsspeicher 1 ein Unterprogramm zur Verarbeitung kommt, mit dem eine
der Art des Fehlers angepaßte Arbeitsweise des Logikwerks eingeleitet wird. Dieses Unterprogramm
kann beispielsweise die Wiederholung des letzten Befehls mit gleichzeitiger Paritätsprüfung durchführen.
Falls nach zwei oder mehrmaliger Wiederholung der Fehler noch vorhanden ist, können Maßnahmen zum
S'illseizen des Logikwerks ausgelöst werden. Auf diese Weise ist es möglich, den Einfluß von sporadischen
Fehlern auf das Logikwerk auszuschalten.
Hierzu 1 Blatt Zeichnungen
Claims (9)
1. Verfahren zur Fehlerprüfung bei einem programmierbaren Logikwerk für die Ausführung
logischer Operationen, wobei eine Mehrzahl von Eingangs- und Ausgangsschaltungen, die jeweils
Speicher enthalten, mit dem Logikwerk verbunden ist, das einen ersten adressierbaren Festwertspeicher
aufweist wobei die Adressierung das Ergebnis einer vorausgehenden Verarbeitung sein kann und in dem
die jeweils einer Adresse zugeordneten Daten mit Paritätsdaten versehen sind, die beim Auslesen der
Daten geprüft werden, dadurch gekennzeichnet, daß die für die Steuerung der
Ausführung einer logischen Operation während eines Befehlszyklus in einem weiteren adressierbaren
Festwertspeicher (23) abgespeicherten Daten unter jeweils benachbarten Adressen abwechselnd
auf geradzahlige bzw. ungeradzahlige Parität ergänzt sind und bei jeder Adressenerhöhung innerhalb
eines Befehlszyklus der Wechsel zwischen geradzahliger und ungeradzahliger Parität überwacht
wird, und daß vor der Eingabe des Ergebnisses einer logischen Operation aus dem Akkumulator (8) in einen ausgewählten Datenspeicher
einer ausgewählten Eingangs- und Ausgangsschaltung (18) zunächst geprüft wird, ob die Parität
des gesamten Datenspeicherinhalts der ausgewählten Eingangs- und Ausgangsschaltung (18) noch mit
der im Speicher (19) enthaltenen Parität übereinstimmt und bei Übereinstimmung dann geprüft wird,
ob der inhalt des ausgewählten Datenspeichers von dem Inhalt des Akkumulators (8) abweicht, wobei bei
Übereinstimmung der Inhalt des ausgewählten Datenspeichers und die zum gesamten Datenspeicherinhalt
gehörige Parität im Speicher (19) unverändert bleiben, während bei Nichtübereinstimmung
der Inhalt des Akkumulators (8) in den ausgewählten Datenspeicher übertragen wird und
die zum gesamten Datenspeicher gehörige Parität im Speicher (19) den geänderten Daten angepaßt
wird und anschließend der Inhalt des ausgewählten Datenspeichers erneut mit dem Inhalt des Akkumulators
(8) auf Übereinstimmung geprüft wird.
2. Vorrichtung zur Durchführung des Verfahrens nach Anspruch 1, dadurch gekennzeichnet, daß der
Festwertspeicher (5) über einen Zwischenspeicher (4) in Verbindung mit Ausgangssignalen eines
Ein-Bit-Speichers (9) eines Vor/Rückwärtszählers (10) und eines Ein-Bit Akkumulators (8), in dem der
Wert jeweils einer logischen Variablen speicherbar ist, adressierbar und mit Hilfe der Steuersignale aus
dem weiteren Festwertspeicher (23) auslesbar ist, daß der Ausgang des Festwertspeichers (5) für die
Paritätsdaten über einen Pufferspeicher (12) an eine Paritätsprüfschaltung (24) angeschlossen ist, daß ein
Paritätsgenerator (26) mit den Datensignalen der Speicher der Eingangs- und Ausgangsschaltungen
(18) beaufschlagbar ist, daß das Ausgangssignal des Paritätsgenerators (26) mit Signalen von Paritätsspeichern (19) der Eingangs- und Ausgangsschaltungen
(18) vergleichbar ist, und daß eine Adressenansteuerschaltung (6) für die Speicher der Eingangsund
Ausgangsschaltungen (18) und einen Vergleicher (11) vorgesehen ist, der an den Akkumulator (8)
und über eine Sammelleitung (17) an die Speicher der Eingangs- und Ausgangsschaltungen anschließ-
bar ist und durch den bei Abweichung des Akkumulatorinhalts vom Inhalt des adressierten
Speichers eine Änderung des Inhalts des Paritätsspeichers (19) und die Übertragung des Akkumulatorinhalts
von und zu dem adressierten Speicher steuerbar ist
3. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet daß der Ausgang für die Paritätsdaien des
weiteren Festwertspeichers (23) mit einer retriggerbaren monostabilen Kippstufe (25) verbunden ist
deren Zeitkonstante länger als die Periode eines Wechsels der Paritätssignale ist
4. Vorrichtung nach Anspruch 3, dadurch gekennzeichnet daß der weitere Festwertspeicher (23) über
einen Zähler (22) adressierbar ist der von einem Taktgeber (21) weiterschaltbar ist dessen Taktsignale
einer retriggerbaren monostabilen Kippstufe (30) zuführbar sind, deren Zeitkonstante länger als die
Periode der Taktsignale eingestellt ist
5. Vorrichtung nach Anspruch 2 oder einem der
folgenden, dadurch gekennzeichnet daß eine Paritätspriifschaltung (7) über den Zwischenspeicher (4)
an einen programmierbaren Befehlsspeicher (1) angeschlossen ist in dem zu jedem Befehl Paritätsdaten gespeichert sind.
6. Vorrichtung nach Anspruch 2 oder einem der folgenden, dadurch gekennzeichnet (iaS im Festwertspeicher
(5) Adreßzellen vorgesehen sind, deren Inhalt beim Auftreten fehlerhafter Adreßsignalkombinationen
auslesbar ist und durch deren Ausgangssignale eine Fehleranzeige und/oder Abschaltung
auslösbar ist.
7. Vorrichtung nach Anspruch 2 oder einem der folgenden, dadurch gekennzeichnet daß zwei
Befehlszähler (2, 3) vorgesehen sind, die mit einer Vergleichsschaltung (28) verbunden sind, die bei
Abweichungen zwischen den Ausgangssignalen der Befehlszähler (2,3) ein Fehlersignal abgibt
8. Vorrichtung nach Anspruch 2 oder einem der folgenden, dadurch gekennzeichnet daß beim
Ausbleiben eines Taktsignals, bei einem Paritätsfehler in einem Befehl, bei einem nicht vollzogenen
Wechsel der Paritätssignale des weiteren Festwertspeichers (23) oder bei einem Paritätsfehler des
Festwertspeichers (5) in die Speicher für die Angabe der Eingangs- und Ausgangsschaltungen (18) logische
»0«-Signale eingegeben und das Logikwerk stillgesetzt wird.
9. Vorrichtung nach Anspruch 2 oder einem der folgenden, dadurch gekennzeichnet, daß bei einem
von der Paritätsprüfschaltung (27) an der Sammelleitung (17) abgegebenen Fehlersignal ein Befehl aus
dem programmierbaren Befehlsspeicher (1) auslesbar ist, mit dem eine der Art des Fehlers angepaßte
Prüffolge einleitbar ist.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19752505475 DE2505475C3 (de) | 1975-02-10 | 1975-02-10 | Verfahren und Vorrichtung zur Fehlerprüfung bei einem programmierbaren Logikwerk für die Ausführung logischer Operationen |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19752505475 DE2505475C3 (de) | 1975-02-10 | 1975-02-10 | Verfahren und Vorrichtung zur Fehlerprüfung bei einem programmierbaren Logikwerk für die Ausführung logischer Operationen |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2505475A1 DE2505475A1 (de) | 1976-08-19 |
DE2505475B2 DE2505475B2 (de) | 1981-05-27 |
DE2505475C3 true DE2505475C3 (de) | 1982-02-18 |
Family
ID=5938495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19752505475 Expired DE2505475C3 (de) | 1975-02-10 | 1975-02-10 | Verfahren und Vorrichtung zur Fehlerprüfung bei einem programmierbaren Logikwerk für die Ausführung logischer Operationen |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE2505475C3 (de) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4298958A (en) * | 1978-09-13 | 1981-11-03 | Hitachi, Ltd. | Sequence control system |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3404372A (en) * | 1964-04-29 | 1968-10-01 | Gen Electric | Inconsistent parity check |
DE2135592A1 (de) * | 1971-07-16 | 1973-02-01 | Ibm Deutschland | Einrichtung zur fehlererkennung und -korrektur in elektronischen datenverarbeitungssystemen |
US3805233A (en) * | 1972-06-28 | 1974-04-16 | Tymshare Inc | Error checking method and apparatus for group of control logic units |
-
1975
- 1975-02-10 DE DE19752505475 patent/DE2505475C3/de not_active Expired
Also Published As
Publication number | Publication date |
---|---|
DE2505475A1 (de) | 1976-08-19 |
DE2505475B2 (de) | 1981-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3206891C2 (de) | ||
DE2735397C2 (de) | Überwachungseinrichtung für eine programmgesteuerte Maschine | |
EP0753168B1 (de) | Verfahren zur automatischen diagnose von störungsfällen | |
CH654943A5 (de) | Pruefeinrichtung fuer mikroprogramme. | |
DE2312707A1 (de) | Pruefanordnung fuer einen computer | |
DE2715029C3 (de) | Schaltungsanordnung zur Diagnose oder Prüfung von funktionellen Hardware-Fehlern in einer digitalen EDV-Anlage | |
CH654425A5 (en) | Redundant control arrangement | |
DE2835498C2 (de) | Anordnung zur dynamischen Fehlerermittlung in Datenverarbeitungsanlagen | |
DE2654389B2 (de) | ||
DE69122001T2 (de) | Integrierte Schaltung mit einer Standardzelle, einer Anwendungszelle und einer Prüfzelle | |
DE4233837A1 (de) | Rechenanlage | |
DE2505475C3 (de) | Verfahren und Vorrichtung zur Fehlerprüfung bei einem programmierbaren Logikwerk für die Ausführung logischer Operationen | |
EP0009600B1 (de) | Verfahren und Schnittstellenadapter zum Durchführen von Wartungsoperationen über eine Schnittstelle zwischen einem Wartungsprozessor und einer Mehrzahl einzeln zu prüfender Funktionseinheiten eines datenverarbeitenden Systems | |
DE3138989A1 (de) | Zusaetzliche funktionseinheit in einem mikroprozessor, mikroprozessorsystem und verfahren zu seinem betrieb | |
EP1379953B1 (de) | Programmgesteuerte einheit | |
DE2846890A1 (de) | Verfahren zur ueberpruefung von speichern mit wahlfreiem zugriff | |
EP0864875B1 (de) | Verfahren zur Überprüfung einer Sicherheitsschaltung | |
DE2846053A1 (de) | Verfahren und schaltungsanordnung zum ueberwachen des ordnungsgemaessen ablaufs eines programms | |
EP1461701B1 (de) | Programmgesteuerte einheit mit überwachungseinrichtung | |
DE102005040917A1 (de) | Datenverarbeitungssystem und Betriebsverfahren dafür | |
DE3625271C2 (de) | ||
DE2337515A1 (de) | Verfahren und vorrichtung zur steuerung von werkzeugmaschinen | |
DE1524147C (de) | Schaltungsanordnung zur Betnebsbe reitschaftskontrolle der Prufschaltungen fur das Addierwerk einer programmgesteuer ten Datenverarbeitungsanlage | |
DE2261211C3 (de) | Schaltungsanordnung zur Diagnoseerleichterung in Datenverarbeitungsanlagen | |
DE2026815C3 (de) | Einrichtung zur Fehlerabspeicherung in einer Datenverarbeitungsanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8220 | Willingness to grant licences (paragraph 23) | ||
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |