-
Die Erfindung betrifft ein dynamisches speicherprogrammierbares Steuergerät für den Einsatz in einem Prozessleitsystem, umfassend mindestens eine feldseitige E/A-Schnittstelle zur Steuerung von mindestens einem Feldgerät, einen beschreibbaren Datenspeicher, mindestens einen Prozessor zur Ausführung darauf gespeicherter Software sowie eine Programmierschnittstelle zur Übertragung ausführbarer Software über eine Programmierstation auf den Datenspeicher.
-
Das Einsatzgebiet der Erfindung erstreckt sich auf durch Computerprogramme automatisierte Anlagen, insbesondere Prozessleitsysteme, beispielsweise Fertigungsanlagen in der Automobil- oder Nahrungsmittelindustrie. Solche Anlagen enthalten im Allgemeinen sogenannte Feldgeräte, die direkt in den Fertigungsprozess eingebunden sind, beispielsweise in Form von Motoren, Aktoren oder Sensoren. Zur Ansteuerung dieser Feldgeräte werden feldnahe Steuergeräte, beispielsweise speicherprogrammierbare Steuergeräte, eingesetzt, die darüber hinaus mit Bedienelementen und Anzeigeelementen kommunizieren, über die ein Benutzer die Anlage steuern, regeln oder überwachen kann. Des Weiteren existiert im Allgemeinen auf der Benutzerseite eine Programmierstation, über die die Steuerungssoftware auf die speicherprogrammierbaren Steuergeräten übertragen werden kann. Dies ist beispielsweise erforderlich beim Aufbau der automatisierten Anlage oder wenn sich auf der Benutzerseite oder auf der Prozessseite neue Anforderungen ergeben, beispielsweise aufgrund von Modernisierung oder aufgrund von Austausch alter gegen neuer Hardware oder weil neue Feldgeräte in den Prozess eingebunden werden.
-
Ferner kann es wünschenswert sein, Steuergeräte komplett auszutauschen. Wenn die Hardware des neuen speicherprogrammierbaren Steuergerätes, beispielsweise seine Ein- und Ausgänge oder seine Prozessorarchitektur oder seine Speicherstruktur, nicht identisch ist zu der Hardware des alten Steuergerätes, so muss für dieses neue speicherprogrammierbare Steuergerät eine neue Steuerungssoftware entwickelt werden, die an die Anforderungen der Anlage angepasst ist. Ein solcher Softwareentwicklungsprozess kann sehr zeitaufwendig sein, und da das speicherprogrammierbare Steuergerät während der Entwicklung in die Anlage eingebunden ist, kann es während dieser Entwicklungszeit zu Betriebsstörungen kommen. Dies gilt insbesondere auch wenn beispielsweise ein fremdes Steuergerät eines anderen Herstellers eingesetzt wird.
-
Im Stand der Technik allgemein bekannt sind Soft-SPS Systeme, bei denen auf einem PC eine SPS emuliert wird, also eine virtuelle SPS erzeugt wird. Unter Emulation versteht man informationstechnisch grundlegend die Nachbildung eines zugrundeliegenden Systems oder dessen Funktionsweise durch ein anders aufgebautes System. Eine solche Nachbildung wir dann als virtuell bezeichnet. Beispielsweise wird die Hardware eines physischen Gerätes mit Hilfe einer anderen Hardware oder einer Virtualisierungssoftware nachgebildet. Idealerweise ist ein so erzeugtes virtuelles Gerät von seiner internen Funktionsweise und von den Schnittstellen nach außen ununterscheidbar von dem physischen Gerät, das diesem virtuellen Gerät zugrundeliegt. Diese sind jedoch aus mehreren Gründen nicht als gleichwertiger Ersatz für ein physisches SPS Modul geeignet. Bei einer Soft-SPS wird eine Software, die eine physische SPS emuliert, gegebenenfalls innerhalb eines virtuellen Echtzeitbetriebssystems ausgeführt, allerdings jedem Fall innerhalb eines übergeordneten PC-Betriebssystems. Dieses kann zwar über Echtzeiterweiterungen verfügen, ist aber dennoch auch aufgrund der komplexen Zusammenarbeit vieler, auch an der Soft-SPS nicht beteiligter, Komponenten anfällig für Systemabstürze, welche wiederum die Soft-SPS mit betreffen würden, weshalb solche Systeme nicht in sicherheitskritischen Prozessleitsystemen eingesetzt werden. Ferner kann ein PC zwar beispielsweise durch eine Slot-SPS über E/A-Schnittstellen verfügen, ist von seiner Bauform aber typischerweise nicht geeignet, beispielsweise in einen Schaltkasten eingesetzt zu werden.
-
Aus der
DE 10 2008 016 048 A1 geht ein Prozessleitsystem hervor, in welchem das Problem der Einbindung eines fremden speicherprogrammierbaren Steuergerätes wie folgt gelöst wird. Hier wird eine Steuereinheit zwischen das speicherprogrammierbare Steuergerät und die Benutzerseite eingefügt, welches in Richtung der Benutzerseite ein systemkonformes speicherprogrammierbares Steuergerät simuliert und auf der anderen Seite mit dem fremden speicherprogrammierbaren Steuergerät kommunizieren kann. Somit ist es möglich, die Feldgeräte, die mit dem fremden speicherprogrammierbaren Steuergerät zusammenarbeiten, benutzerseitig zu überwachen oder zu steuern oder zu regeln. Nachteilhaft an dieser Lösung ist, dass mit dem Steuerrechner eine zusätzliche Komponente in das System eingeführt werden muss, mit dem dazugehörigen Wartungs- und Platzbedarf.
-
Es ist daher die Aufgabe der vorliegenden Erfindung, ein speicherprogrammierbares Steuergerät zu schaffen, welches stellvertretend für speicherprogrammierbare Steuergeräte mit unterschiedlicher Hardware eingesetzt werden kann, und welches die Entwicklung von Steuerungssoftware bei möglichst geringer Beeinträchtigung des Betriebs der automatisierten Anlage ermöglicht.
-
Die Aufgabe wird ausgehend von einem speicherprogrammierbaren Steuergerät gemäß dem Oberbegriff von Anspruch 1 in Verbindung mit dessen kennzeichnenden Merkmalen gelöst. Der Betrieb und die Programmierung eines solchen speicherprogrammierbaren Steuergerätes werden durch die Verfahren in den Ansprüchen 9 bis 12 beschrieben. Ein Prozessleitsystem, das ein solches speicherprogrammierbares Steuergerät einsetzt, wird in Anspruch 8 beschrieben und hinsichtlich eines hiermit im Zusammenhang stehenden Computerprogrammprodukts sowie eines Datenträgers wird auf die Ansprüche 13 beziehungsweise 14 verwiesen.
-
Die Erfindung schließt die technische Lehre ein, dass der mindestens eine Prozessor die Hardware mindestens eines zugrundeliegenden speicherprogrammierbaren Steuergerätes emuliert, wobei das hierdurch erzeugte mindestens eine virtuelle speicherprogrammierbaren Steuergerät Zugriff auf die mindestens eine feldseitige E/A-Schnittstelle besitzt.
-
Der Vorteil der Erfindung besteht darin, dass ein Austausch von virtueller Hardware stattfinden kann, ohne physisch in das Prozessleitsystem einzugreifen, und dass alte beziehungsweise veraltete Hardware durch das erfindungsgemäße speicherprogrammierbare Steuergerät zu Entwicklungszwecken emuliert werden kann. Soll beispielsweise ein physisches Steuergerät eingesetzt werden, das mit einem bestimmten Aktor zusammenarbeitet, so kann die Architektur beziehungsweise die Hardware dieses physischen Steuergerätes in dem dynamischen speicherprogrammierbaren Steuergerät virtualisiert werden, ohne dass ein physisches Steuergerät ausgewechselt werden muss.
-
Vorzugsweise wird die dazu nötige Virtualisierungssoftware über die Programmierschnittstelle auf den Datenspeicher übertragen. In diesem Fall lassen sich so flexibel mehrere verschiedene physische Steuergeräte gegebenenfalls auch parallel emulieren, indem eine Virtualisierungssoftware für deren Hardware übertragen wird. Alternativ lässt sich eine Emulation auch statt über eine Virtualisierungssoftware auch über die Hardware des dynamischen speicherprogrammierbaren Steuergerätes durchführen, was beispielsweise mit Vorteilen bezüglich der Rechengeschwindigkeit des virtuellen Steuergerätes verbunden sein kann.
-
Gemäß einer die Erfindung verbessernden Maßnahme kommuniziert das dynamische speicherprogrammierbare Steuergerät über eine terminalseitige E/A-Schnittstelle mit eine Bedien- und Beobachtungsstation, um die Programmierung der Steuerungssoftware oder der Virtualisierungssoftware zu vereinfachen und/oder um die mit dem dynamischen speicherprogrammierbaren Steuergerät kommunizierenden Feldgeräte zu überwachen oder durch menschlichen Eingriff zu regeln.
-
Bevorzugterweise kann dann genau die Steuerungssoftware, die für den Einsatz auf dem vorgesehenen physischen Steuergerät angepasst ist, auf dem virtuellen Steuergerät installiert werden, so dass dieses virtuelle Steuergerät von außen quasi ununterscheidbar und insbesondere gleichermaßen funktionsfähig ist wie die physische Vorlage. Um diese Steuerungssoftware auf das virtuelle Steuergerät zu übertragen, kann bevorzugterweise die gleiche Programmierstation verwendet werden, die auch die physischen speicherprogrammierbaren Steuergeräte programmieren kann.
-
In einer bevorzugten Ausführung der Erfindung laufen die Virtualisierungssoftware und/oder die Steuerungssoftware eines virtuellen speicherprogrammierbaren Steuergerätes auf einem Echtzeitbetriebssystem. Alternativ kann die Emulation auch direkt auf der Hardware des dynamischen speicherprogrammierbaren Steuergerätes durchgeführt werden, ohne einem Betriebssystem als Zwischenschicht.
-
In einem die Erfindung betreffenden Verfahren wird auf einem optional bereits in das Prozessleitsystem eingebauten dynamischen speicherprogrammierbaren Steuergerät ein erstes speicherprogrammierbares Steuergerät virtualisiert und mit einer an dieses Steuergerät angepassten Steuerungssoftware versehen. Dadurch ist dann das dynamische speicherprogrammierbare Steuergerät idealerweise komplett austauschbar mit dem ersten speicherprogrammierbaren Steuergerät.
-
Um nun ein weiteres, neues speicherprogrammierbares Steuergerät zu schaffen, das gegebenenfalls neuen Anforderungen der Anlage entspricht, wird ein zweites speicherprogrammierbares Steuergerät auf dem dynamischen speicherprogrammierbaren Steuergerät emuliert und über die Programmierschnittstelle programmiert. Um während dieses Vorgangs, der, wie zu Beginn erwähnt, lange Zeit in Anspruch nehmen kann, den Betrieb der Anlage aufrechtzuerhalten, läuft das erste virtuelle speicherprogrammierbare Steuergerät unterdessen weiter. Erst wenn die Steuerungssoftware des zweiten virtuellen speicherprogrammierbaren Steuergerätes zufriedenstellend beziehungsweise fertig programmiert ist, kann es parallel oder anstelle des ersten virtuellen Feldgerätes permanent eingesetzt werden. Gleichermaßen kann dann auch das dynamische speicherprogrammierbare Steuergerät durch ein physisches speicherprogrammierbares Steuergerät, welches dem zweiten virtuellen speicherprogrammierbaren Steuergerät zugrundeliegt, mit der neuen Steuerungssoftware ausgetauscht werden.
-
Diese Steuerungssoftware kann außerdem statt auf dem zweiten virtuellen speicherprogrammierbaren Steuergerät auch direkt auf dem dynamischen speicherprogrammierbaren Steuergerät entwickelt werden, so dass dieses selbst als speicherprogrammierbares Steuergerät wirkt, ohne die Abstraktion durch die Virtualisierung, die beispielsweise Leistungseinbußen verursachen kann.
-
Die erfindungsgemäße Lösung lässt sich auch als Computerprogrammprodukt verkörpern, welches, wenn es auf einem Prozessor des erfindungsgegenständlichen dynamischen speicherprogrammierbaren Steuergerätes läuft, den Prozessor softwaremäßig anleitet, die zugeordneten erfindungsgegenständlichen Verfahrensschritte durchzuführen.
-
In diesem Zusammenhang gehört auch ein computerlesbares Medium zum Gegenstand der Erfindung, auf dem ein vorstehend beschriebenes Computerprogrammprodukt abrufbar gespeichert ist.
-
Weitere, die Erfindung verbessernde Maßnahmen werden nachstehend gemeinsam mit der Beschreibung von zwei bevorzugten Ausführungsbeispielen der Erfindung anhand der Figuren näher dargestellt. Es zeigen
-
1 ein speicherprogrammierbares Steuergerätes nach dem Stand der Technik während der Steuerungssoftwareentwicklung, und
-
2 ein erstes Ausführungsbeispiel eines erfindungsgemäßen dynamischen speicherprogrammierbaren Steuergerätes während der Steuerungssoftwareentwicklung, und
-
3 ein zweites Ausführungsbeispiel eines erfindungsgemäßen dynamischen speicherprogrammierbaren Steuergerätes während der Steuerungssoftwareentwicklung.
-
Gemäß 1 besteht ein Prozessleitsystem 1 des Standes der Technik aus einer Bedien- und Beobachtungsstation 2, die über einen Terminalbus 3 und über eine terminalseitigen E/A-Schnittstelle 4 eines fremden physischen speicherprogrammierbaren Steuergerätes 5 mit dessen Prozessor 6 verbunden ist, dessen Steuerungssoftware 7 nicht an das Prozessleitsystem angepasst ist. Eine in der Entwicklung befindliche Steuerungssoftware 7, die auf dem Datenspeicher 8 gespeichert ist, wird von dem Prozessor 6 ausgeführt, welcher außerdem über eine zweite feldseitige E/A-Schnittstelle 9 über einen Feldbus 10 mit den Feldgeräten 11 kommuniziert. Die Kommunikation muss dabei nicht über eine direkte galvanische Verbindung stattfinden sondern kann beispielsweise über nicht dargestellte Elemente, einschließlich beispielsweise Optokoppler oder A/D-Wandler vermittelt werden. Ferner ist an dem physischen speicherprogrammierbaren Steuergerät 5 eine Programmierschnittstelle 12 vorgesehen, die mit einer Programmierstation 13 verbunden ist.
-
Da die Steuerungssoftware 7 auf diesem physischen speicherprogrammierbaren Steuergerät 5 durch die Programmierstation 13 erst noch entwickelt werden muss, um an die Anforderungen des Prozessleitsystems angepasst zu sein, kommt es gegebenenfalls zu Ausfällen und Fehlverhalten in der feld- und terminalseitigen Kommunikation des physischen speicherprogrammierbaren Steuergerätes 5 und den in Verbindung stehenden Feldgeräten 11 und der Bedien- und Beobachtungsstation 2, hier daher mit gestrichelten Linien dargestellt.
-
2 zeigt wie die Programmierung des fremden speicherprogrammierbaren Steuergerätes 5 mit Hilfe des erfindungsgemäßen dynamischen speicherprogrammierbaren Steuergerätes 14 vollzogen werden kann. Hier ist ausgehend von der in 1 dargestellten Situation an Stelle des physischen speicherprogrammierbaren Steuergerätes 5 ein dynamisches speicherprogrammierbares Steuergerät 14 eingesetzt, auf dessen Datenspeicher 28 eine Virtualisierungssoftware 15 gespeichert ist, welcher ein physisches, nicht dargestelltes, speicherprogrammierbares Steuergerät zugrundeliegt, dessen Hardware und Steuerungssoftware 16 an das Prozessleitsystem angepasst sind. Diese Steuerungssoftware 16 ist auf dem Datenspeicher 28 gespeichert. Der Prozessor 27 erzeugt durch Ausführen der Virtualisierungssoftware 15 ein virtuelles erstes speicherprogrammierbares Steuergerät 17. Dieser umfasst einen virtuellen Datenspeicher 19, auf welchem die Steuerungssoftware 16 gespeichert ist, und einen virtuellen Prozessor 18, der somit die Steuerungssoftware 16 ausführen kann. Da das virtuelle erste speicherprogrammierbare Steuergerät 17 Zugriff auf die E/A-Schnittstellen 25, 26 besitzt, kann das dynamische speicherprogrammierbare Steuergerät 14 fehlerfrei mit der Bedien- und Beobachtungsstation 2 sowie den Feldgeräten 11 kommunizieren. Diese Kommunikation ist dabei ununterscheidbar von der mit dem physischen, zugrundeliegenden speicherprogrammierbaren Steuergerät und bewirkt somit insbesondere keine Fehlfunktionen oder Ausfälle.
-
Um nun die Steuerungssoftware 7 für das fremde physische speicherprogrammierbare Steuergerät 5 zu entwickeln, führt der Prozessor 6 eine zweite Virtualisierungssoftware 20 aus, der das fremde physische Steuergerät 5 zugrunde liegt, und erzeugt dadurch ein zweites virtuelles speicherprogrammierbares Steuergerät 21. Dessen zweiter virtueller Prozessor 22 führt die auf dem zweiten virtuellen Datenträger 23 gespeicherte Steuerungssoftware 7 aus, und erlaubt es somit deren Entwicklung mithilfe der Kommunikation über die E/A-Schnittstellen 25, 26. Da der eigentliche Betrieb des Prozessleitsystems 1 gleichzeitig über das erste virtuelle speicherprogrammierbare Steuergerät 17 gesichert ist, produziert diese parallele Entwicklung kein Fehlerverhalten und keinen Ausfall. Ist der Entwicklungsprozess abgeschlossen, arbeiten beide virtuelle speicherprogrammierbare Steuergeräte 17, 15 fehlerfrei. In diesem Zustand ist das Prozessleitsystem voll funktionsfähig. Nun kann optional das erste virtuelle speicherprogrammierbare Steuergerät 17 entfernt oder deaktiviert werden, sofern das zweite virtuelle speicherprogrammierbare Steuergerät 21 alle gewünschten Funktionen erfüllt. Außerdem ist es jetzt möglich, nun das dynamische speicherprogrammierbare Steuergerät 14 durch das fremde physische speicherprogrammierbare Steuergerät 5 mit der neuen Steuerungssoftware 7 zu ersetzen. Während dieses Verfahrens kommt es insbesondere zu keinem Zeitpunkt zu Fehlverhalten oder zu Ausfällen des Prozessleitsystems 1.
-
In 3 ist dargestellt, wie im Unterschied zu dem Ausführungsbeispiel in 2 auf die zweite Virtualisierungssoftware 20 verzichtet wird. Hier wird eine weitere, mit der Hardware des dynamischen speicherprogrammierbaren Steuergerätes kompatible Steuerungssoftware 24 direkt auf dessen Prozessor 27 zu Entwicklungszwecken ausgeführt, also ohne eine möglicherweise rechengeschwindigkeitshemmende Abstraktionsschicht in Form einer Virtualisierung. Nach dieser Entwicklung ist es ebenfalls möglich, das erste virtuelle speicherprogrammierbare Steuergerät 14 zu entfernen beziehungsweise zu deaktivieren.
-
Die Erfindung ist nicht beschränkt auf die vorstehend beschriebenen bevorzugten Ausführungsbeispiele. Es sind vielmehr auch Abwandlungen hiervon denkbar, welche vom Schutzbereich der nachfolgenden Ansprüche mit umfasst sind. So ist es beispielsweise möglich, dass das dynamische speicherprogrammierbare Steuergerät über mehr als einen Prozessor verfügt, die beispielsweise parallel mehrere virtuelle speicherprogrammierbare Steuerungen oder Instanzen davon erzeugen können.
-
Bezugszeichenliste
-
- 1
- Prozessleitsystem
- 2
- Bedien- und Beobachtungsstation
- 3
- Terminalbus
- 4
- terminalseitige E/A-Schnittstelle von 5
- 5
- physisches speicherprogrammierbares Steuergerät
- 6
- Prozessor von 5
- 7
- Steuerungsprogramm für 5
- 8
- Datenspeicher von 5
- 9
- feldseitige E/A-Schnittstelle von 5
- 10
- Feldbus
- 11
- Feldgeräte
- 12
- Programmierschnittstelle
- 13
- Programmierstation
- 14
- dynamisches speicherprogrammierbares Steuergerät
- 15
- erste Virtualisierungssoftware
- 16
- erste Steuerungssoftware
- 17
- erstes virtuelles speicherprogrammierbares Steuergerät
- 18
- erster virtueller Prozessor
- 19
- erster virtueller Datenspeicher
- 20
- zweite Virtualisierungssoftware
- 21
- zweites virtuelles speicherprogrammierbares Steuergerät
- 22
- zweiter virtueller Prozessor
- 23
- zweiter virtueller Datenspeicher
- 24
- weitere Steuerungssoftware
- 25
- terminalseitige E/A-Schnittstelle von 14
- 26
- feldseitige E/A-Schnittstelle von 14
- 27
- Prozessor von 14
- 28
- Datenspeicher von 14
- 29
- Programmierschnittstelle von 14
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- DE 102008016048 A1 [0005]