[go: up one dir, main page]

DE102021120177A1 - Method for changing calculation data of a field device - Google Patents

Method for changing calculation data of a field device Download PDF

Info

Publication number
DE102021120177A1
DE102021120177A1 DE102021120177.2A DE102021120177A DE102021120177A1 DE 102021120177 A1 DE102021120177 A1 DE 102021120177A1 DE 102021120177 A DE102021120177 A DE 102021120177A DE 102021120177 A1 DE102021120177 A1 DE 102021120177A1
Authority
DE
Germany
Prior art keywords
field device
text
memory area
interpretable
machine
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.)
Ceased
Application number
DE102021120177.2A
Other languages
German (de)
Inventor
Juan Garcia
Ralf Höll
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.)
Vega Grieshaber KG
Original Assignee
Vega Grieshaber KG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vega Grieshaber KG filed Critical Vega Grieshaber KG
Priority to DE102021120177.2A priority Critical patent/DE102021120177A1/en
Publication of DE102021120177A1 publication Critical patent/DE102021120177A1/en
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

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

Abstract

Die Erfindung betrifft ein Verfahren zum Ändern von Berechnungsdaten, insbesondere eines Feldgeräts (10). Das Verfahren weist folgende Schritte auf:senden eines interpretierbaren Textes (22) an das Feldgerät (10), wobei der interpretierbare Text (22) eine Identifikation der zu ändernden Berechnungsdaten und eine Berechnungsvorschrift aufweist;empfangen, durch das Feldgerät (10), des interpretierbaren Textes (22) und speichern des Textes (22) in einem ersten Speicherbereich (12) des Feldgeräts (10);wandeln, durch einen Compiler (14), des interpretierbaren Textes (22) in einen von dem Feldgerät (10) maschinenlesbaren Code; undspeichern des maschinenlesbaren Codes in einem zweiten Speicherbereich (16) des Feldgeräts (10).The invention relates to a method for changing calculation data, in particular of a field device (10). The method has the following steps: sending an interpretable text (22) to the field device (10), the interpretable text (22) having an identification of the calculation data to be changed and a calculation rule; receiving, by the field device (10), the interpretable text (22) and storing the text (22) in a first memory area (12) of the field device (10); converting, by a compiler (14), the interpretable text (22) into a code which can be read by the field device (10); andstoring the machine-readable code in a second memory area (16) of the field device (10).

Description

Gebiet der Erfindungfield of invention

Die Erfindung betrifft ein Verfahren zum Ändern von Berechnungsdaten, insbesondere eines Feldgeräts. Weiterhin betrifft die Erfindung ein Programmelement, ein computerlesbares Medium, einen Compiler, ein Feldgerät und eine Verwendung.The invention relates to a method for changing calculation data, in particular of a field device. Furthermore, the invention relates to a program element, a computer-readable medium, a compiler, a field device and a use.

Hintergrundbackground

Bei der Automatisierung von Systemen werden in vielen Fällen Feldgeräte eingesetzt, die eine Mess-Sensorik beinhalten. Beispiele können Geräte zur Füllstandmessung, zur Grenzstandbestimmung, zur Durchflussmessung, zur Temperaturmessung, zur Druckmessung und/oder weitere Feldgeräte umfassen. In zumindest einigen Fällen kann es sinnvoll sein, bestimmte Messparameter und/oder bestimmte Prozeduren zu ändern. Dies kann ein Update der gesamten oder zumindest großer Teile der Feldgeräte-Software zur Folge haben. Es wäre wünschenswert, für ein Update von Messparametern nur kleinere Teile der Feldgeräte-Software ändern zu müssen, um flexibler und mit weniger Aufwand derartige Updates kurzfristig durchführen zu können.When automating systems, field devices containing measurement sensors are often used. Examples can include devices for level measurement, limit level determination, flow rate measurement, temperature measurement, pressure measurement and/or other field devices. In at least some cases it may be useful to change certain measurement parameters and/or certain procedures. This can result in an update of all or at least large parts of the field device software. It would be desirable to only have to change small parts of the field device software for an update of measurement parameters in order to be able to carry out such updates at short notice more flexibly and with less effort.

ZusammenfassungSummary

Es ist Aufgabe der Erfindung, ein Verfahren zur Verfügung zu stellen, mit dem ein Update nur von Teilen der Feldgeräte-Software ermöglicht wird. Diese Aufgabe wird durch den Gegenstand der unabhängigen Patentansprüche gelöst. Weiterbildungen der Erfindung ergeben sich aus den Unteransprüchen und der folgenden Beschreibung.It is the object of the invention to provide a method with which an update of only parts of the field device software is made possible. This object is solved by the subject matter of the independent patent claims. Further developments of the invention result from the dependent claims and the following description.

Ein Aspekt betrifft ein computer-implementiertes Verfahren zum Ändern von Berechnungsdaten eines Feldgeräts. Das Verfahren weist folgende Schritte auf:

  • senden eines interpretierbaren Textes an das Feldgerät, wobei der interpretierbare Text eine Identifikation der zu ändernden Berechnungsdaten und eine Berechnungsvorschrift aufweist;
  • empfangen, durch das Feldgerät, des interpretierbaren Textes und speichern des Textes in einem ersten Speicherbereich des Feldgeräts;
  • wandeln, durch einen Compiler, des interpretierbaren Textes in einen von dem Feldgerät maschinenlesbaren Code;
  • speichern des maschinenlesbaren Codes in einem zweiten Speicherbereich des Feldgeräts; und
  • während einer Berechnung des Feldgeräts, springen zu dem zweiten Speicherbereich und ausführen des maschinenlesbaren Codes.
One aspect relates to a computer-implemented method for changing calculation data of a field device. The procedure has the following steps:
  • sending an interpretable text to the field device, the interpretable text having an identification of the calculation data to be changed and a calculation rule;
  • receiving, by the field device, the interpretable text and storing the text in a first memory area of the field device;
  • convert, by a compiler, the interpretable text into code machine-readable by the field device;
  • storing the machine-readable code in a second memory area of the field device; and
  • during a computation of the field device, jump to the second memory area and execute the machine-readable code.

Berechnungsdaten eines Feldgeräts können z.B. Parametrisierungsdaten, Berechnungskonstanten, Berechnungsparameter, Erweiterungen von Linearisierungskurven, Spezialparameter, Erweiterungen von Funktionsparameter, Erweiterungen von Anwendungsparameter, Erweiterungen von Prozeduren, Bugkorrektur und/oder weitere Daten, welche eine Messung und/oder eine Auswertung eines Messergebnisses des Feldgerätes umfassen. Ein interpretierbarer Text ist ein Text, der dazu eingerichtet ist, dass er von Personen gelesen werden kann, d.h. kein Maschinencode, sondern z.B. ein Text, der lesbare Zeichen des ASCII-Codes (ASCII: American Standard Code for Information Interchange) und/oder andere Codes umfasst. Beispiele können Anweisungen sein, die beispielsweise von Interpretern und/oder Compilern gelesen werden können: DIST_1 :=ECHO_1*3 .7

Figure DE102021120177A1_0001
FLOW_1 :=CURRENT_8*2 .3
Figure DE102021120177A1_0002
Calculation data of a field device can include, for example, parameterization data, calculation constants, calculation parameters, extensions of linearization curves, special parameters, extensions of function parameters, extensions of application parameters, extensions of procedures, bug corrections and/or other data which include a measurement and/or an evaluation of a measurement result of the field device. An interpretable text is a text that is set up so that it can be read by people, ie not machine code, but for example a text containing readable characters of the ASCII code (ASCII: American Standard Code for Information Interchange) and/or others codes included. Examples can be instructions that can be read by interpreters and/or compilers, for example: DIST_1 :=ECHO_1*3 .7
Figure DE102021120177A1_0001
FLOW_1 :=CURRENT_8*2 .3
Figure DE102021120177A1_0002

Der interpretierbare Text kann Elemente einer Syntax eines standardisierten Interpreters und/oder Compilers umfassen, und/oder eine proprietäre Syntax. Aus den gezeigten Beispielen wird deutlich, dass die Bezeichner bzw. eine Identifikation - wie „DIST_1“, „ECHO_1“, etc. - dem Feldgerät „bekannt“ sein sollte, d.h. dass diese sich auf Informationen auf einen definierten Speicherbereich des Feldgeräts beziehen. Der interpretierbare Text kann z.B. mittels eines Editors auf einem Computer erstellt werden. Der interpretierbare Text kann nach dem Erstellen z.B. auf bestimmte Regeln überprüft werden, beispielsweise ob die definierte Syntax eingehalten wird, ob die Bezeichner, die Rechenregeln, etc. definiert sind, und/oder weitere Überprüfungen. Die Überprüfungen können eine Simulation und/oder eine Emulation des interpretierbaren Textes beinhalten, um so ein Testen oder Debuggen zu ermöglichen, bevor die Rechenvorschrift oder Berechnungsvorschrift des interpretierbaren Textes auf einem realen Feldgerät abläuft und/oder dieses steuert oder anderweitig beeinflusst.The interpretable text may include elements of a standardized interpreter and/or compiler syntax, and/or a proprietary syntax. The examples shown make it clear that the identifier or an identification - such as "DIST_1", "ECHO_1", etc. - should be "known" to the field device, i.e. that this refers to information on a defined memory area of the field device. The interpretable text can be created, for example, using an editor on a computer. After creation, the interpretable text can, for example, be checked for certain rules, for example whether the defined syntax is adhered to, whether the identifiers, the calculation rules, etc. are defined, and/or other checks. The checks can include a simulation and/or an emulation of the interpretable text in order to enable testing or debugging before the calculation rule or calculation rule of the interpretable text runs on and/or controls or otherwise influences a real field device.

Das Senden des interpretierbaren Textes an das Feldgerät kann drahtgebunden oder drahtlos durchgeführt werden. Beispielsweise können zum Senden Protokolle oder Schnittstellen wie 4..20mA-Protokolle, z.B. HART (Highway Addressable Remote Transducer), Profibus PA (Profibus für Process Automation), FF (Foundation Fieldbus), ein Zweileiter-Ethernet (beispielsweise APL [Advanced Physical Layer]), und weitere verwendet werden, und/oder drahtlose Protokolle wie LoRa (Long Range), NB-loT (NarrowBand loT), LTE-M (Long Term Evolution for Machines), oder Telefonie-Protokolle wie z.B. LTE, GSM, GPRS, UMTS, 2G, 3G, 4G, 5G, und/oder weitere, und/oder Geräte, welche diese Protokolle unterstützen.
Der interpretierbare Text ist grundsätzlich lesbar; er kann aber, insbesondere für das Senden, verschlüsselt sein.
Sending the interpretable text to the field device can be wired or wireless. For example, protocols or interfaces such as 4..20mA protocols, e.g. HART (Highway Addressable Remote Transducer), Profibus PA (Profibus for Process Automation), FF (Foundation Fieldbus), a two-wire Ethernet (e.g. APL [Advanced Physical Layer ]), and others are used, and/or wireless protocols such as LoRa (Long Range), NB-loT (NarrowBand loT), LTE-M (Long Term Evolution for Machines), or telephony protocols such as LTE, GSM, GPRS , UMTS, 2G, 3G, 4G, 5G, and/or others, and/or devices that support these protocols.
The interpretable text is basically readable; however, it can be encrypted, especially for sending.

Das Feldgerät ist dazu eingerichtet, mindestens eines der genannten Protokolle zu unterstützen und den interpretierbaren Text empfangen. Im Fall eines verschlüsselten Textes kann es nach dem Empfangen ein Entschlüsseln vornehmen. Nach dem Empfangen wird der interpretierbare Text in einem ersten Speicherbereich des Feldgeräts gespeichert. Das Wandeln des interpretierbaren Textes durch einen Compiler kann durch das Empfangen angestoßen werden, und/oder durch ein dediziertes Kommando. Der Compiler wandelt den interpretierbaren Text in einen von dem Feldgerät maschinenlesbaren Code. Der Compiler kann dazu eingerichtet sein, den interpretierbaren Text „on the fly“ zu wandeln, d.h. es kann Ausführungsformen geben, in denen kein dedizierter erster Speicherbereich in dem Feldgerät vorhanden ist, sondern der interpretierbare Text direkt an den Compiler weitergeleitet wird. Der Compiler kann weiterhin dazu eingerichtet sein, einen Fehlercode auszugeben, z.B. an eine Anzeige, die mit dem Feldgerät verbunden ist und/oder an das Gerät, das den interpretierbaren Text gesandt hat. Der Fehlercode kann z.B. eine Anzeige eines Syntaxfehlers, eine unbekannte bzw. nicht-definierte Identifikation, eine fehlerhafte oder gefährliche Semantik (die z.B. Abläufe des Feldgeräts stören könnte) und/oder weitere Meldungen umfassen.The field device is set up to support at least one of the protocols mentioned and to receive the interpretable text. In the case of an encrypted text, it can perform a decryption after receiving it. After receiving, the interpretable text is stored in a first memory area of the field device. The conversion of the interpretable text by a compiler can be triggered by receiving and/or by a dedicated command. The compiler converts the interpretable text into code that can be machine-read by the field device. The compiler can be set up to convert the interpretable text "on the fly", i.e. there can be embodiments in which there is no dedicated first memory area in the field device, but instead the interpretable text is forwarded directly to the compiler. The compiler may further be configured to output an error code, e.g., to a display associated with the field device and/or to the device that sent the interpretable text. The error code can include, for example, an indication of a syntax error, an unknown or undefined identification, incorrect or dangerous semantics (which could, for example, disrupt operations of the field device) and/or other messages.

Nachdem der interpretierbare Text als fehlerfrei erkannt, in maschinenlesbaren Code gewandelt und in einem zweiten Speicherbereich des Feldgeräts gespeichert wurde, kann der (neue) maschinenlesbare Code für Berechnungen, für die Steuerung und/oder Weiteres verwendet werden. Damit kann auf einfache und intuitive Weise ein Update einer Funktion, eines Parameters, insbesondere eines Messparameters, und/oder bestimmter Prozeduren oder Erweiterungen vorgenommen werden, ohne die gesamte Feldgeräte-Software ändern zu müssen. Die Änderungen können sich in vielen Fällen auf einen kleinen Teil der Feldgeräte-Software beschränken, insbesondere muss die Basis-Software des Feldgeräts in vielen Fällen nicht geändert werden. Dies kann dazu beitragen, ein Update schneller zu machen, die Wahrscheinlichkeit eines Fehlers durch das Update zu verringern und/oder die „Auszeit“ (Downtime) des Feldgeräts während des Updates zu verringern.After the interpretable text has been recognized as error-free, converted into machine-readable code and stored in a second memory area of the field device, the (new) machine-readable code can be used for calculations, for control and/or more. In this way, a function, a parameter, in particular a measurement parameter, and/or certain procedures or extensions can be updated in a simple and intuitive manner without having to change the entire field device software. In many cases, the changes can be limited to a small part of the field device software; in particular, the basic software of the field device does not have to be changed in many cases. This can help make an update faster, reduce the likelihood of an error from the update, and/or reduce field device "downtime" during the update.

In vielen Ausführungsformen weist das Verfahren den weiteren Schritt auf, während einer Berechnung des Feldgeräts, mittels eines Sprungbefehls zu dem zweiten Speicherbereich zu springen und den maschinenlesbaren Code auszuführen. Der Code in dem zweiten Speicherbereich kann dann z.B. eine Berechnung umfassen, die beispielsweise bei einer Messung ausgeführt wird. Dabei kann z.B. im Auslieferungszustand in diesem Speicherbereich z.B. nur ein Rücksprung enthalten sein. Damit kann eine einfache und zuverlässige Realisierung einer geänderten Berechnung (etc.) realisiert sein.In many embodiments, the method has the further step of jumping to the second memory area by means of a jump instruction during a calculation of the field device and executing the machine-readable code. The code in the second memory area can then, for example, comprise a calculation which is carried out, for example, during a measurement. In the delivery state, for example, this memory area can only contain one return. A simple and reliable implementation of a modified calculation (etc.) can thus be implemented.

In einigen Ausführungsformen wird der Sprungbefehl erst nach einem vollständigen Speichern des maschinenlesbaren Codes in dem zweiten Speicherbereich des Feldgeräts in den zweiten Speicherbereich übertragen. In der Zwischenzeit - insbesondere während der Zeit des Updates - kann der „alte“ Code weiter verwendet werden. Der „alte“ Code kann z.B. nach dem Update gelöscht werden. Diese Schritte können die Downtime des Feldgeräts für das Update weiter verringern.In some embodiments, the branch instruction is only transferred to the second memory area after the machine-readable code has been completely stored in the second memory area of the field device. In the meantime - especially during the update period - the "old" code can continue to be used. The "old" code can, for example, be deleted after the update. These steps can further reduce the downtime of the field device for the update.

In einigen Ausführungsformen weist der interpretierbare Text eine Syntax von JavaScript, Basic, grafischen, ggf. speicheroptimierten Programmiersprachen und/oder XML auf. Dadurch können Änderungen der Parameter (etc.) besonders intuitiv gestaltet werden. Weiterhin können durch die „Anlehnung“ und/oder Verwendung einer bekannten Syntax auf einfachere Weise Compiler, Interpreter, Simulatoren und/oder Emulatoren implementiert werden, welche den interpretierbaren Text in maschinenlesbaren Code wandeln und/oder außerhalb eines Feldgerätes testen können.In some embodiments, the interpretable text has a syntax from JavaScript, Basic, graphical, possibly memory-optimized programming languages and/or XML. This means that changes to the parameters (etc.) can be made particularly intuitively. Furthermore, by “following” and/or using a known syntax, compilers, interpreters, simulators and/or emulators can be implemented in a simpler way, which can convert the interpretable text into machine-readable code and/or test it outside of a field device.

In einigen Ausführungsformen beinhaltet das Senden des interpretierbaren Textes ein Verschlüsseln des Textes. Damit kann vorteilhafterweise das Update vor unerlaubtem Zugriff, insbesondere während des Übertragens, geschützt werden.In some embodiments, sending the interpretable text includes encrypting the text. The update can thus advantageously be protected against unauthorized access, in particular during transmission.

In einigen Ausführungsformen erfolgt das Empfangen des interpretierbaren Textes über eine drahtlose Schnittstelle des Feldgeräts. Die drahtlose Schnittstelle kann z.B. als ein Funkmodul gestaltet sein, das dazu eingerichtet ist, drahtlose Protokolle wie LoRa (Long Range), NB-loT (NarrowBand loT), LTE-M (Long Term Evolution for Machines), oder Telefonie-Protokolle wie z.B. LTE, GSM, GPRS, UMTS, 2G, 3G, 4G, 5G, zu unterstützen, und/oder weitere Kurzstrecken-Protokolle wie z.B. Bluetooth, oder auch RFID-basierte Protokolle wie z.B. NFC (RFID: Radio-Frequency Identification, NFC: Near Field Communication).In some embodiments, the interpretable text is received via a wireless interface of the field device. For example, the wireless interface can be configured as a radio module configured to support wireless protocols such as LoRa (Long Range), NB-loT (NarrowBand loT), LTE-M (Long Term Evolution for Machines), or telephony protocols such as e.g. LTE, GSM, GPRS, UMTS, 2G, 3G, 4G, 5G, and/or other short-range protocols such as Bluetooth, or also RFID-based protocols such as NFC (RFID: Radio-Frequency Identification, NFC: Near Field Communication).

In einigen Ausführungsformen erfolgt das Springen zu dem zweiten Speicherbereich von einer der folgenden Stellen einer Feldgeräte-Software: von einem Eingangsblock, von einem Linearisierungsblock, von einem Skalierungsblock, und/oder von einem Funktionsblock. Damit können zielgenau verschiedene Teile der Feldgeräte-Software unterstützt bzw. ersetzt werden.In some embodiments, jumping to the second memory area occurs from one of the following locations in field device software: from an input block, from a linearization block, from a scaling block, and/or from a function block. This means that various parts of the field device software can be supported or replaced in a targeted manner.

In einigen Ausführungsformen erfolgt ein Rücksprung von dem zweiten Speicherbereich wahlweise zu einer Folgeadresse der Adresse des Springens oder zu einer vordefinierten Sprungmarke. Dadurch können ganze Blöcke der Feldgeräte-Software umgangen bzw. (als Resultat) geändert werden.In some embodiments, a jump back from the second memory area takes place either to a subsequent address of the address of the jump or to a predefined jump label. Entire blocks of field device software can thereby be bypassed or (as a result) changed.

In einigen Ausführungsformen ist der Compiler in einem dritten Speicherbereich des Feldgeräts angeordnet. Der Compiler kann somit vorteilhafterweise Teil der Feldgeräte-Software sein und/oder mit dem Feldgerät ausgeliefert werden.In some embodiments, the compiler is arranged in a third memory area of the field device. The compiler can thus advantageously be part of the field device software and/or be supplied with the field device.

Ein Aspekt betrifft ein Feldgerät, das dazu eingerichtet ist, ein Verfahren wie oben und/oder nachfolgend beschrieben durchzuführen.One aspect relates to a field device that is set up to carry out a method as described above and/or below.

Ein Aspekt betrifft eine Verwendung eines Feldgerätes wie oben und/oder nachfolgend beschrieben zur Füllstandmessung, zur Grenzstandbestimmung, zur Durchflussmessung, zur Druckmessung und/oder zur Temperaturmessung.One aspect relates to the use of a field device as described above and/or below for fill level measurement, limit level determination, flow rate measurement, pressure measurement and/or temperature measurement.

Ein Aspekt betrifft einen Compiler für ein Feldgerät wie oben und/oder nachfolgend beschrieben.One aspect relates to a compiler for a field device as described above and/or below.

Ein Aspekt betrifft ein Programmelement, welches, wenn es auf einem Feldgerät wie oben und/oder nachfolgend beschrieben und/oder auf einer anderen Recheneinheit ausgeführt wird, das Feldgerät und/oder die Recheneinheit anweist, das Verfahren wie oben und/oder nachfolgend beschrieben durchzuführen.One aspect relates to a program element which, when it is executed on a field device as described above and/or below and/or on another processing unit, instructs the field device and/or the processing unit to carry out the method as described above and/or below.

Ein Aspekt betrifft ein computerlesbares Medium, auf dem das hier beschriebene Programmelement gespeichert ist.One aspect relates to a computer-readable medium on which the program element described herein is stored.

Zur weiteren Verdeutlichung wird die Erfindung anhand von in den Figuren abgebildeten Ausführungsformen beschrieben. Diese Ausführungsformen sind nur als Beispiel, nicht aber als Einschränkung zu verstehen.For further clarification, the invention is described using the embodiments shown in the figures. These embodiments are meant to be exemplary only and not limiting.

Figurenlistecharacter list

Dabei zeigt:

  • 1 schematisch ein Feldgerät gemäß einer Ausführungsform;
  • 2 ein Flussdiagramm mit einem Verfahren gemäß einer Ausführungsform;
  • 3 schematisch ein Feldgerät gemäß einer weiteren Ausführungsform;
  • 4 schematisch ein Feldgerät gemäß einer weiteren Ausführungsform.
It shows:
  • 1 schematically a field device according to an embodiment;
  • 2 a flow chart with a method according to an embodiment;
  • 3 schematically a field device according to a further embodiment;
  • 4 schematically a field device according to a further embodiment.

Detaillierte Beschreibung von AusführungsformenDetailed Description of Embodiments

1 zeigt schematisch ein Feldgerät 10 gemäß einer Ausführungsform. Das Feldgerät 10 ist dazu eingerichtet, einen interpretierbaren Text 22 zu empfangen. Der interpretierbare Text 22 kann z.B. mittels eines Editors auf einem Computer 20 erstellt werden. Der Computer 20 kann z.B. als ein Server, als ein mobiles Gerät - z.B. als Laptop, Tablet oder Smartphone - und/oder als ein anderer Typ von Computer ausgeführt sein. Der interpretierbare Text 22 kann z.B. in ASCII und/oder in einer anderen Form codiert sein, die von Personen gelesen werden kann. Der interpretierbare Text 22 kann eine Syntax aufweisen, die gängigen Programmiersprachen - z.B. compilierbaren und/oder interpretierbaren Programmiersprachen - ähnlich ist oder zumindest teilweise gleicht. Der interpretierbare Text 22 kann z.B. auf dem Computer 20 und/oder einem anderen Computer compiliert, simuliert und/oder emuliert werden, beispielsweise um den interpretierbaren Text 22 zu testen und/oder zu debuggen. Der interpretierbare Text 22 kann z.B. drahtlos zu dem Feldgerät 10 übertragen und von diesem empfangen werden. Insbesondere während der Übertragung kann der interpretierbare Text 22 verschlüsselt sein. 1 12 schematically shows a field device 10 according to an embodiment. The field device 10 is set up to receive a text 22 that can be interpreted. The interpretable text 22 can be created on a computer 20 using an editor, for example. The computer 20 can be embodied, for example, as a server, as a mobile device - for example as a laptop, tablet or smartphone - and/or as another type of computer. The interpretable text 22 may be encoded, for example, in ASCII and/or some other human-readable form. The interpretable text 22 may have a syntax that is similar or at least partially the same as common programming languages—eg, compilable and/or interpretable programming languages. The interpretable text 22 can be compiled, simulated, and/or emulated, for example, on the computer 20 and/or another computer, for example to test and/or debug the interpretable text 22 . The interpretable text 22 can, for example, be transmitted wirelessly to the field device 10 and received by it. In particular, the interpretable text 22 can be encrypted during the transmission.

Das Feldgerät 10, das den interpretierbaren Text 22 empfängt, kann den Text 22 in einem ersten Speicherbereich 12 speichern. Ein Compiler 14, der z.B. auf dem Feldgerät 10 installiert sein kann, kann den interpretierbaren Text 22 in einen von dem Feldgerät 10 maschinenlesbaren Code wandeln. Dabei kann der Compiler 14 dazu eingerichtet sein, einen Fehlercode auszugeben, z.B. an eine Anzeige, die mit dem Feldgerät 10 verbunden ist und/oder an das Gerät (z.B. an den Computer 20), das den interpretierbaren Text 22 gesandt hat. Der Fehlercode kann z.B. eine Anzeige eines Syntaxfehlers, eine unbekannte bzw. nicht-definierte Identifikation, eine fehlerhafte oder gefährliche Semantik (die z.B. Abläufe des Feldgeräts stören könnte) und/oder weitere Meldungen umfassen. Nach dem Wandeln kann der maschinenlesbare Code in einem zweiten Speicherbereich 16 des Feldgeräts 10 gespeichert werden. Der zweite Speicherbereich 16 kann mit einer Feldgeräte-Software 18 z.B. in der Weise verbunden sein, dass die Feldgeräte-Software 18 dedizierte Stellen aufweist, bei denen zu dem zweiten Speicherbereich 16 verzweigt wird, um den dort gespeicherten maschinenlesbaren Code auszuführen.The field device 10 that receives the interpretable text 22 can store the text 22 in a first memory area 12 . A compiler 14, which can be installed on the field device 10, for example, can convert the interpretable text 22 into code that the field device 10 can machine-read. In doing so, compiler 14 may be configured to output an error code, e.g., to a display associated with field device 10 and/or to the device (e.g., computer 20) that sent interpretable text 22. The error code can include, for example, an indication of a syntax error, an unknown or undefined identification, incorrect or dangerous semantics (which could, for example, disrupt operations of the field device) and/or other messages. After the conversion, the machine-readable code can be stored in a second memory area 16 of the field device 10 . The second memory area 16 can be connected to field device software 18, e.g. in such a way that the field device software 18 has dedicated locations where a branch is made to the second memory area 16 in order to execute the machine-readable code stored there.

2 zeigt ein Flussdiagramm 40 mit einem Verfahren gemäß einer Ausführungsform. In einem Schritt 41 wird ein interpretierbarer Text 22 (siehe z.B. 1) an das Feldgerät 10 gesandt. Der interpretierbare Text 22 wobei eine Identifikation der zu ändernden Berechnungsdaten, z.B. einen Bezeichner, und eine Berechnungsvorschrift auf. In einem Schritt 42 wird der interpretierbare Text 22 durch das Feldgerät 10 empfangen und in einem ersten Speicherbereich 12 des Feldgeräts 10 gespeichert. In einem Schritt 43 wird der interpretierbare Text 22 durch einen Compiler 14 in einen von dem Feldgerät 10 maschinenlesbaren Code gewandelt und, in einem Schritt 44, in einem zweiten Speicherbereich 16 des Feldgeräts 10 gespeichert. In einem optionalen Schritt 45 wird zu dem zweiten Speicherbereich 16 gesprungen oder verzweigt (Maschinenbefehl BRANCH) und der maschinenlesbare Code ausgeführt. Der Schritt 45 kann mehrfach ausgeführt werden, z. B. bei jeder Berechnung des Feldgeräts 10. Der Schritt 45 kann gewissermaßen den produktiven Einsatz des geänderten Codes darstellen. 2 FIG. 4 shows a flow diagram 40 with a method according to an embodiment. In a step 41, an interpretable text 22 (see e.g 1 ) sent to the field device 10. The interpretable text 22 includes an identification of the calculation data to be changed, for example an identifier, and a calculation rule. In a step 42 the interpretable text 22 is passed through received by the field device 10 and stored in a first memory area 12 of the field device 10 . In a step 43, the interpretable text 22 is converted by a compiler 14 into a code that the field device 10 can machine-read and, in a step 44, is stored in a second memory area 16 of the field device 10. In an optional step 45, a jump or branch is made to the second memory area 16 (machine instruction BRANCH) and the machine-readable code is executed. Step 45 can be performed multiple times, e.g. B. with each calculation of the field device 10. The step 45 can represent the productive use of the changed code to a certain extent.

3 zeigt schematisch ein Feldgerät 10 gemäß einer weiteren Ausführungsform. Das Feldgerät 10 weist ein vorzugsweise unterschiedlichen Funktionsblöcken auf, mit jeweils unterschiedlichen Abarbeitungssequenz bzw. Abarbeitungsroutine. An einem Geräteeingang steht die physikalische Größe P, die z.B. von einem Sensor (nicht dargestellt) des Feldgeräts 10 erfasst wurde, zur Verfügung. Der Sensor kann beispielsweise zur Füllstandmessung, zur Grenzstandbestimmung, zur Durchflussmessung, zur Druckmessung und/oder zur Temperaturmessung eingerichtet sein. Diese Größe P wird über einen Programmablauf c z.B. an einen ersten Funktionsblock oder Modul (Eingang) E weitergeleitet bzw. von diesem Modul verarbeitet. Der Ausgang des Moduls E kann, z.B. über ein weiteren Programmablauf d, an einen Funktionsblock (Linearisierung) L geliefert werden. Anschließend kann ein Programmablauf e die Ausgangswerte an einen Funktionsblock (Skalierung) S weiterleiten. Dessen Ausgangswerte können z.B. über einen Programmablauf f an einen Funktionsblock (Basisfunktion) F1 geleitet werden, und schließlich, über einen Programmablauf g, an einen Funktionsblock (Ausgang) A. Die Werte von A können über einen Programmablauf h an die Ausgangsschnittstelle T des Feldgeräts 10 weitergeleitet werden. Hier kann der berechnete bzw. anderweitig verarbeitete Wert von einem nachgeschalteten System - z.B. SPS (speicherprogrammierbare Steuerung), PLS (Prozessleitsystem), etc. - weiterverarbeitet, übertragen und/oder sonst bearbeitet werden. Das Übertragen kann drahtlos und/oder drahtgebunden stattfinden, z.B. an einen Computer 20 und/oder ein anderes Gerät. 3 FIG. 1 schematically shows a field device 10 according to a further embodiment. The field device 10 preferably has different function blocks, each with a different processing sequence or processing routine. The physical variable P, which was detected, for example, by a sensor (not shown) of the field device 10, is available at a device input. The sensor can be set up, for example, to measure the fill level, to determine the limit level, to measure the flow rate, to measure the pressure and/or to measure the temperature. This variable P is forwarded via a program sequence c, for example, to a first function block or module (input) E or processed by this module. The output of the module E can be supplied to a function block (linearization) L, for example via a further program sequence d. A program sequence e can then forward the output values to a function block (scaling) S. Its output values can be routed via a program flow f to a function block (basic function) F1, and finally, via a program flow g, to a function block (output) A. The values of A can be sent via a program flow h to the output interface T of the field device 10 to get redirected. Here the calculated or otherwise processed value can be further processed, transmitted and/or processed in some other way by a downstream system - eg PLC (programmable logic controller), PLS (process control system), etc. The transmission can take place wirelessly and/or by wire, eg to a computer 20 and/or another device.

Das Feldgerät 10 kann eine weitere Schnittstelle aufweisen, z.B. eine Serviceschnittstelle - die beispielsweise als eine Funkschnittstelle F ausgebildet sein kann - zwischen dem Feldgerät 10 und einem Bedienprogramm auf einem Computer 20. Von dem Bedienprogramm wird ein interpretierbarer Text oder Programmelement 22 an das Feldgerät 10 übermittelt. Dieses Programmelement wird über Programmablauf j an den Compiler C 14 übergeben. Der Compiler C 14 wandelt das Programmelement 22 und leitet dieses in von dem Feldgerät 10 lesbarer und Software-ablauffähiger Form über Programmablauf i an einen Speicherbereich 16 der Gerätesoftware W weiter. Die Gerätesoftware W weist eine Basis-Software 18 auf, die zu dem Speicherbereich 16 verzweigen kann. Damit kann die Gerätesoftware W, unter Nutzung des interpretierbaren Textes oder des Programmelements 22, auf den Programmablauf des Feldgeräts 10 entsprechend eingreifen. Dazu kann die Software geeignete Eingriffspunkte nutzen, z.B. unter Verwendung der Wege k, I, m und/oder n. Dadurch kann die dem Programmelement 22 enthaltene Information in den Softwareablauf des Feldgeräts 10 eingebettet werden.The field device 10 can have another interface, e.g. a service interface - which can be embodied as a radio interface F, for example - between the field device 10 and an operating program on a computer 20. An interpretable text or program element 22 is transmitted to the field device 10 by the operating program . This program element is transferred to compiler C 14 via program flow j. The compiler C 14 converts the program element 22 and forwards it to a memory area 16 of the device software W via program flow i in a form that can be read by the field device 10 and is software-executable. The device software W has basic software 18 which can branch to the memory area 16 . The device software W can thus intervene accordingly in the program sequence of the field device 10 using the interpretable text or the program element 22 . For this purpose, the software can use suitable intervention points, e.g. using the paths k, I, m and/or n. This allows the information contained in the program element 22 to be embedded in the software sequence of the field device 10 .

4 zeigt schematisch ein Feldgerät 10 gemäß einer weiteren Ausführungsform. Dabei wird ein interpretierbarer Text oder Programmelement 22 an das Feldgerät 10 übermittelt, beispielsweise auf dem Weg wie in 3 skizziert. Der interpretierbare Text oder das Programmelement 22 wird über Programmablauf j an den Compiler C 14 übergeben. Der Compiler C 14 wandelt das Programmelement 22 in maschinenlesbaren Code und leitet diesen an die Gerätesoftware, hier dargestellt als erweiterte Funktion F2. Die erweiterte Funktion F2 kann z.B. Programmergänzungen und/oder Informationen zum Einbinden (z.B. Einsprungpunkte) dieser Programmergänzungen an geeigneter Stelle im Programmablauf enthalten. Damit kann die Funktion F2 in einem Programmablauf e eingreifen, die Module S und F1 überspringen und zu einem Programmablauf g verzweigen, so dass diese nun neue Information vom Funktionsblock Ausgang A weiterverarbeitet werden kann. In diesem Beispiel wird somit der Funktionsblock Skalierung S und der Funktionsblock Basisfunktion F1 ablauftechnisch überbrückt und durch die Funktion F2 ersetzt. Das Feldgerät 10 erhält somit eine veränderte, z.B. erweiterte, Funktionalität, die in diesem Beispiel mit Funktionsblock F2 gekennzeichnet wird. 4 FIG. 1 schematically shows a field device 10 according to a further embodiment. An interpretable text or program element 22 is transmitted to the field device 10, for example in the way shown in FIG 3 sketched. The interpretable text or program element 22 is passed to compiler C 14 via program flow j. The compiler C 14 converts the program element 22 into machine-readable code and forwards it to the device software, shown here as an extended function F2. The extended function F2 can contain, for example, program supplements and/or information for integrating (eg entry points) these program supplements at a suitable point in the program flow. The function F2 can thus intervene in a program flow e, skip the modules S and F1 and branch to a program flow g, so that this new information from the function block output A can be further processed. In this example, the function block scaling S and the function block basic function F1 are bridged in terms of process and replaced by function F2. The field device 10 thus receives a modified, for example expanded functionality, which is identified in this example with function block F2.

BezugszeichenlisteReference List

1010
Feldgerätfield device
1212
erster Speicherbereichfirst storage area
1414
Compiler Ccompiler c
1616
zweiter Speicherbereichsecond storage area
1818
Feldgeräte-Softwarefield device software
2020
Computercomputer
2222
interpretierbarer Textinterpretable text
4040
Flussdiagrammflow chart
41-4541-45
Schrittesteps
a - nat
Programmlauf bzw. Schnittstelle zwischen ModulenProgram run or interface between modules
AA
Ausgangsblockoutput block
EE
Eingangsblockinput block
F1F1
Funktionsblock (Basisfunktion)Function block (basic function)
F2F2
Funktionsblock (Erweitert)Function Block (Advanced)
LL
Linearisierungsblocklinearization block
PP
Eingang (physikalisch)input (physical)
SS
Skalierungsblockscaling block
TT
Ausgang (Schnittstelle)output (interface)
WW
Gerätesoftwaredevice software

Claims (15)

Computer-implementiertes Verfahren zum Ändern von Berechnungsdaten eines Feldgeräts (10), mit den Schritten: senden eines interpretierbaren Textes (22) an das Feldgerät (10), wobei der interpretierbare Text (22) eine Identifikation der zu ändernden Berechnungsdaten und eine Berechnungsvorschrift aufweist; empfangen, durch das Feldgerät (10), des interpretierbaren Textes (22) und speichern des Textes (22) in einem ersten Speicherbereich (12) des Feldgeräts (10); wandeln, durch einen Compiler (14), des interpretierbaren Textes (22) in einen von dem Feldgerät (10) maschinenlesbaren Code; und speichern des maschinenlesbaren Codes in einem zweiten Speicherbereich (16) des Feldgeräts (10).Computer-implemented method for changing calculation data of a field device (10), with the steps: sending an interpretable text (22) to the field device (10), the interpretable text (22) having an identification of the calculation data to be changed and a calculation rule; receiving, by the field device (10), the interpretable text (22) and storing the text (22) in a first memory area (12) of the field device (10); converting, by a compiler (14), the interpretable text (22) into code machine-readable by the field device (10); and storing the machine-readable code in a second memory area (16) of the field device (10). Verfahren nach Anspruch 1, mit dem weiteren Schritt: während einer Berechnung des Feldgeräts (10), springen, mittels eines Sprungbefehls, zu dem zweiten Speicherbereich (16) und ausführen des maschinenlesbaren Codes.procedure after claim 1 , with the further step: during a calculation of the field device (10), jump, by means of a jump command, to the second memory area (16) and execute the machine-readable code. Verfahren nach Anspruch 2, wobei der Sprungbefehl erst nach einem vollständigen Speichern des maschinenlesbaren Codes in dem zweiten Speicherbereich (16) des Feldgeräts (10) in den zweiten Speicherbereich (16) übertragen wird.procedure after claim 2 , wherein the branch command is only transferred to the second memory area (16) after the machine-readable code has been completely stored in the second memory area (16) of the field device (10). Verfahren nach einem der vorhergehenden Ansprüche, mit dem weiteren Schritt: simulieren und/oder emulieren des interpretierbaren Textes (22) und/oder des maschinenlesbaren Codes vor dem senden des Textes (22) an das Feldgerät (10), A method according to any one of the preceding claims, further comprising the step of: simulate and/or emulate the interpretable text (22) and/or the machine-readable code before sending the text (22) to the field device (10), Verfahren nach einem der vorhergehenden Ansprüche, wobei der interpretierbare Text (22) eine Syntax von JavaScript, Basic, und/oder XML aufweist.Method according to one of the preceding claims, wherein the interpretable text (22) has a syntax of JavaScript, Basic, and/or XML. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Senden des interpretierbaren Textes (22) ein Verschlüsseln des Textes (22) beinhaltet.A method as claimed in any preceding claim, wherein sending the interpretable text (22) includes encrypting the text (22). Verfahren nach einem der vorhergehenden Ansprüche, wobei das Empfangen des interpretierbaren Textes (22) über eine drahtlose Schnittstelle des Feldgeräts (10) erfolgt.Method according to one of the preceding claims, wherein the interpretable text (22) is received via a wireless interface of the field device (10). Verfahren nach einem der vorhergehenden Ansprüche, wobei das Springen zu dem zweiten Speicherbereich (16) von einer der folgenden Stellen einer Feldgeräte-Software (18) erfolgt: von einem Eingangsblock (E), von einem Linearisierungsblock (L), von einem Skalierungsblock (S), und/oder von einem Funktionsblock (F1, F2).Method according to one of the preceding claims, wherein the jump to the second memory area (16) takes place from one of the following locations of a field device software (18): from an input block (E), from a linearization block (L), from a scaling block (S), and/or from a function block (F1, F2). Verfahren nach einem der vorhergehenden Ansprüche, wobei ein Rücksprung von dem zweiten Speicherbereich (16) wahlweise zu einer Folgeadresse der Adresse des Springens oder zu einer vordefinierten Sprungmarke erfolgt.Method according to one of the preceding claims, wherein a jump back from the second memory area (16) takes place either to a subsequent address of the address of the jump or to a predefined jump label. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Compiler (14) in einem dritten Speicherbereich des Feldgeräts (10) angeordnet ist.Method according to one of the preceding claims, wherein the compiler (14) is arranged in a third memory area of the field device (10). Feldgerät (10), das dazu eingerichtet ist, ein Verfahren nach einem der vorhergehenden Ansprüche durchzuführen.Field device (10) which is set up to carry out a method according to one of the preceding claims. Verwendung eines Feldgerätes (10) nach Anspruch 11 zur Füllstandmessung, zur Grenzstandbestimmung, zur Durchflussmessung, zur Druckmessung und/oder zur Temperaturmessung.Use of a field device (10) according to claim 11 for level measurement, limit level determination, flow rate measurement, pressure measurement and/or temperature measurement. Compiler (14) für ein Feldgerät (10) nach Anspruch 11.Compiler (14) for a field device (10). claim 11 . Programmelement, welches, wenn es auf einem Feldgerät (10) nach Anspruch 11 und/oder auf einer anderen Recheneinheit ausgeführt wird, das Feldgerät (10) und/oder die Recheneinheit anweist, das Verfahren nach einem der Ansprüche 1 bis 10 durchzuführen.Program element, which if it is on a field device (10). claim 11 and/or is executed on another processing unit, the field device (10) and/or the processing unit instructs the method according to one of Claims 1 until 10 to perform. Computerlesbares Medium, auf dem ein Programmelement nach dem vorhergehenden Anspruch gespeichert ist.Computer-readable medium on which a program element according to the preceding claim is stored.
DE102021120177.2A 2021-08-03 2021-08-03 Method for changing calculation data of a field device Ceased DE102021120177A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102021120177.2A DE102021120177A1 (en) 2021-08-03 2021-08-03 Method for changing calculation data of a field device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021120177.2A DE102021120177A1 (en) 2021-08-03 2021-08-03 Method for changing calculation data of a field device

Publications (1)

Publication Number Publication Date
DE102021120177A1 true DE102021120177A1 (en) 2023-02-09

Family

ID=84975050

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021120177.2A Ceased DE102021120177A1 (en) 2021-08-03 2021-08-03 Method for changing calculation data of a field device

Country Status (1)

Country Link
DE (1) DE102021120177A1 (en)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Manjunath, G. et al.: A Small Hybrid JIT for Embedded Systems. In: ACM SIGPLAN Notices Volume 35 Issue 4 April 2000. pp 44–50<https://doi.org/10.1145/346443.346451>
Niesler, C. et al.: HERA: Hotpatching of EmbeddedReal-time Applications. In: Network and Distributed Systems Security (NDSS) Symposium 202121-25 February 2021, VirtualISBN 1-891562-66-5https://dx.doi.org/10.14722/ndss.2021.24159www.ndss-symposium.org
W. Kastner, C. Krügel: „ A New Approach for Java in Embedded Networks "; Vortrag: WFCS, Porto, Portugal; 06.09.2000 - 08.09.2000; in: " Proceedings 3rd IEEE International Workshop on Factory Communication Systems ", (2000), pp. 19 - 27.

Similar Documents

Publication Publication Date Title
DE60017457T2 (en) PROCEDURE FOR ISOLATING AN ERROR IN ERROR MESSAGES
WO2015018579A1 (en) Method for expanding an embedded software component of a field device
WO2004042482A1 (en) Method for the offline parameterisation of a field appliance used in process automation technology
DE102012112842A1 (en) System and method for use in automation technology
WO2010076164A1 (en) Method for transferring parameter data during uploading and/or downloading of parameter settings between field devices and/or a control center
DE102018122411A1 (en) Process for improving the measurement performance of field devices in automation technology
WO2015150164A1 (en) Method for automatic processing of a number of protocol files of an automation system
DE112008003195T5 (en) Electrical circuit with a physical transmission layer diagnostic system
WO2003056423A2 (en) Automated method for generating program modules used for controlling field devices
WO2023041400A1 (en) Method for capturing results of an evaluation, diagnosis and/or check of at least one device functionality of a field device
DE102005032944A1 (en) Method and software system for configuring a modular system
WO2012065808A1 (en) Method for diagnosing a field device
DE102019128156A1 (en) Procedure for checking an FPGA program
DE102021120177A1 (en) Method for changing calculation data of a field device
EP2876514A1 (en) Loop test of the functionality of technical equipment of an industrial process automation system
WO2016087149A1 (en) Method for overwriting a non-volatile memory of a field device
DE102010027963A1 (en) Method for operating field device e.g. pressure measuring device for detecting pressure in process automation engineering, involves providing list of static parameters whose value is changed such that list is read by control tool
DE102009027168B4 (en) Method for determining a transmitted telegram data length
DE112023005303T5 (en) Method, device and system for vehicle simulation tests, as well as equipment and storage medium
DE102018117509A1 (en) Method, device, computer program and computer program product for monitoring an effective chain of an active network of a vehicle
DE112021008077T5 (en) Programmable controller, programmable control system and program
DE102020213809A1 (en) Method for operating a control device when testing software in the control device and method for operating a test computer when testing software in a control device
DE102023115307B3 (en) Method for operating a vehicle, method for developing a unit for a motor vehicle and motor vehicle
EP2618114A1 (en) Retrieval of measurement values, diagnosis information or device parameters
DE102017208143A1 (en) Method for computer-assisted user assistance in the creation of a program for analyzing data of at least one technical system

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final