-
Die vorliegende Erfindung liegt auf dem Gebiet der Automatisierungstechnik und betrifft ein Verfahren zum Konfigurieren einer Automatisierungsanlage zur Steuerung eines Prozesses. Ferner betrifft die vorliegende Erfindung ein Automatisierungsmodul und ein Computerprogrammprodukt.
-
Derzeit werden zum Entwurf einer Automatisierungsanlage Automatisierungsprogramme überwiegend nach den gemäß der in der zum Zeitrang der Anmeldung gültigen Norm IEC 61131 definierten Programmiersprachen erstellt. Zur Erstellung von Anwenderprogrammen werden Engineering Werkzeuge verwendet, beispielsweise PC WORX. Neben der Erstellung der Anwenderprogramme, bieten diese Engineering Werkzeuge eine Möglichkeit, eine Konfiguration von angeschlossenen IO-Netzwerken, wie PROFINET-IO oder INTERBUS, zu erstellen. Dies umfasst eine Auswahl der IO-Geräte, eine Einstellung ihrer Parameter und eine Verknüpfung von IO-Datenpunkten mit entsprechenden IO-Variablen gemäß obiger IEC Programmierung (IO = Input/Output).
-
Ein Automatisierungsprojekt setzt sich aus verschiedenen Teilen zusammen, wie beispielsweise IEC Programmierung, IO Konfiguration, HMI-Symbole (HMI = Humane Machine Interface) oder Visualisierungsseiten, etc.. Jeder dieser Teile wird in diesem Zusammenhang als „Disziplin“ verstanden. Demnach ist eine Disziplin ein Teilbereich. Eine Disziplin kann auch als „Gewerk“ bezeichnet werden. Hierbei sind die Begriffe „Disziplin“ und „Gewerk“ bedeutungsgleich zu verstehen.
-
Ferner wird unter einem „Artefakt“ ein Element einer Disziplin verstanden, insbesondere ein Funktionsbaustein in einem Automatisierungsmodul.
-
Insgesamt weist ein Automatisierungsmodul eine Vielzahl von Artefakten aus verschiedenen Disziplinen auf.
-
Zusätzlich können weitere Disziplinen vorhanden sein, wie eine Visualisierung, eine sicherheitsgerichtete Programmierung oder eine Netzwerkkonfiguration. Diese Disziplinen können im gleichen oder in getrennten Engineering Programmen ausgeprägt sein.
-
Bei der Erstellung von Anwenderprogrammen werden häufig Bibliotheken genutzt, welche Teile der Programmierung in Funktionsblöcken oder Programmen zusammenfassen. Diese Bibliotheken können vom Hersteller, Anwender oder Dritten erstellt werden.
-
Insbesondere in der Fertigungsautomation sind Bibliotheken von besonderer Bedeutung, da sich Automatisierungsanlagen, nachfolgend auch als Anlagen bezeichnet, zunehmend aus vordefinierten Modulen zusammensetzen, die in jeder neuen Anlage wieder in einer neuen Konfiguration zusammengestellt werden.
-
Neben dem Programm gemäß obiger IEC-Norm sind auch die Konfiguration für IO-Netzwerke, Visualisierungsseiten, etc. sowie deren Verschaltungen miteinander zu erstellen. Die einzelnen genannten Disziplinen werden durch entsprechende Bibliotheksfunktionen unterstützt.
-
Nachteilig dabei ist, dass Disziplinen unabhängig voneinander sind.
-
Es ist eine Aufgabe der vorliegenden Erfindung, eine Lösung anzugeben, um Disziplinen besser miteinander zu verknüpfen.
-
Diese Aufgabe wird erfindungsgemäß durch die Merkmale des Patentanspruchs 1 gelöst. Ferner wird die Aufgabe durch ein Automatisierungsmodul gemäß Patentanspruch 10 und ein Computerprogrammprodukt gemäß Patentanspruch 15 gelöst. Weitere Ausgestaltungen ergeben sich aus den Unteransprüchen.
-
Die Aufgabe der Erfindung wird mit einem Verfahren zum Konfigurieren einer Automatisierungsanlage zur Steuerung eines Prozesses gelöst. Bei dem Verfahren ist ein Abbilden einer physikalischen Automatisierungseinrichtung auf ein nicht-instanziiertes Automatisierungsmodul vorgesehen, wobei das nicht-instanziierte Automatisierungsmodul einen Gerätetyp festlegt und mindestens ein Artefakt, insbesondere wenigstens zwei Artefakte sowie Verbindungen zwischen diesen Artefakten, aufweist. Ferner weist das Verfahren ein Bereitstellen eines nicht-instanziierten Automatisierungsmoduls in einer Bibliothek und ein Abrufen des nicht-instanziierten Automatisierungsmoduls aus der Bibliothek auf. Ferner sieht das Verfahren ein Instanziieren des Automatisierungsmoduls und ein Verorten des instanziierten Automatisierungsmoduls vor.
-
Es wird erfindungsgemäß eine Lösung vorgeschlagen, mit der übergreifend über unterschiedliche Disziplinen (IEC Programmierung, Visualisierung, Netzwerkkonfiguration, Sichere Programmierung, Motion Control, etc.) in Summe ein gemeinsames Typen-Objekt in Art eines Containers erstellt werden kann. Dieser Container wird im Folgenden als Automatisierungsmodul (AM) bezeichnet.
-
Unter „Automatisierungsmodul“ wird folglich die Zuordnung eines Artefaktes oder eine Ansammlung von Artefakten aus unterschiedlichen Engineering Disziplinen verstanden, wobei die unterschiedlichen Engineering Disziplinen unterschiedliche Artefakte und/oder Eigenschaften eines Gerätetyps, beispielsweise einer mechatronischen Einrichtung, beschreiben. Demnach beschreibt ein Automatisierungsmodul einen bestimmten Gerätetyp, beispielsweise eine mechatronische Einrichtung, insbesondere hinsichtlich dessen Funktion, physikalischen Schnittstellen und dessen interner Verschaltung. Hierbei wird ein solches Automatisierungsmodul wie ein Container in einer Bibliothek verwendet.
-
Das Automatisierungsmodul kann beispielhaft folgende Artefakte aufweisen, wobei unter einem Artefakt ein Element einer Disziplin verstanden wird:
- - IEC 61131 Programme, Funktionsblöcke, Funktionen;
- - IEC 61508 konform entwickelte Programmteile;
- - Visualisierungsseiten sowie Symbole;
- - IO-Module einschließlich ihrer Konfigurationsdaten;
- - Konfiguration von Antrieben und Kurvenscheiben, etc.
-
Neben den einzelnen Artefakten können auch die Verknüpfungen zwischen Datenpunkten der einzelnen Artefakte als ein weiteres Artefakt in dem Automatisierungsmodul abgelegt werden. Ein Automatisierungsmodul kann Artefakte zu allen oder auch nur zu einem Teil der Disziplinen aufweisen.
-
Insbesondere bei physikalischen Verbindungen bzw. Hardwareverknüpfungen oder anderen internen Verschaltungen können neben oder anstelle der Festlegung einer konkreten Hardware-Ausprägung auch nur Anforderungen an die zu verknüpfenden IO-Signale enthalten sein.
-
Ein Beispiel hierfür ist eine konkrete Ausprägung eines SPS-Erweiterungsmoduls, bei dem eine feste Zuordnung von Klemme zu Variable oder Visualisierungsobjekt bereits vorgegeben ist. Alternativ hierzu kann das Automatisierungsmodul auch nur die Anforderung enthalten, dass z.B. drei analoge Ausgangssignale mit 20 mA angeschlossen werden sollen.
-
Bei einem „Erstellen eines Automatisierungsmoduls“ wird eine physikalische Automatisierungsanlage, die bereits existiert oder in Planung ist, auf ein Automatisierungsmodul abgebildet. Hierbei ist das Automatisierungsmodul noch nicht instanziiert und kann für eine Vielzahl von Automatisierungsaufgaben eines Gerätetyps verwendet werden. Es werden bei dem Erstellen beispielsweise mehrere Artefakte beliebiger Disziplinen einem einzigen Automatisierungsmodul zugeordnet. Innerhalb des Automatisierungsmoduls können ferner die zwischen den einzelnen Artefakten vorliegenden Verbindungen angelegt und vorzugsweise automatisch mit im Automatisierungsmodul abgelegt werden. Ein hierbei verwendetes Engineering System, beispielsweise eine Automatisierungssoftware, insbesondere PC WORX, erkennt dann automatisch und wiederkehrend die zwischen den Gewerken angelegten Verbindungen eines jeweiligen Automatisierungsmoduls. Das Automatisierungsmodul kann hierbei intern auch hierarchisch aufgebaut sein.
-
Nach dem Erstellen eines Automatisierungsmoduls kann das Automatisierungsmodul in einer Bibliothek abgelegt werden. Beim Instanziieren der Automatisierungsmodule werden diese aus der Bibliothek heraus im Projekt instanziiert. Man unterscheidet demnach nicht-instanziierte Automatisierungsmodule, die allgemein einsetzbar sind und in einer Bibliothek hinterlegt sind, von instanziierten Automatisierungsmodulen, die individuell auf eine physikalische Automatisierungsanlage konfiguriert sind.
-
Demnach wird unter „Instanziieren von Automatisierungsmodulen“ verstanden, dass ein oder mehrere Automatisierungsmodule aus der Bibliothek abgerufen werden, um in einem Projekt eingebunden zu werden.
-
Hierbei ist die „Bibliothek“ eine Datenbibliothek, die die Inhalte der verschiedenen Artefakte eines Automatisierungsmoduls enthält, wie beispielsweise Programmcode, HMI-Symbole, Verbindungen, etc..
-
Die einzelnen Automatisierungsmodule stellen somit jeweilige Gerätetypen dar, die durch Instanziierung in einen Prozess eingebunden werden können.
-
Ein Automatisierungsmodul selbst wird als Typ bzw. Gerätetyp in der Bibliothek abgelegt. In einer Programmierhochsprache wird ein solcher Typ auch als Klasse bezeichnet. Eine „Automatisierungsmodul-Instanz“ ist eine Referenz auf den in der Bibliothek abgelegten Typ.
-
Wird ein Automatisierungsmodul instanziiert, so werden in einer bevorzugten Ausführung Instanzen dieser Gerätetypen erstellt, d.h. Gerät 1 bis n dieses Gerätetyps, einschließlich der jeweils umfassten Artefakte der einzelnen Disziplinen. Die jeweils umfassten Artefakte werden hierbei bevorzugt automatisch miteinander verknüpft, so dass die einzelnen Artefakte dauerhaft den Instanzen eines jeweiligen Automatisierungsmoduls zugeordnet bleiben. Hierbei bewirken die Verknüpfungen, dass beispielsweise ein IO-Signal mit einer Variablen fest verbunden bleibt.
-
Die instanziierten Teile, d.h. die jeweiligen Instanzen eines jeweiligen Automatisierungsmoduls, einschließlich der jeweils umfassten Artefakte können dann zu einem gesamten Projekt oder Prozess zusammengestellt oder in diesen eingebunden werden. Bei Bedarf können weitere Programme, Visualisierungs-Seiten etc. erstellt werden.
-
Unter „Verorten eines Automatisierungsmoduls“ wird die Zusammenstellung bzw. Einbindung in ein Projekt oder einen Prozess derart verstanden, dass die einzelnen Artefakte je nach Disziplin in der Projektstruktur zugeordnet werden.
-
In einem Ausführungsbeispiel kann bei dem Verfahren ein Visualisieren des instanziierten Automatisierungsmoduls vorgesehen werden. Dies erleichtert die Übersichtlichkeit und Bedienbarkeit eines Engineering Werkzeuges.
-
In einem weiteren Ausführungsbeispiel des Verfahren kann ein Individualisieren von einem oder mehrerer Artefakte bei dem Instanziieren des Automatisierungsmoduls vorgesehen werden. Die Artefakte werden hierbei für Instanzen verwendet, um eine Konfiguration durchzuführen.
-
In einer weiteren vorteilhaften Ausgestaltung des Verfahren kann ein Erstellen von Verbindungen zwischen Artefakten vorgesehen werden, welche dann zweckmäßig automatisch im noch nicht-instanziierten Automatisierungsmodul mit abgelegt werden. Auf diese Weise kann eine Systematisierung und Zuordnung von Artefakten durchgeführt werden. Auch können hierdurch Daten und Informationen zwischen einzelnen Artefakten ausgetauscht werden.
-
In einer vorteilhaften Ausführungsform des Verfahrens kann ein automatisches Erkennen von diesen Verbindungen zwischen Artefakten vorgesehen werden. Dies stellt eine weitere Möglichkeit der Automatisierung innerhalb des Automatisierungsmoduls dar.
-
Ferner kann in einer bevorzugten Ausführungsform des Verfahrens ein Auswählen einer Variante eines IO-Systems mit dem Verorten des instanziierten Automatisierungsmoduls vorgesehen werden. Auf diese Weise können Schnittstellen festgelegt werden.
-
In einer weiteren Ausführungsform des Verfahren kann mit Vorteil ein Durchführen einer Änderung an einem nicht-instanziierten Automatisierungsmodul vorgesehen werden, wobei sich die Änderung auf alle instanziierten Automatisierungsmodule auswirkt.
-
Dies steigert die Effizienz der Programmierung, da mit einer Veränderung eine Mehrzahl von bereits instanziierten Automatisierungsmodulen durchgeführt werden kann. Es sorgt somit für eine verbesserte Handhabung bei Modifizierungen eine Automatisierungsanlage und stellt mehr Übersichtlichkeit der Bedienung bereit.
-
Das Löschen oder Ändern einzelner Artefakte innerhalb einer jeweiligen Instanz kann lediglich über das Löschen oder Ändern innerhalb des entsprechenden Automatisierungsmoduls erfolgen und wirkt sich hierbei auf alle bereits instanziierten Automatisierungsmodule aus.
-
Alternativ kann die gesamte Instanz eines Automatisierungsmoduls gelöscht oder einem anderen Automatisierungsmodul zugeordnet werden.
-
Ferner kann in einer bevorzugten Ausführungsform des Verfahrens ein automatisches Verschalten von Automatisierungsmodulen miteinander unter der Vorgabe von Regeln vorgesehen werden.
-
Diese Regel können in einer Datenbank abgelegt worden sein, auf die im Bedarfsfall zugegriffen werden kann. Auf diese Weise können Verschaltungen schnell und gegen Fehler robust durchgeführt werden.
-
In einer weiteren Ausgestaltungsform des Verfahrens kann ein Verschalten von instanziierten Automatisierungsmodulen miteinander unter Verwendung einer Datenliste vorgesehen werden. Dies erhöht die Übersichtlichkeit der einzelnen Programmierungen und Schnittstellenverwaltung.
-
Ferner wird die Aufgabe der Erfindung mit einem Automatisierungsmodul gelöst. Hierbei weist das Automatisierungsmodul eine Festlegung eines Gerätetyps auf, und wobei das Automatisierungsmodul mindestens ein Artefakt aufweist, wobei das Artefakt Eigenschaften des Gerätetyps mit einer Parametrierungsmöglichkeit aufweist.
-
Das Automatisierungsmodul kann als nicht-instanziiertes oder als instanziiertes Automatisierungsmodul vorliegen. Ein nicht-instanziiertes Automatisierungsmodul ist im Allgemeinen in einer Bibliothek zur mehrfachen Verwendung des Automatisierungsmodul hinterlegt, insbesondere als Vorlage für eine individuelle Konfiguration eines Automatisierungsmodul, das durch die Konfiguration zu einem instanziierte Automatisierungsmodul wird. Hierbei bleibt vorteilhafterweise das nicht-instanziierte Automatisierungsmodul in der Bibliothek erhalten und das instanziierte Automatisierungsmodul ist eine modifizierte Kopie des in der Bibliothek hinterlegen nicht-instanziierten Automatisierungsmoduls.
-
In einem Automatisierungsmodul, insbesondere in einem instanziierten Automatisierungsmodul, können verschiedene Parameter veränderbar sein, wie z.B. Geschwindigkeit einer Rollenbahn, Reaktionszeit eines Roboters, Farbdarstellung einer Warnmeldung, etc..
-
In einer bevorzugten Ausführungsform kann vorgesehen werden, dass das Automatisierungsmodul intern hierarchisch aufgebaut ist.
-
Dies ist sowohl bei einem nicht-instanziierten wie auch bei einem instanziierten Automatisierungsmodul möglich. Hierbei können Artefakte zueinander eine Hierarchie aufweisen. Ferner kann der Gerätetyp die höchste Hierarchie aufweisen, dem die Artefakte innerhalb eines Automatisierungsmoduls zugeordnet sind.
-
Ferner kann vorteilhafterweise vorgesehen werden, dass das Automatisierungsmodul mehrere Artefakte aus einer gleichen Disziplin aufweist.
-
Dies bedeutet, dass einzelne Automatisierungsaufgaben übersichtlich innerhalb eines nicht-instanziierten wie auch eines instanziierten Automatisierungsmoduls getrennt werden können.
-
Mit Vorteil kann weiterhin in einer Ausführungsform vorgesehen werden, dass das Automatisierungsmodul in unterschiedlichen Projekten wiederverwendbar ist.
-
Dies hat den Vorteil, dass ein Automatisierungsmodul, vorzugsweise ein nicht-initiiertes Automatisierungsmodul, in einer weiteren Bibliothek hinterlegt wird.
-
Das Automatisierungsmodul kann unverändert und mehrfach für unterschiedliche Projekte bzw. Prozesse, d.h. für unterschiedliche Automatisierungsaufgaben verwendet werden. Es ist durch die mehrfache Verwendung eines und/oder auch mehrerer unterschiedlicher Automatisierungsmodule ferner eine Orchestrierung zur Abbildung eines vollständigen, zu steuernden Projekts bzw. Prozesses anstelle einer Programmierung möglich.
-
In einem weiteren Ausführungsbeispiel kann vorgesehen werden, dass das Automatisierungsmodul Programmcode aufweist, wobei der Programmcode unterschiedliche Programmiersprachen aufweist.
-
Hierbei kann beispielsweise das Automatisierungsmodul eine erste und eine zweite Programmiersprache aufweisen, wobei sich die beiden Programmiersprachen voneinander unterscheiden. Ferner ist es auch möglich, dass ein Artefakt Programmiercode aufweist, der unterschiedliche Programmiersprachen aufweist. Demnach kann das Automatisierungsmodul beliebige Elemente enthalten aus Programmcode von mehreren Programmiersprachen. Hierbei können auch graphische Programmiersprachen einbezogen werden.
-
Ferner wird die Aufgabe der Erfindung durch ein Computerprogrammprodukt mit Programmcodemitteln zum Durchführen des erfindungsgemäßen Verfahrens gelöst, wobei das Computerprogrammprodukt auf einem Computersystem einer Automatisierungsanlage abläuft.
-
Hierbei kann die Ausführung der Programmcodemittel bzw. des Programmcodes auf einem Prozessor wie auch alternativ auf mehrere Prozessoren verteilt durchgeführt werden.
-
Weitere Ausführungsformen in Bezug auf das erfindungsgemäße Verfahren und ein erfindungsgemäßes Automatisierungsmodul sind möglich.
-
In einer Ausführungsform kann ein Automatisierungsmodul alternative Artefakte enthalten, z.B. ein Artefakt für ein IO-System mit Axioline und eines für INTERBUS. Der Anwender kann bei der Instanziierung des Automatisierungsmodules die gewünschte Variante eines Bussystems auswählen und auch entsprechend verorten.
-
Ferner kann ein Automatisierungsmodul mehrfache Implementierungen enthalten, z.B. ein kleines Übersichtssymbol zu Diagnosezwecken und ein komplexeres Symbol zur Bedienung.
-
Ferner wird die Aufgabe der Erfindung mit einem Computerprogrammprodukt mit Programmcodemitteln zum Durchführen des erfindungsgemäßen Verfahrens gelöst, wobei das Computerprogrammprodukt auf einem Computersystem einer Automatisierungsanlage abläuft.
-
Es ergeben sich beispielsweise folgende Vorteile:
- Es werden Möglichkeiten vorgeschlagen, Automatisierungsmodule anzulegen, die aus definierten Teilen bestehen, beispielsweise in Form von Software-Teilen. Hieraus ergeben sich zahlreiche Vorteile für einen Software-Programmierer. Durch eine schnelle und einfache Wiederverwendung dieser Module können Entwicklungszeiten bei dem Entwerfen einer Automatisierungsanlage zur Steuerung eines Prozesses beschleunigt werden. Dies kann Engineering-Kosten einsparen und kann Fehlerquellen reduzieren, da beispielsweise Zertifizierungen, Test und Programmierung nur einmalig ausgeführt werden müssen.
-
Insbesondere in komplexen Systemen oder Automatisierungsanlagen erhöhen sich durch ein Verwenden von Automatisierungsmodulen Qualität und Effizienz der Konfiguration und/oder Programmierung.
-
Eine Wiederverwendbarkeit von Automatisierungsmodulen kann den Arbeitsaufwand minimieren und den Entwicklungsprozess beschleunigen.
-
Ferner ist es möglich, dass Programmcodes sowohl in IEC 61131-3 als auch in C/C++ oder C# verarbeitet werden können. Folglich können die Automatisierungsmodule gemischten Programmcode enthalten.
-
Einige Ausführungsbeispiele der Erfindung sind in den Zeichnungen rein schematisch dargestellt und werden nachfolgend näher beschrieben. Es zeigt:
- 1 ein Ausführungsbeispiel zur Erstellung eines Automatisierungsmoduls für eine Rollenbahn;
- 2 ein Ausführungsbeispiel eines Automatisierungsmoduls mit einer Mehrzahl von Artefakten; und
- 3 ein Ausführungsbeispiel für eine Orchestrierung von Automatisierungsmodulen zur Steuerung einer Anlage.
-
Eine Automatisierungsanlage weist eine Vielzahl von Komponenten auf, die als physikalische Funktionseinheiten oder Anlagenmodule betrieben werden. In einer Automatisierungsanlage, beispielsweise einer Anlage der Automobilindustrie, gibt es eine Vielzahl vorgefertigter Anlagenmodule. Dazu gehören z.B. Rollenbänder, Hubtische, Roboterzellen, Drehtische und weitere Einrichtungen.
-
1 zeigt ein Ausführungsbeispiel einer Automatisierungseinrichtung 10 als Anlagenmodul. Die Automatisierungseinrichtung 10 ist eine mechatronische Einrichtung in Form einer Rollenbahn. Die Rollenbahn 10 weist ein Rollenband 11, einen Servomotor 12, zwei IO-Module 13, 14 und zwei Sensoren 15, 16 auf.
-
Ferner wird in 1 ein Ausführungsbeispiel zur Erstellung eines Automatisierungsmoduls 20 für eine Rollenbahn 10 dargestellt. Die physikalische Rollenbahn 10 wird anhand des Automatisierungsmoduls 20 für eine Prozesssteuerung abgebildet. Hierzu wird ein Gerätetyp 21 festgelegt, hier „Rollenbahn“. Dem Gerätetyp 21 werden Artefakte 22, 23, 24, 25, 26 zugeordnet. Das Automatisierungsmodul der 1 ist ein nicht-instanziiertes Automatisierungsmodul, das zunächst nur den Gerätetyp 21 festlegt, ohne eine konkrete physikalische Automatisierungseinrichtung zu repräsentieren. Beispielsweise beschreibt das im Automatisierungsmodul 20 eingebundene Artefakte 22 den bestimmten Gerätetyp 21, hier „Rollenbahn“, somit z.B. hinsichtlich dessen Funktion, die Artefakte 23 und 24 beispielsweise konkrete Ausprägungen hinsichtlich physikalischer Schnittstellen und/oder Signalanforderungen, die z.B. alternativ verwendet werden können, und das Artefakt 26 z.B. die interne Verschaltung. Das Artefakt 25 beschreibt den Gerätetyp 21 ferner z.B. grafisch mittels einer Visualisierungsseite oder eines Symbols.
-
Das Automatisierungsmodul 20 wird zur individuellen Zusammenstellung von vorgefertigten Elementen, wie Artefakten, verwendet, um eine Automatisierungsaufgabe zu erfüllen, im vorliegenden Ausführungsbeispiel ein Betreiben bzw. Ansteuern einer Rollenbahn.
-
Es werden einzelne Anlagenmodule unabhängig voneinander entwickelt und in einem gemeinsamen Automatisierungsmodul zusammengefasst und abgebildet. Das nicht-instanziierte Automatisierungsmodul 20 am Beispiel des Typs eines Rollenbands weist dabei z.B. eine Vielzahl von Einrichtungen auf, wie Servomotoren, Endlagensensoren, IO-Modulen, etc.. Ferner wird für die Automatisierungsaufgabe Logik in Form von IEC-Programmcode verwendet, wobei die Logik die Servomotoren in Abhängigkeit von Sensoren und Übergabesignale steuern können.
-
2 zeigt die Ausführungsform des Automatisierungsmoduls 20 der 1 mit einer Mehrzahl von Artefakten 22-26 und deren Details. In 2 wird das nicht-instanziierte Automatisierungsmodul der 1 zur Instanziierung vorbereitet, indem Schnittstellen konfiguriert und Datenlisten erstellt werden. Nach einer Konfiguration, d.h. einer Instanziierung, des nicht-instanziierten Automatisierungsmoduls wird es zu einem instanziierten Automatisierungsmodul, wie in 3 gezeigt.
-
Das Artefakt 22 in 2 ist ein Programm 31, das eine Programmierung des Anlagenmoduls „Rollenbahn“ ermöglicht. Die Programmierung kann hierbei graphisch wie auch mit Programmiercode erfolgen. Es ist auch möglich, dass unterschiedliche Programmiersprachen in dem Programm 31 verwendet werden.
-
Das Artefakt 23 in 2 beschreibt und visualisiert IO-Module oder Signale, die für die Automatisierungsaufgabe der Rollenbahn 10 benötigt werden. Mit dem Artefakte 23 werden beispielsweise Ein- und Ausgangskanäle und Belegungen der einzelnen elektrischen Verbindungen visualisiert. Hierfür weist das Artefakt 23 im vorliegenden Ausführungsbeispiel drei Belegungsfelder (1), (2), (3) auf. Für jedes einzelne Belegungsfeld werden Verschaltungen für Ein- und Ausgänge von Signalen und Energieversorgungen festgelegt.
-
Das Artefakt 24 in 2 ist ähnlich ausgebildet wie das Artefakt 23 und wird ebenfalls für Visualisierungszwecke verwendet. Es kann z.B. eine Alternative zu dem Artefakt 23 sein.
-
Ferner hat das Artefakt 25 in 2 die Funktion einer Visualisierung. Mit diesem Artefakt 25 können HMI-Symbole oder Visualisierungsseiten dargestellt werden. Im vorliegenden Ausführungsbeispiel wird die physikalische Rollenbahn 10 mit einem Förderband und einzelnen Antriebsrollen dargestellt.
-
Das Artefakt 26 in 2 ist eine Datenliste 34, die eine Datenverknüpfung der weiteren Artefakte 22, 23, 25 bzw. 31, 32, 33 ermöglicht. In der Datenliste 34 können beispielsweise Verbindungen, wie Daten- und Energieverbindungen, von Ein- und Ausgängen des Anlagenmoduls 20 festgelegt werden. Ferner können mit der Datenliste 34 Schnittstellen und deren Verschaltung festgelegt werden.
-
Somit kann mindestens ein Artefakt für ein grafisches Symbol, hier Artefakt 25, für eine Visualisierung in das Automatisierungsmodul eingebunden werden, wobei das Symbol den Typ „Rollenband“ auch mit seinen dynamischen Eigenschaften darstellen kann. Die Variablen aus der Programmierung 31 können dabei mit IO-Punkten bzw. HMI-Symbolen (HMI = Humane Machine Interface), d.h. einer Benutzerschnittstelle verbunden werden. Alle Informationen einschließlich der gewünschten Verbindungen werden im Automatisierungsmodul 20 vom Typ „Rollenband“ gespeichert.
-
Das Automatisierungsmodul 20 ist Teil einer Datenbibliothek, die ein Anwender verwenden kann, um die Automatisierungsanlage 40 zu konfigurieren.
-
3 zeigt ein Ausführungsbeispiel einer Automatisierungsanlage 40 mit einer Mehrzahl von Komponenten in Form von Automatisierungseinrichtungen 41, 42, 43, 44. Hierbei sind die Automatisierungseinrichtungen 41, 43, 44 Fördereinrichtungen und die Automatisierungseinrichtung 42 ein Roboter. Die dargestellten Automatisierungseinrichtungen 41-44 der 3 bilden im vorliegenden Fall die Automatisierungsanlage 40, die Teil einer Gesamtanlage sein kann. Die physikalischen Automatisierungseinrichtungen 41-44 werden in 3 in ein Prozessabbild 50 transformiert.
-
3 zeigt ferner eine Zusammenschaltung von instanziierten Automatisierungsmodulen 51-54 über Verschaltungen 55 bzw. eine Orchestrierung zur Steuerung der Automatisierungsanlage 40. Die instanziierten Automatisierungsmodule 51, 53, 54 betreffend eine Fördereinrichtung können aus dem nicht-instanziierten Automatisierungsmodul 20 der 1 entstehen, wobei sie eine modifizierte Kopie des nicht-instanziierten Automatisierungsmodul 20 sind und das nicht-instanziierten Automatisierungsmodul 20 in der Bibliothek für weitere Vorlagen verbleibt.
-
Zur Erstellung von individuellen bzw. instanziierten Automatisierungsmodulen 51-54 kann auf die Bibliothek von bereits vorhandenen nicht-instanziierten Automatisierungsmodulen 10 zugegriffen werden, um die physikalischen Einheiten 41-44 individuell zu konfigurieren. Es ist beispielsweise möglich, dass die Fördereinrichtungen 41, 43, 44 zwar dem Gerätetyp „Rollenbahn“ zuzuordnen sind, jedoch sich diese von der Ausstattung unterscheiden. So kann beispielsweise die erste Fördereinrichtung 41 eine andere Länge der Förderstrecke aufweisen im Vergleich zu den beiden anderen Fördereinrichtungen 43, 44. Die Länge der Förderstrecke hat jedoch Einfluss auf den Zeitpunkt des Einsatzes des im Anschluss daran installierten Roboters 42. Auch durch andere Merkmale können sich die Fördereinrichtungen 41, 43, 44 voneinander unterscheiden.
-
Demnach werden vorgefertigte Automatisierungsmodule für unterschiedliche Aufgaben und Modellreihen individuell konfiguriert bzw. angepasst und zusammengestellt.
-
Zur individuellen Anpassung der Automatisierungsmodule für die Fördereinrichtungen 51, 53, 54 wird das bereits abgelegte Automatisierungsmodul 20 verwendet und entsprechend den notwendigen Parametern angepasst. Auf diese Weise ist es möglich, dass man von einem Grundbaustein aus der Bibliothek für jeden Gerätetyp ausgehen kann, um diesen im Anschluss individuell zu parametrisieren. Daraufhin können die einzelnen instanziierten Automatisierungsmodule 51-54 miteinander über Verschaltungen 55 verknüpft werden, indem in einem Engineering Werkzeug diese Verschaltungen eingerichtet werden und vorteilhafterweise auch visualisiert dargestellt werden.
-
3 zeigt ein Ausführungsbeispiel für eine Orchestrierung von Anlagenteilen 41-44 aus instanziierten Automatisierungsmodulen 51-54, wie sie beispielsweise anhand des Ausführungsbeispiels der 1 erstellt wurden. Beim Erstellen eines Anlagen-Engineerings werden die Automatisierungsmodule entsprechend dem realen Aufbau der Anlage 40 in einem Engineering Werkzeug instanziiert und verortet. Im vorliegenden Ausführungsbeispiel bedeutet dies, dass die Instanzen „Fördereinrichtung 1“, „Fördereinrichtung 2“ und „Fördereinrichtung 3“ vom Typ bzw. Gerätetyp „Rollenband“ erstellt werden. Ferner wird die Instanz „Roboter 1“ aus einem Automatisierungsmodul des Gerätetyps „Roboter“ erstellt, das sich ebenfalls in der Datenbibliothek des Engineering Werkzeuges befindet. Eine Verortung findet statt, indem festgelegt wird, in welcher Reihenfolge die einzelnen Anlagenmodule, 41-44 installiert sind bzw. wie instanziierten Automatisierungsmodule 51-54 miteinander zu verschalten sind, um die reale Anlage als Prozess abzubilden.
-
Demnach wird aus den physikalischen Einheiten 41-44 der Automatisierungsanlage 40 ein Prozessabbild 50 erstellt. Dies geschieht indem die einzelnen Automatisierungseinrichtungen 41-44 in ihrer physikalischen Hintereinanderschaltung jeweils als instanziierte Automatisierungsmodule 51-54 verschaltet in Reihe werden.
-
Eine Verknüpfung zwischen den Anlagenteilen kann durch Verschaltung der einzelnen Instanzen und der darin enthaltenen Artefakte beispielsweise durch Platzierung (visuelle Verortung) der Visualisierungs-Symbole auf einer Visualisierungsseite, Verortung der IO-Module und/oder anderer enthaltener Artefakte durchgeführt werden. Alle Verknüpfungen innerhalb des Automatisierungsmoduls sind automatisch über den verwendeten Automatisierungsmodul-Typ gegeben.
-
Insgesamt wird eine Lösung vorgeschlagen, die es ermöglicht Anlagenteile in allen Disziplinen zusammenzufassen und zu beschreiben, so dass die Anlagenteile bei wiederholtem Einsatz durch einfache Instanziierung erzeugt werden können. Dabei wird ein Anlagenteil als Ganzes betrachtet. Es werden demnach nicht die einzelnen Disziplinen getrennt voneinander betrachtet, sondern in einer Zusammenschau berücksichtigt.
-
Eine Erstellung der Automatisierungslösung wird dabei nicht mehr durch reines Programmieren, sondern durch ein Zusammenstellen von Anlagenteilen ermöglicht. Diese Anlagenteile werden vom Anwender entsprechend der realen Gesamtanlage zusammengestellt.
-
Bezugszeichenliste
-
- 10
- Automatisierungseinrichtung
- 11
- Rollenband
- 12
- Servomotor
- 13
- IO-Modul
- 14
- IO-Modul
- 15
- Sensor
- 16
- Sensor
- 20
- Automatisierungsmodul
- 21
- Gerätetyp
- 22-26
- Artefakte
- 31
- Programm
- 32
- IO-Module oder Signale
- 33
- HMI-Symbole oder Seiten
- 34
- Datenliste
- 40
- Automatisierungseinrichtungen einer Automatisierungsanlage
- 41
- erste Fördereinrichtung
- 42
- Roboter
- 43
- zweite Fördereinrichtung
- 44
- dritte Fördereinrichtung
- 50
- Prozessabbild
- 51-54
- instanziierte Automatisierungsmodule
- 55
- Verschaltung von instanziierten Automatisierungsmodulen