-
TECHNOLOGISCHER BEREICH
-
Die
vorliegende Beschreibung bezieht sich allgemein auf Prozesssteuerungssysteme
innerhalb von Prozessanlagen und spezifischer auf ein Editier- und Berichts-Tool
für die
Konstruktion einer der Prozessanlage zugeordneten Prozesssteuerungseinheit.
-
HINTERGRUND DER ERFINDUNG
-
Prozesssteuerungssysteme
werden verbreitet in Fabriken und/oder Anlagen eingesetzt, in denen Produkte
hergestellt oder Prozesse gesteuert werden (beispielsweise Chemieproduktion,
Steuerung von Kraftwerken etc.). Weiterhin werden Prozesssteuerungssysteme
auch bei der Gewinnung von Rohstoffen wie beispielsweise bei Öl- und Gasbohrungen
und bei Materialumschlagprozessen etc. eingesetzt. Tatsächlich kann
praktisch jeder Herstellungsprozess, Rohstoffgewinnungsprozess etc. durch
die Anwendung eines oder mehrerer Prozesssteuerungssysteme automatisiert
werden. Man erwartet, dass Prozesssteuerungssysteme letztlich auch
in der Landwirtschaft in größerem Umfang
eingesetzt werden.
-
Prozesssteuerungssysteme
der Art, wie sie in Prozessen in der Chemie-, Petroleum- und anderen
Industrien eingesetzt werden, weisen typischerweise eine oder mehrere
zentrale oder dezentrale Prozesssteuerungen auf, die über analoge,
digitale oder kombinierte analoge/digitale Busse mit mindestens
einer Host- oder Bedienerstation und mit einem oder mehreren Prozessmess-,
Steuer- und Regelungsgeräten
wie beispielsweise Feldgeräten
kommunikativ verbunden sind. Feldgeräte, bei denen es sich beispielsweise
um Ventile, Ventilsteller, Schalter, Geber und Sensoren (beispielsweise
Temperatur-, Druck- und Strömungsgeschwindigkeitssensoren) handeln
kann, erfüllen
innerhalb des Prozesses Funktionen wie beispielsweise Öffnen oder
Schließen
von Ventilen und Messen von Prozessparametern. Die Prozesssteuerung
empfängt
Signale, die Prozessmessungen oder Prozessvariable repräsentieren,
die von den Feldgeräten
vorgenommen oder den Feldgeräten
zugeordnet sind und/oder andere sich auf die Feldgeräte beziehende
Informationen, verwendet diese Information zur Durchführung einer Steuerungsroutine
und erzeugt sodann Steuerungssignale, die über einen oder mehrere der
Busse zu den Feldgeräten übertragen
werden, um den Ablauf des Prozesses zu steuern. Die von den Feldgeräten und
von der Steuerung kommenden Informationen werden typischerweise
einer oder mehreren Anwendungen zur Verfügung gestellt, die von einer
Bedienerstation ausgeführt
werden, damit ein Bediener gewünschte
Funktionen in Bezug auf den Prozess durchführen kann. Hierbei kann es
sich beispielsweise um die Betrachtung des aktuellen Status des
Prozesses, eine Änderung
des Prozessablaufs etc. handeln.
-
Die
verschiedenen Geräte
innerhalb der Prozessanlage können
in physischen und/oder logischen Gruppen miteinander verbunden werden,
um einen logischen Prozess wie beispielsweise einen Steuerungskreis
zu erzeugen. Gleichermaßen
kann ein Steuerungskreis mit anderen Steuerungskreisen und/oder
Geräten
verbunden werden, um Untereinheiten zu erzeugen. Eine Untereinheit
kann mit anderen Untereinheiten verbunden werden, um eine Einheit
zu erzeugen, die ihrerseits mit anderen Einheiten verbunden werden
kann, um einen Bereich zu erzeugen. Prozessanlagen weisen allgemein
miteinander verbundene Bereiche auf und Geschäftseinheiten weisen allgemein
Prozessanlagen auf, die miteinander verbunden werden können. Demzufolge
weist eine Prozessanlage zahlreiche Hierarchieebenen mit miteinander
verbundenen Ressourcen auf und eine Unternehmung kann miteinander
verbundene Prozessanlagen aufweisen. Sich auf eine Prozessanlage
beziehende Ressourcen oder Prozessanlagen selbst können mit
anderen Worten zu Gruppen zusammengefasst werden, um Ressourcen
auf höheren
Ebenen zu bilden.
-
Das
Projektieren eines Projekts für
eine Prozessanlage oder ein Prozesssteuerungssystem ist ein komplexer
Prozess, der mit einer Konzeptphase beginnt und bis zur Inbetriebnahme
und zum Betrieb einer Prozessanlage oder eines Prozesssteuerungssystems
fortschreitet. Während
der Projektierung und Konzeption eines Projekts werden Konstruktionsdetails
zusammengefasst, die die Konstruktion des Prozesses und der Anlage,
die Auswahl von Mess-, Steuer- und Regelgeräten, die Auswahl eines Steuerungssystems,
die Projektierung des Steuerungssystems, Installation, Inbetriebnahme
und Anlauf umfassen. Diese Konstruktionsdetails werden in einer
Vielzahl von Datenbanken erfasst und in einem gemeinsamen Konfigurierungssystem
zusammengefasst. Das Konfigurierungssystem wird verwendet, um Berichte
für die
Kommunikation mit Endanwendern wie beispielsweise Kunden zu erzeugen,
wobei die Projekt- und Prozesssteuerungsstrategiekonfiguration erzeugt
wird. Die Berichtsdokumente werden oftmals mittels standardisierter
Dokumentationstools wie beispielsweise Hypertext Markup Language (HTML),
Portable Document Format (PDF), Microsoft Word, Microsoft Visio,
etc. erzeugt.
-
Es
existieren zahlreiche Aspekte für
das Konfigurieren eines verteilten Prozesssteuerungssystems einschließlich unter
anderem E/A, Steuerungsstrategie, Batch, Object Linking and Embedding
(OLE) zur Prozesssteuerungs-(OPC-)Integration, Historie, Anzeigen,
etc. Das Konfigurierungssystem und die zugrundeliegende Datenbank
stellen Tools und Infrastruktur zum Konfigurieren einer integrierten
Lösung
für ein
Prozesssteuerungssystemprojekt zur Verfügung. Konfigurierungssysteme
wie beispielsweise das von Fisher-Rosemount Systems, Inc., in Austin,
Texas, vertriebene DeltaVTM sowie Konfigurierungssystemanwendungen
wie beispielsweise Explorer, Control Studio, Recipe Studio, Graphics
Studio und User Manager, die jeweils von Fisher-Rosemount Systems,
Inc., in Austin, Texas, vertrieben werden, werden verwendet, um
die gesamte Prozesssteuerungsstrategie, Anzeigen, E/A, Alarmstrategien,
Historie und Ereignisse, User und ihre Rollen sowie jeden anderen
Teil des Prozesssteuerungssystems zu konfigurieren. Eine derartige
Anordnung funktioniert gut, wenn das Konfigurierungssystem in der
zentralen Datenbank enthalten ist, was jedoch nicht immer der Fall
ist.
-
Der
gesamte Konfigurierungsprozess erstreckt sich oftmals über das
Maß dessen
hinaus, für dessen
Unterstützung
das Konfigurationssystem konstruiert ist. Beispielsweise können E/A-Definitionen,
Gerätespezifikationen,
Geräteanforderungen und
andere Informationen mittels vom Konfigurierungssystem getrennten
Tools und Datenbanken spezifiziert und konfiguriert werden. Während die Verwendung
dieser Informationen zum Konfigurieren des Konfigurierungssystem
sehr geradlinig ist, ist es oftmals der Fall, dass die Konfigurationsdatenbanken Formate
verwenden, die von anderen Konstruktionstools nicht verstanden werden.
Diese Datenbanken werden weiterhin auch von Anwendungen nicht verstanden,
mit denen Projektteams während
der gesamten Lebensdauer des Projekts oftmals als bevorzugte Tools
wie beispielsweise Microsoft Excel, Microsoft Word, SQL, Microsoft
Visio. etc. arbeiten. Darüber
hinaus ist die Konfigurierungssystemsoftware nicht bei allen Mitgliedern
eines Projektteams installiert und ein Projektteam will seine Arbeit
oftmals offline mittels allgemein verfügbarer Tools durchführen. Bei
Verwendung derartiger Tools ist ein Austausch von Daten mit anderen
am Projekt Beteiligten und ein Austausch von Daten mit dem Endnutzer
weitaus leichter. Sobald die Offlinedaten bereit sind, müssen die
Daten in das Konfigurierungssystem importiert werden. Wenn die Daten
innerhalb des Konfigurierungssystems oder durch eine andere Offline-Datenbank
verändert
wurden, müssen
die veränderten
Daten mit der Offline-Datenbank aktualisiert werden.
-
Darüber hinaus
fügen die
Projektmitarbeiter erheblichen Wert durch Beratungsleistungen und
die Erstellung von Spezifikationen hinzu, um zu gewährleisten,
dass die Konstruktion von Hardware und Software den Bedürfnissen
des Endnutzers entspricht. Implementierung, Tests und Dokumentation erfolgen,
sobald die Konstruktion genehmigt wurde. Techniken für die Übertragung
derartiger Konfigurationsdetails sollten jedoch in das Konfigurierungssystem übertragen
werden, wofür
Schnittstellen und Tools erforderlich sein können, um die Konfigurationsdetails
von einer Form in eine andere Form zu übertragen und um Konfigurationsdetails
zwischen Offline-Datenbanken zu übertragen.
Standardisierte Objekte vereinfachen die Entwicklung von Projekttools,
da sie bekannte Datenmodelle für
die Kommunikation mit anderen am Projekt beteiligten Teams zur Verfügung stellen,
sodass eine eindeutige Definition existiert, welche Daten erforderlich
sind und wann. Weiterhin helfen sie dem Projektteam, schlechte oder
unvollständige
Daten rasch zurückzuweisen.
Die standardisierten Objekte werden für die kontinuierliche Steuerungsebene
(beispielsweise Kreise, Motoren, Ventile, Ausrüstungsmodule etc.) zur Verfügung gestellt,
jedoch ist die Batch-Ebene (beispielsweise Phasen, Operationen,
Prozeduren) in weitaus geringerem Umfang standardisiert.
-
ZUSAMMENFASSUNG
-
Ein
Editier- und Berichts-Tool wird zum Editieren grafischer Programmierspracheobjekte
zur Entwicklung einer Prozesssteuerungseinheit innerhalb einer Offline-Datenbank
zur Verfügung
gestellt. Ein Anwender wird in die Lage versetzt, sich auf Programmiersprachenobjektfragmente
beziehende Daten aus einer Bibliothek von Programmiersprachenobjektfragmenten
auszuwählen.
Die Programmiersprachenobjektfragmente werden als Vorlagen von Programmierlogikroutinen
wie beispielsweise von Schritten, Übergängen, Aktionen oder anderen
Teilen von Programmiercode für
die Prozesssteuerungseinheit zur Verfügung gestellt. Unter Verwendung
der Programmiersprachenobjektfragmente kann ein Anwender ein grafisches
Programmiersprachenobjekt wie beispielsweise ein Ablaufsprachen-(SFC-)Objekt aus
den Programmiersprachenobjektfragmenten konfigurieren. Das Editier-
und Berichts-Tool kann als grafische Benutzerschnittstelle (GUI)
zur Verfügung gestellt
werden, die einen Anwender in die Lage versetzt, Darstellungen der
Programmiersprachenobjektfragmente auszuwählen und die ausgewählten Programmiersprachenobjektfragmente
innerhalb einer grafischen Programmiersprachenobjektschnittstellenanzeige
zu präsentieren.
Bei der Konfigurierung des grafischen Programmiersprachenobjekts können Parameter
der Programmiersprachenobjektfragmente verändert und Verbindungen zwischen Programmiersprachenobjektfragmenten
hergestellt werden. Das konfigurierte grafische Programmiersprachenobjekt
kann als Konfigurationsdatei in einem von der Offline-Datenbank verwendeten
Format gespeichert werden. Ein Berichts-Tool bildet das von der
Offline-Datenbank verwendete Format auf ein von der Konfigurationsdatenbank
verwendetes Format ab und populiert ein Berichtsdokument mit den Daten
der Konfigurationsdatei, wobei das Berichtsdokument in einem anderen
Format als dem von der Offline-Datenbank verwendeten Format vorliegt.
Das Editier- und Berichts-Tool versetzt einen Anwender weiterhin
in die Lage, gleichzeitig multiple Programmiersprachenobjektfragmente
zu editieren.
-
Das
Editier- und Berichts-Tool stellt ein Engineering- und Konstruktions-Produktivitäts-Tool
zur Verfügung,
das mit einer Vielzahl von Formaten arbeitet und eine Benutzerschnittstelle
und eine gemeinsam genutzte Bibliothek von Programmiersprachenobjektfragmenten
zur Verfügung
stellt, die einen Anwender in die Lage versetzt, standardisierte,
wieder verwendbare Programmiersprachenobjektfragmente zu erzeugen, und
die den Anwender weiterhin in die Lage versetzt, zusammengesetzte
Programmiersprachenobjektfragmente aus anderen Programmiersprachenobjektfragmenten
zu erzeugen. Dem Anwender wird es weiterhin gestattet, Programmiersprachenobjektfragmente
wie beispielsweise Aktionen, Schritte und Übergänge als lokale Bibliothek von
Programmiersprachenobjektfragmenten zu speichern, die während des
Editierens eines Phasenklassen-, zusammengesetzten SFC- oder eines anderen
grafischen Programmiersprachenobjekts wiederverwendet werden können. Die
Bibliothek von Programmiersprachenobjektfragmenten kann in einem
Codebibliotheks-Master gespeichert werden, der Kopien der Bibliothek
an andere das Editier- und Berichts-Tool besitzende Offline-Datenbanken
verteilt. Der Anwender kann bei der Kommunikation von Projektdaten
mit dem Konfigurierungssystem die lokale Offline-Datenbank wie beispielsweise
eine SQL-Datenbank zur Speicherung und XML als Transportmechanismus
verwenden.
-
Das
Editier- und Berichts-Tool versetzt weiterhin verschiedene Projektgruppen
in die Lage, dieselben SQL-Datenbanken gemeinsam zu nutzen, und
es versetzt einen Anwender in die Lage, frei formatierte Dokumente
und Speichervorlagen zu erstellen. Die Dokumente und Vorlagen können mit
dem Editier- und Berichts-Tool automatisch populiert werden, um
aus der Offline-Datenbank eine Berichtsdokumentation als Darstellung
des Algorithmus für
das grafische Programmiersprachenobjekt zu erzeugen. Die Konvertierung
zwischen dem Offline-Datenbankformat und dem Konfigurationsdatenbankformat
versetzt einen Anwender in die Lage, an jedem Konfigurationssystemobjekttyp
unter Verwendung eines Objekttyps innerhalb der Offline-Datenbank
zu arbeiten.
-
Die
Engineering-Produktivität
als solche wird durch die Verwendung von Konfigurierungs-Tools während der
gesamten Projektlebensdauer verbessert. Das Editier- und Berichts-Tool
kann den Nutzer beispielsweise beim Editieren einer Phasenklasse oder
eines zusammengesetzten SFC unterstützen, ohne dass sich der Nutzer
mit einem die Konfigurierungssystemsoftware enthaltenden Knoten
verbindet, und die editierten Daten werden in der lokalen Offline-Datenbank
gespeichert. Bei Fertigstellung eines zusammengesetzten SFC, einer
Phasenklasse oder anderen grafischen Programmiersprachenobjekten
kann sich ein Anwender entscheiden, das Editier- und Berichts-Tool
zu verwenden, um lokale grafische Programmiersprachendaten mit der
Konfigurationsdatenbank zu synchronisieren, indem er die Daten aus
der lokalen Offline-Datenbank in ein Dateiformat wie beispielsweise
FHX exportiert, das von der Konfigurationsdatenbank verstanden wird,
und die Daten in die Konfigurationsdatenbank importiert.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
eine Schemazeichnung einer Prozessanlage und zeigt ein Beispiel
für eine
hierarchische Struktur von in einer Prozessanlage implementierten
Ausrüstungen
und Anweisungen;
-
2 ist
ein Blockdiagramm eines Beispiels für eine Architektur für ein Editier-
und Berichts-Tool für
die Konstruktion einer Prozesssteuerungseinheit innerhalb einer
Prozessanlage;
-
3 ist
ein Blockdiagramm eines Beispiels für ein Editier- und Berichtssystem
zum Konfigurieren eines grafischen Programmiersprachenobjekts;
-
4 ist
ein detaillierteres Blockdiagramm des Editier- und Berichtssystems
aus 3;
-
5 ist
ein Beispiel für
ein Format zur Speicherung von Programmiersprachenobjektfragmenten
innerhalb einer Offline-Datenbank und
-
6 ist
ein Beispiel für
eine grafische Benutzerschnittstelle, die verwendet werden kann,
um ein grafisches Programmiersprachenobjekt zu konfigurieren.
-
DETAILLIERTE BESCHREIBUNG
-
Wie
in 1 dargestellt, weist eine Prozessanlage 10 eine
Anzahl von Geschäfts-
und anderen Computersystemen auf, die über ein oder mehrere Kommunikationsnetze
mit einer Anzahl von Steuerungs- und Wartungssystemen verbunden
ist. Die Prozessanlage 10 weist ein oder mehrere Prozesssteuerungssysteme 12 und 14 auf.
Das Prozesssteuerungssystem 112 kann ein traditionelles
Prozesssteuerungssystem wie beispielsweise ein PROVOX- oder RS3-System
oder jedes andere verteilte Steuerungssystem sein, das eine Bedienerschnittstelle 12A aufweist,
die mit einer Steuerung 12B und mit Eingabe-/Ausgabe-(E/A-)Karten 12C verbunden
ist, die ihrerseits mit diversen Feldgeräten wie beispielsweise analogen
Feldgeräten
und Highway Addressable Remote Transmitter-(HART-) Feldgeräten 15 verbunden
sind. Das Prozesssteuerungssystem 14, das ein verteiltes
Prozesssteuerungssystem sein kann, weist eine oder mehrere Bedienerschnittstellen 14A auf,
die über
einen Bus wie beispielsweise einen Ethernet-Bus mit einer oder mehreren
verteilten Steuerungen 14 verbunden sind. Die Steuerungen 14B können beispielsweise
von Fisher-Rosemount Systems, Inc., Austin, Texas, vertriebene DeltaVTM-Steuerungen oder jeder andere gewünschte Typ
von Steuerung sein. Die Steuerungen 14B sind über E/A-Geräte mit einem
oder mehreren Feldgeräten 16 wie
beispielsweise HART- oder Feldbus-Feldgeräten oder beliebigen anderen
intelligenten oder nicht intelligenten Feldgeräten einschließlich unter anderem
solchen, die jedes beliebige der PROFIBUS®-,
WORLDFIP®-,
Device-Net®-,
AS-Interface- und
CAN-Protokolle nutzen, verbunden. Bekanntlich können die Feldgeräte 16 den
Steuerungen 14B analoge oder digitale Informationen in
Bezug auf Prozessvariablen sowie auf andere Geräteinformationen zur Verfügung stellen.
Die Bedienerschnittstellen 14A können Tools wie beispielsweise
Steuerungsoptimierer, Diagnoseexperten, neuronale Netzwerke, Tuner
etc. speichern und ausführen,
die dem Prozesssteuerungsbediener zur Verfügung stehen, um den Betrieb
des Prozesses zu steuern.
-
Weiterhin
können
Wartungssysteme wie beispielsweise die AMS-Anwendung ausführende Computer wie beispielsweise
der von der Fisher-Rosemount Systems, Inc., vertriebene AMS Device
Manager oder alle anderen Geräte überwachende
und Kommunikationsanwendungen mit den Prozesssteuerungssystemen 12 und 14 oder
mit den darin enthaltenen einzelnen Geräten verbunden werden, um Wartungs-
und Überwachungsaktivitäten auszuführen. Beispielsweise
kann ein Wartungscomputer 18 mit der Steuerung 12B und/oder
den Geräten 15 über alle
gewünschten
Kommunikationsleitungen oder -Netze (einschließlich drahtloser oder Handheld-Geräte-Netze)
verbunden werden, um mit den Geräten 15 zu
kommunizieren und in einigen Fällen
die Geräte 15 neu
zu konfigurieren oder andere Wartungstätigkeiten an diesen auszuführen. Auf ähnliche
Weise können
Wartungsanwendungen wie beispielsweise die AMS-Anwendung in einer
oder mehreren der dem verteilten Prozesssteuerungssystem 14 zugeordneten
Benutzerschnittstellen 14A installiert und ausgeführt werden,
um Wartungs- und Überwachungsfunktionen
einschließlich
der Sammlung von Daten in Bezug auf den Betriebsstatus der Geräte 16 auszuführen.
-
Die
Prozessanlage 10 weist weiterhin diverse rotierende Ausrüstungen 20 wie
beispielsweise Turbinen, Motoren etc. auf, die über eine permanente oder temporäre Kommunikationsverbindung
welcher Art auch immer (beispielsweise einen Bus, ein drahtloses
Kommunikationssystem oder Handheld-Geräte, die mit der Ausrüstung 20 verbunden
werden, um Ablesungen vorzunehmen, und anschließend entfernt werden) mit einem
Wartungscomputer 22 verbunden sind. Der Wartungscomputer 22 kann
bekannte Überwachungs-
und Diagnoseanwendungen 23 wie beispielsweise die von CSi
Systems in Knoxville, Tennessee, vertriebene Anwendung RBMwareTM,
den von Fisher-Rosemount Systems, Inc., vertriebenen AMS Machinery
Manager oder alle anderen bekannten Anwendungen, die für die Diagnose, Überwachung
und Optimierung des Betriebsstatus der rotierenden Ausrüstung 20 verwendet
werden, speichern. Wartungspersonal verwendet die Anwendungen 23 in
der Regel, um die Tätigkeit
rotierender Ausrüstungen 20 in
der Anlage 10 aufrecht zu erhalten und zu überwachen,
um Probleme mit den rotierenden Ausrüstungen 20 zu bestimmen
und um zu bestimmen, wann und ob die rotierenden Ausrüstungen 20 repariert
oder ersetzt werden müssen.
-
Auf ähnliche
Weise wird ein Energieerzeugungs- und Verteilungsausrüstungen 25 enthaltendes
und einer Anlage 10 zugeordnetes Energieerzeugungs- und
Verteilungssystem 24 beispielsweise über einen Bus mit einem anderen
Computer 26 verbunden, der den Betrieb der Energieerzeugungs- und
Verteilungsausrüstungen 25 innerhalb
der Anlage 10 ausführt
und überwacht.
Der Computer 26 kann bekannte Energiesteuerungs- und Diagnoseanwendungen 27 wie
beispielsweise die von Liebert und ASCO oder anderen Unternehmen
angebotenen Energiesteuerungs- und Diagnoseanwendungen ausführen, um
die Stromerzeugungs- und Verteilungsausrüstung 25 zu steuern
und zu warten.
-
Ein
Computersystem 30 wird bereitgestellt, das kommunikativ
mit den Computern oder Schnittstellen verbunden ist, die den verschiedenen
funktionalen Systemen innerhalb der Anlage 10 einschließlich der
Prozesssteuerungsfunktionen 12 und 14, der Wartungsfunktionen
wie den in den Computern 18, 14A, 22 und 26 implementierten
Wartungsfunktionen sowie der Geschäftsfunktionen zugeordnet sind.
Insbesondere ist das Computersystem 30 kommunikativ mit
dem traditionellen Prozesssteuerungssystem 12 und der diesem
Steuerungssystem zugeordneten Wartungsschnittstelle 18 verbunden
und es ist mit den Prozesssteuerungs- und/oder Wartungsschnittstellen 14A des
verteilten Prozesssteuerungssystems 14 verbunden und es
ist mit dem Wartungscomputer 22 für die rotierenden Ausrüstungen
und mit dem Stromerzeugungs- und Verteilungscomputer 26 verbunden,
sämtlich über einen
Bus 32. Der Bus 32 kann für die Bereitstellung von Kommunikation
jedes gewünschte
oder geeignete lokal Netz-(LAN-) oder Weitbereichsnetz-(WAN-)Protokoll
verwenden. Wie in 1 veranschaulicht, ist der Computer 30 über denselben
oder einen anderen Netzwerkbus 32 auch mit Geschäftssystemcomputern
und Wartungsplanungscomputern 35 und 36 verbunden.
Der Computer 30 kann weiterhin beispielsweise mit dem Bus 32, mit
einem anlagenweiten LAN 37, einem Unternehmens-WAN 38 sowie
einem Computersystem 40 verbunden sein, das von abgesetzten
Orten aus eine Fernüberwachung
der Anlage 10 oder eine Kommunikation mit der Anlage 10 ermöglicht.
Alternativ oder zusätzlich
können
das Computersystem 30, das Prozesssteuerungssystem 12,
das verteilte Prozesssteuerungssystem 14, die Wartungsschnittstelle 18, die
Prozesssteuerungs- und/oder Wartungsschnittstellen 14A,
der Wartungscomputer 22 für die rotierenden Ausrüstungen
und/oder der Stromerzeugungs- und Verteilungscomputer 26 über ein
Internet miteinander verbunden werden und über ein Internet-kompatibles
Protokoll kommunizieren. Entsprechend kann die Anlage 10 mit
Betrachtungs- und Steuerungsfunktionen über eine oder mehrere abgesetzte
Einrichtungen versehen sein, um die verschiedenen Systeme, Computer
und Routinen innerhalb der Anlage 10 zu betrachten und
zu steuern.
-
Zusätzlich können abgesetzte Überwachungseinrichtungen über das
Internet kommunikativ mit der Anlage 10 verbunden werden,
um Zugang zu zusätzlichen
Analyse- und Diagnoseressourcen zu bieten. In einem Beispiel kann
die Anlage 10 mit einem Fehlerabwehrplanungssystem verbunden
werden, das eine Analyse der verschiedenen Anlagenressourcen beinhaltet
und die Ressourcen entsprechend ihrer Bedeutung für die Anlage
oder für
Systeme innerhalb der Anlage priorisiert, um Kritikalitätsdaten
zur Verfügung
zu stellen.
-
2 ist
ein Beispiel für
die Architektur für ein
Editier- und Berichts-Tool für
die Konstruktion einer Prozesssteuerungseinheit innerhalb einer
Prozessanlage. Insbesondere kann das Editier- und Berichts-Tool
beispielsweise verwendet werden, um Prozesssteuerungs- und Anlagenkonstruktionen
zu erzeugen, mess-, steuer- und regelungstechnische sowie Steuerungsgeräte auszuwählen, ein
Prozesssteuerungssystem auszuwählen,
die Prozesssteuerungseinheit zu projektieren, die Installation der
Prozess steuerungseinheit durchzuführen, die Prozesssteuerungseinheit
in Betrieb zu nehmen und die Prozesssteuerungseinheit anlaufen zu
lassen. Wie oben erwähnt,
kann sich die Prozesssteuerungseinheit auf jede Einheit innerhalb
eines Prozesssteuerungssystems oder einer Prozesssteuerungsanlage
und unter anderem auf Geräte,
Kreise, Untereinheiten, Einheiten, Bereiche oder die Prozessanlage
selbst beziehen. Wie dargestellt wird, kann das Editier- und Berichts-Tool
für die
Projektierung praktisch jedes sich auf ein Prozesssteuerungssystem
beziehenden Projekts verwendet werden. Weiterhin kann das Editier- und Berichts-Tool
für die
Erzeugung von Berichten zur Kommunikation mit Kunden oder anderen
Endanwendern, für
Dokumentationszwecke entsprechend von Endanwendern verwendeten Standard-Tools, zum
Konfigurieren von Steuerungsstrategien und für praktisch jeden anderen Aspekt
verwendet werden, der mit der Konstruktion und Projektierung eines
Prozesssteuerungssystems in Verbindung steht, einschließlich unter
anderem E/A, Steuerungsstrategie, Batch, OPC-Integration, Historie,
Anzeigen, etc.
-
Insbesondere
können
die Ergebnisse aus dem Editier- und Berichts-Tool einem Konfigurierungssystem
wie beispielsweise dem von Fisher-Rosemount Systems, Inc., in Austin,
Texas, vertriebenen DeltaVTM-System oder
jedem anderen Konfigurierungssystem und der zugrundeliegenden Datenbank,
die Tools und Infrastruktur zum Konfigurieren integrierter Lösungen für die Konstruktion
und Projektierung von Prozesssteuerungssystemen bereitstellt, zur
Verfügung
gestellt werden. Beispielsweise können verschiedene Tools und
Anwendungen des Konfigurierungssystems wie beispielsweise Explorer, Control
Studio, Recipe Studio, Graphics Studio und User Manager, der DeltaVTM zugeordnet ist und von Fisher-Rosemount
Systems Inc. in Austin, Texas, vertrieben wird, verwendet werden,
um die gesamte Steuerungsstrategie, Anzeigen, E/As, Alarmstrategien,
Historie, Ereignisse, Nutzer, Nutzerrollen und jedes andere Teil
des Systems zu konfigurieren. Viele der Tools und Anwendungen des
Konfigurierungssystems können
auf Datenbanken verteilt sein, die getrennt und offline vom Konfigurierungssystem selbst
sind. Darüber
hinaus können
zahlreiche am Prozesssteuerungsprojekt beteiligte Projektierungs- und
Konstruktionsgruppen Tools und Anwendungen verwenden, die nicht
ohne weiteres von jedem anderen oder vom Konfigurierungssystem verstanden werden
und die auch auf Datenbanken verteilt sind, die vom Konfigurierungssystem
getrennt und offline sind und die möglicherweise nicht einmal die
Software des Konfigurierungssystems enthalten. Das Editier- und
Berichts-Tool versetzt diese Anwender in die Lage, in Datenbanken
zu arbeiten, die offline gegenüber
dem Konfigu rierungssystem sind, um mittels einer grafischen Programmiersprache
wie beispielsweise Ablaufsprache (SFC), die für speicherprogrammierbare Steuerungen
(SPS) verwendet wird, Konstruktionsprozesssteuerungseinheiten zu
projektieren. Bekanntermaßen
kann SFC eine von dem Standard IEC 61131-3 und spezifisch in IEC
848 definierte Sprache sein. Allgemein verwendet SFC Programmprozesse,
die entsprechend Schritten mit dazu gehörigen Aktionen und Übergängen mit
dazu gehörigen
Bedingungen definiert sind, wobei verschiedene Blöcke Schritte
und Aktionen repräsentieren
und wobei die Blöcke
verbindende Linien Übergänge und
Bedingungen repräsentieren.
Es sei jedoch angemerkt, dass auch andere grafische Programmiersprachen
verwendet werden können.
-
Wie
in 2 dargestellt, weist das Editier- und Berichts-Tool
ein Editier-Tool 100 und
ein Berichts-Tool 102 auf, von denen jedes als Anwendung zur
Verfügung
gestellt werden kann, die in einem computerlesbaren Medium gespeichert
und auf einem Prozessor ausgeführt
werden kann, um die verschiedenen damit verbundenen Funktionen auszuführen. Das
Editier-Tool 100 und das Berichts-Tool 102 sind
operativ mit einer Offline-Datenbank 104 verbunden, die
von Ingenieuren, Konstrukteuren und anderen Nutzern des Editier-
und Berichts-Tools verwendet werden. In einem Beispiel können das
Editier-Tool 100 und das Berichts-Tool 102 innerhalb
der Offline-Datenbank 104 vorgesehen und von dieser aus
ausgeführt
werden. Die Offline-Datenbank 104 kann beispielsweise eine
relationale Datenbank wie beispielsweise eine Sequential Query Language-(SQL-)Datenbank
sein, die Daten innerhalb von Datenbanktabellen hält. Die
Verwendung einer SQL-Datenbank bietet die Möglichkeit, Informationen in
multiplen Offline-Datenbanken 104 zu suchen und zu ersetzen,
was während
früher
Phasen des Projekts besonders nützlich
sein kann. Während
späterer
Phasen, insbesondere während
der Abnahme, Inbetriebnahme und während des Anlaufs, können Änderungen
direkt an der Steuerungssystemkonfiguration vorgenommen werden.
-
Die
Offline-Datenbank 104 weist eine Mehrzahl von Programmiersprachenobjektfragmenten 106 auf,
von denen jedes eine Programmierlogikroutine für eine Prozesssteuerungseinheit
sein kann. Die Programmiersprachenobjektfragmente 106 werden als
Vorlagen der Programmierlogikroutinen ohne jegliche Parameterwerte
oder mit Default-Parameterwerten bereitgestellt. Die Programmiersprachenobjektfragmente
stellen mit anderen Worten die Grundstruktur der Programmierlogikroutine
dar. Insbesondere kann jedes der Programmiersprachenobjektfragmente 106 aus
kleinen Teilen von Programmiercode sein, die Stücke oder kleine Teile einer
Konfiguration für
eine Prozess steuerungseinheit wie beispielsweise einzelne Schritte, Übergänge und
Aktionen repräsentieren,
die mit Prozesssteuerung verbunden sind. Weiterhin können die
Programmiersprachenobjektfragmente 106 Parameter, Funktionsblöcke, Phasen,
Operationen, Prozeduren oder andere Prozesssteuerungsobjekte aufweisen
oder sich darauf beziehen. In einem weiter unten beschriebenen Beispiel
kann ein Programmiersprachenobjektfragment 106 ein Kompositum
anderer Programmiersprachenobjektfragmente sein. Wie weiter diskutiert wird,
können
die Programmiersprachenobjektfragmente 106 mit einer Codebibliotheksdatei
versehen sein, die von einer Master-Codebibliotheksdatenbank geführt und
in die Offline-Datenbank 104 importiert wird.
-
Weiterhin
kann die Offline-Datenbank 104 grafische Programmiersprachenobjekte 108 aufweisen,
die von einem Anwender aus den Programmiersprachenobjektfragmenten 106 konfiguriert
werden können.
Wie weiter unten diskutiert wird, können grafische Programmiersprachenobjekte 108 wie
beispielsweise SFC-Objekte mittels des Editier- und Berichts-Tools
aus anderen Datenquellen wie beispielsweise Offline-Datenbanken
oder aus dem Konfigurierungssystem in die Offline-Datenbank 104 importiert werden.
Grafische Programmiersprachenobjekte können unter anderem zusammengesetzte
Funktionsblöcke
wie beispielsweise ein SFC-Kompositum und Phasenklassen aufweisen.
Sobald ein grafisches Programmiersprachenobjekt mittels des Editier-Tools 100 konfiguriert
wurde, konvertiert das Berichts-Tool 102 das Format des
grafischen Programmiersprachenobjekts in ein Format, das vom Konfigurierungssystem
verstanden wird, und erzeugt eine Berichtsdokumentation für das grafische
Programmiersprachenobjekt in einem standardisierten Format, das
vom Konfigurierungssystem und von Endnutzern verstanden wird. Das
konfigurierte grafische Programmiersprachenobjekt 110 wird
dem Konfigurierungssystem von der Offline-Datenbank 104 zur Verfügung gestellt.
-
3 zeigt
ein Beispiel eines Editier- und Berichtssystems. Das System weist
insbesondere einen Codebibliotheks-Master 120, der eine
Master-Bibliothekskopie der Programmiersprachenobjektfragmente führt, sowie
eine Workstation 130, die das Editier- und Berichts-Tool
implementiert, auf. In einem Beispiel wird der Codebibliotheks-Master 120 innerhalb
des Konfigurierungssystems gehalten, um eine zentrale Datenbank
und ein Verteilungszentrum für die
Codebibliotheksdateien bereitzustellen. Obwohl lediglich eine Workstation 130 dargestellt
ist, ist darauf hinzuweisen, dass multiple Workstations 130,
die jeweils operativ mit einer Offline-Datenbank 104 verbunden
sind, in dem System vorgesehen sein können.
-
Der
Codebibliotheks-Master 120 weist eine Codebibliotheksdatenbank 122 auf,
die ein Codebibliotheks-Tool und eine Codebibliotheksdatei der Programmiersprachenobjektfragmente
führt oder
damit arbeitet. Die Codebibliotheksdatei enthält eine Liste von Aktionen,
Schritten und Übergängen oder anderen
Programmiersprachenobjektfragmenten, die vom Editier-Tool 100 zum
Konfigurieren des grafischen Programmiersprachenobjekts 110 zu
verwenden sind. Die Codebibliotheksdatei kann als Ergebnis eines
Imports aus einem Knoten des Konfigurierungssystems bereitgestellt
werden. In einem Fall wird die Codebibliotheksdatei 124 in
einem dem Konfigurierungssystem zugeordneten Format in die Codebibliotheksdatenbank 122 importiert.
DeltaVTM verwendet beispielsweise ein FHX-Dateiformat
und führt Dateien
mit einer Extension FHX. Die FHX-Codebibliotheksdatei kann aus einer
Konfigurierungssystem-Prozesssteuerungsstrategieanwendung wie beispielsweise
DeltaVTM Control Studio erzeugt werden. Insbesondere
erzeugt ein Anwender eine Vorlage eines Programmiersprachenobjektfragments,
die die Grundlage für
die Codebibliotheksdatei ist. Die Vorlagen werden vom Editier-Tool 100 modifiziert,
indem Parameter des Programmiersprachenobjektfragments bereitgestellt
oder modifiziert werden. Als Ergebnis dessen können die Programmiersprachenobjektfragmente
von jedem Nutzer an unterschiedlichen Workstations 130 beim
Konfigurieren eines grafischen Programmiersprachenobjekts mittels
des Editier-Tools 100 wiederverwendet und konfiguriert werden.
-
Ein
Anwender kann einen neuen zusammengesetzten Block in der Konfigurierungssystem-Prozesssteuerungsstrategiesoftware
und multiple Aktionen für
eine Prozesssteuerungsstrategie erzeugen. Beispielsweise kann ein
Schritt für
ein Prozesssteuerungsventil Aktionen wie beispielsweise "Ventil öffnen", "Ventil schließen", "Motor starten", "Motor stoppen", "Verriegelungen sperren" oder jede andere
Aktion, die von einem Prozesssteuerungsventil ausgeführt werden
kann, beinhalten. Sobald die Aktionen erzeugt sind, kann der Block
gesichert werden. Die resultierende Codebibliotheksdatei enthält Programmiersprachenobjektfragmente,
die Vorlagen für Schritte,
Aktionen, Übergänge oder
andere grafische Programmiersprachenobjektpositionen für eine Prozesssteuerungseinheit
zur Verfügung
stellen. Die Codebibliotheksdatei wird im Konfigurierungssystemformat
(beispielsweise FHX) zur Verfügung
gestellt. Mittels einer Konfigurierungssystem-Navigationsanwendung
wie beispielsweise DeltaVTM Explorer kann
der Nutzer den Block unter einem zusammengesetzten Vorlagenknoten
in die Konfigu rierungssystembibliothek exportieren und das Konfigurierungssystem
sichert das Codebibliotheksdatei-Konfigurierungssystemformat beispielsweise
als FHX-Datei.
-
Der
Codebibliotheks-Master 120 speichert die Codebibliotheksdatei 124 in
der Codebibliotheksdatenbank 122 und exportiert die Codebibliotheksdatei 126 in
einem Format, das von der Offline-Datenbank 104 verstanden
wird, in die Offline-Datenbank 104. Die Codebibliotheksdatei 126 kann
beispielsweise in einem Extensible Markup Language-Schema wie beispielsweise
XML bereitgestellt werden. Insbesondere kann der Codebibliotheks-Master 120 die
Codebibliotheksdatei 124 vom Konfigurationsdatenbankformat
in das Offline-Datenbankformat konvertieren, indem er die Programmiersprachenobjektfragmentdaten
zwischen den beiden Formatschemata abbildet. Beispielsweise können die
Formate der FHX-Datei gelesen werden und die Formatierungsparameter
können
auf Formatierungsparameter des XML-Formats abgebildet werden und
die XML-Datendatei
kann erzeugt werden, indem Datenfelder der XML-Datei mit den Programmierungssprachenobjektfragmentdaten
entsprechend der Abbildung abgebildet werden.
-
Insbesondere
versetzt ein Formatwandler, der beispielhaft in 4 dargestellt
ist, einen Anwender in die Lage, ein Offline-Datenbankformatschema in
ein Konfigurationsdatenbankformatschema abzubilden und umgekehrt.
Beim Abbilden des Offline-Datenbankformatschemas auf das Konfigurationsdatenbankformatschema
können
ein oder mehrere der Datenelemente oder Attribute des Offline-Datenbankformatschemas
auf eines oder mehrere Datenelemente oder Attribute des Konfigurationsdatenbankformatschemas
abgebildet werden. Da nicht notwendigerweise eine Eins-zu-eins-Entsprechung zwischen
den Datenelementen von Formatschemata besteht, kann die Datenabbildung
Zwischenmanipulationen von Daten beinhalten. Diese Zwischen-Datenmanipulationen
ermöglichen
die Verarbeitung oder Kombination eines oder mehrerer Datenelemente
von Offline-Datenbankformatschemata mittels Datenmanipulationsfunktionen
wie beispielsweise Stringverkettungen, mathematischen Operationen,
Zahlengenerierungen etc.
-
Beim
Abbilden zwischen Formatschemata wird jedes erforderliche Datenelement
eines Konfigurationsdatenbankformatschemas auf mindestens ein entsprechendes
Datenelement des Offline-Datenbankformatschemas abgebildet. Selbstverständlich ist
es möglich,
dass einige oder sämtliche
der Datenelemente des bestimmten Offline-Daten bankformatschemas
während
des Abbildens nicht verwendet werden, und es ist möglich, dass
nicht sämtliche
der Datenelemente des Konfigurationsdatenbankformatschemas (d.h.
diejenigen Datenelemente, die möglicherweise
nicht erforderlich sind) auf Datenelemente des Offline-Datenbankformatschemas
abgebildet werden. Darüber
hinaus können
multiple Datenelemente des Offline-Datenbankformatschemas kombiniert
oder auf andere Weise manipuliert und unter Verwendung der oben
erwähnten
Datenmanipulationsfunktionen auf ein einziges Datenelement des Konfigurationsdatenbankformatschemas
abgebildet werden.
-
Die
Workstation 130 empfängt
die Codebibliotheksdatei 126 vom Codebibliotheks-Master 120 und
speichert die Codebibliotheksdatei 126 in der Offline-Datenbank 132,
die mit der Workstation 130 korrespondiert und die als
lokale oder Offline-Konfigurationsdatenbank 132 bezeichnet
werden kann. Die Workstation 130 führt eine lokale Version der
Codebibliotheksdatei 126 in einer Codebibliotheksdatenbank 134.
Wenn ein Anwender das Editier-Tool 100 ausführt, erzeugt
die Workstation 130 eine Instanz des Editier-Tools 100 und
baut eine Kommunikation mit dem Codebibliotheks-Master 120 auf. Spezifischer
baut die Workstation 130 eine Kommunikation mit der Codebibliotheksdatenbank 122 auf
und synchronisiert die lokale Codebibliotheksdatenbank 134 mit
der Master-Codebibliotheksdatenbank 122. Die Programmiersprachenobjektfragmente
werden vom Codebibliotheks-Master 120 empfangen und innerhalb
der grafischen Benutzerschnittstelle des Editier-Tools 100 as
grafische Darstellungen der Programmiersprachenobjektfragmente zur
Verfügung gestellt.
Ein Beispiel für
die grafischen Benutzerschnittstelle wird weiter unten diskutiert.
Während das
Editier-Tool 100 ausgeführt
wird, kann die Workstation 130 periodisch mit dem Codebibliotheks-Master 124 kommunizieren,
um Änderungen
oder Aktualisierungen der Codebibliotheksdatei 126 zur
Verfügung
zu stellen.
-
Zusätzlich zum
Laden der Codebibliotheksdatei 126 in das Editier-Tool 100 kann
ein Anwender eine zusammengesetzte Blockkonfigurationsdatei in das
Editier-Tool 100 laden. Die zusammengesetzte Blockkonfigurationsdatei
kann sich auf einen zusammengesetzten Block für ein grafisches Programmiersprachenobjekt
beziehen, das am Konfigurierungssystem oder an einer anderen Workstation
erzeugt oder modifiziert wurde. Die zusammengesetzte Blockkonfigurationsdatei
kann sich auch auf einen zusammengesetzten Block einer Gruppe von Programmiersprachenobjektfragmenten
beziehen, die als zusammengesetztes Programmiersprachenobjektfragment
gespeichert sind.
-
Der
zusammengesetzte Block ist mit anderen Worten ein Kompositum zuvor
definierter Schritte, Aktionen, Übergängen etc.
für eine
Prozesssteuerungseinheit wie beispielsweise ein SFC-Kompositum,
das anschließend
mittels des Editier-Tools 100 modifiziert werden kann.
Um die zusammengesetzte Blockdatei in das Editier-Tool 100 zu
laden, kann das Editier-Tool 100 den Nutzer nach der geeigneten
grafischen Programmiersprachenkonfigurationsdatei 110 fragen.
Die Konfigurationsdatei 110 kann im Konfigurierungssystemformat
zur Verfügung
gestellt und aus der Konfigurationsdatenbank exportiert werden. Das
Editier-Tool 100 liest die Konfigurationsdatei und konvertiert
das Format der Konfigurationsdatei aus dem Konfigurationssystemformat
in das von der Offline-Datenbank 104 verwendete Format
wie beispielsweise XML oder ein SQL-Datenbankformat. Wenn die Offline-Datenbank 104 eine
SQL-Datenbank ist, erzeugt das Editier-Tool geeignete Tabellen für die folgenden
Typen: Kompositum, Parameter, Schritt, Aktion, Übergang, Verbinder, Textgrafik, Rechteckgrafik,
Liniengrafik. Das Editier-Tool 100 füllt die Tabelle mit Datensätzen, die
aus der Konfigurationsdatei 110 kommen, und zeigt den zusammengesetzten
Block innerhalb der grafischen Benutzerschnittstelle des Editier-Tools 100 an
einschließlich entsprechender
verbundener oder eingebetteter Komposita, eines Diagramms des zusammengesetzten
Blocks, Parametern des zusammengesetzten Blocks und Schritten/Übergängen des
zusammengesetzten Blocks.
-
Alternativ
kann ein Anwender eine Phasenklassenkonfigurationsdatei auf ähnliche
Weise wie die oben genannte zusammengesetzte Blockdatei laden. Die
Konfigurationsdatei 110 kann wie oben im Konfigurierungssystemformat
zur Verfügung
gestellt und aus der Konfigurationsdatenbank exportiert werden.
Das Editier-Tool 100 liest die Konfigurationsdatei und
konvertiert das Format der Konfigurationsdatei aus dem Konfigurationssystemformat
in das von der Offline-Datenbank 104 verwendete Format. Wenn
die Offline-Datenbank 104 eine SQL-Datenbank ist, erzeugt
das Editier-Tool geeignete Tabellen für die folgenden Typen: Phase,
Phasenparameter, Phasenlogikblock, Blockparameter, Schritt, Aktion, Übergang,
Kompositum (verbunden oder eingebettet), Verbinder und Textgrafik.
Das Editier-Tool 100 füllt
die Tabelle mit Datensätzen
aus der Konfigurationsdatei 110 und zeigt die Phasenklasse
innerhalb der grafischen Benutzerschnittstelle des Editier-Tools 100 einschließlich entsprechender
Phasenlogikblöcke
und entsprechender verbundener oder eingebetteter Blöcke, des
Phasenlogikmoduls (PLM) und der Parameter der Phasenklasse an.
-
Die
Workstation 130 kommuniziert mit der Konfigurationsdatenbank,
indem sie grafische Programmiersprachenkonfigurationsdateien 136 sendet
und empfängt.
Die Workstation 130 weist weiterhin lokale Versionen des
Editier-Tools 100 und des Berichts-Tools 102 auf.
Die Editier- und Berichts-Tools 100, 102 kommunizieren
mit der Offline-Konfigurationsdatenbank 132 und der lokalen Codebibliotheksdatenbank 134 der
Workstation 130, um mittels der Programmiersprachenobjektfragmente
aus der Codebibliotheksdatei 126 ein grafisches Programmiersprachenobjekt
zu konfigurieren. Das konfigurierte grafische Programmiersprachenobjekt wird
innerhalb der Konfigurationsdatei 136 gespeichert und in
die Konfigurationsdatenbank exportiert. Darüber hinaus kann die Workstation 130,
da andere Anwender das grafische Programmiersprachenobjekt entweder
an der Konfigurationsdatenbank oder an anderen Workstations 130 modifizieren
können, modifizierte
grafische Programmiersprachenobjekte aus der Konfigurationsdatenbank
empfangen, wobei es sich um die oben diskutierten zusammengesetzten
Blöcke
oder Phasenklassen handeln kann, die ihrerseits mittels des Editier-Tools 100 konfiguriert
werden können.
Weiterhin können
Berichtsdokumente 138 mittels des Berichts-Tools 102 erzeugt
werden, das mit dem konfigurierten grafischen Programmiersprachenobjekt
korrespondiert.
-
Beispiele
für das
Konfigurieren eines grafischen Programmiersprachenobjekts sind das
Erzeugen eines zusammengesetzten Blocks und das Erzeugen einer neuen
Phasenklasse. Um einen neuen zusammengesetzten Block mittels des
Editier-Tools 100 zu erzeugen, kann ein Anwender eine neue
Datei für
den neuen zusammengesetzten Block erzeugen und das Editier-Tool 100 erzeugt
ein Objekt eines neuen zusammengesetzten Blocks innerhalb des Speichers
der Workstation aus einer Defaultkonfiguration für den zusammengesetzten Blocks,
der als Programmiersprachenobjektfragment wie beispielsweise als
zusammengesetztes Programmiersprachenobjektfragment zur Verfügung gestellt
werden kann. Die Defaultkonfiguration wird innerhalb der grafischen
Benutzerschnittstelle des Editier-Tools 100 präsentiert.
Die grafische Benutzerschnittstelle kann beispielsweise den neuen
zusammengesetzten Block, einen für
den zusammengesetzten Block konfigurierten Schritt sowie Parameter
des zusammengesetzten Blocks anzeigen. Um mittels des Editier-Tools 100 eine
neue Phasenklasse zu erzeugen, kann ein Anwender eine neue Datei
für die
neue Phasenklasse erzeugen und das Editier-Tool 100 erzeugt aus
einer bekannten Defaultkonfiguration ein Objekt einer neuen Phasenklasse
innerhalb des Speichers der Workstation. Die Defaultkonfiguration
für die neue
Phasenklasse wird innerhalb der grafischen Benutzerschnittstelle
des Editier-Tools 100 präsentiert. Beispielsweise kann
die grafische Benutzerschnittstelle die neue Phasenklasse zusammen
mit Default-Phasenlogikblöcken
wie beispielsweise ABORT_LOGIC, FAIL_MONITOR, HOLD_LOGIC, RESIART_LOGIC,
RUN_LOGIC, STOP_LOGIC anzeigen. Die grafische Benutzerschnittstelle
kann weiterhin das Phasenlogikmodul (PLM) und Parameter der Phasenklasse
anzeigen.
-
Die
grafischen Programmiersprachenobjekte wie beispielsweise zusammengesetzte
Blöcke
oder Phasenklasse, die entweder mittels des Editier-Tools 100 erzeugt
oder als Ergebnis eines Imports aus der Konfigurationsdatenbank
modifiziert wurden, können vom
Anwender gesichert werden und das Editier-Tool 100 aktualisiert
die Offline-Datenbank 104 des kürzlich erzeugten grafischen
Programmiersprachenobjekts oder dessen Modifikationen. Für modifizierte
grafische Programmiersprachenobjekte kopiert das Editier-Tool 100 die Änderungen
des grafischen Programmiersprachenobjekts aus der Offline-Datenbank 104 in
die Konfigurationsdatei 110, konvertiert die Konfigurationsdatei
aus dem Offline-Datenbankformat (beispielsweise XML) in das Konfigurationsdatenbankformat
(beispielsweise FHX) und überschreibt
die zuvor geladene Konfigurationsdatei im Konfigurationsdatenbankformat
(beispielsweise die FHX-Konfigurationsdatei).
Für neu
erzeugte grafische Programmiersprachenobjekte aktualisiert das Editier-Tool 100 die
Offline-Datenbank 100 aller kürzlich durchgeführten Änderungen
und kopiert die Änderungen
aus der Offline-Datenbank 104 in die Konfigurationsdatei 110 und
erzeugt eine neue Konfigurationsdatei im Konfigurationsdatenbankformat
(beispielsweise FHX).
-
Zusätzlich zum
Konfigurieren eines grafischen Programmiersprachenobjekts kann das
Editier-Tool 100 neue Programmiersprachenobjektfragmente
entweder durch Modifizieren eines Programmiersprachenobjektfragments
aus der Codebibliotheksdatei 126 oder durch Erzeugen eines
zusammengesetzten Programmiersprachenobjektfragments aus multiplen
Programmiersprachenobjektfragmenten aus der Codebibliotheksdatei 126 erzeugen.
Diese neuen Programmiersprachenobjektfragmente können der Codebibliotheksdatei 126 hinzugefügt und zurück in den
Codebibliotheks-Master 120 kopiert werden, der die Masterkopie
der Codebibliotheksdatei führt.
Der Codebibliotheks-Master kann wiederum die aktualisierte Codebibliotheksdatei
an andere Workstations 130 verteilen, sodass jede Workstation 130 und
jede entsprechende Projektierungs- oder Konstruktionsgruppe eine
aktualisierte Kopie der Code bibliotheksdatei 126 besitzt,
die Beiträge
aus anderen Projektierungs- oder Konstruktionsgruppe aufweist.
-
4 zeigt
ein detaillierteres Diagramm des Systems aus 3. Der Codebibliotheks-Master 120,
der innerhalb einer separaten Workstation gehalten werden kann,
weist nach der Zeichnung die Codebibliotheksdatenbank 122 für die Programmiersprachenobjektfragmente
auf, die eine SQL-Datenbank sein kann. Der Codebibliotheks-Master 120 weist
weiterhin ein Codebibliotheks-Tool 128 und eine Codebibliotheksmaschine 129 auf.
Wie in 4 dargestellt, wird die Codebibliotheksmaschine 129 vom
Codebibliotheks-Tool 128 verwendet, um die oben beschriebene
Formatierungs-Abbildung und -Konvertierung wie beispielsweise die
Konvertierung zwischen den FHX- und XML-Formaten durchzuführen. Die
Codebibliotheksmaschine 129 weist weiterhin einen Datenbankgenerator
und XML-Generator zum Erzeugen und Führen der Codebibliotheksdateien
für die
Codebibliotheksdatenbank 122 auf. Das Codebibliotheks-Tool 128 erleichtert
darüber
hinaus die Verteilung der Codebibliotheksdatei 126 und
ihrer Aktualisierungen an die verschiedenen Workstations 130.
-
Wie
oben beschrieben, empfängt
die Workstation 130 Aktualisierungen der Codebibliotheksdatei 126 und
speichert die Codebibliotheksdatei 126 in der lokalen Codebibliotheksdatenbank 134.
Wie oben beschrieben, kann das Editier-Tool 100 neue Programmiersprachenobjektfragmente
erzeugen, die innerhalb der lokalen Codebibliotheksdatenbank 134 als
aktualisierte Codebibliotheksdatei gespeichert werden. Ein Codebibliotheks-Aktualisierungs-Monitor 138 kann
die lokale Codebibliotheksdatenbank 138 auf derartige neue
Programmiersprachenobjektfragmente oder andere Aktualisierungen der
Codebibliotheksdatei 126 überwachen und die aktualisierte
Codebibliotheksdatei 126 dem Codebibliotheks-Master 120 zur
Verfügung
stellen.
-
Die
Workstation 130 weist weiterhin eine lokale Kopie des Codebibliotheks-Tools 140 und
der Codebibliotheksmaschine 142 auf. Das Codebibliotheks-Tool 140 kann
mit der Codebibliotheksdatenbank 122 des Codebibliotheks-Masters 120 kommunizieren
wie beispielsweise als periodische Kommunikation für Aktualisierungen
der Codebibliotheksdatei 126. Wie das Codebibliotheks-Tool 128 des
Codebibliotheks-Master 120 verwendet
das Codebibliotheks-Tool 140 die lokale Codebibliotheksmaschine 142 für die Durchführung der
Formatierungskonvertierung einschließlich der Konvertierung der
Formate der Konfigurationsdatei 136 zwischen einem von
der Workstation 130 verwendeten Format und anderen Formaten
wie beispielsweise dem vom Kon figurierungssystem verwendeten Format.
Das Codebibliotheks-Tool 140 verwendet auch die lokale
Codebibliotheksmaschine 142 zum Erzeugen und Führen der Codebibliotheksdatei
der lokalen Codebibliotheksdatenbank 134.
-
Wie
oben erwähnt,
wird jedes Programmiersprachenobjektfragment innerhalb der lokalen
Codebibliotheksdatenbank 134 gespeichert, die eine SQL-Datenbank sein kann.
Als solches kann jedes Programmiersprachenobjektfragment innerhalb
einer SQL-Tabelle gespeichert werden, für die Beispiele in 5 dargestellt
sind. Insbesondere weist jede Tabelle für ein Programmiersprachenobjektfragment einen
Namen, ein oder mehrere Feldnamen, ein oder mehrere, einem jeden
Feldnamen zugeordnete Feldtypen sowie eine Beschreibung auf. Die
Merkmale von SQL-Datenbanken
und Datenbanktabellen sind gut bekannt und brauchen hierin nicht
weiter diskutiert zu werden.
-
6 ist
ein Beispiel für
eine Benutzerschnittstellenroutine, die eine dem Editier- und Berichts-Tool 100 zugeordnete
grafische Benutzerschnittstelle (GUI) zur Verfügung stellt und die von einem
Anwender verwendet werden kann, um ein grafisches Programmiersprachenobjekt
für eine
Prozesssteuerungseinheit zu konfigurieren. Bevor die grafische Benutzerschnittstelle
jedoch ausführlicher diskutiert
wird, sollte darauf hingewiesen werden, dass die grafische Benutzerschnittstelle
eine oder mehrere Softwareroutinen aufweisen kann, die mittels aller
geeigneten Programmiersprachen und -techniken implementiert sind.
Weiterhin können
die die grafische Benutzerschnittstelle erzeugenden Softwareroutinen
innerhalb einer einzigen Verarbeitungsstation oder -einheit wie
beispielsweise der Workstation 130 gespeichert und verarbeitet
werden oder alternativ können
die Softwareroutinen der grafischen Benutzerschnittstelle auf verteilte
Weise mittels einer Mehrzahl von Verarbeitungseinheiten gespeichert
und ausgeführt
werden, die miteinander und mit der Offline-Datenbank 104 kommunikativ
verbunden sind.
-
Vorzugsweise,
nicht jedoch notwendigerweise, kann die grafische Benutzerschnittstelle
mittels einer bekannten grafischen Windows-basierten Struktur und
Darstellungsweise implementiert werden, wobei eine Mehrzahl miteinander
verbundener grafischer Sichten oder Seiten eines oder mehrere Pull-down-Menüs aufweisen
kann, die einen Anwender in die Lage versetzen, auf eine gewünschte Weise
durch die Seiten zu navigieren, um einen bestimmten Typ von Information
zu betrachten und/oder abzurufen. Die Merkmale und/oder Fähigkeiten
des hierin beschriebenen Editier- und Berichts-Tools können über eine
oder mehrere entsprechende Seiten, Ansichten oder Anzeigen der grafischen
Benutzerschnittstelle dargestellt, erreicht, aufgerufen etc. werden.
Darüber
hinaus können
die verschiedenen Anzeigen, die die grafische Benutzerschnittstelle
bilden, auf logische Weise miteinander verknüpft werden, um die schnelle
und intuitive Navigation eines Nutzers durch die Anzeigen zu erleichtern,
um einen bestimmten Typ von Information abzurufen oder um auf eine
bestimmte Fähigkeit
des Editier- und Berichts-Tools zuzugreifen und/oder diese aufzurufen.
-
Wie
in 6 dargestellt, weist die grafische Benutzerschnittstelle
eine Anzeige verschiedener Sichten auf, die zum Konfigurieren eines
grafischen Programmiersprachenobjekts aus einem oder mehreren Programmiersprachenobjektfragmenten
verwendet werden. Die grafische Benutzerschnittstelle des Editier-
und Berichts-Tools ist als Schablone zum Erzeugen und Modifizieren
eines grafischen Programmiersprachenobjekts für eine Prozesssteuerungseinheit
vorgesehen. Insbesondere kann die grafische Benutzerschnittstelle
einen Anwender in die Lage versetzen, verschiedene Datenobjekte
des Konfigurierungssystems einschließlich zusammengesetzter Blöcke, Phasenklassen,
Ausrüstungsmodulklassen
und anderer Objekte zu konfigurieren. Generell verwendet das Editier-
und Berichts-Tool und die Offline-Datenbank 104 lediglich
einen Objekttyp wie beispielsweise ein grafisches Programmiersprachenobjekt
und spezifischer ein SFC-Objekt oder
ein SFC-Modul, die zur Steuerung einer Prozesssteuerungseinheit
verwendet werden. In einem Beispiel ist das einzige Datenbankobjekt,
dessen sich das Editier- und Berichts-Tool bewusst ist, die Programmiersprachenobjektfragmente
wie beispielsweise Vorlagen von einer Phasenklasse oder einem Kompositum
zugeordneten Programmierlogikroutinen, wobei jedoch darauf hinzuweisen
ist, dass die Funktionalität
des Editier- und
Berichts-Tools erweitert werden kann, um andere Bibliotheksobjekte
zu enthalten. Durch Verwendung eines Objekttyps können die
verschiedenen Versionen des Editier- und Berichts-Tools, die über die
verschiedenen Offline-Datenbanken verteilt sind, ein Standardformat für das Konfigurierungssystem
zur Verfügung
stellen und jedes Editier- und
Berichts-Tool kann an der Codebibliothek Dateien gemeinsam nutzen,
die vom Codebibliotheks-Master 120 verteilt werden.
-
Die
verschiedenen Sichten innerhalb der grafischen Benutzerschnittstelle
beinhalten unter anderem eine Schablonensicht 202, eine
grafische Programmiersprachenobjektsicht 204, eine Hierarchiesicht 206,
eine Zusammenfassungssicht 208 und eine Parametersicht 210.
Die Schablonensicht 202 stellt eine grafische Schnittstelle
von grafischen Programmiersprachenobjektpositionen und spezifischer
Darstellungen 212 der Programmiersprachenobjektfragmente
zur Verfügung,
die verwendet werden können,
um ein grafisches Programmiersprachenobjekt zu konfigurieren. Wie
in 6 dargestellt, können die Programmiersprachenobjektfragmente entsprechend
verschiedenen Prozesssteuerungseinheiten wie beispielsweise Ventilen,
Motoren, Kreissteuerung etc. angeordnet werden, wobei jeder Prozesssteuerungseinheit
Programmiersprachenobjektfragmente für Schritte, Aktionen, Übergänge oder alle
andern Positionen zum Konfigurieren des grafischen Programmiersprachenobjekts
für die
Prozesssteuerungseinheit zugeordnet sind. In einem Beispiel wird
die Schablonensicht als Dropdown-Menü oder Satz von Menüs bereitgestellt,
von denen jedes entsprechend den Angaben des Anwenders aufgeschlagen
oder geschlossen werden kann. Die Schablonensicht 202 kann
den Anwender in die Lage versetzen, von einer Schablone auf eine
andere umzuschalten, wobei jede Schablone einer anderen Codebibliotheksdatei
oder Kategorie von Programmiersprachenobjektfragmenten entsprechen
kann. Ein Anwender kann beispielsweise aus der Schablonensicht 202 das
Schablonen-Dropdown auswählen,
das sämtliche
geladenen oder definierten Schablonen enthält, und "Motor" auswählen. Das Editier-Tool 100 zeigt
den Inhalt der "Motor"-Schablone in der
Schablonensicht 202 mit einer Motorkategorie mit zugeordneten
Programmiersprachenobjektfragmenten, nämlich den Aktionen "öffnen" und "schließen" an. Um auf eine andere Schablone umzuschalten,
kann der Anwender eine andere Schablone aus dem Dropdown-Menü wie beispielsweise "Ventile" auswählen und
das Editier-Tool 100 zeigt die Ventilen zugeordnete Programmiersprachenobjektfragmente
an.
-
Ein
Anwender konfiguriert ein grafisches Programmiersprachenobjekt in
der Programmiersprachenobjektsicht 204 aus den innerhalb
der Schablonensicht 202 angezeigten Programmiersprachenobjektfragmenten.
Ein Anwender kann insbesondere ein Programmiersprachenobjektfragment
wie beispielsweise eine Schritt-, Aktions- oder Übergangsposition auswählen, indem
er die entsprechende Programmiersprachenobjektfragmentdarstellung
anklickt und die Darstellung aus der Schablonensicht 202 in
die grafische Programmiersprachenobjektsicht 204 zieht.
Alternativ kann der Anwender die Programmiersprachenobjektfragmentdarstellung
aus der Schablonensicht 202 in die Zusammenfassungssicht 208 ziehen,
die nachstehend weiter beschrieben wird. Das Editier-Tool 100 zeigt
eine (nicht dargestellte) "Eigenschaften"-Dialogbox an, die
den Anwender auffordert, Werte für
die verfügbaren
Eigenschaften des ausgewählten
Programmiersprachenobjektfragments einzugeben. Der Anwender stellt Werte
für die
verfügbaren
Eigenschaften des Programmiersprachenobjektfragments zur Verfügung und
das Editier-Tool 100 zeigt die Programmiersprachenobjektfragmente
in der grafischen Programmiersprachenobjektsicht 204 an.
Es wird jedoch darauf hingewiesen, dass, um ein grafisches Programmiersprachenobjekt
mittels einer Aktion zu konfigurieren, das grafische Programmiersprachenobjekt
bereits einen Schritt aufweist.
-
Wie
oben beschrieben, kann ein Anwender mittels des Editier-Tools 100 neue
Programmiersprachenobjektfragmente erzeugen und diese können an sämtliche
Workstations verteilt werden. Das Programmiersprachenfragment kann
als Schablone innerhalb des Codebibliotheks-Masters 120 gespeichert
werden. Insbesondere kann die Schablonensicht 202 eine "Hinzufügen"-Option aufweisen,
die der Anwender auswählt.
Das Editier-Tool 100 erzeugt eine leere Schablone in der
Schablonensicht 202 und wenn das Schablonen-Dropdown aufgeschlagen wurde,
wird eine neue Schablonenposition (beispielsweise ein neues Programmiersprachenobjektfragment)
mit einem Default-Namen
hinzugefügt.
Der Anwender versieht die neue Schablone mit dem Namen und gibt
die Eigenschaften für
das/die Programmiersprachenobjektfragment(e) der neuen Schablone
an und das Editier-Tool 100 speichert eine neue Schablone
im Codebibliotheks-Master 120. Multiple Programmiersprachenobjektfragmente
können,
wie oben beschrieben, hinzugefügt
und gemeinsam als zusammengesetztes Programmiersprachenobjektfragment
gespeichert werden. Default- oder spezifische Parameterwerte können, wie
oben beschrieben, für
jedes Programmiersprachenobjektfragment innerhalb des zusammengesetzten
Programmiersprachenobjektfragments hinzugefügt werden. Alternativ können, wie
weiter unten beschrieben, aus der grafischen Programmiersprachenobjektsicht 204 multiple
Programmiersprachenobjektfragmente gleichzeitig ausgewählt und
als zusammengesetztes Programmiersprachenobjektfragment gespeichert werden,
und auch hier mit oder ohne Default- oder spezifische Eigenschaften.
-
In
einem Beispiel kann ein Anwender eine neue Aktion innerhalb der
Schablonensicht 202 für eine
gegebene Schablone erzeugen. Beispielsweise kann eine neue und leere
Schablone mit der Bezeichnung "Motor
und Ventil" existieren,
die zwei Schablonenkategorien, nämlich "Motor" und "Ventil" aufweist, und eine
zusammengesetzte Blockkonfigurationsdatei im Konfigurationsdatenbankformat
weist einen zusammengesetzten Block mit dem Schritt und Aktionen
wie beispielsweise "Ventil öffnen", "Ventil schließen", "Motor starten", "Motor stoppen" und "Verriegelungen sperren" auf. Der Anwender
kann die zusammengesetzte Blockkonfigurationsdatei im wie vorstehend
vorgesehenen Konfigurationsdatenbankformat laden und die Aktionsdarstellungen "Ventil öffnen" und "Ventil schließen" aus der Zusammenfassungssicht 208 in
die "Ventil"-Kategorie in der
Schablonensicht 202 ziehen. Das Editier-Tool 100 kopiert
die Aktionen und zeigt sie unter der "Ventil"-Kategorie in der Schablonensicht 202 an.
Gleichermaßen
kann der Anwender die Aktionsdarstellungen "Motor starten", "Motor
stoppen" und "Verriegelungen sperren" aus der Zusammenfassungssicht 208 in
die "Motor"-Kategorie in der
Schablonensicht 202 ziehen und das Editier-Tool 100 kopiert
die Aktionen und zeigt sie unter der "Motor"-Kategorie in der Schablonensicht 202 an.
-
Zusätzlich zum
Erzeugen neuer Programmiersprachenobjektfragmente kann ein Anwender existierende
Programmiersprachenobjektfragmente löschen. Insbesondere kann die
Schablonensicht 202 eine "Lösch"-Option aufweisen
und ein Anwender kann eine Darstellung des gewünschten Programmiersprachenobjektfragments
auswählen
und die Option "Löschen" auswählen. Das
Editier-Tool 100 entfernt das Programmiersprachenobjektfragment
aus der lokalen Codebibliotheksdatenbank 134 und kann weiterhin
das Programmiersprachenobjektfragment aus dem Codebibliotheks-Master 120 entfernen.
-
Zusätzliche
Anwenderaktionen, die durch die Schablonensicht 202 freigegeben
werden können, beinhalten
das Umbenennen von Programmiersprachenobjektfragmenten durch Bereitstellen
einer "Umbenennen"-Option, das Erzeugen
neuer Kategorien von Programmiersprachenobjektfragmenten innerhalb
einer bestimmten Schablone durch Bereitstellen einer "Neue-Kategorie"-Option und das Speichern neuer
oder geänderter
Schablonen durch Bereitstellen einer "Speichern"-Option, die sämtliche Schablonenänderungen
im Codebibliotheks-Master 102 speichert. Bestimmte Aktionen
können
auf bestimmte Anwender beschränkt
werden, die die Befugnis zum Löschen
oder Ändern
von Codebibliotheksdateien aus dem Codebibliotheks-Master 120 haben.
-
Die
grafische Programmiersprachenobjektsicht 204 stellt eine
grafische Sicht des grafischen Programmiersprachenobjekts, das konfiguriert
wird, dar. Insbesondere kann die grafische Programmiersprachenobjektsicht 204 eine
grafische Darstellung von Programmiercode wie beispielsweise Steuerungslogik
zur Verfügung
stellen, der für
die Prozesssteuerungseinheit entwickelt wird, und sie stellt das Hauptfenster
für den
Anwender zum Konfigurieren des grafischen Programmiersprachenobjekts
für eine Prozesssteuerungseinheit
dar. Wie in 6 dargestellt, stellt die grafische
Programmiersprachenobjektsicht 204 das grafische Programmiersprachenobjekt
als Block oder Reihe von Blöcken
zur Verfügung, die
die zusammengesetzten Blöcke
und/oder Phasenklassen des grafischen Programmiersprachenobjekts
repräsentieren
können,
wobei jeder Block verschiedene Schritte, Übergänge, Aktionen oder andere Programmiersprachenobjektfragmente
des gesamten grafischen Programmiersprachenobjekts für die Prozesssteuerungseinheit
aufweist. Wenn ein Anwender einen Block aus der grafischen Programmiersprachenobjektsicht 204 auswählt, zeigt
das Editier-Tool 100 sämtliche
verfügbaren
Eigenschaften für
den Block in der Parametersicht 210 an und zeigt sämtliche
dem Block zugeordneten Schritte und Übergänge in der Zusammenfassungssicht 208 an und
hebt den primären
Block in der Hierarchiesicht 206 hervor.
-
Die
grafische Programmiersprachenobjektsicht 204 versetzt den
Anwender in die Lage, Eigenschaften des grafischen Programmiersprachenobjekts
zu modifizieren. Ein Anwender kann beispielsweise durch Anwählen einer
Option "Eigenschaften" Eigenschaften von
zusammengesetzten Blöcken oder
Phasen modifizieren. Das Editier-Tool 100 kann sodann
eine Dialogbox "Eigenschaften" anzeigen, die den
Anwender in die Lage versetzt, neue Werte für die Eigenschaft zu bestimmen.
Das Editier-Tool 100 sichert den neuen Wert und schließt die Dialogbox.
-
Der
Anwender kann weiterhin auch Programmiersprachenobjektfragmente
zu dem grafischen Programmiersprachenobjekt hinzufügen, indem
er Programmiersprachenobjektfragmentdarstellungen aus der Schablonensicht 202 auswählt und diese
in die grafische Programmiersprachenobjektsicht 204 zieht.
Das Editier-Tool 100 zeigt sodann die hinzugefügte Programmiersprachenobjektfragmentdarstellung
in der grafischen Programmiersprachenobjektsicht 204 an.
Um beispielsweise eine Schrittposition zu dem grafischen Programmiersprachenobjekt
hinzuzufügen,
wählt der
Anwender eine Schrittpositionsdarstellung aus der Schablonensicht 202 aus
und zieht die Darstellung in die grafische Programmiersprachenobjektsicht 204.
Das Editier-Tool zeigt eine "Eigenschaften"-Dialogbox für die ausgewählte Schrittposition
an und der Anwender stellt neue Werte für die verfügbaren Eigenschaften der Schrittposition
zur Verfügung.
Die Schrittposition, die durch einen Block repräsentiert werden kann, wird
in der grafischen Programmiersprachenobjektsicht 204 an
dem Ort angezeigt, an den die Darstellung der Schrittposition vom
Anwender gezogen wurde. Gleichermaßen wählt der Anwender, um eine Übergangsposition
zu dem grafischen Programmiersprachenobjekt hinzuzufügen, eine Übergangspositionsdarstellung
aus der Schablonensicht 202 aus und zieht die Darstellung
in die grafische Programmiersprachenobjektsicht 204. Das
Editier-Tool 100 zeigt eine "Eigenschaften"-Dialogbox für die ausgewählte Übergangsposition
an und der Anwender stellt neue Werte für die verfügbaren Eigenschaften der Übergangsposition
zur Verfügung.
Die Übergangsposition,
die durch eine Kreuzdarstellung repräsentiert werden kann, wird
in der grafischen Programmiersprachenobjektsicht 204 an
dem Ort angezeigt, an den die Darstellung der Übergangsposition vom Anwender
gezogen wurde.
-
Das
Editier-Tool 100 versetzt den Anwender weiterhin in die
Lage, logische Verbindungen zwischen den Programmiersprachenobjektfragmenten des
grafischen Programmiersprachenobjekts herzustellen. Insbesondere
können
Darstellungen der Programmiersprachenobjektfragmente in der grafischen Programmiersprachenobjektsicht 204 Darstellungen verschiedener
Eingaben und Ausgaben jeder Position aufweisen. Ein Anwender kann
einen E/A-Punkt eines Programmiersprachenobjektfragments auswählen und
einen grafischen Benutzerschnittstellencursor auf einen E/A-Punkt
eines anderen Programmiersprachenobjektfragments ziehen. Das Editier-Tool 100 kann
sodann eine Linie anzeigen, die die beiden Programmiersprachenobjektfragmente
in der grafischen Programmiersprachenobjektsicht 204 verbindet.
Wenn der Anwender eine ungültige
Verbindung zwischen Programmiersprachenobjektfragmenten erzeugt,
kann das Editier-Tool 100 eine Fehlermeldung anzeigen,
die die ungültige
Aktion des Anwenders beschreibt. Ungültige Verbindungen sind beispielsweise
unter anderem Verbindungen zwischen zwei Eingabepunkten, Verbindungen
zwischen zwei Ausgabepunkten, Verbindungen zwischen zwei Schrittpositionen
und Verbindungen zwischen zwei Übergangspositionen.
-
Programmiersprachenobjektfragmente
können
auch dem grafischen Programmiersprachenobjekt hinzugefügt werden,
indem bestehende Programmiersprachenobjektfragmente innerhalb des grafischen
Programmiersprachenobjekts kopiert und die kopierten Programmiersprachenobjektfragmente an
einen anderen Ort im grafischen Programmiersprachenobjekt eingefügt werden.
Insbesondere kann eine Darstellung eines Programmiersprachenobjektfragments
ausgewählt
werden und der Anwender kann eine "Kopieren"-Option auswählen, die die ausgewählten Programmier sprachenobjektfragmente
kopiert. Der Anwender kann sodann eine "Einfügen"-Option auswählen, die
das Editier-Tool 100 veranlasst, eine Darstellung des kopierten
Programmiersprachenobjekts in der grafischen Programmiersprachenobjektsicht 204 anzuzeigen.
-
Eigenschaften
eines jeden innerhalb der grafischen Programmiersprachenobjektsicht 204 angezeigten
Programmiersprachenobjektfragments können geändert werden. Insbesondere
kann ein Anwender eine Darstellung eines Programmiersprachenobjektfragments
in der grafischen Programmiersprachenobjektsicht 204 auswählen und
eine dieser zugeordnete "Eigenschaften"-Option auswählen. Das
Editier-Tool 100 zeigt
eine "Eigenschaften"-Dialogbox an, die
den Anwender auffordert, neue Parameterwerte für das ausgewählte Programmiersprachenobjektfragment
einzugeben.
-
Die
grafische Programmiersprachenobjektsicht 204 versetzt den
Anwender weiterhin in die Lage, bestimmte grafische Programmiersprachenobjektpositionen
wie beispielsweise die Schritte, Übergänge, Aktionen oder andere Programmiersprachenobjektfragmente
auszuwählen,
die das grafische Programmiersprachenobjekt bilden. Wenn eine Darstellung
eines Programmiersprachenobjektfragments innerhalb der grafischen
Programmiersprachenobjektsicht 204 ausgewählt wird,
hebt das Editier-Tool das ausgewählte
Programmiersprachenobjektfragment hervor und aktualisiert die diesem
zugeordneten verfügbaren
Aktionen in der Zusammenfassungssicht 208 und aktualisiert
die Parametersicht 210 mit den für das ausgewählte Programmiersprachenobjektfragment
verfügbaren
Eigenschaften.
-
Zusätzlich zum
Auswählen
einzelner Programmiersprachenobjektfragmente versetzt die grafische
Benutzerschnittstelle den Anwender in die Lage, gleichzeitig multiple
Programmiersprachenobjektfragmente in der grafischen Programmiersprachenobjektsicht 204 auszuwählen. Beispielsweise kann
ein Anwender einen grafischen Benutzerschnittstellencursor über multiple
grafische Programmiersprachenobjektpositionsdarstellungen ziehen,
um eine Auswahlbox über
die Positionen zu erzeugen, oder er kann die Programmiersprachenobjektfragmentdarstellungen
einzeln einer Gruppe ausgewählter
Programmiersprachenobjektfragmente hinzufügen. Das Editier-Tool 100 hebt
die ausgewählten
Positionen in der grafischen Programmiersprachenobjektsicht 204 hervor,
hebt die ausgewählten
Programmiersprachenobjektfragmente hervor und aktualisierte die
verfügbaren
Aktionen der ausgewählten
Programmiersprachenobjektfragmente in der Zusammenfassungssicht 208 und
aktualisiert die Parametersicht 210 mit dem kombinierten
Eigenschaften der ausgewählten
Programmiersprachenobjektfragmente.
-
Beim
einzelnen oder gleichzeitigen Auswählen von Programmiersprachenobjektfragmenten
versetzt das Editier-Tool 100 den Anwender in die Lage, das/die
ausgewählte(n)
Programmiersprachenobjektfragment(e) zu löschen, zu kopieren/ einzufügen oder
zu verändern.
Eine gleichzeitige Kopier-/Einfügeoperation
für multiple
Programmiersprachenobjektfragmente ist der oben beschriebenen Kopier-/Einfügefunktion ähnlich.
Um ein Programmiersprachenobjektfragment(e) aus dem grafischen Programmiersprachenobjekt
zu löschen,
wählt der
Anwender, wie vorstehend vorgesehen, die Programmiersprachenobjektfragmentdarstellung(en)
aus der grafischen Programmiersprachenobjektsicht 204 aus
und gibt eine "Lösch"-Option an, indem
er beispielsweise eine von der grafischen Benutzerschnittstelle
zur Verfügung
gestellte "Lösch"-Option anklickt
oder eine Tastatur verwendet. Als Reaktion entfernt das Editier-Tool 100 die ausgewählte(n)
Programmiersprachenobjektfragmentdarstellung(en) aus der grafischen
Programmiersprachenobjektsicht 204 und entfernt die entsprechende(n)
Position(en) und entsprechenden Aktionen aus der Zusammenfassungssicht 208.
-
Um
ein Programmiersprachenobjektfragment(e) aus dem grafischen Programmiersprachenobjekt
zu modifizieren, wählt
der Anwender die Programmiersprachenobjektfragmentdarstellung(en)
aus der grafischen Programmiersprachenobjektsicht 204 aus,
wie vorstehend vorgesehen. Wenn multiple Programmiersprachenobjektfragmente
ausgewählt
sind, versetzt das Editier-Tool 100 den Anwender in die
Lage, gleichzeitig Eigenschaften zu modifizieren, die den ausgewählten Programmiersprachenobjektfragmenten
gemeinsam sind. Das Editier-Tool 100 kann den Anwender
jedoch daran hindern, gleichzeitig Eigenschaften zu modifizieren, die
den ausgewählten
Programmiersprachenobjektfragmenten nicht gemeinsam sind, wie beispielsweise
die Namen der Programmiersprachenobjektfragmente. Die gemeinsamen
Eigenschaften können
in der Zusammenfassungssicht 208 angezeigt werden und der
Anwender kann in der Zusammenfassungssicht 208 Parameterwerte
eingeben oder ändern.
Alternativ oder zusätzlich
können
die gemeinsamen Eigenschaften in der Parametersicht 210 angezeigt werden
und der Anwender kann dort die Werte eingeben oder ändern. Das
Editier-Tool 100 aktualisiert die Konfigurationsdatei mit
den neuen Werten für
jedes der ausgewählten
Programmiersprachenobjektfragmente.
-
Die
Hierarchiesicht 206 bietet ein Baumdiagramm des grafischen
Programmiersprachenobjekts und untergeordneter Logikblöcke wie
beispielsweise "laufend", "haltend" und "eingebettetes Kompositum". Das grafische Programmiersprachenobjekt kann
durch eine Reihe von Blöcken
in der Hierarchiesicht 206, die zusammengesetzte Blöcke oder
Phasenklassen repräsentieren,
dargestellt werden. Das Editier-Tool 100 kann einen Anwender
in die Lage versetzen, einen Block innerhalb der Hierarchiesicht 206 auszuwählen, und
das Editier-Tool zeigt sämtliche
verfügbaren
Eigenschaften für
den Block in der Parametersicht 210 an und es zeigt in
der Zusammenfassungssicht 208 sämtliche dem Block zugeordnete
Schritte und Übergänge an.
Eingebettete zusammengesetzte Blöcke
können
aus der Hierarchiesicht 206 hinzugefügt werden. Beispielsweise kann ein
Anwender in der Hierarchiesicht 206 einen Block wie beispielsweise
einen Phasenlogikblock oder einen zusammengesetzten Block auswählen und
das Editier-Tool 100 zeigt ein Kontextmenü als Liste
verfügbarer
Optionen einschließlich
einer "Hinzufügen"-Option an, die von
dem Anwender ausgewählt werden
können.
Das Editier-Tool 100 kann eine Dialogbox "kundenspezifischer
Block" anzeigen
und der Anwender kann eine Option "eingebettetes Kompositum" auswählen und
einen neuen Namen für
den Block eingeben. Das Editier-Tool 100 schließt die Dialogbox
und fügt
den neuen eingebetteten Block unter dem ausgewählten zusammengesetzten oder Phasenlogikblock
hinzu.
-
Die
Zusammenfassungssicht 208 bietet verschiedene Zusammenfassungssichten
einschließlich einer
Schritt-/Übergangs-Zusammenfassungssicht 214,
einer Aktions-Zusammenfassungssicht 216 und einer Fehlerbedingungs-Zusammenfassungssicht 218,
von denen jede einem Karteireiter zugeordnet werden kann, der jede
einzelne Sicht bezeichnet. Die Schritt-/Übergangs-Zusammenfassungssicht 214 bietet
eine Liste sämtlicher
Schritte und Übergänge, die
für das
grafische Programmiersprachenobjekt konfiguriert sind, das in der
grafischen Programmiersprachenobjektsicht 204 angezeigt
wird. Das Editier-Tool 100 kann einen Anwender in die Lage
versetzen, einen in der Schritt-/Übergangs-Zusammenfassungssicht 214 aufgelisteten
Schritt oder Übergang
auszuwählen.
Wenn ein Schritt, ein Übergang oder
ein anderes Programmiersprachenobjektfragment einzeln oder gleichzeitig
mit anderen Programmiersprachenobjektfragmenten innerhalb der grafischen
Benutzerschnittstelle ausgewählt
wird, einschließlich
einer Auswahl aus der Schritt-/Übergangs-Zusammenfassungssicht 214 oder
der grafischen Programmiersprachenobjektsicht 204, löscht das
Editier-Tool 100 die Aktions-Zusammen fassungssicht 216,
stellt die zugehörigen
Eigenschaften in der Parametersicht 210 zur Verfügung und
zeigt keine Positionen in der Fehlerbedingungssicht 218 an.
-
Neue
Schritte, Übergänge oder
andere Programmiersprachenobjektfragmente können in der Schritt-/Übergangs-Zusammenfassungssicht 214 hinzugefügt werden,
indem der Anwender in die Lage versetzt wird, eine Programmiersprachenobjektfragmentdarstellung
aus der Schablonensicht 202 in die Schritt-/Übergangs-Zusammenfassungssicht 214 zu ziehen,
oder indem eine Option "Schritt/Übergang hinzufügen" oder eine ähnliche
Option gewählt
wird. Das Editier-Tool 100 zeigt eine Dialogbox "Eigenschaften" für das ausgewählte Programmiersprachenobjektfragment
an und der Anwender kann neue Werte für die Eigenschaften des Programmiersprachenobjektfragments
eingeben. Das Editier-Tool 100 fügt sodann das neue Programmiersprachenobjektfragment
zu der Liste der Schritt-/Übergangs-Zusammenfassungssicht 214 hinzu
und zeigt in der grafischen Programmiersprachenobjektsicht 204 eine Darstellung
des neuen Programmiersprachenobjektfragments wie beispielsweise
ein Rechteck für
einen Schritt oder ein Kreuz für
einen Übergang
an. Schritte, Übergänge oder
andere Programmiersprachenobjektfragmente können einzeln oder gleichzeitig
kopiert und eingefügt
werden, indem die Positionen aus der Schritt-/Übergangs-Zusammenfassungssicht 214 ausgewählt, eine "Kopieren"-Option, die das/die ausgewählten) Programmiersprachenobjektfragmente
kopiert, über
die grafische Benutzerschnittstelle oder über eine Tastatur ausgewählt wird
und indem eine "Einfügen"-Option ausgewählt wird,
die das/die ausgewählte(n)
Programmiersprachenobjektfragmente kopiert und das Editier-Tool 100 veranlasst,
das/die eingefügten)
Programmiersprachenobjektfragment(e) in einer neuen Zeile der Schritt-/Übergangs-Zusammenfassungssicht 214 und
in der grafischen Programmiersprachenobjektsicht 204 anzuzeigen.
-
Eigenschaften
der innerhalb der Schritt-/Übergangs-Zusammenfassungssicht 214 aufgeführten Programmiersprachenobjektfragmente können modifiziert
werden, indem der Anwender in die Lage versetzt wird, die Position
aus der Liste auszuwählen
und eine "Eigenschaften"-Option auszuwählen, die
das Editier-Tool veranlasst, die "Eigenschaften"-Dialogbox für das ausgewählte Programmiersprachenobjektfragment
anzuzeigen. Der Anwender kann sodann Parameterwerte für die verfügbaren Eigenschaften
modifizieren oder eingeben und das Editier-Tool aktualisiert die
eingegebenen Parameterwerte. Wie vorstehend offengelegt, können multiple
Programmiersprachenobjektfrag mente ausgewählt und den ausgewählten Programmiersprachenobjektfragmenten
gemeinsame Eigenschaften gleichzeitig modifiziert werden.
-
Zusätzlich können innerhalb
der Schritt-/Übergangs-Zusammenfassungssicht 214 aufgeführte Programmiersprachenobjektfragmente gelöscht werden,
indem der Anwender in die Lage versetzt wird, die Position aus der
Liste auszuwählen und
eine "Löschen"-Option über die
grafische Benutzerschnittstelle oder über eine Tastatur auszuwählen, die
das Editier-Tool 100 veranlasst, das ausgewählte Programmiersprachenobjektfragment
aus der Schritt-/Übergangs-Zusammenfassungssicht 214 und
aus der grafischen Programmiersprachenobjektsicht 204 zu
löschen.
Wie bei der Modifizierung von Eigenschaften können multiple Programmiersprachenobjektfragmente
aus der Schritt-/Übergangs-Zusammenfassungssicht 214 ausgewählt und,
wie vorstehend offengelegt, gleichzeitig gelöscht werden.
-
Die
Aktions-Zusammenfassungssicht 216 bietet eine Liste sämtlicher
für einen
ausgewählten Schritt
konfigurierten Aktionen. Das Editier-Tool 100 kann einen
Anwender in die Lage versetzen, eine in der Aktions-Zusammenfassungssicht 216 aufgeführte Aktionsdarstellung
auszuwählen.
Wenn eine Aktion einzeln oder gleichzeitig mit anderen Aktionen
aus der Aktions-Zusammenfassungssicht 216 ausgewählt wird,
konzentriert sich das Editier-Tool 100 auf die ausgewählte Aktion,
bewahrt den Inhalt der Parametersicht 210, der die Eigenschaften
des ausgewählten
Schritts enthält,
bewahrt die Auswahl in der Hierarchiesicht, die den zusammengesetzten
Block oder die Phase hervorhebt, zeigt keine Positionen in der Fehlerbedingungssicht 218,
bewahrt die Konzentration auf den ausgewählten Schritt in der grafischen Programmiersprachenobjektsicht 204 und
bewahrt die Konzentration auf den ausgewählten Schritt in der Schritt-/Übergangs-Zusammenfassungssicht 214.
-
Aktionen
können
hinzugefügt
werden, indem der Anwender in die Lage versetzt wird, eine Schrittpositionsdarstellung
in der grafischen Programmiersprachenobjektsicht 204 auszuwählen und
die Aktions-Zusammenfassungssicht 216 anzuwählen, wodurch
das Editier-Tool 100 veranlasst wird, ein Kontextmenü sämtlicher
verfügbarer
Optionen einschließlich
einer "Hinzufügen"-Option anzuzeigen. Der
Anwender wählt
die "Hinzufügen"-Option und das Editier-Tool 100 zeigt
eine "Eigenschaften"-Dialogbox für die Aktionsposition an. Der
Anwender gibt Parameterwerte für
die verfügbaren
Felder in der Dialogbox ein und das Editier-Tool 100 fügt die neue Aktion
zur Aktions-Zusammenfassungssicht 214 hinzu. Alternativ
kann ein Anwender eine Aktions position aus der Schablonensicht ziehen
und die ausgewählte
Aktionsposition in einer spezifische Schrittposition in der grafischen
Programmiersprachenobjektsicht 204 ablegen. Aktionen können einzeln
oder gleichzeitig kopiert und eingefügt werden, indem die Aktionspositionsdarstellungen
aus der Aktions-Zusammenfassungssicht 216 ausgewählt werden,
eine "Kopieren"-Option über die
grafische Benutzerschnittstelle oder über eine Tastatur ausgewählt wird, die
die ausgewählte(n)
Aktion(en) kopiert, und indem eine "Einfügen"-Option über die
grafische Benutzerschnittstelle oder über eine Tastatur ausgewählt wird, die
die kopierte(n) Aktion(en) einfügt
und das Editier-Tool 100 veranlasst, eine Darstellung der
eingefügten
Aktion(en) in einer neuen Zeile der Aktions-Zusammenfassungssicht 216 anzuzeigen.
-
Eigenschaften
der in der Aktions-Zusammenfassungssicht 216 aufgeführten Aktionen
können
modifiziert werden, indem der Anwender in die Lage versetzt wird,
eine Schrittposition aus der grafischen Programmiersprachenobjektsicht 204 oder aus
der Schritt-/Übergangs-Zusammenfassungssicht 214 auszuwählen, indem
eine spezifische Aktionspositionsdarstellung aus der Aktions-Zusammenfassungssicht 216 ausgewählt wird
und indem eine "Eigenschaften"-Option ausgewählt wird,
die das Editier-Tool veranlasst, eine "Eigenschaften"-Dialogbox für die ausgewählte Aktionsposition
anzuzeigen. Der Anwender kann sodann Parameterwerte für die verfügbaren Eigenschaften
modifizieren oder eingeben und das Editier-Tool 100 aktualisiert
die eingegebenen Parameterwerte. Wie vorstehend offengelegt, können multiple
Aktionen ausgewählt
werden und den ausgewählten
Aktionen gemeinsame Eigenschaften können gleichzeitig modifiziert
werden.
-
Gleichermaßen können innerhalb
der Aktions-Zusammenfassungssicht 216 aufgeführte Aktionen
gelöscht
werden, indem der Anwender in die Lage versetzt wird, die Aktionsposition
aus der Liste auszuwählen
und eine "Löschen"-Option über die grafische
Benutzerschnittstelle oder über
eine Tastatur auszuwählen,
was das Editier-Tool 100 veranlasst, die ausgewählte Aktionsposition
aus der Aktions-Zusammenfassungssicht 216 zu löschen. Wie bei
der Modifizierung von Eigenschaften können multiple Aktionen aus
der Aktions-Zusammenfassungssicht 216 ausgewählt und,
wie vorstehend offengelegt, gleichzeitig gelöscht werden.
-
Die
Fehlerbedingungs-Zusammenfassungssicht 218 stellt eine
Liste aller für
ein grafisches Programmiersprachenobjekt konfigurierter Fehlerbedingungen
zur Verfügung.
Der Anwender kann in die Lage versetzt werden, eine Fehlerbedingung
einzeln oder gleichzeitig mit anderen Fehlerbedingungen auszuwählen, indem
er eine Bedingungen) aus der Fehlerbedingungs-Zusammenfassungssicht 218 auswählt. Das
Editier-Tool 100 konzentriert sich auf die ausgewählte Bedingung,
zeigt keinen Inhalt in der Parametersicht 210 an, bewahrt
die Auswahl in der Hierachiesicht, die den Fehlerüberwachungsblock hervorhebt,
zeigt keine Positionen in der grafischen Programmiersprachenobjektsicht 204 an
und zeigt keine Positionen in der Schritt-/Übergangs-Zusammenfassungssicht 214 an.
-
Fehlerbedingungen
können
hinzugefügt
werden, indem dem Anwender ein Kontextmenü verfügbarer Optionen einschließlich einer "Hinzufügen"-Option zur Verfügung gestellt
wird. Der Anwender kann die "Hinzufügen"-Option auswählen und
das Editier-Tool 100 zeigt eine "Eigenschaften"-Dialogbox für die Bedingung an. Der Anwender
gibt Parameterwerte in den verfügbaren
Feldern der Dialogbox ein und das Editier-Tool 100 fügt die neue
Bedingung zur Fehlerbedingungs-Zusammenfassungssicht 218 hinzu.
Bedingungen können
ebenfalls auf eine ähnliche Weise
wie die Schritt-/Übergangs-Positionen,
wie vorstehend offengelegt, jedoch im Hinblick auf die Fehlerbedingungs-Zusammenfassungssicht 218, einzeln
oder gleichzeitig kopiert, eingefügt oder gelöscht werden. Gleichermaßen können Eigenschaften
einer Bedingung einzeln oder gleichzeitig mit anderen Bedingungen
auf ähnliche
Weise wie die Schritt-/Übergangs-Positionen, wie vorstehend
offengelegt, modifiziert werden.
-
Die
Parametersicht 210 stellt eine Liste aller für das grafische
Programmiersprachenobjekt oder dessen Programmiersprachenobjektfragment
konfigurierten Eigenschaften zur Verfügung und das Editier-Tool 100 zeigt
die Eigenschaften des grafischen Programmiersprachenobjekts oder
Programmiersprachenobjektfragments an, das ausgewählt wurde oder
auf sonstige Weise im Fokus steht. Das Editier-Tool kann den Anwender
in die Lage versetzen, Eigenschaften in der Parametersicht 210 einzeln oder
gleichzeitig auszuwählen
und die ausgewählten Eigenschaften
zu modifizieren, indem er neue Parameterwerte in der Parametersicht 210 oder
in einer vom Editier-Tool 100 erzeugten "Eigenschaften"-Dialogbox eingibt.
Das Editier-Tool 100 aktualisiert die Parametersicht 210 mit
den neuen Werten. Neue Eigenschaften können ebenfalls hinzugefügt werden, indem
der Anwender in die Lage versetzt wird, eine leere Reihe in einer
Parameterspalte der Parametersicht 210 auszuwählen, indem
die neue Eigenschaft mit einem Namen versehen wird, indem der Typ
der Eigenschaft ausgewählt
und indem ein Parameterwert für
die Eigenschaft eingegeben wird. Eigenschaften können ebenfalls gelöscht werden,
indem der Anwender in die Lage versetzt wird, eine oder mehrere
Eigenschaften in der Parametersicht 210 auszuwählen, und
indem eine von der grafischen Benutzerschnittstelle zur Verfügung gestellte "Löschen"-Option ausgewählt oder über eine Tastatur ausgewählt wird
und das Editier-Tool 100 entfernt die Eigenschaft aus der
Parametersicht 210. Das Editier-Tool 100 kann
weiterhin den Anwender in die Lage versetzen, Eigenschaften zu kopieren
und einzufügen,
indem eine oder mehrere Eigenschaften aus der Parametersicht 210 ausgewählt werden,
indem eine von der grafischen Benutzerschnittstelle zur Verfügung gestellte "Kopieren"-Option ausgewählt oder über eine
Tastatur ausgewählt
wird, die die ausgewählte
Eigenschaft kopiert, und indem eine von der grafischen Benutzerschnittstelle
zur Verfügung
gestellte "Einfügen"-Option ausgewählt oder über eine
Tastatur ausgewählt
wird, die die kopierte Eigenschaft mit einem neuen Eigenschaftennamen, der
von den Anwender definiert werden kann, zu der Parametersicht 210 hinzufügt. Das
Editier-Tool 100 kann Restriktionen für die spezifischen Parameterwerte
festlegen, die dem Anwender zu modifizieren erlaubt sind, indem
die Eigenschaft als nicht editierbar oder indem ein Eigenschaftsfeld
als Nur-Lese-Feld markiert wird.
-
Mittels
des Editier-Tools 100 und der grafischen Benutzerschnittstelle
auf die vorstehend offengelegte Weise kann ein Anwender problemlos
ein neues grafisches Programmiersprachenobjekt erzeugen und konfigurieren
oder ein vorhandenes, aus der Konfigurationsdatenbank importiertes
grafisches Programmiersprachenobjekt modifizieren. Das Editieren
von Programmiersprachenobjektfragmenten kann das Ersetzen von Defaultwerten
durch spezifische Daten eines bestimmten Projekts auf die vorstehend
offengelegte Weise beinhalten. Wenn ein Anwender beispielsweise
ein grafisches Programmiersprachenobjekt für eine Prozesssteuerungseinheit
in der physikalischen Schicht eines Prozesssteuerungssystems wie
beispielsweise Knoten, E/A-Karten, Geräte etc. konfiguriert, kann
der Anwender eine Tabelle projektspezifischer Daten in der Offline-Datenbank 104 für die Prozesssteuerungseinheit
erstellen. Da die Programmiersprachenobjektfragmente als Vorlagen
zur Verfügung
gestellt werden, die Defaultwerte aufweisen können, erzeugt das Editier-Tool 100 Instanzen
der Programmiersprachenobjektfragmente auf der Grundlage von Datenbankdefinitionen
und ersetzt die Defaultwerte durch die projektspezifischen Daten
für die
Prozesssteuerungseinheit.
-
Indem
die Programmiersprachenobjektfragmente als Vorlagen zur Verfügung gestellt
werden, können
die Programmiersprachenobjektfragmente mehrfach inner halb derselben
oder verschiedener grafischer Programmiersprachenobjekte verwendet und
mit unterschiedlichen Parameterwerten entsprechend den Projektspezifikationen
aktualisiert werden. Indem weiterhin die Programmiersprachenobjektfragmente
als Vorlagen zur Verfügung
gestellt werden, können
multiple Anwender einschließlich Anwendern
in unterschiedlichen Engineering- und Konstruktionsteams dieselben
Programmiersprachenobjektfragmente verwenden und diese entsprechend
ihren spezifischen Projektstandards modifizieren.
-
In
einem weiteren Beispiel kann, wenn ein Anwender ein grafisches Programmiersprachenobjekt
für eine
Prozesssteuerungseinheit in der logischen Schicht eines Prozesssteuerungssystems konfiguriert,
das Editier-Tool 100 generische Vorlagen/Klassen von bereits
vorhandenen Programmiersprachenobjektfragmenten verwenden und den
Defaultwerten Projektdaten überlagern.
Bisweilen ist es jedoch erforderlich, Vorlagen/Klassen von Programmiersprachenobjektfragmenten
zu erzeugen, die für einen
Endanwender spezifisch sind. Die Logik aus den Programmiersprachenobjektfragmenten
bleibt dieselbe, jedoch werden die Programmiersprachenobjektfragmente
mit anderen, projektspezifischen Defaultwerten zur Verfügung gestellt.
Derartige endanwenderspezifische Kopien werden im Codebibliotheks-Master 120 erzeugt
und in die Offline-Datenbanken 104 importiert. Die endanwenderspezifischen
Programmiersprachenobjektfragmente werden sodann als Ausgangspunkt
zum Konfigurieren eines grafischen Programmiersprachenobjekts für eine Prozesssteuerungseinheit
für den
Endanwender verwendet. Das Editier-Tool 100 beinhaltet
als solches nicht nur das Konfigurieren von grafischen Programmiersprachenobjekten
mittels Programmiersprachenobjektfragmenten, sondern auch den Aufbau
der Codebibliotheken mit endanwenderspezifischen Defaultwerten.
-
Zusätzlich zur
Verwendung von Programmiersprachenobjektfragmenten aus der Codebibliothek
können
einzelnen Anwender der Bibliothek neue Programmiersprachenobjektfragmente
hinzufügen, indem
sie diese erzeugen. Insbesondere können mit neuen Parameterwerten
modifizierte Programmiersprachenobjektfragmente oder andere Änderungen von
Eigenschaften innerhalb von grafischen Programmiersprachenobjektfragmenten
für andere Prozesssteuerungseinheiten
verwendet werden. Weiterhin können
Gruppen von Programmiersprachenobjektfragmenten aus der grafischen
Programmiersprachenobjektsicht 204 einschließlich des
grafischen Programmiersprachenobjekts selbst ausgewählt und
zusammen in einer Gruppe zusammengestellt werden, um ein zusammengesetztes
Programmiersprachenobjektfragment zu erzeugen, das innerhalb des
Codebibliotheks-Masters 120 gespeichert und auf die Workstations 130 verteilt
werden kann, um beim Konfigurieren von grafischen Programmiersprachenobjekten
für andere
Prozesssteuerungseinheiten verwendet zu werden. Die zusammengesetzten
Programmiersprachenobjektfragmente können als Vorlage mit oder ohne
Defaultwerte oder mit spezifischen Werten für die Prozesssteuerungseinheit, für die sie
ursprünglich
erzeugt worden waren, gespeichert werden.
-
Das
Editier-Tool 100 ermöglicht
weiterhin das gleichzeitige Editieren von Programmiersprachenobjektfragmenten
einschließlich
Modifikation, Löschung
etc. Auch wenn viele der obigen Beispiele ein Modifizieren von Eigenschaften
beinhalten, die multiplen Programmiersprachenobjektfragmenten gemeinsam
ist, ist darauf hinzuweisen, dass die Modifikationen über Parameterwerte
hinaus gehen und alle Eigenschaften der ausgewählten Programmiersprachenobjektfragmente
umfassen können.
-
Das
konfigurierte oder modifizierte grafische Programmiersprachenobjekt
kann in einer innerhalb der Offline-Datenbank 104 gespeicherten
Konfigurationsdatei 110 gespeichert werden. In einem Beispiel kann
jede an dem grafischen Programmiersprachenobjekt vorgenommene Änderung
einschließlich Änderungen
von Eigenschaften, Hinzufügen
oder Löschen
sämtlicher
Programmiersprachenobjektfragmente oder aller anderen Editiermerkmale
zu einer Aktualisierung der Konfigurationsdatei 110 führen. Die
Konfigurationsdatei 110 kann jedes Mal dann erzeugt werden,
wenn ein neues grafisches Programmiersprachenobjekt erzeugt wird,
oder die Konfigurationsdatei 110 kann problemlos aus der
Konfigurationsdatenbank importiert und in ein von der Offline-Datenbank 104 verwendetes
Format konvertiert werden.
-
Da
Dokumentation ein wichtiger Teil jedes Prozesssteuerungsprojekts
ist und da Prozesssteuerungs-Endanwender Dokumente in standardisierten Formaten
wie beispielsweise Microsoft Word und Microsoft Visio bevorzugen,
ist es wichtig, die Berichtsdokumentation auf der Grundlage von
Projektstandards des Endanwenders zu erstellen. Die Offline-Datenbank 104 als
solche speichert Projektdaten einschließlich der Konfigurationsdatei 110 in
einem Format, das von standardisierten Tools wie beispielsweise
den in der Suite von Anwendungen von Microsoft Office zur Verfügung gestellten
Anwendungen problemlos gelesen wird. Ein Beispiel für derartige
Formate sind SQL und XML, das zahlreiche verschiedene Dokumentationsformate
wie beispielsweise Word, PDF, HTML, Visio etc. für das Lesen und Importieren
der Daten zulässt.
-
Das
Berichts-Tool 102 kann die Daten für ein grafisches Programmiersprachenobjekt,
wie innerhalb der Konfigurationsdatei gespeichert, aus der Offline-Datenbank 104 nehmen.
Da die Offline-Datenbank als SQL-Datenbank zur Verfügung gestellt werden
kann, werden die Daten in einem Format gespeichert, das von Standard-Tools wie beispielsweise
Microsoft Word und Microsoft Visio problemlos gelesen und verstanden
wird, und das Berichts-Tool 102 kann die Datenfelder des
von der Offline-Datenbank 104 verwendeten
Formats (beispielsweise XML-Felder, SQL-Tabellenspalten) auf Datenfelder einer
Berichtsdokumentvorlage abbilden. Das Berichts-Tool 102 kann
sodann die Datenfelder des Berichtsdokuments entsprechend der Abbildung
zwischen den beiden Formaten populieren. Das Berichtsdokument ist
kundenspezifisch anpassbar und kann in jedem vom Endanwender definierten
Format zur Verfügung
gestellt werden. Derartige gemeinsame Dokumente und Datenverwaltungs-Tools
können verwendet
werden, um den Projektfortschritt problemlos über mehrere Offline-Datenbanken
und zugeordnete Engineering- und Konstruktionsteams zu verfolgen
und zu kontrollieren, wobei es jedem Engineering- und Konstruktionsteam
erlaubt ist, mit Daten in seinem jeweiligen bevorzugten Format zu
arbeiten, ohne die Regeln und Formate der Konfigurationsdatenbank
einhalten zu müssen.
-
Selbstverständlich ist
darauf hinzuweisen, dass eine Umkehr des obigen Abbildungsmerkmals vorgenommen
werden kann, wenn Daten aus der Konfigurationsdatenbank in die Offline-Datenbank 104 importiert
werden. Beispielsweise können
in dem Berichtsdokument in einer anderen Offline-Datenbank oder
in der Konfigurationsdatenbank neue Eigenschaften hinzugefügt oder
modifiziert werden. Die neuen Eigenschaften oder anderen Daten können gelesen
und die Datenfelder können
aus dem Berichtsdokumentformat in das Offline-Datenbankformat abgebildet
werden und die Offline-Datenbank 104 kann mit den neuen
Eigenschaften oder anderen Daten populiert werden. Die neuen Daten
können verwendet
werden, um Programmiersprachenobjektfragmente zu aktualisieren oder
zu erzeugen, die besonders nützlich
bei der Aktualisierung von Eigenschaften für ein grafisches Programmiersprachenobjekt
sein können.
Als solches kann das Konfigurieren und Modifizieren eines grafischen
Programmiersprachenobjekts zwischen verschiedenen Engineering- und
Konstruktionsteams durchgeführt
werden, von denen jedes unabhängig
arbeiten kann, sowie zwischen den Engineering- und Konstruktionsteams
und der Konfigurationsdatenbank. Gleichzeitig braucht jede Offline-Datenbank 104 lediglich
einen grafischen Programmiersprachenobjekttyp wie beispielsweise
ein SFC-Objekt zu verwenden.
-
Da
Anwender auch Projektdaten mittels anderer Tools für das Engineering
und die Entwicklung eines Prozesssteuerungsprojekts wie beispielsweise computergestützte Zeichnungs-(CAD-)Anwendungen
erzeugen können,
die in einem anderen Format als die Offline-Datenbank 104 vorliegen,
das jedoch für
die Engineering-Produktivität
nützlich
ist. Als solche kann die Offline-Datenbank 104 als zentralisierte Projektdatenbank
oder Datenbank verwendet werden und andere Daten als grafische Programmiersprachenobjektdaten
können
ebenfalls in die Offline-Datenbank 104 integriert werden.
Insbesondere können
Datenfelder der anderen Tools wie beispielsweise Datenfelder aus
Datendateien der Tools mittels der oben beschriebenen Konvertierungs-
und Abbildungstechniken auf die Datenfelder der Offline-Datenbank 104 wie
beispielsweise die Datenfelder von SQL-Tabellen abgebildet werden
und die Datenfelder können
entsprechend populiert werden. Tabellen können zu der Offline-Datenbank 104 für die zusätzlichen
Projektdaten hinzugefügt
werden und die Daten können
beim Konfigurieren von grafischen Programmsprachenobjekten verwendet
oder in die Konfigurationsdatei zum Export in die Konfigurationsdatenbank
integriert werden. Entsprechend ist ein Anwender in der Lage, andere
Tools und Anwendungen über
das Editier- und Berichts-Tool hinaus zu verwenden, während eine
vollständige
Datenintegration möglich
ist.
-
Weiterhin
sind Anwender in der Lage, die grafischen Programmiersprachenobjekte
oder Programmiersprachenobjektfragmente aus dem Berichts-Tool 102 zu
editieren. Da beispielsweise die Berichtsdokumentation aus den Daten
des grafischen Programmiersprachenobjekts erzeugt wird und da die
Daten zwischen Datenfeldern des von der Offline-Datenbank 104 verwendeten
Formats und Datenfeldern der Berichtsdokumentvorlage abgebildet
werden, kann ein Anwender die Objekte aus dem Berichts-Tool 102 editieren,
indem er die Daten (beispielsweise Parameterwerte) editiert und
die editierten Daten zurück
in die Offline-Datenbank 104 schiebt, indem er die Datenfelder
des Offline-Datenbankformats (beispielsweise SQL-Tabellen) mit den editierten
Daten populiert.
-
Auch
wenn der obige Text eine detaillierte Beschreibung mehrerer unterschiedlicher
Ausprägungen
der Erfindung enthält,
so sei darauf hingewiesen, dass der Umfang der Erfindung durch die
Beschreibung der Ansprüche
am Ende dieses Patents definiert wird. Die detaillierte Beschreibung
ist lediglich beispielhaft zu verstehen und beschreibt nicht jede
mögliche
Ausprägung
der Erfindung, da eine Beschreibung jeder möglichen Ausprägung nicht
mit realistischem Aufwand möglich,
wenn nicht sogar vollkommen unmöglich,
wäre. Es
könnten
unter Einsatz aktueller Technologien oder unter Einsatz von Technologien,
die erst nach dem Tage der Einreichung dieser Offenlegungsschrift
entwickelt werden, zahlreiche alternative Ausprägungen realisiert werden, die
nach wie vor von den die Erfindung beschreibenden Ansprüchen abgedeckt
wären.
-
Während das
Editier- und Berichtssystem und -verfahren und andere Elemente als
bevorzugt in Software implementiert beschrieben wurden, können diese
in Hardware, Firmware etc. implementiert werden und sie können von
einem anderen Prozessor implementiert werden. Die hierin beschriebenen
Elemente können
mithin in einer Standard-Mehrzweck-CPU oder auf spezifisch konstruierter
Hardware oder Firmware wie beispielsweise einem anwendungsspezifischen
integrierten Schaltkreis (ASIC) oder einem anderen festverdrahteten
Gerät, wie
gewünscht,
implementiert werden. Die Softwareroutine kann, wenn in Software
implementiert, in jedem computerlesbaren Speicher wie beispielsweise auf
Magnetplatte, Laser-Disk oder einem anderen Speichermedium, in einem
Arbeitsspeicher oder in einem Nurlesespeicher eines Computers oder
Prozessors, in einer Datenbank etc. gespeichert werden. Entsprechend
kann diese Software einem Anwender oder einer Prozesssteuerungsanlage
mittels jeder bekannten oder gewünschten Übergabemethode
wie beispielsweise auf einer computerlesbaren Diskette oder einem
anderen transportablen Computer-Speichermedium übergeben oder über einen
Kommunikationskanal wie beispielsweise eine Telefonleitung, das
Internet, per drahtloser Kommunikation etc. gesendet werden (wobei
diese als identisch oder austauschbar mit der Übergabe der betreffenden Software
mittels eines transportablen Speichermediums betrachtet werden).
-
Es
können
mithin zahlreiche Modifikationen und Abwandlungen der hier beschriebenen
und dargestellten Techniken und Strukturen vorgenommen werden, ohne
vom Geist und Umfang der vorliegenden Erfindung abzuweichen. Entsprechend
wird darauf hingewiesen, dass die hier beschriebenen Verfahren und
Vorrichtungen lediglich veranschaulichende Funktion haben und den
Umfang der Erfindung nicht einschränken.