DE102007040823A1 - Editier- und Berichts-Tool für Grafische Programmiersprachenobjekte - Google Patents

Editier- und Berichts-Tool für Grafische Programmiersprachenobjekte Download PDF

Info

Publication number
DE102007040823A1
DE102007040823A1 DE102007040823A DE102007040823A DE102007040823A1 DE 102007040823 A1 DE102007040823 A1 DE 102007040823A1 DE 102007040823 A DE102007040823 A DE 102007040823A DE 102007040823 A DE102007040823 A DE 102007040823A DE 102007040823 A1 DE102007040823 A1 DE 102007040823A1
Authority
DE
Germany
Prior art keywords
programming language
language object
graphical
fragments
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102007040823A
Other languages
English (en)
Inventor
Mark J. Round Rock Nixon
Ling Cedar Park Zhou
Brian Austin Crandall
Larry O. Round Rock Jundt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fisher Rosemount Systems Inc
Original Assignee
Fisher Rosemount Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fisher Rosemount Systems Inc filed Critical Fisher Rosemount Systems Inc
Publication of DE102007040823A1 publication Critical patent/DE102007040823A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S715/00Data processing: presentation processing of document, operator interface processing, and screen saver display processing
    • Y10S715/961Operator interface with visual structure or function dictated by intended use
    • Y10S715/965Operator interface with visual structure or function dictated by intended use for process control and configuration
    • Y10S715/966Computer process, e.g. operation of computer
    • Y10S715/967Visual or iconic programming

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)

Abstract

Verfahren und System zum Editieren eines grafischen Programmierspracheobjekts zur Entwicklung einer Prozesssteuerungseinheit innerhalb einer Offline-Datenbank. Das Verfahren und System versetzt einen Anwender in die Lage, ein oder mehrere Programmiersprachenobjektfragmente aus einer Bibliothek von Programmiersprachenobjektfragmenten auszuwählen, und zeigt die ausgewählten Programmiersprachenobjektfragmente innerhalb einer grafischen Programmiersprachen-Objektphasenanzeige an. Jedes Programmiersprachenobjektfragment weist eine Programmierlogikroutine für die Prozesssteuerungseinheit auf. Unter Verwendung der ausgewählten Programmiersprachenobjektfragmente wird der Anwender in die Lage versetzt, ein grafisches Programmiersprachenobjekt für eine Prozesssteuerungseinheit innerhalb einer grafischen Programmiersprachenobjekt- oder Phasenanzeige zu konfigurieren. Das grafische Programmiersprachenobjekt wird als Konfigurationsdatei in einem von der Offline-Datenbank verwendeten Format gespeichert und in ein anderes als das von der Offline-Datenbank für die Erzeugung von Berichtdokumentation und für den Austausch der Konfigurationsdatei mit der Konfigurationsdatenbank verwendete Format abgebildet.

Description

  • 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.

Claims (45)

  1. Verfahren des Editierens eines grafischen Programmiersprachenobjekts zur Entwicklung einer Prozesssteuerungseinheit innerhalb einer Offline-Datenbank, wobei die Offline-Datenbank eine von einer Mehrzahl von Datenbanken aufweist, die jeweils kommunikativ mit einer zentralen Konfigurationsdatenbank verbunden sind, wobei das Verfahren aufweist: Ermöglichen der Auswahl von Daten durch einen Anwender, die sich auf ein oder mehr Programmiersprachenobjektfragmente aus einer Bibliothek von Programmiersprachenobjektfragmenten beziehen, wobei jedes Programmiersprachenobjektfragment eine Programmierlogikroutine für eine Prozesssteuerungseinheit aufweist; Anzeige des einen oder der mehreren ausgewählten Programmiersprachenobjektfragmente innerhalb einer grafischen Programmiersprachen-Schnittstellenanzeige; Ermöglichen der Konfigurierung eines grafischen Programmiersprachenobjekts durch den Nutzer für eine Prozesssteuerungseinheit aus dem einen oder den mehreren ausgewählten Programmiersprachenobjektfragmenten innerhalb der grafischen Programmiersprachen-Schnittstellenanzeige und Speichern des konfigurierten grafischen Programmiersprachenobjekts als Konfigurationsdatei.
  2. Verfahren nach Anspruch 1, wobei das Ermöglichen der Auswahl von Daten, die sich auf ein oder mehrere Programmiersprachenobjektfragmente beziehen, aus einer Bibliothek von Programmiersprachenobjektfragmenten durch einen Anwender die Anzeige der Programmiersprachenobjektfragmente als Vorlagen innerhalb einer Anzeige einer grafischen Programmiersprachenbibliothek beinhaltet.
  3. Verfahren nach Anspruch 1, wobei die Anzeige des einen oder der mehreren ausgewählten Programmiersprachenobjektfragmente innerhalb einer grafischen Programmiersprachen-Schnittstellenanzeige die Anzeige von Eigenschaften des einen oder der mehreren ausgewählten Programmiersprachenobjektfragmente beinhaltet; wobei das Ermöglichen des Konfigurierens eines grafischen Programmiersprachenobjekts für eine Prozesssteuerungseinheit aus dem einen oder den mehreren ausgewählten Programmiersprachenobjektfragmenten durch den Anwender beinhaltet, den Anwender in die Lage zu versetzen, Werte für die Eigenschaften des einen oder der mehreren ausgewählten Programmiersprachenobjektfragmente zur Verfügung zu stellen, und wobei die Speicherung des konfigurierten grafischen Programmiersprachenobjekts als Konfigurationsdatei die Speicherung des einen oder der mehreren ausgewählten Programmiersprachenobjektfragmente mit den zur Verfügung gestellten Werten beinhaltet.
  4. Verfahren nach Anspruch 3, wobei die Eigenschaften des einen oder der mehreren ausgewählten Programmiersprachenobjektfragmente Defaultwerte für die Eigenschaften des einen oder der mehreren ausgewählten Programmiersprachenobjektfragmente beinhaltet; und wobei es das Ermöglichen, Werte für die Eigenschaften des einen oder der mehreren ausgewählten Programmiersprachenobjektfragmente durch den Anwender zur Verfügung zu stellen, beinhaltet, die Defaultwerte für die Eigenschaften des einen oder der mehreren ausgewählten Programmiersprachenobjektfragmente zu verändern.
  5. Verfahren nach Anspruch 1, wobei das Ermöglichen des Konfigurierens eines grafischen Programmiersprachenobjekts für eine Prozesssteuerungseinheit durch den Anwender aus dem einen oder den mehreren ausgewählten Programmiersprachenobjektfragmenten beinhaltet: Kopieren eines ausgewählten Programmiersprachenobjektfragments aus der grafischen Benutzerschnittstelle einer grafischen Programmierschnittstellenanzeige heraus und Hinzufügen des kopierten Programmiersprachenobjektfragments zu der Konfigurationsdatei.
  6. Verfahren nach Anspruch 1, wobei das Ermöglichen des Konfigurierens eines grafischen Programmiersprachenobjekts aus dem einen oder den mehreren ausgewählten Programmiersprachenobjektfragmenten durch den Anwender beinhaltet, den Anwender in die Lage zu versetzen, logische Verbindungen zwischen einem E/A eines ersten einen des einen oder der mehreren ausgewählten Programmiersprachenobjektfragmente und einem E/A eines zweiten Programmiersprachenobjektfragments herzustellen.
  7. Verfahren nach Anspruch 1, wobei das Ermöglichen des Konfigurierens eines grafischen Programmiersprachenobjekts durch den Anwender aus dem einen oder den mehreren ausgewählten Programmiersprachenobjektfragmenten beinhaltet: Ermöglichen des gleichzeitigen Auswählens einer Mehrzahl von Programmiersprachenobjektfragmenten aus der grafischen Programmiersprachen-Schnittstellenanzeige durch den Anwender; Anzeige einer gemeinsamen Eigenschaft innerhalb der ausgewählten Mehrzahl von Programmiersprachenobjektfragmenten und Ermöglichen der gleichzeitigen Veränderung der gemeinsamen Eigenschaft durch einen Anwender für sämtliche der ausgewählten Mehrzahl von Programmiersprachenobjektfragmenten.
  8. Verfahren nach Anspruch 1, wobei das Ermöglichen des Konfigurierens eines grafischen Programmiersprachenobjekts durch den Anwender aus dem einen oder den mehreren ausgewählten Programmiersprachenobjektfragmenten beinhaltet: Ermöglichen des Auswählens einer Mehrzahl von Programmiersprachenobjektfragmenten aus der grafischen Programmiersprachen-Schnittstellenanzeige durch den Anwender und Ermöglichen des Löschens der ausgewählten Mehrzahl von Programmiersprachenobjektfragmenten aus dem grafischen Programmiersprachenobjekt durch den Anwender.
  9. Verfahren nach Anspruch 1, wobei das Ermöglichen des Konfigurierens eines grafischen Programmiersprachenobjekts aus dem einen oder den mehreren ausgewählten Programmiersprachenobjektfragmenten durch den Anwender beinhaltet, den Anwender in die Lage zu versetzen, ein grafisches Programmiersprachenobjekt aus einem früheren, innerhalb der Bibliothek von Programmiersprachenobjektfragmenten als Programmiersprachenobjektfragment gespeicherten grafischen Programmiersprachenobjekt zu konfigurieren.
  10. Verfahren nach Anspruch 1, weiterhin aufweisend die Speicherung des grafischen Programmiersprachenobjekts als neuem Programmiersprachenobjektfragment innerhalb der Bibliothek von Programmiersprachenobjektfragmenten.
  11. Verfahren nach Anspruch 1, weiterhin aufweisend: Kopieren einer Programmiersprachenobjektfragmentvorlage, wobei die Programmiersprachenobjektfragmentvorlage eine Grundstruktur des Programmiersprachenobjektfragments aufweist; Ermöglichen des Konfigurierens der Kopie der Programmiersprachenobjektfragmentvorlage durch den Anwender und Speichern der konfigurierten Kopie der Programmiersprachenobjektfragmentvorlage als neuem Programmiersprachenobjektfragment innerhalb der Bibliothek von Programmiersprachenobjektfragmenten.
  12. Verfahren nach Anspruch 1, weiterhin aufweisend: Ermöglichen des Gruppierens einer Mehrzahl von Programmiersprachenobjektfragmenten aus der grafischen Programmiersprachen-Schnittstellenanzeige durch den Anwender in ein zusammengesetztes Programmiersprachenobjektfragment und Speicherung des zusammengesetzten Programmiersprachenobjektfragments innerhalb der Bibliothek von Programmiersprachenobjektfragmenten.
  13. Verfahren nach Anspruch 1, weiterhin aufweisend das Senden des grafischen Programmiersprachenobjekts an eine zentrale Konfigurationsdatenbank.
  14. Verfahren nach Anspruch 1, weiterhin aufweisend: Formatieren von Daten des grafischen Programmiersprachenobjekts gemäß einem ersten, der Offline-Datenbank zugeordneten Schema, um formatierte grafische Programmiersprachenobjektdaten zu bilden, und Abbilden der formatierten grafischen Programmiersprachenobjektdaten auf ein zweites, der Konfigurationsdatenbank zugeordnetes Schema, um abgebildete grafische Programmiersprachenobjektdaten zu bilden, und Senden der abgebildeten grafischen Programmiersprachenobjektdaten an die Konfigurationsdatenbank.
  15. Verfahren nach Anspruch 4, wobei die Abbildung der formatierten grafischen Programmiersprachenobjektdaten auf ein zweites, der Konfigurationsdatenbank zugeordnetes Schema, um abgebildete grafische Programmiersprachenobjektdaten zu bilden, das Abbilden der formatierten grafischen Programmiersprachenobjektdaten auf ein zweites, einem Berichtsdokument zugeordnetes Schema beinhaltet, um abgebildete grafische Programmiersprachenobjektdaten zu bilden, wobei das Verfahren weiterhin das Populieren von Datenfeldern des Berichtsdokuments mit den abgebildeten grafischen Programmiersprachenobjektdaten beinhaltet.
  16. Verfahren nach Anspruch 1, weiterhin aufweisend: Empfangen einer modifizierten Form des grafischen Programmiersprachenobjekts aus der Konfigurationsdatenbank, wobei die Daten des modifizierten grafischen Programmiersprachenobjekts gemäß einem ersten, der Konfigurationsdatenbank zugeordneten Schema formatiert sind; Abbilden der grafischen Programmiersprachenobjektdaten auf ein zweites, der Offline-Datenbank zugeordnetes Schema, um abgebildete grafische Programmiersprachenobjektdaten zu bilden; Ermöglichen des Konfigurierens des modifizierten grafischen Programmiersprachenobjekts für eine Prozesssteuerungseinheit aus den abgebildeten grafischen Programmiersprachenobjektdaten durch den Anwender; Abbilden der Daten des konfigurierten, modifizierten grafischen Programmiersprachenobjekts auf das erste, der Konfigurationsdatenbank zugeordnete Schema und Senden der abgebildeten grafischen Programmiersprachenobjektdaten des konfigurierten, modifizierten grafischen Programmiersprachenobjekts an die Konfigurationsdatenbank.
  17. Verfahren nach Anspruch 1, wobei das grafische Programmiersprachenobjekt ein Funktionsobjekt aufweist.
  18. Verfahren nach Anspruch 17, wobei das Funktionsobjekt ein sequentielles Funktionsblockdiagrammobjekt aufweist.
  19. Verfahren nach Anspruch 1, wobei die Bibliothek der Programmiersprachenobjektfragmente eine vordefinierte Liste eines oder mehrerer der folgenden Elemente aufweist: Aktionen für die Prozesssteuerungseinheit, Schritte für die Prozesssteuerungseinheit und Übergänge für die Prozesssteuerungseinheit.
  20. Editier- und Berichtssystem zur Verwendung bei der Entwicklung einer Prozesssteuerungseinheit unter Verwendung eines grafischen Programmiersprachenobjekts, wobei das Editier- und Berichtssystem aufweist: eine Datenbank, angepasst, um eine Mehrzahl von Programmiersprachenobjektfragmenten zu speichern, wobei jedes Programmiersprachenobjektfragment eine Programmierlogikroutine für die Prozesssteuerungseinheit aufweist, und eine in einem computerlesbaren Speicher gespeicherte Anzeigeanwendung, angepasst, um auf einem Prozessor ausgeführt zu werden, um eine Anzeige zum Konfigurieren eines grafischen Programmiersprachenobjekts für die Prozesssteuerungseinheit aus dem einen oder den mehreren der Programmiersprachenobjektfragmente zu erzeugen, wobei die Anzeige eine Schablonensicht aufweist, die eine Mehrzahl von Grafiken besitzt, die verschiedene einzelne der Programmiersprachenobjektfragmente repräsentieren, sowie eine grafische Programmiersprachenobjektsicht, wobei die Anzeigeanwendung einen Anwender in die Lage versetzt, verschiedene einzelne der Programmiersprachenobjektfragmentdarstellungen innerhalb einer Schablonensicht auszuwählen, um ein Programmiersprachenobjektfragment zu definieren, das in das grafische Programmiersprachenobjekt aufzunehmen ist, und wobei die Anzeigeanwendung die Programmiersprachenobjektfragmentdarstellung in der grafischen Programmiersprachenobjektansicht präsentiert, um den Anwender in die Lage zu versetzen, das grafische Programmiersprachenobjekt für die Prozesssteuerungseinheit zu konfigurieren.
  21. Editier- und Berichtssystem nach Anspruch 20, wobei die Datenbank, die angepasst ist, eine Mehrzahl von Programmiersprachenobjektfragmenten zu speichern, eine Programmiersprachencode-Bibliotheksdatei aufweist, die eine Liste von Aktionen, Schritten und Übergängen aufweist, die beim Konfigurieren des grafischen Programmiersprachenobjekts für die Prozesssteuerungseinheit zu verwenden sind.
  22. Editier- und Berichtssystem nach Anspruch 20, wobei die Anzeigeanwendung weiterhin eine Parametersicht aufweist, und wobei die Anzeigeanwendung den Anwender in die Lage versetzt, verschiedene einzelne der Programmiersprachenobjektfragmentdarstellungen in der grafischen Programmiersprachenobjektsicht auszuwählen, und Eigenschaften der ausgewählten Programmiersprachenobjektfragmentdarstellung in der Parametersicht anzeigt.
  23. Editier- und Berichtssystem nach Anspruch 20, wobei die Anzeigeanwendung weiterhin eine Hierarchiesicht mit einem Diagramm des grafischen Programmiersprachenobjekts aufweist, das eine Mehrzahl von Logikblöcken aufweist, die entsprechend einer logischen Beziehung angezeigt werden.
  24. Editier- und Berichtssystem nach Anspruch 23, wobei die Anzeigeanwendung weiterhin eine Parametersicht aufweist, und wobei die Anzeigeanwendung den Anwender in die Lage versetzt, verschiedene einzelne der Logikblöcke innerhalb der Hierarchiesicht auszuwählen, und Eigenschaften des ausgewählten Logikblocks innerhalb der Parametersicht anzeigt.
  25. Editier- und Berichtssystem nach Anspruch 20, wobei die Anzeigeanwendung weiterhin eine Zusammenfassungssicht aufweist, die eine Liste sämtlicher Programmiersprachenobjektfragmente enthält, die für ein bestimmtes grafisches Programmiersprachenobjekt konfiguriert wurden, das innerhalb der grafischen Programmiersprachenobjektsicht angezeigt wird, wobei die Anzeigeanwendung den Anwender in die Lage versetzt, ausgewählte einzelne der innerhalb der Zusammenfassungssicht angezeigten Programmiersprachenobjektfragmente auszuwählen.
  26. Editier- und Berichtssystem nach Anspruch 25, wobei die Zusammenfassungssicht eine Schritt-/Übergangstabelle aufweist, die ein Betrachten von Schritten und Übergängen ermöglicht, die für das grafische Programmiersprachenobjekt konfiguriert wurden, das innerhalb der grafischen Programmiersprachenobjektsicht angezeigt wird.
  27. Editier- und Berichtssystem nach Anspruch 26, wobei die Zusammenfassungssicht eine Aktionstabelle aufweist, die ein Betrachten von Aktionen ermöglicht, die für einen ausgewählten einen der Schritte aus der Schritt-/Übergangstabelle konfiguriert wurden.
  28. Editier- und Berichtssystem nach Anspruch 25, wobei die Zusammenfassungssicht eine Fehlertabelle aufweist, die ein Betrachten von Fehlerbedingungen in Verbindung mit dem grafischen Programmiersprachenobjekt ermöglicht, das innerhalb der grafischen Programmiersprachenobjektsicht angezeigt wird.
  29. Editier- und Berichtssystem nach Anspruch 20, wobei die Anzeigeanwendung weiterhin den Anwender in die Lage versetzt, Eigenschaften des ausgewählten einen der Programmiersprachenobjektfragmente zu modifizieren.
  30. Editier- und Berichtssystem nach Anspruch 20, wobei die Anzeigeanwendung weiterhin den Anwender in die Lage versetzt, eine Mehrzahl von Programmiersprachenobjektfragmentdarstellungen aus der grafischen Programmiersprachenobjektsicht auszuwählen und gleichzeitig eine gemeinsame Eigenschaft der Programmiersprachenobjektfragmente zu modifizieren, die der ausgewählten Mehrzahl von Programmiersprachenobjektfragmentdarstellungen zugeordnet sind.
  31. Editier- und Berichtssystem nach Anspruch 20, wobei die Anzeigeanwendung weiterhin den Anwender in die Lage versetzt, eine Mehrzahl von Programmiersprachenobjektfragmentdarstellungen aus der grafischen Programmiersprachenobjektsicht auszuwählen und gleichzeitig die Programmiersprachenobjektfragmente zu löschen, die der ausgewählten Mehrzahl von Programmiersprachenobjektfragmentdarstellungen zugeordnet sind.
  32. Editier- und Berichtssystem nach Anspruch 20, wobei die Anzeigeanwendung weiterhin den Anwender in die Lage versetzt, logische Verbindungen zwischen einem E/A eines ersten Programmiersprachenobjektfragments und einem E/A eines zweiten Programmiersprachenobjektfragments innerhalb der grafischen Programmiersprachenobjektsicht herzustellen.
  33. Editier- und Berichtssystem nach Anspruch 20, wobei die Anzeigeanwendung weiterhin den Anwender in die Lage versetzt, eine oder mehrere Programmiersprachenobjektfragmente, die innerhalb der grafischen Programmiersprachenobjektsicht angezeigt werden, als zusammengesetztes Programmiersprachenobjektfragment zu speichern, und wobei die Anzeigeanwendung die zusammengesetzten Programmiersprachenobjektfragmente innerhalb der Schablonensicht als Programmiersprachenobjektfragment anzeigt.
  34. Editier- und Berichtssystem nach Anspruch 20, weiterhin eine in einem computerlesbaren Speicher gespeicherte Berichtsanwendung aufweisend, angepasst, um auf einem Prozessor ausgeführt zu werden, um Daten des grafischen Programmiersprachenobjekts gemäß einem ersten Schema zu formatieren, um formatierte, grafische Programmiersprachenobjektdaten zu bilden, die formatierten grafischen Programmiersprachenobjektdaten auf ein zweites, einer Konfigurationsdatenbank zugeordnetes Schema abzubilden, um grafische Programmiersprachenobjekt daten zu bilden und die abgebildeten, grafischen Programmiersprachenobjektdaten an die Konfigurationsdatenbank zu senden.
  35. Editier- und Berichtssystem nach Anspruch 34, wobei die Berichtsanwendung die formatierten grafischen Programmiersprachenobjektdaten auf ein zweites, einem Berichtsdokument zugeordnetes Schema abbildet, um abgebildete, grafische Programmiersprachenobjektdaten zu bilden, und wobei die Berichtsanwendung weiterhin Datenfelder des Berichtsdokuments mit den abgebildeten, grafischen Programmiersprachenobjektdaten populiert.
  36. Verfahren zum Editieren und Berichten eines grafischen Programmiersprachenobjekts zur Verwendung bei der Entwicklung einer Prozesssteuerungseinheit, aufweisend: Speichern einer Mehrzahl von Programmiersprachenobjektfragmenten, jedes eine Programmiersprachenlogikroutine für eine Prozesssteuerungseinheit in einer Datenbank aufweisend; Anzeigen einer Schablonensicht mit einer Mehrzahl von Programmiersprachenobjektfragmentdarstellungen einer Mehrzahl von Programmiersprachenobjektfragmenten; Anzeigen einer einem zu konfigurierenden grafischen Programmiersprachenobjekt zugeordneten grafischen Programmiersprachenobjektsicht; Ermögen der Auswahl einer der Mehrzahl von Programmiersprachenobjektfragmentdarstellungen durch einen Anwender innerhalb der Schablonensicht zur Integration in das grafische Programmiersprachenobjekt; Darstellung der der ausgewählten Programmiersprachenobjektfragmentdarstellung zugeordneten Programmiersprachenobjektfragmente in der grafischen Programmiersprachenobjektsicht; Ermöglichen des Konfigurierens des grafischen Programmiersprachenobjekts durch den Anwender mittels des ausgewählten Programmiersprachenobjektfragments und Speichern des konfigurierten grafischen Programmiersprachenobjekts.
  37. Verfahren nach Anspruch 36, weiterhin aufweisend: Anzeigen einer Eigenschaften des ausgewählten Programmiersprachenobjektfragments zugeordneten Parametersicht und Ermöglichen der Modifizierung einer oder mehrerer der innerhalb der Parametersicht angezeigten Eigenschaften durch den Anwender.
  38. Verfahren nach Anspruch 36, weiterhin beinhaltend die Anzeige einer dem grafischen Programmiersprachenobjekt zugeordneten Hierarchiesicht, wobei das grafische Programmiersprachenobjekt innerhalb der grafischen Programmiersprachenobjektsicht entsprechend einem ersten Format dargestellt wird und wobei das grafische Programmiersprachenobjekt innerhalb der Hierarchiesicht entsprechend einem zweiten Format dargestellt wird.
  39. Verfahren nach Anspruch 38, wobei das zweite Format eine Mehrzahl von Logikblöcken aufweist, die entsprechend einer logischen Beziehung angezeigt werden.
  40. Verfahren nach Anspruch 36, wobei das grafische Programmiersprachenobjekt eine Mehrzahl von Programmiersprachenobjektfragmenten aufweist, und wobei das Ermöglichen des Konfigurierens des grafischen Programmiersprachenobjekts durch den Anwender es beinhaltet, den Anwender in die Lage zu versetzen, eine Mehrzahl von Programmiersprachenobjektfragmenten innerhalb der grafischen Programmiersprachenobjektsicht auszuwählen und gleichzeitig eine gemeinsame Eigenschaft der ausgewählten Mehrzahl von Programmiersprachenobjektfragmenten zu modifizieren.
  41. Verfahren nach Anspruch 36, wobei das grafische Programmiersprachenobjekt eine Mehrzahl von Programmiersprachenobjektfragmenten aufweist, und wobei das Ermöglichen des Konfigurierens des grafischen Programmiersprachenobjekts durch den Anwender es beinhaltet, den Anwender in die Lage zu versetzen, eine Mehrzahl von Programmiersprachenobjektfragmenten innerhalb der grafischen Programmiersprachenobjektsicht auszuwählen und gleichzeitig die ausgewählte Mehrzahl von Programmiersprachenobjektfragmenten zu löschen.
  42. Verfahren nach Anspruch 36, weiterhin aufweisend: Ermöglichen des Auswählens einer Mehrzahl von Programmiersprachenobjektfragmenten innerhalb der grafischen Programmiersprachenobjektsicht durch den Anwender; Speichern der Mehrzahl der ausgewählten Programmiersprachenobjektfragmente als zusammengesetztes Programmiersprachenobjektfragment und Anzeigen des zusammengesetzten Programmiersprachenobjektfragments innerhalb der Schablonensicht.
  43. Verfahren nach Anspruch 36, weiterhin aufweisend: Formatieren von Daten des grafischen Programmiersprachenobjekts entsprechend einem Extensible Markup Language-Schema, um formatierte grafische Programmiersprachenobjektdaten zu bilden; Abbilden der formatierten grafischen Programmiersprachenobjektdaten auf ein einem Berichtsdokument zugeordnetes Schema, um abgebildete grafische Programmiersprachenobjektdaten zu bilden; Populieren von Datenfeldern der Berichtsdokumente mit den abgebildeten grafischen Programmiersprachenobjektdaten und Senden der populierten Berichtsdokumente an eine Konfigurationsdatenbank.
  44. Verfahren nach Anspruch 36, wobei das Speichern des konfigurierten grafischen Programmiersprachenobjekts die Speicherung des konfigurierten grafischen Programmiersprachenobjekts in einer Offline-Datenbank beinhaltet und wobei das Verfahren weiterhin aufweist: Formatieren von Daten des grafischen Programmiersprachenobjekts gemäß einem der Offline-Datenbank zugeordneten Schema, um formatierte grafische Programmiersprachenobjektdaten zu bilden; Abbilden der formatierten, von dem Offline-Datenbankformat verschiedenen grafischen Programmiersprachenobjektdaten auf ein einem Berichtsdokument zugeordnetes Schema, um abgebildete grafische Programmiersprachenobjektdaten zu bilden; Populieren von Datenfeldern der Berichtsdokumente mit den abgebildeten grafischen Programmiersprachenobjektdaten; Ermöglichen des Editierens der grafischen Programmierungssprachenobjektdaten aus dem Berichtsdokument durch einen Anwender; Populieren von Datenfeldern einer Offline-Datenbank mit den editierten grafischen Programmiersprachenobjektdaten und Speichern der editierten grafischen Programmiersprachenobjektdaten in der Offline-Datenbank.
  45. Verfahren nach Anspruch 36, wobei das Speichern des konfigurierten grafischen Programmiersprachenobjekts die Speicherung des konfigurierten grafischen Programmiersprachenobjekts in einer Offline-Datenbank beinhaltet und wobei das Verfahren weiterhin aufweist: Empfangen von Prozesssteuerungseinheit-Projektdaten, die von dem Projekt-Tool der Prozesssteuerungseinheit an der Offline-Datenbank erzeugt werden, wobei die Prozesssteuerungseinheit-Projektdaten in einem anderen Format als in dem von der Offline-Datenbank verwendeten vorliegen; Abbilden der Prozessteuerungseinheit-Projektdaten aus einem dem Format des Projekt-Tools der Prozesssteuerungseinheit zugeordneten Schema auf ein Schema, das dem Offline-Datenbankformat zugeordnet ist, um abgebildete Prozesssteuerungseinheit-Projektdaten zu bilden; Populieren von Datenfeldern der Offline-Datenbank mit den abgebildeten Prozesssteuerungseinheit-Projektdaten und Integrieren der populierten Prozesssteuerungseinheit-Projektdaten in einer Konfigurationsdatei mit dem konfigurierten grafischen Programmiersprachenobjekt.
DE102007040823A 2006-09-01 2007-08-29 Editier- und Berichts-Tool für Grafische Programmiersprachenobjekte Pending DE102007040823A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/469,827 US7668608B2 (en) 2006-09-01 2006-09-01 Graphical programming language object editing and reporting tool
US11/469,827 2006-09-01

Publications (1)

Publication Number Publication Date
DE102007040823A1 true DE102007040823A1 (de) 2008-04-03

Family

ID=38617101

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102007040823A Pending DE102007040823A1 (de) 2006-09-01 2007-08-29 Editier- und Berichts-Tool für Grafische Programmiersprachenobjekte

Country Status (5)

Country Link
US (1) US7668608B2 (de)
JP (4) JP5905182B2 (de)
CN (2) CN103279088B (de)
DE (1) DE102007040823A1 (de)
GB (1) GB2441861A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018130729B3 (de) 2018-12-03 2019-12-05 Phoenix Contact Gmbh & Co. Kg Verfahren zum Erzeugen einer grafischen Darstellung einer Signalverarbeitungsfunktionalität

Families Citing this family (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007536634A (ja) * 2004-05-04 2007-12-13 フィッシャー−ローズマウント・システムズ・インコーポレーテッド プロセス制御システムのためのサービス指向型アーキテクチャ
US8650057B2 (en) * 2007-01-19 2014-02-11 Accenture Global Services Gmbh Integrated energy merchant value chain
EP2116911B1 (de) * 2008-05-07 2014-01-15 Siemens Aktiengesellschaft Automatisierungssystem und Verfahren zur Wiederherstellung der Betriebsfähigkeit eines Automatisierungssytems
US8694959B2 (en) * 2008-09-30 2014-04-08 Ics Triplex Isagraf Inc. Multi language editor
US20100191701A1 (en) * 2009-01-23 2010-07-29 American International Group, Inc. System and method for managing a business process and business process content
US9354629B2 (en) * 2009-02-19 2016-05-31 Fisher-Rosemount Systems, Inc. Methods and apparatus to configure a process control system using an electronic description language script
US20110022197A1 (en) * 2009-07-27 2011-01-27 Rec Advanced Silicon Materials Llc Process control application development environment and features
US8966437B2 (en) * 2009-12-01 2015-02-24 International Business Machines Corporation Method and apparatus of specifying the concrete syntax of graphical modeling languages
US20110131547A1 (en) * 2009-12-01 2011-06-02 International Business Machines Corporation Method and system defining and interchanging diagrams of graphical modeling languages
CN102985883B (zh) * 2009-12-10 2015-07-29 埃森哲环球服务有限公司 能源设施控制系统
US8825183B2 (en) * 2010-03-22 2014-09-02 Fisher-Rosemount Systems, Inc. Methods for a data driven interface based on relationships between process control tags
US8195719B2 (en) * 2010-06-11 2012-06-05 Kenneth Ellis Nichol Lampinen Graphical objects bonding society system and method of operation
US9043296B2 (en) 2010-07-30 2015-05-26 Microsoft Technology Licensing, Llc System of providing suggestions based on accessible and contextual information
US9400733B2 (en) 2010-12-01 2016-07-26 Microsoft Technology Licensing, Llc Pattern matching framework for log analysis
US9171272B2 (en) 2010-12-17 2015-10-27 Microsoft Technology Licensing, LLP Automated generation of analytic and visual behavior
US9864966B2 (en) 2010-12-17 2018-01-09 Microsoft Technology Licensing, Llc Data mining in a business intelligence document
US9304672B2 (en) 2010-12-17 2016-04-05 Microsoft Technology Licensing, Llc Representation of an interactive document as a graph of entities
US9111238B2 (en) 2010-12-17 2015-08-18 Microsoft Technology Licensing, Llc Data feed having customizable analytic and visual behavior
US9024952B2 (en) 2010-12-17 2015-05-05 Microsoft Technology Licensing, Inc. Discovering and configuring representations of data via an insight taxonomy
US9336184B2 (en) * 2010-12-17 2016-05-10 Microsoft Technology Licensing, Llc Representation of an interactive document as a graph of entities
US9104992B2 (en) 2010-12-17 2015-08-11 Microsoft Technology Licensing, Llc Business application publication
US9069557B2 (en) 2010-12-17 2015-06-30 Microsoft Technology Licensing, LLP Business intelligence document
US9110957B2 (en) 2010-12-17 2015-08-18 Microsoft Technology Licensing, Llc Data mining in a business intelligence document
JP5704951B2 (ja) * 2011-02-10 2015-04-22 ソニー株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
JP5163766B2 (ja) * 2011-03-15 2013-03-13 オムロン株式会社 設計支援システム
JP5195955B2 (ja) * 2011-03-15 2013-05-15 オムロン株式会社 設計支援システム
US9123002B2 (en) * 2011-05-27 2015-09-01 Abbott Informatics Corporation Graphically based method for developing rules for managing a laboratory workflow
WO2013038556A1 (ja) * 2011-09-16 2013-03-21 三菱電機株式会社 シーケンスプログラム作成装置
CN102520687B (zh) * 2011-12-12 2014-02-19 攀钢集团攀枝花钢钒有限公司 基于opc的通用接口系统及控制方法
CN102609269B (zh) * 2012-02-17 2014-11-05 南京南瑞继保电气有限公司 一种顺序功能图的可视化实现方法
JP5895763B2 (ja) * 2012-07-31 2016-03-30 株式会社島津製作所 分析機器制御装置
US9244452B2 (en) * 2012-11-02 2016-01-26 Rockwell Automation Technologies, Inc. Configuration and monitoring via design diagram representation
US9214005B2 (en) 2012-12-18 2015-12-15 Google Technology Holdings LLC Methods and systems for overriding graphics commands
US9137320B2 (en) * 2012-12-18 2015-09-15 Google Technology Holdings LLC Methods and systems for overriding graphics commands
US10866952B2 (en) 2013-03-04 2020-12-15 Fisher-Rosemount Systems, Inc. Source-independent queries in distributed industrial system
US9558220B2 (en) 2013-03-04 2017-01-31 Fisher-Rosemount Systems, Inc. Big data in process control systems
US9823626B2 (en) 2014-10-06 2017-11-21 Fisher-Rosemount Systems, Inc. Regional big data in process control systems
US10649449B2 (en) 2013-03-04 2020-05-12 Fisher-Rosemount Systems, Inc. Distributed industrial performance monitoring and analytics
US10223327B2 (en) 2013-03-14 2019-03-05 Fisher-Rosemount Systems, Inc. Collecting and delivering data to a big data machine in a process control system
US10386827B2 (en) 2013-03-04 2019-08-20 Fisher-Rosemount Systems, Inc. Distributed industrial performance monitoring and analytics platform
US10909137B2 (en) 2014-10-06 2021-02-02 Fisher-Rosemount Systems, Inc. Streaming data for analytics in process control systems
US9397836B2 (en) 2014-08-11 2016-07-19 Fisher-Rosemount Systems, Inc. Securing devices to process control systems
US9804588B2 (en) 2014-03-14 2017-10-31 Fisher-Rosemount Systems, Inc. Determining associations and alignments of process elements and measurements in a process
US10282676B2 (en) 2014-10-06 2019-05-07 Fisher-Rosemount Systems, Inc. Automatic signal processing-based learning in a process plant
US10649424B2 (en) 2013-03-04 2020-05-12 Fisher-Rosemount Systems, Inc. Distributed industrial performance monitoring and analytics
US10678225B2 (en) 2013-03-04 2020-06-09 Fisher-Rosemount Systems, Inc. Data analytic services for distributed industrial performance monitoring
US9665088B2 (en) 2014-01-31 2017-05-30 Fisher-Rosemount Systems, Inc. Managing big data in process control systems
EP2973242B1 (de) 2013-03-15 2020-12-23 Fisher-Rosemount Systems, Inc. Modellierung und anpassung von industrieanlagen
US10671028B2 (en) 2013-03-15 2020-06-02 Fisher-Rosemount Systems, Inc. Method and apparatus for managing a work flow in a process plant
WO2014186419A1 (en) * 2013-05-13 2014-11-20 Mitutoyo Corporation Machine vision system program editing environment including operating context aware copy and paste feature
US9086688B2 (en) * 2013-07-09 2015-07-21 Fisher-Rosemount Systems, Inc. State machine function block with user-definable actions on a transition between states
GB2522338B (en) * 2014-01-03 2020-12-16 Fisher Rosemount Systems Inc Reusable graphical elements with quickly editable features for use in user displays of plant monitoring systems
WO2015102056A1 (ja) * 2014-01-06 2015-07-09 三菱電機株式会社 Fa機器構成設計支援装置およびプログラム
US9575639B2 (en) * 2014-02-27 2017-02-21 Ab Initio Technology Llc Compound controls
US10168691B2 (en) 2014-10-06 2019-01-01 Fisher-Rosemount Systems, Inc. Data pipeline for process control system analytics
CN104269934B (zh) * 2014-10-23 2016-04-20 国家电网公司 基于移动式模拟调度主站的变电站监控信息调试方法
US20160132037A1 (en) * 2014-11-11 2016-05-12 Yokogawa Electric Corporation Process control systems and systems and methods for configuration thereof
US10437938B2 (en) 2015-02-25 2019-10-08 Onshape Inc. Multi-user cloud parametric feature-based 3D CAD system
WO2016185558A1 (ja) * 2015-05-19 2016-11-24 三菱電機株式会社 プログラマブルロジックコントローラ、エンジニアリングツール及びエンジニアリングツールプログラム
CN105138337B (zh) * 2015-08-31 2018-09-28 华为技术有限公司 一种插件适配方法及插件适配装置
GB2560647B (en) 2015-10-12 2022-09-21 Fisher Rosemount Systems Inc Configuration in process plant using I/O-abstracted field device configurations
US9870206B2 (en) * 2015-11-10 2018-01-16 National Instruments Corporation Replication structure in a graphical programming language
US10503483B2 (en) 2016-02-12 2019-12-10 Fisher-Rosemount Systems, Inc. Rule builder in a process control network
US10175682B2 (en) * 2016-03-10 2019-01-08 Honeywell International Inc. Automation control system point configuration from controller program files
CN105975280B (zh) * 2016-05-13 2019-06-18 苏州乐派特机器人有限公司 一种实物化编程装置及其实现方法
US10671038B2 (en) 2016-07-15 2020-06-02 Fisher-Rosemount Systems, Inc. Architecture-independent process control
CN106997285A (zh) * 2016-09-20 2017-08-01 遨博(北京)智能科技有限公司 一种控制机器人的方法及装置
US10324434B2 (en) 2016-10-12 2019-06-18 Fisher-Rosemount Systems, Inc. Method and system for commissioning process control hardware
US10539936B2 (en) * 2016-10-17 2020-01-21 Fisher-Rosemount Systems, Inc. Methods and apparatus for configuring remote access of process control data
US10788972B2 (en) * 2017-10-02 2020-09-29 Fisher-Rosemount Systems, Inc. Systems and methods for automatically populating a display area with historized process parameters
CN109753281B (zh) * 2017-11-01 2022-04-22 北京德意新能科技有限公司 一种基于图形化编程的微电网能量管理策略可视化开发工具
CN110083339A (zh) * 2018-01-26 2019-08-02 拜椰特(上海)软件技术有限公司 一种新型计算机编程语言
CN108268255A (zh) * 2018-02-11 2018-07-10 遨博(北京)智能科技有限公司 用于编程机器人的方法和装置
TW201937360A (zh) * 2018-02-26 2019-09-16 華凌光電股份有限公司 面板控制系統及其編輯方法
CN108959449A (zh) * 2018-06-14 2018-12-07 国网福建省电力有限公司 一种基于visio批量配置infa映射的方法
CN110806877B (zh) * 2018-08-06 2024-04-16 北京京东尚科信息技术有限公司 编程文件结构化的方法、装置、介质及电子设备
CN109407582A (zh) * 2018-10-31 2019-03-01 陈黎明 一种机器编程可视化方法
CN109522005A (zh) * 2018-11-15 2019-03-26 苏州友教习亦教育科技有限公司 跨平台图形化程序设计方法
CN109857393B (zh) * 2019-01-31 2022-03-29 南京南瑞继保电气有限公司 顺序控制图的可视化实现方法、装置及存储介质
US11562105B2 (en) * 2019-07-11 2023-01-24 Yokogawa Electric Corporation System and method for module engineering with sequence libraries
FR3098958B1 (fr) * 2019-07-15 2021-07-16 Crouzet Automatismes Procédé de production d'un automate apte à commander un moteur
FR3098959B1 (fr) * 2019-07-15 2021-07-16 Crouzet Automatismes Procédé de production d'un automate apte à commander un moteur
CN110955420B (zh) * 2019-10-16 2022-07-08 珠海格力电器股份有限公司 一种自定义设备控制方法、装置、设备以及可读介质
CN112817964B (zh) * 2019-11-15 2022-02-11 广东电网有限责任公司云浮供电局 一种基于流程机器人的指标看板设计与开发系统
CN111427563A (zh) * 2020-04-23 2020-07-17 遂宁摩天时代科技有限公司 功能机可视化编程控制系统及方法
CN111984253B (zh) * 2020-06-30 2023-12-26 北京编程猫科技有限公司 一种基于图形化编程工具添加编程角色的方法及装置
CN112667276A (zh) * 2020-12-23 2021-04-16 肯特智能技术(深圳)股份有限公司 一种用于智慧控制系统的在线编程工具及方法
CN116028051A (zh) * 2022-05-06 2023-04-28 珠海市奥德维科技有限公司 自动化语言程序的可视化开发方法、系统、电子设备及存储介质

Family Cites Families (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5610828A (en) * 1986-04-14 1997-03-11 National Instruments Corporation Graphical system for modelling a process and associated method
US5481741A (en) * 1986-04-14 1996-01-02 National Instruments Corporation Method and apparatus for providing attribute nodes in a graphical data flow environment
US5475851A (en) 1986-04-14 1995-12-12 National Instruments Corporation Method and apparatus for improved local and global variable capabilities in a graphical data flow program
US5481740A (en) * 1986-04-14 1996-01-02 National Instruments Corporation Method and apparatus for providing autoprobe features in a graphical data flow diagram
US4901221A (en) * 1986-04-14 1990-02-13 National Instruments, Inc. Graphical system for modelling a process and associated method
US5497500A (en) * 1986-04-14 1996-03-05 National Instruments Corporation Method and apparatus for more efficient function synchronization in a data flow program
US5291587A (en) * 1986-04-14 1994-03-01 National Instruments, Inc. Graphical system for executing a process and for programming a computer to execute a process, including graphical variable inputs and variable outputs
US5737622A (en) * 1986-04-14 1998-04-07 National Instruments Corporation Method and apparatus for more efficient function synchronization in a data flow program
US5734863A (en) * 1986-04-14 1998-03-31 National Instruments Corporation Method and apparatus for providing improved type compatibility and data structure organization in a graphical data flow diagram
US5821934A (en) * 1986-04-14 1998-10-13 National Instruments Corporation Method and apparatus for providing stricter data type capabilities in a graphical data flow diagram
US4914568A (en) * 1986-10-24 1990-04-03 National Instruments, Inc. Graphical system for modelling a process and associated method
US5301301A (en) * 1991-01-30 1994-04-05 National Instruments Corporation Polymorphic dataflow block diagram system and method for programming a computer
US6064409A (en) * 1993-09-22 2000-05-16 National Instruments Corporation System and method for providing audio probe and debugging features in a graphical data flow program
JP3660366B2 (ja) * 1993-12-28 2005-06-15 富士通株式会社 図形を用いたプログラミングシステム
US5485620A (en) * 1994-02-25 1996-01-16 Automation System And Products, Inc. Integrated control system for industrial automation applications
USD384052S (en) * 1994-03-16 1997-09-23 National Instruments Corporation While loop icon for a display screen of a programmed computer system
USD384050S (en) * 1994-03-16 1997-09-23 National Instruments Corporation For loop icon for a display screen of a programmed computer system
USD387750S (en) 1994-03-16 1997-12-16 National Instruments Corporation Case structure icon for a display screen of a programmed computer system
USD384051S (en) * 1994-03-16 1997-09-23 National Instruments Corporation Sequence structure icon for a display screen of a programmed computer system
ATE349681T1 (de) * 1995-02-27 2007-01-15 Opto Generic Devices Inc Optischer kodierer zum betreiben eines elektromotors
JPH08314702A (ja) * 1995-05-19 1996-11-29 Nec Corp 視覚プログラミングシステムおよび図形プログラム編集方法
US5760788A (en) * 1995-07-28 1998-06-02 Microsoft Corporation Graphical programming system and method for enabling a person to learn text-based programming
JPH09212350A (ja) * 1996-01-31 1997-08-15 Toshiba Corp アプリケーション開発システム及び方法
US5980078A (en) * 1997-02-14 1999-11-09 Fisher-Rosemount Systems, Inc. Process control system including automatic sensing and automatic configuration of devices
US5987246A (en) * 1997-02-14 1999-11-16 National Instruments Corp. Graphical programming system and method including three-dimensional nodes with pre-defined input and output capabilities
US5990906A (en) * 1997-06-25 1999-11-23 National Instruments Corporation Undo feature for a graphical programming system
US6784903B2 (en) * 1997-08-18 2004-08-31 National Instruments Corporation System and method for configuring an instrument to perform measurement functions utilizing conversion of graphical programs into hardware implementations
US6219628B1 (en) * 1997-08-18 2001-04-17 National Instruments Corporation System and method for configuring an instrument to perform measurement functions utilizing conversion of graphical programs into hardware implementations
US6971066B2 (en) * 1997-08-18 2005-11-29 National Instruments Corporation System and method for deploying a graphical program on an image acquisition device
US6173438B1 (en) * 1997-08-18 2001-01-09 National Instruments Corporation Embedded graphical programming system
US6608638B1 (en) * 2000-02-07 2003-08-19 National Instruments Corporation System and method for configuring a programmable hardware instrument to perform measurement functions utilizing estimation of the hardware implentation and management of hardware resources
JP3415009B2 (ja) * 1997-11-14 2003-06-09 沖電気工業株式会社 プログラム開発装置および記録媒体
JP2000010769A (ja) * 1998-06-17 2000-01-14 Toshiba Corp ユーザインタフェース設計装置及び方法
JP3819639B2 (ja) * 1999-07-09 2006-09-13 株式会社東芝 プログラミング装置
JP3829905B2 (ja) * 1999-08-06 2006-10-04 オムロン株式会社 プログラマブル・コントローラ
US7210117B2 (en) * 1999-08-19 2007-04-24 National Instruments Corporation System and method for programmatically generating a graphical program in response to program information
US7000190B2 (en) * 1999-08-19 2006-02-14 National Instruments Corporation System and method for programmatically modifying a graphical program in response to program information
US6684385B1 (en) * 2000-01-14 2004-01-27 Softwire Technology, Llc Program object for use in generating application programs
US6772017B1 (en) * 2000-01-20 2004-08-03 Fisher-Rosemount Systems, Inc. Tool for configuring and managing a process control network including the use of spatial information
JP3953738B2 (ja) * 2000-01-31 2007-08-08 富士通株式会社 図形編集装置、および図形編集装置として機能させるためのプログラムを格納した記録媒体
US6584601B1 (en) * 2000-02-07 2003-06-24 National Instruments Corporation System and method for converting graphical programs into hardware implementations which utilize probe insertion
US6763515B1 (en) * 2000-06-05 2004-07-13 National Instruments Corporation System and method for automatically generating a graphical program to perform an image processing algorithm
US7200838B2 (en) * 2000-12-20 2007-04-03 National Instruments Corporation System and method for automatically generating a graphical program in response to a state diagram
US7865349B2 (en) * 2001-01-19 2011-01-04 National Instruments Corporation Simulation, measurement and/or control system and method with coordinated timing
JP4341190B2 (ja) * 2001-02-28 2009-10-07 富士電機システムズ株式会社 描画システム、プログラム開発システム、及びプログラム実行システム
US7120877B2 (en) * 2001-04-10 2006-10-10 National Instruments Corporation System and method for creating a graphical program including a plurality of portions to be executed sequentially
US7594220B2 (en) * 2001-08-14 2009-09-22 National Instruments Corporation Configuration diagram with context sensitive connectivity
US7367028B2 (en) * 2001-08-14 2008-04-29 National Instruments Corporation Graphically deploying programs on devices in a system
US7302675B2 (en) * 2001-08-14 2007-11-27 National Instruments Corporation System and method for analyzing a graphical program using debugging graphical programs
US8290762B2 (en) * 2001-08-14 2012-10-16 National Instruments Corporation Graphically configuring program invocation relationships by creating or modifying links among program icons in a configuration diagram
US8086664B2 (en) * 2001-09-24 2011-12-27 Siemens Industry, Inc. Method and apparatus for programming programmable controllers and generating configuration data from a centralized server
US7134086B2 (en) * 2001-10-23 2006-11-07 National Instruments Corporation System and method for associating a block diagram with a user interface element
US6928625B2 (en) * 2001-11-29 2005-08-09 Agilent Technologies, Inc. Systems and methods for managing process control in a graphical user interface
JP2003256203A (ja) * 2002-03-01 2003-09-10 Mitsubishi Electric Corp 自動機アプリケーションプログラム開発システム、プログラム開発方法、この方法を実行するプログラム、及びこのプログラムを記憶した記憶媒体
US7216334B2 (en) * 2002-03-08 2007-05-08 National Instruments Corporation Self-determining behavior node for use in creating a graphical program
US7340737B2 (en) * 2002-07-03 2008-03-04 National Instruments Corporation Wireless deployment / distributed execution of graphical programs to smart sensors
US8074201B2 (en) * 2002-07-10 2011-12-06 National Instruments Corporation Deployment and execution of a program on an embedded device
US7219306B2 (en) * 2002-08-13 2007-05-15 National Instruments Corporation Representing unspecified information in a measurement system
JP4102137B2 (ja) * 2002-08-30 2008-06-18 株式会社山武 制御プログラム作成支援システム及びその支援方法
GB2417574A (en) 2002-10-22 2006-03-01 Fisher-Rosemount Systems Inc Smart process modules and objects in a process plant
US7146231B2 (en) 2002-10-22 2006-12-05 Fisher-Rosemount Systems, Inc.. Smart process modules and objects in process plants
JP2004157913A (ja) * 2002-11-08 2004-06-03 Yaskawa Electric Corp ラダーダイアグラムのプログラム装置
US20040150667A1 (en) * 2003-01-30 2004-08-05 Dove Andrew Philip Performing wireless communication in a graphical program
US7117052B2 (en) * 2003-02-18 2006-10-03 Fisher-Rosemount Systems, Inc. Version control for objects in a process plant configuration system
CN1549118A (zh) * 2003-05-08 2004-11-24 冯健辉 计算机图形编程语言系统方案
US20040235384A1 (en) * 2003-05-19 2004-11-25 Arecont Intellectual Property Holdings, L.L.C. Method and system for programming controllers and control assemblies
US7096078B2 (en) * 2003-05-30 2006-08-22 Fisher-Rosemount Systems, Inc. Boolean logic function block
US6945823B2 (en) * 2003-08-01 2005-09-20 Hon Hai Precision Ind. Co., Ltd. Serial ATA connector with compliant contact
US7703034B2 (en) * 2003-08-07 2010-04-20 National Instruments Corporation Visualization tool for viewing timing information for a graphical program
US7269468B2 (en) * 2003-09-05 2007-09-11 Fisher-Rosemount Systems, Inc. State machine function block with a user modifiable output configuration database
JP2005128658A (ja) * 2003-10-21 2005-05-19 Fuji Electric Holdings Co Ltd 業務/生産プロセス構築・実行支援装置、業務/生産プロセス支援方法、プログラム
US7530052B2 (en) * 2004-05-14 2009-05-05 National Instruments Corporation Creating and executing a graphical program with first model of computation that includes a structure supporting second model of computation
US7506304B2 (en) * 2004-05-14 2009-03-17 National Instruments Corporation Graphical data flow programming environment with first model of computation that includes a structure supporting second model of computation
US20060036799A1 (en) * 2004-08-13 2006-02-16 National Instruments Corporation Multi-platform development and execution of graphical programs

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018130729B3 (de) 2018-12-03 2019-12-05 Phoenix Contact Gmbh & Co. Kg Verfahren zum Erzeugen einer grafischen Darstellung einer Signalverarbeitungsfunktionalität

Also Published As

Publication number Publication date
CN103279088A (zh) 2013-09-04
JP2017142839A (ja) 2017-08-17
US7668608B2 (en) 2010-02-23
CN101135891A (zh) 2008-03-05
JP2008059594A (ja) 2008-03-13
GB0717004D0 (en) 2007-10-10
US20080058969A1 (en) 2008-03-06
JP6429722B2 (ja) 2018-11-28
JP6388682B2 (ja) 2018-09-12
GB2441861A (en) 2008-03-19
CN103279088B (zh) 2015-07-22
JP2015187873A (ja) 2015-10-29
JP5905182B2 (ja) 2016-04-20
JP2014041624A (ja) 2014-03-06

Similar Documents

Publication Publication Date Title
DE102007040823A1 (de) Editier- und Berichts-Tool für Grafische Programmiersprachenobjekte
DE112005001031B4 (de) Grafisches Bildschirmkonfigurationsgerüst für vereinheitlichte Prozesssteuerungssystemoberfläche
DE112013004924T9 (de) Dynamisch wiederverwendbare Klassen
DE10051645B4 (de) Prozesssteuersystem und Verfahren zum Kontrollieren eines Prozesses
DE60311805T2 (de) Erfassung, Zusammenstellung und/oder Visualisierung von strukturellen Merkmalen von Architekturen
DE102011001460A1 (de) Verfahren und Gerät für eine datengesteuerte Schnittstelle basierend auf Relationen zwischen Prozesssteuerungsetiketten
DE102015100024A1 (de) Wiederverwendbare Grafikelemente mit schnell bearbeitungsfähigen Merkmalen zur Verwendung in Benutzeranzeigen von Anlagenüberwachungssystemen
DE102017102651A1 (de) Vorrichtung zum Formulieren von Regeln in einem Prozesssteuerungsnetzwerk
DE10049025A1 (de) Process control configuration system for use with an AS-inferface device network
WO2015044374A1 (de) Verfahren und einrichtung zur automatisierten erzeugung und bereitstellung wenigstens einer softwareanwendung
DE102010036914A1 (de) Systemkonfiguration unter Verwendung von Vorlagen
DE10394033T5 (de) Verfahren und Vorrichtung zum Importieren von Vorrichtungsdaten in ein in einer Prozessanlage verwendetes Datenbanksystem
EP2804061B1 (de) Verfahren zum Überwachen einer Prozess- und/oder Fertigungsanlage
DE102019126360A1 (de) Bulk-commissioning von feldvorrichtungen innerhalb einer prozessanlage
DE102014210854A1 (de) Computerimplementiertes Verfahren und Signalfolge für ein Programm zur Wiederverwendung von ausführbaren Softwarekonfigurationen für Softwaresysteme sowie Rechneranlage und ein Computerprogramm mit Programmcode zur Durchführung des Verfahrens
DE102019123645A1 (de) Systeme und verfahren zum einbetten eines web-frames in prozessgrafik
DE102010050379A1 (de) Produktlinienbasierte Inhaltsverwaltungssysteme und -Verfahren
EP1137972B1 (de) Automatisierungssystem zur lösung einer prozesstechnischen aufgabenstellung und verfahren hierzu
EP2290593A1 (de) Verfahren zur Unterstützung einer Planung einer technischen Anlage
DE10215653A1 (de) Verfahren und Anordung zur automatischen Erzeugung von Programmcodeabschnitten sowie ein entsprechendes Computerprogrammprodukt und ein entsprechendes computerlesbares Speichermedium
EP3850443B1 (de) Verfahren zur integration von daten von assets einer technischen anlage in eine plattform, digitale plattform und computerprogrammprodukt
EP1347376B1 (de) Software zur Visualisierung hierarchisch stufbaren Objekten
DE102021112553A1 (de) Systeme und verfahren zum implementieren von standardbetriebsverfahren in einer grafischen anzeigekonfiguration
DE102018124316A1 (de) Systeme und Verfahren zum Konfigurieren und Darstellen einer Anzeige-Navigationshierarchie in einer Prozessanlage
WO2008135372A1 (de) Verfahren und anlagenentwurfssystem zum erzeugen von anlagenspezifischen daten

Legal Events

Date Code Title Description
R012 Request for examination validly filed

Effective date: 20111207

R016 Response to examination communication
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017500000

Ipc: G06F0030000000