-
Die
Erfindung betrifft eine Bedienung und Steuerung einer Anlage nach
dem Oberbegriff des Patentanspruchs 1.
-
Ein
Programmgenerator mit einer grafischen Entwicklungsoberfläche und
automatischer Code-Generierung ist aus der
DE 10 2004 043 788 A1 bekannt
geworden. Der dort gezeigte Programmgenerator sieht eine grafische
Entwicklungsoberfläche vor,
wobei einzelne grafische Entwicklungsmodule auf eine Benutzeroberfläche gezogen
werden, um ein bestimmtes ablauffähiges Programm zu erzeugen.
Das Programm wird hierbei als Modell mit einzelnen Modulen vorgegeben.
-
Das
Modell besteht hierbei aus einzelnen grafischen Symbolen, die auf
der Benutzeroberfläche so
angeordnet werden, damit sich ein ablauffähiges Programm mit einer bestimmten
gewünschten
Ablaufstruktur ergibt.
-
Damit
ist es allerdings nicht möglich,
mit den genannten Modellen und den zugrundeliegenden Modulen die
Bedienung und Steuerung einer Anlage zu bewerkstelligen. Vielmehr
soll nur ein ablauffähiger
Programm-Code erzeugt werden.
-
Es
wird eine Datenbank im Hintergrund vorgehalten, aus der man einzelne
Programmcodeschritte einlesen kann. Es handelt sich jedoch nicht um
die Erstellung einer ablauffähigen
Steuerung für eine
technische Anlage.
-
Der
Erfindung liegt deshalb die Aufgabe zugrunde, ausgehend von dem
genannten Stand der Technik, eine grafische Entwicklungsoberfläche zu schaffen,
bei der zwecks Bedienung und Steuerung einer Anlage eine automatische
Code-Generierung gegeben ist.
-
Zur
Lösung
der gestellten Aufgabe ist die Erfindung durch die technische Lehre
des Anspruchs 1 gekennzeichnet.
-
Bei
der gegebenen technischen Lehre ergibt sich der Vorteil, dass ein
Werkzeug zur Entwicklung von Visualisierungen vorgestellt wird.
Unabhängig von
dem auf der Hardware eingesetzten Betriebssystem lassen sich mit
dem neuen Visualisierungseditor (im folgenden als Designer bezeichnet)
auf einfache Art und Weise webfähige
Java-Visualisierungen mit Hilfe einer grafischen Oberfläche entwickeln
und gestalten. Eine leistungsfähige
Benutzerführung
ermöglicht
die rasche Definition des Datenrahmens und der Prozessbilder. Die
Erstellung aller notwendigen Systemkonfigurationen (Formate, Einheiten, Sprachen,
Rezepturen, Fonts, Farben) erfolgt im intuitiv bedienbaren Editor,
so dass für
die Erstellung üblicher
Visualisierungen vom Anwender keinerlei Kenntnisse in Java abverlangt
werden.
-
Die
mit dem Designer erstellten Visualisierungen können auf verschiedene Art und
Weise betrieben werden: Als Ablaufumgebung kann entweder ein Visualisierungsgerät selektiert
werden oder ein gewöhnlicher
PC. Alternativ ist es möglich,
die Anwendung als Java-Applet auf einer Steuerung oder einem anderen,
mit Webserver ausgestatteten Rechner zu hinterlegen. Mit einem Zugriff über einen
entsprechenden Webbrowser kann dann von einem beliebigen Computer
die Visualisierung ausgeführt
werden.
-
Aufbauend
auf der Bibliothek des Standard Widget Toolkit (SWT) werden außerordentlich
schnell Oberflächen
realisiert. Alle üblichen
grafischen Grundkomponenten zur Darstellung von Interaktions- bzw.
Steuerelementen (Push-Buttons, Check Boxes etc.) stehen dazu dem
Anwender in einer zugehörigen
Toolbox bereits zur Verfügung.
-
Durch
die Unterstützung
zahlreicher Bildformate für
Icons oder in dynamischen Anzeigen lassen sich gefällige Visualisierungsseiten
sehr rasch in einer für
den Anwender verständlichen
Form gestalten. Einsparungen bei Engineering-Kosten und Komfort für den Maschinenbediener bringen
die integrierten Cursor-Verkettungen
und Tabulator-Reihenfolgen, welche auch automatisch generiert und
am Bildschirm kontrolliert werde können.
-
In
kürzester
Zeit lassen sich mit dem erfindungsgemäßen Designer einfache Maschinen-
und Anlagenvisualisierungen entwickeln. Insbesondere während der
Inbetriebnahme von Anlagen ist das Werkzeug außerordentlich hilfreich: In
Minutenschnelle können
wichtige Systemparameter visualisiert werden und dem Anwender ist
das Debugging erleichtert.
-
Mit
Hilfe des Java Visualisierungs-Code-Generators lassen sich unabhängig von
dem auf der Hardware eingesetzten Betriebssystem auf einfache Art
und Weise webfähige
Java-Visualisierungen über einer
grafischen Oberfläche
entwickeln und gestalten. Die Benutzerführung ermöglicht die rasche Definition
des Datenrahmens und der Prozessbilder.
-
Die
Erstellung aller notwendigen Systemkonfigurationen wie z. B. Formate,
Einheiten, Sprachen, Rezepturen, Fonts und Farben erfolgen in intuitiv
bedienbaren Editoren, so dass für
die Erstellung üblicher
Visualisierungen vom Anwender keinerlei Kenntnisse in Java verlangt
werden.
-
Die
mit dem Designer erstellten Visualisierungen können unterschiedlich betrieben
werden. Als Ablaufumgebung kann entweder ein Visualisierungsgerät selektiert
werden oder ein handelsüblicher
PC. Weiters ist es möglich,
die Anwendungen als Java-Applet auf einer Steuerung, die mit einem
Webbrowser ausgestattet ist, zu hinterlegen. Mit einem Zugriff über einen
entsprechenden Webbrowser kann dann auf jedem Computer die Visualisierung
ausgeführt
werden.
-
Für die Erzeugung
der Prozessbilder steht der Designer als intuitiv bedienbarer, grafischer
Editor zur Verfügung.
Aus mitgelieferten Grundelementen, wie Schaltflächen, Eingabefeldern oder Auswahllisten,
werden die Seiten aufgebaut und mit Prozessvariablen verknüpft. Durch
die zahlreichen unterstützten
Grafikformate können
eigene Abbildungen und Icons bequem integriert werden. Komfortable
Dialoge führen
den Anwender durch alle wichtigen Arbeitsschritte, so dass für eine einfache
Visualisierung keinerlei Programmierkenntnisse notwendig sind.
-
Fertig
erstellte Applikationen können
per Mausklick entweder als komplette Anwendung direkt am PC oder
auf den Visualisierungsgeräten
gestartet werden. Darüber
hinaus erlaubt der Designer eine Anwendung auch als Applet auf einer
Steuerung oder sonstigem Rechnersystem mit integriertem Webserver
zu hinterlegen. Dadurch kann der Zugriff von überall aus dem Netz mit einem
Browser erfolgen, dessen integrierte Java Virtual Machine die Visualisierungsanwendung
ladet und als Applet anzeigen kann. Die laufende Anwendung ist voll
netzwerkfähig und
kommuniziert selbständig
mit den Schnittstellen aller Automatisierungsgeräte.
-
Besondere Eigenschaften:
-
- • Vollgrafische
Visualisierungssoftware für HMI-Anwendungen
(Bedienen/Beobachten)
- • Komplettes
Konfigurationswerkzeug mit grafischer Benutzeroberfläche (Eclipse)
- • Plattformneutral
dank Java-Technologie
- • Online
Sprachumschaltung
- • Rezepturen/Datensatzverwaltung
- • Visualisierungen
ablauffähig
auf PC, IPC, Web-Terminals, Control-Terminals
- • Webfähig durch
Applets
- • Schnelle
Grafik: SWT
- • Komfort
für industrielle
Terminals
- • Cursor-Verkettung,
TAB-Ordner
- • Soft-Tastatur,
Nummernfeld
- • Umfangreiche
Querverweise/Suchen
- • Eingabehilfen: „Content
Assistance"
- • Der
Designer unterstützt
die wichtigsten Bedienelemente und Bildformate, ist vollgrafisch
und erlaubt die Verwendung unterschiedlicher Schrifttypen. Der Benutzer
kann zwischen beliebig vielen Sprachen der Visualisierungsapplikation
online umschalten. Neben zahlreichen Animationsarbeiten können für Benutzereingaben
vorgefertigte und einfach zu konfigurierende Kommandos hinterlegt
werden.
- • Übliche Elemente
der Oberflächen-Gestaltung wie
Schaltflächen,
Textfeld, Auswahlbox etc.
- • Konfigurierbare
Kommandos
- • Grafikformate:
JPG, BMP, GIF, PNG, ICO
- • Konfigurierbare
Cursorverkettung mit Logikanalyse und Auto-Funktion und grafischer Überprüfung
- • Konfigurierbare
Tabulator-Sequenz
- • Zooming
und Sprachumschaltung im grafischen Editor
- • Querverweisfunktion
mit Ergebnislisten
-
Die
anzuzeigenden Prozesswerte (Steuerungsvariablen) müssen nicht
manuell eingegeben werden, sondern sind alternativ auch direkt von
online verfügbaren
Steuerungen selektierbar. Jede Visualisierung kann gleichzeitig
Größen von
verschiedenen Steuerungen visualisieren. Weiters stehen lokale Visualisierungsvariablen
als Rechenwerte oder Hilfsgrößen für die Oberflächenanimation
zur Verfügung. Einheitliche
Zahlenformat- oder Wertebereichsfestlegung direkt an den Variablen,
funktionale Farb- und Schriftnamen, sowie umfangreiche Querverweisfunktionen
unterstreichen den Anspruch geringstmöglicher Engineeringaufwände, sowohl
bei Erstprojektierung wie auch in der Wartung.
- • Frame-Layout
(mehrere Bilder in einem Hauptbild) für übersichtliche Gestaltung und
Menüs
- • Einstellbare
Aktualisierungsraten
- • Selektiv
je Bild/Frame
- • Flimmerfreie
Darstellung durch DoubleBuffering
- • Übernahme
des Widget-Styles von den Einstellungen des unterlagerten Betriebssystems
- • Online
Sprachumschaltung
- • Asiatische
Zeichensätze
- • Beliebig
viele Prozessbilder (abhängig
vom verh. Speicher)
- • Effiziente
SPS-Kommunikation (automatische Gruppen)
- • Vollgrafische
Entwicklungsumgebung
- • Realisiert
als Eclipse Plug-In Multiprojektverwaltung
- • Widgets
(SWT) und Primitive (Draw2D)
- • Konfigurationsdaten
im XML-Format
- • Erstellte
Projekte bestehen aus compilliertem Java-Code (alle Laufzeitelemente
und Kommunikationsschichten direkt integriert)
- • Umfangreiche
Plausibilitätschecks
und
- • Fehlermanagement
- • Flexibles
Deployment (Applet, Application, Cross-Platform)
-
Die
flexible Einsetzbarkeit des Visualisierungssystems zeigt sich insbesondere
durch die unterstützten
Zielsysteme. Dank nativer Java Code-Generierung bringt eine erstellte
Anwendung alle benötigten
Komponenten selbst mit und setzt nur das Vorhandensein einer entsprechenden
Java Virtual Machine mit SWT-Grafikunterstützung voraus. Auf den erfindungsgemäß verwendeten
Control-Terminals läuft
dank Embedded Virtual Machine die Visualisierung sogar parallel
zum Echtzeit Programm der SPS oder den Reglern ab.
-
Der
Erfindungsgegenstand der vorliegenden Erfindung ergibt sich nicht
nur aus dem Gegenstand der einzelnen Patentansprüche, sondern auch aus der Kombination
der einzelnen Patentansprüche
untereinander.
-
Alle
in den Unterlagen, einschließlich
der Zusammenfassung offenbarten Angaben und Merkmale, insbesondere
die in den Zeichnungen dargestellte räumliche Ausbildung, werden
als erfindungswesentlich beansprucht, soweit sie einzeln oder in
Kombination gegenüber
dem Stand der Technik neu sind.
-
Im
Folgenden wird die Erfindung anhand von lediglich einen Ausführungsweg
darstellenden Zeichnungen näher
erläutert.
Hierbei gehen aus den Zeichnungen und ihrer Beschreibung weitere
erfindungswesentliche Merkmale und Vorteile der Erfindung hervor.
-
Es
zeigen:
-
A:
eine Anordnung nach dem Stand der Technik;
-
1:
die Ansicht eines Projektiermoduls mit Darstellung der grafischen
Oberfläche;
-
2:
Blockdiagramm des Prozesses, wie die Visualisierung und Bedienung
und Steuerung einer Anlage nach der Erfindung entsteht in Vergleich zu
dem Prozessablauf nach A nach dem Stand der Technik;
-
3:
schematisiert die Umsetzung eines XML-Files in ein Java Quell-Code;
-
4:
der Aufbau des Java Visualisierungs-Code-Generators im Detail;
-
5:
das Visualisierungsgerät
als ablauffähiges
System als Ergebnis der Programmierung der Benutzeroberfläche in 1.
-
In A wird
zunächst
der Stand der Technik erläutert,
wobei der Vergleich zwischen der A und der
nachfolgend erläuterten 2 wesentlich
ist, weil anhand des Vergleiches die Unterschiede der Erfindung
zum Stand der Technik besser verdeutlicht werden können.
-
In A ist
dargestellt, dass beim Stand der Technik bereits schon bekannt ist,
ein Projektiermodul 1 zu verwenden, welches über einen
Datenpfad mit einer Projekt-Datenbank 2 verbunden ist,
aus dem das Projektiermodul 1 seine Daten erhält.
-
Unter
Verwendung dieser Daten wird über
einen Datenpfad 9 ein Einrichter 7 (Deploy) angesteuert,
der aus den im Projektiermodul erstellten Daten über eine Datenpfad 10 ein
Visualisierungsgerät 8 ansteuert.
Das Visualisierungsgerät 8 ist
eine Zielhardware, die über
ein Visualisierungslaufzeitsystem 16 verfügt, das
seinerseits mit einem Skript-Interpreter 17 zusammenwirkt.
-
Mit
dem Laufzeitsystem kann man demzufolge nicht nur über die
Projekt-Datenbank 2 Daten
zur Verfügung
stellen, sondern auch noch über
einen eignen Skript-Interpreter 17.
-
Wichtig
ist, dass mit dem ablauffähigen
Visualisierungsgerät 8 über eine
zugeordnete Verbindung, die bevorzugt als Ethernet-Verbindung 11 ausgebildet
ist, ein Ethernet-Bus 12 angesteuert wird, an dem eine
Vielzahl von einzelnen Steuerungen 13, 14, 15 angeschlossen
sind.
-
Alle
Steuerungen können
nun von dem Visualisierungsgerät 8 angesteuert
werden.
-
Nachteil
der Anordnung nach dem Stand der Technik ist, dass stets eine unlösbare Verbindung zwischen
der Projekt-Datenbank 2 und dem Projektiermodul 1 über das
Target in Verbindung mit einem Visualisierungslaufzeitsystem 16 notwendig
ist. Dies erhöht
den Programmieraufwand im entscheidenden Maße, denn stets muss dem Target auch
ein zugeordnetes Visualisierungslaufzeitsystem 16 zur Verfügung gestellt
werden. Es gibt damit eine klare Plattformbindung, denn es muss
stets dafür
gesorgt werden, dass das Visualisierungslaufzeitsystem 16 auf der
durch das Visualisierungsgerät 8 definierten Plattform
auch ablauffähig
ist. Ein Wechsel der Plattform oder ein Wechsel der Programmiersprache
ist in diesem System nicht möglich.
Es handelt sich um einen klassischen Interpreter, der demzufolge
plattformgebunden mit dem hardwareabhängigen Visualisierungsgerät 8 verbunden
ist. Es handelt sich deshalb um eine unnötige Beschränkung, die unter anderem durch
die vorliegende Erfindung aufgehoben werden soll.
-
Generell
kann gesagt werden, dass es sich um ein plattformabhängiges Laufzeitsystem
handelt.
-
Weiterer
Nachteil ist, dass ein programmiersprachen-abhängiger Eingriff in das erstellte
System des Visualisierungsgerätes 8 nicht
möglich
ist.
-
Wenn
ein Eingriff gefordert wird, muss man sich an die vorgegebenen Skript-Schnittstellen des Skript-Interpreters 17 halten
und nur in dessen Bereich kann ein Eingriff in den Programmcode
auf dem Visualisierungsgerät 8 durchgeführt werden.
Es ist nicht möglich,
das System nach dem Stand der Technik auf Source-Code-Ebene zu analysieren,
weil der Source-Code bereits schon in dem Einrichter 7 verarbeitet
wird und ein Debuggen des Source-Codes auf Source-Code-Ebene deshalb
nur schwierig möglich ist.
-
Es
gibt demzufolge keinen Source-Code der in der Anordnung nach dem
Stand der Technik verwendet wird, mit Ausnahme eines Skripting-Codes der
im Skipt-Interpreter
verwendet wird.
-
Ein
solches System nach dem Stand der Technik ist deshalb nur schwer
außerhalb
der Möglichkeiten
des Projektiermoduls 1 veränderbar, schwer zu debuggen
und jede Korrektur und Eingriff in das System ist außerordentlich
zeitaufwändig.
Die Eingriffsmöglichkeiten
sind im Übrigen
stark beschränkt.
-
Will
man sich außerhalb
der Möglichkeiten des
Projektiermoduls 1 und dessen Eingabebefehlen und Eingabevorrates
bewegen, gibt es bei diesem System Keine Möglichkeit, von außerhalb
zusätzliche
Befehle einzuschleusen.
-
Durch
Verwendung eines Skript-Interpreters und einem plattformabhängigen Visualisierungs-Laufzeitsystem
ergeben sich hohe Ablaufzeiten mit einer langsamen Verarbeitung
des dort hinterlegten Codes.
-
Hier
setzt die Erfindung ein, wobei zunächst anhand der 1 das
Aussehen des Projektiermoduls 1 näher dargestellt wird.
-
Es
handelt sich im Prinzip um die Darstellung eines Bildschirmes. Auf
diesem Bildschirm eines beliebigen Eingabegerätes (PC) ist eine grafische Oberfläche 18 angeordnet,
die im Wesentlichen aus einem Maschinenmodell 20 besteht,
welches auf einem zunächst
leeren Blatt errichtet wird. Durch Ziehen von einzelnen Komponenten
einer Palette 23 auf das (zunächst als leeres Blatt vorhandene)
Maschinenmodell 20 wird so eine ablauffähige Steuerung erzeugt.
-
Im
gezeigten Ausführungsbeispiel
wird auf der Zeichenfläche 19 eine
Steuerung für
eine Maschine erstellt, wobei als Beispiel zwei verschiedene Förderbänder zur
Förderung
unterschiedlicher Produkte zusammenlaufen und gemeinsam in einen Heizofen
befördert
werden.
-
Der
Benutzer des Projektiermoduls kann demzufolge aus einzelnen Bausteinen
zunächst
das Maschinenmodell 20 errichten und dann auf dem Maschinenmodell 20 ein
oder mehrere Datenpunkte 26 erzeugen.
-
Ein
solcher Datenpunkt 26 (beispielsweise auf dem Heizofen
angeordnet) regelt die Heiztemperatur in bestimmten Grenzen. Hierzu
werden Ein- und Ausgabefelder 24 erstellt, in denen die
geforderten Temperaturen des Heizofens hinterlegt werden.
-
Ferner
werden ein oder mehrere Alarmkomponenten 22 definiert,
mit denen es möglich
ist, bei Abweichung der eingegebenen Werte von den tatsächlich vorhandenen
Werten eine Alarmmeldung zu erzeugen.
-
Ferner
werden Zustandskomponenten 21 erzeugt, mit denen bestimmte
Zustände
auf dem Maschinenmodell 20 überwacht werden. Diese Zustände werden
bestimmten Punkten des Maschinenmodells zugeordnet.
-
Von
einer Verwaltungsoberfläche 25 können mehrere
Projekte verwaltet werden.
-
Wichtig
bei der in 1 dargestellten Bedienoberfläche (später auch
als Designer bezeichnet) ist, dass man ein komplett ablauffähiges Maschinenmodell 20 auf
einer zunächst
leeren Zeichenfläche 19 aus
vordefinierten Bausteinen, Linien, Kreisen und anderen Bauelementen
erzeugt und an jedem beliebigen Punkt des Maschinenmodells Zustandsüberwachungspunkte,
Alarmpunkte, Temperaturangabepunkte und andere Steuerungsparameter
hinterlegt.
-
Anhand
der 2 werden nun die wesentlichen Vorteile der Erfindung
gegenüber
einem gleichartigen Ablaufdiagramm nach dem Stand der Technik (A)
näher erläutert.
-
Zunächst wird
darauf hingewiesen, dass das in der 2 dargestellte
Projektiermodul 1, welches in 1 näher erläutert ist,
in seinem Umfang wesentlich über
ein Projektiermodul nach dem Stand der Technik (A)
hinausgeht.
-
Über einen
Datenpfad 30 werden die vom Projektiermodul 1 angeforderten
Daten in eine Projekt-Datenbank 2 eingelesen, und dort
vorzugsweise als XML-Daten
vorgehalten. Hierauf ist die Erfindung jedoch nicht beschränkt. Die
Verwendung eines XML-Codes hat den Vorteil, dass man in sehr unterschiedlichen
Bedienoberflächen
arbeiten kann und dass es sich um einen sehr weit verbreiteten Code handelt.
-
Es
können
auch andere Datenbeschreibungsformate verwendet werden, wie zum
Beispiel HTML oder jeder andere ASCII-Code verwendet werden.
-
Wichtig
ist, dass im Wesentlichen das Ablaufdiagramm nach 2 im
Vergleich zu der A oberhalb eines Trennbalkens 49 bei
Position 50 etwa gleich ausgebildet ist und dass die wesentlichen
Erfindungsschritte unterhalb der Trennlinie 49 bei Position 51 stattfinden.
-
Wichtig
bei der Erfindung ist nämlich,
dass die aus der Projektdatenbank ausgelesenen Daten über einen
Datenpfad 31 einen Code-Generator 3 eingegeben
werden, der das XML-File der Projektdatenbank in einen ablauffähigen Java-Source-Code übersetzt.
-
Es
handelt sich demzufolge um einen erfindungsgemäßen Umsetzer, der auch als
Code-Generator fungiert. Die Umsetzung wird anhand der 3 näher erläutert.
-
Man
erkennt, dass aus einer XML-Datei 27, die hier als Tabelle
dargestellt ist, über
Abbildungsbefehle 28 ein ablauffähiger Java-Source-Code 29 erstellt
wird. Dies ist der wesentliche Vorteil gegenüber dem Stand der Technik,
denn beim Stand der Technik war eine solche Code-Umsetzung nicht
gegeben.
-
Durch
Erzeugung eines Java-Source-Codes in der Java-Source-Code-Datei 4 (Verbindung 42)
ergibt sich der wesentliche Vorteil, dass man nun auf einer lesbaren
Source-Code-Ebene ist, in die auch ein Eingriff möglich ist.
Dies ist neu gegenüber
dem Stand der Technik.
-
Demzufolge
ist vorgesehen, dass die Java-Source-Code-Datei 4 über eine
Verbindung 44 mit einem Compiler 5 verbunden ist,
der aus dem Java-Source-Code
einen Java-Byte-Code erzeugt und in der Java-Byte-Code-Datei 6 ablegt.
-
Dies
erfolgt dadurch, dass der Compiler 5 über eine Verbindung 43 mit
der Java-Byte-Code-Datei 6 verbunden ist. In dieser Java-Byte-Code-Datei werden class-Files
erzeugt, die z. B. in einer Archivdatei „jar" zusammengefasst werden.
-
Über eine
Verbindung 45 ist die Java-Byte-Code-Datei 6 mit
einem Einrichter 7 verbunden, der den Java-Code-Ablaufweg
gestaltet, indem er diese auf das Zielgerät kopiert, was im vorliegenden
Fall als Visualisierungsgerät 8 bezeichnet
wird.
-
Wichtig
ist nun, dass auf dem Visualisierungsgerät 8 ein ablauffähiges Programm
erstellt wurde, welches unmittelbar über die vorher beschriebene
Ethernet-Verbindung 11 mit dem Ethernet-Bus 12 zusammenarbeitet,
um so die einzelnen Steuerungen 13, 14, 15 über die
Verbindungen 55 anzusteuern.
-
Aus
dem Ablaufdiagramm der 2 ergibt sich, dass im Wesentlichen
der Ablauf jenseits der Trennlinie 52 unterhalb der Position 54 etwa
dem Ablauf nach dem Stand der Technik entspricht. Wichtig ist jedoch,
dass oberhalb der Trennlinie 52 bei Position 53 die
Erfindung gegeben ist, denn es ist im Stand der Technik nicht bekannt,
im Bereich zwischen der Verbindung eines Projektiermoduls 1 und
einem Target 8 (Visualisierungsgerät) einen Source-Code zu erzeugen,
mit dem man nun ohne weiteres entsprechende Modifizierungen durchführen kann.
-
Hier
liegt der wesentliche Wert der Erfindung, denn es ist nun für einen
Benutzer ohne weiteres möglich,
in den Source-Code der Datei 4 einzugreifen.
-
Hierzu
werden bekannte Werkzeuge 56 verwendet, mit denen unmittelbar
eine Modifizierung der Java-Source-Code-Datei möglich ist. Solche Werkzeuge
gehören
zwar zum Stand der Technik, die Anwendung dieser Werkzeuge 56 bei
einer derartigen Ablaufsteuerung war bisher jedoch noch nicht bekannt.
-
Der
Designer der gesamten Steuerungs- und Bedienungsanlage kann somit
unmittelbar dem ihm bekannten Java-Source-Code über bekannte Werkzeuge 56 ändern und
modifizieren. Das war im Stand der Technik in A nicht
möglich.
-
Damit
ist es erstmals möglich
mit bekannten Werkzeugen 56 den Java-Source-Code einer Visualisierung
zu debuggen. Er kann auch darüber
hinaus Objekte, die in dem Projektiermodul 1 nicht zur
Verfügung
stehen, frei hinzufügen
und Ansichten erzeugen, die eigentlich nur durch aufwändige Programmierarbeiten
möglich
sind.
-
Damit
ergibt sich eine wesentlich erweiterte grafische Entwicklungsoberfläche, denn
es ist erstmals möglich,
auf der Java-Ebene in Verbindung mit einem Projektiermodul 1 und
unabhängig
von diesem Projektiermodul in die Bedienung und Steuerung einer
Anlage einzugreifen und diese zu modifizieren.
-
Das
Projektiermodul 1 funktioniert also mit bekannten Werkzeugen 56,
mit denen noch zusätzliche Änderungen
angeführt
werden können.
-
Demzufolge
liegt der Kern der Erfindung darin, dass im Hinblick auf die Bedienung
und Steuerung einer Anlage mit Hilfe einer grafischen Entwicklungsoberfläche eine
automatische Java-Code-Generierung stattfindet.
-
Die
Kombination eines Entwicklungswerkzeuges mit visueller Darstellung
einzelner Module und der Plattform-Unabhängigkeit ist demzufolge neu
gegenüber
dem Stand der Technik.
-
Nachfolgend
werden noch einige weitere Vorteile wie folgt zusammengefasst:
- • Auf
der Zielhardware ist kein Laufzeitsystem notwendig.
- • Bei
bisherigen grafischen Code-Generierungssystemen sind nur Teilfragmente
als Source-Code verfügbar.
Bei der vorliegenden Erfindung ist der Source-Code zur Gänze offen
gelegt und auch veränderbar
- • Der
Java-Source-Code kann mit Standard Tools angepasst werden.
- • Als
virtuelle Maschinen kommen Standard virtuelle Maschinen (Es sind
somit sämtliche
Targets wie zum Beispiel Windows, Linux, etc. möglich) aber auch virtuelle
Maschinen für
Embedded Systeme zum Einsatz. Bei Embedded Systemen liegt eine abgespeckte,
reduzierte Plattform wie zum Beispiel Web-Terminals vor.
-
Anhand
der 4 wird technisch erläutert, wie ein Java-Visualisierungs-Code-Generator im Detail
aufgebaut ist.
-
Im
Projektiermodul 1 ist die Verwaltungsoberfläche 25 angeordnet,
die anhand der 1 bereits schon erläutert wurde.
-
Auf
dieser Verwaltungsoberfläche 25 wird die
Zeichenfläche 19 erzeugt,
und auf dieser Paletten 23, sowie Eingabe- und Anzeigefelder 24 angeordnet.
-
Über die
Datenpfade 30, 31 wird nun die Projekt-Datenbank 2 angesteuert,
die einen bidirektionalen Datenaustausch mit dem Projektiermodul 1 ausführt. In
dieser Datenbank sind Projektierdaten 32 hinterlegt, die
mit dem Maschinenmodell 20 verbunden sind. Das Maschinenmodell 20 wird
demgemäss auf
der Zeichenfläche 19 erstellt
und besteht beispielsweise – wie
vorstehend erläutert – aus einer Maschine
mit Steuerungselementen, Antriebselementen, Überwachungs- und Alarmelementen.
-
Hierzu
werden Eingabefelder und Alarmfelder, sowie Zustandskomponentenfelder
verwendet.
-
Wenn
die Projektdaten 32 mit dem Maschinenmodell 20 in
der Projekt-Datenbank 2 verknüpft sind,
können
zusätzlich
auch noch über
ein Speichermedium weitere Projektdaten eingespeist werden.
-
Im
Sinne des Ablaufdiagramms der 2 erfolgt
nun ein Abbildungsbefehl 28 (siehe auch 3), so
dass die in der Projektdatenbank 2 erzeugten Daten dem
Code-Generator 3 eingespeist werden. Im gezeigten Ausführungsbeispiel
nach 4 besteht der Code-Generator aus zwei verschiedenen
Modulen, nämlich
dem oberen Feld und dem unteren Feld.
-
In
dem unteren Feld ist ein Modul 35 zur Code-Generation vorhanden,
welches über
eine Verbindung 44 mit einem Modul 36 in Verbindung
steht. In diesem Modul 36 wird der Byte-Code erzeugt.
-
Weiters
enthält
das Speichermedium 34 die Daten während der Projektierung.
-
Die
in dem unteren Feld dargestellten Module können über weitere Verbindungen, zum
Beispiel mit der Java-Source-Code-Datei 4 verbunden sein.
-
Am
Ausgang des Moduls 36 werden jedenfalls Binärdaten 41 erzeugt,
wobei das Modul 36 über zugeordnete
Verbindungen auch mit der Java-Byte-Code-Datei 6 verbunden ist.
-
Am
Ausgang des Moduls 36 sind nun die einzelnen Verbindungen 43 zu
den zugeordneten Ausgangsobjekten 37, 38, 39, 40 vorgesehen.
-
Im
Ausgangsobjekt 37 handelt es sich zum Beispiel um eine
Applikation für
das lokale Starten der erstellten Visualisierung.
-
Bei
dem Ausgangsobjekt 38 handelt sich um ein steuerungsspezifisch
ausführbares
Programm und bei dem Modul 39 handelt es sich um ein Applet, das über ein
Web-Interface startbar ist.
-
Bei
dem Ausgangsobjekt 40 handelt es sich um ein Webstart-Modul,
das über
ein Standardprotokoll in der Java-Welt ausführbar ist.
-
Es
handelt sich hierbei um eine Webstart-Technologie, mit der es möglich ist, über einen handelsüblichen
Browser die Bedienung und Steuerung einer Maschine vorzunehmen.
Dies wird über das
Ausgangsobjekt 39 bewerkstelligt.
-
Über die
Verbindung 45 erfolgt die Verbindung zu dem Einrichter 7,
der seinerseits mit dem Visualisierungsgerät 8 verbunden ist.
-
Wichtig
ist nun, dass in 5 eine vollständig ablauffähige Oberfläche auf
dem Visualisierungsgerät 8 zur
Verfügung
gestellt ist, und zwar durch die Eingabebefehle, die über das
Projektiermodul nach 1 vorgenommen wurden.
-
Damit
ergibt sich ein voll ablauffähiges
Maschinenmodell 20, dem eine Vielzahl von Zustandskomponenten,
Ablaufkomponenten und Alarmkomponenten 22 implementiert
sind und zusätzlich
können
auch noch einzelne Knöpfe
programmiert sein, wie z. B. der Schalter auto 46, der
Schalter manuell 47 oder der Schalter stop 48.
-
Ferner
ist wichtig, dass durch unmittelbare Eingabe in die Eingabe- und
Anzeigefelder 24 der Ablaufprozess der konkret angesteuerten
Maschine unmittelbar beeinflusst werden kann.
-
Damit
ist es erstmals möglich,
mit sehr großer
Freiheit und sehr großen
universellen Einsatzbereich ein derartiges Maschinenmodell zu erzeugen und
zu verändern,
ohne dass es der Beherrschung einer Programmiersprache bedarf.
-
Ein
Eingriff in das Maschinenmodell, der von dem Projektiermodul 1 nicht
gedeckt ist, kann jedoch trotzdem auf der Programmiersprachenebene
vorgenommen werden. Dies ist ein wesentlicher Vorteil gegenüber dem
Stand der Technik.
-
- 1
- Projektier-Modul
- 2
- Projekt-Datenbank
- 3
- Code-Generator
(Build)
- 4
- Java
Source Code Datei
- 5
- Compiler
- 6
- Java-Byte-Code-Datei
- 7
- Einrichter
(Deploy)
- 8
- Visualisierungsgerät
- 9
- Datenpfad
- 10
- Datenpfad
- 11
- Ethernet-Verbindung
- 12
- Ethernet-Bus
- 13
- Steuerung
- 14
- Steuerung
- 15
- Steuerung
- 16
- Visualisierungslaufzeitsystem
- 17
- Skript-Interpreter
- 18
- Grafische
Oberfläche
- 19
- Zeichenfläche
- 20
- Maschinenmodell
- 21
- Zustandskomponente
- 22
- Alarmkomponente
- 23
- Palette
- 24
- Eingabe-
und Ausgabefelder
- 25
- Verwaltungsoberfläche
- 26
- Datenpunkt
- 27
- XML-Datei
- 28
- Abbildungsbefehl
- 29
- Java-Source-Code
- 30
- Datenpfad
- 31
- Datenpfad
- 32
- Projektierdaten
- 34
- Speichermedium
- 35
- Modul
- 36
- Modul
- 37
- Ausgangsobjekt
- 38
- Ausgangsobjekt
- 39
- Ausgangsobjekt
- 40
- Ausgangsobjekt
- 41
- Binärdaten
- 42
- Verbindung
- 43
- Verbindung
- 44
- Verbindung
- 45
- Verbindung
- 46
- Schalter
auto
- 47
- Schalter
manuell
- 48
- Schalter
Stopp
- 49
- Trennlinie
- 50
- Position
- 51
- Position
- 52
- Trennlinie
- 53
- Position
- 54
- Position
- 55
- Verbindung
- 56
- Werkzeug