DE10254531A1 - Method and system for transforming programs that relate to the software configuration of a distributed control system - Google Patents

Method and system for transforming programs that relate to the software configuration of a distributed control system Download PDF

Info

Publication number
DE10254531A1
DE10254531A1 DE10254531A DE10254531A DE10254531A1 DE 10254531 A1 DE10254531 A1 DE 10254531A1 DE 10254531 A DE10254531 A DE 10254531A DE 10254531 A DE10254531 A DE 10254531A DE 10254531 A1 DE10254531 A1 DE 10254531A1
Authority
DE
Germany
Prior art keywords
control system
software configuration
state
text
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE10254531A
Other languages
German (de)
Inventor
Peter Dr.-Ing. Bort
Luca Cavalli
Rainer Dr.-Ing. Drath
Alexander Dr.-Ing. Fay
Massimo Scarpellini
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ABB Research Ltd Switzerland
Original Assignee
ABB Research Ltd Switzerland
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ABB Research Ltd Switzerland filed Critical ABB Research Ltd Switzerland
Priority to DE10254531A priority Critical patent/DE10254531A1/en
Priority to AU2003288131A priority patent/AU2003288131A1/en
Priority to PCT/EP2003/013009 priority patent/WO2004049156A2/en
Publication of DE10254531A1 publication Critical patent/DE10254531A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zur Transformation einer ersten Information (1a, 1b) in einem ersten Format, die eine erste Softwarekonfiguration eines ersten verteilten Leitsystems (1) beschreibt, in eine zweite Information (2a, 2b) in einem zweiten Format, die eine zweite Softwarekonfiguration eines zweiten verteilten Leitsystems (2) beschreibt, wobei das Laufzeitverhalten der ersten Softwarekonfiguration auf dem ersten Leitsystem (1) erfasst und bei der Transformation in die zweite Information derart berücksichtigt wird, dass das zweite Leitsystem (2) mit der zweiten Information ein zu dem ersten Leitsystem (1) mit der ersten Information gleiches Laufzeitverhalten aufweist. DOLLAR A Weiterhin betrifft die Erfindung ein entsprechendes System.The invention relates to a method for transforming first information (1a, 1b) in a first format, which describes a first software configuration of a first distributed control system (1), into second information (2a, 2b) in a second format, which is second Software configuration of a second distributed control system (2) describes, wherein the runtime behavior of the first software configuration on the first control system (1) is recorded and taken into account during the transformation into the second information in such a way that the second control system (2) with the second information the first control system (1) has the same runtime behavior with the first information. DOLLAR A Furthermore, the invention relates to a corresponding system.

Description

Die Erfindung betrifft ein Verfahren und ein System zur Transformation einer ersten Information in einem ersten Format, die eine erste Softwarekonfiguration eines ersten verteilten Leitsystems beschreibt, in eine zweite Information in einem zweiten Format, die eine zweite Softwarekonfiguration eines zweiten verteilten Leitsystems beschreibt, insbesondere für den Fall, dass die erste Information in einer textbasierten Programmiersprache vorliegt.The invention relates to a method and a system for transforming first information into one first format, which is a first software configuration of a first distributed control system describes in a second information in a second format that a second software configuration of a second distributed control system describes, especially for the case that the first information in a text-based programming language is present.

Verteilte Leitsysteme bzw. verteilte Steuerungs- und/oder Regelungssysteme werden nach dem Stand der Technik häufig eingesetzt, um Industrieprozesse zu steuern und/oder zu regeln. Insbesondere werden Leitsysteme für den Zweck geschaffen, die diesen Industrieprozessen innewohnende verteilte Struktur über eine physische Verteilung von Leitsystem-Einheiten bzw. Steuerungs-/Regelungs-Einheiten zu erfassen und zu beherrschen, wobei die Leitsystem-Einheiten miteinander kommunizieren und Daten und/oder Information austauschen können.Distributed control systems or distributed Control and / or regulation systems are based on the state of the Technology often used to control and / or regulate industrial processes. In particular, control systems are created for the purpose of: distributed structure inherent in these industrial processes physical distribution of control system units or control units to grasp and master, the control system units together communicate and can exchange data and / or information.

Ein Leitsystem kann die vom jeweiligen Prozess erhaltenen Daten und/oder Informationen erfassen und Anweisungssignale an Steuereinheiten abgeben, die den Prozess beeinflussen und seinen physikalischen Ablauf bestimmen können, damit die Einhaltung bestimmter benötigter Merkmale garantiert bzw. gewährleistet wird.A control system can be used by the respective Process data and / or information received and instruction signals to control units that influence the process and its physical Can determine the process thus guaranteeing compliance with certain required characteristics or guaranteed becomes.

Ein Leitsystem wird normaler Weise durch explizite Information in Bezug auf seine besondere Hardware-/Softwarekonfiguration beschrieben, z.B. durch Daten, Parameter, Programmbeschreibungen oder Ähnliches. Diese Information enthält bzw. beinhaltet normaler Weise:

  • a. Information in Bezug auf die Anzahl, die Art und die Konfiguration der in dem Leitsystem enthaltenen Leitsystem-Einheiten, und/oder
  • b. Information über die Anzahl, die Art und die Konfiguration der an die Leitsystem-Einheiten angeschlossenen Eingabe-/Ausgabe- (E/A) Karten, und/oder
  • c. Information über die Anzahl, die Art und die Konfiguration der spezifischen Mittel, die zum Aufbau einer Kommunikationsverbindung zwischen den Leitsystem-Einheiten verwendet werden, und/oder
  • d. Information über die Anzahl, die Art und den Aufbau der Mittel, die zur Steuerung der Leitsystem-Einheiten verwendet werden, und/oder
  • e. Information über das Verhalten der Leitsystem-Einheiten, welche im Allgemeinen die Programme, die auf den Leitsystem-Einheiten des Leitsystems ablaufen, und andere Randparameter umfasst, wie z.B. die Durchlaufzeiten (Zykluszeiten) der Programme, und/oder
  • f. Informationsetiketten, die zur Identifikation der verschiedenen Elemente eines Leitsystems verwendet werden.
A control system is normally described by explicit information in relation to its particular hardware / software configuration, for example by data, parameters, program descriptions or the like. This information normally contains:
  • a. Information relating to the number, type and configuration of the control system units contained in the control system, and / or
  • b. Information on the number, type and configuration of the input / output (I / O) cards connected to the control system units, and / or
  • c. Information on the number, type and configuration of the specific means used to establish a communication link between the control system units and / or
  • d. Information on the number, type and structure of the means which are used to control the control system units and / or
  • e. Information about the behavior of the control system units, which generally comprises the programs that run on the control system units of the control system and other peripheral parameters, such as the throughput times (cycle times) of the programs, and / or
  • f. Information labels that are used to identify the various elements of a control system.

Diese Erfindung bezieht sich auf die unter e. der obigen Liste beschriebene Information, insbesondere die Programme.This invention relates to the under e. information described above list, in particular the programs.

Die auf den Leitsystem-Einheiten des Leitsystems ablaufenden Programme bzw. Programmkomponenten sind sehr oft prozedurale Programme, die in einer textbasierten Sprache vorliegen und aus einer Liste von Befehlen bestehen, welche von dem Betriebssystem des Leitsystems ausgeführt werden. Beispiele solcher Befehle oder Aussagen sind:

  • – Befehle zum Erhalten von Information, z.B. aus einer spezifischen Informationsquelle,
  • – Befehle zum Speichern und/oder Schreiben von Information,
  • – Funktionen, wie z.B. arithmetische Funktionen,
  • – bedingte Schleifen ("while", "repeat until"...),
  • – unbedingte Schleifen ("for ... times do",...),
  • – bedingte Verzweigungen ("if ... else", "case",...).
The programs or program components running on the control system units of the control system are very often procedural programs which are available in a text-based language and consist of a list of commands which are executed by the operating system of the control system. Examples of such commands or statements are:
  • Commands for obtaining information, for example from a specific information source,
  • Commands for storing and / or writing information,
  • Functions, such as arithmetic functions,
  • - conditional loops ("while", "repeat until" ...),
  • - unconditional loops ("for ... times do", ...),
  • - conditional branches ("if ... else", "case", ...).

Die zur Beschreibung der Softwarekonfiguration eines Leitsystems verwendete Information ist durch ein geeignetes Format gekennzeichnet, welches mit einem geeigneten Aufbau und einer geeigneten Semantik versehen ist. Der Ausdruck "Aufbau" und der Ausdruck "Semantik" beschreiben jeweils einen Satz von Regeln zur Kodifizierung und einen Satz funktioneller Beziehungen und Regeln, die ein Informationsformat kennzeichnen.The description of the software configuration Information used in a control system is indicated by a suitable one Format marked, which with a suitable structure and a appropriate semantics. The expression "structure" and the expression "semantics" each describe a sentence of Codification rules and a set of functional relationships and rules that identify an information format.

Die in einem Leitsystem erreichbare bzw. ausführbare Funktionalität wird in erster Linie durch die in den Programmen des Leistsystems angegebenen bzw. niedergeschriebenen Befehle (= die Semantik) bestimmt, welche durch Experten bei der Programmierung an ein bestimmtes Leitsystem angepasst wird, d.h. an die charakteristischen Merkmale der Betriebssysteme eines Leitsystems. Dies umfasst die Möglichkeit von Unterbrechungen (Interrupts), die Ausführungsprioritäten etc., ist aber nicht darauf beschränkt. Diese Information ist im Allgemeinen nicht explizit in der Softwarekonfiguration beschrieben, sondern ein der Ausführungsphilosophie des jeweiligen Leitsystems und seinen Betriebssystemen inhärentes Merkmal.The one achievable in a control system or executable functionality is primarily due to that in the programs of the groin system specified or written commands (= the semantics), which are provided by experts when programming a specific control system is adjusted, i.e. the characteristic features of the operating systems of a control system. This includes the possibility of interruptions (Interrupts), the execution priorities etc., but is not limited to this. This information is generally not explicit in the software configuration described, but one of the execution philosophy of each Control system and its operating systems inherent feature.

Mit dem Fortschreiten der Technologie kann ein Leitsystem veralten oder, allgemeiner, es kann das Bedürfnis zur Steuerung eines bestimmten Industrieprozesses mit einem anderen Leitsystem entstehen, welches mit einer leistungsfähigeren Hardware und/oder Software versehen ist. In diesem Fall ist es nötig, das neue Leitsystem zu installieren und zu konfigurieren, und den technischen Ablauf der Prozesssteuerung wieder zu starten.With the advancement of technology a control system can become obsolete or, more generally, the need for Control of a certain industrial process with another Control system arise, which with a more powerful Hardware and / or software is provided. In this case, it is necessary install and configure new control system, and the technical To start the process control process again.

Um die Kosten der Aktualisierung des Leitsystems zu minimieren, wird die sich auf die Softwarekonfiguration des alten Leitsystems beziehende Information im Allgemeinen wieder verwendet. Dieses Vorgehen impliziert es, technische Lösungen wiederzuverwenden, die oft schon während einer langen Zeit der Steuerung durch das alte Leitsystem getestet wurden und demzufolge einen hohen Grad von Zuverlässigkeit der Prozesssteuerung sichern.In order to minimize the costs of updating the control system, the information relating to the software configuration of the old control system is generally reused. This procedure implies the reuse of technical solutions, which have often been tested for a long time by the old control system and therefore a high degree ensure reliability of process control.

Es ist offensichtlich, dass diese technischen Lösungen auf jeden Fall verbessert werden könnten. Der Aufwand der Aktualisierung des alten Leitsystems wird bei der Wiederverwendung der Softwarekonfiguration des alten Leitsystems im Vergleich mit dem Aufwand zur Neugenerierung der die Softwarekonfiguration des neuen Leitsystems betreffenden Information jedoch auf jeden Fall reduziert.It is obvious that this technical solutions could definitely be improved. The effort of updating of the old control system is used when reusing the software configuration of the old control system in comparison with the effort for regeneration of the software configuration of the new control system However, information is definitely reduced.

Allerdings besteht aufgrund der Tatsache, dass das Leitsystem physikalisch ausgetauscht wird, unglücklicherweise nur eine geringe Möglichkeit, die sich auf die Softwarekonfiguration des alten Leitsystems beziehende Information so wie sie ist, d.h. unverändert, wiederzuverwenden, obwohl das Prozessverhalten dem Grunde nach gleich bleibt.However, due to the fact that the control system is physically replaced, unfortunately only a slight possibility that relates to the software configuration of the old control system Information as it is, i.e. unchanged, reuse, though basically the process behavior remains the same.

Durch die Inkompatibilität zwischen der Softwarekonfiguration für das neue Leitsystem und der Softwarekonfiguration für das alte Leitsystem ist zur Konfiguration des neuen Leitsystems eine von Experten durchzuführende Überarbeitung der sich auf die Softwarekonfiguration des alten Leitsystems beziehenden Information erforderlich.Due to the incompatibility between the software configuration for the new control system and the software configuration for the old one The control system for configuring the new control system is one of Revision to be carried out by experts which relate to the software configuration of the old control system Information required.

Eine herkömmliche Vorgehensweise zur Ausführung dieser Konfiguration ist es, Abbildungstabellen zu verwenden, die es erlauben, logische Verknüpfungen zwischen den Elementen des alten Leitsystems und den Elementen des neuen Leitsystems aufzubauen. In der Praxis stellen diese Abbildungstabellen eine Richtlinie dar, wodurch das Erzeugen der Elemente der Konfiguration des neuen Leitsystems auf Grundlage der Elemente der Konfiguration des alten Leitsystems erlaubt bzw, ermöglicht wird.A conventional way of doing this Configuration is to use mapping tables that allow logical links between the elements of the old control system and the elements of the to build a new control system. In practice, these represent mapping tables provides a guideline for creating the elements of the configuration of the new control system based on the elements of the configuration of the old control system is allowed or enabled.

Neben einer völlig manuellen Vorgehensweise verwenden einige Verfahren nach dem Stand der Technik computerisierte Werkzeuge. Diese computerisierten Werkzeuge zielen darauf ab, die manuelle Transformation bzw. Umwandlung mittels einer automatischen Transformation der sich auf die Eingangs-/Ausgangs-Konfiguration des alten Leitsystems beziehenden Information zu beschleunigen.In addition to a completely manual procedure use some prior art methods computerized Tools. These computerized tools aim to do that manual transformation or conversion using an automatic Transformation of the input / output configuration to accelerate information relating to the old control system.

In der EP-A-00 201 534.5 , der EP-A-00 201 535.2 , der EP-A-00 201 536.0 , der EP-A-00 201 549.3 , und der EP-A-00 201 550.1 werden ein Verfahren und ein sich darauf beziehendes Werkzeug beschrieben, die eine automatisierte Übersetzung oder Transformation erlauben, welche einige Nachteile der manuellen oder halbautomatischen zu der Zeit bekannten (Anmeldetag 28.04.2000) Vorgehensweisen beseitigt und welche für die Übersetzung von Hardware/Software-Information der Konfiguration von Leitsystemen als nächstliegender Stand der Technik betrachtet werden können.In the EP-A-00 201 534.5 , the EP-A-00 201 535.2 , the EP-A-00 201 536.0 , the EP-A-00 201 549.3 , and the EP-A-00 201 550.1 A method and a related tool are described which allow automated translation or transformation, which eliminates some disadvantages of the manual or semi-automatic procedures known at the time (filing date April 28, 2000) and which are used for the translation of hardware / software information of the Configuration of control systems can be considered as the closest prior art.

Jedoch liefern die in diesen Patentanmeldungen beschriebenen Verfahren zur Transformation einer ersten Information in einem ersten Format, die eine erste Softwarekonfiguration eines ersten verteilten Leitsystems beschreibt, in eine zweite Information in einem zweiten Format, die eine zweite Softwarekonfiguration eines zweiten verteilten Leitsystems beschreibt, z.B. das in der EP-A-00 201 550.1 beschriebene Verfahren, immer noch unbefriedigende Ergebnisse. Das in den angegebenen Patentanmeldungen beschriebene Verfahren basiert auf der Analyse und Transformation von Information, die die Hardware-/Softwarekonfiguration eines Leitsystems beschreibt. Diese Information wird außerhalb des computerisierten Werkzeugs dargestellt und in dieses importiert. Ein Hauptgrund für das unbefriedigende Ergebnis der in den angegebenen Patentanmeldungen beschriebenen Verfahren ist es, dass die Funktion eines Leitsystems nicht nur von der Information bestimmt wird, die die Hardware-/Softwarekonfiguration, wie sie z.B. in der EP-A-201 534.5 beschrieben ist, explizit beschreibt, sondern, wie zuvor angegeben, auch durch die kennzeichnenden Merkmale der Betriebssysteme des Leitsystems, wie beispielsweise die Nutzung von bevorrechtigtem (präemptivem) oder nicht bevorrechtigtem (nicht präemptivem) Multitasking, das Abfragen von Ereignissen, die Abarbeitung iterativer Schleifen oder die Abarbeitung von Unterbrechungen, bestimmt wird. Diese Information ist in der Softwarekonfiguration nicht explizit dargestellt, sondern ist ein inhärentes Merkmal des Leitsystems und der darin verwendeten Betriebssysteme. Deswegen kann diese Information durch die in den angegebenen Patentanmeldungen beschriebene Vorgehensweise nicht berücksichtigt werden.However, the methods described in these patent applications for transforming first information in a first format, which describes a first software configuration of a first distributed control system, into second information in a second format, which describes a second software configuration of a second distributed control system, for example in the EP-A-00 201 550.1 described method, still unsatisfactory results. The method described in the specified patent applications is based on the analysis and transformation of information that describes the hardware / software configuration of a control system. This information is displayed outside of the computerized tool and imported into it. A main reason for the unsatisfactory result of the methods described in the specified patent applications is that the function of a control system is not only determined by the information that the hardware / software configuration, as described, for example, in the EP-A-201 534.5 is explicitly described, but, as previously stated, also by the characteristic features of the operating systems of the control system, such as the use of privileged (preemptive) or non-privileged (non-preemptive) multitasking, the querying of events, the processing of iterative loops or the processing of interruptions is determined. This information is not explicitly shown in the software configuration, but is an inherent feature of the control system and the operating systems used in it. For this reason, this information cannot be taken into account by the procedure described in the specified patent applications.

Wird die in den zuvor genannten Patentanmeldungen beschriebene Vorgehensweise verwendet, so wird ein konvertiertes Programm erzeugt, das von Experten umfangreich manuell überarbeitet werden muss, damit bei der Prozesssteuerung auf dem neuen Leitsystem kein unterschiedliches oder sogar fehlerhaftes Verhalten hervorgerufen wird.Will that in the aforementioned patent applications described procedure is used, so a converted Program generated that extensively revised manually by experts in order to control the process on the new control system no different or even incorrect behavior becomes.

Das konvertierte Programm der Softwarekonfiguration kann ein textbasiertes Programm sein. Die US 5,842,204 und die US 5,768,546 beschreiben den Stand der Technik für die Übersetzung von textbasierten Programmen. Diese Patente beschreiben zwei Verfahren, um Computersprachen von einem Quellsystem in die eines Zielsystems zu übersetzen. Der Hauptgrund, dass die in diesen beiden Patenten angegebenen Verfahren unzufriedenstellende Ergebnisse erzielen bzw. nicht verwendet werden können, ist, dass die Verfahren für Standardcomputerprogramme konzipiert sind, hier also keine textbasierten Programme für Leitsysteme berücksichtigt werden, die spezielle Charakteristiken und Funktionalitäten aufweisen, welche in normalen bzw. herkömmlichen Computern nicht existieren. Ein weiterer Grund für unzureichende Ergebnisse der in diesen Patenten beschriebenen Verfahren ist, dass keine Echtzeitumgebungen berücksichtigt werden können, was für Leitsysteme sehr wichtig ist. Ein weiterer Nachteil ist, dass durch die in den beiden Patenten beschriebenen Verfahren keine Übersetzung auf Grundlage einer wissensbasierten Vorgehensweise durchgeführt wird. Eine solche wissensbasierte Vorgehensweise ist flexibler, als eine fest-codierte Übersetzung, wie sie beispielsweise in den beiden Patenten beschrieben ist, und erlaubt bzw. ermöglicht das für die Übersetzung benötigte Wissen leichter zu sammeln und freier zu erweitern.The converted software configuration program can be a text-based program. The US 5,842,204 and the US 5,768,546 describe the state of the art for the translation of text-based programs. These patents describe two methods of translating computer languages from a source system to that of a target system. The main reason that the methods specified in these two patents achieve unsatisfactory results or cannot be used is that the methods are designed for standard computer programs, i.e. no text-based programs for control systems are considered here that have special characteristics and functionalities that are described in normal or conventional computers do not exist. Another reason for inadequate results from the methods described in these patents is that real-time environments cannot be considered, which is very important for control systems. Another disadvantage is that the methods described in the two patents do not translate based on a knowledge-based approach. Such a knowledge-based pro is more flexible than a hard-coded translation, as described for example in the two patents, and allows or enables the knowledge required for the translation to be collected more easily and expanded more freely.

Zusätzlich zu den zuvor angegebenen Patenten existiert ein weiterer bedeutender Gesichtspunkt der textbasierten Übersetzung, der durch die EP 0 539 120 B1 beschrieben wird. Dieses Patent kann als Stand der Technik für die textbasierte Übersetzung auf Grundlage eines unabhängigen Baummodells erachtet werden. Das beschriebene Verfahren übersetzt das textbasierte Programm unter Berücksichtigung eines Baummodells, welches durch Parsen erzeugt wurde. Das beschriebene Verfahren liefert gute Ergebnisse bei der Übersetzung von textbasierten Sprachen, es basiert aber ebenfalls nicht auf einer Wissensbasis. Weiter werden auch hier nicht die speziellen Charakteristiken und Funktionalitäten von textbasierten Programmen in einem spezifischen Leitsystem berücksichtigt und auch auf die Merkmale von Echtzeitumgebungen, die für die in Leitsystemen ausgeführten textbasierten Programme wichtig sind, wird nicht eingegangen.In addition to the aforementioned patents, there is another important aspect of text-based translation, which is that of the EP 0 539 120 B1 is described. This patent can be considered the state of the art for text-based translation based on an independent tree model. The described method translates the text-based program taking into account a tree model that was generated by parsing. The method described gives good results when translating text-based languages, but it is also not based on a knowledge base. Furthermore, the special characteristics and functionalities of text-based programs in a specific control system are also not taken into account here, and the features of real-time environments that are important for the text-based programs executed in control systems are not dealt with.

Der Erfindung liegt die Aufgabe zugrunde, ein verbessertes Verfahren und System zur Transformation einer ersten Information in einem ersten Format, die eine erste Softwarekonfiguration eines ersten verteilten Leitsystems beschreibt, in eine zweite Information in einem zweiten Format, die eine zweite Softwarekonfiguration eines zweiten verteilten Leitsystems beschreibt anzugeben, wodurch insbesondere der Aufwand zur manuellen Nachbearbeitung einer computerisiert gewandelten Information verringert oder vermieden wird.The invention is based on the object improved method and system for transforming a first Information in a first format, which is a first software configuration a first distributed control system describes, in a second information in a second format, which is a second software configuration of a second distributed control system describes what, in particular the effort for manual post-processing of a computerized converted Information is reduced or avoided.

Diese Aufgabe wird durch ein Verfahren sowie ein System zur Transformation einer ersten Information in einem ersten Format, die eine erste Softwarekonfiguration eines ersten verteilten Leitsystems beschreibt, in eine zweite Information in einem zweiten Format, die eine zweite Softwarekonfiguration eines zweiten verteilten Leitsystems beschreibt, mit den Merkmalen der unabhängigen Ansprüche gelöst.This task is accomplished through a process and a system for transforming a first piece of information into a first format, which is a first software configuration of a first distributed control system describes, in a second information in a second format, which is a second software configuration of a second distributed control system describes, with the characteristics of independent Expectations solved.

Vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung ergeben sich aus den abhängigen Ansprüchen.Advantageous configurations and Further developments of the invention result from the dependent claims.

Die Erfindung baut auf dem gattungsgemäßen Stand der Technik dadurch auf, dass bei einem Verfahren das Laufzeitverhalten der ersten Softwarekonfiguration auf dem ersten Leitsystem erfasst und bei der Transformation in die zweite Information derart berücksichtigt wird, dass das zweite Leitsystem mit der zweiten Information ein zu dem ersten Leitsystem mit der ersten Information gleiches Laufzeitverhalten aufweist. Nach der Erfindung wird Information verwendet, die bis heute nicht beachtet wurde: Das Laufzeitverhalten, gleichwertig auch als Ausführungsverhalten oder Echtzeitverhalten bezeichnet, des ersten Leitsystems, z.B. über die implizite Information von intrinsischen oder inhärenten Merkmalen, die nach dieser Erfindung explizit beschrieben werden können und z.B. über eine Leitsystem-spezifische Wissensbasis zur Verfügung gestellt werden können. Durch die Verwendung dieser Information werden die zuvor beschriebenen Nachteile auf ein vernachlässigbares Maß bzw. einen vernachlässigbaren Grad reduziert.The invention builds on the generic state the technology in that the runtime behavior in a method the first software configuration on the first control system and thus taken into account in the transformation into the second information is that the second control system with the second information same runtime behavior for the first control system with the first information having. According to the invention, information is used which up to was not considered today: the runtime behavior, equivalent also as execution behavior or real-time behavior, of the first control system, e.g. about the implicit information of intrinsic or inherent features that according to of this invention can be described explicitly and e.g. over a Control system-specific knowledge base can be made available. By the use of this information will be those previously described Disadvantages on a negligible Measure or a negligible Degrees reduced.

Dabei kann die Softwarekonfiguration für ein Leitsystem in vorteilhafter Weise mittels einer Kombination einer oder mehrerer textbasierter oder nicht textbasierter Programmiersprachen dargestellt werden.The software configuration for a control system advantageously by means of a combination of one or more text-based or non-text-based programming languages become.

Weiter kann das Laufzeitverhalten für das erste Leitsystem in vorteilhafter Weise mittels einer Kombination einer oder mehrerer textbasierter oder nicht textbasierter Programmiersprachen dargestellt werden. Insbesondere bei der gleichzeitigen Darstellung auch der Softwarekonfiguration für ein Leitsystem, insbesondere für das erste Leitsystem, ergibt sich hier eine besonders einfache Möglichkeit der Darstellung.The runtime behavior can further for the first Control system in an advantageous manner by means of a combination of or several text-based or non-text-based programming languages being represented. Especially with the simultaneous display also the software configuration for a guidance system, especially for the first control system, there is a particularly simple option here the representation.

Im vorstehend erläuterten Zusammenhang kann in vorteilhafter Weise weiterhin vorgesehen sein, dass jede textbasierte oder nicht textbasierte Programmiersprache nicht objektorientiert, sondern funktional, prozedural aufgebaut ist und auf bedingten oder unbedingten Anweisungen basiert.In the context explained above, in can also advantageously be provided that each text-based or non-text-based programming language is not object-oriented, but is functional, procedural and conditional or unconditional instructions based.

Bei dem erfindungsgemäßen Verfahren ist vorzugsweise weiterhin vorgesehen, dass das Ausführungsverhalten des ersten Leitsystems über intrinsische Merkmale erfasst und/oder dargestellt wird, insbesondere über

  • – die Verwendung von bevorrechtigtem oder nicht bevorrechtigtem Multitasking,
  • – aufruf- oder ereignisgetriebener Signalisierung,
  • – der Verwaltung und Ausführung von iterativen Schleifen, sowie
  • – der Möglichkeit, Schleifen zu unterbrechen und Wiedereinstiegspunkte.
In the method according to the invention, it is preferably further provided that the execution behavior of the first control system is recorded and / or displayed via intrinsic features, in particular via
  • - the use of privileged or non-privileged multitasking,
  • - call- or event-driven signaling,
  • - the management and execution of iterative loops, as well
  • - the ability to break loops and re-entry points.

Diese intrinsischen Merkmale können erfindungsgemäß mit weiteren intrinsischen oder inhärenten Merkmalen erweitert werden, die sich auch direkt auf das/ verwendete erste und/oder zweite System beziehen können, z.B. einer System- und/oder Programmiersprachenspezifischer Abarbeitung von bedingten Anweisungen oder Aussagen.According to the invention, these intrinsic features can be combined with other intrinsic or inherent Characteristics are expanded, which also directly affect the / used can refer to the first and / or second system, e.g. a system and / or Programming language-specific processing of conditional instructions or statements.

Eine bevorzugte Weiterbildung des erfindungsgemäßen Verfahrens sieht vor, dass das Ausführungsverhalten des ersten Leitsystems über implizit in dessen Softwarekonfiguration gegebene Beziehungen erfasst wird. Hierdurch wird das Ausführungs- oder Laufzeitverhalten indirekt, aber in besonders einfacher Weise erlangt, da keine Analyse des ersten Leitsystems selbst, sondern nur eine Analyse der dieses steuernden Softwarekonfiguration hinsichtlich des Ausführungs- oder Laufzeitverhaltens des ersten Leitsystems notwendig ist. Alternativ kann natürlich auch eine Untersuchung des Ausführungs- oder Laufzeitverhaltens des ersten Leitsystems direkt erfolgen, d.h. z.B. über eine Beobachtung der Aktionen des Leitsystems unter Berücksichtigung der Softwarekonfiguration.A preferred development of the method according to the invention provides that the execution behavior of the first control system is recorded via relationships given implicitly in its software configuration. In this way, the execution or runtime behavior is obtained indirectly, but in a particularly simple manner, since no analysis of the first control system itself is necessary, but only an analysis of the software configuration controlling it with regard to the execution or runtime behavior of the first control system. Alternatively, of course, an examination of the execution or runtime behavior of the first control system di done directly, ie, for example, by monitoring the actions of the control system, taking into account the software configuration.

Im Zusammenhang mit dem erfindungsgemäßen Verfahren wird weiterhin bevorzugt, dass das Ausführungsverhalten des ersten Leitsystems unter Verwendung von wenigstens einer Wissensdatenbank in die zweite Information gewandelt wird, wobei die wenigstens eine Wissensdatenbank wenigstens auf das erste Leitsystem zugeschnitten ist. Hierdurch kann ein Expertenwissen vorteilhaft für viele Transformationsprozesse zur Verfügung gestellt werden.In connection with the method according to the invention it is further preferred that the execution behavior of the first Control system using at least one knowledge database is converted into the second information, the at least one Knowledge base tailored at least to the first control system is. This can make expert knowledge beneficial to many Transformation processes available be put.

Bei dem erfindungsgemäßen Verfahren ist vorzugsweise weiterhin vorgesehen, dass Elemente der ersten Softwarekonfiguration über einen Satz Übersetzungsregeln in Elemente der IEC61131-Sprachen abgebildet werden. Die IEC61131 Sprachen, insbesondere die textbasierte Sprache IEC61131 Structured Text (ST) und IEC61131 Sequential Function Chart (SFC), eignen sich besonders für eine plattformunabhängige, d.h. neutrale Darstellung von Programmiersprachen. Eine nach der Erfindung in diese neutrale Darstellung gewandelte Softwarekonfiguration kann besonders einfach überprüft und/oder zur Emulation eines Leitsystems verwendet werden, sowie auch aus dieser neutralen Darstellung besonders einfach in die zweite Softwarekonfiguration gewandelt werden.In the method according to the invention it is preferably further provided that elements of the first Software configuration via a set of translation rules are represented in elements of the IEC61131 languages. The IEC61131 Languages, especially the text-based language IEC61131 Structured Text (ST) and IEC61131 Sequential Function Chart (SFC) are suitable especially for a platform independent, i.e. neutral representation of programming languages. One after the Invention software configuration converted into this neutral representation can be checked and / or particularly easily used to emulate a control system, as well as from this neutral representation particularly easily in the second software configuration be changed.

Weiter ist bei dem erfindungsgemäßen Verfahren vorzugsweise weiterhin vorgesehen, dass das Ausführungsverhalten von Elementen der ersten Softwarekonfiguration in Elemente der zweiten Softwarekonfiguration und/oder deren Anordnung darin abgebildet werden. Erfindungsgemäß kann unter Berücksichtigung des Ausführungsverhaltens in vorteilhafter Weise auf die bekannten Übersetzungsverfahren zurückgegriffen werden, z.B. auf die in der Beschreibungseinleitung genannten.Next is the method according to the invention preferably further provided that the execution behavior of elements the first software configuration in elements of the second software configuration and / or their arrangement are mapped therein. According to the invention consideration execution behavior advantageously use the known translation methods e.g. to those mentioned in the introduction to the description.

Bei dem erfindungsgemäßen Verfahren können dynamische Programmsteuerparameter, die die Ausführung der ersten Softwarekonfiguration in dem ersten Leitsystem leiten, in vorteilhafter Weise in Elemente der zweiten Softwarekonfiguration und/oder deren Anordnung abgebildet werden. Durch eine solche Abbildung erfolgt eine besonders einfache Umwandlung bzw. Transformation, insbesondere wenn dies nicht direkt, sondern über die zuvor beschriebene neutrale Schicht erfolgt, da dann bei der Transformation aus der neutralen Schicht nur einzelne Elemente und keine Programmsteuerparameter berücksichtigt werden müssen.In the method according to the invention can dynamic program control parameters that determine the execution of the first software configuration in the first control system, advantageously in elements the second software configuration and / or its arrangement become. Such a mapping results in a particularly simple one Conversion or transformation, especially if this is not direct, but about the neutral layer described above takes place because then at the Transformation from the neutral layer only individual elements and no program control parameters need to be considered.

Weiter kann die ersten Softwarekonfiguration vorzugsweise so in eine neutrale Schicht abgebildet werden, die unterschiedliche ein Ausführungsverhalten nachbildende Zustände aufweist, dass dort die erste Softwarekonfiguration sowie deren Ausführungsverhalten in dem ersten Leitsystem nachgebildet werden. Auf diese Weise ist eine Emulation des Ausführungsverhaltens in einfacher Weise möglich, so dass dieses durch einen Experten nur nachgeprüft und ggf. in dessen Abweichungen überarbeitet werden muss.The first software configuration can continue are preferably mapped into a neutral layer in such a way that different an execution behavior emulating states shows that there the first software configuration and its execution behavior are simulated in the first control system. That way an emulation of execution behavior easily possible, so that this is only checked by an expert and revised if necessary must become.

Dabei kann die neutrale Schicht in vorteilhafter Weise auf einem erweiterten Zustandsmodell basieren, welches einen Grundzustand, einen Haltzustand, einen aktiven Zustand, und einen ausgeschalteten Zustand aufweist, wobei Übergänge

  • – von dem ausgeschalteten Zustand mittels eines "An"-Befehls in den Grundzustand,
  • – von dem Grundzustand entweder mittels eines "Aus"-Befehls in den Auszustand oder mittels eines "Start"-Befehls in den aktiven Zustand,
  • – von dem aktiven Zustand entweder mittels eines "Stop"-Befehls in den Grundzustand oder mittels eines "Halt"-Befehls in den Haltzustand, und
  • – von dem Haltzustand entweder mittels eines "Stop"-Befehls in den Grundzustand oder mittels eines "Weiter"-Befehls in den aktiven Zustand
vorgesehen sind, und wenigstens zu Elementen der Softwarekonfiguration des ersten Leitsystems gewandelte Elemente in dem aktiven Zustand implementiert werden. Durch dieses erweiterte Zustandsmodell kann erfindungsgemäß jedes Ausführungsverhalten in ausreichender Weise von einem ersten Leitsystem auf ein zweites Leitsystem umgesetzt werden. Es können entweder ganze Programme der Softwarekonfiguration des ersten Leitsystems oder auch nur Teile davon mittels des erweiterten Zustandsmodells dargestellt werde, d.h. das erweiterte Zustandsmodell ist durch eine Ineinanderverschachtelung skalierbar.The neutral layer can advantageously be based on an expanded state model, which has a basic state, a halt state, an active state, and an off state, with transitions
  • From the switched-off state to the basic state by means of an "on" command,
  • From the basic state either to the off state by means of an “off” command or to the active state by means of a “start” command,
  • - from the active state either by means of a "stop" command to the basic state or by means of a "stop" command to the stop state, and
  • - from the stop state either by means of a "stop" command to the basic state or by means of a "continue" command to the active state
are provided, and elements which have been converted into elements of the software configuration of the first control system are implemented in the active state. With this expanded state model, according to the invention, each execution behavior can be sufficiently implemented from a first control system to a second control system. Either entire programs of the software configuration of the first control system or only parts of them can be represented by means of the expanded status model, ie the expanded status model is scalable by interleaving.

Die Erfindung baut auf dem gattungsgemäßen Stand der Technik weiterhin dadurch auf, dass ein System das Laufzeitverhalten der ersten Softwarekonfiguration auf dem ersten Leitsystemerfasst und bei der Transformation in die zweite Information derart berücksichtigt, dass das zweite Leitsystem mit der zweiten Information ein zu dem ersten Leitsystem mit der ersten Information gleiches Laufzeitverhalten aufweist. Dadurch ergeben sich die im Zusammenhang mit dem erfindungsgemäßen Verfahren erläuterten Vorteile in gleicher oder ähnlicher Weise, weshalb zur Vermeidung von Wiederholungen auf die entsprechenden Ausführungen verwiesen wird.The invention builds on the generic state Technology continues to be characterized by the fact that a system's runtime behavior the first software configuration on the first control system and taken into account in the transformation into the second information in such a way that the second control system with the second information one to the the first control system with the first information has the same runtime behavior. This results in those explained in connection with the method according to the invention Advantages in the same or similar Way, why avoid repetition on the appropriate versions is referred.

Gleiches gilt sinngemäß für die folgenden bevorzugten Ausführungsformen des erfindungsgemäßen Systems, wobei auch bezüglich der durch diese Ausführungsformen erzielbaren Vorteile auf die entsprechenden Ausführungen im Zusammenhang mit dem erfindungsgemäßen Verfahren verwiesen wird.The same applies mutatis mutandis to the following preferred embodiments of the system according to the invention, being also regarding of through these embodiments achievable advantages related to the corresponding designs the inventive method is referred.

Dabei kann das System die Softwarekonfiguration für ein Leitsystem in vorteilhafter Weise mittels einer Kombination einer oder mehrerer textbasierter oder nicht textbasierter Programmiersprachen darstellen.The system can do the software configuration for a Control system in an advantageous manner by means of a combination of or several text-based or non-text-based programming languages represent.

Weiter kann das System das Laufzeitverhalten für das erste Leitsystem in vorteilhafter Weise mittels einer Kombination einer oder mehrerer textbasierter oder nicht textbasierter Programmiersprachen darstellen.Furthermore, the system can advantageously determine the runtime behavior for the first control system by means of a combination of one or more text represent based or non-text based programming languages.

Im vorstehend erläuterten Zusammenhang kann in vorteilhafter Weise weiterhin vorgesehen sein, dass darin jede textbasierte oder nicht textbasierte Programmiersprache nicht objektorientiert, sondern funktional, prozedural aufgebaut ist und auf bedingten oder unbedingten Anweisungen basiert.In the context explained above, in advantageously be further provided that each text-based or not text-based programming language not object-oriented, but is functional, procedural and conditional or unconditional Instructions based.

Bei dem erfindungsgemäßen System ist vorzugsweise weiterhin vorgesehen, dass es das Ausführungsverhalten des ersten Leitsystems über intrinsische Merkmale erfasst und/oder dargestellt, insbesondere über

  • – die Verwendung von bevorrechtigtem (präemptivem) oder nicht bevorrechtigtem (nicht präemptivem) Multitasking,
  • – aufruf- oder ereignisgetriebener Signalisierung,
  • – der Verwaltung und Ausführung von iterativen Schleifen, sowie
  • – der Möglichkeit, Schleifen zu unterbrechen und Wiedereinstiegspunkte.
In the system according to the invention it is preferably further provided that it detects and / or displays the execution behavior of the first control system via intrinsic features, in particular via
  • - the use of privileged (preemptive) or non-privileged (non-preemptive) multitasking,
  • - call- or event-driven signaling,
  • - the management and execution of iterative loops, as well
  • - the ability to break loops and re-entry points.

Eine bevorzugte Weiterbildung des erfindungsgemäßen Systems sieht vor, dass es das Ausführungsverhalten des ersten Leitsystems über implizit in dessen Softwarekonfiguration gegebene Beziehungen erfasst.A preferred development of the system according to the invention stipulates that it is the execution behavior of the first control system Relationships given implicitly in its software configuration.

Im Zusammenhang mit dem erfindungsgemäßen System wird weiterhin bevorzugt, dass es das Ausführungsverhalten des ersten Leitsystems unter Verwendung von wenigstens einer Wissensdatenbank in die zweite Information wandelt, wobei die wenigstens eine Wissensdatenbank wenigstens auf das erste Leitsystem zugeschnitten ist.In connection with the system according to the invention it is further preferred that it is the execution behavior of the first Control system using at least one knowledge database converts to the second information, the at least one knowledge database is at least tailored to the first control system.

Bei dem erfindungsgemäßen System ist vorzugsweise weiterhin vorgesehen, dass es Elemente der ersten Softwarekonfiguration über einen Satz Übersetzungsregeln in Elemente der IEC61131-Sprachen abbildet.In the system according to the invention it is preferably further provided that there are elements of the first Software configuration via a set of translation rules in elements of the IEC61131 languages.

Weiter ist bei dem erfindungsgemäßen System vorzugsweise weiterhin vorgesehen, dass es das Ausführungsverhalten von Elementen der ersten Softwarekonfiguration in Elemente der zweiten Softwarekonfiguration und/oder deren Anordnung darin abbildet.Next is the system according to the invention preferably further provided that there is execution behavior from elements of the first software configuration to elements of the second Mapping software configuration and / or their arrangement therein.

Das erfindungsgemäße System kann dynamische Programmsteuerparameter, die die Ausführung der ersten Softwarekonfiguration in dem ersten Leitsystem leiten, in vorteilhafter Weise in Elemente der zweiten Softwarekonfiguration und/oder deren Anordnung abbilden.The system according to the invention can dynamic program control parameters, the execution direct the first software configuration in the first control system, advantageously in elements of the second software configuration and / or map their arrangement.

Weiter kann das erfindungsgemäße System in vorteilhafter Weise die erste Softwarekonfiguration so in eine neutrale Schicht abbilden, die unterschiedliche ein Ausführungsverhalten nachbildende Zustände aufweist, dass dort die erste Softwarekonfiguration sowie deren Ausführungsverhalten in dem ersten Leitsystem nachgebildet werden.The system according to the invention can also be used in advantageously the first software configuration in a neutral Depict a layer that different imitates an execution behavior conditions shows that the first software configuration and its execution behavior are simulated in the first control system.

Dabei kann die neutrale Schicht in dem erfindungsgemäßen System in vorteilhafter Weise auf einem erweiterten Zustandsmodell basieren, welches einen Grundzustand, einen Haltzustand, einen aktiven Zustand, und einen ausgeschalteten Zustand aufweist, wobei ÜbergängeThe neutral layer in the system according to the invention are advantageously based on an expanded state model, which is a basic state, a halt state, an active state, and has an off state, with transitions

– von dem ausgeschalteten Zustand mittels eines "An"-Befehls in den Grundzustand,

  • – von dem Grundzustand entweder mittels eines "Aus"-Befehls in den Auszustand oder mittels eines "Start"-Befehls in den aktiven Zustand,
  • – von dem aktiven Zustand entweder mittels eines "Stop"-Befehls in den Grundzustand oder mittels eines "Halt"-Befehls in den Haltzustand, und
  • – von dem Haltzustand entweder mittels eines "Stop"-Befehls in den Grundzustand oder mittels eines "Weiter"-Befehls in den aktiven Zustand vorgesehen sind, und wenigstens zu Elementen der Softwarekonfiguration des ersten Leitsystems gewandelte Elemente in dem aktiven Zustand implementiert werden.
From the switched-off state to the basic state by means of an "on" command,
  • From the basic state either to the off state by means of an “off” command or to the active state by means of a “start” command,
  • - from the active state either by means of a "stop" command to the basic state or by means of a "stop" command to the stop state, and
  • - from the stop state either by means of a "stop" command to the basic state or by means of a "next" command to the active state, and at least elements converted to elements of the software configuration of the first control system are implemented in the active state.

Ein Computerprogramm, das die Merkmale des erfindungsgemäßen Verfahrens aufweist und durch geeignete Hardware ausgeführt wird, führt zu einer bevorzugten Ausführungsform des erfindungsgemäßen Systems. Ein Computerprogramm, insbesondere ein auf einen Datenträger gespeichertes Computerprogramm, das die Merkmale des erfindungsgemäßen Verfahrens aufweist, wird daher ausdrücklich in den Offenbarungsgehalt der vorliegenden Anmeldung einbezogen.A computer program that the characteristics of inventive method and executed by suitable hardware leads to a preferred embodiment of the system according to the invention. A computer program, in particular a computer program stored on a data carrier, which has the features of the method according to the invention therefore expressly included in the disclosure content of the present application.

Nach der Erfindung kann die erste Softwarekonfiguration des ersten Leitsystems in die zweite Softwarekonfiguration für das zweite Leitsystem unterschiedlicher Art oder unterschiedlichen Typs übersetzt werden.According to the invention, the first Software configuration of the first control system in the second software configuration for the second control system of different types or different types translated become.

Sowohl die erste Konfiguration für das erste Leitsystem als auch die zweite Konfiguration für das zweite Leitsystem sind vorgesehen, den selben Industrieprozess zu steuern oder regeln, indem kontinuierliche Steuerung/Regelung, diskrete Steuerung/Regelung, Batches und Sequenzen verwaltet werden. Die zweite Softwarekonfiguration soll mit dem zweiten Leitsystem in Bezug auf die erste Softwarekonfiguration mit dem ersten Leitsystem dasselbe oder ein verbessertes Verhalten erzeugen. Demzufolge muss die zweite Softwarekonfiguration unabhängig von der verwendeten Sprache mit dem zweiten Leitsystem auch dasselbe funktionale Verhalten und Ausführungsverhalten zeigen, wie die erste Softwarekonfiguration mit den ersten Leitsystem, was nach der Erfindung gewährleistet oder zumindest besser unterstützt ist.Both the first configuration for the first control system as well as the second configuration for the second control system intended to control or regulate the same industrial process, by continuous control / regulation, discrete control / regulation, Batches and sequences are managed. The second software configuration should with the second control system in relation to the first software configuration same behavior or improved behavior with the first control system produce. As a result, the second software configuration must be independent of the language used with the second guidance system is also the same functional behavior and execution behavior show how the first software configuration with the first control system, which ensures according to the invention or at least better supported is.

Das automatische, vorzugsweise computerisierte Werkzeug nach der Erfindung kann die Merkmale der in den EP-A-00 201 534.5 , der EP-A-00 201 535.2 , der EP-A-00 201 536.0 , der EP-A-00 201 549.3 , und der EP-A-00 201 550.1 beschriebenen Werkzeuge aufweisen, welche hiermit durch Bezugnahme in diese Anmeldung aufgenommen sind, wodurch die dort beschriebenen Merkmale mit den hier beschriebenen in beliebiger Weise kombinierbar sind. Somit kann das erfindungsgemäße Werkzeug alle relevanten Gesichtspunkte der Konfiguration eines Leitsystems unabhängig von der Komplexität oder der Anzahl von Leitsystem-Einheiten und verwendeten Programmiersprachen verwalten. Weiter kann das computerisierte Werkzeug die Verknüpfungen zwischen den unterschiedlichen Gesichtspunkten verwalten und es ist leicht erweiterbar, um neue Arten von Leitsystemen sowohl als Quelle oder auch als Ziel erfassen zu können.The automatic, preferably computerized tool according to the invention can have the features of the in the EP-A-00 201 534.5 , the EP-A-00 201 535.2 , the EP-A-00 201 536.0 , the EP-A-00 201 549.3 , and the EP-A-00 201 550.1 have tools described, which are hereby incorporated by reference into this application, whereby the features described there with the here described can be combined in any way. Thus, the tool according to the invention can manage all relevant aspects of the configuration of a control system regardless of the complexity or the number of control system units and programming languages used. Furthermore, the computerized tool can manage the links between the different points of view and it is easily expandable in order to be able to record new types of control systems both as a source or as a target.

Nach dieser Erfindung kann zusätzlich das Ausführungsverhalten von syntaktischen Elementen, wie z.B. Aussagen, Schlüsselwörtern und graphischen Elementen, der textbasierten und/oder nicht textbasierten Sprache der Quelle in syntaktische Elemente, wie z.B. Aussagen, Schlüsselwörter und graphische Elemente, der textbasierten und/oder nicht textbasierten Sprache des Ziels zugeordnet werden.According to this invention, the execution behavior can additionally of syntactic elements, e.g. Statements, keywords and graphic elements, text-based and / or non-text-based Language of the source in syntactic elements, e.g. Statement, Keywords and graphic elements, text-based and / or non-text-based Language of the destination.

Weiter können nach dieser Erfindung zusätzlich die sich auf die Laufzeit beziehenden Programmsteuerparameter abgebildet werden, die die Ausführung der Programme in der Echtzeitumgebung von Leitsystem-Einheiten des Leitsystems verwalten können.Further can according to this invention additionally the program control parameters relating to the runtime are mapped be the execution of the programs in the real-time environment of control system units Control system can manage.

Die Erfindung wird nun unter Bezugnahme auf die beigefügten Zeichnungen anhand einer bevorzugten Ausführungsform beispielhaft erläutert, bei der insbesondere ein in einer textbasierten Sprache vorliegendes Programm in eine nicht-textbasierte Darstellung in der neutralen Ebene gewandelt bzw. transformiert wird.The invention will now be described with reference to FIG the attached Exemplified drawings using a preferred embodiment, in which in particular a program available in a text-based language converted to a non-text based representation on the neutral level or is transformed.

Es zeigen:Show it:

1 ein beispielhaftes Diagramm der Wirkweise des Werkzeugs nach der Erfindung; 1 an exemplary diagram of the operation of the tool according to the invention;

2 einen Zustandsgraphen von Programmen in der textbasierten Sprache TCL (Taylor Control Language); 2 a state graph of programs in the text-based language TCL (Taylor Control Language);

3 einen Zustandsgraphen von Programm in einer neutralen Schicht; 3 a state graph of program in a neutral layer;

4 ein SFC-Programm des Zustandsgraphen in der neutralen Schicht; 4 an SFC program of the state graph in the neutral layer;

5 eine Einbindung des konvertierten Quellenprogramms in den in der in 4 gezeigten Zustandsgraphen; 5 an integration of the converted source program in the in the 4 shown state graph;

6 einen Aufbau der konvertierten Programme in dem Zielsystem; und 6 a structure of the converted programs in the target system; and

7 eine SFC-Übersetzung eines Programmablaufs, der durch eine eine strukturierte Programmiersprache vorgegeben ist. 7 an SFC translation of a program sequence that is specified by a structured programming language.

1 gibt einen ergebnisorientierten Überblick über die Funktionsweise eines erfindungsgemäßen Systems. In der 1 sind die textbasierten und nicht textbasierten Sprachen beispielhaft mittels der textbasierten Sprache IEC61131 Structured Text (nämlich ST) und der nicht textbasierten Sprache IEC61131 Sequential Function Chart (nämlich SFC) erläutert. Die Erfindung ist jedoch allgemein zu sehen und sprachenunabhängig. Es ist gezeigt, dass die Programme eines ersten Leitsystems 1, nämlich ein SFC-Programm 1a und ein textbasiertes Programm 1b, durch eine Übersetzung in Programme eines zweiten Leitsystems 2, nämlich in ein textbasiertes Programm 2a und ein SFC-Programm 2b, gewandelt bzw. transformiert werden. 1 gives a results-oriented overview of the functioning of a system according to the invention. In the 1 the text-based and non-text-based languages are exemplarily explained using the text-based language IEC61131 Structured Text (namely ST) and the non-text-based language IEC61131 Sequential Function Chart (namely SFC). However, the invention can be seen generally and is independent of language. It is shown that the programs of a first control system 1 , namely an SFC program 1a and a text-based program 1b , by translation into programs of a second control system 2 , namely in a text-based program 2a and an SFC program 2 B , be changed or transformed.

Das beschriebene Werkzeug führt also die Konvertierung der Konfigurationsinformation des ersten Leitsystems aus dem Format, das sich auf das Entwicklungswerkzeug des ersten Leitsystems bezieht, in ein Format und einen Aufbau durch, welcher sich auf das zweite Leitsystem beziehen.So the tool described leads the conversion of the configuration information of the first control system from the format that applies to the development tool of the first Control system relates, in a format and structure, which is refer to the second control system.

Die Transformation einer solchen Konfiguration umfasst es bzw. beinhaltet, die Art und Anzahl von Leitsystem-Einheiten in dem Leitsystem, die Art, Anzahl und Einstellungen von E/A-Schnittstellen, die zur Kommunikation mit dem Prozess an die verschiedenen Leitsystem-Einheiten des Leitsystems angeschlossen sind, die benötigten Kommunikationsstrecken zwischen Leitsystem-Einheiten und einem übergeordneten Überwachungsmittel des Leitsystems, die in unterschiedlichen Sprachen (nicht textbasiert und/oder textbasiert) geschriebenen das Verhalten des Leitsystems definierenden Programme, und die Daten und Zeitbeziehungen zwischen den verschiedenen Programmen zu erfassen.The transformation of such Configuration includes or includes the type and number of Control system units in the control system, the type, number and settings of I / O interfaces used to communicate with the process the various control system units of the control system are connected are the ones needed Communication routes between control system units and a higher-level monitoring device of the control system, which is in different languages (not text-based and / or text-based) wrote the behavior of the control system defining programs, and the dates and time relationships between the different programs.

Alle Beziehungen, die in beliebiger Art zwischen Elementen der Konfiguration bestehen, werden ebenfalls in der zur Transformation benutzten Information vorgesehen, die von dem Übersetzungswerkzeug verwendet wird. Die von dem Übersetzungswerkzeug verwendete Information über das erste Leitsystem ist konzeptionell äquivalent zu dessen Konfigurationsinformation, ist aber in einem Format dargestellt, auf welches das Werkzeug einfach zugreifen kann und welches das Werkzeug einfach verwalten kann.All relationships in any Kind between elements of the configuration will also exist provided in the information used for the transformation, the from the translation tool is used. The translation tool information used about the first control system is conceptually equivalent to its configuration information, but is presented in a format that the tool can easily access and which the tool can easily manage.

Der Hauptaspekt dieses Konfigurationswerkzeugs ist es, dass die Übersetzung aus textbasierten und/oder nicht textbasierten Programmiersprachen in andere textbasierte und/oder nicht textbasierte Programmiersprachen, wie z.B. IEC61131SFC und/oder ST erfolgt, wobei das Laufzeitverhalten berücksichtigt wird. Diese Programmiersprachen werden normaler Weise verwendet, Abfolgen und Batches zu verwalten, obwohl sie ebenfalls für kontinuierliche und diskrete Steuerungen oder Regelungen verwendet werden könnten. Im Folgenden wird die Übersetzung von textbasierten und nicht textbasierten Sprachen beispielhaft lediglich anhand der Übersetzung einer textbasierten Sprache in eine nicht textbasierte Sprache wie IEC61131 SFC dargestellt.The main aspect of this configuration tool is it that translation from text-based and / or non-text-based programming languages in other text-based and / or non-text-based programming languages, such as. IEC61131SFC and / or ST takes place, the runtime behavior considered becomes. These programming languages are normally used Manage sequences and batches, although they are also for continuous and discrete controls could be used. in the Following is the translation of text-based and non-text-based languages as an example only based on the translation a text based language into a non text based language like IEC61131 SFC shown.

Die Vorgehensweise nach der Erfindung ist jedoch allgemein und von den verwendeten Sprachen unabhängig, wie es in der 1 angedeutet ist, die ein vereinfachtes Ablaufdiagramm des Werkzeugs ergebnisorientiert darstellt.However, the procedure according to the invention is general and independent of the languages used, as it is in the 1 is indicated, which represents a simplified flow diagram of the tool results-oriented.

Der textbasierte Code, wie alle anderen Programme in der Leitsystem-Einheit, wird mit einer bestimmten, dem entsprechenden Task zugeordneten Rate ausgeführt. Weiter kann eine Interaktion mit dem Rest der Programme der Leitsystem-Einheit stattfinden. Jede Aussage oder jedes Schlüsselwort der textbasierten Sprache weist ein wohldefiniertes funktionales und Ausführungsverhalten auf. Die textbasierte Sprache des Ziels, in diesem Fall SFC und ST, weist unterschiedliche syntaktische und semantische Elemente auf, um dasselbe Verhalten zu erzeugen. Demzufolge muss die Übersetzungseinheit einen Satz von Übersetzungsregeln aufweisen, die die Elemente der textbasierten Sprache der Quelle auf die Elemente der Sprachen des Ziels abbilden, z.B. der IEC61131-Sprachen, die auch für die nach der Erfindung vorteilhafter Weise vorgesehene neutrale Schicht verwendet werden können.The text-based code, like all other programs in the control system unit, is executed at a specific rate assigned to the corresponding task. Interaction with the rest of the control system unit programs. Every statement or keyword in the text-based language has a well-defined functional and execution behavior. The target's text-based language, in this case SFC and ST, has different syntactic and semantic elements to produce the same behavior. Accordingly, the translation unit must have a set of translation rules which map the elements of the text-based language of the source to the elements of the languages of the target, for example the IEC61131 languages, which can also be used for the neutral layer advantageously provided according to the invention.

Die Übersetzung umfasst also zwei wichtige Teile:

  • 1. Das Ausführungsverhalten der Schlüsselworte und Aussagen der textbasierten Sprache der Quelle muss auf die Aussagen, Schlüsselworte und graphischen Elemente der SFC- und ST-Sprachen abgebildet werden.
  • 2. Die dynamischen Programmsteuerparameter, wie z.B. Zustand, Status, Modus, die die Ausführung des Programms leiten, müssen abgebildet werden.
The translation therefore comprises two important parts:
  • 1. The execution behavior of the keywords and statements of the text-based language of the source must be mapped to the statements, keywords and graphic elements of the SFC and ST languages.
  • 2. The dynamic program control parameters, such as state, status, mode, which guide the execution of the program must be mapped.

A) Abbildung der sich auf die Ausführungszeit beziehenden Programmsteuerparameter, wie Zustand, Status, ModusA) Figure of yourself on the execution time related program control parameters, such as state, status, mode

In den textbasierten Sprachen der Quelle können die sich auf die Ausführungszeit beziehenden Programmsteuerparameter, wie Zustand, Status und Modus, die die Ausführung des Programms beeinflussen, über die Ausführung von Aussagen manipuliert werden.In the text-based languages of the Source can referring to the execution time related program control parameters, such as state, status and mode, the execution of the program influence over execution are manipulated by statements.

Eine Manipulation dieser Parameter bietet die Mittel, um

  • – ein Programm zu aktivieren, abzubrechen oder in einen Pausenzustand zu versetzen (Zustand),
  • – unnormale Bedingungen zu definieren, detektieren und zu verwalten (Status), und
  • – ein Verfahren der schrittweisen Ausführung zu steuern (Modus).
Manipulating these parameters provides the means to
  • - activate a program, cancel it or put it into a pause (state),
  • - Define, detect and manage abnormal conditions (status), and
  • - To control a step-by-step process (mode).

In der 2 ist die textbasierte Sprache TCL (Taylor Control Language) beispielhaft dargestellt, in der Programme drei Zustände aufweisen: inaktiv, aktiv und pausierend. Die Erfindung ist jedoch nicht auf die Darstellung von TCL beschränkt, sondern ermöglicht eine allgemeine und sprachunabhängige Darstellung.In the 2 the text-based language TCL (Taylor Control Language) is shown as an example, in which programs have three states: inactive, active and pausing. However, the invention is not limited to the representation of TCL, but enables a general and language-independent representation.

Die 2 zeigt, dass ein Programm von einem inaktiven Zustand 3 über eine Aktivierung in einen aktiven Zustand 4 überführt werden kann, von welchem es über eine Beendigung oder einen Abbruch wiederum in den inaktiven Zustand 3 versetzt werden kann oder alternativ über einen Pausenbefehl in einen Pausenzustand 5 versetzt werden kann. Aus dem Pausenzustand 5 kann das Programm über einen Abbruch in den inaktiven Zustand 3 oder über einen Wiederaufnahmebefehl wieder zurück in den aktiven Zustand 4 versetzt werden.The 2 shows that a program from an inactive state 3 an activation into an active state 4 can be transferred from which it in turn to an inactive state via termination or termination 3 can be put into a pause state or alternatively via a pause command 5 can be moved. From the pause 5 the program can abort the inactive state 3 or back to the active state via a resume command 4 be transferred.

In TCL existieren drei Arten der Manipulation des Zustands, Status und Modus in Programmen:

  • 1. Demand, d.h. ein (direkter, unbedingter) Befehl, der einen Übergang von Zustand, Status oder Modus hervorruft, z.B.: Activate ('POWERUP', 3);
  • 2. Event, d.h. eine EVENT/ENDEVENT-Struktur definiert ein Ereignis in einem TCL-Programm; diese wird verwendet, um spezifische Bedingungen zu definieren, entsprechend der einer oder mehrere Zustands-, Status- und/oder Modusübergänge erfolgen.
  • 3. Time, d.h. Zustands-, Status- und Modusübergänge können in TCL-Programmen über Zeitablauffunktionen manipuliert werden.
There are three types of manipulation of the state, status and mode in programs in TCL:
  • 1. Demand, ie a (direct, unconditional) command that causes a transition from state, status or mode, eg: Activate ('POWERUP', 3);
  • 2. Event, ie an EVENT / ENDEVENT structure defines an event in a TCL program; this is used to define specific conditions according to which one or more state, status and / or mode transitions occur.
  • 3. Time, ie state, status and mode transitions can be manipulated in TCL programs using timeout functions.

Um in einem IEC61131-basierten Zielsystem das Laufzeitverhalten eines TCL-Programms (und all der anderen Programmiersprachen für ein Leitsystem) zu emulieren, ist es nötig, die unterschiedlichen in dem Quellsystem möglichen Zustände eines TCL-Programms nachzubilden. Demzufolge wurde nach einer bevorzugten Ausführungsform der Erfindung auf Grundlage des TCL-Zustandsmodells ein erweitertes Zustandsmodell entwickelt, welches auch für andere textbasierte Sprachen, die in einer Quelle verwendet werden können, für die Darstellung von unterschiedlichen Zuständen eines allgemeinen Programms in einer neutralen Schicht verwendet werden kann. Durch diese neutrale Darstellung wird bei der Übersetzung von dem Quell- in das Zielsystem ein Zwischenschritt realisiert.To do this in an IEC61131-based target system Runtime behavior of a TCL program (and all the other programming languages for a control system), it is necessary, the different states of a TCL program possible in the source system replicate. Accordingly, according to a preferred embodiment the invention based on the TCL state model an expanded State model developed, which also for other text-based languages, that can be used in one source to represent different ones states of a general program used in a neutral layer can be. This neutral representation is used for the translation an intermediate step from the source to the target system.

Dieses erweiterte Zustandsmodell nach einer vorteilhaften Weiterbildung der Erfindung ist in der 3 gezeigt und weist einen Grundzustand 6, einen Haltzustand 7, einen aktiven Zustand 8, und einen ausgeschalteten Zustand 9 auf. Von dem ausgeschalteten Zustand 9 kann ein Programm mittels eines "An-"Befehls in den Grundzustand 6 überführt werden, von dem es mittels eines "Aus"-Befehls wieder in den Auszustand 9 überführt werden kann. Ein Programm kann von dem Grundzustand 6 mittels eines "Start"-Befehls in den aktiven Zustand 8 überführt werden und von dem aktiven Zustand 8 mittels eines "Stop"-Befehls in den Grundzustand 6 zurückversetzt werden. Aus dem aktiven Zustand 8 kann ein Programm mittels eines "Halt"-Befehls in den Haltzustand 7 versetzt werden, von dem es entweder mittels eines "Stop"-Befehls in den Grundzustand 6 oder mittels eines "Weiter"-Befehls in den aktiven Zustand 8 versetzt werden kann.This expanded state model according to an advantageous development of the invention is in the 3 shown and has a basic state 6 , a halt state 7 , an active state 8th , and an off state 9 on. From the off state 9 can a program in the basic state by means of an "on" command 6 from which it is returned to the off state by means of an "off" command 9 can be transferred. A program can from the basic state 6 into the active state by means of a "start" command 8th be transferred and from the active state 8th by means of a "stop" command in the basic state 6 be set back. From the active state 8th can put a program into the halt state by means of a "Halt" command 7 from which it is either in the basic state by means of a "Stop" command 6 or by means of a "continue" command into the active state 8th can be moved.

Um dieses Zustandsmodell in einem IEC61131-basierten Zielsystem zu implementieren, ist es nötig, einen Coderahmen um den zugrunde liegenden Quellcode zu erstellen. Die 4 zeigt, wie dieser Code mit SFC realisiert werden kann. Dieser Coderahmen, hier ein SFC-Rahmen, kann die in der 3 gezeigten unterschiedlichen Programmzustände emulieren.In order to implement this status model in an IEC61131-based target system, it is necessary to create a code frame around the underlying source code. The 4 shows how this code can be implemented with SFC. This code frame, here an SFC frame, can be used in the 3 different program shown emulate stands.

Von einem SFC-BaseState-Zustand 10, der dem Grundzustand 6 entspricht, kann das Programm entweder nach Erfüllung der Bedingung T_off 11 in einen SFC-Down-Zustand 12, der dem Auszustand 9 entspricht, oder unter Erfüllung der Bedingung T_start 13 in einen SFC-Active-Zustand 14 verzweigen, der dem Aktivzustand 8 entspricht. Aus dem SFC-Down-Zustand 12 kann das Programm unter der Bedingung T_on 15 wieder in den SFC-BaseState-Zustand 10 versetzt werden. Aus dem SFC-Active-Zustand 14 kann das Programm entweder unter der Bedingung TA_stop 16 in den SFC-BaseState-Zustand 10 oder unter der Bedingung T_halt 17 in einen SFC-Halt-Zustand 18 verzweigen, der dem Haltzustand 7 entspricht. Aus dem SFC-Halt-Zustand 18 kann das Programm entweder unter der Bedingung Th_Stop 19 in den SFC-BaseState-Zustand 10 oder unter der Bedingung T_CONTINUE 20 in den SFC-Active-Zustand 14 verzweigen.From an SFC BaseState state 10 which is the ground state 6 corresponds, the program can either go into an SFC down state after condition T_off 11 has been met 12 which is the off-state 9 corresponds, or in compliance with the condition T_start 13 in an SFC active state 14 branch of the active state 8th equivalent. From the SFC down state 12 the program can return to the SFC BaseState state under the condition T_on 15 10 be transferred. From the SFC active state 14 the program can enter the SFC BaseState state either under the condition TA_stop 16 10 or under the condition T_halt 17 in an SFC-Halt state 18 branch of the halt state 7 equivalent. From the SFC stop state 18 the program can either under the condition Th_Stop 19 in the SFC BaseState state 10 or under the condition T_CONTINUE 20 in the SFC active state 14 branch.

Nach einer weiteren bevorzugten Ausgestaltung der Erfindung wird ein gewandeltes Quellprogramm in dem SFC-Active-Zustand 14 des SFC-Rahmens platziert, wie es beispielhaft für ein ebenfalls in SFC gewandeltes oder übersetztes Quellprogramm 21 in der 5 gezeigt ist.According to a further preferred embodiment of the invention, a converted source program is in the SFC active state 14 of the SFC frame, as exemplified for a source program that has also been converted or translated into SFC 21 in the 5 is shown.

Für den Fall, dass kein Programm aktiv ist, wird das ganze Untersystem in eine Art Basiszustand oder grundlegenden Zustand gesetzt. Zusätzlich kann festgelegt sein, dass nur ein Programm gleichzeitig ausgeführt werden kann. Dieses Verhalten kann mittels eines einfachen SFC-Rahmens mit einem Grundlegenden Zustand und parallelen Phasen für jedes gewandelte Quellprogramm emuliert werden. Die 6 zeigt, wie die gewandelten Quellprogramme (SFC und/oder ST) nach einem solchen Schema implementiert werden könnten. Aus dem grundlegenden Zustand 22 kann in verschiedene Programme verzweigt werden, z.B. in ein erstes Programm 23, das dem in der 5 gezeigten gewandelten Quellprogramm 21 im SFC-Code entspricht, in ein zweites textbasiertes Programm 24, oder in ein drittes Programm 25, das wiederum dem in der 5 gezeigten gewandelten bzw. transformierten Quellprogramm 21 entspricht. Nach Abarbeitung eines dieser Programme wird wieder der grundlegende Zustand 22 erreicht.In the event that no program is active, the entire subsystem is set to a kind of basic state or basic state. In addition, it can be specified that only one program can be executed at a time. This behavior can be emulated using a simple SFC frame with a basic state and parallel phases for each converted source program. The 6 shows how the converted source programs (SFC and / or ST) could be implemented according to such a scheme. From the basic state 22 can be branched into different programs, for example a first program 23 that the in the 5 corresponds to the converted source program 21 shown in the SFC code, in a second text-based program 24 , or in a third program 25 which in turn is the one in the 5 shown changed or transformed source program 21 equivalent. After executing one of these programs, the basic state is restored 22 reached.

B) Abbildung des Ausführungsverhaltens der syntaktischen Elemente einer textbasierten und/oder nicht textbasierten SpracheB) Mapping the execution behavior the syntactic elements of a text-based and / or non-text-based language

Das Ausführungsverhalten eines syntaktischen Elements einer textbasierten und/oder nicht textbasierten Sprache bezieht sich darauf, wie die Leitsystem-Einheit dieses syntaktische Element ausführt. Z.B. kann das syntaktische Element eine normale Aussage sein, die in einem Task zusammen mit anderen Aussagen vollständig in einer Durchlaufzeit des Tasks, z.B. in einem dem Task zugeordneten CPU-Zeitschlitz, ausgeführt wird. Es gibt aber auch andere Aussagen, die für eine bestimmte Zeit oder auf eine bestimmte Eingabe aus dem Feld warten müssen, wodurch ihre Ausführung sich über mehr als eine Durchlaufzeit erstreckt, d.h. in mehreren aufeinanderfolgenden dem Task zugeordneten Zeitschlitzen der CPU.The execution behavior of a syntactic Elements of a text-based and / or non-text-based language refers to how the control system unit this syntactic Element executes. For example, the syntactic element can be a normal statement that in a task along with other statements completely in a lead time of the task, e.g. in a CPU time slot assigned to the task, accomplished becomes. But there are other statements that are made for a certain time or on a certain input from the field will have to wait, causing its execution to spread over more extends as a lead time, i.e. in several successive time slots of the CPU assigned to the task.

Die Analyse der textbasierten Sprachen ergibt, dass die folgenden syntaktischen Elemente existieren:Analysis of text-based languages reveals that the following syntactic elements exist:

– Normale Aussage (normal_statement): Die Ausführungszeit einer normalen Aussage hängt nur von der CPU-Zeit ab und ist immer gleich.- normal Statement (normal_statement): The execution time of a normal statement just depends on CPU time and is always the same.

– Unterbrechbare Aussage (break statement): Die Ausführungszeit einer unterbrechbaren Aussage hängt von ihrer funktionalen Definition ab. Unterbrechbar bedeutet, dass die Ausführung in einer bestimmten Durchlaufzeit angehalten wird und in der nächsten Durchlaufzeit weitergeführt wird.- Interruptible Break statement: The execution time of an interruptible statement depends on their functional definition. Interruptible means that the execution is stopped in a certain cycle time and in the next cycle time continued becomes.

Mit Hilfe dieser Ausführungsmerkmale kann das Ausführungsverhalten des textbasierten Quellprogramms auf das Zielprogramm abgebildet werden. Das bedeutet, dass die folgenden beispielhaft dargestellten Verfahrensschritte nur notwendig sind, wenn zwischen den betrachteten Elementen des Quellsystems und des Zielsystems ein unterschiedliches Laufzeitverhalten besteht.With the help of these design features can the execution behavior the text-based source program is mapped to the target program become. This means that the following are exemplified Process steps are only necessary if between the considered Elements of the source system and the target system are different Runtime behavior exists.

Im Folgenden wird die Übersetzung einer for-Schleife beschrieben, die einen unterbrechbaren Ausführungszweig enthält, nämlich einen if-then-Zweig, und aus der nachfolgend beschrieben strukturierten Programmiersprache in die in der 7 gezeigte IEC61131-SFC übersetzt wird.In the following, the translation of a for loop is described, which contains an interruptible execution branch, namely an if-then branch, and from the programming language described below into the in the 7 IEC61131-SFC shown is translated.

Figure 00230001
Figure 00230001

Die unterbrechbare Aussage, hier break_statement1, kann eine Aussage sein, die darauf wartet, dass eine digitale Eingabe des zugeordneten Feldes wahr wird. Auf diese Weise kann es sein, dass das Programm an dieser Stelle länger als eine Durchlaufzeit warten muss. Das bedeutet, dass die SU-Einheit, in der dieses Programm abläuft, die Ausführung dieses Programms in dieser Durchlaufzeit beendet (eine Art Bevorrechtigung) und in der nächsten Durchlaufzeit weitergeführt. Ist die digitale Eingabe des Feldes jetzt noch nicht wahr geworden, so wird die Ausführung dieses Programms wiederum beendet und in der darauffolgenden Durchlaufzeit weitergeführt, und so weiter.The interruptible statement, here break_statement1, can be a statement waiting for a digital input of the assigned field becomes true. That way it can be that the program takes longer than one turnaround time at this point have to wait. That means the SU unit in which this program expires execution this program ended in this lead time (a kind of privilege) and in the next Lead time continued. If the digital entry of the field has not yet come true, then so is the execution this program in turn ended and continued in the subsequent lead time, and so on.

Die Ausführung in dem Quellsystem geschieht folgendermaßen:

  • – Vor der for-Schleife wird die erste normale Aussage normal statement1 ausgeführt.
  • – In der for-Schleife wird zunächst die zweite normale Aussage normal_statement2 ausgeführt, bevor die Verzweigung auf Grundlage einer Bedingung if_condition1 erfolgt. Die for-Schleife wird in der gleichen Durchlaufzeit ausgeführt, wenn eine normale Verzweigung auftritt, d.h. wenn die Bedingung if_condition1 nicht gegeben ist und somit der else-Zweig mit der fünften normalen Aussage normal_statement5 ausgeführt wird.
  • – Die for-Schleife wird bei Auftreten des unterbrechbaren Zweiges, d.h. wenn die Bedingung if condition1 gegeben ist, an der Stelle gestoppt, an der die Unterbrechungsanweisung besteht, d.h. nach der Ausführung der dritten normalen Aussage normal_statement3 bei der unterbrechbaren Aussage break statement1, und nächstes Mal von dieser Stelle wieder gestartet. Die Wartezeit hängt von der Art der Unterbrechungsanweisung und den zugeordneten Parametern ab, z.B. kann für eine bestimmte Zeit gewartet werden, oder es kann darauf gewartet werden, dass ein bestimmter Zustand wahr wird.
  • – Nach der Unterbrechungsanweisung wird die im unterbrechbaren Zweig vorgesehene nächste vierte normale Anweisung normal_statement4 erst nach der durch die Unterbrechungsanweisung spezifizierten Zeit ausgeführt.
  • – Nach der Verzweigung wird in der selben Durchlaufzeit die sechste normale Aussage normal_statement6 ausgeführt.
  • – Nach der for-Schleife wird ebenfalls in der selben Durchlaufzeit die siebte normale Aussage normal_statement7 ausgeführt.
The execution in the source system happens as follows:
  • - The first normal statement normal statement1 is executed before the for loop.
  • - In the for loop, the second normal statement normal_statement2 is first executed before the branch is made on the basis of an if_condition1 condition. The for loop is executed in the same throughput time if a normal branch occurs, ie if the condition if_condition1 does not exist and the else branch is therefore executed with the fifth normal statement normal_statement5.
  • - The for loop is stopped when the interruptible branch occurs, i.e. if the condition if condition1 is given, at the point where the interrupt instruction exists, i.e. after the execution of the third normal statement normal_statement3 with the interruptible statement break statement1, and next Started again from this point. The waiting time depends on the type of interrupt instruction and the assigned parameters, for example waiting for a certain time or waiting for a certain status to come true.
  • - After the interrupt instruction, the next fourth normal instruction normal_statement4 provided in the interruptible branch is only executed after the time specified by the interrupt instruction.
  • - After the branching, the sixth normal statement normal_statement6 is carried out in the same throughput time.
  • - After the for loop, the seventh normal statement normal_statement7 is also executed in the same throughput time.

Bei der Analyse des Codes der strukturierten Programmiersprache ist festzustellen, dass es einen Ausführungspfad gibt, der nur aus normalen Anweisungen besteht, und einen Ausführungspfad, der eine Unterbrechungsanweisung enthält. Da wenigstens ein normaler Pfad enthalten ist, muss die Schleife kontinuierlich so oft wie möglich in einer Durchlaufzeit abgearbeitet werden, z.B, wie oben angegeben vollständig einschließlich der vor- und nachstehenden ersten und siebten normalen Aussagen normal statement1 und normal statement?, wenn die Durchlaufzeit lang genug ist.When analyzing the code of the structured programming language note that there is an execution path that is only from normal instructions exist, and an execution path that is an interrupt instruction contains. Since at least one normal path is included, the loop must continuously as often as possible can be processed in one turnaround time, e.g., as stated above, including the complete the first and seventh normal statements above and below normal statement1 and normal statement? if the lead time is long enough.

Die 7 zeigt eine mögliche Lösung in dem Zielsystem. Aufgrund des unterbrechbaren Ausführungspfades ist der Ablauf in vier Schritte geteilt und die for-Schleife ist in eine while-Schleife übersetzt. Die for-Schleife wird zu einer while-Schleife, da die in ST und SFC vorgesehene for-Schleife keine Boolesche Bedingung erlaubt, sondern nur die Deklaration der ersten und letzten Indizes, d.h. des Startwerts und des Endwerts der Schleife. Deshalb muss die Schleife alternativ gestoppt werden, wenn die Unterbrechungsanweisung auftreten kann, welche dann in dem nächsten Schritt ausgeführt wird.The 7 shows a possible solution in the target system. Due to the interruptible execution path, the process is divided into four steps and the for loop is translated into a while loop. The for loop becomes a while loop because the for loop provided in ST and SFC does not allow a Boolean condition, but only the declaration of the first and last indices, ie the start value and the end value of the loop. Therefore, the loop must alternatively be stopped if the interrupt instruction can occur, which is then executed in the next step.

Nach einem ersten Schritt S1, der lediglich die erste normale Aussage normal statement1 enthält, um den nächsten Schritt nicht zu komplizieren, erfolgt bei Erfüllung einer ersten Programmbedingung 26 TRUE, die immer gegeben ist, ein zweiter Schritt S2. Der Nachteil daran ist, dass die Ausführung stoppt, nachdem die Anweisung abgearbeitet wurde.After a first step S1, which only contains the first normal statement normal statement1, so as not to complicate the next step, a first program condition is fulfilled 26 TRUE, which is always given, a second step S2. The disadvantage of this is that execution stops after the instruction has been processed.

Der zweite Schritt S2 enthält die while-Schleife in ihrem normalen Zweig vollständig und setzt in ihrem unterbrechbaren Zweig lediglich eine allgemeine Unterbrechungsbedingung, die zu einem Übergang in einen nächsten Schritt führt der die Unterbrechungsanweisung sowie den Code enthält, der nach der Unterbrechungsanweisung ausgeführt werden soll (siehe Schritt S3). Der sich innerhalb der while-Schleife befindliche Code ist in Bezug auf den Quellcode etwas abgeändert, um dasselbe Verhalten zu garantieren.The second step S2 contains the while loop completely in its normal branch and only sets a general interrupt condition in its interruptible branch, which leads to a transition to a next step which contains the interrupt instruction and the code which is executed after the interrupt instruction should be performed (see step S3). The code inside the while loop has been slightly modified in relation to the source code to guarantee the same behavior.

Insbesondere wird im zweiten Schritt S2 zunächst die allgemeine Unterbrechungsbedingung break_path definiert auf nicht gegeben, d.h. false, gesetzt, wonach die while-Schleife unter den Bedingungen der Schleifenvariablen, hier J<=15, und der nicht gegebenen allgemeinen Unterbrechungsbedingung ausgeführt wird. In der while-Schleife wird zunächst die zweite normale Aussage normal statement2 ausgeführt, bevor die Bedingung if condition1 geprüft wird. Bei gegebener Bedingung if_condition1 wird innerhalb der Bedingung if_condition1 die dritte Aussage normal_statement3 ausgeführt und die allgemeine Unterbrechungsbedingung break_path auf gegeben, d.h. true, gesetzt. Bei nicht gegebener Bedingung if condition1 wird innerhalb der Bedingung if_condition1 die fünfte normale Aussage normal_statement5 ausgeführt. Nach der Bedingung if_condition1 wird bei nicht gegebener allgemeiner Unterbrechungsbedingung break_path die sechste normale Aussage normal statement6, sowie eine Inkrementierung der Schleifenvariablen ausgeführt, bevor die while-Schleife beendet wird.In particular, the second step S2 first the general break condition break_path defines on not given, i.e. false, after which the while loop under the conditions of the loop variables, here J <= 15, and the non-general ones Interruption condition executed becomes. The second normal statement is made in the while loop executed normally statement2, before the condition if condition1 is checked. Given the condition if_condition1 becomes the third within the condition if_condition1 Statement normal_statement3 executed and given the general break condition break_path on i.e. true, set. If condition1 is not given becomes the fifth normal statement normal_statement5 within the condition if_condition1 executed. After the condition if_condition1 there is no general interrupt condition break_path the sixth normal statement normal statement6, as well incrementing the loop variable before the while loop is ended.

Nach dem zweiten Schritt S2 erfolgt abhängig von der allgemeinen Unterbrechungsbedingung und der Schleifenbedingung entweder ein dritter Schritt S3 oder ein vierter Schritt S4. Der dritte Schritt S3 erfolgt bei einer gegebenen zweiten Programmbedingung 29, wenn die Schleifenbedingung gegeben ist und die allgemeine Unterbrechungsbedingung gegeben ist. Der vierte Schritt S4 erfolgt bei einer gegebenen dritten Programmbedingung 27, wenn die Schleifenbedingung nicht gegeben ist und die allgemeine Unterbrechungsbedingung nicht gegeben ist.After the second step S2, depending on the general interrupt condition and the loop condition, either a third step S3 or a fourth step S4 takes place. The third step S3 takes place with a given second program condition 29 , if the loop condition is given and the general interrupt condition is given. The fourth step S4 takes place given a third program condition 27 if the loop condition is not given and the general interrupt condition is not given.

In dem dritten Schritt S3 erfolgt zunächst bei nicht gegebener allgemeiner Unterbrechungsbedingung eine Überprüfung der Unterbrechungsbedingung check break statement1, wobei der allgemeinen Unterbrechungsbedingung break_path1 das negierte Überprüfungsergebnis zugewiesen wird. Danach erfolgen die innerhalb der Schleife nachfolgenden Aussagen, nämlich die vierte normale Aussage normal statement4 und die sechste normale Aussage normal statement6, sowie eine Inkrementierung der Schleifenvariablen. Nach dem dritten Schritt S3 erfolgt bei einer gegebenen vierten Programmbedingung 30, dass die allgemeine Unterbrechungsbedingung nicht gegeben ist, ein Sprung zum zweiten Schritt S2.In the third step S3, a check of the check break statement1 interruption condition is first carried out if the general interruption condition is not given, the negated check result being assigned to the general interruption condition break_path1. This is followed by the statements that follow within the loop, namely the fourth normal statement normal statement4 and the sixth normal statement normal statement6, and an incrementation of the loop variables. After the third step S3, given a fourth program condition 30 that the general interruption condition does not exist, a jump to the second step S2.

In dem vierten Schritt S4 wird die nach der Schleife angegebene siebte normale Aussage normal statement7 ausgeführt, wonach bei Erfüllung einer fünften Programmbedingung 28 true, die immer gegeben ist, der zuvor beschriebene Teil der strukturierten Programmiersprache vollständig abgearbeitet ist.In the fourth step S4, the seventh normal statement7 given after the loop is executed, after which a fifth program condition is met 28 true, which is always the case, the previously described part of the structured programming language has been completely processed.

Das Verhalten dieser Sequenz ist sehr nahe an der Quellsequenz, mit den folgenden Ausnahmen:

  • – Zwischen der ersten normalen Anweisung normal statement1 und dem zweiten Schritt S2, in dem die Übersetzung der for-Schleife implementiert ist, liegt die Beendigung einer Durchlaufzeit und die Zuteilung der nächsten Durchlaufzeit. Bei dem Quellcode werden die erste normale Anweisung und der erste Schleifendurchlauf der for-Schleife in derselben Durchlaufzeit durchgeführt. Um hier näher am Quellcode zu sein, können der erste und der zweite Schritt S1 und S2 auch zusammengefasst werden.
  • – Nach der Unterbrechungsanweisung stoppt die Ausführung, d.h. der dritte Schritt S3 wird der aktive Schritt. Erst in der nächsten Durchlaufzeit wird die allgemeine Unterbrechungsbedingung (break_path1) in die nicht gespeicherte Aktion berechnet. Wenn dies in derselben Durchlaufzeit wahr wird, werden die Anweisungen in der Aktion beim Verlassen ausgeführt. In derselben Durchlaufzeit kehrt die Verarbeitungsfolge in den zweiten Schritt S2 zurück. Das Problem liegt darin, dass bei unmittelbarem Wahrwerden der Unterbrechungsbedingung in Bezug auf das Quellsystem eine Durchlaufzeit verloren geht.
The behavior of this sequence is very close to the source sequence, with the following exceptions:
  • - Between the first normal statement normal statement1 and the second step S2, in which the translation of the for loop is implemented, there is the end of a lead time and the allocation of the next lead time. For the source code, the first normal statement and the first loop iteration of the for loop are performed in the same cycle time. In order to be closer to the source code here, the first and second steps S1 and S2 can also be combined.
  • - After the interrupt instruction, execution stops, ie the third step S3 becomes the active step. The general interrupt condition (break_path1) is only calculated in the unsaved action in the next cycle time. If this happens in the same turnaround time, the instructions in the action on exit are executed. In the same cycle time, the processing sequence returns to the second step S2. The problem is that if the interrupt condition is immediately true with respect to the source system, a lead time is lost.

Diese Lösung ist skalierbar, in anderen Worten ist es möglich, die Anzahl von Alternativverzweigungen durch die Implementierung eines ähnlichen Musters zu erhöhen, wenn mehr unterbrechbare Ausführungszweige vorgesehen werden müssen. Die check break_statement1-Anweisung ist ein Ausdruck oder eine Funktion, die den Zustand der Unterbrechungsanweisung überprüft.This solution is scalable in others Words it is possible the number of alternate branches through the implementation of a similar pattern to increase if more interruptible execution branches must be provided. The check break_statement1 statement is an expression or function which checks the state of the interrupt instruction.

Die bevorzugte Ausführungsform des beschriebenen Werkzeugs sieht wie folgt aus:

  • 1. Ein PC, auf dem ein geeignetes multitaskingfähiges System mit einer graphischen Benutzeroberfläche läuft, die vorzugsweise die Möglichkeit zum öffnen eines oder mehrerer Fenster hat.
  • 2. Eine in Java realisierte virtuelle Maschine, die an das Betriebssystem angepasst ist, und verwendet wird, die Kernfunktionalität des beschriebenen Übersetzungswerkzeugs auszuführen.
  • 3. Ein geeignetes Mittel, auf erste und zweite Leitsystemdaten zuzugreifen. Ein solcher Zugriff auf Leitsystemdaten wird für die Konfiguration des ersten Leitsystems meistens lesend und für die Konfiguration des zweiten Leitsystems meistens schreibend erfolgen.
  • 4. Ein geeigneter Computer, der auch der unter 1. genannte sein kann oder an diesen angeschlossen ist, der einen geeigneten Anschluss an die Datenbank mit graphischen Layouts hat, sowie verwendet wird, die Repräsentationsinformation für die Graphen zu generieren, die der Benutzer während oder nach der Übersetzung sehen möchte.
The preferred embodiment of the tool described is as follows:
  • 1. A PC running a suitable multitasking system with a graphical user interface, which preferably has the option of opening one or more windows.
  • 2. A Java-implemented virtual machine that is adapted to the operating system and is used to execute the core functionality of the described translation tool.
  • 3. A suitable means of accessing first and second control system data. Such access to control system data will mostly be read for the configuration of the first control system and mostly write for the configuration of the second control system.
  • 4. A suitable computer, which can also be the one mentioned under 1 or connected to it, which has a suitable connection to the database with graphic layouts, and is used to generate the representation information for the graphs which the user during or would like to see after the translation.

Die in der vorstehenden Beschreibung, in den Zeichnungen sowie in den Ansprüchen offenbarten Merkmale der Erfindung können sowohl einzeln als auch in beliebiger Kombination für die Verwirklichung der Erfindung wesentlich sein.The in the description above, in the drawings and in the claims disclosed features of Invention can both individually and in any combination for the realization the invention be essential.

11
erstes Leitsystemfirst Control System
1a1a
SFC-Programm im ersten LeitsystemSFC program in the first control system
1b1b
textbasiertes Programm im ersten Leitsystemtext-based Program in the first control system
22
zweites Leitsystemsecond Control System
2a2a
textbasiertes Programm im zweiten Leitsystemtext-based Program in the second control system
2b2 B
SFC-Programm im zweiten LeitsystemSFC program in the second control system
33
Inaktiver TCL-Zustandinactive TCL state
44
Aktiver TCL-Zustandactive TCL state
55
TCL-PausenzustandTCL paused
66
Grundzustand im erweiterten Zustandsmodellground state in the expanded state model
77
Haltzustand im erweiterten Zustandsmodellhalt state in the expanded state model
88th
Aktiver Zustand im erweiterten Zustandsmodellactive State in the extended state model
99
Auszustand im erweiterten Zustandsmodelloff state in the expanded state model
1010
SFC-BaseState-ZustandSFC base state condition
1111
Bedingung T_oftcondition T_oft
1212
SFC-Down-ZustandSFC-down state
1313
Bedingung T_startcondition t_start
1414
SFC-Active-ZustandSFC Active state
1515
Bedingung T_oncondition Volume
1616
Bedingung Ta_Stoppcondition Ta_Stopp
1717
Bedingung T_haltcondition T_halt
1818
SFC-Halt-ZustandSFC halt state
1919
Bedingung Th_Stoppcondition Th_Stopp
2020
Bedingung T_continuecondition T_continue
2121
In SFC übersetztes QuellprogrammIn SFC translated source program
2222
Grundlegender Zustandbasic Status
2323
Programm1Program1
2424
Programm2Program2
2525
Programm3Program3
2626
erste Programmbedingungfirst program condition
2727
dritte Programmbedingungthird program condition
2828
fünfte Programmbedingungfifth program condition
2929
zweite Programmbedingungsecond program condition
3030
vierte Programmbedingungfourth program condition

Claims (24)

Verfahren zur Transformation einer ersten Information (1a, 1b) in einem ersten Format, die eine erste Softwarekonfiguration eines ersten verteilten Leitsystems (1) beschreibt, in eine zweite Information (2a, 2b) in einem zweiten Format, die eine zweite Softwarekonfiguration eines zweiten verteilten Leitsystems (2) beschreibt, dadurch gekennzeichnet, dass das Laufzeitverhalten der ersten Softwarekonfiguration auf dem ersten Leitsystem (1) erfasst und bei der Transformation in die zweite Information derart berücksichtigt wird, dass das zweite Leitsystem (2) mit der zweiten Information ein zu dem ersten Leitsystem (1) mit der ersten Information gleiches Laufzeitverhalten aufweist.Process for transforming first information ( 1a . 1b ) in a first format, the first software configuration of a first distributed control system ( 1 ) describes in a second piece of information ( 2a . 2 B ) in a second format, the second software configuration of a second distributed control system ( 2 ), characterized in that the runtime behavior of the first software configuration on the first control system ( 1 ) is recorded and taken into account during the transformation into the second information in such a way that the second control system ( 2 ) with the second information to the first control system ( 1 ) has the same runtime behavior with the first information. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Softwarekonfiguration für ein Leitsystem (1, 2) mittels einer Kombination einer oder mehrerer textbasierter oder nicht textbasierter Programmiersprachen dargestellt wird.A method according to claim 1, characterized in that the software configuration for a control system ( 1 . 2 ) is represented using a combination of one or more text-based or non-text-based programming languages. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass das Laufzeitverhalten für das erste Leitsystem (1) mittels einer Kombination einer oder mehrerer textbasierter oder nicht textbasierter Programmiersprachen dargestellt wird.Method according to claim 1 or 2, characterized in that the runtime behavior for the first control system ( 1 ) is represented using a combination of one or more text-based or non-text-based programming languages. Verfahren nach Anspruch 2 oder 3, dadurch gekennzeichnet, dass jede textbasierte oder nicht textbasierte Programmiersprache nicht objektorientiert, sondern funktional, prozedural aufgebaut ist und auf bedingten oder unbedingten Anweisungen basiert.A method according to claim 2 or 3, characterized in that any text based or non text based programming language not object-oriented, but built up functionally, procedurally and is based on conditional or unconditional instructions. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Ausführungsverhalten des ersten Leitsystems (1) über intrinsische Merkmale erfasst und/oder dargestellt wird, insbesondere über die Verwendung von – bevorrechtigtem oder nicht bevorrechtigtem Multitasking, – aufruf- oder ereignisgetriebener Signalisierung, – der Verwaltung und Ausführung von iterativen Schleifen, sowie – der Möglichkeit, Schleifen zu unterbrechen und Wiedereinstiegspunkte.Method according to one of the preceding claims, characterized in that the execution behavior of the first control system ( 1 ) is recorded and / or displayed via intrinsic features, in particular via the use of - privileged or non-privileged multitasking, - call or event-driven signaling, - the management and execution of iterative loops, and - the possibility of interrupting loops and re-entry points. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Ausführungsverhalten des ersten Leitsystems (1) über implizit in dessen Softwarekonfiguration gegebene Beziehungen erfasst wird.Method according to one of the preceding claims, characterized in that the execution behavior of the first control system ( 1 ) via relationships implicitly given in its software configuration. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Ausführungsverhalten des ersten Leitsystems (1) unter Verwendung von wenigstens einer Wissensdatenbank in die zweite Information gewandelt wird, wobei die wenigstens eine Wissensdatenbank wenigstens auf das erste Leitsystem(1) zugeschnitten ist.Method according to one of the preceding claims, characterized in that the execution behavior of the first control system ( 1 ) is converted into the second information using at least one knowledge database, the at least one knowledge database being linked to at least the first control system ( 1 ) is tailored. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass Elemente der ersten Softwarekonfiguration über einen Satz Übersetzungsregeln in Elemente der IEC61131-Sprachen abgebildet werden.Method according to one of the preceding claims, characterized characterized that elements of the first software configuration via a Set of translation rules are represented in elements of the IEC61131 languages. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Ausführungsverhalten von Elementen der ersten Softwarekonfiguration in Elemente der zweiten Softwarekonfiguration und/oder deren Anordnung darin abgebildet werden.Method according to one of the preceding claims, characterized characterized that the execution behavior from elements of the first software configuration to elements of the second Software configuration and / or their arrangement mapped therein become. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass dynamische Programmsteuerparameter, die die Ausführung der ersten Softwarekonfiguration in dem ersten Leitsystem (1) leiten, in Elemente der zweiten Softwarekonfiguration und/oder deren Anordnung abgebildet werden.Method according to one of the preceding claims, characterized in that dynamic program control parameters which determine the execution of the first software configuration in the first control system ( 1 ), are mapped into elements of the second software configuration and / or their arrangement. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die erste Softwarekonfiguration so in eine neutrale Schicht abgebildet wird, die unterschiedliche ein Ausführungsverhalten nachbildende Zustände aufweist, dass dort die erste Softwarekonfiguration sowie deren Ausführungsverhalten in dem ersten Leitsystem(1) nachgebildet werden.Method according to one of the preceding claims, characterized in that the first software configuration is mapped into a neutral layer which has different states which emulate an execution behavior such that there the first software configuration and its execution behavior in the first control system ( 1 ) are reproduced. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass die neutrale Schicht auf einem erweiterten Zustandsmodell basiert, welches einen Grundzustand (6), einen Haltzustand (7), einen aktiven Zustand (8), und einen ausgeschalteten Zustand (9) aufweist, wobei Übergänge – von dem ausgeschalteten Zustand (9) mittels eines "An"-Befehls in den Grundzustand (6), – von dem Grundzustand (6) entweder mittels eines "Aus"-Befehls in den Auszustand (9) oder mittels eines "Start"-Befehls in den aktiven Zustand (8), – von dem aktiven Zustand (8) entweder mittels eines "Stop"-Befehls in den Grundzustand (6) oder mittels eines "Halt"-Befehls in den Haltzustand (7), und – von dem Haltzustand (7) entweder mittels eines "Stop"-Befehls in den Grundzustand (6) oder mittels eines "Weiter"-Befehls in den aktiven Zustand (8) vorgesehen sind, und wenigstens zu Elementen der Softwarekonfiguration des ersten Leitsystems gewandelte Elemente in dem aktiven Zustand (8) implementiert werden.A method according to claim 11, characterized in that the neutral layer is based on an expanded state model, which a basic state ( 6 ), a halt state ( 7 ), an active state ( 8th ), and an off state ( 9 ), with transitions - from the switched-off state ( 9 ) by means of an "on" command in the basic state ( 6 ), - from the basic state ( 6 ) either by means of an "off" command to the off state ( 9 ) or by means of a "start" command into the active state ( 8th ), - of the active state ( 8th ) either by means of a "Stop" command in the basic state ( 6 ) or by means of a "Halt" command to the halt state ( 7 ), and - from the halt state ( 7 ) either by means of a "Stop" command in the basic state ( 6 ) or by means of a "continue" command to the active state ( 8th ) are provided, and at least elements converted to elements of the software configuration of the first control system in the active state ( 8th ) can be implemented. System zur Transformation einer ersten Information (1a, 1b) in einem ersten Format, die eine erste Softwarekonfiguration eines ersten verteilten Leitsystems (1) beschreibt, in eine zweite Information (2a, 2b) in einem zweiten Format, die eine zweite Softwarekonfiguration eines zweiten verteilten Leitsystems (2) beschreibt, dadurch gekennzeichnet, dass es das Laufzeitverhalten der ersten Softwarekonfiguration auf dem ersten Leitsystem (1) erfasst und bei der Transformation in die zweite Information derart berücksichtigt, dass das zweite Leitsystem(2) mit der zweiten Information ein zu dem ersten Leitsystem (1) mit der ersten Information gleiches Laufzeitverhalten aufweist.System for transforming first information ( 1a . 1b ) in a first format, the first software configuration of a first distributed control system ( 1 ) describes in a second piece of information ( 2a . 2 B ) in a second format, the second software configuration of a second distributed control system ( 2 ), characterized in that it represents the runtime behavior of the first software configuration on the first control system ( 1 ) recorded and taken into account in the transformation into the second information in such a way that the second control system ( 2 ) with the second information to the first control system ( 1 ) has the same runtime behavior with the first information. System nach Anspruch 13, dadurch gekennzeichnet, dass es die Softwarekonfiguration für ein Leitsystem (1, 2) mittels einer Kombination einer oder mehrerer textbasierter oder nicht textbasierter Programmiersprachen darstellt.System according to claim 13, characterized in that it is the software configuration for a control system ( 1 . 2 ) using a combination of one or more text-based or non-text-based programming languages. System nach Anspruch 13 oder 14, dadurch gekennzeichnet, dass es das Laufzeitverhalten für das erste Leitsystem (1) mittels einer Kombination einer oder mehrerer textbasierter oder nicht textbasierter Programmiersprachen darstellt.System according to claim 13 or 14, characterized in that it the runtime behavior for the first control system ( 1 ) using a combination of one or more text-based or non-text-based programming languages. System nach Anspruch 14 oder 15, dadurch gekennzeichnet, dass darin jede textbasierte oder nicht textbasierte Programmiersprache nicht objektorientiert, sondern funktional, prozedural aufgebaut ist und auf bedingten oder unbedingten Anweisungen basiert.System according to claim 14 or 15, characterized in that it contains any text-based or non-text-based programming language not object-oriented, but built up functionally, procedurally and is based on conditional or unconditional instructions. System nach einem der Ansprüche 13 bis 16, dadurch gekennzeichnet, dass es das Ausführungsverhalten des ersten Leitsystems (1) über intrinsische Merkmale erfasst und/oder dargestellt, insbesondere über die Verwendung von – bevorrechtigtem oder nicht bevorrechtigtem Multitasking, – aufruf- oder ereignisgetriebener Signalisierung, – der Verwaltung und Ausführung von iterativen Schleifen, sowie – der Möglichkeit, Schleifen zu unterbrechen und Wiedereinstiegspunkte.System according to one of claims 13 to 16, characterized in that it the execution behavior of the first control system ( 1 ) recorded and / or displayed via intrinsic characteristics, in particular via the use of - privileged or non-privileged multitasking, - call or event-driven signaling, - the management and execution of iterative loops, and - the possibility of interrupting loops and re-entry points. System nach einem der Ansprüche 13 bis 17, dadurch gekennzeichnet, dass es das Ausführungsverhalten des ersten Leitsystems (1) über implizit in dessen Softwarekonfiguration gegebene Beziehungen erfasst.System according to one of claims 13 to 17, characterized in that it the execution behavior of the first control system ( 1 ) recorded via relationships given implicitly in its software configuration. System nach einem der Ansprüche 13 bis 18, dadurch gekennzeichnet, dass es das Ausführungsverhalten des ersten Leitsystems (1) unter Verwendung von wenigstens einer Wissensdatenbank in die zweite Information wandelt, wobei die wenigstens eine Wissensdatenbank wenigstens auf das erste Leitsystem (1) zugeschnitten ist.System according to one of claims 13 to 18, characterized in that it the execution behavior of the first control system ( 1 ) converts into the second information using at least one knowledge database, the at least one knowledge database referring at least to the first control system ( 1 ) is tailored. System nach einem der Ansprüche 13 bis 19, dadurch gekennzeichnet, dass es Elemente der ersten Softwarekonfiguration über einen Satz Übersetzungsregeln in Elemente der IEC61131-Sprachen abbildet.System according to one of claims 13 to 19, characterized in that that there are elements of the first software configuration over a Set of translation rules in elements of the IEC61131 languages. System nach einem der Ansprüche 13 bis 20, dadurch gekennzeichnet, dass es das Ausführungsverhalten von Elementen der ersten Softwarekonfiguration in Elemente der zweiten Softwarekonfiguration und/oder deren Anordnung darin abbildet.System according to one of claims 13 to 20, characterized in that that it's execution behavior from elements of the first software configuration to elements of the second Mapping software configuration and / or their arrangement therein. System nach einem der Ansprüche 13 bis 21, dadurch gekennzeichnet, dass es dynamische Programmsteuerparameter, die die Ausführung der ersten Softwarekonfiguration in dem ersten Leitsystem (1) leiten, in Elemente der zweiten Softwarekonfiguration und/oder deren Anordnung abbildet.System according to one of Claims 13 to 21, characterized in that there are dynamic program control parameters which determine the execution of the first software configuration in the first control system ( 1 ) lead into elements of the second software configuration and / or their arrangement. System nach einem der Ansprüche 13 bis 22, dadurch gekennzeichnet, dass es die ersten Softwarekonfiguration so in eine neutrale Schicht abbildet, die unterschiedliche ein Ausführungsverhalten nachbildende Zustände aufweist, dass dort die erste Softwarekonfiguration sowie deren Ausführungsverhalten in dem ersten Leitsystem(1) nachgebildet werden.System according to one of claims 13 to 22, characterized in that it depicts the first software configuration in a neutral layer that has different states that emulate an execution behavior such that the first software configuration and its execution behavior are there in the first control system ( 1 ) are reproduced. System nach Anspruch 23, dadurch gekennzeichnet, dass die neutrale Schicht auf einem erweiterten Zustandsmodell basiert, welches einen Grundzustand (6), einen Haltzustand (7), einen aktiven Zustand (8), und einen ausgeschalteten Zustand (9) aufweist, wobei Übergänge – von dem ausgeschalteten Zustand (9) mittels eines "An"-Befehls in den Grundzustand (6), – von dem Grundzustand (6) entweder mittels eines "Aus"-Befehls in den Auszustand (9) oder mittels eines "Start"-Befehls in den aktiven Zustand (8), – von dem aktiven Zustand (8) entweder mittels eines "Stop"-Befehls in den Grundzustand (6) oder mittels eines "Halt"-Befehls in den Haltzustand (7), und – von dem Haltzustand (7) entweder mittels eines "Stop"-Befehls in den Grundzustand (6) oder mittels eines "Weiter"-Befehls in den aktiven Zustand (8) vorgesehen sind, und wenigstens zu Elementen der Softwarekonfiguration des ersten Leitsystems gewandelte bzw. transformierte Elemente in dem aktiven Zustand (8) implementiert werden.System according to claim 23, characterized in that the neutral layer is based on an expanded state model which has a basic state ( 6 ), a halt state ( 7 ), an active state ( 8th ), and an off state ( 9 ), with transitions - from the switched-off state ( 9 ) by means of an "on" command in the basic state ( 6 ), - from the basic state ( 6 ) either by means of an "off" command to the off state ( 9 ) or by means of a "start" command into the active state ( 8th ), - of the active state ( 8th ) either by means of a "Stop" command in the basic state ( 6 ) or by means of a "Halt" command to the halt state ( 7 ), and - from the halt state ( 7 ) either by means of a "Stop" command in the basic state ( 6 ) or by means of a "continue" command to the active state ( 8th ) are provided, and elements converted or transformed into elements of the software configuration of the first control system in the active state ( 8th ) can be implemented.
DE10254531A 2002-11-22 2002-11-22 Method and system for transforming programs that relate to the software configuration of a distributed control system Withdrawn DE10254531A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE10254531A DE10254531A1 (en) 2002-11-22 2002-11-22 Method and system for transforming programs that relate to the software configuration of a distributed control system
AU2003288131A AU2003288131A1 (en) 2002-11-22 2003-11-20 Method and system for transforming programs relating to the software configuration of a distributed control system
PCT/EP2003/013009 WO2004049156A2 (en) 2002-11-22 2003-11-20 Method and system for transforming programs relating to the software configuration of a distributed control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10254531A DE10254531A1 (en) 2002-11-22 2002-11-22 Method and system for transforming programs that relate to the software configuration of a distributed control system

Publications (1)

Publication Number Publication Date
DE10254531A1 true DE10254531A1 (en) 2004-06-09

Family

ID=32308652

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10254531A Withdrawn DE10254531A1 (en) 2002-11-22 2002-11-22 Method and system for transforming programs that relate to the software configuration of a distributed control system

Country Status (3)

Country Link
AU (1) AU2003288131A1 (en)
DE (1) DE10254531A1 (en)
WO (1) WO2004049156A2 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1150205A1 (en) * 2000-04-28 2001-10-31 ABB Research Ltd. A computerised tool for converting information related to the hardware/software configuration of a distributed control system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE504943C2 (en) * 1994-12-09 1997-06-02 Ericsson Telefon Ab L M Synchronization procedure that permits state transfer
DE19518266A1 (en) * 1995-05-18 1996-11-21 Philips Patentverwaltung Communication system with means for exchanging software
DE59604300D1 (en) * 1996-05-22 2000-03-02 Siemens Ag Process for the exchange of software in running control systems

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1150205A1 (en) * 2000-04-28 2001-10-31 ABB Research Ltd. A computerised tool for converting information related to the hardware/software configuration of a distributed control system

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
(http://wdvl.internet.com/Authoring/Languages/XML/ PracticalXML/practicalXML1_8.html) (recherchiert am 10.06.03)
(http://wdvl.internet.com/Authoring/Languages/XML/PracticalXML/practicalXML1_8.html) (recherchiert am 10.06.03) *
(www.findarticles.com) (recherchiert am 11.06.03) *
MARZULLO,Keith,WOOD,Mark:Making Real-Time Reactive Systems Reliable.In: Fourth European SIGOPS Workshop, Sept. 3-5,1990,S.1-7 *
SHIELL,Alex,et.al.:Transformation Without Change-Page 8, glasshaus, 28,10.02,S.1-5 *
WATERS,Richard,C.:Program Translation via Abstraction and Reimplementation.In:IEEE Transactions on Software Engineering,Vol.14,No.8,Aug.1988,S.1207-1227 *
WATERS,Richard,C.:Program Translation via Abstraction and Reimplementation.In:IEEE Transactions on Software Engineering,Vol.14,No.8,Aug.1988,S.1207-1227;
Westinghouse process control helps power plants upgrade their systems for increased efficiency and with less interim downtime, Business Wire, Pittsburgh, April 9, 2001,S.1-2 *

Also Published As

Publication number Publication date
AU2003288131A8 (en) 2004-06-18
WO2004049156A3 (en) 2006-03-16
AU2003288131A1 (en) 2004-06-18
WO2004049156A2 (en) 2004-06-10

Similar Documents

Publication Publication Date Title
DE10351351B4 (en) Method and system for the dynamic generation of user interfaces
DE19781804B4 (en) Device for simulating a real-time process control
EP1184758B1 (en) Method for debugging programs for industrial controllers, especially motion controllers, in the context of flow chart programmation
EP1904903B1 (en) Method for operating and monitoring a control device, corresponding operating/monitoring device, control device, and machine comprising such a control device, and uses of said method, as well as storage media
DE10116809A1 (en) Programmable controller for the development of control programs uses sequential processing
DE19960050A1 (en) Test code generation method for automatic testing procedure for computer system using visual representation for selection of test object and test object options
LU93299B1 (en) Sequence control of program modules
DE10335989A1 (en) Online changes to CIL code programs for industrial automation
EP3629151A1 (en) Method for modifying models for generating source code
EP2083339A1 (en) Method and device for performing tests through functionally cascaded test and experimentation devices
EP0838054A1 (en) Graphic control process and device for controlling operations in a network management system
EP0910825A1 (en) Process for transferring programs with transferable and non-transferable program parts
DE60225464T2 (en) ROBOT SYSTEM AND METHOD AND SOFTWARE FOR THE ROBOT SYSTEM
EP1862901A1 (en) Input of program commands in imperative programming languages
DE10254531A1 (en) Method and system for transforming programs that relate to the software configuration of a distributed control system
EP1215571A2 (en) Method for automatic software generation
DE19617842A1 (en) Code transformation method
WO2004027608A2 (en) System for preparing a standard framework for automation appliances
EP0662226B1 (en) Method of processing an application program on a parallel-computer system
DE102008048862A1 (en) Test module and method for testing an O / R imaging middleware
DE10038439B4 (en) An apparatus, at least comprising a computer system and an industrial controller, for debugging industrial control programs
EP0991995B1 (en) Interrupt method in a computer system with interrupt control
EP1343078B1 (en) Modelling system and generation of software generating systems
DE102016121542A1 (en) Sequence control of program modules
DE10254530A1 (en) Control system upgrading method in which an information set description relating to a first software configuration is first converted into a neutral meta-description, which is then converted into a second software information set

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
8110 Request for examination paragraph 44
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20120601