DE102021123596A1 - Technique for providing diagnostic functionality for a programmable logic controller based application - Google Patents

Technique for providing diagnostic functionality for a programmable logic controller based application Download PDF

Info

Publication number
DE102021123596A1
DE102021123596A1 DE102021123596.0A DE102021123596A DE102021123596A1 DE 102021123596 A1 DE102021123596 A1 DE 102021123596A1 DE 102021123596 A DE102021123596 A DE 102021123596A DE 102021123596 A1 DE102021123596 A1 DE 102021123596A1
Authority
DE
Germany
Prior art keywords
diagnostic
message
data
diagnosis
iec
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.)
Pending
Application number
DE102021123596.0A
Other languages
German (de)
Inventor
Andreas Würger
Andreas Lange
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.)
Phoenix Contact GmbH and Co KG
Original Assignee
Phoenix Contact 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
Application filed by Phoenix Contact GmbH and Co KG filed Critical Phoenix Contact GmbH and Co KG
Priority to DE102021123596.0A priority Critical patent/DE102021123596A1/en
Publication of DE102021123596A1 publication Critical patent/DE102021123596A1/en
Pending legal-status Critical Current

Links

Images

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

Landscapes

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

Abstract

Die Erfindung betrifft eine Technik zur Bereitstellung einer Diagnosefunktionalität für eine auf einer speicherprogrammierbaren Steuerung, SPS, basierenden Anwendung, vorzugsweise für eine auf einer speicherprogrammierbaren Steuerung basierenden Fernwirk-Außenstation, RTU. Die Technik umfasst eine Bereitstellung eines IEC-61131-Frameworks (1) zur Erstellung eines Steuerungsprogramms (8) in mindestens einer IEC-61131-konformen Programmiersprache für eine SPS, vorzugsweise für eine SPS zur Steuerung einer RTU. Hierbei ist das IEC-61131-Framework (1) ferner ausgebildet, mehrere Funktionsbausteine (2) bereitzustellen, mittels derer die Diagnosefunktionalität in der mindestens einen IEC-61131-konformen Programmiersprache erstellbar ist. Die mehreren Funktionsbausteine (2) umfassen einen Diagnoseserver-Funktionsbaustein (3) zur Instanziierung eines Diagnoseservers (30) zum Datenaustausch von Diagnosedaten mit einem Diagnoseclient (6), mindestens einen Nachrichten-Funktionsbaustein (4) zur Instanziierung mindestens eines Nachrichtenelements (4a), das ausgebildet ist, bei einem Aufruf des instanziierten Nachrichtenelementes eine Diagnosenachricht in eine Datenaustauschstruktur (5a) zu schreiben, und einen Strukturdatentyp (5) zur Bereitstellung der Datenaustauschdatenstruktur (5a) zum Datenaustausch zwischen dem instanziierten mindestens einen Nachrichtenelement (4a) und dem instanziierten Diagnoseserver (30).The invention relates to a technique for providing a diagnostic functionality for an application based on a programmable logic controller, SPS, preferably for a remote control outstation, RTU, based on a programmable logic controller. The technology includes providing an IEC 61131 framework (1) for creating a control program (8) in at least one IEC 61131-compliant programming language for a PLC, preferably for a PLC for controlling an RTU. In this case, the IEC 61131 framework (1) is also designed to provide a number of function modules (2) by means of which the diagnostic functionality can be created in the at least one IEC 61131-compliant programming language. The multiple function modules (2) include a diagnostic server function module (3) for instantiating a diagnostic server (30) for exchanging diagnostic data with a diagnostic client (6), at least one message function module (4) for instantiating at least one message element (4a), the is designed to write a diagnosis message in a data exchange structure (5a) when the instantiated message element is called, and a structure data type (5) for providing the data exchange data structure (5a) for data exchange between the instantiated at least one message element (4a) and the instantiated diagnosis server (30 ).

Description

Die Erfindung betrifft eine Technik zur Bereitstellung einer Diagnosefunktionalität für eine auf einer speicherprogrammierbaren Steuerung basierenden Anwendung, vorzugsweise für eine auf einer speicherprogrammierbaren Steuerung basierenden Fernwirk-Außenstation.The invention relates to a technique for providing a diagnostic functionality for an application based on a programmable logic controller, preferably for a telecontrol outstation based on a programmable logic controller.

Eine speicherprogrammierbare Steuerung (SPS, englisch: programmable logic controller, PLC) ist ein Gerät, das zur Steuerung oder Regelung einer Maschine oder Anlage eingesetzt und auf digitaler Basis programmiert wird. Derartige Maschinen oder Anlagen mit mindestens einer SPS werden z. B. als automatisierungstechnische Anlage bezeichnet. Zur Programmierung der SPS sind aus der Praxis eine Vielzahl unterschiedlicher SPS-Engineering-Werkzeuge und Frameworks bekannt.A programmable logic controller (PLC) is a device that is used to control or regulate a machine or system and is programmed on a digital basis. Such machines or systems with at least one PLC are z. B. referred to as an automation system. A large number of different PLC engineering tools and frameworks are known from practice for programming the PLC.

Die Europäische Norm EN 61131, die auf der internationalen Norm IEC 61131 basiert, befasst sich mit den Grundlagen speicherprogrammierbarer Steuerungen. Die Norm IEC 61131-3 (auch DIN EN 61131-3) ist ein internationaler Standard für Programmiersprachen von SPSen. Ihr Ziel besteht in der Standardisierung der Programmierung der Steuerungssoftware für SPSen. Dabei sollen Programmiersprachen herstellerunabhängig in einem einheitlichen Organisationskonzept (POE - Programm-Organisationseinheiten) mit der Pflicht zur Variablendeklaration unter Verwendung von elementaren und abgeleiteten Datentypen angewendet werden. Die Norm EN 61131-3 legt die Syntax und Semantik einer vereinheitlichten Reihe von Programmiersprachen für SPSen fest.The European standard EN 61131, which is based on the international standard IEC 61131, deals with the basics of programmable logic controllers. The IEC 61131-3 standard (also DIN EN 61131-3) is an international standard for PLC programming languages. Their goal is to standardize the programming of control software for PLCs. Programming languages should be used independently of manufacturers in a uniform organizational concept (POU - program organization units) with the obligation to declare variables using elementary and derived data types. The EN 61131-3 standard defines the syntax and semantics of a unified set of programming languages for PLCs.

Die IEC-61131-konformen Programmiersprachen bieten eine hohe Anzahl an Freiheitsgraden, die dem Techniker die Möglichkeit bieten, das Steuerungsprogramm gemäß seinen Vorstellungen zu realisieren und Zusatzfunktionen, z. B. komplexe Logiken, vorzusehen.The IEC 61131-compliant programming languages offer a large number of degrees of freedom, which offer the technician the opportunity to implement the control program according to his ideas and additional functions, e.g. B. complex logics to provide.

Daher werden vermehrt auch die Steuerungen von Fernwirk-Außenstationen (englisch: remote terminal unit, RTU) mittels der IEC-61131-konformen Programmiersprachen erstellt. Eine RTU dient ebenfalls zur Steuerung oder Regelung einer Maschine oder Anlage und wird auf digitaler Basis programmiert, wobei die RTU ferner für große Distanzen zu einer Leitstation und robuster gegenüber äußeren Einflüssen, z. B. hoher Temperatur und/oder Feuchtigkeit, ausgelegt sein können. Üblicherweise werden RTU herstellerabhängig programmiert.For this reason, the controllers of remote terminal units (RTU) are increasingly being created using the IEC 61131-compliant programming languages. An RTU is also used to control or regulate a machine or system and is programmed on a digital basis. B. high temperature and / or humidity can be designed. RTUs are usually programmed depending on the manufacturer.

Neben den Steuerprogrammen für SPSen bzw. RTUs ist ferner bekannt, zusätzlich Diagnosefunktionalitäten vorzusehen, um Fehler zu protokollieren und auszugeben, die bei der Programmierung einer SPS bzw. RTU, d.h. bei der Erstellung des entsprechenden Steuerungsprogramms, oder im Betrieb der SPS bzw. RTU auftreten.In addition to the control programs for PLCs or RTUs, it is also known to provide additional diagnostic functionalities in order to log and output errors that occur when programming a PLC or RTU, i.e. when creating the corresponding control program, or during operation of the PLC or RTU .

Diagnosefunktionalitäten in Form von Textmeldesystemen sind heute meist in SPS-Engineering-Werkzeugen oder Visualisierungen integriert. Bei Visualisierungen handelt es sich z. B. um eine Mensch-Maschinen-Schnittstelle der automatisierungstechnischen Anlage bzw. zur Visualisierung des Steuerungsvorgangs der SPS, d. h. um eine grafische Oberfläche zur Überwachung und/oder Steuerung der SPS, z. B. an einer entfernten Leitstation.Diagnostic functionalities in the form of text message systems are mostly integrated in PLC engineering tools or visualizations today. Visualizations are e.g. B. to a human-machine interface of the automation system or to visualize the control process of the PLC, d. H. to create a graphical interface for monitoring and/or controlling the PLC, e.g. B. at a remote control station.

Im SPS-Engineering-Werkzeug finden sich z. B. Logging-Mechanismen, mit denen sich Daten live aus dem laufenden Steuerungsprogramm mitschneiden lassen. Im Visualisierungs-Engineering finden sich Alarm-Managementsysteme, in denen Alarm-Ereignisse definiert werden. Bei Auftreten dieser Alarm-Ereignisse werden Textmeldungen auf der entsprechenden Visualisierung ausgegeben. Diese bekannten Diagnosefunktionalitäten haben jedoch verschiedene Nachteile.The PLC engineering tool contains e.g. B. Logging mechanisms with which data can be recorded live from the running control program. Alarm management systems in which alarm events are defined can be found in visualization engineering. When these alarm events occur, text messages are output on the corresponding visualization. However, these known diagnostic functionalities have various disadvantages.

So muss zur Anzeige der Textmeldungen entweder das SPS-Engineering-Werkzeug oder die Visualisierung aufgerufen werden. Muss das SPS-Engineering-Werkzeug oder eine spezielle Visualisierungssoftware aufgerufen werden, ist dies ein Nachteil, da diese Software nicht auf jedem Rechnersystem installiert ist. Muss die Visualisierung z. B. in Form einer Web-Visualisierung aufgerufen werden, ist dies ggf. ein Nachteil, da nicht jeder Browser die benötigten Technologien, z. B. Java, etc., unterstützt und/oder nicht jede Firmen-IT-Sicherheitsrichtlinie die Aktivierung der benötigten Technologien zulässt.To display the text messages, either the PLC engineering tool or the visualization must be called. If the PLC engineering tool or special visualization software has to be called up, this is a disadvantage, since this software is not installed on every computer system. Does the visualization have to B. in the form of a web visualization, this may be a disadvantage, since not every browser has the required technologies, e.g. B. Java, etc., supported and / or not every company IT security policy allows the activation of the required technologies.

Als Teil der SPS -Engineering-Werkzeuge oder der Visualisierungen sind die bekannten Diagnosefunktionalitäten ferner herstellerabhängig. Daher ist eine Integration in herstellerunabhängig definierten IEC-61131-Code, z. B. als PLCopen XML, nicht möglich.As part of the PLC engineering tools or the visualizations, the known diagnostic functionalities are also manufacturer-dependent. Therefore, integration into manufacturer-independently defined IEC 61131 code, e.g. B. as PLCopen XML, not possible.

Ferner sind die bekannten Diagnosefunktionalitäten üblicherweise jeweils nur für eine Lebensphase des SPS-Programms, d.h. bei Erstellung oder im Betrieb, relevant, und/oder laufen nicht direkt im Echtzeitsystem, wodurch zyklusgenaues Logging meist nicht möglich ist.Furthermore, the known diagnostic functionalities are usually only relevant for one life phase of the PLC program, i.e. during creation or during operation, and/or do not run directly in the real-time system, which means that cycle-precise logging is usually not possible.

Es ist eine daher Aufgabe der Erfindung, eine verbesserte Technik zur Bereitstellung einer Diagnosefunktionalität für eine auf einer SPS basierenden Anwendung, vorzugsweise für eine auf einer SPS basierenden RTU, bereitzustellen, mit der Nachteile herkömmlicher Ansätze vermieden werden können. Die Aufgabe der Erfindung ist es insbesondere, eine solche Technik bereitzustellen, die eine vereinfachte Erstellung der Diagnosefunktionalität und einen flexibleren Einsatz der erstellten Diagnosefunktionalität ermöglicht.It is therefore an object of the invention to provide an improved technique for providing diagnostic functionality for a PLC-based application, preferably for a PLC-based RTU, with which disadvantages of conventional approaches can be avoided. The object of the invention is in particular to provide such a technique that a simplified Creation of the diagnostic functionality and a more flexible use of the created diagnostic functionality.

Diese Aufgaben werden durch Vorrichtungen und Verfahren mit den Merkmalen der unabhängigen Ansprüche gelöst. Vorteilhafte Weiterbildungen sind in den abhängigen Ansprüchen und der Beschreibung angegeben.These objects are solved by devices and methods having the features of the independent claims. Advantageous developments are specified in the dependent claims and the description.

Unter dem Begriff IEC-61131-Framework wird vorliegend ein Programmiergerüst verstanden, das für den Techniker einen vorprogrammierten Rahmen bereitstellt, innerhalb dessen dieser eine anwendungsspezifische zu der Norm IEC 61131-3 konforme Programmierung eines Steuerungsprogramms erstellen kann. Ein derartiges Framework wird in der Praxis und in diesem Dokument auch als Programmiergerüst zur Erstellung einer Steuerung einer speicherprogrammierbaren Steuerung (SPS) bzw. einer auf einer speicherprogrammierbaren Steuerung basierenden Fernwirk-Außenstation (RTU) bezeichnet. Ein solches Framework (Programmiergerüst) ist und/oder umfasst Sammlungen von Codestücken, vorgefertigten Programmgerüsten, Funktionen, Funktionsbausteinen, etc. mit denen eine Programmieraufgabe schneller gelöst werden kann. Vorliegend wird ein solches IEC-61131-Framework bereitgestellt, dass ferner zur Erstellung einer Diagnosefunktionalität ausgebildet ist.In the present case, the term IEC 61131 framework is understood to mean a programming framework that provides the technician with a preprogrammed framework within which he can create application-specific programming of a control program that conforms to the IEC 61131-3 standard. In practice and in this document, such a framework is also referred to as a programming framework for creating a controller for a programmable logic controller (PLC) or a telecontrol outstation (RTU) based on a programmable logic controller. Such a framework (programming structure) is and/or includes collections of pieces of code, ready-made program structures, functions, function blocks, etc. with which a programming task can be solved more quickly. In the present case, such an IEC 61131 framework is provided that is also designed to create a diagnostic functionality.

Ein derartiges Framework stellt somit ein Programmiergerüst für die Applikationsentwicklung für SPSen allgemein dar. Einzelne Funktionen, Elemente und Bausteine sind bereits im Framework (Programmiergerüst) enthalten oder vorprogrammiert, die in diesem Dokument als Funktionsbausteine bezeichnet sind, und müssen deshalb nicht immer wieder neu programmiert werden und können bei der Entwicklung verschiedenster Steuerungsprogramme und Diagnosefunktionalitäten wiederverwendet werden. Das vereinfacht die Arbeit des Technikers nachhaltig und verbessert den Nutzen, die Effizienz, Schnelligkeit, Fehlerfreiheit, und Qualität etc.Such a framework thus represents a programming structure for the application development for PLCs in general. Individual functions, elements and modules are already contained in the framework (programming structure) or are pre-programmed, which are referred to as function modules in this document and therefore do not have to be reprogrammed again and again and can be reused in the development of various control programs and diagnostic functionalities. This simplifies the work of the technician in the long term and improves the benefit, efficiency, speed, freedom from errors and quality, etc.

Das Steuerungsprogramm für eine SPS kann somit anhand der im Framework enthaltenen Funktionsbausteinen modular aufgebaut sein. Steuerungs-Funktionsbausteine, welche für die Steuerung der Maschine mittels der SPS relevant sind, können vom Techniker ausgewählt, gegebenenfalls konfiguriert (parametrisiert) und instanziiert werden. Den einzelnen instanziierten Steuerungs-Funktionsbausteinen können einzelne Funktionen zur Überwachung, Steuerung und/oder Regelung der Maschine zukommen. Die SPS ist üblicherweise z. B. mit Sensoren und Aktoren an der Maschine angebunden. Die Sensoren sind an die Eingänge der SPS geschaltet und übermitteln u.a. Zustandsparameter der Maschine an die SPS, wobei die Sensoren z. B. Temperaturfühler, Füllstandsensoren oder Positionssensoren sein können. Die Aktoren, welche jeweils zur Bewegungssteuerung eines oder mehrerer Maschinenbauteile ausgebildet sind, sind an den Ausgängen der SPS angeschlossen und können mittels des Steuerungsprogramms angesteuert werden. Aktoren sind z. B. ansteuerbare Ventile für Hydraulik oder Druckluft, oder Komponenten für Antriebssteuerungen, beispielsweise Drehzahl- oder Schrittmotorsteuerungen.The control program for a PLC can thus have a modular structure based on the function blocks contained in the framework. Control function blocks that are relevant for controlling the machine using the PLC can be selected, configured (parameterized) and instantiated if necessary by the technician. The individual instantiated control function modules can have individual functions for monitoring, controlling and/or regulating the machine. The PLC is usually z. B. connected to sensors and actuators on the machine. The sensors are connected to the inputs of the PLC and transmit, among other things, status parameters of the machine to the PLC. B. can be temperature sensors, level sensors or position sensors. The actuators, which are each designed to control the movement of one or more machine components, are connected to the outputs of the PLC and can be controlled using the control program. Actors are e.g. B. controllable valves for hydraulics or compressed air, or components for drive controls, such as speed or stepper motor controls.

Wird in diesem Dokument von Diagnosefunktionalität oder Diagnosesystem gesprochen, ist eine Textmeldefunktionalität oder ein Textmeldesystem im Kontext speicherprogrammierbarer Steuerungen (SPSen) gemeint. Eine solche Funktionalität bzw. ein solches System stellt Textmeldungen mit Zusatzinformationen (z. B. Zeitstempel) zu Diagnosezwecken bereit. Inhalt der Textmeldungen sind Diagnoseinformationen aus dem laufenden IEC-61131-Programm.If diagnostic functionality or a diagnostic system is mentioned in this document, this means a text message functionality or a text message system in the context of programmable logic controllers (PLCs). Such a functionality or such a system provides text messages with additional information (e.g. time stamp) for diagnostic purposes. The text messages contain diagnostic information from the current IEC 61131 program.

Die Diagnosefunktionalität dient somit zur Überwachung von Vorgängen der SPS, z. B. von Daten und/oder Signalen, die durch einen instanziierten Steuerungs-Funktionsbaustein von der Maschine oder einem anderen instanziierten Steuerungs-Funktionsbaustein empfangen werden, die von dem instanziierten Steuerungs-Funktionsbaustein verarbeitet bzw. erzeugt werden, und/oder die von dem instanziierten Steuerungs-Funktionsbaustein an die Maschine oder an ein anderes instanziierten Steuerungs-Funktionsbaustein gesendet werden.The diagnostic functionality is therefore used to monitor processes in the PLC, e.g. B. of data and / or signals that are received by an instantiated control function block from the machine or another instantiated control function block, which are processed or generated by the instantiated control function block, and / or by the instantiated controller -Function block can be sent to the machine or to another instantiated control function block.

Ähnlich wie das Steuerungsprogramm der SPS kann auch die Diagnosefunktionalität mittels Funktionsbausteinen des Frameworks erstellbar sein. Die Funktionsbausteine können im instanziierten Zustand konfigurierbare und/oder konfigurierte Diagnosefunktionen (Unterfunktionen) bereitstellen, die in diesem Dokument als Nachrichtenelemente bezeichnet werden. Diese Diagnosefunktionen (Unterfunktionen) sind vorzugsweise jeweils derart ausgebildet (konfiguriert), mit einem oder mehreren Steuerungs-Funktionsbaustein zu interagieren, die oben genannten Daten und/oder Signalen auslesen und entsprechende Diagnoseinformationen erstellen zu können. Die Diagnosefunktionalität kann vorsehen, relevante Informationen aus den ausgelesenen Daten und/oder Signalen herauszufiltern, z. B. wenn bei der Datenerzeugung durch eine instanziierte Steuerungs-Funktionsbaustein eine Fehlermeldung aufgetreten ist bzw. fehlerhafte Daten erzeugt wurden, oder wenn ein empfangener Zustandsparameter der Maschine außerhalb eines vorbestimmten Bereichs liegt. Die ausgelesenen und gegebenenfalls herausgefilterten Daten und/oder Signale werden aufbereitet, um anschließend einem Benutzer der SPS angezeigt werden zu können. Anhand dieser Informationen kann der Benutzer feststellen, ob mögliche SPS-interne Probleme oder Probleme der Maschine vorliegen, und kann entsprechende Gegenmaßnahmen einleiten.Similar to the control program of the PLC, the diagnostic functionality can also be created using function blocks of the framework. In the instantiated state, the function blocks can provide configurable and/or configured diagnostic functions (subfunctions), which are referred to as message elements in this document. These diagnostic functions (subfunctions) are preferably each designed (configured) to interact with one or more control function modules, to read out the above-mentioned data and/or signals and to be able to create corresponding diagnostic information. The diagnostic functionality can provide for filtering out relevant information from the read data and/or signals, e.g. B. if an error message has occurred during data generation by an instantiated control function module or faulty data has been generated, or if a received status parameter of the machine is outside a predetermined range. The data and/or signals that have been read out and possibly filtered out are processed so that they can then be sent to a user to be able to be displayed by the PLC. Based on this information, the user can determine whether there are possible PLC-internal problems or machine problems and can initiate appropriate countermeasures.

Anhand der Diagnosefunktionalität können über alle Lebensphasen des Steuerungsprogramms (SPS-Programms), in das es integriert ist, Diagnoseinformationen aus dem laufenden IEC-61131-Programm ausgegeben werden. Während der Erstellung des Steuerungsprogramms kann sich der Techniker z. B. direkt Informationen aus dem, im Rahmen von Entwicklertests, laufenden Code ausgeben lassen. Während der Inbetriebnahme der Maschine bzw. Anlage können z. B. für die Inbetriebnehmer relevante Informationen ausgegeben werden. Während des Betriebs der Maschine bzw. Anlage können z. B. für das Wartungspersonal relevante Informationen ausgegeben werden.Using the diagnostic functionality, diagnostic information from the running IEC 61131 program can be output over all life phases of the control program (PLC program) in which it is integrated. During the creation of the control program, the technician z. B. directly display information from the running code as part of developer tests. During the commissioning of the machine or system, e.g. B. Information relevant to the commissioning engineer can be output. During operation of the machine or system z. B. information relevant to maintenance personnel can be output.

Ein Grundgedanke der vorliegenden Erfindung besteht darin, eine ganzheitliche Technik bereitzustellen, bei der die Diagnosefunktionalität mit all ihren Elementen ausschließlich in SPS-typischen IEC-61131-Progammiersprachen entwickelt wird. Ferner kann sich die Diagnosefunktionalität in beliebige IEC-61131-Frameworks integrieren lassen. Entsprechend können die Diagnosefunktionalität und das SPS-Steuerungsprogramm mit demselben Engineering-Verfahren und bevorzugt demselben Engineering-Werkzeug (Engineering-Framework) erstellt werden. Ferner ist die erstellte Diagnosefunktionalität dadurch unabhängig vom Typ und Hersteller der SPS bzw. RTU und kann in derselben Echtzeitumgebung laufen wie das eigentliche Steuerprogramm für die SPS bzw. RTU.A basic idea of the present invention is to provide an integrated technology in which the diagnostic functionality with all its elements is developed exclusively in PLC-typical IEC 61131 programming languages. Furthermore, the diagnostic functionality can be integrated into any IEC 61131 framework. Accordingly, the diagnostic functionality and the PLC control program can be created using the same engineering method and preferably the same engineering tool (engineering framework). Furthermore, the diagnostic functionality created is independent of the type and manufacturer of the PLC or RTU and can run in the same real-time environment as the actual control program for the PLC or RTU.

Gemäß einem ersten allgemeinen Gesichtspunkt der Erfindung wird ein computerimplementiertes Verfahren zur Bereitstellung einer Diagnosefunktionalität für eine auf einer speicherprogrammierbaren Steuerung, SPS, basierenden Anwendung, vorzugsweise für eine auf einer speicherprogrammierbaren Steuerung basierenden Fernwirk-Außenstation, RTU, bereitgestellt. Die SPS bzw. RTU kann zur Überwachung und Steuerung einer Anlage oder Maschine dienen, und mit der Anlage oder Maschine eine automatisierungstechnische Anlage bilden.According to a first general aspect of the invention, a computer-implemented method for providing a diagnostic functionality for an application based on a programmable logic controller, SPS, is provided, preferably for a telecontrol outstation, RTU, based on a programmable logic controller. The PLC or RTU can be used to monitor and control a plant or machine and form an automation system with the plant or machine.

Das Verfahren umfasst den Schritt der Bereitstellung eines IEC-61131-Frameworks, nachfolgend kurz als „Framework“ bezeichnet. Das Framework ist zur Erstellung eines Steuerungsprogramms in mindestens einer IEC-61131-konformen Programmiersprache für eine SPS, vorzugsweise für eine SPS zur Steuerung einer RTU, ausgebildet. Das Framework ist ferner ausgebildet, mehrere Funktionsbausteine bereitzustellen, mittels derer die Diagnosefunktionalität in mindestens einer IEC-61131-3-konformen Programmiersprache erstellbar ist. Vorstehend wurde bereits erwähnt, dass Funktionsbausteine vorprogrammierte Bausteine bzw. Module darstellen, die eine bestimmte Funktionalität bereitstellen.The method includes the step of providing an IEC 61131 framework, hereinafter referred to as "framework". The framework is designed to create a control program in at least one IEC 61131-compliant programming language for a PLC, preferably for a PLC for controlling an RTU. The framework is also designed to provide a number of function modules, by means of which the diagnostic functionality can be created in at least one IEC-61131-3-compliant programming language. It was already mentioned above that function blocks represent preprogrammed blocks or modules that provide a specific functionality.

Die mehreren Funktionsbausteine umfassen einen Diagnoseserver-Funktionsbaustein zur Instanziierung eines Diagnoseservers zum Datenaustausch von Diagnosedaten mit einem Diagnoseclient. Die mehreren Funktionsbausteine umfassen ferner mindestens einen Nachrichten-Funktionsbaustein zur Instanziierung mindestens eines Nachrichtenelements, das ausgebildet ist, bei einem Aufruf des instanziierten Nachrichtenelementes eine Diagnosenachricht in eine Datenaustauschstruktur zu schreiben. Die mehreren Funktionsbausteine umfassen ferner einen Strukturdatentyp zur Bereitstellung einer Datenaustauschdatenstruktur zum Datenaustausch zwischen dem instanziierten mindestens einen Nachrichtenelement und dem instanziierten Diagnoseserver. Der Strukturdatentyp stellt somit im instanziierten Zustand eine Datenstruktur bereit, die in vorbestimmter Weise automatisiert die Datenkommunikation zwischen dem instanziierten mindestens einen Nachrichtenelement und dem instanziierten Diagnoseserver bereitstellt und/oder ermöglicht. Unter einer Instanziierung der Funktionsbausteine wird deren programmtechnische Umsetzung bei der Erstellung des Steuerungsprogramms und der Diagnosefunktionalität in einer Echtzeit-Laufzeitumgebung verstanden, d.h. aus dem Diagnoseserver-Funktionsbaustein wird z. B. ein Diagnose-Server in der Laufzeitumgebung erzeugt.The several function blocks include a diagnosis server function block for instantiating a diagnosis server for exchanging diagnosis data with a diagnosis client. The multiple function modules also include at least one message function module for instantiating at least one message element, which is designed to write a diagnostic message to a data exchange structure when the instantiated message element is called. The multiple function modules also include a structure data type for providing a data exchange data structure for data exchange between the instantiated at least one message element and the instantiated diagnosis server. In the instantiated state, the structure data type thus provides a data structure which automatically provides and/or enables data communication between the instantiated at least one message element and the instantiated diagnosis server in a predetermined manner. An instantiation of the function blocks is understood to mean their programming implementation when creating the control program and the diagnostic functionality in a real-time runtime environment, i.e. the diagnostic server function block becomes e.g. B. a diagnosis server is generated in the runtime environment.

Das erfindungsgemäße Verfahren bietet den besonderen Vorzug, dass die Diagnosefunktionalität mit all ihren Elementen ausschließlich in einer oder mehreren SPS-typischen IEC 61131-Progammiersprachen entwickelt wird. Die Diagnosefunktionalität wird entsprechend mit demselben Engineering-Verfahren erstellt wie die Programmierung des Steuerungsprogramms. Die auf diese Weise erstelle Diagnosefunktionalität ist somit unabhängig von dem eingesetzten SPS-Engineering-Werkzeug.The method according to the invention offers the special advantage that the diagnostic functionality with all its elements is developed exclusively in one or more PLC-typical IEC 61131 programming languages. The diagnostic functionality is accordingly created with the same engineering process as the programming of the control program. The diagnostic functionality created in this way is therefore independent of the PLC engineering tool used.

In einer bevorzugten Ausführungsform ist das Framework ausgebildet, das Steuerungsprogramm und die durch die mehreren Funktionsbausteine (programmtechnisch) erstelle Diagnosefunktionalität ausschließlich in der mindestens einen IEC-61131-konformen Programmiersprache zu erstellen. Anders ausgedrückt ist das Framework ausgebildet, das Steuerungsprogramm und die Diagnosefunktionalität ausschließlich in SPS-typischen IEC-61131-3 Programmiersprachen zu entwickeln. Das Framework kann somit als Programmiergerüst ausgebildet sein, mittels dessen und/oder mittels derer sowohl ein Steuerungsprogramm als auch die Diagnosefunktionalität für eine auf einer SPS basierenden Anwendung, vorzugsweise für eine auf einer SPS basierenden RTU, erstellbar ist. Das Steuerungsprogramm und die Diagnosefunktionalität können somit mit demselben Engineering-Verfahren und demselben Engineering-Werkzeug erstellt werden. Dadurch kann der Engineering-Aufwand reduziert werden.In a preferred embodiment, the framework is designed to create the control program and the diagnostic functionality (programming) created by the multiple function modules exclusively in the at least one IEC 61131-compliant programming language. In other words, the framework is designed to develop the control program and the diagnostic functionality exclusively in PLC-typical IEC-61131-3 programming languages. The framework can thus be designed as a programming framework, by means of which and/or by means of which both a control program and the Diagnostic functionality for a PLC-based application, preferably for a PLC-based RTU, can be created. The control program and the diagnostic functionality can thus be created using the same engineering method and the same engineering tool. As a result, the engineering effort can be reduced.

In einer weiteren bevorzugten Ausführungsvariante ist das IEC-61131-Framework ausgebildet, die durch die mehreren Funktionsbausteine erstellbare Diagnosefunktionalität automatisch bei Erstellung eines Steuerungsprogramms für die SPS mitentstehen zu lassen und/oder in das erstellte Steuerungsprogramm zu integrieren. Vorteilhaft wird die Erstellung der Diagnosefunktionalität für den Techniker vereinfacht, da keine zusätzliche Programmierung und/oder Konfiguration notwendig ist. Der Techniker muss die Diagnosefunktionalität somit bei der Erstellung des Steuerungsprogramms nicht berücksichtigen.In a further preferred embodiment variant, the IEC 61131 framework is designed to allow the diagnostic functionality that can be created by the multiple function modules to be created automatically when a control program is created for the PLC and/or to be integrated into the created control program. The creation of the diagnostic functionality is advantageously simplified for the technician, since no additional programming and/or configuration is necessary. The technician therefore does not have to take the diagnostic functionality into account when creating the control program.

Gemäß einem weiteren Aspekt kann die durch die mehreren Funktionsbausteine bereitgestellte Diagnosefunktionalität (direkt) in einer IEC-61131-Echtzeit-Laufzeitumgebung lauffähig (ausführbar) sein. Das mittels des Frameworks erstellbare oder erstellte Steuerungsprogramm und die Diagnosefunktionalität können zusammen in der gleichen IEC-61131-Echtzeit-Laufzeitumgebung ausgeführt werden und/oder ausführbar sein. Entsprechend wird für die Diagnosefunktionalität vorteilhaft keine separate Laufzeitumgebung (engl. runtime environment) benötigt. Ferner ist dadurch, dass das Konzept der Diagnosefunktionalität direkt in den IEC-61131-Code integriert ist und daher auch in der SPS-Echtzeit-Laufzeitumgebung läuft, die Diagnosefunktionalität zwangsläufig über alle Lebensphasen des Steuerungsprogramms, nämlich bei Erstellung, Inbetriebnahme und im Betrieb, verfügbar. Zudem ist zeit- bzw. zyklusgenaues Logging und Kennzeichnen der Diagnosenachrichten möglich.According to a further aspect, the diagnostic functionality provided by the plurality of function modules can (directly) be executable (executable) in an IEC 61131 real-time runtime environment. The control program that can be created or created using the framework and the diagnostic functionality can be executed and/or be executable together in the same IEC 61131 real-time runtime environment. Accordingly, no separate runtime environment is advantageously required for the diagnostic functionality. Furthermore, because the concept of the diagnostic functionality is directly integrated into the IEC 61131 code and therefore also runs in the PLC real-time runtime environment, the diagnostic functionality is inevitably available across all life phases of the control program, namely during creation, commissioning and operation . In addition, time or cycle-precise logging and labeling of the diagnostic messages is possible.

In einer weiteren Ausführungsform sind mittels des mindestens einen Nachrichten-Funktionsbausteins mehrere Nachrichtenelemente konfigurierbar, für die jeweils festlegbar ist, welche Diagnosenachrichten das jeweilige Nachrichtenelement im instanziierten Zustand wann und/oder unter welcher Bedingung erzeugt. Ein Aufruf des instanziierten Nachrichtenelementes, eine Diagnosenachricht in eine Datenaustauschstruktur zu schreiben, kann (automatisch) erfolgen, wenn die festgelegte Bedingung, wann und/oder unter welcher Bedingung eine Diagnosenachricht erzeugt wird, erfüllt ist. Die Bedingung kann ein Programmteil, z. B. ein Funktionsbauteil, des Steuerungsprogramms vorgeben, mit dem das jeweilige Nachrichtenelement, insbesondere programmtechnisch, abgestimmt ist. Dadurch wird eine Interaktion zwischen dem jeweiligen Nachrichtenelement und dem Steuerungsprogramm möglich. Die Bedingung kann ein Signal und/oder Daten vorgeben, das/die im Steuerungsprogramm auftritt/auftreten (insbesondere die vom Steuerungsprogramm empfangen, versendet, verarbeitet und/oder erzeugt werden) und vom jeweiligen Nachrichtenelement auszulesen ist/sind. Eine Diagnosenachricht auf Basis des ausgelesenen Signals und/oder der ausgelesenen Daten kann in die Diagnoseaustauschdatenstruktur geschrieben werden.In a further embodiment, the at least one message function module can be used to configure a plurality of message elements, for each of which it can be specified which diagnostic messages the respective message element generates in the instantiated state, when and/or under what condition. The instantiated message element can be called (automatically) to write a diagnostic message in a data exchange structure if the specified condition as to when and/or under which condition a diagnostic message is generated is met. The condition can be a program part, e.g. B. specify a functional component of the control program, with which the respective message element, in particular in terms of programming, is matched. This enables interaction between the respective message element and the control program. The condition can specify a signal and/or data that occurs in the control program (in particular that is received, sent, processed and/or generated by the control program) and is/are to be read out from the respective message element. A diagnostic message based on the read signal and/or the read data can be written into the diagnostic exchange data structure.

Alternativ oder zusätzlich unterscheiden sich die mehreren Nachrichtenelemente voneinander dadurch, dass durch jedes Nachrichtenelement ein anderes, vorbestimmtes Diagnoseereignis und/oder das vorbestimmte Diagnoseereignis zu einem anderen Diagnosezeitpunkt feststellbar ist. Ein Aufruf des instanziierten Nachrichtenelementes, eine Diagnosenachricht in eine Datenaustauschstruktur zu schreiben, kann (automatisch) erfolgen, wenn das vorbestimmte Diagnoseereignis und/oder der vorbestimmte Diagnosezeitpunkt eingetreten ist. Ein Diagnoseereignis kann ein Ereignis des Steuerungsprogramms sein, das das jeweilige Nachrichtenelement aufruft. Das Ereignis kann z. B. ein Empfang, Versenden, Verarbeiten und/oder Erzeugen eines Signals und/oder Daten sein, das/die vom jeweiligen Nachrichtenelement auszulesen ist/sind.Alternatively or additionally, the multiple message elements differ from one another in that each message element can be used to determine a different, predetermined diagnostic event and/or the predetermined diagnostic event at a different diagnostic time. The instantiated message element can be called (automatically) to write a diagnostic message in a data exchange structure when the predetermined diagnostic event and/or the predetermined diagnostic time has occurred. A diagnostic event can be an event of the control program that calls the respective message element. The event can e.g. This can be, for example, receiving, sending, processing and/or generating a signal and/or data that is/are to be read out from the respective message element.

Vorteilhaft kann der mindestens eine Nachrichten-Funktionsbaustein des Frameworks verschiedene Elemente enthalten, die für die Feststellung von Diagnosenachrichten bei vorbestimmten Bedingungen bzw. Diagnoseereignissen vorprogrammiert sind. Die Nachrichtenelemente können somit ohne zusätzliche Programmierung zur Festlegung der Bedingungen instanziiert werden, was die Erstellung der Diagnosefunktionalität für den Techniker vereinfacht.Advantageously, the at least one message function module of the framework can contain various elements that are preprogrammed for detecting diagnostic messages given predetermined conditions or diagnostic events. The message elements can thus be instantiated without additional programming to define the conditions, which simplifies the creation of the diagnostic functionality for the technician.

Die mehreren Nachrichtenelemente können derart konfigurierbar sein, dass für bzw. durch jedes Nachrichtenelement eine andere Bedingung und/oder ein anderes Diagnoseereignis festlegbar ist. Durch jedes Nachrichtenelement können andere Informationen (Signale und/oder Daten) ausgelesen werden. Alternativ können für bzw. durch zwei oder mehrere Nachrichtenelemente dieselbe Bedingung und/oder dasselbe Diagnoseereignis festlegbar sein. Durch diese Redundanz kann eine erhöhte Sicherheit erzielt werden, dass bei der Erzeugung der Diagnosedaten keine relevanten Informationen verloren gehen.The multiple message elements can be configured in such a way that a different condition and/or a different diagnostic event can be defined for or by each message element. Different information (signals and/or data) can be read out through each message element. Alternatively, the same condition and/or the same diagnosis event can be defined for or by two or more message elements. This redundancy means that increased security can be achieved that no relevant information is lost when the diagnostic data is generated.

In einer weiteren Ausführungsform ist das IEC-61131-Framework ferner ausgebildet, mehrere Steuerungs-Funktionsbausteine zur Erstellung des Steuerungsprogramms für die SPS bereitzustellen. Mittels des mindestens einen Nachrichten-Funktionsbausteins sind Nachrichtenelemente konfigurierbar und den Steuerungs-Funktionsbausteinen zuordenbar, derart, dass ein Steuerungs-Funktionsbaustein im instanziierten Zustand mindestens ein zugeordnetes Nachrichtenelement aufweist. Das Konfigurieren und/oder Zuordnen der Nachrichtenelemente kann vorzugsweise automatisch erfolgen. Das Instanziieren des Steuerungs-Funktionsbausteins kann das Zuordnen des mindestens einen Nachrichtenelements triggern (aufrufen). Das mindestens eine zugeordnete Nachrichtelement ist, vorzugsweise ausschließlich, zur Interaktion mit dem Steuerungs-Funktionsbaustein im instanziierten Zustand konfiguriert. Das mindestens eine zugeordnete Nachrichtenelement kann (signal- und/oder datentechnisch) unmittelbar mit dem Steuerungs-Funktionsbaustein verbunden sein. In anderen Worten, es wird eine unmittelbare Kommunikation zwischen dem zugeordneten Nachrichtenelement und dem Steuerungs-Funktionsbaustein bereitgestellt. Der Steuerung-Funktionsbaustein kann ferner ausgebildet sein, das mindestens eine zugeordnete Nachrichtenelement aufzurufen.In a further embodiment, the IEC 61131 framework is also designed to provide multiple control function blocks for creating the control program for the PLC. By means of the at least one news radio tion block, message elements can be configured and assigned to the control function blocks in such a way that a control function block has at least one assigned message element in the instantiated state. The message elements can preferably be configured and/or assigned automatically. The instantiation of the control function block can trigger (invoke) the allocation of the at least one message element. The at least one associated message element is configured, preferably exclusively, for interaction with the control function module in the instantiated state. The at least one assigned message element can be directly connected (in terms of signals and/or data) to the control function module. In other words, direct communication is provided between the associated message element and the control function block. The control function module can also be designed to call up the at least one assigned message element.

Vorteilhaft kann die Diagnosefunktionalität derart mit dem Steuerungsprogramm verbunden werden, dass die jeweiligen Nachrichtenelemente in die instanziierten Steuerungs-Funktionsbausteinen, aus denen sie Signale und/oder Daten zu Erstellung der Diagnosenachrichten auslesen, zugeordnet, insbesondere integriert, werden. Dadurch kann ein zuverlässiges Auslesen von für Diagnosen relevanten Informationen und eine zuverlässige Erzeugung der Diagnosenachrichten sichergestellt werden.The diagnostic functionality can advantageously be connected to the control program in such a way that the respective message elements are assigned, in particular integrated, into the instantiated control function modules from which they read out signals and/or data to create the diagnostic messages. This ensures that information relevant to diagnostics is read out reliably and that the diagnostic messages are reliably generated.

Ferner vorteilhaft kann die Diagnosefunktionalität bereits nach der Instanziierung des jeweiligen Steuerungs-Funktionsbausteins und der Zuordnung des mindestens einen Nachrichtenelements funktionsfähig sein, auch wenn das Steuerungsprogramm noch nicht vollständig erstellt worden ist. Die Diagnosefunktionalität kann daher nicht nur bei Inbetriebnahme oder im Betrieb des Steuerungsprogramms, sondern bereits bei der Erstellung des Steuerungsprogramms verfügbar sein.Furthermore, the diagnostic functionality can advantageously be operational after the respective control function module has been instantiated and the at least one message element has been assigned, even if the control program has not yet been completely created. The diagnostic functionality can therefore not only be available during commissioning or operation of the control program, but already when the control program is created.

In einer weiteren Ausführungsvariante werden bei der Erstellung der Diagnosefunktionalität für die auf einer SPS basierenden Anwendung genau ein Diagnoseserver aus dem Diagnoseserver-Funktionsbaustein, genau eine Datenaustauschdatenstruktur aus dem Strukturdatentyp und mindestens ein Nachrichtenelement, vorzugsweise mehrere Nachrichtenelemente, aus dem mindestens einen Nachrichten-Funktionsbaustein instanziiert werden. In a further embodiment variant, when creating the diagnostic functionality for the application based on a PLC, exactly one diagnostic server from the diagnostic server function module, exactly one data exchange data structure from the structure data type and at least one message element, preferably several message elements, from the at least one message function module are instantiated .

Alternativ oder zusätzlich werden der Diagnoseserver und das mindestens eine Nachrichtenelement zum Datenaustausch durch Anschluss der Datenaustauschdatenstruktur als INOUT-Variable miteinander verbunden. Entsprechend kann dadurch die Datenkommunikation zwischen den Nachrichtenelementen und dem Diagnoseserver vereinfacht werden.Alternatively or additionally, the diagnosis server and the at least one message element are connected to one another for data exchange by connecting the data exchange data structure as an INOUT variable. Accordingly, the data communication between the message elements and the diagnosis server can be simplified as a result.

In einer weiteren Ausführungsvariante ist der Diagnoseserver ferner ausgebildet, die Diagnosenachricht aus der Datenaustauschdatenstruktur zu lesen und anhand hinterlegter Relevanzbedingungen auszuwerten, ob die Diagnosenachricht relevant ist, und die Diagnosenachricht oder eine auf Basis der Diagnosenachricht erstellte aufbereitete Diagnosenachricht an den Diagnoseclient zu senden, falls die Diagnosenachricht relevant ist. Vorteilhaft kann der Datenverkehr zwischen dem Diagnoseserver und dem Diagnoseclient optimiert werden, indem nur die relevanten Diagnosenachrichten an den Diagnoseclient übertragen werden. Die übertragene Datenmenge wird dadurch reduziert. Ferner erfolgen alle Verarbeitungsschritte der Diagnosenachrichten durch die in der SPS implementierten Diagnosefunktionalität, sodass der Diagnoseclient möglichst schlank und lediglich zum Empfangen und Anzeigen der übertragenen Daten ausgebildet sein kann.In a further embodiment variant, the diagnosis server is also designed to read the diagnosis message from the data exchange data structure and, based on stored relevance conditions, to evaluate whether the diagnosis message is relevant, and to send the diagnosis message or a prepared diagnosis message based on the diagnosis message to the diagnosis client if the diagnosis message is relevant. The data traffic between the diagnosis server and the diagnosis client can advantageously be optimized by only transmitting the relevant diagnosis messages to the diagnosis client. This reduces the amount of data transferred. Furthermore, all processing steps of the diagnostic messages are carried out by the diagnostic functionality implemented in the PLC, so that the diagnostic client can be designed as lean as possible and only for receiving and displaying the transmitted data.

In einer weiteren Ausführungsform ist die Diagnosefunktionalität als ein Textmeldesystem ausgeführt. Vorzugsweise schreibt das mindestens eine Nachrichtenelement bei Feststellen des vorbestimmten Diagnoseereignisses eine Diagnosenachricht als Textmeldung in die Datenaustauschdatenstruktur. Dies bietet eine vereinfachte Übertragung relevanter Informationen, z. B. ohne Kodierungs- oder Datenumwandlungsschritte.In a further embodiment, the diagnostic functionality is implemented as a text message system. When the predetermined diagnostic event is detected, the at least one message element preferably writes a diagnostic message as a text message in the data exchange data structure. This offers a simplified transmission of relevant information, e.g. B. without coding or data conversion steps.

In einer Ausführungsform verwendet der Diagnoseserver zur Datenkommunikation mit dem Diagnoseclient einen Diagnosekanal und/oder ein Kommunikationsprotokoll zur Datenkommunikation, der und/oder das ausschließlich zur Datenkommunikation von Diagnosedaten verwendet wird. Alternativ oder zusätzlich weist der Diagnoseserver ein TCP/IP-Socket zur Datenkommunikation mit dem Diagnoseclient auf. Das Kommunikationsprotokoll kann optional zusätzlich auf den Normen der Reihe IEC 60870-5 und -6 basieren. Das Kommunikationsprotokoll kann somit ein namenloses Protokoll sein, das nur für den vorliegenden Zweck zum Datenaustausch zwischen dem Diagnoseclient und dem Diagnoseserver betreffend die Diagnosedaten verwendet wird. Entsprechend kann das Protokoll für die Kommunikation der Diagnosedaten optimiert sein. Hierdurch kann die benötigte Bandbreite (schmaler Datenkanal) reduziert werden und die Effizienz gesteigert werden.In one embodiment, the diagnosis server uses a diagnosis channel and/or a communication protocol for data communication for data communication with the diagnosis client, which is used exclusively for data communication of diagnosis data. Alternatively or additionally, the diagnosis server has a TCP/IP socket for data communication with the diagnosis client. Optionally, the communication protocol can also be based on the standards of the IEC 60870-5 and -6 series. The communication protocol can thus be a nameless protocol that is only used for the present purpose for data exchange between the diagnostic client and the diagnostic server regarding the diagnostic data. Accordingly, the protocol for the communication of the diagnostic data can be optimized. As a result, the required bandwidth (narrow data channel) can be reduced and efficiency increased.

Zur Datenkommunikation der Diagnosedaten kann ferner ein Datenmodell verwendet werden, das ausschließlich für die Diagnosedaten vorgesehen ist. Das Datenmodell legt zweckmäßig fest, wie die Diagnosedaten abgebildet werden, um mittels des Kommunikationsprotokolls übertragen zu werden. Das Kommunikationsprotokoll kann entsprechend ausgebildet sein, ausschließlich Daten gemäß diesem Datenmodell zu übertragen. Dadurch, dass zur Abbildung der Diagnosedaten ein eigenes Datenmodell und/oder zur Übertragung ein eigenes Kommunikationsprotokoll verwendet wird, ist die erstellte Diagnosefunktionalität somit nicht nur unabhängig von dem eingesetzten SPS-Engineering-Werkzeug, sondern auch unabhängig von der verwendeten Visualisierung, sofern vorhanden.A data model that is provided exclusively for the diagnostic data can also be used for data communication of the diagnostic data. The data model appropriately defines how the Diag nose data are mapped to be transmitted using the communication protocol. The communication protocol can be designed accordingly to only transmit data according to this data model. Because a separate data model is used to map the diagnostic data and/or a separate communication protocol is used for transmission, the diagnostic functionality created is not only independent of the PLC engineering tool used, but also independent of the visualization used, if available.

In einer weiteren Ausführungsvariante umfasst das Verfahren ferner eine Bereitstellung eines Diagnoseclients, der zur Datenkommunikation mit dem aus dem Diagnoseserver-Funktionsbaustein instanziierten Diagnoseserver ausgebildet ist. Der Diagnoseclient ist in einer bevorzugten Ausführungsvariante ausschließlich dazu ausgebildet, eine Datenkommunikation mit einem oder mehreren Diagnoseservern durchzuführen, um vom Server empfangene Diagnosedaten anzuzeigen, vorzugsweise um die Diagnosedaten mit Zeitstempel und weiteren Zusatzinformationen (z. B. Informationen abhängig vom SPS-Zyklus) anzuzeigen. Entsprechend kann der Diagnoseclient als eigenständige Client-PC-Anwendung/ -App für das Anzeigen von Diagnosedaten ausgeführt sein und als schlanker Client ausgeführt sein. Das Anzeigen kann mittels des Diagnoseclients zu jeder Zeit und auf jedem Gerät mit Hilfe des Diagnoseclients erfolgen. Alternativ oder zusätzlich verwendet der Diagnoseclient zur Anzeige der Diagnosedaten keine HTML oder JAVA-basierte Technologie. Anzeigeprobleme wie bei Web-Anzeigen mit Browsern, die die benötigte Technologie (z. B. Java) nicht unterstützt und/oder aus Sicherheitsgesichtspunkten nicht zulässt, können entsprechend vermieden werden. Ferner alternativ oder zusätzlich ist der Diagnoseclient dazu ausgebildet, wahlweise Diagnosedaten mehrerer SPS-basierenden Fernwirk-Außenstationen anzuzeigen. Der Diagnoseclient kann ein reiner software-basierter Client sein, der auf eine Anzeigeeinrichtung, die einen Bildschirm aufweist, ausgeführt ist. Alternativ kann der Diagnoseclient kann auch als eine Vorrichtung ausgeführt sein, die eine Anzeigeeinrichtung mit einem Bildschirm aufweist, z. B. ein Tablet-Computer oder ein mobiles Kommunikationsgerät.In a further embodiment variant, the method also includes providing a diagnosis client, which is designed for data communication with the diagnosis server instantiated from the diagnosis server function module. In a preferred embodiment variant, the diagnostic client is designed exclusively to carry out data communication with one or more diagnostic servers in order to display diagnostic data received from the server, preferably in order to display the diagnostic data with a time stamp and other additional information (e.g. information dependent on the PLC cycle). Correspondingly, the diagnostic client can be implemented as a stand-alone client PC application/app for displaying diagnostic data and can be implemented as a lightweight client. The display can be done using the diagnostic client at any time and on any device using the diagnostic client. Alternatively or additionally, the diagnostic client does not use HTML or JAVA-based technology to display the diagnostic data. Display problems such as web ads with browsers that do not support the required technology (e.g. Java) and/or do not allow it for security reasons can be avoided accordingly. Furthermore, as an alternative or in addition, the diagnosis client is designed to selectively display diagnosis data from a number of PLC-based telecontrol outstations. The diagnosis client can be a purely software-based client that runs on a display device that has a screen. Alternatively, the diagnosis client can also be embodied as a device that has a display device with a screen, e.g. B. a tablet computer or a mobile communication device.

Gemäß einem zweiten allgemeinen Gesichtspunkt wird eine Vorrichtung zur Datenverarbeitung bereitgestellt, die Mittel zur Ausführung des Verfahrens, wie es in diesem Dokument beschrieben ist, umfasst.According to a second general aspect, a data processing device is provided, comprising means for carrying out the method as described in this document.

Gemäß einem weiteren allgemeinen Gesichtspunkt wird eine Fernwirk-Außenstation bereitgestellt, die auf einer SPS basiert und eine Diagnosefunktionalität umfasst, wobei die Diagnosefunktionalität mittels der Funktionsbausteine gemäß einem Verfahren, wie es in diesem Dokument beschrieben ist, erstellt ist.According to a further general aspect, a telecontrol outstation is provided which is based on a PLC and includes a diagnostic functionality, the diagnostic functionality being created using the function modules according to a method as described in this document.

Gemäß einem weiteren allgemeinen Gesichtspunkt wird ein System zur Datenverarbeitung bereitgestellt, umfassend eine Vorrichtung zur Datenverarbeitung, die ausgebildet ist, das IEC-61131-Framework gemäß einem Verfahren, wie es in diesem Dokument beschrieben, bereitzustellen. Alternativ oder zusätzlich kann das System einen Diagnoseserver umfassen, der durch eine Instanziierung eines Diagnoseserver-Funktionsbausteins eines gemäß dem Verfahren, wie es in diesem Dokument beschrieben, bereitgestellten IEC-61131-Frameworks erzeugt ist. Ferner alternativ oder zusätzlich kann das System einen Diagnoseclient umfassen, der zur Datenkommunikation mit dem Diagnoseserver ausgebildet ist.According to a further general aspect, a system for data processing is provided, comprising a device for data processing, which is designed to provide the IEC 61131 framework according to a method as described in this document. Alternatively or additionally, the system may comprise a diagnosis server generated by an instantiation of a diagnosis server function block of an IEC 61131 framework provided according to the method as described in this document. Furthermore, as an alternative or in addition, the system can comprise a diagnosis client which is designed for data communication with the diagnosis server.

Gemäß einem weiteren allgemeinen Gesichtspunkt wird ein Computerprogramm bereitgestellt und beansprucht, umfassend Befehle, die bei der Ausführung des Programms durch einen Computer diesen veranlassen, das Verfahren, wie es in diesem Dokument beschrieben ist, auszuführen. Gemäß einem weiteren allgemeinen Gesichtspunkt wird computerlesbares Speichermedium bereitgestellt, umfassend Befehle, die bei der Ausführung durch einen Computer diesen veranlassen, das Verfahren, wie es in diesem Dokument beschrieben ist, auszuführen. Gemäß einem weiteren allgemeinen Gesichtspunkt wird ein Datenträgersignal bereitgestellt und beansprucht, welches das Computerprogramm überträgt.According to a further general aspect there is provided and claimed a computer program comprising instructions which, when the program is executed by a computer, cause it to carry out the method as described in this document. According to a further general aspect, there is provided a computer-readable storage medium comprising instructions which, when executed by a computer, cause it to carry out the method as described in this document. According to another general aspect, there is provided and claimed a data carrier signal carrying the computer program.

Die zuvor beschriebenen Aspekte und Merkmale der Erfindung sind beliebig miteinander kombinierbar. Weitere Einzelheiten und Vorteile der Erfindung werden im Folgenden unter Bezugnahme auf die beigefügten Zeichnungen beschrieben. Es zeigen:

  • 1: eine schematische Darstellung eines IEC-61131-Frameworks und eines daraus erzeugten Steuerungsprogramms mit einer Diagnosefunktionalität zur Illustration eines Verfahrens gemäß einer Ausführungsform der Erfindung;
  • 2: eine schematische Darstellung des Steuerungsprogramms mit der Diagnosefunktionalität gemäß einer Ausführungsform der Erfindung;
  • 3: eine schematische Darstellung des Steuerungsprogramms mit verschiedenen Instanzen des Steuerungsprogramms und integrierter Diagnosefunktionalität gemäß einer Ausführungsform der Erfindung; und
  • 4: eine schematische Darstellung eines Diagnoseservers und des Datenaustausches mit dem Diagnoseclient gemäß einer Ausführungsform der Erfindung.
The aspects and features of the invention described above can be combined with one another as desired. Further details and advantages of the invention are described below with reference to the accompanying drawings. Show it:
  • 1 1: a schematic representation of an IEC 61131 framework and a control program generated therefrom with a diagnostic functionality to illustrate a method according to an embodiment of the invention;
  • 2 1: a schematic representation of the control program with the diagnostic functionality according to an embodiment of the invention;
  • 3 1: a schematic representation of the control program with different instances of the control program and integrated diagnostic functionality according to an embodiment of the invention; and
  • 4 1: a schematic representation of a diagnosis server and the data exchange with the diagnosis client according to an embodiment of the invention.

Gleiche oder funktional äquivalente Elemente sind in allen Figuren mit denselben Bezugszeichen beschrieben und zum Teil nicht gesondert beschrieben.Identical or functionally equivalent elements are described with the same reference symbols in all figures and some of them are not described separately.

1 zeigt eine schematische Darstellung eines IEC-61131-Frameworks 1 und eines daraus erzeugten Steuerungsprogramms 8 gemäß einer Ausführungsform. Das IEC-61131-Framework 1 (nachfolgend kurz als Framework 1 bezeichnet) kann auch als Programmiergerüst bezeichnet werden. Das Framework 1 stellt ein Programmiergerüst da, welches für den Techniker (Programmierer) zur Erstellung des Steuerungsprogramms für eine SPS, vorzugsweise für eine SPS zur Steuerung einer RTU, einen vorprogrammierten Rahmen und software-basiertes Entwicklungswerkzeug bereitstellt, innerhalb dessen dieser eine anwendungsspezifische zu der Norm IEC 61131-3 konforme Programmierung des Steuerungsprogramms für die SPS und der Diagnosefunktionalität erstellen kann. 1 shows a schematic representation of an IEC 61131 framework 1 and a control program 8 generated therefrom according to an embodiment. The IEC 61131 Framework 1 (hereinafter referred to as Framework 1) can also be referred to as a programming framework. Framework 1 represents a programming structure that provides the technician (programmer) with a pre-programmed framework and software-based development tool for creating the control program for a PLC, preferably for a PLC for controlling an RTU, within which this an application-specific to the standard IEC 61131-3 compliant programming of the control program for the PLC and the diagnostic functionality.

Einzelne Funktionen, Elemente und Bausteine sind bereits im Framework 1 enthalten oder vorprogrammiert, die in diesem Dokument als Funktionsbausteine bezeichnet sind.Individual functions, elements and modules are already contained in Framework 1 or are pre-programmed, which are referred to as function modules in this document.

Das Steuerungsprogramm und die Diagnosefunktionalität werden ausschließlich in einer oder mehreren der IEC 61131-Programmiersprachen durch Instanziierung der in dem Framework 1 enthaltenen Funktionsbausteine und Strukturen und durch anschließende Verknüpfung dieser erstellt, was in 1 in Bezug auf die Diagnosefunktionalität dargestellt ist.The control program and the diagnostic functionality are created exclusively in one or more of the IEC 61131 programming languages by instantiating the function blocks and structures contained in the framework 1 and by subsequently linking them, which in 1 is shown in relation to the diagnostic functionality.

So ist das Framework 1 insbesondere ausgebildet, mehrere Funktionsbausteine 2 bereitzustellen, mittels derer die Diagnosefunktionalität in der mindestens einen IEC-61131-konformen Programmiersprache erstellbar ist.In particular, the framework 1 is designed to provide a number of function modules 2 by means of which the diagnostic functionality can be created in the at least one IEC 61131-compliant programming language.

Die mehreren Funktionsbausteine 2 umfassen einen Diagnoseserver-Funktionsbaustein 3 zur Instanziierung eines Diagnoseservers 30 zum Datenaustausch von Diagnosedaten mit einem Diagnoseclient (der Diagnoseclient ist in 1 nicht dargestellt). Der Diagnoseserver-Funktionsbaustein 3 stellt somit ein vorprogrammiertes Programmmodul dar, welches für die Diagnosefunktionalität verwendet werden kann, das im Steuerungsprogramm 8 integriert sein kann. Aus dem Diagnoseserver-Funktionsbaustein 3 wird bei der Erstellung des Steuerungsprogramms für eine SPS in einer Echtzeit-Laufzeitumgebung ein Diagnoseserver 30 instanziiert.The multiple function modules 2 include a diagnosis server function module 3 for instantiating a diagnosis server 30 for exchanging diagnosis data with a diagnosis client (the diagnosis client is in 1 not shown). The diagnosis server function module 3 thus represents a preprogrammed program module which can be used for the diagnosis functionality and which can be integrated in the control program 8 . A diagnosis server 30 is instantiated from the diagnosis server function module 3 when the control program for a PLC is created in a real-time runtime environment.

Die Funktionsbausteine 2 umfassen ferner mindestens einen Nachrichten-Funktionsbaustein 4 zur Instanziierung mindestens eines Nachrichtenelements 4a, das ausgebildet ist, bei einem Aufruf des instanziierten Nachrichtenelementes eine Diagnosenachricht, z. B. als Textmeldung, in eine Datenaustauschstruktur 5a zu schreiben.The function modules 2 also include at least one message function module 4 for instantiating at least one message element 4a, which is designed to generate a diagnostic message, e.g. B. as a text message to write in a data exchange structure 5a.

Bei der Erstellung des Steuerungsprogramms 8 entstehen somit gleichzeitig und vorzugsweise automatisch durch den Diagnoseserver-Funktionsbaustein 3 und den mindestens einen Nachrichten-Funktionsbaustein 4 in einer IEC-61131-Echtzeit-Laufzeitumgebung entsprechende Instanzen 30 und 4a des Diagnoseserver-Funktionsbausteins 3 und des mindestens einen Nachrichten-Funktionsbausteins 4.When the control program 8 is created, corresponding instances 30 and 4a of the diagnosis server function block 3 and the at least one message are created simultaneously and preferably automatically by the diagnosis server function block 3 and the at least one message function block 4 in an IEC 61131 real-time runtime environment -Function block 4.

Die Funktionsbausteine 2 umfassen ferner einen Strukturdatentyp 5 zur Bereitstellung einer Datenaustauschdatenstruktur zum Datenaustausch zwischen dem instanziierten mindestens einen Nachrichtenelement 4a und dem instanziierten Diagnoseserver 30. Aus dem Strukturdatentyp 5 entsteht bei der Erstellung der Diagnosefunktionalität eine Instanz 5a, die die Datenaustauschdatenstruktur für den Datenaustausch zwischen den Bausteinen des Frameworks, die in der Diagnosefunktionalität genutzt werden, bereitstellt.The function blocks 2 also include a structure data type 5 for providing a data exchange data structure for data exchange between the instantiated at least one message element 4a and the instantiated diagnosis server 30. An instance 5a is created from the structure data type 5 when the diagnosis functionality is created, which forms the data exchange data structure for the data exchange between the blocks of the framework that are used in the diagnostic functionality.

Die Verknüpfung der instanziierten Nachrichtenelemente 4a untereinander und mit dem Diagnoseserver 30 erfolgt über diese Datenaustauschdatenstruktur 5a zum Datenaustausch zwischen den Nachrichtenelementen 4a und zum Datenaustausch mit dem Diagnoseserver 30, was in 2 nochmals vergrößert dargestellt ist.The instantiated message elements 4a are linked to each other and to the diagnosis server 30 via this data exchange data structure 5a for data exchange between the message elements 4a and for data exchange with the diagnosis server 30, which in 2 is shown enlarged again.

2 zeigt eine schematische Darstellung eines Steuerungsprogramms 8, das wie jedes herkömmliche Steuerungsprogramm für die SPS in einer IEC 61131-konformen Laufzeitumgebung abläuft. Der Diagnoseserver 30 und die Datenaustauschdatenstruktur 5a werden bei der Erstellung der Diagnosefunktionalität für die auf einer SPS basierenden Anwendung genau einmal instanziiert. Ferner werden mehrere Instanzen des Nachrichtenelements 4a erstellt, die aus einem oder mehreren Nachrichten-Funktionsbausteinen 4 instanziiert werden. 2 shows a schematic representation of a control program 8, which runs like any conventional control program for the PLC in an IEC 61131-compliant runtime environment. The diagnosis server 30 and the data exchange data structure 5a are instantiated exactly once when the diagnosis functionality is created for the application based on a PLC. Furthermore, several instances of the message element 4a are created, which are instantiated from one or more message function modules 4.

Mittels der mindestens einen Nachrichten-Funktionsbaustein 4 sind mehrere Nachrichtenelemente 4a konfigurierbar. Vorzugsweise sind die Instanzen 1 bis n des Nachrichtenelements 4a nicht identisch, sondern dienen dazu, unterschiedliche Diagnoseereignisse bzw. A number of message elements 4a can be configured using the at least one message function module 4 . The instances 1 to n of the message element 4a are preferably not identical, but are used to identify different diagnostic events or

Diagnoseereignisse zu verschiedenen Diagnosezeitpunkten festzustellen. Für die mehreren Nachrichtenelemente 4a kann jeweils festlegbar sein, welche Diagnosenachrichten das jeweilige Nachrichtenelement im instanziierten Zustand wann und/oder unter welcher Bedingung erzeugt. Alternativ oder zusätzlich können sich die mehreren Nachrichtenelemente 4a voneinander dadurch unterscheiden, dass durch jedes Nachrichtenelement 4a ein anderes, vorbestimmtes Diagnoseereignis und/oder das vorbestimmte Diagnoseereignis zu einem anderen Diagnosezeitpunkt feststellbar ist.Identify diagnostic events at different diagnostic times. For the multiple Message elements 4a can be defined in each case, which diagnostic messages the respective message element generates in the instantiated state, when and/or under what condition. Alternatively or additionally, the plurality of message elements 4a can differ from one another in that each message element 4a can be used to determine a different, predetermined diagnostic event and/or the predetermined diagnostic event at a different diagnostic time.

Der Diagnoseserver 30 und die Nachrichtenelemente 4a sind zum Datenaustausch durch Anschluss der Datenaustauschdatenstruktur 5a miteinander verbunden. Die Datenaustauschdatenstruktur 5a kann dabei als INOUT-Variable (vergleichbar mit einer sog. Call-By-Reference-Parameterübergabe) an den Diagnoseserver 30 und alle Nachrichtenelemente 4a übergeben werden.The diagnosis server 30 and the message elements 4a are connected to one another for data exchange by connecting the data exchange data structure 5a. The data exchange data structure 5a can be transferred to the diagnosis server 30 and all message elements 4a as an INOUT variable (comparable to a so-called call-by-reference parameter transfer).

Alle bereitgestellten Funktionsbausteine 2 und damit die Diagnosefunktionalität mit all ihren Elementen sind ausschließlich in IEC 61131-Programmiersprachen entwickelt. Dies bietet den Vorzug, dass ein Techniker, der sowohl die Steuerung der SPS in einer IEC 61131-Programmiersprache entwickelt als auch die Diagnosefunktionalität hierfür, keine zwei Engineering-Verfahren und keine zwei Engineering-Werkzeuge für die Erstellung der SPS Programme und der Visualisierungsprogramme benötigt. Der Techniker, z. B. ein IEC-61131-3-Programmierer, der ein SPS-Programm entwickelt, kann mit diesen Kenntnissen auch die Diagnosefunktionalität vorsehen. Gemäß dem Framework 1 kann somit die Diagnosefunktionalität erstellt werden, die unabhängig von SPS-Typ und -Hersteller sind bzw. lässt sich die Diagnosefunktionalität erstellen, die unabhängig von dem eingesetzten SPS-Engineering-Werkzeug, mit dem sie erstellt wurden, lauffähig sind, so lange die Echtzeit-Laufzeitumgebung IEC 61131-konfom ist.All function blocks 2 provided and thus the diagnostic functionality with all its elements have been developed exclusively in IEC 61131 programming languages. This offers the advantage that a technician who develops both the control of the PLC in an IEC 61131 programming language and the diagnostic functionality for this does not need two engineering processes and no two engineering tools for the creation of the PLC programs and the visualization programs. The technician, e.g. B. an IEC 61131-3 programmer who develops a PLC program can also provide the diagnostic functionality with this knowledge. According to Framework 1, the diagnostic functionality can thus be created that is independent of the PLC type and manufacturer, or the diagnostic functionality can be created that can run independently of the PLC engineering tool used with which it was created, see above as long as the real-time runtime environment conforms to IEC 61131.

Ferner können nun das Steuerungsprogramm 8 und die vorzugsweise integrierte Diagnosefunktionalität für eine SPS zusammen im IEC-61131-Echtzeit-Laufzeitsysem ablaufen. Es wird keine separate Laufzeitumgebung benötigt. Die Diagnosefunktionalität, da es in einer IEC 61131-Programmiersprache entwickelt ist, ist wie ein normales SPS-Programm in einer IEC 61131-konformen Laufzeitumgebung lauffähig.Furthermore, the control program 8 and the preferably integrated diagnostic functionality for a PLC can now run together in the IEC 61131 real-time runtime system. No separate runtime environment is required. The diagnostic functionality, since it is developed in an IEC 61131 programming language, can run like a normal PLC program in an IEC 61131-compliant runtime environment.

Das Framework 1 kann ferner vorprogrammierte Funktionen, Elemente und Bausteine in Form von Steuerungs-Funktionsbausteinen zur Erstellung des Steuerungsprogramms 8 bereitstellen. Die ausgewählten Steuerung-Funktionsbausteine werden instanziiert, wodurch innerhalb des Steuerungsprogramms 8 verschiedene programmtechnische Aufgaben bereitgestellt werden, um eine gewünschte Maschine oder Anlage mittels der RTU überwachen, steuern und/oder regeln zu können. Mit diesen Funktionsbausteinen kann der Techniker somit mit geringem eigenem Programmieraufwand das Steuerungsprogramm 8 erstellen, dass für Überwachung, Steuerung und/oder Regelung der Maschine bzw. Anlage angepasst ist.The framework 1 can also provide pre-programmed functions, elements and modules in the form of control function modules for creating the control program 8 . The selected control function modules are instantiated, as a result of which various technical program tasks are provided within the control program 8 in order to be able to monitor, control and/or regulate a desired machine or system using the RTU. With these function modules, the technician can thus create the control program 8 with little programming effort of his own, which is adapted for monitoring, controlling and/or regulating the machine or system.

Wie die Diagnosefunktionalität besteht somit auch das Steuerungsprogramm 8 aus verschiedenen Instanzen 10a-10n, wie in 3 gezeigt ist. Bei der Erstellung des Steuerungsprogramms 8 und der gleichzeitigen Erstellung der Diagnosefunktionalität können mittels des mindestens eine Nachrichten-Funktionsbausteins 4 Nachrichtenelemente 4a konfiguriert und den Steuerungs-Funktionsbausteinen zugeordnet werden, sodass die instanziierten Steuerungs-Funktionsbausteine 10a-10n jeweils das zugeordnete Nachrichtenelement bzw. die zugeordneten Nachrichtenelemente aufweisen. Die jeweiligen Nachrichtenelemente 4a werden somit den instanziierten Steuerungs-Funktionsbausteinen 10a-10n zugeordnet, aus denen sie Signale und/oder Daten zu Erstellung der Diagnosenachrichten auslesen. Dadurch kann ein zuverlässiges Auslesen von für Diagnosen relevanten Informationen und eine zuverlässige Erzeugung der Diagnosenachrichten sichergestellt werden. Ferner ist auf diese Weise eine Integration der Diagnosefunktionalität in jedes beliebige Steuerungsprogramm 8 für eine SPS möglich.Like the diagnostic functionality, the control program 8 also consists of different instances 10a-10n, as in 3 is shown. When the control program 8 is created and the diagnostic functionality is created at the same time, the at least one message function block 4 can be used to configure message elements 4a and assign them to the control function blocks, so that the instantiated control function blocks 10a-10n each receive the assigned message element or message elements exhibit. The respective message elements 4a are thus assigned to the instantiated control function modules 10a-10n, from which they read signals and/or data to create the diagnostic messages. This ensures that information relevant to diagnostics is read out reliably and that the diagnostic messages are reliably generated. In this way, it is also possible to integrate the diagnostic functionality into any desired control program 8 for a PLC.

4 zeigt ein schematisches Blockdiagramm des Diagnoseservers 30 und illustriert den Datenaustausch des Diagnoseservers 30 mit dem Diagnoseclient 6 gemäß einer Ausführungsform. 4 shows a schematic block diagram of the diagnostic server 30 and illustrates the data exchange of the diagnostic server 30 with the diagnostic client 6 according to an embodiment.

Der Diagnoseserver 30 ist ausgebildet ist, die Diagnosenachricht aus der Datenaustauschdatenstruktur 5a zu lesen und aufzubereiten. Dabei wird die Diagnosenachricht z. B. anhand hinterlegter Relevanzbedingungen ausgewertet, ob die Diagnosenachricht relevant ist. Wird eine Relevanz festgestellt, so erfolgt ein Senden der Diagnosenachricht oder einer auf Basis der Diagnosenachricht erstellte aufbereitete Diagnosenachricht an den Diagnoseclient 6.The diagnosis server 30 is designed to read and process the diagnosis message from the data exchange data structure 5a. The diagnostic message z. B. evaluated based on stored relevance conditions, whether the diagnostic message is relevant. If a relevance is determined, the diagnostic message or a prepared diagnostic message created on the basis of the diagnostic message is sent to the diagnostic client 6.

Der Datenaustausch zwischen Diagnoseserver 30 und Diagnoseclient 6 erfolgt über eine TCP/IP-Kommunikation, wobei der Diagnoseserver 30 einen TCP/IP-Socket 31 umfasst. Der Diagnoseserver 30 und der Diagnoseclient 6 sind datentechnisch über einen Diagnosekanal 32, der ausschließlich zur Datenkommunikation von Diagnosedaten verwendet wird, und/oder ein namenloses, ausschließlich für den Zweck des Datenaustausches von Diagnosedaten entwickeltes Kommunikationsprotokoll 7 verbunden.The data exchange between diagnosis server 30 and diagnosis client 6 takes place via TCP/IP communication, with diagnosis server 30 including a TCP/IP socket 31 . The diagnostic server 30 and the diagnostic client 6 are connected in terms of data technology via a diagnostic channel 32, which is used exclusively for data communication of diagnostic data, and/or a nameless communication protocol 7 developed exclusively for the purpose of exchanging diagnostic data.

Bei dem Diagnoseclient 6 handelt es sich um eine schlanke Computeranwendung, z. B. eine Applikation eines mobilen Kommunikationsgeräts, das ausschließlich dazu ausgebildet ist, eine Datenkommunikation mit dem Diagnoseserver 30 durchzuführen, um vom Server empfangene Diagnosedaten anzuzeigen, vorzugsweise um die Diagnosedaten mit Zeitstempel und weiteren Zusatzinformationen anzuzeigen. Der Diagnoseclient 6 kann auch mit mehreren Diagnoseservern kommunizieren bzw. ausgebildet sein, wahlweise Diagnosedaten mehrerer SPS-basierender RTUs anzuzeigen. Der Diagnoseclient kann auch als Client-PC-Anwendung/ -App ausgeführt sein.The diagnosis client 6 is a lean computer application, e.g. B. an application of a mobile communication device, which is designed exclusively to perform a data communication with the diagnostic server 30 to display received from the server diagnostic data, preferably to display the diagnostic data with time stamp and other additional information. The diagnosis client 6 can also communicate with a number of diagnosis servers or be designed to optionally display diagnosis data from a number of PLC-based RTUs. The diagnosis client can also be implemented as a client PC application/app.

Das Kommunikationsprotokoll 7 kann ein speziell zur Datenkommunikation von Diagnosedaten zwischen dem Diagnoseserver 30 und dem Diagnoseclient 6 entwickeltes Protokoll sein, dass entsprechend ausschließlich für diese Datenkommunikation von Diagnosedaten verwendet wird. Der Datenübertragung der Diagnosedaten kann ein Versenden einer Ereignis-Anfrage von dem Diagnoseserver 30 an den Diagnoseclient 6 vorausgehen, worauf der Diagnoseclient 6 mit einer (positiven oder negativen) Bestätigung antwortet. Alternativ kann das Kommunikationsprotokoll 7 auch Anfrage-basierend sein, wobei der Diagnoseclient 6 zunächst eine Anfrage zur Übertragung von Diagnosedaten an den Diagnoseserver 30 sendet.The communication protocol 7 can be a protocol specially developed for the data communication of diagnostic data between the diagnostic server 30 and the diagnostic client 6, which is accordingly used exclusively for this data communication of diagnostic data. The data transmission of the diagnosis data can be preceded by the diagnosis server 30 sending an event request to the diagnosis client 6, to which the diagnosis client 6 responds with a (positive or negative) confirmation. Alternatively, the communication protocol 7 can also be request-based, with the diagnosis client 6 first sending a request for the transmission of diagnosis data to the diagnosis server 30 .

Alternativ sind selbstverständlich unterschiedliche Implementierungen des Frameworks 1, des Kommunikationsprotokolls 7 und des Diagnoseclients 6 möglich, so lange eine Datenkommunikation zwischen aus dem Framework 1 erstellten Diagnoseserver 30 und dem Diagnoseclient 6 sichergestellt ist. Der Diagnoseserver 30 und der Diagnoseclient 6 müssen also beide das Kommunikationsprotokoll 7 zum Datenaustausch über den Diagnosekanal 32 nutzen und der Diagnoseclient 6 entsprechend programmtechnisch eingerichtet sein, die empfangenen Diagnosedaten richtig zu interpretieren.Alternatively, of course, different implementations of the framework 1, the communication protocol 7 and the diagnosis client 6 are possible, as long as data communication between the diagnosis server 30 created from the framework 1 and the diagnosis client 6 is ensured. The diagnosis server 30 and the diagnosis client 6 must therefore both use the communication protocol 7 for data exchange via the diagnosis channel 32 and the diagnosis client 6 must be set up in terms of programming to correctly interpret the received diagnosis data.

Zusammengefasst wird somit vorliegend eine ganzheitliche Technik bereitgestellt, bei der die Diagnosefunktionalität ausschließlich in SPS-typischen IEC-61131-Progammiersprachen bereitgestellt wird. Entsprechend können die Diagnosefunktionalität und das SPS-Steuerungsprogramm mit demselben Engineering-Verfahren und demselben Engineering-Werkzeug (Engineering-Framework) erstellt werden. Entsprechend ist die erstellte Diagnosefunktionalität unabhängig von SPS-Typ und - Hersteller und kann in derselben Echtzeitumgebung laufen, wie das eigentliche Steuerungsprogramm für die SPS.In summary, a holistic technology is thus provided in the present case, in which the diagnostic functionality is provided exclusively in PLC-typical IEC 61131 programming languages. Accordingly, the diagnostic functionality and the PLC control program can be created with the same engineering process and the same engineering tool (engineering framework). Accordingly, the diagnostic functionality created is independent of the PLC type and manufacturer and can run in the same real-time environment as the actual control program for the PLC.

Obwohl die Erfindung unter Bezugnahme auf bestimmte Ausführungsbeispiele beschrieben worden ist, ist es für einen Fachmann ersichtlich, dass verschiedene Änderungen ausgeführt werden können und Äquivalente als Ersatz verwendet werden können, ohne den Bereich der Erfindung zu verlassen. Folglich soll die Erfindung nicht auf die offenbarten Ausführungsbeispiele begrenzt sein, sondern soll alle Ausführungsbeispiele umfassen, die in den Bereich der beigefügten Patentansprüche fallen. Insbesondere beansprucht die Erfindung auch Schutz für den Gegenstand und die Merkmale der Unteransprüche unabhängig von den in Bezug genommenen Ansprüchen.Although the invention has been described with reference to specific embodiments, it will be apparent to those skilled in the art that various changes may be made and equivalents substituted without departing from the scope of the invention. Accordingly, the invention should not be limited to the disclosed embodiments, but should include all embodiments falling within the scope of the appended claims. In particular, the invention also claims protection for the subject matter and the features of the subclaims independently of the claims referred to.

BezugszeichenlisteReference List

11
IEC- 61131-FrameworkIEC 61131 framework
22
Funktionsbausteinefunction blocks
33
Diagnoseserver-FunktionsbausteinDiagnostic server function block
3a3a
Diagnoseserverdiagnostic server
44
Nachrichten-Funktionsbausteinmessage function module
4a4a
Nachrichtenelementnews element
55
Strukturdatentypstructure data type
5a5a
Datenaustauschdatenstrukturdata exchange data structure
66
Diagnoseclientdiagnostic client
77
Kommunikationsprotokollcommunication protocol
88th
Steuerungsprogrammcontrol program
10a, 10b, 10c, 10n10a, 10b, 10c, 10n
Instanzen von Steuerungs-FunktionsbausteinenInstances of control function blocks
3030
Diagnoseserverdiagnostic server
3131
TCP/IP-SocketTCP/IP socket
3232
Diagnosekanaldiagnostic channel

Claims (17)

Computerimplementiertes Verfahren zur Bereitstellung einer Diagnosefunktionalität für eine auf einer speicherprogrammierbaren Steuerung, SPS, basierenden Anwendung, vorzugsweise für eine auf einer speicherprogrammierbaren Steuerung basierenden Fernwirk-Außenstation, RTU, umfassend die Schritte: a) Bereitstellung eines IEC-61131-Frameworks (1) zur Erstellung eines Steuerungsprogramms (8) in mindestens einer IEC-61131-konformen Programmiersprache für eine SPS, vorzugsweise für eine SPS zur Steuerung einer RTU, wobei das IEC-61131-Framework (1) ferner ausgebildet ist, mehrere Funktionsbausteine (2) bereitzustellen, mittels derer die Diagnosefunktionalität in der mindestens einen IEC-61131-konformen Programmiersprache erstellbar ist, wobei die mehreren Funktionsbausteine (2) umfassen: a1) einen Diagnoseserver-Funktionsbaustein (3) zur Instanziierung eines Diagnoseservers (30) zum Datenaustausch von Diagnosedaten mit einem Diagnoseclient (6), a2) mindestens einen Nachrichten-Funktionsbaustein (4) zur Instanziierung mindestens eines Nachrichtenelements (4a), das ausgebildet ist, bei einem Aufruf des instanziierten Nachrichtenelementes eine Diagnosenachricht in eine Datenaustauschstruktur (5a) zu schreiben, und a3) einen Strukturdatentyp (5) zur Bereitstellung der Datenaustauschdatenstruktur (5a) zum Datenaustausch zwischen dem instanziierten mindestens einen Nachrichtenelement (4a) und dem instanziierten Diagnoseserver (30).Computer-implemented method for providing a diagnostic functionality for a programmable logic controller, SPS, based application, preferably for a programmable logic controller based telecontrol outstation, RTU, comprising the steps: a) providing an IEC 61131 framework (1) for creation a control program (8) in at least one IEC-61131-compliant program ming language for a PLC, preferably for a PLC for controlling an RTU, the IEC 61131 framework (1) also being designed to provide a number of function blocks (2) by means of which the diagnostic functionality can be created in the at least one IEC 61131-compliant programming language is, wherein the multiple function modules (2) include: a1) a diagnosis server function module (3) for instantiating a diagnosis server (30) for data exchange of diagnosis data with a diagnosis client (6), a2) at least one message function module (4) for instantiation at least one message element (4a) which is designed to write a diagnostic message into a data exchange structure (5a) when the instantiated message element is called, and a3) a structure data type (5) for providing the data exchange data structure (5a) for data exchange between the instantiated at least one Message element (4a) and the instantiated diagnosis server (30). Verfahren nach Anspruch 1, wobei das IEC-61131-Framework (1) ausgebildet ist, das Steuerungsprogramm (8) und die durch die mehreren Funktionsbausteine (2) erstelle Diagnosefunktionalität ausschließlich in der mindestens einen IEC-61131-konformen Programmiersprache zu erstellen.procedure after claim 1 , wherein the IEC 61131 framework (1) is designed to create the control program (8) and the diagnostic functionality created by the plurality of function blocks (2) exclusively in the at least one IEC 61131-compliant programming language. Verfahren nach Anspruch 1 oder 2, wobei das IEC-61131-Framework (1) ausgebildet ist, die durch die mehreren Funktionsbausteine (2) erstellbare Diagnosefunktionalität automatisch bei Erstellung eines Steuerungsprogramms (8) für die SPS mitentstehen zu lassen und/oder in das erstellte Steuerungsprogramm (8) zu integrieren.procedure after claim 1 or 2 , the IEC 61131 framework (1) being designed to allow the diagnostic functionality that can be created by the multiple function modules (2) to be created automatically when a control program (8) is created for the PLC and/or to be integrated into the created control program (8). . Verfahren nach einem der vorhergehenden Ansprüche, wobei die durch die mehreren Funktionsbausteine (2) bereitgestellte Diagnosefunktionalität in einer IEC-61131-Echtzeit-Laufzeitumgebung lauffähig ist.Method according to one of the preceding claims, wherein the diagnostic functionality provided by the plurality of function modules (2) is capable of running in an IEC 61131 real-time runtime environment. Verfahren nach einem der vorhergehenden Ansprüche, wobei mittels des mindestens einen Nachrichten-Funktionsbausteins (4) mehrere Nachrichtenelemente (4a) konfigurierbar sind, a) für die jeweils festlegbar ist, welche Diagnosenachrichten das jeweilige Nachrichtenelement (4a) im instanziierten Zustand wann und/oder unter welcher Bedingung erzeugt; und/oder b) wobei sich die mehreren Nachrichtenelemente (4a) voneinander dadurch unterscheiden, dass durch jedes Nachrichtenelement (4a) ein anderes, vorbestimmtes Diagnoseereignis und/oder das vorbestimmte Diagnoseereignis zu einem anderen Diagnosezeitpunkt feststellbar ist.Method according to one of the preceding claims, wherein a plurality of message elements (4a) can be configured by means of the at least one message function module (4), a) for each of which it can be specified which diagnostic messages the respective message element (4a) generates when and/or under what condition in the instantiated state; and or b) the multiple message elements (4a) differing from one another in that each message element (4a) can be used to determine a different, predetermined diagnostic event and/or the predetermined diagnostic event at a different diagnostic time. Verfahren nach einem der vorhergehenden Ansprüche, wobei das IEC-61131-Framework (1) ferner ausgebildet ist, mehrere Steuerungs-Funktionsbausteine zur Erstellung des Steuerungsprogramms für die SPS bereitzustellen, und wobei mittels des mindestens eine Nachrichten-Funktionsbaustein (4) Nachrichtenelemente (4a) konfigurierbar und den Steuerungs-Funktionsbausteinen zuordenbar sind, derart, dass ein Steuerungs-Funktionsbaustein (10a, 10b, 10c, 10n) im instanziierten Zustand mindestens ein zugeordnetes Nachrichtenelement (4a) aufweist.Method according to one of the preceding claims, wherein the IEC 61131 framework (1) is also designed to provide several control function modules for creating the control program for the PLC, and wherein by means of the at least one message function module (4) message elements (4a) are configurable and can be assigned to the control function blocks, such that a control function block (10a, 10b, 10c, 10n) has at least one assigned message element (4a) in the instantiated state. Verfahren nach einem der vorhergehenden Ansprüche, wobei bei der Erstellung der Diagnosefunktionalität für die auf einer SPS basierenden Anwendung a) genau ein Diagnoseserver (30) aus dem Diagnoseserver-Funktionsbaustein (3), genau eine Datenaustauschdatenstruktur (5a) aus dem Strukturdatentyp (5) und mindestens ein Nachrichtenelement (4a), vorzugsweise mehrere Nachrichtenelemente (4a), aus dem mindestens einen Nachrichten-Funktionsbaustein (4) instanziiert werden; und/oder b) der Diagnoseserver (30) und das mindestens eine Nachrichtenelement (4a) zum Datenaustausch durch Anschluss der Datenaustauschdatenstruktur (5a) als INOUT-Variable miteinander verbunden werden.Method according to one of the preceding claims, wherein when creating the diagnostic functionality for the application based on a PLC a) exactly one diagnosis server (30) from the diagnosis server function block (3), exactly one data exchange data structure (5a) from the structure data type (5) and at least one message element (4a), preferably several message elements (4a), from the at least one message Function block (4) are instantiated; and or b) the diagnosis server (30) and the at least one message element (4a) are connected to one another for data exchange by connecting the data exchange data structure (5a) as an INOUT variable. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Diagnoseserver (30) ausgebildet ist, die Diagnosenachricht aus der Datenaustauschdatenstruktur (5a) zu lesen und anhand hinterlegter Relevanzbedingungen auszuwerten, ob die Diagnosenachricht relevant ist, und die Diagnosenachricht oder eine auf Basis der Diagnosenachricht erstellte aufbereitete Diagnosenachricht an den Diagnoseclient (6) zu senden, falls die Diagnosenachricht relevant ist.Method according to one of the preceding claims, wherein the diagnosis server (30) is designed to read the diagnosis message from the data exchange data structure (5a) and, based on stored relevance conditions, to evaluate whether the diagnosis message is relevant, and the diagnosis message or a prepared diagnosis message based on the diagnosis message to send to the diagnostic client (6) if the diagnostic message is relevant. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Diagnosefunktionalität als ein Textmeldesystem ausgeführt ist, vorzugsweise wobei das mindestens eine Nachrichtenelement (4a) bei Feststellen des vorbestimmten Diagnoseereignisses eine Diagnosenachricht als Textmeldung in die Datenaustauschdatenstruktur (5a) schreibt.Method according to one of the preceding claims, wherein the diagnostic functionality is implemented as a text message system, preferably wherein the at least one message element (4a) writes a diagnostic message as a text message in the data exchange data structure (5a) when the predetermined diagnostic event is detected. Verfahren nach einem der vorhergehenden Ansprüche, wobei a) wobei der Diagnoseserver (30) zur Datenkommunikation mit dem Diagnoseclient (6) einen Diagnosekanal (32) und/oder ein Kommunikationsprotokoll (7) zur Datenkommunikation verwendet, der und/oder das ausschließlich zur Datenkommunikation von Diagnosedaten verwendet wird; und/oder b) der Diagnoseserver (30) ein TCP/IP-Socket (31) zur Datenkommunikation mit dem Diagnoseclient (6) aufweist.Method according to one of the preceding claims, wherein a) the diagnosis server (30) for data communication with the diagnosis client (6) uses a diagnosis channel (32) and/or a communication protocol (7) for data communication, which and/or which exclusively for data communication from diagnostic data is used; and/or b) the diagnosis server (30) a TCP/IP socket (31) for data communication with the diagnostic client (6). Verfahren nach einem der vorhergehenden Ansprüche, ferner umfassend: Bereitstellung eines Diagnoseclients (6), der zur Datenkommunikation mit dem aus dem Diagnoseserver-Funktionsbaustein (3) instanziierten Diagnoseserver (30) ausgebildet ist, wobei der Diagnoseclient (6) a) ausschließlich dazu ausgebildet ist, eine Datenkommunikation mit einem oder mehreren Diagnoseservern (30) durchzuführen, um vom Server empfangene Diagnosedaten anzuzeigen, vorzugsweise um die Diagnosedaten mit Zeitstempel und weiteren Zusatzinformationen anzuzeigen; b) zur Anzeige der Diagnosedaten keine HTML oder JAVA-basierte Technologie verwendet; und/oder c) dazu ausgebildet ist, wahlweise Diagnosedaten mehrerer SPS-basierenden Fernwirk-Außenstationen anzuzeigen.A method according to any one of the preceding claims, further comprising: Provision of a diagnostic client (6) which is designed for data communication with the diagnostic server (30) instantiated from the diagnostic server function module (3), the diagnostic client (6) a) is designed exclusively to carry out data communication with one or more diagnostic servers (30) in order to display diagnostic data received from the server, preferably in order to display the diagnostic data with a time stamp and other additional information; b) does not use HTML or JAVA-based technology to display the diagnostic data; and or c) is designed to selectively display diagnostic data from multiple PLC-based telecontrol outstations. Vorrichtung zur Datenverarbeitung, umfassend Mittel zur Ausführung des Verfahrens nach einem der vorherigen Ansprüche.Device for data processing, comprising means for carrying out the method according to one of the preceding claims. Fernwirk-Außenstation, die auf einer SPS basiert und eine Diagnosefunktionalität umfasst, wobei die Diagnosefunktionalität mittels der Funktionsbausteine (2) gemäß einem Verfahren nach einem der Ansprüche 1 bis 10 erstellt ist.Telecontrol outstation, which is based on a PLC and includes a diagnostic functionality, wherein the diagnostic functionality by means of the function blocks (2) according to a method according to one of Claims 1 until 10 is created. System zur Datenverarbeitung, umfassend a) eine Vorrichtung zur Datenverarbeitung, die ausgebildet ist, das IEC-61131-Framework (1) gemäß einem Verfahren nach einem der Ansprüche 1 bis 10 bereitzustellen; b) einen Diagnoseserver (30), der durch eine Instanziierung eines Diagnoseserver-Funktionsbausteins (3) eines gemäß einem Verfahren der vorherigen Ansprüche bereitgestellten IEC-61131-Frameworks (1) erzeugt ist, und c) einen Diagnoseclient (6), der zur Datenkommunikation mit dem Diagnoseserver (30) ausgebildet ist.System for data processing, comprising a) a device for data processing, which is designed to use the IEC 61131 framework (1) according to a method according to one of Claims 1 until 10 to provide; b) a diagnosis server (30), which is generated by instantiating a diagnosis server function block (3) of an IEC 61131 framework (1) provided according to a method of the preceding claims, and c) a diagnosis client (6) for data communication is formed with the diagnosis server (30). Computerprogramm, umfassend Befehle, die bei der Ausführung des Programms durch einen Computer diesen veranlassen, das Verfahren nach einem der Ansprüche 1 bis 11 auszuführen.Computer program, comprising instructions which, when the program is executed by a computer, cause the latter to carry out the method according to one of Claims 1 until 11 to execute. Computerlesbares Speichermedium, umfassend Befehle, die bei der Ausführung durch einen Computer diesen veranlassen, das Verfahren nach einem der Ansprüche 1 bis 11 auszuführen.A computer-readable storage medium comprising instructions which, when executed by a computer, cause the computer to carry out the method according to any one of Claims 1 until 11 to execute. Datenträgersignal, das das Computerprogramm nach Anspruch 15 überträgt.Disk signal that the computer program according to claim 15 transmits.
DE102021123596.0A 2021-09-13 2021-09-13 Technique for providing diagnostic functionality for a programmable logic controller based application Pending DE102021123596A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102021123596.0A DE102021123596A1 (en) 2021-09-13 2021-09-13 Technique for providing diagnostic functionality for a programmable logic controller based application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021123596.0A DE102021123596A1 (en) 2021-09-13 2021-09-13 Technique for providing diagnostic functionality for a programmable logic controller based application

Publications (1)

Publication Number Publication Date
DE102021123596A1 true DE102021123596A1 (en) 2023-03-16

Family

ID=85284849

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021123596.0A Pending DE102021123596A1 (en) 2021-09-13 2021-09-13 Technique for providing diagnostic functionality for a programmable logic controller based application

Country Status (1)

Country Link
DE (1) DE102021123596A1 (en)

Similar Documents

Publication Publication Date Title
EP2098926B1 (en) Method and device for programming and/or configuring a safety controller
EP1415208A1 (en) Method and process management system for the operation of a technical plant
DE102010029952A1 (en) Method for integrating at least one field device in a network of automation technology
DE102009019088A1 (en) Safety controller for controlling an automated system and method for creating a user program for a safety controller
DE102011077319B4 (en) Simulation system, method for carrying out a simulation, control system and computer program product
DE102016124350A1 (en) Method and system for monitoring a process automation system
DE102008019053A1 (en) Method for operation of equipment of process automation technology, involves implementing gateway to hear messages, which are exchanged over network system between super ordinate unit and field devices
DE102011011587A1 (en) Port-independent topologically planned real-time network
EP1296207B1 (en) HMI apparatus and method for operating a technical installation, automation system with HMI apparatus and computer program product with program for carrying out the method in a HMI apparatus or in an automation system
DE102011077318B4 (en) Simulation system, method for carrying out a simulation, control system and computer program product
EP1920299A1 (en) Method and device for monitoring a technical device
AT412131B (en) AUTOMATION SYSTEM FOR SOLVING A PROCESS TECHNICAL TASK AND METHOD FOR THIS
DE102011077317B4 (en) Simulation system, method for carrying out a simulation, control system and computer program product
EP2557464B1 (en) Method for operating an automation system
EP3470939B1 (en) Method and system for monitoring the security integrity of a security function provided by a security system
EP2701019A2 (en) Method for adjusting the parameters of a field device and corresponding system and adjustment of parameters
LU500646B1 (en) Technique for providing diagnostic functionality for a programmable logic controller based application
EP1248168A2 (en) Process and device for the evaluation of diagnostic-information
EP3470937A1 (en) Method and devices for monitoring the response time of a security function provided by a security system
EP1454201B1 (en) Engineering and automation system
DE102021123596A1 (en) Technique for providing diagnostic functionality for a programmable logic controller based application
DE19818041B4 (en) Method for generating a surface for operating and monitoring control systems
EP4123396A1 (en) Technique for implementing visualization for an automation system with a programmable controller
DE19818041A9 (en) Computer design generating method for operating and monitoring guiding system
DE102010038484A1 (en) Plant controlling method, involves transmitting error signal to output modules independent of fixed transmission sequence, and transferring control signal to plant in safe state based on error signal