-
Technisches Gebiet
-
Die vorliegende Offenbarung betrifft eine numerische Steuerung mit einer Bildverarbeitungsfunktion und ein numerisches Steuerungssystem.
-
Technologischer Hintergrund
-
Bei einigen numerischen Steuerungen wurde die Funktion durch nachrüstbare Hardware verbessert. Bei einer in Patentliteratur 1 beschriebenen numerischen Steuerung wird zum Beispiel nachrüstbare Hardware, wie zum Beispiel eine Personalcomputer-Funktionskarte mit einer Displayfunktion und einer Betriebsfunktion, an ihrem Hauptkörper angebracht, um dadurch eine Display- und Betriebsfunktion der numerischen Steuerung zu verbessern, ohne die gesamte Steuerplatine ersetzen zu müssen. Die in Patentliteratur 1 beschriebene numerische Steuerung verbessert die Displayfunktion und die Betriebsfunktion durch Austauschen der nachrüstbaren Hardware.
-
Zitierungsliste
-
Patentliteratur
-
Patentliteratur 1: Japanische Patentanmeldung Offenlegungsnummer
JP H6 -318 110
-
Kurzbeschreibung
-
Technisches Problem
-
Bei der Technik von Patentliteratur 1 erzeugen ein Prozessor und eine Grafiksteuerungsschaltung, die in der nachrüstbaren Hardware enthalten sind, lediglich Videodaten und übertragen die erzeugten Videodaten unidirektional zu einer Hauptkörper-Seite. Aus diesem Grund besteht bei der Technik von Patentliteratur 1 das Problem, dass es nicht möglich ist, die zum Anzeigen notwendigen Informationen der Hauptkörper-Seite effektiv zu nutzen.
-
Die vorliegende Offenbarung basiert auf dem vorstehend dargelegten Problem, und es ist eine Aufgabe, eine numerische Steuerung bereitzustellen, die effektiv Informationen der Hauptkörper-Seite beim Anzeigen eines Bildes, das von einer nachrüstbaren Hardware erfasst wurde, verwendet.
-
Lösung des Problems
-
Um das vorstehend beschriebene Problem zu lösen und die Aufgabe zu erfüllen, weist eine numerische Steuerung der vorliegenden Offenbarung eine Steuerplatine auf, die eine erste Bildverarbeitungseinheit mit einer Steuerfunktion des Steuerns einer zu steuernden ersten Vorrichtung, eine erste Bildverarbeitungsfunktion des Erzeugens erster Bilddaten, die zum Anzeigen eines Bildschirms durch ein erstes Display verwendet werden, und eine erste Datenkommunikationsfunktion umfasst. Außerdem weist die numerische Steuerung der vorliegenden Offenbarung eine Erweiterungsplatine auf, die eine zweite Bildverarbeitungseinheit umfasst, die eine zweite Bildverarbeitungsfunktion des Erzeugens zweiter Bilddaten, die für das Display verwendet werden, aus einem durch eine Bildgabevorrichtung aufgenommenen Bild sowie eine zweite Datenkommunikationsfunktion umfasst, wobei die Erweiterungsplatine an der Steuerplatine angebracht und von ihr abgenommen werden kann. Die erste Bildverarbeitungsfunktion erzeugt die ersten Bilddaten unter Verwendung von Daten auf der Steuerplatine. Die erste Datenkommunikationsfunktion ist eine Funktion des Kommunizierens mit der Erweiterungsplatine, und die zweite Datenkommunikationsfunktion ist eine Funktion des Kommunizierens mit der Steuerplatine. Wenn die Erweiterungsplatine an der Steuerplatine angebracht ist, dann erfasst die erste Bildverarbeitungseinheit die zweiten Bilddaten von der zweiten Bildverarbeitungseinheit, erzeugt den Bildschirm unter Verwendung der ersten Bilddaten und der zweiten Bilddaten, und zeigt den Bildschirm auf dem ersten Display an.
-
Vorteilhafte Auswirkungen der Erfindung
-
Die numerische Steuerung gemäß der vorliegenden Offenbarung bewirkt eine effektive Verwendung von Informationen auf der Hauptkörper-Seite beim Anzeigen des Bildes, das von der nachrüstbaren Hardware erfasst wird.
-
Figurenliste
-
- 1 ist ein Schaubild, das eine Konfiguration eines numerischen Steuerungssystems, das eine numerische Steuerung umfasst, gemäß einer ersten Ausführungsform veranschaulicht.
- 2 ist ein Flussdiagramm, das einen Anzeigeverarbeitungsvorgang für die numerische Steuerung gemäß der ersten Ausführungsform zum Anzeigen eines Bildschirms veranschaulicht.
- 3 ist ein Schaubild, das eine Konfiguration eines numerischen Steuerungssystems, das eine numerische Steuerung umfasst, gemäß einer zweiten Ausführungsform veranschaulicht.
- 4 ist ein Flussdiagramm, das einen Anzeigeverarbeitungsvorgang für die numerische Steuerung gemäß der zweiten Ausführungsform zum Anzeigen eines Bildschirms veranschaulicht.
- 5 ist ein Schaubild, das eine Konfiguration eines numerischen Steuerungssystems, das numerische Steuerungen umfasst, gemäß einer dritten Ausführungsform veranschaulicht.
- 6 ist ein Schaubild zum Erläutern einer Motorinformationsspeicherregion, die in jeder der numerischen Steuerungen gemäß der dritten Ausführungsform vorhanden ist.
-
Beschreibung von Ausführungsformen
-
Eine numerische Steuerung und ein numerisches Steuerungssystem gemäß einer jeweiligen Ausführungsform der vorliegenden Offenbarung werden im Folgenden unter Bezug auf die Zeichnungen im Detail beschrieben.
-
Erste Ausführungsform.
-
1 ist ein Schaubild, das eine Konfiguration eines numerischen Steuerungssystems, das eine numerische Steuerung umfasst, gemäß einer ersten Ausführungsform veranschaulicht. Ein numerisches Steuerungssystem 1A umfasst eine numerische Steuerung 10A, einen Verstärker 3 und einen Motor 2. Die numerische Steuerung 10A umfasst eine Steuerplatine 20, ein Display 11, eine Funktionserweiterungsplatine 30A und eine Kamera 12.
-
Die Steuerplatine 20 ist eine Platine, die an einem Hauptkörper der numerischen Steuerung 10A angeordnet ist. Die Steuerplatine 20 weist eine Steuerungsfunktion des Steuerns des Motors 2 auf. Der Motor 2 ist eine zu steuernde erste Vorrichtung. Die Steuerplatine 20 umfasst eine Motorsteuerungskommunikationsschnittstelle (Interface, IF) 21, eine zentrale Verarbeitungseinheit (Central Processing Unit ,CPU, die auch als eine zentrale Verarbeitungsvorrichtung, eine Verarbeitungsvorrichtung, eine Arithmetikvorrichtung, ein Mikroprozessor, ein Mikrocomputer oder ein digitaler Signalprozessor, DSP, bezeichnet werden kann) 22, eine Videoausgabe-IF 23, eine Bildverarbeitungs-Engine 24, einen Video-Direktzugriffsspeicher (Video Random Access Memory,(VRAM, Videospeicher) 25, einen Inter-Engine-Kommunikationsbus 26, einen Speicher 27 und einen Funktionserweiterungssteckplatz 40. Die Funktionserweiterungsplatine 30A, die eine Erweiterungsplatine zum Erweitern einer Funktion ist, umfasst eine Bildverarbeitungs-Engine 31, einen VRAM 32, eine Videoeingabe-IF 33 und einen Inter-Engine-Kommunikationsbus 38.
-
Die Motorsteuerungskommunikations-IF 21 ist mit dem Verstärker 3 verbunden, und der Verstärker 3 ist mit dem Motor 2 verbunden. Die Motorsteuerungskommunikations-IF 21 kommuniziert mit dem Verstärker 3.
-
Der Videoausgabe-IF 23 ist mit dem Display 11 verbunden. Die Funktionserweiterungsplatine 30A kann an dem Funktionserweiterungssteckplatz 40 angebracht und von diesem abgenommen werden. 1 veranschaulicht einen Zustand, in dem die Funktionserweiterungsplatine 30A an dem Funktionserweiterungssteckplatz 40 angebracht ist.
-
Die CPU 22 steuert die numerische Steuerung 10A in vollem Umfang. Darüber hinaus steuert die CPU 22 zum Beispiel den Motor 2. Die CPU 22 sendet ein Befehlssignal für die Motorsteuerung, das heißt ein Steuersignal, über die Motorsteuerungskommunikations-IF 21 an den Verstärker 3. Der Verstärker 3 treibt den Motor 2 gemäß dem von der CPU 22 empfangenen Befehlssignal an.
-
Die CPU 22 empfängt ein Rückkopplungssignal vom Motor 2 über den Verstärker 3 und die Motorsteuerungskommunikations-IF 21 und führt eine Rückkopplungssteuerung an dem Motor 2 durch. Obgleich in 1 nur ein einziger Verstärker 3 und ein einziger Motor 2 veranschaulicht sind, können auch mehrere Verstärker 3 und mehrere Motoren 2 mit der numerischen Steuerung 10A verbunden sein. In diesem Fall steuert die CPU 22 die mehreren Motoren 2.
-
Die Steuerplatine 20 kann anstelle der CPU 22 eine System-Large-Scale-Integration (LSI) umfassen. Zu Beispielen des Speichers 27 gehören ein RAM und ein Nur-Lese-Speicher (Read Only Memory, ROM). Der Speicher 27 wird als ein temporärer Speicher verwendet, wenn die CPU 22 verschiedene Prozesse ausführt.
-
Die numerische Steuerung 10A umfasst das Display 11, um einem Benutzer Informationen über die numerische Steuerung 10A anzuzeigen. Das Display 11 ist ein erstes Display. Zu Beispielen der Informationen über die numerische Steuerung 10A gehören ein Zustand des Motors 2, der durch die numerische Steuerung 10A gesteuert wird, und der Inhalt der Einstellungen am Motor 2. Durch Betrachten des Inhalts der Anzeige auf dem Display 11 kann der Benutzer den Zustand der numerischen Steuerung 10A erfahren.
-
Obgleich nicht gezeigt, ist in der Nähe des Displays 11 ein Schlüsselschalter (engl. key switch) angeordnet. In der numerischen Steuerung 10A drückt der Benutzer den Schlüsselschalter oder eine Software-Schaltfläche, die auf dem Display 11 angezeigt wird, und führt dadurch Einstellungen an der numerischen Steuerung 10A aus, erzeugt ein Zerspanungsprogramm usw.
-
Die Bildverarbeitungs-Engine 24 ist eine Hardware-Schaltung zum Beschleunigen eines Bildprozesses / einer Bildverarbeitung und dient als eine Bildverarbeitungseinheit. Die Bildverarbeitungs-Engine 24, die eine erste Bildverarbeitungseinheit ist, weist eine Bildverarbeitungsfunktion des Erzeugens von Bilddaten über ein Bild zum Anzeigen des Zustands des Motors 2 auf dem Display 11 und eine Datenkommunikationsfunktion auf. Die Datenkommunikationsfunktion der Bildverarbeitungs-Engine 24 ist eine Funktion des Durchführens einer Datenkommunikation mit der Funktionserweiterungsplatine 30A. Die Bildverarbeitungsfunktion der Bildverarbeitungs-Engine 24 ist eine erste Bildverarbeitungsfunktion, und die Datenkommunikationsfunktion der Bildverarbeitungs-Engine 24 ist eine erste Datenkommunikationsfunktion. Die erste Bildverarbeitungsfunktion der Bildverarbeitungs-Engine 24 ist eine Funktion des Erzeugens von Daten, die zum Anzeigen eines Bildschirms durch das Display 11 zu verwenden sind, und des Erzeugens erster Bilddaten, die zum Anzeigen zu verwenden sind, durch Verwendung der Daten.
-
Die Bildverarbeitungs-Engine 24 verwendet Daten über die Steuerplatine 20, um Bilddaten über ein durch das Display 11 anzuzeigendes Bild zu erzeugen. Die Daten über die Steuerplatine 20 sind zum Beispiel Daten, die durch die CPU 22 erzeugt wurden, Daten in der CPU 22, Daten im VRAM 25 oder Daten im Speicher 27. Das durch das Display 11 anzuzeigende Bild ist ein Bild, das zweite Bilddaten, die ein durch die Bildverarbeitungs-Engine 31 erzeugtes Bild sind, und / oder erste Bilddaten, die durch die Bildverarbeitungs-Engine 24 erzeugt werden, verwendet. Die Bildverarbeitungs-Engine 24 ist eine von der CPU 22 getrennte Schaltung, um die durch die CPU 22 getragene Verarbeitungslast zu verringern. Die Bilddaten über das durch das Display 11 anzuzeigende Bild können durch die CPU 22 erzeugt werden.
-
Die Bildverarbeitungs-Engine 24 wird durch einen Halbleiterchip, wie zum Beispiel eine Large-Scale Integrated (LSI)-Schaltung oder ein feldprogrammiertes Gate-Array (Field Programmable Gate Array, FPGA), realisiert. Die Bildverarbeitungs-Engine 24 gibt die erzeugten Bilddaten über die Videoausgabe-IF 23 an das Display 11 aus.
-
Der VRAM 25 ist mit der Bildverarbeitungs-Engine 24 verbunden. Der VRAM 25 ist ein Speicher, der vorübergehend Bilddaten speichert, die auf dem Display 11 angezeigt werden sollen. Der Inter-Engine-Kommunikationsbus 26 verbindet die Bildverarbeitungs-Engine 24 und den Funktionserweiterungssteckplatz 40 miteinander. Der Inter-Engine-Kommunikationsbus 26 ist ein Bus, der zur bidirektionalen Kommunikation ausgebildet ist. Der Inter-Engine-Kommunikationsbus 26 überträgt Informationen, die von der Bildverarbeitungs-Engine 24 gesendet werden, an die Bildverarbeitungs-Engine 31 und überträgt Informationen, die von der Bildverarbeitungs-Engine 31 gesendet werden, an die Bildverarbeitungs-Engine 24.
-
Der Funktionserweiterungssteckplatz 40 kann mit der Funktionserweiterungsplatine 30A nachgerüstet werden. Das heißt, durch Einsetzen der Funktionserweiterungsplatine 30A in den Funktionserweiterungssteckplatz 40 kann der Benutzer die Funktion der Funktionserweiterungsplatine 30A zu der Steuerplatine 20 hinzufügen. In der ersten Ausführungsform wird beschrieben, bei der die Funktionserweiterungsplatine 30A, auf der die Videoeingabe-IF 33 und die Bildverarbeitungs-Engine 31 montiert sind, in den Funktionserweiterungssteckplatz 40 eingesetzt ist.
-
Die Bildverarbeitungs-Engine 31 ist eine Hardware-Schaltung zum Beschleunigen eines Bildprozesses und dient als eine Bildverarbeitungseinheit. Die Bildverarbeitungs-Engine 31, die eine zweite Bildverarbeitungseinheit ist, weist eine Bildverarbeitungsfunktion des Erzeugens - aus einem durch die Kamera 12 aufgenommenen Bild - von Bilddaten über ein Bild, das zum Anzeigen auf dem Display 11 verwendet werden soll, und eine Datenkommunikationsfunktion auf. Die Datenkommunikationsfunktion der Bildverarbeitungs-Engine 31 ist eine Funktion des Durchführens einer Datenkommunikation mit der Steuerplatine 20. Die Bildverarbeitungsfunktion der Bildverarbeitungs-Engine 31 ist eine zweite Bildverarbeitungsfunktion, und die Datenkommunikationsfunktion der Bildverarbeitungs-Engine 31 ist eine zweite Datenkommunikationsfunktion.
-
Ähnlich der Bildverarbeitungs-Engine 24 wird die Bildverarbeitungs-Engine 31 durch einen Halbleiterchip, wie zum Beispiel eine Large-Scale Integrated-Schaltung oder ein FPGA, implementiert. Die Bildverarbeitungs-Engine 31 erzeugt Bilddaten bezüglich eines Bilds, das durch das Display 11 angezeigt werden soll. Die Bildverarbeitungs-Engine 31 erzeugt die Bilddaten gemäß einer Instruktion der Bildverarbeitungs-Engine 24. Die Bildverarbeitungs-Engine 31 sendet die erzeugten Bilddaten an die Bildverarbeitungs-Engine 24.
-
Der VRAM 32 ist mit der Bildverarbeitungs-Engine 31 verbunden. Der VRAM 32 ist ein Speicher, der vorübergehend Bilddaten speichert, die durch die Bildverarbeitungs-Engine 31 erzeugt wurden. Der Inter-Engine-Kommunikationsbus 38 verbindet die Bildverarbeitungs-Engine 31 und den Funktionserweiterungssteckplatz 40. Der Inter-Engine-Kommunikationsbus 38 ist ein Bus, der zur bidirektionalen Kommunikation befähigt ist. Der Inter-Engine-Kommunikationsbus 38 überträgt Informationen, die von der Bildverarbeitungs-Engine 24 gesendet werden, an die Bildverarbeitungs-Engine 31 und überträgt Informationen, die von der Bildverarbeitungs-Engine 31 gesendet werden, an die Bildverarbeitungs-Engine 24.
-
Die Videoeingabe-IF 33 ist mit einer Bildgabevorrichtung, wie zum Beispiel der Kamera 12, und der Bildverarbeitungs-Engine 31, verbunden. Die Videoeingabe-IF 33 empfängt Bilddaten über ein durch die Kamera 12 aufgenommenes Bild und sendet die Bilddaten an die Bildverarbeitungs-Engine 31. Die Kamera 12 kann ein Video aufnehmen. In diesem Fall empfängt die Videoeingabe-IF 33 Videodaten über ein durch die Kamera 12 aufgenommenes Video und sendet die Videodaten an die Bildverarbeitungs-Engine 31.
-
Die Steuerplatine 20 ist durch die CPU 22 implementiert, die ein im Speicher 27 gespeichertes Steuerungsprogramm liest und ausführt, um eine Operation der Steuerplatine 20 auszuführen. Das Steuerungsprogramm ist ein computerausführbares Programm zum Ausführen des Betriebes der Steuerplatine 20. Mit anderen Worten veranlasst das Steuerungsprogramm einen Computer, Abläufe oder Verfahren der Steuerplatine 20 auszuführen.
-
Das durch die Steuerplatine 20 ausgeführte Steuerungsprogramm weist eine modulare Konfiguration auf, die eine Steuereinheit umfasst, die einen Steuerungsprozess ausführt, und die Steuereinheit wird in eine Hauptspeichervorrichtung geladen und dort erzeugt.
-
Das Steuerungsprogramm kann in einem computerlesbaren Speichermedium als eine Datei in einem installierbaren Format oder einem ausführbaren Format gespeichert sein und als ein Computerprogrammprodukt bereitgestellt werden. Das Steuerungsprogramm kann über ein Netzwerk, wie zum Beispiel das Internet, an die numerische Steuerung 10A übermittelt werden. Ein Teil der Funktionen der Steuerplatine 20 kann durch dedizierte Hardware, wie zum Beispiel eine dedizierte Schaltung, implementiert werden, und ein anderer Teil kann davon durch Software oder Firmware implementiert werden.
-
Wenn die Funktionserweiterungsplatine 30A in den Funktionserweiterungssteckplatz 40 eingesetzt ist, so sind die Bildverarbeitungs-Engine 31 auf der Funktionserweiterungsplatine 30A und die Bildverarbeitungs-Engine 24 auf der Steuerplatine 20 über die Inter-Engine-Kommunikationsbusse 26 und 38 verbunden. Infolge dessen können die Bildverarbeitungs-Engines 24 und 31 Daten zueinander übertragen und gegenseitig auf ihre Register zugreifen, usw. Darüber hinaus können die Bildverarbeitungs-Engines 24 und 31 gemeinsam Parameter einstellen, welche die Art des Prozesses bezeichnen, können die für einen Prozess erforderlichen Parameter einstellen und können die Prozessstartzeit steuern.
-
Die Inter-Engine-Kommunikationsbusse 26 und 38 können serielle oder parallele Busse sein. Da in der numerischen Steuerung 10A die beiden Bildverarbeitungs-Engines 24 und 31 über die Inter-Engine-Kommunikationsbusse 26 und 38 miteinander verbunden sind, kann die numerische Steuerung 10A eine kooperative Operation zwischen den Bildverarbeitungs-Engines 24 und 31 in zeitlicher Synchronisation zwischen beiden ausführen.
-
Um für jede der beiden Bildverarbeitungs-Engines ein Einstellregister bereitzustellen, ist es notwendig und zeitaufwendig, die Register in beiden Bildverarbeitungs-Engines einzustellen, und es ist auch schwierig, diese beiden Bildverarbeitungs-Engines miteinander zu synchronisieren. In der ersten Ausführungsform hingegen ermöglicht es die Durchführung der Registereinstellung in genau einer der Bildverarbeitungs-Engines 24 oder 31, dass die Bildverarbeitungs-Engines 24 und 31 über die Inter-Engine-Kommunikationsbusse 26 und 38 miteinander synchronisiert werden, und somit die Registereinstellung für beide Bildverarbeitungs-Engines 24 und 31 durchgeführt wird. Infolge dessen kann die numerische Steuerung 10A eine Zeit für die Registereinstellung verkürzen und kann auch den Verwaltungsaufwand reduzieren, der mit dem Umschalten zwischen den Einstellungen einhergeht.
-
Da die Bildverarbeitungs-Engines 24 und 31 über die Inter-Engine-Kommunikationsbusse 26 und 38 miteinander verbunden sind, kann die numerische Steuerung 10A außerdem eine Verzögerungszeit zwischen der Eingabe eines Bildes in die Bildverarbeitungs-Engine 31 und der tatsächlichen Anzeige des Bildes auf dem Display 11 sowie eine Reaktionszeit bis zum Ausführen einer Eingabe durch den Benutzer, wie zum Beispiel einen Maschinenbediener, der eine Operationseingabe ausführt, verringern.
-
Die Bildverarbeitungsfunktionen, die in den beiden Bildverarbeitungs-Engines 24 und 31 bereitgestellt werden, umfassen eine gemeinsame Funktion, sie können jedoch auch unterschiedliche Bildverarbeitungsfunktionen umfassen, die sich gegenseitig ergänzen.
-
Das Displays 11 und/oder die Kamera 12 kann eine externe Vorrichtung der numerischen Steuerung 10A sein, die außerhalb der numerischen Steuerung 10A angeordnet ist.
-
Als Nächstes wird ein Betrieb der numerischen Steuerung 10A beschrieben. 2 ist ein Flussdiagramm, das einen Anzeigeverarbeitungsvorgang für die numerische Steuerung gemäß der ersten Ausführungsform zum Anzeigen eines Bildschirms veranschaulicht. Wie und was in welcher Region des Displays 11 angezeigt werden soll, wird durch die CPU 22 auf der Steuerplatine 20 auf der Grundlage des Zustands der numerischen Steuerung 10A und eines Befehls vom Maschinenbediener bestimmt. Die CPU 22 erzeugt Bildeinstellungsinformationen, die den Inhalt dieser Bestimmung angeben (Schritt S10). Die Bildeinstellungsinformationen sind Informationen, die angeben, wie und was in welcher Region angezeigt werden soll. Die CPU 22 sendet die Bildeinstellungsinformationen an die Bildverarbeitungs-Engine 24 auf der Steuerplatine 20 (Schritt S20).
-
Die Bildverarbeitungs-Engine 24 erzeugt einen Bildschirm, der den Bildeinstellungsinformationen entspricht (Schritt S30). Darüber hinaus bestimmt die Bildverarbeitungs-Engine 24, ob die Bildeinstellungsinformationen den Inhalt der Bildverarbeitung an einem von der Videoeingabe-IF 33 aufgenommenen Bild umfassen (Schritt S40). Das heißt, die Bildverarbeitungs-Engine 24 bestimmt, ob die Bildeinstellungsinformationen den Inhalt der Bildverarbeitung durch die Bildverarbeitungs-Engine 31 umfassen.
-
Wenn die durch die CPU 22 erzeugten Bildeinstellungsinformationen den Inhalt der Bildverarbeitung an dem von der Videoeingabe-IF 33 aufgenommenen Bild nicht umfassen (Schritt S40, NEIN), so zeigt die Bildverarbeitungs-Engine 24 den erzeugten Bildschirm auf dem Display 11 an (Schritt S90).
-
Wenn hingegen die durch die CPU 22 erzeugten Bildeinstellungsinformationen den Inhalt der Bildverarbeitung an dem von der Videoeingabe-IF 33 aufgenommenen Bild umfassen (Schritt S40, JA), so teilt die Bildverarbeitungs-Engine 24 der Bildverarbeitungs-Engine 31 Bildverarbeitungsinformationen mit, die den Inhalt des Bildprozesses angeben (Schritt S50). Das heißt, die Bildverarbeitungs-Engine 24 teilt der Bildverarbeitungs-Engine 31 die Bildverarbeitungsinformationen über die Inter-Engine-Kommunikationsbusse 26 und 38 mit.
-
Genauer gesagt, erzeugt die Bildverarbeitungsfunktion der Steuerplatine 20 Bildverarbeitungsinformationen, das heißt Anforderungsinformationen, die eine Anforderung von Bilddaten angeben, und die Datenkommunikationsfunktion der Steuerplatine 20 sendet die Bildverarbeitungsinformationen an die Funktionserweiterungsplatine 30A. Infolge dessen empfängt die Datenkommunikationsfunktion der Funktionserweiterungsplatine 30A die Bildverarbeitungsinformationen.
-
Die Bildverarbeitungs-Engine 24 kann die Bildeinstellungsinformationen an die Bildverarbeitungs-Engine 31 senden, und die Bildverarbeitungs-Engine 31 kann bestimmen, ob die Bildeinstellungsinformationen den Inhalt der Bildverarbeitung an dem von der Videoeingabe-IF 33 aufgenommenen Bild umfassen. In diesem Fall erfasst die Bildverarbeitungs-Engine 31 die Bildverarbeitungsinformationen aus den Bildeinstellungsinformationen. Die Bildverarbeitungsinformationen können Informationen über die Größe des Bildes umfassen.
-
Die Bildverarbeitungsinformationen umfassen zum Beispiel die Art der Bildverarbeitung (Vergrößerung, Verkleinerung, Drehung, Ausschnitt, Bildkorrektur und Anzeige kombinierter Mehrfachbilder), den Ein/Aus-Zeitpunkt, zu dem die Bildverarbeitung in einen Ein/Aus-Zustand gebracht werden soll, eine Vergrößerungsrate, eine Verkleinerungsrate, einen Drehwinkel, und die Koordinaten eines auszuschneidenden Bildes. Die Bildkorrektur umfasst Farbkorrektur, Leuchtdichtekorrektur und Verzerrungskorrektur.
-
Wenn die Bildverarbeitungsinformationen empfangen werden, so führt die Bildverarbeitungs-Engine 31 eine Bildverarbeitung auf der Grundlage der Bildverarbeitungsinformationen über das von der Kamera 12 über die Videoeingabe-IF 33 aufgenommene Bild durch (Schritt S60). Genauer gesagt, erzeugt die Bildverarbeitungsfunktion der Funktionserweiterungsplatine 30A auf der Grundlage des von der Kamera 12 aufgenommenen Bildes Bilddaten (zweite Bilddaten). Zu Beispielen der durch die Bildverarbeitungs-Engine 31 ausgeführten Bildverarbeitung gehören Vergrößerung, Verkleinerung, Drehung und das Ausschneiden von Bilddaten, Bildkorrektur und das Anzeigen kombinierter Mehrfachbilder.
-
Wie vorstehend beschrieben, führt die Bildverarbeitungs-Engine 31 die Bildverarbeitung gemäß den angegebenen Bildverarbeitungsinformationen durch. Die Bildverarbeitungs-Engine 31 sendet die bildverarbeiteten Bilddaten an die Bildverarbeitungs-Engine 24 (Schritt S70). Das heißt, die auf der Funktionserweiterungsplatine 30A verarbeiteten Bilddaten werden von der Bildverarbeitungs-Engine 31 über die Inter-Engine-Kommunikationsbusse 26 und 38 an die Bildverarbeitungs-Engine 24 gesendet. Genauer gesagt, sendet die Datenkommunikationsfunktion der Funktionserweiterungsplatine 30A die Bilddaten an die Steuerplatine 20, und die Datenkommunikationsfunktion der Steuerplatine 20 empfängt die Bilddaten.
-
Die Bildverarbeitungs-Engine 24 kombiniert die von der Bildverarbeitungs-Engine 31 empfangenen zweiten Bilddaten mit den ersten Bilddaten, die ein den Bildeinstellungsinformationen entsprechender Bildschirm (eine Bildschirmdarstellung) sind (Schritt S80). Das heißt, die Bildverarbeitungs-Engine 24 erzeugt den Bildschirm (die Bildschirmdarstellung) durch Einfügen der zweiten Bilddaten, die von der Bildverarbeitungs-Engine 31 empfangen werden, an einer speziellen Position der ersten Bilddaten, die der Bildschirm (die Bildschirmdarstellung) sind, der unter Verwendung der Bildeinstellungsinformationen erzeugt wird, welche die Daten auf der Steuerplatine 20 sind.
-
Der durch die Bildverarbeitungs-Engine 24 unter Verwendung der Daten auf der Steuerplatine 20 erzeugte Bildschirm stellt die ersten Bildinformationen dar. Die durch die Bildverarbeitungs-Engine 31 erzeugten Bilddaten sind die zweiten Bilddaten. Der durch die Bildverarbeitungs-Engine 24 erzeugte kombinierte Bildschirm verkörpert die dritten Bilddaten.
-
Die Bildverarbeitungs-Engine 24 kann die Daten im VRAM 25, die Daten im Speicher 27, den Zustand der CPU 22 und dergleichen in die dritten Bilddaten einbinden. In diesem Fall kann die Steuerplatine 20 auf dem Display 11 die Daten im VRAM 25, die Daten im Speicher 27, den Zustand der CPU 22 und dergleichen zusammen mit den durch die Bildverarbeitungs-Engine 31 erzeugten Daten anzeigen.
-
Der durch die Bildverarbeitungs-Engine 24 erzeugte Bildschirm wird über die Videoausgabe-IF 23 an das Display 11 ausgegeben. Als Ergebnis zeigt die Bildverarbeitungs-Engine 24 den erzeugten Bildschirm auf dem Display 11 an (Schritt S90).
-
Die Bildverarbeitungs-Engines 24 und 31 sind über die Inter-Engine-Kommunikationsbusse 26 und 38 miteinander verbunden und können gegenseitig ihre Einstellregister lesen und beschreiben. Die Bildverarbeitungs-Engine 24 kann daher auf der Funktionserweiterungsplatine 30A detaillierte Einstellungen der Bildverarbeitung für die Bildverarbeitungs-Engine 31 gemäß dem Inhalt der Bildverarbeitung durchführen, welcher Inhalt in den durch die CPU 22 erzeugten Bildeinstellungsinformationen enthalten ist. Das heißt, die Bildverarbeitungs-Engine 24 kann detaillierte Einstellungen der Bildverarbeitung durch die Bildverarbeitungs-Engine 31 durchführen, da die Bildverarbeitungs-Engine 24 die detaillierten Einstellungen des Bildprozesses in das Einstellregister der Bildverarbeitungs-Engine 31 schreibt. Das von der Videoeingabe-IF 33 aufzunehmende Bild ist nicht auf die Bilddaten durch die Kamera 12 beschränkt und kann auch ein durch einen Personalcomputer oder dergleichen erzeugtes Bild sein.
-
Die Bildverarbeitungs-Engine 31 kann an den erfassten Bilddaten eine Filterverarbeitung durchführen. Darüber hinaus kann ein erlerntes Modell zum Detektieren beispielsweise eines menschlichen Umrisses, des Gesichts eines Bedieners einer Werkzeugmaschine oder eines Makels auf einem Werkstück im Voraus in einem eingebauten Speicher oder dem VRAM 32 der Bildverarbeitungs-Engine 31 gespeichert werden, und die Bildverarbeitungs-Engine 31 kann ein spezifisches Zielobjekt in den Bilddaten erkennen, indem sie an der Eingabe der erfassten Bilddaten eine Inferenzverarbeitung auf der Basis künstlicher Intelligenz (KI) unter Verwendung des erlernten Modells durchführt. In diesem Fall kann die Bildverarbeitungs-Engine 31 zum Beispiel einen menschlichen Umriss, das Gesicht eines Bedieners einer Werkzeugmaschine, einen Makel auf einem Werkstück und dergleichen erkennen. Das erlernte Modell, das in einer anderen Vorrichtung als der numerischen Steuerung 10A oder einem Cloud-Server erzeugt wird, ist zum Beispiel ein Modell, das erzeugt wird, um einen menschlichen Umriss, das Gesicht eines Bedieners einer Werkzeugmaschine, einen Makel auf einem Werkstück oder dergleichen durch sogenanntes beaufsichtigtes Lernen gemäß einem allgemeinen Neuronennetzmodell zu erkennen.
-
Die Bildverarbeitungs-Engine 31 detektiert ein spezifisches Zielobjekt in den Bilddaten, zum Beispiel, wenn eine Anfrage der Bildverarbeitungs-Engine 24 vorliegt. In diesem Fall weist die Bildverarbeitungs-Engine 24, wenn ein spezifisches Objekt detektiert wird, die Bildverarbeitungs-Engine 31 an, Bilddaten über ein Detektionsergebnis (Bilddaten über einen Teil eines Gesichts, Bilddaten über ein fehlerhaftes Teil oder dergleichen) und Inhaltsinformationen, die den Inhalt der Bilddaten angeben, an die Bildverarbeitungs-Engine 24 zu senden.
-
Zum Beispiel sind für den Fall, dass die Bildverarbeitungs-Engine 31 das Gesicht eines Bedieners detektiert, die Inhaltsinformationen der Name des Maschinenbedieners oder dergleichen. Außerdem sind für den Fall, dass die Bildverarbeitungs-Engine 31 einen Makel auf einem Werkstück detektiert, die Inhaltsinformationen Koordinaten, die eine Position des Makels angeben, oder dergleichen. Die Inhaltsinformationen können Informationen sein, die angeben, dass ein spezifisches Zielobjekt detektiert wurde.
-
Die Bildverarbeitungs-Engine 31 sendet die Bilddaten und die Inhaltsinformationen in Verknüpfung miteinander an die Bildverarbeitungs-Engine 24. Die Bildverarbeitungs-Engine 24 zeigt die Inhaltsinformationen auf dem Bildschirm des Displays 11 an. Genauer gesagt, erzeugt die Bildverarbeitungs-Engine 24 einen Bildschirm, der eine Kombination aus den Inhaltsinformationen und einem Bildschirm ist, mit dem Bilddaten kombiniert sind. Der Bildschirm, der Inhaltsinformationen umfasst und jene Kombination ist, die durch die Bildverarbeitungs-Engine 24 erzeugt wird, verkörpert vierte Bilddaten. Für den Fall, dass die Inhaltsinformationen Informationen sind, die angeben, dass ein spezifisches Zielobjekt detektiert wurde, kann die Bildverarbeitungs-Engine 24 die Informationen, die angeben, dass ein spezifisches Zielobjekt detektiert wurde, auf dem Bildschirm des Displays 11 als Zeichendaten anzeigen. Darüber hinaus kann die Bildverarbeitungs-Engine 24 die Bilddaten über das detektierte Zielobjekt und die Inhaltsinformationen im Speicher 27 speichern.
-
Zum Beispiel detektiert für den Fall, dass der Maschinenbediener neben dem Display 11 steht und die Kamera 12 sich bezogen auf den Maschinenbediener in einem toten Winkel befindet, die Bildverarbeitungs-Engine 31 anhand der Bilddaten von der Kamera 12 einen menschlichen Umriss und sendet ein Bild einer Person als Bilddaten an die Bildverarbeitungs-Engine 24. Durch Anzeigen des Bildes der Person auf dem Display 11 kann die Bildverarbeitungs-Engine 24 den Maschinenbediener auf die Person im toten Winkel hinweisen, die der Maschinenbediener nicht direkt sehen kann, und kann somit den Maschinenbediener vor einem gefährlichen Arbeitsablauf oder dergleichen warnen.
-
Ein weiteres Beispiel ist, wenn die Kamera 12 ein Bild des Maschinenbedieners aufnimmt. In diesem Fall detektiert die Bildverarbeitungs-Engine 31 das Gesicht des Maschinenbedieners. Die Bildverarbeitungs-Engine 31 sendet ein Bild des Gesichts des Maschinenbedieners als Bilddaten an die Bildverarbeitungs-Engine 24, und die Bilddaten werden von der Bildverarbeitungs-Engine 24 an die CPU 22 gesendet. Die CPU 22 sendet an die Bildverarbeitungs-Engine 24 die Instruktion, einen Alarm auszulösen, wenn dieselbe Person lange Zeit arbeitet. Die Bildverarbeitungs-Engine 24 kann das Display 11 anweisen, einen Bildschirm auszugeben, der den Maschinenbediener auffordert, eine Pause zu machen.
-
Ein weiteres Beispiel ist, wenn die Kamera 12 ein Bild eines Werkstücks aufnimmt und die Bildverarbeitungs-Engine 31 einen Makel an dem Werkstück detektiert. Die Bildverarbeitungs-Engine 31 sendet ein Bild des Makels des Werkstücks als Bilddaten an die Bildverarbeitungs-Engine 24. Die Inhaltsinformationen sind Koordinatenpositionsinformationen, welche die Position des Makels auf dem Werkstück angeben. Die Bildverarbeitungs-Engine 24 zeigt auf dem Display 11 die Bilddaten über den Makel des Werkstücks und die Koordinatenpositionsinformationen an. Dadurch ist es möglich, den Maschinenbediener auf den Makel des Werkstücks hinzuweisen, der mit bloßem Auge schwer zu erkennen ist, wodurch es wiederum möglich ist, den Maschinenbediener aufzufordern, Maßnahmen zu ergreifen.
-
Die Bildverarbeitungs-Engine 24 auf der Steuerplatine 20, die standardmäßig auf allen numerischen Steuerungen 10A montiert ist, ist zweckmäßigerweise so kostengünstig wie möglich und ist auch auf die mindestens notwendige Hardware beschränkt. Da die Standardfunktionen der Bildverarbeitungs-Engine 24 allein nicht ausreichen, sollte in diesem Fall die Funktionserweiterungsplatine 30A an der Steuerplatine 20 angebracht werden, um ein Bild anzuzeigen, das von außen eingegeben und einer zweckdienlichen Bildverarbeitung unterzogen wurde.
-
Dadurch können die Kosten für die standardmäßig erforderliche Hardware reduziert werden. Darüber hinaus können die Bildverarbeitungs-Engine 31, deren Bildverarbeitungsfunktion in die nachrüstbare Hardware integriert ist, und die Bildverarbeitungs-Engine 24, deren Bildverarbeitungsfunktion in den Hauptkörper integriert ist, bidirektional und eng miteinander zusammenarbeiten.
-
Wie vorstehend beschrieben, führen in der ersten Ausführungsform, wenn die Funktionserweiterungsplatine 30A an der Steuerplatine 20 angebracht ist, die Bildverarbeitungs-Engines 24 und 31 einen kooperativen Betrieb aus, so dass die Bildverarbeitungs-Engine 24 Bilddaten in der Kamera 12 von der Bildverarbeitungs-Engine 31 erfasst. Darüber hinaus erzeugt die Bildverarbeitungs-Engine 24 einen Bildschirm, der die Kombination des Bildschirms, der den Bildeinstellungsinformationen entspricht, und der Bilddaten von der Kamera 12 ist, und zeigt den erzeugten Bildschirm auf dem Display 11 an.
-
Da die numerische Steuerung 10A, wie vorstehend beschrieben, auf dem Display 11 die durch die Funktionserweiterungsplatine 30A erzeugten Bilddaten unter Verwendung der durch die CPU 22 erzeugten Bildeinstellungsinformationen, welche die Daten auf der Steuerplatine 20 sind, anzeigt, können die Bildeinstellungsinformationen auf der Seite der Steuerplatine 20 effektiv genutzt werden. Darüber hinaus werden in der numerischen Steuerung 10A die Bildeinstellungsinformationen durch die CPU 22 so erzeugt, dass die Bilddaten, die sich auf die durch die Funktionserweiterungsplatine 30A erzeugten Bilddaten beziehen, durch die Bildverarbeitungs-Engine 31 erzeugt werden und der Rest davon durch die Bildverarbeitungs-Engine 24 erzeugt wird. Die Verarbeitungsgeschwindigkeit kann daher im Vergleich zu dem Fall, dass die Bilddaten nur durch eine einzige der Bildverarbeitungs-Engines erzeugt werden, erhöht werden.
-
Da die Funktionserweiterungsplatine 30A so konfiguriert ist, dass sie nachgerüstet werden kann, ist es nicht notwendig, die Funktionserweiterungsplatine 30A anzubringen, wenn die Funktion der Funktionserweiterungsplatine 30A nicht benötigt wird. Für den Fall, dass die numerische Steuerung 10A nur Standardfunktionen benötigt, können daher die Herstellungskosten der numerischen Steuerung 10A reduziert werden.
-
Darüber hinaus kann durch gemeinsame Nutzung der Funktionserweiterungsplatine 30A, die eine nachrüstbare Hardware ist, mit einer anderen numerischen Steuerung die Funktionserweiterungsplatine 30A auf eine weitere numerische Steuerung angewendet werden, so dass die Managementkosten der Funktionserweiterungsplatine 30A reduziert werden können.
-
Sobald die CPU 22 auf der Steuerplatine 20 die Bildverarbeitungs-Engine 24 startet, führen die Bildverarbeitungs-Engines 24 und 31, die jeweils über die Bildverarbeitungsfunktion und die Datenkommunikationsfunktion verfügen, gegenseitig eine Datenübertragung aus. Aus diesem Grund weist die CPU 22 keine Arbeitslast auf, und die Leistung der maschinellen Bearbeitung durch die numerische Steuerung 10A wird nicht beeinträchtigt.
-
Zweite Ausführungsform.
-
Als Nächstes wird eine zweite Ausführungsform unter Bezugnahme auf 3 und 4 beschrieben. In der zweiten Ausführungsform zeigt die Bildverarbeitungs-Engine einer Funktionserweiterungsplatine einen Bildschirm (eine Bildschirmanzeige) auf einem mit der Funktionserweiterungsplatine verbundenen Display an. Auch in der zweiten Ausführungsform wird die Funktionserweiterungsplatine - ähnlich wie bei der ersten Ausführungsform - nur dann an dem Funktionserweiterungssteckplatz 40 angebracht, wenn eine Verarbeitung durch die Funktionserweiterungsplatine erforderlich ist.
-
3 ist ein Schaubild, das eine Konfiguration eines numerischen Steuerungssystems, das eine numerische Steuerung umfasst, gemäß der zweiten Ausführungsform veranschaulicht. In 3 gezeigte Komponenten, welche die gleichen Funktionen wie die des numerischen Steuerungssystems 1A der in 1 gezeigten ersten Ausführungsform erfüllen, sind mit den gleichen Bezugszeichen versehen, und auf ihre Beschreibung wird verzichtet.
-
Ein numerisches Steuerungssystem 1B umfasst eine numerische Steuerung 10B, den Verstärker 3 und den Motor 2. Die numerische Steuerung 10B umfasst die Steuerplatine 20, das Display 11, eine Funktionserweiterungsplatine 30B, die Kamera 12 und ein Display 13. Das Display 13 ist ein zweites Display.
-
Die Funktionserweiterungsplatine 30B umfasst die Bildverarbeitungs-Engine 31, den VRAM 32, die Videoeingabe-IF 33 und eine Videoausgabe-IF 34.
-
Die Videoausgabe-IF 34 ist mit dem Display 13 und der Bildverarbeitungs-Engine 31 verbunden. Das Display 13 ist eine Display-Vorrichtung ähnlich dem Display 11. Die Funktionserweiterungsplatine 30B kann an dem Funktionserweiterungssteckplatz 40 angebracht und von diesem abgenommen werden. 3 veranschaulicht einen Zustand, in dem die Funktionserweiterungsplatine 30B an dem Funktionserweiterungssteckplatz 40 angebracht ist.
-
Wie vorstehend beschrieben, ist bei der numerischen Steuerung 10B der zweiten Ausführungsform auf der Steuerplatine 20 die Videoausgabe-IF 23 angeordnet, und ist auf der Funktionserweiterungsplatine 30B die Videoausgabe-IF 34 angeordnet. Mit dieser Konfiguration kann die numerische Steuerung 10B Bilder auf den beiden Displays 11 und 13 gleichzeitig anzeigen. Das Display 13 kann eine externe Vorrichtung der numerischen Steuerung 10B sein, die außerhalb der numerischen Steuerung 10B angeordnet ist.
-
Als Nächstes wird ein Betrieb der numerischen Steuerung 10B beschrieben. 4 ist ein Flussdiagramm, das einen Anzeigeverarbeitungsvorgang für die numerische Steuerung gemäß der zweiten Ausführungsform zum Anzeigen eines Bildschirms veranschaulicht. Auf eine Beschreibung der Verarbeitung, die der mit Bezug auf 2 beschriebenen Verarbeitung ähnelt, wird verzichtet.
-
Wie und was in welcher Region der beiden Displays 11 und 13 angezeigt werden soll, wird durch die CPU 22 auf der Steuerplatine 20 auf der Grundlage des Zustands der numerischen Steuerung 10B und eines Befehls vom Maschinenbediener bestimmt. Die CPU 22 erzeugt Bildeinstellungsinformationen, die dem Inhalt dieser Bestimmung entsprechen (Schritt S10). Die CPU 22 sendet die Bildeinstellungsinformationen an die Bildverarbeitungs-Engine 24 auf der Steuerplatine 20 (Schritt S20). Die Bildeinstellungsinformationen umfassen Identifikationsinformationen zum Identifizieren, ob die Bildeinstellungsinformationen Bildeinstellungsinformationen für die Bildverarbeitungs-Engine 24 oder Bildeinstellungsinformationen für die Bildverarbeitungs-Engine 31 sind. Die Bildeinstellungsinformationen sind Daten auf der Steuerplatine 20.
-
Die Bildverarbeitungs-Engine 24 extrahiert auf der Grundlage der in den Bildeinstellungsinformationen enthaltenen Identifikationsinformationen aus den Bildeinstellungsinformationen Bildeinstellungsinformationen für die Bildverarbeitungs-Engine 24. Die Bildverarbeitungs-Engine 24 erzeugt einen Bildschirm unter Verwendung der Bildeinstellungsinformationen für die Bildverarbeitungs-Engine 24 (Schritt S110).
-
Auf der Grundlage der in den Bildeinstellungsinformationen enthaltenen Identifikationsinformationen bestimmt die Bildverarbeitungs-Engine 24, ob die Bildeinstellungsinformationen die Bildeinstellungsinformationen für die Bildverarbeitungs-Engine 31 umfassen (Schritt S120).
-
Wenn die durch die CPU 22 erzeugten Bildeinstellungsinformationen nicht die Bildeinstellungsinformationen für die Bildverarbeitungs-Engine 31 umfassen (Schritt S120, NEIN), so sendet die Bildverarbeitungs-Engine 24 die Bildeinstellungsinformationen nicht an die Bildverarbeitungs-Engine 31. In diesem Fall zeigt die Bildverarbeitungs-Engine 24 den Bildschirm auf dem Display 11 an (Schritt S160).
-
Wenn hingegen die durch die CPU 22 erzeugten Bildeinstellungsinformationen die Bildeinstellungsinformationen für die Bildverarbeitungs-Engine 31 umfassen (Schritt S120, JA), so sendet die Bildverarbeitungs-Engine 24 die Bildeinstellungsinformationen für die Bildverarbeitungs-Engine 31 an die Bildverarbeitungs-Engine 31 (Schritt S130).
-
Die Bildverarbeitungs-Engine 31 erzeugt unter Verwendung der Bildeinstellungsinformationen für die Bildverarbeitungs-Engine 31 einen Bildschirm (Schritt S140). Die Daten auf dem durch die Bildverarbeitungs-Engine 31 erzeugten Bildschirm sind fünfte Bilddaten.
-
Die Bildverarbeitungs-Engine 24 kann die Bildeinstellungsinformationen an die Bildverarbeitungs-Engine 31 senden, und die Bildverarbeitungs-Engine 31 kann bestimmen, ob die Bildeinstellungsinformationen die Bildeinstellungsinformationen für die Bildverarbeitungs-Engine 31 umfassen. In diesem Fall erfasst die Bildverarbeitungs-Engine 31 die Bildverarbeitungsinformationen aus den Bildeinstellungsinformationen auf der Grundlage der Identifikationsinformationen.
-
Wie vorstehend beschrieben, erzeugen die Bildverarbeitungs-Engines 24 und 31 die Bildschirme auf der Grundlage der durch die CPU 22 erzeugten Bildeinstellungsinformationen. Dann zeigt die Bildverarbeitungs-Engine 31 den erzeugten Bildschirm auf dem Display 13 an (Schritt S150), und die Bildverarbeitungs-Engine 24 zeigt den erzeugten Bildschirm auf dem Display 11 an (Schritt S160). Die durch die Bildverarbeitungs-Engines 24 und 31 erzeugten Bildschirme können gegebenenfalls ein durch die Kamera 12 aufgenommenes Bild umfassen.
-
Sowohl der Zeitpunkt, an dem die Bildverarbeitungs-Engine 24 den Bildschirm erzeugt, als auch der Zeitpunkt, an dem die Bildverarbeitungs-Engine 31 den Bildschirm erzeugt, können jeweils dem anderen vorausgehen. Darüber hinaus können sowohl der Zeitpunkt, an dem die Bildverarbeitungs-Engine 24 den Bildschirm auf dem Display 11 anzeigt, als auch der Zeitpunkt, an dem die Bildverarbeitungs-Engine 31 den Bildschirm auf dem Display 13 anzeigt, jeweils dem anderen vorausgehen. Das heißt, die Bildverarbeitungs-Engine 24 kann die Verarbeitung von Schritt S 110 zu einem beliebigen Zeitpunkt nach Schritt S20 und vor Schritt S 160 ausführen. Darüber hinaus kann die Bildverarbeitungs-Engine 24 die Verarbeitung von Schritt S 160 zu einem beliebigen Zeitpunkt nach Schritt S 110 ausführen.
-
Die auf den Displays 11 und 13 angezeigten Bildschirme können gleich oder voneinander verschieden sein. Zum Beispiel steuert die numerische Steuerung 10B in einigen Fällen eine große Werkzeugmaschine. In diesem Fall sind die beiden Displays 11 und 13 getrennt voneinander angeordnet, und die Displays 11 und 13 zeigen das gleiche Bild an, wodurch der Maschinenbediener die auf den Displays 11 und 13 angezeigten Informationen aus einem weiten Bereich um die Werkzeugmaschine herum visuell erkennen kann.
-
Wenn die beiden Displays 11 und 13 nebeneinander angeordnet sind, so kann der Maschinenbediener gleichzeitig eine große Menge an Informationen erhalten, indem die Displays 11 und 13 verschiedene Bilder anzeigen. Selbst für den Fall, dass die beiden Displays 11 und 13 getrennt voneinander angeordnet sind, können die Informationen, die der Maschinenbediener benötigt, je nach Standort unterschiedlich sein. Darüber hinaus ist es in einigen Fällen wünschenswert, dass die Videoausgabe-IF 34 auf einer Seite der Funktionserweiterungsplatine 30B einen großen Bildschirm an das Display 13 ausgibt, der auch von einem entfernten Ort aus visuell leicht erkennbar ist, und es dem Display 11 erlaubt, einen solchen großen Bildschirm mit einer anderen Bildschirmauflösung als das Display 13 anzuzeigen. In den vorstehend genannten Fällen kann die numerische Steuerung 10B unterschiedliche Bildschirme auf den Displays 11 und 13 anzeigen.
-
Das über die Videoeingabe-IF 33 auf der Funktionserweiterungsplatine 30B aufgenommene Bild wird einer zweckmäßigen Bildverarbeitung durch die Bildverarbeitungs-Engine 31 unterzogen. Die bildverarbeiteten Bilddaten werden auf der Grundlage der durch die CPU 22 erzeugten Bildeinstellungsinformationen auf einem oder beiden Displays 11 und 13 angezeigt. Für den Fall, dass das Display 11 die bildverarbeiteten Bilddaten anzeigt, sendet die Bildverarbeitungs-Engine 31 die bildverarbeiteten Bilddaten über die Inter-Engine-Kommunikationsbusse 38 und 26 an die Bildverarbeitungs-Engine 24. Infolge dessen zeigt die Bildverarbeitungs-Engine 24 die bildverarbeiteten Bilddaten in einer spezifischen Region des Displays 11 an. Die Bildverarbeitungs-Engine 31 zeigt die bildverarbeiteten Bilddaten in einer spezifischen Region des Displays 13 an.
-
In der zweiten Ausführungsform ist, ähnlich der ersten Ausführungsform, die Bildverarbeitungs-Engine 24 auf der Steuerplatine 20, die standardmäßig auf allen numerischen Steuerungen 10B montiert ist, zweckmäßigerweise so kostengünstig wie möglich und ist auch auf die mindestens notwendige Hardware beschränkt.
-
In der zweiten Ausführungsform ist es für den Fall, dass eine gleichzeitige Ausgabe von Bildschirmen auf den beiden Displays 11 und 13 gewünscht wird, lediglich erforderlich, die Funktionserweiterungsplatine 30B anzubringen, so dass die Kosten der standardmäßig erforderlichen Hardware reduziert werden können. Selbst für den Fall, dass es erwünscht ist, gleichzeitig Bildschirme an die beiden Displays 11 und 13 auszugeben, verwenden die Bildverarbeitungs-Engines 24 und 31 beide die Bildeinstellungsinformationen auf der Steuerplatine 20, so dass die Informationen der Hauptkörper-Seite effektiv genutzt werden können.
-
Die Bildverarbeitungs-Engine 31 auf der Seite der Funktionserweiterungsplatine 30B kann optional eine höhere Leistung als die Bildverarbeitungs-Engine 24 aufweisen, und das Display 13 kann eine größere Anzahl von Pixeln oder einen größeren Bildschirm(körper) als das Display 11 aufweisen. In diesem Fall kann die Funktionserweiterungsplatine 30B an dem Funktionserweiterungssteckplatz 40 angebracht werden, falls keine gleichzeitige Ausgabe an zwei Bildschirme erfolgt, jedoch eine Anzeige auf dem Display 13, das eine größere Anzahl von Pixeln oder einen größeren Bildschirm umfasst, gewünscht ist.
-
Da die Funktionserweiterungsplatine 30B alle Komponenten der Funktionserweiterungsplatine 30A umfasst, kann die Funktionserweiterungsplatine 30B eine Verarbeitung wie mit der Funktionserweiterungsplatine 30A ausführen. Die Bildverarbeitungs-Engine 24 weist in diesem Fall eine Funktion des Umschaltens der durch die Bildverarbeitungs-Engine 31 auszuführenden Verarbeitung auf. Die Bildverarbeitungs-Engine 24 teilt der Bildverarbeitungs-Engine 31 mit, welche Verarbeitung ausgeführt werden soll, und sendet dann die Bildverarbeitungsinformationen oder die Bildeinstellungsinformationen an die Bildverarbeitungs-Engine 31.
-
Das heißt, für dem Fall des Anforderns von Bilddaten von der Bildverarbeitungs-Engine 31 benachrichtigt die Bildverarbeitungs-Engine 24 die Bildverarbeitungs-Engine 31 über die Anforderung der Bilddaten und sendet dann die in der ersten Ausführungsform beschriebenen Bildverarbeitungsinformationen an die Bildverarbeitungs-Engine 31.
-
Außerdem benachrichtigt die Bildverarbeitungs-Engine 24 für den Fall, dass es gewünscht wird, die Bildverarbeitungs-Engine 31 zu veranlassen, Bilddaten anzuzeigen, die Bildverarbeitungs-Engine 31 über das Anzeigen der Bilddaten und sendet dann die in der zweiten Ausführungsform beschriebenen Bildeinstellungsinformationen an die Bildverarbeitungs-Engine 31.
-
Wie vorstehend beschrieben, umfasst gemäß der zweiten Ausführungsform die Steuerplatine 20 die Videoausgabe-IF 23, und die nachrüstbare Funktionserweiterungsplatine 30B umfasst die Videoausgabe-IF 34. Dementsprechend kann die numerische Steuerung 10B Bilder auf den Displays 11 und 13 anzeigen.
-
Dritte Ausführungsform.
-
Als Nächstes wird eine dritte Ausführungsform unter Bezugnahme auf 5 und 6 beschrieben. In der dritten Ausführungsform sind mehrere numerische Steuerungen miteinander verbunden, und ihre Funktionserweiterungsplatinen tauschen zwischen den numerischen Steuerungen in zeitlicher Synchronisation Informationen über jeden Motor aus. Auch in der dritten Ausführungsform wird die Funktionserweiterungsplatine - ähnlich wie bei der ersten Ausführungsform - nur dann an dem Funktionserweiterungssteckplatz 40 angebracht, wenn eine Verarbeitung durch die Funktionserweiterungsplatine erforderlich ist.
-
5 ist ein Schaubild, das eine Konfiguration eines numerischen Steuerungssystems, das numerische Steuerungen umfasst, gemäß einer dritten Ausführungsform zeigt. Komponenten in 5, welche die gleichen Funktionen wie die des numerischen Steuerungssystems 1B der in 3 gezeigten zweiten Ausführungsform erfüllen, sind mit den gleichen Bezugszeichen versehen, und auf ihre Beschreibung wird verzichtet.
-
Ein numerisches Steuerungssystem 1C umfasst mehrere numerische Steuerungen, mehrere Verstärker und mehrere Motoren. In der dritten Ausführungsform wird das numerische Steuerungssystem 1C beschrieben, das drei numerische Steuerungen 10X, 10Y und 10Z, drei Verstärker 3X, 3Y und 3Z und drei Motoren 2X, 2Y und 2Z umfasst.
-
Die numerischen Steuerungen 10X bis 10Z weisen einander ähnliche Konfigurationen auf. Die Motoren 2X bis 2Z weisen ähnliche Konfigurationen wie der Motor 2 auf, und die Verstärker 3X bis 3Z weisen ähnliche Konfigurationen wie der Verstärker 3 auf.
-
In dem numerischen Steuerungssystem 1C ist die numerische Steuerung 10X mit den numerischen Steuerungen 10Y und 10Z verbunden, und die numerische Steuerung 10Y ist mit der numerischen Steuerung 10Z verbunden. Die numerische Steuerung 10X ist mit dem Verstärker 3X verbunden, und der Verstärker 3X ist mit dem Motor 2X verbunden. In ähnlicher Weise ist die numerische Steuerung 10Y mit dem Verstärker 3Y verbunden, und der Verstärker 3Y ist mit dem Motor 2Y verbunden. In ähnlicher Weise ist die numerische Steuerung 10Z mit dem Verstärker 3Z verbunden, und der Verstärker 3Z ist mit dem Motor 2Z verbunden.
-
Da die numerischen Steuerungen 10X bis 10Z ähnliche Konfigurationen aufweisen, wird hier die Konfiguration der numerischen Steuerung 10X beschrieben. Die numerische Steuerung 10X umfasst die Steuerplatine 20, das Display 11, eine Funktionserweiterungsplatine 30C, die Kamera 12 und das Display 13. Die Funktionserweiterungsplatine 30C umfasst die Bildverarbeitungs-Engine 31, eine Datenkommunikations-Engine 35, die eine Datenkommunikationseinheit ist, den VRAM 32, die Videoeingabe-IF 33, die Videoausgabe-IF 34 und Inter-Vorrichtungs-Kommunikations-IFs 36 und 37.
-
Die Bildverarbeitungs-Engine 31 der Funktionserweiterungsplatine 30C muss keine Bildverarbeitungsfunktion aufweisen. In diesem Fall braucht die Funktionserweiterungsplatine 30C den VRAM 32, die Videoeingabe-IF 33 und die Videoausgabe-IF 34 nicht zu umfassen. Die Bildverarbeitungs-Engine 24 der Steuerplatine 20 muss keine Bildverarbeitungsfunktion aufweisen. In diesem Fall braucht die Steuerplatine 20 die Videoausgabe-IF 23 und den VRAM 25 nicht zu umfassen.
-
Für den Fall, dass die Bildverarbeitungs-Engine 31 die Bildverarbeitungsfunktion nicht umfasst, dient die Bildverarbeitungs-Engine 31 als eine interne Kommunikations-Engine, die mit der Steuerplatine 20 kommuniziert. Für den Fall, dass die Bildverarbeitungs-Engine 24 die Bildverarbeitungsfunktion nicht umfasst, dient die Bildverarbeitungs-Engine 24 als eine interne Kommunikations-Engine, die mit der Funktionserweiterungsplatine 30C kommuniziert.
-
In der dritten Ausführungsform ist die Bildverarbeitungs-Engine 24 eine erste Verarbeitungs-Engine, die eine erste Verarbeitungseinheit ist, und die Bildverarbeitungs-Engine 31 und die Datenkommunikations-Engine 35 sind eine zweite Verarbeitungs-Engine, die eine zweite Verarbeitungseinheit ist.
-
In der numerischen Steuerung 10X umfasst ein Halbleiterchip, der die Bildverarbeitungs-Engine 31 der Funktionserweiterungsplatine 30C umfasst, auch die Datenkommunikations-Engine 35. Die Datenkommunikations-Engine 35 kann einfach in das Innere des Halbleiterchips integriert werden, sofern der Halbleiterchip über ausreichend Schaltungskapazität verfügt.
-
Die Datenkommunikations-Engine 35 weist eine Datenkommunikationsfunktion und eine Datenverarbeitungsfunktion für das Durchführen einer Hochgeschwindigkeitskommunikation zwischen den numerischen Steuerungen 10X bis 10Z auf. Das heißt, die Datenkommunikations-Engine 35 kommuniziert mit einer externen Vorrichtung. Zu Beispielen der Datenkommunikationsfunktion gehören eine Direktspeicherzugriffs (Direct Memory Access, DMA)-Funktion, eine Datenpufferungsfunktion und eine Serialisierer-/Deserialisierer (SerDes)-Funktion. Die Datenkommunikationsfunktion der Datenkommunikations-Engine 35 ist eine dritte Datenkommunikationsfunktion.
-
Zu Beispielen der Datenverarbeitung gehören eine 8B/10B-Konvertierungsverarbeitung, eine Bitfehlerdetektionsverarbeitung und eine Bitfehlerkorrekturverarbeitung. Die numerische Steuerung 10X und die numerische Steuerung 10Y senden Daten zwischen sich über die Inter-Vorrichtungs-Kommunikations-IF 37 der numerischen Steuerung 10X und die Inter-Vorrichtungs-Kommunikations-IF 36 der numerischen Steuerung 10Y. In ähnlicher Weise senden die numerische Steuerung 10Y und die numerische Steuerung 10Z Daten zwischen sich über die Inter-Vorrichtungs-Kommunikations-IF 37 der numerischen Steuerung 10Y und die Inter-Vorrichtungs-Kommunikations-IF 36 der numerischen Steuerung 10Z. In ähnlicher Weise senden die numerische Steuerung 10Z und die numerische Steuerung 10X Daten zwischen sich über die Inter-Vorrichtungs-Kommunikations-IF 37 der numerischen Steuerung 10Z und die Inter-Vorrichtungs-Kommunikations-IF 36 der numerischen Steuerung 10X.
-
Die Inter-Vorrichtungs-Kommunikations-IFs 36 und 37 sind mit einem Halbleiterchip verbunden, der die Bildverarbeitungs-Engine 31 und die Datenkommunikations-Engine 35 umfasst.
-
In 5 ist eine Netztopologie eines Netzes, das die drei numerischen Steuerungen 10X bis 10Z umfasst, ein Ringtyp und ein vollständig verbundener Typ, die Netztopologie kann jedoch auch ein Linientyp oder ein Maschentyp sein. Die Anzahl der numerischen Steuerungen des numerischen Steuerungssystems 1C kann zwei, vier oder mehr betragen.
-
Eine der Hauptfunktionen einer in einer numerischen Steuerung enthaltenen CPU ist eine Motorsteuerungsfunktion. Obgleich mehrere Motoren durch eine CPU einer einzelnen numerischen Steuerung gesteuert werden können, wird eine Obergrenze der Anzahl von Motoren, die durch die einzelne numerische Steuerung gesteuert werden können, in Abhängigkeit von der Leistung der darauf montierten CPU bestimmt.
-
Darüber hinaus ist es auch möglich, die Anzahl der Motoren, die durch die einzelne numerische Steuerung gesteuert werden können, zu erhöhen, indem ein Steuerungszeitraum jedes Motors verlängert wird. Jedoch gibt es trotzdem eine Begrenzung der Anzahl der Motoren, die durch die einzelne numerische Steuerung gesteuert werden können.
-
Daher ist es für den Fall, dass mehr Motoren gesteuert werden müssen, als durch die einzelne numerische Steuerung gesteuert werden können, notwendig, mehrere numerische Steuerungen zu verwenden, um die Anzahl der Motoren, die gesteuert werden können, zu erhöhen. In diesem Fall reicht es nicht aus, einfach die mehreren numerischen Steuerungen bereitzustellen, sondern es ist notwendig, eine zeitliche Synchronisation zwischen den Motoren herzustellen. Im Fall von Motoren, die durch dieselbe numerische Steuerung gesteuert werden, können die Motoren die zeitliche Synchronisation untereinander gewährleisten, da die Motoren durch dieselbe CPU gesteuert werden. Um eine zeitliche Synchronisation zwischen Motoren zu erreichen, die durch verschiedene numerische Steuerungen gesteuert werden, ist es notwendig, eine zeitliche Synchronisation zwischen CPUs der einzelnen numerischen Steuerungen herzustellen. Darüber hinaus muss je nach der Werkzeugmaschine, die durch numerische Steuerungen gesteuert wird, ein Motor, der durch eine CPU einer bestimmten numerischen Steuerung gesteuert wird, nach einem bestimmten Zeitpunkt durch eine CPU einer anderen numerischen Steuerung gesteuert werden. Zu diesem Zweck müssen die CPUs der mehreren numerischen Steuerungen Informationen über einzelne Motoren austauschen. Wie vorstehend beschrieben, ist es für die numerischen Steuerungen notwendig, mit hoher Geschwindigkeit und in zeitlicher Synchronisation miteinander zu kommunizieren, damit die numerischen Steuerungen Motorinformationen austauschen können, das heißt Informationen über Motoren, die durch einzelne numerische Steuerungen erfasst werden.
-
Angesichts dessen kommuniziert in der dritten Ausführungsform die numerische Steuerung 10X mit den numerischen Steuerungen 10Y und 10Z mit hoher Geschwindigkeit unter Verwendung der Datenkommunikations-Engine 35, dergestalt, dass die numerischen Steuerungen 10X bis 10Z jede einzelne Motorinformation in Synchronisation zwischen den Motoren 2X bis 2Z miteinander austauschen.
-
Es wird ein Beispiel für ein Verfahren beschrieben, mit dem eine zeitliche Synchronisation zwischen den mehreren numerischen Steuerungen 10X bis 10Z erreicht wird. Die numerische Steuerung 10X erzeugt in konstanten Intervallen Referenzzeitsignale mit Hilfe eines Zeitgebers (nicht gezeigt), der auf der Steuerplatine 20 oder der Funktionserweiterungsplatine 30C montiert ist.
-
Die numerische Steuerung, welche die Referenzzeitsignale erzeugt, kann die numerische Steuerung 10Y oder die numerische Steuerung 10Z sein. In dem numerischen Steuerungssystem 1C dient eine der numerischen Steuerungen 10X bis 10Z als numerische Master-Steuerung, und die numerische Master-Steuerung erzeugt die Referenzzeitsignale. Die numerische Master-Steuerung wird vom Benutzer im Voraus bestimmt.
-
Die Steuerplatine 20 oder die Funktionserweiterungsplatine 30C zählt die von dem Zeitgeber ausgegebenen Impulse immer um dieselbe Zahl und gibt bei jeder Zählung der Impulse ein Signal aus, wodurch in konstanten Intervallen Referenzzeitsignale erzeugt werden. Die Steuerplatine 20 oder die Funktionserweiterungsplatine 30C setzt den Zähler nach dem Zählen der Impulse um eine spezielle Anzahl auf null zurück.
-
Die Bildverarbeitungs-Engine 31 und die Datenkommunikations-Engine 35 der numerischen Steuerung 10X geben Synchronisationssignale an die Bildverarbeitungs-Engine 31 und die Datenkommunikations-Engine 35 der numerischen Steuerung 10Y in Synchronisation mit den Referenzzeitsignalen aus. Ähnlich der numerischen Steuerung 10X zählen die Bildverarbeitungs-Engine 31 und die Datenkommunikations-Engine 35 der numerischen Steuerung 10Y die Impulse des im Inneren eingebauten Zeitgebers und setzen den Zähler zum Zeitpunkt des Empfangs der von der numerischen Steuerung 10X ausgegebenen Synchronisationssignale auf null zurück. In jeder der numerischen Steuerungen 10X und 10Y arbeiten die Bildverarbeitungs-Engine 31 und die Datenkommunikations-Engine 35 gemäß den Synchronisationssignalen. Die Datenkommunikations-Engine 35 der numerischen Steuerung 10X sendet und empfängt daher die Motorinformationen an die bzw. von der numerischen Steuerung 10Y auf der Grundlage der Synchronisationssignale.
-
Die numerische Steuerung 10X und die numerische Steuerung 10Z können auch durch eine ähnliche Verarbeitung miteinander synchronisiert werden wie die, die zwischen der numerischen Steuerung 10X und der numerischen Steuerung 10Y durchgeführt wird. Infolge dessen ist es möglich, eine zeitliche Synchronisation zwischen den mehreren numerischen Steuerungen 10X bis 10Z zu erreichen.
-
Als Nächstes wird ein Beispiel für ein Verfahren zum Austauschen der einzelnen Motorinformationen zwischen den mehreren numerischen Steuerungen 10X bis 10Z beschrieben. Das im Folgenden beschriebene Verfahren zum Austauschen der Motorinformationen ist lediglich ein Beispiel, und die Motorinformationen können auch durch andere Verfahren ausgetauscht werden.
-
In allen numerischen Steuerungen 10X bis 10Z ist ein gemeinsam genutzter Speicher auf der Steuerplatine 20 mit einer Speicherregion für jede einzelne Motorinformation vorhanden. Der gemeinsam genutzte Speicher kann ein RAM in einem Chip sein, der die Bildverarbeitungs-Engine 24 speichert, oder kann ein anderer Speicher sein. In der folgenden Beschreibung wird die Speicherregion für die einzelnen Motorinformationen als eine Motorinformationsspeicherregion bezeichnet.
-
6 ist ein Schaubild zum Erläutern einer Motorinformationsspeicherregion, die in jeder der numerischen Steuerungen gemäß der dritten Ausführungsform vorhanden ist. Jede der numerischen Steuerungen 10X bis 10Z weist in dem gemeinsam genutzten Speicher eine Motorinformationsspeicherregion 101 auf. In der Motorinformationsspeicherregion 101 werden die Motorinformationen gespeichert. Jede der numerischen Steuerungen 10X bis 10Z definiert, welche numerische Steuerung in welcher Region innerhalb der Motorinformationsspeicherregion 101 Motorinformationen gespeichert hat. Die Speicherregion der Motorinformationen wird durch eine Adresse in dem gemeinsam genutzten Speicher definiert.
-
Das heißt, die Motorinformationsspeicherregion 101 umfasst eine Region, in dem von dem Motor 2X erfasste Motorinformationen (im Folgenden als erste Motorinformationen bezeichnet) gespeichert werden, eine Region, in der von dem Motor 2Y erfasste Motorinformationen gespeichert werden (im Folgenden als zweite Motorinformationen bezeichnet), und eine Region, in der von dem Motor 2Z erfasste Motorinformationen (im Folgenden als dritte Motorinformationen bezeichnet) gespeichert werden. Für den Fall, dass es nicht notwendig ist, zwischen den ersten Motorinformationen, den zweiten Motorinformationen und den dritten Motorinformationen zu unterscheiden, können die ersten Motorinformationen, die zweiten Motorinformationen und die dritten Motorinformationen als Motorinformationen bezeichnet werden.
-
Eine der ersten Motorinformationen, der zweiten Motorinformationen und der dritten Motorinformationen sind erste Vorrichtungsinformationen, und eine andere der ersten Motorinformationen, der zweiten Motorinformationen und der dritten Motorinformationen sind zweite Vorrichtungsinformationen.
-
In den numerischen Steuerungen 10X bis 10Z ist die Region, in der die ersten Motorinformationen gespeichert sind, mit den Identifikationsinformationen der ersten Motorinformationen verknüpft. In ähnlicher Weise ist in den numerischen Steuerungen 10X bis 10Z die Region, in der die zweiten Motorinformationen gespeichert sind, mit den Identifikationsinformationen der zweiten Motorinformationen verknüpft, und die Region, in der die dritten Motorinformationen gespeichert sind, ist mit den Identifikationsinformationen der dritten Motorinformationen verknüpft. Die numerischen Steuerungen 10X bis 10Z speichern die ersten Motorinformationen, die zweiten Motorinformationen und die dritten Motorinformationen in den Motorinformationsspeicherregionen 101 gemäß den vorstehend erwähnten einzelnen Identifikationsinformation.
-
Die durch die numerische Steuerung 10X verwendeten Adressen sind die gleichen wie die durch die numerischen Steuerungen 10Y und 10Z verwendeten Adressen. Das heißt, die Adresse, unter der die durch die numerische Steuerung 10X von dem Motor 2X erfassten Motorinformationen gespeichert werden, ist für die numerischen Steuerungen 10X bis 10Z dieselbe. In ähnlicher Weise ist die Adresse, unter der die durch die numerische Steuerung 10Y von dem Motor 2Y erfassten Motorinformationen gespeichert werden, für die numerischen Steuerungen 10X bis 10Z dieselbe, und die Adresse, unter der die durch die numerische Steuerung 10Z von dem Motor 2Z erfassten Motorinformationen gespeichert werden, ist für die numerischen Steuerungen 10X bis 10Z dieselbe.
-
Die Motorinformationsspeicherregionen 101 der numerischen Steuerungen 10X bis 10Z weisen den gleichen Inhalt auf. Die numerische Steuerung 10X speichert die ersten Motorinformationen, die von dem Motor 2X erfasst wurden, in der Motorinformationsspeicherregion 101 der numerischen Steuerung 10X. In diesem Fall speichert die numerische Steuerung 10X die ersten Motorinformationen in einer Region, die mit den ersten Motorinformationen verknüpft ist, das heißt an einer Adresse, die mit den ersten Motorinformationen verknüpft ist.
-
In ähnlicher Weise speichert die numerische Steuerung 10Y die von dem Motor 2Y erfassten zweiten Motorinformationen in der Motorinformationsspeicherregion 101 der numerischen Steuerung 10Y. In diesem Fall speichert die numerische Steuerung 10Y die zweiten Motorinformationen in einer Region, die mit den zweiten Motorinformationen verknüpft ist, das heißt an einer Adresse, die mit den zweiten Motorinformationen verknüpft ist.
-
In ähnlicher Weise speichert die numerische Steuerung 10Z die von dem Motor 2Z erfassten dritten Motorinformationen in der Motorinformationsspeicherregion 101 der numerischen Steuerung 10Z. In diesem Fall speichert die numerische Steuerung 10Z die dritten Motorinformationen in einer Region, die mit den dritten Motorinformationen verknüpft ist, das heißt an einer Adresse, die mit den dritten Motorinformationen verknüpft ist.
-
Die numerische Steuerung 10X speichert die zweiten Motorinformationen und die dritten Motorinformationen, die von den numerischen Steuerungen 10Y und 10Z erfasst wurden, in der Motorinformationsspeicherregion 101 der numerischen Steuerung 10X. In ähnlicher Weise speichert die numerische Steuerung 10Y die ersten Motorinformationen und die dritten Motorinformationen, die von den numerischen Steuerungen 10X und 10Z erfasst wurden, in der Motorinformationsspeicherregion 101 der numerischen Steuerung 10Y. In ähnlicher Weise speichert die numerische Steuerung 10Z die ersten Motorinformationen und die zweiten Motorinformationen, die von den numerischen Steuerungen 10X und 10Y erfasst wurden, in der Motorinformationsspeicherregion 101 der numerischen Steuerung 10Z. Infolge dessen weisen die Motorinformationsspeicherregionen 101 der numerischen Steuerungen 10X bis 10Z den gleichen Inhalt auf.
-
Als Nächstes wird die Verarbeitung des Aktualisierens der Motorinformationen durch die numerischen Steuerungen 10X bis 10Z beschrieben. Die CPU 22 der numerischen Steuerung 10X aktualisiert die ersten Motorinformationen über den durch die CPU 22 gesteuerten Motor 2X für jeden Steuerungszeitraum. In ähnlicher Weise aktualisiert die CPU 22 der numerischen Steuerung 10Y die zweiten Motorinformationen über den durch die CPU 22 gesteuerten Motor 2Y für jeden Steuerungszeitraum, und die CPU 22 der numerischen Steuerung 10Z aktualisiert die dritten Motorinformationen über den durch die CPU 22 gesteuerten Motor 2Z für jeden Steuerungszeitraum.
-
Die Bildverarbeitungs-Engine 24 der numerischen Steuerung 10X teilt der Bildverarbeitungs-Engine 31 und der Datenkommunikations-Engine 35 der numerischen Steuerung 10X die Identifikationsinformationen über die durch die CPU 22 aktualisierten ersten Motorinformationen mit (im Folgenden als erste Motoridentifikationsinformationen bezeichnet). In der folgenden Beschreibung können die Bildverarbeitungs-Engine 31 und die Datenkommunikations-Engine 35 als eine Engine-Einheit bezeichnet werden.
-
Die Bildverarbeitungs-Engine 24 der numerischen Steuerung 10Y teilt der Engine-Einheit der numerischen Steuerung 10Y die Identifikationsinformationen über die durch die CPU 22 aktualisierten zweiten Motorinformationen mit (im Folgenden als zweite Motoridentifikationsinformationen bezeichnet). In ähnlicher Weise teilt die Bildverarbeitungs-Engine 24 der numerischen Steuerung 10Z der Engine-Einheit der numerischen Steuerung 10Z die Identifikationsinformationen über die durch die CPU 22 aktualisierten dritten Motorinformationen mit (im Folgenden als dritte Motoridentifikationsinformationen bezeichnet). Für den Fall, dass es nicht notwendig ist, zwischen den ersten Motoridentifikationsinformationen, den zweiten Motoridentifikationsinformationen und den dritten Motoridentifikationsinformationen zu unterscheiden, können die ersten Motoridentifikationsinformationen, die zweiten Motoridentifikationsinformationen und die dritten Motoridentifikationsinformationen als Motoridentifikationsinformationen bezeichnet werden.
-
Die Engine-Einheit der numerischen Steuerung 10X liest die ersten Motorinformationen, die den mitgeteilten ersten Motoridentifikationsinformationen entsprechen, aus der Motorinformationsspeicherregion 101, die in dem gemeinsam genutzten Speicher der Steuerplatine 20 gespeichert ist. Die Datenkommunikations-Engine 35 sendet an die Engine-Einheiten der numerischen Steuerungen 10Y und 10Z Motorverknüpfungsinformationen, in denen die gelesenen ersten Motorinformationen und die ersten Motoridentifikationsinformationen miteinander verknüpft sind.
-
Ähnlich der Engine-Einheit der numerischen Steuerung 10X sendet die Engine-Einheit der numerischen Steuerung 10Y an die Engine-Einheiten der numerischen Steuerungen 10X und 10Z Motorverknüpfungsinformationen, in denen die zweiten Motorinformationen und die zweiten Motoridentifikationsinformationen miteinander verknüpft sind.
-
Ähnlich der Engine-Einheit der numerischen Steuerung 10X sendet die Engine-Einheit der numerischen Steuerung 10Z an die Engine-Einheiten der numerischen Steuerungen 10X und 10Y Motorverknüpfungsinformationen, in denen die dritten Motorinformationen und die dritten Motoridentifikationsinformationen miteinander verknüpft sind.
-
Die Engine-Einheit der numerischen Steuerung 10X überschreibt auf der Grundlage der empfangenen zweiten Motoridentifikationsinformationen die empfangenen zweiten Motorinformationen in einer Region, in der die zweiten Motorinformationen in der Motorinformationsspeicherregion 101 gespeichert sind.
-
Darüber hinaus überschreibt die Engine-Einheit der numerischen Steuerung 10X auf der Grundlage der empfangenen dritten Motoridentifikationsinformationen die empfangenen dritten Motorinformationen in einer Region, in der die dritten Motorinformationen in der Motorinformationsspeicherregion 101 gespeichert sind.
-
Ähnlich der numerischen Steuerung 10X überschreibt die numerische Steuerung 10Y auf der Grundlage der empfangenen ersten Motoridentifikationsinformationen die empfangenen ersten Motorinformationen in einer Region, in der die ersten Motorinformationen gespeichert sind. Darüber hinaus überschreibt die numerische Steuerung 10Y auf der Grundlage der empfangenen dritten Motoridentifikationsinformationen die empfangenen dritten Motorinformationen in einer Region, in der die dritten Motorinformationen gespeichert sind.
-
Ähnlich der numerischen Steuerung 10X überschreibt die numerische Steuerung 10Z auf der Grundlage der empfangenen ersten Motoridentifikationsinformationen die empfangenen ersten Motorinformationen in einer Region, in der die ersten Motorinformationen gespeichert sind. Darüber hinaus überschreibt die numerische Steuerung 10Z auf der Grundlage der empfangenen zweiten Motoridentifikationsinformationen die empfangenen zweiten Motorinformationen in einer Region, in der die zweiten Motorinformationen gespeichert sind.
-
Das numerische Steuerungssystem 1C wiederholt für jeden Steuerungszeitraum eine Motorinformationserfassungsverarbeitung, eine Verarbeitung zum Benachrichtigen einer anderen numerischen Steuerung über eine Verknüpfungsbeziehung zwischen Motoridentifikationsinformationen und Motorinformationen, eine Motorinformationen-Aktualisierungsverarbeitung und eine Motorinformationen-Überschreibverarbeitung. Infolge dessen kann jede der numerischen Steuerungen 10X bis 10Z einen Motor übernehmen, der durch die CPU 22 einer anderen numerischen Steuerung bis zu einem bestimmten Steuerungszeitraum gesteuert wurde, und diesen Motor danach steuern.
-
Die numerischen Steuerungen 10X bis 10Z steuern die Motoren 2X bis 2Z auf der Grundlage der ersten Motorinformationen, der zweiten Motorinformationen und der dritten Motorinformationen, die in den Motorinformationsspeicherregionen 101 gespeichert sind. In diesem Fall sendet jede der numerischen Steuerungen 10X bis 10Z ein Motorsteuerungsbefehlssignal an eine andere numerische Steuerung unter Verwendung der Datenkommunikations-Engine 35. Beim Empfang des Motorsteuerungsbefehlssignals sendet die andere numerische Steuerung das Motorsteuerungsbefehlssignal an den Verstärker.
-
Zum Beispiel erzeugt für den Fall, dass die numerische Steuerung 10X den Motor 2Y steuert, die CPU 22 der numerischen Steuerung 10X ein Befehlssignal zum Steuern des Motors 2Y. Das Befehlssignal wird über die Bildverarbeitungs-Engine 24 und die Inter-Engine-Kommunikationsbusse 26 und 38 in der numerischen Steuerung 10X an die Datenkommunikations-Engine 35 gesendet. Dann sendet die Datenkommunikations-Engine 35 das Befehlssignal zum Steuern des Motors 2Y von der Inter-Vorrichtungs-Kommunikations-IF 37 an die Inter-Vorrichtungs-Kommunikations-IF 36 der numerischen Steuerung 10Y.
-
In der numerischen Steuerung 10Y empfängt die Datenkommunikations-Engine 35 von der Inter-Vorrichtungs-Kommunikations-IF 36 das Befehlssignal zum Steuern des Motors 2Y. Die Datenkommunikations-Engine 35 sendet das Befehlssignal zum Steuern des Motors 2Y über die Inter-Engine-Kommunikationsbusse 38 und 26 und die Bildverarbeitungs-Engine 24 an die CPU 22. Die CPU 22 sendet das Befehlssignal zum Steuern des Motors 2Y von der Motorsteuerungskommunikations-IF 21 an den Verstärker 3Y, und der Verstärker 3Y treibt den Motor 2Y gemäß dem Befehlssignal zum Steuern des Motors 2Y an.
-
Wie vorstehend beschrieben, wird das Befehlssignal zwischen den numerischen Steuerungen 10X bis 10Z unter Verwendung der Datenkommunikations-Engines 35 senden und empfangen.
-
Obgleich eine CPU oder eine Bildverarbeitungs-Engine auf einer Steuerplatine für die zeitliche Synchronisation der Kommunikation zwischen mehreren numerischen Steuerungen und für den Austausch von Motorinformationen zwischen ihnen sorgen kann, ist eine Steuerplatine, die für die Ermöglichung einer solchen zeitlichen Synchronisation und eines solchen Austauschs erforderlich ist, teuer. Die CPU und die Bildverarbeitungs-Engine auf der Steuerplatine, die standardmäßig auf allen numerischen Steuerungen montiert sind, sind zweckmäßigerweise so kostengünstig wie möglich und sind auch auf die mindestens notwendige Hardware beschränkt.
-
In dem numerischen Steuerungssystem 1C ist es für den Fall, dass es notwendig ist, die mehreren numerischen Steuerungen 10X bis 10Z miteinander zu verbinden, lediglich erforderlich, die Funktionserweiterungsplatine 30C anzubringen, so dass die Kosten für die standardmäßig erforderliche Hardware reduziert werden können.
-
Da die Funktionserweiterungsplatine 30C alle Komponenten der Funktionserweiterungsplatinen 30A und 30B umfasst, kann die Funktionserweiterungsplatine 30C eine Verarbeitung wie mit den Funktionserweiterungsplatinen 30A und 30B ausführen. Die Bildverarbeitungs-Engine 24 weist in diesem Fall eine Funktion des Umschaltens der durch die Engine-Einheit auszuführenden Verarbeitung auf. Die Bildverarbeitungs-Engine 24 teilt der Engine-Einheit mit, welche Verarbeitung auszuführen ist, und sendet dann die Bildverarbeitungsinformationen, die Bildeinstellungsinformationen oder die Motorverknüpfungsinformationen an die Engine-Einheit.
-
Das heißt, für den Fall des Anforderns von Bilddaten von der Engine-Einheit benachrichtigt die Bildverarbeitungs-Engine 24 die Engine-Einheit über die Anforderung der Bilddaten und sendet dann die in der ersten Ausführungsform beschriebenen Bildverarbeitungsinformationen an die Engine-Einheit.
-
Außerdem benachrichtigt die Bildverarbeitungs-Engine 24 für den Fall, dass es gewünscht wird, die Engine-Einheit zu veranlassen, Bilddaten anzuzeigen, die Engine-Einheit über das Anzeigen der Bilddaten und sendet dann die in der zweiten Ausführungsform beschriebenen Bildeinstellungsinformationen an die Engine-Einheit.
-
Außerdem benachrichtigt die Bildverarbeitungs-Engine 24 für den Fall, dass es gewünscht wird, die Engine-Einheit zu veranlassen, die Motorverknüpfungsinformationen nach draußen zu senden, die Engine-Einheit über das Senden der Motorverknüpfungsinformationen nach draußen und sendet dann die in der dritten Ausführungsform beschriebenen Motoridentifikationsinformationen an die Engine-Einheit. Infolge dessen liest die Engine-Einheit die Motorinformationen von der Steuerplatine 20 auf der Grundlage der Motoridentifikationsinformationen und sendet die Motorverknüpfungsinformationen an die numerischen Steuerungen 10Y und 10Z.
-
Wie vorstehend beschrieben, umfasst gemäß der dritten Ausführungsform die nachrüstbare Funktionserweiterungsplatine 30C die Datenkommunikations-Engine 35. Infolge dessen können die numerischen Steuerungen 10X bis 10Z eine Datenkommunikation miteinander durchführen, so dass die jeweiligen Funktionserweiterungsplatinen 30C die Motorinformationen der Motoren 2X bis 2Z zwischen den numerischen Steuerungen 10X bis 10Z austauschen können, während sie gleichzeitig eine zeitliche Synchronisation untereinander sicherstellen. Daher können die numerischen Steuerungen 10X bis 10Z jeden der Motoren 2X bis 2Z steuern.
-
Die in den obigen Ausführungsformen beschriebenen Konfigurationen sind lediglich Beispiele und können mit anderen bekannten Technologien kombiniert werden; die Ausführungsformen können miteinander kombiniert werden; und ein Teil der Konfigurationen kann weggelassen oder modifiziert werden, ohne dass von ihrem Wesen abgewichen wird.
-
Bezugszeichenliste
-
- 1A bis 1C
- numerisches Steuerungssystem;
- 2, 2X bis 2Z
- Motor;
- 3, 3X bis 3Z
- Verstärker;
- 10A, 10B, 10X bis 10Z
- numerische Steuerung;
- 11, 13
- Display;
- 12
- Kamera;
- 20
- Steuerplatine;
- 21
- Motorsteuerungskommunikations-IF;
- 22
- CPU;
- 23,34
- Videoausgabe-IF;
- 24,31
- Bildverarbeitungs-Engine;
- 25, 32
- VRAM;
- 26,38
- Inter-Engine-Kommunikationsbus;
- 27
- Speicher;
- 30A bis 30C
- Funktionserweiterungsplatine;
- 33
- Videoeingabe-IF;
- 35
- Datenkommunikations-Engine;
- 36,37
- Inter-Vorrichtungs-Kommunikations-IF;
- 40
- Funktionserweiterungssteckplatz;
- 101
- Motorinformationsspeicherregion.
-
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
-