DE102006020478A1 - Verfahren zur Entwicklung sicherheitsgerichteter Softwareapplikationen - Google Patents

Verfahren zur Entwicklung sicherheitsgerichteter Softwareapplikationen Download PDF

Info

Publication number
DE102006020478A1
DE102006020478A1 DE200610020478 DE102006020478A DE102006020478A1 DE 102006020478 A1 DE102006020478 A1 DE 102006020478A1 DE 200610020478 DE200610020478 DE 200610020478 DE 102006020478 A DE102006020478 A DE 102006020478A DE 102006020478 A1 DE102006020478 A1 DE 102006020478A1
Authority
DE
Germany
Prior art keywords
safety
cause
programming
programming system
processing
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.)
Withdrawn
Application number
DE200610020478
Other languages
English (en)
Inventor
Peter Feltens
Christine Ruff
Michael Sperber
Wolfgang Dr. Brendel
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.)
INFOTEAM SOFTWARE AG, DE
Original Assignee
INFOTEAM SOFTWARE 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 INFOTEAM SOFTWARE GmbH filed Critical INFOTEAM SOFTWARE GmbH
Priority to DE200610020478 priority Critical patent/DE102006020478A1/de
Publication of DE102006020478A1 publication Critical patent/DE102006020478A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • 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/056Programming the PLC

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zur Entwicklung sicherheitsgerichteter Softwareapplikationen. Darüber hinaus betrifft die Erfindung ein Programmiersystem sowie ein Computerprogramm zur Entwicklung sicherheitsgerichteter Softwareapplikationen. Gemäß der Erfindung wird durch eine sicherheitsgerichtete Programmiersystemkomponente (101) ein Ursachen/Wirkungs-basiertes Programmierschema (200) bereitgestellt. Dieses Programmierschema (200) arbeitet nach Art einer Matrix und verschaltet Ursachen auf Wirkungen. Vorzugsweise erfolgt zusätzlich eine Vor- und Nachbearbeitung von sicherheitsgerichteten Signalen mit Hilfe von sicherheitsgerichteten Funktionen (214, 224).

Description

  • Die Erfindung betrifft ein Verfahren zur Entwicklung sicherheitsgerichteter Softwareapplikationen. Darüber hinaus betrifft die Erfindung ein Programmiersystem sowie ein Computerprogramm zur Entwicklung sicherheitsgerichteter Softwareapplikationen.
  • Auf dem Gebiet der Automatisierungstechnik werden zur Steuerung von Automatisierungskomponenten häufig programmierbare Steuerungen eingesetzt. Zum Programmieren derartiger Steuerungen dienen beispielsweise IEC61131-basierte Programmiersysteme.
  • Mit den aus dem Stand der Technik bekannten IEC61131-basierten Programmiersystemen ist eine Entwicklung sicherheitsgerichteter Softwareapplikationen für Automationslösungen mit sicherheitsgerichteten Anforderungen nicht befriedigend möglich.
  • Eine Aufgabe der vorliegenden Erfindung ist es daher, eine Technik zur Entwicklung sicherheitsgerichteter Softwareapplikationen, insbesondere für Automationslösungen, bereitzustellen.
  • Diese Aufgabe wird durch ein Verfahren nach Anspruch 1 gelöst. Danach ist es vorgesehen, daß unter Verwendung einer sicherheitsgerichteten Programmiersystemkomponente ein Ursachen/Wirkungs-basiertes Programmierschema bereitstellt wird.
  • Darüber hinaus wird diese Aufgabe durch ein Programmiersystem nach Anspruch 7 gelöst. Danach ist ein Programmiersystem mit einer sicherheitsgerichteten Programmiersystemkomponente vorgesehen, die eine Ursachen/Wirkungs-basiertes Programmierschema bereitstellt.
  • Darüber hinaus wird diese Aufgabe durch eine Verwendung eines Ursachen/Wirkungs-basierten Programmierschemas in einer sicherheitsgerichteten Programmiersystemkomponente eines Programmiersystems nach Anspruch 10 gelöst.
  • Schließlich wird diese Aufgabe auch durch ein Computerprogramm nach Anspruch 12 gelöst. Danach umfaßt das Computerprogramm einer sicherheitsgerichteten Programmiersystemkomponente zugeordnete Computerprogrammanweisungen, die ein Ursachen/Wirkungs-basiertes Programmierschema bereitstellen, wenn das Computerprogramm auf einem Computer ausgeführt wird.
  • Der Begriff „sicherheitsgerichtet" wird im Sinne der Norm ISO 61508 (dort „sicherheitsbezogen"/"safety-related") verwendet. Mit der vorliegenden Erfindung wird eine Sicherheitsstufe bis SIL 3 (Safety Integrity Level 3) gemäß dieser Norm erfüllt.
  • Eine grundlegende Idee der Erfindung besteht in der Verwendung eines Ursachen/Wirkungs (Cause and Effect)-basierten Programmierschemas in einem Programmiersystem zur Entwicklung sicherheitsgerichteter Softwareapplikationen. Vereinfacht dargestellt werden durch das Ursachen/Wirkungs-basierten Programmierschema nutzerinitiierte und/oder ereignisgesteuerte Änderungen von sicherheitsgerichteten Eingangssignalen in sicherheitsgerichtete Ausgangssignale umgesetzt. Diese Umsetzung erfolgt dabei unter Verwendung eines definierten Programmierschema-internen Regelwerkes. Bei den sicherheitsgerichteten Eingangssignalen handelt es sich beispielsweise um Steuerungssignale einer Automatisierungskomponente.
  • Gemäß der Erfindung wird durch eine sicherheitsgerichtete Programmiersystemkomponente ein Ursachen/Wirkungs-basiertes Programmierschema bereitgestellt. Dieses Programmierschema arbeitet nach Art eine Matrix und verschaltet Ursachen auf Wirkungen. Vorzugsweise erfolgt zusätzlich eine Vor- und Nachbearbeitung von sicherheitsgerichteten Signalen mit Hilfe von sicherheitsgerichteten Funktionen.
  • Mit der Erfindung wird eine Technik zur Entwicklung sicherheitsgerichteter Softwareapplikationen, insbesondere für Automationslösungen, bereitgestellt, die sich gegenüber anderen Lösungen dadurch auszeichnet, daß trotz der durch sie bereitgestellten komplexen Verarbeitungsmöglichkeiten von sicherheitsgerichteten Signalen eine besonders einfache Handhabung gewährleistet ist.
  • Vorrichtungen zur Ausführung der Erfindung können sowohl in Form von Hardware, als auch in Form von Software, oder aber in Form einer Kombination aus Hard- und Software verwirklicht sein. Vorzugsweise ist die Erfindung in Form von Software realisiert. Die erfindungsgemäße Software ist dabei derart ausgebildet, daß sie Computerprogrammanweisungen enthält, welche das erfindungsgemäße Verfahren verwirklichen, wenn sie in einem Computer ausgeführt wird.
  • Vorteilhafte Ausführungen der Erfindung sind in den Unteransprüchen angegeben.
  • Als ganz besonders vorteilhaft hat sich eine Ausführungsform der Erfindung erwiesen, bei der das durch die sicherheitsgerichtete Programmiersystemkomponente bereitgestellte Ursachen/Wirkungs-basierte Programmierschema eine Vorverarbeitung von sicherheitsgerichteten Ursachen und eine Nachverarbeitung von sicherheitsgerichteten Wirkungen bereitstellt. Durch diese Vor- und Nachverarbeitung kann auf einfache Art und Weise eine durchgehende sicherheitsgerichtete Arbeitsweise gewährleistet werden. Hierzu werden sowohl Eingangs- als auch Ausgangssignale unter diesem Gesichtspunkt geprüft und erforderlichenfalls derart modifiziert, daß die erforderliche Betriebssicherheit erreicht wird.
  • Entsprechend des erfindungsgemäß zum Einsatz kommenden Ursachen-Wirkungs-Mechanismus umfaßt das erfindungsgemäße Verfahren gemäß einer weiteren Ausführungsform der Erfindung die folgenden Schritte: Vorverarbeitung von sicherheitsgerichteten Eingangssignalen unter Verwendung sicherheitsgerichteter Funktionen in einem Ursachenmodul, Verschaltung der Eingangssignale zu Ausgangssignalen in einem Verschaltungsmodul und Nachverarbeitung der Ausgangssignale unter Verwendung sicherheitsgerichteter Funktionen zu sicherheitsgerichteten Ausgangssignalen in einem Wirkungsmodul. Mit anderen Worten erfolgt nach einer unter Sicherheitsgesichtspunkten durchgeführten Signalvorverarbeitung eine Verschaltung von Signalen aus dem Ursachenmodul zu Signalen für das Wirkungsmodul. Ursachenmodul, Verschaltungsmodul und Wirkungsmodul wirken zu diesem Zweck nach Art einer Matrix zusammen, wobei die Matrixanordnung einen definierten Signalverlauf von dem Ursachenmodul über das Verschaltungsmodul zu dem Wirkungsmodul sicherstellt.
  • Gemäß einer weiteren Ausführungsform der Erfindung ist das erfindungsgemäße Verfahren gekennzeichnet durch eine systemimmanente Überprüfung der Vollständigkeit und/oder der Disjunktheit der durch das Ursachenmodul bzw. das Wirkungsmodul bereitgestellten sicherheitsgerichteten Funktionen zur Vorverarbeitung und Nachverarbeitung von sicherheitsgerichteten Signalen. Dadurch, daß einerseits die Verwendung einer sicherheitsgerichteten Nachverarbeitungsfunktion in dem Ursachenmodul und andererseits die Verwendung einer sicherheitsgerichteten Vorverarbeitungsfunktion in dem Wirkungsmodul ausgeschlossen ist, wird eine strikte Aufteilung und Trennung aller Funktionen erreicht. Hierdurch ist eine besonders einfache Benutzerführung möglich. Programmierfehler können von Anfang an verhindert werden, wodurch die Qualität der resultierenden sicherheitsgerichteten Softwareapplikation erhöht wird.
  • Gemäß einer weiteren Ausführungsform der Erfindung ist das erfindungsgemäße Verfahren gekennzeichnet durch eine systemimmanente Überprüfung der Konsistenz der durch das Verschaltungsmodul bereitgestellten Verschaltungen der Eingangssignale zu Ausgangssignalen. Zum Verschalten von Ursachen mit Wirkungen im Verschaltungsmodul werden eine Reihe von Operatoren zur Verfügung gestellt. Die Verwendung dieser Operatoren bedingt einen Satz syntaktischer Regeln zum korrekten Programmieren einer sicherheitsgerichteten Softwareapplikation. Die Verschaltung erfolgt unter Verwendung dieses definierten Programmierschema-internen Regelwerkes, wobei die korrekte Verwendung der Operatoren überprüft wird. Eine Programmierung einer sicherheitsgerichteten Softwareapplikation mit einem syntaktisch fehlerhaft verschalteten Programmierschema ist mit anderen Worten ausgeschlossen.
  • Gemäß einer weiteren Ausführungsform der Erfindung ist das erfindungsgemäße Verfahren gekennzeichnet durch ein systemimmanentes sicheres Einführen von nicht-sicherheitsgerichteten Signalen in das Programmierschema und eine systemimmanente Überprüfung der sicheren Verarbeitung von nicht-sicherheitsgerichteten Signalen in dem Programmierschema. Anders ausgedrückt können mit der vorliegenden Erfindung auch nicht-sicherheitsgerichtete Signale auf einfache Art und Weise in das Programmierschema eingeführt werden, ohne daß dadurch die Systemsicherheit gefährdet wird. Dies wird vorzugsweise durch die Anwendung eines Zustimmungsprinzips erreicht derart, daß ein derartiges nicht-sicherheitsgerichtetes Signal stets von einem sicherheitsgerichteten Signal freigegeben werden muß, bevor es in das Wirkungsmodul überführt wird. Mit dem erfindungsgemäßen Programmiersystem können somit sowohl sicherheitsgerichtete, als auch nicht-sicherheitsgerichtete Anforderungen an eine Automationslösung programmiert werden. Potentielle Programmierfehler in der Schnittstelle zwischen sicherheitsgerichteter und nicht-sicherheitsgerichteter Softwareapplikation werden von vornherein verhindert und damit die Qualität der resultierenden sicherheitsgerichteten Softwareapplikation erhöht.
  • Das erfindungsgemäße Programmiersystem ist gemäß einer Ausführungsform der Erfindung dadurch gekennzeichnet, daß die sicherheitsgerichteten Programmiersystemkomponente in eine Standardprogrammiersystemkomponente des Programmiersystems eingebettet ist bzw. mit dieser zusammenwirkt. Mit anderen Worten ist die Erfindung vorzugsweise wie folgt implementiert: Die sicherheitsgerichtete Programmiersystemkomponente ist als Subsystem einer Standardprogrammiersystemkomponente, beispielsweise einer nicht-sicherheitsbasierten IEC61131-basierten Komponente verwirklicht. Als Teil der sicherheitsgerichteten Programmiersystemkomponente wird einem Anwender (Programmierer) ein Programmierwerkzeug zur Verfügung gestellt. Dieses Programmierwerkzeug bietet dem Anwender ein vorzugsweise in einer Matrixstruktur realisiertes Programmierschema an, das die drei Verarbeitungsstufen Ursache, Verschaltung und Wirkung aufweist. Das Programmierwerkzeug mit seinem Programmierschema erfüllt den gleichen Zweck, wie ein Editor zum Schreiben von Quelltexten, welche anschließend in prozessorlesbaren Maschinencode übersetzt werden. Analog wird im vorliegenden Fall das von dem Anwender mit entsprechenden Informationen, wie beispielsweise Eingangswerten, Funktionen und Ausgangswerten, versehene Programmierschema anschließend übersetzt, beispielsweise mit Hilfe eines Compilers. Abschließend wird die sich dadurch ergebende sicherheitsgerichtete Softwareapplikation einem Laufzeitsystem übergeben.
  • Ein Ausführungsbeispiel der Erfindung wird nachfolgend anhand der Zeichnungen näher erläutert. Hierbei zeigt:
  • 1 ein erfindungsgemäßes Programmiersystem,
  • 2 den Datenfluß von sicherheitsgerichteten Signalen auf Applikationsebene durch die Ursachen/Wirkungs-Matrix,
  • 3 die Eigenschaften der Ursachen/Wirkungs-Matrix,
  • 4 die Eigenschaften eines Ursachenmoduls,
  • 5 die Eigenschaften eines Wirkungsmoduls,
  • 6 Belegung einer Ursachen/Wirkungs-Matrix „Walze mit Lichtvorhang",
  • 7 Belegung einer Ursachen/Wirkungs-Matrix „Not-Aus für Presse",
  • 8 eine Vorverarbeitungsfunktion „SF 2HandControl",
  • 9 eine Nachverarbeitungsfunktion „SF Press",
  • 10 eine Verknüpfung von Signalen im Ursachenbereich,
  • 11 eine Verknüpfung von Signalen im Wirkungsbereich,
  • 12 fehlerhafte Verschaltungen in einer Ursachen/Wirkungs-Matrix „Not-Aus für Presse" und einer Ursachen/Wirkungs-Matrix „Walze mit Lichtvorhang",
  • 13 eine Auflistung der anwendbaren Regeln.
  • Sämtliche Figuren zeigen die Erfindung lediglich schematisch und/oder mit ihren wesentlichen Bestandteilen.
  • Das erfindungsgemäße sicherheitsgerichtete Ursachen/Wirkungs-basierte Programmiersystem 100 ist für den Einsatz in der Automatisierungstechnik entwickelt worden und baut auf dem OpenPCS-Produkt der Patentanmelderin auf. OpenPCS ist ein IEC61131-basiertes Programmiersystem für die Automatisierungstechnik. Mit ihm werden sicherheitsgerichtete Applikationen für Automationslösungen mit sicherheitsgerichteten Anforderungen entwickelt. Wie in 1 dargestellt, umfaßt das Programmiersystem 100 eine sicherheitsgerichtete Ursachen/Wirkungs-basierte Programmiersystemkomponente 101 und eine nicht-sicherheitsgerichtete IEC 61131-basierte Programmiersystemkomponente, wobei letztere nachfolgend als Standardprogrammiersystemkomponente 102 bezeichnet wird. Die sicherheitsgerichtete Programmiersystemkomponente 101 ist als Subsystem in die Standardprogrammiersystemkomponente 102 des Programmiersystems 100 eingebettet und wirkt mit dieser zusammen.
  • In einem typischen Entwicklungszyklus erstellt ein Programmierer eine sicherheitsgerichtete Softwareapplikation in dem Programmiersystem 100 an einer Programmierstation 103. Danach lädt er die erstellte sicherheitsgerichtete Softwareapplikation auf das sicherheitsgerichtete Zielsystem 104 herunter und nimmt die sicherheitsgerichtete Softwareapplikation in Betrieb. Das Zielsystem 104 ist Teil der Automationslösung mit sicherheitsgerichteten Anforderungen.
  • Sowohl das Programmiersystem 100 auf der Programmierstation 103 als auch das Laufzeitsystem auf dem Zielsystem 104 ist dabei durchgängig zweigeteilt aufgebaut derart, daß jeweils eine sicherheitsgerichtete Komponente und ein nicht-sicherheitsgerichtete Komponente existiert. Dabei ist den sicherheitsgerichteten Komponenten 101, 106 von Programmiersystem 100 und Laufzeitsystem der sicherheitsgerichtete Teil 105 der Softwareapplikation zugeordnet, während den nicht-sicherheitsgerichteten Komponenten 102, 107 von Programmiersystem 100 und Laufzeitsystem der nicht-sicherheitsgerichtete Teil 108 der Softwareapplikation zugeordnet ist. Zwischen der sicherheitsgerichteten Komponente 106 des Laufzeitsystems 105 und der nicht-sicherheitsgerichteten Komponente 107 des Laufzeitsystems 105 findet eine Synchronisation statt.
  • Die sicherheitsgerichteten Programmiersystemkomponente 101 stellt ein Ursachen/Wirkungs-basiertes Programmierschema bereit, das nach Art einer Matrix strukturiert ist. Nachfolgend wird daher das Programmierschema als Ursachen/Wirkungs-Matrix 200 bezeichnet, vgl. 2. Erfindungsgemäß wird die sicherheitsgerichtete Softwareapplikation in dieser Ursachen/Wirkungs-Matrix 200 programmiert, die zu diesem Zweck eine Vorverarbeitung von sicherheitsgerichteten Ursachen, eine Verschaltung von Ursachen auf Wirkungen und eine Nachverarbeitung von sicherheitsgerichteten Wirkungen bereitstellt, wie nachfolgend erläutert wird.
  • Sicherheitsgerichtete Eingangssignale 201 werden aus der Peripherie 300 in den Ursachenbereich 210 der Ursachen/Wirkungs-Matrix 200 eingeführt. Beispielsweise erfolgt die Zuführung von Eingangssignalen 201 über ein Feldbussystem von Sensoren des Automatisierungssystems. Die Funktionalität des Ursachenbereiches 210 wird durch ein entsprechend angepaßtes Softwaremodul (Ursachenmodul 211) realisiert, das Teil der sicherheitsgerichteten Programmiersystemkomponente 101 ist. Im Ursachenbereich 210 findet eine Vorverarbeitung der Eingangssignale 201 statt. Die so vorverarbeiteten Signale werden in den Verschaltungsbereich 220 der Ursachen/Wirkungs-Matrix 200 geführt, wo die eigentliche Logik der sicherheitsgerichteten Softwareapplikation verschaltet wird. Die Funktionalität des Verschaltungsbereiches 220 wird ebenfalls durch ein entsprechend angepaßtes Softwaremodul (Verschaltungsmodul 221) realisiert, das Teil der sicherheitsgerichteten Programmiersystemkomponente 101 ist. Die Ergebnissignale aus dem Verschaltungsbereich 220 werden in den Wirkungsbereich 230 eingeführt. Die Funktionalität des Wirkungsbereiches 230 wird ebenfalls durch ein entsprechend angepaßtes Softwaremodul (Wirkungsmodul 231) realisiert, das Teil der sicherheitsgerichteten Programmiersystemkomponente 101 ist. In dem Wirkungsbereich 230 findet eine Nachverarbeitung der bis dahin berechneten Signale statt. Die so nachverarbeiteten Ausgangssignale 202 verlassen die Ursachen/Wirkungs-Matrix 200 in die Peripherie 300. Beispielsweise werden die Ausgangssignale 202 ebenfalls über ein Feldbussystem an einzelne Automatisierungskomponenten weitergegeben. Einzelheiten zu diesem an dieser Stelle in einem Überblick angegebenen Verfahren sind weiter unten beschrieben.
  • Die Ursachen/Wirkungs-Matrix 200 selbst ist als Softwaremodul der sicherheitsgerichteten Programmiersystemkomponente 101 realisiert. Sie stellt dem Programmierer die drei Eigenschaften „Ursache", „Verschaltung" und „Wirkung" zur Verfügung, mit denen dieser eine sicherheitsgerichtete Softwareapplikation programmieren kann, vgl. 3.
  • Mit „Ursache" werden dabei sicherheitsgerichtete Eingangssignale 201 beschrieben, die durch eine Vorverarbeitung im Ursachenbereich 210 zu einem einzigen sicherheitsgerichteten Signal verarbeitet werden, welches zur weiteren Verarbeitung in den Verschaltungsbereich 220 eingeführt wird. Der Eigenschaft „Ursache" ist die Kardinalität „n" zugewiesen, d.h. diese Eigenschaft kann in einer Zeile der Ursachen/Wirkungs-Matrix 200 „n" mal verwendet werden.
  • Mit „Verschaltung" wird die Art der Verschaltung von Ursachen mit Wirkungen im Verschaltungsbereich 220 beschrieben. Der Eigenschaft „Verschaltung" ist die Kardinalität „p" zugewiesen.
  • Mit „Wirkung" werden aus dem Verschaltungsbereich 220 stammende sicherheitsgerichtete Signale beschrieben, die durch eine Nachverarbeitung zu einem einzigen sicherheitsgerichteten Ausgangssignal 202 verarbeitet werden. Der Eigenschaft „Wirkung" ist die Kardinalität „m" zugewiesen, d.h. diese Eigenschaft kann in einer Spalte der Ursachen/Wirkungs-Matrix 200 „m" mal verwendet werden.
  • Darüber hinaus werden durch das Softwaremodul Ursachen/Wirkungs-Matrix 200 eine Anzahl weiterer Funktionalitäten realisiert, so u.a. hinsichtlich Persistenz, Konsistenzprüfung und Dokumentation der resultierenden sicherheitsgerichteten Softwareapplikation.
  • Nachfolgend werden die als Softwaremodule implementierten Komponenten der Ursachen/Wirkungs-Matrix 200, nämlich Ursachenmodul 211, Verschaltungsmodul 221 und Wirkungsmodul 231, näher erläutert.
  • Das Ursachenmodul 211 stellt dem Programmierer die folgenden fünf Eigenschaften zur Verfügung, mit denen die Vorverarbeitung von sicherheitsgerichteten Signalen gesteuert werden kann: „Name", „sicherheitsgerichtete Eingangssignale", „sicherheitsgerichtete Funktion", „Standard-Eingangssignal" und „Negation", vgl. 4.
  • Mit der Eigenschaft „Name" wird die Ursache innerhalb der Ursachen/Wirkungs-Matrix 200 eindeutig identifiziert. Der Eigenschaft „Name" ist die Kardinalität „1" zugewiesen.
  • Mit der Eigenschaft „sicherheitsgerichtete Eingangssignale" wird die Menge der sicherheitsgerichteten Eingangssignale 201 beschrieben, die in dem Ursachenbereich 210 vorverarbeitet werden soll. Anders ausgedrückt wird aus einer Mehrzahl sicherheitsgerichteter Eingangssignale 201 durch die Vorverarbeitung ein einziges Signal erstellt. Dies geschieht insbesondere durch eine Verschaltung der Eingangssignale, wie weiter unten näher erläutert. Der Eigenschaft „sicherheitsgerichtete Eingangssignale" ist die Kardinalität „n, mindestens 1" zugewiesen.
  • Mit der Eigenschaft „sicherheitsgerichtete Funktion" wird eine sicherheitsgerichtete Funktion beschrieben, welche die sicherheitsgerichteten Eingangssignale 201 zu genau einem sicherheitsgerichteten Signal vorverarbeitet. Der Eigenschaft „sicherheitsgerichtete Funktion" ist die Kardinalität „1" zugewiesen.
  • Mit der Eigenschaft „Standard-Eingangssignal" wird ein optionales nicht-sicherheitsgerichtetes Signal 205 beschrieben, welches auf sichere Art und Weise in den Verschaltungsbereich 210 eingeführt wird. Der Eigenschaft „Standard-Eingangssignal" ist die Kardinalität „0" oder „1" zugewiesen.
  • Mit der Eigenschaft „Negation" wird eine optionale Negierung des vorverarbeiteten Signals beschrieben. Der Eigenschaft „Negation" ist ebenfalls die Kardinalität „0" oder „1" zugewiesen.
  • Das Verschaltungsmodul 221 stellt dem Programmierer die folgenden drei Eigenschaften zur Verfügung, mit denen Signale aus dem Ursachenbereich 210 innerhalb des Verschaltungsbereiches 220 der Ursachen/Wirkungs-Matrix 200 zu Signalen für den Wirkungsbereich 230 verschaltet werden: die „Verschaltung ZUWEISUNG", die „Verschaltung SET" und die „Verschaltung RESET".
  • Mit der Eigenschaft „Verschaltung ZUWEISUNG" wird das Zuweisen eines Signals aus dem Ursachenbereich 210 derselben Zeile in den Wirkungsbereich 230 derselben Spalte beschrieben.
  • Mit der Eigenschaft „Verschaltung SET" wird das Einrasten der fallenden Flanke eines Signals aus dem Ursachenbereich 210 derselben Zeile in den Wirkungsbereich 230 derselben Spalte beschrieben.
  • Mit der Eigenschaft „Verschaltung RESET" wird das Aufheben des Einrastens bei steigender Flanke eines Signals aus dem Ursachenbereich 210 derselben Zeile in den Wirkungsbereich 230 derselben Spalte beschrieben.
  • Das Wirkungsmodul 230 stellt dem Programmierer die folgenden sechs Eigenschaften zur Verfügung, mit denen die Nachverarbeitung von sicherheitsgerichteten Signalen gesteuert werden kann: „Name", „sicherheitsgerichtete Ausgangssignal", „Verknüpfungsart", „sicherheitsgerichtete Funktion", „Betriebsart" und „Negation", vgl. 5.
  • Mit der Eigenschaft „Name" wird die Wirkung innerhalb der Ursachen/Wirkungs-Matrix 200 eindeutig identifiziert. Der Eigenschaft „Name" ist die Kardinalität „1" zugewiesen.
  • Mit der Eigenschaft „sicherheitsgerichtetes Ausgangssignal" wird das sicherheitsgerichtete Ausgangssignal 202 beschrieben, das in dem Wirkungsbereich 230 im Rahmen der Nachverarbeitung berechnet wird. Weitere Details hierzu sind weiter unten beschrieben. Der Eigenschaft „sicherheitsgerichtetes Ausgangssignal" ist die Kardinalität „1" zugewiesen.
  • Mit der Eigenschaft „Verknüpfungsart" wird optional die Art der Verknüpfung der aus dem Verschaltungsbereich 220 in den Wirkungsbereich 230 eingeführten Signale beschrieben, sofern mehrere solcher Signale gleichzeitig dem Wirkungsbereich 230 zugewiesen werden. Der Eigenschaft „Verknüpfung" ist die Kardinalität „1" oder „0" zugewiesen.
  • Mit der Eigenschaft „sicherheitsgerichtete Funktion" wird eine sicherheitsgerichtete Funktion beschrieben, welche die aus dem Verschaltungsbereich 220 stammenden sicherheitsgerichteten Signale zu genau einem sicherheitsgerichteten Ausgangssignal 202 nachverarbeitet. Der Eigenschaft „sicherheitsgerichtete Funktion" ist die Kardinalität „1" zugewiesen.
  • Optional werden mit der Eigenschaft „Betriebsart" sicherheitsgerichtete Eingangssignale beschrieben, welche die Betriebsart (z.B. Automatik, Manuell, Wartung) steuert. Dabei kann nur jeweils eines dieser Eingangssignale aktiv sein. Der Eigenschaft „Betriebsart" ist die Kardinalität „0" oder „1" zugewiesen.
  • Mit der Eigenschaft „Negation" wird eine optionale Negierung des nachverarbeiteten Signals beschrieben. Der Eigenschaft „Negation" ist ebenfalls die Kardinalität „0" oder „1" zugewiesen.
  • Die Funktionsweise der Ursachen/Wirkungs-Matrix 200 wird nachfolgend anhand zweier einfacher Anwendungsbeispiele, nämlich „Walze mit Lichtvorhang" und „Not-Aus für Presse" erläutert.
  • Ziel der ersten sicherheitsgerichteten Softwareapplikation „Walze mit Lichtvorhang" ist es, eine Walze mit einem Lichtvorhang zu schützen. Sobald ein sich vor der Walze angeordneter Lichtvorhang unterbrochen wird, soll die Walze anhalten, weil die Gefahr besteht, daß sonst ein Mensch zu Schaden kommt. Diese sicherheitsgerichtete Softwareapplikation wird erfindungsgemäß mit Hilfe einer Ursachen/Wirkungs-Matrix 270 verwirklicht, wie sie in 6 dargestellt ist.
  • Die Ursache mit dem Namen „Lichtvorhang" ist im Verschaltungsbereich 220 mit einer Verschaltung ZUWEISUNG (abgekürzt mit dem Buchstaben „X") der Wirkung mit dem Namen „Walze" zugeordnet. Im einzelnen bedeutet dies: In dem Ursachenmodul 211 wird ein sicherheitsgerichtete Eingangssignal 201 STATUS_LICHTVORHANG mit einer sicherheitsgerichteten Vorverarbeitungsfunktion SF_MUTING verarbeitet. Das sich ergebende Signal wird in das Verschaltungsmodul 221 eingeführt. Im Verschaltungsmodul 221 wird die Ursache „Lichtvorhang" auf die Wirkung „Walze" zugewiesen. Anschließend wird im Wirkungsmodul 231 das aus dem Verschaltungsmodul 221 empfangene Signal mit Hilfe einer sicherheitsgerichteten Nachverarbeitungsfunktion SF_ROLLER zu einem sicherheitsgerichteten Ausgangssignal 202 ROLLER_RELEASED verarbeitet. Dieses Ausgangssignal 202 wird an die Walzensteuerung übertragen. Die Walze schaltet ab.
  • Ziel der zweiten sicherheitsgerichteten Softwareapplikation „Not-Aus für Presse" ist es, eine Presse mit einer Not-Aus-Steuerung zu versehen. Sobald der Not-Aus-Schalter gedrückt wird, soll die Presse anhalten, weil die Gefahr besteht, daß sonst ein Mensch zu Schaden kommt. Die Presse darf erst dann wieder benutzt werden, wenn ein Quittierungsschalter gedrückt wurde. Diese sicherheitsgerichtete Softwareapplikation wird erfindungsgemäß mit Hilfe einer Ursachen/Wirkungs-Matrix 280 verwirklicht, wie sie in 7 dargestellt ist.
  • Die Ursache mit dem Namen NOTAUS ist im Verschaltungsbereich mit einer Verschaltung SET (abgekürzt mit dem Buchstaben „S") der Wirkung mit dem Namen PRESSE zugeordnet. Im einzelnen bedeutet dies: In dem Ursachenmodul 211 wird ein sicherheitsgerichtetes Eingangssignal 201 NOTAUS_IN mit einer sicherheitsgerichteten Vorverarbeitungsfunktion SF_EMERGENCYSTOP verarbeitet. Das sich ergebende Signal wird in das Verschaltungsmodul 221 eingeführt. Im Verschaltungsmodul 221 wird die Ursache NOTAUS auf die Wirkung PRESSE zugewiesen. Anders ausgedrückt erfolgt ein „Einrasten" der Ursache NOTAUS auf die Wirkung PRESSE. Anschließend wird im Wirkungsmodul 231 das aus dem Verschaltungsmodul 221 empfangene Signal mit Hilfe einer sicherheitsgerichteten Nachverarbeitungsfunktion SF_PRESS zu einem sicherheitsgerichteten Ausgangssignal 202 PRESS_RELEASED verarbeitet. Dieses Ausgangssignal 202 wird an die Pressensteuerung übertragen. Die Presse wird abgeschaltet.
  • Die zweite Ursache mit dem Namen QUITTIERUNG ist im Verschaltungsbereich 220 mit einer Verschaltung RESET (abgekürzt mit dem Buchstaben „R") der Wirkung mit dem Namen PRESSE zugeordnet. Im einzelnen bedeutet dies: In dem Ursachenmodul 211 wird ein sicherheitsgerichtete Eingangssignal 201 QUIT_IN mit einer sicherheitsgerichteten Vorverarbeitungsfunktion SF_REFERENCE verarbeitet. Das sich ergebende Signal wird in das Verschaltungsmodul 221 eingeführt. Im Verschaltungsmodul 221 wird die Ursache QUITTIERUNG auf die Wirkung PRESSE zugewiesen. Anders ausgedrückt erfolgt ein Aufheben des „Einrastens" der Ursache NOTAUS auf die Wirkung PRESSE. Anschließend wird im Wirkungsmodul 231 das aus dem Verschaltungsmodul 221 empfangene Signal mit Hilfe der bereits bekannten sicherheitsgerichteten Nachverarbeitungsfunktion SF_PRESS zu dem sicherheitsgerichteten Ausgangssignal 202 PRESS_RELEASES verarbeitet. Dieses Ausgangssignal 202 wird an die Pressensteuerung übertragen. Die Presse wird wieder eingeschaltet.
  • Im Ergebnis bedeutet das: Falls der Not-Aus-Schalter der Presse gedrückt wird, wird eine fallende Signalflanke empfangen, beispielhaft ausgedrückt von „1" auf „0". Der Zustand des logischen „0" ist gleichbedeutend mit dem Abschalten der Presse. Durch das „Einrasten" bleibt dieser Zustand auch dann noch erhalten, wenn der Not-Aus-Schalter entriegelt wird und infolgedessen wieder eine steigende Signalflanke anliegt. Das von dem Ursachenbereich 210 in den Verschaltungsbereich 220 übergebene Signal bleibt trotz der steigenden Flanke „0", und zwar so lange, bis eine Quittierung und damit ein RESET erfolgt.
  • Nachfolgend werden die mit dem Ursachenbereich 210 (Vorverarbeitungsbereich) und in dem Wirkungsbereich 230 (Nachverarbeitungsbereich) realisierten Abläufe anhand von Beispielen näher erläutert.
  • Ein Beispiel für eine konkrete Vorverarbeitungsfunktion ist in 8 dargestellt. Es handelt sich dabei um die sicherheitsgerichtete Vorverarbeitungsfunktion 214 SF_2HANDCONTROL, die ein sicherheitsgerichtete Ausgangssignal 215 S_OUT an ihrem Ausgang erzeugt, wenn die Eingangssignale 216, 217 S_IN1 und S_IN2 beide anliegen und die steigenden Flanken dieser Signale innerhalb der in dem weiteren Eingangssignal 218 TIME spezifizierten Diskrepanzzeit erkannt wurden. Mit anderen Worten wird damit eine sogenannte Zweihandbedienung beschrieben. S_IN1 bezeichnet dabei ein Signal 216 eines ersten Tasters der Zweihandbedienung und S_IN2 bezeichnet ein Signal 217 eines zweiten Tasters der Zweihandbedienung. Der Wert TIME gibt die maximal akzeptierbare Diskrepanzzeit 218 zwischen den Signalen S_IN1 und S_IN2 an. Dieser Wert ist vorzugsweise konstant und in dem Ursachenmodul 211 abgelegt. Mit S_OUT ist das Freigabesignal 215 der Zweihandbedienung bezeichnet.
  • Ein Beispiel für eine konkrete Nachverarbeitungsfunktion ist in 9 dargestellt. Es handelt sich dabei um die sicherheitsgerichtete Nachverarbeitungsfunktion 224 SF_PRESS, die ein sicherheitsgerichtete Signal 225 S_OUT an ihrem Ausgang erzeugt, wenn entweder das Eingangssignal 226 S_DOWN anliegt oder die Eingangssignale 227, 228 S_IN und S_UP gleichzeitig anliegen. Mit anderen Worten wird damit eine Pressensteuerung beschrieben. S_IN bezeichnet dabei ein Eingangssignal 227 „Pressen!". S_DOWN bezeichnet ein Eingangssignal 226 bei einer unteren Lage des Pressenstempels und S_UP bezeichnet ein Eingangssignal 228 bei einer oberen Lage des Pressenstempels. Mit S_OUT ist das Freigabesignal 225 der Pressensteuerung bezeichnet.
  • Nachfolgend werden die mit dem Vorverarbeitungsbereich und in dem Nachverarbeitungsbereich realisierten Abläufe schematisch erläutert.
  • 10 zeigt die Verknüpfung von Signalen bei einer Vorverarbeitung von Eingangssignalen 201 im Ursachenbereich 210, siehe hierzu auch die Auflistung in 4. Sicherheitsgerichtete Eingangssignale IN1, IN2, ... werden in eine erste Vorverarbeitungskomponente 251 des Ursachenmoduls 211 eingebracht. Bei diesen sicherheitsgerichteten Eingangssignalen handelt es sich beispielsweise um Daten der sicherheitsgerichteten Datentypen „SafeBoole" (Boolscher Datentyp) oder „Constant" (Constant Integer). Letzterer könnte beispielsweise für das Zeitsignal 218 TIME verwendet werden. Bei der ersten Vorverarbeitungskomponente 251 handelt es sich um eine sicherheitsgerichtete Funktion der Vorverarbeitung, wie beispielsweise die Vorverarbeitungsfunktion 214. Als Ergebnis der sicherheitsgerichteten Vorverarbeitungsfunktion wird aus der ersten Vorverarbeitungskomponente 251 ein Signal vom Typ „SafeBool" ausgegeben, das anschließend in einer zweiten Vorverarbeitungskomponente 252 mit einem nicht-sicherheitsgerichteten Eingangssignal STANDARD-IN vom Typ „Bool" verbunden wird. Mit der zweiten Vorverarbeitungskomponente 252 wird eine logische UND-Verknüpfung realisiert. Das sich ergebende sicherheitsgerichtete Signal vom Typ „SafeBool" wird anschließend in einer dritten Vorverarbeitungskomponente 253 in Abhängigkeit von dem Wert des weiteren Eingangssignals NEGATE vom Typ „SafeBool" negiert oder nicht. Das sich nun ergebende Endsignal ist das Signal, welches von dem Ursachenmodul 211 in das Verschaltungsmodul 221 überführt wird.
  • 11 zeigt die Verknüpfung von Signalen bei einer Nachverarbeitung von Ausgangssignalen im Wirkungsbereich 230, siehe hierzu auch die Auflistung in 5. Dabei werden die Zuweisungssignale X1, X2, ... vom Typ „SafeBool" aus dem Verschaltungsbereich 220 in eine erste Nachverarbeitungskomponente 261 des Wirkungsmoduls 231 eingeführt und dort mit Hilfe eines logischen AND oder OR verknüpft. Darüber hinaus werden Wirkungssignale SET1, SET2, ... vom Typ „SafeBool" aus dem Verschaltungsbereich 220 in eine zweite Nachverarbeitungskomponente 262 eingeführt und dort mit Hilfe eines logischen OR verknüpft. Das Ergebnissignal der zweiten Nachverarbeitungskomponente 262 wird gemeinsam mit dem Wirkungssignal RESET vom Typ „SafeBool" aus dem Verschaltungsbereich 220 in eine dritte Nachverarbeitungskomponente 263 eingeführt, die einen SET-RESET-Flipflop verwirklicht. Das Ergebnissignal der dritten Nachverarbeitungskomponente 263 wird gemeinsam mit den Ergebnissignalen der ersten Nachverarbeitungskomponente 261 und der zweiten Nachverarbeitungskomponente 262 in eine vierte Nachverarbeitungskomponente 264 eingeführt, die eine „Select One Out Of Two"-Funktion realisiert. Das Ergebnissignal der vierten Nachverarbeitungskomponente 264 wird zusammen mit einem Betriebssystem-Signal vom Typ „SafeBool" in einer fünften Nachverarbeitungskomponente 265 mit einer logischen UND-Verknüpfung verbunden. Das Ergebnissignal dieser fünften Nachverarbeitungskomponente 265 wird mit sicherheitsgerichteten Eingangssignale IN1, IN2, ... vom Typ „SafeBool" oder „ConstInt" in einer sechsten Nachverarbeitungskomponente 266 zusammengeführt, die eine sicherheitsgerichtete Funktion der Nachverarbeitung realisiert. Das Ergebnissignal der sechsten Nachverarbeitungskomponente 266 wird abschließend in einer siebenten Vorverarbeitungskomponente 267 in Abhängigkeit von dem Wert des weiteren Eingangssignals NEGATE vom Typ „SafeBool" negiert oder nicht. Das sich nun ergebende Endsignal ist das Signal, welches von dem Wirkungsmodul 230 an die Peripherie 300 abgegeben wird. Sämtliche Ergebnissignale der Nachverarbeitungskomponenten 261, ..., 267, einschließlich des Endsignals, sind dabei vom sicherheitsgerichteten Typ „SafeBool".
  • Nachfolgend wird die strikte Trennung von sicherheitsgerichteten Funktionen in Vorverarbeitung und Nachverarbeitung erläutert.
  • Die sicherheitsgerichteten Funktionen der Vorverarbeitung modellieren sicherheitsgerichtete Sensoren der sicherheitsgerichteten Automatisierungstechnik wie z.B. Lichtvorhang, Zweihandsteuerung oder Sicherheitstürüberwachung. Die sicherheitsgerichtete Programmiersystemkomponente 101 überprüft deren ausschließliche Verwendung zur Vorverarbeitung von sicherheitsgerichteten Eingangssignalen 201 in dem Ursachenbereich 210 der Ursachen/Wirkungs-Matrix 200. Die Implementierung der sicherheitsgerichteten Programmiersystemkomponente 101 schließt eine Verwendung dieser sicherheitsgerichteten Funktionen in dem Wirkungsbereich 230 (Nachverarbeitung) aus. Aufgrund des Aufbaus der sicherheitsgerichteten Programmiersystemkomponente 101 ist diese Überprüfung systemimmanent.
  • Die sicherheitsgerichteten Funktionen der Nachverarbeitung modellieren sicherheitsgerichtete Aktoren der sicherheitsgerichteten Automatisierungstechnik wie z.B. Presse, Stanze oder Maschinenschere. Die sicherheitsgerichtete Programmiersystemkomponente 101 überprüft deren ausschließliche Verwendung zur Nachverarbeitung von sicherheitsgerichteten Ausgangssignalen in dem Wirkungsbereich 230 der Ursachen/Wirkungs-Matrix 200. Die Implementierung der sicherheitsgerichteten Programmiersystemkomponente 101 schließt eine Verwendung dieser sicherheitsgerichteten Funktionen in dem Ursachenbereich 210 (Vorverarbeitung) aus. Aufgrund des Aufbaus der sicherheitsgerichteten Programmiersystemkomponente 101 ist diese Überprüfung systemimmanent.
  • Die Überprüfung von Vollständigkeit und Disjunktheit der sicherheitsgerichteten komplexen Funktionen zur Vorverarbeitung und Nachverarbeitung von sicherheitsgerichteten Signalen in der Ursachen/Wirkungs-Matrix 200 erfolgt anhand der nachfolgend aufgezeigten Regeln für die Vollständigkeit: F(sF) = V(sVF) ∪ N(sNF)und für die Disjunktheit: V(sVF) ∩ N(sNF) = ∅, wobei „sF" für „sicherheitsgerichtete Funktionen", „sVF" für „sicherheitsgerichtete Vorverarbeitungsfunktionen" und „sNF" für „sicherheitsgerichtete Nachverarbeitungsfunktionen" steht.
  • Nachfolgend wird die Konsistenzprüfung der Verschaltungen von sicherheitsgerichteten Ursachen und Wirkungen erläutert.
  • Zum Verschalten von Ursachen mit Wirkungen im Verschaltungsbereich 220 der Ursachen/Wirkungs-Matrix 200 stehen die Operatoren ZUWEISUNG, SET und RESET zur Verfügung. Die Verwendung dieser Operatoren bedingt einen Satz von syntaktischen Regeln zum korrekten Programmieren der sicherheitsgerichteten Softwareapplikation analog den Regeln der Verwendung von Operatoren zum korrekten Formulieren von mathematischen Formeln.
  • Die sicherheitsgerichtete Programmiersystemkomponente 101 überprüft die korrekte Verwendung der Operatoren in der Ursachen/Wirkungs-Matrix 200. Die Implementierung der sicherheitsgerichteten Programmiersystemkomponente 101 schließt aus, daß die sicherheitsgerichtete Softwareapplikation mit einer syntaktisch fehlerhaft verschalteten Ursachen/Wirkungs-Matrix programmiert werden kann. Aufgrund des Aufbaus der sicherheitsgerichteten Programmiersystemkomponente 101 ist diese Überprüfung systemimmanent.
  • In der 12 sind zwei Beispiele für unvollständige und damit inkonsistente Verschaltungen angegeben. Bei der Beispielapplikation „Not-Aus für Presse", vgl. 7, wird eine Verschaltung SET ohne ein RESET verwendet. Eine Ansteuerung der Presse kann nicht erfolgen. Bei der Beispielapplikation „Walze mit Lichtvorhang", vgl. 6, ist weder für die Ursache Lichtvorhang noch für die Wirkung Walze eine Verschaltung vorhanden, so daß auch hier keine Ansteuerung erfolgt.
  • In 13 werden die der Funktionsweise der erfindungsgemäßen Ursachen/Wirkungs-Matrix 200 zugrundliegenden syntaktischen Regeln dargestellt. Aufgeführt sind die erlaubten Werte für die drei Verschaltungsarten ZUWEISUNG (X), SET (S) und RESET (R).
  • Eine ZUWEISUNG darf n-mal (n ∊ N0) in einer Zeile (Ursache) des Verschaltungsbereiches verwendet werden. Ein SET darf n-mal in einer Zeile des Verschaltungsbereiches verwendet werden. Ein RESET darf n-mal in einer Zeile des Verschaltungsbereiches verwendet werden.
  • Eine ZUWEISUNG darf n-mal in einer Spalte (Wirkung) des Verschaltungsbereiches verwendet werden. Ein SET darf n-mal in einer Spalte des Verschaltungsbereiches verwendet werden. Bei Vorhandensein mindestens eines SET in einer Spalte muß genau ein RESET in dieser Spalte vorhanden sein. Ein RESET ohne SET ist nicht erlaubt.
  • Sind in dem Wirkungsbereich 230 mehrere Verschaltungsarten in einer Spalte vorgesehen, dann hat die Verschaltung SET Vorrang vor der Verschaltung ZUWEISUNG und die Verschaltung SET hat ebenfalls Vorrang vor der Verschaltung RESET. Weiterhin hat in diesem Fall die Verschaltung RESET Vorrang vor der Verschaltung ZUWEISUNG. In diesem Zusammenhang ist zu beachten, daß nach einem SET ein Zustandsübergang immer nur über ein RESET erfolgen kann, nicht jedoch über ZUWEISUNG.
  • Nach einem SET haben ZUWEISUNGEN erst wieder Wirkung, nachdem ein RESET erfolgt ist.
  • Versuchen mehrere Ursachen auf eine Wirkung zu wirken, sind also in dem Wirkungsbereich 230 mehrere Verschaltungen in einer Spalte möglich, dann wird die Verschaltung ZUWEISUNG mit AND, OR oder MAJORITY ausgewertet. MAJORITY bedeutet, daß die Entscheidung über die anzuwendende Wirkung von der Mehrheit der relevanten Eingangssignale abhängig ist. Welche dieser drei Möglichkeiten verwendet wird, wird für die jeweilige Spalte durch ein weiteres, hier nicht näher beschriebenes Attribut des Wirkungsbereiches definiert. Mehrere Verschaltungen SET werden mit einem OR verknüpft.
  • Nachfolgend wird die sichere Überführung von nicht-sicherheitsgerichteten Eingangssignalen 205 in die Ursachen/Wirkungs-Matrix 200 erläutert.
  • Die Anwendung eines sicherheitsgerichteten Programmiersystems ist immer im Kontext der zu resultierenden Automationslösung zu sehen. Die sicherheitsgerichteten Anforderungen einer Automationslösung treten neben die nicht-sicherheitsgerichteten Anforderungen, die den eigentlichen Zweck der Maschine, Anlage oder dergleichen beschreiben. Für die Programmierung dieser nicht-sicherheitsgerichteten Anforderungen hat sich in der Automatisierungstechnik der Standard IEC61131 durchgesetzt. Der Natur dieser Aufteilung nach besteht an Automatisierungslösungen oft auch die Anforderung, daß nicht-sicherheitsgerichtete Standardsignale sicherheitsgerichtete Funktionen auslösen, z.B. das Pressen einer Presse aufgrund eines Signals aus dem Prozeßleitsystem.
  • Das erfindungsgemäße Programmiersystem 100 stellt sicher, daß nicht-sicherheitsgerichtete Standardsignale 205 aus der Standardprogrammiersystemkomponente 102 des Programmiersystems 100 ausschließlich in den Ursachenbereich 210 der Ursachen/Wirkungs-Matrix 200 eingeführt werden und überprüft, daß ein solches Standardsignal 205 stets von einem sicherheitsgerichteten Signal freigegeben wird (Zustimmungsprinzip), bevor es in den Wirkungsbereich 230 eingeführt wird. Aufgrund des Aufbaus der sicherheitsgerichteten Programmiersystemkomponente 101 ist diese Überprüfung systemimmanent.
  • Die Freigabe eines solchen nicht-sicherheitsgerichteten Standardsignals 205 STANDARD-IN durch eine UND-Verknüpfung mit einem sicherheitsgerichteten Signal durch die Vorverarbeitungskomponente 252 des Ursachenmoduls 211 ist beispielhaft in 10 dargestellt.
  • 100
    Programmiersystem
    101
    Ursachen/Wirkungs-basierte Programmiersystemkomponente
    102
    Standardprogrammiersystemkomponente
    103
    Programmierstation
    104
    Zielsystem
    105
    sicherheitsgerichteter Teil der Softwareapplikation
    106
    sicherheitsgerichtete Laufzeitsystemkomponente
    107
    nicht-sicherheitsgerichtete Laufzeitsystemkomponente
    108
    nicht-sicherheitsgerichteter Teil der Softwareapplikation
    200
    Ursachen/Wirkungs-Matrix
    201
    sicherheitsgerichtetes Eingangssignal
    202
    sicherheitsgerichtetes Ausgangssignal
    205
    nicht-sicherheitsgerichtetes Eingangssignal
    210
    Ursachenbereich
    211
    Ursachenmodul
    214
    Vorverarbeitungsfunktion
    215
    sicherheitsgerichtetes Ausgangssignal
    216
    sicherheitsgerichtetes Eingangssignal
    217
    sicherheitsgerichtetes Eingangssignal
    218
    nicht-sicherheitsgerichtetes Eingangssignal
    220
    Verschaltungsbereich
    221
    Verschaltungsmodul
    224
    Nachverarbeitungsfunktion
    225
    sicherheitsgerichtetes Ausgangssignal
    226
    sicherheitsgerichtetes Eingangssignal
    227
    sicherheitsgerichtetes Eingangssignal
    228
    sicherheitsgerichtetes Eingangssignal
    230
    Wirkungsbereich
    231
    Wirkungsmodul
    251
    erste Vorverarbeitungskomponente
    252
    zweite Vorverarbeitungskomponente
    253
    dritte Vorverarbeitungskomponente
    261
    erste Nachverarbeitungskomponente
    262
    zweite Nachverarbeitungskomponente
    263
    dritte Nachverarbeitungskomponente
    264
    vierte Nachverarbeitungskomponente
    265
    fünfte Nachverarbeitungskomponente
    266
    sechste Nachverarbeitungskomponente
    267
    siebente Nachverarbeitungskomponente
    270
    Matrix „Walze mit Lichtvorhang"
    280
    Matrix „Not-Aus für Presse"
    300
    Peripherie

Claims (13)

  1. Verfahren zur Entwicklung sicherheitsgerichteter Softwareapplikationen, insbesondere für Automationslösungen, unter Verwendung einer sicherheitsgerichteten Programmiersystemkomponente (101), die ein Ursachen/Wirkungs-basiertes Programmierschema (200) bereitstellt.
  2. Verfahren nach Anspruch 1, wobei das Ursachen/Wirkungs-basierte Programmierschema (200) eine Vorverarbeitung von sicherheitsgerichteten Ursachen und eine Nachverarbeitung von sicherheitsgerichteten Wirkungen bereitstellt.
  3. Verfahren nach Anspruch 2, gekennzeichnet durch die Schritte: – Vorverarbeitung von sicherheitsgerichteten Eingangssignalen (201) unter Verwendung sicherheitsgerichteter Funktionen (214) in einem Ursachenmodul (211), – Verschaltung der Eingangssignale zu Ausgangssignalen in einem Verschaltungsmodul (221) und – Nachverarbeitung der Ausgangssignale unter Verwendung sicherheitsgerichteter Funktionen (224) zu sicherheitsgerichteten Ausgangssignalen (202) in einem Wirkungsmodul (231).
  4. Verfahren nach Anspruch 3, gekennzeichnet durch eine systemimmanente Überprüfung der Vollständigkeit und/oder der Disjunktheit der durch das Ursachenmodul (211) bzw. das Wirkungsmodul (231) bereitgestellten sicherheitsgerichteten Funktionen (214, 224) zur Vorverarbeitung und Nachverarbeitung von sicherheitsgerichteten Signalen.
  5. Verfahren nach Anspruch 3 oder 4, gekennzeichnet durch eine systemimmanente Überprüfung der Konsistenz der durch das Verschaltungsmodul (221) bereitgestellten Verschaltungen der Eingangssignale zu Ausgangssignalen.
  6. Verfahren nach einem der Ansprüche 1 bis 5, gekennzeichnet durch ein systemimmanentes sicheres Einführen von nicht-sicherheitsgerichteten Signalen (205) in das Programmierschema (200) und eine systemimmanente Überprüfung der sicheren Verarbeitung von nicht-sicherheitsgerichteten Signalen (205) in dem Programmierschema (200).
  7. Programmiersystem (100) zur Entwicklung sicherheitsgerichteter Softwareapplikationen, insbesondere für Automationslösungen, mit einer sicherheitsgerichteten Programmiersystemkomponente (101), die eine Ursachen/Wirkungs-basiertes Programmierschema (200) bereitstellt.
  8. Programmiersystem (100) nach Anspruch 7, bei dem die sicherheitsgerichtete Programmiersystemkomponente (101) ausgebildet ist zur Vorverarbeitung von sicherheitsgerichteten Ursachen und zur Nachverarbeitung von sicherheitsgerichteten Wirkungen.
  9. Programmiersystem nach Anspruch 7 oder 8, bei dem die sicherheitsgerichteten Programmiersystemkomponente (101) in eine Standardprogrammiersystemkomponente (102) des Programmiersystems (100) eingebettet ist bzw. mit dieser zusammenwirkt.
  10. Verwendung eines Ursachen/Wirkungs-basierten Programmierschemas (200) in einer sicherheitsgerichteten Programmiersystemkomponente (101) eines Programmiersystems (100) zur Entwicklung sicherheitsgerichteter Softwareapplikationen, insbesondere für Automationslösungen.
  11. Verwendung nach Anspruch 10, wobei das Ursachen/Wirkungs-basierte Programmierschema (200) eine Vorverarbeitung von sicherheitsgerichteten Ursachen und eine Nachverarbeitung von sicherheitsgerichteten Wirkungen bereitstellt.
  12. Computerprogramm (100) zur Entwicklung sicherheitsgerichteter Softwareapplikationen, insbesondere für Automationslösungen, mit einer sicherheitsgerichteten Programmiersystemkomponente (101) zugeordneten Computerprogrammanweisungen, die ein Ursachen/Wirkungs-basiertes Programmierschema (200) bereitstellen, wenn das Computerprogramm (100) auf einem Computer (103) ausgeführt wird.
  13. Computerprogramm (100) nach Anspruch 12, mit einer sicherheitsgerichteten Programmiersystemkomponente (101) zugeordneten Computerprogrammanweisungen, die eine Vorverarbeitung von sicherheitsgerichteten Ursachen und eine Nachverarbeitung von sicherheitsgerichteten Wirkungen bereitstellen, wenn das Computerprogramm (100) auf einem Computer (103) ausgeführt wird.
DE200610020478 2006-04-28 2006-04-28 Verfahren zur Entwicklung sicherheitsgerichteter Softwareapplikationen Withdrawn DE102006020478A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200610020478 DE102006020478A1 (de) 2006-04-28 2006-04-28 Verfahren zur Entwicklung sicherheitsgerichteter Softwareapplikationen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200610020478 DE102006020478A1 (de) 2006-04-28 2006-04-28 Verfahren zur Entwicklung sicherheitsgerichteter Softwareapplikationen

Publications (1)

Publication Number Publication Date
DE102006020478A1 true DE102006020478A1 (de) 2007-10-31

Family

ID=38542434

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200610020478 Withdrawn DE102006020478A1 (de) 2006-04-28 2006-04-28 Verfahren zur Entwicklung sicherheitsgerichteter Softwareapplikationen

Country Status (1)

Country Link
DE (1) DE102006020478A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202012000084U1 (de) 2012-01-05 2012-04-02 Dirk Stiebert Sicherheitsgerichtete fehlertolerante Thermoprozesssteuerung
EP4002026A1 (de) * 2020-11-23 2022-05-25 Siemens Aktiengesellschaft Verfahren, programmiersystem und computerprogrammprodukt zur programmierung eines automatisierungssystems mittels einer cause-effect-matrix

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202012000084U1 (de) 2012-01-05 2012-04-02 Dirk Stiebert Sicherheitsgerichtete fehlertolerante Thermoprozesssteuerung
EP4002026A1 (de) * 2020-11-23 2022-05-25 Siemens Aktiengesellschaft Verfahren, programmiersystem und computerprogrammprodukt zur programmierung eines automatisierungssystems mittels einer cause-effect-matrix
WO2022106719A1 (de) * 2020-11-23 2022-05-27 Siemens Aktiengesellschaft Verfahren, programmiersystem und computerprogrammprodukt zur programmierung eines automatisierungssystems mittels einer cause-effect-matrix

Similar Documents

Publication Publication Date Title
EP0742499B1 (de) Sicheres Verarbeiten von sicherheitsgerichteten Prozesssignalen
EP2422271B1 (de) Verfahren und vorrichtung zum erstellen eines anwenderprogramms für eine sicherheitssteuerung
EP2422244B1 (de) Sicherheitssteuerung und verfahren zum steuern einer automatisierten anlage
DE102009011679A1 (de) Verfahren und Vorrichtung zum Erstellen eines Anwenderprogrammes für eine Sicherheitssteuerung
EP3173884A1 (de) Verfahren zum programmieren einer sicherheitssteuerung
EP1589386A1 (de) Prozesssteuerung
EP1887444A1 (de) Prozesssteuerung
EP4235323A2 (de) Verfahren und vorrichtung zur automatischen validierung von sicherheitsfunktionen an einem modular aufgebauten sicherheitssystem
EP2246756B1 (de) Verfahren und Bediengerät zum Bedienen einer sicherheitsgerichteten industriellen Automatisierungskomponente
EP1054309A2 (de) Verfahren und Vorrichtung zur sicheren Übertragung von Datensignalen über ein Bussystem
DE102006012042A1 (de) Steuervorrichtung zur fehlersicheren Steuerung einer Maschine
EP3588271A1 (de) Verfahren und vorrichtung zur konfiguration einer hardwarekomponente
DE102006020478A1 (de) Verfahren zur Entwicklung sicherheitsgerichteter Softwareapplikationen
EP2496993B1 (de) Verfahren zur absicherung von end-user programmänderungen durch formale kontrakte und programmverifikation in der automatisierungstechnik
EP1128241A2 (de) Verfahren und Vorrichtung zur Sicherheitsüberwachung einer Steuereinrichtung
WO2015124320A1 (de) Dynamisches speicherprogrammierbares steuergerät zum emulieren eines steuergerätes
EP1183577B1 (de) Verfahren zur erzeugung eines steuerbausteins und steuerbaustein
DE102005007477B4 (de) Programmierbare Steuerung zur Maschinen-und/oder Anlagenautomatisierung mit Standard-Steuerungs- und Sicherheitsfunktionen und Kommunikation mit einer Sicherheits-EA sowie Verfahren zum Betrieb der programmierbaren Steuerung
DE10213754A1 (de) Sensor-Maschinen-Interface und Verfahren zu dessen Betrieb
WO2002101543A2 (de) Programmierwerkzeug und programmierverfahren
DE102007009141A1 (de) Sicherheitsvorrichtung und Sicherheitsverfahren mit mehreren Verarbeitungsstufen
EP3987365B1 (de) Selbstlernende routine für kompatibilitätsprüfung
EP1226473A2 (de) Zustandssteuerung von technischen systemen
EP1490736A1 (de) Sensor-maschinen schnittstelle und verfahren zu deren betrieb
EP1184760B1 (de) Verfahren zur Steuerung und/oder Regelung eines technischen Prozesses

Legal Events

Date Code Title Description
R081 Change of applicant/patentee

Owner name: INFOTEAM SOFTWARE AG, DE

Free format text: FORMER OWNER: INFOTEAM SOFTWARE GMBH, 91088 BUBENREUTH, DE

Effective date: 20110415

R012 Request for examination validly filed

Effective date: 20121218

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee