Verfahren und Vorrichtung zum Erfassen von Betriebsdaten einer Produktionsanlage
Die Erfindung betrifft die Überwachung einer Produktionsanlage und insbesondere die Betriebsdatenerfassung einer Abfüll- oder Verpackungsanlage.
In der heutigen Zeit ist es für Unternehmen unerlässlich, Betriebsabläufe zu überwachen und stetig zu verbessern, um die Produktivität und Wirtschaftlichkeit des Unternehmens zu erhöhen und die Qualität seiner Produkte zu sichern. Zur besseren Unterstützung der Entscheidungsprozesse ist es erforderlich, die Genauigkeit von Informationsflüssen und die Transparenz der Produktion zu erhöhen.
Fig. 1 zeigt in stark vereinfachter Darstellung den produktionsbezogenen Informati- onsfluss 100 in einem Unternehmen. Eine Produktionsanlage 110 dient zur Produktion von Waren aller Art, beispielsweise Autos, Kühlschränken und Nahrungsmitteln. Die Produktionsanlage besteht aus einer Vielzahl von Produktionseinrichtungen, beispielsweise Abfüllautomaten, Verpackungsautomaten und Etikettiermaschinen. Diese Produktionseinrichtungen werden von einer Vielzahl von Herstellern mit einer Vielzahl von Spezifikationen angeboten. Die Produktionsanlage 110 wird gemäß den Erfordernissen des Unternehmens projektiert. Um die Produktionseinrichtungen aufeinander abzustimmen, wird die Produktionsanlage 110 häufig von mindestens einer programmierbaren elektronischen Steuereinheit 120 gesteuert. Dazu wird die programmierbare elektronische Steuereinheit 120 mit Aktoren und Sensoren der Produktionseinrichtungen verbunden. Die programmierbare elektronische Steuereinheit 120 kann als speicherprogrammierbare Steuerung (SPS, Sto- red-Program Control, SPC) ausgeführt sein. Dabei können Produktionseinrichtun- gen eigene speicherprogrammierbare Steuerungen aufweisen. Speicherprogrammierbare Steuerungen werden von einer Vielzahl von Herstellern, beispielsweise Allen Bradley, Mitsubishi, Omron und Siemens, mit einer Vielzahl von Spezifikationen angeboten. Alternativ kann die programmierbare elektronische Steuereinheit 120 als Rechnersystem mit einen Rechner und einem Steuerprogramm ausgeführt sein, das als SoftSPS bezeichnet werden kann. Eine programmierbare elektroni-
sehe Steuereinheit steuert die Aktoren einer Produktionseinrichtung in Abhängigkeit von Informationsgrößen, die von den Sensoren aufgenommen werden, in Abhängigkeit von einem vorgegebenen Programm. Zum Austausch von Produktionsdaten und Steuerdaten sind die programmierbaren elektronischen Steuereinheiten 120 über Kommunikationsverbindungen (nicht gezeigt) mit einer Betriebsdatenerfas- suπg (BDE, Prodution Data Acquisition) 130 verbunden. Die Kommunikationsverbindungen bilden häufig Kommunikationsnetze, die jeweils gemäß einem üblichen Standard, beispielsweise Compolet, Data-Highway, H1 -Bus, Industrial Ethernet, Profibus, TCP/IP (Transmission Control Protocol/Internet Protocol) ausgeführt sein können. Die Betriebsdatenerfassung 130 übernimmt Produktionsdaten von den programmierbaren elektronischen Steuereinheiten 120, archiviert die Produktionsdaten in einer Datenbank, und gibt die Produktionsdaten an die Produktions- Planung und Steuerung (PPS, Production Planning & Controlling) 140 weiter. Die Betriebsdatenerfassung 130 bearbeitet, filtert, verknüpft und verteilt die aus der Produktionsanlage 110 bzw. programmierbaren elektronischen Steuereinheit 120 kommenden Informationsgrößen, verwaltet die Parameter der Informationsgrößen und steuert bzw. regelt die Produktionsanlage 110 bzw. programmierbare elektronische Steuereinheit 120. Die Speicherung der Produktionsdaten erfolgt in einer Datenbank, die von einer Vielzahl von Herstellern, beispielsweise Microsoft, Oracle, in einer Vielzahl von Spezifikationen, beispielsweise SQL 7.0, Access, Oracle, angeboten wird. Die Produktions-Planung und Steuerung 140 plant und steuert die Produktion des Unternehmens gemäß den betrieblichen Vorgaben. Die Produktions-Planung und Steuerung 140 wird häufig durch ein Anwendungsmodul einer Unternehmens-Resourcen-Planung (Enterprise Resource Planning, ERP) realisiert, die auf das Unternehmen zugeschnitten ist. Solche ERP-Systeme werden von einer Vielzahl von Herstellern, beispielsweise SAP und Baan, mit einer Vielzahl von Spezifikationen angeboten. Das ERP-System umfasst häufig weitere Module zur Finanzwirtschaft, zur Materialwirtschaft, zur Personalwirtschaft, zum Qualitätsmanagement, zum Service und zum Consulting. Die Betriebsdatenerfassung erfolgt üblicherweise mittels Standardprogrammen, wie beispielsweise FixdeMax, FixDy- namics, Wizcon und Wonderware, die eine grafische Benutzeroberfläche zur Darstellung der Produktionsdaten bereitstellen. Diese Standardprogramme verwenden
häufig Funktionsbausteine, die verschiedene Aufgaben, wie beispielsweise Datenspeicherung und Datenanzeige, verwirklichen.
Fig. 2 zeigt in stark vereinfachter Darstellung eine speicherprogrammierbare Steuerung 220, als Beispiel für eine programmierbare elektronische Steuereinheit, und eine Betriebsdatenerfassung 230. Die speicherprogrammierbare Steuerung 220 weist eine Schnittstelle 221 zu den Produktionseinrichtungen (nicht gezeigt) und eine Schnittstelle 222 zur Kommunikation auf. Diese Schnittstelle 222 wird durch den Hersteller der speicherprogrammierbaren Steuerung 220 definiert. Die Betriebsdatenerfassung 230 weist eine Schnittstelle 231 zur Kommunikation mit der speicherprogrammierbaren Steuerung 220 auf. Üblicherweise wird für die Betriebsdatenerfassung 230 eine Vielzahl von Schnittstellen implementiert, so dass eine geeignete Schnittstelle 231 aus der Vielzahl von Schnittstellen für die Kommunikation mit der bestimmten speicherprogrammierbaren Steuerung 220 ausgewählt werden kann. Weiterhin umfasst die Betriebsdatenerfassung 230 Funktionsbausteine zur Archivierung 233 von Produktionsdaten, zur Verarbeitung 234 von Produktionsdaten und Steuerdaten und zur Visualisierung 235 der Produktionsanlage aus den Produktionsdaten. Weiterhin weist die Betriebsdatenerfassung 130 eine Schnittstelle zur Kommunikation mit der Produktions-Planung und Steuerung 140 auf. Üblicherweise wird eine Vielzahl von Schnittstellen der Kommunikation mit einer Vielzahl von Produktions-Planung und Steuerung-Systemen zur Verfügung gestellt. Weiterhin kann die Betriebsdatenerfassung 230 durch zusätzliche Funktionsbausteine, die für die Betriebsdatenerfassung 230 bereitgestellt werden, erweitert werden. Somit ist das Unternehmen weitgehend auf eine Betriebsdatenerfassung 230 eines bestimmten Herstellers festgelegt.
Fig. 3 zeigt in stark vereinfachter Darstellung eine speicherprogrammierbare Steuerung 320, die mit einer ersten Betriebsdatenerfassung 330 und einer zweiten Betriebsdatenerfassung 340 verbunden ist. Die Funktionsbausteine der Betriebsdatenerfassungen 330 und 340 entsprechen im wesentlichen den Funktionsbausteinen der in Fig. 2 Betriebsdatenerfassung 220. In vielen Unternehmen ist es durchaus üblich, verschiedene Anwendungsprogramme zu verwenden, die jeweils eigenständig mit unterschiedlichen Benutzeroberflächen arbeiten. Eine Durchgängigkeit
der Anwendungsprogramme ist somit nicht gegeben, und innerhalb eines Unternehmens ist eine Vielzahl von verschiedenen Oberflächen zu finden.
Fig. 4 zeigt in stark vereinfachter Darstellung eine erste speicherprogrammierbare Steuerung 420 und eine zweite speicherprogrammierbare Steuerung 450, die mit einer ersten Betriebsdatenerfassung 430 und mit einer zweiten Betriebsdatenerfassung 440 verbunden sind. Die Funktionsbausteine der Betriebsdatenerfassungen 430 und 440 entsprechen im wesentlichen den Funktionsbausteinen der in Fig. 2 Betriebsdatenerfassung 220. Fig. 4 verdeutlicht, dass die Betriebsdatenerfassungen 430 und 440 jeweils zwei Schnittstellen 431 und 432, 441 und 442 aufweisen, um jeweils mit der ersten speicherprogrammierbaren Steuerung 420 und der zweiten speicherprogrammierbaren Steuerung 450 kommunizieren zu können.
Oftmals werden die Produktionsanlage mit der speicherprogrammierbaren Steuerung und die Betriebsdatenerfassung zusammen projektiert. Um die Anbindung weiterer Betriebsdatenerfassungen zu unterstützen ist es dann erforderlich, geeignete Schnittstellen zu den verschiedenen Betriebsdatenerfassungen bereitzustellen. Zum einen haben, insbesondere in Anbetracht eines internationalen Markts, die verschiedenen Unternehmen unterschiedliche Vorlieben für die verschiedenen Betriebsdatenerfassungen, und zum anderen verwenden einige Unternehmen verschiedene Betriebsdatenerfassuπgen nebeneinander.
Es ist die Aufgabe der Erfindung, eine Vorrichtung, ein System und ein Verfahren bereitzustellen, die eine Darstellung von Produktionsdaten in einer Vielzahl von unterschiedlichen Anwendungsprogrammen auf eine effektive Weise ermöglichen.
Diese Aufgabe wird durch die Vorrichtung mit den Merkmalen des Patentanspruchs 1 , dem System mit den Merkmalen des Patentanspruchs 22 und das Verfahren mit den Merkmalen des Patentanspruchs 44 erfinduπgsgemäß gelöst. Bevorzugte Ausführungsformen der Erfindung sind Gegenstände der abhängigen Patentansprüche.
Im Folgenden wird eine bevorzugte Ausführungsform der Erfindung unter Bezugnahme auf die beigefügten Zeichnungen näher beschrieben. Es zeigen:
Fig. 1 eine schematische Darstellung eines produktionsbezogenen Informationsflusses in einem Unternehmen,
Fig. 2 eine schematische Darstellung einer speicherprogrammierbaren Steuerung und einer Betriebsdatenerfassung gemäß des Stands der Technik,
Fig. 3 eine schematische Darstellung einer speicherprogrammierbaren Steuerung und zweier Betriebsdatenerfassungen gemäß des Stands der Technik,
Fig. 4 eine schematische Darstellung zweier speicherprogrammierbaren Steuerungen und zweier Betriebsdateπerfassungen gemäß des Stands der Technik.
Fig. 5 eine beispielhafte Darstellung eines Systems zum Erfassen von Betriebsdaten einer Produktionsanlage gemäß einer bevorzugten Ausführungsform der Erfindung,
Fig. 6 eine schematische Darstellung einer Betriebsdatenerfassung,
Fig. 7 eine schematische Darstellung zur Veranschaulichung der Funktionsweise einer Betriebsdatenerfassung gemäß der bevorzugten Ausführungsform der Erfindung,
Fig. 8 eine schematische Darstellung zur Veranschaulichung der Funktionsweise der Erfindung,
Fig. 9 eine schematische Darstellung einer Betriebsdatenerfassung gemäß der Erfindung, und
Fig. 10 eine schematische Darstellung eines Informationsflusses gemäß der Erfindung.
Gemäß der Erfindung umfasst eine Betriebsdatenerfassung Funktionskomponenten, die die internen Funktionsaufgaben, beispielsweise Verarbeiten von Produktionsdaten und Steuerdaten, und Archivieren von Produktionsdaten, übernehmen, wobei diese Funktionskomponenten in andere Betriebsdatenerfassungen einbindbar sind. Die erfindungsgemäße Betriebsdatenerfassung wird im Folgenden auch
als Controller bezeichnet. Die Funktionskomponenten der erfindungsgemäßen Betriebsdatenerfassung werden im Folgenden auch als verdeckete Funktionswerkzeuge (Covered Function Tools, CFTs) bezeichnet. Um eine bestimmte Betriebsdatenerfassung in die Überwachung und Steuerung der Produktion zu integrieren, werden die Funktionskomponenten des Controllers in die bestimmte Betriebsdatenerfassung eingebunden und können von einem Anwender der bestimmten Betriebsdatenerfassung gleichermaßen wie die Funktionskomponenten der bestimmten Betriebsdatenerfassung verwendet werden. Dabei können die eingebundenen Funktionskomponenten die entsprechenden Funktionskomponenten der bestimmten Betriebsdatenerfassung ersetzen. Für den Benutzer ergibt sich in einer grafischen Benutzeroberfläche der bestimmten Betriebsdatenerfassung eine einheitliche Darstellung der Funktionskomponenten. Dadurch verändert sich die Funktionalität der bestimmten Betriebsdatenerfassung. Um das Einbinden der Funktionskomponenten des Controllers in eine Vielzahl verschiedener Betriebsdatenerfassungen zu ermöglichen, reicht es aus, die Funktionskomponenten einmalig gemäß eines gemeinsamen Objektmodells zu implementieren, um sie dann allen Betriebsdatenerfassungen verfügbar zu machen, die dieses gemeinsame Objektmodell unterstützen. Eine Implementierung von Schnittstellen zu jeder einzelnen Betriebsdatenerfassung ist somit nicht erforderlich, da die Funktionskomponenten des Controllers als gekapselte Komponenten in Container der Betriebsdatenerfassungen eingebunden werden. Die Funktionskomponenten des Controllers sind somit wiederverwendbar, und die Visualisierung der Überwachung der Produktionsanlage basiert auf denselben Produktionsdaten und Steuerdaten. Der Controller benötigt keine eigene Benutzeroberfläche. Dadurch können der Entwicklungsaufwand und die Entwicklungszeit erheblich reduziert werden.
In einer bevorzugten Ausführungsform der Erfindung werden die Funktionskomponenten des Controllers beispielsweise als ActiveX-Elemente (ActiveX-Controls) implementiert und sind in Windows-basierten Betriebsdatenerfassungen, die eine Visual Basic-Unterstützung aufweisen, verfügbar.
Fig. 5 zeigt zur Veranschaulichung der Erfindung ein System 500 zum Erfassen von Betriebsdaten einer Produktionsanlage (nicht gezeigt) gemäß der bevorzugten
Ausführungsform der Erfindung. Das System 500 umfasst beispielhaft eine erste speicherprogrammierbare Steuerung 520 und eine zweite speicherprogrammierbare Steuerung 550. Das System 500 kann im allgemeinen eine programmierbare elektronische Steuerung oder eine Vielzahl von programmierbaren elektronischen Steuerungen aufweisen. Die einzelnen programmierbaren elektronischen Steuerungen können jeweils speicherprogrammierbare Steuerungen oder, wie oben beschrieben, entsprechende Rechnersysteme sein. Die in Fig. 5 gezeigten speicherprogrammierbaren Steuerungen 520 und 550 dienen somit nur zur Veranschaulichung. Die erste speicherprogrammierbare Steuerung 520 weist eine Schnittstelle 521 zu mindestens einer Produktionseinrichtung (nicht gezeigt) der Produktionsanlage und eine Schnittstelle 522 zur Kommunikation auf. Diese Schnittstelle 522 wird durch den Hersteller der speicherprogrammierbaren Steuerung 520 definiert und steht für eine Kommunikation zur Verfügung. Die zweite speicherprogrammierbare Steuerung 550 weist eine Schnittstelle 551 zu mindestens einer Produktionseinrichtung der Produktionsanlage und eine Schnittstelle 552 zur Kommunikation auf. Diese Schnittstelle 552 wird durch den Hersteller der speicherprogrammierbaren Steuerung 550 definiert. Im allgemeinen werden sich die speicherprogrammierbaren Steuerungen 520 und 550 im Typ unterscheiden, und daher werden die Spezifikationen der Schnittstellen 522 und 552 unterschiedlich sein.
Das System 500 umfasst weiterhin eine erste Betriebsdatenerfassung 530 und eine zweite Betriebsdatenerfassung 540. Das System 500 kann im allgemeinen ein Programm oder eine Vielzahl von Programmen umfassen, die jeweils Funktionen einer Betriebsdatenerfassung implementieren. Die erste Betriebsdatenerfassung 530 umfasst eine Vielzahl von Funktionskomponenten, beispielsweise eine Funktionskomponente zur Archivierung 533 von Produktionsdaten, eine Funktionskompo- neπte zur Verarbeitung 534 von Produktionsdaten und Steuerdateπ und eine Funktionskomponente 535 zur Visualisierung der Produktionsanlage aus den Produktionsdaten» sowie, beispielhaft, eine Schnittstelle 536 zur Kommunikation mit einer Produktions-Planung und Steuerung. Die erste Betriebsdatenerfassung 530 kann eine herkömmliche Betriebsdatenerfassung sein und wird weiterhin Funktionskomponenten zur Kommunikation (nicht gezeigt) mit programmierbaren elektronischen Steuereinrichtungen gemäß vorgegebener Spezifikationen aufweisen. Die erste
Betriebsdatenerfassung 530 kann modular aufgebaut sein, so dass ein Anwender Funktionskomponenten erwirbt und einsetzt, die für die Steuerung und Überwachung der Produktionsanlage erforderlich werden. Bei der ersten Betriebsdatenerfassung 530 handelt es sich beispielsweise um ein Anwendungsprogramm, das für ein PC- (Personal Computer-) basiertes Betriebssystem ausgelegt ist. Die erste Betriebsdatenerfassung 530 entspricht einem Objektmodell, das von dem Betriebssystem bereitgestellt oder unterstützt wird. Die erste Betriebsdatenerfassung 530 ist beispielsweise in der Programmiersprache Visual Basic implementiert, und das Objektmodell ist das Common Object Model (COM). Die zweite Betriebsdatenerfassung 540 umfasst ebenfalls eine Vielzahl von Funktionskomponenten 543, 544, 545 und 546. Im allgemeinen ähnelt die Struktur der zweiten Betriebsdatenerfassung 540 der Struktur der ersten Betriebsdatenerfassung 530, jedoch sind die Betriebsdatenerfassungen 530 und 540 zueinander inkompatibel, da sie von verschiedenen Herstellern stammen, die die Betriebsdatenerfassungen 530 und 540 jeweils unabhängig voneinander entwickeln, anbieten und vertreiben. Es ist offensichtlich, dass sich die Betriebsdatenerfassungen 530 und 540 in ihrem Funktionsumfang und ihrer Funktionsweise wesentlich unterscheiden können. Die zweite Betriebsdatenerfassung 540 ist ebenfalls für dasselbe Betriebssystem entwickelt worden und entspricht demselben Objektmodell. Dabei kann die zweite Betriebsdatenerfassung 540 in einer anderen Programmiersprache implementiert sein. Die Betriebsdatenerfassungen 530 und 540 können aus einer Gruppe von Standardprogrammen, die beispielsweise FixdeMax, FixDynamics, Wizcon und Wonderware umfasst, stammen. Diese Standardprogramme stellen im allgemeinen eine grafische Benutzeroberfläche zur Darstellung der Produktionsdaten zur Verfügung.
Die Erfindung betrifft im wesentlichen einen Controller 560, der eine Betriebsdatenerfassung implementiert. Der Controller 560 umfasst eine Vielzahl von Funktionskomponenten 561 , 562, 563 und 564. Die Funktionsweise der Funktionskomponenten entspricht im wesentlichen den entsprechenden Funktionskomponenten der Betriebsdatenerfassungen 530 und 540. Eine erste Schnittstelle 561 dient zur Kommunikation mit der Schnittstelle 522 der ersten speicherprogrammierbaren Steuerung 520, und eine zweite Schnittstelle 562 dient zur Kommunikation mit der Schnittstelle 552 der zweiten speicherprogrammierbaren Steuerung 550. Eine
Funktionskomponente zur Archivierung 563 von Produktionsdaten dient zum Archivieren der Produktionsdaten in einer Datenbank (nicht gezeigt).
Die Datenbank kann zum einen in dem Controller 560 enthalten sein oder als eigenständige Vorrichtung implementiert sein. Entsprechende Datenbanken werden, wie oben beschrieben, von einer Vielzahl von Herstellern angeboten. Der Controller 560 umfasst weiterhin eine Funktionskomponente zur Verarbeitung 564 der Produktions- und Steuerdaten. Diese Funktionskomponente kann eine Vielzahl von Funktionen umfassen, die zur Überwachung und Steuerung der Produktionsanlage erforderlich sind, beispielsweise Funktionen zur Initialisierung von Produktionseinrichtungen, Funktionen zum Auslesen und Setzen von Zählerwerten und Schwellwerten, Funktionen zum Lesen von Fehlermeldungen, Funktionen zum Starten und Anhalten von Produktionseinrichtungen usw.
Die Schnittstellen 561 und 562 sind jeweils auf die Schnittstellen 522, 552 der entsprechenden speicherprogrammierbaren Steuerung 520, 550 abgestimmt. Weitere Schnittstellen können entsprechend den jeweiligen Erfordernissen implementiert werden und in den Controller 560 aufgenommen oder in dem Controller 560 ausgetauscht werden. Ergänzung, Austausch oder Änderung der Schnittstellen 561 , 562 kann ohne Einfluss auf die Betriebsdatenerfassungen 530, 540 erfolgen. Beispielsweise kann eine Produktionseinrichtung mit speicherprogrammierbarer Steuerung sowie die entsprechende Schnittstelle des Controllers 560 ausgetauscht werden, ohne dass eine Anpassung der Betriebsdatenerfassungen 530, 540 erforderlich wird. Der Controller 560 ist für dasselbe Betriebssystem wie die Betriebsdatenerfassungen 530, 540 implementiert und entspricht demselben Objektmodell. Somit weisen die erste Betriebsdatenerfassung 530, die zweite Betriebsdatenerfassung 540 und der Controller 560 ein gemeinsames Objektmodell 531 , 541 , 565 auf. Während die Betriebsdatenerfassungen 530, 540 unabhängig voneinander entwickelt sind und somit zueinander inkompatibel sind, entsprechen die Funktionskomponenten 563, 564 dem gemeinsamen Objektmodell und sind in die Betriebsdatenerfassungen 530, 540 einbindbar. Für ein Windows-basiertes Betriebssystem sind die Funktionskomponenten 563, 564 beispielsweise als ActiveX-Elemente implementiert. Aufgrund des gemeinsamen Objektmodells 531 , 541 , 565 sind diese Acti-
veX-Elemente in den Betriebsdatenerfassungen 530, 540 verfügbar und können in den Betriebsdatenerfassungen 530, 540 entsprechend den jeweiligen eigenen Funktioπskomponenten 533, 534, 543, 544 der jeweiligen Betriebsdatenerfassungen 530, 540 verwendet werden, d. h. die Betriebsdatenerfassungen 530, 540 werden um die Funktionskomponenten 563, 564 des Controllers 560 ergänzt bzw. erweitert. Dabei können entsprechende Funktionskomponenten 533, 534, 543, 544 der Betriebsdatenerfassungen 530, 540 durch die Funktionskomponenten 563, 564 des Controllers 560 ersetzt werden. Die Überwachung und Steuerung der Produktionsanlage erfolgt somit durch den Controller 560, wobei die Visualisierung der Produktionsanlage und die Bedienung des Controllers 560 durch den Anwender über die herkömmlichen Betriebsdatenerfassungen 530, 540 erfolgt. Die ActiveX- Elemente des Controllers 560 können in Programmbibliotheken, beispielsweise DLLs (Dynamic Link Libraries), bereitgestellt werden. Die ActiveX-Elemente können in den Betriebsdatenerfassungen 530, 540 als Objekte (Objects) dargestellt und bearbeitet werden, d. h. den Anwender kann beispielsweise Eigenschaften (Properties) eines Objekts lesen und gegebenenfalls ändern. Da die Betriebsdatenerfassungen 530, 540 ausschließlich über Funktionskomponenten, die der Controller 560 bereitstellt, Verbindung zu der Produktionsanlage und der Datenbank haben, können einzelne Einrichtungen, beispielsweise Produktionseinrichtungen, programmierbare elektronische Steuereinrichtungen oder Datenbanken, gegen andere Typen ausgetauscht werden, ohne dass die Betriebsdatenerfassungen 530, 540 beeinflusst werden. Da die Produktionsdaten der Produktionsanlage durch den Controller 560 verarbeitet und archiviert werden, haben die Betriebsdatenerfassungen 530, 540 Zugriff auf dieselben Informationen, so dass die Produktionsanlage gleichzeitig und vorzugsweise in Echtzeit mit den verschiedenen Betriebsdatenerfassungen 530, 540 visualisiert werden kann. Weitere Betriebsdatenerfassungen lassen sich in das System 500 einbinden, sofern sie dem gemeinsamen Objektmodell 531 , 541 , 565 entsprechen. Der Controller 560 kann weiterhin über eine eigene Funktionskomponente zur Visualisierung sowie eine oder mehrere Schnittstellen zur Produktions-Planung und Steuerung verfügen.
Fig. 5 zeigt ein beispielhaftes System 500 zur Veranschaulichung des erfindungsgemäßen Controllers 560; in alternativen Ausführungsformen wird ein System den
erfindungsgemäßen Controller 560, mindestens eine programmierbare elektronische Steuereinrichtung und ein Anwendungsprogramm, das dem gemeinsamen Objektmodell entspricht, enthalten. Beispielsweise eignet sich das Tabellenkalkulationsprogramm (Spreadsheet Program) Excel für die Visualisierung einer Produktionsanlage.
In einer Weiterbildung der Erfindung kann der Controller 560 einen Eingangsbereich umfassen, der mit einer Anzahl verschiedener SPS-Treiber versehen ist, die die aus den einzelnen speicherprogrammierbaren Steuerungen kommenden Informationen auf ein entsprechendes Format und in eine entsprechende Struktur zur Verarbeitung und Archivierung durch den Controller 560 bringen. Gemäß den Erfordernissen der Produktionsanlage können beliebig viele verschiedene Treiber eingebunden werden. Dabei berücksichtigen die implementierten Treiber nicht nur die Hersteller und Typen der programmierbaren elektronischen Steuereinrichtungen, sondern auch verschiedene Kommunikationsprotokolle, so dass für der Anwender der "aufgesetzten" Betriebsdatenerfassungen 530, 540 alle Informationsgrößen in der jeweiligen Benutzeroberfläche eindeutig dargestellt werden. Für den Anwender erscheinen die verschiedenen programmierbaren elektronischen Steuerungen und Kommunikationsnetze ohne Unterschied, d. h. transparent. Dies führt zu einer erheblichen Vereinfachung der Bedienung der Betriebsdatenerfassungen 530, 540.
Fig. 6 zeigt eine schematische Darstellung einer Betriebsdatenerfassung 630. Bei der Betriebsdatenerfassung 630 handelt es sich um ein Anwendungsprogramm, das Funktionskomponenten 631 , 633, 634, 635, lokale Daten, 637 und einen Container 638 umfasst. Die Betriebsdatenerfassung kann weiterhin zusätzliche Komponenten, Ressourcen und Dateien, beispielsweise für Hilfefunktionen und Konfiguration umfassen. Bei der Betriebsdatenerfassung 630 handelt es sich um ein Anwendungsprogramm, das im Prinzip mit herkömmlichen Anwendungsprogrammen, beispielsweise dem Tabellenkalkulationsprogramm Excel, vergleichbar ist. Der Container 238 bezeichnet ein ausgeführte Programm, das von einem Rechnersystem, beispielsweise einem Personal Computer, ausgeführt wird. Die Funktionskomponenten 631 , 633, 634, 635 sind in die Betriebsdatenerfassung 630 eingebunden und sind für den Container 638, d. h. das ausführende Programm, erreichbar.
Die Betriebsdatenerfassung 630 umfasst alle für die bestimmungsgemäße Verwendung notwendigen Komponenten. Über die Kommunikationskomponente 631 kann eine Kommunikation zu einer programmierbaren elektronischen Steuereinrichtung, insbesondere eine speicherprogrammierbare Steuerung erfolgen.
Fig. 7 zeigt ein System 700, das eine Betriebsdatenerfassung 730 und den erfindungsgemäßen Controller 760 umfasst. Die Betriebsdateπerfassung 730 umfasst, wie mit Bezug auf Fig. 6 beschrieben, Funktionskomponenten 731 , 733, 734, 735, lokale Daten 737 und einen Container 738. Der erfindungsgemäße Controller 760 umfasst Funktionskomponenten 761 , 763, 764, und lokale Daten 767. Der Controller 760 kann weiterhin einen Container 768 umfassen, so dass der Controller 760 ein Anwendungsprogramm sein kann, das in der Funktionsweise mit der in Fig. 6 gezeigten Betriebsdatenerfassung 630 vergleichbar ist.
Gemäß der Erfindung entspricht der Controller 760 einem Objektmodell und stellt Funktionskomponenten 763, 764 an Anwendungsprogramme und insbesondere Betriebsdatenerfassungen zur Verfügung, die demselben Objektmodell entsprechen. In der bevorzugten Ausführungsform sind der Controller 760 und die Anwendungsprogramme bzw. Betriebsdatenerfassungen 730 für einen Windows-basierten Personal Computer, und insbesondere für das Betriebssystem Windows NT, realisiert und entsprechen dem Common Object Model. In der bevorzugten Ausführungsform hat der Controller 760 keine eigene Visualisierungskomponeπte, so dass eine Visualisierung der Produktionsanlage über den Controller 760 durch die Betriebsdatenerfassung 730 erfolgt. Die Funktionskomponenten 763, 764 des Controllers 760 ergänzen die Kommunikationskomponenten 731 , 733, 734, 735 der Betriebsdatenerfassung 730. Vorzugsweise ersetzen die Funktionskomponenten 763, 764 des Controllers 760 die Funktionskomponenten 733, 734 der Betriebsdatenerfassung 730, so dass die Visualisierung der Produktionsanlage ohne Beeinflussung insbesondere Beeinträchtigung der Betriebsdatenerfassung 730 erfolgt. Da die Produktionsdaten und Steuerdaten der Produktionsanlage in dem Controller 760 verarbeitet, gespeichert und archiviert werden, stehen diese Daten zentral zur Verfügung, und können an weitere Betriebsdatenerfassungen bzw. Anwendungsprogramme geliefert werden. Dabei werden die Funktionskomponenten 763, 764 des
Controllers 760 in den verschiedenen Anwendungsprogrammen und Betriebsdatenerfassungen einheitlich dargestellt. Da die Funktionskomponenten 763, 764 des Controllers 760 als Funktionsbausteine zur Verfügung gestellt werden, kann eine entsprechende Anordnung und Verknüpfung von Objekten innerhalb der einzelnen Betriebsdatenerfassungen, beispielsweise der Betriebsdatenerfassung 730, erfolgen.
Gemäß der Erfindung werden Funktionskomponenten entsprechend einem gemeinsamen Objektmodell zur Einbindung in Anwendungsprogramme, insbesondere Betriebsdatenerfassungen, zur Verfügung gestellt.
Fig. 8 veranschaulicht die Funktionsweise der Erfindung. Fig. 8 zeigt eine Visualisierung 838 einer Betriebsdatenerfassung. Funktionskomponenten der Betriebsdatenerfassung, beispielsweise BDE-Archivierungskomponente, BDE- Verarbeitungskomponente, BDE-Visualisierungskomponente, und Funktionskomponenten des Controllers, beispielsweise Controller-Archivierungskomponente und Controller-Verarbeitungskomponente, werden einem Anwender einheitlich in der Betriebsdatenerfassung zur Verfügung gestellt.
Fig. 9 zeigt in stark vereinfachter Darstellung ein System 900 zur Betriebsdatenerfassung. Das System umfasst eine speicherprogrammierbare Steuerung 920, die mit einer Produktionsanlage 910 verbunden ist. Das System 900 umfasst weiterhin einen erfindungsgemäßen Controller 960. Der Controller 960 entspricht dem gemeinsamen Objektmodell und umfasst eine Vielzahl von Funktionskomponenten, die in Anwendungsprogramme, die dem gemeinsamen Objektmodell entsprechen, einbindbar sind. Die Funktionskomponenten werden im folgenden auch als verdeckte Funktionswerkzeuge (Covered Fuπction Tools, CFT) bezeichnet, da sie von Anwendungsprogrammen visualisiert werden, aber von dem Controller 960 zur Verfügung gestellt werden. Das System 900 umfasst weiterhin eine Vielzahl 930 verschiedener Betriebsdatenerfassungen 930-1 , 930-2, 930-3, 930-4. Bei den Betriebsdatenerfassungen 930-1 , 930-2, 930-3, 930-4 handelt es sich um herkömmliche Betriebsdatenerfassungen verschiedener Hersteller beispielsweise Wonderware, Wizcon, FixdeMax und FixDynamics. Diese Betriebsdatenerfassungen 930-1 , 930-2, 930-3, 930-4 sind zueinander inkompatibel, entsprechen aber dem gemein-
samen Objektmodell, so dass sie jeweils Funktionswerkzeuge des Controllers 960 einbinden können. Da die Überwachung und Steuerung der Produktionsanlage 910 durch den Controller 960 erfolgt und dieser die entsprechenden Produktionsdaten und Steuerdaten verarbeitet und speichert, können die Betriebsdatenerfassungen 930-1 , 930-2, 930-3, 930-4 auf dieselben Informationen zugreifen und diese gleichzeitig, aber unabhängig voneinander, visualisieren. Der Controller 960 vereinfacht somit die Unterstützung verschiedener Betriebsdatenerfassungen und ermöglicht die heterogene Visualisierung mittels verschiedener Betriebsdatenerfassungen für eine Produktionsanlage. Da die Betriebsdatenerfassungen 930-1 , 930-2, 930-3, 930-4 über die verdeckten Funktioπswerkzeuge mit dem Controller 960 kommunizieren, können Einrichtungen, beispielsweise speicherprogrammierbare Steuerungen und Datenbanken, ergänzt oder gegen andere Typen ausgetauscht werden, ohne die Funktion der Betriebsdatenerfassungen 930-1 , 930-2, 930-3, 930-4 zu beeinflussen.
Fig. 10 zeigt eine schematische Darstellung zur Veranschaulichung des Informationsflusses in einem System 1000 gemäß der Erfindung. Das System 1000 umfasst eine erste speicherprogrammierbare Steuerung 1020 und eine zweite speicherprogrammierbare Steuerung 1050, den erfindungsgemäßen Controller 1060 und eine Betriebsdatenerfassung 1030. Die Strukturen von Produktionsanlagen können sehr unterschiedlich sein. Im allgemeinen werden identische Produktionsanlagen eher selten anzutreffen sein. Es ist verständlich, dass der erfindungsgemäße Controller 1060 vorzugsweise für eine Vielzahl verschiedener Produktionsanlagen verwendbar sein soll. Der Controller 1060 ist, wie Anwendungsprogramme im allgemeinen, in einer vorbestimmten Programmiersprache programmiert, und anschließend für ein vorbestimmtes Betriebssystem kompiliert. Der Controller 1060, d. h. das kompilierte Programm, soll zur Überwachung und Steuerung einer Vielzahl verschiedener Produktionsanlagen verwendbar sein, da anderenfalls eine Programmierung und Kompilierung für jede einzelne Produktionsanlage erforderlich würde, was zu erheblichen Problemen und Kosten führen würde. Um den Controller 1060 an die jeweilige Produktionsanlage anzupassen, umfasst der Controller 1060 eine Konfigurationsdatenbank oder Programmdatenbank, die zur Parametrierung grundlegender Systemdaten dient. Das heißt, die Informationen der Konfigurationsdatenbank pas-
sen einen vorgefertigten Controller 1060 an die Struktur der jeweiligen Produktions- anlage an. Die Iπformationsgrößen einer Produktionsanlage lassen sich in eine Struktur Fertigungslinie, Einzelmaschine, Zähler, Verfahrensgrößen, Meldungen, Betriebsdaten fassen. Es ist verständlich, dass die Informationsgrößen der Produktionsanlage für den Controller 1060 eindeutig identifizierbar sein müssen, um eine korrekte Verarbeitung der Informationsgrößen gewährleisten zu können. Dafür ordnet der Controller 1060 jeder Informationsgröße einen eindeutigen Bezeichner zu.
Der erfindungsgemäße Controller 1060 ermöglicht es einem Anwender, jeder beliebigen Informationsgröße eine Identifikation, beispielsweise eine Adresse, zuzuordnen, die es dem Anwender ermöglicht, direkt auf die Informationsgröße zu zugreifen. Dadurch wird es dem Anwender ermöglicht, über die Betriebsdatenerfassung 1030 mittels der Identifikation auf die Informationsgröße zuzugreifen. Somit wird die Informationsgröße beispielsweise für Berechnungen und Auswertungen, die von der Betriebsdatenerfassung 1030 ausgeführt werden, verfügbar. Die Identifikation dient dabei vorzugsweise als Funktionsparameter für Funktionen, die der Anwender in der Betriebsdatenerfassung 1030 aufrufen kann.
Wird, beispielsweise, einem Zähler in der speicherprogrammierbaren Steuerung 1020 eine Identifikation 36149 zugeordnet, kann der Anwender die Informationsgröße mittels einer Funktion, wie beispielsweise =GetValue (36149), aus der speicherprogrammierbaren Steuerung 1020 auslesen, so dass die ausgelesene Informationsgröße in der Betriebsdatenerfassung 1030 für weitere Berechnungen oder dergleichen zur Verfügung steht. Umgekehrt kann die Betriebsdatenerfassung 1030 mit einer anderen Funktion, wie beispielsweise SetValue (36149, 10), dem Zähler den Wert 10 zuweisen.
Mit Bezug auf Fig. 10 umfasst eine Produktionseinrichtung Sensoren, beispielsweise Schließkontakte, die mit G1.1 , G1.2 und G1.3 bezeichnet und mit der ersten speicherprogrammierbaren Steuerung 1020 verbunden sind und die mit G5.1 , G5.2, G5.3 und G5.4 bezeichnet und mit der zweiten speicherprogrammierbaren Steuerung 1050 verbunden sind. Die erste speicherprogrammierbare Steuerung 1020 ist von einem ersten Typ und umfasst Zähler 1023, 1024 und 1025, die jeweils mit den Sensoren G1.1 , G1.2 und G1.3 verbunden sind. Die Zähler 1023, 1024, 1025 der
ersten speicherprogrammierbaren Steuerung 1020 umfassen jeweils einen Speicher mit einer Größe von vier Bytes. Die zweite speicherprogrammierbare Steuerung 1050 ist von einem zweiten Typ und umfasst Zähler 1053, 1054, 1055, 1056, die jeweils mit den Sensoren G5.1 , G5.2, G5.3 und G5.4 verbunden sind. Die Zähler 1053, 1054, 1055, 1056 der zweiten speicherprogrammierbaren Steuerung 1050 umfassen jeweils einen Speicher mit einer Größe von zwei Bytes. Somit haben die Zähler der beiden speicherprogrammierbaren Steuerung 1020, 1050 ein unterschiedliches Format, das von dem Controller 1060 berücksichtigt werden muss. Dabei konvertiert der Controller 1060 die unterschiedlichen Formate vorzugsweise in ein einheitliches Format. Der Controller 1060 umfasst eine erste Kommunikationskomponente 1061 zur Kommunikation mit der ersten speicherprogrammierbaren Steuerung 1020 und eine zweite Kommunikationskomponente 1062 zur Kommunikation mit der zweiten speicherprogrammierbaren Steuerung 1050. Der Controller 1060 umfasst weiterhin eine Verarbeitungskomponente 1064, einen lokalen Speicher 1067, der eine Zuordnung zwischen Informationsgrößen und Adressen in Form einer Tabelle enthält, und einen Container 1068. Die Betriebsdatenerfassung 1030 umfasst eine Visualisierungskomponente 1035, die beispielsweise einen Zelleneditor und eine zu bearbeitende Tabelle 1039 visualisiert. Die Zuordnungstabelle, die als Daten 1067 in einem Speicher des Controllers 1060 gespeichert ist, enthält Zuordnungen von Sensoren der Produktionseinrichtungen und benutzerdefinierten Identifikationen, die in Fig. 10 als Adressen dargestellt sind. Die Zuordnungstabelle speichert jeweils die Zuordnung eines Sensors zu einer eindeutigen Adresse. Diese Zuordnung kann von einem Benutzer der Betriebsdatenerfassung 1030 nach individuellen Bedürfnissen festgelegt werden. Die Zuordnungen sind flexibel aber eindeutig festlegbar. In dem System 1000 gemäß der Erfindung ist jeder Sensor G1.1 bis G5.4 mittels einer eindeutigen Adresse 0001 bis 02778 für den Benutzer identifizierbar. Der Anwender kann die Adresse somit zur Identifizierung des entsprechenden Sensors beim Programmieren in der Betriebsdatenerfassung 1030 verwenden.
Fig. 10 zeigt beispielhaft eine Tabelle mit dem Titel "Vergleich". Die Tabelle enthält eine linke Spalte mit dem Titel "Soll" und eine rechte Spalte mit dem Titel "Ist". In einer ersten Datenreihe enthält eine linke Zelle einen Wert von 30, der von dem
Anwender fest vorgegeben worden ist. Eine rechte Zelle enthält einen Wert von 25. Ein Rechteck zeigt an, dass der Inhalt der Zelle in dem Zelleneditor angezeigt wird. Der Inhalt der Zelle ist eine Funktion "GetValue (0002)", und der angezeigte Wert von 25 entspricht dem Inhalt des Zählers, der durch die Adresse 0002 identifiziert wird. Gemäß der Zuordnungstabelle des Controllers 1060 entspricht der Adresse 0002 die Informationsgröße G1.2. Eine weitere Betätigung des Schließers G1.2 erhöht den Inhalt des Zählers 1024 in der ersten speicherprogrammierbaren Steuerung 1020. Die Informationsgröße wird von der speicherprogrammierbaren Steuerung 1020 in den Controller 1060 übertragen, der die entsprechende Informationsgröße verarbeitet und archiviert, d. h. protokolliert, und den verarbeiteten, d. h. konvertierten, Wert der Informationsgröße an die entsprechende Zelle in der Tabelle der Betriebsdatenerfassung 1030 weiterleitet. Aufgrund der Zuordnung von Informationsgrößen und Identifikationen und der Konvertierung der Werte der Informationsgrößen durch den Controller 1060 wird die Programmierung, d. h. Visualisierung der Produktionsanlage in der Betriebsdatenerfassung 1030 wesentlich vereinfacht. Die Adresse einer Informationsgröße kann dabei als Funktionsparameter für beliebige andere Funktionen, beispielsweise GetValue (), verwendet werden. Die Visualisierung der Produktionsanlage erfolgt dabei vorzugsweise ereignisgesteuert (e- vent-driven), d. h. bei einer Änderung einer Informationsgröße überträgt die entsprechende speicherprogrammierbare Steuerung 1020, 1050 die Informationsgröße an den Controller 1060, der die Informationsgröße verarbeitet und eine Aktualisierung der Visualisierung der Informationsgröße veranlasst.
Die erfindungsgemäß verdeckten Funktionswerkzeuge ermöglichen eine produktunabhängige Oberflächengestaltung, einen modularen Aufbau, eine flexible Erwei- terbarkeit, eine automatische Informationserzeugung und Bereitstellung von Informationen und Daten bei der Betriebsdatenerfassung.