DE10108962A1 - Verfahren und Vorrichtung zum Programmieren einer Sicherheitssteuerung - Google Patents

Verfahren und Vorrichtung zum Programmieren einer Sicherheitssteuerung

Info

Publication number
DE10108962A1
DE10108962A1 DE10108962A DE10108962A DE10108962A1 DE 10108962 A1 DE10108962 A1 DE 10108962A1 DE 10108962 A DE10108962 A DE 10108962A DE 10108962 A DE10108962 A DE 10108962A DE 10108962 A1 DE10108962 A1 DE 10108962A1
Authority
DE
Germany
Prior art keywords
program
function
safety controller
program modules
program module
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.)
Ceased
Application number
DE10108962A
Other languages
English (en)
Inventor
Johannes Klopfer
Morteza Rasaei
Richard Veil
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.)
Pilz GmbH and Co KG
Original Assignee
Pilz GmbH and Co KG
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=7675372&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE10108962(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Pilz GmbH and Co KG filed Critical Pilz GmbH and Co KG
Priority to DE10108962A priority Critical patent/DE10108962A1/de
Priority to DE50202276T priority patent/DE50202276D1/de
Priority to JP2002566730A priority patent/JP2004524620A/ja
Priority to EP02716730A priority patent/EP1362269B1/de
Priority to PCT/EP2002/001205 priority patent/WO2002067065A2/de
Priority to AU2002247686A priority patent/AU2002247686A1/en
Priority to AT02716730T priority patent/ATE289428T1/de
Priority to ES02716730T priority patent/ES2236501T3/es
Publication of DE10108962A1 publication Critical patent/DE10108962A1/de
Priority to US10/638,672 priority patent/US7139622B2/en
Ceased 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
    • 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/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13144GUI graphical user interface, icon, function bloc editor, OI operator interface
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23255Object oriented programming, OOP
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23258GUI graphical user interface, icon, function bloc editor, labview
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23291Process, graphic programming of a process, text and images
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32159Each hardware unit together with its software forms one object
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32161Object oriented control, programming
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36025Link, connect icons together to form program
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36174Program divided into modules

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Safety Devices In Control Systems (AREA)
  • Stored Programmes (AREA)
  • Air Bags (AREA)

Abstract

Die vorliegende Erfindung betrifft ein Verfahren zum Programmieren einer Sicherheitssteuerung, mit den Schritten: DOLLAR A - Festlegen von logischen Verknüpfungen zwischen Eingangssignalen der Sicherheitssteuerung und DOLLAR A - Zuordnen von Verknüpfungsprodukten (M4, M5) zu Ausgangssignalen der Sicherheitssteuerung. DOLLAR A Dabei erfolgt das Festlegen der Verknüpfungen und das Zuordnen anhand vordefinierter funktionsspezifischer Programmodule (62-72, 76-80), die aus einer Menge (60) derartiger Programmodule ausgewählt werden. Die Erfindung ist dadurch gekennzeichnet, daß jedes ausgewählte Programmodul (76, 78, 70) eindeutig einer definierten Funktionsgruppe (54, 56, 58) zugeordnet wird, wobei eine erste Funktionsgruppe (54) Programmodule (76) enthält, die Eingangssignale der Sicherheitssteuerung aufnehmen und in Abhängigkeit davon erste Zwischengrößen (M1, M2, M3) bereitstellen, wobei eine zweite Funktionsgruppe (56) Programmodule (78) enthält, die die ersten Zwischengrößen (M1, M2, M3) logisch miteinander verknüpfen und in Abhängigkeit davon zweite Zwischengrößen (M4, M5) bereitstellen, und wobei eine dritte Funktionsgruppe (58) Programmodule (80) enthält, die die zweiten Zwischengrößen (M4, M5) den Ausgangssignalen der Sicherheitssteuerung zuordnen. Die Erfindung betrifft ferner eine entsprechende Vorrichtung sowie entsprechende Computerprogramme.

Description

Die vorliegende Erfindung betrifft ein Verfahren zum Program­ mieren einer Sicherheitssteuerung, mit den Schritten:
  • - Festlegen von logischen Verknüpfungen zwischen Eingangs­ signalen der Sicherheitssteuerung und
  • - Zuordnen von Verknüpfungsprodukten zu Ausgangssignalen der Sicherheitssteuerung,
wobei das Festlegen der Verknüpfungen und das Zuordnen anhand vordefinierter funktionsspezifischer Programmodule erfolgt, die aus einer Menge derartiger Programmodule ausgewählt werden.
Die Erfindung betrifft des weiteren eine Vorrichtung zum Pro­ grammieren einer Sicherheitssteuerung, mit ersten Mitteln zum Auswählen und Parametrieren vordefinierter funktionsspezifi­ scher Programmodule, mit deren Hilfe logische Verknüpfungen zwischen Eingangssignalen der Sicherheitssteuerung festgelegt und Verknüpfungsprodukte zu Ausgangssignalen der Sicherheits­ steuerung zugeordnet werden können.
Ein Verfahren und eine Vorrichtung der genannten Art sind aus der WO 98/44399 bekannt.
Eine Sicherheitssteuerung im Sinne der vorliegenden Erfindung ist ein Gerät oder eine Vorrichtung, das bzw. die von Sensoren gelieferte Eingangssignale aufnimmt und daraus durch logische Verknüpfungen und unter Umständen weitere Signal- oder Daten­ verarbeitungsschritte Ausgangssignale erzeugt. Die Ausgangs­ signale können dann Aktuatoren zugeführt werden, die dann in Abhängigkeit von den Eingangssignalen gezielte Aktionen oder Reaktionen in der Umgebung bewirken. Ein bevorzugtes Anwen­ dungsgebiet für derartige Sicherheitssteuerungen ist im Bereich der Maschinensicherheit die Überwachung von Not-Aus-Tastern, Zwei-Hand-Steuerungen, Schutztüren oder Lichtgittern. Derartige Sensoren werden verwendet, um beispielsweise eine Maschine, von der im Betrieb eine Gefahr für Menschen oder materielle Güter ausgeht, abzusichern. Beim Öffnen der Schutztür oder beim Betä­ tigen des Not-Aus-Tasters wird jeweils ein Signal erzeugt, das der Sicherheitssteuerung als Eingangssignal zugeführt ist. In Reaktion darauf schaltet die Sicherheitssteuerung dann bei­ spielsweise mit Hilfe eines Aktuators den gefahrbringenden Teil der Maschine ab.
Charakteristisch an einer Sicherheitssteuerung ist im Gegensatz zu einer "normalen" Steuerung, daß die Sicherheitssteuerung selbst dann, wenn bei ihr oder einem mit ihr verbundenen Gerät eine Fehlfunktion auftritt, stets einen sicheren Zustand der gefahrbringenden Anlage oder Maschine gewährleisten muß. Daher werden bei Sicherheitssteuerungen extrem hohe Anforderungen an die eigene Fehlersicherheit gestellt, was einen erheblichen Aufwand bei der Entwicklung und Herstellung zur Folge hat. In der Regel benötigen Sicherheitssteuerungen vor ihrer Verwendung eine besondere Zulassung durch zuständige Aufsichtsbehörden, wie beispielsweise in Deutschland durch die Berufsgenossen­ schaften oder den TÜV. Die Sicherheitssteuerung muß dabei vor­ gegebene Sicherheitsstandards einhalten, die beispielsweise in der europäischen Norm EN 954-1 niedergelegt sind. Im folgenden wird daher unter einer Sicherheitssteuerung ein Gerät bzw. eine Vorrichtung verstanden, die zumindest die Sicherheitskategorie 3 der genannten europäischen Norm erfüllt.
Eine programmierbare Sicherheitssteuerung bietet dem Anwender die Möglichkeit, die logischen Verknüpfungen und gegebenenfalls weiteren Signal- oder Datenverarbeitungsschritte mit Hilfe einer Software, dem sogenannten Anwenderprogramm, seinen Be­ dürfnissen entsprechend individuell festzulegen. Daraus resul­ tiert eine große Flexibilität im Vergleich zu früheren Lösun­ gen, bei denen die logischen Verknüpfungen durch eine definier­ te Verdrahtung zwischen verschiedenen Sicherheitsbausteinen er­ zeugt wurden. Ein Problem bei der Programmierung einer Sicher­ heitssteuerung besteht jedoch darin, daß das zu erstellende An­ wenderprogramm selbst ein sicherheitskritisches Element ist, da ein Fehler in dem Anwenderprogramm eine unkontrollierte Situa­ tion und damit einen gefährlichen Zustand bei der überwachten Maschine oder Anlage hervorrufen kann. Hinzu kommt, daß das Anwenderprogramm bei der Überwachung einer großen Maschinenanlage mit vielen Sicherheitseinrichtungen sehr komplex und unüber­ sichtlich werden kann, was die Gewährleistung der erforderli­ chen Fehlersicherheit erheblich erschwert. Dabei können folgen­ schwere Fehler in dem Anwenderprogramm nicht nur durch mensch­ liches Versagen bei der Programmierung, sondern auch durch nicht-fehlersichere Programmierhilfsmittel verursacht werden. Wenn beispielsweise das Anwenderprogramm für die Sicherheits­ steuerung mit Hilfe eines nicht-fehlersicheren, handelsüblichen Personal Computers (PC) erstellt wird, könnten Speicherfehler des PC unbemerkt zu einer folgenschweren Verfälschung des An­ wenderprogramms führen.
In der eingangs genannten WO 98/44399 ist ein Verfahren be­ schrieben, wie mit einem handelsüblichen PC ein sicherheits­ gerichtetes Steuerungssystem, d. h. eine Sicherheitssteuerung, programmiert werden kann. Dazu sind in der Sicherheitssteuerung funktionsspezifische Programmodule in Form von sogenannten Software-Makros abgelegt. Zur Erstellung des Anwenderprogramms erzeugt der Anwender mit Hilfe des PCs Programmodul-Funktions­ aufrufe, die anschließend an die Sicherheitssteuerung übertra­ gen werden. Mit Hilfe der Programmodul-Funktionsaufrufe werden die benötigten Programmodule in der Sicherheitssteuerung aufge­ rufen und zu dem eigentlichen Anwenderprogramm zusammenge­ stellt. Das Programmiergerät, d. h. der PC, dient lediglich da­ zu, die benötigten Programmodule auszuwählen und zusammenzu­ stellen. Die Programmodule selbst können so nicht verändert werden, und somit kann der PC auch keinen Einfluß darauf aus­ üben.
Das bekannte Verfahren vereinfacht die Programmierung einer Si­ cherheitssteuerung. Zudem wird eine gewisse Sicherheit zusätz­ lich dadurch erreicht, daß die an die Sicherheitssteuerung übertragenen Programmodul-Funktionsaufrufe in das Programmier­ gerät zurückgelesen werden und dort vom Anwender rückbestätigt werden müssen. Das bekannte Verfahren ist jedoch im Hinblick auf die Fehlersicherheit beim Erstellen eines Anwenderprogramms noch nicht optimal.
Es ist daher eine Aufgabe der vorliegenden Erfindung, ein Ver­ fahren und eine Vorrichtung der eingangs genannten Art weiter­ zubilden, um eine noch höhere Fehlersicherheit beim Programmie­ ren der Sicherheitssteuerung zu erreichen.
Diese Aufgabe wird bei dem eingangs genannten Verfahren dadurch gelöst, daß jedes ausgewählte Programmodul eindeutig einer de­ finierten Funktionsgruppe zugeordnet wird, wobei eine erste Funktionsgruppe Programmodule enthält, die Eingangssignale der Sicherheitssteuerung aufnehmen und in Abhängigkeit davon erste Zwischengrößen bereitstellen, wobei eine zweite Funktionsgruppe Programmodule enthält, die die ersten Zwischengrößen logisch miteinander verknüpfen und in Abhängigkeit davon zweite Zwi­ schengrößen bereitstellen, und wobei eine dritte Funktions­ gruppe Programmodule enthält, die die zweiten Zwischengrößen den Ausgangssignalen der Sicherheitssteuerung zuordnen.
Die Aufgabe wird bei einer Vorrichtung der eingangs genannten Art dadurch gelöst, daß weitere Mittel vorhanden sind, die ein ausgewähltes Programmodul eindeutig einer entsprechend defi­ nierten Funktionsgruppe zuordnen.
Die hiernach zwingende Zuordnung eines ausgewählten Programmo­ duls zu einer der definierten Funktionsgruppen bewirkt eine sehr übersichtliche und strukturierte Programmierung der Si­ cherheitssteuerung. Dies hat zur Folge, daß Fehlermöglichkeiten beim Programmieren reduziert werden. Bei einer unstrukturierten Programmierung ist es beispielsweise möglich, daß unerkannte Rückwirkungen zwischen verschiedenen Teilen des erzeugten An­ wenderprogramms gebildet werden. Solche Rückwirkungen können zu Laufzeitproblemen oder sogar zu "Schwingungen" führen, die ei­ nen instabilen und gefährlichen Zustand zur Folge haben. Diese Fehlerquellen werden durch die hier vorgeschlagene, erzwungene Strukturierung beim Programmieren erheblich reduziert, wenn nicht gar vollständig vermieden. Des weiteren vereinfacht sich aufgrund der übersichtlichen und einheitlichen Struktur auch eine Plausibilitätsprüfung des erstellten Anwenderprogramms. Bspw. ist nunmehr leichter und damit auch zuverlässiger zu überprüfen, ob ein Programmodul aus der ersten Funktionsgruppe nur über eine eindeutige Zwischengröße einem Logikmodul aus der zweiten Funktionsgruppe zugewiesen ist.
Darüber hinaus läßt sich ein erfindungsgemäß strukturiertes Programm leichter warten, d. h. nachträglich verändern oder er­ weitern, wodurch Fehlerquellen auch bei derartigen Tätigkeiten reduziert sind. Ferner führt die vorgegebene Struktur auch beim Programmieren selbst zu einer größeren Übersichtlichkeit, wo­ durch die Gefahr menschlicher Fehler, wie beispielsweise das Vergessen einzelner erforderlicher Verknüpfungen, ebenfalls re­ duziert wird.
Das Programmieren wird durch die Aufgliederung in die definier­ ten Funktionsgruppen insgesamt übersichtlicher und damit sogar auch komfortabler. Gleichzeitig kann ein großer Vorteil des be­ kannten Verfahrens, daß nämlich der Programmierer beim Erstel­ len des Anwenderprogramms nur noch auf vorgefertigte Programmo­ dule zurückgreift, in vollem Umfang beibehalten werden. Das An­ wenderprogramm wird dabei ausschließlich aus überprüften, feh­ lersicheren Programmodulen zusammengestellt, was Fehlerquellen ebenfalls reduziert.
In einer bevorzugten Ausgestaltung der Erfindung wird jedes Programmodul genau einer von insgesamt drei definierten Funkti­ onsgruppen zugeordnet.
In dieser Ausgestaltung ist die Struktur beim Programmieren in exakt drei Ebenen aufgeteilt. Dies entspricht der natürlichen Grundstruktur der zu erstellenden Anwenderprogramme, bei denen zunächst Eingangssignale aufgenommen werden (erste Ebene), an­ schließend die aufgenommenen Signale verarbeitet werden (zweite Ebene) und schließlich die Verarbeitungsergebnisse nach außen abgegeben werden, um Aktionen auszulösen (dritte Ebene). In dieser Ausgestaltung ist die Programmierstruktur daher optimal an die Gegebenheiten angepaßt und daher besonders einfach und übersichtlich. Die Gefahr von Fehlern beim Programmieren ist daher noch weiter reduziert.
In einer weiteren Ausgestaltung der Erfindung wertet jedes Pro­ grammodul der ersten Funktionsgruppe eine definierte Signal­ quelle fehlersicher aus.
Definierte Signalquellen in diesem Sinne sind beispielsweise Not-Aus-Taster, Schutztüren und jegliche anderen Sensoren, die sicherheitsrelevante Signale liefern. Die Programmodule der ersten Funktionsgruppe werten diese Sensoren eigenständig aus und liefern daher als erste Zwischengröße eine fehlersichere Infor­ mation darüber, in welchem Zustand sich der entsprechende Sen­ sor befindet. Die Maßnahme besitzt den Vorteil, daß die erste Zwischengröße eine "physikalische" Bedeutung besitzt, die für den Programmierer des Anwenderprogramms sehr gut nachvollzieh­ bar ist. Daher wird die Struktur beim Programmieren besonders anschaulich, wodurch Fehlerquellen weiter verringert sind.
In einer weiteren Ausgestaltung der Erfindung wird beim Auswäh­ len eines jeden Programmoduls ein Programmodul-Funktionsaufruf generiert und in einer Ablauftabelle abgespeichert.
Diese Ausgestaltung der Erfindung ermöglicht es, vorbereitete und zertifizierte Programmodule stationär in der Sicherheits­ steuerung abzulegen. Das vom Programmierer mit Hilfe seines Programmiergerätes erstellte Anwenderprogramm kann sich dann auf eine Aneinanderreihung von Programmodul-Funktionsaufrufen beschränken. Ein solches Anwenderprogramm benötigt vergleichs­ weise wenig Speicherplatz und kann somit einfach und schnell an die Sicherheitssteuerung übertragen werden. Es kann auch leich­ ter überprüft werden. Zudem sind die Programmodule als wesent­ liche sicherheitskritische Elemente dem Zugriff des Programmie­ rers entzogen. Insgesamt wird hierdurch sowohl der Komfort als auch die Fehlersicherheit beim Programmieren weiter verbessert.
In einer weiteren Ausgestaltung der zuvor genannten Maßnahme werden die Programmodul-Funktionsaufrufe nach den Funktions­ gruppen getrennt in der Ablauftabelle gespeichert.
Diese Maßnahme besitzt den Vorteil, daß sich die erfindungs­ gemäße Struktur nicht nur beim Programmieren selbst, sondern auch in dem dabei erzeugten Anwenderprogramm niederschlägt. In­ folge dessen beinhaltet das erzeugte Anwenderprogramm selbst weniger Fehlerquellen, wodurch die Fehlersicherheit weiter ver­ bessert ist.
In einer weiteren Ausgestaltung der zuvor genannten Maßnahme werden die Programmodul-Funktionsaufrufe in der Reihenfolge der Funktionsgruppen abgespeichert.
In dieser Ausgestaltung werden somit zunächst sämtliche Pro­ grammodul-Funktionsaufrufe der ersten Funktionsgruppe, an­ schließend die der zweiten und zuletzt die der dritten Funkti­ onsgruppe abgespeichert. Die Maßnahme besitzt den Vorteil, daß die Reihenfolge der Programmodul-Funktionsaufrufe bereits bei der Erstellung des Anwenderprogramms einen optimalen zeitlichen Ablauf implementiert, der die Fehlersicherheit weiter erhöht.
In einer weiteren Ausgestaltung der Erfindung werden die Pro­ grammodule mittels graphischer Symbole auf einer graphischen Benutzeroberfläche dargestellt.
Aufgrund dieser Maßnahme ist es möglich, den eigentlichen Vor­ gang des Programmierens besonders anschaulich und übersichtlich zu gestalten, wodurch Fehlerquellen aufgrund menschlichen Ver­ sagens oder Flüchtigkeit erheblich reduziert werden. Die Feh­ lersicherheit wird nochmals erheblich gesteigert.
In einer weiteren Ausgestaltung der zuvor genannten Maßnahme werden die Programmodule mittels einer Drag & Drop-Funktion ausgewählt.
Eine Drag & Drop-Funktion ist an sich bereits von graphischen Benutzeroberflächen handelsüblicher PCs bekannt. Hierbei wird ein Element mit einem Eingabegerät, beispielsweise mit Hilfe einer sogenannten Maus, markiert und sodann mit Hilfe des Ein­ gabegerätes an eine gewünschte Stelle verschoben oder kopiert. Eine solche Art der Auswahl ist für den Programmierer sehr ein­ fach und komfortabel. Infolgedessen sind Fehlbedienungen und sich daraus ergebende Fehlerquellen beim Programmieren weiter erheblich reduziert.
In einer weiteren Ausgestaltung der Erfindung werden auch die Funktionsgruppen mittels graphischer Symbole auf einer graphi­ schen Benutzeroberfläche dargestellt.
Auch mit dieser Maßnahme wird die Anschaulichkeit und Über­ sichtlichkeit beim Programmieren erheblich verbessert, da dem Programmierer die erfindungsgemäße Struktur unmittelbar visua­ lisiert wird. Die Gefahr von Fehlern ist aufgrund der damit un­ mittelbar möglichen optischen Kontrolle weiter reduziert.
In einer weiteren Ausgestaltung des erfindungsgemäßen Verfah­ rens wird die Darstellung eines ausgewählten Programmoduls auf der Benutzeroberfläche aus einem abgespeicherten, zugehörigen Programmodul-Funktionsaufruf generiert. Die entsprechende er­ findungsgemäße Vorrichtung weist daher einen Speicher zum Ab­ speichern eines Programmodul-Funktionsaufrufs in Abhängigkeit von einem ausgewählten Programmodul sowie eine Anzeigeeinheit auf, die in Abhängigkeit von dem abgespeicherten Programmodul- Funktionsaufruf eine Darstellung des ausgewählten Programmoduls generiert.
In dieser Ausgestaltung der Erfindung wird ein ausgewähltes Programmodul auf der Benutzeroberfläche erst nach einem Umweg visualisiert. Zunächst wird der zugehörige Programmodul- Funktionsaufruf abgespeichert, und zwar in dem Format, in dem er später der Sicherheitssteuerung zugeführt wird. Erst an­ schließend wird die Darstellung des ausgewählten Programmoduls aus dem abgespeicherten Programmodul-Funktionsaufruf generiert. Der Programmierer erhält daher stets eine Visualisierung der tatsächlich abgespeicherten Programmodul-Funktionsaufrufe und kann somit unmittelbar erkennen, ob die Abspeicherung mit sei­ ner Vorgabe übereinstimmt. Die Kontrolle der abgespeicherten Programmodul-Funktionsaufrufe erfolgt hier somit direkt bei der Auswahl, wodurch Fehler beim Programmieren nochmals erheblich reduziert sind. Zudem können weitere Kontrollen der abgespei­ cherten Programmodul-Funktionsaufrufe entfallen, wodurch die Programmierung bei einer hohen Fehlersicherheit insgesamt sehr einfach und komfortabel möglich ist.
Darüber hinaus besitzt die Maßnahme den Vorteil, daß der Pro­ grammierer das erstellte Anwenderprogramm sehr einfach gra­ phisch dokumentieren kann. Daher ist die spätere Pflege des An­ wenderprogramms sehr einfacher und fehlersicher möglich.
Es versteht sich, daß die vorstehend genannten und die nach­ stehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
Ausführungsbeispiele der Erfindung sind in der Zeichnung dargestellt und werden in der nachfolgenden Beschreibung näher erläutert. Es zeigen:
Fig. 1 eine schematische Darstellung einer erfindungsgemä­ ßen Vorrichtung in Verbindung mit einer zu program­ mierenden Sicherheitssteuerung und
Fig. 2 eine vereinfachte Darstellung einer graphischen Be­ nutzeroberfläche zum Programmieren einer Sicher­ heitssteuerung.
In Fig. 1 ist eine erfindungsgemäße Vorrichtung in ihrer Ge­ samtheit mit der Bezugsziffer 10 bezeichnet.
Die Vorrichtung 10 beinhaltet einen herkömmlichen PC 12 mit einem Monitor 14, auf dem ein Computerprogramm 16 ausgeführt wird. Das Computerprogramm 16 ermöglicht die Erstellung eines Anwenderprogramms für eine Sicherheitssteuerung. Es wird in der Fachterminologie daher häufig auch als Programmiertool bezeich­ net.
Die zu programmierende Sicherheitssteuerung ist in Fig. 1 mit der Bezugsziffer 18 bezeichnet. Sie ist zweikanalig-redundant aufgebaut, um die erforderliche Fehlersicherheit zum Steuern sicherheitskritischer Prozesse zu erreichen. Stellvertretend für den zweikanaligen Aufbau sind in Fig. 1 zwei voneinander getrennte Prozessoren 20, 22 dargestellt, die über eine bidirektionale Kommunikationsschnittstelle 24 miteinander in Ver­ bindung stehen, um sich gegenseitig kontrollieren und Daten austauschen zu können. Bevorzugt sind die beiden Kanäle der Sicherheitssteuerung 18 und die beiden Prozessoren 20, 22 di­ versitär, d. h. verschieden voneinander aufgebaut, um systemati­ sche Fehler weitgehend auszuschließen.
Mit der Bezugsziffer 26 ist eine Ein-/Ausgabeeinheit bezeich­ net, die mit jedem der beiden Prozessoren 20, 22 in Verbindung steht. Die Ein-/Ausgabeeinheit nimmt Eingangssignale 28 von ex­ ternen Sensoren 30 auf und leitet diese in einem angepaßten Da­ tenformat an jeden der beiden Prozessoren 20, 22 weiter. Ferner erzeugt die Ein-/Ausgabeeinheit in Abhängigkeit von den Prozes­ soren 20, 22 Ausgangssignale 32, mit denen Aktuatoren 34 ange­ steuert werden. Bei den Sensoren 30 handelt es sich beispiels­ weise um Not-Aus-Taster, Zwei-Hand-Steuerungen, Schutztüren, Drehzahlüberwachungsgeräte oder andere Sensoren zur Aufnahme sicherheitsrelevanter Parameter. Die Aktuatoren 34 sind bei­ spielsweise sogenannte Schütze, mit denen die Stromversorgung eines Antriebes oder einer kompletten Maschine abgeschaltet werden kann.
Mit der Bezugsziffer 36 ist eine Chipkarte bezeichnet, auf der ein Anwenderprogramm 38 abgespeichert wird. Das Anwender­ programm 38 wird mit Hilfe der Vorrichtung 10 erstellt, und es legt die von der Sicherheitssteuerung 18 durchzuführenden Steuerungsaufgaben fest. Die Verwendung einer Chipkarte 36 als Speichermedium ermöglicht dabei einen einfachen Austausch des Anwenderprogramms 38 auch ohne direkten Anschluß an die Vor­ richtung 10. Alternativ hierzu kann das Anwenderprogramm 38 auch in einem fest in der Sicherheitssteuerung 18 eingebauten Speicher, beispielsweise einem EEPROM, abgespeichert sein.
Das Computerprogramm 16 stellt auf dem Monitor 14 des PCs 12 eine nachfolgend näher erläuterte Benutzeroberfläche bereit. Die Benutzeroberfläche ermöglicht einem Programmierer die Aus­ wahl und Parametrierung vordefinierter funktionsspezifischer Programmodule, die ihrerseits fest in der Sicherheitssteuerung 18 abgespeichert sind. Der Programmierer kann die einzelnen Programmodule jedoch nur auswählen und miteinander kombinieren, er kann sie nicht selbst verändern.
Die Auswahl und Parametrierung der vordefinierten Programmodule ist in Fig. 1 durch einen Funktionsblock 40 symbolisiert. Nach­ dem der Programmierer ein gewünschtes Programmodul ausgewählt und gegebenenfalls parametriert hat, wird dieses in einem Spei­ cher 42 des PCs abgespeichert, und zwar im Format der Sicher­ heitssteuerung 18. "Im Format der Sicherheitssteuerung" bedeu­ tet dabei, daß ein Programmodul-Funktionsaufruf generiert und abgespeichert wird, der in dieser Form später auch der Chipkar­ te 36 zugeführt wird. Der abgespeicherte Programmodul- Funktionsaufruf stellt einen Programmbefehl im Anwenderprogramm 38 dar.
Gemäß dem hier dargestellten Ausführungsbeispiel erzeugt das Computerprogramm 16 mit Hilfe des Funktionsblocks 44 aus dem abgespeicherten Programmodul-Funktionsaufruf eine symbolische Darstellung des entsprechenden, zugehörigen Programmoduls auf der Benutzeroberfläche des PCs 12. Für den Programmierer bedeu­ tet dies, daß er in der nachfolgend näher erläuterten Art und Weise ein Programmodul auswählt, und allein aus der Tatsache, daß ihm die gewünschte Auswahl visualisiert wird, folgt, daß der richtige zugehörige Programmodul-Funktionsaufruf in dem Speicher 42 abgespeichert wurde.
Wenn der Programmierer sämtliche für sein Anwenderprogramm be­ nötigten Programmodule ausgewählt und gegebenenfalls parame­ triert hat, liegt das vollständige Anwenderprogramm in dem Speicher 42. Bevorzugt wird es dort zusätzlich mit einer CRC (Cyclic Redundancy Check) abgesichert. Von dem Speicher 42 aus kann das Anwenderprogramm dann mit dem Funktionsblock 46 in an sich bekannter Weise auf die Chipkarte 36 übertragen werden. Durch die Absicherung mit der CRC wird dabei sichergestellt, daß das auf der Chipkarte 36 abgespeicherte Anwenderprogramm exakt mit dem zuvor generierten und im Speicher 42 abgelegten Anwenderprogramm übereinstimmt.
Die Chipkarte 36 kann bei der Übertragung in der Sicherheits­ steuerung 18 eingesteckt sein, was eine entsprechende Kommuni­ kationsverbindung zwischen dem PC 12 und der Sicherheits­ steuerung 18 erfordert. Alternativ kann die Chipkarte 36 auch über ein an sich bekanntes Ladegerät (hier nicht dargestellt) mit dem Anwenderprogramm 38 beschrieben werden. Die Sicher­ heitssteuerung 18 wird dann durch einfaches Einstecken der be­ schriebenen Chipkarte 36 mit dem Anwenderprogramm 38 versorgt.
Gemäß einem weiteren bevorzugten Ausführungsbeispiel der Erfin­ dung arbeiten die beiden Prozessoren 20, 22 das Anwenderpro­ gramm 38 diversitär ab. Dies kann beispielsweise mit Hilfe an sich funktionsgleicher, jedoch unterschiedlicher Programmodule geschehen, die durch einen einheitlichen Programmodul-Funk­ tionsaufruf aktiviert werden. Ein Vergleich der jeweiligen Ergebnisse zwischen den beiden Prozessoren 20, 22 ermöglicht dann eine fehlersichere Überprüfung des Anwenderprogramms 38. Auf diese Weise ist es möglich, ein Anwenderprogramm 38 fehlersi­ cher gestalten, ohne sämtliche denkbaren Kombinationen der zur Verfügung stehenden Programmodule einzeln zu überprüfen.
In Fig. 2 ist eine graphische Benutzeroberfläche, die das Com­ puterprogramm 16 dem Programmierer auf dem Monitor 14 bereit­ stellt, in ihrer Gesamtheit mit der Bezugsziffer 50 bezeichnet.
Die Benutzeroberfläche 50 beinhaltet ein Programmierfeld 52, das gemäß dem hier dargestellten, bevorzugten Ausführungs­ beispiel der Erfindung graphisch in drei getrennte Funktions­ gruppen 54, 56, 58 gegliedert ist. Außerhalb des Programmier­ feldes 52 ist eine Menge 60 auswählbarer Programmodule 62, 64, 66, 68, 70, 72 in Form von graphischen Symbolen dargestellt. Die Auswahl eines dieser Programmodule erfolgt, indem man das entsprechende Symbol mit Hilfe einer Drag & Drop-Funktion in die dafür vorgesehene Funktionsgruppe des Programmierfeldes 52 bewegt, wie dies anhand eines Pfeils 74 beispielhaft darge­ stellt ist. Auf diese Weise ausgewählte Programmodule sind bei­ spielhaft mit den Bezugsziffern 76, 78, 80 bezeichnet.
Die zur Auswahl stehenden Programmodule 62-72 lassen sich grob in drei verschiedene Typen einteilen, die den drei definierten Funktionsgruppen 54, 56, 58 entsprechen. Die Funktionsgruppe 54 nimmt Programmodule 62-68 auf, die jeweils eine definierte Si­ gnalquelle, d. h. einen definierten Sensor 30, eigenständig feh­ lersicher auswerten. Die Programmodule 62-68 werden dementspre­ chend auch als Sensor-Module bezeichnet. Jedes Sensor-Modul 62-68 ist an einen bestimmten Sensortyp angepaßt, wie beispielsweise an einen Not-Aus-Taster, eine Schutztür oder eine Zwei- Hand-Steuerung. Bei dem Sensor-Modul 62 handelt es sich bei­ spielsweise um ein Programmodul zur fehlersicheren Auswertung einer Signalquelle mit zwei redundanten Schließerkontakten und mit überwachtem Start. Sensor-Modul 64 dient beispielsweise zur fehlersicheren Auswertung einer Signalquelle mit einem Schlie­ ßer- und einem Öffnerkontakt sowie mit nicht-überwachtem Start. Sensor-Modul 66 dient beispielsweise zur Auswertung einer Si­ gnalquelle mit nur einem Öffnerkontakt. Weitere Sensor-Module 68 dienen zur Auswertung von Signalquellen mit Halbleiteraus­ gängen, wie beispielsweise Lichtschranken. Insgesamt beinhaltet die Menge 60 Sensor-Module für alle in Betracht kommenden Sen­ soren 30.
Die Sensor-Module 62-68, die der ersten Funktionsgruppe 54 zu­ geordnet werden können, erhalten als Eingangsparameter die Ein­ gangssignale 28 der Sensoren 30. Als Übergabeparameter stellen sie erste Zwischengrößen bereit, die in der Fachterminologie als Merker bezeichnet werden. In der beispielhaften Darstellung in Fig. 2 sind als erste Zwischengrößen die Merker M1, M2 und M3 an den Ausgängen von insgesamt drei ausgewählten Sensor- Modulen dargestellt.
Die Funktionsgruppe 56 dient ausschließlich zur Aufnahme von Programmodulen, die die ersten Zwischengrößen logisch miteinan­ der verknüpfen und in Abhängigkeit davon zweite Zwischengrößen bereitstellen. In der Darstellung in Fig. 2 werden beispiels­ weise die beiden Merker M1 und M2 mit einem logischen UND ver­ knüft. Die Merker M2 und M3 werden mit einem logischen ODER verknüpft. An den Ausgängen der entsprechenden Programmodule stehen dann die zweiten Zwischengrößen M4 und M5 bereit.
Zusätzlich zu den hier gezeigten Logik-Modulen dient die zweite Funktionsgruppe 56 auch zur Aufnahme von anderen Programmodu­ len, die die ersten Zwischengrößen zu zweiten Zwischengrößen weiterverarbeiten, wie beispielsweise Negationen oder Zeitver­ zögerungen.
Die dritte Funktionsgruppe 58 dient zur Aufnahme von sogenann­ ten Aktuator-Modulen, d. h. solchen Programmodulen, die aus den zweiten Zwischengrößen Ausgangssignale zur Ansteuerung der Ak­ tuatoren 34 erzeugen. In Fig. 2 dient das Aktuator-Modul 80 beispielsweise zur Ansteuerung zweier redundanter Schütze, mit denen die Stromversorgung eines überwachten Antriebes zweikana­ lig und damit fehlersicher abgeschaltet werden kann.
Die Erstellung des Anwenderprogramms 38 für die Sicherheits­ steuerung 18 erfolgt durch Auswahl und Verknüpfung der ge­ wünschten Programmodule 62-72. Mit dem Auswählen eines ge­ wünschten Programmoduls erzeugt das Computerprogramm 16 einen entsprechend zugehörigen Programmodul-Funktionsaufruf, der in einer sogenannten Ablauftabelle in dem Speicher 42 abgespei­ chert wird. Für den in Fig. 2 beispielhaft dargestellten Pro­ grammiervorgang ergibt sich dabei folgende Ablauftabelle:
In der Spalte "Modul-Typ" erscheint der jeweilige Programmodul- Funktionsaufruf, und zwar in einer Codierung, die von der Si­ cherheitssteuerung 18 gelesen werden kann. In den nachfolgenden Spalten sind die Übergabeparameter genannt, die das entspre­ chend aufgerufene Programmodul erhält bzw. zurückgibt.
Gemäß einem besonders bevorzugten Ausführungsbeispiel der Er­ findung ordnet das Computerprogramm 16 die einzelnen Programmo­ dul-Funktionsaufrufe in der Ablauftabelle in chronologischer Reihenfolge, d. h. in der Reihenfolge der drei Funktionsgruppen 54, 56, 58 an. Damit wird die Struktur, die sich aufgrund der graphischen Benutzeroberfläche 50 bereits beim Programmieren ergibt, in dem letztlich erzeugten und verwendeten Anwender­ programm 38 fortgesetzt. Es entsteht somit ein klar geglieder­ tes und strukturiertes Anwenderprogramm 38.
In bevorzugten Ausführungsbeispielen der Erfindung wird das An­ wenderprogramm 38 beim Übertragen vom Speicher 42 auf die Chip­ karte 36 stets mit einer CRC abgesichert. Auf diese Weise kann eine Verfälschung des Anwenderprogramms beim Übertragen auf die Chipkarte 36 zuverlässig erkannt und gegebenenfalls verhindert werden.

Claims (15)

1. Verfahren zum Programmieren einer Sicherheitssteuerung (18), mit den Schritten:
  • - Festlegen von logischen Verknüpfungen zwischen Ein­ gangssignalen (28) der Sicherheitssteuerung (18) und
  • - Zuordnen von Verknüpfungsprodukten (M4, M5) zu Aus­ gangssignalen (32) der Sicherheitssteuerung (18),
wobei das Festlegen der Verknüpfungen und das Zuordnen an­ hand vordefinierter funktionsspezifischer Programmodule (62-72, 76-80) erfolgt, die aus einer Menge (60) derarti­ ger Programmodule ausgewählt werden, dadurch gekennzeich­ net, daß jedes ausgewählte Programmodul (76, 78, 80) ein­ deutig einer definierten Funktionsgruppe (54, 56, 58) zu­ geordnet wird, wobei eine erste Funktionsgruppe (54) Pro­ grammodule (76) enthält, die Eingangssignale (28) der Si­ cherheitssteuerung (18) aufnehmen und in Abhängigkeit da­ von erste Zwischengrößen (M1, M2, M3) bereitstellen, wobei eine zweite Funktionsgruppe (56) Programmodule (78) ent­ hält, die die ersten Zwischengrößen (M1, M2, M3) logisch miteinander verknüpfen und in Abhängigkeit davon zweite Zwischengrößen (M4, M5) bereitstellen, und wobei eine dritte Funktionsgruppe (58) Programmodule (80) enthält, die die zweiten Zwischengrößen (M4, M5) den Ausgangs­ signalen (32) der Sicherheitssteuerung (18) zuordnen.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß je­ des Programmodul (62-72, 76-80) genau einer von insgesamt drei definierten Funktionsgruppen (54, 56, 58) zugeordnet wird.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß jedes Programmodul (76) der ersten Funktionsgruppe (54) eine definierte Signalquelle (30) fehlersicher aus­ wertet.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch ge­ kennzeichnet, daß beim Auswählen eines jeden Programmoduls (62-72, 76-80) ein Programmodul-Funktionsaufruf generiert und in einer Ablauftabelle abgespeichert wird.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß die Programmodul-Funktionsaufrufe nach den Funktionsgruppen (54, 56, 58) getrennt in der Ablauftabelle abgespeichert werden.
6. Verfahren nach Anspruch 4 oder 5, dadurch gekennzeichnet, daß die Programmodul-Funktionsaufrufe in der Reihenfolge der Funktionsgruppen (54, 56, 58) abgespeichert werden.
7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch ge­ kennzeichnet, daß die Programmodule (62-72, 76-80) mittels graphischer Symbole auf einer graphischen Benutzeroberflä­ che (50) dargestellt werden.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß die Programmodule (62-72, 76-80) mittels einer Drag & Drop- Funktion (74) ausgewählt werden.
9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch ge­ kennzeichnet, daß die Funktionsgruppen (54, 56, 58) mit­ tels graphischer Symbole auf einer graphischen Benutzer­ oberfläche (50) dargestellt werden.
10. Verfahren nach einem der Ansprüche 7 bis 9, dadurch ge­ kennzeichnet, daß die Darstellung eines ausgewählten Pro­ grammoduls (76, 78, 80) auf der Benutzeroberfläche (50) aus einem abgespeicherten, zugehörigen Programmodul- Funktionsaufruf generiert wird.
11. Vorrichtung zum Programmieren einer Sicherheitssteuerung (18), mit ersten Mitteln (12, 14, 16) zum Auswählen und Parametrieren vordefinierter funktionsspezifischer Pro­ grammodule (62-72, 76-80), mit deren Hilfe logische Ver­ knüpfungen zwischen Eingangssignalen (28) der Sicherheits­ steuerung (18) festgelegt und Verknüpfungsprodukte (M4, M5) zu Ausgangssignalen (32) der Sicherheitssteuerung (18) zugeordnet werden können, dadurch gekennzeichnet, daß wei­ tere Mittel (52) vorhanden sind, die ein ausgewähltes Pro­ grammodul (76, 78, 80) eindeutig einer definierten Funkti­ onsgruppe (54, 56, 58) zuordnen, wobei eine erste Funkti­ onsgruppe (54) Programmodule (76) enthält, die Eingangs­ signale (28) der Sicherheitssteuerung (18) aufnehmen und in Abhängigkeit davon erste Zwischengrößen (M1, M2, M3) bereitstellen, wobei eine zweite Funktionsgruppe (56) Pro­ grammodule (78) enthält, die die ersten Zwischengrößen (M1, M2, M3) logisch miteinander verknüpfen und in Abhän­ gigkeit davon zweite Zwischengrößen (M4, M5) bereit­ stellen, und wobei eine dritte Funktionsgruppe (58) Pro­ grammodule (80) enthält, die die zweiten Zwischengrößen (M4, M5) den Ausgangssignalen (32) der Sicherheitssteue­ rung (18) zuordnen.
12. Vorrichtung nach Anspruch 11, gekennzeichnet durch einen Speicher (42) zum Abspeichern eines Programmodul-Funk­ tionsaufrufs in Abhängigkeit von einem ausgewählten Pro­ grammodul (76, 78, 80) sowie eine Anzeigeeinheit (14, 44), die in Abhängigkeit von dem abgespeicherten Programmodul- Funktionsaufruf eine Darstellung des ausgewählten Pro­ grammoduls (76, 78, 80) generiert.
13. Computerprogramm mit Programmcodemitteln zum Durchführen eines Verfahrens nach einem der Ansprüche 1 bis 10, wenn das Computerprogramm (16) auf einem Computer (12) ausge­ führt wird.
14. Anwenderprogramm für eine Sicherheitssteuerung (18), mit Befehlsfolgen, deren Abarbeitung in einer Prozessoreinheit (20, 22) der Sicherheitssteuerung (18) eine logische Ver­ knüpfung von Eingangssignalen (28) sowie eine Zuordnung zu Ausgangssignalen (32) der Sicherheitssteuerung (18) be­ wirkt, dadurch gekennzeichnet, daß die Befehlsfolgen zu­ mindest drei aufeinanderfolgende Funktionsgruppen (54, 56, 58) bilden, wobei eine erste Funktionsgruppe (54) Befehls­ folgen beinhaltet, die Eingangssignale (28) der Sicher­ heitssteuerung (18) aufnehmen und in Abhängigkeit davon erste Zwischengrößen (M1, M2, M3) bereitstellen, wobei eine zweite Funktionsgruppe (56) Befehlsfolgen beinhaltet, die die ersten Zwischengrößen (M1, M2, M3) logisch mitein­ ander verknüpfen und in Abhängigkeit davon zweite Zwi­ schengrößen (M4, M5) bereitstellen, und wobei eine dritte Funktionsgruppe (58) Befehlsfolgen beinhaltet, die die zweiten Zwischengrößen (M4, M5) den Ausgangssignalen (32) der Sicherheitssteuerung (18) zuordnen.
15. Computerprogrammprodukt mit einem Speichermedium (36), auf dem ein Computerprogramm (16) nach Anspruch 13 oder ein Anwenderprogramm (38) nach Anspruch 14 gespeichert ist.
DE10108962A 2001-02-20 2001-02-20 Verfahren und Vorrichtung zum Programmieren einer Sicherheitssteuerung Ceased DE10108962A1 (de)

Priority Applications (9)

Application Number Priority Date Filing Date Title
DE10108962A DE10108962A1 (de) 2001-02-20 2001-02-20 Verfahren und Vorrichtung zum Programmieren einer Sicherheitssteuerung
ES02716730T ES2236501T3 (es) 2001-02-20 2002-02-06 Procedimiento y dispositivo para la programacion de un mando de seguridad.
PCT/EP2002/001205 WO2002067065A2 (de) 2001-02-20 2002-02-06 Verfahren und vorrichtung zum programmieren einer sicherheitssteuerung
JP2002566730A JP2004524620A (ja) 2001-02-20 2002-02-06 フェイルセーフ制御システムのプログラミング方法及び装置
EP02716730A EP1362269B1 (de) 2001-02-20 2002-02-06 Verfahren und vorrichtung zum programmieren einer sicherheitssteuerung
DE50202276T DE50202276D1 (de) 2001-02-20 2002-02-06 Verfahren und vorrichtung zum programmieren einer sicherheitssteuerung
AU2002247686A AU2002247686A1 (en) 2001-02-20 2002-02-06 Method and device for programming a safety controller
AT02716730T ATE289428T1 (de) 2001-02-20 2002-02-06 Verfahren und vorrichtung zum programmieren einer sicherheitssteuerung
US10/638,672 US7139622B2 (en) 2001-02-20 2003-08-11 Method and device for programming a failsafe control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10108962A DE10108962A1 (de) 2001-02-20 2001-02-20 Verfahren und Vorrichtung zum Programmieren einer Sicherheitssteuerung

Publications (1)

Publication Number Publication Date
DE10108962A1 true DE10108962A1 (de) 2002-09-12

Family

ID=7675372

Family Applications (2)

Application Number Title Priority Date Filing Date
DE10108962A Ceased DE10108962A1 (de) 2001-02-20 2001-02-20 Verfahren und Vorrichtung zum Programmieren einer Sicherheitssteuerung
DE50202276T Expired - Lifetime DE50202276D1 (de) 2001-02-20 2002-02-06 Verfahren und vorrichtung zum programmieren einer sicherheitssteuerung

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE50202276T Expired - Lifetime DE50202276D1 (de) 2001-02-20 2002-02-06 Verfahren und vorrichtung zum programmieren einer sicherheitssteuerung

Country Status (8)

Country Link
US (1) US7139622B2 (de)
EP (1) EP1362269B1 (de)
JP (1) JP2004524620A (de)
AT (1) ATE289428T1 (de)
AU (1) AU2002247686A1 (de)
DE (2) DE10108962A1 (de)
ES (1) ES2236501T3 (de)
WO (1) WO2002067065A2 (de)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10302799A1 (de) * 2003-01-24 2004-08-12 Siemens Ag Verfahren zur Parametrierung von Software-Prozesssignalverbindungen eines Antriebsgerätes
EP1750184A2 (de) 2005-08-03 2007-02-07 Wolfram Kress Verfahren zur sicheren Bedienung und Programmierung sicherheitsgerichteter Geräte
DE102006057529A1 (de) * 2006-12-06 2008-06-19 Hüttinger Elektronik GmbH & Co. KG Kontrollvorrichtung, Energieversorgungssystem, Verfahren und Computerprogrammprodukt
DE102008060003A1 (de) 2008-11-25 2010-05-27 Pilz Gmbh & Co. Kg Verfahren und Vorrichtung zum Erstellen eines Anwenderprogramms für eine Sicherheitssteuerung
US8635597B2 (en) 2005-07-01 2014-01-21 Siemens Aktiengesellschaft Method for determining the processing order of modules in a function plan and electronic data processing system for carrying out the method
DE102008002266B4 (de) 2007-06-12 2019-03-28 Omron Corp. Programmentwicklung-Unterstützungsvorrichtung einer Sicherheitssteuerung
DE102018129899A1 (de) 2018-11-27 2020-05-28 Pilz Gmbh & Co. Kg Schaltgerät zum gezielten Einschalten und/oder Ausschalten eines elektrischen Verbrauchers, insbesondere zum fehlersicheren Abschalten einer gefährlichen Maschinenanlage
CN112740123A (zh) * 2018-08-21 2021-04-30 皮尔茨公司 用于监视安全关键过程的自动化系统

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10240584A1 (de) * 2002-08-28 2004-03-11 Pilz Gmbh & Co. Sicherheitssteuerung zum fehlersicheren Steuern von sicherheitskritischen Prozessen sowie Verfahren zum Aufspielen eines neuen Betriebsprogrammes auf eine solche
JP4271592B2 (ja) * 2003-02-12 2009-06-03 日本制禦機器株式会社 セーフティコントローラ
EP1460497B1 (de) 2003-02-12 2012-11-14 Omron Corporation Sicherheitssteuerung
DE10331872A1 (de) * 2003-07-14 2005-02-10 Robert Bosch Gmbh Verfahren zur Überwachung eines technischen Systems
DE20317976U1 (de) * 2003-11-20 2004-02-12 Sick Ag Sicherheits-Lichtgitter
DE102004020994B4 (de) * 2004-04-19 2013-07-04 Pilz Gmbh & Co. Kg Verfahren und Vorrichtung zum computergestützten Konstruieren einer sicherheitsgerichteten elektrischen Schaltung
DE602004022417D1 (de) * 2004-10-08 2009-09-17 Rockwell Automation Germany Gm Modulares und konfigurierbares Sicherheitssystem
DE102004055971B8 (de) * 2004-11-19 2012-06-21 Kw-Software Gmbh Verfahren und Vorrichtung zur sicheren Parametierung gemäß IEC 61508 SIL 1 bis 3 oder EN 954-1 Kategorie 1 bis 4
EE05043B1 (et) * 2005-06-21 2008-06-16 Mirovar O� Meetod elektriliste ja elektrooniliste seadmete, süsteemi sisaldava objekti ning selle osade haldamiseks
ATE529789T1 (de) 2007-07-05 2011-11-15 Sick Ag Verfahren zum programmieren einer sicherheitssteuerung
DE102007038722A1 (de) * 2007-08-16 2009-02-26 Siemens Ag Verfahren zum Auslösen von Aktionen einer Maschine durch sichere Eingabeelemente
DE102007055654A1 (de) * 2007-11-21 2009-05-28 Giesecke & Devrient Gmbh Tragbarer Datenträger
DE202008017894U1 (de) 2008-03-07 2010-10-21 Sick Ag Vorrichtung zum Programmieren und/oder Konfigurieren einer Sicherheitssteuerung
ATE509305T1 (de) 2008-03-07 2011-05-15 Sick Ag Verfahren und vorrichtung zum programmieren und/oder konfigurieren einer sicherheitssteuerung
EP2098924B1 (de) 2008-03-07 2011-05-11 Sick Ag Verfahren und Vorrichtung zum Programmieren und/oder Konfigurieren einer Sicherheitssteuerung
EP2098928A1 (de) 2008-03-07 2009-09-09 Sick Ag Verfahren und Vorrichtung zum Programmieren und/oder Konfigurieren einer Sicherheitssteuerung
DE102008030825A1 (de) * 2008-06-30 2009-12-31 Schott Ag Vorrichtung zur Reflektion von Wärmestrahlung, ein Verfahren zu ihrer Herstellung sowie deren Verwendung
US8285402B2 (en) * 2008-07-14 2012-10-09 Ge Intelligent Platforms, Inc. Method and system for safety monitored terminal block
CN104317262B (zh) * 2008-09-29 2017-09-12 费希尔-罗斯蒙特系统公司 过程控制系统的元件的高效设计和配置
EP2216695B1 (de) 2009-02-09 2013-03-27 Siemens Aktiengesellschaft Verfahren zum Betrieb eines Automatisierungssystems, korrespondierendes Computerprogramm und System oder Gerät, das nach dem Verfahren arbeitet
DE102009011679A1 (de) * 2009-02-23 2010-08-26 Pilz Gmbh & Co. Kg Verfahren und Vorrichtung zum Erstellen eines Anwenderprogrammes für eine Sicherheitssteuerung
DE102009019089A1 (de) 2009-04-20 2010-11-04 Pilz Gmbh & Co. Kg Verfahren und Vorrichtung zum Erstellen eines Anwenderprogramms für eine Sicherheitssteuerung
DE102009019096A1 (de) * 2009-04-20 2010-11-04 Pilz Gmbh & Co. Kg Sicherheitssteuerung und Verfahren zum Steuern einer automatisierten Anlage
DE102009019088A1 (de) * 2009-04-20 2010-11-11 Pilz Gmbh & Co. Kg Sicherheitssteuerung zum Steuern einer automatisierten Anlage und Verfahren zum Erstellen eines Anwenderprogramms für eine Sicherheitssteuerung
EP2367083B1 (de) 2010-03-19 2016-10-05 Sick Ag Vorrichtung zur Erstellung eines Programms für eine speicherprogrammierbare Steuerung, Programmiereinrichtung und Verfahren zur Programmierung einer speicherprogrammierbaren Steuerung
EP2375636A1 (de) 2010-03-29 2011-10-12 Sick Ag Vorrichtung und Verfahren zum Konfigurieren eines Bussystems
DE102014100970A1 (de) 2014-01-28 2015-07-30 Pilz Gmbh & Co. Kg Verfahren und Vorrichtung zum sicheren Abschalten einer elektrischen Last
DE102015011910A1 (de) 2015-09-11 2017-03-16 Kuka Roboter Gmbh Verfahren und System zum Steuern einer Roboteranordnung
DE102015120347A1 (de) 2015-11-24 2017-05-24 Pilz Gmbh & Co. Kg Sicherheitssteuerungseinrichtung und Verfahren zur Änderung eines Funktionsumfangs einer Sicherheitssteuerungseinrichtung
ES2715578T3 (es) 2016-12-30 2019-06-04 Wieland Electric Gmbh Procedimiento para programar un controlador de seguridad
EP3396480B1 (de) * 2017-04-24 2024-01-03 Wieland Electric GmbH Verfahren zum programmieren einer sicherheitssteuerung
US10520928B2 (en) * 2017-05-15 2019-12-31 Rockwell Automation Technologies, Inc. Safety industrial controller providing diversity in single multicore processor
DE102018120347A1 (de) * 2018-08-21 2020-02-27 Pilz Gmbh & Co. Kg Automatisierungssystem zur Überwachung eines sicherheitskritischen Prozesses
CN109407610B (zh) * 2018-12-11 2020-06-09 山东省科学院激光研究所 安全控制器和安全控制器的编程方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0284605B1 (de) * 1986-07-07 1990-10-03 BBC Brown Boveri AG Software-werkzeug zur automatischen erzeugung einer funktionsplangraphik
WO1998044399A2 (de) * 1997-03-27 1998-10-08 Elan Schaltelemente Gmbh Verfahren zur programmierung eines sicherheitsgerichteten steuerungssystems
WO1999028794A2 (de) * 1997-11-26 1999-06-10 Moeller Gmbh Kleinsteuerung

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE457388B (sv) 1985-06-04 1988-12-19 Gambro Ab Monitor foer styrning och/eller kontroll av tvaa eller flera funktioner samt anvaendning av en saadan foer styrning av en vaetskestroem
US5291587A (en) * 1986-04-14 1994-03-01 National Instruments, Inc. Graphical system for executing a process and for programming a computer to execute a process, including graphical variable inputs and variable outputs
US5034899A (en) * 1986-07-07 1991-07-23 Bbc Brown Boveri Ag Software tool for automatically generating a functional-diagram graphic
FR2627873B1 (fr) 1988-02-26 1990-08-10 April Sa Automate programmable par langage structure
JPH02247701A (ja) 1989-03-20 1990-10-03 Fanuc Ltd 入出力信号制御方式
US5168441A (en) * 1990-05-30 1992-12-01 Allen-Bradley Company, Inc. Methods for set up and programming of machine and process controllers
DE9110348U1 (de) 1991-06-14 1991-11-21 Buhl Automatic Inc., Guelph, Ontario Schaltungsanordnung zur Steuerung einer Maschinenanlage
DE4134811A1 (de) 1991-10-22 1993-04-29 Licentia Gmbh Verfahren zur ablaufsteuerung der von verschiedenen aktoren auszufuehrenden arbeiten
DE69311099T2 (de) 1992-03-09 1998-02-19 Electronic Data Systems Corp., Plano, Tex. Verfahren und vorrichtung zur automatischen modifikation eines graphisches displays basierend auf einer steuerprogrammodifikation
AU4400893A (en) 1992-06-12 1994-01-04 Dow Chemical Company, The Stealth interface for process control computers
DE4312305C5 (de) 1993-04-15 2004-07-15 Abb Patent Gmbh Sicherheitsgerichtete speichergrogrammierbare Steuerung
US5392207A (en) * 1993-08-20 1995-02-21 Allen-Bradley Company, Inc. Programmable motion controller with graphical programming aid
US5452201A (en) * 1993-08-24 1995-09-19 Allen-Bradley Company, Inc. Industrial controller with highly distributed processing
DE19513801A1 (de) * 1995-04-11 1996-10-17 Siemens Ag Verfahren zur automatischen Erzeugung einer Steuerung
EP0876647B1 (de) * 1996-01-25 2001-10-31 Siemens Aktiengesellschaft Graphische bedienoberfläche zur programmierung von speicherprogrammierbaren steuerungen
US5980078A (en) 1997-02-14 1999-11-09 Fisher-Rosemount Systems, Inc. Process control system including automatic sensing and automatic configuration of devices
DE19861281B4 (de) 1998-09-09 2008-10-02 Halang, Wolfgang A., Prof. Dr. Dr. Elektronischer Vergleicher zweier Binärworte mit ausfallsicherheitsgerichtetem Ausgabeverhalten
DE19904892B4 (de) 1999-02-06 2008-06-12 Wratil, Peter, Dr. Verfahren zur Fehlerunterdrückung bei Eingabeeinheiten in Steuerungseinrichtungen
DE19904893B4 (de) 1999-02-06 2007-10-18 Wratil, Peter, Dr. Verfahren zur Fehlerunterdrückung bei Steuerungseinrichtungen durch eine intelligente Überwachungseinheit
DE19906695A1 (de) 1999-02-18 2000-08-31 Wratil Peter Verfahren zur automatischen Dezentralisierung von Programmen in Steuerungseinrichtungen und zur Verteilung von Intelligenz
JP4312300B2 (ja) * 1999-05-28 2009-08-12 株式会社日立製作所 内燃機関用電子制御システムのフェイルセーフ装置
DE19928517C2 (de) * 1999-06-22 2001-09-06 Pilz Gmbh & Co Steuerungssystem zum Steuern von sicherheitskritischen Prozessen

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0284605B1 (de) * 1986-07-07 1990-10-03 BBC Brown Boveri AG Software-werkzeug zur automatischen erzeugung einer funktionsplangraphik
WO1998044399A2 (de) * 1997-03-27 1998-10-08 Elan Schaltelemente Gmbh Verfahren zur programmierung eines sicherheitsgerichteten steuerungssystems
WO1999028794A2 (de) * 1997-11-26 1999-06-10 Moeller Gmbh Kleinsteuerung

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10302799A1 (de) * 2003-01-24 2004-08-12 Siemens Ag Verfahren zur Parametrierung von Software-Prozesssignalverbindungen eines Antriebsgerätes
US8635597B2 (en) 2005-07-01 2014-01-21 Siemens Aktiengesellschaft Method for determining the processing order of modules in a function plan and electronic data processing system for carrying out the method
EP1750184A2 (de) 2005-08-03 2007-02-07 Wolfram Kress Verfahren zur sicheren Bedienung und Programmierung sicherheitsgerichteter Geräte
DE102005036475B3 (de) * 2005-08-03 2007-04-12 Kress, Wolfram Verfahren zur sicheren Bedienung und Programmierung sicherheitsgerichteter Geräte
EP1750184A3 (de) * 2005-08-03 2008-07-09 Wolfram Kress Verfahren zur sicheren Bedienung und Programmierung sicherheitsgerichteter Geräte
DE102006057529B4 (de) * 2006-12-06 2012-04-12 Hüttinger Elektronik Gmbh + Co. Kg Kontrollvorrichtung, Energieversorgungssystem und Verfahren
DE102006057529A1 (de) * 2006-12-06 2008-06-19 Hüttinger Elektronik GmbH & Co. KG Kontrollvorrichtung, Energieversorgungssystem, Verfahren und Computerprogrammprodukt
DE102008002266B4 (de) 2007-06-12 2019-03-28 Omron Corp. Programmentwicklung-Unterstützungsvorrichtung einer Sicherheitssteuerung
DE102008060003A1 (de) 2008-11-25 2010-05-27 Pilz Gmbh & Co. Kg Verfahren und Vorrichtung zum Erstellen eines Anwenderprogramms für eine Sicherheitssteuerung
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
CN112740123A (zh) * 2018-08-21 2021-04-30 皮尔茨公司 用于监视安全关键过程的自动化系统
CN112740123B (zh) * 2018-08-21 2024-03-19 皮尔茨公司 用于监视安全关键过程的自动化系统
DE102018129899A1 (de) 2018-11-27 2020-05-28 Pilz Gmbh & Co. Kg Schaltgerät zum gezielten Einschalten und/oder Ausschalten eines elektrischen Verbrauchers, insbesondere zum fehlersicheren Abschalten einer gefährlichen Maschinenanlage
EP3660597A1 (de) 2018-11-27 2020-06-03 Pilz GmbH & Co. KG Schaltgerät zum fehlersicheren ein- oder ausschalten einer gefährlichen maschinenanlage
US10937283B2 (en) 2018-11-27 2021-03-02 Pilz Gmbh & Co. Kg Switching device for selectively switching an electrical load, in particular for shutting down a dangerous machine installation

Also Published As

Publication number Publication date
US7139622B2 (en) 2006-11-21
ES2236501T3 (es) 2005-07-16
DE50202276D1 (de) 2005-03-24
WO2002067065A3 (de) 2003-04-17
AU2002247686A1 (en) 2002-09-04
ATE289428T1 (de) 2005-03-15
WO2002067065A2 (de) 2002-08-29
EP1362269B1 (de) 2005-02-16
JP2004524620A (ja) 2004-08-12
EP1362269A2 (de) 2003-11-19
US20040064205A1 (en) 2004-04-01

Similar Documents

Publication Publication Date Title
DE10108962A1 (de) Verfahren und Vorrichtung zum Programmieren einer Sicherheitssteuerung
EP2399174B1 (de) Verfahren und vorrichtung zum erstellen eines anwenderprogrammes für eine sicherheitssteuerung
EP2422271B1 (de) Verfahren und vorrichtung zum erstellen eines anwenderprogramms für eine sicherheitssteuerung
EP2367083B1 (de) Vorrichtung zur Erstellung eines Programms für eine speicherprogrammierbare Steuerung, Programmiereinrichtung und Verfahren zur Programmierung einer speicherprogrammierbaren Steuerung
EP2356526B1 (de) Sicherheitssteuerung und verfahren zum steuern einer automatisierten anlage
EP2422244B1 (de) Sicherheitssteuerung und verfahren zum steuern einer automatisierten anlage
WO2010060575A1 (de) Verfahren und vorrichtung zum erstellen eines anwenderprogramms für eine sicherheitssteuerung
EP2098924B1 (de) Verfahren und Vorrichtung zum Programmieren und/oder Konfigurieren einer Sicherheitssteuerung
EP2098925A1 (de) Verfahren und Vorrichtung zum Programmieren und/oder Konfigurieren einer Sicherheitssteuerung
EP2363770A1 (de) Sicherheitsvorrichtung mit einer konfigurierbaren Sicherheitssteuerung
EP3588271B1 (de) Verfahren und vorrichtung zur konfiguration einer hardwarekomponente
EP2098928A1 (de) Verfahren und Vorrichtung zum Programmieren und/oder Konfigurieren einer Sicherheitssteuerung
DE102004020994B4 (de) Verfahren und Vorrichtung zum computergestützten Konstruieren einer sicherheitsgerichteten elektrischen Schaltung
EP3082002A1 (de) Sicherheitssteuerung und verfahren zum steuern einer automatisierten anlage
DE102015015963A1 (de) Formgebungsanlage
DE10158317B4 (de) Verfahren zur Generierung und Ausführung eines diversitären Programmablaufs
EP3343301B1 (de) Verfahren zum programmieren einer sicherheitssteuerung
EP3757688B1 (de) Verfahren zur konfiguration einer industriellen maschine
EP4124920A1 (de) Warnverfahren für einen mitbenutzer einer automatisierungsanlage, computerprogrammprodukt und automatisierungsanlge
EP1455251A1 (de) Konfigurierbares Sicherheitsschaltgerät
EP0236828A1 (de) Speicherprogrammierbare Steuerung
EP1459172A2 (de) Verfahren zum betrieb eines elektronischen gerätes

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final