[go: up one dir, main page]

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 Operationen

Info

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
Application number
DE19752505475
Other languages
English (en)
Other versions
DE2505475A1 (de
DE2505475B2 (de
Inventor
Jochen 6451 Rodenbach Muehlenkamp
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Licentia Patent Verwaltungs GmbH
Original Assignee
Licentia Patent Verwaltungs GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Licentia Patent Verwaltungs GmbH filed Critical Licentia Patent Verwaltungs GmbH
Priority to DE19752505475 priority Critical patent/DE2505475C3/de
Publication of DE2505475A1 publication Critical patent/DE2505475A1/de
Publication of DE2505475B2 publication Critical patent/DE2505475B2/de
Application granted granted Critical
Publication of DE2505475C3 publication Critical patent/DE2505475C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1012Adding 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/1032Simple parity
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/058Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13188Checking 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)

Patentansprüche:
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.
DE19752505475 1975-02-10 1975-02-10 Verfahren und Vorrichtung zur Fehlerprüfung bei einem programmierbaren Logikwerk für die Ausführung logischer Operationen Expired DE2505475C3 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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