-
Die
Erfindung betrifft ein System und ein Verfahren zum Einrichten und
Konditionieren von Automatisierungsgeräten (programmable logic controller oder
PLC), insbesondere auch zum Engineering und Testen des anwendungsspezifischen
Betriebsprogramms des jeweiligen Automatisierungsgerätes.
-
Automatisierungsgeräte, die
im Englischen auch als programmable logic controller (PLC) bezeichnet
werden, werden bei einer Vielzahl industrieller Anwendungen, wie
beispielsweise bei der Überwachung
und Steuerung von Fertigungsstrassen oder einzelnen Maschinen, sowie
in der Metallverarbeitung oder der chemisch/pharmazeutischen Industrie
zur Überwachung
und Steuerung von Prozessabläufen
zum Einsatz gebracht.
-
Zum
sequenziellen Betrieb der jeweils erforderlichen Betriebsmittel
wird dafür
ein, im jeweiligen Automatisierungsgerät gespeichertes oder hinterlegtes
Betriebsprogramm eingesetzt.
-
Beim
Entwurf und der Entwicklung moderner Automatisierungssysteme müssen hinsichtlich
der beim jeweiligen Automatisierungsgerät durch sein Betriebsprogramm
umgesetzten Anweisungen sowie des ihnen zugrunde liegenden Programmcodes
zahlrei che Entwicklungsentscheidungen getroffen werden, die es,
unter Berücksichtigung
der impliziten Eigenschaften der verschiedenen Programm- oder Codeelemente
sowie der spezifischen Eigenschaften des jeweiligen Automatisierungsgerätes, erlauben die
eingesetzten Automatisierungsgeräte
derart einzurichten und zu konditionieren, dass sie den gesetzten
Anforderungen genügen
und einen maximalen Wirkungsgrad erreichen.
-
Dazu
gehört
neben Festlegung von Typ und Anzahl der eingesetzten Automatisierungsgeräte auch
eine Bestimmung von Art und Umfang der jeweils geforderten Funktionalität. Derartige
Entscheidungen sind in aller Regel sehr kostenintensiv, da sie meist
finanziell aufwendige und zeitaufwendige Testserien bedingen. Ist
eine Entscheidung einmal getroffen, so ist sie oftmals materiell
nur mit erheblichem Aufwand und einem hohen Maß an Fachkompetenz korrigierbar.
Dabei sind insbesondere Kenntnisse der spezifischen Eigenschaften
und Fähigkeiten
des jeweilig eingesetzten Automatisierungsgerätes, aber auch der eingesetzten
Systeme und Subsysteme von Bedeutung. Dies betrifft auch Kenntnisse über Art
und Umfang der in einem Automatisierungsgerät zur Betriebsprogrammumsetzung
bzw. -ausführung
benötigten
Ressourcen. Relevante Größen die
bei derartigen Betrachtungen oftmals eine Rolle spielen, sind unter
anderem die CPU-Belastung, die maximale Zeitspanne, die die Abarbeitung eines
Programms, eines Unterprogramms oder einer Programmroutine oder
eines Programmcodeelements in Anspruch nehmen kann (auch als „worst case
execution time" bekannt)
und die Speichermenge die von einem Programm, einem Unterprogramm oder
einer Programmroutine oder einem Codeelement während ihrer Abarbeitung bzw.
Ausführung
in Anspruch genommen oder benötigt
wird (auch als „memory
footprint" bekannt).
-
Die übliche Datenverarbeitungseinheit
oder der übliche
Prozessor in einem Automatisierungsgerät (PLC) führt einfache Anweisungen, welche
die Be- und Verarbeitung von Eingangs- und/oder Ausgangsdaten betreffen
meist sehr schnell aus.
-
Zur
vereinfachten Einrichtung und Konditionierung werden spezielle Werkzeuge
eingesetzt, welche eine Vielzahl höherer Programmiersprachen unterstützen.
-
Der
gebräuchliche
Industriestandard IEC 61131-3 definiert dabei die fünf gebräuchlichen
Programmiersprachen:
- 1. „Function Block Diagram" (FBD), eine graphisch
orientierte Sprache zur Wiedergabe von Signal- und Datenströmen über Funktionsblöcke und
wiederverwendbare Programmelemente. Funktionsblöcke und Variablen sind dabei
durch graphische Elemente miteinander verbunden, was das Lesen und
Verständnis
der resultierenden Kontrolldiagramme erleichtert.
- 2. „Structured
Text" (ST) ist eine
höhere
Programmiersprache, die einen stark strukturierten Aufbau besitzt
und eine Vielzahl beispielsweise unterschiedlicher Anweisungen,
Aufrufe von Funktionen und/oder Funktionsblöcken, Ausdrücke und Iterationen unterstützt.
- 3. „Instruction
List" (IL) ist eine
traditionelle PLC Programmiersprache mit einem vergleichbaren Aufbau
wie Assembler oder Maschinensprache.
- 4. „Ladder
Diagram" (LD) ist
eine graphische Sprache, welche maßgeblich auf einem Kontakt- bzw.
Verbindungsplan beruht.
- 5. „Sequential
Function Chart" (SFC)
ist eine graphische Sprache zur Wiedergabe des sequenziellen Verhaltens
eines Betriebsprogramms.
-
Die
Performance der Code-Ausführung
und damit auch die Performance beziehungsweise die Leistungsfähigkeit
des jeweiligen Automatisierungsgerätes (PLC) hängt dabei von der Reihenfolge
ab, in der die verschiedenen Anweisungen oder Funktionsblöcke innerhalb
des jeweiligen Steuer- oder Betriebsprogramms des PLC angeordnet
sind und demgemäß abgearbeitet
werden. Weiter von Bedeutung ist dabei wie eine Anweisung im PLC
umgesetzt bzw. realisiert wird, und wie groß jeweils der benötigte Speicherbedarf
ist. Beispielsweise kann für
die Leistungsfähigkeit
eines PLC ausschlaggebend sein ob eine Funktion mittels einer „while"- oder einer „for"-Anweisung umgesetzt
wird, da beide Anweisungen zu einer unterschiedlichen Systemauslastung des
PLC führen
können.
-
All
diese Faktoren beeinflussen nachhaltig die zur Umsetzung einer Anweisung
erforderliche Zeit und Kapazität
des Systems und damit die Leistungsfähigkeit und Performance des
jeweiligen PLC.
-
Um
die optimale Leistungsfähigkeit
und Performance eines PLC in gegebener Einsatzumgebung zu gewährleisten,
ist demgemäß eine spezifische Optimierung
und damit Konditionierung des funktionsgebenden Steuerprogramms
des PLC sowie seiner Code-Anweisungen
erforderlich.
-
Somit
ist es Aufgabe der Erfindung, eine vereinfachte und effiziente,
spezifische Einrichtung und Konditionierung eines Automatisierungsgerätes zu ermöglichen.
-
Diese
Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruch
1 sowie ein System mit den Merkmalen des Anspruch 8 gelöst. Vorteilhafte Ausgestaltungen
des erfindungsgemäßen Verfahrens
sowie des Systems zum optimierten Einrichten und Konditionieren
Programmierbarer Logischer Controller sind in weiteren Ansprüchen und
der nachfolgenden Beschreibung angegeben.
-
Die
Erfindung betrifft ein Verfahren sowie ein System zum optimierten
Einrichten und Konditionieren eines oder mehrerer Automatisierungsgeräte. Verfahrensgemäß wird dabei
in einem ersten Schritt, unter Berücksichtigung vorgebbarer Szenarien
sowie vorgebbarer Rand- und Umgebungsbedingungen eine spezifische
Bestimmung und Analyse der Leistungscharakteristika des jeweiligen
Automatisierungsgerätes,
heruntergebrochen auf seine Subsysteme sowie deren Code-Elemente
durchgeführt
und anschließend
in einem zweiten Schritt die ermittelten Analyseinformationen sowie
Leistungscharakteristika selektiv ausgegeben und abrufbar gespeichert.
-
In
einer vorteilhaften Ausgestaltung des Verfahrens wird zur Analyse
und Bestimmung der Leistungscharakteristika des jeweiligen Automatisierungsgerätes (PLC)
eine „vorsichtige" Abschätzung der
leistungskritischen Größen seiner
Subsysteme sowie deren Code-Elemente durchgeführt wird.
-
Als
Subsysteme werden dabei alle seine funktionalen Komponenten, inklusive
der verschieden Programme-, Unterprogramme und Prozeduren bezeichnet.
Als Code-Elemente
gelten deren einzelne Code-Abfragen und -Anweisungen.
-
Dabei
ist vorsehbar, dass die vorsichtige Abschätzung der leistungskritischen
Größen des
jeweiligen Controller-Subsystems modellbasiert mittels eines zuvor
generierten Verhaltensmodells des jeweiligen Subsystems erfolgt.
-
Weiter
ist vorteilhaft vorsehbar, dass die „vorsichtige" Abschätzung der
leistungskritischen Größen des
jeweiligen Regler-Subsystems durch Grenzwertbildung der erfassbaren
Messwertgrößen und „meta"-Größen (meta
properties) durchgeführt
wird.
-
In
einer weiteren Ausgestaltung des Verfahrens werden die ermittelten
leistungskritischen Größen des
jeweiligen Regler-Subsystems parametrisiert, wobei die Parametrisierung
vorzugsweise hinsichtlich Reglerarchitektur und CPU-Geschwindigkeit erfolgt.
-
Vorteilhaft
kann in einer weiteren Ausführungsform
die Analyse „context-sensitive" durchgeführt werden,
das heißt,
dass beispielsweise bei der Analyse der Worst Case Excecution Time
(WCET) bei einer Programmkomponente in einem bestimmten anwendungsspezifischen
Fall keine vorbestimmten (langen) Codepfade ausgeführt werden,
so dass der WCET einer gegebenen Komponente in diesem Zusammenhang
enger gefasst ist als der allgemeine WCET. Beispielsweise, kann
bei Verwendung einer „if"-Anweisung in einem
vorbestimmten Zusammenhang und/oder anwendungsspezifischen Fall
angegeben werden, dass der längere
Zweig der „if"-Anweisung nicht
verwendet werden soll. Dadurch ist im vorbestimmten Zusammenhang
der WCET auf den kürzeren
Zweig der „if"-Anweisung beschränkt. Entsprechend
kann angegeben werden, dass bei Verwendung einer Schleife in einer
Komponente, die innerhalb der Komponente unter vorbestimmten Bedingungen
nicht mehr als 100 mal ausgeführt
wird, die WCET auf das 100-fache der WCET der einfachen Schleifenanweisung
beschränkt
und abgeschätzt werden.
-
Für probabilistische
Zeitbestimmungen, insbesondere Bestimmungen der WCET, ist eine mehr probabilistische
Pfadanalyse, das heißt,
eine auf die Analyse von Wahrscheinlichkeiten und/oder empirischen
Daten gestützte
Pfadanalyse durchführbar.
-
Basieren
Kenngrößen und
Charakteristika auf Informationen, die bislang nicht bekannt sind,
beispielsweise bei Subsystemen deren Eigenschaften unbekannt sind,
so können
in einer weiteren Vorteilhaften Ausgestaltung des Verfahrens die
jeweiligen Kenngrößen in Form
von Relationen oder Gleichungen parametrisiert werden.
-
Des
weiteren ist vorteilhaft vorsehbar, dass die ermittelten Charakteristika
und/oder Kenngrößen in verschiedenen
Darstellungen zur weiteren Bewertung und/oder Verarbeitung angegeben
und/oder gespeichert werden.
-
Fakultativ
können
die ermittelten Charakteristika, insbesondere die ermittelten leistungskritischen
Charakteristika dann geändert
oder angepasst werden, indem beispielsweise eine Vermutung über das
Verhalten einer jeweiligen Komponente aufgestellt wird, beispielsweise
indem einer Komponente eine Herstellerangabe zugewiesen wird und/oder
die Maximale Anzahl an Schleifenausführungen angegeben wird und/oder
die Wahrscheinlichkeit angegeben wird, mit der ein Bestimmter Zweig
einer Anweisung ausgeführt
wird.
-
Vorteilhaft
ist ein „plug-in"-Mechanismus vorsehbar,
der es ermöglicht
eine Einfache Anpassung des Verfahrens an neue Programmiersprachen und/oder
durch neue Analyseverfahren bestimmte Entwurfsvorgaben vorzunehmen.
Vorgenannter Mechanismus erleichtert die Einbindung bestimmter Erweiterungen
des Verfahrens, aber auch des entsprechenden Systems, indem der
verfahrensgemäße Daten-
und/oder Informationsaustausch bei der Analyse des Automatisierungsgerätes standardisiert
wird. Die Standardisierung betrifft dabei auch die Art und Weise
wie Subsysteme zueinander definiert sind, beispielsweise bezüglich ihrer
Variablendefinitionen und/oder die Art und Weise wie bestimmte Eigenschaften
und/oder Kenngrößen einer
bestimmten Komponente ermittelt werden.
-
Das
heißt,
es werden universelle Mechanismen eingesetzt, die von der jeweilig
verwendeten Programmiersprache unabhängig sind, weil beispielsweise
regelbasiert, oder über
Elemente, die allen relevanten Programmiersprachen eigen sind, beziehungsweise
in allen Sprachen vorkommen.
-
Des
Weiteren ist vorteilhaft vorsehbar, dass die Angabe der Leistungscharakteristika
unter Verwendung eines „plug
in"-fähigen Mechanismus
erfolgt, der es ermöglicht:
ermittelte leitungsspezifische Größen „in situ" anzugeben und/oder ermittelte Größen in fakultativer
Detaildarstellung anzugeben, wobei je nach Interessenslage bedarfsgerecht
ein hoher oder niedriger Detaillierungsgrad selektiert werden kann.
-
Darüber hinaus
ist vorteilhaft vorsehbar, dass die Angabe der Leistungscharakteristika
des jeweiligen PLC auch Symbolcodiert und/oder Farb- und/oder Mustercodiert
erfolgt.
-
Die
Visualisierung der ermittelten Charakteristika und/oder der zugehörigen Kenngrößen ist
vorteilhaft unter Verwendung eines „plug-in"-Mechanismus mittels verschiedener standardisierter
graphischer Präsentationstechniken
durchführbar.
Hierzu zählen
unter anderen die Darstellung in Form von „mental maps" oder in tabellarische
Form.
-
In
einer vorteilhaften Ausgestaltung des Verfahrens wird zur Visualisierung
des Gesamtzustandes des Automatisierungsgerätes eine Thermometerdarstellung
verwendet, die auch Aufschluss über die
einem Gerät
zuzuweisende Leistungsfähigkeit und
Einsetzbarkeit (feasibility) liefert. Aber auch eine farbkodierte
Kennzeichnung entsprechender Code-Elemente und/oder eine Darstellung
der Systemarchitektur mittels „mental-maps" ist vorteilhaft
vorsehbar. Ein „mental-map" ist dabei eine graphische Darstellung
aller relevanten Komponenten eines Systems im Überblick, sowie deren Eigenschaften. Beispielsweise
kann jedes Subsystem über
einen horizontalen Balken verdeutlicht werden, dessen Dicke, Länge und
Farbe als Attribute bestimmte Eigenschaften dieses Subsystems repräsentieren,
wie beispielsweise WCET, Kosten und Komplexität bzw. Risiko.
-
Vorteilhaft
ist eine Wechselmöglichkeit
zwischen verschiedenen Darstellungen und/oder Ansichten und/oder
Präsentationstechniken
vorsehbar.
-
Die
weitere Darlegung der Erfindung sowie vorteilhafter Ausgestaltungen
erfolgt anhand von einigen Figuren und Ausführungsbeispielen.
-
1 System
zum optimierten Einrichten und Konditionieren eines PLC
-
2 Beispielhaftes
industrielles Kontrollsystem
-
3 Verfahren
zum optimierten Einrichten und Konditionieren von programmierbaren
logischen Controllern
-
4 beispielhafte
Profilübersicht
der System- und Subsystemkomponenten eines Automatisierungsgerätes
-
5 beispielhafte
System- und Subsystemkomponenten
-
6 graphische
Darstellung eines beispielhaften Funktionsblocks
-
7 tabellarischer
Darstellung eines Analyseergebnisses eines Funktionsblocks heruntergebrochen
auf einzelne Anweisungen und/oder Code-Elemente
-
8 beispielhafte
Code-Elemente
-
9 Flussdiagrame
gemäß 8
-
10 Erläuterung
der in 9 angegebenen Begriffe
-
11 beispielhafte
graphische Benutzerschnittstelle
-
12 Thermometerpräsentation
bzw. -darstellung
-
13 beispielhaft
farbkodierte System- und Subsystemkomponenten vom Typ singlerobot-arm
-
14 beispielhafter
Systemaufbau
-
In 1 ist
ein beispielhaftes System zum optimierten Einrichten und Konditionieren
von programmierbaren logischen Controllern (PLC) gezeigt.
-
Vorgenanntes
System umfasst eine Datenverarbeitungseinrichtung 100,
die über
eine Netzwerk- und/oder Busverbindung 102 mit dem jeweils einzurichtenden
programmierbaren logischen Controller beziehungsweise Automatisierungsgerät 104 zusammenwirkt.
Des Weiteren ist eine Analyseeinrichtung 110 vorgesehen,
welche unter Berücksichtigung
vorgebbarer Szenarien, Rand- und Umgebungsbedingungen eine Bestimmung
und Analyse der Leistungscharakteristika beziehungsweise leistungsspezifischen
Charakteristika des jeweiligen PLC 104 durchführt. Die
Analyse erfolgt dabei herunter gebrochen auf Subsysteme, sowie deren
Code-Elemente des PLC 104, das heißt es wird eine Analyse auf
Ebene einzelner Programmcode-Anweisungen beziehungsweise Programmcode-Zeilen
sowie sich aus mehreren Anweisungen oder Zeilen zusammengesetzten
Funktionsblöcken
oder Prozeduren durchgeführt.
Anschließend
wird anhand der durchgeführten
Analyse der einzelnen Funktionsblöcke und/oder Code-Elemente
eine Abschätzung
der Leistungscharakteristika der Subsysteme des PLC und letztlich
des PLC 104 durchgeführt.
-
Die
Analyse der einzelnen Code-Elemente oder Funktionsblöcke erfolgt
dabei insbesondere regel- und/oder musterbasiert und/oder modellbasiert und/oder
im Zusammenwirken mit einer empirischen Datenbank, welche beispielsweise
PLC-Typ spezifische technische Informationen und anwendungsspezifische
Leistungscharakteristika in Bezug auf die Abarbeitung bestimmter
Code-Elemente enthält.
-
Vorteilhaft
ist eine Visualisierungseinrichtung 120 vorgesehen, welche
die ermittelten Analyseinformationen, leistungskritische Charakteristika
und Elemente selektiv an- oder ausgibt und/oder abrufbar in einer
entsprechenden Datenbank 130 speichert.
-
Im
Zusammenwirken mit einer empirischen Datenbank 140 werden
hinsichtlich der ermittelten leistungskritischen Charakteristika
alternative Code-Elemente angegeben die bezüglich der vorgegebenen Randbedingungen
und/oder Szenarien eine optimierte Einrichtung und Konditionierung
und somit maximale Leistungsfähigkeit
des PLC 104 ermöglichen.
-
In
einer vorteilhaften Ausgestaltung des Systems ist vorgesehen dass
die Analyseeinrichtung 110 zur Analyse und Bestimmung der
Leistungscharakteristika des jeweiligen logischen Controllers oder
Automatisierungsgerätes 104 Mittel
zur „vorsichtigen" Abschätzung der
leistungskritischen Größen seiner Subsysteme
sowie deren Code-Elemente
aufweist.
-
Auch
ist vorsehbar, dass die Analyseeinrichtung 110 einen Generierer 150 aufweist,
um für
die vorsichtige Abschätzung
der leistungskritischen Größen des
jeweiligen Subsys tems des programmierbaren logischen Controllers 104 ein
individuelles Verhaltensmodell zu generieren.
-
In
einer weiteren Ausgestaltung weist die Analyseeinrichtung 110 Mittel
auf, um die näherungsweise
Abschätzung
der leistungskritischen Größen des
jeweiligen Controller-Subsystems
durch Grenzwertbildung erfassbarer Messwertgrößen und „meta"-Größen (meta
properties) durchzuführen.
-
Meta-Größen eines
Systems oder Subsystems hängen
dabei von Faktoren ab die mit herkömmlichen Analyseverfahren abgeschätzt werden können, wie
beispielsweise Vorhersagbarkeit, Kosten der Vorhersagbarkeit, Fehler
der Vorhersage und Komplexität
des jeweiligen Programmcodes sowie Aufwand zur Pflege des Programmcodes.
-
Darüber hinaus
sind in der Analyseeinrichtung 110 Mittel vorsehbar, um
die ermittelten leistungskritischen Größen des wenigstens einen Regler-Subsystems
zu parametrisieren, wobei die Parametrisierung insbesondere hinsichtlich
Controllerarchitektur und CPU-Geschwindigkeit erfolgt.
-
In
einer weiteren Ausgestaltung des Systems ist die Visualisierungseinrichtung 150 modular erweiterbar
und/oder „plugin"-fähig ausgeführt.
-
Auch
sind in der Visualisierungseinrichtung 150 Mittel vorsehbar,
um ermittelte Leistungscharakteristika und/oder Messwertgrößen „in situ" selektiv und in
unterschiedlicher Detaildarstellung anzugeben, wobei je nach Interessenslage
ein hoher oder niedriger Grad an Detailwiedergabe selektierbar ist.
-
In 2 ist
ein beispielhaftes industrielles Kontrollsystem 200 mit
mehreren Automatisierungsgeräten 210 (PLC's) gezeigt. Jedes
Automatisierungsgerät 210 ist
dabei mit wenigstens einer Ein-/Ausgabeeinheit 220 verbunden
und wirkt über ein
Bussystem und/oder ein Netzwerk 230 mit einer Entwicklungseinheit 240 zusammen.
Vorgenante Entwicklungseinheit 240 umfasst Programmwerkzeuge 250 zur
Entwicklung von Auto matisierungsgeräten 210. Des Weiteren
umfasst die Entwicklungseinheit 240 noch wenigstens eine
integrierte Einsteckeinheit 260 zur Überprüfung der Ausführbarkeit und/oder
Funktionstüchtigkeit
und/oder Leistungsfähigkeit
und/oder Eignung eines jeweiligen PLC Entwurfs. Die Ein-/Ausgabeeinheiten 220 sind
zur Übertragung
und/oder Weiterleitung von Signalen von und zum PLC 210 elektrisch
mit Steuer-/Regeleinheiten 270 verbunden. Als Steuer-/Regeleinheiten 270 werden
dabei beispielsweise Sensoren, Aktoren, Steller und Antriebe eingesetzt.
-
Die
Entwicklungseinheit 240 kann dabei vorteilhaft mittels
einer gebräuchlichen
Datenverarbeitungseinrichtung 280, beispielsweise einem
Personal Computer (PC), mit geeignetem Betriebssystem, welches wenigstens
einen industriellen Netzwerkstandard, insbesondere Ethernet, und/oder
wenigstens einen industriellen Busstandard unterstützt, gebildet
und realisiert werden.
-
Das
jeweilige Automatisierungsgerät 210 wirkt
dabei vorteilhaft vermittels eines lokalen Netzwerkes 230,
beispielsweise unter Verwendung des Ethernet Protokolls, mit der
Entwicklungseinheit 240 zusammen. Die Programmwerkzeuge 250 der
Entwicklungseinheit 240 zur Entwicklung von Automatisierungsgeräten 210 sind
dafür eingerichtet
vorgabenabhängig
das Betriebsprogramm des jeweiligen Automatisierungsgerätes 210 zu
generieren und diesem aufzuprägen.
-
Bei
der Entwicklung hochwertiger und leistungsstarker Automatisierungsgeräte 210 ist
dabei unter anderem, die Auswahl eines für die jeweilige Anwendung geeigneten
Automatisierungsgerätes, Kenntnis
der Leistungsdaten beziehungsweise Leistungscharakteristika eines
gegebenen Automatisierungsgerätes 210 bei
gegebenem Betriebsprogramm und der Entwurf eines anwendungsspezifisch
optimierten Betriebsprogramms maßgeblich.
-
In
einer alternativen Ausgestaltung ist das erfindungsgemäße System
auch in ein redundantes PLC Kontrollnetzwerk implementierbar und/oder
unter Verwendung von industriellen Feldbus Protokollen, wie beispielsweise
PROFIBUS, HART, FF einsetzbar.
-
Die
Entwicklungseinheit 240 umfasst dabei vorteilhaft beispielsweise
die in 14 gezeigten Werkzeuge. Die
Entwicklungseinheit 240 weist ein geeignetes Betriebssystem
auf, welches wenigstens einen industriellen Netzwerkstandard und/oder
das jeweils zugehörige
Protokoll beziehungsweise die entsprechenden Netzwerktreiber unterstützt. Diese Netzwerktreiber
ermöglichen
die Kommunikation zwischen dem jeweiligen Automatisierungsgerät 240 und
der Entwicklungseinheit 240. Die Werkzeuge der Entwicklungseinheit 240 umfassen
vorteilhaft eine graphische Benutzerschnittstelle 300 (GUI,
Graphical User Interface) zur Eingabe und/oder Erfassung von Code-Elementen,
zum Aufrufen oder Abspeichern von Vorgängen und/oder Anweisungen,
zum Erstellen des Betriebsprogramms des Automatisierungsgeräts 210 und
zum Laden vorgenannten Programms in das Automatisierungsgerät 210.
Darüber hinaus
ist wenigstens eine elektronische Bibliothek 310 mit Steuer-/Regelanweisungen
und den ihnen zugrunde liegenden Programmcodeelementen und/oder
Programmfunktionen und/oder Operatoren für das jeweilige Automatisierungsgerät 210 vorgesehen.
-
Darüber hinaus
ist wenigstens eine Plug-In Schnittstelle 320 und/oder
Ennreiterungsschnittstelle 330 vorgesehen, um die vorhandene
Werkzeugvielfalt erweiterbar zu machen und beispielsweise ein Werkzeug
zur Überprüfung der
Leistungsfähigkeit und
Ausführbarkeit
des Entwurfs des jeweiligen Automatisierungsgerätes 210 zu ergänzen.
-
In 3 eine
beispielhafte Ausgestaltung des erfindungsgemäßen Verfahrens zum optimierten Einrichten
und Konditionieren eines oder mehrerer Automatisierungsgeräte. Verfahrensgemäß wird dabei
in einem ersten Schritt 400, unter Berücksichtigung vorgebbarer Szenarien
sowie vorgebbarer Rand- und Umgebungsbedingungen 410 eine
spezifische Bestimmung und Analyse der Leistungscharakteristika
des jeweiligen Automatisierungsgerätes 210, heruntergebrochen
auf seine Subsysteme sowie deren Code-Elemente durchgeführt und
anschließend
in einem zweiten Schritt 420 die ermittelten Analyseinformationen
sowie Leistungscharakteristika selektiv ausgegeben und abrufbar
auf beispielsweise einem dafür
eingerichteten Datenträger gespeichert.
-
In
einer vorteilhaften Ausgestaltung des Verfahrens wird in einem Zwischenschritt 400a des
ersten Schrittes 400 zur Analyse und Bestimmung der Leistungscharakteristika
des jeweiligen Automatisierungsgerätes (PLC) eine „vorsichtige" Abschätzung der
leistungskritischen Größen seiner
Subsysteme sowie deren Code-Elemente durchgeführt.
-
Als
Subsysteme werden dabei alle seine funktionalen Komponenten, inklusive
der verschieden Programme-, Unterprogramme und Prozeduren bezeichnet.
Als Code-Elemente
gelten deren einzelne Code-Abfragen und -Anweisungen.
-
Dabei
ist vorsehbar, dass die vorsichtige Abschätzung der leistungskritischen
Größen des
jeweiligen Controller-Subsystems modellbasiert mittels eines zuvor
generierten Verhaltensmodells 402 des jeweiligen Subsystems
erfolgt.
-
Weiter
ist vorteilhaft vorsehbar, dass die „vorsichtige" Abschätzung der
leistungskritischen Größen des
jeweiligen Regler-Subsystems durch Grenzwertbildung der erfassbaren
Messwertgrößen und „meta"-Größen (meta
properties) durchgeführt
wird.
-
In
einer weiteren Ausgestaltung des Verfahrens werden die ermittelten
leistungskritischen Größen des
jeweiligen Regler-Subsystems in einem Zwischenschritt 400b des
ersten Schritts 400 parametrisiert, wobei die Parametrisierung
vorzugsweise hinsichtlich Reglerarchitektur und CPU-Geschwindigkeit erfolgt.
-
Vorteilhaft
kann in einer weiteren Ausführungsform
die Analyse „context-sensitive" durchgeführt werden.
-
Basieren
Kenngrößen und
Charakteristika auf Informationen, die bislang nicht bekannt sind,
beispielsweise bei Subsystemen deren Eigenschaften unbekannt sind,
so können
in einer weiteren Vorteilhaften Ausgestaltung des Verfahrens in
einem weiteren Zwischenschritt 400c des ersten Schrittes 400 die
jeweiligen Kenngrößen in Form
von Relationen oder Gleichungen parametrisiert werden.
-
Des
weiteren ist vorteilhaft vorsehbar, dass die ermittelten Charakteristika
und/oder Kenngrößen im zweiten
Schritt 420 in verschiedenen Darstellungen zur weiteren
Bewertung und/oder Verarbeitung angegeben und/oder gespeichert werden.
-
Fakultativ
können
die ermittelten Charakteristika, insbesondere die ermittelten leistungskritischen
Charakteristika dann in einem dritten Schritt 430 geändert oder
angepasst werden, indem beispielsweise eine Vermutung über das
Verhalten einer jeweiligen Komponente aufgestellt wird, beispielsweise
indem einer Komponente eine Herstellerangabe zugewiesen wird und/oder
die Maximale Anzahl an Schleifenausführungen angegeben wird und/oder die
Wahrscheinlichkeit angegeben wird, mit der ein Bestimmter Zweig
einer Anweisung ausgeführt
wird.
-
Vorteilhaft
ist ein „plug-in"-Mechanismus vorsehbar,
der es ermöglicht
eine Einfache Anpassung des Verfahrens an neue Programmiersprachen und/oder
durch neue Analyseverfahren bestimmte Entwurfsvorgaben vorzunehmen.
-
Vorteilhaft
werden demgemäß universelle Mechanismen
eingesetzt, die von der jeweilig verwendeten Programmiersprache
unabhängig
sind, weil beispielsweise regelbasiert, oder über Elemente, die allen relevanten
Programmiersprachen eigen sind, beziehungsweise in allen Sprachen
vorkommen.
-
Des
Weiteren ist vorteilhaft vorsehbar, dass die Angabe der Leistungscharakteristika
im zweiten Schritt 420 unter Verwendung eines „plug in"-fähigen Mechanismus
erfolgt, der es ermöglicht,
ermittelte leitungsspezifische Größen „in situ" anzugeben und/oder ermittelte Größen in fakultativer
Detaildarstellung anzugeben, wobei je nach Interessenslage bedarfsgerecht
ein hoher oder niedriger Detaillierungsgrad selektiert werden kann.
-
Darüber hinaus
ist vorteilhaft vorsehbar, dass die Angabe der Leistungscharakteristika
des jeweiligen PLC auch Symbolcodiert und/oder Farb- und/oder Mustercodiert
erfolgt.
-
Die
Visualisierung der ermittelten Charakteristika und/oder der zugehörigen Kenngrößen ist
vorteilhaft unter Verwendung eines „plug-in"-Mechanismus mittels verschiedener standardisierter
graphischer Präsentationstechniken
durchführbar.
Hierzu zählen
unter anderen die Darstellung in Form von „mental maps" oder in tabellarische
Form oder mittels vorbestimmter Symboliken, wie beispielsweise dem Thermometer.
-
Vorteilhaft
wird zur Visualisierung des Gesamtzustandes des Automatisierungsgerätes eine Thermometerdarstellung
verwendet, die auch Aufschluss über
die einem Gerät
zuzuweisende Leistungsfähigkeit
und Einsetzbarkeit (feasibility) liefert. Aber auch eine farbkodierte
Kennzeichnung entsprechender Code-Elemente und/oder eine Darstellung der
Systemarchitektur mittels „mental-maps" ist vorteilhaft
vorsehbar.
-
Vorteilhaft
ist eine Wechselmöglichkeit
zwischen verschiedenen Darstellungen und/oder Ansichten und/oder
Präsentationstechniken
vorgesehen.
-
In 4 sind
in einer beispielhaften Profilübersicht
in hierarchischem Aufbau die System- und Subsystemkomponenten eines
Automatisierungsgerätes 30 „production-Cell_1" mit ihren Funktionsblöcken 34a „press" und 34b „single
robot arm" gezeigt.
-
In 5 sind
beispielhafte System- und Subsystemkomponenten vom Typ single-robot-arm 4.1, 4.2 mit
entsprechenden Code-Elementen und Verknüpfungen gezeigt.
-
In 6 ist
eine graphische Darstellung eines beispielhaften Funktionsblocks „production_cell2" mit untergeordneten
Prozeduren, Anweisungen und deren Verknüpfungen untereinander gezeigt.
-
In 7 ist
in tabellarischer Darstellung ein Analyseergebnis eine Funktionsblocks
heruntergebrochen auf einzelne Anweisungen und/oder Code-Elemente
mit der jeweiligen Schleifenanzahl, das heißt, der Anzahl an Aufrufen
des jeweiligen Codeelements, der WCET für einen Aufruf und der resultierenden
WCET für
eine entsprechende Anzahl an Aufrufen gezeigt.
-
In 8 bis 10 sind
beispielhaft zwei WCET Analysen individueller Anordnungen gezeigt, wobei
die erste Analyse mit .1 und die zweite Analyse mit .2 gekennzeichnet
ist.
-
In 8 sind
die beiden, der jeweiligen WCET Analyse zugrunde liegende, Code-Elemente 7.1 und 7.2 gezeigt.
In einem jeweils ersten Bereich 7.1a, 7.2a erfolgt
die Initialisierung und Definition der jeweiligen Variablen. In
einem jeweils zweiten Bereich 7.1b, 7.2b das Codeelement
der jeweiligen Anweisung. Das linke Code-Element 7.1b ist
eine If-Else Anweisung bzw. Schleife, das rechte Codeelement eine
For-Then Anweisung.
-
In 9 sind
die den beiden Anweisungen entsprechenden Flussdiagrame bzw. „control
flow graphs" mit
den einzelnen Ausführungs-
bzw. Abarbeitungsschritte gezeigt.
-
In 10 sind
die in 9 angegebenen Begriffe erläutert und die WCET der einzelnen
Abarbeitungsschritte angegeben.
-
Daraus
ergibt sich in Summa für
das Codeelement 7.1b ein WCET von 0.75 N Mickrosekunden und
für das
Codeelement 7.2b ein WCET von 0.37 × N Mikrosekunden, wobei N
die Schleifengrenze angibt.
-
In 11 ist
eine beispielhafte graphische Benutzerschnittstelle (GUI) 300 gezeigt.
Es sind mehrere Fenster auch mit Codeelementen angegeben, in denen
beispielhaft anhand der WCET Analyse ermittelte leistungskritische
Funktionsblöcke 10a und 10b angegeben
und schwarz hinterlegt sind.
-
In 12 ist
eine Thermometerpräsentation bzw.
-darstellung der dem jeweiligen System zugeordneten Leistungsfähigkeit
und/oder Einsetzbarkeit bzw. Eignung gezeigt. Das Thermometer wird
dabei als eigenständige
Grafik in drei verschiedenen Grundzuständen angegeben:
Zustand „geeignet" 11.1
Zustand „möglicherweise
ungeeignet" 11.2
Zustand „ungeeignet" 11.3
-
Jede
Grafik besitzt dabei einen farbkodierten Balken 11.7, 11.8, 11.9 mit
wechselbarer Farbe, beispielsweise in grün, gelb, orange oder rot, mit
je einem Pfeil 11.4, 11.5, 11.6. Die
Balken und Pfeile geben dabei an inwieweit sich die Einsetzbarkeit
oder Eignung in Anbetracht vorgenommener System- und/oder Subsystemänderungen
tendenziell verändert,
das heißt
verbessert oder verschlechtert.
-
Ist
das Risiko einer fehlenden Eignung hoch, so können verfahrens- und systemgemäß auch andere
detailliertere Ansichten und/oder Darstellungen selektiert werden,
um mögliche
Probleme aufzuspüren.
-
In 13 sind
beispielhaft farbkodierte System- und Subsystemkomponenten om Typ
single-robot-arm 12.1, 12.2 gezeigt, wobei deren
Programmcode je nach Auslegung, beispielsweise hinsichtlich Risiko,
WCET, belegte Resourcen oder Kosten farblich unterschiedlich hinterlegt
ist. Im hier gezeigten Beispiel sind farblich diejenigen Elemente
gekennzeichnet deren kosten in der Zusammenschau 60 % der Systemkosten
betragen.
-
In 14 ist
ein beispielhafter Systemaufbau zum optimierten Einrichten und Konditionieren von
programmierbaren logischen Controllern (PLC) oder Automatisierungsgeräten 210 gezeigt,
welche eine Analyseeinrichtung 110 aufweist, welche unter Berücksichtigung
vorgebbarer Szenarien, Rand- und Umgebungsbedingungen eine Bestimmung
und Analyse der Leistungscharakteristika des jeweiligen programmierbaren
Controllers, heruntergebrochen auf seine Subsysteme, sowie deren
Code-Elemente durchführt,
und eine Visualisierungseinrichtung 120 umfasst, welche
die ermittelten Analyseinformationen und Leistungscharakteristika
selektiv ausgibt und/oder abrufbar speichert. Die Visualisierungseinrichtung 120 ist
dabei modular erweiterbar und/oder „plugin"-fähig ausgestaltet.