EP1330714B1 - Programmierwerkzeug - Google Patents

Programmierwerkzeug Download PDF

Info

Publication number
EP1330714B1
EP1330714B1 EP01992939A EP01992939A EP1330714B1 EP 1330714 B1 EP1330714 B1 EP 1330714B1 EP 01992939 A EP01992939 A EP 01992939A EP 01992939 A EP01992939 A EP 01992939A EP 1330714 B1 EP1330714 B1 EP 1330714B1
Authority
EP
European Patent Office
Prior art keywords
program
access
operands
program logic
operand
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.)
Expired - Lifetime
Application number
EP01992939A
Other languages
English (en)
French (fr)
Other versions
EP1330714A2 (de
Inventor
Thilo Opaterny
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Publication of EP1330714A2 publication Critical patent/EP1330714A2/de
Application granted granted Critical
Publication of EP1330714B1 publication Critical patent/EP1330714B1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23105Window, drop, pull down menus
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23211Limit value to tolerances, ranges, plausibility

Definitions

  • the invention relates to a programming tool for generation a program interruption.
  • Program logic is used within automation systems to control and / or regulate the sensors and / or Actuators of a technical process used. With a Such program logic will be those detected by the sensors Parameter values as well as those entered via the control elements Read values and with internally determined or existing states to output values for the mentioned Sensors and / or actuators processed further.
  • User programs are commonly used, which are traditional consist of building blocks. These building blocks exist networks, which in turn consist of operations, that link different operands.
  • graphical Programming languages such as ladder diagram (LAD) or function diagram (FUP).
  • LAD ladder diagram
  • FUP function diagram
  • Within these programs provide the building blocks networks from logical links of operators and operands. In the figurative sense corresponds to such a component of a procedure or Function in textual programming languages such as C or Pascal.
  • Each block has an interface and can be used by others Blocks can be called. After execution of a block becomes the block called in the program logic executed.
  • Document DE-A-197 28 476 discloses a programming device with means for formulation an automation problem to be solved in the form of a programming language for Automation devices, which an evaluation unit a process error analysis simplified. Program interruptions are not mentioned in this document.
  • the invention is therefore based on the object of a method and a programming tool for generating a program interrupt to create that in conjunction with program logic to control and / or regulate a technical Process, in particular in connection with a graphic Programming language of automation technology can be used is.
  • a method for generating a corresponding program interruption within a program logic with operators and operands for control and / or regulation of a technical process in this connection is created during the translation of the program List of operand identifiers in connection with the respective places of use of the operand identifiers in compiled a list of identifiers. From this relative an operand table with an extensive list of identifiers selected operands and the designation of the respective Access to these operands. In the further can then use this table to make certain accesses as Condition for the occurrence of a program interruption set become.
  • the list of identifiers is usually created during translation the examined program logic. However, it stands not yet available for further processing.
  • advantageous Embodiment of the invention are all in Part identifier lists created during the individual translation runs to one complete list of identifiers summarized, then for further processing, here for generating a program interruption is available.
  • a filter element is assigned to this identifier list the usually very extensive list of identifiers clearer to design. For example, only those Operand identifiers can be selected which are at the inputs and Outputs of a block are transferred. The filter element can thus be used to select the in connection with the definition relevant operands for an interface.
  • the width of the access was defined by marking of cells or rows in the operand table defining the type of access in more convenient Way in the form of a selection menu from which a desired type access using another marking tool is selected.
  • the programming tool according to claim 7 therefore allows Definition of the conditions for a program interruption, So the establishment of a data breakpoint without cumbersome Analysis of all places of use of the person of interest Operands in connection with a high level of user comfort and always clear presentation.
  • a data breakpoint is defined by the programming tool automatically generated in such a way that a command in incorporated the program sequence of the content to be processed will that when the previously defined conditions occur a program interrupt command, i.e. an interrupt, is generated and the further course of the program logic at least temporarily interrupted.
  • the programming tool also has an automatic opening program editor in case of a corresponding Program interruption so that the analysis of the program and especially the one for the start of the program interruption leading parameters is enabled. Within the program editor can then the relevant program sequence or The block in question was revised and again using the Programming tool possibly also with changed Data breakpoints are provided to reanalyze the analysis to enable a program sequence controlling an automation system.
  • each byte addressing a row is assigned to the operand table.
  • the individual rows are divided into different columns, the different access widths to that of the respective Name the assigned byte address. It will be between bitwise access (0 to 7), byte access (B), word-by-word access (W) and double-word access (D) distinguished.
  • the table also shows several markings, here Crosses. Instead of crosses, single cells or Rows of the table can also be colored or otherwise highlighted. These markings show how used Operators is accessed. In the present case the table shows the width of the access. This tabular Presentation represents a graphic implementation of the access to selected operands.
  • the information shown in the table is made up of a cached identifier list won, all Operand identifiers and their places of use within the program logic includes.
  • the identifier list is kept during the translation of the program logic and then cached as mentioned.
  • a filter element for example the selection of the output or At the input of a module, certain operands are selected and then in connection with the representation of the access width in the operand table, as explained.
  • a marking tool for example cursor positioning in the operand table
  • a specific one by selecting one or more rows or cells Access as a condition for a program interruption to be selected.
  • This connects a user with the marking in the form of a pop-up or pull-down menu or both were given the opportunity, in addition, Art of access, i.e. writing, reading or both.

Description

Die Erfindung betrifft ein Programmierwerkzeug zur Erzeugung einer Programmunterbrechung.
Innerhalb von Automatisierungssystemen wird eine Programmlogik zur Steuerung und/oder Regelung der Sensorik und/oder Aktorik eines technischen Prozesses eingesetzt. Mit einer derartigen Programmlogik werden die von den Sensoren erfassten Parameterwerte sowie die über die Bedienelemente eingegebenen Werte eingelesen und mit intern ermittelten oder bestehenden Zuständen zu Ausgabewerten für die erwahnte Sensorik und/oder Aktorik weiter bearbeitet. Der Softwarebestandteil von modernen Automatisierungssystemen nimmt dabei standig zu.
Die Erstellung einer derartigen Programmlogik für ein Automatisierungssystem unterscheidet sich von herkömmlichen Programmen insbesondere dadurch, dass Automatisierungssysteme normalerweise ständig laufende sich selbststeuernde und/oder regelnde kybernetische Systeme darstellen. Diese Anwendung erfordert die ständige Wiederholung von immer wiederkehrenden Ablaufen, die von entsprechend immer wiederkehrenden Programmsequenzen der Programmlogik gesteuert und/oder geregelt werden. Die hierzu erforderliche Programmiertechnik wird daher als zyklische Programmierung bezeichnet. Ein wesentliches Ziel innerhalb der zyklischen Programmierung ist dabei eine möglichst kurze Laufzeit, da die Laufzeit der einzelnen Programmsequenzen im Wesentlichen der Reaktionszeit der Steuerung und/oder Regelung, die dem gesteuerten und/oder geregelten System zugrunde liegt, entspricht.
Die sich im Rahmen der Steuerung und/oder Regelung eines Automatisierungssystems ergebenden Aufgaben werden vor der Programmierung vom Programmierer in Einzelaufgaben zerlegt, so dass sie auf die jeweils verwendete Programmiersprache abgebildet werden können. Im Rahmen dieser Vorbereitung wird versucht, möglichst viele Aufgaben und Module zu erkennen, die standig wiederholt werden können. Die Erkennung sich ständig wiederholender Teilsequenzen ermöglicht eine besonders übersichtliche und kurze Programmierung.
Es werden verbreitet Anwenderprogramme eingesetzt, die herkommlicherweise aus Bausteinen bestehen. Diese Bausteine bestehen aus Netzwerken, die wiederum aus Operationen bestehen, die unterschiedliche Operanden miteinander verknüpfen. Zur Erstellung entsprechender Anwenderprogramme stehen graphische Programmiersprachen, wie etwa Kontaktplan (KOP) oder Funktionsplan (FUP), zur Verfügung. Innerhalb dieser Programme stellen die Bausteine Netzwerke aus logischen Verknüpfungen von Operatoren und Operanden dar. Im übertragenen Sinne entspricht ein derartiger Baustein also einer Prozedur oder Funktion in textuellen Programmiersprachen wie C oder Pascal. Jeder Baustein hat eine Schnittstelle und kann von anderen Bausteinen aufgerufen werden. Nach Ausführung eines Bausteins wird der in der Programmlogik nachfolgend aufgerufene Baustein ausgeführt.
Bei aller Sorgfalt lasst es sich nicht vermeiden, dass einzelne Operanden im Laufe der Ausführung des Programms überraschend einen anderen Wert aufweisen, als ursprunglich erwartet. Das Programm reagiert also an dieser Stelle nicht wie erwartet. Dies ist zumeist dann der Fall, wenn, insbesondere bei komplexen Prozessen, bisher nicht bedachte oder nicht erwartete Eingangswerte auf den vorangegangenen Baustein eingewirkt haben.
In Verbindung mit textuellen Programmiersprachen aber auch im Hardwarebereich sind so genannte Interrupts bekannt. Hierunter versteht man die Unterbrechung eines laufenden Prozesses durch die CPU bei Vorliegen einer entsprechenden Anforderung.
Je nachdem, ob die Anforderung ihre Ursache in der Hardware oder in der Software hat, unterscheidet man zwischen Hardware- und Software-Interrupts. Zur Abarbeitung der Hardware-Interrupts weisen die meisten Prozessoren einen eigenen Interrupt-Controller auf. Software-Interrupts werden durch spezielle Befehle des Maschinencodes oder durch den Prozessor selbst im Falle des Eintritts von definierten Fehlerbedienungen ausgelöst. Derartige Interrupts bieten die Möglichkeit, einen Prozess beim Eintritt von bestimmten Bedingungen anzuhalten, um zu uberprüfen, welche Bedingungen zu dem "HALT" geführt haben. In Verbindung mit textuellen Programmiersprachen konnen derartige Interrupts bewusst eingesetzt werden, um einen derartigen Interrupt herbeizufuhren, sobald ein Parameter einen nicht erwarteten Wert annimmt. Nach Unterbrechung des Prozesses kann dann analysiert werden, welche Bedingungen zu dem unerwarteten bzw. unerwünschten Zustand geführt haben. Da sich im Bereich der Automatisierungstechnik die erwähnten Bausteine auch gegenseitig aufrufen können, ist nach der vollständigen Abarbeitung eines Programms das Programmlisting meist derart unübersichtlich, dass die Suche nach der konkreten Fehlerursache erschwert ist.
Dokument DE-A-197 28 476 offenbart ein Programmiergerät mit Mitteln zur Formulierung einer zu lösenden Automatisierungsaufgabe in Form einer Programmiersprache für Automatisierungsgeräte, welches einer Auswerteeinheit eine Prozessfehleranalyse vereinfacht. Programmunterbrechungen werden in dieses Dokument jedoch nicht erwähnt.
Der Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren und ein Programmierwerkzeug zur Erzeugung einer Programmunterbrechung zu schaffen, das in Verbindung mit einer Programmlogik zur Steuerung und/oder Regelung eines technischen Prozesses, also insbesondere in Verbindung mit einer graphischen Programmiersprache der Automatisierungstechnik einsetzbar ist.
Die Losung dieser Aufgabe gelingt mit einem Verfahren gemäß Anspruch 1 sowie mit einem Programmierwerkzeug mit den Merkmalen nach Anspruch 7.
Vorteilhafte Ausgestaltungen des erfindungsgemäßen Verfahrens sind gemäß den Merkmalen der abhängigen Ansprüche 2 bis 6 und hinsichtlich des Programmierwerkzeuges der abhängigen Ansprüche 8 und 9 gegeben.
Gemäß Hauptanspruch ist ein Verfahren zur Erzeugung einer entsprechenden Programmunterbrechung innerhalb einer Programmlogik mit Operatoren und Operanden zur Steuerung und/oder Regelung eines technischen Prozesses gegeben. Hierbei wird eine während der Übersetzung des Programms erstellte Aufstellung von Operandenbezeichnern in Verbindung mit den jeweiligen Verwendungsstellen der Operandenbezeichner in einer Bezeichnerliste zusammengestellt. Aus dieser relativ umfangreichen Bezeichnerliste wird eine Operandentabelle mit ausgewählten Operanden und der Bezeichnung des jeweiligen Zugriffs auf diese Operanden zusammengestellt. Im Weiteren können dann mittels dieser Tabelle bestimmte Zugriffe als Bedingung für den Eintritt einer Programmunterbrechung festgelegt werden.
Bei diesem Verfahren müssen zur Festlegung einer Programmunterbrechung also nicht mehr sämtliche Verwendungsstellen des "problematischen" Operanden durchgesehen werden, sondern es kann genau die Zugriffsart in komfortabler Weise ausgewahlt werden, die entweder einen zu überprufenden Fehler herbeigeführt hat oder aus sonstigen Gründen im Wege einer Programmunterbrechung überprüft werden soll.
Die Bezeichnerliste entsteht üblicherweise bei der Übersetzung der untersuchten Programmlogik. Allerdings steht sie bislang nicht zur Weiterbearbeitung zur Verfügung. In vorteilhafter Ausgestaltung der Erfindung werden sämtliche im Rahmen der einzelnen Ubersetzungsläufe entstehenden Teilbezeichnerlisten zu einer einzigen vollstandigen Bezeichnerliste zusammengefasst, die dann zur Weiterbearbeitung, hier zur Generierung einer Programmunterbrechung, verfügbar ist.
Dieser Bezeichnerliste ist ein Filterelement zugewiesen, um die üblicherweise sehr umfangreiche Bezeichnerliste übersichtlicher zu gestalten. So können beispielsweise nur die Operandenbezeichner ausgewählt werden, die an den Ein- und Ausgängen eines Bausteins übergeben werden. Das Filterelement kann somit zur Auswahl der in Verbindung mit der Definition einer Schnittstelle relevanten Operanden eingesetzt werden.
Schließlich kann innerhalb einer Operandentabelle mittels eines eigenen Markierungswerkzeugs eine Zeile oder eine oder mehrere Zellen dieser Zeile markiert werden. Mit dieser Auswahl wird die Breite eines Zugriffs auf den ausgewählten Operanden eindeutig bestimmt und als Bedingung für die Programmunterbrechung festgelegt.
In weiterer Ausgestaltung kann neben der Auswahl der Breite des Zugriffs auf einen Operanden auch die Art des Zugriffs als Kriterium zur Generierung eines Datenhaltepunkts festgelegt werden.
Erfolgte die Definition der Breite des Zugriffs durch Markierung von Zellen oder Zeilen der Operandentabelle, so erfolgt die Festlegung der Art des Zugriffs in komfortabler Weise in Form eines Auswahlmenüs, aus dem eine gewünschte Art des Zugriffs mittels eines weiteren Markierungswerkzeugs ausgewählt wird.
Das Programmierwerkzeug nach Anspruch 7 gestattet demnach die Definition der Bedingungen für eine Programmunterbrechung, also die Einrichtung eines Datenhaltepunkts ohne umständliche Analyse sämtlicher Verwendungsstellen des jeweils interessierenden Operanden in Verbindung mit einem hohen Bedienkomfort und einer stets übersichtlichen Darstellung.
Sobald mittels des vorstehend erlauterten Verfahrens die Bedingungen für den Eintritt der Programmunterbrechung eindeutig definiert sind, wird ein Datenhaltepunkt vom Programmierwerkzeug selbsttätig derart erzeugt, dass ein Befehl in die abzuarbeitende Programmsequenz des Inhalts eingearbeitet wird, dass beim Eintritt der zuvor definierten Bedingungen ein Programmunterbrechungsbefehl, also ein Interrupt, generiert wird und hierdurch der weitere Ablauf der Programmlogik zumindest vorübergehend unterbrochen wird.
Das Programmierwerkzeug weist ferner einen sich selbsttätig öffnenden Programmeditor für den Fall einer entsprechenden Programmunterbrechung auf, so dass die Analyse des Programms und insbesondere der zum Eintritt der Programmunterbrechung führenden Parameter ermöglicht wird. Innerhalb des Programmeditors kann dann die betreffende Programmsequenz bzw. der betreffende Baustein überarbeitet und erneut mittels des Programmierwerkzeugs moglicherweise auch mit veränderten Datenhaltepunkten versehen werden, um erneut eine Analyse der ein Automatisierungssystem steuernden Programmsequenz zu ermöglichen.
Das erfindungsgemäße Verfahren und Programmierwerkzeug wird nachstehend anhand einer in der Zeichnung dargestellten Operandentabelle veranschaulicht. Dabei stellt die Realisierung gemäß dem Ausfuhrungsbeispiel lediglich eine mögliche Umsetzung des Verfahrens bzw. Programmierwerkzeugs dar.
Die Erfindung wird nachfolgend anhand eines Ausführungsbeispiels unter Bezugnahme auf die einzige Figur der Zeichnung näher erläutert. Die Figur der Zeichnung zeigt eine Tabelle ausgewahlter, innerhalb einer Programmlogik verwendeter Operanden.
Die in der Zeichnung nur beispielhaft dargestellte Tabelle der innerhalb einer Programmlogik verwendeten Operanden betrifft beispielsweise die Operanden eines Ausgangs (A), mit einer Byteadressierung von (ABO bis AB7), wobei jeder Byteadressierung eine Zeile der Operandentabelle zugewiesen ist. Die einzelnen Zeilen sind in verschiedene Spalten unterteilt, die unterschiedliche Zugriffsbreiten auf die der jeweiligen Zeile zugeordnete Byteadresse bezeichnen. Es wird zwischen den bitweisen Zugriffen (0 bis 7), dem byteweisen Zugriff (B), dem wortweisen Zugriff (W) und dem Doppelwortzugriff (D) unterschieden.
Dabei sind die in der Tabelle zusammengefassten Operanden nur eine mittels eines Filters ausgewählte Untermenge aller innerhalb der Programmlogik verwendeten Operatoren. Im vorliegenden Beispiel interessieren die Operatoren des Ausgangs A.
Die Tabelle zeigt zusätzlich mehrere Markierungen, hier Kreuze. Anstelle von Kreuzen können einzelne Zellen oder Zeilen der Tabelle auch farbig hinterlegt sein oder sonstig hervorgehoben. Diese Markierungen zeigen, wie auf die verwendeten Operatoren zugegriffen wird. Im vorliegenden Fall zeigt die Tabelle die Breite des Zugriffs. Diese tabellarische Darstellung stellt eine graphische Umsetzung der Zugriffe auf ausgewählte Operanden dar.
Die in der Tabelle dargestellte Information wird aus einer zwischengespeicherten Bezeichnerliste gewonnen, die sämtliche Operandenbezeichner und deren Verwendungsstellen innerhalb der Programmlogik umfasst. Die Bezeichnerliste wird während der Übersetzung der Programmlogik angelegt und anschließend wie erwähnt zwischengespeichert. Mittels eines Filterelements, also beispielsweise der Auswahl des Ausgangs oder Eingangs eines Moduls, werden bestimmte Operanden ausgewählt und dann in Verbindung mit der Darstellung der Zugriffsbreite in der Operandentabelle, wie erläutert, angezeigt.
Mittels eines Markierungswerkzeuges, also beispielsweise einer Cursorpositionierung in der Operandentabelle, kann dann durch Auswahl einer oder mehrerer Zeilen oder Zellen ein bestimmter Zugriff als Bedingung für eine Programmunterbrechung ausgewählt werden. Dabei wird einem Benutzer in Verbindung mit der Markierung in Form eines Pop-Up- oder Pull-Down-Menüs oder beiden die Möglichkeit geboten, zusätzlich auch die Art des Zugriffs, also Schreiben, Lesen oder beides, festzulegen.
Damit sind ein oder mehrere Zugriffe auf einen bestimmten Operanden als Bedingung für eine Programmunterbrechung eindeutig festgelegt. Ein Programmierwerkzeug erzeugt im Weiteren selbsttätig den gewünschten Datenhaltepunkt an der solcherart definierten Zugriffsstelle.

Claims (9)

  1. Verfahren zur Erzeugung einer Programmunterbrechung innerhalb einer Programmlogik mit Operatoren und Operanden zur Steuerung und/oder Regelung eines technischen Prozesses, bei dem folgende Schritte durchlaufen werden:
    Generierung einer vorzugsweise vollständigen Bezeichnerliste der innerhalb der Programmlogik verwendeten Operandenbezeichner und deren jeweiliger Verwendungsstellen innerhalb der Programmlogik während der Übersetzung der Programmlogik und
    Zwischenspeicherung dieser Bezeichnerliste zur Weiterbearbeitung derart,
    dass eine Auswahl dieser Operandenbezeichner wählbar ist und anhand dieser Auswahl
    eine Operandentabelle erzeugt wird, die die verwendeten Operanden in Verbindung mit der jeweiligen Art und/oder Breite des jeweiligen Zugriffs ausweist und derart zur Weiterbearbeitung angeboten wird,
    dass mittels der Operandentabelle ein Zugriff auf einen der verwendeten Operanden bezeichnet und
    dieser Zugriff innerhalb der Programmlogik als Bedingung für eine Programmunterbrechung angelegt wird.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass bei jedem Übersetzungslauf der Programmlogik eine Teilbezeichnerliste angelegt und zwischengespeichert wird und anschließend samtliche Teilbezeichnerlisten zu der Bezeichnerliste zusammengefasst werden.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass aus der Bezeichnerliste mit einem einstellbaren Filterelement definierte Programmbezeichner, vorzugsweise der Ein- und Ausgänge eines Programms, einer Programmsequenz und/oder einzelnen Operanden, ausgewählt werden.
  4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass innerhalb der Operandentabelle mittels eines Markierungswerkzeuges einzelne Zeilen und/oder Zellen markiert werden und hierdurch die Breite des Zugriffs bezeichnet wird.
  5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass zusätzlich zur Auswahl der Breite des jeweiligen Zugriffs auch die Art des Zugriffs, vorzugsweise Schreiben und/oder Lesen, ausgewählt wird.
  6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass die möglichen Arten des Zugriffs mittels eines Auswahlmenus, vorzugsweise in Form eines Pop-Up-Menüs und/oder Pull-Down-Menüs, zur Auswahl angeboten und mittels eines weiteren Markierungswerkzeuges ausgewählt und als weitere Bedingung für den Eintritt der Programmunterbrechung festgelegt werden.
  7. Programmierwerkzeug zur Erzeugung einer Programmunterbrechung innerhalb einer Programmlogik mit Operatoren und Operanden zur Steuerung und/oder Regelung eines technischen Prozesses, bei dem eine während der Übersetzung der Programmlogik angelegte Bezeichnerliste der der innerhalb der Programmlogik verwendeten Operandenbezeichner zwischengespeichert und derart zur Weiterbearbeitung vorgesehen ist, dass zu einer vorgebbaren Auswahl von Operanden eine Operandentabelle erzeugt wird, die die verwendeten Operanden in Verbindung mit der jeweiligen Art und/oder Breite des jeweiligen Zugriffs ausweist und mittels dieser Operandentabelle ein Zugriff auf einen der verwendeten Operanden eindeutig festlegbar und dieser Zugriff innerhalb der Programmlogik als Bedingung für eine Programmunterbrechung selbsttätig angelegt ist.
  8. Programmierwerkzeug nach Anspruch 7, dadurch gekennzeichnet, dass zum Zeitpunkt des mittels der Operandentabelle definierten Zugriffs ein Programmunterbrechungsbefehl generierbar und hierdurch der Ablauf der Programmlogik, mithin ein entsprechend angesteuertes laufendes Automatisierungssystem, unterbrechbar ist.
  9. Programmierwerkzeug nach Anspruch 8, dadurch gekennzeichnet, dass zum Zeitpunkt der Programmunterbrechung ein Programmeditor selbsttätig aufrufbar und innerhalb dieses Programmeditors, vorzugsweise mittels einer Cursormarkierung, die Stelle des die Programmunterbrechung auslösenden Zugriffs mittels einer Markierung festlegbar ist.
EP01992939A 2000-11-02 2001-10-26 Programmierwerkzeug Expired - Lifetime EP1330714B1 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE10054196A DE10054196A1 (de) 2000-11-02 2000-11-02 Programmierwerkzeug
DE10054196 2000-11-02
PCT/DE2001/004068 WO2002037281A2 (de) 2000-11-02 2001-10-26 Programmierwerkzeug

Publications (2)

Publication Number Publication Date
EP1330714A2 EP1330714A2 (de) 2003-07-30
EP1330714B1 true EP1330714B1 (de) 2004-07-14

Family

ID=7661821

Family Applications (1)

Application Number Title Priority Date Filing Date
EP01992939A Expired - Lifetime EP1330714B1 (de) 2000-11-02 2001-10-26 Programmierwerkzeug

Country Status (6)

Country Link
US (1) US20040049622A1 (de)
EP (1) EP1330714B1 (de)
AT (1) ATE271237T1 (de)
DE (2) DE10054196A1 (de)
ES (1) ES2223954T3 (de)
WO (1) WO2002037281A2 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8490064B2 (en) * 2004-05-21 2013-07-16 Oracle International Corporation Hierarchical debug
CN110632878B (zh) * 2019-10-08 2022-06-28 上海宝阶智能科技有限公司 一种异构嵌入式表格化处理及执行动作流程的方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19728476A1 (de) * 1997-07-03 1999-01-07 Siemens Ag Programmiergerät

Also Published As

Publication number Publication date
WO2002037281A3 (de) 2002-08-29
DE50102871D1 (de) 2004-08-19
EP1330714A2 (de) 2003-07-30
WO2002037281A2 (de) 2002-05-10
DE10054196A1 (de) 2002-05-29
ES2223954T3 (es) 2005-03-01
US20040049622A1 (en) 2004-03-11
ATE271237T1 (de) 2004-07-15

Similar Documents

Publication Publication Date Title
EP1330685B1 (de) Prüfverfahren und prüfvorrichtung zur inbetriebnahme von mittels einer programmlogik gesteuerten systemen
EP2399174B1 (de) Verfahren und vorrichtung zum erstellen eines anwenderprogrammes für eine sicherheitssteuerung
EP1184758A2 (de) Verfahren zum Debuggen von Programmen für industrielle Steuerungen, insbesondere Bewegungssteuerungen, im Kontext der Flow Chart Programmierung
EP0753168A1 (de) Verfahren zur automatischen diagnose von störungsfällen
WO2015086357A1 (de) Verfahren zur beeinflussung eines steuerprogramms eines steuergeräts
EP1330714B1 (de) Programmierwerkzeug
EP0838054A1 (de) Verfahren und steuereinrichtung für eine graphische steuerung von abläufen in einem netzwerkmanagementsystem
WO2014154281A1 (de) Objektbasierte konfiguration einer prozess- und/oder fertigungsanlage
DE19707107A1 (de) Einrichtung zur Programmierung eines SPS
DE10128158A1 (de) Programmierwerkzeug und Programmierverfahren
EP2329374A1 (de) Testmodul und verfahren zum testen einer o/r-abbildungs-middleware
EP3779619A1 (de) Emergente risiken eines technischen systems
EP1095321B1 (de) Verfahren und anordnung zum entwurf einer steuerung für einen gesamtprozess
EP1365297A1 (de) System und Verfahren zur Anpassung anwendungsspezifischer Funktionsbausteine für ein Automatisierungsgerät
EP1594063B1 (de) Verfahren zum Überprüfen von Steuerungsprogrammen
DE102006008726B4 (de) Verfahren und Vorrichtung zum Aktualisieren einer Anlagensoftware
EP4123396A1 (de) Technik zur realisierung einer visualisierung für eine automatisierungstechnische anlage mit einer speicherprogrammierbaren steuerung
DE102018112647A1 (de) Verfahren zum Betreiben eines Roboters mittels eines speziellen Prozesskalküls
WO2014146716A1 (de) Engineering-system einer prozess- und/oder fertigungsanlage
DE102020115028A1 (de) Verfahren zum Erstellen und Ausführen eines Steuerprogramms zum Steuern eines Automatisierungssystems und Automatisierungssystem
DE19828611C2 (de) Datenverarbeitungsvorrichtung und zugehöriges Verfahren
DE19940306B4 (de) Verfahren und Datenverarbeitungsanlage zum Testen eines Programmsystems
EP0671678A1 (de) Projektierbare Bedienoberfläche
EP2363771A1 (de) Programmierschnittstelle und Verfahren zur Steuerung einer Anwendung eines Gerätes einer industriellen Automatisierungsanordnung
EP1990695A1 (de) Automatisierungsgerät und Verfahren zu dessen Betrieb

Legal Events

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

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20030404

AK Designated contracting states

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AT CH DE ES FR GB LI

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

Free format text: NOT ENGLISH

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REF Corresponds to:

Ref document number: 50102871

Country of ref document: DE

Date of ref document: 20040819

Kind code of ref document: P

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

Free format text: GERMAN

REG Reference to a national code

Ref country code: CH

Ref legal event code: NV

Representative=s name: SIEMENS SCHWEIZ AG

GBT Gb: translation of ep patent filed (gb section 77(6)(a)/1977)

Effective date: 20040913

REG Reference to a national code

Ref country code: ES

Ref legal event code: FG2A

Ref document number: 2223954

Country of ref document: ES

Kind code of ref document: T3

REG Reference to a national code

Ref country code: IE

Ref legal event code: FD4D

ET Fr: translation filed
PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

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

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed

Effective date: 20050415

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: AT

Payment date: 20080910

Year of fee payment: 8

Ref country code: ES

Payment date: 20081112

Year of fee payment: 8

REG Reference to a national code

Ref country code: CH

Ref legal event code: PCAR

Free format text: SIEMENS SCHWEIZ AG;INTELLECTUAL PROPERTY FREILAGERSTRASSE 40;8047 ZUERICH (CH)

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: CH

Payment date: 20090114

Year of fee payment: 8

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: AT

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20091026

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20091031

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20091031

REG Reference to a national code

Ref country code: ES

Ref legal event code: FD2A

Effective date: 20110323

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: ES

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20110310

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: ES

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20091027

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20141017

Year of fee payment: 14

Ref country code: GB

Payment date: 20141013

Year of fee payment: 14

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20141219

Year of fee payment: 14

REG Reference to a national code

Ref country code: DE

Ref legal event code: R119

Ref document number: 50102871

Country of ref document: DE

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20151026

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20151026

Ref country code: DE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20160503

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST

Effective date: 20160630

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20151102