-
Die
vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung
zum Erstellen eines Anwenderprogramms für eine Sicherheitssteuerung,
die dazu ausgebildet ist, eine Anlage mit einer Vielzahl von Hardware-Komponenten
zu steuern, wobei die Vielzahl von Hardware-Komponenten jeweils
zumindest einen Sensor und zumindest einen Aktor beinhaltet.
-
Eine
Sicherheitssteuerung im Sinne der vorliegenden Erfindung ist ein
Gerät oder eine Vorrichtung, das bzw. die von Sensoren
gelieferte Eingangssignale aufnimmt und daraus durch logische Verknüpfungen
und eventuell weitere Signal- oder Daten verarbeitungsschritte Ausgangssignale
erzeugt. Die Ausgangssignale können Aktoren zugeführt
werden, die in Abhängigkeit von den Eingangssignalen Aktionen
oder Reaktionen in einer gesteuerten Anlage bewirken. Im Gegensatz
zu einer Steuerung für so genannte Standardanwendungen
gewährleistet eine Sicherheitssteuerung dabei zumindest
eine Einfehlersicherheit im Sinne der Kategorien 3 oder 4 der Europäischen
Norm EN 954-1 oder eine vergleichbare Fehlersicherheit
im Sinne der Normen ISO 13849 oder IEC/EN
61508.
-
Ein
bevorzugtes Anwendungsgebiet für derartige Sicherheitssteuerungen
ist die Überwachung von Not-Aus-Tastern, Zwei-Hand-Steuerungen, Schutztüren
oder Lichtgittern im Bereich der Maschinensicherheit. Derartige
Sensoren werden verwendet, um eine Maschine oder Anlage, von der
im Betrieb eine Gefahr für Menschen oder materielle Güter ausgeht,
abzusichern. Beim Öffnen der Schutztür oder beim
Betätigen des Not-Aus-Tasters wird jeweils ein Signal erzeugt,
das die Sicherheitssteuerung als Eingangssignal erhält.
In Reaktion darauf schaltet die Sicherheitssteuerung mit Hilfe eines
Aktors den Gefahr bringenden Teil der Maschine oder Anlage ab.
-
Eine
programmierbare Sicherheitssteuerung bietet dem Anwender die Möglichkeit,
die logischen Verknüpfungen und ggf. weiteren Signal- oder
Datenverarbeitungsschritte mit Hilfe einer Software, dem genannten
Anwenderprogramm, seinen Bedürfnissen entsprechend individuell
festzulegen. Daraus resultiert eine große Flexibilität
im Vergleich zu früheren Lösungen, bei denen die
logischen Verknüpfungen durch eine definierte Verdrahtung
zwischen verschiedenen Sicherheitsschaltgeräten erzeugt
wurden. Ein Beispiel für ein Verfahren zum Programmieren
einer Sicherheitssteuerung ist in
DE 101 08 962 A1 beschrieben.
-
Ein
Problem bei der Programmierung einer Sicherheitssteuerung besteht
darin, dass das Anwenderprogramm bei der Überwachung einer
großen Maschinenanlage mit vielen Sicherheitseinrichtungen
sehr komplex und unübersichtlich werden kann. So können
große Anlagen, wie etwa ein Zementwerk, mehrere tausend
Sensoren umfassen. Das zu erstellende Anwenderprogramm ist selbst
ein sicherheitskritisches Element, da ein Fehler in dem Anwenderprogramm
eine unkontrollierte Situation und damit einen gefährlichen
Zustand bei der überwachten Maschine oder Anlage hervorrufen
kann.
-
Um
das Risiko folgenschwerer Fehler in dem Anwenderprogramm durch menschliches
Versagen bei der Programmierung zu reduzieren, legt das Verfahren
nach
DE 101 08 962
A1 dem Anwender einige Beschränkungen auf. Er
kann insbesondere nur auf vorgefertigte, zertifizierte Progammmodule
zugreifen und diese nur individuell zusammenfügen. Nach
dem Verfahren aus
DE
101 08 962 A1 kann der Anwender die einzelnen Programmmodule
jedoch nicht verändert und auch keine eigenständigen
Programmmodule erstellen. Infolge dessen ist das Verfahren aus
DE 101 08 962 A1 auf
Sicherheitssteuerungen für kleinere und mittelgroße
Anwendungen beschränkt. Für sehr große
Anlagen bietet das Verfahren nach
DE 101 08 962 A1 keine ausreichende Flexibilität.
-
Des
weiteren ist es bei Anlagen nach dem Stand der Technik von Nachteil,
dass Sicherheitssteuerungen häufig in Ergänzung
zu einer weitgehend unbeschränkt programmierbaren Standardsteuerung
verwendet werden. Es ist wünschenswert, sämtliche
Standard- und Sicherheitsaufgaben mit einer gemeinsamen Steuerung
zu erledigen. Dies würde die Komplexität der sicherheitsrelevanten
Programme jedoch noch weiter erhöhen.
-
Die
internationale Norm IEC/EN 61131 definiert verschiedene
Verfahren zum Programmieren von industriellen Steuerungen, teilweise
unter Verwendung von Grafikeditoren. Hier werden grafische Elemente
entsprechend der Funktionalität der zu steuernden Maschine
oder Anlage in Form von so genannten Funktionsblocks bereitgestellt.
Dabei kann jede in der Maschine oder Anlage enthaltenen Hardware-Komponente
einem grafischen Element entsprechen, welches die Funktionalität
der zugehörigen Hardware-Komponente darstellt. Die grafischen
Elemente können durch logische Verknüpfungen untereinander
verbunden. Um bei solchen Verfahren und Vorrichtungen die Komplexität
zu reduzieren, kann eine Hierarchisierung verwendet werden, d. h.
die grafischen Elemente können dem Aufbau der zu steuernden
Maschine oder Anlage entsprechend unterschiedlichen Hierarchieebenen
zugeordnet werden. Beim Erstellen des Anwenderprogramms kann dann
ebenenweise vorgegangen werden.
-
Die
bekannten Verfahren und Vorrichtungen können dazu beitragen,
die Übersichtlichkeit beim Erstellen eines Anwenderprogramms
für eine Sicherheitssteuerung zu steigern. Sie sind jedoch
gerade in Bezug auf sehr komplexe Anwendungen mit einer großen
Anzahl von sicherheitsrelevanten und nicht-sicherheitsrelevanten
Sensoren und Aktoren noch nicht optimal.
-
Es
ist daher eine Aufgabe der vorliegenden Erfindung, ein Verfahren
und eine Vorrichtung der eingangs genannten Art weiterzubilden,
um die Komplexität beim Erstellen eines Anwenderprogramms mit
sicherheitsrelevanten Funktionen weiter zu reduzieren und die Übersichtlichkeit
zu steigern, um somit eine einfachere, schnellere und kostengünstigere Programmierung
einer Sicherheitssteuerung für sehr komplexe Anwendungen
zu ermöglichen.
-
Diese
Aufgabe wird durch ein Verfahren zum Erstellen eines Anwenderprogramms
für eine Sicherheitssteuerung gelöst, die dazu
ausgebildet ist, eine Anlage mit einer Vielzahl von Hardware-Komponenten
zu steuern, wobei die Vielzahl von Hardware-Komponenten jeweils
zumindest einen Sensor und zumindest einen Aktor beinhaltet, mit
folgenden Schritten:
- – Bereitstellen
einer Vielzahl von Software-Komponenten für die Vielzahl
von Hardware-Komponenten, wobei die Vielzahl von Software-Komponenten
jeweils zumindest einen Logikeingang und zumindest einen Logikausgang
aufweisen und zumindest einen Aspektblock enthalten, wobei jeder dieser
Aspektblöcke einem von mehreren untereinander unterschiedlichen
Steuerungsaspekten zugeordnet ist, wobei jeder dieser Steuerungsaspekte
einen eigenständigen Teilaspekt der Sicherheitssteuerung
repräsentiert, wobei jeder dieser Aspektblöcke
eine Anzahl von Signaleingängen und eine Anzahl von Signalausgängen
aufweist, wobei dem jeweiligen Aspektblock über seine Anzahl
von Signaleingängen eine Anzahl von Eingangssignalen zugeführt
werden können und dieser Aspektblock über seine
Anzahl von Signalausgängen eine Anzahl von Ausgangssignalen
ausgeben kann, und wobei die Anzahl von Ausgangssignalen zumindest
in Abhängigkeit der Anzahl von Eingangssignalen ermittelt
werden,
- – Erstellen eines Komponententeilprogramms durch logisches
Verknüpfen der Vielzahl von Software-Komponenten, wobei
zumindest ein Teil der Logikeingänge und zumindest ein
Teil der Logikausgänge der Software-Komponenten untereinander
verbunden werden,
- – Erstellen eines Aspektteilprogramms für
zumindest einen Steuerungsaspekt, wobei für zumindest einen
Aspektblock, der in der Vielzahl von Software-Komponenten enthalten
ist, zumindest einem Teil der Signaleingänge Sensoren zugeordnet
werden, deren Sensorsignale in dem jeweiligen Aspektblock verarbeitet
werden, und wobei zumindest einem Teil der Signalausgänge
Aktoren zugeordnet werden, die mit den in dem jeweiligen Aspektblock
ermittelten Ausgangssignalen angesteuert werden,
- – Zusammenfügen des Komponententeilprogramms
und des Aspektteilprogramms zu dem Anwenderprogramm.
-
Die
Aufgabe wird ferner durch eine Vorrichtung der eingangs genannten
Art gelöst, die folgende Einheiten aufweist: erste Einheiten
zum Bereitstellen einer Vielzahl von Software-Komponenten für
die Vielzahl von Hardware-Komponenten, wobei die Vielzahl von Software-Komponenten
jeweils zumindest einen Logikeingang und zumindest einen Logikausgang
aufweisen und zumindest einen Aspektblock enthalten, wobei jeder
dieser Aspektblöcke einem von mehreren untereinander unterschiedlichen
Steuerungsaspekten zugeordnet ist, wobei jeder dieser Steuerungsaspekte
einen eigenständigen Teilaspekt zur Sicherheitssteuerung
repräsentiert, und wobei jeder dieser Aspektblöcke
eine Anzahl von Signaleingängen und eine Anzahl von Signalausgängen
aufweist, wobei dem jeweiligen Aspektblock über seine Anzahl
von Signaleingängen eine Anzahl von Eingangssignalen zugeführt
werden können und dieser Aspektblock über seine
Anzahl von Signalausgängen eine Anzahl von Ausgangssignalen
ausgeben kann, wobei die Anzahl von Ausgangssignalen zumindest in
Abhängigkeit der Anzahl von Eingangssignalen ermittelt
werden, zweite Einheiten zum Erstellen eines Komponententeilprogramms
durch logisches Verknüpfen der Vielzahl von Software-Komponenten, wobei
zumindest ein Teil der Logikeingänge und zumindest ein
Teil der Logikausgänge der Software-Komponenten untereinander
verbunden werden, dritte Einheiten zum Erstellen eines Aspektteilprogramms
für zumindest einen Steuerungsaspekt, wobei zumindest für
einen Teil derjenigen Aspektblöcke, die in der Vielzahl
von Software-Komponenten enthalten sind, jeweils zumindest einem
Teil der Signaleingänge Sensoren zugeordnet werden, deren
Sensorsignale in dem jeweiligen Aspektblock verarbeitet werden,
und zumindest einem Teil der Signalausgänge Aktoren zugeordnet
werden, die mit den in dem jeweiligen Aspektblock ermittelten Ausgangssignalen angesteuert
werden, und vierte Einheiten zum Zusammenfügen des Komponententeilprogramms
und des Aspektteilprogramms zum Anwenderprogramm.
-
Dem
neuen Verfahren und der neuen Vorrichtung liegt die Idee zugrunde,
Aspektblöcke einzuführen und diese beim Erstellen
des Anwenderprogramms zu berücksichtigen. Jeder Aspektblock
repräsentiert einen von mehreren untereinander unterschiedlichen
Steuerungsaspekten, wobei jeder dieser Steuerungsaspekte einen eigenständigen
Teilaspekt zur Sicherheitssteuerung darstellt. Durch diesen Ansatz
steht zusätzlich den schon eingangs beschriebenen Maßnahmen
eine weitere Maßnahme zur Verfügung, mit der die
Komplexität beim Erstellen eines Anwenderprogramms für
eine Sicherheitssteuerung reduziert werden und somit das Erstellen
des Anwenderprogramms vereinfacht werden kann. Wenn nachfolgend
der Begriff Anwenderprogramm verwendet wird oder von dem Erstellen
eines Anwenderprogramms die Rede ist, dann soll es sich um ein Anwenderprogramm
für eine Sicherheitssteuerung handeln.
-
Das
Erstellen eines Anwenderprogramms entspricht der Realisierung einer
Gesamtfunktionalität für die zu steuernde Anlage.
In dieser Gesamtfunktionalität sind die eigenständigen
Teilaspekte einer Sicherheitssteuerung zusammengefasst. Durch das
Einführen der vorstehend beschriebenen Aspektblöcke
ist es nun möglich, das Erstellen eines Anwenderprogramms
in die einzelnen zu berücksichtigenden Teilaspekte zu zergliedern
bzw. zu unterteilen.
-
Durch
die Auswahl eines Teilaspektes und somit die Betrachtung derjenigen
Aspektblöcke, die dem Steuerungsaspekt zugeordnet sind,
der diesen Teilaspekt repräsentiert, kann jeweils eine
von mehreren Sichten auf die Gesamtfunktionalität und somit auf
das zu erstellende Anwenderprogramm eingenommen werden. Der Anwender
kann auf einzelne Aspekte gerichtete Teilprogramme erstellen, die
später zu dem Anwenderprogramm zusammengefügt werden.
Dabei werden die Aspektteilprogramme in Ergänzung zu einem
Komponententeilprogramm verwendet, das eine Verknüpfung
von Software-Komponenten, in denen Aspektblöcke enthalten
sind, repräsentiert.
-
Dadurch
dass die unterschiedlichen Steuerungsaspekte jeweils einen separaten
Teilaspekt einer Sicherheitssteuerung repräsentieren, können
die Aspektteilprogramme eigenständig erstellt werden. Das
Erstellen des Anwenderprogramms kann getrennt nach eigenständigen
Teilaspekten durch Erstellen einer Vielzahl von eigenständigen
Aspektteilprogrammen erfolgen.
-
Der
neue Ansatz entspricht einer vertikalen Unterteilung der Gesamtfunktionalität,
die für die zu steuernde Anlage zu realisieren ist, und
somit des Anwenderprogramms. Die eigenständigen Teilaspekte
kommen in allen Hierarchieebenen vor, in die eine zu steuernde Anlage
gegliedert werden kann. Durch die Betrachtung einzelner Teilaspekte
lässt sich die zu realisierende Gesamtfunktionalität
vertikal unterteilen.
-
Auf
Grund der vertikalen Unterteilung hat der neue Ansatz eine andere
Ordnungsrichtung als Maßnahmen, die zu einer Reduzierung
der Komplexität eine horizontale Unterteilung der Gesamtfunktionalität
und somit des zu erstellenden Anwenderprogramms verfolgen. Folglich
lässt sich das neue Verfahren und die neue Vorrichtung
hervorragend mit Verfahren und Vorrichtungen kombinieren, in denen Maßnahmen
implementiert sind, die eine horizontale Unterteilung der zu erstellenden
Gesamtfunktionalität und somit des Anwenderprogramms bewirken.
-
Mit
der neuen Kombination von Komponenten und Aspekten stehen zwei eigenständige
Maßnahmen für die Unterteilung der Gesamtfunktionalität zur
Verfügung, mit denen sich eine sehr starke Reduzierung
der Komplexität und daher eine Steigerung der Übersichtlichkeit
realisieren lassen.
-
Die
oben genannte Aufgabe ist vollständig gelöst.
-
In
einer bevorzugten Ausgestaltung der Erfindung entsprechen die Vielzahl
von Software-Komponenten der Vielzahl von Hardware-Komponenten.
-
Diese
Maßnahme stellt sicher, dass für jede Hardware-Komponente,
die in der zu steuernden Anlage enthalten ist, eine Software-Komponente
bereitgestellt wird, die zudem die Funktionalität, die
die jeweilige Hardware-Komponente aufweist, repräsentiert.
Diese Maßnahme trägt zur Übersichtlichkeit
bei dem Erstellen des Anwenderprogramms bei und verbessert somit
die Fehlersicherheit.
-
In
einer weiteren Ausgestaltung der Erfindung wird bei dem Bereitstellen
der Vielzahl von Software-Komponenten zumindest eine Software-Komponente
aus einer Menge vordefinierter Software-Komponenten ausgewählt.
-
Diese
Ausgestaltung der Erfindung hat den Vorteil, dass innerhalb eines
Anwenderprogramms einheitliche Software-Komponenten verwendet werden.
So ist sichergestellt, dass für in der zu steuernden Anlage
enthaltene identische Hardware- Komponenten, bei entsprechender Auswahl,
untereinander identische Software-Komponenten bereitgestellt werden.
Durch die Verwendung vordefinierter, d. h. vorgefertigter Software-Komponenten
wird somit ausgeschlossen, dass identische Hardware-Komponenten durch
Software-Komponenten repräsentiert werden, die untereinander
ein unterschiedliches programmtechnisches Verhalten aufweisen. Dies
gilt nicht nur für ein einzelnes Anwenderprogramm, sondern
auch für eine Vielzahl von Anwenderprogrammen, sofern diese
mit Hilfe eines Computerprogramms unter Verwendung ein und derselben
Datenbank, die die vordefinierten Software-Komponenten enthält,
erstellt wurden. Insgesamt wird durch diese Maßnahme die Übersichtlichkeit
erhöht und die Fehlersicherheit verbessert.
-
Die
Verwendung vordefinierter Software-Komponenten bietet einen weiteren
Vorteil. Wie bereits erwähnt, benötigen Sicherheitssteuerungen vor
ihrer Verwendung eine besondere Zulassung durch zuständige
Aufsichtsbehörden. Hiervon ist auch das Anwenderprogramm
umfasst. Werden vordefinierte Software-Komponenten verwendet, reicht es
aus, diese einmal von einer Aufsichtsbehörde abnehmen zu
lassen. Dies erfolgt in der Regel zusammen mit der Abnahme des Computerprogramms,
mit dem Anwenderprogramme erstellt werden können. Werden
dann bei dem Erstellen eines Anwenderprogramms durch entsprechend
sichere Maßnahmen Software-Komponenten durch Auswählen
aus einer Menge vordefinierter Software-Komponenten bereitgestellt,
ist für denjenigen Teil eines Anwenderprogramms, der ausschließlich
solche bereitgestellten Software-Komponenten enthält, keine
Abnahme mehr erforderlich. Dadurch wird die Effizienz bei dem Erstellen
eines Anwenderprogramms gesteigert.
-
In
einer weiteren Ausgestaltung der zuvor genannten Maßnahme
repräsentieren die vordefinierten Software-Komponenten
jeweils eine von mehreren untereinander unterschiedlichen Hardware-Komponentenarten,
wobei jede dieser Hardware-Komponentenarten eine Funktionalität
aufweist, die für diese Hardware-Komponentenart als solche
charakteristisch ist, und die jede der zu dieser Hardware-Komponentenart
zugehörige Hardware-Komponente aufweist, wobei die vordefinierten Software-Komponenten
jeweils diejenigen Aspektblöcke enthalten, die denjeni gen
Steuerungsaspekten zugeordnet sind, die für diejenige Hardware-Komponentenart
von Bedeutung sind, die die vordefinierte Software-Komponente repräsentiert.
-
Diese
Maßnahme besitzt den Vorteil, dass in einer vordefinierten
Software-Komponente alle relevanten Aspekte zusammengefasst sind,
die für diejenige Hardware-Komponentenart von Bedeutung sind,
die die vordefinierte Software-Komponente repräsentiert.
Die Hardware-Komponentenart wird mit Blick auf die Teilaspekte der
Sicherheitssteuerung durch die sie repräsentierende Software-Komponente
vollständig beschrieben. Für den Programmierer eines
Anwenderprogramms ist es somit völlig ausreichend, für
eine in der zu steuernden Anlage befindliche Hardware-Komponente
eine Software-Komponente bereitzustellen, und zwar durch Auswählen derjenigen
vordefinierten Software-Komponente, die diejenige Hardware-Komponentenart
repräsentiert, zu der die Hardware-Komponente gehört.
Der Programmierer muss somit für die betreffende Hardware-Komponente
nur eine einzige Software-Komponente bereitstellen, es sind nicht
mehrere Software-Komponenten oder zusätzliche Aspektblöcke
bereitzustellen.
-
Bei
der Funktionalität, die die Hardware-Komponentenart aufweist,
kann es sich um eine mechanische oder elektrische oder elektromechanische
Funktionalität handeln. Diese Funktionalitäten
begründen eine Vielzahl von Unterscheidungsmerkmalen, so
dass es sich bei den Hardware-Komponentenarten beispielsweise um
Motoren oder um Verstellzylinder, die beispielsweise pneumatisch
ausgeführt sind, handeln kann. Neben elementaren Komponenten
kann eine Hardware-Komponentenart auch für eine komplexe
Baugruppe, beispielsweise Prozessstationen, Teststationen oder Bohrmodule stehen.
Die Aufzählung elementarer Komponenten und komplexer Baugruppen
ist nicht abschließend.
-
Unter
programmtechnischen Gesichtspunkten entspricht eine vordefinierte
Software-Komponente einem Platzhalter, der eine Hardware-Komponentenart
repräsentiert. Enthält die Anlage eine Hardware-Komponente,
die zu einer bestimmten Hardware-Komponentenart gehört,
dann wird bei dem Erstellen des Anwenderprogramms eine Software-Komponente
durch Auswählen der entsprechenden vordefinierten Software- Komponente
bereitgestellt, wobei die bereitgestellte Software-Komponente der
in der Anlage vorhandenen realen Hardware-Komponente entspricht.
Diese Vorgehensweise kann mit der Vorgehensweise verglichen werden, die
der objektorientierten Programmierung zugrunde liegt. Überträgt
man die Gesetzmäßigkeiten der objektorientierten
Programmierung auf das neue Verfahren, so entspricht die vordefinierte
Software-Komponente einer Klasse, d. h. der Gesamtheit aller Objekte
der gleichen Art. Die bereitgestellte Software-Komponente entspricht
einer Instanz, d. h. einem Objekt einer bestimmten Klasse.
-
In
einer weiteren Ausgestaltung der Erfindung wird von der ausgewählten
vordefinierten Software-Komponente eine Kopie erstellt, die dann
als Software-Komponente bereitgestellt wird.
-
Diese
Maßnahme besitzt den Vorteil, dass eine vordefinierte Software-Komponente
an unterschiedlichen Stellen in einem zu erstellenden Anwenderprogramm
verwendet werden kann. Sie ist somit mehrfach verwendbar, sie ist
wieder verwertbar. Dabei weisen sämtliche Kopien der vordefinierten
Software-Komponente, d. h. sämtliche bereitgestellten Software-Komponenten,
die auf dieselbe vordefinierte Software-Komponente zurückgehen,
dieselben Eigenschaften auf, die durch die vordefinierte Software-Komponente
vorgegeben werden. Die bereitgestellten Software-Komponenten sind
lediglich parametrierbar. D. h. deren Funktionalität ist
dem Grunde nach durch die vordefinierte Software-Komponenten festgelegt,
kann jedoch in gewissen Grenzen leicht modifiziert werden. Dadurch
ist sichergestellt, dass in einer zu steuernden Anlage vorhandene
identische Hardware-Komponenten durch Software-Komponenten repräsentiert
werden, die dem Grunde nach eine identische Funktionalität
aufweisen. Insgesamt wird ein effizientes Erstellen eines Anwenderprogramms
ermöglicht. Dadurch, dass die bereitgestellten Software-Komponenten
jeweils einer Kopie einer vordefinierten Software-Komponente entsprechen, ist
gewährleistet, dass in der zu steuernden Anlage vorhandene
identische Hardware-Komponenten durch identische Software-Komponenten
repräsentiert werden. Dies verbessert die Fehlersicherheit.
-
Überträgt
man die Gesetzmäßigkeit der objektorientierten
Programmierung auf das neue Verfahren, so entspricht das Erstellen
einer Kopie einer vordefinierten Software-Komponente der Instanzierung.
-
In
einer weiteren Ausgestaltung der Erfindung wird bei dem Bereitstellen
der Vielzahl von Software-Komponenten zumindest eine neue Software-Komponente
erstellt.
-
Diese
Maßnahme besitzt den Vorteil, bei Bedarf, d. h. entsprechend
den Gegebenheiten der zu steuernden Anlage, neue benötigte
Software-Komponenten generieren zu können. Dadurch ist
ein hohes Maß an Variabilität gewährleistet,
beispielsweise für den Fall, dass die in dem Computerprogramm,
mit dem das Anwenderprogramm erstellt wird, vorhandenen vordefinierten
Software-Komponenten zur Abbildung der Gesamtfunktionalität
der zu steuernden Anlage nicht ausreichen.
-
In
einer weiteren Ausgestaltung der Erfindung sind die vordefinierten
Software-Komponenten und/oder die neu erstellten Software-Komponenten jeweils
entweder als Gruppenkomponente oder als Elementarkomponente ausgebildet,
wobei eine Gruppenkomponente zumindest einen Aspektblock und zumindest
eine Software-Komponente enthält, wobei die enthaltene
Software-Komponente selbst wiederum als Elementarkomponente oder
als Gruppenkomponente ausgebildet sein kann, und wobei eine Elementarkomponente
lediglich zumindest einen Aspektblock enthält.
-
Durch
diese Maßnahme wird ein hohes Maß an Flexibilität
erreicht. So kann der Anbieter eines Computerprogramms, mit dem
das neue Verfahren durchgeführt werden kann, eine Vielzahl
vordefinierter Software-Komponenten für gängige
Elementarkomponenten und/oder gängige Gruppenkomponenten
in einer umfassenden Datenbank zur Verfügung stellen. Für
diese Komponenten ist in der Regel die Abnahme durch eine Aufsichtsbehörde
bereits erfolgt, wodurch die Fehlersicherheit verbessert wird.
-
Mit
den neu erstellten Software-Komponenten kann flexibel auf Gegebenheiten,
die bei der zu steuernden Anlage vorliegen, reagiert werden. So kann
für eine Hardware-Komponente, für die noch keine
entsprechende Software-Komponente in der Datenbank hinterlegt ist,
eine entsprechende Software-Komponente geschaffen werden, und zwar
unabhängig von der Komplexität der Hardware-Komponente.
Für eine einfache Hardware-Komponente kann eine als Elementarkomponente
ausgebildete und für eine komplexe Hardware-Komponente
eine als Gruppenkomponente ausgebildete Software-Komponente geschaffen
werden.
-
Auch
besteht die Möglichkeit, wenn ein Programmierer bei dem
Erstellen eines Anwenderprogramms feststellt, dass das Erstellen
des Anwenderprogramms aufgrund der großen Vielzahl von
Software-Komponenten, die für die in der zu steuernden Anlage
vorhandene Vielzahl von Hardware-Komponenten benötigt wird,
unübersichtlich wird, eine größere Anzahl
von Hardware-Komponenten zu einer als Gruppenkomponente ausgebildeten
Hardware-Komponente zusammenzufassen. Diese Modulbildung führt
zu einer Reduzierung der Komplexität und somit zu einer
Steigerung der Übersichtlichkeit. Insgesamt wird die Fehlersicherheit
verbessert.
-
Die
große Flexibilität, die hinsichtlich des Aufbaus
von neu zu erstellenden Software-Komponenten gegeben ist, ermöglicht
das Erstellen von wieder verwendbaren Software-Komponenten. Dadurch dass
eine Software-Komponente als Gruppenkomponente ausgebildet sein
kann, kann ein hierarchisch aufgebautes bzw. strukturiertes Anwenderprogramm geschaffen
werden.
-
Vorteilhafterweise
umfasst das Erstellen einer neuen Elementarkomponente folgende Schritte, wobei
die neue Elementarkomponente eine Anzahl von Logikeingängen
und eine Anzahl von Logikausgängen aufweist:
- – Bereitstellen einer Anzahl von Aspektblöcken, die
denjenigen Steuerungsaspekten zugeordnet sind, die für
diejenige Hardware-Komponente, der die neue Elementarkomponente
entspricht, von Bedeutung sind, wobei die An zahl von Aspektblöcken
jeweils als Eingänge neben der Anzahl von Signaleingängen
zusätzlich eine Anzahl von Logikeingängen und/oder
eine Anzahl von Parametriereingängen und als Ausgänge
neben der Anzahl von Signalausgängen zusätzlich
eine Anzahl von Logikausgängen und/oder eine Anzahl von Parametrierausgängen
aufweisen, wobei der Anzahl von Aspektblöcken jeweils über
die Anzahl von Logikeingängen eine Anzahl von Logikgrößen oder
eine Anzahl von Zwischengrößen, die jeweils in
einem anderen Aspektblock ermittelt wurden, und über die
Anzahl von Parametriereingängen eine Anzahl von Parametern
zugeführt werden können, und wobei die Anzahl
von Aspektblöcken jeweils über die Anzahl von
Logikausgängen eine Anzahl von Logikgrößen
oder eine Anzahl von Zwischengrößen, die jeweils
von einem anderen Aspektblock benötigt werden, und über
die Anzahl von Parametrieraugängen eine Anzahl von Parametern
ausgeben können,
- – Festlegen derjenigen Logikgrößen
und/oder derjenigen Zwischengrößen und/oder derjenigen Parameter
und/oder derjenigen Sensorsignale, die in der Anzahl von Aspektblöcken
jeweils zur Verarbeitung benötigt werden, und die über
die zugehörigen Eingänge zuzuführen sind,
- – Festlegen derjenigen Logikgrößen
und/oder derjenigen Zwischengrößen und/oder derjenigen Parameter
und/oder derjenigen Ausgangssignale, die in der Anzahl von Aspektblöcken
jeweils ermittelt und über die zugehörigen Ausgänge
ausgegeben werden,
- – Verbinden zumindest eines Teils der Logikeingänge
und zumindest eines Teils der Logikausgänge der Anzahl
von Aspektblöcken untereinander und/oder mit zumindest
einem Teil der Logikeingänge und/oder zumindest einem Teil
der Logikausgänge der neuen Elementarkomponente,
- – Erstellen jeweils eines Funktionsprogramms für zumindest
einen Teil der Anzahl von Aspektblöcken, wobei das jeweilige
Funktionsprogramm Aspekt eigenschaften der Hardware-Komponente für
denjenigen Steuerungsaspekt festgelegt, dem der jeweilige Aspektblock
zugeordnet ist.
-
Das
Erstellen einer neuen Elementarkomponente gemäß den
vorstehend beschriebenen Einzelschritten hat den Vorteil, dass die
neue Elementarkomponente programmtechnisch sämtliche Information
enthält, um die Funktionalität der Hardware-Komponente,
der die neu erstellte Elementarkomponente entspricht, vollständig
zu beschreiben bzw. abzubilden.
-
Durch
das Bereitstellen der Anzahl von Aspektblöcken und deren
logische Anbindung sind alle Teilaspekte einer Sicherheitssteuerung,
die für die Hardware-Komponente von Bedeutung sind, in
der neuen Elementarkomponente zusammengefasst. Durch das Erstellen
der zugehörigen Funktionsprogramme ist die der Hardware-Komponente
innewohnende Funktionalität festgelegt. Durch das Festlegen der
Größen und/oder Signale ist sichergestellt, dass alle
Größen und/oder Signale, die in der neuen Elementarkomponente
gemäß der Funktionalität der Hardware-Komponente
benötigt werden, zur Verfügung stehen, und dass
alle von der neuen Elementarkomponente auszugebenden Größen
und/oder Signale bestimmt sind. Somit reicht es aus, zur Erfassung
einer in der zu steuernden Anlage enthaltenen Hardware-Komponente,
in dem zu erstellenden Anwenderprogramm lediglich die neu erstellte
Elementarkomponente bereitzustellen.
-
In
einer weiteren Ausgestaltung der zuvor genannten Maßnahme
wird in einem weiteren Schritt die neu erstellte Elementarkomponente
in einen gekapselten Zustand überführt, wobei
in diesem Zustand keine Änderungen an der neu erstellten
Elementarkomponente vorgenommen werden können.
-
Die
Kapselung der neu erstellten Elementarkomponente bewirkt, dass deren
Komponenteneigenschaften verborgen werden. Dies bedeutet, dass der
direkte Zugriff auf die innere Datenstruktur der neu erstellten
Elementarkomponente unterbunden ist.
-
Ein
Zugriff auf die neu erstellte Elementarkomponente ist nur über
definierte Schnittstellen, nämlich deren Eingänge
und/oder Ausgänge, möglich.
-
Die
Komponenteneigenschaften sind durch die bereitgestellten Aspektblöcke,
die in diesen hinterlegten Funktionsprogramme, die logische Anbindung
der Aspektblöcke und die festgelegten Größen und/oder
Signale, die der neu erstellten Elementarkomponente zuzuführen
sind bzw. von dieser ausgegeben werden, festgelegt. Durch die Kapselung
der neu erstellten Elementarkomponente wird die Fehlersicherheit
verbessert, denn die neu erstellte Elementarkomponente kann lediglich
unverändert, d. h. unter Beibehaltung ihrer Eigenschaften,
beliebig oft in einem Anwenderprogramm eingesetzt werden. Üblicherweise
ist vorgesehen, dass derjenige, der die gekapselte neue Elementarkomponente
erstellt hat, zu einem späteren Zeitpunkt durchaus Änderungen
an dieser vornehmen kann. Wohingegen der Anwender, der bei dem Erstellen
eines Anwenderprogramms eine gekapselte neue Elementarkomponente
lediglich bereitstellt, an dieser keine Änderungen vornehmen
kann.
-
Vorteilhafterweise
umfasst das Erstellen einer neuen Gruppenkomponente folgende Schritte, wobei
die neue Gruppenkomponente eine Anzahl von Logikeingängen
und eine Anzahl von Logikausgängen aufweist:
- – Bereitstellen einer Anzahl von Elementarkomponenten
und/oder einer Anzahl von Gruppenkomponenten, wobei die Anzahl von
Elementarkomponenten und/oder die Anzahl von Gruppenkomponenten
jeweils eine Anzahl von Logikeingängen und eine Anzahl
von Logikausgängen aufweist,
- – Bereitstellen einer Anzahl von Aspektblöcken, die
denjenigen Steuerungsaspekten zugeordnet sind, die für
diejenige Hardware-Komponente, der die neue Gruppenkomponente entspricht,
von Bedeutung sind, wobei die Anzahl von Aspektblöcken
jeweils als Eingänge neben der Anzahl von Signaleingängen
zusätzlich eine Anzahl von Logikeingängen und/oder
eine Anzahl von Parametriereingängen und als Ausgänge
neben der Anzahl von Signalausgängen zusätzlich
eine Anzahl von Logikausgängen und/oder eine Anzahl von Parametrierausgängen
aufweisen, wobei der Anzahl von Aspektblöcken jeweils über
die Anzahl von Logikeingängen eine Anzahl von Logikgrößen oder
eine Anzahl von Zwischengrößen, die jeweils in
einem anderen Aspektblock ermittelt wurden, und über die
Anzahl von Parametriereingängen eine Anzahl von Parametern
zugeführt werden können, und wobei die Anzahl
von Aspektblöcken jeweils über die Anzahl von
Logikausgängen eine Anzahl von Logikgrößen
oder eine Anzahl von Zwischengrößen, die jeweils
von einem anderen Aspektblock benötigt werden, und über
die Anzahl von Parametrierausgängen eine Anzahl von Parametern
ausgeben können,
- – Festlegen derjenigen Logikgrößen
und/oder derjenigen Zwischengrößen und/oder derjenigen Parameter
und/oder derjenigen Sensorsignale, die in der Anzahl von Aspektblöcken
jeweils zur Verarbeitung benötigt werden, und über
die zugehörigen Eingänge zuzuführen sind,
- – Festlegen derjenigen Logikgrößen
und/oder derjenigen Zwischengrößen und/oder derjenigen Parameter
und/oder derjenigen Ausgangssignale, die in der Anzahl von Aspektblöcken
jeweils ermittelt, und die über die zugehörigen
Ausgänge ausgegeben werden,
- – Verbinden zumindest eines Teiles der Logikeingänge
und zumindest eines Teils der Logikausgänge der Anzahl
von Aspektblöcken untereinander und/oder mit zumindest
einem Teil der Logikeingänge und/oder zumindest einem Teil
der Logikausgänge der Anzahl von Elementarkomponenten und/oder
der Anzahl von Gruppenkomponenten und/oder mit zumindest einem Teil
der Logikeingänge und/oder mit zumindest einem Teil der
Logikausgänge der neuen Gruppenkomponente,
- – Verbinden zumindest eines Teils der Logikeingänge
und zumindest eines Teils der Logikausgänge der Anzahl
von Elementarkomponenten und/oder der An zahl von Gruppenkomponenten untereinander
und/oder mit zumindest einem Teil der Logikeingänge und/oder
mit zumindest einem Teil der Logikausgänge der neuen Gruppenkomponente,
- – Erstellen jeweils eines Funktionsprogramms für zumindest
einen Teil der Anzahl von Aspektblöcken, wobei das jeweilige
Funktionsprogramm Aspekteigenschaften der Hardware-Komponente für
den denjenigen Steuerungsaspekt festlegt, dem der jeweilige Aspekt
zugeordnet ist.
-
Das
Erstellen einer neuen Gruppenkomponente gemäß den
vorstehend beschriebenen Einzelschritten hat den Vorteil, dass die
neue Gruppenkomponente programmtechnisch sämtliche Information enthält,
um die Funktionalität der Hardware-Komponente, der die
neu erstellte Gruppenkomponente entspricht, vollständig
zu beschreiben bzw. abzubilden.
-
Durch
das Bereitstellen der Anzahl von Aspektblöcken und deren
logische Anbindung sind alle Teilaspekte einer Sicherheitssteuerung,
die für die Hardware-Komponente von Bedeutung sind, in
der neuen Gruppenkomponente zusammengefasst. Durch das Bereitstellen
der Anzahl von Elementarkomponenten und/oder der Anzahl von Gruppenkomponenten
und deren logische Anbindung sind alle in der Hardware-Komponente
zusammengefassten Komponenten berücksichtigt. Durch das
Erstellen der zugehörigen Funktionsprogramme ist die der Hardware-Komponente
innewohnende Funktionalität festgelegt. Durch das Festlegen
der Größen und/oder Signale ist sichergestellt,
dass alle Größen und/oder Signale, die in der
neuen Gruppenkomponente gemäß der Funktionalität
der Hardware-Komponente benötigt werden, zur Verfügung
stehen, und dass alle von der neuen Gruppenkomponente auszugebenden
Größen und/oder Signale bestimmt sind. Somit reicht
es aus, zur Erfassung einer in der zu steuernden Anlage enthaltenen
Hardware-Komponente, in dem zu erstellenden Anwenderprogramm lediglich
die neu erstellte Gruppenkomponente bereitzustellen.
-
In
einer weiteren Ausgestaltung der zuvor genannten Maßnahme
wird in einem weiteren Schritt die neu erstellte Gruppenkomponente
in einen gekapselten Zustand überführt, wobei
in diesem Zustand keine Änderungen an der neu erstellten
Gruppenkomponente vorgenommen werden können.
-
Die
Vorteile, die zuvor für eine neu erstellte Elementarkomponente,
die in einen gekapselten Zustand überführt wird,
vorgetragen wurden, gelten in entsprechender Weise auch für
eine neu erstellte Gruppenkomponente, die in einen gekapselten Zustand überführt
wird. Die Komponenteneigenschaften der neu erstellten Gruppenkomponente
sind durch die bereitgestellten Aspektblöcke, die in diesen hinterlegten
Funktionsprogramme, die logische Anbindung der Aspektblöcke,
die bereitgestellten Elementarkomponenten und/oder Gruppenkomponenten
und deren logische Anbindung und die festgelegten Größen
und/oder Signale, die der neu erstellten Gruppenkomponente zuzuführen
sind bzw. von dieser ausgegeben werden, festgelegt. Die Komponenteneigenschaften
der neu erstellten Gruppenkomponente umfassen somit auch die Komponenteneigenschaften
der in ihr enthaltenen Elementarkomponenten und/oder Gruppenkomponenten.
-
In
einer weiteren Ausgestaltung der Erfindung wird von der neu erstellten
Software-Komponente eine Kopie erstellt, die dann als Software-Komponente
bereitgestellt wird.
-
Die
Vorteile, die zuvor für das Erstellen einer Kopie von der
ausgewählten vordefinierten Software-Komponente vorgetragen
wurden, gelten in entsprechender Weise auch für eine neu
erstellte Software-Komponente, von der eine Kopie erstellt wird.
-
In
einer weiteren Ausgestaltung der Erfindung handelt es sich bei den
vordefinierten Software-Komponenten und/oder bei der neu erstellten Software-Komponente
jeweils um gekapselte Software-Komponenten, an denen keine Änderungen vorgenommen
werden können.
-
Bezüglich
der Vorteile, die sich durch Kapselung der neu erstellten Software-Komponenten
ergeben, wird auf die Ausführungen verwiesen, die vorstehend
in diesem Zusammenhang für neu erstellte Elementarkomponenten
und neu erstellte Gruppenkomponenten vorgetragen wurden. Diese Vorteile gelten
in entsprechender Weise auch für vordefinierte Software-Komponenten.
Auch deren Komponenteneigenschaften bleiben verborgen. Bei einer
vordefinierten Software-Komponente ist üblicherweise vorgesehen,
dass von dem Anwender des Computerprogramms, mit dem das neue Verfahren
durchgeführt werden kann oder von dem Programmierer, der das
Anwenderprogramm erstellt, keine Änderungen an den gekapselten
Software-Komponenten vorgenommen werden können. Wohingegen
seitens des Herstellers des Computerprogramms sehr wohl Änderungen
an den vordefinierten Software-Komponenten vorgenommen werden können.
Eine gekapselte Software-Komponente kann in beliebiger Anzahl in
einem Anwenderprogramm verwendet werden. Von dieser könnenbeliebig
viele Kopien erstellt und bereitgestellt werden.
-
In
einer weiteren Ausgestaltung können die gekapselten Software-Komponenten
in einen Bearbeitungsmodus überführt werden, wobei
in diesem Bearbeitungsmodus Änderungen an den gekapselten
Software-Komponenten vorgenommen werden können.
-
In
dem Bearbeitungsmodus kann eine gekapselte Software-Komponente bearbeitet
und somit grundlegende Änderungen an dieser vorgenommen werden.
Diese Änderungen werden bei allen Kopien, die von dieser
vordefinierten Software-Komponente erstellt wurden, und die in einem
Anwenderprogramm als Software-Komponente bereitgestellt sind, berücksichtigt.
Diese Änderungen gehen über die Modifikationen
hinaus, die an einer Software-Komponente durch die Vorgabe von Parameterwerten
vorgenommen werden können. Mit diesen Änderungen soll
beispielsweise die Funktionalität einer Software-Komponente
an die Steuerungsaufgabe angepasst werden können.
-
Die
beschriebene Maßnahme hat folgenden Vorteil: wird beispielsweise
während des Erstellens eines Anwenderprogramms festgestellt,
dass eine vordefinierte Software- Komponente die Funktionalität
derjenigen Hardware-Komponente, der die vordefinierte Software-Komponente
entspricht, nicht vollständig umfasst, weil beispielsweise
herstellerseitig im Herstellungsprozess Änderungen an der
Hardware-Komponente vorgenommen wurden, so kann die vordefinierte
Software-Komponente dahingehend bearbeitet werden, dass die Funktionalität
vollständig umfasst wird. Auch kann diese Maßnahme
dazu verwendet werden, unter Verwendung einer vordefinierten Software-Komponente,
eine neue Software-Komponente zu erstellen. Hierzu wird die vordefinierte Software-Komponente
in den Bearbeitungszustand überführt und zumindest
in einem Teilumfang geändert. Dadurch ist es möglich,
eine vordefinierte Software-Komponente, die die Eigenschaften einer
Hardware-Komponente nicht umfassend beschreibt, so abzuändern,
dass die daraus generierte neue Software-Komponente diese Eigenschaften
umfassend beschreibt. Da hierfür auf eine bereits existierende vordefinierte
Software-Komponente zurückgegriffen wird, führt
dies zu einer Zeitersparnis bei dem Erstellen der neuen Software-Komponente.
Insgesamt wird durch die vorstehend beschriebene Ausgestaltung eine
größtmögliche Flexibilität beim
Erstellen eines Anwenderprogramms erreicht.
-
In
einer weiteren Ausgestaltung der zuvor genannten Maßnahme
können in dem Bearbeitungsmodus zumindest für
einen Teil der Steuerungsaspekte die in den zugeordneten Aspektblöcken
jeweils hinterlegten Funktionsprogramme verändert werden.
-
Durch
diese Maßnahme besteht die Möglichkeit, die Funktionalität
einer bestehenden Software-Komponente in einfacher Art und Weise
an geänderte Gegebenheiten anzupassen. Somit ist eine große
Flexibilität beim Erstellen eines Anwenderprogramms gewährleistet.
-
In
einer weiteren Ausgestaltung der zuvor genannten Maßnahme
können für denjenigen Steuerungsaspekt, der den
Teilaspekt Sicherheitssteuerung repräsentiert, die in den
zugeordneten Aspektblöcken jeweils hinterlegten Funktionsprogramme nicht
verändert werden.
-
Durch
diese Maßnahme ist sichergestellt, dass die einmal definierte
und von einer Aufsichtsbehörde abgenommene Funktionalität
für die Sicherheitssteuerung erhalten bleibt. Dies trägt
zur Verbesserung der Fehlersicherheit bei. Die für die
Sicherheitssteuerung relevante Funktionalität kann somit nicht
grundlegend verändert werden. Sie kann lediglich über
Parameter in gewissen Grenzen, beispielsweise durch die Vorgabe
von entsprechenden Intervallen modifiziert werden.
-
In
einer weiteren Ausgestaltung der Erfindung ist zumindest in einem
Teil der in der bereitgestellten Anzahl von Software-Komponenten
enthaltenen Aspektblöcken jeweils ein Funktionsprogramm hinterlegt,
welches Aspekteigenschaften der Hardware-Komponente für
denjenigen Steuerungsaspekt festgelegt, dem der jeweilige Aspektblock
zugeordnet ist, wobei in dem Funktionsprogramm Parameter verarbeitet
werden, wobei für die Parameter Parameterwerte vorgegeben
werden können, wobei eine Veränderung der Parameterwerte
eine Modifikation der Aspekteigenschaften bewirkt.
-
Eine
Veränderung der Parameterwerte führt zu einer
Modifikation der Aspekteigenschaften. Die Aspekteigenschaften können
somit in den Grenzen, die durch die Parameterwerte vorgegeben werden,
in einfacher Art und Weise an die Eigenschaften der zu steuernden
Anlage angepasst werden. Im Gegensatz zu der Maßnahme,
bei der eine gekapselte Software-Komponente in einen Bearbeitungsmodus überführt
wird, in welchem grundlegende Änderungen an der Software-Komponente,
in erster Linie Änderungen an deren Funktionalität
vorgenommen werden können, bleibt bei einer Modifikation
der Aspekteigenschaften die Funktionalität der Software-Komponente
dem Grunde nach erhalten.
-
In
einer weiteren Ausgestaltung der Erfindung werden die Parameterwerte
bei dem Erstellen eines Aspektteilprogrammes für die hierbei
berücksichtigten Aspektblöcke vorgegeben.
-
Das
Verknüpfen der beiden Arbeitsschritte Vorgeben der Parameterwerte
und Erstellen des Aspektteilprogrammes ermöglicht zum einen
ein effizientes Erstellen von Anwenderprogrammen. Zum anderen wird
dadurch die Fehlersicherheit verbessert. Durch die gleichzeitige
Zuordnung der Sensoren zu den Signaleingängen der Aspektblöcke
und die Vorgabe der Parameterwerte wird eine umfassende Betrachtung
zu den einzelnen Aspektblöcken angestellt.
-
In
einer weiteren Ausgestaltung der Erfindung ist in den Aspektblöcken
jeweils ein Funktionsprogramm hinterlegt, welches Aspekteigenschaften einer
Hardware-Komponente für denjenigen Steuerungsaspekt festlegt,
dem der jeweilige Aspektblock zugeordnet ist, wobei es sich um diejenige
Hardware-Komponente handelt, der diejenige Software-Komponente entspricht,
die den jeweiligen Aspektblock enthält, wobei zumindest
einer der mehreren untereinander unterschiedlichen Steuerungsaspekte
und somit die für diesen festgelegten Aspekteigenschaften
die Hardware-Komponente als solche betreffen.
-
Diese
Maßnahme besitzt den Vorteil, dass für die jeweilige
Software-Komponente aspektweise, d. h. bezogen auf den einzelnen
Teilaspekt einer Sicherheitssteuerung, die Funktionalitäten
und somit Eigenschaften gezielt vorgegeben werden können. Somit
kann das Anwenderprogramm präzise erstellt und die Gesamtfunktionalität
der zu steuernden Anlage präzise bestimmt werden. Zudem
ist sichergestellt, dass sämtliche für die Beschreibung
der Funktionalität einer Hardware-Komponente erforderlichen Daten
bzw. Information in einer einzigen Software-Komponente enthalten
sind. Insgesamt wird durch diese Maßnahme die Fehlersicherheit
verbessert.
-
In
einer weiteren Ausgestaltung der Erfindung enthält zumindest
ein Teil der bereitgestellten Vielzahl von Software-Komponenten
neben einer Anzahl von Aspektblöcken zusätzlich
eine Anzahl von Elementarkomponenten und/oder eine Anzahl von Gruppenkomponenten,
wobei eine Gruppenkomponente zumindest einen Aspektblock und zumindest eine
Software-Komponente enthält, wobei die enthaltene Software-Komponente
selbst wiederum als Elementarkomponente oder als Gruppen komponente ausgebildet
sein kann, und wobei eine Elementarkomponente lediglich zumindest
einen Aspektblock enthält, wobei in der Anzahl von Aspektblöcken
jeweils ein Funktionsprogramm hinterlegt ist, welches Aspekteigenschaften
für denjenigen Steuerungsaspekt festlegt, dem der jeweilige
Aspektblock zugeordnet ist, wobei zumindest einer der mehreren untereinander
unterschiedlichen Steuerungsaspekte und somit die für diesen
festgelegten Aspekteigenschaften das Zusammenwirken zumindest eines
Teils der Anzahl von Elementarkomponenten und/oder zumindest eines
Teils der Anzahl von Gruppenkomponenten betrifft.
-
Die
Maßnahme, dass ein Steuerungsaspekt das Zusammenwirken
mehrerer Hardware-Komponenten betrifft, die selbst wiederum in einer
Hardware-Komponente angeordnet sind, hat folgenden Vorteil: Enthält
eine zu steuernde Anlage eine Hardware-Komponente, die mehrere Hardware-Komponenten
umfasst, so wird durch das Bereitstellen der Software-Komponente,
die dieser Hardware-Komponente entspricht, gleichzeitig die Funktionalität
mit bereitgestellt, die das Zusammenwirken der enthaltenen Hardware-Komponenten
vorgibt. Hierdurch wird die Komplexität beim Erstellen
eines Anwenderprogramms reduziert und somit die Fehlersicherheit
verbessert. Ein Teilaspekt einer Sicherheitssteuerung, der das Zusammenwirken
mehrerer Hardware-Komponenten betrifft, ist beispielsweise der Teilaspekt
der Verriegelung.
-
Vorteilhafterweise
kann es sich bei den untereinander unterschiedlichen Steuerungsaspekten um
eine beliebige Anzahl folgender Steuerungsaspekte handeln: ein Standardsteuerungsaspekt,
der den Teilaspekt Standardsteuerung repräsentiert; ein Sicherheitssteuerungsaspekt,
der den Teilaspekt Sicherheitssteuerung repräsentiert;
ein Diagnoseaspekt, der den Teilaspekt Diagnose repräsentiert;
ein Visualisierungsaspekt, der den Teilaspekt Visualisierung repräsentiert;
ein Antriebsregelungsaspekt, der den Teilsaspekt Antriebsregelung
repräsentiert; ein Kühlungsaspekt, der den Teilaspekt
Kühlung repräsentiert; ein Zugriffberechtigungsaspekt,
der den Teilsaspekt Zugriffberechtigung repräsentiert;
ein Wartungsaspekt, der den Teilsaspekt Wartung repräsentiert;
ein Verriegelungsaspekt, der den Teilsaspekt Verriegelung repräsentiert;
ein Handbetriebsaspekt, der den Teilsaspekt Handbetrieb repräsentiert;
ein Datenverwaltungsaspekt, der den Teilsaspekt Datenverwaltung
repräsentiert.
-
Somit
können mehrere untereinander unterschiedliche Steuerungsaspekte
gleichzeitig berücksichtigt werden, wobei jeder dieser
Steuerungsaspekte einen eigenständigen Teilsaspekt der
Sicherheitssteuerung repräsentiert. Die eigenständigen Teilsaspekte
haben untereinander wenig Gemeinsamkeiten, weswegen sie sich dazu
eignen, die Gesamtfunktionalität, die für die
zu steuernde Anlage zu erstellen ist, in mehrere Teilfunktionalitäten
zu unterteilen. Dadurch kann die Komplexität beim Erstellen eines
Anwenderprogramms reduziert werden. Zudem wird dadurch die Möglichkeit
geschaffen, dass die einzelnen Aspektteilprogramme durch einen jeweiligen
Experten erstellt werden können. Insgesamt führt
dies zu einer Verbesserung der Fehlersicherheit.
-
Die
vorstehend aufgeführten Steuerungsaspekte können
in technologiebedingte und in anwendungsbedingte Steuerungsaspekte
unterteilt werden. Zu den technologiebedingten Aspekten zählen
beispielsweise der Sicherheitssteuerungsaspekt, der Standardsteuerungsaspekt,
der Diagnoseaspekt und der Visualisierungsaspekt. Zu den anwendungsbedingten
Steuerungsaspekten zählt beispielsweise der Verriegelungsaspekt
und der Handbetriebsaspekt.
-
Der
Teilsaspekt Standardsteuerung betrifft diejenigen Umfänge
einer Sicherheitssteuerung, in denen Standardvariablen verarbeitet
werden, und die somit nicht sicher ausgelegt sein müssen.
Der Teilsaspekt Sicherheitssteuerung betrifft diejenigen Umfänge
einer Sicherheitssteuerung, in denen sichere Variablen verarbeitet
werden, und die somit sicher ausgelegt sein müssen. Der
Teilsaspekt Diagnose betrifft diejenigen Umfänge einer
Sicherheitssteuerung, die für die Feststellung von Fehlern
bzw. Fehlerursachen ausgebildet sind. Der Teilsaspekt Visualisierung
betrifft diejenigen Umfänge einer Sicherheitssteuerung, die
für die Darstellung von Daten oder Zuständen von Hardware-Komponenten
ausgebildet sind. Auch sollen diejenigen Umfänge umfasst
sein, die eine Interaktion des Betreibers der Anlage mit der Sicherheitssteuerung
ermöglichen. Der Teilsaspekt Antriebsregelung betrifft
diejenigen Umfänge einer Sicherheitssteuerung, die dazu
ausgebildet sind, einen Antrieb zu regeln, und zwar im Sinne der
Einstellung beispielsweise einer Drehzahl oder einer Geschwindigkeit
oder einer Kraft. Der Teilsaspekt Kühlung betrifft diejenigen
Umfänge einer Sicherheitssteuerung, die für die
Kühlung von in der zu steuernden Anlage enthaltenen Hardware-Komponenten
ausgebildet sind. Der Teilsaspekt Zugriffsberechtigung betrifft
diejenigen Umfänge einer Sicherheitssteuerung, die dazu ausgebildet
sind, die zu steuernde Anlage beispielsweise von einer Betriebsart
Automatikbetrieb, in der das Anwenderprogramm abgearbeitet wird,
in eine Betriebsart Einrichtbetrieb umzuschalten, in welcher Einstellarbeiten
an der zu steuernden Anlage durchgeführt werden können.
Der Teilsaspekt Wartung betrifft diejenigen Umfänge einer
Sicherheitssteuerung, die auf Maßnahmen zum Erhalt der
Funktionsfähigkeit der zu steuernden Anlage gerichtet sind.
Der Teilsaspekt Verriegelung betrifft diejenigen Umfänge
einer Sicherheitssteuerung, die dazu ausgebildet sind, dass eine
zu steuernde Anlage erst dann angefahren werden kann wenn bestimmte
Voraussetzungen erfüllt sind, beispielsweise eine Schutztüre
verriegelt ist. Ergänzend oder alternativ betrifft der
Teilsaspekt Verriegelung auch diejenigen Umfänge, die dazu ausgebildet
sind, dass eine in der Anlage enthaltene Hardware-Komponente erst
dann einen bestimmten Zustand einnehmen kann, wenn eine andere Hardware-Komponente,
mit der diese zusammenwirkt, einen vordefinierten Zustand einnimmt.
Der Teilaspekt Handbetrieb betrifft diejenigen Umfänge
einer Sicherheitssteuerung, die dazu ausgebildet sind, die zu steuernde
Anlage von einem Automatikbetrieb in einen Handbetrieb umzuschalten,
in welchem schrittweise die einzelnen Schritte des Anwenderprogramms
abgefahren werden können. Der Teilsaspekt Datenverwaltung
betrifft diejenigen Umfänge einer Sicherheitssteuerung,
die dazu ausgebildet sind, Daten zu sammeln und zu speichern (im
Sinne von SCADA; Supervisory Control and Data Acquisition).
-
In
einer weiteren Ausgestaltung der Erfindung werden zusätzlich
zu der Vielzahl von Software-Komponenten eine Anzahl von Aspektblöcken
bereitgestellt, wobei diese Anzahl von Aspektblöcken bei
dem Erstellen eines Aspektteilprogrammes berücksichtigt
werden.
-
Diese
Maßnahme besitzt den Vorteil, dass für die Hardware-Komponenten,
denen die Vielzahl von bereitgestellten Software-Komponenten entsprechen,
Aspekteigenschaften vergeben werden können. Beispielsweise
kann somit das Zusammenwirken dieser Hardware-Komponenten, vorzugsweise im
Sinne einer Verriegelung, festgelegt werden.
-
In
einer weiteren Ausgestaltung der Erfindung ist das Anwenderprogramm
hierarchisch strukturiert, wobei durch die bereitgestellte Vielzahl
von Software-Komponenten eine Hierarchieebene festgelegt wird, bei
der es sich um die oberste Hierarchieebene handelt und wobei durch
zumindest eine Software-Komponente, die in einer derjenigen Software-Komponenten
enthalten ist, die zu der bereitgestellten Vielzahl von Software-Komponenten
gehört, eine weitere, unterhalb der obersten Hierarchieebene
liegende Hierarchieebene festgelegt wird.
-
Diese
Ausgestaltung der Erfindung stellt eine Maßnahme dar, mit
der die Komplexität bei dem Erstellen eines Anwenderprogramms
reduziert werden kann. Somit steht neben der durch den neuen Ansatz begründeten
Maßnahme eine zweite Maßnahme zur Reduzierung
der Komplexität zur Verfügung. Wie bereits ausgeführt,
wird durch die Maßnahme, die durch den neuen Ansatz begründet
ist, eine vertikale Unterteilung der Gesamtfunktionalität
der zu steuernden Anlage erreicht. Dahingegen bewirkt die Maßnahme der
Hierarchisierung aufgrund der unterschiedlichen Hierarchieebenen
eine Unterteilung der Gesamtfunktionalität in horizontaler
Richtung. Die beiden Maßnahmen haben somit unterschiedliche
Ordnungs- oder Gliederungsrichtungen, weswegen sie sich bei gleichzeitiger
Anwendung nicht nachteilig gegenseitig beeinflussen. Somit lassen
sich diese beiden Maßnahmen bzw. Strukturierungsansätze
problemlos miteinander kombinieren, weswegen deren Kombination besonders
konsequent ist. Die Komplexität lässt sich sehr
stark reduzieren und somit die Übersichtlichkeit sehr stark
steigern, was letztendlich zu einer sehr starken Verbesserung der
Fehlersicherheit führt.
-
In
einer weiteren Ausgestaltung der zuvor genannten Maßnahme
werden zusätzlich zu der Vielzahl von Software-Komponenten
eine Anzahl von Aspektblöcken bereitgestellt, wobei zumindest
ein Teil der Vielzahl von Software-Komponenten und zumindest ein
Teil der Anzahl von Aspektblöcken zu einer neuen Software-Komponente
zusammengefasst werden können, wodurch eine neue oberste
Hierar chieebene festgelegt wird, unterhalb der die bisherige oberste
Hierarchieebene als zweitoberste Hierarchieebene liegt.
-
Diese
Maßnahme besitzt den Vorteil, dass in einem beliebigen
Stadium bei dem Erstellen eines Anwenderprogramms innerhalb der
obersten Hierarchieebene ein Teil der Vielzahl von Software-Komponenten
unter Berücksichtigung entsprechend erforderlicher Aspektblöcke
zu einer neuen Software-Komponente zusammengefasst werden können, um
dadurch die in der obersten Hierarchieebene erreichte Komplexität
zu reduzieren. Vorteilhafterweise kann diese Maßnahme auch
für eine bereits existierende, unterhalb der obersten Hierarchieebene
liegende weitere Hierarchieebene in entsprechender Weise angewandt
werden. Somit steht eine Maßnahme zur Verfügung,
mit der sich für eine beliebige Hierarchieebene die in
dieser Hierarchieebene erreichte Komplexität reduzieren
lässt.
-
In
einer weiteren Ausgestaltung der Erfindung ist das Anwenderprogramm
in eine Vielzahl von Hierarchieebenen strukturiert, von denen eine
ausgewählt werden kann, wobei bei dem Erstellen eines Aspektteilprogramms
ferner lediglich diejenigen Aspektblöcke berücksichtigt
werden, die in der ausgewählten Hierarchieebene enthalten
sind.
-
Diese
Maßnahme besitzt den Vorteil, dass die Anzahl der bei dem
Erstellen eines Aspektteilprogrammes zu berücksichtigenden
Aspektblöcke reduziert werden kann. Dadurch wird die Komplexität beim
Erstellen eines Anwenderprogramms weiter reduziert und die Fehlersicherheit
weiter verbessert.
-
Insgesamt
sind bei dem Erstellen eines Aspektteilprogrammes alle Aspektblöcke
zu berücksichtigen, die dem jeweils betrachteten Steuerungsaspekt
zugeordnet sind. Da nun lediglich diejenigen Aspektblöcke
berücksichtigt werden, die in der ausgewählten
Hierarchieebene enthalten sind, wird für die ausgewählte
Hierarchieebene jeweils ein Programmfragment erstellt. Für
die nicht ausgewählten Hierarchieebenen wird ebenfalls
ein gemeinsames Programmfragment erstellt. Die einzelnen Programm fragmente
werden dann zu dem zu erstellenden Aspektteilprogramm zusammengefügt.
Eine alternative Vorgehensweise besteht darin, dass für jede
der ausgewählten Hierarchieebenen ein eigenständiges
Aspektteilprogramm erstellt wird und für die nicht ausgewählten
Hierarchieebenen ein gemeinsames Aspektteilprogramm erstellt wird.
Dies bedeutet, dass sich die Anzahl der erstellten Aspektteilprogramme
erhöht.
-
In
einer weiteren Ausgestaltung der Erfindung kann eine der Hierarchieebenen
als Referenzhierarchieebene festgelegt werden, wobei sowohl für die
Referenzhierarchieebene als auch für diejenigen Hierarchieebenen,
die in der Hierarchie oberhalb der Referenzhierarchieebene liegen,
jeweils ein eigenständiges Aspektteilprogramm erstellt
wird, wobei beim Erstellen des jeweiligen eigenständigen
Aspektteilprogramms lediglich diejenigen Aspektblöcke berücksichtigt
werden, die in der jeweiligen Hierarchieebene enthalten sind, und
wobei für die Hierarchieebenen, die unterhalb der Referenzhierarchieebene
liegen, ein Aspektteilprogramm erstellt wird, wobei beim Erstellen
des Aspektteilprogramms sämtliche in diesen Hierarchieebenen
enthaltenen Aspektblöcke berücksichtigt werden.
-
Diese
Maßnahme ermöglicht ein besonders effizientes
Erstellen eines Anwenderprogramms. Die Referenzhierarchieebene kann
so festgelegt werden, dass lediglich diejenigen Hierarchieebenen
einer Einzelbetrachtung unterzogen werden, für die dies
zu einer merklichen Reduzierung der Komplexität führt. Dagegen
werden diejenigen Hierarchieebenen gemeinsam betrachtet, für
die die Anzahl der zu berücksichtigenden Aspektblöcke überschaubar
ist. Vorteilhafterweise kann die Referenzhierarchieebene vom Programmierer
des Anwenderprogramms festgelegt und somit an seine Bedürfnisse
angepasst werden.
-
Vorteilhafterweise
weist zumindest ein Teil der Aspektblöcke zumindest folgende
Einheiten auf, wobei jeder der Aspektblöcke über
eine Anzahl von Eingängen verfügt, über
die dem jeweiligen Aspektblock Eingangssignale zugeführt
werden können, und über eine Anzahl von Ausgängen
verfügt, über die der jeweilige Aspektblock Ausgangssignale
ausgeben kann:
- – eine Identifiziereinheit,
in der eine Kennung hinterlegt ist, die denjenigen Steuerungsaspekt
festlegt, dem der Aspektblock zugeordnet ist,
- – eine Funktionseinheit, in der ein Funktionsprogramm
hinterlegt ist, mit dem eine Aspekteigenschaft derjenigen Hardware-Komponente
festgelegt wird, der diejenige Software-Komponente entspricht, in
der der Aspektblock enthalten ist,
- – eine Parametereinheit, in der Parameterwerte für
Parameter, die in dem Funktionsprogramm verarbeitet werden, hinterlegt
sind,
- – eine Interfaceeinheit, in der die Anzahl von Eingängen
und die Anzahl von Ausgängen des Aspektblockes zusammengefasst
sind.
-
Dieser
strukturierte Aufbau der Aspektblöcke ermöglicht
zum einen ein effizientes Erstellen eines Anwenderprogramms. Zum
anderen gewährleistet er durch die Aufteilung in Funktionseinheit,
in Parametereinheit und in Interfaceeinheit ein hinsichtlich Geschwindigkeit
und Speicherplatzbedarf optimiertes Anwenderprogramm. Was den Aufbau
der Aspektblöcke angeht, so ist es denkbar, dass diese
auf jeden Fall jeweils eine Identifiziereinheit, eine Funktionseinheit
und eine Interfaceeinheit aufweisen. Die Parametereinheit kann lediglich
bei Bedarf, d. h. wenn in dem Funktionsprogramm Parameter vorgesehen
sind, vorhanden sein. Diese Vorgehensweise ist hinsichtlich des
Speicherplatzbedarfes, der für das erstellte Anwenderprogramm
benötigt wird, von Vorteil.
-
In
einer weiteren Ausgestaltung der Erfindung weist zumindest ein Teil
der Software-Komponenten zumindest folgende Einheiten auf, wobei
jede der Software-Komponenten über eine Anzahl von Eingängen
verfügt, über die der jeweiligen Software-Komponente
Eingangssignale zugeführt werden können, und über
eine Anzahl von Ausgängen verfügt, über
die die jeweilige Software-Komponente Ausgangssignale ausgeben kann:
- – eine Anzahl von Aspektblöcken,
- – eine Anzahl von Elementar- und/oder Gruppenkomponenten,
wobei eine Gruppenkomponente zumindest einen Aspektblock und zumindest
eine Software-Komponente enthält, wobei die enthaltene
Software-Komponente selbst wiederum als Elementarkomponente oder
als Gruppenkomponente ausgebildet sein kann, und wobei eine Elementarkomponente
lediglich zumindest einen Aspektblock enthält,
- – eine Interface-Einheit, in der die Anzahl von Eingängen
sowie die Anzahl von Ausgängen der Software-Komponente
zusammengefasst sind.
-
Der
einheitliche Aufbau der Software-Komponenten gewährleistet
Kompatibilität der Software-Komponenten untereinander.
Dies ermöglicht ein besonders effizientes Erstellen eines
Anwenderprogramms. Gleichzeitig werden mit Blick auf das logische
Verknüpfen der Software-Komponenten Fehlerquellen eliminiert,
was zur Verbesserung der Fehlersicherheit beiträgt. Vorzugsweise
weisen alle Software-Komponenten diesen Aufbau auf.
-
In
einer weiteren Ausgestaltung der Erfindung handelt es sich bei den
Eingängen um eine Anzahl von Signaleingängen und/oder
um eine Anzahl von Logikeingängen und/oder um eine Anzahl
von Parametriereingängen, und bei den Ausgängen
um eine Anzahl von Signalausgängen und/oder um eine Anzahl
von Logikausgängen und/oder um eine Anzahl von Parametrierausgängen,
wobei über die Anzahl von Signaleingängen eine
Anzahl von Eingangssignalen und über die Anzahl von Logikeingängen eine
Anzahl von Logikgrößen und über die Anzahl von
Parametriereingängen eine Anzahl von Parameter zugeführt
werden können, und wobei über die Anzahl von Signalausgängen
eine Anzahl von Ausgangssignalen und über die Anzahl von
Logikausgängen eine Anzahl von Logikgrößen
und über die Anzahl von Parametrierausgängen eine
Anzahl von Parameter ausgegeben werden können.
-
Die
Bündelung sowohl der Eingänge als auch der Ausgänge
in drei Typen von Schnittstellen, nämlich Logikschnittstellen,
Parameterschnittstellen und Hardwareschnittstellen für
die Signale gewährleistet ein hohes Maß an Kompatibilität.
Dies ermöglicht ein effizientes Erstellen eines Anwenderprogramms.
Gleichzeitig werden mögliche Fehler beim Verbinden von
Software-Komponenten und/oder von Aspektblöcken reduziert,
wodurch die Fehlersicherheit verbessert wird. Die Anzahl der Eingänge
und Ausgänge, die dem jeweiligen Schnittstellentyp zugeordnet
sind, ist gemäß den jeweiligen Gegebenheiten variabel.
-
Vorteilhafterweise
sind die in den Aspektblöcken jeweils enthaltenen Interfaceeinheiten
und die in den Software-Komponenten jeweils enthaltenen Interfaceeinheiten
funktionell identisch aufgebaut.
-
Diese
Maßnahme stellt optimale Kompatibilität sicher.
So sind die Software-Komponenten untereinander kompatibel. Auch
sind die Aspektblöcke untereinander kompatibel. Ferner
ist Kompatibilität zwischen Aspektblöcken und
Software-Komponenten gewährleistet. Dies ermöglicht
einerseits ein effizientes Erstellen eines Anwenderprogramms und
andererseits eine Verbesserung der Fehlersicherheit.
-
In
einer weiteren Ausgestaltung der Erfindung ist in den Aspektblöcken
jeweils ein Funktionsprogramm hinterlegt, welches Aspekteigenschaften einer
Hardware-Komponente für denjenigen Steuerungsaspekt festlegt,
dem der jeweilige Aspektblock zugeordnet ist, wobei es sich um diejenige
Hardware-Komponente handelt, der diejenige Software-Komponente entspricht,
die den jeweiligen Aspektblock enthält, wobei die einzelnen
Funktionsprogramme unter Verwendung einer Programmiersprache erstellt
werden, die jeweils aus einer Vielzahl unterschiedlicher Programmiersprachen
ausgewählt wird.
-
Diese
Maßnahme stellt sicher, dass für das Erstellen
der einzelnen Funktionsprogramme die jeweils am besten geeignete
Programmiersprache zum Einsatz kommt. Dabei kann vorgesehen sein, dass
durch das Computerprogramm, mit dem das neue Verfahren durchgeführt
werden kann, die nach objektiven Kriterien festgelegte, am besten
geeignete Sprache jeweils ausgewählt bzw. vorgegeben wird. Dies
kann für einzelne Teilaspekte, beispielsweise den Teilaspekt
der Visualisierung oder den Teilaspekt der Diagnose von Vorteil
sein. Alternativ oder ergänzend ist vorgesehen, dass der
Programmierer, der ein Anwenderprogramm erstellt, nach subjektiven Kriterien
die am besten geeignete Programmiersprache auswählen kann.
Als Vielzahl unterschiedlicher Programmiersprachen, aus denen ausgewählt
werden kann, kommen beispielsweise die in der europäischen
Norm EN 61131 unter Teil 3 aufgeführten Sprachen
Instruction List, Ladder Diagram, Function Block Diagram, Sequential
Function Chart und Structured Text in Frage. Als weitere Programmiersprache kann
auch die Sprache Continious Function Chart berücksichtigt
werden. Mit der Wahl der am besten geeigneten Programmiersprache
wird auch sichergestellt, dass der am besten geeignete Editor zum
Einsatz kommt.
-
Vorteilhafterweise
werden die Software-Komponenten und/oder die Aspektblöcke
mittels grafischer Symbole auf einer Benutzeroberfläche dargestellt.
-
Aufgrund
dieser Maßnahme ist es möglich, den eigentlichen
Vorgang des Programmierens besonders anschaulich und übersichtlich
zu gestalten, wodurch Fehlerquellen aufgrund menschlichen Versagens
oder Flüchtigkeit erheblich reduziert werden. Die Fehlersicherheit
wird erheblich gesteigert.
-
In
einer weiteren Ausgestaltung der Erfindung erfolgt das Bereitstellen
der Software-Komponenten und/oder das Bereitstellen der Aspektblöcke unter
Verwendung einer Drag & Drop-Funktion.
-
Eine
Drag & Drop-Funktion
ist an sich bereits von grafischen Benutzeroberflächen
handelsüblicher PCs bekannt. Hierbei wird ein Element mit
einem Eingabegerät, beispielsweise mit Hilfe einer sogenannten
Maus, markiert und sodann mit Hilfe des Eingabegerätes
an eine gewünschte Stelle verschoben oder kopiert. Eine
solche Art der Auswahl ist für den Programmierer sehr einfach
und komfortabel. Infolgedessen sind Fehlbedienungen und sich daraus
ergebende Fehlerquellen beim Programmieren weiter erheblich reduziert.
-
In
einer weiteren Ausgestaltung der Erfindung erfolgt das Verbinden
von Eingängen und Ausgängen der Software-Komponenten
und/oder das Verbinden von Eingängen und Ausgängen
der Aspektblöcke durch Ziehen grafischer Linien.
-
Diese
Maßnahme stellt eine einfache und somit wenig fehleranfällige
Handhabe dar. Dadurch wird die Fehlersicherheit verbessert.
-
In
einer weiteren Ausgestaltung der Erfindung wird für eine
Vielzahl der untereinander unterschiedlichen Steuerungsaspekte jeweils
ein Aspektteilprogramm erstellt, wobei das Erstellen der einzelnen
Aspektteilprogramme getrennt erfolgt.
-
Aufgrund
dieser Maßnahme wird die Komplexität bei dem Erstellen
eines Anwenderprogramms in starkem Maße reduziert. Das
Erstellen der einzelnen Aspektteilprogramme kann vorteilhafterweise
zeitlich getrennt erfolgen, so dass zeitlich nacheinander die einzelnen
Aspektteilprogramme erstellt werden. Alternativ oder ergänzend
kann auch eine räumliche Trennung vorgesehen werden. Bei
einer räumlichen Trennung werden die einzelnen Aspektteilprogramme
jeweils unter Verwendung einer eigenen grafischen Benutzeroberfläche
erstellt. Hierdurch ist es u. a. möglich, mehrere Aspektteilprogramme
zeitlich parallel zu erstellen, wenn die einzelnen grafischen Benutzeroberflächen
auf einem Monitor dargestellt sind. Dies ermöglicht ein
besonders effizientes Erstellen eines Anwenderprogramms.
-
In
einer bevorzugten Ausgestaltung der Erfindung werden bei dem Erstellen
eines Aspektteilprogrammes für einen Steuerungsaspekt sämtliche Aspektblöcke,
die in der Vielzahl von Software-Komponenten enthalten und diesem
Steuerungsaspekt zugeordnet sind, berücksichtigt.
-
Diese
Maßnahme gewährleistet innerhalb eines Steuerungsaspektes
eine einheitliche Handhabe und trägt somit zur Verbesserung
der Fehlersicherheit bei.
-
Das
neue Verfahren und die neue Vorrichtung haben folgende weitere Vorteile:
War bisher der Einsatz verschiedener Computerprogramme oder Werkzeuge
für das Erstellen eines Anwenderprogramms erforderlich – üblicherweise
musste für jeden Teilaspekt ein anderes verwendet werden – so kommt
man nun mit einem einzigen aus. Dadurch werden Kompatibilitätsprobleme
vermeiden, die auftreten können, wenn das Anwenderprogramm
unter Verwendung mehrerer Computerprogramme oder Werkzeuge erstellt
wird. Es sind nicht mehrere Computerprogramme oder Werkzeuge zu
beherrschen, es reicht aus, sich in eines einzuarbeiten. Bei dem
Erstellen eines Anwenderprogramms können alle Teilaspekte
ganzheitlich berücksichtigt werden.
-
Es
versteht sich, dass die vorstehend genannten und die nachstehend
noch zu erläuternden Merkmale nicht nur in der jeweils
angegebenen Kombination, sondern auch in anderen Kombinationen oder
in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden
Erfindung zu verlassen.
-
Ausführungsbeispiele
der Erfindung sind in der Zeichnung dargestellt und werden in der
nachfolgenden Beschreibung näher erläutert. Es
zeigen:
-
1 eine
schematische Darstellung eines Ausführungsbeispiels der
neuen Vorrichtung in Verbindung mit einer Sicherheitssteuerung,
für die ein Anwenderprogramm zu erstellen ist,
-
2 eine
vereinfachte Darstellung einer ersten grafischen Oberfläche
zum Bereitstellen von Software-Komponenten,
-
3 eine
vereinfachte Darstellung einer zweiten grafischen Oberfläche
zum Erstellen eines Komponententeilprogramms und von Aspektteilprogrammen,
-
4 eine
schematische Darstellung einer durch das zu erstellende Anwenderprogramm
zu steuernden Anlage,
-
5 eine
schematische Darstellung der für die zu steuernde Anlage
in einer obersten Hierarchieebene des Anwenderprogramms bereitgestellten Software-Komponenten
und Aspektblöcke,
-
6 eine
schematische Darstellung einer Teilkomponente der zu steuernden
Anlage,
-
7 eine
schematische Darstellung der für die Teilkomponente bereitgestellten
Software-Komponenten und Aspektblöcke,
-
8 eine
schematische Darstellung einer in der Teilkomponente enthaltenen
Unterkomponente und deren Einzelkomponenten,
-
9 eine
schematische Darstellung der für die Unterkomponente bereitgestellten
Software-Komponenten und Aspektblöcke,
-
10 eine
schematische Darstellung der für eine in der Unterkomponente
enthaltenen Einzelkomponente bereitgestellten Aspektblöcke,
-
11 eine
schematische Darstellung der für einen Not-Aus-Taster bereitgestellten
Aspektblöcke,
-
12 in
einer schematischen Darstellung den prinzipiellen Aufbau eines Aspektblockes,
-
13 in
einer schematischen Darstellung den prinzipiellen Aufbau einer Software-Komponente,
und
-
14 in
einer Übersichtsdarstellung die hierarchische Struktur
eines erstellten Anwenderprogramms.
-
In 1 ist
ein Ausführungsbeispiel der neuen Vorrichtung in seiner
Gesamtheit mit der Bezugsziffer 10 bezeichnet.
-
Die
Vorrichtung 10 beinhaltet einen herkömmlichen
PC 12 mit einem Monitor 14, auf dem ein Computerprogramm 16 ausgeführt
wird. Das Computerprogramm 16 ermöglicht das Erstellen
eines Anwenderprogramms 38 für eine Sicherheitssteuerung.
Es wird in der Fachterminologie daher häufig auch als Programmiertool
bezeichnet.
-
Die
zu programmierende Sicherheitssteuerung, für die ein Anwenderprogramm
zu erstellen ist, ist in 1 mit der Bezugsziffer 18 bezeichnet.
Sie ist hier zweikanaligredundant aufgebaut, um die erforderliche
Fehlersicherheit zum Steuern sicherheitskritischer Prozesse zu erreichen.
Stellvertretend für den zweikanaligen Aufbau sind in 1 zwei
voneinander getrennte Prozessoren 20, 22 dargestellt,
die über eine bidirektionale Kommunikationsschnittstelle 24 miteinander
in Verbindung stehen, um sich gegenseitig kontrollieren und Daten
austauschen zu können. Bevorzugt sind die beiden Kanäle
der Sicherheitssteuerung 18 und die beiden Prozessoren 20, 22 diversitär,
d. h. verschieden voneinander aufgebaut, um systematische Fehler
weitgehend auszuschließen.
-
Mit
der Bezugsziffer 26 ist eine Ein-/Ausgabeeinheit bezeichnet,
die mit jedem der beiden Prozessoren 20, 22 in
Verbindung steht. Die Ein-/Ausgabeeinheit nimmt Eingangssignale 28 von
externen Sensoren 30 auf und leitet diese in einem angepassten
Datenformat an jeden der beiden Prozessoren 20, 22 weiter.
Ferner erzeugt die Ein-/Eingabeeinheit in Abhängigkeit
von den Prozessoren 20, 22 Ausgangssignale 32,
mit denen Aktoren 34 angesteuert werden.
-
Bei
den Sensoren 30 handelt es sich beispielsweise um Not-Aus-Taster,
Zwei-Hand-Taster, Schutztürschalter, Drehzahlüberwachungsgeräte, Lichtschranken,
Sicherheitsschalter, Endlagenschalter oder andere Sensoren zur Aufnahme
sicherheitsrelevanter Größen. Für den
bevorzugten Fall, dass die Sicherheitssteuerung auch den Teilaspekt
Antriebsregelung umfasst, können die Sensoren 30 auch
Sensoren umfassen, die üblicherweise bei Standardsteuerungen
eingesetzt werden und mit denen dann im Rahmen der Antriebsregelung
eine zu regelnde Größe erfasst werden kann. Beispielsweise kann
es sich um Sensoren zur Aufnahme von Kräften oder Geschwindigkeiten
oder Drehwinkeln handeln. Die vorstehenden Aufzählungen
sollen keinen abschließenden Charakter haben.
-
Die
Aktoren 34 sind beispielsweise Schütze, mit denen
die Stromversorgung eines Antriebes oder einer kompletten Maschine
abgeschaltet werden kann. Bei den Aktoren 34 kann es sich
aber auch um Aktoren zur Realisierung einer Bewegung handeln, beispielsweise
Motoren oder Zylinder, insbesondere pneumatisch ausgebildete Zylinder,
wie sie beispielsweise für eine Linearbewegung zum Einsatz
kommen.
-
Mit
der Bezugsziffer 36 ist eine Chipkarte bezeichnet, auf
der hier ein Anwenderprogramm 38 abgespeichert wird. Das
Anwenderprogramm 38 wird mit Hilfe der Vorrichtung 10 erstellt
und es legt die von der Sicherheitssteuerung 18 durchzuführenden Steuerungsaufgaben
fest. Diese Steuerungsaufgaben wiederum legen die Gesamtfunktionalität
der mit der Sicherheitssteuerung zu steuernden Anlage fest. Die
Verwendung einer Chipkarte 36 als Speichermedium ermöglicht
einen einfachen Austausch des Anwenderprogramms 38 auch
ohne direkten Anschluss an die Vorrichtung 10. Alternativ
kann das Anwenderprogramm 38 über eine Datenschnittstelle
in einen Speicher der Sicherheitssteuerung 18 geladen werden.
-
Das
Computerprogramm 16 stellt auf dem Monitor 14 nachfolgend
näher erläuterte Benutzeroberflächen
bereit. Die Benutzeroberflächen stellen einem Programmierer
Software-Komponenten und Aspektblöcke bereit, und sie ermöglichen
ihm das Erstellen eines Komponententeilprogramms und von Aspektteilprogrammen,
wobei das Komponententeilprogramm und die Aspektteilprogramme zu
dem Anwenderprogramm 38 zusammengefügt werden.
-
Das
Bereitstellen der Software-Komponenten und der Aspektblöcke
sowie das Erstellen des Komponententeilprogramms und der Aspektteilprogramme
ist in 1 durch einen Funktionsblock 40 symbolisiert.
Nachdem der Programmierer die gewünschten Software-Komponenten
und Aspektblöcke bereitgestellt, die Software-Komponenten
ggf. parametriert und das Komponententeilprogramm und die Aspektteilprogramme
erstellt hat, wird dies alles in einem Speicher 42 des
PCs abgespeichert. Bevorzugt wird es dort zusätzlich mit
zumindest einer CRC (Cyclic Redundancy Check) Prüfsumme
abgesichert. Von dem Speicher 42 aus kann das Anwenderprogramm
dann auf die Chipkarte 36 oder direkt auf die Sicherheitssteuerung 18 übertragen
werden. Durch Absicherung mit der CRC wird dabei sichergestellt, dass
das übertragene Anwenderprogramm mit dem zuvor generierten
und im Speicher 42 abgelegten Anwenderprogramm übereinstimmt.
-
Das
Anwenderprogramm 38 enthält hier sowohl Steuerungsaufgaben,
die nach dem Stand der Technik üblicherweise mit einer
nicht-sicheren Standardsteuerung ausgeführt werden und
insofern einem Standardsteuerungsaspekt zuzuordnen sind, als auch
Steuerungsaufgaben, die sicherheitsrelevant sind und daher dem Sicherheitssteuerungsaspekt
zuzuordnen sind. Die Sicherheitssteuerung 18 verfügt über
ein Bussystem, über welches der gesamte Datenaustausch
zwischen einzelnen Komponenten der Sicherheitssteuerung 18 läuft,
der bei der Abarbeitung des Anwenderprogramms 38 anfällt.
D. h. über dieses Bussystem erfolgt der Datenaustausch
sowohl für den Fall, dass Steuerungsaufgaben, die dem Standardsteuerungsaspekt
zugeordnet sind, als auch Steuerungsaufgaben, die dem Sicherheitssteuerungsaspekt
zugeordnet sind, abgearbeitet werden.
-
In 2 ist
eine erste grafische Oberfläche, die das Computerprogramm 16 dem
Programmierer auf dem Monitor 14 bereitstellt, in ihrer
Gesamtheit mit der Bezugsziffer 50 bezeichnet.
-
Die
erste grafische Benutzeroberfläche 50 beinhaltet
ein Software-Komponenten-Feld 52, welches eine Menge 54 vordefinierter
Software-Komponenten in Form von grafischen Symbolen enthält,
wobei die einzelnen vordefinierten Software-Komponenten mit den
Bezugsziffern 56, 58, 60, 62 bezeichnet
sind. Die vordefinierten Software-Komponenten 56 bis 62 wurden
vom Anbieter des Computerprogramms 16, mit dem das neue
Verfahren zum Erstellen eines Anwenderprogramms 38 durchgeführt
werden kann, erstellt und sind in einer in diesem Computerprogramm 16 enthaltenen
Datenbank oder Bibliothek abgelegt. Durch die in 2 für
die vordefinierten Software-Komponenten 56 bis 62 vergebenen Bezeichnungen
SK 1, SK 2, SK 3 und SK n ist angedeutet, dass die Menge 54 vordefinierter
Software-Komponenten mehr als die in 2 dargestellten vordefinierten
Software-Komponenten 52 bis 62 umfassen kann.
-
Das
Software-Komponenten-Feld 52 enthält eine Menge 64 neu
erstellter Software-Komponenten in Form von grafischen Symbolen,
wobei die einzelnen neu erstellten Software-Komponenten mit den Bezugsziffern 66, 68, 70 bezeichnet
sind. Bei den neu erstellten Software-Komponenten 66 bis 70 handelt
es sich um solche Software-Komponenten, die vom Programmierer beim
Erstellen des Anwenderprogramms 38 für in der
zu steuernden Anlage enthaltene Hardware-Komponenten, für
die keine entsprechende vordefinierte Software-Komponente in der
Datenbank oder Bibliothek des Computerprogramms 16 enthalten
sind, erstellt wurden und anschließend gekapselt wurden.
In entsprechender Weise sind auch die vordefinierten Software-Komponenten 56 bis 62 gekapselt.
-
Durch
die Kapselung wird erreicht, dass die Eigenschaften bzw. die Funktionalität
der vordefinierten Software-Komponenten 56 bis 62 und
der neu erstellten Software-Komponenten 66 bis 70 nicht
mehr verändert werden kann, nachdem diese erstellt wurden.
Die für die neu erstellten Software-Komponenten 66 bis 70 verwendeten
Bezeichnungen SK n + 1, SK n + 2 und SK n + 3 zeigen an, dass die
in dem Computerprogramm 16 enthaltene Datenbank oder Bibliothek
um diese Software-Komponenten erweitert wird. Somit können
diese Software-Komponenten zu einem späteren Zeitpunkt,
wenn beispielsweise ein weiteres Anwenderprogramm erstellt werden soll, zusätzlich
zu den herstellerseitig vordefinierten Software-Komponenten 56 bis 62 verwendet
werden.
-
Zur
besseren Unterscheidung sind im Software-Komponenten-Feld 52 die
vordefinierten Software-Komponenten 56 bis 62 in
durchgezogenen Linien dargestellt und die neu erstellten Software-Komponenten 66 bis 70 in
gestrichelten Linien dargestellt. Ferner sind im Software-Komponenten-Feld 52 Software-Komponenten,
die als so genannte Elementarkomponenten ausgeführt sind,
mit einem kleinen Block dargestellt, während Software-Komponenten, die
als Gruppenkomponenten ausgeführt sind, mit einem großen
Block dargestellt sind. Diese Darstellungsformen haben für
die gesamte 2 Gültigkeit. Ferner
sei erwähnt, dass sowohl die vordefinierten Software-Komponenten 56 bis 62,
als auch die neu erstellten Software-Komponenten 66 bis 70 jeweils auswählbar
sind.
-
Die
erste grafische Benutzeroberfläche 50 beinhaltet
ein Aspektblock-Feld 72, welches eine Menge 74 auswählbarer
Aspektblöcke in Form von grafischen Symbolen enthält,
wobei die einzelnen Aspektblöcke hier mit den Bezugsziffern 76, 78, 80, 82, 84, 86 bezeichnet
sind.
-
Jeder
der Aspektblöcke 76 bis 86 ist einem von
mehreren untereinander unterschiedlichen Steuerungsaspekten zugeordnet,
wobei jeder dieser Steuerungsaspekte einen eigenständigen
Teilaspekt der Sicherheitssteuerung repräsentiert. Die
für die Aspektblöcke 76 bis 86 verwendeten
Bezeichnungen Ab 1, Ab 2, Ab 3, Ab 4, Ab 5, und Ab n sollen andeuten,
dass in dem Computerprogramm 16 mehr als die in 2 dargestellten
Aspektblöcke zur Verfügung stehen können.
Die Aspektblöcke 76 bis 86 sind in einer
im Computerprogramm 16 enthaltenen Datenbank oder Bibliothek
abgelegt.
-
Die
erste grafische Benutzeroberfläche 50 beinhaltet
ferner ein Arbeitsfeld 88. Mit Hilfe dieses Arbeitsfeldes 88 können
bei dem Erstellen eines Anwenderprogramms 38 vom Programmierer
neue Software-Komponenten erstellt werden.
-
Mit
der Bezugsziffer 90 ist eine zu erstellende erste neue
Software-Komponente bezeichnet, die als Elementarkomponente ausgeführt
ist. Für die zu erstellende erste neue Software-Komponente 90 wird
eine Anzahl 92 von Aspektblöcken bereitgestellt. Das
Bereitstellen eines Aspektblockes erfolgt, indem der entsprechende
in dem Aspektblock-Feld 72 enthaltene Aspektblock 76 bis 86 mit
Hilfe einer Drag & Drop-Funktion
der zu erstellenden neuen Software-Komponente hinzugefügt
wird, wie dies anhand des Pfeils 94 beispielhaft dargestellt
ist. In diesem Beispiel wird eine Kopie 96 des ausgewählten
Aspektblockes 80 erstellt. Programmtechnisch wird bei diesem
Vorgang ein Speicherbereich bereitgestellt, in dem die Funktionalität
bzw. die Eigenschaften hinterlegt werden, die der ausgewählte
Aspektblock 80 vorgibt. An dieser Stelle sei angemerkt,
dass dieser programmtechnische Zusammenhang in entsprechender Weise
auch für nachfolgende Ausführungen hinsichtlich
des Erstellens einer Kopie eines Aspektblockes und/oder des Erstellen
einer Kopie einer Software-Komponente gilt.
-
Für
die bereitgestellte Anzahl 92 von Aspektblöcken
sind diejenigen Logikgrößen und/oder diejenigen
Zwischengrößen und/oder diejenigen Parameter und/oder
diejenigen Signale festzulegen, die dem jeweiligen Aspektblock zur
Bearbeitung über zugehörige Eingänge
zuzuführen sind oder die von dem jeweiligen Aspektblock
ermittelt und von diesem über zugehörige Ausgänge
ausgegeben werden. Dieses Festlegen kann beispielsweise durch Zuweisungen erfolgen,
die unter Verwendung einer textuellen Programmiersprache in einem
Eingabefeld 98 eingegeben werden. In diesem Stadium werden
die Größen und/oder Parameter und/oder Signale
lediglich dem Grunde nach festgelegt. Die Festlegung der konkreten
Sensoren und/oder Aktoren, die mit dem jeweiligen Aspektblock zu
verbinden sind, erfolgt in einem späteren, noch zu beschreibenden
Schritt.
-
Jeder
Aspektblock enthält Logikeingänge und Logikausgänge.
Zumindest ein Teil dieser Logikeingänge und zumindest ein
Teil dieser Logikausgänge sind untereinander und/oder mit
Logikeingängen und/oder mit Logikausgängen, die
die erste neue Software-Komponente 90 aufweist, zu verbinden. Dies
ist beispielhaft mit einer Verbindung 100 angedeutet. Diese
Verbindungen können beispielsweise grafisch durch Ziehen
von Linien erzeugt werden. Dass keine Verbindungen zwischen einem
Aspektblock und der ersten neuen Software-Komponente 90 dargestellt
ist, soll keine einschränkende Wirkung haben. Aus Gründen
der Übersichtlichkeit wird auf die Darstellung der Logikeingänge
verzichtet.
-
Ferner
ist zumindest für einen Teil der bereitgestellten Anzahl 92 von
Aspektblöcken jeweils ein Funktionsprogramm zu erstellen.
Unter Verwendung einer der in der europäischen Norm IEC/EN
61131 beschriebenen Sprachen kann dies jeweils durch Eingabe
entsprechender Anweisungen in dem Programmierfeld 98 erfolgen.
-
Ist
die erste neue Software-Komponente 90 erstellt, d. h. sind
alle für das Erstellen dieser Software-Komponente erforderlichen
Schritte durchgeführt, wird diese Software-Komponente gekapselt
und in dem Software-Komponenten-Feld 52 wird eine neu erstellte
Software-Komponente 66 angelegt, was durch einen Pfeil 102 angedeutet
ist. Diese kann dann in einem noch zu beschreibenden Bereitstellungsfeld 104 bereitgestellt
werden, was durch einen Pfeil 106 angedeutet ist. In dem
Bereitstellungsfeld 104 wird eine Kopie 108 der
neu erstellten Software-Komponente 66 angelegt. Programmtechnisch bedeutet
dies, dass ein Speicherbereich reserviert wird, in dem die Funktionalität
bzw. die Eigenschaften hinterlegt sind, die durch die neu erstellte
Software-Komponente 66 vorgegeben sind.
-
Alternativ
zu der durch die Pfeile 102, 106 dargestellten
Abfolge ist es denkbar, dass die erstellte erste neue Software-Komponente 90 direkt
in dem Bereitstellungsfeld 104 bereitgestellt wird und
nicht erst in das Software-Komponenten-Feld 52 übertragen
bzw. in diesem angelegt wird. Nachdem die erste neue Software-Komponente 90 bereitgestellt
wurde, kann dann in dem Software-Komponenten-Feld 52 eine
neu erstellte Software-Komponente 66 angelegt werden, sofern
der Programmierer des Anwenderprogramms dieses wünscht.
-
Mit
der Bezugsziffer 110 ist eine zu erstellende zweite neue
Software-Komponente bezeichnet, die als Gruppenkomponente ausgeführt
ist. Für die zu erstellende zweite neue Software-Komponente 110 wird
eine Anzahl 112 von Aspektblöcken bereitgestellt.
Dies ist beispielhaft durch einen Pfeil 114 dargestellt.
Die Vorgehensweise entspricht dabei derjenigen, die bereits im Zusammenhang
mit der ersten neuen Software-Komponente 90 beschrieben wurde.
In diesem Fall wird eine Kopie 116 des Aspektblockes 86 erstellt.
-
Ferner
wird für die zweite neue Software-Komponente 110 eine
Anzahl 118 von Elementarkomponenten bereitgestellt. Dies
ist durch einen Pfeil 120 angedeutet. Bei diesem Vorgang
wird eine Kopie 122 der vordefinierten Software-Komponente 60 erstellt.
Programmtechnisch bedeutet dies, dass ein Speicherbereich bereitgestellt
wird, in dem die Funktionalität bzw. die Eigenschaften
hinterlegt sind, die durch die vordefinierte Software-Komponente 60 vorgegeben
sind. Ergänzend oder alternativ werden für die
zweite neue Software-Komponente 110 eine Anzahl 124 von
Gruppenkomponenten bereitgestellt.
-
Für
die bereitgestellte Anzahl 112 von Aspektblöcken
werden jeweils diejenigen Logikgrößen und/oder
diejenigen Zwischengrößen und/oder diejenigen
Parameter und/oder diejenigen Signale festgelegt, die in dem jeweiligen
Aspektblock zur Bearbeitung benötigt werden und diesem über
entsprechende Eingänge zuzuführen sind und/oder
die von dem jeweiligen Aspektblock ermittelt und über entsprechende
Ausgänge von diesem ausgegeben werden. Dies erfolgt wie
im Zusammenhang mit der ersten neuen Software-Komponente 90 beschrieben,
weswegen bzgl. der konkreten Vorgehensweise und weitergehender Information
auf die zugehörigen Ausführungen verwiesen wird.
-
Wie
bereits im Zusammenhang mit der ersten neuen Software-Komponente 90 beschrieben, weisen
die bereitgestellte Anzahl 112 von Aspektblöcken
Logikeingänge und Logikausgänge auf. Ebenfalls
weisen die bereitgestellte Anzahl 118 von Elementarkomponenten,
die bereitgestellte Anzahl 124 von Gruppenkomponenten und
die zu erstellende zweite Software-Komponente 110 selbst
jeweils Logikeingänge und Logikausgänge auf. Auf
die Darstellung der Logikeingänge und Logikausgänge
wird jedoch aus Gründen der Übersichtlichkeit
verzichtet.
-
Nachdem
die Größen und/oder Parameter und/oder Signale
festgelegt sind, werden anschließend Verbindungen für
die zweite neue Software-Komponente 110 erstellt. Hierbei
werden zumindest ein Teil der Logikeingänge und zumindest
ein Teil der Logikausgänge der Anzahl 112 von
Aspektblöcken untereinander und/oder mit zumindest einem Teil
der Logikeingänge und/oder zumindest einem Teil der Logikausgänge
der Anzahl 118 von Elementarkomponenten und/oder der Anzahl 124 von
Gruppenkomponenten und/oder mit zumindest einem Teil der Logikeingänge
und/oder mit zumindest einem Teil der Logikausgänge der
zweiten neuen Software-Komponente 110 verbunden. Ferner
werden zumindest ein Teil der Logikeingänge und zumindest ein
Teil der Logikausgänge der Anzahl 118 von Elementarkomponenten
und/oder der Anzahl 124 von Gruppenkomponenten untereinander
und/oder mit zumindest einem Teil der Logikeingänge und/oder mit
zumindest einem Teil der Logikausgänge der zweiten neuen
Software-Komponente 110 verbunden. Entsprechend erstellte
Verbindungen sind mit der Bezugsziffer 126 bezeichnet.
Diese Verbindungen können beispielsweise grafisch durch
Ziehen von Linien erzeugt werden. Dass keine Verbindungen zwischen
einem Aspektblock oder einer Software-Komponente und der zweiten
neuen Software-Komponente 110 und keine Verbindungen zwischen
einer Elementarkomponente und einer Gruppenkomponente dargestellt
ist, soll keine einschränkende Wirkung haben.
-
Für
zumindest einen Teil der bereitgestellten Anzahl 112 von
Aspektblöcken wird jeweils ein Funktionsprogramm erstellt.
Dies erfolgt in entsprechender Weise, wie dies im Zusammenhang mit
der ersten neuen Software-Komponente 90 beschrieben wurde.
-
Sind
alle für das Erstellen der zweiten neuen Software-Komponente 110 erforderlichen
Schritte durchgeführt, so wird diese gekapselt und in dem Software-Komponenten-Feld 52 wird
eine neu erstellte Software-Komponente 70 angelegt, wie
dies durch einen Pfeil 128 angedeutet ist. Die neu erstellte Software-Komponente 70 kann
dann, wie dies durch einen Pfeil 130 angedeutet ist, bei
dem Erstellen eines Anwenderprogramms in dem Bereitstellungsfeld 104 bereitgestellt
werden. Hierbei wird eine Kopie 132 der neu erstellten
Software-Komponente 70 erstellt. In entspre chender Weise
kann auch die im Zusammenhang mit der ersten neuen Software-Komponente 90 dargelegte
alternative Vorgehensweise zum Einsatz kommen.
-
Für
die beiden zu erstellenden neuen Software-Komponenten 90, 110 gilt:
Durch das Festlegen der den einzelnen Aspektblöcken zuzuführenden und/oder
von diesen auszugebenden Größen und/oder Parametern
und/oder Signalen sind automatisch diejenigen Größen
und/oder Parameter und/oder Signale festgelegt, die derjenigen Software-Komponente,
in der die Aspektblöcke enthalten sind, zuzuführen
sind und/oder von dieser ausgegeben werden,. Alternativ kann auch
vorgesehen sein, dass diejenigen Größen und/oder
Parameter und/oder Signale, die einer Software-Komponente zuzuführen
sind und/oder von dieser ausgegeben werden, vom Programmierer des
Anwenderprogramms 38 in einem eigenständigen Verfahrensschritt
festgelegt werden.
-
In
dem Arbeitsfeld 88 ist eine dritte neue Software-Komponente 134 enthalten.
Diese ist als Elementarkomponente ausgebildet, die eine Anzahl 136 von
Aspektblöcken enthält. Bei dem Erstellen der dritten
neuen Software-Komponente 134 wird von der vordefinierten
Software-Komponente 62 ausgegangen. Bei der vordefinierten
Software-Komponente 62 handelt es sich um eine gekapselte
Software-Komponente. Diese wird in einen Bearbeitungsmodus überführt
und in dem Arbeitsfeld 88 wird die dritte neue Software-Komponente 134 angelegt.
Die in der Anzahl 136 von Aspektblöcken enthaltenen einzelnen
Aspektblöcke, die Verbindungen zwischen diesen Aspektblöcken
untereinander und/oder zu der dritten neuen Software-Komponente 134 entsprechen
denjenigen, wie sie in der vordefinierten Software-Komponente 62 vorliegen.
Aufgrund des Bearbeitungsmodus können nun folgende Änderungen
vorgenommen werden: Es können einzelne Aspektblöcke
entfernt und/oder hinzugefügt werden; es können Verbindungen
zwischen einzelnen Aspektblöcken untereinander und/oder
zur dritten neuen Software-Komponente 134 entfernt und/oder
hinzugefügt werden; an in bereits vorhandenen Aspektblöcken enthaltenen
Funktionsprogramme können jeweils Änderungen vorgenommen
werden. Insgesamt kann somit in einfacher Art und Weise auf der
Grundlage einer bereits vorhandenen vordefinierten Software-Komponente
eine neue Software-Komponente erstellt wer den, indem Modifikationen
an der bereits vorhandenen Software-Komponente durchgeführt werden.
-
Das Überführen
der vordefinierten Software-Komponente 62 in einen Bearbeitungsmodus
und das Anlegen der dritten neuen Software-Komponente 134 ist
durch einen Pfeil 138 angedeutet. Sind alle für
das Erstellen der neuen Software-Komponente 134 erforderlichen
Schritte durchgeführt, so wird diese gekapselt und in dem
Software-Komponenten-Feld 52 wird eine neu erstellte Software-Komponente 68 angelegt,
wie dies durch einen Pfeil 140 angedeutet ist. Die neu
erstellte Software-Komponente 68 kann dann bei dem Erstellen
eines Anwenderprogramms bereitgestellt werden, wobei eine Kopie 142 der
neu erstellten Software-Komponente 68 in dem Bereitstellungsfeld 104 angelegt
wird, wie dies durch einen Pfeil 144 angedeutet ist. Was
die konkrete Abfolge angeht, so kann auch die im Zusammenhang mit
der ersten neuen Software-Komponente 90 beschriebene alternative
Abfolge in Betracht kommen. Die in 2 gewählte
Darstellung, gemäß der die dritte neue Software-Komponente 134 als
Elementarkomponente ausgeführt ist, soll keine einschränkende
Wirkung haben. In entsprechender Weise kann auch eine neue Software-Komponente
auf der Grundlage einer bereits vorhandenen vordefinierten Software-Komponente,
die als Gruppenkomponente ausgeführt ist, erstellt werden.
-
Bei
der Betrachtung des Software-Komponenten-Feldes 52 wurde
angenommen, dass die neu erstellten Software-Komponenten 66 bis 70 bereits angelegt
und somit vorhanden sind. Bei der Betrachtung des Arbeitsfeldes 88 wurde
dahingegen angenommen, dass diese Komponenten erst noch zu erstellen
sind. Dies stellt keinen Widerspruch dar, da in 2 zusammenfassend
und somit beispielhaft verschiedene Vorgehensweisen bei dem Erstellen
eines Anwenderprogramms beschrieben sind.
-
Bei
dem Erstellen eines Anwenderprogramms 38 werden eine Vielzahl 146 von
Software-Komponenten bereitgestellt. Wie bereits beschrieben und
durch die Pfeile 106, 130, 144 angedeutet, können
hierbei neu erstellte Software-Komponenten 66 bis 70 bereitgestellt
werden. Ergänzend oder alternativ können auch
vordefinierte Software-Komponenten 56 bis 62 bereitgestellt
werden, wie dies durch einen Pfeil 148 ange deutet ist.
In diesem Fall wird in dem Bereitstellungsfeld 104 eine
Kopie 150 der vordefinierten Software-Komponente 56 angelegt.
Zusätzlich werden eine Anzahl 152 von Aspektblöcken,
was beispielhaft durch einen Pfeil 154 dargestellt ist.
In dem Bereitstellungsfeld 104 wird eine Kopie 156 des
Aspektblockes 76 angelegt.
-
Das
Anwenderprogramm 38 ist hierarchisch strukturiert. Durch
die bereitgestellte Vielzahl 146 von Software-Komponenten
wird eine oberste Hierarchieebene festgelegt. Ist in der bereitgestellten
Vielzahl 146 von Software-Komponenten eine Software-Komponente
enthalten, die als Gruppenkomponente ausgebildet ist, so wird durch
die Anzahl von Software-Komponenten, die in dieser Software-Komponente
enthalten ist, eine weitere, unterhalb der oberen Hierarchieebene
liegende Hierarchieebene festgelegt. Dies ist beispielsweise für
die Kopie 132 der Fall.
-
In
gestrichelten Linien ist angedeutet, dass ein Teil der Vielzahl 146 von
Software-Komponente und ein Teil der Anzahl 152 von Aspektblöcken
zu einer neuen Software-Komponente 158 zusammengefasst
werden können. Dies ist eine Maßnahme, um die
in der betrachteten Hierarchieebene erreichte Komplexität
zu reduzieren. Wird solch eine zusammengefasste Software-Komponente 158 in
der obersten Hierarchieebene erstellt, so wird dadurch eine neue
oberste Hierarchieebene festgelegt, unterhalb der die bisherige
Hierarchieebene als zweitoberste Hierarchieebene liegt.
-
Dass
das Erstellen einer zusammengefassten Software-Komponente in Zusammenhang
mit der obersten Hierarchieebene beschrieben wird, soll keine einschränkende
Wirkung haben. So kann eine zusammengefasste Software-Komponente
auch in einer unterhalb der obersten Hierarchieebene liegenden Hierarchieebene
erstellt werden. In diesem Fall enthält dann das Bereitstellungsfeld 104 nicht
die Software-Komponenten und Aspektblöcke der obersten
Hierarchieebene, sondern diejenigen der betrachteten Hierarchieebene.
Somit kann mit dem neuen Verfahren ein Anwenderprogramm 38 sowohl nach
dem ”Top-Down”-Konzept als auch nach dem ”Bottom-Up”-Konzept
erstellt werden. Aufgrund der Konzeption des neuen Verfahrens und
der neuen Vorrichtung können bei dem Erstellen eines Anwenderprogramms
diese beiden Konzepte auch gemischt werden.
-
Ebenso
kann auf einer beliebigen Hierarchieebene ein Aspektblock zugefügt
werden. Beispielsweise ist dies bei dem Erstellen einer zusammengefassten
Software-Komponente erforderlich. Hierbei kann es sich beispielsweise
um einen Aspektblock handeln, der demjenigen Steuerungsaspekt zugeordnet
ist, der den Teilaspekt Verriegelung repräsentiert. Nicht
nur ein Aspektblock, sondern auch eine Software-Komponente kann
auf einer beliebigen Hierarchieebene des Anwenderprogramms eingefügt
werden, um eine Reduzierung der Komplexität zu erzielen.
-
Die
in 2 gewählte Darstellung soll keine einschränkende
Wirkung haben. So kann anstelle der gewählten kombinierten
Anordnung der einzelnen Felder 52, 72, 88, 98, 104 auch
jedes dieser Felder in einer eigenen grafischen Benutzeroberfläche oder
eine beliebige Unterkombination jeweils für sich in einer
eigenen grafischen Benutzeroberfläche angeordnet sein.
Auch kann es vorgesehen sein, dass die neu erstellten Software-Komponenten 66 bis 70 in
einem eigenen Software-Komponenten-Feld enthalten sind. Die für
das Arbeitsfeld 88 gewählte Darstellung, gemäß der
drei neue Software-Komponenten 90, 110, 134 parallel
bearbeitet werden, soll keine einschränkende Wirkung haben.
Beispielsweise können diese drei neuen Software-Komponenten
mittels des Arbeitsfelds 88 auch zeitlich nacheinander
und somit einzeln erstellt werden.
-
In 3 ist
eine zweite grafische Benutzeroberfläche in ihrer Gesamtheit
mit der Bezugsziffer 170 bezeichnet.
-
Die
zweite grafische Benutzeroberfläche 170 beinhaltet
ein Komponenten-Feld 172, in dem eine bereitgestellte Vielzahl 174 von
Software-Komponenten angeordnet sind. Hierbei handelt es sich um die
Software-Komponenten der obersten Hierarchieebene. Durch logisches
Verknüpfen der Vielzahl 174 von Software-Komponenten
wird ein Komponententeilprogramm erstellt. Hierzu werden zumindest ein
Teil der Logikeingänge und zumindest ein Teil der Logikausgänge
der Software-Komponenten untereinander verbunden, was durch eine
Vielzahl 176 von Verbindungen dargestellt ist. Aufgrund
der in den Software-Komponenten jeweils enthaltenen internen logischen
Verknüpfungen werden die in diesen Software-Komponenten
angeordneten Elemen tarkomponenten und/oder Gruppenkomponenten automatisch mit
verknüpft. Folglich reicht es aus, bei dem Erstellen des
Komponententeilprogramms die in der obersten Hierarchieebene enthaltenen
Software-Komponenten untereinander logisch zu verknüpfen.
In darunter liegenden Hierarchieebenen enthaltene Software-Komponenten
müssen nicht explizit berücksichtigt werden. Die
logischen Verknüpfungen für die in der obersten
Hierarchieebene enthaltenen Aspektblöcke können
beispielsweise in dem Bereitstellungsfeld 104 vorgenommen
werden. Alternativ kann dies auch in einem weiteren, eigenständigen
Feld vorgenommen werden, wobei auf die Darstellung eines solchen
Feldes aus Gründen der Übersichtlichkeit verzichtet
wurde. Insgesamt wird zumindest ein Teil der Logikeingänge
und zumindest ein Teil der Logikausgänge der Aspektblöcke
untereinander und/oder mit zumindest einem Teil der Logikeingänge
und/oder zumindest einem Teil der Logikausgänge der bereitgestellten
Software-Komponenten verbunden.
-
Die
zweite grafische Benutzeroberfläche 170 beinhaltet
ferner ein erstes Aspektfeld 178. In diesem ersten Aspektfeld 178 sind
eine Vielzahl 180 von Aspektblöcken angeordnet.
Jeder dieser Aspektblöcke ist demselben Steuerungsaspekt
zugeordnet. Im Ausführungsbeispiel soll es sich um den
Standardsteuerungsaspekt handeln, der den Teilaspekt Standardsteuerung
repräsentiert. Die Vielzahl 180 von Aspektblöcken
umfasst die in sämtlichen Hierarchieebenen des Anwenderprogramms 38 enthaltenen Aspektblöcke,
die dem Standardsteuerungsaspekt zugeordnet sind, und zwar unabhängig
davon, ob sie in einer der Hierarchieebenen eigenständig
oder als Teil einer Software-Komponente enthalten sind.
-
Die
zweite grafische Benutzeroberfläche 170 beinhaltet
weiter ein Sensorenfeld 182. In diesem Sensorenfeld 182 ist
eine Vielzahl 184 von grafischen Sensorsymbolen angeordnet.
Für jeden Sensor, der in der zu steuernden Anlage enthalten
ist, enthält das Sensorenfeld 182 ein zugehöriges
grafisches Sensorsymbol. Die Vielzahl 184 von grafischen
Sensorsymbolen repräsentieren sowohl die hinsichtlich des
Sicherheitssteuerungsaspektes als auch die hinsichtlich des Standardsteuerungsaspektes
in der zu steuernden Anlage enthaltenen Sensoren. Als weiteres Feld
enthält die zweite grafische Benutzeroberfläche 170 ein
Aktorfeld 186. In diesem Aktorfeld 186 ist eine Vielzahl 188 von
grafischen Aktorsymbolen angeordnet. Für jeden Aktor, der
in der zu steuernden Anlage enthalten ist, enthält das
Aktorfeld 186 ein zugehöriges grafisches Aktorsymbol. Die
Vielzahl 188 von grafischen Aktorsymbolen umfassen sowohl
die hinsichtlich des Sicherheitssteuerungsaspektes als auch die
hinsichtlich des Standardsteuerungsaspektes in der zu steuernden
Anlage enthaltenen Aktoren.
-
Für
die in dem ersten Aspektfeld 178 enthaltene Vielzahl 180 von
Aspektblöcken wird ein Aspektteilprogramm erstellt. Hierzu
wird zumindest für einen Teil der in dem ersten Aspektfeld 178 enthaltenen
Aspektblöcke sowohl für deren Eingänge
als auch für deren Ausgänge ein sog. I/O-Mapping
durchgeführt. Das heißt zumindest einem Teil der
Signaleingänge werden diejenigen Sensoren zugeordnet, deren
Sensorsignale in dem jeweiligen Aspektblock verarbeitet werden.
Dies ist beispielhaft durch einen Pfeil 190 dargestellt.
Außerdem werden zumindest einem Teil der Signalausgänge
Aktoren zugeordnet, die mit den in dem jeweiligen Aspektblock ermittelten
Ausgangssignalen angesteuert werden. Dies ist beispielhaft durch
einen Pfeil 192 dargestellt. Alternativ kann das I/O-Mapping
auch durch textuelle Eingaben in einem Eingabefeld 194 vorgenommen
werden. Als weitere Alternative ist es denkbar, das I/O-Mapping
auch mittels Ziehen von Linien zwischen einzelnen Aspektblöcken
und einzelnen grafischen Sensorsymbolen oder grafischen Aktorsymbolen
zu realisieren.
-
Bei
dem Erstellen des Aspektteilprogramms kann gleichzeitig auch das
Parametrieren der Aspektblöcke vorgenommen werden. Hierbei
können für einzelne Aspektblöcke Parameterwerte
für diejenigen Parameter vorgegeben werden, die in den
jeweiligen Funktionsprogrammen verwendet werden, die in den jeweiligen
Aspektblöcken enthalten sind. Die Parameterwerte können
durch textuelle Eingaben in dem Eingabefeld 194 vorgegeben
werden.
-
Die
zweite grafische Benutzeroberfläche 170 enthält
ferner ein zweites Aspektfeld 196. In dem zweiten Aspektfeld 196 sind
eine Vielzahl 198 von Aspektblöcken angeordnet.
Im Ausführungsbeispiel sind diese Aspektblöcke
einem Sicherheitssteuerungsaspekt zugeordnet, der den Teilaspekt
Sicherheitssteuerung repräsentiert. Auch für diese
Aspektblöcke wird ein Aspektteilprogramm erstellt. Das heißt,
für diese Aspektblöcke wird ein I/O-Mapping vorgenommen,
wie es beispielhaft durch Pfeile 200, 202 dargestellt
ist. Einzelheiten hierzu können den Ausführungen
zu dem ersten Aspektfeld 178 entnommen werden. Auch bezüglich
der gegebenenfalls vorzunehmenden Parametrierung der Aspektblöcke wird
auf die Ausführungen zu dem ersten Aspektfeld 178 verwiesen.
-
Es
ist auch denkbar, bei dem Erstellen eines Aspektteilprogrammes gleichzeitig
Aspektblöcke, die einem ersten Steuerungsaspekt zugeordnet
sind und Aspektblöcke, die einem zweiten Steuerungsaspekt zugeordnet
sind, zu berücksichtigen.
-
An
dieser Stelle sei noch folgendes angemerkt: bei den Ausführungen
zu 3 wurde angenommen, dass in den Feldern 178, 182, 186 die
entsprechenden Einheiten für die gesamte zu steuernde Anlage
angeordnet sind, d. h. für sämtliche Hierarchieebenen.
Dies soll keine einschränkende Wirkung haben. Wenn beispielsweise
bei dem Erstellen eines Aspektteilprogrammes lediglich eine Hierarchieebene
berücksichtigt wird, so können in den Feldern 178, 182, 186 lediglich
die in dieser Hierarchieebene enthaltenen Einheiten angeordnet sein.
-
In 4 ist
ein Beispiel für eine zu steuernde Anlage in ihrer Gesamtheit
mit der Bezugsziffer 210 bezeichnet. Die zu steuernde Anlage 210 setzt
sich aus drei Teilbereichen zusammen, nämlich einer Handlingstation 212,
einer Prozessstation 214 und einer Teststation 216.
Mit der Handlingstation 212 wird die Prozessstation 214 mit
Werkstücken befüllt. Diese Werkstücke
werden in der Prozessstation 214 bearbeitet. Anschließend
werden die bearbeiteten Werkstücke von der Handlingstation 212 an
die Teststation 216 weitergegeben, in der überprüft
wird, ob das bearbeitete Werkstück entsprechende Prüfkriterien
erfüllt. Werden diese Prüfungen bestanden, kann die
Prozessstation 214 wieder mit einem neuen zu bearbeitenden
Werkstück befüllt werden. Darüber hinaus
weist die zu steuernde Anlage 210 einen Not-Aus-Taster 218 auf,
mit dem die zu Anlage 210 abgeschaltet und in einen sicheren
Zustand überführt werden kann. Ferner ist in 4 eine
Anzeigeeinheit 220 dargestellt, mit der beispielsweise
Diagnosedaten oder Informationen über den Zustand der zu
steuernden Anlage 210 angezeigt werden können.
Die Anlage 210 wird durch die Sicherheitssteuerung 18 gesteuert.
-
In 5 sind
diejenigen Software-Komponenten und Aspektblöcke für
die zu steuernde Anlage 210 dargestellt, die in der obersten
Hierarchieebene enthalten sind.
-
Insgesamt
wird eine Vielzahl 230 von Software-Komponenten für
die zu steuernde Anlage 210 bereitgestellt, wobei es sich
im Einzelnen um folgende Software-Komponenten handelt: eine erste
Software-Komponente 232, die dem Not-Aus-Taster 218 entspricht
und als Einzelkomponente ausgebildet ist. Eine zweite Software-Komponente 234,
die der Handlingstation 212 entspricht. Eine dritte Software-Komponente 236,
die der Prozessstation 214 entspricht. Eine vierte Software-Komponente 238,
die der Teststation 316 entspricht. Wobei die Software-Komponenten 234, 236, 238 jeweils
als Gruppenkomponente ausgebildet sind. Sowie eine fünfte
Software-Komponente 240, die der Anzeigeeinheit 220 zugeordnet
ist und die als Elementarkomponente ausgebildet ist. Jede der bereitgestellten
Software-Komponenten 234, 236, 238 repräsentiert
eine in der zu steuernden Anlage vorhandene, reale mechatronische
Komponente.
-
Die
erste Software-Komponente 232 ist über eine erste
Logikverbindung 242 mit der zweiten Software-Komponente 234,
mit der dritten Software-Komponente 236 und mit der vierten
Software-Komponente 238 verbunden. Solange der Not-Aus-Taster 218 nicht
betätigt ist, gibt die erste Software-Komponente 232 ein
Freigabesignal aus, welches über die erste Logikverbindung 242 den
angeschlossenen Software-Komponenten 234, 236, 238 zugeführt
wird. Durch dieses Freigabesignal werden diese Software-Komponenten
frei geschaltet und ein Betrieb der zu steuernden Anlage 210 ist möglich.
-
Die
Software-Komponenten 234, 236, 238 sind
untereinander durch zweite Logikverbindungen 244 verbunden. Über
die zweiten Logikverbindungen 244 werden den Ablauf steuernde
Signale zwischen den Software-Komponenten 234, 236, 238 ausge tauscht.
Die zweite Software-Komponente 234 erzeugt ein Signal,
welches der dritten Software-Komponente 236 zugeführt
wird. Mit diesem Signal wird der Prozessstation 214 angezeigt,
dass die Arbeitsschritte der Handlingstation 212 abgeschlossen
sind und somit mit der Abarbeitung der Arbeitsschritte der Prozessstation 214 begonnen
werden kann. Die dritte Software-Komponente 236 erzeugt
ein Signal, welches der vierten Software-Komponente 238 zugeführt
wird. Mit diesem Signal wird der Teststation 216 angezeigt,
dass die Arbeitsschritte der Prozessstation 214 beendet
sind und somit mit der Abarbeitung der Arbeitsschritte der Teststation 216 begonnen werden
kann. Die vierte Software-Komponente 238 erzeugt ein Signal,
welches der dritten Software-Komponente 236 zugeführt
wird. Mit diesem Signal wird das in der Teststation 216 bei
einem Prüfvorgang des bearbeiteten Werkstückes
ermittelte Ergebnis der Prozessstation 214 mitgeteilt.
Die dritte Software-Komponente 236 erzeugt ein Signal,
welches der zweiten Software-Komponente 234 zugeführt wird.
Mit diesem Signal wird der Handlingstation 212 mitgeteilt,
ob in der Prozessstation 214 ein Fehler vorliegt.
-
Neben
der Vielzahl 230 von Software-Komponenten ist auch eine
Anzahl 246 von Aspektblöcken dargestellt. Im Einzelnen
handelt es sich hier um einen ersten Aspektblock 248, der
einem Standardsteuerungsaspekt zugeordnet ist, um einen zweiten
Aspektblock 250, der einem Sicherheitssteuerungsaspekt
zugeordnet ist, um einen dritten Aspektblock 252, der einem
Diagnoseaspekt zugeordnet ist, um einen vierten Aspektblock 254,
der einem Visualisierungsaspekt zugeordnet ist, um einen fünften
Aspektblock 256, der einem Antriebsregelungsaspekt zugeordnet
ist und um einen sechsten Aspektblock 258, der einem Verriegelungsaspekt
zugeordnet ist.
-
Ein
wesentlicher Vorteil des neuen Verfahrens und der neuen Vorrichtung
soll anhand 4 und 5 beschrieben
werden. Soll die Anlage 210 beispielsweise modifiziert
werden, indem eine zweite Prozessstation eingefügt wird,
die zu der bereits vorhandenen Prozessstation 214 identisch
ist, so ist in der obersten Hierarchieebene des Anwenderprogramms 38 lediglich
eine Kopie der bereits vorhanden Software-Komponente 236,
die der Prozessstation 214 entspricht, einzufügen
und durch entsprechende logische Verbindungen einzubinden. Es kann somit
eine vorhandene Software-Komponente auch auf einer der höheren
Hierarchieebenen vollständig wiederverwendet werden. Dadurch
können bestehende Anwenderprogramme sehr effizient angepasst werden.
Dabei ist hier angenommen, dass die Handlingstation 212 mechanisch
so ausgebildet ist, dass sie beide Prozessstationen bedienen kann.
Für den erweiterten Bewegungsumfang der Handlingstation 212 sind
ggf. Modifikationen in den Funktionsprogrammen erforderlich, die
in der Software-Komponente 234 enthalten sind.
-
In 6 ist
die Teilkomponente Prozessstation in ihrer Gesamtheit mit der Bezugsziffer 214 bezeichnet.
Dass nachfolgend lediglich die Prozessstation und die in ihr enthaltenen
Hardware-Komponenten betrachtet werden, soll keine einschränkende Wirkung
haben. Die nachfolgenden Ausführungen gelten in entsprechender
Weise auch für die Handlingstation 212 und die
Teststation 216.
-
Die
Prozessstation 214 umfasst einen Rundtisch 270,
ein Prüfmodul 272, ein Bohrmodul 274 und ein
Auswurfmodul 276. Mit dem Rundtisch 270 können
in der Prozessstation 214 sämtliche Werkstücke zwischen
den einzelnen Modulen 272, 274, 276 transportiert
werden. Mit dem Prüfmodul 272 werden zu bearbeitende
Werkstücke auf das Vorhandensein vorgegebener Eigenschaften überprüft.
Mit dem Bohrmodul 274 werden die in der Prozessstation 214 befindlichen
Werkstücke bearbeitet. Mit dem Auswurfmodul 276 werden
die bearbeiteten Werkstücke entnommen und an die Teststation 216 weitergegeben.
Der Prozessstation 214 ist ein Not-Aus-Taster 278 zugeordnet.
-
In 7 sind
die in der dritten Software-Komponente 236 enthaltenen
Software-Komponenten und Aspektblöcke dargestellt.
-
Mit
der Bezugziffer 280 ist eine sechste Software-Komponente
bezeichnet, die dem Not-Aus-Taster 278 entspricht und die
als Elementarkomponente ausgebildet ist. Mit der Bezugsziffer 282 ist
eine siebte Software-Komponente bezeichnet, die dem Rundtisch 270 entspricht.
Mit der Bezugsziffer 284 ist eine achte Software-Komponente bezeichnet,
die dem Prüfmodul 272 entspricht. Mit der Bezugsziffer 286 ist eine
neunte Software-Komponente bezeichnet, die dem Bohrmodul 274 entspricht.
Mit der Bezugsziffer 288 ist eine zehnte Software-Komponente
bezeichnet, die dem Auswurfmodul 276 entspricht. Die Software-Komponenten 282, 284, 286, 288 sind
als Gruppenkomponenten ausgebildet.
-
Über
eine Logikverbindung 290 wird den Software-Komponenten 282, 284, 286, 288 ein
in der sechsten Software-Komponente 280 erzeugtes Freigabesignal
zugeführt. Einzelheiten zu dem Freigabesignal können
in entsprechender Weise der Beschreibung zu 5 entnommen
werden. Die Software-Komponenten 282, 284, 286, 288 sind über vierte
Logikverbindungen 292 untereinander verbunden. Durch entsprechende
Signale, die über die vierten Logikverbindungen 292 zwischen
den Software-Komponenten 282, 284, 286, 288 ausgetauscht werden,
wird eine Ablaufsteuerung realisiert. In der siebten Software-Komponente 282 werden
drei Signale erzeugt, von denen jeweils eines der achten Software-Komponente 284,
der neunten Software-Komponente 286 und der zehnten Software-Komponente 288 zugeführt
wird. Diese Signale zeigen der jeweiligen Hardware-Komponente, der
die jeweilige Software-Komponente entspricht an, dass der Rundtisch 270 jeweils
eine definierte Position einnimmt. In jeder der Software-Komponenten 284, 286, 288 wird
ein Signal erzeugt, welches der siebten Software-Komponente 282 zugeführt
wird. Mit diesen Signalen wird jeweils angezeigt, dass die für
die Module 272, 274, 276 vorgesehenen
Arbeitsschritte abgearbeitet sind. In der achten Software-Komponente 284 wird
ein weiteres Signal erzeugt, welches ebenfalls der siebten Software-Komponente 282 zugeführt
wird. Dieses Signal repräsentiert das Ergebnis der in dem
Prüfmodul 272 durchgeführten Prüfung.
In Abhängigkeit dieses Ergebnisses kann die Arbeitsweise
des Rundtisches 270 beeinflusst werden.
-
Zusätzlich
weist die dritte Software-Komponente 236 mehrere Aspektblöcke
auf. Einen siebten Aspektblock 294, der dem Standardsteuerungsaspekt
zugeordnet ist, einen achten Aspektblock 296, der dem Sicherheitssteuerungsaspekt
zugeordnet ist, einen neuen Aspektblock 298, der dem Diagnoseaspekt
zugeordnet ist, einen zehnten Aspektblock 300, der dem
Visualisierungsaspekt zugeordnet ist, einen elften Aspekt block 302,
der dem Antriebsregelungsaspekt zugeordnet ist und einen zwölften
Aspektblock 304, der dem Verriegelungsaspekt zugeordnet
ist.
-
Anhand
der Prozessstation 214 wird die Bedeutung des Verriegelungsaspektes
erläutert. Mit dem Aspektblock 304 lässt
sich beispielsweise in einfacher Art und Weise das Zusammenwirken
des Rundtisches 270 und des Bohrmoduls 274 koordinieren.
In dem Aspektblock 304 wird ein Signal ausgewertet, welches
in der neunten Software-Komponente 286 erzeugt wird. Es
handelt sich um das Signal, welches anzeigt, dass das Bohrmodul 274 eine Grundstellung
einnimmt, in der sich der Motor 310 in solch einer Höhe
befindet, dass sich der Rundtisch 270 frei drehen kann.
Von dem Aspektblock 304 wird erst dann ein für
den Rundtisch 270 bestimmtes Freigabesignal erzeugt, wenn
dieses Grundstellungssignal vorliegt. Somit ist sichergestellt,
dass bei einer Drehbewegung des Rundtisches 270 das Bohrmodul 274 nicht
beschädigt werden kann.
-
In 8 ist
das Bohrmodul in seiner Gesamtheit mit der Bezugsziffer 274 bezeichnet.
Das Bohrmodul 274 weist als Einzelkomponenten mit einer
mechanischen oder elektrischen oder elektromechanischen Funktion
einen Motor 310, einen Transferzylinder 312 und
einen Bohrzylinder 314 auf. Mit den beiden Zylindern 312, 314 kann
der Motor 310 entlang einer Führungseinheit relativ
zu dem zu bearbeitenden Werkstück bewegt werden, und zwar
mit dem Bohrzylinder 314 in vertikaler Richtung und mit dem
Transferzylinder 312 in horizontaler Richtung. Dem Bohrmodul 274 ist
ein Not-Aus-Taster 316 zugeordnet.
-
In 9 sind
die in der neunen Software-Komponente 286 enthaltenen Software-Komponenten
und Aspektblöcke dargestellt. Es handelt sich hierbei um
eine elfte Software-Komponente 320, die dem Not-Aus-Taster 316 entspricht.
Um eine zwölfte Software-Komponente 322, die dem
Bohrzylinder 314 entspricht, um eine dreizehnte Software-Komponente 324,
die dem Transferzylinder 312 entspricht und um eine vierzehnte
Software-Komponente 326, die dem Motor 310 entspricht.
Die Software-Komponenten 320, 322, 324, 326 sind
als Elementarkomponenten ausgebildet. Den Software-Komponenten 322, 324, 326 wird über
eine fünfte Logikverbindung 328 ein in der elften
Software-Komponente 320 erzeugtes Freigabesignal zugeführt.
Einzelheiten zu dem Freigabesignal können in entsprechender
Weise der Beschreibung zu 5 entnommen
werden.
-
Ferner
enthält die neunte Software-Komponente 286 einen
dreizehnten Aspektblock 330, der dem Standardsteuerungsaspekt
zugeordnet ist, einen vierzehnten Aspektblock 332 der dem
Sicherheitssteuerungsaspekt zugeordnet ist, einen fünfzehnten
Aspektblock 334, der dem Diagnoseaspekt zugeordnet ist,
einen sechzehnten Aspektblock 336, der dem Visualisierungsaspekt
zugeordnet ist, einen siebzehnten Aspektblock 338, der
dem Antriebsregelungsaspekt zugeordnet ist und einen achtzehnten Aspektblock 340,
der dem Verriegelungsaspekt zugeordnet ist. Dem vierzehnten Aspektblock 332 wird über
die fünfte Logikverbindung 328 das Freigabesignal
zugeführt.
-
Die
Aspektblöcke 330, 332 und die Software-Komponenten 322, 324, 326 sind
untereinander über sechste Logikverbindungen 342 verbunden.
-
In
der zwölften Software-Komponente 322 wird ein
Signal erzeugt, welches den Zustand des Bohrzylinders 314 repräsentiert.
Dieses Signal wird sowohl dem dreizehnten Aspektblock 330 als
auch dem vierzehnten Aspektblock 332 zugeführt.
In Abhängigkeit der ihm zugeführten Signale erzeugt
der vierzehnte Aspektblock 332 ein Signal, welches der vierzehnten
Software-Komponente 326 zugeführt wird. Mit diesem
Signal kann der Motor 310 an- und ausgeschaltet werden.
Die dreizehnte Software-Komponente 324 erzeugt ein Signal,
welches den Zustand des Transferzylinders 312 repräsentiert. Dieses
Signal wird dem dreizehnten Aspektblock 330 zugeführt.
Die vierzehnte Software-Komponente 326 erzeugt ein Signal,
welches ein Zustand des Motors 310 repräsentiert.
Dieses Signal wird dem dreizehnten Aspektblock 330 zugeführt.
In dem dreizehnten Aspektblock 330 werden in Abhängigkeit
der ihm zugeführten Signale, hierbei handelt es sich um
die vorstehend beschriebenen drei Signale sowie ein Signal, welches
anzeigt, dass sich in der unter dem Bohrmodul 274 befindlichen
Aufnahme des Rundtisches 270 ein zu bearbeitendes Werkstück
befindet, sowie einen den maximalen Bohrdurchmesser repräsentierenden Parameter
drei Signale erzeugt, von denen jeweils eines der zwölften
Software-Komponente 322, der dreizehnten Software-Komponente 324 und
der vierzehnten Software-Komponente 326 zugeführt
wird. Mit dem der zwölften Software-Komponente 322 zugeführten
Signal wird der Bohrzylinder 214 aktiviert. Mit dem der
dreizehnten Software-Komponente 324 zugeführten
Signal wird der Transferzylinder 312 aktiviert. Mit dem
der vierzehnten Software-Komponente 326 zugeführten
Signal wird der Motor 310 aktiviert.
-
In 10 sind
diejenigen Aspektblöcke dargestellt, die in einer Software-Komponente
enthalten sind, die einem in der zu steuernden Anlage 210 enthaltenen
Zylinder entspricht. Im vorliegenden Ausführungsbeispiel
ist dies beispielsweise die zwölfte Software-Komponente 322.
Dies soll jedoch keine einschränkende Wirkung haben, die
nachfolgenden Ausführungen gelten ebenso die dreizehnte
Software-Komponente 324.
-
Die
zwölfte Software-Komponente 322 enthält
einen neunzehnten Aspektblock 350, der dem Standardsteuerungsaspekt
zugeordnet ist, einen zwanzigsten Aspektblock 352, der
dem Sicherheitssteuerungsaspekt zugeordnet ist, einen einundzwanzigsten
Aspektblock 354, der dem Diagnoseaspekt zugeordnet ist
und einen zweiundzwanzigsten Aspektblock 356, der dem Visualisierungsaspekt
zugeordnet ist. Optional kann die zwölfte Software-Komponente
auch einen dreiundzwanzigsten Aspektblock 358 enthalten,
der dem Antriebsregelungsaspekt zugeordnet ist, sofern eine entsprechende
Ansteuerung des Bohrzylinders 314 erfolgen soll. Diese Option
ist durch die gestrichelten Linien angedeutet.
-
Die
Aspektblöcke 350, 352, 354, 356 sind untereinander
und mit einem Eingang und einem Ausgang, den die zwölfte
Software-Komponente 322 aufweist, über siebte
Logikverbindungen 360 verbunden. Der neunzehnte Aspektblock 350 wird über
ein Signal aktiviert, welches ihm ausgehend vom Eingang der zwölften
Software-Komponente 322 zugeführt wird. Als Sensoren
sind dem neunzehnten Aspektblock 350 zwei Endlagesensoren
zugeordnet. Mit einem ersten Endlagesensor wird diejenige Lage des
Kolbens erfasst, in der die Kolbenstange maximal aus dem Zylinderge häuse
ausgefahren ist. Mit einem zweiten Endlagesensor wird diejenige
Endlage des Kolbens erfasst, in der die Kolbenstange minimal aus
dem Zylindergehäuse ausgefahren ist.
-
In
Abhängigkeit der in dem neunzehnten Aspektblock 350 zur
Verfügung stehenden Größen wird in diesem
eine Größe erzeugt, die den Zustand des Bohrzylinders 314 repräsentiert.
Diese Größe wird zum einen dem Ausgang der zwölften
Software-Komponente 322 zugeführt. Zum anderen
wird diese Größe dem zweiundzwanzigsten Aspektblock 356 zugeführt.
In Abhängigkeit dieser Größe wird im zweiundzwanzigsten
Aspektblock 356 eine Größe erzeugt, die
den mit dem Bohrzylinder eingestellten Hub repräsentiert.
Diese Größe kann beispielsweise der Anzeigeeinheit 220 zugeführt
werden, mit der dem Betreiber der zu steuernden Anlage 210 eine entsprechende
Information angezeigt werden kann.
-
In
dem neunzehnten Aspektblock 350 wird eine Größe
erzeugt, mit der der Bohrzylinder 314 derart angesteuert
wird, dass sich dessen Kolben in diejenige Endlage bewegt, in der
die Kolbenstange minimal aus dem Zylindergehäuse herausschaut.
Außerdem wird in dem neunzehnten Aspektblock 350 eine zweite
Größe erzeugt, mit der der Bohrzylinder 314 derart
angesteuert wird, dass sich der Kolben in diejenige Endlage bewegt,
in der die Kolbenstange maximal aus dem Zylindergehäuse
herausschaut. Diese beiden Größen werden jeweils
an einem Ausgang des neunzehnten Aspektblocks 350 bereitgestellt.
-
In
dem zwanzigsten Aspektblock 352 werden zwei Größen
erzeugt. Eine erste Größe, die anzeigt, dass für
den Bohrzylinder 314 die Hineinbewegung des Kolbens in
das Zylindergehäuse freigegeben ist. Eine zweite Größe,
die anzeigt, dass für den Bohrzylinder 314 die
Herausbewegung des Kolbens aus dem Zylindergehäuse heraus
freigegeben ist. Diese beiden Größen werden jeweils
an einem Ausgang des zwanzigsten Aspektblockes 352 bereitgestellt.
Die von dem neunzehnten Aspektblock und die von dem zwanzigsten
Aspektblock jeweils bereitgestellten Größen werden
paarweise miteinander verknüpft.
-
Anhand
der Darstellung in 10 wird deutlich: Die dem Bohrzylinder 314 innewohnende
Gesamtfunktionalität bzw. die ihn charakterisierende Gesamtfunktionalität
wird in die vier Teilaspekte Standardsteuerung, Sicherheitssteuerung,
Diagnose und Visualisierung zerlegt. Somit kann der Bohrzylinder 314 getrennt
unter jeweils einem dieser vier Teilsaspekte betrachtet werden.
Da sämtliche in dem Anwenderprogramm verwendete Software-Komponenten
nach diesem Prinzip aufgebaut sind, kann das Anwenderprogramm getrennt
nach einzelnen Steuerungsaspekten erstellt werden, was mit Hilfe
der Aspektteilprogramme der Fall ist.
-
In 11 sind
diejenigen Aspektblöcke dargestellt, die in einer Software-Komponente
enthalten sind, die einem Not-Aus-Taster entspricht. Beispielsweise
kann es sich um die elfte Software-Komponente 320 handeln,
die dem Not-Aus-Taster 316 entspricht. Dies soll keine
einschränkende Wirkung haben. Ebenso kann es sich um eine
andere in dem vorliegenden Ausführungsbeispiel enthaltene
Software-Komponente handeln, die einem Not-Aus-Taster entspricht.
-
Die
elfte Software-Komponente 320 weist einen vierundzwanzigsten
Aspektblock 370 auf, der dem Sicherheitssteuerungsaspekt
zugeordnet ist. Ferner weist diese Software-Komponente einen fünfundzwanzigsten
Aspektblock 327 auf, der dem Diagnoseaspekt zugeordnet
ist.
-
In
dem vierundzwanzigsten Aspektblock 370 wird in Abhängigkeit
der ihm zugeführten Größen ein Freigabesignal
ermittelt, welches einem Ausgang der elften Software-Komponente 320 zugeführt
wird. Außerdem wird in dem vierundzwanzigsten Aspektblock 370 ein
Signal erzeugt, welches den Zustand des Not-Aus-Tasters 316 repräsentiert.
Dieses Signal wird dem fünfundzwanzigsten Aspektblock 372 zugeführt
und steht somit zu Diagnosezwecken zur Verfügung.
-
In 12 ist
der schematische Aufbau eines in seiner Gesamtheit mit der Bezugsziffer 380 bezeichneten
Aspektblockes dargestellt.
-
Der
Aspektblock 380 weist eine Identifiziereinheit 382 auf,
in der eine Kennung hinterlegt ist, die denjenigen Steuerungsaspekt
festlegt, dem der Aspektblock zugeordnet ist. Der Aspektblock 380 weist ferner
eine Interfaceeinheit 384 auf, in der eine Anzahl 386 von
Eingängen und eine Anzahl 388 von Ausgängen
zusammengefasst sind. Wie in 12 angedeutet,
umfasst die Anzahl 386 von Eingängen drei unterschiedliche
Typen von Eingängen. Einen ersten Typ von Eingängen, über
den dem Aspektblock 380 Logikgrößen und/oder
Zwischengrößen zugeführt werden können.
Einen zweiten Typ von Eingängen, über den dem
Aspektblock 380 Parameter zugeführt werden können.
Einen dritten Typ von Eingängen, über den dem
Aspektblock 380 Sensorsignale zugeführt werden
können. Ebenso umfassen die Anzahl 388 von Ausgängen
drei Typen von Ausgängen. Einen ersten Typ von Ausgängen, über
die von dem Aspektblock 380 Logikgrößen
und/oder Zwischengrößen ausgegeben werden können.
Einen zweiten Typ von Ausgängen, über den von
dem Aspektblock 380 Parameter ausgegeben werden können.
Einen dritten Typ von Ausgängen, über den von dem
Aspektblock 380 Ausgangssignale ausgegeben werden können.
-
Ferner
enthält der Aspektblock 380 eine Funktionseinheit 390,
in der ein Funktionsprogramm hinterlegt ist, mit dem eine Aspekteigenschaft
derjenigen Hardware-Komponente festgelegt wird, der diejenige Software-Komponente
entspricht, in der der Aspektblock enthalten ist. Außerdem
enthält der Aspektblock 380 eine Parametereinheit 392,
in der Parameterwerte für Parameter hinterlegt sind, die
in dem Funktionsprogramm verarbeitet werden. Auf die Verknüpfung
der in der Software-Komponente 400 enthaltenen Blöcke
wurde aus Gründen der Übersichtlichkeit verzichtet.
-
Das
Funktionsprogramm, welches in einem Aspektblock hinterlegt ist,
der dem Diagnoseaspekt zugeordnet ist, enthält die auszuwertenden
Diagnosebedingungen. Außerdem enthält dieses Funktionsprogramm
diejenigen Texte, die in Abhängigkeit des Ergebnisses,
welches bei der Auswertung der Diagnosebedingungen erhalten wird,
als Meldungen und Abhilfen anzuzeigen sind. Das Funktionsprogramm, welches
in einem Aspektblock hinterlegt ist, der dem Standardsteuerungsaspekt
zugeordnet, legt diejenigen Steuerungsaufgaben fest, die im Rahmen
der Standardsteuerung abzuar beiten sind, und zwar für diejenige
Hardware-Komponente, der diejenige Software-Komponente entspricht,
in der der Aspektblock enthalten ist. Entsprechend werden in dem
Funktionsprogramm, welches in einem Aspektblock hinterlegt ist,
der dem Sicherheitssteuerungsaspekt zugeordnet ist, die Steuerungsaufgaben
festgelegt, die im Rahmen der Sicherheitssteuerung abzuarbeiten sind.
-
In 13 ist
eine Software-Komponente in ihrer Gesamtheit mit der Bezugsziffer 400 bezeichnet.
-
Die
Software-Komponente 400 enthält eine Interfaceeinheit 402,
in der eine Anzahl 404 von Eingängen und eine
Anzahl 406 von Ausgängen zusammengefasst sind.
Ebenso wie im Fall des in 12 beschriebenen
Aspektblockes 380 umfassen die Anzahl 404 von
Eingängen drei Typen von Eingängen und umfassen
die Anzahl 406 von Ausgängen drei Typen von Ausgängen.
Was die Einzelheiten zu den drei Typen von Eingängen und
den drei Typen von Ausgängen angeht sei auf die Beschreibung
der 12 verwiesen. Ferner sind in der Software-Komponente 400 eine
Anzahl 408 von Aspektblöcken und eine Anzahl 410 von
Elementar- und/oder Gruppenkomponenten enthalten. Auf die Verknüpfung
der in der Software-Komponente 400 enthaltenen Blöcke wurde
aus Gründen der Übersichtlichkeit verzichtet. Vorteilhafterweise
umfasst eine Software-Komponente einen Aspektblock, der dem Standardsteuerungsaspekt
zugeordnet ist, einen Aspektblock, der dem Sicherheitssteuerungsaspekt
zugeordnet ist und einen Aspektblock, der dem Diagnoseaspekt zugeordnet
ist. Optional können noch ein Aspektblock, der dem Visualisierungsaspekt
zugeordnet ist, und ein Aspektblock, der dem Antriebssteuerungsaspekt zugeordnet
ist, vorgesehen sein.
-
Programmtechnisch
entspricht sowohl eine Software-Komponente als auch ein Aspektblock
einem XML-File. Im Falle eines Aspektblockes enthält das
XML-File folgende Informationen: Belegungsinformationen, die wiedergeben,
welche Größen und/oder Parameter und/oder Sensorsignale
den Eingängen und/oder Ausgängen, die in der Interfaceeinheit
zusammengefasst sind, dem Grunde nach zugeordnet sind. Aufrufinformationen,
die in dem Funktionsprogramm enthaltene Aufrufe wiederge ben, mit
denen in einer Datenbank befindliche Software-Bausteine aufgerufen
werden, wobei es sich um der internationalen Norm IEC 61131 entsprechende
Software-Bausteine handelt. Das in dem jeweiligen Aspektblock hinterlegte
Funktionsprogramm. Im Falle einer Software-Komponente handelt es
sich um folgende Informationen: in entsprechender Weise ebenfalls
Belegungsinformationen. Informationen über die in der Software-Komponente
enthaltenen Software-Komponenten und/oder Aspektblöcke.
Auch die hierarchische Struktur des Anwenderprogramms wird als XML-File
beschrieben, wobei dieses folgende Informationen enthält:
Informationen über die Parametrierung einzelner Aspektblöcke.
Informationen über das I/O-Mapping einzelner Aspektblöcke.
Textbausteine, die in einzelnen Aspektblöcken enthalten
sind, die dem Diagnoseaspekt zugeordnet sind,.
-
In 14 ist
eine hierarchische Struktur in ihrer Gesamtheit mit der Bezugsziffer 420 bezeichnet.
-
Diese
hierarchische Struktur repräsentiert sowohl diejenige hierarchische
Struktur, die der zu steuernden Anlage 210 zugrunde liegt,
als auch diejenige hierarchische Struktur, die dem Anwenderprogramm 38 für
die Sicherheitssteuerung 18 zugrunde liegt. In der für 14 gewählten
Darstellung hat jeder Block zwei Bedeutungen. Mit der vor dem Schrägstrich
stehenden Bezugsziffer wird angegeben, welche Hardware-Komponente
der zu steuernden Anlage 210 der jeweilige Block repräsentiert.
Mit der nach dem Schrägstrich stehenden Bezugsziffer wird
angegeben, welche Software-Komponente der jeweilige Block in dem
Anwenderprogramm 38 repräsentiert.
-
Mit
der Bezugsziffer 422 ist ein Block bezeichnet, der die
zu steuernde Anlage 210 in ihrer Gesamtheit oder das Anwenderprogramm 38 in
seiner Gesamtheit repräsentiert. Mit der Bezugsziffer 424 ist
eine oberste Hierarchieebene bezeichnet. Mit Blick auf die zu steuernde
Anlage 210 umfasst diese Hierarchieebene die Handlingstation 212,
die Prozessstation 214 und die Teststation 216.
Diese Hardware-Komponenten werden als Teilkomponenten bezeichnet.
-
Mit
der Bezugsziffer 426 ist eine erste Hierarchieebene bezeichnet,
die direkt unterhalb der obersten Hierarchieebene liegt. Diese Hierarchieebene umfasst
den Rundtisch 270, das Prüfmodul 272,
das Bohrmodul 274 und das Auswurfmodul 276. Diese Hardware-Komponenten
werden als Unterkomponenten bezeichnet.
-
Mit
der Bezugsziffer 428 ist eine zweite Hierarchieebene bezeichnet,
die direkt unterhalb der ersten Hierarchieebene liegt. Diese Hierarchieebene umfasst
den Motor 310, den Transferzylinder 312 und den
Bohrzylinder 314. Diese Hardware-Komponenten werden als
Einzelkomponenten bezeichnet.
-
In 14 wurde
nicht für jede dargestellte Teilkomponente die erste Hierarchieebene
und nicht für jede dargestellte Unterkomponente die zweite Hierarchieebene
dargestellt. Dies soll keine einschränkende Wirkung haben.
Für jede der in 14 dargestellten
Teilkomponenten und Unterkomponenten existieren entsprechende Hierarchieebenen.
Ferner wurde aus Gründen der Übersichtlichkeit
auf die Darstellung sämtlicher Not-Aus-Taster verzichtet.
-
Hinsichtlich
des Wartungsaspektes sei folgendes ausgeführt: Bei der
Wartung wird die zu steuernde Anlage 210 in eine Betriebsart überführt,
bei der die durch das Anwenderprogramm 38 definierten Bewegungsabläufe
der zu steuernden Anlage 210 mit einer reduzierten Geschwindigkeit
ablaufen. Somit kann beispielsweise ein mit der zu steuernden Anlage 210 realisierter
Fertigungsprozess mit reduzierter Geschwindigkeit weiterlaufen,
während gleichzeitig Wartungsarbeiten an der zu steuernden Anlage 210 durchgeführt
werden können.
-
Vorteilhafterweise
wird bei einer komplexen Anlage mit vielen verschiedenen Hardwarekomponenten
für zumindest folgende Steuerungsaspekte jeweils ein Aspektteilprogramm
erstellt: Standardsteuerungsaspekt zur Steuerung des nichtsicherheitsrelevanten
Prozessablaufs der Anlage unter Berücksichtigung eines
Großteils der Hardwarekomponenten, Sicherheitssteuerungsaspekt
zur Steuerung aller sicherheitsrelevanten Teilprozesse und Diagnoseaspekt
zur Erstellung und Visualisie rung von Diagnosemeldungen. Des weiteren
kann für folgende Aspekte jeweils ein Aspektteilprogramm
erstellt werden: Antriebsregelung, Kühlung, Zugriffsberechtigung, Wartung,
Verriegelung, Handbetrieb, Datenverwaltung. Mit solchen Aspektteilprogrammen
kann die Steuerung einer komplexen Anlage über viele verschiedene
Hardwarekomponenten hinweg unter einem einheitlichen, aspektbezogenen
Blickwinkel programmiert werden, wobei die jeweils anderen Aspekte „ausgeblendet” werden.
-
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 10108962
A1 [0004, 0006, 0006, 0006, 0006]
-
Zitierte Nicht-Patentliteratur
-
- - EN 954-1 [0002]
- - ISO 13849 [0002]
- - IEC/EN 61508 [0002]
- - IEC/EN 61131 [0008]
- - EN 61131 [0095]
- - IEC/EN 61131 [0144]
- - IEC 61131 [0208]