-
Die Erfindung betrifft eine Automatisierungseinrichtung zur Prozessautomation, wobei die Automatisierungseinrichtung einen Eingang zum Empfangen von Eingangssignalen und/oder einen Ausgang zum Ausgeben von Ausgangssignalen zur Steuerung und Regelung des Prozesses aufweist. Die Erfindung betrifft ebenso ein Verfahren zum Betrieb einer solchen Automatisierungseinrichtung, um zumindest teilweise einen Prozess zu automatisieren.
-
Nachfolgend wird der Begriff „ein“ als unbestimmter Artikel verwendet und nicht im Sinne eines beschränkenden Zahlwortes. Soll eine Mengenangabe insbesondere abschließender Art mittels eines Zahlwortes angegeben werden, so wird dies ausdrücklich genannt einschließlich der auf die Menge festgelegten Beschränkung. Andernfalls werden mit den Begriffen „mindestens“, „zumindest“ und „wenigstens“ die Minimalanforderungen definiert.
-
Mit Hilfe von Automatisierungseinrichtungen, die einzeln oder zusammengesetzt zu einem ganzen Automatisierungssystem verwendet werden, lassen sich teilweise oder vollständig Prozesse automatisieren, indem in der Regel Daten von externen Gebern erfasst, mit Hilfe des Automatisierungssystems verarbeitet und dann basierend auf einer Regelungsautomatik entsprechende Signale an Aktoren ausgegeben werden, um so den Prozess hinsichtlich seiner Randbedingungen zu regeln.
-
So ist es bspw. aus der Gebäudeautomation bekannt, dass eine Vielzahl von Sensoren, wie bspw. Temperatursensoren, entsprechende Werte erfassen und diese an eine zentrale Automatisierungseinrichtung übertragen, die dann basierend auf ihrem Automationsprogramm und der getätigten Einstellung entsprechende Aktoren ansteuert, wie bspw. Heizungsventile oder Regler, um so die gewünschte Kenngröße an einen vorgegebenen Sollwert anzunähern. Nicht selten werden solche Automatisierungssysteme mit einer oder mehreren Automatisierungseinrichtungen auch für sicherheitskritische Anwendungsszenarien verwendet, bei denen die richtige Funktionsausführung essentiell für den Schutz von Personen ist.
-
Eine Automatisierungseinrichtung weist hierfür neben Eingängen zum Empfangen von Eingangssignalen und Ausgängen zum Ausgeben von Ausgangssignalen auch eine elektronische Datenverarbeitungseinheit auf, auf der ein Anwendungsprogramm, auch Firmware genannt, abläuft und das gewünschte Verhalten der Automatisierungseinrichtung steuert und regelt. Das Anwendungsprogramm einer Automatisierungseinrichtung ist dabei maßgeblich für die Verarbeitung der in den Eingangs- und/oder Ausgangssignalen enthaltenen Daten verantwortlich, um so die relevanten Prozessgrößen des zu automatisierenden Prozesses zu beeinflussen. Hierfür müssen nicht selten die in den Eingangssignalen enthaltenen Daten bearbeitet, analysiert und basierend hierauf dann entsprechende Daten für das Ausgeben der Ausgangssignale generiert werden, was unter dem Begriff der Datenverarbeitung zusammengefasst ist.
-
Je nach Einsatzzweck der Automatisierungseinrichtung und des zugrunde liegenden zu automatisierenden Prozesses ergibt sich eine relativ lange Lebensdauer des Automatisierungssystems, sodass es insbesondere bei der Gebäudeautomation nicht selten ist, dass derartige Automatisierungssysteme ein oder mehrere Jahrzehnte im Einsatz sind. Sollen nun Änderungen an der Automatisierungseinrichtung vorgenommen werden, bspw. durch Zufügen weiterer Sensoren, Aktoren oder Verbesserungen an dem Anwendungsprogramm, sprich der Firmware, so muss hierfür in der Regel die gesamte Firmware durch eine neuere Version ersetzt werden, um so neue Programmfeatures zu implementieren und die Unterstützung neuer in dem Automatisierungssystem hinzugefügter Sensoren und Aktoren durch die Anwendungssoftware zu realisieren. In sicherheitskritischen Anwendungsbereichen erzeugt der vollständige Austausch der Anwendungssoftware nicht selten jedoch die Verpflichtung, die gesamte Anlage erneut durch eine Prüfungsstelle bzw. Prüfungsbehörde prüfen und abnehmen zu lassen, was angesichts der Komplexität solcher Automatisierungssysteme sehr umfangreich sein kann. Nachträgliche Ergänzungen solcher Automatisierungssysteme müssen daher vor diesem Hintergrund ökonomisch abgewogen werden, um zu verhindern, dass einfache Anpassungen zu einer enormen Kostenfolge durch eine wiederholte Prüfung und Abnahme des Automatisierungssystems entsteht.
-
Es ist daher wünschenswert, wenn Automatisierungseinrichtungen zur Automatisierung von Prozessen während ihrer gesamten Lebensdauer im Einsatz bzw. während des laufenden Betriebes derart hinsichtlich neuer Funktionalitäten ergänzt oder verändert werden könnten, ohne dass das gesamte Automatisierungssystem erneut von einer Prüfungsstelle geprüft und abgenommen werden muss.
-
Es ist daher Aufgabe der vorliegenden Erfindung, eine verbesserte Automatisierungseinrichtung und ein verbessertes Verfahren zum Betrieb einer solchen Automatisierungseinrichtung anzugeben, die im laufenden Betrieb erweitert bzw. verändert werden kann, ohne dass hierfür das Anwendungsprogramm selber verändert und somit die gesamte Automatisierungseinrichtung erneut geprüft und abgenommen werden muss.
-
Die Aufgabe wird mit der Automatisierungseinrichtung gemäß Anspruch 1 erfindungsgemäß gelöst.
-
Gemäß Anspruch 1 wird eine Automatisierungseinrichtung mit einem Eingang zum Empfangen von Eingangssignalen und/oder einem Ausgang zum Ausgeben von Ausgangssignalen eines Prozesses gattungsgemäß beansprucht, wobei die Automatisierungseinrichtung eine elektronische Datenverarbeitungseinheit hat, auf der ein Anwendungsprogramm ausgeführt bzw. ausführbar ist. Das Anwendungsprogramm steuert dabei die Automatisierungseinrichtung und verarbeitet insbesondere die für die Automation notwendigen Daten. Mittels einer Programmfunktion können dabei die Daten entsprechend verarbeitet, d.h. verändert oder generiert werden, wobei hierfür das Anwendungsprogramm die Programmfunktion ausführt und als Ergebnis die von der Programmfunktion verarbeiteten Daten erhält.
-
Erfindungsgemäß ist nun vorgesehen, dass eine solche Programmfunktion nicht, wie sonst üblicherweise bei Automatisierungseinrichtungen der Fall, integraler Bestandteil des Anwendungsprogrammes, d.h. der Firmware der Automatisierungseinrichtung, sondern die zur Verarbeitung der Daten benötigten Programmfunktionen liegen dabei separat in einem digitalen Programmspeicher vor, wobei die Programmfunktionen in Art einer Callback-Funktion unabhängig und separat dem Anwendungsprogramm vorliegen. Innerhalb des digitalen Programmspeichers sind dabei die einzelnen Programmfunktionen mit Hilfe eines eindeutigen Funktionszeigers adressierbar, sodass unter Kenntnis des Funktionszeigers die gewünschte Programmfunktion aus dem digitalen Programmspeicher aufgerufen und ausgeführt werden kann.
-
In dem digitalen Programmspeicher liegen dabei eine Mehrzahl derartiger Programmfunktionen vor, sodass das Anwendungsprogramm im laufenden Betrieb der Automatisierungseinrichtung, d.h. während das Anwendungsprogramm abläuft, dynamisch mit Hilfe des eindeutigen Funktionszeigers die gewünschte Programmfunktion aufruft und als Ergebnis die für die Prozessautomation verarbeiteten Daten zurück bekommt.
-
Um den richtigen Funktionszeiger für die gewünschte Programmfunktion zu erhalten, weist die Automatisierungseinrichtung in einem digitalen Datenspeicher eine Funktionsreferenzliste auf, in der die einzelnen Funktionszeiger in Art einer Liste enthalten sind. Basierend auf einer vorgegebenen Funktionsauswahl, die der gewünschten Programmfunktion entspricht, wird sodann aus der Funktionsreferenzliste der gewünschte Funktionszeiger ermittelt, welcher diejenige Programmfunktion adressiert, die der vorgegebenen Funktionsauswahl entspricht. Anschließend wird aus diesem aus der Funktionsreferenzliste ermittelten Funktionszeiger dann die gewünschte Programmfunktion aus dem digitalen Programmspeicher aufgerufen und ausgeführt, wobei das Ergebnis der ausgeführten Programmfunktion dann an das Anwendungsprogramm zurück gegeben und zur weiteren Verarbeitung verwendet wird.
-
Durch die Trennung der Programmfunktionen von dem eigentlichen Anwendungsprogramm, sprich der Firmware, innerhalb einer Automatisierungseinrichtung wird erreicht, dass einzelne Programmfunktionen verändert werden können, ohne dass die gesamte Firmware bzw. die anderen Programmfunktionen hiervon betroffen sind und bspw. erneut abgenommen werden müssen. Außerdem kann durch eine separat vorliegende Funktionsreferenzliste des Weiteren erreicht werden, dass weitere Programmfunktionen bei der Erweiterung des Automatisierungssystems zugefügt werden können, ohne dass die übrigen Bestandteile der Software hiervon betroffen wären. Vielmehr werden lediglich weitere Programmfunktionen in dem digitalen Programmspeicher sowie der Funktionsreferenzliste hinzugefügt, sodass nur diese bei sicherheitskritischen Anwendungsfällen abgenommen bzw. geprüft werden müssen, während die übrigen Bestandteile des Automatisierungssystems weiterhin im Betrieb verbleiben können.
-
Die Erfinder haben dabei erkannt, dass trotz der recht begrenzten Ressourcen einer Automatisierungseinrichtung eine derartige Trennung von Anwendungsprogramm, separaten Programmfunktionen sowie einer separaten Funktionsreferenzliste einer Automatisierungseinrichtung bereitgestellt werden kann, die auch nach vielen Jahren durch Hinzufügen zusätzlicher Elemente erweitert werden kann, ohne dass hierfür der gesamte Softwarebestand der Automatisierungseinrichtungen ausgetauscht werden muss.
-
Die elektronische Datenverarbeitungseinheit kann dabei eine mikroprozessorgesteuerte Recheneinheit, bspw. eine CPU, enthalten, die zur Ausführung eines Anwendungsprogrammes eingerichtet und ausgebildet ist.
-
Der digitale Programmspeicher kann dabei ein nicht flüchtiger Speicher sein, in dem die einzelnen Programmfunktionen separat von dem Anwendungsprogramm abgedeckt sind. Zur Ausführung der Programmfunktion, auf die der entsprechende Funktionszeiger verweist, wird die Programmfunktion in einen, in der Regel flüchtigen Arbeitsspeicher geladen und dort mit Hilfe der elektronischen Datenverarbeitungseinheit ausgeführt.
-
Der Funktionszeiger kann dabei eine eindeutige Bezeichnung, bspw. eine alphanummerische Bezeichnung sein, mit der sich eindeutig die gewünschte Programmfunktion identifizieren und adressieren lässt. Mit Hilfe des Funktionszeigers wird somit die gewünschte Programmfunktion identifizierbar, sodass sie durch das Anwendungsprogramm aufgerufen und ausgeführt werden kann.
-
Eine Programmfunktion ist dabei ein von dem Anwendungsprogramm separater Softwarebestandteil, der separat ausgetauscht werden könnte, um das Anwendungsprogramm hierfür zu verändern. Insbesondere liegt die Programmfunktion in einem Speicherbereich, der von dem Speicherbereich des Anwendungsprogramms getrennt ist und verschieden ist.
-
In einer vorteilhaften Ausführungsform handelt es sich bei der Funktionsreferenzliste um eine textbasierte Datei, die ebenfalls von dem Anwendungsprogramm getrennt vorliegt und insbesondere in einem Speicherbereich abgelegt ist, der von dem Anwendungsprogramm und den Programmfunktionen getrennt und verschieden ist.
-
In einer weiteren vorteilhaften Ausführungsform ist die Automatisierungseinrichtung eingerichtet, bedarfsweise die mittels des Funktionszeigers identifizierte Programmfunktion von dem digitalen Programmspeicher in einen digitalen Arbeitsspeicher zu laden und dort auszuführen, wobei nach der Ausführung die Programmfunktion aus dem digitalen Arbeitsspeicher wieder herausgelöscht und der durch die Programmfunktion belegte digitale Arbeitsspeicher wieder freigegeben wird. Somit wird die Programmfunktion mittels des Funktionszeigers nur temporär in den Arbeitsspeicher geladen, wodurch insbesondere die in einer Automatisierungseinrichtung begrenzten Ressourcen adressiert und vernünftig verwaltet werden. Dadurch wird es auch möglich, bereits bestehende Automatisierungssysteme, die gegebenenfalls schon seit mehreren Jahren im Einsatz sind und aufgrund dessen noch über weitaus begrenztere Ressourcen als heutige Automatisierungseinrichtungen verfügen, mit einem solchen Programmpaket geupdated werden, da die einzelnen Programmfunktionen nur temporär in den begrenzten Arbeitsspeicher geladen werden, wobei dennoch bei älteren Automatisierungseinrichtungen so eine größtmögliche Flexibilität erreicht werden kann.
-
In einer weiteren vorteilhaften Ausführungsform sind in der Funktionsreferenzliste zu jeder durch den jeweiligen Funktionszeiger referenzierten Programmfunktion die für den Aufruf der jeweiligen Programmfunktion vorgesehenen Funktionsattribute enthalten, wobei das Anwendungsprogramm dann eingerichtet ist, basierend auf der vorgegebenen Funktionsauswahl aus der in einem digitalen Datenspeicher hinterlegten Funktionsreferenzliste weiterhin die Funktionsattribute bezüglich der durch den ermittelten Funktionszeiger referenzierten Programmfunktion zu ermitteln, um mittels des ermittelten Funktionszeigers und der Funktionsattribute die gewünschte Programmfunktion zur Bearbeitung der in den Eingangs- und/oder Ausgangssignalen enthaltenen Daten auszuführen.
-
Hierdurch kann eine größtmögliche Flexibilität beim Aufruf der Programmfunktion gewährleistet werden, da nunmehr auch über die Funktionsreferenzliste die für den Funktionsaufruf benötigten Funktionsattribute, d.h. die von der Programmfunktion erwarteten Eingabedaten, dynamisch angegeben werden können, was zu einem größtmögliche Flexibilität hinsichtlich der Anpassung der Programmfunktionen und Aufrufe der Programmfunktionen während des laufenden Betriebs der Automatisierungseinrichtung sichergestellt werden kann.
-
In einer weiteren vorteilhaften Ausführungsform ist die Automatisierungseinrichtung eingerichtet, im laufenden Betrieb der Automatisierungseinrichtung ohne Unterbrechung des Anwendungsprogramms zusätzliche Programmfunktionen in dem digitalen Programmspeicher hinzuzufügen, bestehende Programmfunktionen in dem digitalen Programmspeicher zu ersetzen und/oder zu löschen und die in dem digitalen Datenspeicher hinterlegte Funktionsreferenzliste an diese Veränderung anzupassen, d.h. durch eine entsprechend geänderte Funktionsreferenzliste zu ersetzen. Dies wird nun dadurch möglich, da die Programmfunktionen, das Anwendungsprogramm sowie die Funktionsreferenzliste in getrennten und voneinander verschiedenen Speicherbereichen abgelegt und separat ausgeführt sind, sodass ohne Unterbrechung des Anwendungsprogramms die Bestandteile der Programmfunktionen und der Funktionsreferenzliste ausgetauscht werden können. Das Anwendungsprogramm ist dabei derart ausgebildet, dass es eine Änderung an den Programmfunktionen bzw. an der Funktionsreferenzliste erkennt und einen Initialisierungsprozess startet, mit dem die Funktionsreferenzliste gegebenenfalls eingelesen und so die neuen Programmfunktionen auch aufrufbar und verwendbar werden.
-
In einer weiteren vorteilhaften Ausführungsform sind eine oder mehrere in dem digitalen Programmspeicher hinterlegten Programmfunktionen zur Berechnung eines Funktionswertes, insbesondere eines Rückgabewertes der Programmfunktionen, so ausgebildet, dass ein Polynom n-ten Grades verwendet wird, wobei in der in dem digitalen Datenspeicher hinterlegten Funktionsreferenzliste zu der entsprechenden durch den jeweiligen Funktionszeiger referenzierten Programmfunktion die jeweiligen Koeffizienten hinterlegt sind, mit denen das Polynom n-ten Grades den Funktionswert berechnen soll. Das Anwendungsprogramm ist nun so eingerichtet, dass es basierend auf der vorgegebenen Funktionsauswahl aus der in einem digitalen Datenspeicher hinterlegten Funktionsreferenzliste weiterhin die Koeffizienten bezüglich der den durch den ermittelten Funktionszeiger referenzierten Programmfunktion ermittelt und mittels des ermittelten Funktionszeigers und den Koeffizienten die Programmfunktion aufruft und den Funktionswert berechnet.
-
Durch die Verwendung von Polynomen n-ten Grades kann dabei sehr flexibel die Berechnung des Funktionswertes angegeben werden, da durch die Angabe der Koeffizienten schließlich die Art der Berechnung des Funktionswertes beeinflusst werden kann. Polynome höheren Grades haben dabei eine höhere Genauigkeit, sind jedoch auch rechenintensiver. Durch die Veränderung der Koeffizienten zur Laufzeit des Anwendungsprogramms, d.h. während des Betriebes der Automatisierungseinrichtung, kann so bspw. auf sich ändernde Randbedingungen reagiert werden bzw. es können so neu hinzugefügte Elemente des Automatisierungssystems adressiert werden, die lediglich den Koeffizienten entsprechend für den Funktionsaufruf angepasst werden.
-
Wie bereits zuvor erwähnt, ist es ganz besonders vorteilhaft, wenn jede Programmfunktion in der Funktionsreferenzliste durch einen eindeutigen Bezeichner identifizierbar ist, der mit der vorgegebenen Funktionsauswahl korrespondiert, sodass durch den eindeutigen Bezeichner direkt in der Funktionsreferenzliste auf das entsprechende Listenelement, sprich der auszuwählenden Programmfunktion, gesprungen werden kann und dann neben dem Funktionszeiger gegebenenfalls auch weitere Parameter und Attribute für den Aufruf der Programmfunktion ausgelesen werden können.
-
Die vorgegebene Funktionsauswahl kann dabei bspw. mit Hilfe eines Konfigurationsprogrammes, das zusätzlich oder Bestandteil des Anwendungsprogrammes sein kann, für bestimmte Aktionen ausgewählt werden, sodass hierüber einstellbar ist, welche Programmfunktion in welcher Situation durch das Anwendungsprogramm aufgerufen werden soll. So kann bspw. die Verknüpfung des Anwendungsprogrammes mit der jeweiligen aufzurufenden Programmfunktion hergestellt werden. Denkbar ist aber auch, dass dies durch eine Konfigurationsdatei oder Schnittstelle bereitgestellt wird, wofür die jeweiligen auszuführenden Aktionen des Anwendungsprogrammes die jeweilige Programmfunktion in Form einer vorgegebenen Funktionsauswahl bereitgestellt wird.
-
Darüber hinaus wird die Aufgabe auch mit dem Verfahren gemäß Anspruch 8 zum Betrieb einer Automatisierungseinrichtung gelöst, wobei zunächst ein Funktionszeiger aus einer in einem digitalen Datenspeicher hinterlegten Funktionsreferenzliste basierend auf einer vorgegebenen Funktionsauswahl durch das Anwendungsprogramm ermittelt wird, wobei der Funktionszeiger auf einer von mehreren in einem digitalen Programmspeicher hinterlegten Programmfunktionen referenziert, wobei die durch den Funktionszeiger referenzierte Programmfunktion mit der vorgegebenen Funktionsauswahl korrespondiert. Anschließend wird die Programmfunktion mittels des ermittelten Funktionszeigers durch das Anwendungsprogramm ausgeführt.
-
Vorteilhafte Ausgestaltungen des Verfahrens finden sich in den entsprechenden Unteransprüchen.
-
Die Erfindung wird anhand der beigefügten Figuren beispielhaft näher erläutert. Es zeigen:
- 1 schematische Darstellung einer Automatisierungseinrichtung;
- 2 Darstellung eines betrieblichen Ablaufes der Automatisierungseinrichtung.
-
1 zeigt eine Automatisierungseinrichtung 1, die über einen Eingang 2 mit einem Sensor 3 verbunden ist. Darüber hinaus ist die Automatisierungseinrichtung 1 mit Hilfe eines Ausgangs 4 mit einem Aktuator 5 verbunden, das ein Stellglied für die Regelung des Automatisierungsprozesses sein kann. So ist es bspw. denkbar, dass der Sensor 3 ein Temperatursensor ist, während der Aktor 5 ein Stellglied zur Einstellung der Heizung darstellt.
-
Von dem Sensor 3 wird dabei ein Sensorsignal geliefert, das von dem Eingang 2 empfangen wird. Mit Hilfe des Ausgangs 4 lässt sich darüber hinaus ein Aktuatorsignal an den Aktuator 5 senden, wobei Eingang 2 und Ausgang 4 signaltechnisch mit einer elektronischen Datenverarbeitungseinheit 6 verbunden sind. Die Datenverarbeitungseinheit 6 kann bspw. eine mikroprozessorgesteuerte Recheneinheit sein, welche die gattungsgemäßen Elemente wie CPU und Arbeitsspeicher als Minimum aufweist.
-
Die elektronische Datenverarbeitungseinheit 6 ist darüber hinaus mit einem digitalen Programmspeicher 7 und einem digitalen Datenspeicher 8 verbunden, wobei sowohl der digitale Programmspeicher 7 als auch der digitale Datenspeicher 8 eine Einheit bilden können. Hierbei handelt es sich bspw. um nicht flüchtige Datenspeicher, die getrennt von dem Arbeitsspeicher der Datenverarbeitungseinheit 6 vorliegen.
-
In dem digitalen Programmspeicher 7 ist das Anwendungsprogramm, sprich die Firmware der Automatisierungseinrichtung 1 hinterlegt. Beim Start der Automatisierungseinrichtung 1 wird dabei das Anwendungsprogramm von dem digitalen Programmspeicher 7 in den Arbeitsspeicher der elektronischen Datenverarbeitungseinheit 6 geladen und dort entsprechend ausgeführt.
-
Neben dem Anwendungsprogramm sind auch Programmfunktionen in dem digitalen Programmspeicher 7 hinterlegt, die getrennt von dem Anwendungsprogramm vorliegen und insbesondere auch in getrennten Speicherbereichen hinterlegt sind. Die Programmfunktionen sind dabei kein integraler Bestandteil des Anwendungsprogrammes, sodass die Programmfunktionen hinsichtlich ihrer Funktionsweise sowie hinsichtlich ihres Umfangs verändert werden können, ohne dass hierfür das Anwendungsprogramm verändert werden muss.
-
In einem digitalen Datenspeicher 8 ist schließlich die Funktionsreferenzliste hinterlegt, mit der das Anwendungsprogramm die Programmfunktionen entsprechend adressieren kann. Der digitale Datenspeicher 8 kann dabei zusammen mit dem digitalen Programmspeicher 7 eine Einheit bilden und ein gemeinsamer Datenspeicher sein. So ist es bspw. denkbar, dass die Programmspeicher 7 und 8 eine SD-Karte darstellen, über die die entsprechenden Programmroutinen in die Automatisierungseinrichtung 1 geladen werden können. Denkbar ist aber auch, dass die Datenspeicher 7 und 8 auf einem entfernten Gerät (Remote) ausgelagert sind, wobei dann die Automatisierungseinrichtung 1 hierüber einen Zugriff über ein entsprechendes Netzwerk erzeugt.
-
Im Ausführungsbeispiel der 1 sind dabei aus Übersichtlichkeitsgründen jeweils nur ein Eingang 2 und ein Ausgang 4 angezeigt, wobei in der Praxis deutlich mehr realisiert sein dürften. Über den Eingang 2 wird dabei von dem Sensor 3 ein Sensorsignal geliefert, dessen Daten digital extrahiert und der elektronischen Datenverarbeitungseinheit 6 zur Verfügung gestellt werden, sofern es sich bei dem Sensor 3 nicht um einen Digitalsensor handelt. Diese Daten werden anschließend von dem Anwendungsprogramm entsprechend verarbeitet, wobei hierfür die in dem digitalen Programmspeicher 7 hinterlegten Programmfunktionen mit Hilfe der Funktionsreferenzliste aufgerufen und die Daten dort gezielt weiter verarbeitet werden. Anschließend wird aus den so weiter verarbeiteten Daten dann ein entsprechendes Ausgangssignal erzeugt, mit dem dann über den Ausgang 4 der Aktuator 5 angesteuert wird, um so auf die Prozessstrecke einwirken zu können.
-
2 zeigt noch einmal detaillierter den Ablauf aus einer funktionalen/schematischen Sicht. Das Anwendungsprogramm 10 ist dabei die Firmware der Automatisierungseinrichtung und steuert sämtliche Prozesse der Automatisierungseinrichtung sowohl im Hinblick auf die Automatisierungseinrichtung selber als auch im Hinblick auf die Prozessautomation. Dabei lässt sich das Anwendungsprogramm 10 mit Hilfe einer Konfigurationstools bzw. eines Konfigurationsmechanismusses 11 entsprechend der Aufgabe der Prozessautomation konfigurieren und an die Gegebenheiten anpassen.
-
In einer Funktionsreferenzliste 12 sind dabei listenartig eine Mehrzahl von Listenelementen 13 eingetragen, wobei jedes Listenelement 13 auf eine zu dem Anwendungsprogramm 10 separat hinterlegte Programmfunktion 14 verweist. Das Listenelement 13 der Funktionsreferenzliste 12 enthält dabei unter anderem einen Funktionszeiger, der zur Adressierung des dem jeweiligen Listenelement 13 zugeordneten Programmfunktion 14 vorgesehen und ausgebildet ist. Neben dem Funktionszeiger zum Aufruf der entsprechenden Programmfunktion können dabei auch Funktionsattribute, mit denen die entsprechende Programmfunktion aufgerufen werden kann, hinterlegt sein, um so auf die Programmfunktion semantisch korrekt aufrufen zu können.
-
Mit Hilfe des Konfigurationstools 11 wird nun das Anwendungsprogramm 10 so eingerichtet, dass für eine entsprechende Bearbeitung der Daten eine Programmfunktion 14 ausgewählt wird, die über die Listenelemente 13 der Funktionsreferenzliste 12 dem Anwendungsprogramm 10 bekannt sind. Wurde eine entsprechende Programmfunktion ausgewählt, so ermittelt das Anwendungsprogramm 10 sodann den Funktionszeiger, der dem jeweiligen Listenelement 13 für die ausgewählte Programmfunktion hinterlegt ist.
-
Das Anwendungsprogramm 10 kann nun je nach vorliegenden Ressourcen die Programmfunktion 14 vorsorglich in den Arbeitsspeicher laden. Denkbar ist aber auch, dass die Programmfunktion 14 bedarfsweise geladen wird, um so Ressourcen des Arbeitsspeichers einzusparen.
-
Dabei ist es denkbar, dass im laufenden Betrieb der Automatisierungseinrichtung und während des Ablaufs des Anwendungsprogrammes 10 mit Hilfe des Konfigurationstools 11 die entsprechende Konfiguration geändert wird, sodass eine entsprechende Auswahl bezüglich einer Programmfunktion abgewählt und eine neue Programmfunktion an deren Stelle ausgewählt wird, wodurch wiederum der entsprechende Funktionszeiger aus der Funktionsreferenzliste und dem jeweiligen Listenelement, welches mit der entsprechenden ausgewählten Programmfunktion korrespondiert, ermittelt wird. Hierbei ist es denkbar, dass sodann die abgewählte Programmfunktion aus dem Arbeitsspeicher entfernt und die neu ausgewählte Programmfunktion in den Arbeitsspeicher dynamisch geladen wird, und dort für die weitere Verarbeitung vorliegt.
-
Bezugszeichenliste
-
- 1
- Automatisierungseinrichtung
- 2
- Eingang
- 3
- Sensor
- 4
- Ausgang
- 5
- Aktor
- 6
- elektronische Datenverarbeitungseinheit
- 7
- digitaler Programmspeicher
- 8
- digitaler Datenspeicher
- 10
- Anwendungsprogramm
- 11
- Konfigurationstool
- 12
- Funktionsreferenzliste
- 13
- Listenelement
- 14
- Programmfunktion