-
Gebiet
-
Die vorliegende Offenbarung bezieht sich auf eine Programmierunterstützungsvorrichtung, ein Programmierunterstützungsverfahren, ein Programmierunterstützungsprogramm und eine speicherprogrammierbare Steuerung.
-
Hintergrund
-
Ein Steuerungssystem für Fabrikautomation (FA) beinhaltet eine speicherprogrammierbare Steuerung, bei der es sich um eine Ablaufsteuerung handelt. Im Folgenden wird die speicherprogrammierbare Steuerung als „SPS“ bezeichnet. SPS ist dabei die Abkürzung für „speicherprogrammierbare Steuerung“. Die SPS wird über ein Ablaufprogramm gesteuert. Das Ablaufprogramm ist ein Programm, das in einer Programmiersprache wie Kontaktplan, Funktionsblockdiagramm oder strukturierter Text geschrieben wurde. Im Allgemeinen wird das in der von der International Electrotechnical Commission herausgegebenen Norm IEC 61131-3 definierte Ablaufprogramm weithin verwendet.
-
Das Ablaufprogramm wird von einem Konstruktionswerkzeug erstellt, bei dem es sich um eine auf einem Personal Computer konfigurierte Programmierunterstützungsvorrichtung handelt. Der Personal Computer und die SPS sind miteinander verbunden und das Ablaufprogramm ist in einer Speichereinheit der SPS gespeichert.
-
Wenn eine mechanische Vorrichtung in einer Fabrik, die ein Produkt herstellt, eine Bewegung in Verbindung mit einer bestimmten, sich davon unterscheidenden Bewegung steuert, führt die mechanische Vorrichtung die Steuerung bisher durch mechanisches Ineinandergreifen einer Vielzahl von Mechanismen, wie eines Kurvenscheibenmechanismus, eines Verbindungsmechanismus und eines Getriebemechanismus, durch.
-
Wenn zum Beispiel der Betrieb eines Schneidrads mit der Geschwindigkeit eines Bandförderers synchronisiert wird, ersetzt ein Bediener ein Maschinenteil, um ein Geschwindigkeitsverhältnis zu ändern, um die Synchronisation der Geschwindigkeit des Bandförderers mit dem Betrieb des Rotationsschneiders zu erreichen. Das Maschinenteil ist zum Beispiel ein Zahnrad. Die Arbeit zum Austausch des Maschinenteils ist sehr mühsam. Daher wurde ein Verfahren zur elektrischen Implementierung eines Untersetzungsgetriebes unter Verwendung der SPS entwickelt. Zum Beispiel gestaltet die SPS die Drehzahl eines Motors veränderlich, sodass eine ähnliche Wirkung wie bei der Änderung eines Übersetzungsverhältnisses des Untersetzungsgetriebes erzielt wird. Die SPS simuliert also das Maschinenteil, indem sie ein virtuelles Maschinenteil mit einem Benutzerprogramm bereitstellt, das die Arbeitsweise des Maschinenteils anhand verschiedener Parameter zur Berechnung der Arbeitsweise des Maschinenteils definiert. Die SPS beinhaltet zum Beispiel eine Grundeinheit und eine Erweiterungseinheit.
-
Eine in der Patentliteratur 1 offenbarte Programmierunterstützungsvorrichtung beinhaltet: eine Anzeigeeinheit, die eine Vielzahl von virtuellen mechanischen Teilen anzeigt, die in einer Reihenfolge zwischen jeweils einer synchronen Master-Achse einer Synchronsteuerung und einer synchronen Arbeits-Achse einer Synchronsteuerung verbunden sind, und in der Positionen von Antriebsachsen in Positionen von Abtriebsachsen umgewandelt werden; eine Einstelleinheit, die einen Parameter einstellt, der eine Umwandlungsoperation von jedem der Vielzahl von virtuellen mechanischen Teilen definiert; eine Bestimmungseinheit, die unter der Vielzahl von virtuellen mechanischen Teilen, die auf der Anzeigeeinheit angezeigt werden, das mechanische Teil bestimmt, das die Umwandlungsoperation durchführt, die sich von der im Voraus vorbereiteten Umwandlungsoperation unterscheidet; eine Programmempfangseinheit, die eine Eingabe eines Benutzerprogramms in einer Universalsprache empfängt, das die Umwandlungsoperation definiert, die von dem von der Bestimmungseinheit bestimmten mechanischen Teil ausgeführt wird; und eine Übertragungseinheit, die das Benutzerprogramm auf eine Erweiterungseinheit überträgt, um die Erweiterungseinheit zu veranlassen, das Benutzerprogramm auszuführen.
-
Entgegenhaltungsliste
-
Patentliteratur
-
Patentliteratur 1: Offengelegte japanische Patentanmeldung Nr.
2017-79007
-
Kurzdarstellung
-
Technisches Problem
-
In der in der Patentliteratur 1 offenbarten Programmierunterstützungsvorrichtung sind die virtuellen mechanischen Teile auf ein Differentialgetriebe, ein Regelgetriebe, eine Kupplung und eine Kurvenscheibe, die in einer vorbestimmten Reihenfolge verbunden sind, beschränkt und wenn ein Programm zum Betreiben einer tatsächlichen mechanischen Vorrichtung erstellt wird, sind Hinzufügung eines der mechanischen Vorrichtung entsprechenden Parameters und Programmierung erforderlich. Bei der in der Patentliteratur 1 offenbarten Programmierunterstützungsvorrichtung besteht das Problem, dass bei der Erstellung eines Programms für eine mechanische Vorrichtung, die eine komplizierte Steuerung erfordert, einem Bediener eine große Bürde zufällt.
-
Die vorliegende Offenbarung wurde in Anbetracht der obigen Ausführungen gemacht und eine Aufgabe der vorliegenden Offenbarung ist es, eine Programmierunterstützungsvorrichtung bereitzustellen, die befähigt ist, eine Bürde eines Bedieners bei der Erstellung eines Programms für eine mechanische Vorrichtung, die eine komplizierte Steuerung erfordert, zu verringern.
-
Lösung des Problems
-
Um das Problem zu lösen und die oben beschriebene Aufgabe zu erfüllen, beinhaltet eine Programmierunterstützungsvorrichtung gemäß der vorliegenden Offenbarung Folgendes: eine Anzeigeeinheit, die
eine Vielzahl von virtuellen Maschinenteilen als Maschinenteile anzeigt, die virtuell sind, Informationen zu mindestens einer Achse aufweisen, mittels arithmetischer Verarbeitung eingestellt sind, die eine innere Arbeitsweise definiert, und Bewegungssteuerung ausführen; eine Erstellungseinheit für benutzerdefinierte virtuelle Maschinenteile, die auf Basis eines oder einer Vielzahl der Maschinenteile, die aus der Vielzahl der angezeigten virtuellen Maschinenteile spezifiziert werden, ein virtuelles Maschinenteil, das sich von der Vielzahl der angezeigten virtuellen Maschinenteile unterscheidet, als ein benutzerdefiniertes virtuelles Maschinenteil erstellt; und eine Einstelleinheit für Parameter virtueller Maschinenteile, die einen Parameter einstellt, der die innere Arbeitsweise jedes der Vielzahl der virtuellen Maschinenteile definiert. Die Programmierunterstützungsvorrichtung gemäß der vorliegenden Offenbarung beinhaltet ferner Folgendes: eine Editiereinheit für Programme benutzerdefinierter virtueller Maschinenteile, die die arithmetische Verarbeitung des benutzerdefinierten virtuellen Maschinenteils durch ein Benutzerprogramm editiert; eine Einstelleinheit für Parameter benutzerdefinierter virtueller Maschinenteile, die den Parameter des benutzerdefinierten virtuellen Maschinenteils einstellt; und eine Erzeugungseinheit für Benutzerprogrammverarbeitungsausführungscode, die das Benutzerprogramm, das auf Basis des von der Einstelleinheit für Parameter benutzerdefinierter virtueller Maschinenteile eingestellten Parameters codiert wird, an eine speicherprogrammierbare Steuerung ausgibt und die speicherprogrammierbare Steuerung veranlasst, eine im Benutzerprogramm beschriebene Bewegungssteuerung auszuführen.
-
Vorteilhafte Wirkungen der Erfindung
-
Eine Wirkung der Programmierunterstützungsvorrichtung gemäß der vorliegenden Offenbarung besteht darin, dass die Bürde des Bedieners bei der Erstellung des Programms der mechanischen Vorrichtung, die eine komplizierte Steuerung erfordert, verringert werden kann.
-
Kurzbeschreibung der Zeichnungen
-
- 1 ist eine Darstellung, die eine Konfiguration eines SPS-Systems gemäß einer Ausführungsform veranschaulicht.
- 2 ist eine Darstellung, die eine Hardwarekonfiguration einer Programmierunterstützungsvorrichtung gemäß der Ausführungsform veranschaulicht.
- 3 ist eine Darstellung, die Funktionen der Programmierunterstützungsvorrichtung gemäß der Ausführungsform veranschaulicht.
- 4 ist eine Darstellung, die Beispiele für Benutzeroberflächen von Programmierunterstützungsvorrichtungssoftware gemäß der Ausführungsform veranschaulicht.
- 5 ist eine Gruppe von Darstellungen, die eine schematische Darstellung, die einen Abroller repräsentiert, eine Bezeichnung virtueller Maschinenteile, die den Abroller repräsentiert, und einen Parametereinstellungsbereich virtueller Maschinenteile für den Abroller veranschaulichen.
- 6 ist eine Gruppe von Darstellungen, die eine schematische Darstellung, die einen Bandförderer repräsentiert, eine Bezeichnung virtueller Maschinenteile, die den Bandförderer repräsentiert, und einen Parametereinstellungsbereich virtueller Maschinenteile für den Bandförderer veranschaulichen.
- 7 ist eine Gruppe von Darstellungen, die eine schematische Darstellung, die ein Box-Motion-Aggregat repräsentiert, eine Bezeichnung virtueller Maschinenteile, die das Box-Motion-Aggregat repräsentiert, und einen Parametereinstellungsbereich virtueller Maschinenteile für das Box-Motion-Aggregat veranschaulichen.
- 8 ist eine Gruppe von Darstellungen, die eine schematische Darstellung, die eine horizontale Kissenverpackungsmaschine repräsentiert, eine Bezeichnung benutzerdefinierter virtueller Maschinenteile, die die horizontale Kissenverpackungsmaschine repräsentiert, und einen Parametereinstellungsbereich benutzerdefinierter virtueller Maschinenteile für die horizontale Kissenverpackungsmaschine veranschaulichen.
- 9 ist eine Tabelle, die einen Parametereinstellungsbereich benutzerdefinierter virtueller Maschinenteile für die horizontale Kissenverpackungsmaschine veranschaulicht.
- 10 ist eine Darstellung, die den Parametereinstellungsbereich benutzerdefinierter virtueller Maschinenteile für die horizontale Kissenverpackungsmaschine veranschaulicht.
- 11 ist eine Darstellung zur Erläuterung von Funktionen einer Zentraleinheit (central processing unit - CPU), die in einer SPS gemäß der Ausführungsform beinhaltet ist.
- 12 ist ein Flussdiagramm, das eine Prozedur eines Programmierunterstützungsverfahrens veranschaulicht, die gemäß der Programmierunterstützungsvorrichtungssoftware von der CPU der Programmierunterstützungsvorrichtung gemäß der Ausführungsform ausgeführt wird.
- 13 ist eine Darstellung, die ein Beispiel für ein durch ein Maschinenmodell simuliertes Maschinensystem veranschaulicht.
- 14 ist eine Darstellung, die ein neuronales Netz gemäß der Ausführungsform veranschaulicht.
- 15 ist eine Darstellung, die eine Verarbeitungsschaltung in einem Fall veranschaulicht, in dem einige oder alle von einer Spezifiziereinheit virtueller Maschinenteile, einer Erstellungseinheit für benutzerdefinierte virtuelle Maschinenteile, einer Einstelleinheit für Parameter virtueller Maschinenteile, einer Editiereinheit für Parameter benutzerdefinierter virtueller Maschinenteile, einer Einstelleinheit für Parameter benutzerdefinierter virtueller Maschinenteile, einer Editiereinheit für Programme benutzerdefinierter virtueller Maschinenteile, einer Zeichnungseinheit, einer Erzeugungseinheit für Benutzerprogrammverarbeitungsausführungscode, einer Eingabeeinheit für Bezeichnungen benutzerdefinierter virtueller Maschinenteile, einer Eingabeeinheit für Bezeichnungen von Programmen benutzerdefinierter virtueller Maschinenteile und einer Eingabeeinheit für Darstellungen benutzerdefinierter virtueller Maschinenteile der Programmierunterstützungsvorrichtung gemäß der Ausführungsform durch die Verarbeitungsschaltung implementiert werden.
-
Beschreibung der Ausführungsform
-
Nachfolgend werden eine Programmierunterstützungsvorrichtung, ein Programmierunterstützungsverfahren, ein Programmierunterstützungsprogramm und eine speicherprogrammierbare Steuerung gemäß einer Ausführungsform unter Bezugnahme auf die Zeichnungen im Detail beschrieben.
-
Ausführungsform.
-
Zunächst wird eine Konfiguration eines SPS-Systems gemäß einer Ausführungsform beschrieben. Wie vorstehend erläutert, ist SPS eine Abkürzung für „speicherprogrammierbare Steuerung“. 1 ist eine Darstellung, die eine Konfiguration eines SPS-Systems 1000 gemäß der Ausführungsform veranschaulicht. Das SPS-System 1000 beinhaltet eine Programmierunterstützungsvorrichtung 1 zum Editieren eines Benutzerprogramms und eine SPS 2 zum Durchführen einer zentralisierten Steuerung verschiedener Steuervorrichtungen, die z. B. in einer Fabrik installiert sind.
-
Die SPS 2 beinhaltet eine CPU-Einheit 3, die den gesamten Betrieb des SPS-Systems 1000 steuert, eine Vielzahl von Erweiterungseinheiten 4 und eine Buseinheit 5, mit der die CPU-Einheit 3 und die Vielzahl von Erweiterungseinheiten 4 verbunden sind. Die SPS 2 kann statt der Vielzahl von Erweiterungseinheiten 4 eine Erweiterungseinheit 4 beinhalten. Wenn die SPS 2 eine Erweiterungseinheit 4 beinhaltet, ist die eine Erweiterungseinheit 4 mit der Buseinheit 5 verbunden.
-
Das Benutzerprogramm kann z. B. mittels einer Kontaktplanersprache oder einer grafischen Programmiersprache oder mittels einer höheren Programmiersprache erstellt werden. Ein Beispiel für die grafische Programmiersprache ist eine Programmiersprache zum Implementieren von Bewegungsabläufen. Ein Beispiel für die höhere Programmiersprache ist die Sprache C.
-
Die CPU-Einheit 3 verwendet das Benutzerprogramm zum Steuern des gesamten SPS-Systems 1000 einschließlich der Erweiterungseinheit 4.
-
Die Erweiterungseinheit 4 ist eine Einheit, die die Steuerfunktion der CPU-Einheit 3 erweitert, indem sie eine relativ einfache Berechnung durchführt. Als Erweiterungseinheit 4 werden verschiedene Arten von Einheiten verwendet. Ein Beispiel für die Erweiterungseinheit 4 ist eine analoge Eingabeeinheit, eine Positioniereinheit, eine Temperatureingabeeinheit oder eine Temperaturregelungseinheit. Falls die Erweiterungseinheit 4 die Temperaturregelungseinheit ist, führt die Temperaturregelungseinheit, wenn sie eine Anforderung von der CPU-Einheit 3 erhält, die Temperatur einer externen Vorrichtung auf eine vorbestimmte Temperatur einzustellen, eine Steuerung der Temperatur der externen Vorrichtung derart durch, dass die vorbestimmte Temperatur erreicht wird.
-
Die Programmierunterstützungsvorrichtung 1 wird beispielsweise durch einen tragbaren Personal Computer vom Typ Notebook oder Tablet implementiert. Die Programmierunterstützungsvorrichtung 1 beinhaltet eine Eingabeeinheit 105 und eine Anzeigeeinheit 106. Das Benutzerprogramm zum Steuern der SPS 2 wird unter Verwendung der Programmierunterstützungsvorrichtung 1 erstellt. Das erstellte Benutzerprogramm wird in der Programmierunterstützungsvorrichtung 1 in Code umgewandelt. Die Programmierunterstützungsvorrichtung 1 ist über eine Übertragungsleitung 9 mit der CPU-Einheit 3 der SPS 2 verbunden und das in Code umgewandelte Benutzerprogramm wird von der Programmierunterstützungsvorrichtung 1 an die CPU-Einheit 3 übertragen. Das Benutzerprogramm wird in einem Speicher in der CPU-Einheit 3 gespeichert. Ein Beispiel für die Übertragungsleitung 9 ist ein Universal Serial Bus (USB).
-
2 ist eine Darstellung, die eine Hardwarekonfiguration einer Programmierunterstützungsvorrichtung 1 gemäß der Ausführungsform veranschaulicht. Die Programmierunterstützungsvorrichtung 1 wird durch Installieren einer Programmierunterstützungsvorrichtungssoftware auf dem Personal Computer konfiguriert. Die Programmierunterstützungsvorrichtung 1 beinhaltet eine CPU 101, einen Direktzugriffsspeicher (random access memory - RAM) 102, einen Festwertspeicher (read-only memory - ROM) 103, eine Speichereinheit 104, die Eingabeeinheit 105, die Anzeigeeinheit 106 und eine Kommunikationsschnittstelle 107.
-
Die CPU 101 ist eine arithmetische Vorrichtung, die die Programmierunterstützungsvorrichtungssoftware ausführt. Der RAM 102 ist ein Arbeitsbereich, der verwendet wird, wenn die CPU 101 ein Programm ausführt. Im ROM 103 ist ein von der CPU 101 beim Starten der Programmierunterstützungsvorrichtung 1 ausgeführtes Programm in nichtflüchtiger Form gespeichert. Ein Beispiel für das von der CPU 101 beim Starten der Programmierunterstützungsvorrichtung 1 ausgeführte Programm ist ein Lader für das initiale Programm. Die Speichereinheit 104 speichert Informationen in nichtflüchtiger Form. Die Speichereinheit 104 ist beispielsweise durch ein Festplattenlaufwerk oder ein Solid State Drive implementiert.
-
Die Eingabeeinheit 105 ist eine Benutzeroberfläche für einen Bediener zur Eingabe von Informationen in die Programmierunterstützungsvorrichtung 1 und wird beispielsweise durch ein Zeigegerät und/oder eine Tastatur implementiert. Ein Beispiel für das Zeigegerät ist eine Maus oder ein Touchpanel. Die Anzeigeeinheit 106 ist eine Vorrichtung, die Informationen anzeigt und z. B. durch eine Flüssigkristallanzeigevorrichtung oder eine organische lichtemittierende Anzeigevorrichtung implementiert wird.
-
Die Kommunikationsschnittstelle 107 ist eine Schnittstelle für die Programmierunterstützungsvorrichtung 1 zur Kommunikation mit der SPS 2 über die Übertragungsleitung 9. Die auf der Programmierunterstützungsvorrichtung 1 installierte Programmierunterstützungsvorrichtungssoftware ist in der Speichereinheit 104 gespeichert. Die CPU 101 liest die in der Speichereinheit 104 gespeicherte Programmierunterstützungsvorrichtungssoftware aus und führt sie aus, wobei der Personal Computer hier als Programmierunterstützungsvorrichtung 1 fungiert.
-
In der Ausführungsform wird die Programmierunterstützungsvorrichtung 1 durch Installieren einer Programmiervorrichtungsunterstützungssoftware auf dem Personal Computer konfiguriert. Die Programmierunterstützungsvorrichtung 1 kann jedoch auch in Form einer Webanwendung konfiguriert sein, bei der die Verarbeitung von einem Webbrowser auf dem Personal Computer als Client bei der auf einem Webserver laufenden Anwendung angefordert wird.
-
3 ist eine Darstellung, die Funktionen der Programmierunterstützungsvorrichtung 1 gemäß der Ausführungsform veranschaulicht. Die Speichereinheit 104 speichert die Programmierunterstützungsvorrichtungssoftware 111. Die CPU 101 führt die in der Speichereinheit 104 gespeicherte Programmierunterstützungsvorrichtungssoftware 111 aus, um als eine Spezifiziereinheit 112 virtueller Maschinenteile, eine Erstellungseinheit 113 für benutzerdefinierte virtuelle Maschinenteile, eine Einstelleinheit 114 für Parameter virtueller Maschinenteile, eine Editiereinheit 115 für Parameter benutzerdefinierter virtueller Maschinenteile, eine Einstelleinheit 116 für Parameter benutzerdefinierter virtueller Maschinenteile, eine Editiereinheit 117 für Programme benutzerdefinierter virtueller Maschinenteile, eine Zeichnungseinheit 118, eine Erzeugungseinheit 119 für Benutzerprogrammverarbeitungsausführungscode, eine Eingabeeinheit 120 für Bezeichnungen benutzerdefinierter virtueller Maschinenteile, eine Eingabeeinheit 121 für Bezeichnungen von Programmen benutzerdefinierter virtueller Maschinenteile und eine Eingabeeinheit 122 für Darstellungen benutzerdefinierter virtueller Maschinenteile zu fungieren.
-
Die Speichereinheit 104 speichert ein Ablaufprogramm 123. Die Zeichnungseinheit 118 veranlasst die Anzeigeeinheit 106, einen Ablaufprogrammeditierbereich 132 anzuzeigen, der eine Benutzeroberfläche zum Editieren des Ablaufprogramms 123 darstellt. Der Ablaufprogrammeditierbereich 132 ist in 4 veranschaulicht. 4 ist eine Darstellung, die Beispiele für Benutzeroberflächen von Programmierunterstützungsvorrichtungssoftware 111 gemäß der Ausführungsform veranschaulicht.
-
Die Zeichnungseinheit 118 veranlasst die Anzeigeeinheit 106, einen Bereich 133 virtueller Maschinenteile anzuzeigen, der die Benutzeroberfläche zum Anzeigen von Bildern und Bezeichnungen virtueller Maschinenteile darstellt.
-
Die Zeichnungseinheit 118 veranlasst die Anzeigeeinheit 106, einen Bereich 134 benutzerdefinierter virtueller Maschinenteile anzuzeigen, der die Benutzeroberfläche zum Anzeigen eines Bildes und einer Bezeichnung eines benutzerdefinierten virtuellen Maschinenteils darstellt.
-
Die Zeichnungseinheit 118 und die Einstelleinheit 114 für Parameter virtueller Maschinenteile veranlassen die Anzeigeeinheit 106, einen Parametereinstellungsbereich 135 virtueller Maschinenteile anzuzeigen, der die Benutzeroberfläche zum Empfangen einer Einstellung von Parametern 126 virtueller Maschinenteile darstellt, die bei interner den virtuellen Maschinenteilen entsprechender Verarbeitung verwendet werden. Die Speichereinheit 104 speichert die Parameter 126 virtueller Maschinenteile. Die Einstelleinheit 114 für Parameter virtueller Maschinenteile fungiert als Einstelleinheit für Parameter virtueller Maschinenteile, die Parameter einstellt, welche die interne Verarbeitung einer Vielzahl der virtuellen Maschinenteile definieren.
-
Die Zeichnungseinheit 118, die Editiereinheit 115 für Parameter benutzerdefinierter virtueller Maschinenteile und die Einstelleinheit 116 für Parameter benutzerdefinierter virtueller Maschinenteile veranlassen die Anzeigeeinheit 106, einen Parametereinstellungsbereich 136 benutzerdefinierter virtueller Maschinenteile anzuzeigen, der die Benutzeroberfläche zum Empfangen von Hinzufügung und Eingabe von Parametern 127 benutzerdefinierter virtueller Maschinenteile darstellt, die bei interner dem benutzerdefinierten virtuellen Maschinenteil entsprechender Verarbeitung verwendet werden. Die Parameter 127 benutzerdefinierter virtueller Maschinenteile werden in der Speichereinheit 104 gespeichert. Die Editiereinheit 115 für Parameter benutzerdefinierter virtueller Maschinenteile und die Einstelleinheit 116 für Parameter benutzerdefinierter virtueller Maschinenteile fungieren als Editiereinheit für Parameter benutzerdefinierter virtueller Maschinenteile, die Parameter editiert, die die interne Verarbeitung eines jeden benutzerdefinierten virtuellen Maschinenteils definieren, bzw. als Einstelleinheit für Parameter benutzerdefinierter virtueller Maschinenteile, die die Parameter einstellt.
-
Die Zeichnungseinheit 118 und die Erstellungseinheit 113 für benutzerdefinierte virtuelle Maschinenteile veranlassen die Anzeigeeinheit 106, einen Editierbereich 137 benutzerdefinierter virtueller Maschinenteile anzuzeigen, der die Benutzeroberfläche zum Erstellen des benutzerdefinierten virtuellen Maschinenteils darstellt.
-
Wie vorstehend beschrieben, ist 4 die Darstellung, welche die Beispiele der Benutzeroberflächen der Programmierunterstützungsvorrichtungssoftware 111 gemäß der Ausführungsform veranschaulicht. Wie in 4 veranschaulicht, zeigt die Anzeigeeinheit 106 schematische die virtuellen Maschinenteile repräsentierende Darstellungen und die virtuellen Maschinenteile repräsentierende Bezeichnungen zusammen als eine Liste der virtuellen Maschinenteile an. Die Zeichnungseinheit 118 ist für Verarbeiten einer Zeichnung der Benutzeroberflächen zuständig. Die Programmierunterstützungsvorrichtungssoftware 111 beinhaltet eine Baumansicht 131, den Ablaufprogrammeditierbereich 132, den Bereich 133 virtueller Maschinenteile, den Bereich 134 benutzerdefinierter virtueller Maschinenteile, den Parametereinstellungsbereich 135 virtueller Maschinenteile, den Parametereinstellungsbereich 136 benutzerdefinierter virtueller Maschinenteile, den Editierbereich 137 benutzerdefinierter virtueller Maschinenteile und einen Editierbereich 138 für Programme benutzerdefinierter virtueller Maschinenteile.
-
Die Baumansicht 131 zeigt hierarchisch das Ablaufprogramm 123, das von einem Benutzer unter Verwendung der Programmierunterstützungsvorrichtungssoftware 111 erstellt wurde, das benutzerdefinierte virtuelle Maschinenteil, die Parameter 127 benutzerdefinierter virtueller Maschinenteile des benutzerdefinierten virtuellen Maschinenteils und Programme 125 benutzerdefinierter virtueller Maschinenteile des benutzerdefinierten virtuellen Maschinenteils an. Die Programme 125 benutzerdefinierter virtueller Maschinenteile werden in der Speichereinheit 104 gespeichert. Die Baumansicht 131 ist mit einem Texteingabebereich 139 zur Eingabe der Bezeichnung des benutzerdefinierten virtuellen Maschinenteils versehen. Die Eingabeeinheit 120 für Bezeichnungen benutzerdefinierter virtueller Maschinenteile empfängt über den Texteingabebereich 139 eine Eingabe einer Bezeichnung eines benutzerdefinierten virtuellen Maschinenteils als die Bezeichnung des benutzerdefinierten virtuellen Maschinenteils.
-
Die Baumansicht 131 ist mit einem Texteingabebereich 140 zur Eingabe der Bezeichnung des Programms 125 benutzerdefinierter virtueller Maschinenteile versehen. Die Eingabeeinheit 121 für Bezeichnungen von Programmen benutzerdefinierter virtueller Maschinenteile empfängt über den Texteingabebereich 140 eine Eingabe einer Programmbezeichnung als die Bezeichnung des Programms, das die Arbeitsweise des benutzerdefinierten virtuellen Maschinenteils definiert.
-
Im Ablaufprogrammeditierbereich 132 wird das Ablaufprogramm 123 erstellt.
-
Im Bereich 133 virtueller Maschinenteile werden die im Voraus vorbereiteten virtuellen Maschinenteile angezeigt.
-
Im Bereich 134 benutzerdefinierter virtueller Maschinenteile wird das von einem Benutzer definierte virtuelle Maschinenteil angezeigt. Das virtuelle Maschinenteil ist das benutzerdefinierte virtuelle Maschinenteil.
-
Im Editierbereich 137 benutzerdefinierter virtueller Maschinenteile wird das benutzerdefinierte virtuelle Maschinenteil editiert.
-
Im Parametereinstellungsbereich 135 virtueller Maschinenteile werden die Parameter 126 virtueller Maschinenteile eingestellt.
-
Im Parametereinstellungsbereich 136 benutzerdefinierter virtueller Maschinenteile werden die Parameter 127 benutzerdefinierter virtueller Maschinenteile editiert und eingestellt.
-
Im Editierbereich 137 benutzerdefinierter virtueller Maschinenteile wird die Definition des benutzerdefinierten virtuellen Maschinenteils eingestellt.
-
Die virtuellen Maschinenteile, die im Bereich 133 virtueller Maschinenteile angezeigt werden, werden nun näher beschrieben. Das virtuelle Maschinenteil beinhaltet eine Bezeichnung virtueller Maschinenteile, die Parameter virtueller Maschinenteile und Programme virtueller Maschinenteile. Die Bezeichnung virtueller Maschinenteile ist eine Bezeichnung, die das virtuelle Maschinenteil repräsentiert. Die Parameter virtueller Maschinenteile sind Spezifikationswerte, die die innere Arbeitsweise des virtuellen Maschinenteils definieren. Die Programme virtueller Maschinenteile sind Programme, die die innere Arbeitsweise des virtuellen Maschinenteils auf Basis der Parameter virtueller Maschinenteile beschreiben. Wenn die Bezeichnung virtueller Maschinenteile, die Parameter virtueller Maschinenteile und die Programme virtueller Maschinenteile als eine Gesamtheit von Informationen betrachtet werden, können die Bezeichnung virtueller Maschinenteile, die Parameter virtueller Maschinenteile und die Programme virtueller Maschinenteile als eine Vorlage definiert werden, die für jede Art von Objekt im Konzept der Objektorientierung, d. h. als eine Klasse, definiert wird.
-
Auf Basis der Klasse erstellte Daten werden als Instanz bezeichnet und die Erzeugung der Instanz aus der Klasse wird als Instanziierung bezeichnet. Wenn Programme 124 virtueller Maschinenteile im Ablaufprogramm 123 aktiviert werden sollen, wird durch Instanziieren einer Klasse des virtuellen Maschinenteils eine Instanz erzeugt, sodass die für die Klasse definierten Programme aufgerufen werden können. Die Programme 124 virtueller Maschinenteile werden in der Speichereinheit 104 gespeichert.
-
Die Vielzahl der virtuellen Maschinenteile beinhaltet eine Kurvenscheibe, einen Abroller, einen Bandförderer und ein Box-Motion-Aggregatmodul.
-
Die Kurvenscheibe ist ein Maschinenteil, das in der Regel eine Antriebsachse und eine Abtriebsachse beinhaltet und eine Phase der Antriebsachse in relative Koordinaten der Abtriebsachse umwandelt.
-
Der Abroller ist ein Maschinenteil, das eine Antriebsachse und eine Abtriebsachse beinhaltet und eine Phase der Antriebsachse in relative Koordinaten der Abtriebsachse umwandelt, um eine Bahn und eine Folie, die durch die Abtriebsachse um eine Rolle gewickelt ist, abzugeben. Die Abtriebsachse des Abrollers ist eine Abrollachse. Der Abroller ist ein Maschinenteil, das befähigt ist, eine Vorschubposition der Folie durch Eingabe eines Korrekturbetrags zu korrigieren. Die Funktion des Umwandelns der Phase der Antriebsachse in die relativen Koordinaten der Abrollachse als Abtriebsachse kann durch die Verwendung des Abrollers und der Kurvenscheibe und die Verbindung der Antriebsachse und der Abrollachse als Abtriebsachse des Abrollers mit der Antriebsachse und der Abtriebsachse der Kurvenscheibe realisiert werden. Dies ist gleichbedeutend mit dem Hinzufügen einer Kurvenscheibenklasse zu Mitgliedsvariablen einer Abrollerklasse in der Objektorientierung.
-
Der Bandförderer ist eine mechanische Vorrichtung, die eine Antriebsachse und eine Abtriebsachse beinhaltet und eine Phase der Antriebsachse in relative Koordinaten der Abtriebsachse umwandelt, um ein Werkstück auf dem durch die Abtriebsachse betriebenen Bandförderer zu transportieren und zu verschweißen und eine Folie zu befördern. Die Abtriebsachse des Bandförderers ist eine Bandfördererachse. Der Bandförderer ist ein Maschinenteil, das befähigt ist, eine Vorschubposition des Bandförderers durch Eingabe eines Korrekturbetrags zu korrigieren. Die Funktion des Umwandelns der Phase der Antriebsachse in die relativen Koordinaten der Bandfördererachse als Abtriebsachse kann durch die Verwendung des Bandförderers und der Kurvenscheibe und die Verbindung der Antriebsachse und der Bandfördererachse als Abtriebsachse des Bandförderers mit der Antriebsachse und der Abtriebsachse der Kurvenscheibe realisiert werden. Dies ist gleichbedeutend mit dem Hinzufügen einer Kurvenscheibenklasse zu Mitgliedsvariablen einer Bandfördererklasse in der Objektorientierung.
-
Das Box-Motion-Aggregat ist eine mechanische Vorrichtung, die eine Antriebsachse, eine erste Abtriebsachse und eine zweite Abtriebsachse beinhaltet und eine Phase der Antriebsachse jeweils in relative Koordinaten der ersten Abtriebsachse und relative Koordinaten der zweiten Abtriebsachse umwandelt, wodurch ein Box-Motion-Aggregat-Vorgang ausgeführt wird, bei dem sich eine Schneidevorrichtung während einer Abwärtsbewegung vorwärts bewegt und eine von dem Bandförderer ausgegebene Bahn oder eine Folie bei einer mit der der Bahn oder der Folie synchronen Geschwindigkeit mit einer bestimmten Abmessung zuschneidet. Die erste Abtriebsachse ist eine Verfahrachse und die zweite Abtriebsachse ist eine Verschweißachse.
-
Das Box-Motion-Aggregat ist die mechanische Vorrichtung, die zur Anpassung an die Erhöhung und Verringerung der Betriebsgeschwindigkeit befähigt ist. Die Funktion des Umwandelns der Phase der Antriebsachse in die relativen Koordinaten jeder von der Verfahrachse und der Verschweißachse kann durch die Verwendung des Box-Motion-Aggregats, einer ersten Kurvenscheibe und einer zweiten Kurvenscheibe realisiert werden, wobei die Antriebsachse und die Verfahrachse des Box-Motion-Aggregats mit der Antriebsachse und der Abtriebsachse der ersten Kurvenscheibe verbunden werden und die Antriebsachse und die Verschweißachse des Box-Motion-Aggregats mit der Antriebsachse und der Abtriebsachse der zweiten Kurvenscheibe verbunden werden. Dies ist gleichbedeutend mit dem Hinzufügen von zwei Kurvenscheibenklassen zu Mitgliedsvariablen einer Box-Motion-Aggregat-Klasse in der Objektorientierung.
-
5 ist eine Gruppe von Darstellungen, die eine schematische Darstellung 141, die den Abroller repräsentiert, eine Bezeichnung 142 virtueller Maschinenteile, die den Abroller repräsentiert, und einen Parametereinstellungsbereich 143 virtueller Maschinenteile für den Abroller veranschaulichen. Die Anzeigeeinheit 106 zeigt 5 an. Da die Anzeigeeinheit 106 5 anzeigt, kann ein Bediener den Typ des virtuellen Maschinenteils visuell erkennen. Der Abroller ist ein Beispiel für das virtuelle Maschinenteil. Wie in 5 veranschaulicht, beinhalten die Parameter virtueller Maschinenteile des Abrollers die Antriebsachse, die Abrollachse als Abtriebsachse, ein Kurvenscheibenmuster, das ein Umwandlungsmuster zum Umwandeln der Phase der Antriebsachse in die relativen Koordinaten der Abrollachse ist, und einen Foliendurchmesser.
-
Im Beispiel aus 5 ist „inputAxis“ als der Parameter definiert, der die Antriebsachse angibt, „unwindAxis“ als der Parameter definiert, der die Abrollachse angibt, „camPattern“ als der Parameter definiert, der das Kurvenscheibenmuster angibt, und „filmDiameter“ als der Parameter definiert, der den Foliendurchmesser angibt. Die Programme virtueller Maschinenteile des Abrollers beinhalten ein Programm zum Umwandeln der Phase der Antriebsachse des Abrollers durch das Kurvenscheibenmuster, um die relativen Koordinaten der Abrollachse zu berechnen, und ein Programm zum Korrigieren der Vorschubposition der Folie durch Eingabe des Korrekturbetrags.
-
6 ist eine Gruppe von Darstellungen, die eine schematische Darstellung 144, die einen Bandförderer repräsentiert, eine Bezeichnung 145 virtueller Maschinenteile, die den Bandförderer repräsentiert, und einen Parametereinstellungsbereich 146 virtueller Maschinenteile für den Bandförderer veranschaulichen. Die Anzeigeeinheit 106 zeigt 6 an. Da die Anzeigeeinheit 106 6 anzeigt, kann ein Bediener den Typ des virtuellen Maschinenteils visuell erkennen. Der Bandförderer ist ein Beispiel für das virtuelle Maschinenteil. Wie in 6 veranschaulicht, beinhalten die Parameter virtueller Maschinenteile des Bandförderers die Antriebsachse, die Bandfördererachse als Abtriebsachse, ein Kurvenscheibenmuster, das ein Umwandlungsmuster zum Umwandeln der Phase der Antriebsachse in die relativen Koordinaten der Bandfördererachse ist, und eine Bandförderergeschwindigkeit.
-
Im Beispiel aus 6 ist „inputAxis“ als der Parameter definiert, der die Antriebsachse angibt, „conveyorAxis“ als der Parameter definiert, der die Bandfördererachse angibt, die die Abtriebsachse ist, „camPattern“ als der Parameter definiert, der das Kurvenscheibenmuster angibt, und „conveyorVelocity“ als der Parameter definiert, der die Bandförderergeschwindigkeit angibt. Die Programme virtueller Maschinenteile des Bandförderers beinhalten ein Programm zum Umwandeln der Phase der Antriebsachse des Bandförderers durch das Bandförderer-Kurvenscheibenmuster, um die relativen Koordinaten der Bandfördererachse zu berechnen, und ein Programm zum Korrigieren der Vorschubposition des Bandförderers durch Eingabe des Korrekturbetrags.
-
7 ist eine Gruppe von Darstellungen, die eine schematische Darstellung 147, die ein Box-Motion-Aggregat repräsentiert, eine Bezeichnung 148 virtueller Maschinenteile, die das Box-Motion-Aggregat repräsentiert, und einen Parametereinstellungsbereich 149 virtueller Maschinenteile für das Box-Motion-Aggregat veranschaulichen. Die Anzeigeeinheit 106 zeigt 7 an. Da die Anzeigeeinheit 106 7 anzeigt, kann ein Bediener den Typ des virtuellen Maschinenteils visuell erkennen. Das Box-Motion-Aggregat ist ein Beispiel für das virtuelle Maschinenteil. Wie in 7 veranschaulicht, beinhalten die Parameter des Box-Motion-Aggregats die Antriebsachse, die erste Abtriebsachse, die zweite Abtriebsachse, ein Verfahrkurvenscheibenmuster, das ein Umwandlungsmuster zum Umwandeln der Phase der Antriebsachse in die relativen Koordinaten der ersten Abtriebsachse ist, ein Verschweißkurvenscheibenmuster, das ein Umwandlungsmuster zum Umwandeln der Phase der Antriebsachse in die relativen Koordinaten der zweiten Abtriebsachse ist, und eine kombinierte Geschwindigkeit des Box-Motion-Aggregats. Die erste Abtriebsachse ist die Verfahrachse und die zweite Abtriebsachse ist die Verschweißachse.
-
Im Beispiel aus 7 ist „inputAxis“ als der Parameter definiert, der die Antriebsachse angibt, „travelAxis“ als der Parameter definiert, der die Verfahrachse angibt, „seelAxis“ als der Parameter definiert, der die Verschweißachse angibt, „travelCamPattern“ als der Parameter definiert, der das Verfahrkurvenscheibenmuster angibt, „seelCamPattern“ als der Parameter definiert, der das Verschweißkurvenscheibenmuster angibt, und „boxMotionVelocity“ als der Parameter definiert, der die Box-Motion-Aggregat-Geschwindigkeit angibt. Die Programme virtueller Maschinenteile für das Box-Motion-Aggregat beinhalten ein Programm zum Umwandeln der Phase der Antriebsachse des Box-Motion-Aggregats durch das Kurvenscheibenmuster, um die relativen Koordinaten der Verfahrachse und der Verschweißachse zu berechnen, sowie ein Programm zum Erhöhen oder Verringern der kombinierten Geschwindigkeit des Box-Motion-Aggregats.
-
Die schematische Darstellung 141, die den Abroller repräsentiert, die schematische Darstellung 144, die den Bandförderer repräsentiert, und die schematische Darstellung 147, die das Box-Motion-Aggregat repräsentiert, sind Symbole, die im Bereich 133 virtueller Maschinenteile angezeigt werden. Die Bezeichnung 142 virtueller Maschinenteile, die den Abroller repräsentiert, die Bezeichnung 145 virtueller Maschinenteile, die den Bandförderer repräsentiert, und die Bezeichnung 148 virtueller Maschinenteile, die das Box-Motion-Aggregat repräsentiert, sind Bezeichnungen der Teile, die im Bereich 133 virtueller Maschinenteile angezeigt werden. Der Parametereinstellungsbereich 143 virtueller Maschinenteile für den Abroller, der Parametereinstellungsbereich 146 virtueller Maschinenteile für den Bandförderer und der Parametereinstellungsbereich 149 virtueller Maschinenteile für das Box-Motion-Aggregat sind ein Teil des Parametereinstellungsbereichs 135 virtueller Maschinenteile.
-
Das benutzerdefinierte virtuelle Maschinenteil, das im Bereich 134 benutzerdefinierter virtueller Maschinenteile angezeigt wird, wird nun näher beschrieben. Wie bei dem virtuellen Maschinenteil beinhaltet das benutzerdefinierte virtuelle Maschinenteil eine Bezeichnung benutzerdefinierter virtueller Maschinenteile, die Parameter benutzerdefinierter virtueller Maschinenteile und die Programme benutzerdefinierter virtueller Maschinenteile. Ein Beispiel für das benutzerdefinierte virtuelle Maschinenteil ist eine horizontale Kissenverpackungsmaschine, die durch Kombinieren des Abrollers, des Bandförderers und des Box-Motion-Aggregats angefertigt wurde.
-
Die horizontale Kissenverpackungsmaschine ist ein Maschinenteil, das eine Antriebsachse, eine Abrollachse, eine Bandfördererachse, eine Verfahrachse und eine Verschweißachse beinhaltet und eine Phase der Antriebsachse in relative Koordinaten jeder von der Abrollachse, der Bandfördererachse, der Verfahrachse und der Verschweißachse umwandelt, wodurch sie eine Funktion zum Verpacken eines Produkts durch Kombinieren einer durch den Abroller zugeführten Folie und eines durch den Bandförderer beförderten Werkstücks und zum Durchführen des Verschweißens und Schneidens durch das Box-Motion-Aggregat aufweist.
-
Die Funktion der horizontalen Kissenverpackungsmaschine kann durch die Verwendung der horizontalen Kissenverpackungsmaschine, des Abrollers, des Bandförderers und des Box-Motion-Aggregats realisiert werden, indem die Antriebsachse der horizontalen Kissenverpackungsmaschine und eine der Abrollachse entsprechende Abtriebsachse der horizontalen Kissenverpackungsmaschine mit der Antriebsachse und der Abrollachse des Abrollers verbunden werden, die Antriebsachse der horizontalen Kissenverpackungsmaschine und eine der Bandfördererachse entsprechende Abtriebsachse der horizontalen Kissenverpackungsmaschine mit der Antriebsachse und der Bandfördererachse des Bandförderers verbunden werden und die Antriebsachse der horizontalen Kissenverpackungsmaschine, eine der Verfahrachse entsprechende Abtriebsachse der horizontalen Kissenverpackungsmaschine und eine der Verschweißachse entsprechende Abtriebsachse der horizontalen Kissenverpackungsmaschine mit der Antriebsachse, der Verfahrachse und der Verschweißachse des Box-Motion-Aggregats verbunden werden. Dies ist gleichbedeutend mit dem Hinzufügen einer Abrollerklasse, einer Fördererklasse und einer Box-Motion-Aggregat-Klasse zu Mitgliedsvariablen einer horizontalen Kissenverpackungsmaschine in der Objektorientierung.
-
8 ist eine Gruppe von Darstellungen, die eine schematische Darstellung 150, die die horizontale Kissenverpackungsmaschine repräsentiert, eine Bezeichnung 151 benutzerdefinierter virtueller Maschinenteile, die die horizontale Kissenverpackungsmaschine repräsentiert, und einen Parametereinstellungsbereich 152 benutzerdefinierter virtueller Maschinenteile für die horizontale Kissenverpackungsmaschine veranschaulichen. Wie in 8 veranschaulicht, wird die schematische Darstellung, die den Abroller, den Bandförderer und das Box-Motion-Aggregat repräsentiert, in einem Erstellungsbereich benutzerdefinierter virtueller Maschinenteile für die horizontale Kissenverpackungsmaschine platziert. Parameter der horizontalen Kissenverpackungsmaschine beinhalten die Antriebsachse, die der Abrollachse entsprechende Abtriebsachse, die der Bandfördererachse entsprechende Abtriebsachse, die der Verfahrachse entsprechende Abtriebsachse, die der Verschweißachse entsprechende Abtriebsachse, den Abroller, den Bandförderer und das Box-Motion-Aggregat.
-
Im Beispiel aus 8 ist „unwinder1“ der Abrollerklasse als der Parameter definiert, der den Abroller angibt, „conveyor1“ der Fördererklasse als der Parameter definiert, der den Bandförderer angibt, „boxMotion1“ der Box-Motion-Aggregat-Klasse als der Parameter definiert, der das Box-Motion-Aggregat angibt, „inputAxis“ als der Parameter definiert, der die Antriebsachse angibt, „unwindAxis“ als der Parameter definiert, der die Abrollachse angibt, „conveyorAxis“ als der Parameter definiert, der Bandfördererachse angibt, „travelAxis“ als der Parameter definiert, der die Verfahrachse angibt, und „seelAxis“ als der Parameter definiert, der die Verschweißachse angibt.
-
Das Programm benutzerdefinierter virtueller Maschinenteile für die horizontale Kissenverpackungsmaschine beinhaltet ein Programm zum Umwandeln der Phase der Antriebsachse der horizontalen Kissenverpackungsmaschine durch den Abroller, den Bandförderer und das Box-Motion-Aggregat, um die relativen Koordinaten jeder von der Abrollerachse, der Bandfördererachse, der Verfahrachse und der Verschweißachse zu berechnen.
-
Die schematische Darstellung 150, die die horizontale Kissenverpackungsmaschine repräsentiert, ist ein Symbol, das im Bereich 134 benutzerdefinierter virtueller Maschinenteile angezeigt wird, und ist ein Hintergrundbild des Erstellungsbereichs benutzerdefinierter virtueller Maschinenteile. Die Bezeichnung 151 benutzerdefinierter virtueller Maschinenteile, die die horizontale Kissenverpackungsmaschine repräsentiert, ist die Bezeichnung des Teils, das im Bereich 134 benutzerdefinierter virtueller Maschinenteile angezeigt wird. Der Parametereinstellungsbereich 152 benutzerdefinierter virtueller Maschinenteile für die horizontale Kissenverpackungsmaschine ist ein Teil des Parametereinstellungsbereichs 136 benutzerdefinierter virtueller Maschinenteile.
-
9 ist eine Tabelle, die einen Parametereinstellungsbereich 153 benutzerdefinierter virtueller Maschinenteile für die horizontale Kissenverpackungsmaschine veranschaulicht. Im Beispiel aus 9 werden Parameter zur Eingabereferenz für die schematische Darstellung der horizontalen Kissenverpackungsmaschine als die Parameter der horizontalen Kissenverpackungsmaschine eingestellt. Die Eingabeeinheit 122 für Darstellungen benutzerdefinierter virtueller Maschinenteile empfängt auf Basis eines über die Parameter eingegebenen Pfades ein Bild, das die schematische Darstellung der horizontalen Kissenverpackungsmaschine sein soll.
-
10 ist eine Darstellung, die den Parametereinstellungsbereich 152 benutzerdefinierter virtueller Maschinenteile für die horizontale Kissenverpackungsmaschine veranschaulicht. Im Beispiel aus 10 sind die Programme 125 benutzerdefinierter virtueller Maschinenteile in einer Sprache mit strukturiertem Text geschrieben, aber die Programme 125 benutzerdefinierter virtueller Maschinenteile können auch in einer anderen höheren Sprache geschrieben sein. Ein Beispiel für die andere höhere Sprache ist die Sprache C. Im Beispiel aus 10 sind ein Programm „MC_CamIn“ zum Durchführen einer Umwandlung von der Antriebsachse zu der Abtriebsachse jedes von dem Abroller, dem Bandförderer und dem Box-Motion-Aggregat sowie ein Programm „MC_PowerOn“, um jede Abtriebsachse betreibbar zu machen, definiert, und eine Steuerung zum Ausführen des gesamten „MC_CamIn“ ist in einem Programm „AllCamIn“ der horizontalen Kissenverpackungsmaschine frei definiert.
-
11 ist eine Darstellung zum Erläutern von Funktionen der CPU-Einheit 3, die in der SPS 2 gemäß der Ausführungsform beinhaltet ist. Die CPU-Einheit 3 beinhaltet eine CPU 301 und eine Speichereinheit 302. Die CPU 301 beinhaltet eine Ausführungseinheit 303. Die Speichereinheit 302 speichert das Ablaufprogramm 123, die Programme 124 virtueller Maschinenteile, die Programme 125 benutzerdefinierter virtueller Maschinenteile, die Parameter 126 virtueller Maschinenteile und die Parameter 127 benutzerdefinierter virtueller Maschinenteile, die von der Erzeugungseinheit 119 für Benutzerprogrammverarbeitungsausführungscode der Programmierunterstützungsvorrichtung 1 übertragen werden. Mit anderen Worten hält die Speichereinheit 302 die Benutzerprogramme und die von der Programmierunterstützungsvorrichtung 1 ausgegebenen Parameter vor. Die Speichereinheit 302 ist z. B. durch einen Halbleiterspeicher implementiert.
-
Die Ausführungseinheit 303 führt eine Bewegungssteuerung gemäß den Benutzerprogrammen und den Parametern, die dem benutzerdefinierten virtuellen Maschinenteil entsprechen, aus. Genauer gesagt, führt die Ausführungseinheit 303 eine Ablaufsteuerung aus, indem sie das Ablaufprogramm 123 ausführt, das unter Verwendung der Programme 125 benutzerdefinierter virtueller Maschinenteile gemäß den Parametern 126 virtueller Maschinenteile und den Parameter 127 benutzerdefinierter virtueller Maschinenteile geschrieben wurde.
-
12 ist ein Flussdiagramm, das eine Prozedur eines Programmierunterstützungsverfahrens veranschaulicht, die gemäß der Programmierunterstützungsvorrichtungssoftware 111 von der CPU 101 der Programmierunterstützungsvorrichtung 1 gemäß der Ausführungsform ausgeführt wird.
-
In Schritt S1 veranlasst die CPU 101, insbesondere die Zeichnungseinheit 118, dass die Baumansicht 131, der Ablaufprogrammeditierbereich 132, der Bereich 133 virtueller Maschinenteile, der Bereich 134 benutzerdefinierter virtueller Maschinenteile, der Parametereinstellungsbereich 135 virtueller Maschinenteile, der Parametereinstellungsbereich 136 benutzerdefinierter virtueller Maschinenteile und der Editierbereich 137 benutzerdefinierter virtueller Maschinenteile auf der Anzeigeeinheit 106 angezeigt werden. In 12 wird der Vorgang aus Schritt S1 als „Benutzeroberfläche anzeigen“ bezeichnet.
-
In Schritt S2 empfängt die CPU 101, insbesondere die Eingabeeinheit 120 für Bezeichnungen benutzerdefinierter virtueller Maschinenteile, eine Eingabe einer Bezeichnung eines benutzerdefinierten virtuellen Maschinenteils auf Basis einer Anweisung, die in den Texteingabebereich 139 der Baumansicht 131 über die Eingabeeinheit 105 eingegeben wurde. Falls die CPU 101 die Bezeichnung des benutzerdefinierten virtuellen Maschinenteils automatisch zuweist, kann der Vorgang aus Schritt S2 entfallen.
-
In Schritt S3 empfängt die CPU 101, insbesondere die Eingabeeinheit 121 für Bezeichnungen von Programmen benutzerdefinierter virtueller Maschinenteile, eine Eingabe einer Bezeichnung eines Programms benutzerdefinierter virtueller Maschinenteile auf Basis einer Anweisung, die in den Texteingabebereich 140 der Baumansicht 131 über die Eingabeeinheit 105 eingegeben wurde. Falls die CPU 101 die Bezeichnung des Programms benutzerdefinierter virtueller Maschinenteile automatisch zuweist, kann der Vorgang aus Schritt S3 entfallen.
-
In Schritt S4 editiert die CPU 101, insbesondere die Erstellungseinheit 113 für benutzerdefinierte virtuelle Maschinenteile, das benutzerdefinierte virtuelle Maschinenteil auf Basis einer über die Eingabeeinheit 105 eingegebenen Anweisung. Die Anweisung kann dadurch implementiert werden, dass ein Bediener aus einer Vielzahl von virtuellen Maschinenteilen, die im Voraus im Bereich 133 virtueller Maschinenteile vorbereitet wurden, ein gewünschtes virtuelles Maschinenteil mit einer Maus auswählt und das ausgewählte virtuelle Maschinenteil mit der Maus in den Editierbereich 137 benutzerdefinierter virtueller Maschinenteile verschiebt. Das virtuelle Maschinenteil wird mit der Maus durch Ziehen und Ablegen verschoben. Das virtuelle Maschinenteil, das dem benutzerdefinierten virtuellen Maschinenteil hinzugefügt wurde, wird den in 8 veranschaulichten Parametern des benutzerdefinierten virtuellen Maschinenteils hinzugefügt. Der Editierbereich 137 benutzerdefinierter virtueller Maschinenteile kann angezeigt werden, indem ein Bediener in der Baumansicht 131 auf das benutzerdefinierte virtuelle Maschinenteil klickt.
-
In Schritt S5 stellt die CPU 101, insbesondere die Einstelleinheit 114 für Parameter virtueller Maschinenteile, für jedes einer Vielzahl der virtuellen Maschinenteile, die im benutzerdefinierten virtuellen Maschinenteil beinhaltet sind, auf Basis einer Anweisung, die in den Parametereinstellungsbereich 135 virtueller Maschinenteile über die Eingabeeinheit 105 eingegeben wurde, einen Parameter ein. Der Parametereinstellungsbereich 135 virtueller Maschinenteile kann angezeigt werden, indem ein Bediener im Editierbereich 137 benutzerdefinierter virtueller Maschinenteile auf ein Symbol des virtuellen Maschinenteils klickt, oder kann angezeigt werden, indem ein Bediener im Parametereinstellungsbereich 136 benutzerdefinierter virtueller Maschinenteile auf das virtuelle Maschinenteil klickt.
-
In Schritt S6 editiert die CPU 101, insbesondere die Editiereinheit 115 für Parameter benutzerdefinierter virtueller Maschinenteile, die Parameter des benutzerdefinierten virtuellen Maschinenteils auf Basis einer über die Eingabeeinheit 105 in die Einstelleinheit 116 für Parameter benutzerdefinierter virtueller Maschinenteile eingegebenen Anweisung.
-
In Schritt S7 stellt die CPU 101, insbesondere die Einstelleinheit 116 für Parameter benutzerdefinierter virtueller Maschinenteile, die Parameter des benutzerdefinierten virtuellen Maschinenteils auf Basis einer über die Eingabeeinheit 105 in den Parametereinstellungsbereich 136 benutzerdefinierter virtueller Maschinenteile eingegebenen Anweisung ein. Der Parametereinstellungsbereich 136 benutzerdefinierter virtueller Maschinenteile kann angezeigt werden, indem ein Bediener in der Baumansicht 131 auf den Parameter des benutzerdefinierten virtuellen Maschinenteils klickt.
-
In Schritt S8 empfängt die CPU 101, insbesondere die Editiereinheit 117 für Programme benutzerdefinierter virtueller Maschinenteile, eine Anweisung zum Editieren des Programms des benutzerdefinierten virtuellen Maschinenteils auf Basis einer über die Eingabeeinheit 105 in den Editierbereich 138 für Programme benutzerdefinierter virtueller Maschinenteile eingegebenen Anweisung. Der Editierbereich 138 für Programme benutzerdefinierter virtueller Maschinenteile kann angezeigt werden, indem ein Bediener in der Baumansicht 131 auf das Programm des benutzerdefinierten virtuellen Maschinenteils klickt.
-
Falls ein Bediener ein neues benutzerdefiniertes virtuelles Maschinenteil hinzufügt, gibt der Bediener eine Anweisung, das neue benutzerdefinierte virtuelle Maschinenteil aus einem Pop-up-Menü hinzuzufügen, das angezeigt wird, indem er in der Baumansicht 131 mit der rechten Maustaste auf das benutzerdefinierte virtuelle Maschinenteil klickt. Das erstellte benutzerdefinierte virtuelle Maschinenteil wird in der Baumansicht 131 hierarchisch angezeigt und ebenfalls im Bereich 134 benutzerdefinierter virtueller Maschinenteile angezeigt.
-
Falls ein Bediener ein neues Programm benutzerdefinierter virtueller Maschinenteile hinzufügt, gibt der Bediener eine Anweisung, das neue Programm benutzerdefinierter virtueller Maschinenteile aus einem Pop-up-Menü hinzuzufügen, das angezeigt wird, indem er in der Baumansicht 131 mit der rechten Maustaste auf das Programm benutzerdefinierter virtueller Maschinenteile klickt. Das erstellte Programm benutzerdefinierter virtueller Maschinenteile wird hierarchisch in der Baumansicht 131 angezeigt.
-
In Schritt S9 empfängt die CPU 101 eine Anweisung zum Editieren des Ablaufprogramms auf Basis einer über die Eingabeeinheit 105 in den Ablaufprogrammeditierbereich 132 eingegebenen Anweisung. Die Ausführung der Anweisung kann dadurch implementiert werden, dass ein Bediener aus der Vielzahl von virtuellen Maschinenteilen, die im Voraus im Bereich 133 virtueller Maschinenteile vorbereitet wurden, ein gewünschtes virtuelles Maschinenteil mit einer Maus auswählt und das ausgewählte virtuelle Maschinenteil mit der Maus in den Ablaufprogrammeditierbereich 132 verschiebt, und gleichzeitig kann eine Klasse des virtuellen Maschinenteils, das in den Ablaufprogrammeditierbereich 132 verschoben wird, instanziiert werden. Der Bediener kann die dem Ablaufprogramm hinzugefügte Instanz des virtuellen Maschinenteils verwenden, um das Ablaufprogramm unter Verwendung der Programme 124 virtueller Maschinenteile zu schreiben.
-
Die Ausführung der vorstehenden Anweisung kann dadurch implementiert werden, dass ein Bediener im Bereich 134 benutzerdefinierter virtueller Maschinenteile ein gewünschtes benutzerdefiniertes virtuelles Maschinenteil mit einer Maus auswählt und das ausgewählte benutzerdefinierte virtuelle Maschinenteil mit der Maus in den Ablaufprogrammeditierbereich 132 verschiebt, und gleichzeitig kann eine Klasse des benutzerdefinierten virtuellen Maschinenteils, das in den Ablaufprogrammeditierbereich 132 verschoben wird, instanziiert werden. Der Bediener kann die dem Ablaufprogramm hinzugefügte Instanz des benutzerdefinierten virtuellen Maschinenteils verwenden, um das Ablaufprogramm unter Verwendung der Programme 125 benutzerdefinierter virtueller Maschinenteile zu schreiben. In 12 wird der Vorgang aus Schritt S9 als „Benutzerdefiniertes virtuelles Maschinenteil in Ablaufprogramm platzieren“ bezeichnet.
-
In Schritt S10 kodiert die CPU 101, insbesondere die Erzeugungseinheit 119 für Benutzerprogrammverarbeitungsausführungscode, auf Basis einer Anweisung über die Eingabeeinheit 105 die Programme 124 virtueller Maschinenteile, die Programme 125 benutzerdefinierter virtueller Maschinenteile und das Ablaufprogramm 123, die unter Verwendung der Programme 124 virtueller Maschinenteile und der Programme 125 benutzerdefinierter virtueller Maschinenteile geschrieben wurden, die von der SPS 2 ausgeführt werden sollen.
-
In Schritt S11 überträgt die CPU 101, insbesondere die Erzeugungseinheit 119 für Benutzerprogrammverarbeitungsausführungscode, das codierte Ablaufprogramm 123, die codierten Programme 124 virtueller Maschinenteile, die codierten Programme 125 benutzerdefinierter virtueller Maschinenteile, die Parameter 126 virtueller Maschinenteile und die Parameter 127 benutzerdefinierter virtueller Maschinenteile über die Kommunikationsschnittstelle 107 an die SPS 2.
-
In Schritt S12 hält die CPU-Einheit 3 das Ablaufprogramm 123, die Programme 124 virtueller Maschinenteile, die Programme 125 benutzerdefinierter virtueller Maschinenteile, die Parameter 126 virtueller Maschinenteile und die Parameter 127 benutzerdefinierter virtueller Maschinenteile in der Speichereinheit 302 vor.
-
In Schritt S13 führt die Ausführungseinheit 303 der CPU 301 das Ablaufprogramm 123 aus.
-
Wie oben beschrieben, zeigt die Anzeigeeinheit 106 in der Programmierunterstützungsvorrichtung 1 gemäß der Ausführungsform die Vielzahl der virtuellen Maschinenteile als Maschinenteile an, die virtuell sind, Informationen zu mindestens einer oder mehreren Achsen aufweisen, mittels arithmetischer Verarbeitung eingestellt sind, die die innere Arbeitsweise definiert, und Bewegungssteuerung ausführen. Die Spezifiziereinheit 112 virtueller Maschinenteile spezifiziert aus der Vielzahl der virtuellen Maschinenteile, die auf der Anzeigeeinheit 106 angezeigt werden, das virtuelle Maschinenteil, das das benutzerdefinierte virtuelle Maschinenteil konfiguriert. Auf Basis eines oder einer Vielzahl der Maschinenteile, die aus der Vielzahl der angezeigten virtuellen Maschinenteile spezifiziert werden, erstellt die Erstellungseinheit 113 für benutzerdefinierte virtuelle Maschinenteile als das benutzerdefinierte virtuelle Maschinenteil ein virtuelles Maschinenteil, das sich von der Vielzahl der angezeigten virtuellen Maschinenteile unterscheidet. Genauer gesagt, definiert die Erstellungseinheit 113 für benutzerdefinierte virtuelle Maschinenteile ein neues benutzerdefiniertes virtuelles Maschinenteil, indem sie die vordefinierten virtuellen Maschinenteile ändert oder kombiniert. Die Editiereinheit 115 für Parameter benutzerdefinierter virtueller Maschinenteile editiert die Parameter 127 benutzerdefinierter virtueller Maschinenteile des von der Erstellungseinheit 113 für benutzerdefinierte virtuelle Maschinenteile definierten benutzerdefinierten virtuellen Maschinenteils. Die Einstelleinheit 116 für Parameter benutzerdefinierter virtueller Maschinenteile stellt die Parameter 127 benutzerdefinierter virtueller Maschinenteile ein. Die Einstelleinheit 114 für Parameter virtueller Maschinenteile stellt die Parameter, die die innere Arbeitsweise jedes von der Vielzahl der virtuellen Maschinenteile definieren, ein. Genauer gesagt, stellt die Einstelleinheit 114 für Parameter virtueller Maschinenteile die Parameter 126 virtueller Maschinenteile der virtuellen Maschinenteile ein, die im benutzerdefinierten virtuellen Maschinenteil beinhaltet sind. Die Editiereinheit 117 für Programme benutzerdefinierter virtueller Maschinenteile editiert die arithmetische Verarbeitung des benutzerdefinierten virtuellen Maschinenteils durch die Benutzerprogramme. Genauer gesagt, editiert die Editiereinheit 117 für Programme benutzerdefinierter virtueller Maschinenteile die Programme 125 benutzerdefinierter virtueller Maschinenteile durch freie Verwendung der Programme 124 virtueller Maschinenteile der virtuellen Maschinenteile, die im benutzerdefinierten virtuellen Maschinenteil beinhaltet sind. Die Erzeugungseinheit 119 für Benutzerprogrammverarbeitungsausführungscode codiert das Ablaufprogramm, das die Programme benutzerdefinierter virtueller Maschinenteile beinhaltet, und überträgt das codierte Ablaufprogramm an die SPS 2. Genauer gesagt, codiert die Erzeugungseinheit 119 für Benutzerprogrammverarbeitungsausführungscode die Benutzerprogramme auf Basis der Parameter, die von der Einstelleinheit 116 für Parameter benutzerdefinierter virtueller Maschinenteile eingestellt wurden, gibt die codierten Benutzerprogramme an die SPS 2 aus und veranlasst die SPS 2, in den Benutzerprogrammen beschriebene Bewegungssteuerung auszuführen.
-
Die Programme 124 virtueller Maschinenteile werden bereitgestellt, indem sie in die im Voraus vorbereiteten virtuellen Maschinenteile aufgenommen werden. Daher kann ein Bediener die Steuerung durch einfache Spezifizierung der Parameter der virtuellen Maschinenteile implementieren. Der Bediener definiert das benutzerdefinierte virtuelle Maschinenteil, indem er mindestens eines der virtuellen Maschinenteile ändert oder kombiniert, sodass er die Programme 125 benutzerdefinierter virtueller Maschinenteile unter Verwendung der Programme 124 virtueller Maschinenteile des benutzerdefinierten virtuellen Maschinenteils definieren kann. Daher kann die Programmierunterstützungsvorrichtung 1 gemäß der Ausführungsform die Bürde des Bedieners bei der Erstellung von Programmen für eine mechanische Vorrichtung, die eine komplizierte Steuerung erfordert, verringern.
-
Wie unter Bezugnahme auf 4 beschrieben, kann die Eingabeeinheit 120 für Bezeichnungen benutzerdefinierter virtueller Maschinenteile zum Eingeben der Bezeichnung des benutzerdefinierten virtuellen Maschinenteils vorgesehen sein. Damit kann der Bediener die Bezeichnung des benutzerdefinierten virtuellen Maschinenteils ebenfalls frei bestimmen. Außerdem kann der Bediener die bestimmte Bezeichnung für das Programm verwenden.
-
Wie unter Bezugnahme auf 4 beschrieben, kann die Eingabeeinheit 121 für Bezeichnungen von Programmen benutzerdefinierter virtueller Maschinenteile zum Eingeben der Bezeichnungen der Programme 125 benutzerdefinierter virtueller Maschinenteile vorgesehen sein. Damit kann der Bediener die Bezeichnungen der Programme 125 benutzerdefinierter virtueller Maschinenteile ebenfalls frei bestimmen. Außerdem kann der Bediener die bestimmten Bezeichnungen für die Programme verwenden.
-
Wie unter Bezugnahme auf 9 beschrieben, kann die Eingabeeinheit 122 für Darstellungen benutzerdefinierter virtueller Maschinenteile zum Eingeben der schematischen Darstellung des benutzerdefinierten virtuellen Maschinenteils vorgesehen sein. Somit kann der Bediener die schematische Darstellung des benutzerdefinierten virtuellen Maschinenteils frei bestimmen und platziert das virtuelle Maschinenteil in den Erstellungsbereichs benutzerdefinierter virtueller Maschinenteile, während er die schematische Darstellung, die im Erstellungsbereichs benutzerdefinierter virtueller Maschinenteile angezeigt wird, visuell überprüft, wodurch er in die Lage versetzt wird, ein intuitives benutzerdefiniertes virtuelles Maschinenteil zu erstellen, während er auf die Beziehung zwischen dem benutzerdefinierten virtuellen Maschinenteil und dem virtuellen Maschinenteil achtet.
-
Das Editieren des benutzerdefinierten virtuellen Maschinenteils in Schritt S4 der 12 wird durch Auswählen des gewünschten virtuellen Maschinenteils aus der Vielzahl von virtuellen Maschinenteilen, die im Voraus im Bereich 133 virtueller Maschinenteile vorbereitet wurden, mit der Maus und durch Verschieben des ausgewählten virtuellen Maschinenteils in den Editierbereich 137 benutzerdefinierter virtueller Maschinenteile mit der Maus implementiert. Das Editieren des benutzerdefinierten virtuellen Maschinenteils kann jedoch durch Auswählen eines gewünschten benutzerdefinierten virtuellen Maschinenteils aus den benutzerdefinierten virtuellen Maschinenteilen im Bereich 134 benutzerdefinierter virtueller Maschinenteile mit der Maus und durch Verschieben des ausgewählten benutzerdefinierten virtuellen Maschinenteils in den Editierbereich 137 benutzerdefinierter virtueller Maschinenteile mit der Maus implementiert werden.
-
Der Bediener definiert ein anderes benutzerdefiniertes virtuelles Maschinenteil, indem er mindestens eines der benutzerdefinierten virtuellen Maschinenteile ändert oder kombiniert, sodass er ein anderes Teil des Programms 125 benutzerdefinierter virtueller Maschinenteile unter Verwendung der Programme 125 benutzerdefinierter virtueller Maschinenteile der benutzerdefinierten virtuellen Maschinenteile definieren kann. Daher kann die Programmierunterstützungsvorrichtung 1 die Bürde des Bedieners bei der Erstellung der Programme sogar für verschiedene benutzerdefinierte virtuelle Maschinenteile, die eine Vielzahl derselben benutzerdefinierten virtuellen Maschinenteile aufweisen, verringern.
-
Die Anzeigeeinheit 106 kann eine Vielzahl der benutzerdefinierten virtuellen Maschinenteile anzeigen, die von der Erstellungseinheit 113 für benutzerdefinierte virtuelle Maschinenteile erstellt wurden. Auf Basis eines oder einer Vielzahl der Maschinenteile, die aus der Vielzahl der angezeigten virtuellen Maschinenteile oder benutzerdefinierten virtuellen Maschinenteile spezifiziert werden, kann die Erstellungseinheit 113 für benutzerdefinierte virtuelle Maschinenteile als ein benutzerdefiniertes virtuelles Maschinenteil das virtuelle Maschinenteil, das sich von der Vielzahl der angezeigten virtuellen Maschinenteile und benutzerdefinierten virtuellen Maschinenteile unterscheidet, erstellen. In diesem Fall kann die Programmierunterstützungsvorrichtung 1 die Wiederverwendbarkeit des benutzerdefinierten virtuellen Maschinenteils erhöhen und die Bürde des Bedieners bei der Erstellung von Programmen für eine mechanische Vorrichtung, die eine komplizierte Steuerung erfordert, verringern.
-
Wie unter Bezugnahme auf 7 und 8 beschrieben, beinhaltet die Vielzahl der virtuellen Maschinenteile in der Ausführungsform die Kurvenscheibe, den Abroller, den Bandförderer und das Box-Motion-Aggregat. Als ein virtuelles Maschinenteil mit einer höheren Abstraktionsebene kann jedoch ein Maschinenmodellmodul in der Vielzahl der virtuellen Maschinenteile beinhaltet sein.
-
Das Maschinenmodellmodul ist ein Maschinenteil, das mindestens eine Antriebsachse, mindestens eine Abtriebsachse und ein Maschinenmodell beinhaltet und eine Funktion aufweist, eine Arbeitsweise einer von jeder Antriebsachse angetriebenen Maschine unter Verwendung des Maschinenmodells zu simulieren und ein Simulationsergebnis an jede Abtriebsachse auszugeben. 13 ist eine Darstellung, die ein Beispiel für ein durch das Maschinenmodell simuliertes Maschinensystem 401 veranschaulicht. Das Maschinensystem 401 beinhaltet dreiachsige Motoren mit einer X-Welle 401a, einer Y-Welle 401b und einer Z-Welle 401c und führt eine Positionssteuerung eines Tisches durch, der sich durch die X-Welle 401a und die Y-Welle 401b auf einer XY-Ebene bewegt. Durch die Arbeitsweise der Z-Welle 401c bearbeitet ein Kopf 401d, der an einer Spitze der Z-Welle 401c angebracht ist, ein auf einem Tisch 401e platziertes Werkstück.
-
Das Maschinenmodell ist beispielsweise ein Maschinenmodell, das eine Wellenposition der X-Welle 401a, eine Wellenposition der Y-Welle 401b und eine Wellenposition der Z-Welle 401c als Eingabegrößen aufweist, eine Position des Tisches 401e und eine Position des Kopfes 401d als Ausgabegrößen aufweist und die Eingabegrößen durch Kinematik basierend auf den Motorpositionen in die Tischposition und die Kopfposition umwandelt.
-
Das Maschinenmodell ist ein Modell, das die Dynamik der Maschine berücksichtigt und befähigt sein kann, Schwingungseigenschaften zu simulieren.
-
Das Maschinenmodell kann im Voraus vorbereitet werden oder es kann ein Maschinenmodellerzeugungsprogramm zum Erzeugen des Maschinenmodells vorbereitet werden. Das virtuelle Maschinenteil kann ein Modellerzeugungsprogramm zum Erzeugen des Maschinenmodells aufweisen, das die Arbeitsweise der vom Motor angetriebenen Maschine auf Basis von Daten der tatsächlichen Maschine simuliert. Falls das virtuelle Maschinenteil das Modellerzeugungsprogramm aufweist, kann das Maschinenmodellmodul, das das Maschinenmodell aufweist, selbst dann Steuerung durchführen, wenn das Maschinenmodell nicht im Voraus vorbereitet wurde.
-
Das Maschinenmodellerzeugungsprogramm erzeugt das Modell auf Basis von Informationen der tatsächlichen Maschine, die Eingabegrößen sind. Die Informationen der tatsächlichen Maschine sind ein Signal, das durch den tatsächlichen Betrieb des Maschinensystems erhalten wird. So sind beispielsweise Zeitreihendaten der Motorpositionen der X-Welle, der Y-Welle und der Z-Welle sowie Zeitreihendaten der Tischposition und der Kopfposition in den Informationen der tatsächlichen Maschine beinhaltet.
-
Das Maschinenmodellerzeugungsprogramm erzeugt das Maschinenmodell, das die Zeitreihendaten der Motorpositionen der X-Welle, der Y-Welle und der Z-Welle als Eingabegrößen empfängt und die Zeitreihendaten der Tischposition und der Kopfposition ausgibt.
-
Um die Beziehung zwischen der Eingabegröße und der Ausgabegröße zu ermitteln, kann beispielsweise ein maschinelles Lernverfahren wie ein neuronales Netz oder eine Support-Vector-Regression oder eine Systemidentifikation wie eine Vorhersagefehlermethode (Prediction Error Method) oder eine Unterraummethode verwendet werden. Nachfolgend wird ein Beispiel für die Verwendung des neuronalen Netzes beschrieben.
-
Das Modellerzeugungsprogramm verwendet die Zeitreihendaten der Motorpositionen der X-Welle, der Y-Welle und der Z-Welle und die Zeitreihendaten der Tischposition und der Kopfposition als Lerndaten, um eine Lernoperation unter Verwendung des neuronalen Netzes durchzuführen. 14 ist eine Darstellung, die das neuronale Netz gemäß der Ausführungsform veranschaulicht. Das neuronale Netz beinhaltet eine Eingabeschicht, eine Zwischenschicht und eine Ausgabeschicht. M Eingabedaten i1, i2, ... und iM, die die Motorpositionen der X-Welle, der Y-Welle und der Z-Welle als Eingangsgrößen repräsentieren, werden in die Eingabeschicht eingegeben, und N Ausgabedaten o1, o2, ... und oN, die die Tischposition und die Kopfposition repräsentieren, werden von der Ausgabeschicht ausgegeben. Sowohl M als auch N sind natürliche Zahlen, die gleich zwei oder größer sind.
-
Eine Vielzahl von Gewichtungsfaktoren von Knoten der Eingabeschicht zu Knoten der Zwischenschicht kann unabhängig voneinander eingestellt werden, aber in 14 wird die ganze Vielzahl von Gewichtungsfaktoren als der gleiche Gewichtungsfaktor W1 angegeben. In ähnlicher Weise wird in 14 eine gesamte Vielzahl von Gewichtungsfaktoren von den Knoten der Zwischenschicht zu Knoten der Ausgabeschicht als derselbe Gewichtungsfaktor W2 angegeben.
-
Ein Ausgabewert jedes Knotens in der Eingabeschicht wird mit dem Gewichtungsfaktor W1 multipliziert und eine lineare Kombination von durch die Multiplikation erhaltenen Ergebnissen wird in jeden Knoten in der Zwischenschicht eingegeben. Ein Ausgabewert jedes Knotens in der Zwischenschicht wird mit dem Gewichtungsfaktor W2 multipliziert und eine lineare Kombination von durch die Multiplikation erhaltenen Ergebnissen wird in die Knoten in der Ausgabeschicht eingegeben. In jedem Knoten jeder Schicht kann z. B. eine nichtlineare Funktion wie eine Sigmoidfunktion verwendet werden, um den Ausgabewert aus dem Eingabewert zu berechnen. In der Eingabeschicht und der Ausgabeschicht kann der Ausgabewert eine lineare Kombination der Eingabewerte sein.
-
Das Modellerzeugungsprogramm verwendet die Zeitreihendaten der Motorpositionen der X-Welle, der Y-Welle und der Z-Welle und die Zeitreihendaten der Tischposition und der Kopfposition, um den Gewichtungsfaktor W1 und den Gewichtungsfaktor W2 des neuronalen Netzes zu berechnen. Der Gewichtungsfaktor W1 und der Gewichtungsfaktor W2 des neuronalen Netzes können unter Verwendung eines Fehlerrückführpropagierungsverfahrens oder eines Gradientenabstiegsverfahrens berechnet werden. Solange jedoch die Gewichtungsfaktoren des neuronalen Netzes erhalten werden können, ist das Verfahren zum Berechnen des Gewichtungsfaktors W1 und des Gewichtungsfaktors W2 nicht auf das vorstehende Verfahren beschränkt.
-
Wenn die Gewichtungsfaktoren des neuronalen Netzes bestimmt worden sind, wurde ein relationaler Ausdruck zwischen den Zeitreihendaten der Motorpositionen der X-Welle, der Y-Welle und der Z-Welle und den Zeitreihendaten der Tischposition und der Kopfposition erhalten. Bisher wurde das Lernen mit dem dreischichtigen neuronalen Netz beschrieben. Das Lernen mit dem neuronalen Netz ist nicht auf das vorstehende Beispiel beschränkt.
-
Das Modellerzeugungsprogramm kann das Maschinenmodell erhalten, das die Motorpositionen der X-Welle, der Y-Welle und der Z-Welle empfängt und die Tischposition und die Kopfposition ausgibt.
-
Die Simulationsgenauigkeit des neuronalen Netzes kann nach Belieben eingestellt werden, indem die Anzahl der Schichten und/oder die Anzahl der Knoten des neuronalen Netzes geändert wird. Das heißt, eine Vielzahl von Maschinenmodellen mit unterschiedlichen Genauigkeiten kann einfach erzeugt werden. Wenn das Maschinenmodell wie in der Ausführungsform auf Basis der Daten der tatsächlichen Maschine erzeugt wird, kann, selbst dann wenn ein Benutzer das Maschinenmodell nicht im Voraus vorbereitet, das Maschinenmodellmodul, das das Maschinenmodell aufweist, eine Steuerung durchführen.
-
Es ist zu beachten, dass das in 12 veranschaulichte Programmierunterstützungsverfahren durch die CPU 101 implementiert wird, die die Programmierunterstützungsvorrichtungssoftware 111 ausführt. Das heißt, dass gemäß der Ausführungsform das Programmierunterstützungsverfahren und das Programmierunterstützungsprogramm zusätzlich zu der Programmierunterstützungsvorrichtung 1 bereitgestellt werden.
-
15 ist eine Darstellung, die eine Verarbeitungsschaltung 91 in einem Fall veranschaulicht, in dem einige oder alle von der Spezifiziereinheit 112 virtueller Maschinenteile, der Erstellungseinheit 113 für benutzerdefinierte virtuelle Maschinenteile, der Einstelleinheit 114 für Parameter virtueller Maschinenteile, der Editiereinheit 115 für Parameter benutzerdefinierter virtueller Maschinenteile, der Einstelleinheit 116 für Parameter benutzerdefinierter virtueller Maschinenteile, der Editiereinheit 117 für Programme benutzerdefinierter virtueller Maschinenteile, der Zeichnungseinheit 118, der Erzeugungseinheit 119 für Benutzerprogrammverarbeitungsausführungscode, der Eingabeeinheit 120 für Bezeichnungen benutzerdefinierter virtueller Maschinenteile, der Eingabeeinheit 121 für Bezeichnungen von Programmen benutzerdefinierter virtueller Maschinenteile und der Eingabeeinheit 122 für Darstellungen benutzerdefinierter virtueller Maschinenteile der Programmierunterstützungsvorrichtung 1 gemäß der Ausführungsform durch die Verarbeitungsschaltung 91 implementiert werden. Das heißt, einige oder alle von der Spezifiziereinheit 112 virtueller Maschinenteile, der Erstellungseinheit 113 für benutzerdefinierte virtuelle Maschinenteile, der Einstelleinheit 114 für Parameter virtueller Maschinenteile, der Editiereinheit 115 für Parameter benutzerdefinierter virtueller Maschinenteile, der Einstelleinheit 116 für Parameter benutzerdefinierter virtueller Maschinenteile, der Editiereinheit 117 für Programme benutzerdefinierter virtueller Maschinenteile, der Zeichnungseinheit 118, der Erzeugungseinheit 119 für Benutzerprogrammverarbeitungsausführungscode, der Eingabeeinheit 120 für Bezeichnungen benutzerdefinierter virtueller Maschinenteile, der Eingabeeinheit 121 für Bezeichnungen von Programmen benutzerdefinierter virtueller Maschinenteile und der Eingabeeinheit 122 für Darstellungen benutzerdefinierter virtueller Maschinenteile können durch die Verarbeitungsschaltung 91 implementiert werden.
-
Die Verarbeitungsschaltung 91 ist eine dedizierte Hardware. Die Verarbeitungsschaltung 91 ist zum Beispiel eine Einzelschaltung, eine komplexe Schaltung, ein programmierter Prozessor, ein parallel programmierter Prozessor, eine anwendungsspezifische integrierte Schaltung (application specific integrated circuit - ASIC), eine im Feld programmierbare Gate-Anordnung (field programmable gate array - FPGA) oder eine Kombination daraus. Einige von der Spezifiziereinheit 112 virtueller Maschinenteile, der Erstellungseinheit 113 für benutzerdefinierte virtuelle Maschinenteile, der Einstelleinheit 114 für Parameter virtueller Maschinenteile, der Editiereinheit 115 für Parameter benutzerdefinierter virtueller Maschinenteile, der Einstelleinheit 116 für Parameter benutzerdefinierter virtueller Maschinenteile, der Editiereinheit 117 für Programme benutzerdefinierter virtueller Maschinenteile, der Zeichnungseinheit 118, der Erzeugungseinheit 119 für Benutzerprogrammverarbeitungsausführungscode, der Eingabeeinheit 120 für Bezeichnungen benutzerdefinierter virtueller Maschinenteile, der Eingabeeinheit 121 für Bezeichnungen von Programmen benutzerdefinierter virtueller Maschinenteile und der Eingabeeinheit 122 für Darstellungen benutzerdefinierter virtueller Maschinenteile können durch vom Rest getrennte dedizierte Hardware implementiert werden.
-
Für eine Vielzahl von Funktionen der Spezifiziereinheit 112 virtueller Maschinenteile, der Erstellungseinheit 113 für benutzerdefinierte virtuelle Maschinenteile, der Einstelleinheit 114 für Parameter virtueller Maschinenteile, der Editiereinheit 115 für Parameter benutzerdefinierter virtueller Maschinenteile, der Einstelleinheit 116 für Parameter benutzerdefinierter virtueller Maschinenteile, der Editiereinheit 117 für Programme benutzerdefinierter virtueller Maschinenteile, der Zeichnungseinheit 118, der Erzeugungseinheit 119 für Benutzerprogrammverarbeitungsausführungscode, der Eingabeeinheit 120 für Bezeichnungen benutzerdefinierter virtueller Maschinenteile, der Eingabeeinheit 121 für Bezeichnungen von Programmen benutzerdefinierter virtueller Maschinenteile und der Eingabeeinheit 122 für Darstellungen benutzerdefinierter virtueller Maschinenteile können einige von der Vielzahl von Funktionen durch Software oder Firmware implementiert werden und der Rest der Vielzahl von Funktionen kann durch dedizierte Hardware implementiert werden. Die Vielzahl von Funktionen kann also durch Hardware, Software, Firmware oder eine Kombination daraus implementiert werden.
-
Eine Ausführungseinheit 304, die in der SPS 2 beinhaltet ist, kann durch eine Verarbeitungsschaltung, die der Verarbeitungsschaltung 91 ähnelt, implementiert werden.
-
Die in der obenstehenden Ausführungsform veranschaulichte Konfiguration veranschaulicht lediglich ein Beispiel und kann somit mit einer anderen bekannten Technik kombiniert oder teilweise weggelassen oder abgewandelt werden, ohne von der Essenz der vorliegenden Offenbarung abzuweichen.
-
Liste der Bezugszeichen
-
1 Programmierunterstützungsvorrichtung; 2 SPS; 3 CPU-Einheit; 4 Erweiterungseinheit; 5 Buseinheit; 9 Übertragungsleitung; 91 Verarbeitungsschaltung; 101, 301 CPU; 102 RAM; 103 ROM; 104, 302 Speichereinheit; 105 Eingabeeinheit; 106 Anzeigeeinheit; 107 Kommunikationsschnittstelle; 111 Programmierunterstützungsvorrichtungssoftware; 112 Spezifiziereinheit virtueller Maschinenteile; 113 Erstellungseinheit für benutzerdefinierte virtuelle Maschinenteile; 114 Einstelleinheit für Parameter virtueller Maschinenteile; 115 Editiereinheit für Parameter benutzerdefinierter virtueller Maschinenteile; 116 Einstelleinheit für Parameter benutzerdefinierter virtueller Maschinenteile; 117 Editiereinheit für Programme benutzerdefinierter virtueller Maschinenteile; 118 Zeichnungseinheit; 119 Erzeugungseinheit für Benutzerprogrammverarbeitungsausführungscode; 120 Eingabeeinheit für Bezeichnungen benutzerdefinierter virtueller Maschinenteile; 121 Eingabeeinheit für Bezeichnungen von Programmen benutzerdefinierter virtueller Maschinenteile; 122 Eingabeeinheit für Darstellungen benutzerdefinierter virtueller Maschinenteile; 123 Ablaufprogramm; 124 Programm virtueller Maschinenteile; 125 Programm benutzerdefinierter virtueller Maschinenteile; 126 Parameter virtueller Maschinenteile; 127 Parameter benutzerdefinierter virtueller Maschinenteile; 131 Baumansicht; 132 Ablaufprogrammeditierbereich; 133 Bereich virtueller Maschinenteile; 134 Bereich benutzerdefinierter virtueller Maschinenteile; 135 Parametereinstellungsbereich virtueller Maschinenteile; 136 Parametereinstellungsbereich benutzerdefinierter virtueller Maschinenteile; 137 Editierbereich benutzerdefinierter virtueller Maschinenteile; 138 Editierbereich für Programme benutzerdefinierter virtueller Maschinenteile; 139, 140 Texteingabebereich; 141 Abroller repräsentierende schematische Darstellung; 142 Abroller repräsentierende Bezeichnung virtueller Maschinenteile; 143 Parametereinstellungsbereich virtueller Maschinenteile für Abroller; 144 Bandförderer repräsentierende schematische Darstellung; 145 Bandförderer repräsentierende Bezeichnung virtueller Maschinenteile; 146 Parametereinstellungsbereich virtueller Maschinenteile für Bandförderer; 147 Box-Motion-Aggregat repräsentierende schematische Darstellung; 148 Box-Motion-Aggregat repräsentierende Bezeichnung virtueller Maschinenteile; 149 Parametereinstellungsbereich virtueller Maschinenteile für Box-Motion-Aggregat; 150 horizontale Kissenverpackungsmaschine repräsentierende schematische Darstellung; 151 horizontale Kissenverpackungsmaschine repräsentierende Bezeichnung benutzerdefinierter virtueller Maschinenteile; 152, 153 Parametereinstellungsbereich benutzerdefinierter virtueller Maschinenteile für horizontale Kissenverpackungsmaschine; 303 Ausführungseinheit; 401 Maschinensystem; 401a X-Welle; 401b Y-Welle; 401c Z-Welle; 401d Kopf; 401e Tisch; 1000 SPS-System.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-