DE19841194A1 - Mit Funktions- und Ablaufplänen programmierbares elektronisches System für Sicherheitsaufgaben - Google Patents

Mit Funktions- und Ablaufplänen programmierbares elektronisches System für Sicherheitsaufgaben

Info

Publication number
DE19841194A1
DE19841194A1 DE1998141194 DE19841194A DE19841194A1 DE 19841194 A1 DE19841194 A1 DE 19841194A1 DE 1998141194 DE1998141194 DE 1998141194 DE 19841194 A DE19841194 A DE 19841194A DE 19841194 A1 DE19841194 A1 DE 19841194A1
Authority
DE
Germany
Prior art keywords
function
function block
programs
flow charts
safe
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.)
Granted
Application number
DE1998141194
Other languages
English (en)
Other versions
DE19841194B4 (de
Inventor
Wolfgang A Halang
Marek Sniezek
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to DE1998141194 priority Critical patent/DE19841194B4/de
Priority to DE19861281A priority patent/DE19861281B4/de
Publication of DE19841194A1 publication Critical patent/DE19841194A1/de
Application granted granted Critical
Publication of DE19841194B4 publication Critical patent/DE19841194B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • 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/0796Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • G06F11/1645Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components and the comparison itself uses redundant hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Hardware Redundancy (AREA)
  • Storage Device Security (AREA)
  • Safety Devices In Control Systems (AREA)

Abstract

Um für sicherheitskritische Automatisierungsaufgaben festverdrahtete durch programmierbare elektronische Systeme ablösen zu können, müssen diese mit hinreichendem Vertrauen in die Verläßlichkeit auch ihrer Software erstellt werden können, das ihre formelle Zulassung durch die Aufsichtsbehörden unter wirtschaftlichen Bedingungen erlaubt. Erschwerend kommt hinzu, daß sich integrierte Schaltkreise und Mikroprozessoren nicht ausfallsicherheitsgerichtet verhalten. DOLLAR A Die Hardware des programmierbaren Systems für sicherheitsgerichtete Anwendungen ist fehlererkennend und auf ausfallsicherheitsgerichtetes Ausgabeverhalten hin ausgelegt. Seine Mehrrechnerarchitektur erlaubt es, als Funktions- und Ablaufpläne formulierte Anwenderprogramme ohne semantische Lücke oder Betriebssystem auf die Ausführungsebene abzubilden, wo ein dezidierter Rechner Aufrufe typgeprüfter Funktionsblöcke bearbeitet, während ein anderer durch Funktionspläne dargestellte Datenflüsse zwischen Funktionsblöcken und durch Ablaufpläne beschriebene Schrittfolgen umsetzt. Die Architektur unterstützt inhärent leichte, aber dennoch strenge Nachweisbarkeit der Korrektheit von Anwenderprogrammen, indem Maschinencode durch Inspektion unmittelbar in eine graphische Form übersetzt werden kann, die direkten Vergleich mit Programmspezifikationen erlaubt. DOLLAR A Automatisierungsaufgaben mit Sicherheitsverantwortung.

Description

Wegen ihrer Flexibilität nimmt in der Automatisierungstechnik der Ein­ satz rechnergestützter Automatisierungsgeräte, insbesondere speicherprogram­ mierbarer Steuerungen, schnell zu. Daher liegt es nahe - und wird aus Ko­ stengründen zunehmend gefordert, programmierbaren elektronischen Systemen auch Steuerungs- und Regelungsaufgaben mit Sicherheitsverantwortung zu über­ tragen und sie letztendlich auch in hochkritischen Schutz- und Notabschaltsyste­ men einzusetzen.
In vielen sicherheitskritischen Anwendungen, wie z. B. in Kernkraftwerken oder explosionsgefährdeten chemischen Fabriken, in denen von der technischen Funktionalität her programmierbare elektronische Systeme eingesetzt werden könnten, werden jedoch weiterhin klassische festverdrahtete, auf der Basis von Relais-Schaltungen oder diskreter Logik aufgebaute Sicherheitssysteme bevorzugt [13]. Typischerweise werden in festverdrahteten Steuerungen logische Gatter, bi­ stabile Kippstufen, Vergleicher und ähnliche einfache Funktionen als Baugruppen eingesetzt [5, 4], die wiederum aus diskreten Komponenten wie Transistoren, Spu­ len, Kondensatoren, Widerständen und Transformatoren aufgebaut sind.
Ein besonderes Merkmal der in festverdrahteten Sicherheitssteuerungen zum Einsatz kommenden Bauelemente ist, daß sie hinsichtlich ausfallsicherheitsgerich­ teten Verhaltens sicherheitstechnisch abgenommen sind, d. h. ihnen ist im Falle aller möglichen auftretenden Fehlfunktionen ein auf Grund eines Naturgesetzes inhärent sicheres, a priori bekanntes, eindeutiges und nur in einer bestimmten Richtung wirkendes Ausfallverhalten eigen. Bei Ausfällen nehmen somit auch die Ausgangssignale festverdrahteter Steuerungen definierte Zustände an [5, 4]. Mit Hilfe dieses Effektes können technische Prozesse bei Ausfall ihrer Steuerungen in sichere Zustände überführt werden. Ausfallsicherheitsgerichtete Steuerungen sind um wenigstens eine Größenordnung teurer als Standardsteuerungen.
Bisher gibt es noch keine integrierten Schaltkreise mit ausfallsicherheitsgerich­ tetem Verhalten. Darum werden, wenn überhaupt, in festverdrahteten Sicher­ heitssteuerungen nur integrierte Schaltungen mit niedrigem Integrationsniveau verwendet [12, 4].
Die Gründe für die oben erwähnte Bevorzugung festverdrahteter gegenüber programmierten Sicherheitssystemen liegen einerseits darin, daß für erstere lang bewährte Entwurfs- und Prüfmethoden existieren, während andererseits das Ver­ trauen in die Korrektheit von Software fehlt und die sicherheitstechnische Ab­ nahme von Software zur Zeit weder befriedigend beherrscht wird noch wirtschaft­ lich durchzuführen ist. Mehr und mehr dringen die ureigenen, mit Software ver­ bundenen Sicherheitsprobleme auch in das Bewußtsein der Öffentlichkeit. Es erscheint aber unrealistisch, auf den Einsatz von Rechnern für sicherheitsgerich­ tete Automatisierungsanwendungen zu verzichten - im Gegenteil besteht kein Zweifel, daß ihre Verbreitung in solchen Anwendungsbereichen aus Kosten- und Flexibilitätsgründen schnell und deutlich zunehmen wird.
Automatisierungsanwendungen werden in textuellen Programmiersprachen jeglicher Art, aber auch in graphischen Sprachen formuliert. Zu letzteren gehören die Sprachen Kontaktplan auf niedrigem und Funktionsplan [8, 9] auf hohem Abstraktionsniveau. Die Funktionsplanprogrammierung ist an den Entwurf ana­ loger und digitaler Schaltungen auf der Grundlage des Zusammenfügens stan­ dardisierter Funktionsbausteine angelehnt. Direkte Verallgemeinerung letzterer führt zu Funktionsblöcken, die Ein- und Ausgänge beliebiger Datentypen ha­ ben und beliebige Verarbeitungsfunktionen durchführen können. Abgesehen von der Bereitstellung von Konstanten als externe Eingabeparameter sind Funktions­ blockinstanzen und durch Verbindungslinien dargestellte Parameterflüsse zwi­ schen ihnen die einzigen in Funktionsplänen verwendeten Sprachelemente. Die vom VDI/VDEGMA-Fachausschuß 5.3 erarbeitete Richtlinie VDI/VDE 3696 [11] zeigt, daß weniger als 70 Funktionsblöcke für die Formulierung der überwie­ genden Mehrheit aller in der Automatisierungstechnik eines größeren, abgeschlos­ senen Anwendungsbereiches - in diesem Fall der chemischen Verfahrenstechnik - vorkommenden Aufgaben ausreichen. Dank ihrer Einfachheit und Universa­ lität sind sie in vielen verschiedenen Zusammenhängen wiederverwendbar. Zur übersichtlichen Formulierung sequentieller Ablaufsteuerungen wurde die graphi­ sche Programmiersprache Ablaufplan [8] mit den drei Grundelementen Schritt, Aktion und Transition definiert.
Der in den Patentansprüchen angegebenen Erfindung liegt das Problem zu­ grunde, daß informationsverarbeitende Systeme zur Gewährleistung der wach­ senden Sicherheitsanforderungen mit einem hinreichenden Grad an Vertrauen in ihre Verläßlichkeit erstellt werden können müssen, der ihre formelle Zulassung - zu vertretbaren Kosten - für sicherheitskritische Automatisierungsaufgaben durch die Aufsichtsbehörden erlaubt. Die Lösung dieses Problems ist die Vor­ aussetzung dafür, festverdrahtete durch speicherprogrammierbare Automatisie­ rungsgeräte im Sicherheitsbereich ablösen zu können.
Durch geeigneten Hardware-Entwurf kann erreicht werden, daß die Ausgänge einer Steuerung bei Ausfällen einen sicheren Zustand annehmen [1]. Bei einer programmierbaren Steuerung kommt erschwerend hinzu, daß die Überleitung in einen sicheren Zustand nach Erkennung einer Fehlfunktion sofort automatisch er­ folgen muß, völlig unabhängig von der Tätigkeit des gerade laufenden Program­ mes. Der Entwurf ausfallsicherheitsgerichteter Hardware für programmierbare elektronische Systeme steht vor dem Problem, daß sich integrierte Schaltkreise einschließlich Mikroprozessoren nicht ausfallsicherheitsgerichtet verhalten. Bei Ausfällen nehmen sie zufallsbedingte Zustände an. Die erforderliche kontinuierli­ che Überwachung der korrekten Hardware-Funktion programmierbarer elektroni­ scher Systeme kann nicht wie bei herkömmlichen Geräten üblich allein mit Hilfe periodisch aktivierter Selbsttestprogramme oder einfachen "Watch-dogs" erfol­ gen, da durch diese Maßnahmen nicht alle Fehlfunktionen zu jeder Zeit erkannt werden können.
Auf dem Wege hin zur Entwicklung programmierbarer elektronischer Systeme für sicherheitskritische Automatisierungsaufgaben wird bisher fast ausschließ­ lich der Hardware-Seite Beachtung geschenkt. Demzufolge können die auf dem Markt angebotenen sogenannten "sicheren speicherprogrammierbaren Steuerun­ gen" zwar eine TÜV-Abnahme ihres Geräteaufbaus vorweisen [14], enthalten je­ doch keinerlei Vorkehrungen, die geeignet wären, die Korrektheit der darauf lau­ fenden Programme zu gewährleisten. Im Gegensatz zu den für Hardware charak­ teristischen Zufallsfehlern sind Programmfehler grundsätzlich systematischer Na­ tur und dauernd präsent. Sie werden durch mangelhafte Problemspezifikationen, fehlerhafte Programmimplementierungen oder unzureichende Übersetzer hervor­ gerufen. Um das Risiko falschen Steuer- und Regelverhaltens auszuschließen, muß streng nachgewiesen werden, daß entsprechende Programme ihre Spezifikationen erfüllen.
Deshalb verhalten sich die Zulassungsinstanzen derzeit noch sehr zurückhal­ tend bei der Abnahme ausschließlich programmgesteuerter sicherheitsgerichteter Automatisierungssysteme. Im allgemeinen werden noch keine sicherheitskriti­ schen Systeme lizensiert, die auf Software nichttrivialer Komplexität beruhen, da die Verläßlichkeit von Programmen bei weitem noch nicht den entsprechenden Stand der Hardware erreicht hat. Zwar gibt es schon eine Reihe bewährter Me­ thoden und Richtlinien wie z. B. [7], die ihre Nützlichkeit für die Entwicklung und Validierung von Programmen zur Steuerung sicherheitskritischer technischer Pro­ zesse erwiesen haben, jedoch können diese Maßnahmen beim derzeitigen Stand der Technik die Korrektheit größerer Programme noch nicht garantieren.
Dieses Problem wird durch die in den Patentansprüchen aufgeführten Merk­ male gelöst. Es wird die Architektur eines spezialisierten Mehrrechnersystems definiert, das im Rahmen verteilter Prozeßleitsysteme und speicherprogrammier­ barer Steuerungen sicherheitsbezogene Funktionen wahrnehmen kann.
In diesem durchgehend zweikanalig ausgelegten Mehrrechnersystem lassen sich Hardware-Fehler erkennen. Die Verantwortung dafür und zur Einleitung von Notabschaltungen obliegt darin neuartigen Vergleichern mit ausfallsicher­ heitsgerichtetem Ausgabeverhalten nach Patentanspruch 3, die den Geschwin­ digkeitsansprüchen von Rechnern genügen. Letzteres wird erreicht, indem zwei zu vergleichende Binärworte zunächst parallel einer zweikanaligen Vorverarbei­ tungseinheit zugeführt werden, die den Vergleich der Worte auf den zweier Bits reduziert. In einer ursprünglich zum Vergleich analoger Signale entwickelten, je­ doch durch Verwendung optoelektronischer Bauelemente dem Einsatz in der Digi­ taltechnik angepaßten, ausfallsicherheitsgerichteten Schaltung werden diese Bits verglichen. Durch Einführung von Speicherverhalten in die Vergleicherschaltung wird schließlich ermöglicht, herkömmliche, langsame ausfallsicherheitsgerichtete Logikbaugruppen in der Endstufe anzusteuern.
Ihr Schwergewicht legt die Erfindung jedoch darauf, die Verläßlichkeit von Anwenderprogrammen durch Merkmale der Architektur sicherzustellen. Ihre Ori­ ginalität besteht darin, auf einem Niveau formulierte Programme, das dem von Spezifikationen entspricht und damit deutlich über dem herkömmlicher höhe­ rer Programmiersprachen liegt, gemäß Patentanspruch 1 unmittelbar auf die ausführende Hardware abbilden zu können, wodurch die sonst für Rechner cha­ rakteristische semantische Lücke zwischen Software-Anforderungen und Fähig­ keiten der Ausführungsumgebung vermieden und ein Betriebssystem als mögli­ che Fehlerquelle eliminiert wird. Bei dem so unterstützten Programmierverfah­ ren handelt es sich um die in vielen Automatisierungsanwendungen eingesetz­ ten Funktions- und Ablaufpläne nach IEC 1131-3 [8] ergänzt um die Verwen­ dung von Bibliotheken typgeprüfter Funktionsblöcke im Sinne dieser Norm. Die Programmausführung wird auf zwei verschieden geartete Rechner verteilt, von de­ nen der eine Funktionsblockaufrufe bearbeitet, während der andere durch Funk­ tionspläne dargestellte Datenflüsse zwischen Funktionsblöcken und durch Ab­ laufpläne beschriebene Schrittfolgen umsetzt. Indem jedem solcher Schritte die gleiche Bearbeitungsperiode zur Verfügung gestellt wird und alle Datenein- und -ausgaben jeweils zu Beginn bzw. am Ende der Periode vorgenommen werden, stellt sich das Ausführungszeitverhalten des Mehrrechnersystems nach außen hin als vollständig vorhersehbar dar.
Gemäß Patentanspruch 2 sieht die Erfindung erstmalig in der Rechnertechnik die Unterstützung der Verifikation sequentieller Rechnerprogramme als Merk­ mal von Architekturentwurf und Hardware-Konstruktion vor. Orientiert an den graphischen Hochsprachen Funktions- und Ablaufplan wird für einen der beiden Rechner ein sehr kleiner Befehlssatz definiert. Darin ausgedrückte Maschinenpro­ gramme lassen sich durch von Menschen auszuführende Programminspektionen sehr leicht, schnell und mit geringem Aufwand unmittelbar in eine graphische Form übersetzen, die direkten Vergleich mit ihren ursprünglichen Spezifikationen erlaubt. So wird auch das Problem gelöst, daß es noch nicht möglich ist, die korrekte Arbeitsweise eines Übersetzers streng nachzuweisen.
Der wesentliche mit der Erfindung erzielte Vorteil besteht darin, erstmals die sicherheitstechnische Abnahme eines vollständigen programmierbaren elektroni­ schen Systems einschließlich der Anwenderprogramme zu ermöglichen. Bei der Konstruktion wurde besonderes Augenmerk auf den Software-Aspekt gelegt, da die Verläßlichkeit von Software noch lange nicht das hohe Niveau erreicht hat, das für Hardware bereits als selbstverständlich angesehen werden kann. Damit verfolgt das Architekturkonzept ein für die Rechnertechnik völlig neues Optimie­ rungskriterium, und zwar sicherheitstechnische Abnehmbarkeit, im Gegensatz zum herkömmlichen Streben nach höherer Verarbeitungsgeschwindigkeit.
Durch die Architektur des programmierbaren elektronischen Systems nach Pa­ tentanspruch 1 werden Einsatz und Wiederverwendung vorgefertigter und stan­ dardisierter Programmkomponenten und somit Programmierdisziplin erzwungen. Dieses Verlassen der Tradition der klassischen und maximale Flexibilität erlau­ benden von-Neumann-Architektur zeitigt den Vorteil, Fehlermöglichkeiten dra­ stisch einzuschränken und inhärent sicherer zu sein.
Die schematische Beschreibung logischer und funktionaler Beziehungen durch Symbole und konzeptionelle Signalflüsse darstellende Verbindungslinien in Funktions- und Ablaufplänen garantiert leichte Verständlichkeit. Weitere Vorteile dieses von der Erfindung unterstützten Programmierverfahrens sind Orientierung an der Denkweise von Ingenieuren, Klarheit und inhärenter Dokumentationswert. Die Anzahl der Lösungsmöglichkeiten für ein gegebenes Problem wird durch gra­ phische, funktionsblockorientierte Programmierung gegenüber textueller Formu­ lierung deutlich reduziert. Deshalb eignet sich die Methode insbesondere für Anwendungen mit Sicherheitsverantwortung.
Das von der Architektur nach Patentanspruch 1 unterstützte Verfahren der Inspektion zur Verifikation von Anwendungsprogrammen ähnelt stark der diver­ sitären Rücktransformation nach [10]. Im Gegensatz zu letzterer kann sie jedoch auf Grund der Merkmale nach Patentanspruch 2 sehr wirtschaftlich, d. h. effizient und kostengünstig, durchgeführt werden. Somit bleibt der Prüfaufwand immer gering. Weitere Vorteile bestehen darin, daß sie keine Spezialkenntnisse erfordert und allgemeinverständlich ist, weshalb sie von Automatisierungsingenieuren und TÜV-Prüfern leicht eingesetzt werden kann. Die Allgemeinverständlichkeit ist auch besonders im Hinblick auf Rechtsstreitigkeiten von großer Bedeutung.
Der Vergleicher für zwei Binärworte nach Patentanspruch 3 mit ausfallsi­ cherheitsgerichtetem Ausgabeverhalten ermöglicht überhaupt erst den sinnvollen Einsatz von Rechnern in sicherheitsgerichteten Automatisierungsanwendungen. Während die Arbeitsgeschwindigkeit herkömmlicher, ausfallsicherheitsgerichteter Logikbaugruppen nur etwa der festverdrahteter Relais-Steuerungen entspricht, kann der schnelle Vergleicher mit der Geschwindigkeit der Rechner in der Mehr­ rechnerarchitektur mithalten und wird so nicht zum Flaschenhals des Systems.
Ähnlich wie in der chemischen Verfahrenstechnik [11] reichen auch in ande­ ren industriellen Anwendungsgebieten relativ kleine Funktionsblockbibliotheken zur Formulierung aller bereichsspezifischen Automatisierungsaufgaben aus. So werden für Notabschaltsysteme sogar nur vier Funktionsblöcke benötigt. Um auf der Basis solcher Funktionsblockbibliotheken sicherheitsbezogene Automatisie­ rungsprogramme graphisch in der Sprache Funktionsplan entwickeln zu können, müssen die Elemente einer Funktionsblockbibliothek vor ihrer Freigabe im Rah­ men einer Typprüfung einmalig abgenommen werden. Deshalb ist später zur Verifikation auf der Basis von Funktionsblöcken konstruierter Anwendungspro­ gramme allein die korrekte Verknüpfung der vorkommenden Funktionsblockin­ stanzen nachzuweisen. Der Korrektheitsnachweis der Elemente einer Funktions­ blockbibliothek ist aufwendig und kann nur von Spezialisten durchgeführt wer­ den. Dieser Aufwand ist jedoch durch die Sicherheitsanforderungen gerechtfertigt und hält sich für jede einzelne Anwendung wegen der Wiederverwendbarkeit der Bibliotheken in Grenzen. Im Gegensatz dazu unterstützt die Architektur nach Patentanspruch 1 das allgemeinverständliche Verfahren der Inspektion zur Veri­ fikation der Anwendungsprogramme.
Zum Zwecke der strengen Verifikation einer Funktionsblockbibliothek läßt sich eine Reihe bereits eingeführter Methoden anwenden. Dazu gehören formale Verifikationstechniken, die insbesondere in sicherheitskritischen Anwendungsbe­ reichen eine inzwischen akzeptierte und teilweise sogar als notwendig erachtete Vorgehensweise zur Erzielung verläßlicher Programme sind [15]. Als die wohl am weitesten entwickelte Methode sei hier nur auf den auf Hoare und Dijkstra zurückgehenden Prädikatenkalkül [2, 3] hingewiesen. Entsprechende Beweise sind wegen der für automatisierungstechnische Anwendungen typischen relativ gerin­ gen Komplexität der Funktionsblöcke, die weder unbeschränkte Iterationen noch Rekursionen enthalten und deren Quellcodes bei Formulierung in einer höheren, textuellen Programmiersprache in keinem Fall länger als zwei Seiten sind, ihrer einfachen Datenstrukturen (Bitfolgen, logische Daten, ganze und reelle Zahlen) und der in den Algorithmen verwendeten einfachen Sprachkonstrukte auch unter Praxisbedingungen beherrschbar.
Die formale Verifikation von Übersetzern, die in Hochsprachen und somit auch in Funktions- und Ablaufplan formulierte Programme in Objektcode trans­ formieren, ist beim derzeitigen Stand der Technik noch nicht möglich. Deshalb muß sicherheitstechnischen Abnahmen von Programmen zwingend deren Objekt­ code zugrunde liegen, denn diese und nur diese Programmdarstellung wird ma­ schinell ausgeführt. Dieses Problem wird mittels der Rechnerorganisation nach Patentanspruch 2 gelöst. Weil aus bereits verifizierten Funktionsblöcken zusam­ mengesetzte Anwenderprogramme nur aus Parameterübergaben und Unterpro­ grammauftufen bestehen, sind sie um Größenordnungen kürzer und einfacher als herkömmliche Programme. Weiterhin weist die Architektur nach Patentanspruch 1 auf Grund ihrer Konstruktion keine semantische Lücke zwischen den Ebenen auf, die die Schnittstellen zum Menschen einerseits und zur Maschine andererseits darstellen. Darum ist es möglich, durch Inspektion von Maschinencode in einem einzigen und einfachen Arbeitsschritt eine äquivalente Darstellung in Form von Funktions- und Ablaufplänen zu erstellen, die die Qualität und das Niveau ei­ ner anwendungsgerichteten Problemspezifikation hat und die wiederum durch In­ spektion mit dem zu implementierenden, hochsprachlich formulierten Programm verglichen werden kann.
Da es in sicherheitsgerichteten Anwendungen nicht das Ziel sein kann, ohne­ hin immer geringer werdende Hardware-Kosten zu sparen, sondern die Verständ­ lichkeit - für den Menschen - von Automatisierungsprogrammen und ih­ res Ausführungsprozesses zu fördern, werden gemäß Abb. 1 in der Architek­ tur des programmierbaren elektronischen Systems nach Patentanspruch 1 kon­ zeptionell zwei Prozessoren vorgesehen, und zwar ein Funktions- und Ablauf­ planprozessor und ein Funktionsblockprozessor, die als separate physikalische Einheiten realisiert werden. Derart wird eine klare, physische Trennung der Funktionsblockbearbeitung im Funktionsblockprozessor von den anderen Aufga­ ben Ausführungssteuerung, Ablaufplanverarbeitung und Funktionsblockaufrufe, die dem Funktions- und Ablaufplanprozessor zugewiesen sind, erzielt. Die ei­ nerseits durch einmalige Bereitstellung von Funktionsblöcken und andererseits durch deren Verwendung in anwendungsspezifischen Diagrammen gekennzeich­ nete zweistufige Funktionsplanprogrammierung wird so direkt auf die Hardware- Architektur abgebildet. Dadurch ergibt sich die Möglichkeit, Funktionsblock­ prozessoren mit ihrer gesamten Software im Rahmen einer einzigen Typprüfung sicherheitstechnisch abzunehmen. Das Konzept stellt sicher, daß sich Anwen­ dungsprogramme allein im Funktions- und Ablaufplanprozessor befinden, auf den sich deshalb die projektspezifische Verifikation der einen Datenfluß implementie­ renden Funktionsblockverbindungen beschränken kann. Auf Grund der Natur der Software-Entwicklungsmethode bleibt der Prüfaufwand dabei immer gering.
Um Fehlfunktionen der Hardware feststellen zu können, wird durchgängig eine zweikanalige Architektur gewählt, die es auch erlaubt, Diversität in Form verschiedener Funktions- und Ablaufplan- und unterschiedlicher Funktionsblock­ prozessoren vorzusehen. Alle Verarbeitungen erfolgen grundsätzlich paralle! red­ undant auf jeweils zwei Prozessoren und alle zwischen den Prozessoren sowie nach außen hin übertragenen Daten werden einem Vergleich unterzogen. Wenigstens einer der Funktions- und Ablaufplanprozessoren sollte die im folgenden beschrie­ bene extrem einfache Organisation mit nur acht Maschinenbefehlen haben, die die Software-Prüfung durch Inspektion erheblich erleichtert. So ergibt sich die in Abb. 2 dargestellte asymmetrische und fehlererkennende Vierprozessorkonfigura­ tion aus zwei Prozessorpaaren.
Um aus Sicherheitsgründen jedwede Modifikationen durch Fehlfunktionen oder äußere Eingriffe zu verhindern, sieht die Architektur des programmierbaren elektronischen Systems grundsätzlich Nurlesespeicher für Objektcode vor, d. h. es gibt keinen RAM-Bereich für Programme. Der Code der Funktionsblöcke wird als Firmware der Funktionsblockprozessoren in maskenprogrammierten ROMs bereitgestellt, die unter Aufsicht der Lizensierungsinstanzen herzustellen und von diesen freizugeben sind. Dagegen werden die Anwenderprogramme auf der Funktions- und Ablaufplanebene vom Benutzer in PROMs abgelegt. Dieser Teil der Software muß dann noch projektspezifischer Verifikation unterzogen werden, die wiederum von den Lizensierungsbehörden durchgeführt wird, welche schließ­ lich die PROMs in den Zielsystemen versiegeln. Dies zeigt sehr deutlich, daß die asymmetrische Mehrrechnerkonfiguration gewählt wurde, um zwei Systemteile physisch voneinander zu trennen: einen, dessen Software nur genau einmal verifi­ ziert werden muß, und ein anderer mit den anwendungsspezifischen Programmen.
Die Funktionsblockprozessoren führen alle Datenmanipulationen und Ein- /Ausgabeoperationen aus. Funktions- und Ablaufplanprozessoren einerseits und Funktionsblockprozessoren andererseits kommunizieren untereinander über zwei FIFO-Puffer. In diese FIFO-Puffer integrierte ausfallsicherheitsgerichtete Ver­ gleicher überprüfen die Datenströme zur Fehlererkennung in der zweikanaligen Konfiguration. Zur Programmausführung koordinieren sie sich wie folgt. Der Funktions- und Ablaufplanprozessor beauftragt den Funktionsblockprozessor mit der Ausführung eines Funktionsblocks, indem er den Bezeichner, die entsprechen­ den Eingabeparameter und gegebenenfalls auch die internen Zustände des Blockes über einen der FIFO-Puffer dem Funktionsblockprozessor zuschickt. Dort wer­ den das den Funktionsblock implementierende Objektprogramm ausgeführt und die berechneten Ergebnisse und neuen internen Zustände dem Funktions- und Ablaufplanprozessor über den anderen FIFO-Puffer zurückgesandt. Die Bearbei­ tung des Funktionsblockes endet mit dem Auslesen des Ausgabe-FIFOs und dem Ablegen der Daten im Speicher des Funktions- und Ablaufplanprozessors.
Mit dem Vorsehen der FIFO-Puffer wurde das Entwurfsziel verfolgt, einfach zu synchronisierende und leicht verständliche Verbindungen bereitzustellen, wel­ che die Funktions- und Ablaufplanprozessoren hinsichtlich der bearbeiteten Pro­ gramme und Ausführungsgeschwindigkeiten problemlos völlig von den Funktions­ blockprozessoren entkoppeln. Jeder FIFO-Puffer besteht aus einem warteschlan­ genähnlichen Speicher und den zwei Ein-Bit-Statusregistern VOLL und LEER, die den Füllungszustand des FIFOs anzeigen und nicht benutzerzugänglich sind. Sie werden durch die FIFO-Steuerungslogik gesetzt und zurückgesetzt und be­ wirken im gesetzten Zustand, daß die Ausführung eines einen FIFO-Ein- bzw. -Ausgang ansprechenden Befehls verzögert wird.
In handelsüblichen speicherprogrammierbaren Steuerungen variiert die Ausführungszeit eines Schrittes i.a. von einem Zyklus zum nächsten in Abhängig­ keit von der Programmlogik und den jeweils angetroffenen externen Bedingun­ gen. Deshalb erfolgen Erfassung externer Signale und Ausgabe von Aktordaten gewöhnlich nicht zu äquidistant angeordneten Zeitpunkten, obwohl dies von der Problemstellung her so vorgesehen sein mag. Um das Zeitverhalten des pro­ grammierbaren elektronischen Systems völlig deterministisch zu gestalten, wird ein vom Systemzeitgeber abgeleiteter Grundtakt als Zeitreferenz der für spei­ cherprogrammierbare Steuerungen typischen Betriebsart eingeführt. Dieser Takt markiert den für die Ausführung aller Schritte im Sinne von Ablaufplänen vor­ gesehenen Zeitrahmen. Die Länge der Taktperiode wird so gewählt, daß sie der maximalen Ausführungszeit der in einer Anwendung oder Anwendungsklasse vor­ kommenden Schritte Rechnung trägt. Es wird überwacht, daß die Ausführungs­ zeit jedes Schrittes die Taktperiode nicht überschreitet, indem am Ende der Be­ arbeitung der mit einem Schritt assoziierten Aktion und nach der Auswertung der entsprechenden Transitionsbedingung die Ankunft des Taktsignals abgewar­ tet wird, das den Beginn des nächsten Zyklus markiert. Eine Überlastsituation oder ein Laufzeitfehler liegt vor, wenn das Taktsignal ein aktives Anwendungs­ programm unterbricht, woraufhin eine Notabschaltung eingeleitet wird.
Obwohl der Grundtakt die periodische Ausführung der einzelnen Schritte a priori exakt festlegt, können die Verarbeitungszeitpunkte einzelner Operatio­ nen innerhalb einer Periode immer noch variieren und bleiben so unbestimmt. Da genau festgelegtes Zeitverhalten jedoch nur nach außen hin, d. h. für Ein- /Ausgabeoperationen, wichtig ist, wird Vorhersehbarkeit dadurch erreicht, daß diese unabhängig arbeitenden, mit dem Takt synchronisierten Peripheriegeräten zugewiesen werden. Die Eingabegeräte stellen ständig aktuelle Eingabedaten be­ reit, die alle jeweils zu Beginn der Verarbeitungsperioden en bloc übernommen werden, unabhängig davon, ob sie in einer bestimmten Periode gebraucht wer­ den oder nicht. Die so erfaßten Daten werden zwischengespeichert und stehen somit jederzeit unmittelbar zur Verarbeitung bereit. Ebenso werden alle berech­ neten Ausgabedaten zunächst gepuffert und schließlich am durch den nächsten Taktimpuls markierten Periodenende gemeinsam zur Ausgabe freigegeben.
Der Funktions- und Ablaufplanprozessor führt die in seinem PROM-Speicher abgelegten Programme aus. Neben diesem Programmspeicher umfaßt sein li­ nearer Adreßraum auch einen RAM-Bereich. Er besitzt weiterhin die - Pro­ grammierern unzugänglichen - Register Programmadreßzähler (PZ) zur Angabe der PROM-Adresse der jeweils auszuführenden Instruktion, Eingang des FIFO- Puffers zum und Ausgang des FIFO-Puffers vom Funktionsblockprozessor, Tran­ sitionsbedingung (TB), Anfangsadresse des nächsten Schrittes (ANS) sowie einen vom Grundtakt im Rahmen der Zeitüberwachung gesetzten Merker (ST), der an­ zeigt, ob der nächste Periodentakt bereits eingetroffen ist. Zur Wahrnehmung seiner Aufgaben benötigt der Prozessor lediglich den in Tabelle 1 aufgeführten Befehlssatz. Ausführung der lesend auf das FIFO-Ausgangsregisters zugreifenden Befehle impliziert, daß der Prozessor warten muß, sofern der FIFO-Puffer leer ist. Analog muß er beim Schreiben in das FIFO-Eingangsregister warten, wenn die­ ses voll ist. Im Rahmen der Ausführung aller Instruktionen mit Ausnahme des SRT-Befehls wird der Programmzähler inkrementiert.
Der Befehlssatz wurde unter den Gesichtspunkten minimalen Umfangs bei gleichzeitiger optimaler Unterstützung von Menschen durchzuführender Programminspektionen definiert. Die acht Befehle des Satzes sind alle vom Typ Datentransfer, die in zwei Fällen bedingt auszuführen sind. Deshalb kann die Steuereinheit des Funktions- und Ablaufplanprozessors in Form eines endlichen Moore-Automaten mit bedingter Auswahl implementiert werden. Da diese se­ quentielle Schaltung nur recht wenige Eingänge und innere Zustände besitzt und ihre Komponenten zur Erzeugung von Adressen und Ausgaben rein kombinato­ risch sind, läßt sich die Steuereinheit durch vollständigen Test verifizieren.
Die vom Funktions- und Ablaufplanprozessor auszuführenden Programme bestehen aus Abfolgen von Schritten im Sinne der Ablaufplansprache. Dabei sind nur lineare Schrittfolgen und Alternativverzweigungen solcher Sequenzen wie in Abb. 3 dargestellt zugelassen. Aus Sicherheitsgründen müssen die in der Norm IEC 1131-3 [8] ebenfalls eingeführten Parallelverzweigungen entweder mit­ tels Hardware-Parallelität implementiert oder bereits beim Entwurf durch expli­ zite Serialisierung aufgelöst werden. Das Programmsegment eines jeden solchen Schrittes endet mit einem SRT-Befehl, der überprüft, ob das Segment innerhalb der Taktperiode ausgeführt wurde. War dies nicht der Fall, so wird ein Notab­ schaltungssignal erzeugt. Terminiert die Segmentausführung jedoch vor Ankunft des nächsten Periodentaktimpulses, so wartet der Prozessor bis zum Ende der andauernden Periode. Wenn das Taktsignal schließlich eintrifft, werden der Pro­ grammzähler aus dem Register ANS mit der Anfangsadresse des dem nächsten auszuführenden Schritt zugeordneten Segmentes geladen und das Transitionsbe­ dingungsregister TB gelöscht. Geladen wird das Register TB mit vom Funkti­ onsblockprozessor erarbeiteten logischen Werten im Rahmen der Ausführung von ETB-Befehlen. Wird dabei eine logische Eins empfangen, so wird das Register ANS aus dem Programm-PROM neu geladen. Da Programmverzweigungen nur in dieser äußerst restriktiven Form möglich sind, wird ein sehr effektiver Spei­ cherschutzmechanismus realisiert.
Weil die Inhalte von RAMs nach dem Einschalten der Stromversorgung zufällig sind, muß der RAM-Bereich des Funktions- und Ablaufplanprozessors bei Betriebsbeginn initialisiert werden. Dies erfolgt durch einen Hardware- Mechanismus, der einen (P)ROM ausliest und damit alle Speicherstellen des RAM mit anwendungsspezifischen Anfangswerten vorbesetzt. Weiterhin werden die Register PZ, TB, ANS und ST gelöscht, weshalb das erste in einem Programm auszuführende Segment an der Programmspeicheradresse Null beginnen muß.
Der Vergleich aller zwischen den beiden Funktions- und Ablaufplanprozes­ soren einerseits und den beiden Funktionsblockprozessoren andererseits ausge­ tauschten Daten auf Gleichheit wird von zwei in die FIFO-Puffer integrierten Komparatoren durchgeführt. Sie erkennen alle intermittierenden und dauer­ haften Fehlfunktionen, die sich in Unterschieden zwischen diesen Daten äußern. Sendet einer der Funktions- und Ablaufplanprozessoren auf Grund eines Fehlers einen unvollständigen Parametersatz, so beginnen die Funktionsblockprozesso­ ren nicht zu arbeiten, was zu einem Laufzeitfehler und zur Notabschaltung am Ende der laufenden Verarbeitungsperiode führt. Da den - notwendigerweise einkanalig ausgelegten - Vergleichern in der zweikanaligen Konfiguration die Verantwortung zur Fehlererkennung obliegt, müssen sie höchsten Verläßlichkeits­ anforderungen genügen. Eine auf Software basierende Lösung für diese Aufgabe scheidet aus, da sie, auch wenn sie selbst korrekt wäre, auf jederzeit korrekt ar­ beitende und ausfallfreie Hardware angewiesen wäre. Aus diesen Gründen sind die Vergleicher in ausfallsicherheitsgerichteter Hardware zu realisieren. Um die Arbeitsgeschwindigkeit des Gesamtsystems nicht zu vermindern, müssen die Ver­ gleicher mit der Geschwindigkeit der Datenübertragungen mithalten können, d. h. Vergleiche in wenigen Mikrosekunden durchführen. Weil die marktüblichen aus­ fallsicherheitsgerichteten Komparatoren für einen Vergleich jedoch mehrere Mil­ lisekunden benötigen, bedarf es eines hinreichend schnellen ausfallsicherheitsge­ richteten Vergleichers, wie er im folgenden beschrieben wird.
Nach Abb. 4 ist ein Komparator jeweils mit vier FIFO-Puffern verbunden, zwei eingangs- und zwei ausgangsseitigen. Die jeweils ersten Datenelemente der eingangsseitigen Puffer werden in Halteregistern zwischengespeichert und dann miteinander verglichen. Bei Ungleichheit wird ein Fehlersignal erzeugt, das das gesamte System abschaltet. Andernfalls wird das Datenelement zu den beiden ausgangsseitigen FIFOs weitergeleitet. Die Komparatoren werden durch Par­ allelschaltung aus einem Grundelement zusammengesetzt, das selbst wiederum aus einer Primäreinheit zur Umwandlung der Eingangszustände in alternierende Rechtecksignale und aus einer Sekundäreinheit zum Vergleich letzterer besteht. Die Primäreinheit ist ein aus integrierten Standardbauelementen zusammenge­ setzter und deshalb zweikanalig ausgeführter 4-Bit-Vergleicher, der aber immer noch viel kleiner als ein einkanaliger, diskret aufgebauter Vergleicher für 4 Bits ist, und die Sekundäreinheit ein ausfallsicherheitsgerichteter 1-Bit-Vergleicher. Ist ein Komparator aktiv, sind die Vergleichssignale gleich und arbeiten alle Ele­ mente normal, so führt sein Ausgang logisch Eins. Bei Unterschieden in den Da­ ten oder Hardware-Fehlern wird der Ausgang auf logisch Null gesetzt, was auch der sichere Zustand ist. Dieses Ausgabesignal wird dann bis zu einer expliziten Initialisierung beibehalten.
In der in Abb. 5 dargestellten Primäreinheit vergleichen zwei integrierte Kom­ paratoren U1 und U2 zwei über die Leitungen A0-A3 und B0-B3 von den Halteregistern der FIFO-Puffer angelegte 4-Bit-Worte. Dabei arbeitet U2 mit invertierten Daten. Die Ausgaben an Q1 und Q2 sind gleich, sofern U1 und U2 korrekt arbeiten. Die sich relativ langsam verändernden Eingaben werden in­ nerhalb der Komparatoren mittels der vom Rechteckgenerator US erzeugten und an die Kaskadeneingänge A=B direkt und A<B invertiert angelegten Frequenz in alternierende Signale umgewandelt. Mithin erscheinen an den Ausgängen Q1 und Q2 entweder identische Rechtecksignale, falls die Worte an A0-A3 und B0-B3 gleich sind, oder logisch Null. Das Ausgabeverhalten ist bei Auftreten eines Fehlers innerhalb eines der integrierten Komparatoren nicht vorhersehbar.
Ein Fehler bleibt unerkannt, wenn der Schaltkreis das Rechtecksignal noch un­ verfälscht übertragen kann. Ansonsten nehmen die Ausgänge Q1 und Q2 ver­ schiedene Zustände an, die von den weiteren Schaltungskomponenten erkannt werden, was letztendlich zur Notabschaltung führt.
Die in Abb. 6 dargestellte Sekundäreinheit vergleicht die Ausgangssignale Q1 und Q2 der Primäreinheit. Ihr Entwurf beruht auf dem des Analogsignalverglei­ chers von Schuck [12]. Letzterer formt zwei zu vergleichende Analogsignale in der Eingangsstufe zunächst in bistabile Rechtecksignale um. Dazu wird ein aus Operationsverstärkern und Potentiometern zum Setzen geeigneter Schaltspan­ nungsniveaus aufgebauter analoger Komparator verwendet. Dieser Teil wird in dem Entwurf nach Patentanspruch 3 durch die beiden Optokoppler U1 und U2 ersetzt. Deren Eigenschaft, ihr Ausgangssignal durch Anlegen von logisch Null an Pin 7 abschalten zu können, wird dazu verwendet, die Komparatorausgabe in einen sicheren Zustand zu bringen. Um die Arbeitsgeschwindigkeit des Kompa­ rators zu erhöhen, wurden gegenüber der Schaltung aus [12] die Induktivitäten aller Übertrager und die Kapazität des Kondensators C1 modifiziert sowie der Kondensator C7 entfernt. Das wichtigste neue Merkmal des Vergleichers nach Patentanspruch 3 ist der selbsthaltende sichere Zustand, den er nach Erkennen beliebiger Signalunterschiede oder eigener Fehlfunktionen annimmt. Dies wird durch Steuerung des Durchschaltens der Eingangssignale durch die Optokopp­ ler mit Hilfe des Ausgangssignals VGL erreicht. Dadurch wird der Vergleicher als Ganzes zu einem Speicherglied, ist also nicht mehr nur eine kombinatorische Schaltung wie die nach [12]. Dieses Speicherverhalten ist erforderlich, um das nachgeschaltete und viel langsamer arbeitende ausfallsicherheitsgerichtete Gat­ ter vom Typ F3105 in HIMA-Planar-Logik in die Lage zu versetzen, sich in sehr kurzen Änderungen im Ausgangssignal des Vergleichers ausdrückende Datenin­ konsistenzen überhaupt erkennen zu können.
Durchschalten der Signale Q1 und Q2 durch die Optokoppler U1 und U2 erfordert Logisch-Eins-Zustand am Abgriff des Potentiometers PR1, der mit den Optokoppler-Pins 7 verbunden ist. Wegen seines Speicherverhaltens muß der Vergleicher nach dem Einschalten mit dem Signal RESET initialisiert werden. Dazu wird PR1 über das Relais PK1 mit der Spannung UC verbunden. Wenn die ganze Einheit aktiviert ist und am Ausgang VGL logisch Eins erscheint, wird zwar das Relais abgeschaltet, jedoch verbleibt die Spannung weiterhin an PR1, jetzt von VGL übertragen über die Dioden D1-D3. Andererseits lassen diese die Spannung UC bei eingeschaltetem Relais nicht zum Ausgang VGL durch. Bei fehlender Aktivierung liegt an PR1 keine Spannung an, weshalb die Optokoppler U1 und U2 gesperrt bleiben und somit den Ausgang VGL im Zustand logisch Null halten.
Nach Verstärkung durch die Transistoren T1 und T3 beeinflussen die recht­ eckförmigen Ausgangssignale der Optokoppler U1 und U2 die Transistoren T2 und T4, die in ihren Emitterkreisen die Ubertrager TR1 und TR2 enthalten.
In deren Sekundärwindungen werden Impulse erzeugt, die die Transistoren T5 und T6 kurzzeitig leitend werden lassen. Dies erfolgt gleichzeitig, falls die Ein­ gangssignale Q1 und Q2 identisch sind, wodurch Oszillationen in dem aus dem Kondensator C1 und der Primärwindung des Übertragers TR3 gebildeten Reso­ nanzkreis ausgelöst werden. Die Schwingungen werden von TR3 übertragen und durch die Transistoren T9 und T10 verstärkt, sofern diesen Energie zugeführt wird, was von der Schwingungsübertragung durch die beiden anderen, aus den Transistoren T7 und T8 bzw. T11 und T12 gebildeten, Verstärker abhängt, die die Übertrager TR4 und TR5 zur Energieübertragung benutzen. Natürlich die­ nen letztere gleichzeitig auch zur galvanischen Trennung. Das vom Transistor T10 erzeugte Signal wird von T13 verstärkt und vom Übertrager TR6 an den Gleichrichter GL3 weitergegeben. Der Kondensator C2 dient zusammen mit R0 zur Filterung. Die an C2 anliegende Spannung stellt das Ausgabe- und Steue­ rungssignal VGL der Optokoppler U1 und U2 dar. Der Kondensator C2 wird fortwährend mit den an TR1 und TR2 erscheinenden Pulsen ge- und über den Eingangswiderstand R0 des nachgeschalteten F3105-Gatters und das Potentio­ meter PR1 entladen.
Verschwinden eines oder beide der Signale Q1 und Q2 vorübergehend oder andauernd, geraten diese Signale aus der Phase oder fällt ein Bauelement aus, so erreicht die Rechteckfrequenz die Übertrager TR1 und TR2 nicht mehr, es werden keine Schwingungen erzeugt und die Spannung an C2 fällt ab. Dadurch werden die Optokoppler U1 und U2 gesperrt, was diese Spannung ganz auf Null bringt. Der Ausgang VGL verbleibt dann im Zustand logisch Null, bis das Relais PK1 zur Initialisierung geschaltet wird.
Das vom Generator U5 in der Primäreinheit erzeugte Rechtecksignal hat die Frequenz 100 kHz. Der Vergleicher ist sehr empfindlich: sein Ausgang VGL geht auf Null, sobald die Sekundäreinheit einen Impuls nicht mehr überträgt. Des­ halb sind 10 µs die kürzeste Vergleichszeit. Der sichere Zustand wird wegen der exponentiellen Entladung des Kondensators C2 nach etwa 40 µs angenom­ men. Die nachgeschalteten HIMA-Module reagieren nach 10-20 ms, indem sie das Gesamtsystem abschalten und seine Prozeßausgänge in den sicheren Zustand überführen.
Auch die von Funktionsblockprozessoren erzeugten Ausgabedatenworte müssen vor dem Aussenden an externe technische Prozesse mit Hilfe ausfallsi­ cherheitsgerichteter Komparatoren auf Gleichheit überprüft werden. An diese werden jedoch wesentlich geringere Geschwindigkeitsanforderungen gestellt, da Ausgaben mit der Frequenz des Taktes der Schrittperiode erfolgen. Deshalb kann für diese Anwendung auf marktübliche Komponenten [6, 4] zurückgegrif­ fen werden. Die von beiden Funktionsblockprozessoren erzeugten Ausgabeda­ tenworte werden zuerst verglichen, bevor sie in Ausgangshalteregister gebracht werden. Bei Ungleichheit wird wieder ein Notabschaltungssignal erzeugt. Die Ausgabedaten werden erst mit Beendigung der aktuellen Verarbeitungsperiode freigegeben. Auch die vom technischen Prozeß kommenden Eingabedaten gelan­ gen zunächst in Halteregister. Erst mit dem nächsten Taktimpuls werden sie beiden Funktionsblockprozessoren bereitgestellt.
Jedes der oben beschriebenen 4-Bit-Komparatormodule und jeder Vergleicher von Prozeßausgabedaten erzeugt sein eigenes Korrektheitssignal, das bei Fehl­ funktionen zur Notabschaltung des Gesamtsystems führen soll. Dazu verarbeitet die in Abb. 7 dargestellte, mit ausfallsicherheitsgerichteten Logikelementen aus dem HIMA-Planar-System aufgebaute Schaltung diese Signale zu einem globa­ len Korrektheitssignal OK, das bei Annahme des Nullzustandes alle Prozessoren anhält und die Prozeßausgaben in den sicheren Zustand überführt. Das Modul wird nach dem Einschalten mit dem Signal HIMA_RESET initialisiert, das vom Optokoppler OP und einem Eingangsverstärker vom Typ F3105 an die aus ei­ nem Oder- und einem Und-Gatter in einem Baustein des Typs F3317 aufgebaute Leistungsendstufe weitergeleitet wird. Ihr Ausgang OK ist logisch Eins, wenn sowohl HIMA_RESET und der Ausgang des Und-Gatters vom Typ F4112 logisch Eins sind. Dieses Gatter faßt die Ausgaben der den Datenaustausch über die FIFO-Puffer überwachenden schnellen Vergleicher (VGL1, VGL2) und die Kon­ sistenzsignale der Prozeßausgabedaten zusammen. Durch Rückkopplung von OK in das Oder-Gatter des Bausteins F3317 bleibt OK nach dem Verschwinden von HIMA_RESET im Zustand logisch Eins. Jede zu einem Spannungsabfall an min­ destens einem der Eingänge des Bausteins F4112 führende Fehlfunktion läßt das OK-Signal den Zustand logisch Null annehmen.
Die Durchführung strenger Verifikation auf dem oben beschriebenen program­ mierbaren elektronischen System für Sicherheitsaufgaben ablaufender Anwender­ programme durch Inspektion wird nun anhand eines ausgearbeiteten relativ ein­ fachen, aber sehr typischen Beispiels dargestellt. Die beiden äquivalenten Dar­ stellungsformen eines Programmes, nämlich Funktionsplan und Maschinencode für den Funktions- und Ablaufplanprozessor der Architektur, werden im Detail gezeigt. Es wird deutlich werden, daß es sehr leicht unmittelbar möglich ist, nach einem gegebenen Maschinenprogramm einen entsprechenden Funktionsplan zu zeichnen.
Abb. 9 zeigt ein typisches industrielles Automatisierungsprogramm in graphi­ scher Form, welches einen Behälterdruck regelt und überwacht und das die einem Schritt in einem, ähnlich dem in Abb. 8 wiedergegebenen und [11] entnommenen, Ablaufplan zugeordnete Aktion zusammen mit der Berechnung der nachfolgen­ den Transitionsbedingung darstelle. Das Programm ist durch Zusammenschal­ tung in der Richtlinie [11] definierter Standardfunktionsblöcke formuliert. Eine analog gemessene Variable, die zu regelnde Größe, wird vom Eingabekanal mit der Adresse INADR durch einen Funktionsblock des Typs IN_A erfaßt und zu einer physikalischen Größe mit der Einheit XUNIT im Bereich zwischen XMIN und XMAX skaliert. Die zu regelnde Variable wird an einen Funktionsblock des Typs C weitergegeben, der eine Proportional-Integral-Differential-Regelung unter Verwendung der Regelparameter KP, TN und TV durchführt. Die resultierende Stellvariable wird durch einen Ausgabefunktionsblock vom Typ OUT_A in einen Analogwert konvertiert und auf den durch OUTADR adressierten Kanal geschal­ tet. Zusätzlich wird die geregelte Variable mit Hilfe zweier Instanzen des Stan­ dardfunktionsblocktyps SAM zur Grenzwertüberwachung beobachtet, um festzu­ stellen, ob sie zwischen den von den beiden Parametern ls und hs vorgegebenen Bereichsgrenzen liegt. Wenn die geregelte Variable diesen Bereich überschrei­ tet, wird eine der QS-Ausgaben der beiden SAM-Instanzen und somit auch die Ausgabe des Funktionsblocks vom Typ OR logisch wahr, der die Disjunktion implementiert. Dies wiederum bewirkt, daß zum nächsten Schritt übergegangen wird, da hier der Ausgang des OR-Funktionsblocks zum Setzen der Transitions­ bedingung verwendet wird. Den Eingängen der Funktionsblöcke, die weder von extern sichtbaren Eingängen des Programmes selbst noch intern von Ausgängen anderer Funktionsblöcke gespeist werden, werden vorgegebene konstante Werte zugewiesen.
Das graphische Beispielprogramm sei nun auf irgendeinem Wege in den in Abb. 10 in Form einer leicht lesbaren mnemonischen Darstellung aufgelisteten Maschinencode des Funktions- und Ablaufplanprozessors übersetzt worden. Von den verschiedenen im Beispiel instanziierten Funktionsblocktypen hat C drei und SAM eine interne Zustandsvariable.
Der in Abb. 10 aufgelistete Maschinencode stellt ein Segment dar. Ein Seg­ ment ist die Einheit der Programmausführung während der Taktperiode eines Schrittes und besteht aus einer sequentiellen Abfolge von Aufruffolgen, die sich wiederum aus den Maschinenbefehlen SID, SKN, SVR, SIZ, EVR, EIZ und ETB des Funktions- und Ablaufplanprozessors nach Tabelle 1 zusammensetzen, ge­ folgt und abgeschlossen durch eine SRT-Instruktion. Ein Programm hat minde­ stens ein Segment. Die Anzahl der Segmente entspricht der der Schritte. Jeder in einem Funktionsplan erscheinenden Funktionsblockinstanz entspricht genau eine Aufruffolge. Mit ihr werden Parameter und gegebenenfalls interne Zustände vom Funktions- und Ablaufplanprozessor zum Funktionsblockprozessor übertra­ gen und nach Ausführung des Funktionsblocks die berechneten Ergebnisse und eventuell neue interne Zustände in Empfang genommen.
Eine Aufruffolge beginnt mit einer SID-Instruktion, die den Bezeichner (z. B. ID-C) des jeweiligen Funktionsblockes zum Funktionsblockprozessor überträgt. Danach werden die Eingabeparameter des bezeichneten Funktionsblockes bereit­ gestellt. Dies erfolgt für Konstanten mit SKN-Befehlen. Variablen und Zwischen­ werte werden mit SVR- und, sofern vorhanden, Werte interner Funktionsblock­ zustände mit SIZ-Befehlen von ihnen zugeordneten RAM-Speicherstellen gelesen und zum Funktionsblockprozessor gesandt. Für jede Instanz eines Funktions­ blocks mit internen Zuständen wird eine Menge entsprechend gekennzeichneter (z. B. B2-isv1) Speicherzellen angelegt. Wenn der Funktionsblockprozessor alle diese Parameter erhalten hat, führt er den bezeichneten Funktionsblock aus und liefert die zugehörigen Mengen von Werten an Ausgabeparametern und neuen in­ ternen Zuständen zurück. Diese werden vom Funktions- und Ablaufplanprozessor mittels EVR- bzw. EIZ-Befehlen empfangen und dann in entsprechenden RAM- Zellen abgelegt. Die Anzahl der SKN-, SVR-, SIZ, EVR- und EIZ-Instruktionen ist funktionsblockspezifisch. Sie müssen in einer vorgegebenen Reihenfolge aus­ geführt werden, die die korrekte Zuordnung von Werten zu Parametern und Zuständen auf Seiten beider Prozessoren bestimmt. Eine Verbindung zwischen einem Ausgang eines Funktionsblockes und einem Eingang eines anderen wird mit einem EVR- und einem SVR-Befehl implementiert: der erste speichert den Aus­ gabewert in einer RAM-Zelle für einen temporären Wert (z. B. TMP-X) ab und der zweite lädt ihn von dort. Die Implementierungsdetails der Funktionsblöcke sind Teil der Architektur des Funktionsblockprozessors und bleiben daher auf der Ebene der Anwendungsprogrammierung unsichtbar.
Auf Grund der oben beschriebenen Struktur der Maschinenprogramme des Funktions- und Ablaufplanprozessors stellen sich Inspektion und Rücküberset­ zung von Objektcode als sehr leicht dar. Dazu wird zunächst der Inhalt des (P)ROMs geprüft, aus dem der einem Programm zugeordnete RAM-Bereich in­ itialisiert wird. Dann werden die SRT-Befehle gesucht, die die verschiedenen, den Ablaufplanschritten des Programmes zugeordneten Segmente klar vonein­ ander trennen. Der Code zwischen zwei SRT-Befehlen entspricht genau einem Funktionsplan. Die Rückübersetzung eines solchen Segmentes beginnt mit der Interpretation der ersten Instruktion, die immer ein SID-Befehl sein muß. Sie identifiziert eine in den Funktionsplan einzuzeichnende Funktionsblockinstanz. Vergleicht man die nachfolgenden Befehle mit der entsprechenden, in einer Bi­ bliothek enthaltenen Funktionsblockbeschreibung, so kann die korrekte Parame­ terübergabe leicht nachgeprüft werden. Darüber hinaus wird für jede SKN-, SVR- und EVR-Instruktion eine Verbindung in den Funktionsplan eingezeich­ net. Es gibt zwei Arten von Verbindungen. Die erste sind Verbindungen von Programmeingängen oder Konstanten zu Eingängen von Funktionsblöcken oder von Funktionsblockausgängen zu Programmausgängen. Die zweite Art sind Ver­ bindungen von Funktionsblockausgängen zu benannten Verbindungspunkten im Funktionsplan oder von solchen Punkten zu Funktionsblockeingängen. Wenn ein Funktionsplan vollständig gezeichnet ist, können die Namen dieser Punkte ent­ fernt werden. Für die internen Zustandsvariablen muß nur geprüft werden, daß die neuen, aus einer Ausführung einer Funktionsblockinstanz resultierenden und mit EIZ-Befehlen empfangenen Werte in genau denselben RAM-Stellen abgelegt werden, von denen die internen Zustände im Zuge des entsprechenden Aufrufes mit SIZ-Befehlen gelesen wurden. Der Vorgang der Funktionsblockidentifizie­ rung, der Prüfung der Parameter- und Zustandsübergaben sowie des Zeichnens des Blocksymbols und der entsprechenden Verbindungen wird solange wieder­ holt, bis die nächste SRT-Anweisung erreicht wird, die den Schritt und somit den entsprechenden Funktionsplan beendet.
Enthält ein Segment keinen ETB-Befehl, so wird der entsprechende Schritt als Endlosschleife ausgeführt. Mit einem ETB-Befehl wird das Ergebnis der Be­ rechnung einer Transitionsbedingung als Ausgabewert eines Funktionsblockin­ stanzenaufrufes empfangen und im Transitionsbedingungsregister TB abgelegt. Im Rahmen der Inspektion ist im Funktionsplan eine Verbindungslinie vom ent­ sprechenden Ausgang am Symbol der Instanz zu einem zu markierenden Punkt am rechten Rand des Planes einzuzeichnen. Weiterhin muß die im ETB-Befehl enthaltene Anfangsadresse des Folgesegmentes als Beginn des als nächsten vor­ gesehenen Ablaufplanschrittes verifiziert werden. Enthält ein Segment mehrere ETB-Befehle, so führt dies bei der Rückübersetzung zu ebenso vielen Verbin­ dungspunkten am rechten Funktionsplanrand. Sofern das Register TB während einer Segmentausführung auf 1 gesetzt wurde, wird mit dem Segment fortgefah­ ren, dessen Anfangsadresse von dem ETB-Befehl in das Register ANS geladen wurde, der als letzter TB auf 1 gesetzt hat. Auf diese Art werden Alternativver­ zweigungen in Ablaufplänen implementiert.
Literatur
[1] ABB Industrial Systems: ABB Master Safeguard 3000 Product Guide. Oslo 1994.
[2] Baber, R.L.: Fehlerfreie Programmierung für den Software-Zauberlehrling. München-Wien: Oldenbourg-Verlag, 1990.
[3] Backhouse, R.C.: Programmkonstruktion und Verifikation. München-Wien: Hanser-Verlag, 1989.
[4] GTI Industrial Automation: An Introduction to Maglog 24 Inherently Fail- Safe Logic Technology - Eliminating the Unexpected. Apeldoorn 1993.
[5] Paul Hildebrandt GmbH & Co. KG: Main Catalogue - The HIMA-Planar- System. Brochure HK 90.11. Brühl 1991.
[6] Paul Hildebrandt GmbH & Co. KG: Fail-Safe Electronic Controls - The HIMA-Planar-System. Brochure TI 92.08. Brühl 1992.
[7] Internationale Norm IEC 880: Software for Computers in the Safety System of Nuclear Power Stations. Genf: Internationale Elektrotechnische Kommis­ sion, 1986.
[8] Internationale Norm IEC 1131-3: Programmable Controllers, Part 3: Pro­ gramming Languages. Genf: Internationale Elektrotechnische Kommission, 1992.
[9] Internationaler Normentwurf TC65/WG6(PT1WD)7: Function Blocks for Industrial Process Measurement and Control Systems, Part 1: Architecture. Genf: Internationale Elektrotechnische Kommission, 1996.
[10] Krebs, H., und Haspel, U.: Ein Verfahren zur Software-Verifikation. Rege­ lungstechnische Praxis rtp 26, 73-78, 1984.
[11] Richtlinie VDI/VDE 3696: Herstellerneutrale Konfigurierung von Pro­ zeßleitsystemen. Berlin: Beuth Verlag, 1995.
[12] Schuck, H.: Analoger Fensterkomparator in Fail-safe-Technik. Technische Universität Braunschweig, Braunschweig 1987.
[13] Storey, N.: Safety-Critical Computer Systems. New York: Addison-Wesley) 1996.
[14] TÜV Rheinland, Institut für Software, Elektronik, Bahntechnik: Liste bau­ mustergeprüfter speicherprogrammierbarer Steterungen (List of Type Appro­ ved Programmable Electronic Systems), Version 3.1, Köln, Oktober 1997.
[15] Zentralstelle für Sicherheit in der Informationstechnik: Kriterien für die Be­ wertung der Sicherheit von Systemen der Informationstechnik. Köln: Bun­ desanzeiger, 1989.

Claims (3)

1. Mehrrechnerarchitektur, die in Form von Funktions- und Ablaufplänen formulierte Anwenderprogramme ohne semantische Lücke auf die Ausführungsebene abzubilden erlaubt, dadurch gekennzeichnet, daß die Programmausführung auf zwei verschieden geartete Rechner ver­ teilt wird, von denen der eine Funktionsblockaufrufe bearbeitet, während der andere durch Funktionspläne dargestellte Datenflüsse zwischen Funkti­ onsblöcken und durch Ablaufpläne beschriebene Schrittfolgen umsetzt, und daß kein Betriebssystem benötigt wird.
2. Durch Konstruktion nach Patentanspruch 1 leichte, aber dennoch strenge Nachweisbarkeit der Korrektheit von Anwenderprogrammen, dadurch gekennzeichnet, daß sich in dem an den Hochsprachen Funktions- und Ablaufpläne orientier­ ten, sehr kleinen Befehlssatz eines der beiden Rechner ausgedrückte Maschi­ nenprogramme durch Inspektion unmittelbar in eine graphische Form über­ setzen lassen, die direkten Vergleich mit ihren Programmspezifikationen erlaubt, und daß die dem anderen Rechner zugeordneten Funktionsblöcke als Systemprogramme nur einer einmaligen Typprüfung unterzogen werden müssen.
3. Schneller Vergleicher zweier Binärworte mit ausfallsicherheitsgerichtetem Ausgabeverhalten, dadurch gekennzeichnet, daß durch eine zweikanalige Vorverarbeitungseinheit der Vergleich zweier Binärworte auf den zweier Bits reduziert, daß durch Verwendung optoelek­ tronischer Bauelemente eine ausfallsicherheitsgerichtete Schaltung zum Ver­ gleich analoger Signale dem Einsatz in der Digitaltechnik angepaßt und daß durch Einführung von Speicherverhalten die Ansteuerung herkömmlicher, langsamer ausfallsicherheitsgerichteter Logikbaugruppen in der Endstufe ermöglicht wird.
DE1998141194 1998-09-09 1998-09-09 Digitale Datenverarbeitungsanlage für sicherheitsgerichtete Automatisierungsaufgaben zur Ausführung als Funktions- und Ablaufpläne dargestellter Programme Expired - Fee Related DE19841194B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE1998141194 DE19841194B4 (de) 1998-09-09 1998-09-09 Digitale Datenverarbeitungsanlage für sicherheitsgerichtete Automatisierungsaufgaben zur Ausführung als Funktions- und Ablaufpläne dargestellter Programme
DE19861281A DE19861281B4 (de) 1998-09-09 1998-09-09 Elektronischer Vergleicher zweier Binärworte mit ausfallsicherheitsgerichtetem Ausgabeverhalten

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE1998141194 DE19841194B4 (de) 1998-09-09 1998-09-09 Digitale Datenverarbeitungsanlage für sicherheitsgerichtete Automatisierungsaufgaben zur Ausführung als Funktions- und Ablaufpläne dargestellter Programme
DE19861281A DE19861281B4 (de) 1998-09-09 1998-09-09 Elektronischer Vergleicher zweier Binärworte mit ausfallsicherheitsgerichtetem Ausgabeverhalten

Publications (2)

Publication Number Publication Date
DE19841194A1 true DE19841194A1 (de) 2000-02-03
DE19841194B4 DE19841194B4 (de) 2007-07-05

Family

ID=7880367

Family Applications (2)

Application Number Title Priority Date Filing Date
DE1998141194 Expired - Fee Related DE19841194B4 (de) 1998-09-09 1998-09-09 Digitale Datenverarbeitungsanlage für sicherheitsgerichtete Automatisierungsaufgaben zur Ausführung als Funktions- und Ablaufpläne dargestellter Programme
DE19861281A Expired - Fee Related DE19861281B4 (de) 1998-09-09 1998-09-09 Elektronischer Vergleicher zweier Binärworte mit ausfallsicherheitsgerichtetem Ausgabeverhalten

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE19861281A Expired - Fee Related DE19861281B4 (de) 1998-09-09 1998-09-09 Elektronischer Vergleicher zweier Binärworte mit ausfallsicherheitsgerichtetem Ausgabeverhalten

Country Status (1)

Country Link
DE (2) DE19841194B4 (de)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10029664A1 (de) * 2000-06-23 2002-01-03 Uwe Zeiler Klimasystem für zentrale Aufstellungsräume von Nachrichten- und Rechentechnik
EP1614225A2 (de) * 2003-04-17 2006-01-11 Fieldbus Foundation System und verfahren zur implementierung von sicherheitsinstrumentierten systemen in einer feldbusarchitektur
US7139622B2 (en) 2001-02-20 2006-11-21 Pilz Gmbh & Co. Method and device for programming a failsafe control system
DE102008060003A1 (de) * 2008-11-25 2010-05-27 Pilz Gmbh & Co. Kg Verfahren und Vorrichtung zum Erstellen eines Anwenderprogramms für eine Sicherheitssteuerung
DE102008060005A1 (de) * 2008-11-25 2010-06-10 Pilz Gmbh & Co. Kg Sicherheitssteuerung und Verfahren zum Steuern einer automatisierten Anlage mit einer Vielzahl von Anlagenhardwarekomponenten
CN102122533A (zh) * 2010-10-28 2011-07-13 中广核工程有限公司 一种核电站安全级设备监控方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2402881C3 (de) * 1974-01-18 1982-01-14 Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt Fehlersichere elektronische Signalvergleichsschaltung
CH653829A5 (de) * 1982-04-21 1986-01-15 Siemens Ag Albis Codeumsetzer fuer binaere signale.

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Hölscher H. und Rader J., Mikrocomputer in der Sicherheitstechnik, Köln, Verlag TÜV-Rheinland, 1984, S. 7-87 bis 7-92 *
Nikolaizik J. u.a.: Fehlertolerante Mikrocomputer-systeme, 1. Aufl., Berlin, Verlag Technik, 1990, S. 24-37 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10029664A1 (de) * 2000-06-23 2002-01-03 Uwe Zeiler Klimasystem für zentrale Aufstellungsräume von Nachrichten- und Rechentechnik
US7139622B2 (en) 2001-02-20 2006-11-21 Pilz Gmbh & Co. Method and device for programming a failsafe control system
EP1614225A2 (de) * 2003-04-17 2006-01-11 Fieldbus Foundation System und verfahren zur implementierung von sicherheitsinstrumentierten systemen in einer feldbusarchitektur
EP1614225A4 (de) * 2003-04-17 2007-11-21 Fieldbus Foundation System und verfahren zur implementierung von sicherheitsinstrumentierten systemen in einer feldbusarchitektur
DE102008060003A1 (de) * 2008-11-25 2010-05-27 Pilz Gmbh & Co. Kg Verfahren und Vorrichtung zum Erstellen eines Anwenderprogramms für eine Sicherheitssteuerung
DE102008060005A1 (de) * 2008-11-25 2010-06-10 Pilz Gmbh & Co. Kg Sicherheitssteuerung und Verfahren zum Steuern einer automatisierten Anlage mit einer Vielzahl von Anlagenhardwarekomponenten
US8832667B2 (en) 2008-11-25 2014-09-09 Pilz Gmbh & Co. Kg Method and programming tool for creating a user program for a safety controller
US9310795B2 (en) 2008-11-25 2016-04-12 Pilz Gmbh & Co. Kg Safety controller and method for controlling an automated installation
CN102122533A (zh) * 2010-10-28 2011-07-13 中广核工程有限公司 一种核电站安全级设备监控方法及系统
CN102122533B (zh) * 2010-10-28 2012-09-12 中广核工程有限公司 一种核电站安全级设备监控方法及系统

Also Published As

Publication number Publication date
DE19861281B4 (de) 2008-10-02
DE19841194B4 (de) 2007-07-05

Similar Documents

Publication Publication Date Title
EP2399174B1 (de) Verfahren und vorrichtung zum erstellen eines anwenderprogrammes für eine sicherheitssteuerung
US8615683B2 (en) Capturing data during operation of an industrial controller for the debugging of control programs
EP1904903B1 (de) Verfahren zum bedienen und beobachten eines steuergeräts, hiermit korrespondierendes bedien-/beobachtungsgerät, steuergerät sowie maschine mit einem solchen steuergerät und verwendungen des verfahrens sowie datenspeichermedien
DE102004014747A1 (de) Funktionsblock-Implementierung einer Ursache- und Wirkung-Matrix zum Gebrauch in einem Prozesssicherheitssystem
EP2100198A1 (de) Steuerungssystem sowie verfahren zur konfiguration eines steuerungssystems
EP3173884A1 (de) Verfahren zum programmieren einer sicherheitssteuerung
DE102008044018A1 (de) Verfahren zum Bestimmen einer Sicherheitsstufe und Sicherheitsmanager
DE102009019087A1 (de) Sicherheitssteuerung und Verfahren zum Steuern einer automatisierten Anlage
DE112016004627T5 (de) System und verfahren zum bereitstellen miteinander verknüpfter benutzerschnittstellen, die einer sicherheitslogik eines prozessleitsystemsentsprechen
EP2407842B1 (de) Verfahren zur Inbetriebnahme von Maschinen oder Maschinen einer Maschinenserie und Projektierungssystem
Anjos et al. A proposal and verification of a software architecture based on LabVIEW for a multifunctional robotic end-effector
EP3542232B1 (de) Steuerung für eine industrielle automatisierungsanlage und verfahren zum programmieren und betreiben einer derartigen steuerung
EP1691259A1 (de) Automatische Eingabehilfe in Computerprogrammen
DE19841194A1 (de) Mit Funktions- und Ablaufplänen programmierbares elektronisches System für Sicherheitsaufgaben
DE102006012042A1 (de) Steuervorrichtung zur fehlersicheren Steuerung einer Maschine
WO2015150184A1 (de) Fertigungsmanagementsystem und verfahren
EP3420426A1 (de) Vorrichtung und verfahren zur anpassung einer numerischen steuerung an eine zu steuernde maschine
DE102007063291A1 (de) Sicherheitssteuerung
WO2014154281A1 (de) Objektbasierte konfiguration einer prozess- und/oder fertigungsanlage
EP1495381B1 (de) Messeinrichtung f r die prozesstechnik und betriebsverfahren f r eine messeinrichtung
DE10057575A1 (de) Verfahren zur automatischen Softwaregenerierung
DE102020130022A1 (de) Überprüfen einer Kompatibilität eines neu zu integrierenden Prozessmoduls einer Automatisierungsanlage
EP2998805A1 (de) Verfahren und Vorrichtung zur Erzeugung eins Überwachungs-Funktionsbausteins für die Überwachung einer Automatisierungsanordnung
DE102016121788A1 (de) Konfiguration einer Automatisierungsanlage
EP3717975A1 (de) Verfahren und vorrichtung zur projektierung einer spezifi-schen verfahrenstechnischen anlage

Legal Events

Date Code Title Description
OAV Applicant agreed to the publication of the unexamined application as to paragraph 31 lit. 2 z1
OP8 Request for examination as to paragraph 44 patent law
8125 Change of the main classification

Ipc: G06F 1128

8172 Supplementary division/partition in:

Ref document number: 19861281

Country of ref document: DE

Kind code of ref document: P

Q171 Divided out to:

Ref document number: 19861281

Kind code of ref document: P

Country of ref document: DE

8364 No opposition during term of opposition
8320 Willingness to grant licenses declared (paragraph 23)
8339 Ceased/non-payment of the annual fee