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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates 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. 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",...).
- 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
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
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
Zusätzlich zu den zuvor angegebenen
Patenten existiert ein weiterer bedeutender Gesichtspunkt der textbasierten Übersetzung,
der durch die
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.
- - 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
- 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
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.
- - 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 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
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:
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
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.
- 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).
- - 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
Die
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.
- 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
Um dieses Zustandsmodell in einem IEC61131-basierten
Zielsystem zu implementieren, ist es nötig, einen Coderahmen um den
zugrunde liegenden Quellcode zu erstellen. Die
Von einem SFC-BaseState-Zustand
Nach einer weiteren bevorzugten Ausgestaltung
der Erfindung wird ein gewandeltes Quellprogramm in dem SFC-Active-Zustand
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
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
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 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
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
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
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
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
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.
- - 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.
- 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)
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)
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)
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 |
-
2002
- 2002-11-22 DE DE10254531A patent/DE10254531A1/en not_active Withdrawn
-
2003
- 2003-11-20 AU AU2003288131A patent/AU2003288131A1/en not_active Abandoned
- 2003-11-20 WO PCT/EP2003/013009 patent/WO2004049156A2/en not_active Application Discontinuation
Patent Citations (1)
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)
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 |