-
TECHNISCHES GEBIET
-
Die
vorliegende Erfindung bezieht sich auf einen Kommunikationstreiber,
der Daten wandelt, die zwischen einer Anlage und einer Managementeinheit in
einem Herstellungssystem kommuniziert werden, worin die Anlage,
die ausgerüstet
ist mit einer Maschine, wie etwa einer Transportanlagenmaschine, einer
Herstellungsmaschine oder einer Untersuchungsmaschine in einer Herstellungsfabrik,
und einer Einrichtung, die die Maschine steuert, und die Managementeinheit,
die die Anlage managt, miteinander über ein Netz verbunden sind.
-
STAND DER TECHNIK
-
Bis
jetzt wurde ein flexibles Produktionssystem mit einem Aufbau, worin
Anlagen, die zu steuern sind, und eine Steuereinheit miteinander über ein Netz
verbunden sind, vorgeschlagen und populär gemacht. Die Anlagen, die
zu steuern sind, enthalten diverse Maschinenwerkzeuge, die bei Bearbeitung, Reinigung
und Transport eines Werkstücks
als Produktionsanlagen tatsächlich
eingreifen, eine Anordnungseinheit, eine Reinigungseinheit, eine
Operationsinstruktionseinheit und eine Transporteinheit. Die Steuereinheit
steuert ganzheitlich die Operation der Anlagen, die zu steuern sind,
während
Grundinformation, wie etwa eine Prozessplanung, eine Prozessauftragsinformation
oder geplante Schabloneninformation, um einen Operationsplan vorzubereiten,
verarbeitet wird. Als ein Beispiel des obigen flexiblen Produktionssystems
gibt es ein System, in dem die Steuereinheit in viele Steuereinheiten
für jedes
der Funktionselemente der Anlagen, die zu steuern sind, unterteilt
ist, und die Operation der Anlagen, die zu steuern sind, wird in
jedem der Funktionselemente gesteuert. Auch sind in dem System eine
Kommunikationsleitung für
Steuerinformationsübertragung, die
zum Steuern der Operation der Anlagen verwendet wird, die zu steuern
sind, und eine Kommunikationsleitung für Operationsinformationsübertragung, die
zum Steuern der Operation des flexiblen Produktionssystems verwendet
wird, getrennt angeordnet, um einen Fluss der Information in dem
gesamten System mit hoher Effizienz zu glätten (siehe z.B. Patentliteraturstelle
1).
- Patentliteraturstelle 1: japanisches
Patent Nr. 2577600 .
-
OFFENBARUNG DER ERFINDUNG
-
PROBLEM, DAS DURCH DIE ERFINDUNG ZU LÖSEN IST
-
In
dem flexiblen Produktionssystem, das in der obigen Patentliteraturstelle
1 offenbart wird, gibt es viele Fälle, in denen die Anlagen,
die zu steuern sind, und die Steuereinheiten, die von unterschiedlichen
Lieferanten versorgt werden, zusammen kombiniert werden. In diesem
Fall ist, da die Bedeutungen von Parametern, die in den Anlagen
gesetzt sind, die zu steuern sind, und Datenformate, die in den
Anlagen verwendet werden, die zu steuern sind, und die Steuereinheiten
unter den Lieferanten unterschiedlich sind, ein derartiges Problem
entstanden, dass die Steuereinheiten ein Datenzugriffsprogramm für jede der
Anlagen, die zu steuern sind, benötigen, deren Operation durch
die Steuereinheiten gesteuert wird. Außerdem ist ein derartiges Problem
entstanden, dass eine schwere Belastung auf einen Betreiber ausgeübt wird,
der das Datenzugriffsprogramm betreibt, da eine Arbeit zum Entwickeln
des Datenzugriffsprogramms für
jede der Anlagen, die zu steuern sind, erforderlich ist.
-
Die
vorliegende Erfindung wurde angesichts der obigen Umstände unternommen,
und deshalb besteht ein Ziel der vorliegenden Erfindung darin, einen
Kommunikationstreiber vorzusehen, der Daten wandelt, um so die Daten
zwischen einer Anlage und einer Managementeinheit zu übermitteln,
sogar in einem Fall, wo Datenformate, die in der Anlage und der Managementeinheit
verwendet werden, voneinander verschieden sind, oder sogar in einem
Fall, wo die Bedeutung eines Parameters, der in der Anlage eingestellt
ist, unter den Lieferanten unterschiedlich ist, in einem Herstellungssystem,
in dem die Anlage, die in die Herstellung eingreift, und die Managementeinrichtung,
die das Management steuert, miteinander über ein Netz verbunden sind.
-
MITTEL ZUM LÖSEN DER PROBLEME
-
Um
das oben erwähnte
Ziel zu erreichen, sieht die vorliegende Erfindung vor einen Kommunikationstreiber,
der Daten wandelt, die zwischen einer Managementeinheit und einer
Anlage in einem Herstellungssystem übermittelt werden,
wobei
die Anlage, die mit einer Einrichtung ausgerüstet ist, die eine Maschine
steuert basierend auf einer Instruktion von der Managementeinheit,
und die Managementeinheit mit einem Managementanwendungsprogramm,
das die Anlage managt, mit der Maschine, die eine gegebene Verarbeitung
durchführt, über ein
Netz verbunden sind,
wobei eine Ausgabe von dem Managementanwendungsprogramm
in ein Format gewandelt wird, das durch die Anlage verarbeitet werden
kann, um die Anlage zu veranlassen, die gegebene Verarbeitung auszuführen,
wobei
der Kommunikationstreiber enthält:
einen
Einrichtungstreiber, der für
jede Art von Einrichtungen vorgesehen ist, die in dem Herstellungssystem
angeordnet sind, und Kommunikationen mit der Einrichtung steuert;
und
einen Anlagentreiber, der für jede Art von Maschinen vorgesehen
ist, die in dem Herstellungssystem angeordnet sind, und auf die
Maschine, auf die zuzugreifen ist, mit der Verwendung des Einrichtungstreibers gemäß einer
Instruktion von dem Managementanwendungsprogramm zugreift
worin
der Einrichtungstreiber und der Anlagentreiber gestaffelt sind.
-
EFFEKT DER ERFINDUNG
-
Gemäß der vorliegenden
Erfindung hat der Treiber einen Aufbau, worin ein Einrichtungstreiber, der
Kommunikationen mit der Einrichtung steuert, und ein Anlagentreiber,
der die Einheit steuert, gestaffelt sind. Mit der obigen Konfiguration
gibt es einen Vorteil dadurch, dass der Einrichtungstreiber der Einrichtung
durch einen Einrichtungshersteller versorgt werden kann, und der
Anlagentreiber der Maschine durch einen Maschinenhersteller getrennt
versorgt werden kann.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
ein Diagramm, das ein Beispiel eines Herstellungssystems zeigt,
auf das die vorliegende Erfindung angewendet wird.
-
2 ist
ein Diagramm, das eine Treiberkonfiguration einer Datenwandlungseinheit
schematisch zeigt.
-
3 ist
ein Diagramm, das einen Einrichtungstreiber und einen Anlagentreiber
zeigt, die gemäß einer
ersten Ausführungsform
modelliert sind.
-
4 ist
ein Diagramm, das den Überblick über ein
Funktionsobjektmodell basierend auf einem Diagramm einer UML zeigt.
-
5 ist
ein Diagramm, das die Konfiguration eines Kommunikationstreibers
gemäß einer
zweiten Ausführungsform
der vorliegenden Erfindung schematisch zeigt.
-
6 ist
ein Diagramm, das die Konfiguration eines Kommunikationstreibers
in einem Fall schematisch zeigt, wo die Staffelung des Treibers
auf ein Prozessmanagement angewendet wird.
-
7 ist
ein Diagramm, das ein Produktionsbeispiel eines Funktionsobjektes
in einem Fall zeigt, wo der Treiber mit dem Prozessmanagement als
eine Einheit erzeugt wird.
-
8-1 ist ein Diagramm, das eine gemeinsam genutzte
Schnittstelle der Treiber und eine Treiberzugriffsprozedur davon
schematisch zeigt (Nr. 1).
-
8-2 ist ein Diagramm, das die gemeinsam genutzte
Schnittstelle der Treiber und der Treiberzugriffsprozedur davon
zeigt (Nr. 2).
-
8-3 ist ein Diagramm, das die gemeinsam genutzte
Schnittstelle der Treiber und die Treiberzugriffsprozedur davon
schematisch zeigt (Nr. 3).
-
8-4 ist ein Diagramm, das die gemeinsam genutzte
Schnittstelle der Treiber und die Treiberzugriffsprozedur davon
schematisch zeigt (Nr. 4).
-
8-5 ist ein Diagramm, das die gemeinsam genutzte
Schnittstelle der Treiber und die Treiberzugriffsprozedur davon
schematisch zeigt (Nr. 5).
-
8-6 ist ein Diagramm, das die gemeinsam genutzte
Schnittstelle der Treiber und die Treiberzugriffsprozedur davon
schematisch zeigt (Nr. 6).
-
8-7 ist ein Diagramm, das die gemeinsam genutzte
Schnittstelle der Treiber und die Treiberzugriffsprozedur davon
schematisch zeigt (Nr. 7).
-
8-8 ist ein Diagramm, das die gemeinsam genutzte
Schnittstelle der Treiber und die Treiberzugriffsprozedur davon
schematisch zeigt (Nr. 8).
-
8-9 ist ein Diagramm, das die gemeinsam genutzte
Schnittstelle der Treiber und die Treiberzugriffsprozedur davon
schematisch zeigt (Nr. 9).
-
9 ist
ein Diagramm, das ein Beispiel zeigt, in dem ein XML-Datenmodell
zum Beschreiben von Gestaltungsinformation in einem XML-Profil in
einem UML-Klassendiagramm beschrieben ist.
-
10 ist
ein Diagramm, das ein Beispiel eines XML-Datenmodells zeigt, das ein Instanzinformationsmodell
zu dem XML-Datenmodell der Gestaltungsinformation, das in 9 gezeigt
wird, hinzufügt.
-
11 ist
ein Diagramm, das ein Beispiel zeigt, in dem die Gestaltungsinformation
und Konfigurationsinformation basierend auf dem in 10 gezeigten
XML-Datenmodell beschrieben sind.
-
12 ist
ein Diagramm, das ein Beispiel eines Abbildungsmodells in der Gestaltungsinformation
einer IDL und der XML-Daten zeigt.
-
13 ist
ein Diagramm, das ein Beispiel einer Erzeugungsprozedur und einer
Einstellungsprozedur eines Protokollschnittstellenabschnitts eines Kommunikationstreibers
zeigt, der zum Verweisen auf die Instanzinformation fähig ist.
-
14 ist
ein Diagramm, das ein Beispiel der Beschreibung des XML-Profils
der Schnittstelleninformation zeigt.
-
15 ist
ein Diagramm, das ein Beispiel des Beschreibungsmusters des XML-Profils
eines IDL-Schnittstellenabschnitts
zeigt.
-
16 ist
ein Diagramm, das ein Beispiel einer Beschreibungsregel in dem XML-Profil
der IDL-Datentypdeklaration
zeigt.
-
17 ist
ein Diagramm, das ein Beispiel der IDL-Beschreibung entsprechend der Beschreibung
der Klasseninformation des in 14 gezeigten
XML-Profils zeigt.
-
- 1
- HERSTELLUNGSSYSTEM
- 2
- ANLAGE
- 3
- HERSTELLUNGSAUSFÜHRUNGSSYSTEM
- 4
- GESTALTUNGSINFORMATIONSSPEICHEREINHEIT
- 5
- DATENWANDLUNGSEINHEIT
- 6
- NETZ
- 21
- MASCHINE
- 22
- EINRICHTUNG
- 31
- HERSTELLUNGSAUSFÜHRUNGSANWENDUNGSPROGRAMM
- 51
- EINRICHTUNGSTREIBER
- 52
- ANLAGENTREIBER
- 211,
221
- FUNKTION
- 511
- EINRICHTUNGSOBJEKT
- 512,
522
- FUNKTIONSOBJEKT
- 521
- ANLAGENOBJEKT
-
BESTER MODUS ZUM AUSFÜHREN DER
ERFINDUNG
-
Hierin
nachstehend wird eine detaillierte Beschreibung eines Kommunikationstreibers
gemäß bevorzugten
Ausführungsformen
der vorliegenden Erfindung mit Bezug auf die begleitenden Zeichnungen
gegeben.
-
Erste Ausführungsform
-
1 ist
ein Diagramm, das ein Beispiel eines Herstellungssystems schematisch
zeigt, auf das die vorliegende Erfindung angewendet wird. Ein Herstellungssystem 1 ist
auf eine derartige Art und Weise konfiguriert, dass Anlagen 2,
die eine gegebene Operation ausführen,
die in die Herstellung eines gewissen Produktes in dem Herstellungssystem 1 eingreift, Herstellungsausführungssysteme
(MESs) 3, die jene Anlagen 2 managen, eine Gestaltungsinformationsspeichereinheit 4,
die Gestaltungsinformation speichert, wie etwa die Spezifikationen
oder das Projektbuch der Anlagen 2 oder der Herstellungsausführungssysteme 3,
und eine Datenwandlungseinheit 5, die Daten wandelt, die
zwischen den Anlagen 2 und den Herstellungsausführungssystemen 3 transferiert
werden, miteinander über
ein Netz 6 verbunden sind, das die Daten überträgt.
-
Jede
der Anlagen 2 enthält
eine Maschine 21, die eine gegebene Bearbeitung in der
Herstellung tatsächlich
durchführt,
und eine Einrichtung 22, die die Maschine 21 gemäß einem
gegebenen Programm und einem Parameter betreibt und mit den Herstellungsausführungssystemen 3 kommuniziert. Jede
der Einrichtungen 22 enthält eine Steuervorrichtung,
die die Maschine 21 steuert, ebenso wie einen Sensor und
ein Stellglied. Die Anlage 2 bildet z.B. eine Transporteinheit,
die Teile zum Herstellen eines gewissen Produktes transportiert,
eine Herstellungseinheit, die das Produkt durch Verwendung der transportierten
Teile herstellt, oder eine Untersuchungseinheit, die die hergestellte
Einheit untersucht.
-
Das
Herstellungsausführungssystem 3 ist eine
Einheit, die ein Herstellungsausführungsanwendungsprogramm für Herstellungsleistungsmanagement,
Anlagenwartung, Betreibermanagement, Prozessmanagement, Qualitätsmanagement,
Herstellungsinstruktion, Datensammlung oder physikalische Verteilungssteuerung
ausführt,
mit den jeweiligen Anlagen 2 durch das Netz 6 kommuniziert
und die Ausführung
von Datensammlung, Transfer von Daten, wie etwa Rezeptur, oder Parametereinstellung instruiert.
Das Herstellungsausführungssystem 3 der obigen
Konfiguration wird durch ein Informationsverarbeitungsendgerät gebildet,
wie etwa eine Arbeitsstation oder einen Personalcomputer, einschließlich eines
Speichermittels zum Speichern des Herstellungsausführungsanwendungsprogramms,
eines Prozessausführungsmittels
zum Ausführen
eines Prozesses gemäß dem Herstellungsausführungsanwendungsprogramm
und eines Kommunikationsmittels, das als eine Schnittstelle mit
dem Netz 6 funktioniert.
-
Die
Gestaltungsinformationsspeichereinheit 4 ist eine Einheit,
die Gestaltungsinformation bezogen auf die jeweiligen Anlagen 2 und
die jeweiligen Herstellungsausführungssysteme 3 speichert,
und die Gestaltungsinformation, die von der Datenwandlungseinheit 5 instruiert
wird, zuführt.
Die Gestaltungsinformation kann beispielhaft dargestellt werden
durch eine Anlagenspezifikation, die die Spezifikation der Anlagen 2 ist,
eine Herstellungsausführungssystemspezifikation,
die die Spezifikation des Herstellungsausführungssystems 3 ist,
eine Einrichtungsspezifikation, die die Spezifikation der Einrichtungen 22 ist,
die in den Anlagen 2 angeordnet sind, oder eine Anlagenverbindungsspezifikation,
die die Spezifikation eines Programms ist, das in dem Herstellungsausführungssystem 3 eingerichtet
ist.
-
Die
Datenwandlungseinheit 5 hat eine Funktion zum Aufnehmen
eines Unterschieds im Protokollen oder eines Unterschieds in Benutzerdatendefinitionen,
was verursacht wird durch einen Unterschied von Lieferanten oder
den Modellen in den Daten, die zwischen den Anlagen 2 und
dem Herstellungsausführungssystem 3 übermittelt
werden basierend auf der Gestaltungsinformation, die in der Gestaltungsinformationsspeichereinheit 4 gespeichert
ist, und Wandeln der Daten in ein Datenformat des Typs, das durch
eine Einheit auf der Datenempfangsseite (die Anlagen 2 oder
das Herstellungsausführungssystem 3)
gelesen werden kann.
-
2 ist
ein Diagramm, das die Konfiguration eines Treibers der Datenwandlungseinheit
gemäß der ersten
Ausführungsform
schematisch zeigt. Die Figur zeigt einen Fall, in dem die Datenwandlungseinheit 5 mit
einem Herstellungsausführungsanwendungsprogramm 31,
das in einem Herstellungsausführungssystem 3 installiert
ist, und vier Anlagen 2A bis 2D unterschiedlicher
Arten verbunden ist. Auch hat die Anlage 2B zwei Einrichtungen 22a und 2b, und
die Anlagen 2C und 2D haben identische Einrichtungen 22c.
Wie in 2 gezeigt, enthält die Datenwandlungseinheit 5 Einrichtungstreiber 51a bis 51c, die
Kommunikationen mit den Einrichtungen 22a bis 22c der
Anlagen 2A bis 2D steuern, und Anlagentreiber 52A bis 52D,
die die Daten der Anlagen 2A bis 2D dem Herstellungsausführungsanwendungsprogramm 31 des
Herstellungsausführungssystems 3 mit
der Verwendung der Einrichtungstreiber 51a bis 51c auf
eine hierarchische Weise zuführen.
-
Nun
wird eine Beschreibung eines allgemeinen Modells zum Erzeugen der
gestaffelten Treiber gegeben, die in der Datenwandlungseinheit 5 vorgesehen
sind. 3 ist ein Diagramm, das die modellierte Konfiguration
de Einrichtungstreiber und der Anlagentreiber gemäß der ersten
Ausführungsform zeigt.
In diesem Beispiel ist die Datenwandlungseinheit 5 mit
dem Herstellungsausführungsanwendungsprogramm 31,
das in einem Herstellungsausführungssystem 3 installiert
ist, und zwei Anlagen 2A und 2B unterschiedlicher
Arten verbunden. Die Anlage 2A besteht aus einer Maschine 21A mit
zwei Funktionen 211A1 und 211A2, und einer Einrichtung 22a mit
einer Funktion 221a, und die Anlage 2B besteht
aus einer Maschine 21B mit einer Funktion 211B,
und einer Einrichtung 22b mit zwei Funktionen 221b1 und 221b2.
-
Die
Einrichtungstreiber 51a und 51b der Datenwandlungseinheit 5 haben
ein oder mehr Einrichtungsobjekte 511a und 511b entsprechend
den Einrichtungen 22a und 22b der kommunizierenden
Anlagen 2A und 2B. Auch haben die Einrichtungsobjekte 511a und 511b ein
oder mehr Funktionsobjekte 512a, 512b1 und 512b2 entsprechend
den Funktionen der Einrichtungen 22a und 22b.
Die Funktionsobjekte 512a, 512b1 und 512b2 der
Einrichtungsobjekte 511a und 511b sind durch Verwenden
der Funktionsobjektmodelle klassifiziert.
-
4 ist
ein Diagramm, das einen Überblick über das
Funktionsobjektmodell basierend auf einem Klassendiagramm einer
UML (vereinheitlichte Modellierungssprache, unified modeling language)
zeigt. Die Funktionen 211 und 221 der Maschine 21 und
der Einrichtung 22, die in 3 gezeigt
werden, sind durch Einstellen der Parameter der Funktionsobjekte eingestellt.
Auch wird die Operation der Funktionen 211 und 221 durch
die Operation des Funktionsobjektes durchgeführt. Die Operation wird durch
Einstellen der Optionseinstellung oder der Einrichtungsdaten als
den Parameter und Aufrufen des Parameters durchgeführt. Die
Ergebnisse der Operation werden gleichermaßen zu dem Parameter der Operation eingestellt,
und dann als eine Antwort zurückgegeben.
Die Funktionsobjekte haben Attributobjekte von Eingabe und Ausgabe.
Eine Moduseinstellung oder ein Eingabewert mit Bezug auf die Funktionen 211 und 221 wird
zu der Eingabe gesetzt, und ein Zustandsmonitor der Funktionen 211 und 221 oder
ein Ausgabewert wird zu der Ausgabe gelesen. Das Attributobjekt
wird für
Daten der Funktionen 211 und 221 verwendet, die
periodisch oder zyklisch aktualisiert werden.
-
Wenn
die Funktionsobjekte 512a, 512b1 und 512b2 der
jeweiligen Einrichtungsobjekte 511a und 511b,
die durch das obige Funktionsobjektmodell modelliert wurden, in
den Einrichtungstreibern 51a und 51b installiert
sind, und dann auf sie zugegriffen wird, können die Einrichtungstreiber 51a und 51b mit den
entsprechenden Einrichtungen 22a und 22b kommunizieren,
Daten in die Einrichtung 22a oder 22b schreiben,
Daten von der Einrichtung 22a oder 22b erlangen
und ferner die Operation der Einrichtungen 22a und 22b hochfahren.
-
Die
Anlagentreiber 52A und 52B der Datenwandlungseinheit 5 haben
ein oder mehr Anlagenobjekte 521A und 521B entsprechend
den kommunizierenden Maschinen 21. Auch haben die Anlagenobjekte 521A und 521B ein
oder mehr Funktionsobjekte 522A1, 522A2 und 522B entsprechend
den Funktionen 211A1, 211A2 und 211B der
Maschine 21. Die Funktionsobjekte 522A1, 522A2 und 522B der
Anlagenobjekte 521A und 521B sind auch durch Verwenden
des Funktionsobjektmodells basierend auf dem Klassendiagramm der
in 4 gezeigten UML wie in dem Fall der Einrichtungstreiber 51a und 51b klassifiziert.
Wenn die jeweiligen Funktionsobjekte 522A1, 522A2 und 522B,
die durch das obige Funktionsobjektmodell modelliert wurden, in
den Anlagentreibern 52A und 52B installiert sind,
und dann auf sie zugegriffen wird, können die Anlagentreiber 52A und 52B das
Attribut mit Bezug auf die Funktionsobjekte 512a, 512b1 und 512b2 der
Einrichtungstreiber 51a und 51b entsprechend den
Funktionen 211A1, 211A2 und 211B der
Maschinen 21A und 21B schreiben und lesen. Als
ein Ergebnis ist es möglich,
das Lesen und Schreiben und eine Operation der Daten mit Bezug auf
die Anlagen 2A und 2B, die mit den entsprechenden
Einrichtungen 22a und 22b ausgerüstet sind,
durchzuführen.
-
Wenn
z.B. der Einrichtung 22 in 4 Aufmerksamkeit
geschenkt wird, sind genauer die zwei Einrichtungsobjekte 511a und 511b in
Entsprechung mit den zwei Einrichtungen 22a und 22b erzeugt.
Da die Einrichtung 22a die eine Funktion 221a hat,
hat das Einrichtungsobjekt 511a das eine Funktionsobjekt 512a,
und da die Einrichtung 22b die zwei Funktionen 221b1 und 221b2 hat,
hat das Einrichtungsobjekt 511b die zwei Funktionsobjekte 512b1 und 512b2.
-
Wenn
der Maschine 21 Aufmerksamkeit geschenkt wird, hat außerdem das
Anlagenobjekt 512A die zwei Funktionsobjekte 522A1 und 522A2 in
Entsprechung mit den Funktionen 211A1 und 211A2 der Maschine 21A,
und das Anlagenobjekt 512B hat das eine Funktionsobjekt 522B in
Entsprechung mit der Funktion 211B der Maschine 21B.
-
In
dem Beispiel von 3 ist das Einrichtungsobjekt 511 als
ein Einrichtungstreiber 51 eingestellt, und das Anlagenobjekt 521 ist
als der eine Anlagentreiber 52 eingestellt. Die vorliegende
Erfindung ist jedoch nicht auf die obige Konfiguration begrenzt. Wenn
die Funktionen 221 der vielen Arten von Einrichtungen 22 auf
eine breitere konzeptionelle Weise extrahiert werden können, kann
z.B. ein Einrichtungsobjekt den vielen Arten von Einrichtungen 22 zugeordnet
werden. In dem Fall des Anlagenobjektes 521 kann ähnlich,
wenn die Funktionen 221 der vielen Arten von Maschinen 21 auf
die breitere konzeptionelle Weise extrahiert werden können, ein
Anlagenobjekt 521 den vielen Arten von Maschinen 21 zugeordnet
werden. In diesen Fällen
ist es unnötig,
die Einrichtungstreiber 51 und die Anlagentreiber 52 gemäß den Arten
von Einrichtungen 22 und Maschinen 21, wie in 2 gezeigt,
vorzubereiten.
-
Wie
oben beschrieben können,
wenn die Funktionsobjekte 512 und 522 basierend
auf dem Funktionsobjektmodell in dem Einrichtungsobjekt 511 und
dem Anlagenobjekt 521 erzeugt sind, der Einrichtungstreiber 51 und
der Anlagentreiber 52 gestaffelt und konfiguriert werden,
wie in 2 gezeigt. D.h. wie in 2 gezeigt,
muss die Datenwandlungseinheit 5 so konfiguriert sein,
um die Anlagentreiber 52A bis 52D entsprechend
den Arten der Anlagen 2A bis 2D, und die Einrichtungstreiber 51a bis 51c entsprechend
den Arten der Einrichtungen 22a bis 22c, die in
den Anlagen 2A bis 2D installiert sind, vorzusehen.
Die Kombinationen der Maschine 21 und der Einrichtung 22 in
der Anlage 2 kann auch durch die kleinste Zahl von Treibern
behandelt werden. Obwohl die Anlagen 2C und 2D die
gleichen Einrichtungen 22c verwenden, ist es z.B. notwendig,
die Datenwandlungseinheit 5 mit nur einem Einrichtungstreiber 51c entsprechend
einer Art von Einrichtung 22c vorzusehen. Auch muss ein
Anbieter der Maschine 21 nur den Anlagentreiber 52 basierend
auf dem Funktionsobjektmodell, das in 4 gezeigt
wird, entsprechend der Maschine 21 vorsehen, und ein Anbieter der
Einrichtung 22 muss nur den Einrichtungstreiber 51 basierend
auf dem Funktionsobjektmodell, das in 4 gezeigt
wird, entsprechend der Einrichtung 22 vorsehen.
-
Anschließend wird
eine Beschreibung einer Datenwandlungsprozedur in der Datenwandlungseinheit 5 mit
dem Treiber mit der obigen hierarchischen Konfiguration gegeben.
In diesem Beispiel, in 3, wird ein Fall, in dem das
Herstellungsausführungsanwendungsprogramm 31 auf
die Funktion 211A1 der Anlage 2A zugreift, beispielhaft
dargestellt. Zuerst gibt das Herstellungsausführungsanwendungsprogramm 31 eine
Instruktion I0 zu der Anlage 2A ab,
um so eine Verarbeitung T unter Verwendung der Funktion 211A1 auszuführen.
-
Die
Instruktion I0, die anzeigt, dass die Verarbeitung
T ausgeführt
wird, wird zu dem Anlagentreiber 52A der Datenwandlungseinheit 5 eingegeben. Das
Funktionsobjekt 522A1 des Anlagentreibers 52A entsprechend
der Funktion 211A1 der Anlage 2A gibt eine Instruktion
I1 zum Ausführen der Verarbeitung T durch
die Hilfe der Anlage 2A zu dem Einrichtungstreiber 51a entsprechend
dem Funktionsobjekt 522A1 ab. D.h. das Funktionsobjekt 522A1 wandelt die
Instruktion I0, die zum Ausführen der
Verarbeitung T eingegeben wird, in die Instruktion I1,
die durch die entsprechende Anlage 2A verarbeitet werden
kann, und gibt dann die gewandelte Instruktion aus.
-
Wenn
die Instruktion I1, die anzeigt, dass die Verarbeitung
T durch die Anlage 2A implementiert wird, zu dem Einrichtungstreiber 51a eingegeben wird,
wandelt das Funktionsobjekt 512a des Einrichtungstreibers 51a entsprechend
der Funktion 221a der Einrichtung 22a, die in
die Anlage 2A einbezogen ist, den Inhalt der Instruktion
I1 in eine Instruktion (Signal) I2, die durch die Einrichtung 22a der
Anlage 2A erkannt werden kann, und überträgt die Instruktion I2 zu der Einrichtung 22a der Anlage 2A,
die in dem Netz verbunden ist. Die Einrichtung 22a der
Anlage 2A steuert die Maschine 21A und sammelt
die Daten basierend auf der Instruktion (Signal) I2.
Die gleiche Verarbeitung wird in einem Fluss der Daten in der umgekehrten
Richtung durchgeführt.
-
Bis
jetzt ist die Art der Kombination der Maschine 21 mit der
Einrichtung 22, die in der Maschine 21 ausgerüstet ist,
unterschiedlich, es ist notwendig, die Datenwandlungseinheit 5 mit
den Treibern verschieden für
jede der Anlagen 2 vorzusehen. Gemäß der ersten Ausführungsform
ist der Treiber andererseits so konfiguriert, um in den Einrichtungstreiber 51,
der Kommunikationen mit der Einrichtung steuert, und den Anlagentreiber 52,
der die Einheit steuert, gestaffelt zu sein. Als ein Ergebnis gibt
es einen Vorteil dadurch, dass der Einrichtungstreiber 51 der
Einrichtung 22 durch einen Einrichtungshersteller bereitgestellt
werden kann, und der Anlagentreiber 52 der Maschine 21 durch
einen Maschinenhersteller getrennt bereitgestellt werden kann.
-
Selbst
wenn die unterschiedliche Einrichtung 22 verwendet wird,
ist es auch möglich,
eine Schnittstelle des Treibers gemeinsam zu nutzen.
-
Zweite Ausführungsform
-
In
der ersten Ausführungsform
sind die Einrichtungstreiber und die Anlagentreiber in der Datenwandlungseinheit
gestaffelt. Es sind jedoch nicht nur die Treiber wegen der obigen
Klassifikation gestaffelt, sondern es können auch die Treiber der Datenwandlungseinheit
aus einem anderen Gesichtspunkt gestaffelt werden.
-
Bis
jetzt erlangt das Herstellungsausführungsanwendungsprogramm Herstellungsprozessinformation
von vielen unterschiedlichen Einrichtungen, und gibt eine Herstellungsinstruktion
ab. Da sich das Protokoll und die Datenstruktur unter den Anlagen
unterscheiden, wird jedoch von dem Herstellungsausführungsanwendungsprogramm
gefordert, Kommunikationssteuerung und die Datenwandlung mit Bezug
auf die jeweiligen Anlagen, und das Strukturmanagement der Anlagen 2,
das den Herstellungsprozess bildet, durchzuführen. Als ein Ergebnis ist
es schwierig, das Herstellungsausführungsanwendungsprogramm zu
verallgemeinern. Unter den Umständen
wird in der zweiten Ausführungsform
eine Beschreibung eines anderen Beispiels der Staffelung der Treiber
gegeben, die zum Verallgemeinern des Herstellungsausführungsanwendungsprogramms
fähig sind.
-
5 ist
ein Diagramm, das einen Kommunikationstreiber gemäß der zweiten
Ausführungsform der
vorliegenden Erfindung schematisch zeigt. In diesem Beispiel sind
in dem Herstellungssystem mit den vielen Anlagen 2 die
Treiber gestaffelt, sodass das Herstellungsausführungsanwendungsprogramm 31 die
vielen Anlagen 2 als eine virtuelle Anlage (hierin nachstehend
als "virtuelle Anlage" bezeichnet) erkennt
und die virtuelle Anlage bearbeitet. Wie in der ersten Ausführungsform
ist die Datenwandlungseinheit 5 mit dem Herstellungsausführungsanwendungsprogramm 31 des
Herstellungsausführungssystems
und den vielen Anlagen 2A, 2B, in denen die Maschinen
vorgesehen sind, mit den Einrichtungen in dem Netz verbunden.
-
Die
Datenwandlungseinheit 5 wird durch reale Anlagentreiber 52A, 53B und
einen virtuellen Anlagentreiber 54 gebildet, die gestaffelt
sind. Die realen Anlagentreiber 53A und 53B sind
für die
entsprechenden Anlagen 2A und 2B vorgesehen, und
führen einen
Zugriff auf die und Kommunikationen mit den Anlagen 2A und 2B durch.
Der virtuelle Anlagentreiber 54 wandelt eine Instruktion
(Verarbeitung) von dem Herstellungsausführungsanwendungsprogramm 31 in
eine Instruktion (Verarbeitung) entsprechend den Funktionen der
einzelnen Anlagen 2A und 2B, und führt die
Einheitendaten dem Herstellungsausführungsanwendungsprogramm 31 durch
die Hilfe der vielen realen Anlagentreiber 53A und 53B zu.
-
In
diesem Beispiel wird der reale Treiber 53 durch die Kombination
des Einrichtungstreibers 51 und des Anlagentreibers 52 in
der ersten Ausführungsform
gebildet. Der reale Treiber 53 ist in der Datenwandlungseinheit 5 für jede der
Kombinationen der Maschine 21 und der Einrichtung 22,
d.h. für
jede der Anlagen 2, ausgerüstet. Der reale Anlagentreiber 53 hat
mindestens ein Anlagenobjekt 531 entsprechend der kommunizierenden
Anlage 2, und das Anlagenobjekt 531 hat Funktionsobjekte 532 für jede der
Funktionen der Anlage 2. Die realen Anlagentreiber 53 bringen
die Instanzen der Funktionsobjekte der Anlagenobjekte 531 mit
den Funktionen der jeweiligen Anlagen 2 in Verbindung.
Aus diesem Grund können
die realen Anlagentreiber 53 mit den Anlagen 2 so
kommunizieren, um Daten in die Anlagen 2 zu schreiben und
die Daten von den Anlagen 2 zu erlangen.
-
Auch
ist der virtuelle Anlagentreiber 54 ein Treiber, der virtuell
erzeugt ist, sodass das Herstellungsausführungsanwendungsprogramm 31 die
vielen Anlagen 2 als eine virtuelle Anlage behandeln kann.
Der virtuelle Anlagentreiber 54 hat mindestens ein virtuelles
Anlagenobjekt 541 entsprechend den kommunizierenden Anlagen 2.
Das virtuelle Anlagenobjekt 541 enthält ferner mindestens ein Funktionsobjekt 542 entsprechend
der Funktion 211 (Funktionsobjekt 532) der Anlage 2 (realer
Anlagentreiber 53). Der virtuelle Anlagentreiber 54 bringt
die Verarbeitung, die durchgeführt
wird von dem Herstellungsausführungsanwendungsprogramm 31 zu
den Anlagen 2 mit den Instanzen der Funktionsobjekte 542 des
virtuellen Anlagenobjektes 541 und den Instanzen der Funktionsobjekte 532 der
realen Anlagentreiber 53 in Verbindung. Aus diesem Grund
ist der virtuelle Anlagentreiber 54 zum Schreiben und Lesen
des Attributs mit Bezug auf die Funktionsobjekte 532 des
realen Anlagentreibers 53 entsprechend der Funktion 211 der
Anlage 2 fähig.
Ferner ist der virtuelle Anlagentreiber 54 zum Durchführen des Lesens
und Schreibens und einer Operation der Daten mit Bezug auf die Anlage 2,
die mit der entsprechenden Einrichtung ausgerüstet ist, fähig.
-
Da
der Operationsprozess der Datenwandlungseinheit 5, die
wie oben beschrieben konfiguriert ist, der gleiche wie der in dem
Fall der ersten Ausführungsform
ist, wird deshalb sein Überblick
beschrieben. Wenn zum Beispiel eine Instruktion zum Ausführen einer
Verarbeitung, die im Ergebnis zu erhalten ist, durch das Herstellungsausführungsanwendungsprogramm 31 abgegeben
wird, analysiert das Funktionsobjekt 542 entsprechend der
Verarbeitung des virtuellen Anlagentreibers 54 der Datenwandlungseinheit 5 die
Instruktion zu einer spezifischeren Instruktion neu, und gibt die
spezifische Instruktion zu dem entsprechenden Funktionsobjekt 532 des
realen Anlagentreibers 53 ab. Das Funktionsobjekt 532 wandelt
ferner die spezifische Instruktion in eine Instruktion (Signal)
des Formates, das durch die einzelnen Anlagen 2 verarbeitet
werden kann. Dann werden gegebene Verarbeitungen, wie etwa die Steuerung
der Anlagen 2 und die Datensammlung, ausgeführt.
-
Anschließend wird
ein spezifischeres Beispiel der Staffelung des Kommunikationstreibers,
der in 5 gezeigt wird, beschrieben. 6 ist
ein Diagramm, das eine Konfiguration des Kommunikationstreibers
in einem Fall zeigt, wo die Staffelung des Treibers auf das Prozessmanagement
angewendet wird. 7 ist ein Diagramm, das ein
Beispiel einer Erzeugung des Funktionsobjektes in einem Fall zeigt,
wo der Treiber mit dem Prozessmanagement als eine Einheit erzeugt
wird.
-
Wie
in 7 gezeigt, enthält die Gestaltungsinformation 41 des
Herstellungssystems Prozessgestaltungsinformation 411 bezogen
auf die Prozessgestaltung des Herstellungsmanagements und eine Gestaltungsspezifikation 412 bezogen
auf die Anlage des Herstellungsmanagements, und in dieser Stufe
stehen die Prozessgestaltungsinformation 411 und die Gestaltungsinformation 412 nicht
miteinander in Verbindung. Danach instantiiert ein Liniengestaltungswerkzeug 42 den
Inhalt der Prozessgestaltungsinformation 411 und der Gestaltungsspezifikation 412,
die basierend auf dem Klassendiagramm der UML klassifiziert sind,
und bildet die Instanzen der jeweiligen Information ab. Genauer
wird die Prozessgestaltungsinformation 411 als ein Prozessplan 431 instantiiert,
und die Anlagenspezifikation 412 wird als eine Anlagenstruktur 432 instantiiert.
Die Prozessgestaltungsinformation 411 und die Anlagenspezifikation 412 stehen
durch eine Prozesszuordnung 433 miteinander in Verbindung.
Die Prozesse stehen zwischen dem Herstellungsausführungsanwendungsprogramm 31 und
den Anlagen 2 miteinander in Verbindung, um dadurch den
Treiber zu erzeugen, der die Anlagen 2 durch eine Prozessbasis
managen kann. Auch können
die vielen Anlagen 2 als eine virtuelle Einheit von dem
Herstellungsausführungsanwendungsprogramm 31 wahrgenommen
werden.
-
In
einem Beispiel von 6 sind die Anlagentreiber 55A und 55B,
die basierend auf der Anlagenstruktur 432 erzeugt werden,
für jede
der Anlagen 2A und 2B vorgesehen, die aus der
Kombination der Maschine und der Einrichtung, die die Maschine steuert,
bestehen. Die Funktionsobjekte 552A und 552B werden
in den entsprechenden Funktionen 211A und 211B der
Anlagen 2A und 2B in den Anlagentreibern 55A und 55B erzeugt.
Auch geht ein Prozesstreiber 56, der basierend auf dem
Prozessplan 431 erzeugt wird, den Anlagentreibern 55A und 55B voran.
In dem Prozesstreiber 56 wird ein Prozessmodell 561 für jeden
von gegebenen Prozessen erzeugt, und Funktionsobjekte 562,
die die Funktionen realisieren, die in dem Prozessplan 431 enthalten
sind, werden innerhalb von jedem der Prozessmodelle 561 erzeugt.
Die Funktionsobjekte 562 des Prozesstreibers 56 stehen
mit den Funktionsobjekten 552A und 552B der Anlagentreiber 55A und 55B basierend
auf der Prozesszuordnung 433 miteinander in Verbindung.
Eine Instruktion mit einem Prozess von dem Herstellungsausführungsanwendungsprogramm 31 als
eine Einheit wird als eine Instruktion zu der Anlage 2 herab übertragen,
die in diesem Prozess durch den Prozesstreiber 56 und den
Anlagentreiber 55 verwendet wird. Dann wird eine Antwort
auf die Instruktion zu dem Herstellungsausführungsanwendungsprogramm 31 zurückgegeben.
-
Wie
oben beschrieben, kann ein Beispiel, in dem die vielen Anlagen 2 als
eine virtuelle Anlage erkannt werden, auf ein Prozessmanagement,
ein Lagermanagement, ein Ressourcenmanagement oder ein Qualitätsmanagement
zusätzlich
zu dem obigen Beispiel angewendet werden.
-
Der
reale Anlagentreiber in 5 oder der Anlagentreiber in 6 kann
ferner konfiguriert sein als eine hierarchische Struktur des Einrichtungstreibers,
der Kommunikationen mit der Einrichtung steuert, und des Anlagentreibers,
der die Einheitendaten zu dem Herstellungsausführungsanwendungsprogramm 31 zuführt, mit
der Verwendung des Einrichtungstreibers wie in der ersten Ausführungsform.
-
Gemäß der zweiten
Ausführungsform
gibt es Vorteile dadurch, dass die Datenwandlung der Datenstruktur,
die zwischen der Anlage 2 und dem Herstellungsausführungsanwendungsprogramm 31 verschieden
ist, realisiert werden kann, und das Herstellungsausführungsanwendungsprogramm 31 durch
die gestaffelten Treiber verallgemeinert werden kann.
-
Die
ersten und zweiten Ausführungsformen stellen
einen Fall beispielhaft dar, in dem die Datenwandlungseinheit 5 mit
den gestaffelten Treibern mit der Funktion ausgerüstet ist,
die Datenwandlung für eine
Kommunikation zwischen dem Herstellungsausführungsanwendungsprogramm 31 und
den Anlagen 2 durchführt.
Alternativ können
die gestaffelten Treiber auf der Seite des Herstellungsausführungssystems 3,
in der das Herstellungsausführungsanwendungsprogramm 31 installiert
ist, oder auf der Seite der Anlage 2 vorgesehen sein. Diese
Konfiguration erfordert keine Datenwandlungseinheit 5 in
dem Herstellungssystem, und macht es möglich, die Systemstruktur zu
vereinfachen.
-
Dritte Ausführungsform
-
Der
Zugriff auf die Funktionsobjekte, die in den ersten und zweiten
Ausführungsformen
gezeigt werden, wird ungeachtet der Arten der Funktionsobjekte gemeinsam
durchgeführt,
wobei dadurch ermöglicht
wird, dass der Zugriffsprozess auf den Treiber unterstützt wird.
Unter den Umständen
wird in der dritten Ausführungsform
ein Beispiel der gemeinsamen Schnittstelle der Treiber und der Zugriffsprozedur
auf die Treiber beschrieben. 8-1 bis 8-9 sind Diagramme, die die gemeinsame Schnittstelle der
Treiber und die Treiberzugriffsprozedur schematisch zeigen. Die
gemeinsame Schnittstelle der Treiber greift zu auf das Treibermodell,
das in 3 gezeigt wird, und das Funktionsobjektmodell
in 4, die die Funktion des Treibers zeigt, um das
Objekt zu managen, die Daten zu lesen und zu schreiben und die Operation
auszuführen.
-
In
der Zugriffsprozedur des Treibers wird die Instanz des Funktionsobjektes
durch eine Treiber-API (CreateFunctionObject()) (8-2) erstellt, nachdem die Einrichtung und das
Anlagenobjekt durch die Treiber-API (Anwendungsprogrammschnittstelle)
(InitiateDeviceObject()) (8-1)
zuerst initialisiert wurden. Als ein Ergebnis ist eine Seite, die
auf den Treiber zugreift, zum Erhalten des Funktionsobjektes fähig, das
durch den Treiber verfügbar
ist. Dann wird ein Parameter, wie etwa eine Konfiguration, zu dem
Funktionsobjekt durch die Treiber-API (SetParameter()) (8-3) eingestellt. Auf den Parameter und die Operation
kann von dem Funktionsobjekt zugegriffen werden, aber auf das Attribut
kann von dem Funktionsobjekt nicht direkt zugegriffen werden. Deshalb
wird ein Attributobjekt zum Zugreifen auf das Attribut (zum Lesen
oder Schreiben der Daten) durch die Treiber-API (CreateAttributeObject()) (8-4) erstellt. Danach wird die Operation des erstellten
Funktionsobjektes aufgerufen (Treiber-API: Execute()), die Operation
wird ausgeführt
(8-5) und der Wert des Attributes wird gelesen
und geschrieben (Treiber-API: Read(), Write()), um auf das Attributobjekt
zuzugreifen (8-6).
-
Auf
Abschluss hin der Verwendung des Treibers wird danach der Treiberterminierungsprozess durchgeführt. Zuerst
wird das Attributobjekt durch die Treiber-API (DeleteAttributeObject())
(8-7) gelöscht,
und das Funktionsobjekt wird dann durch die Treiber-API (DeleteFunctionObject())
(8-8) gelöscht.
Schließlich
wird das Einrichtungs-/Anlagenobjekt durch die Treiber-API (Conclude())
(8-9) terminiert. In 8-9 bestätigt die
Treiber-API (Conclude()), ob das Attributobjekt und das Funktionsobjekt normal
gelöscht
wurden oder nicht, und wenn das Attributobjekt oder das Funktionsobjekt
nicht normal terminiert werden können
oder der Treiber wegen der Systemanomalie unverzüglich terminiert wird, wird die
Treiber-API (Abort()) verwendet.
-
Gemäß der dritten
Ausführungsform
macht es die Verwendung der gemeinsamen Schnittstelle des Treibers
möglich,
die Treiber-API
zu realisieren, die ein Objekt nicht beeinflusst, auf das durch
den Treiber zuzugreifen ist, wobei dadurch die Portabilität der Treiber-Software
verbessert wird. Auch wird die spezifische Zugriffsinformation in
dem Objekt, auf das durch den Treiber zuzugreifen ist, als die Information
in dem Funktionsobjekt des Profils des Treibers zugeführt, und
es ist möglich,
den Treiber basierend auf der Information in dem Funktionsobjekt
des Profils zu initialisieren, und auf die einzelnen Funktionsobjekte
und Attributobjekte zuzugreifen.
-
Vierte Ausführungsform
-
Die
gestaffelten Kommunikationstreiber, die in den ersten und zweiten
Ausführungsformen
beschrieben werden, werden basierend auf der Gestaltungsinformation
und der Konfigurationsinformation in dem Herstellungssystem, wie
in der zweiten Ausführungsform
beschrieben, erzeugt. Die Gestaltungsinformation und die Konfigurationsinformation
sind wahrscheinlicher in einer Auszeichnungssprache, wie etwa einer
XML (erweiterbare Auszeichnungssprache, extensible markup language)
aus der Sicht einer Einsparung in der Form elektrischer Daten, der Erleichterung
von Datenumleitung und dem allgemeinen Zweck der Datenverwendung
zu beschreiben. Wenn die Idee des Klassendiagramms der UML in die
Daten eingeführt
wird, die in dem XML-Format beschrieben werden, ist es möglich, das
Funktionsobjekt aus der Gestaltungsinformation und der Konfigurationsinformation
leicht zu erzeugen. Unter den Umständen wird in der vierten Ausführungsform
eine Beschreibung eines XML-Datenmodells gegeben, in dem die Gestaltungsinformation
und die Konfigurationsinformation gemäß dem Klassendiagramm der UML
klassifiziert sind, und dann in dem XML-Format gesichert werden.
-
Wie
oben beschrieben, wird das Funktionsobjekt des Kommunikationstreibers
in dem Herstellungssystem basierend auf dem in 4 gezeigten Funktionsobjektmodell
erzeugt. Deshalb wird der Inhalt der Gestaltungsinformation und
der Konfigurationsinformation gemäß dem Funktionsobjektmodell gebildet,
und das XML-Datenmodell, das die Konfiguration in der XML beschreibt,
wird erzeugt. 9 ist ein Diagramm, das ein
Beispiel zeigt, in dem das XML-Datenmodell zum Beschreiben der Gestaltungsinformation
in dem XML-Profil in dem UML-Klassendiagramm beschrieben ist. In
diesem Beispiel wird die XML-Struktur in dem Stereotyp der UML beschrieben,
und die Klassennamen werden unter den jeweiligen Stereotypen beschrieben.
-
Z.B.
drückt <<XMLDocument>> die
gesamten XML-Daten aus, und <<XSDElement>> drückt die
Elemente der XML-Schemabeschreibung (XSD) aus. Entsprechend repräsentiert
die Klasse "XMLDCD" die gesamten XML-Daten
der Gestaltungsinformation. Die jeweiligen Klassen von "DeviceDriverClass", "VirtualDeviceClass" und "FunctionObjectClass" sind unter der Klasse "XMLDCD" gestaffelt. Diese
Klassen sind die Elemente der XML-Schemabeschreibung. In diesem Beispiel
entspricht "DeviceDriverClass" den Treibern, wie
etwa dem Einrichtungstreiber 51 und dem Anlagentreiber 52 in 3, dem
realen Anlagentreiber 53 und dem virtuellen Anlagentreiber 54 in 5.
Die "VirtualDeviceClass" entspricht der virtuellen
Einrichtung innerhalb des Treibers, wie etwa dem Einrichtungsobjekt 511 und dem
Anlagenobjekt 521 in 3, oder
dem Anlagenobjekt 531 und dem virtuellen Anlagenobjekt 541 in 5.
Eine "CreateParameterClass" befindet sich unter
der "VirtualDeviceClass". Die "FunctionObjectClass" zeigt die Funktionsobjekte
an, die in 3 und 5 gezeigt
werden. Wie in dem Funktionsobjektmodell von 4 zeigt,
enthält
das Funktionsobjekt einen Parameter, einen Erstellungsparameter, ein
Attribut und eine Operation, jedes entsprechend "ParameterClass", "CreateParameterClass", "OperationClass" und "AttributeClass", und ihre Information wird
in den jeweiligen Klassen gespeichert. Diese Klassen werden die
Elemente der XML-Schemabeschreibung. Außerdem hat die "OperationClass" einen Parameter,
und die "OperationParameterClass" befindet sich unter
der "OperationClass", und ihre Information
wird darin gespeichert. Die Klasse ist auch das Element der XML-Schemabeschreibung.
-
D.h.
wie in 9 gezeigt, sind die jeweiligen Klassen der DeviceDriverClass,
der VirtualDeviceClass, und der FunctionObjectClass in der angegebenen
Ordnung und kontinuierlich zueinander unter der XMLDCD-Klasse gestaffelt.
Unter ihnen befindet sich die CreateParameterClass unter der VirtualDeviceClass,
und vier Klassen der ParameterClass, der CreateParameterClass, der
OperationClass und der AttributeClass sind parallel angeordnet und
befinden sich unter der FunctionObjectClass. Außerdem befindet sich die OperationParameterClass
unter der OperationClass unter jenen Klassen. Der hierarchische
Aufbau dieses Typs kann basierend auf dem Beschreibungsverfahren
der XML-Daten ausgedrückt
werden, und eine Beziehung des Klassendiagramms in der UML kann
in den XML-Daten widergespiegelt und beschrieben werden.
-
10 ist
ein Diagramm, das ein Beispiel des XML-Datenmodells zeigt, in dem das Instanzinformationsmodell
dem XML-Datenmodell der Gestaltungsinformation, was in 9 gezeigt
wird, hinzugefügt
ist. In der Figur ist die linke Hälfte dem XML-Datenmodell der
Gestaltungsinformation identisch, was in dem in 9 gezeigten
UML-Klassendiagramm beschrieben wird, und zeigt die Klasseninformation
des Funktionsobjektes an. Die rechte Hälfte zeigt das Instanzinformationsmodell
des Funktionsobjektes an. Das Instanzinformationsmodell beschreibt
die Information in der Instanz entsprechend der Klasseninformation
in dem Funktionsobjekt. Genauer speichert das Instanzinformationsmodell
die Konfigurationsinformation in dem Einrichtungstreiber der obigen
ersten oder zweiten Ausführungsform
und der virtuellen Einrichtung des Einrichtungstreibers darin, und
repräsentiert
die Information in den tatsächlichen
Anlagen 2 und eine Entsprechungsbeziehung mit der Anlage 2.
Auch zeigt das Instanzinformationsmodell an, welchem Funktionsobjekt
und Attribut des Treibers unterer Ebene der hierarchische Treiber
entspricht.
-
In
einem Beispiel von 10 repräsentieren "DeviceDriver", "VirtualDevice", "FunctionObject", "CreateParameter" und "Attribute" die Instanzinformation
in "DeviceDriverClass", "VirtualDeviceClass", "FunctionObjectClass", "CreateParameterClass" bzw. "AttributeClass". In diesem Beispiel
repräsentiert
eine Beziehung, die sich selbst von der Instanzinformation "DeviceDriver" anzeigt, die hierarchische Konfiguration
des Einrichtungstreibers. Auch repräsentiert eine Beziehung, die
sich selbst von der Instanzinformation "VirtualDevice" anzeigt, die Konfigurationen der realen
Einheit und der realen Einrichtung. Z.B. repräsentiert die Beziehung die
Einrichtung, die die Anlage bildet. Ferner repräsentiert eine Beziehung, die
sich selbst von der Instanzinformation "FunctionObject" anzeigt, die Treiberfunktion unterer Ebene,
die von dem Treiber oberer Ebene in dem hierarchischen Treiber aufgerufen
wird. Auch repräsentiert
eine Beziehung, die sich selbst von der Instanzinformation "Attribute" anzeigt, die Instanzinformation unterer
Ebene "Attribute", die von dem Treiber
oberer Ebene in dem hierarchischen Treiber aufgerufen wird. Z.B.
repräsentiert
die Beziehung die Konfigurationsinformation in der Datenwandlung
der Datenwandlungseinheit 5, die die Einrichtungsdaten
in die Anlagendaten wandelt oder die verteilten Daten in jeder der
Anlagen sammelt.
-
11 ist
ein Diagramm, das ein Beispiel zeigt, in dem die Gestaltungsinformation
und die Konfigurationsinformation basierend auf dem XML-Datenmodell,
das in 10 gezeigt wird, beschrieben
werden. Die Gesamtheit von 11 entspricht
der XMLDCD-Klasse. In einem Block 1110 innerhalb eines
XMLDCD-Tags wird die hierarchische Beziehung (Einbeziehungsrelation)
zwischen den Klassen, die in 9 (linke
Hälfte
von 10) gezeigt werden, beschrieben. In diesem Beispiel
wird der Klassenname, der in dem unteren Abschnitt des Stereotyps
beschrieben wird, der in 9 gezeigt wird, als der Titel
des Tags verwendet. D.h. die "VirtualDeviceClass" ist innerhalb der "DeviceDriverClass" enthalten, und eine "CreateParameterClass" und zwei "FunctionObjectClasses" sind innerhalb der "VirtualDeviceClass" enthalten. Zwei
Klassen der Funktionsobjekte werden erzeugt. Die Klassen bezogen
auf den Parameter oder das Attribut sind ferner innerhalb der jeweiligen "FunctionObjectClasses" enthalten.
-
Andererseits
wird die Instanzinformation entsprechend der Klasseninformation
des Blocks 1110 in einem Block 1120 innerhalb
des XMLDCD-Tags beschrieben. In diesem Beispiel wird der Titel,
der in dem unteren Abschnitt des Stereotyps des Instanzinformationsmodells
beschrieben wird, das in der rechten Hälfte von 10 beschrieben
wird, als der Titel des Tags verwendet. D.h. die "VirtualDevice" ist innerhalb der "DeviceDriver" enthalten, und eine "CreateParameter" und zwei "FunctionObjects" sind innerhalb der "VirtualDevice" enthalten. Der Inhalt
bezogen auf das Attribut und der Parameter sind innerhalb der "CreateParameter" und der "FunctionObject" enthalten.
-
Wie
in 11 gezeigt, sind der Parameter und das Attribut
der Funktion des Treibers, der zu erzeugen ist, und das Element
der Operation in der Beschreibung der Klasseninformation definiert,
die in dem Block 1110 dargestellt wird. Die Einrichtung
der Parameter entsprechend den Arten der jeweiligen erzeugten Treiber
ist in der Beschreibung der Instanzinformation definiert, die in
dem Block 1120 dargestellt wird. Wie in 10 gezeigt,
stehen auch der Titel des Tags, der die Klasse in den XML-Daten
anzeigt, und der Titel des Tags, der die Instanzinformation anzeigt,
im voraus miteinander in Verbindung. Als ein Ergebnis wird durch
die XML-Daten der Gestaltungsinformation und der Konfigurationsinformation,
die basierend auf der Funktion klassifiziert sind, auf ein Objektmodell
zu der Zeit einer Wandlung der Daten durch die Hälfte des Treibers verwiesen.
Die Befehle (Verarbeitungen) des abstrakten oder gemeinsamen Inhalts
mit Bezug auf die Anlage und die Einrichtung werden in die Befehle
(Verarbeitungen) des spezifischen Inhalts entsprechend den einzelnen Anlagen
oder Einrichtungen gewandelt, wobei dadurch ein Zugriff auf die
Anlagen oder Einrichtungen mittels des Treibers ermöglicht wird.
-
Gemäß der vierten
Ausführungsform
ist es, da die Datenwandlung des Kommunikationstreibers durch Verwenden
des XML-Profilmodells der Gestaltungsinformation und der Konfigurationsinformation durchgeführt wird,
möglich,
die Verarbeitung des abstrakten oder gemeinsamen Inhalts in die
Verarbeitung des spezifischen Inhalts der Anlage 2 zu wandeln.
Auch macht es die Verwendung des XML-Datenmodells möglich, die
Erzeugung der Datenwandlungsfunktion in dem Treiber zu unterstützen oder
zu automatisieren.
-
Fünfte Ausführungsform
-
Die
Protokollschnittstelle zwischen dem Einrichtungstreiber und der
Einrichtung der Anlage wird durch eine Schnittstellendefinitionssprache
(hierin nachstehend als "IDL" (interface definition
language) bezeichnet) beschrieben, z.B. gemäß dem Kommunikationsprotokoll,
wie etwa der CORBA (Common Object Request Broker Architecture) der
OMG (Object Management Group) oder dem DCOM (Distributed Component
Object Model) von Microsoft. Die IDL kann jedoch nicht die Instanzinformation
beschreiben, und kann auch nicht so erweitert werden, um die Instanzinformation
zu beschreiben. Unter den Umständen
wird in einer fünften
Ausführungsform
eine Beschreibung eines Kommunikationstreibers gegeben, der zum
Beschreiben der Instanzinformation sogar durch die IDL durch Abbilden
der IDL mit der XML fähig
ist.
-
12 ist
ein Diagramm, das ein Beispiel eines Abbildungsmodells bezüglich der
Gestaltungsinformation der IDL und der XML-Daten zeigt. Die linke Hälfte von 12 ist
mit der des in 9 gezeigten XML-Datenmodells
identisch, und die rechte Hälfte zeigt
das Beschreibungsmodell der IDL, das basierend auf dem Klassenmodell
der UML klassifiziert ist. Die IDLDCD-Klasse repräsentiert
die gesamten IDL-Daten der Gestaltungsinformation. Die Klasse "module" existiert unter
der IDLDCD-Klasse, und die Klasse "interface" und die Klasse "CreateParam" existieren unter der Klasse "module". Auch existieren die
Klasse "CreateParam", die Klasse "parameter", die Klasse "Attribute" und die Klasse "Operation" unter der Klasse "interface", und die Klasse "OperationParameter" existiert auch unter
der Klasse "Operation". Die IDLDCD-Klasse,
die Klasse "module", die Klasse "interface", die Klasse "CreateParam", die Klasse "CreatePrama", die Klasse "parameter", die Klasse "Attribute", die Klasse "Operation" und die Klasse "OperationParameter" stehen in Verbindung mit
den (werden abgebildet auf die (mapping)) "DeviceDriverClass", "VirtualDeviceClass", "FunctionObjectClass", "CreateParameterClass", "ParameterClass", "AttributeClass", "OperationClass" bzw. "OperationParameterClass" des XML-Datenmodells.
-
Bezug
nehmend auf 12 und 8 kann
der Beschreibungsinhalt der IDL mit der Klasse des XML-Datenmodells
in Verbindung gebracht werden, und auf die Instanzinformation entsprechend
den einzelnen Anlagen kann ferner von der Klasse des XML-Datenmodells verwiesen
werden.
-
Anschließend wird
eine Beschreibung eines Verfahrens zum Erzeugen des Protokollschnittstellenabschnitts
des Kommunikationstreibers gegeben. 13 ist
ein Diagramm, das ein Beispiel einer Erzeugungsprozedur und einer
Einstellungsprozedur des Protokollschnittstellenabschnitts des Kommunikationstreibers
zeigt, der zum Verweisen auf die Instanzinformation fähig ist.
Zuerst wird die Klasseninformation des XML-Profils, was Information
ist, die die allgemeine Eigenschaft anzeigt, worauf zuzugreifen
ist, basierend auf der Schnittstelleninformation des Modells, worauf
durch den Treiber zuzugreifen ist, wie etwa der Prozess, die Anlage
und die Einrichtung durch einen Ersteller des Herstellungssystems (oder
der einzelnen Einrichtungen oder Anlagen) beschrieben (Schritt S11). 14 ist
ein Diagramm, das ein Beispiel der Beschreibung des XML-Profils der
Schnittstelleninformation zeigt.
-
Dann
wird die Klasseninformation des beschriebenen XML-Profils in die Beschreibung
der IDL durch ein Programmautomatisch gewandelt, das das Abbildungsmodel
der IDL und XML-Daten, die in 12 gezeigt
werden, ausführt
(Schritt S12). 15 ist ein Diagramm, das ein
Beispiel des Beschreibungsmusters des XML-Profils des IDL-Schnittstellenabschnitts
zeigt, und 16 ist ein Diagramm, das ein
Beispiel der Beschreibungsregel des XML-Profils der IDL-Datentypdeklaration
zeigt. Die linken Seiten dieser Figuren zeigen das Beschreibungsbeispiel
des XML-Profils, und die rechten Seiten davon zeigen ein Beispiel,
in dem der entsprechende Inhalt in der IDL gemäß dem Modell von 12 beschrieben
wird. Da die Datentypdeklaration von 16 von
der Implementierung von Daten abhängt, kann die IDL-Datentypdeklaration
per se in dem XML-Profil beschrieben werden. In dem Fall einer Verwendung
der Schnittstellenbeschreibungssprache der XML-Basis, wie etwa einer
WSDL (Web-Dienst-Beschreibungssprache, web serices description language),
ist es möglich,
den XML-Datentyp zu verwenden wie er ist. Die Beschreibung der Klasseninformation
des XML-Profils wird in die IDL-Beschreibung gemäß der XML-Profil-IDL-Abbildungsregel gewandelt,
die in 15 und 16 gezeigt
wird. 17 ist ein Diagramm, das ein
Beispiel der IDL-Beschreibung entsprechend der Beschreibung der
Klasseninformation des XML-Profils von 14 zeigt.
-
Danach
wird eine C++-Klasse aus der gewandelten IDL-Beschreibung gemäß der Plattform (Betriebssystem)
der Treiber-Software in dem herkömmlichen
bekannten Verfahren gewandelt (Schritt S13), und der Treiber wird
implementiert.
-
Andererseits
wird in der Konfigurationseinstellung, auf die durch den implementierten
Treiber zuzugreifen ist, die Beschreibung der Klasseninformation
in dem XML-Profil durch ein Konfigurationseinstellmittel, wie etwa
eine Konfigurationseinstellungssoftware, gelesen, um die Vorlage
(Template) der Konfigurationsinformation zu erzeugen. Die Vorlage
wird gemäß einem
in 10 gezeigten XML-Datenmodell erzeugt, was die
Klasseninformation des XML-Profils mit der Instanzinformation in Verbindung
bringt. Dann wird die Konfigurationsinformation, die die Instanzinformation
in den einzelnen Anlagen anzeigt, gemäß der Vorlage eingestellt (Schritt
S14). Die eingestellte Konfigurationsinformation ist in der XML
als die Instanzinformation des XML-Profils beschrieben, und wird
zur Zeit des Hochfahrens des Treibers gelesen.
-
Der
Kommunikationstreiber, der den Protokollschnittstellenabschnitt
enthält,
wird auf die obige Art und Weise erzeugt. Der Treiber, der erzeugt
und in der obigen Prozedur implementiert wird, erzeugt ein erforderliches
Objekt aus der Instanzinformation der gelesenen Konfigurationsinformation,
und führt die Information
in dem Anwendungsobjekt zu. Auch liest das Herstellungsausführungsanwendungsprogramm
die Konfigurationsinformation direkt, oder erlangt die Objektinformation
von dem Treiber, um den Treiber zu initialisieren und auf ein Objekt,
auf das zuzugreifen ist, zuzugreifen.
-
Die
IDL-Beschreibung in Schritt S12 und C++-Klassengenerierung in Schritt S13 können in dem
herkömmlichen
bekannten Verfahren gegenseitig gewandelt werden. Auch können die
Klassenbeschreibung des XML-Profils in Schritt S11 und die IDL-Beschreibung
in Schritt S12 basierend auf der XML-Profil-IDL-Abbildungsregel, die in den
oben beschriebenen 12, 15 und 16 gezeigt wird,
gegenseitig gewandelt werden. Aus diesem Grund kann, nachdem der
Ersteller des Herstellungssystems (oder einzelner Einrichtungen
oder Anlagen) zuerst die IDL-Beschreibung in Schritt S12 durchführt, der
Ersteller den Treiber aus der Erzeugung der C++-Klasse in Schritt
S13 einhängen,
und die Instanzbeschreibung des XML-Profils aus der Klassenbeschreibung
des XML-Profils in Schritten S11 und S14 durchführen, um die Instanzbeschreibung
durch den Treiber zu lesen. Auch ist es in dem Treiber, der bereits
in der C++-Klasse
implementiert wurde, möglich,
dass die C++-Klasse in die IDL-Beschreibung in Schritt S12 gewandelt
wird, und auch in der Klasseninformation des XML-Profils in Schritt
S11 beschrieben wird, und ferner wird die Instanzbeschreibung des
XML-Profils durchgeführt,
um den Kommunikationstreiber einschließlich des Protokollschnittstellenabschnitts
zu erzeugen.
-
Gemäß der fünften Ausführungsform
zeigt die IDL nur den Typ der Schnittstelle des Objektes, kann aber
nicht die Konfiguration des instantiierten Objektes beschreiben.
Die IDL beschreibt jedoch die Konfiguration der Schnittstelle und der
Instanz des Objektes durch die XML. Als ein Ergebnis ist es möglich, die
Herstellungsausführungsanwendung
mit der Anlage, die das Herstellungssystem bildet, der Schnittstelle
ihres Funktionsobjektes und der Konfigurationsinformation vorzusehen,
und es gibt einen Vorteil dadurch, dass es möglich ist, die Einstellung zum
Zugreifen auf die Herstellungseinheit durch die Herstellungsanwendung
zu unterstützen
oder zu automatisieren. Auch kann die Abbildungskonfiguration für eine Datenwandlung,
die in dieser Situation erforderlich ist, beschrieben werden.
-
Auch
kann die gemeinsame Nutzung des Treibers realisiert werden, um dadurch
die Entwicklung des Treibers zu verschlanken. Ferner kann auch die
Konfigurationseinstellungssoftware, die herkömmlich einzeln erzeugt wurde,
gemeinsam genutzt werden.
-
In
den obigen vierten und fünften
Ausführungsformen
wird die XML als das Datenmodell verwendet, das die Klasseninformation
und die Instanzinformation des Treibers beschreibt. Die vorliegende Erfindung
ist jedoch nicht auf die XML begrenzt, wenn der Dateninhalt gemäß dem in 10 gezeigten
Datenmodell beschrieben werden kann.
-
INDUSTRIELLE ANWENDBARKEIT
-
Wie
oben beschrieben wurde, ist der Kommunikationstreiber gemäß der vorliegenden
Erfindung für
eine Wandlung von Daten geeignet, die mit der Anlage mit einer Steuersektion,
die die jeweiligen Maschinen steuert, wie etwa z.B. eine Transportmaschine,
eine Herstellungsmaschine und eine Untersuchungsmaschine in einer
Herstellungsanlage, kommuniziert werden.
-
ZUSAMMENFASSUNG
-
Um
einen Kommunikationstreiber zu erhalten, der Datenwandlung zwischen
einer Anlage und einer Managementeinheit durchführt, selbst wenn unterschiedliche
Datenformate in einem Herstellungssystem verwendet werden, worin
die Anlage, die mit einer Einrichtung ausgerüstet ist zum Steuern einer
Maschine basierend auf einer Instruktion von der Managementeinheit,
und die Managementeinheit mit einem Managementanwendungsprogramm,
das die Anlage managt, mit der Maschine verbunden sind, enthält der Kommunikationstreiber
Einrichtungstreiber (51a, 51b), die für jeden
Typ von Einrichtungen (22a, 22b) in dem Herstellungssystem
vorgesehen sind und Kommunikationen mit den Einrichtungen (22a, 22b)
steuern, und Anlagentreiber (52A, 52B), die für jeden
Typ von Maschinen (21A, 21B) in dem Herstellungssystem
vorgesehen sind, und greift auf die Maschinen (21A, 21B),
auf die zuzugreifen sind, durch Verwenden der Einrichtungstreiber
(51a, 51b) in Übereinstimmung
mit einer Instruktion von dem Managementanwendungsprogramm (31)
zu. Die Einrichtungstreiber (51a, 51b) und die
Anlagentreiber (52A, 52B) sind gestaffelt.