DE10235504A1 - Conversion unit for generating executable code from source code so that it is suitable for running in a given execution environment on given target hardware, especially for use in automation environments - Google Patents
Conversion unit for generating executable code from source code so that it is suitable for running in a given execution environment on given target hardware, especially for use in automation environments Download PDFInfo
- Publication number
- DE10235504A1 DE10235504A1 DE2002135504 DE10235504A DE10235504A1 DE 10235504 A1 DE10235504 A1 DE 10235504A1 DE 2002135504 DE2002135504 DE 2002135504 DE 10235504 A DE10235504 A DE 10235504A DE 10235504 A1 DE10235504 A1 DE 10235504A1
- Authority
- DE
- Germany
- Prior art keywords
- instruction
- source code
- code
- control program
- target hardware
- 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/40—Transformation of program code
- G06F8/52—Binary to binary
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Programmable Controllers (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
Description
Die vorliegende Erfindung betrifft das technische Gebiet der Überwachung von Steuerungsprogrammen, insbesondere solchen Steuerungsprogrammen, wie sie zur Steuerung und/oder Überwachung technischer Prozesse eingesetzt werden. Dabei bezieht sich die Erfindung auf eine Umsetzeinrichtung, ein Automatisierungsgerät mit einer solchen Umsetzeinrichtung und eine Entwicklungsumgebung mit einem solchen Automatisierungsgerät.The present invention relates to the technical field of surveillance of control programs, especially such control programs, how to control and / or monitor technical processes are used. The invention relates to a transfer device, an automation device with a such implementation device and a development environment with one such automation device.
Zur Überwachung von Steuerungsprogrammen, z. B. zu deren Inbetriebnahme oder Wartung, sind so genannte Debugger allgemein bekannt. Mit einem Debugger ist es z. B. möglich, ein Steuerungsprogramm Schritt für Schritt, ablaufen zu lassen, so dass aus der Vielzahl von einzelnen Anweisungen, aus der ein Steuerungsprogramm zusammengestellt ist, immer eine Anweisung nach der anderen ausgeführt wird. Dabei kann die Auswirkung der Ausführung jeder einzelnen Anweisung beobachtet werden.For monitoring control programs, z. B. for their commissioning or maintenance are so-called debuggers well known. With a debugger it is e.g. B. possible Control program step by step Step to let it run out of the multitude of individual Instructions from which a control program is composed one statement at a time is always executed. Doing so can have an impact the execution every single instruction can be observed.
Die Beobachtungsmöglichkeit bezieht sich dabei nicht nur auf die evtl. von der jeweiligen Anweisung verursachten Änderungen des Bildschirminhaltes oder auf Zustandsänderungen im technischen Prozess sondern auch auf die Inhalte von Registern, wie z. B. Prozessorregistern, der jeweiligen Zielhardware, auf der das Steuerungsprogramm zum Ablauf kommt.The possibility of observation relates not only to the changes that may be caused by the respective instruction of the screen content or changes in status in the technical process but also on the content of registers, such as B. processor registers, the respective target hardware on which the control program for Expiration is coming.
Ein solcher Debugger wird üblicherweise auf der gleichen Zielhardware wie das Steuerungsprogramm selbst eingesetzt. Wenn der Debugger aufgrund begrenzter Ressourcen der Zielhardware, wie z. B. Speicherplatz, Rechenleistung, etc., nicht auf der Zielhardware ausgeführt werden kann, wird der Debugger auf einem mit der Zielhardware kommunikativ verbundenen Programmier- oder Überwachungsgerät ausgeführt. Der De bugger greift dann auf zum Zwecke der Überwachung des Steuerungsprogramms bereit gestellte Daten zu.Such a debugger is commonly used on the same target hardware as the control program itself used. If the debugger runs out of resources due to limited resources Target hardware, such as B. storage space, computing power, etc., not executed on the target hardware the debugger becomes communicative with the target hardware connected programming or monitoring device. The De bugger then takes over for the purpose of monitoring the control program provided data.
Die Leistungsfähigkeit eines Debuggers erstreckt sich von einfachen Überwachungsfunktionen, bei der z. B. nur die Auswirkungen der einzelnen Anweisungen darstellbar sind, bis hin zu komplexen Einflussmöglichkeiten, bei denen der Ablauf des Steuerungsprogramms z. B. durch Änderung einzelner Speicher- oder Registerinhalte beeinflusst werden kann. Für solche komplexen Funktionen wird zum Ausführen des Debuggers ein Computer, wie ein Personal Computer, ein Programmiergerät oder dergleichen verwendet. Für einfache Überwachungsfunktionen ist dagegen eine zum Anzeigen der jeweiligen Datenvorgesehene Überwachungseinrichtung, also ein Computer mit reduzierter Leistungsfähigkeit, z. B. ohne Speichermedien und Eingabemöglichkeiten, und mindestens einem Ausgabegerät, wie einem Bildschirm oder Drucker, ausreichend. Im Folgenden werden solche Programmier- oder Überwachungsgeräte zusammenfassend als Programmiergerät bezeichnet.The performance of a debugger extends from simple monitoring functions, at the z. B. only the effects of the individual instructions can be displayed are, up to complex possibilities of influence, in which the Sequence of the control program z. B. by changing individual memory or register contents can be influenced. For such complex functions becomes a computer to run the debugger, such as a personal computer, a programmer, or the like. For simple monitoring functions is, on the other hand, a monitoring device provided for displaying the respective data a computer with reduced performance, e.g. B. without storage media and input options, and at least one output device, such as a screen or printer, is sufficient. Below are summarizing such programming or monitoring devices as a programming device designated.
Aus der
Nachteilig bei bekannten Überwachungsverfahren und/oder bekannten Debuggern ist jedoch, dass zum einen nicht immer sämtliche Informationen zugänglich sind, weil z. B. der Speicherplatz eventueller Zwischenergebnisse nicht bekannt ist. Des Weiteren sind einzelne Informationen – etwa bei indirekt referenzierten Parametern – nur mit erheblichem Aufwand zugänglich, weil bei einem üblichen Additionsbefehl der Form „addiere zum Inhalt des Akkumulators den Inhalt der Speicheradresse FF03" die Anzeige des jeweiligen Speicherbereiches manuell ausgewählt werden muss. Solche Informationen sind beim Remote-Debugging gar nicht oder nur mit nochmals deutlich erhöhtem Aufwand zugänglich, weil beim Remote-Debugging der das zu überwachende Steuerungsprogramm ausführende Prozessor der Zielhardware nicht angehalten wird und damit ein "Nachschlagen" des Inhalts einzelner Speicheradressen nicht möglich ist.A disadvantage of known monitoring methods and / or known debuggers, however, is that not always all Information accessible are because z. B. the storage space of any intermediate results is not known. Furthermore, there is some information - for example at indirectly referenced parameters - only with considerable effort accessible, because with a usual Addition command of the form "add to the content of the accumulator the content of memory address FF03 " the display of the respective memory area can be selected manually got to. Such information is not at all with remote debugging or only accessible with significantly more effort, because with remote debugging the control program to be monitored executive Processor of the target hardware is not stopped and thus a "look up" the content of individual memory addresses is not possible.
Schließlich ist beim Einsatz von Steuerungsprogrammen, die zum Einsatz auf unterschiedlicher Zielhardware vorgesehen sind, die Struktur und das Leistungsvermögen der tatsächlichen Zielhardware nicht bekannt. Ein und dasselbe Steuerungsprogramm kann also auf einer Zielhardware mit einem Standardmikroprozessor mit z. B. acht Prozessorregistern oder auf einer Zielhardware mit einem speziellen ASIC anstelle des Mikroprozessors mit einer Vielzahl von Spezialregistern ausgeführt werden. Naturgemäß werden bei einer Ausführung z. B. eines Additionsbefehls des Steuerungsprogramms auf der Zielhardware mit dem Mikroprozessor andere Register beeinflusst als auf der Zielhardware mit dem ASIC. Auf Seiten des Überwachungs- oder Programmiergerätes zum Überwachen der Ausführung des Steuerungsprogrammes ist damit nicht bekannt, welche Register der Zielhardware beim Ausführen des Additionsbefehls verwendet oder beeinflusst werden. Tatsächlich ist nicht einmal bekannt, wie die jeweilige Zielhardware den Additionsbefehl überhaupt ausführt. Unterschiede können sich ergeben, wenn z. B. der Mikroprozessor maximal zur direkten Ausführung von Additionen der Inhalte von Registern mit einer Breite von zweiunddreißig Bit, der RSIC aber zur direkten Ausführung von Additionen der Inhalte von Registern mit einer Breite von vierundsechzig Bit in der Lage ist. Bei der Ausführung des Additionsbefehls muss eine Addition von Parametern entsprechender Größe in zwei Teiladditionen zerlegt werden, während der ASIC die Addition direkt ausführen kann.Finally, when using control programs that are intended to be used on different target hardware, the structure and performance of the actual target hardware is not known. One and the same control program can thus on a target hardware with a standard microprocessor with z. B. eight processor registers or on target hardware with a special ASIC instead of the microprocessor with a variety of special registers. Naturally, in an execution such. B. an addition command of the control program on the target hardware with the microprocessor affects other registers than on the target hardware with the ASIC. On the part of the monitoring or programming device for monitoring the execution of the The control program is therefore not aware of which registers of the target hardware are used or influenced when the addition command is executed. In fact, it is not even known how the respective target hardware actually executes the add instruction. Differences can arise if e.g. B. the microprocessor is capable of directly performing additions of the contents of registers with a width of thirty-two bits, but the RSIC is capable of directly performing additions of the contents of registers with a width of sixty-four bits. When executing the addition command, an addition of parameters of appropriate size must be broken down into two partial additions, while the ASIC can carry out the addition directly.
Der Erfindung liegt daher die Aufgabe zugrunde, die oben genannten Nachteile zu vermeiden und eine Möglichkeit anzugeben, mit der auch die Überwachung, der Ausführung eines Steuerungsprogramms auf einer vorher nicht bekannten Zielhardware durchführbar ist.The invention is therefore the object based on avoiding the disadvantages mentioned above and a possibility with which monitoring, the execution a control program on previously unknown target hardware feasible is.
Diese Aufgabe wird erfindungsgemäß mit einer Umsetzeinrichtung mit den Merkmalen des Anspruchs 1 gelöst. Die Umsetzeinrichtung ist zum Gewinnen eines auf einer Zielhardware ablaufenden oder ablauffähigen Steuerungsprogramms, dem ein Ursprungscode mit einer Anzahl von Anweisungen zugrunde liegt, vorgesehen. Die Umsetzeinrichtung hat zum Gewinnen des Steuerungsprogramms Zugriff auf eine Datenbasis in der für jede zulässige Anweisung des Ursprungscodes eine Transformationsvorschrift hinterlegt ist. Die Umsetzeinrichtung ergänzt jede Anweisung derart, dass der oder jeder Parameter, der von der Anweisung verwendet und/oder beeinflusst wird oder verwendbar und/oder beeinflussbar ist, protokollierbar ist. Die Transformationsvorschurift umfasst dazu Informationen zum Ergänzen der Anweisung im Hinblick auf die Protokollierung der jeweiligen Parameter und wird von der Umsetzeinrichtung entsprechend ausgewertet. Als von einer Anweisung beeinflusste Parameter werden insbesondere die einzelnen Operanden der jeweiligen Anweisung – bei einer Addition also die beiden Summanden – aber auch Register- und Speicherinhalte sowie so genannte Flags, soweit sie bei der Ausführung der Anweisung verwendet oder beeinflusst werden, verstanden.This object is achieved with a Implement with the features of claim 1 solved. The Converter is for winning one on a target hardware expiring or executable Control program, which a source code with a number of Instructions are provided. The transfer device has access to a database for gaining the control program in the for any permissible Instruction of the source code stores a transformation rule is. The transfer device supplemented any statement such that the or each parameter by the Instruction used and / or influenced or usable and / or can be influenced, can be logged. The transformation regulation includes information on how to complete the instruction with regard to on the logging of the respective parameters and is controlled by the Implementation device evaluated accordingly. As from an instruction The individual operands are particularly influenced parameters the respective instruction - at an addition so the two summands - but also register and memory contents as well so-called flags, insofar as they are used in the execution of the instruction or influenced, understood.
Die Erfindung geht von der Erkenntnis aus, dass beim Gewinnen des ausführbaren Steuerungsprogramms aus dem jeweils zugrunde liegenden Ursprungscode, einem Quellcode oder daraus gewonnenen Zwischencode, sämtliche Informationen vorliegen, die für eine spätere, vollständige Überwachung der Ausführung des Steuerungsprogramms notwendig sind.The invention is based on knowledge from that when winning the executable Control program from the underlying source code, a source code or intermediate code derived from it, all Information available for a later one, full surveillance the execution of the control program are necessary.
Wenn sich eine Addition zweier Parameter auf zwei im Speicher hinterlegte ganzzahlige Werte bezieht, lautet der Additionsbefehl "a+b" in einem Pseudocode etwa wie folgt:If there is an addition of two parameters refers to two integer values stored in the memory Addition command "a + b" in a pseudo code approximately as follows:
Lade den Inhalt der Speicherstelle an der der Parameter "a" gespeichert ist, in ein Register.Load the contents of the location where the parameter "a" is stored in a register.
Addiere zum Inhalt dieses Registers den Inhalt der Speicherstelle an der der Parameter "b" gespeichert ist.Add to the content of this register the content of the memory location at which the parameter "b" is saved is.
Nach der Ausführung dieser beiden Befehle steht die Summe der Parameter "a" und "b" in dem genannten Register. Das genannte Register ist z. B. der so genannte Akkumulator, der bei Operationen wie Additionen und dergleichen häufig verwendet wird.After executing these two commands stands the sum of the parameters "a" and "b" in the named register. The named register is z. B. the so-called accumulator, which at Operations such as additions and the like are often used.
Anhand des oben exemplarisch dargestellten Pseudocodes wird deutlich, dass z. B. der Parameter "b" nicht direkt überwachbar ist. Nach der Ausführung der ersten Zeile des Pseudocodes steht der Wert des Parameters "a" im Register. Der Inhalt des Registers könnte zu Überwachungszwecken angezeigt werden. Nach der Ausführung der zweiten Zeile des Pseudocodes steht aber bereits die Summe der beiden Parameter "a" und "b" im Register. Der Parameter "b" ist damit nicht direkt überwachbar. Ein Zugriff auf dessen Wert ist nur möglich, wenn der Inhalt der Speicherstelle, an der der Parameter "b" gespeichert ist, nachgeschlagen wird. Dies ist mit erheblichem Aufwand verbunden, wobei sich der Aufwand nochmals merklich er höht, wenn z. B. eine indirekte Adressierung der jeweiligen Speicherstellen verwendet wird.Using the example shown above Pseudocodes makes it clear that e.g. B. the parameter "b" cannot be monitored directly is. After execution the first line of the pseudo code contains the value of parameter "a" in the register. The contents of the register could be displayed for monitoring purposes become. After execution The second line of the pseudo code already contains the sum of the two Parameters "a" and "b" in the register. The parameter "b" is therefore not directly monitorable. Access to its value is only possible if the content of the The location where parameter "b" is stored was looked up becomes. This is associated with considerable effort, the Again noticeably increases effort, if e.g. B. an indirect addressing of the respective memory locations is used.
Da jedoch beim Gewinnen des Steuerungsprogramms sämtliche zu dessen späterer Überwachung benötigte Informationen vorliegen, ist vorgesehen, dass der oder jeder Parameter, der von der Anweisung verwendet und/oder beeinflusst wird oder verwendbar und/oder beeinflussbar ist, protokollierbar ist. Dazu erfolgt eine entsprechende Ergänzung der einzelnen Anweisungen des dem Steuerungsprogramm zugrundeliegenden Ursprungscodes. Dies soll für den oben verwendeten Pseudocode als Ursprungscode exemplarisch fortgeführt werden:However, since winning the control program all for later monitoring needed Information is provided, it is provided that the or each parameter, used and / or influenced by the instruction or usable and / or can be influenced, can be logged. There is a appropriate addition to the individual instructions of the basis of the control program Original code. This is meant for the pseudo code used above can be continued as an example:
Lade den Inhalt der Speicherstelle
an der der Parameter "a" gespeichert ist, in ein Register und
protokolliere
den Inhalt des Registers.Load the contents of the memory location where the parameter "a" is stored in a register and
log the contents of the register.
Addiere zum Inhalt des Registers
den Inhalt der Speicherstelle an der der Parameter "b" gespeichert
ist und
protokolliere den Inhalt der Speicherstelle an der
der Parameter "b" gespeichert ist und
protokolliere den Inhalt
des Registers.Add to the content of the register the content of the memory location where the parameter "b" is stored and
log the contents of the memory location where the parameter "b" is stored and
log the contents of the register.
Die weiter eingerückten Passagen des Pseudocodes enthalten dessen Ergänzungen im Hinblick auf die Protokollierung der verwendeten Parameter.The further indented passages of the pseudo code contain its additions with regard to the logging of the parameters used.
Aufgrund der Transformationsvorschrift zur Umsetzung der jeweiligen Anweisung des Ursprungscodes ist bekannt, wie die Daten der einzelnen von der Anweisung beeinflussten Parameter erreichbar sind. Im vorstehenden Beispiel umfasst die Transformationsvorschrift die Umsetzung des Additionsbefehls in zwei getrennte Anweisungen. Den der Transformationsvorschrift zugeordneten oder in der Transformationsvorschrift enthaltenen Informationen zur Protokollierung der jeweiligen Parameter ist z. B. entnehmbar, dass bei einer Addition der Wert des ersten Summanden, des Parameters "a", nicht erneut im Speicher nachgeschlagen werden muss, sondern dass direkt der Inhalt des Registers protokolliert werden kann, weil in das Register der Wert des Parameters "a" kopiert wurde. Hinsichtlich des eigentlichen Additionsteils ist den ergänzenden Informationen entnehmbar, dass der Wert des Parameters "b" zu keinem Zeitpunkt erreichbar in einem Register steht. Die Protokollierung bezieht sich entsprechend auf die Speicherstelle, an der der Parameter "b" gespeichert ist.Because of the transformation rule for implementing the respective instruction of the source code, it is known how the data of the individual parameters influenced by the instruction can be reached. In the example above, the transformation rule includes the implementation of the addition term failed in two separate statements. The information associated with the transformation regulation or contained in the transformation regulation for logging the respective parameters is e.g. B. can be seen that when adding the value of the first addend, the parameter "a", does not have to be looked up again in the memory, but that the content of the register can be logged directly, because the value of the parameter "a" is recorded in the register. was copied. With regard to the actual addition part, it can be seen from the supplementary information that the value of the parameter "b" is never accessible in a register. The logging accordingly relates to the storage location at which the parameter "b" is stored.
Auf einer anderen Zielhardware kann derselbe Additionsbefehl anders ausgeführt werden, wenn z. B. Operationen mit drei Operanden zugelassen sind. Für diese Zielhardware lautet der Additionsbefehl in einem Pseudocode etwa wie folgt:On another target hardware the same addition command can be executed differently if e.g. B. Operations with three operands. For this target hardware is the addition command in a pseudocode roughly as follows:
Addiere die Inhalte der Speicherstellen an der der Parameter "a" und der Parameter "b" gespeichert sind und lade das Ergebnis in ein Register.Add the contents of the storage locations where the parameter "a" and the parameter "b" are stored and load the result into a register.
Bei dieser Variante ist zu keinem Zeitpunkt einer der Parameter "a", "b" in einem Register gespeichert. Die Protokollierung bezieht sich daher in jedem Fall auf die jeweiligen Speicherstellen. Die ergänzte Anweisung lautet damit z. B. wie folgt:With this variant there is none Time of one of the parameters "a", "b" stored in a register. The logging therefore always refers to the respective Memory locations. The added Instruction is z. B. as follows:
Addiere die Inhalte der Speicherstellen
an der der Parameter "a" und der Parameter "b" gespeichert sind
und lade das Ergebnis in ein Register und
protokolliere den
Inhalt der Speicherstellen an der die Parameter "a" und "b" gespeichert
sind und
protokolliere den Inhalt des Registers.Add the contents of the memory locations where parameter "a" and parameter "b" are stored and load the result into a register and
log the contents of the memory locations where the parameters "a" and "b" are stored and
log the contents of the register.
Damit ist ersichtlich, dass die Möglichkeit der Überwachung des Steuerungsprogramms vollkommen unabhängig davon wird, wie die jeweils beeinflussten oder beeinflussbaren Parameter verwendet werden. Um die Überwachung des Steuerungsprogramms zu ermöglichen, ist damit eine Kenntnis der Funktionalität der Zielhardware und sogar eine Kenntnis der Zielhardware selbst nicht erforderlich.This shows that the possibility of surveillance the control program is completely independent of how each influenced or influenceable parameters are used. Around The supervision of the control program to enable is thus a knowledge of the functionality of the target hardware and even knowledge of the target hardware itself is not required.
Daher eignet sich die Erfindung auch besonders für solche Anwendungsfälle, bei denen ein Quellcode zunächst in eine Zwischensprache transformiert wird. Ausgehend von dieser Zwischensprache als Ursprungscode ist dann eine Umsetzung in ein auf einer bestimmten Zielhardware ablauffähiges Steuerungsprogramm möglich. Damit wird eine Unabhängigkeit von der jeweiligen Zielhardware erreicht. Bei einem Austausch oder bei einer Aufrüstung einer ersten Zielhardware gegen oder auf eine zweite Zielhardware ist nur noch eine Umsetzung der Zwischensprache in den durch die jeweilige Zielhardware ausführbaren Maschinencode erforderlich. Diese Umsetzung kann ggf. sogar durch die jeweilige Zielhardware selbst vorgenommen werden. Nach der Erstellung der Steuerungssoftware in einer geeigneten Programmiersprache wird der damit vorliegende Quellcode in die Zwischensprache transformiert. Das Steuerungsprogramm in der Zwischensprache kann nach einer auf die jeweilige Zielhardware abgestellten Umsetzung auf dieser zur Ausführung gebracht werden.The invention is therefore also suitable especially for such use cases, where a source code first is transformed into an intermediate language. Starting from this The intermediate language as the source code is then a conversion into one Executable control program possible on a certain target hardware. In order to becomes an independence achieved by the respective target hardware. With an exchange or with an upgrade a first target hardware against or onto a second target hardware is only an implementation of the intermediate language in the by the executable target hardware Machine code required. This implementation can even be done through the respective target hardware itself. After creation the control software in a suitable programming language the existing source code is transformed into the intermediate language. The control program in the intermediate language can be based on a the respective target hardware implemented implementation on this execution to be brought.
Der Vorteil der Erfindung besteht damit einerseits in den erweiterten Überwachungsmöglichkeiten im Hinblick auf bisher nicht oder nur mit erheblichem Aufwand zugängliche Informationen wie oben beschrieben und andererseits darin, dass trotz unterschiedlichster oder im voraus nicht bekannter Zielhardware die Überwachungsmöglichkeit des auf dieser Zielhardware ablaufenden Steuerungsprogramms erhalten bleibt.The advantage of the invention is on the one hand in the expanded monitoring options in the With regard to previously not accessible or only with considerable effort Information as described above and on the other hand in that despite the most varied or previously unknown target hardware the monitoring possibility of the control program running on this target hardware remains.
Im Zusammenhang mit der Erfindung bzw. bevorzugten Ausführungsformen der Erfindung werden nachfolgende Begriffe wie folgt verwendet. Unter dem Begriff "Automatisierungsgerät" wird die zur Steuerung und/oder Überwachung des jeweiligen technischen Prozesses verwendete Hardware, die Zielhardware, zusammengefasst. Der Begriff Automatisierungsgerät kann dabei genauso ein einzelnes Gerät, wie z. B. eine speicherprogrammierbare Steuerung oder dergleichen, wie auch einen Verbund mehrerer solcher Geräte, z. B. kommunikativ miteinander und mit einem Leitrechner verbundene speicherprogrammierbare Steuerungen mit daran jeweils angeschlossenen dezentralen Peripheriegeräten, bezeichnen.In connection with the invention or preferred embodiments In the invention, the following terms are used as follows. The term "automation device" is used for control and / or monitoring Hardware used in the respective technical process, the target hardware, summarized. The term automation device can just as well be a single device, such as. B. a programmable controller or the like, such as also a combination of several such devices, for. B. communicative with each other and programmable logic controllers connected to a host computer with decentralized peripheral devices connected to each.
Mit dem Begriff "Steuerungsprogramm" wird zunächst die ausführbare – also z. B. in einem Maschinencode – vorliegende Version des Steuerungsprogramms bezeichnet. Bei einer allgemeineren Verwendung des Begriffes Steuerungsprogramms bezieht sich dieser jedoch grundsätzlich auf alle Ausprägungen des Steuerungsprogramms, namentlich das Steuerungsprogramm im Quell- oder Sourcecode, wie es von einem Programmierer in der jeweiligen Programmiersprache erstellt wird, das Steuerungsprogramm in einer Zwischensprache – Zwischencode – als Ergebnis der Transformation des Sourcecodes und das Steuerungsprogramm in der zum Ablauf auf der Zielhardware geeigneten Form als Ergebnis einer entsprechenden Umsetzung des Steuerungsprogramms in der Zwischensprache oder als Ergebnis einer direkten Umsetzung des Quellcodes.With the term "control program" will first the executable - e.g. B. in a machine code - present Version of the control program. In a more general one Use of the term control program refers to this however fundamentally on all types the control program, namely the control program in the source or source code as used by a programmer in the particular Programming language is created, the control program in one Intermediate language - intermediate code - as a result the transformation of the source code and the control program in the form suitable for execution on the target hardware as a result a corresponding implementation of the control program in the intermediate language or as a result of a direct implementation of the source code.
Vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand der Unteransprüche.Advantageous embodiments of the Invention are the subject of the dependent claims.
Nachfolgend wird ein Ausführungsbeispiel der Erfindung anhand der Zeichnung näher erläutert. Einander entsprechende Gegenstände oder Elemente sind in allen Figuren mit den gleichen Bezugszeichen versehen.An embodiment of the Invention with reference to the drawing explained. each other corresponding items or elements are given the same reference numerals in all figures Mistake.
Darin zeigenShow in it
Das Automatisierungsgerät
Zur eindeutigen Identifizierung und
Referenzierung jeder Quellcodeanweisung
Quell- und Zwischencodereferenznummer
In der Zwischencodeanweisung
Zu vollständigen Überwachung der Ausführung der
exemplarisch dargestellten Zwischencodeanweisung
Wenn von der "Ausführung" einer
Quellcodeanweisung
Die Protokollierung der zu überwachenden Parameter
ist in
Die Protokollierung umfasst als Zeichenkette
Die ggf. erforderliche Protokollierung
von Flags ist in der vorangehenden Beschreibung nicht berücksichtigt.
Deren Protokollierung erfolgt jedoch analog zur Protokollierung
der jeweils verwendeten Parameter. Bei der Umsetzung einer Zwischencodeanweisung
Dem Steuerungsprogramms
Damit das Steuerungsprogramm
Zur Umsetzung jeder Zwischencodeanweisung
Ferner weist die Umsetzeinrichtung
Die genannten Mittel
Die Mittel
Beim Ablauf des Steuerungsprogramms
Zur Identifizierung der einzelnen
protokollierten Parameter
Die protokollierten Parameter
Um bei angeschlossenem Programmiergerät das über die
Datenübertragungsstrecke
Damit lässt sich die Erfindung kurz wie folgt darstellen:The invention can thus be brief represent as follows:
Zum Überwachen der Ausführung eines Steuerungsprogramms
Claims (9)
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2002135504 DE10235504A1 (en) | 2002-08-02 | 2002-08-02 | Conversion unit for generating executable code from source code so that it is suitable for running in a given execution environment on given target hardware, especially for use in automation environments |
PCT/DE2003/002594 WO2004015564A2 (en) | 2002-08-02 | 2003-08-01 | Converter, automation device with a converter and a development environment comprising an automation device with converter |
EP03783948A EP1525530A2 (en) | 2002-08-02 | 2003-08-01 | Converter, automation device with a converter and a development environment comprising an automation device with converter |
US11/047,661 US20050216897A1 (en) | 2002-08-02 | 2005-02-02 | Converter, automation device with a converter, and a development environment having an automation device with converter |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2002135504 DE10235504A1 (en) | 2002-08-02 | 2002-08-02 | Conversion unit for generating executable code from source code so that it is suitable for running in a given execution environment on given target hardware, especially for use in automation environments |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10235504A1 true DE10235504A1 (en) | 2004-02-12 |
Family
ID=30128686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2002135504 Withdrawn DE10235504A1 (en) | 2002-08-02 | 2002-08-02 | Conversion unit for generating executable code from source code so that it is suitable for running in a given execution environment on given target hardware, especially for use in automation environments |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP1525530A2 (en) |
DE (1) | DE10235504A1 (en) |
WO (1) | WO2004015564A2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2602678A1 (en) * | 2011-12-07 | 2013-06-12 | Siemens Aktiengesellschaft | Method for translating a control program in an automated language to an intermediate language |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE502006006706D1 (en) | 2006-06-20 | 2010-05-27 | Siemens Ag | Method for monitoring a cyclic control program |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5812850A (en) * | 1995-11-13 | 1998-09-22 | Object Technology Licensing Corp. | Object-oriented symbolic debugger using a compiler driven database and state modeling to control program execution |
US6826749B2 (en) * | 1998-12-08 | 2004-11-30 | Nazomi Communications, Inc. | Java hardware accelerator using thread manager |
US6553565B2 (en) * | 1999-04-23 | 2003-04-22 | Sun Microsystems, Inc | Method and apparatus for debugging optimized code |
-
2002
- 2002-08-02 DE DE2002135504 patent/DE10235504A1/en not_active Withdrawn
-
2003
- 2003-08-01 EP EP03783948A patent/EP1525530A2/en not_active Ceased
- 2003-08-01 WO PCT/DE2003/002594 patent/WO2004015564A2/en active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2602678A1 (en) * | 2011-12-07 | 2013-06-12 | Siemens Aktiengesellschaft | Method for translating a control program in an automated language to an intermediate language |
Also Published As
Publication number | Publication date |
---|---|
WO2004015564A2 (en) | 2004-02-19 |
EP1525530A2 (en) | 2005-04-27 |
WO2004015564A3 (en) | 2004-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19781804B4 (en) | Device for simulating a real-time process control | |
DE112016003949T5 (en) | WEB-BASED PROGRAMMING ENVIRONMENT FOR EMBEDDED EQUIPMENT | |
DE102005028943A1 (en) | Numerical control that can call a program written in a written language | |
DE102011008941A1 (en) | System for visualization of status information of field devices | |
EP2330469B1 (en) | Method and development environment for generating an executable total control program | |
DE102010025954A1 (en) | Method for complete or partial simulation and/or replication of actual automation and/or communication system, involves replacing actual automation apparatus by copied simulated automation apparatus | |
DE69121113T2 (en) | METHOD FOR DETERMINING USER INTERFACES AND PROGRAMMING SYSTEM FOR A COMPUTER WITH MULTIPLE USER INTERFACES | |
DE102014219711A1 (en) | Method for power plant simulation | |
DE10235504A1 (en) | Conversion unit for generating executable code from source code so that it is suitable for running in a given execution environment on given target hardware, especially for use in automation environments | |
DE10057575A1 (en) | Method for automatic software regeneration applies an abstract model to the properties of an application made possible by software converting these into software mechanically. | |
DE68905848T2 (en) | STORAGE PROGRAMMABLE CONTROL WITH STRUCTURED PROGRAMMING LANGUAGE. | |
EP3438774B1 (en) | Method for providing functions within an industrial automation system and automation system | |
EP4123396A1 (en) | Technique for implementing visualization for an automation system with a programmable controller | |
EP1506474A2 (en) | Method for generating an automation program | |
DE10242916A1 (en) | Automated control software writing system for loading device-independent functionality for automation devices uses properties and functions of different automation systems and a runtime framework | |
WO2010034548A1 (en) | Test module and method for testing an o/r imaging middleware | |
DE10138533A1 (en) | Protection of control programs transmitted over the Internet from a developer to a customer using asymmetric encryption of the program code, which is decrypted by the end user after parameter editing | |
EP2998805A1 (en) | Method and device for generation of a function block for the monitoring of an industrial automation assembly | |
DE10033812A1 (en) | Method for generating information models includes an information-processing system and a software product for executing this method. | |
AT522186B1 (en) | Computer-implemented method for the computer-aided generation of an executable control program for controlling and / or regulating a technical process | |
WO1995002863A1 (en) | Process for testing an object-oriented programme | |
EP1621945B1 (en) | Ensuring data consistency in an automation system | |
EP4086754A1 (en) | Method for computer-assisted configuration of a terminal, terminal and method of operating the terminal | |
DE102016121542A1 (en) | Sequence control of program modules | |
WO2023156060A1 (en) | Method for automatically verifying request specifications of a technical process |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8141 | Disposal/no request for examination |