Beschreibung
Automatisiertes Verfahren zum Erzeugen von Prograrrrmmodulen zur Steuerung von Feldgeräten aus einer maschinenlesbaren parametrisierten Beschreibung der Feldgeräte
Die Erfindung betrifft ein automatisiertes Verfahren zum Erzeugen von Programmmodulen zur Steuerung von Feldgeräten aus einer maschinenlesbaren parametrisierten Beschreibung der Feldgeräte, die auf einer Steuerungseinheit zur Steuerung der Feldgeräte verwendet wird, wobei die Feldgeräte jeweils Kontrollvorrichtungen mit zumindest einem Mikroprozessor, mit zumindest einem elektronischen Speichermittel sowie mit Da- tenein- und -ausgabemitteln zur Kommunikation mit der Steue- rungseinheit umfassen.
Geräte zum Messen und Stellen, Aufzeichnen und Regeln bilden den wesentlichen Teil eines Systems zur Automatisierung von industriellen Prozessen. Diese Geräte werden insgesamt unter dem Begriff Feldgeräte zusammengefasst . Als Messgerät dienen sie insbesondere der Erfassung und Wiedergabe von für die Produktion zentralen Größen wie Druck, Durchfluss, Füllstand und Temperatur. Als Stellungsregler besitzen sie oft die Funktionalität eines Ventils, wobei entweder eine kontinuier- liehe oder diskrete Steuerung der Durchflussmenge ermöglicht werden kann.
In der Praxis werden bei den häufig anzutreffenden Messungs- Feldgeräten zwei Bestandteile unterschieden. Der sogenannte Messaufnehmer umfasst sämtliche Vorrichtungen sowie Messinstrumente, die zur Erzeugung eines Roh-Messergebnisses erforderlich sind. Bei einem Durchschlussmesser sind dies etwa das Messrohr selbst sowie Messsonden, beispielsweise Elektroden, die unter Umständen in die Rohrauskleidung eingelassen sind. Der meist daran angeschlossene sogenannte Messumformer als zweites Bestandteil dient im wesentlichen einer ersten Verarbeitung der von dem Messaufnehmer zur Verfügung gestellten
Ausgangsdaten. Bestimmte einfache Signalverarbeitungsaufgaben, wie etwa die Selbstüberwachung des Systems oder die Kalibrierung und Dämpfung der Messwerte können hier noch innerhalb des Feldgeräts selbst durchgeführt werden. Daneben sind in dem Messumformer üblicherweise auch Mittel zur Fernsteuerung des Feldgeräts vorgesehen, so dass sowohl die aufbereiteten Messdaten weitergeleitet werden können als auch durch eine externe Steuerungseinheit Betriebszustände des Feldgeräts verändert werden können.
Diese Zweiteilung der Feldgeräte in ein ausführendes Gerät (Messaufnehmer) einerseits und ein Umformungsgerät (Messumformer) andererseits ist aber nicht nur bei Messungs-Feldge- räten üblich, sondern durchaus bei den meisten Typen moderner Feldgeräten. Zwar wäre eine getrennte Fertigung und Vermarktung der beiden Bestandteile nicht notwendig, aus der Existenz eines Umformungsgeräts lässt sich allerdings ein entscheidendes Charakteristikum moderner Feldgeräte erkennen: Diese besitzen zu einem bestimmten Grad Datenverarbeitungska- pazität und können daher auch intelligente Feldgeräte genannt werden.
In dieser Eigenschaft finden die besonderen Bedürfnisse komplexer Anlagenstrukturen ihren Niederschlag. Je vielfältiger und flexibler einerseits die Steuerungsmöglichkeiten werden, je höher andererseits die Ansprüche an Präzision und Zuverlässigkeit geraten, desto größer werden die zur Steuerung von Automatisierungssystemen erforderlichen Datenmengen. Oft stellt sich dabei das benutzte Bussystem als Engpass heraus, dessen Kapazität letztlich einzig für die erreichte Maximalgeschwindigkeit der Datenverarbeitung verantwortlich ist. Von daher resultiert die Tendenz, die Datenverarbeitung möglichst zu dezentralisieren und die Menge der transportierten Daten auf ein Minimum zu reduzieren.
Diese Dezentralisierung der Datenverarbeitung stellt nicht zuletzt besondere Anforderungen an die zum Einsatz kommenden
Feldgeräte und führt auch zur Entwicklung der genannten Umformungsgeräte wie die Messumformer. Allgemeiner gesprochen ist in intelligenten Feldgeräte heute üblicherweise eine Kontrollvorrichtung vorgesehen: Diese dient einerseits dazu, die elektrischen Ausgangssignale der in dem Feldgerät zum Einsatz kommenden Mess-, Regel- oder Stellinstrumente auszulesen, aufzuarbeiten oder zu erzeugen. Andererseits kann mit Hilfe der Kontrollvorrichtung eine Verbindung zu einer internen oder externen Steuerungseinheit hergestellt werden.
Zur Fernsteuerung der Feldgeräte kommen bereits seit längerem sogenannte Hand-held-Terrαinals zum Einsatz, die üblicherweise mittels des sogenannten Hart-Protokolls über den Feldbus mit den Feldgeräten kommunizieren. Immer häufiger werden aber auch an den Feldbus angeschlossene Computer eingesetzt, deren Kommunikation ebenfalls auf dem Hart-Protokoll oder aber auf den moderneren Profibus-Protokollen (Profibus-DP, Profibus- PA) beruht. Die Verbindungen der Computer mit dem Feldbus werden dabei über sogenannte Koppelmodule hergestellt.
Um den zum Teil umfangreichen Einsatzbereich der modernen intelligenten Feldgeräte abzudecken, müssen die genannten Fernsteuerungseinheiten typischerweise die folgenden Aufgaben erfüllen können. Vornehmlich gilt es, die für den Betrieb des Feldgeräts erforderlichen Parameter einzustellen und zu verändern. Die von dem Feldgerät empfangenen Daten müssen auf Plausibilität geprüft werden sowie mit älteren Daten vergleichbar sein. Schließlich ist es wünschenswert, das Verhalten des Feldgeräts unter bestimmten Vorgaben simulieren zu können.
Zur Erfüllung dieser Aufgaben ist erforderlich, dass der Steuerungseinheit bestimmte Daten zur Verfügung gestellt werden, die die Eigenschaften des Feldgeräts repräsentieren. Dies geschieht häufig über eine maschinenlesbare pararαetri- sierte Beschreibung des Feldgerätes. Ein bekanntes Beispiel für eine solche Beschreibung ist die sogenannte Device Des-
cription Language (DDL) . Diese besteht aus einer Auflistung von Variablen und Menüs, denen jeweils bestimmte für das jeweilige Feldgerät spezifische Attribute zugewiesen werden. Die Variablen beschreiben dabei Parameter, die zur Steuerung des Feldgeräts oder zum Auslesen seiner Messwerte erforderlich sind. Die Menüs beschreiben eine Strukturierung der Bedienung, die zur Erfüllung der Steuerungsaufgaben erforderlich oder zumindest nützlich ist. Die so beschriebene para e- trisierte Beschreibung kann unmittelbar von den Hand-held- Terminals oder von einer PC-basierten Software gelesen und interpretiert werden. Damit wird es möglich, die für eine Vielzahl von Feldgeräten einsetzbare universelle Steuerungssoftware mit den Daten der spezifischen Eigenschaften eines bestimmten Feldgeräts auszufüllen. Die Umsetzung der parame- trisierten Beschreibung in ein lauffähiges Steuerungsprogramm erfordert also auf der Seite des Steuerungsgeräts keine weiteren, von Hand vorzunehmenden, Schritte.
Eine derartige automatisierte Umsetzung der parametrisierten Beschreibung ist auf Seiten der Feldgeräte im Stand der Technik nicht bekannt.
Allerdings ist es auch hier erforderlich, Programmmodule zu erzeugen, die in der Kontrollvorrichtung des Feldgeräts ge- speichert sind und bei deren Ausführung die erforderlichen
Steuerungsaufgaben wahrgenommen werden (Firmware) . Unter diesen Programmmodulen lassen sich typischerweise zwei Blöcke unterscheiden. In einem allgemeinen Analog-Input-Block werden die Lösungen verschiedener Aufgabenstellungen zusammenge- fasst, die beinahe bei allen unterschiedlichen Feldgeräten anfallen. Solche allgemeinen Aufgaben bestehen beispielsweise in dem Abfragen und Weiterleiten einer Dämpfungsgroße für die anstehende Messung, in der Regelung einer Grenzwertüberwachung, in der Umskalierung des von dem Messsensor ausgegebe- nen Datenwerts sowie schließlich im Zurrverfügung stellen eines bestimmten Ausfallwerts, der für den Fall einer fehlerhaften Grenzwertüberschreitung als Ersatzwert dient und damit
gewährleistet, dass der gesteuerte Prozess sicher weiterlaufen kann. In einem zweiten, Transducer genannten, Programmmodulblock werden alle Prozeduren zusammengefasst, die für den besonderen Feldgerätetyp spezifisch sind.
Die Software dieser beiden Blöcke muss bei den im Stand der Technik vorhandenen Lösungen stets werksseitig von dem Hersteller jedes neuen Feldgerätetyps individuell erstellt werden. Dabei können die Entwickler zwar im Rahmen des Analog- Input-Blocks weitgehend auf vorhandene Prozeduren aufbauen. Dies verhindert jedoch grundsätzlich nicht, dass die mit jeder Neuerstellung von Software verbundenen Probleme auch hier zu Tage treten. Diese bestehen hier nicht nur in den üblichen Anforderungen an ein fehlerfreies, lauffähiges, sicheres so- wie zur Wartung gut dokumentiertes Programm.
Insbesondere gilt es nämlich, die auf den Feldgeräten ausführbaren Programmmodule konsistent zu den Programmen der Steuerungseinheiten zu gestalten. Inkonsistenten zwischen Firmware und Steuerungseinheit können, wenn überhaupt, nur sehr aufwendig durch umfangreiche Tests festgestellt und behoben werden. Denn sie führen nicht notwendigerweise zu abfangbaren Fehlermeldungen oder Systemabstürzen, sondern können möglicherweise lediglich das Ausgangssignal in einer Wie- se verfälschen, die es dem Personal äußerst schwierig macht, die Ursache festzustellen. Liegt etwa in dem Programrαmodul, das eine Umskalierung der von dem Sensor gelieferten Daten vornimmt, ein Vorzeichenfehler vor, so wird dieser falsche Messwert zunächst an die Steuerungseinheit weitergeleitet. Falls der falsche Messwert noch in einem theoretisch denkbaren Bereich liegt, so muss der Fehler nicht bemerkt werden, sondern das Bedienpersonal kann sich unter Umständen lediglich dazu veranlasst sehen, bestimmte Maßnahmen zur Korrektur des Wertes vorzunehmen, die bei Kenntnis des wahren Messwer- tes nicht erforderlich wären. Liegt der Messwert außerhalb des denkbaren Bereichs, so werden Fehlerursachen häufig zu-
erst im Bereich der eingesetzten kommenden Hardware gesucht werden.
Ein weiterer Nachteil dieser gesonderten Entwicklung der Firmware besteht darin, dass der Entwickler üblicherweise ausgeht von einer Spezifikation des Feldgeräts, die textuell als Dokumentation der Feldgeräteigenschaften niedergelegt wurde. Es wird also von dem Softwareentwickler zusätzlich eine Interpretation dieser Beschreibung erfordert, was beinahe regelmäßig mit zusätzlichen Ungenauigkeiten und Fehlern verbunden ist.
Im Stand der Technik bekannt sind also lediglich Verfahren, bei denen die Programmmodule zur Steuerung der Steuerungsein- heit einerseits sowie der Feldgeräte andererseits getrennt voneinander erstellt werden. Diese Lösungen sind naheliegend und erscheinen nur konsequent, da die Systemvoraussetzungen der beiden Einheiten unterschiedlich sind. Dies betrifft nicht nur die Hardware-Bauteile, sondern auch die Betriebs- Systeme des Hand-held-Terminals bzw. Computers einerseits bzw. des Mikroprozessors der Feldgeräte andererseits.
Ausgehend von diesem Stand der Technik stellt sich die Erfindung die Aufgabe, ein automatisiertes Verfahren zum Erzeugen von Prograrranmodulen zur Steuerung von Feldgeräten zu schaffen, das eine eigenständige Erstellung der Firmware umgeht und damit prinzipiell verhindert, dass Inkonsistenzen zwischen den Programmmodulen der Steuerungseinheiten sowie der Feldgeräte auftreten können.
Die Erfindung löst diese Aufgabe mit einem automatisierten Verfahren mit den in Anspruch 1 wiedergegebenen Merkmalen.
Das Verfahren geht aus von der maschinenlesbaren parametri- sierten Beschreibung der Feldgeräte, die auf einer Steuerungseinheit zur Steuerung der Feldgeräte verwendet wird. Eine solche parametrisierte Beschreibung ist bereits im Stand
der Technik bekannt und kann, wie oben gezeigt wurde, meist unmittelbar von den Steuerungsprogrammen interpretiert werden. Erfindungsgemäß werden die in der Beschreibung enthaltenen Parameter des Feldgeräts sowie die durch die Beschreibung definierten steuerungsrelevanten Eigenschaften der jeweiligen Parameter erkannt. Diese sind der Datentyp, die Größe, die Menge der erlaubten Werte bzw. der erlaubte Wertebereich. Zudem werden für zumindest einen der erkannten Parameter Programmmodule für die Kontrollvorrichtung des Feldgeräts er- zeugt, die von dem Mikroprozessor des Feldgeräts ausführbar sind. Erstens ist es möglich, Definitionsmodule zu erzeugen, die für den jeweiligen Parameter bestimmte Segmente des Speichermittels, den Datentyp, und/oder die Größe festlegen. Zweitens können auch Zugriffsmodule erzeugt werden, die für den jeweiligen Parameter den Zugriff der Kontrollvorrichtung auf das zugehörige Speichersegment regeln sowie die Kontrollvorrichtung bei dem Parameterzugriff zur Ausführung anderer Programmmodule veranlassen.
Durch die automatische Erzeugung dieser beiden Typen von Pro- grarrrmmodulen wird die Kernaufgabe des Entwicklers der Firmware erfüllt. Auf dem Speichermittel des Feldgeräts werden Segmente festgelegt, die dem jeweiligen Betriebsparameter des Feldgeräts entsprechen. Im Zugriffsmodul wird sodann der Zu- griff der Kontrollvorrichtung des Feldgeräts auf den jeweiligen Parameterwert geregelt.
Indem die Erfindung an einer maschinenlesbaren parametrisierten Beschreibung der Feldgeräte ansetzt, greift sie zurück auf ein Funktionsmodul, das bei den bekannten Verfahren ohnehin für jeden Feldgerätetyp erstellt wird und auf den Fernsteuerungseinheiten zum Einsatz gelangt. Solche Beschreibungen der Feldgeräte werden dort dazu benutzt, den Steuerungsprogrammen Daten und Informationen über die Spezifikation des zu steuernden Feldgeräts zur Verfügung zu stellen. Indem die Erfindung im weiteren die in einer solchen Beschreibung enthaltenen Parameter und ihre steuerungsrelevanten Eigenschaf-
ten analysiert und daraus Programmmodule für die Kontrollvorrichtung des Feldgeräts erzeugt, macht sie eine eigenständige manuelle Programmierung dieser Module unnötig. Dabei liegen die Vorteile eines solchen automatisierten Vorgehens bei der Erstellung dieser Firmware nicht nur in der Zeitersparnis und Präzision bei der Programmentwicklung. Vielmehr können damit auch Inkonsistenzen zwischen den beteiligten Steuerungspro- grammen wirkungsvoll vermieden werden: Die auf dem Mikroprozessor der Feldgeräte laufenden Programmmodule basieren auf derselben Parameterspezifikation, die auch dem Ablaufprogramm der Steuerungseinheit zugrunde liegen.
In einer vorteilhaften Ausführungsform der Erfindung kann zusätzlich für zumindest einen Parameter ein von dem Zugriffs- modul aufrufbares Eingabekontrollmodul erzeugt werden, das bei einer Parameteränderung überprüft, ob der Parameterwert innerhalb der Menge der erlaubten Werte bzw. innerhalb des erlaubten Bereichs liegt. Im weiteren kann sodann vorteilhaft eine Fehlermeldung erzeugt werden, falls der jeweilige Para- meterwert diese Konsistenzprüfung nicht bestanden hat. Solche Eingabekontrollmodule, die die Eingabe eines Steuerungswertes auf ihre Konsistenz überprüfen, sind zwar häufig bereits in der allgemeinen Steuerungssoftware der Steuerungseinheiten vorgesehen. Dem Benutzer kann hier bei einer fehlerhaften Eingabe unmittelbar eine Fehlermeldung angezeigt werden und er kann aufgefordert werden, eine Neueingabe vorzunehmen. Von daher erreicht man mit zusätzlichen automatisiert erstellten Eingabekontrollmodulen auf der Seite der Feldgeräte selbst zunächst nur eine zusätzliche Sicherheit. Ihre volle Wirksam- keit entfalten diese Module allerdings im Rahmen eines „stand alone-Betriebs* des Feldgeräts. Wie oben bereits gezeigt wurde, sind manche Feldgeräte nicht nur für den Betrieb unter Fernsteuerung vorgesehen, sondern zusätzlich mit einem Display sowie Eingabeeinrichtungen versehen, die es erlauben, Betriebszustände unmittelbar am Feldgerät selbst einzustellen. Für diesen Bedienungsmodus muss das Feldgerät und seine Firmware die Konsistenzprüfung von eingegebenen Werten selbst
vornehmen, was Eingabekontrollmodule der genannten Art auch als Bestandteil der Firmware erfordert.
In einer weiteren vorteilhaften Ausführungsform wird für zu- mindest einen Parameter ein Bezeichnungsmodul erzeugt, das eine Bezeichnung des Parameters auf dem Speichermittel speichert und einen Zugriff auf den Parameter unter dieser Bezeichnung ermöglicht. Erst durch die Verbindung eines internen Variablennamens mit einer erläuternden Bezeichnung, wird eine benutzerfreundliche Bedienung des Feldgeräts möglich.
Bei einer Fernsteuerung kann eine solche Verbindung zwar, wie im Stand der Technik üblich, von der auf der Steuerungseinheit laufenden Software vorgenommen werden. Aber auch diesbezüglich gilt es, einen komfortablen und bedienerfreundlichen „stand alone-Betrieb* zu ermöglichen.
Die Erfindung wird im folgenden anhand der beigefügten Abbildungen beispielhaft näher beschrieben:
Figur 1 zeigt ein System zur Überwachung und Steuerung des
Durchflusses einer Flüssigkeit durch das Rohr 1, bei dem zwei Feldgeräte zum Einsatz kommen: Ein Durchflussmesser 2 sowie ein kontinuierlich regelbares Ventil 3. Diese Feldgeräte sind über den Feldbus 4 mit den Steuerungseinheiten 5, β.verbun- den, wobei 5 ein Hand-Held-Terminal und 6 einen handelsüblichen Personalcomputer darstellt. Zur Kommunikation ist die Datenleitung zwischen dem Feldbus 4 und dem Computer 6 mit einem Koppelmodul 7 versehen. Auf beiden dieser Steuerungseinheiten können wahlweise sämtliche Steuerungs- und Überwa- chungsaufgaben wahrgenommen werden. Insbesondere können die von den Feldgeräten ausgesendeten Daten empfangen und wiedergegeben werden, so dass sich das Bedienpersonal einen zuverlässigen Eindruck über die Betriebszustände des Durchflussmessers 2 sowie des Stellventils 3 verschaffen kann. Anderer- seits können die Steuerungseinheiten 5, 6 aber auch unmittelbar Einfluss nehmen auf die Feldgeräte 2, 3. Beispielsweise kann die Durchflussmessung auf eine bestimmte Zeitspanne be-
grenzt werden, wobei am Anfang und am Ende dieser Zeitspanne ein Start- bzw. ein Stop-Signal an den Durchflussmesser 2 gesendet werden. Ebenso kann die Dämpfung des von dem Durchflussmesser 2 ermittelten Wertes verändert werden. Diese ist eine wichtige Ausgangsgröße für die noch innerhalb des Feldgeräts 2 durchgeführte Aufarbeitung des Rohmesswerts. Sie legt fest, über welchen Zeitraum die aufgenommenen Daten ge- mittelt werden. Moderne flexible Feldgeräte decken häufig unterschiedliche Messbereiche ab. Daher kann es erforderlich sein, beispielsweise eine Umskalierung der Rohdaten noch im Durchflussmessgerät 2 vorzunehmen, wozu der Messbereich und der Skalierungsfaktor durch einen Befehl von der Steuerungseinheit 5, 6 verstellbar ist. Aber auch zur Kalibrierung der Feldgeräte ist denkbar, dass bestimmte Eichsignale von den Steuerungseinheiten 5 und 6 an die Feldgeräte gesandt werden.
Zum Funktionieren dieses beschriebenen bidirektionalen Datenverkehrs zwischen Steuerungseinheiten 5 und 6 einerseits und Feldgeräten 2 und 3 andererseits ist es erforderlich, dass die Programmmodule der Geräte aufeinander abgestimmt sind.
Insbesondere müssen die jeweiligen Spezifikationen der Feldgeräte, also die besonderen Eigenschaften des jeweiligen Gerätetyps, bei der Programmerstellung bekannt sein. Aus diesen Spezifikationen ergeben sich dann die zur Steuerung erforder- liehen Parameter sowie deren Eigenschaften. Für eine der oben genannten Steuerungsaufgaben ist es beispielsweise erforderlich, dass die Steuerungsmodule einen Parameter enthalten der die Dämpfung des Roh-Messwerts regelt. Dieser Parameter hat bestimmte Eigenschaften: Beispielsweise sind die in ihm ge- speicherten Daten vom Typ einer Fließkommazahl mit „einfacher* Genauigkeit. Ferner können nur Dämpfungen in einem bestimmten Bereich erlaubt sein, dessen obere und untere Grenze ebenfalls in der Beschreibung angegeben werden müssen.
Solche Beschreibungen werden üblicherweise von dem Entwickler des Feldgeräts textuell als Fließtext niedergelegt und von den Programmierern der in den Geräten zum Einsatz kommenden
Software interpretiert sowie umgesetzt. Das heißt, dass der Entwickler des Geräts beschreibt, wie die Dämpfung vorgenommen wird, welche Genauigkeit und welches Datenformat der einzugebende Dämpfungsparameter besitzen muss, sowie welche Pa- rameterwerte grundsätzlich zulässig sind.
Aus Figur 2 sind schematisch die nach den bekannten Verfahren vorzunehmenden Programmierschritte ersichtlich. Ein Feldgerät 2 ist über einen Feldbus 4 mit einem Steuerungscomputer 6 verbunden. Über ein Kopplungsmodul 7 auf Seiten des Steuerungscomputers 6 lassen sich bidirektional Daten und Befehle zwischen dem Feldgerät 2 sowie dem als Steuerungseinheit dienenden Computer 6 austauschen. Die Funktionalität des Steuerungscomputers wird bestimmt von einer Steuerungssoftware 12. Diese besitzt einen allgemeinen Teil 14, in dem die grundsätzlichen Steuerungsroutinen, die Benutzeroberfläche sowie die Schnittstellenprogrammierung niedergelegt sind. Dieser allgemeine Teil 14 der Steuerungssoftware stellt gleichsam den Rahmen des Steuerungsprogramms dar, er kann grundsätzlich für eine Vielzahl von Feldgeräten genutzt werden.
Um allerdings diesen Rahmen an einen besonderen Feldgerätetyp anzupassen, ist es erforderlich, auf dem Steuerungscomputer 6 gespeicherte Daten bereitzustellen, die die besondere Spezi- fikation des Gerätetyps wiedergeben. Dies geschieht durch
Einbindung einer maschinenlesbaren parametrisierten Beschreibung 13 der Feldgeräte. Diese besteht im wesentlichen aus einer Auflistung von Parametern, die zur Steuerung des Feldgeräts benötigt werden. Beispielsweise sind dies die Dämpfung, Codes zum Ein- und Ausschalten des Feldgeräts, obere und untere Grenzwerte, bei deren Überschreitung bzw. Unterschreitung Fehlermeldungen erzeugt werden, Codes für die Gerätekalibrierung, sowie Faktoren zur Umskalierung der von dem intelligenten Feldgerät aufgenommenen Daten. Diese Auflistung muss an dieser Stelle sehr selektiv ausfallen, da zur Steuerung moderner Feldgeräte ungefähr 100 solcher Parameter benötigt werden. Die parametrisierte Beschreibung 13 ist heute
üblicherweise in einer vereinbarten Syntax abgelegt, die DDL (Device-Description-Language) genannt wird. Sie ist insofern unmittelbar maschinenlesbar, als die jeweiligen Abschnitte über die einzelnen Parameter direkt von den Routinen des all- gemeinen Teils 14 der Software eingelesen 51 und interpretiert werden können. Die in DDL ausgeführte Beschreibung wird herkömmlich auf Grundlage einer textuell niedergelegten Beschreibung 15 erstellt. Der Entwickler eines neuen Feldgerätetyps beschreibt dort ausführlich die Spezifikation des neuen Geräts. Dazu muss er zumindest implizit auf die genannten steuerungsrelevanten Parameter und deren Eigenschaften eingehen, er sieht sich allerdings nicht gezwungen, die Beschreibung in maschinenlesbare Form auszuführen. Vielmehr wird es beispielsweise durchaus häufig der Fall sein, dass nicht sämtliche Eigenschaften eines Parameters Erwähnung finden, da der Entwickler zu Recht annehmen kann, dass ein Leser diese Eigenschaften sinnvoll ergänzen kann, sofern er ein Fachmann ist und entsprechenden Parallelgeräte kennt.
Die Umsetzung dieser textuell niedergelegten Beschreibung 15 in die maschinenlesbare parametrisierte Beschreibung 13 ist mit dem Umsetzungsschritt 16 skizziert. Dieser Schritt ist in der Praxis mit sämtlichen Fehlerquellen behaftet, die sich aus der Unvollständigkeit, aber auch aus der unvermeidbaren Zweideutigkeit einer textuellen Beschreibung ergeben. Stets ist eine gewisse Interpretationsleistung des Programmierers der DDL 13 notwendig, wodurch Ungenauigkeiten oder gar Fehler in dem DDL-Skript auftreten. Da mit der heute bekannten DDL eine recht einfache und intuitiv verständliche Syntax vor- liegt, werden sich manche Entwickler von Feldgeräten daher dazu veranlasst sehen, selbst die Beschreibung in DDL vorzunehmen.
Zur Wahrnehmung der auf dem intelligenten Feldgerät 2 anfal- lenden Steuerungsaufgaben werden auf dem Mikroprozessor des Feldgeräts 2 bestimmte Programmmodule 11 zur Ausführung gebracht, die insgesamt als Firmware bezeichnet werden. Diese
Firmware dient vornehmlich zur Ansteuerung und zum Auslesen der Aktuatoren und Sensoren 17 des Feldgeräts. Hier können allerdings auch Daten, Messwerte und Befehle auf einem ebenfalls zum Feldgerät gehörenden Speicherbaustein 18 gespei- chert und auf dem Mikroprozessor in bestimmter, von der Firmware vorgegebener Weise bearbeitet werden. Es ist offensichtlich, dass auch hier für jeden Feldgerätetyp im Grunde eigenständige Software zu erzeugen ist, die mit Rücksicht auf die jeweiligen Hardwarebauteile sowie deren Funktionalität er- stellt wird.
Es ist bekannt, diese Firmware aus der textuell niedergelegten Beschreibung des Feldgeräts 15 zu erzeugen 19. Auch dieser Programmierschritt ist mit den gleichen Unsicherheiten behaftet wie die Umsetzung 16 der textuellen Beschreibung 15 in DDL 13. Zwar wird der Programmierer der Firmware bei einem Großteil der zu erstellenden Software auf bereits bestehende (Standard-) Programmmodule zurückgreifen können (sog. Analog- Input-Block) . Gleichwohl ist er darauf angewiesen, die jewei- ligen Spezifika des Feldgeräts, die in der textuellen Beschreibung 15 niedergelegt sind, zu berücksichtigen und an der richtigen Stelle in die Programmmodule einzubauen. Problematisch bei diesem bekannten Verfahren ist das Folgende: Es ist unbedingt erforderlich, dass zwischen den Softwareblöcken des Steuerungscomputers 12 sowie der Firmware 11 absolute
Konsistenz besteht. Unstimmigkeiten zwischen diesen Programmblöcken können zu unabsehbaren Fehlern führen, die zum Teil nur äußerst schwer aufzuspüren sind, da sie unter Umständen nur bei bestimmten Betriebszuständen des Feldgeräts bzw. des Steuerungscomputers zu Tage treten. Die Folge ist, dass bei den im Stand der Technik bekannten Verfahren äußerst umfangreiche Testphasen durchlaufen werden müssen, bis die neu entwickelte Software als fehlerfrei gelten darf und das Feldgerät somit die Marktreife erlangt. Diese Problematik beruht im Grunde darauf, dass zwei voneinander unabhängige Interpretationsschritte 16 und 19 erforderlich sind.
Die Erfindung schlägt demgegenüber ein Verfahren vor, bei dem die neu zu erstellende Firmware 11 unmittelbar aus der ohnehin vorhandenen maschinenlesbaren parametrisierten Beschreibung 13 erzeugt wird. Dies wird in Figur 3 skizzenhaft wie- dergegeben. Auf diese Weise kann auf den Interpretations- und Softwareerzeugungsschritt 19 verzichtet werden. An seine Stelle tritt die automatisierte Programmerzeugung 21, die von der maschinenlesbaren Beschreibung ausgeht. Auf diese Weise werden Inkonsistenzen zwischen den unterschiedlichen Pro- grammmodulen prinzipiell unmöglich, da die Firmware 11 notwendigerweise auf der gleichen Datenmenge beruht, die auch der auf dem Steuerungscomputer zur Anwendung kommenden parametrisierten Beschreibung zugrunde liegt. Als Nebeneffekt ergibt sich noch eine äußerst schnelle sowie zuverlässige Weise der Programmerstellung für die Firmware 11, da das Verfahren automatisiert ist und keine manuelle Programmiertätigkeit erfordert.
In Figur 4 ist eine alternative Anwendungsform der Erfindung dargestellt. Statt die Spezifikation des neuen Feldgerätetyps ursprünglich textuell niederzulegen, hat der Entwickler hier die Beschreibung unmittelbar maschinenlesbar und parametri- siert ausgeführt und somit den Interpretationsschritt 16 vorweggenommen. Damit entsteht keine zusätzliche Arbeit, da die Umsetzung der Beschreibung in eine maschinenlesbare Form, wie sich aus Figur 3 ergibt, ohnehin notwendig ist. Diese Vorwegnahme der Spezifikation ist ohne größere Vorkenntnisse möglich, da insbesondere mit der Beschreibungssprache DDL eine intuitiv verständliche und einfache Codierungsweise bekannt ist.
Die Erzeugung der Firmware erfolgt auch hier nach dem erfindungsgemäßen Verfahren in Schritt 21. Wie bei dem in Figur 3 dargestellten Verfahren können auch hier keinerlei Inkonsis- tenzen 22 zwischen den Softwareblöcken 11 und 12 auftreten, da beide auf der selben Datengrundlage, nämlich der maschinenlesbaren parametrisierten Beschreibung 13 aufbauen.
Figur 5 zeigt als Beispiel für eine maschinenlesbare parame- trisierte Beschreibung den Teil einer in Device-Description- Language (DDL) verfassten Beschreibung. Diese parametrisierte Beschreibung wurde aus der ursprünglich textuell niedergeleg- ten Beschreibung entwickelt. In dem wiedergegebenen Ausschnitt wird intern die Variable „dmp 1" in Zeile 1 definiert, in Zeile 4 wird festgelegt, dass diese Parameter vom Typ einer Fließkommazahl mit einfacher Genauigkeit ist. Die Zeilen 6 und 7 legen fest, dass lediglich Werte zwischen 1,753 und 7,529 erlaubt sind. Diese Werte ergeben sich aus den Eigenschaften der verwendeten Hardware.
Figur 6 skizziert den Ablauf einer vorteilhaften Anwendung des erfinderischen Verfahrens. Die Erfindung geht aus von der maschinenlesbaren parametrisierten Beschreibung eines Feldgeräts. In einem ersten Schritt 31 werden die in der Beschreibung enthaltenen vier Parameter des Feldgeräts erkannt, sodann können jeweils die in der Beschreibung definierten steuerungsrelevanten Eigenschaften der Parameter in einem zweiten Schritt 32 erkannt werden. Der Parameter v besitzt drei Eigenschaften, die in dem Schritt 32 erkannt werden. Dies ist die untere Grenze des erlaubten Wertebereichs von 1,753, die obere Grenze mit 7,529 sowie der für die Skalierung der Rohmessdaten zu verwendende Faktor n=0,01. In dem weiteren Verfahrensschritt 33 werden für den Parameter v mehreren Programmmodule erzeugt, in die jeweils die erkannten Eigenschaften von v eingehen. Zum einen wird das Deklarationsmodul 41 erzeugt, das für v ein bestimmtes Segment auf dem Speichermittel sowie den Datentyp „Fließzahl* festlegt. Zugleich wird ein Zugriffsmodul 42 erzeugt, das die Kontrollvorrichtung des Feldgeräts bei einem Zugriff auf den Parameter v zur Ausführung eines ebenfalls erzeugten Eingabekontrollmoduls 43 veranlasst. [42 noch einfügen]. Das Eingabekontrollmodul 43 überprüft bei jeder benutzerveranlassten Pa- rameteränderung, ob der neue Parameterwert zwischen den Grenzen des erlaubten Wertbereichs, also zwischen 1,753 und 7,529 liegt. Ist dies nicht der Fall so wird eine Fehlermeldung 44
erzeugt, die von dem Steuerungscomputer ausgelesen und angezeigt werden kann.