EP2411878A1 - System und verfahren zur automatischen prüfung eines programms für sicherheitsgerichtete automatisierungssysteme - Google Patents

System und verfahren zur automatischen prüfung eines programms für sicherheitsgerichtete automatisierungssysteme

Info

Publication number
EP2411878A1
EP2411878A1 EP10711561A EP10711561A EP2411878A1 EP 2411878 A1 EP2411878 A1 EP 2411878A1 EP 10711561 A EP10711561 A EP 10711561A EP 10711561 A EP10711561 A EP 10711561A EP 2411878 A1 EP2411878 A1 EP 2411878A1
Authority
EP
European Patent Office
Prior art keywords
safety
program
guidelines
development
partially
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
EP10711561A
Other languages
English (en)
French (fr)
Inventor
Heinrich NEUPÄRTL
Mario HÖRNICKE
Oliver Gramberg
Rainer Drath
Yauheni Veryha
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.)
ABB AG Germany
Original Assignee
ABB AG Germany
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 ABB AG Germany filed Critical ABB AG Germany
Publication of EP2411878A1 publication Critical patent/EP2411878A1/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/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/04Program 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Definitions

  • the invention relates to a method and a system for automatic testing of a program for in particular at least partially safety-related automation systems, such as safety-related programmable logic controllers, in terms of compliance with guidelines, in particular guidelines for the design of programs for safety-related programmable logic controllers.
  • safety-related automation systems such as safety-related programmable logic controllers
  • pre-certified components include:
  • Hardware components such as programmable logic controller, input / output modules, bus systems, sensors, actuators;
  • Certification of the safety programmable controller program is facilitated if the program is structurally and substantively designed so that the certifying body can understand the operation of the program with the least possible effort. This can be achieved, above all, by restricting the possibilities offered by the programming language used for programmable logic controllers when they are used for a safety-impaired automation system.
  • Checking for correctness for example checking against field index overflow, pointer overflow, memory overflow, endless loops, unallocated or unallocated memory, uninitialized variables or unsafe type conversions,
  • the invention is therefore based on the object, a solution for automatic testing of a program for automation systems, especially for safety-related automation systems, compliance with guidelines, rules and requirements, also referred to as programming guidelines, in particular programming guidelines for the design of programs for programmable logic, in particular safety-related, to specify controls.
  • the invention therefore proposes an automatic check of control programs or program parts of the automation system with regard to compliance with programming guidelines, such as guidelines, rules and specifications, for the design of programs for, in particular safety-related, programmable logic controllers outside a development environment for security software, also as safety-related program.
  • programming guidelines such as guidelines, rules and specifications
  • the automatic check relates to safety-related control programs or program parts of a safety-related automation system.
  • FIG. 1 shows an example flow chart for the method according to the invention
  • FIG. 2 shows an exemplary arrangement for carrying out the method.
  • Fig. 1 shows in a flow chart after the start of a method for automatically performed program check as the first step, an export of a copy of a program, also referred to as the original program, from a development system for an exemplary safety-related automation system.
  • this program copy also referred to as a safety program
  • This test equipment is set up for program testing and contains software suitable for - in a third step - software testing intended to test a given set of guidelines for the design of safety programmable controller programs, hereafter referred to as programming guidelines.
  • the programming guidelines are preferably of a machine-readable form and are then interpreted during the test program run.
  • the program developed and to be tested in the development system can be present, for example, in a programming language according to the standard IEC 61131, for example as a structured text program, as a function block diagram or as a ladder diagram. If the test result states that the program copy to be tested is error-free according to the programming guidelines, in particular the guidelines for the design of programs for safety-related programmable logic controllers, this is output to the development system and / or the programmer, and the process is ended.
  • step 4 After a revision of the original program in the development system, it is exported again and loaded into the test facility.
  • the retry procedure will either continue until there are no violations of the program being tested against the programming guidelines, or until it detects only violations of such policies that are of lesser importance in the present case, so that no delay in the envisaged certification is expected and the new program version can be used in the safety-related automation system.
  • a determination of violations of those programming guidelines, which are of minor importance, is preferably carried out at the start of the method according to the invention.
  • the first step ie the export of a copy of the program from the development system
  • the test device is designed in this way, the safety program to be tested directly in the Development system to locate and automatically, so without additional export step to load.
  • the first step ie the export of a program copy
  • the test equipment is set up directly in the development system on the to access the safety program to be tested and thus carry out the testing of the program within the development system.
  • the tester does not change the program within the development system unless a user initiates a modification.
  • a safety-related automation system 1 interacts with a development computer 2.
  • the safety-related automation system 1 contains a safety-related programmable logic controller 11 and a non-safety-related programmable logic controller 12 communicating therewith.
  • safety-related input / output devices 13 and non-safety-related input / output devices 14 are present which are connected to the controllers by means of a data transmission system 11 and 12 are connected.
  • the development computer 2 contains a development system 21 with a programming environment for the development of a safety-related program, also referred to as safety software, and a test device 22 for testing the safety software.
  • a programmer 3 has access to both the development system 21 and the checking device 22.
  • the development computer 2 may be connected to the safety-related programmable logic controller 11 and / or the non-safety-related programmable logic controller 12. The operation of the arrangement shown in Fig. 2 corresponds to the procedure described with reference to FIG.
  • the method according to the invention and the corresponding system not only relieve a programmer of the time-consuming program check, but are also non-reactive insofar as the checking device does not effect any modification of the original program in the development system. This is a prerequisite for continuing to use the development system as pre-certified without further testing during the development of the safety-related system program.
  • Another advantage is that a flexible adaptation of the programming guidelines for the design of programs for, in particular safety-oriented, programmable logic controllers to a respective required SIL level (Safety Integrity Level) is possible.
  • test device in particular the guidelines to be tested for the design of programs for safety-oriented programmable logic controllers, without having to modify the development system and therefore having to recertify it.

Landscapes

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

Abstract

Die Erfindung bezieht sich auf Verfahren zur automatischen Prüfung eines Programms für Automatisierungssysteme (1), insbesondere speicherprogrammierbare Steuerungen, hinsichtlich Einhaltung von Programmierrichtlinien für die Gestaltung von Programmen für Automatisierungssysteme, wobei - in einem ersten Schritt eine Kopie eines Programms oder eines Programmteils aus einem Entwicklungssystem (21) für Automatisierungssysteme als zu prüfendes Programmkopie exportiert wird, - in einem zweiten Schritt die zu prüfende Programmkopie in eine Prüfeinrichtung (22) zur Prüfung von Programmen geladen wird, wobei die Prüfeinrichtung (22) Zugriff auf Programmierrichtlinien zur Programmprüfung hat, und - in einem dritten Schritt dort die Programmprüfung hinsichtlich einer Einhaltung der Programmierrichtlinien automatisch durchgeführt und das Prüfergebnis ausgegeben wird.

Description

System und Verfahren zur automatischen Prüfung eines Programms für sicherheits- gerichtete Automatisierungssysteme
Beschreibung
Die Erfindung bezieht sich auf ein Verfahren und ein System zur automatischen Prüfung eines Programms für insbesondere wenigstens teilweise sicherheitsgerichtete Automatisierungssysteme, beispielsweise sicherheitsgerichtete speicherprogrammierbare Steuerungen, hinsichtlich der Einhaltung von Richtlinien, insbesondere von Richtlinien für die Gestaltung von Programmen für sicherheitsgerichtete speicherprogrammierbare Steuerungen.
Um die Zertifizierung eines Automatisierungssystems, insbesondere eines sicher- heitsgerichteten Automatisierungssystems, möglichst einfach und kostengünstig durchzuführen, werden bei der Erstellung eines solchen Systems möglichst viele vorzertifizierte Komponenten eingesetzt. Diese vorzertifizierten Komponenten sind beispielsweise:
- Hardwarekomponenten, wie speicherprogrammierbare Steuerung, Ein-/ Ausgabe- Module, Bussysteme, Sensoren, Aktoren;
- Firmware auf intelligenten Komponenten wie der speicherprogrammierbaren Steuerung;
- Softwarekomponenten, wie Entwicklungssystem für Programme für Automatisierungssysteme;
- Prozesse für die Entwicklung eines sicherheitsgerichteten Automatisierungssystems; und
- Organisationen, die einen solchen Prozess durchführen.
Die einzige Komponente eines sicherheitsgerichteten Automatisierungssystems, die vom geplanten Einsatz abhängig ist, daher nicht vorgefertigt und damit auch nicht vorzertifiziert werden kann, ist das Programm der speicherprogrammierbaren, insbesondere sicherheitsgerichteten, Steuerung.
Die Zertifizierung des Programms der sicherheitsgerichteten speicherprogrammierbaren Steuerung wird erleichtert, wenn das Programm strukturell und inhaltlich so gestaltet ist, dass die zertifizierende Stelle die Funktionsweise des Programms mit geringst möglichem Aufwand verstehen kann. Das kann vor allem damit erreicht werden, dass die Möglichkeiten, die die verwendete Programmiersprache für speicherprogrammierbare Steuerungen bietet, beim Einsatz für ein sicherheitsgehchtetes Automatisierungssystem eingeschränkt werden.
Solche Einschränkungen lassen sich in Form von Richtlinien darstellen, die dann beim Erstellen des Programms der sicherheitsgerichteten speicherprogrammierbaren Steuerung zu beachten sind. Die Prüfung auf die Einhaltung solcher Richtlinien für die Gestaltung von Programmen für sicherheitsgerichtete speicherprogrammierbare Steuerungen bedeutet allerdings eine zeitaufwändige und fehleranfällige Tätigkeit für das Entwicklungspersonal oder die das sicherheitsgerichtete Automatisierungssystem zertifizierende Stelle.
Im Bereich der Software-Entwicklung besteht seit Jahrzehnten für unterschiedliche Programmiersprachen die Möglichkeit eine automatische Programmprüfung durchzuführen. Man unterscheidet dabei unterschiedliche Typen von Prüfungen, wie beispielsweise
- Prüfung auf Übereinstimmung mit bestimmten Regeln, wie beispielsweise Prüfung von Syntax oder Typkompatibilität,
- Prüfung auf Korrektheit, beispielsweise Prüfung gegen Feldindex-Überlauf, Zeigerüberlauf, Speicherüberlauf, endlose Schleifen, nicht zugewiesenen oder nicht freigegebenen Speicher, nicht initialisierte Variablen oder unsichere Typumwandlungen,
- Prüfung von Laufzeiteigenschaften, wie beispielsweise Performanz- oder Stresstests. Gemäß dem Stand der Technik ist es üblich, bei sicherheitsgerichteten speicherprogrammierbaren Steuerungen Mittel zur Programmprüfung in einem Entwicklungssystem für sicherheitsgerichtete Programme zu implementieren. Diese Vorgehensweise führt zu einer zeitaufwendigen Softwareentwicklung und ist mit hohen Kosten verbunden, da das Entwicklungssystem für die Anwendung in insbesondere sicherheitsgerichteten Automatisierungssystemen vorzertifiert ist und die Integration der Mittel zur Programmprüfung in das Entwicklungssystem eine Änderung an dem Entwicklungssystem darstellt, was eine erneute Zertifizierung desselben erforderlich macht.
Der Erfindung liegt daher die Aufgabe zugrunde, eine Lösung für eine automatische Prüfung eines Programms für Automatisierungssysteme, insbesondere für sicherheitsgerichtete Automatisierungssysteme, hinsichtlich Einhaltung von Richtlinien, Regeln und Vorgaben, auch als Programmierrichtlinien bezeichnet, insbesondere von Programmierrichtlinien für die Gestaltung von Programmen für speicherprogrammierbare, insbesondere sicherheitsgerichtete, Steuerungen anzugeben.
Diese Aufgabe wird gelöst durch ein Verfahren für eine automatische Prüfung eines Programms für sicherheitsgerichtete Automatisierungssysteme, insbesondere sicherheitsgerichtete speicherprogrammierbare Steuerungen, das die im Anspruch 1 angegebenen Merkmale aufweist. Vorteilhafte Ausgestaltungen und ein entsprechendes System sind in weiteren Ansprüchen angegeben.
Mit der Erfindung wird demnach vorgeschlagen, eine automatische Prüfung von Steuerungsprogramme oder Programmteilen des Automatisierungssystems hinsichtlich der Einhaltung von Programmierrichtlinien, wie beispielsweise Richtlinien, Regeln und Vorgaben, für die Gestaltung von Programmen für, insbesondere sicherheitsgerichtete, speicherprogrammierbare Steuerungen außerhalb einer Entwicklungsumgebung für Sicherheitssoftware, auch als sicherheitsgerichtetes Programm bezeichnet, durchzuführen. Vorzugsweise betrifft die automatische Prüfung sicherheitsgerichtete Steuerungsprogramme oder Programmteile eines sicherheitsgerichteten Automatisierungssystems.
Damit lässt sich vorteilhaft eine Änderung am Entwicklungssystem vermeiden, wenn beispielsweise die Richtlinien für die Gestaltung von Programmen für sicherheitsge- richtete speicherprogrammierbare Steuerungen erstmals integriert oder nachträglich geändert werden, weil die sicherheitsgerichtete speicherprogrammierbare Steuerung für eine höhere Sicherheitsintegritätsebene auch als Safety Integrity Level bezeichnet, beispielsweise gemäß der Norm IEC 61508) zertifiziert werden soll, also an unterschiedliche Niveaus von Sicherheitsanwendungen angepasst werden soll.
Eine weitere Erläuterung der Erfindung und deren Vorteile ergeben sich aus der nachstehenden Beschreibung von Ausführungsbeispielen anhand der Figuren.
Es zeigen:
Fig. 1 einen beispielhaften Ablaufplan zum erfindungsgemäßen Verfahren und Fig. 2 eine beispielhafte Anordnung zur Durchführung des Verfahrens.
Fig. 1 zeigt in einem Ablaufplan nach dem Start eines Verfahrens zur automatisch durchzuführenden Programmprüfung als ersten Schritt einen Export einer Kopie eines Programms, auch als Originalprogramm bezeichnet, aus einem Entwicklungssystem für ein beispielhaftes sicherheitsgerichtetes Automatisierungssystem. Gemäß einem zweiten Schritt wird diese Programmkopie, auch als Sicherheitsprogramm bezeichnet, in eine, hier auch als Prüfeinrichtung bezeichnete, andere Einrichtung geladen. Diese Prüfeinrichtung ist für eine Programmprüfung eingerichtet und enthält eine für - in einem dritten Schritt durchzuführende - Programmprüfung geeignete Software, die zur Prüfung eines gegebenen Satzes an Richtlinien für die Gestaltung von Programmen für sicherheitsgerichtete speicherprogrammierbare Steuerungen, nachfolgend auch als Programmierrichtlinien bezeichnet, vorgesehen ist.
Die Programmierrichtlinien liegen vorzugsweise einer maschinenlesbaren Form vor und werden dann während des Prüfprogrammlaufes interpretiert.
Das im Entwicklungssystem erarbeitete und zu prüfende Programm kann beispielsweise in einer Programmiersprache gemäß der Norm IEC 61131 vorliegen, z.B. als Structured- Text -Programm, als Funktionsblockdiagramm oder als Kontaktplan. Wenn das Prüfergebnis besagt, dass die zu prüfende Programmkopie gemäß den Programmierrichtlinien, insbesondere den Richtlinien für die Gestaltung von Programmen für sicherheitsgerichtete speicherprogrammierbare Steuerungen, fehlerfrei ist, wird dies an das Entwicklungssystem und/oder den Programmierer ausgegeben, und der Verfahrensablauf ist damit beendet.
Werden Fehler, die Verstöße gegen die Richtlinien für die Gestaltung von Programmen für sicherheitsgerichtete speicherprogrammierbare Steuerungen darstellen, so werden diese markiert bzw. bezeichnet und/oder angezeigt. In einer vorteilhaften Ausgestaltung der Erfindung erfolgt nun eine Überarbeitung oder Korrektur des fehlerhaften Programms. Dieser Vorgang ist in der Fig. 1 als Schritt 4 dargestellt. Nach einer Überarbeitung des Originalprogramms im Entwicklungssystem wird dieses erneut exportiert und in die Prüfeinrichtung geladen.
Die Wiederholungsprozedur wird entweder so lange durchgeführt, bis keine Verstöße des zu prüfenden Programms gegen die Programmierrichtlinien mehr festgestellt werden oder bis lediglich Verstöße gegen solche Richtlinien festgestellt werden, die im vorliegenden Fall von untergeordneter Bedeutung sind, so dass dadurch keine Verzögerung der angestrebten Zertifizierung zu erwarten ist und die neue Programmversion im sicherheitsgerichteten Automatisierungssystem verwendet werden kann. Eine Festlegung der Verstöße gegen diejenigen Programmierrichtlinien, die von untergeordneter Bedeutung sind, wird vorzugsweise beim Start des erfindungsgemäßen Verfahrens durchgeführt.
Gemäß einer - nicht in Fig. 1 dargestellten - weiteren Ausführungsform des erfindungsgemäßen und vorstehend beschriebenen Verfahren kann auf den ersten Schritt, also den Export einer Kopie des Programms aus dem Entwicklungssystem verzichtet werden, wenn die Prüfeinrichtung so ausgeführt ist, das zu prüfende Sicherheitsprogramm direkt im Entwicklungssystem zu lokalisieren und automatisch, also ohne zusätzlichen Exportschritt, zu laden.
Gemäß einer weiteren Ausführungsform des erfindungsgemäßen Verfahrens wird auf den ersten Schritt, also den Export einer Programmkopie verzichtet. In diesem Fall ist die Prüfeinrichtung dafür eingerichtet, direkt im Entwicklungssystem auf das zu prüfende Sicherheitsprogramm zuzugreifen und damit die Prüfung des Programms innerhalb des Entwicklungssystems durchzuführen. Die Prüfeinrichtung verändert dabei das Programm innerhalb des Entwicklungssystems nicht, es sei denn, dass ein Anwender eine Modifikation veranlasst.
Fig. 2 zeigt beispielhaft ein System oder eine Anordnung zur Durchführung des erfindungsgemäßen Verfahrens. Dabei wirkt ein sicherheitsgerichtetes Automatisierungssystem 1 mit einem Entwicklungsrechner 2 zusammen. Das sicherheitsgerich- tete Automatisierungssystem 1 enthält eine sicherheitsgerichtete speicherprogrammierbare Steuerung 11 und eine damit kommunizierende nicht sicherheitsgerichtete speicherprogrammierbare Steuerung 12. Außerdem sind sicherheitsgerichtete Ein- /Ausgabe-Geräte 13 und nicht sicherheitsgerichtete Ein/Ausgabe-Geräte 14 vorhanden, die mittels eines Datenübertragungssystems mit den Steuerungen 11 und 12 verbunden sind.
Der Entwicklungsrechner 2 enthält ein Entwicklungssystem 21 mit einer Programmierumgebung für die Erarbeitung eines sicherheitsgerichteten Programms, auch als Sicherheitssoftware bezeichnet, und eine Prüfeinrichtung 22 zur Prüfung der Sicherheitssoftware. Ein Programmierer 3 hat sowohl auf das Entwicklungssystem 21 als auch auf die Prüfeinrichtung 22 Zugriff. Der Entwicklungsrechner 2 kann mit der sicherheitsgerichteten speicherprogrammierbaren Steuerung 11 und/oder der nicht sicherheitsgerichteten speicherprogrammierbaren Steuerung 12 verbunden sein. Die Arbeitsweise der in Fig. 2 dargestellten Anordnung entspricht dem anhand der Fig. 1 beschriebenen Ablauf.
Das erfindungsgemäße Verfahren und das entsprechende System entlasten einen Programmierer nicht nur von der zeitaufwendigen Programmprüfung, sondern sind insofern auch rückwirkungsfrei, als dass die Prüfeinrichtung keine Modifikation des Originalprogramms in dem Entwicklungssystem bewirkt. Dies ist Voraussetzung dafür, dass das Entwicklungssystem weiterhin als vorzertifiziert ohne weitere Prüfung bei der Entwicklung des Programms für das sicherheitsgerichtete System eingesetzt werden kann. Ein weiterer Vorteil besteht darin, dass eine flexible Anpassung der Programmierrichtlinien für die Gestaltung von Programmen für, insbesondere sicherheitsgerichte- te, speicherprogrammierbare Steuerungen an ein jeweils erforderliches SIL- Niveau (Safety Integrity Level) möglich ist.
Besonders vorteilhaft ist es, Modifikationen an der Prüfeinrichtung, insbesondere den zu prüfenden Richtlinien für die Gestaltung von Programmen für sicherheitsgerichtete speicherprogrammierbare Steuerungen, vorzunehmen zu können, ohne dabei das Entwicklungssystem zu verändern und dieses deswegen erneut zertifizieren zu müssen.

Claims

Patentansprüche
1. Verfahren zur automatischen Prüfung eines Programms für ein - wenigstens teilweise sicherheitsgerichtetes Automatisierungssystem (1) mit wenigstens einer sicherheitsgerichteten speicherprogrammierbaren Steuerung hinsichtlich Einhaltung von Programmierrichtlinien für die Gestaltung von Programmen für die sicherheitsgerichtete speicherprogrammierbare Steuerung, wobei,
- in einem ersten Schritt eine Kopie eines - wenigstens teilweise - sicherheitsgerichteten Programms oder eines Teils eines sicherheitsgerichteten Programms, welches in einer Programmierumgebung für die Erarbeitung eines sicherheitsgerichteten Programms in einem Entwicklungssystem (21) für Automatisierungssysteme abliegt, aus dem Entwicklungssystem (21) als zu prüfendes Programmkopie exportiert wird,
- in einem zweiten Schritt die zu prüfende Programmkopie in eine Prüfeinrichtung (22) zur Prüfung von - wenigstens teilweise - sicherheitsgerichteten Programmen geladen wird, wobei die Prüfeinrichtung (22) Zugriff auf Richtlinien für die Gestaltung von Programmen für - wenigstens teilweise - sicherheitsgerichtete speicherprogrammierbare Steuerungen hat, und
- in einem dritten Schritt dort die Programmprüfung hinsichtlich einer Einhaltung der Programmierrichtlinien für die Gestaltung von Programmen für - wenigstens teilweise - sicherheits- gerichtete speicherprogrammierbare Steuerungen automatisch durchgeführt und das Prüfergebnis ausgegeben wird.
2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass in einem vierten Schritt eine bei der Prüfung als fehlerhaft ermittelte Programm-Kopie überarbeitet und erneut geprüft wird, bis entweder Fehlerfreiheit erreicht ist, oder eine verbleibende Abweichung von Programmierrichtlinien als unkritisch erkannt und die Prüfung abgeschlossen wird.
3. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Programmierrichtlinien in maschinenlesbarer Form vorliegen und während des Prüfprogrammlaufes interpretiert werden.
4 Verfahren nach einem der vorstehenden Ansprüche, dadurch abgewandelt, dass anstelle eines besonderen Exports der Programmkopie gemäß dem ersten Schritt, mittels der Prüfeinrichtung (22) das zu prüfende Sicherheitsprogramm direkt im Entwicklungssystem lokalisiert wird und automatisch geladen wird
5. Verfahren nach einem der Ansprüche 1 bis 3, dadurch abgewandelt, dass anstelle eines besonderen Exports der Programmkopie gemäß dem ersten Schritt, mittels der Prüfeinrichtung (22) auf das zu prüfende Sicherheitsprogramm direkt im Entwicklungssystem zugegriffen wird und auf dieser Grundlage die Prüfung des Sicherheitsprogramms innerhalb des Entwicklungssystems durchgeführt wird.
6. System zur Durchführung des Verfahrens gemäß Anspruch 1 , wobei
- ein - wenigstens teilweise - sicherheitsgerichtetes Automatisierungssystem (1) mit einem Entwicklungsrechner (2) zusammenwirkt,
- der Entwicklungsrechner (2) ein Entwicklungssystem (21) mit einer Programmierumgebung für die Erarbeitung eines - wenigstens teilweise - sicherheitsgerichteten Programms und eine Prüfeinrichtung (22) zur Prüfung einer zuvor geladenen Kopie des - wenigstens teilweise - sicherheitsgerichteten Programms enthält, und
- die Prüfeinrichtung (22), automatisch die Prüfung des - wenigstens teilweise - sicherheitsgerichteten Programms bezüglich der Einhaltung von Programmierrichtlinien für die Gestaltung von Programmen für - wenigstens teilweise - sicherheitsgerichtete speicherprogrammierbare Steuerungen durchführt und das Prüfergebnis ausgibt.
7. System nach Anspruch 6, dadurch gekennzeichnet, dass die Prüfeinrichtung (22) eine bei der Prüfung auf der Grundlage der Programmierrichtlinien als fehlerhaft ermittelte Programm-Kopie überarbeitet und erneut geprüft, bis entweder Fehlerfreiheit erreicht ist, oder eine verbleibende Abweichung von Programmierrichtlinien als unkritisch erkannt und die Prüfung abgeschlossen ist.
8. System nach Anspruch 6 bis 7, dadurch gekennzeichnet, dass die Pro- grammierrichtlinien in maschinenlesbarer Form vorliegen und während des Prüfprogrammlaufes interpretierbar sind.
9. System nach Anspruch 7 bis 8, dadurch gekennzeichnet, die Prüfeinrichtung (22) das zu prüfende sicherheitsgerichtete Programm direkt im Entwicklungssystem lokalisiert und automatisch lädt.
10. System nach Anspruch 7 bis 8, dadurch gekennzeichnet, dass, die Prüfeinrichtung direkt im Entwicklungssystem auf das zu prüfende sicherheitsgerichtete Programm zugreift und die Prüfung des Sicherheitsprogramms durchführt.
11. System nach Anspruch 7 bis 10, dadurch gekennzeichnet, dass die Programmierrichtlinien Richtlinien, Regeln und Vorgaben, insbesondere Programmierrichtlinien für die Gestaltung von Programmen für speicherprogrammierbare, insbesondere sicherheitsgerichtete, Steuerungen sind.
12. System nach Anspruch 7 bis 11 , dadurch gekennzeichnet, dass das Entwicklungssystem (21) eine vorzertifizierte Komponente ist.
EP10711561A 2009-03-27 2010-03-11 System und verfahren zur automatischen prüfung eines programms für sicherheitsgerichtete automatisierungssysteme Withdrawn EP2411878A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102009014698A DE102009014698A1 (de) 2009-03-27 2009-03-27 System und Verfahren zur automatischen Prüfung eines Programms für sicherheitsgerichtete Automatisierungssysteme
PCT/EP2010/001503 WO2010108594A1 (de) 2009-03-27 2010-03-11 System und verfahren zur automatischen prüfung eines programms für sicherheitsgerichtete automatisierungssysteme

Publications (1)

Publication Number Publication Date
EP2411878A1 true EP2411878A1 (de) 2012-02-01

Family

ID=42315587

Family Applications (1)

Application Number Title Priority Date Filing Date
EP10711561A Withdrawn EP2411878A1 (de) 2009-03-27 2010-03-11 System und verfahren zur automatischen prüfung eines programms für sicherheitsgerichtete automatisierungssysteme

Country Status (5)

Country Link
US (1) US8539448B2 (de)
EP (1) EP2411878A1 (de)
CN (1) CN102395928A (de)
DE (1) DE102009014698A1 (de)
WO (1) WO2010108594A1 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009054157C5 (de) * 2009-11-23 2014-10-23 Abb Ag Steuerungssystem zum Steuern von sicherheitskritischen und nichtsicherheitskritischen Prozessen
CN102566562A (zh) * 2010-12-07 2012-07-11 镇江灵芯软件实验室有限公司 一种对plc程序自动测试的方法
CN103019930A (zh) * 2012-11-15 2013-04-03 陈钢 一种针对含有时间控制的plc程序自动测试的方法
US9582389B2 (en) * 2013-07-10 2017-02-28 International Business Machines Corporation Automated verification of appliance procedures
CN103761184B (zh) * 2013-12-31 2017-01-04 华为技术有限公司 程序的代码段测试方法、装置和系统
US10025287B2 (en) * 2015-03-30 2018-07-17 Rockwell Automation Germany Gmbh & Co. Kg Method for assignment of verification numbers
JP6540561B2 (ja) * 2016-03-14 2019-07-10 オムロン株式会社 評価システム、評価プログラムおよび評価方法
GB2551517B (en) 2016-06-20 2020-06-03 Jaguar Land Rover Ltd Software interlock
EP3845984B1 (de) * 2019-12-31 2025-09-10 Schneider Electric Systems USA, Inc. Sicheres netzwerk von sicherheits-sps für industrieanlagen

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5233611A (en) * 1990-08-20 1993-08-03 International Business Machines Corporation Automated function testing of application programs
US6071316A (en) * 1997-09-29 2000-06-06 Honeywell Inc. Automated validation and verification of computer software
US6243835B1 (en) * 1998-01-30 2001-06-05 Fujitsu Limited Test specification generation system and storage medium storing a test specification generation program
US6353924B1 (en) * 1999-02-08 2002-03-05 Incert Software Corporation Method for back tracing program execution
US6634019B1 (en) * 1999-07-16 2003-10-14 Lamarck, Inc. Toggling software characteristics in a fault tolerant and combinatorial software environment system, method and medium
US6546547B1 (en) * 1999-09-22 2003-04-08 Cisco Technology, Inc. Method and system for an automated net booting tool
US6784883B1 (en) * 2001-06-28 2004-08-31 Microsoft Corporation Dynamic tree-node property page extensions
US7003765B1 (en) * 2001-12-12 2006-02-21 Oracle International Corporation Computer-based pre-execution analysis and verification utility for shell scripts
US7216339B2 (en) * 2003-03-14 2007-05-08 Lockheed Martin Corporation System and method of determining software maturity using Bayesian design of experiments
EP1627303A4 (de) * 2003-04-18 2009-01-14 Ounce Labs Inc Verfahren und system zum nachweis von schwachstellen in quellcodes
US7152227B1 (en) * 2003-06-17 2006-12-19 Xilinx, Inc. Automated assessment of programming language coverage by one or more test programs
US7421680B2 (en) * 2003-09-22 2008-09-02 Microsoft Corporation Persisted specifications of method pre-and post-conditions for static checking
US7027880B2 (en) * 2003-09-30 2006-04-11 Rockwell Automation Technologies, Inc. Safety controller providing rapid recovery of safety program data
US7584455B2 (en) * 2003-10-23 2009-09-01 Microsoft Corporation Predicate-based test coverage and generation
US7707557B1 (en) * 2003-12-30 2010-04-27 Sap Ag Execution of modified byte code for debugging, testing and/or monitoring of object oriented software
US7340725B1 (en) * 2004-03-31 2008-03-04 Microsoft Corporation Smart test attributes and test case scenario in object oriented programming environment
EP1637956A1 (de) * 2004-09-15 2006-03-22 Ubs Ag Erzeugung anonymisierter Datensätze zum Testen und Entwickeln von Anwendungen
US7716641B2 (en) * 2004-12-01 2010-05-11 Microsoft Corporation Method and system for automatically identifying and marking subsets of localizable resources
CN100347682C (zh) * 2004-12-08 2007-11-07 上海科泰世纪科技有限公司 自动化测试构建方法
US7770153B2 (en) * 2005-05-20 2010-08-03 Microsoft Corporation Heap-based bug identification using anomaly detection
CN100377109C (zh) * 2005-11-07 2008-03-26 华为技术有限公司 一种利用测试套完成产品自动化测试的方法
US7730453B2 (en) * 2005-12-13 2010-06-01 Microsoft Corporation Runtime detection for invalid use of zero-length memory allocations
US8117600B1 (en) * 2005-12-29 2012-02-14 Symantec Operating Corporation System and method for detecting in-line synchronization primitives in binary applications
US8104021B2 (en) * 2006-06-09 2012-01-24 Microsoft Corporation Verifiable integrity guarantees for machine code programs
DE102007043214A1 (de) * 2007-09-11 2009-03-12 Delta Electronics, Inc. Verfahren zum Editieren eines Programms für eine programmierbare logische Steuerung (PLC)
US8122436B2 (en) * 2007-11-16 2012-02-21 Microsoft Corporation Privacy enhanced error reports
US8276123B1 (en) * 2008-07-22 2012-09-25 Juniper Networks, Inc. Adaptive regression test selection within testing environments

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2010108594A1 *

Also Published As

Publication number Publication date
US8539448B2 (en) 2013-09-17
DE102009014698A1 (de) 2010-10-07
WO2010108594A1 (de) 2010-09-30
CN102395928A (zh) 2012-03-28
US20120036499A1 (en) 2012-02-09

Similar Documents

Publication Publication Date Title
WO2010108594A1 (de) System und verfahren zur automatischen prüfung eines programms für sicherheitsgerichtete automatisierungssysteme
WO2013004389A1 (de) Verfahren und vorrichtung zur programmierung und konfigurierung einer speicherprogrammierbaren steuereinrichtung
EP1906377A1 (de) System und Verfahren zur Integration eines Prozessleitsystems in einen Trainingssimulator
EP2911024A1 (de) Verfahren zur Inbetriebnahme eines industriellen Automatisierungsnetzwerks sowie Feldgerät
DE102016119320A1 (de) Verfahren zum Konfigurieren eines realen oder virtuellen elektronischen Steuergerätes
DE102005042126A1 (de) Verfahren und Vorrichtung zum automatisierten Bewerten der Qualität eines Software-Quellcodes
DE102014101321A1 (de) Testeinrichtung zum Test eines virtuellen Steuergeräts
EP3306295A1 (de) Verfahren und vorrichtung zum testen elektronischer steuerungen, insbesondere zum testen von automobilsteuerungen
EP1904923A1 (de) Verfahren und softwaresystem zur konfiguration eines modularen systems
DE102008043374A1 (de) Vorrichtung und Verfahren zur Generierung redundanter, aber unterschiedlicher Maschinencodes aus einem Quellcode zur Verifizierung für ein sicherheitskritisches System
EP3349082A1 (de) System und simulator zur abschaltbaren simulation von anlagen oder maschinen innerhalb von speicherprogrammierbaren steuerungen
DE102021132302A1 (de) Compilervalidierung
DE102009004531B4 (de) Verfahren zum Verifizieren eines Fertigungsprozesses
DE102021208759A1 (de) Verfahren zum Trainieren eines Algorithmus des maschinellen Lernens zum Erzeugen von Testspezifikationen zum Testen eines auf Software basierenden Systems
EP3702922A1 (de) Verfahren zur rechnergestützten validierung von eingebetteter software
DE102023126332A1 (de) Verfahren zum Generieren eines Steuerprogramms für ein Automatisierungssystem und Entwicklungsumgebung
DE102020213809A1 (de) Verfahren zum Betreiben eines Steuergeräts beim Testen einer Software des Steuergeräts und Verfahren zum Betreiben eines Testcomputers beim Testen einer Software eines Steuergeräts
DE102020109093A1 (de) Verfahren zur Überprüfung der zuverlässigen Funktion eines automatisierungstechnischen Prozesses innerhalb eines IO-Link-Systems
EP3696621A1 (de) Computerimplementiertes verfahren und vorrichtung zum steuern eines modularen technischen systems
DE102010014720A1 (de) Verfahren zum Verifizieren eines aus einem Quellmodell generierten Zielprogramms
EP2864845A1 (de) Automatisierte rekonfiguration eines ereignisdiskreten regelkreises
EP4509992A1 (de) Test von automatisierungsanwendungen
EP2418583A1 (de) Prüfeinrichtung für einen Programmteil einer industriellen Automatisierungsanordnung
DE102012203252A1 (de) Vorrichtung und Verfahren zum Testen von elektronischen Geräten mit einer räumlich getrennten Steuereinrichtung
DE102023205751A1 (de) Rechnergestütztes Verfahren zur automatisierten Erzeugung und Verifizierung eines Computerprogramms

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20110914

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO SE SI SK SM TR

RIN1 Information on inventor provided before grant (corrected)

Inventor name: NEUPAERTL, HEINRICH

Inventor name: GRAMBERG, OLIVER

Inventor name: VERYHA, YAUHENI

Inventor name: DRATH, RAINER

Inventor name: HOERNICKE, MARIO

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20120912

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20171003