DE102018100657A1 - Automatisierungseinrichtung und Verfahren zum Betrieb einer Automatisierungseinrichtung - Google Patents

Automatisierungseinrichtung und Verfahren zum Betrieb einer Automatisierungseinrichtung Download PDF

Info

Publication number
DE102018100657A1
DE102018100657A1 DE102018100657.8A DE102018100657A DE102018100657A1 DE 102018100657 A1 DE102018100657 A1 DE 102018100657A1 DE 102018100657 A DE102018100657 A DE 102018100657A DE 102018100657 A1 DE102018100657 A1 DE 102018100657A1
Authority
DE
Germany
Prior art keywords
function
program
automation device
digital
memory
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.)
Pending
Application number
DE102018100657.8A
Other languages
English (en)
Inventor
Niels Fangmeier
Stefan van Lier
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.)
Wago Verwaltungs GmbH
Original Assignee
Wago Verwaltungs GmbH
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 Wago Verwaltungs GmbH filed Critical Wago Verwaltungs GmbH
Priority to DE102018100657.8A priority Critical patent/DE102018100657A1/de
Priority to US16/247,195 priority patent/US10983491B2/en
Publication of DE102018100657A1 publication Critical patent/DE102018100657A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2642Domotique, domestic, home control, automation, smart house

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)

Abstract

Die Erfindung betrifft Automatisierungseinrichtung mit einem Eingang zum Empfangen von Eingangssignalen und/oder einem Ausgang zum Ausgeben von Ausgangssignalen eines Prozesses sowie einer elektronischen Datenverarbeitungseinheit, die eingerichtet ist, ein Anwendungsprogramm im laufenden Betrieb der Automatisierungseinrichtung auszuführen und mittels einer Programmfunktion die in den Eingangs- und/oder Ausgangssignalen enthaltenen Daten zu verarbeiten, dadurch gekennzeichnet, dass in einem digitalen Programmspeicher eine Mehrzahl von Programmfunktionen separat zu dem Anwendungsprogramm hinterlegt sind, die jeweils über einen Funktionszeiger eindeutig adressierbar sind, wobei das Anwendungsprogramm während des laufenden Betriebes der Automatisierungseinrichtung eingerichtet ist, basierend auf einer vorgegebenen Funktionsauswahl aus einer in einem digitalen Datenspeicher hinterlegten Funktionsreferenzliste den Funktionszeiger der der vorgegebenen Funktionsauswahl entsprechenden Programmfunktion zu ermitteln und mittels des ermittelten Funktionszeigers die der vorgegebenen Funktionsauswahl entsprechenden Programmfunktion zur Bearbeitung der in den Eingangs- und/oder Ausgangssignalen enthaltenen Daten auszuführen.
Die Erfindung betrifft außerdem ein Verfahren zum Betrieb einer Automatisierungseinrichtung.

Description

  • 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

Claims (12)

  1. Automatisierungseinrichtung (1) mit einem Eingang (2) zum Empfangen von Eingangssignalen und/oder einem Ausgang (4) zum Ausgeben von Ausgangssignalen eines Prozesses sowie einer elektronischen Datenverarbeitungseinheit (6), die eingerichtet ist, ein Anwendungsprogramm (10) im laufenden Betrieb der Automatisierungseinrichtung (1) auszuführen und mittels einer Programmfunktion (14) die in den Eingangs- und/oder Ausgangssignalen enthaltenen Daten zu verarbeiten, dadurch gekennzeichnet, dass in einem digitalen Programmspeicher (7) eine Mehrzahl von Programmfunktionen (14) separat zu dem Anwendungsprogramm (10) hinterlegt sind, die jeweils über einen Funktionszeiger eindeutig adressierbar sind, wobei das Anwendungsprogramm (10) während des laufenden Betriebes der Automatisierungseinrichtung (1) eingerichtet ist, basierend auf einer vorgegebenen Funktionsauswahl aus einer in einem digitalen Datenspeicher (8) hinterlegten Funktionsreferenzliste (12) den Funktionszeiger der der vorgegebenen Funktionsauswahl entsprechenden Programmfunktion (14) zu ermitteln und mittels des ermittelten Funktionszeigers die der vorgegebenen Funktionsauswahl entsprechenden Programmfunktion (14) zur Bearbeitung der in den Eingangs- und/oder Ausgangssignalen enthaltenen Daten auszuführen.
  2. Automatisierungseinrichtung (1) nach Anspruch 1, dadurch gekennzeichnet, dass die Funktionsreferenzliste (12) eine textbasierte Listendatei ist.
  3. Automatisierungseinrichtung (1) nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass das Anwendungsprogramm (10) eingerichtet ist, bedarfsweise mittels des ermittelten Funktionszeigers die der vorgegebenen Funktionsauswahl entsprechenden Programmfunktion (14) zur Bearbeitung der in den Eingangs- und/oder Ausgangssignalen enthaltenen Daten aus dem digitalen Programmspeicher (7) in einen digitalen Arbeitsspeicher zu laden und auszuführen.
  4. Automatisierungseinrichtung (1) nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass in der in dem digitalen Datenspeicher (8) hinterlegten Funktionsreferenzliste (12) zu jeder durch den jeweiligen Funktionszeiger referenzierten Programmfunktion (14) die für den Aufruf der jeweiligen Programmfunktion (14) vorgesehenen Funktionsattribute enthalten sind, wobei das Anwendungsprogramm (10) eingerichtet ist, basierend auf der vorgegebenen Funktionsauswahl aus der in einem digitalen Datenspeicher (8) hinterlegten Funktionsreferenzliste (12) weiterhin die Funktionsattribute bezüglich der durch den ermittelten Funktionszeiger referenzierten Programmfunktion (14) zu ermitteln und mittels des ermittelten Funktionszeigers und der Funktionsattribute die der vorgegebenen Funktionsauswahl entsprechenden Programmfunktion (14) zur Bearbeitung der in den Eingangs- und/oder Ausgangssignalen enthaltenen Daten auszuführen.
  5. Automatisierungseinrichtung (1) nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Automatisierungseinrichtung (1) eingerichtet ist, im laufenden Betrieb der Automatisierungseinrichtung (1) ohne Unterbrechung des Anwendungsprogramms (10) zusätzliche Programmfunktionen (14) in dem digitalen Programmspeicher (7) hinzuzufügen, bestehende Programmfunktionen (14) in dem digitalen Programmspeicher (7) zu ersetzen und/oder zu löschen und die in dem digitalen Datenspeicher (8) hinterlegte Funktionsreferenzliste (12) an diese Veränderungen anzupassen.
  6. Automatisierungseinrichtung (1) nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein oder mehrere in dem digitalen Programmspeicher (7) hinterlegten Programmfunktionen (14) zur Berechnung eines Funktionswertes ein Polynom n-ten Grades verwenden, wobei in der in dem digitalen Datenspeicher (8) hinterlegten Funktionsreferenzliste (12) zu der entsprechenden durch den jeweiligen Funktionszeiger referenzierten Programmfunktion (14) die jeweiligen Koeffizienten hinterlegt sind, wobei das Anwendungsprogramm (10) eingerichtet ist, basierend auf der vorgegebenen Funktionsauswahl aus der in einem digitalen Datenspeicher (8) hinterlegten Funktionsreferenzliste (12) weiterhin die Koeffizienten bezüglich der durch den ermittelten Funktionszeiger referenzierten Programmfunktion (14) zu ermitteln und mittels des ermittelten Funktionszeigers und der Koeffizienten die der vorgegebenen Funktionsauswahl entsprechenden Programmfunktion (14) zur Bearbeitung der in den Eingangs- und/oder Ausgangssignalen enthaltenen Daten auszuführen.
  7. Automatisierungseinrichtung (1) nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass jede Programmfunktion (14) in der Funktionsreferenzliste (12) durch einen eindeutigen Bezeichner identifizierbar ist, der mit der vorgegebenen Funktionsauswahl korrespondiert.
  8. Verfahren zum Betrieb einer Automatisierungseinrichtung (1) mit den Schritten: - Empfangen von Eingangssignalen mittels eines Eingangs (2) der Automatisierungseinrichtung (1) und/oder Ausgeben von Ausgangssignalen mittels eines Ausgangs (4) der Automatisierungseinrichtung (1); - Verarbeiten der in den Eingangs- und/oder Ausgangssignalen enthaltenen Daten mittels einer Programmfunktion (14) eines in der Automatisierungseinrichtung (1) ausgeführten Anwendungsprogrammes (10); gekennzeichnet durch - Ermitteln eines Funktionszeigers aus einer in einem digitalen Datenspeicher (8) hinterlegten Funktionsreferenzliste (12) basierend auf einer vorgegebenen Funktionsauswahl durch das Anwendungsprogramm (10), wobei der Funktionszeiger auf eine von mehreren in einem digitalen Programmspeicher (7) hinterlegten Programmfunktionen (14) referenziert, wobei die durch den Funktionszeiger referenzierte Programmfunktion (14) mit der vorgegebenen Funktionsauswahl korrespondiert, und - Ausführen der der vorgegebenen Funktionsauswahl entsprechenden Programmfunktion (14) mittels des ermittelten Funktionszeigers durch das Anwendungsprogramm (10).
  9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass die der vorgegebenen Programmfunktion (14) entsprechenden Programmfunktion (14) bedarfsweise mittels des ermittelten Funktionszeigers durch das Anwendungsprogramm (10) zur Bearbeitung der in den Eingangs- und/oder Ausgangssignalen enthaltenen Daten aus dem digitalen Programmspeicher (7) in einen digitalen Arbeitsspeicher geladen und ausgeführt werden.
  10. Verfahren nach Anspruch 8 oder 9, dadurch gekennzeichnet, dass mittels des Anwendungsprogramms (10) basierend auf der vorgegebenen Funktionsauswahl aus der in einem digitalen Datenspeicher (8) hinterlegten Funktionsreferenzliste (12) weiterhin Funktionsattribute bezüglich der durch den ermittelten Funktionszeiger referenzierten Programmfunktion (14) ermittelt und mittels des ermittelten Funktionszeigers und der Funktionsattribute die der vorgegebenen Funktionsauswahl entsprechenden Programmfunktion (14) zur Bearbeitung der in den Eingangs- und/oder Ausgangssignalen enthaltenen Daten ausgeführt wird.
  11. Verfahren nach einem der Ansprüche 8 bis 10, dadurch gekennzeichnet, dass im laufenden Betrieb der Automatisierungseinrichtung (1) ohne Unterbrechung des Anwendungsprogramms (10) zusätzliche Programmfunktionen (14) in dem digitalen Programmspeicher (7) hinzugefügt, bestehende Programmfunktionen (14) in dem digitalen Programmspeicher (7) ersetzt und/oder gelöscht und die in dem digitalen Datenspeicher (8) hinterlegte Funktionsreferenzliste (12) an diese Veränderungen angepasst wird.
  12. Verfahren nach einem der Ansprüche 8 bis 11, dadurch gekennzeichnet, dass ein oder mehrere in dem digitalen Programmspeicher (7) hinterlegten Programmfunktionen (14) zur Berechnung eines Funktionswertes ein Polynom n-ten Grades verwenden, wobei in der in dem digitalen Datenspeicher (8) hinterlegten Funktionsreferenzliste (12) zu der entsprechenden durch den jeweiligen Funktionszeiger referenzierten Programmfunktion (14) die jeweiligen Koeffizienten hinterlegt sind, wobei mittels des Anwendungsprogramms (10) basierend auf der vorgegebenen Funktionsauswahl aus der in einem digitalen Datenspeicher (8) hinterlegten Funktionsreferenzliste (12) weiterhin die Koeffizienten bezüglich der durch den ermittelten Funktionszeiger referenzierten Programmfunktion (14) ermittelt und mittels des ermittelten Funktionszeigers und der Koeffizienten die der vorgegebenen Funktionsauswahl entsprechenden Programmfunktion (14) zur Bearbeitung der in den Eingangs- und/oder Ausgangssignalen enthaltenen Daten ausgeführt wird.
DE102018100657.8A 2018-01-12 2018-01-12 Automatisierungseinrichtung und Verfahren zum Betrieb einer Automatisierungseinrichtung Pending DE102018100657A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102018100657.8A DE102018100657A1 (de) 2018-01-12 2018-01-12 Automatisierungseinrichtung und Verfahren zum Betrieb einer Automatisierungseinrichtung
US16/247,195 US10983491B2 (en) 2018-01-12 2019-01-14 Automation device and method for operating an automation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102018100657.8A DE102018100657A1 (de) 2018-01-12 2018-01-12 Automatisierungseinrichtung und Verfahren zum Betrieb einer Automatisierungseinrichtung

Publications (1)

Publication Number Publication Date
DE102018100657A1 true DE102018100657A1 (de) 2019-07-18

Family

ID=67068265

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018100657.8A Pending DE102018100657A1 (de) 2018-01-12 2018-01-12 Automatisierungseinrichtung und Verfahren zum Betrieb einer Automatisierungseinrichtung

Country Status (2)

Country Link
US (1) US10983491B2 (de)
DE (1) DE102018100657A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017153796A1 (en) * 2016-03-11 2017-09-14 Intel Corporation Technologies for indirectly calling vector functions

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006044182A1 (de) * 2006-09-15 2008-03-27 Abb Patent Gmbh System und Verfahren zur bedarfsgerechten Funktionalisierung von Steuer-/Regeleinrichtungen
WO2008109713A2 (en) * 2007-03-05 2008-09-12 Jorge Sanchez Method and firmware for controlling an inverter voltage by drive signal frequency
US9958848B2 (en) * 2015-02-19 2018-05-01 Rockwell Automation Technologies, Inc. Techniques for improving industrial control systems
US20160363919A1 (en) * 2015-06-09 2016-12-15 Fisher Controls International Llc Custom application environment in a process control device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017153796A1 (en) * 2016-03-11 2017-09-14 Intel Corporation Technologies for indirectly calling vector functions

Also Published As

Publication number Publication date
US20190219977A1 (en) 2019-07-18
US10983491B2 (en) 2021-04-20

Similar Documents

Publication Publication Date Title
EP1330685B1 (de) Prüfverfahren und prüfvorrichtung zur inbetriebnahme von mittels einer programmlogik gesteuerten systemen
EP3523703B1 (de) Verfahren zur softwareaktualisierung bei cloud-gateways, computerprogramm mit einer implementation des verfahrens und verarbeitungseinheit zur ausführung des verfahrens
EP1146432A2 (de) Umkonfigurierungs-Verfahren für programmierbare Bausteine während der Laufzeit
EP2706421B1 (de) Verfahren zur rechnergestützten Erzeugung mindestens eines Teils eines ausführbaren Steuerungsprogramms
DE102008008357A1 (de) Verfahren und System zur Ermittlung von Zuverlässigkeitsparametern einer technischen Anlage
EP2330469B1 (de) Verfahren und Entwicklungsumgebung zur Erzeugung eines ausführbaren Gesamtsteuerungsprogramms
EP2943748B1 (de) Verfahren und vorrichtung zum verwalten von kartendaten einer digitalen karte einer navigationseinrichtung
DE102017222327A1 (de) Verfahren zur automatisierten Prozesskontrolle einer Digitaldruckmaschine
DE112014004709B4 (de) Steuerungssystem, Leitstation, extern gesteuerte Station
EP3015992B1 (de) Verfahren zur verwaltung priorisierter eingangsdaten
DE102011107646A1 (de) Verfahren und System zur dynamischen Verteilung von Programmfunktionen in verteilten Steuerungssystemen
EP3598255A1 (de) Anordnung mit operator-servern und mit operator-clients
DE102018100657A1 (de) Automatisierungseinrichtung und Verfahren zum Betrieb einer Automatisierungseinrichtung
DE102016123599A1 (de) Robotersteuerung mit Funktion zur Kommunikation mit einer speicherprogrammierbaren Steuerung und Kommunikationssystem
DE102020119853B3 (de) Verfahren zum Steuern eines Automatisierungssystems mit Visualisierung von Programmobjekten eines Steuerprogramms des Automatisierungssystems und Automatisierungssystem
EP1593007A2 (de) Verfahren zur ermittlung der verarbeitungsreihenfolge von funktionsbausteinen eines automatisierungssystems und automatisierungssystem
EP2490086B1 (de) Verfahren zum Betrieb eines Automatisierungssystems und nach dem Verfahren arbeitendes Computerprogramm
DE102008035654A1 (de) Verfahren zur Anpassung einer Steuerungslogik eines Systems
DE102015100736A1 (de) Computerimplementiertes Verfahren zur automatischen Generierung wenigstens eines eine Treiberfunktion repräsentierenden Blocks für eine blockbasierte Modellierungsumgebung
DE102008004923B4 (de) Verfahren zur Aktualisierung eines Steuerungsablaufes einer Maschinensteuerung sowie Vorrichtung zur Durchführung des Verfahrens
EP3948449B1 (de) Verfahren und engineering-system zur änderung eines programms einer industriellen automatisierungskomponente
EP1553524B1 (de) Vorbereitung und Durchführung von Diensten für eine Datenverarbeitungseinheit
EP1967920A1 (de) Verfahren zur Durchführung von Softwareupdates in FPGA-basierte Automatisierungsgeräte
EP1184760B1 (de) Verfahren zur Steuerung und/oder Regelung eines technischen Prozesses
DE102018133557A1 (de) Automatisierungseinrichtung, Anlagenmodul und Verfahren zur lokalen Steuerung einer technischen Hardware

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R082 Change of representative

Representative=s name: MEISSNER BOLTE PATENTANWAELTE RECHTSANWAELTE P, DE