Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR OPERATING A FIELD DEVICE
Document Type and Number:
WIPO Patent Application WO/2003/044608
Kind Code:
A2
Abstract:
The invention relates to a field device (F1), in which a field device application program is executed in a microprocessor (M). Said field device application program comprises different parts which relate to the individual functions of said field device, for ex. communication, measuring data acquisition and evaluation, as well as a part (M1A) which describes the functionality of said field device (F1). Said part (M1A) of the field device application program is extracted from an intermediate code (Z) by means of an interpreter (J1). For operating said field device (F1) from a control unit (S), said intermediate code (Z) is transmitted to the control unit (S) and executed there. The full functionality of the field device (F) is thus provided to the control unit (S).

Inventors:
DE GROOT VINCENT (DE)
Application Number:
PCT/EP2002/012980
Publication Date:
May 30, 2003
Filing Date:
November 20, 2002
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ENDRESS & HAUSER PROCESS SOLUT (CH)
DE GROOT VINCENT (DE)
International Classes:
G05B19/418; (IPC1-7): G05B19/00
Domestic Patent References:
WO2000077592A22000-12-21
Foreign References:
EP0913750A11999-05-06
EP1022626A22000-07-26
US4730258A1988-03-08
Other References:
VAWTER, C AND ROMAN, E: "J2EE vs. Microsoft.NET" INTERNET ARTICLE, [Online] 30. Juni 2001 (2001-06-30), XP002267815 Gefunden im Internet: [gefunden am 2004-01-22]
MEYER B: "NET IS COMING" COMPUTER, IEEE COMPUTER SOCIETY, LONG BEACH., CA, US, US, Bd. 34, Nr. 8, August 2001 (2001-08), Seiten 92-97, XP001103942 ISSN: 0018-9162
VASILAKY, W: "Background" INTERNET ARTICLE, [Online] 11. September 2001 (2001-09-11), XP002267816 Gefunden im Internet: [gefunden am 2004-01-22]
ANONYMOUS: "MICROSOFT.NET MARKET BULLETIN, The Middleware Company Shows Their Bias" INTERNET ARTICLE, [Online] 31. Juli 2001 (2001-07-31), XP002267817 Gefunden im Internet: [gefunden am 2004-01-22]
Attorney, Agent or Firm:
Andres, Angelika (PatServe Colmarer Strasse 6, Weil am Rhein, DE)
Download PDF:
Claims:
Patentansprüche
1. Verfahren zum Fernbedienen und/oder Fernsteuern eines Feldgerätes F1 mittels eines Bediengerätes S über einen Datenbus D mit folgenden Verfahrenschritten : (7) Speichern eines die Funktionalität des Feldgerätes F1 beschreibenden Zwischencodes Z im Feldgerät F1 (8) Umwandlung des Zwischencodes Z mit einem Interpreter J1 in einen FeldgeräteMaschinencode, der Teil eines FeldgeräteApplikationsprogramms ist (9) Übertragung des Zwischencodes Z zum Bediengerät S (10) Umwandlung des Zwischencodes Z mit einem Interpreter J2 in einen BediengeräteMasschinencode, der Teil eines Bediengeräte Applikationsprogramms ist, so daß die identische Funktionalität des Feldgeräts F1 im Bediengerät zur Verfügung steht (11) Übertragung der FeldgeräteParameter zum Bediengerät S (12) Ausführen des BediengeräteApplikationsprogramms.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß als Zwischencode Z die Sprache MSIL (MicrosoftX Intermidiate Language) verwendet wird.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß der Zwischencode Z mit einem entsprechenden Compiler aus einer der Programmiersprachen C#, C/C++, Visual Basic, Java Script, erzeugt wird.
4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der Zwischencode Z für eine Laufzeitumgebung auf Microsoft@Plattform geeignet ist.
5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß das Bediengerät S ein Handbediengerät ist.
6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß das Bediengerät S ein Leitsystem L ist.
7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß das Bediengerät S tragbarer Rechner (Laptop) ist.
Description:
Verfahren zum Bedienen eines Feldgerätes Die Erfindung bezieht sich auf ein Verfahren zum Bedienen eines Feldgerätes.

In der Automatisierungstechnik werden häufig Feldgeräte eingesetzt, die zur Erfassung und/oder Beeinflussung von Prozeßvariablen dienen. Beispiele für derartige Feldgeräte sind Füllstandsmessgeräte, Massedurchflußmesser, Druckmesser, Temperaturmesser etc., die die entsprechenden Prozeßvariablen Füllstand, Massedurchfluß, Druck bzw.

Temperatur erfassen.

Zur Beeinflussung von Prozeßvariablen dienen sogenannte Aktoren, die z. B. als Ventile den Durchfluß einer Flüssigkeit in einem Rohrleitungsabschnitt beeinflussen.

Die Feldgeräte sind in der Regel über einen Datenbus mit einem Leit-bzw.

Engineeringsystem verbunden, das den gesamten Prozeßablauf steuert bzw. einen direkten Zugriff auf die einzelnen Feldgeräte ermöglicht. Durch den direkten Zugriff können Einstellungen am Feldgerät geändert werden oder spezielle Diagnosefunktionen aufgerufen werden. Neben dem Zugriff über das Leitsystem ist auch ein zeitweiliger Zugriff über z. B. ein tragbares Handbediengerät (handheld) tragbaren Rechner oder ein Handy möglich.

Im Leitsystem werden die Meßwerte der verschiedenen Prozeßvariablen ausgewertet bzw. überwacht und die entsprechenden Aktoren zur Prozeßbeeinflussung entsprechend angesteuert.

Die Datenübertragung zwischen Feldgerät und Leitsystem erfolgt nach den bekannten internationalen Standards für Feldbusse, wie z. B. Hart, Foundation Fieldbus, Profibus, CAN etc.

Bei heutigen Automatisierungsanlagen werden häufig eine Vielzahl von Feldgeräten der unterschiedlichsten Hersteller eingesetzt.

Vor der Inbetriebnahme bzw. auch während des Betriebs müssen Einstellungen an den Feldgeräten erfolgen. Hierfür stellen die einzelnen Feldgerätehersteller jeweils Bedien- bzw. Konfigurationsprogramme zur Verfügung. Diese Programme sind herstellerspezifisch und erlauben meist nur den Zugriff auf die Feldgeräte des jeweiligen Herstellers. Der Zugriff auf Fremdgeräte ist nur bedingt möglich.

Um die Bedienung verschiedener Feldgeräte vom Bediengerät aus zu ermöglichen, muß dem Bediengerät die Funktionalität des Feldgerätes bekannt sein. Die Funktionalität des Feldgerätes wird bestimmt durch das Feldgeräte- Applikationsprogramm, das im Feldgerät abläuft.

Die Funktionalität des Feldgerätes wird bisher mittels einer Gerätebeschreibung (Device Description) beschrieben. Hierfür steht eine spezielle Sprache, die Device Description Language zur Verfügung. Mittels dieser standardisierten Sprache kann anderen Busteilnehmern insbesondere dem Leitsystem oder einem anderen Bediengerät, die notwendige Information über die Funktionalität bestimmter Feldgeräte übermittelt werden.

Nachteilig hierbei ist, daß die Device Descriptions zusätzlich und unabhängig vom Feldgeräteprogramm geschrieben werden muß. Dies bedeutet zusätzlichen Programmieraufwand.

Bei Programmänderungen muß auch die Device Description des Feldgerätes geändert werden.

Ein weiterer Nachteil ist, daß zwischen Feldgeräteprogramm und Device Description Inkonsistenzen möglich sind. Die Device Description muß die Funktionalität des Feldgerätes nicht zwangsläufig exakt wiedergeben.

Aus der eigenen Anmeldung EP-0913 750, Anmeldetag 31.10. 1999 ist eine Anordnung zum Bedienen eines Feldgerätes bekannt, bei der ein Java-Byte-Code sowohl im Feldgerät als auch im Bediengerät abläuft.

Nachteilig hierbei ist, daß man auf eine bestimmte Programmiersprache (Java) bei der Erstellung des Feldgeräteprogramms eingeschränkt ist.

Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren vorzuschlagen, das eine sichere und einfache Bedienung eines Feldgerätes von einem Bediengerät aus ermöglicht, ohne daß eine Einschränkung auf eine bestimmte Programmiersprache erfolgt.

Gelöst wird diese Aufgabe durch ein Verfahren zum Fernbedienen und/oder Fernsteuern eines Feldgerätes mittels eines Bediengerätes über einen Datenbus mit folgenden Verfahrenschritten : (1) Speichern eines die Funktionalität des Feldgerätes beschreibenden Zwischencodes im Feldgerät (2) Umwandlung des Zwischencodes mit einem Interpreter in einen Feldgeräte- Masschinencode, der Teil eines Feldgeräte-Applikationsprogramms ist (3) Übertragung des Zwischencodes zum Bediengerät (4) Umwandlung des Zwischencodes mit einem Interpreter in einen Bediengeräte- Masschinencode, der Teil eines Bediengeräte-Applikationsprogramms ist, so daß die identische Funktionalität des Feldgeräts im Bediengerät zur Verfügung steht (5) Übetragung der Feldgeräte-Parameter zum Bediengerät (6) Ausführen Bediengeräte-Applikationsprogramm.

Die wesentliche Idee der Erfindung besteht darin, daß ein identischer Zwischencode im Feldgerät und im Bediengerät verwendet wird. Somit steht dem Bediengerät die volle Funktionalität des Feldgerätes ohne den Einsatz von Device Descriptions zur Verfügung. Der Zwischencode kann aus den verschiedensten Programmiersprachen erzeugt werden. Eine Einschränkung auf eine bestimmte Programmiersprache ist nicht mehr gegeben.

Daduch daß nur ein gewisser Teil des Feldgeräte-Applikationsprogramms, der die Funktionalität des Feldgerätes betrifft über den Zwischencode erzeugt wird, ist der Speicherbedarf und der Kompilieraufwand auf das notwendigste beschränkt.

In einer Weiterentwicklung der Erfindung wird als Zwischencode MSIL (MicrosoftS Intermidiate Language) eingesetzt.

In vorteilhafter Weise wird der Zwischencode mit einem entsprechenden Compiler aus einer der Programmiersprachen C#, C/C++, Visual Basic, Java Script etc. erzeugt.

In einer Weiterentwicklung der Erfindung ist der Zwischencode für eine Laufzeitumgebung auf Microsoft@-Plattform geeignet.

Bei dem Bediengerät kann es sich in vorteilhafter Weise um einen PC, ein Leitsystem, ein Handbediengerät oder um ein Funktelefon (Handy) handeln.

Die Erfindung wird anhand der nachfolgenden Zeichnungen näher erläutert. Es zeigt : Fig. 1 : Prinzipdarstellung einer Automatisierungsanlage Fig. 2 : Software-relevante Funktionsblöcke eines Feldgerätes nach Fig 1 Ein Leitsystem L ist über einen Datenbus D mit mehreren Feldgeräten F1, F2, F3 etc. verbunden. Bei den Feldgeräten F1-F3 kann es sich z. B. um Druckmesser, Temperaturmesser oder Durchflußmesser etc. handeln.

Das Leitsystem L kommuniziert über den Datenbus D mit dem jeweiligen Feldgerät z. B.

F1. So können Daten zwischen dem Feldgerät F1 und dem Leitsystem L übertragen werden.

Die Datenkommunikation auf dem Datenbus D erfolgt nach den entsprechenden internationalen Standards wie z. B. Profibus, CAN oder FF.

Die Fernsteuerung und/oder Fernbedienung kann von einem Bediengerät S aus über den Datenbus D erfogen. Als Bediengerät S kommen in Frage ein tragbarer Rechner, der entweder direkt an das Feldgerät oder an den Datenbus angeschlossen ist, das Leitsystem L selbst, Handbediengeräte oder Funktelefone, die einen Datenaustausch mit dem Feldgerät ermöglichen.

Nachfolgend ist das erfindungsgemäße Verfahren anhand Fig. 2 näher erläutert.

In Fig. 2 sind nur die Software-relevanten Funktionsblöcke des Feldgerätes F1 und des Bediengeräts dargestellt. Alle weiteren Funktionsblöcke wie z. B. Meßwertaufnehmer, Vororbedienung, Datenbusschnittstelle etc. des Feldgerätes sowie die entsprechenden Funktionsblöcke des Bediengerätes wie z. B. Bedienelemente oder Datenbusschnittstelle sind der Übersichtlichkeit halber wegeglassen.

Das Feldgeräte-Applikationsprogramm, das in der Regel von einem Entwickler beim Feldgerätehersteller erstellt wird, besteht im wesentlichen aus zwei Teilen, nämlich eine die Funktionalität des Feldgerätes beschreibenden Programmteil A (parameter business logic source code) und einem Programmteil B (support and realtime source code).

Beide Programmteile A und B können in einer der bekannten Programmiersprachen z. B. C#, C/C++, Visual Basic, Java Script etc. geschrieben sein.

Aus dem Programmteil A wird mit einem entsprechenden Kompiler (z. B. C# copier) ein Zwischencode Z erzeugt in einem Speicher S1 im Feldgerät F1 abgespeichert.

Aus dem Programmteil B wird mit einem entsprechenden Kompiler (z. B. C compiler) ein Maschinencode M1 B erzeugt und in einem Speicher S2 des Feldgerätes F1 abgespeichert.

Aus dem Zwischencode Z wird mit Hilfe eines entsprechenden Interpreters J1 (z. B. Just in Time) ein Maschinencode M1A erzeugt.

Beide Maschinencodes M1A und M1 B werden im Mikroprozessor M1 ausgeführt und bilden das Feldgeräte-Applikationsprogramm FA.

In einem zusätzlichen Speicher S3 sind alle persistenten Daten z. B. die Parameterwerte des Feldgerätes F1 abgespeichert.

Um eine Fernbedienung und/oder eine Fernsteuerung des Feldgerätes F1 von einem Bediengerät S aus zu ermöglichen, muß dem Bediengerät S die Funktionalität des Feldgerätes F1 bekannt sein. Hierfür wird der Zwischencode Z zum Bediengerät S übertragen und in einem Speicher S4 abgespeichert.

Bei dem Bediengerät S kann es sich z. B. um das Leitsystem L, einen tragbaren Rechnereinheit (Laptop) oder ein Handbediengerät (handheld) oder ein Funktelefon handeln. Die Übertragung des Zwischencodes Z kann entsprechend über den Datenbus D oder über einen Direktanschluß am Feldgerät oder über Funk erfolgen.

Die Grundfunktionen (tool core functionalities) sind in einem Maschinencode M2A in einem Speicher S5 abgespeichert.

Aus dem Zwischencode Z wird mit Hilfe eines entsprechenden Interpreters J2 (z. B. Just in Time) ein Maschinencode M2B erzeugt.

Im Mikroprozessor M2 werden die beiden Maschinencodes M2A und M2B, die das Bediengeräte-Applikationsprogramm SA bilden, ausgeführt. Die zur Ausführung des Programms SA benötigten Parameterwerte des Feldgerätes F1 werden ebenfalls ans Bediengerät S übertragen und in einem Speicher S6 abgespeichert.

Durch ausführen des Bediengeräte-Applikationsprogramms SA kann eine Fernbedienung und/oder eine Fernsteuerung des Feldgerätes F1 vom Bediengerät S aus erfolgen.

Dem Bediengerät S steht die volle Funktionalität des Feldgerätes F1 zur Verfügung.

Als Zwischencode Z ist MSIL (Microsoft@ Intermediate Language) bevorzugt denkbar.

Der Zwischencode Z sollte für eine Microsoft Laufzeitumgebung geeignet sein.