-
Die vorliegende Erfindung bezieht sich auf ein Elektromotorsteuersystem und ein Kommunikationsverfahren.
-
Hintergrund
-
Bei einem konventionellen Elektromotorsteuersystem sind eine Mehrzahl von Elektromotorsteuervorrichtungen, die jeweils für eine Mehrzahl von Elektromotoren vorgesehen sind, und eine Steuervorrichtung auf oberem Niveau, welche die Elektromotorsteuervorrichtungen steuert, miteinander über ein Netzwerk verbunden. Als ein Befehlskommunikationssystem zwischen der Steuervorrichtung oberen Niveaus und der Elektromotorsteuervorrichtung in solch einer Elektromotorsteuervorrichtung ist eine Technik bekannt gewesen, bei der ein Positionierungsbefehl aus der Steuervorrichtung oberen Niveaus zu der Elektromotorsteuervorrichtung im ersten Schritt gesendet wird, ein Startbefehl aus der Steuervorrichtung oberen Niveaus zur Elektromotorsteuervorrichtung im zweiten Schritt übertragen wird und beim Empfangen des Startbefehls die Elektromotorsteuervorrichtung den Elektromotor antreibt (siehe beispielsweise Patentliteratur 1).
-
Als ein anderes Befehlskommunikationssystem zwischen der Steuervorrichtung oberen Niveaus und der Elektromotorsteuervorrichtung ist beispielsweise eine Technik bekannt gewesen, bei der ein sequentieller Befehl aus der Steuervorrichtung oberen Niveaus zu der Elektromotorsteuervorrichtung für jeden Steuerzyklus übertragen wird, um den Elektromotor anzutreiben (siehe zum Beispiel Patentliteratur 2).
-
Zitateliste
-
Patentliteraturen
-
- Patentliteratur 1: Japanische Patentoffenlegungsschrift Nr. 2001-242923
- Patentliteratur 2: Japanische Patentoffenlegungsschrift Nr. H9-73310
-
ZUSAMMENFASSUNG
-
Technisches Problem
-
Jedoch kann in dem in Patentliteratur 1 beschriebenen Befehlskommunikationssystem eine Operation eines Positionierungsbefehls, der durch eine einzelne Kommunikation übertragen wird, nur mit einem einzelnen Startbefehl durchgeführt werden, was zu einem Problem dahingehend führt, dass ein Betrieb einer sukzessiven langen Sequenz von Positionierungsbefehlen nicht durchgeführt werden kann. Weiterhin, wenn eine Befehlskommunikation aufgrund von Rauschen oder dergleichen scheitert, sollte der Befehl wieder gesendet werden, was ein Problem damit verursacht, dass ein Start des Elektromotors um eine Zeit verzögert wird, in der der Befehl wieder-gesendet wird.
-
Weiterhin ist es im in Patentliteratur 2 beschriebenen Befehlskommunikationssystem, wenn die Befehlskommunikation aufgrund von Rauschen oder dergleichen scheitert, die einzige Alternative für die Elektromotorsteuervorrichtung, eine Steuerung basierend auf einem zuletzt empfangenen, alten Befehl auszuführen, was ein Problem verursacht, dass ein Fehler erzeugt wird.
-
Die vorliegende Erfindung ist im Hinblick auf die obigen Probleme gemacht worden und es ist eine Aufgabe der vorliegenden Erfindung, ein Elektromotorsteuersystem und ein Kommunikationsverfahren bereitzustellen, die eine Operation einer sukzessiven langen Sequenz von Positionierungsbefehlen durchführen, selbst wenn die Befehlskommunikation aufgrund von Rauschen oder dergleichen ausfällt.
-
Problemlösung
-
Um die obige Aufgabe zu erreichen, beinhaltet ein Elektromotorsteuersystem der vorliegenden Erfindung eine Elektromotorsteuervorrichtung, die einen Elektromotor steuert, und eine Steuervorrichtung oberen Niveaus, welche die Elektromotorsteuervorrichtung steuert, wobei die Elektromotorsteuervorrichtung und die Steuervorrichtung oberen Levels miteinander über ein Netzwerk verbunden sind, die Steuervorrichtung oberen Niveaus konfiguriert ist, einen Befehl zum Antreiben des Elektromotors an die Elektromotorsteuervorrichtung zu senden und die Elektromotorsteuervorrichtung konfiguriert ist, den Elektromotor basierend auf dem Befehl zu steuern, um ein Antriebszielobjekt durch den Elektromotor zu einer Zielposition anzutreiben. Die Steuervorrichtung oberen Niveaus beinhaltet eine Kommunikationssteuereinheit, die einen Befehl sendet, der verwendet wird, nachdem ein Befehl, der aktuell ausgeführt wird und eine Ausführungsreihenfolge enthält, verwendet wird, an die Elektromotorsteuervorrichtung, während die Elektromotorsteuervorrichtung eine Antriebssteuerung des Elektromotors durchführt. Die Elektromotor-Steuervorrichtung beinhaltet eine Befehlsspeichereinheit, die konfiguriert ist, eine Mehrzahl von Befehlen zu speichern, eine Kommunikationssteuereinheit, die den aus der Steuervorrichtung oberen Niveaus empfangenen Befehl in der Befehlsspeichereinheit in der Ausführungsreihenfolge speichert, und eine Befehlsnachfolgesteuereinheit, die eine Nachfolgesteuerung des Elektromotors, basierend auf dem Befehl, durchführt. Wenn die Befehlsspeichereinheit voll mit Befehlen gefüllt ist, speichert die Kommunikationssteuereinheit der Elektromotor-Steuervorrichtung einen neu empfangenen Befehl in der Befehlsspeichereinheit durch Überschreiben des neu empfangenen Befehls in einem Bereich, wo ein ausgeführter Befehl gespeichert ist.
-
Vorteilhafte Effekte der Erfindung
-
Gemäß der vorliegenden Erfindung ist eine Steuervorrichtung oberen Niveaus konfiguriert, einen Positionierungsbefehl, der einem Positionierungsbefehl, der in der nächsten Steuerung zu verwenden ist, vorhergeht, an eine Elektromotor-Steuervorrichtung während eines Betriebs des Elektromotors zu senden, und somit kann eine sukzessive lange Sequenz von Positionierungsbefehlen ausgeführt werden, ohne eine Befehlsoperation zu beeinträchtigen, die aktuell ausgeführt wird, selbst wenn die Befehlskommunikation aufgrund von Rauschen oder dergleichen scheitert und eine Wiederübertragung des Befehls durchgeführt wird.
-
Kurze Beschreibung von Zeichnungen
-
1 ist ein Blockdiagramm, das schematisch ein Beispiel einer Konfiguration einer Elektromotor-Steuervorrichtung gemäß einer ersten Ausführungsform darstellt.
-
2 ist ein Beispiel eines aus einer Steuervorrichtung oberen Niveaus an eine Elektromotor-Steuervorrichtung gesendeten Befehls.
-
3 ist ein Beispiel einer Punkttabelle.
-
4 ist ein Flussdiagramm eines Beispiels einer Prozedur eines Positionierungsbefehleinstellprozesses des Elektromotor-Steuersystems gemäß der ersten Ausführungsform.
-
5 ist ein Flussdiagramm eines Beispiels einer Prozedur eines Positionierungsbefehlausführprozesses des Elektromotor-Steuersystems gemäß der ersten Ausführungsform.
-
6 ist ein Beispiel einer Befehlsposition eines Antriebszielobjekts.
-
7 stellt Beispiele einer Beziehung zwischen einer Geschwindigkeit und einer Zeit dar, mit Beschleunigungs-/Verlangsamungszeiten in jedem der in 6 gezeigten Abschnitten justiert.
-
8 zeigt Beispiele eines Positionierungsbefehls.
-
9 ist ein Beispiel einer Befehlsposition eines Antriebszielobjekts.
-
10 ist ein Blockdiagramm, welches schematisch ein Beispiel einer Konfiguration eines Elektromotor-Steuersystems gemäß einer zweiten Ausführungsform der vorliegenden Erfindung.
-
11 ist ein Beispiel eines sequentiellen Befehls.
-
12 ist ein Beispiel einer sequentiellen Befehlstabelle.
-
13 ist ein Flussdiagramm eines Beispiels einer Prozedur eines Positionierungsprozesses eines Elektromotor-Steuersystems gemäß einer zweiten Ausführungsform.
-
Beschreibung von Ausführungsformen
-
Beispielhafte Ausführungsformen eines Elektromotor-Steuersystems und eines Kommunikationsverfahrens gemäß der vorliegenden Erfindung werden unten im Detail unter Bezugnahme auf die beigefügten Zeichnungen erläutert. Die vorliegende Erfindung ist nicht auf die Ausführungsformen beschränkt.
-
Erste Ausführungsform
-
1 ist ein Blockdiagramm, welches schematisch ein Beispiel einer Konfiguration eines Elektromotorsteuersystems gemäß der ersten Ausführungsform der vorliegenden Erfindung darstellt. Im Elektromotorsteuersystem sind eine Steuervorrichtung oberen Niveaus 10, die einen Positionierungsbefehl erzeugt, der Quelldaten zum Steuern eines Elektromotors 20 ist, der Elektromotor 20, der ein Steuerzielobjekt ist, und ein Elektromotor-Steuervorrichtung 30, welche den Positionierungsbefehl aus der Steuervorrichtung oberen Niveaus 10 speichert und eine Positionierungssteuerung des Elektromotors 20 durchführt, basierend auf einem aus der Steuervorrichtung oberen Niveaus 10 getrennt von dem Positionierungsbefehl gesendeten Startbefehls, miteinander über ein Netzwerk 40 verbunden.
-
In diesem Beispiel sind drei Elektromotor-Steuervorrichtungen 30-1 bis 30-3 mit der Steuervorrichtung oberen Niveaus 10 verbunden, und sind Elektromotoren 20-1 bis 20-3 jeweils mit den Elektromotor-Steuervorrichtungen 30-1 bis 30-3 verbunden. Jeder der Elektromotoren 20-1 bis 20-3 beinhaltet beispielsweise einen Servomotor als eine Steuerungszielvorrichtung und einen Geber, welcher die Position und Geschwindigkeit des Servomotors detektiert. Eine Mehrzahl von Servomotoren werden in einer Apparatur (einem Antriebszielobjekt) verwendet, das Mehrachsensteuerung verwendet, wie etwa ein Roboter oder eine Werkzeugmaschine, und die Servomotoren werden gesteuert, synchron zueinander zu arbeiten.
-
Die Steuervorrichtung oberen Niveaus 10 beinhaltet eine Befehlseingabeeinheit 11, eine Beschleunigungs-/Verlangsamungs-Zeitjustiereinheit 12, eine Startbefehlserzeugungseinheit 13 und eine Kommunikationssteuereinheit 14. Die Befehlseingabeeinheit 11 gibt Befehlserzeugungsinformationen einschließlich Positionsinformationen, die eine Position anzeigen, wo das Antriebszielobjekt (ein Referenzort desselben) zu einer bestimmten Zeit existiert, Geschwindigkeitsinformationen, welche eine Geschwindigkeit in einem Prozess des Ankommens an der Position anzeigen, und dergleichen ein. Beispielsweise wird die Befehlserzeugungsinformation durch einen Bediener des Elektromotorsteuersystems eingegeben.
-
Die Beschleunigungs-/Verlangsamungs-Zeitjustiereinheit 12 erzeugt einen Positionierungsbefehl für jeden der Elektromotoren 20-1 bis 20-3, basierend auf der eingegebenen Positionsinformationen und den eingegebenen Geschwindigkeitsinformationen. In diesem Fall wird der Positionierungsbefehl, in welchem eine Beschleunigung auf solche Weise eingestellt wird, dass Beschleunigungszeiten und/oder Verlangsamungszeiten (nachfolgend ”Beschleunigungs-/Verlangsamungszeiten”) der Mehrzahl von Elektromotoren 20-1 bis 20-3, die zu synchronisieren sind, zueinander passen, für jeden der Elektromotoren 20-1 bis 20-3 erzeugt.
-
2 ist ein Beispiel eines aus der Steuervorrichtung oberen Niveaus an eine Elektromotorsteuervorrichtung gesendeten Befehls. Der Positionierungsbefehl beinhaltet beispielsweise eine Identifikationsnummer zum Identifizieren des Positionierungsbefehls, eine Bewegungsdistanz zu einer Zielposition eines Antriebszielobjektes in einem gewissen Abschnitt, eine Geschwindigkeit des Antriebszielobjekts im Abschnitt, eine Beschleunigungszeit beim Beschleunigen im Abschnitt, eine Verlangsamungszeit beim Verlangsamen im Abschnitt, Fortsetzungsinformationen zum Bestimmen, ob der nächste Positionierungsbefehl kontinuierlich auszuführen ist (Fortsetzen/Abschließen) und eine Stoppzeit, die eine Wartezeit bei Nichtfortsetzung ist. Jedoch ist dies lediglich ein Beispiel, so dass eine für das Antriebszielobjekt eingestellte Koordinatenposition anstelle der Bewegungsdistanz verwendet werden kann und die Beschleunigung anstelle der Beschleunigungszeit und der Verlangsamungszeit verwendet werden kann. Weiterhin, wenn der nächste Positionierungsbefehl kontinuierlich ausgeführt wird, kann ein negativer Wert an der Wartezeit eingestellt werden, ohne die Fortsetzungsinformation zu verwenden. Weiterhin ist die Bewegungsdistanz oder die Koordinatenposition Zielpositionsinformation, und die Beschleunigungszeit, die Verlangsamungszeit oder die Beschleunigung ist Beschleunigungs-/Verlangsamungsinformation. Der Positionierungsbefehl wird für jeden der Elektromotorsteuervorrichtungen 30-1 bis 30-3, die mit der Steuervorrichtung oberen Niveaus 10 verbunden sind, erzeugt.
-
Die Startbefehlserzeugungseinheit 13 sendet einen Startbefehl zum Anweisen der Ausführung eines Positionierungsbefehls an die Elektromotorsteuervorrichtungen 30-1 bis 30-3, an welche der Positionierungsbefehl gesendet wird. Wie in 2 gezeigt, beinhaltet der Startbefehl beispielsweise eine Identifikationsnummer zum Identifizieren des Positionierungsbefehls.
-
Die Kommunikationssteuereinheit 14 steuert Senden und Empfangen von Daten, die mit den Elektromotorsteuervorrichtungen 30-1 bis 30-3 innerhalb des Netzwerk 40 durchgeführt werden. Beispielsweise sendet die Kommunikationssteuereinheit 14 den durch die Beschleunigungs-/Verlangsamungs-Zeitjustiereinheit 12 erzeugten Positionierungsbefehl an jede der Elektromotorsteuervorrichtungen 30-1 bis 30-3 und sendet den durch die Startbefehlserzeugungseinheit 13 erzeugten Startbefehl an jede der Elektromotorsteuervorrichtungen 30-1 bis 30-3 nach Senden des Positionierungsbefehls. Die Kommunikationssteuereinheit 14 sendet den Positionierungsbefehl an die Elektromotoren 20-1 bis 20-3 vorab. Jedoch ist das Sende-Timing optional, so dass beispielsweise die Kommunikationssteuereinheit 14 eine Mehrzahl von durch die Beschleunigungs-/Verlangsamungs-Zeitjustiereinheit 12 vorab erzeugten Positionierungsbefehlen senden kann, bevor die Elektromotoren 20-1 bis 20-3 angetrieben werden, oder einen Positionierungsbefehl senden kann, der einem Positionierungsbefehl vorausgeht, der aktuell während eines Betriebs der Elektromotorsteuervorrichtungen 30-1 bis 30-3 ausgeführt wird.
-
Jede der Elektromotorsteuervorrichtungen 30-1 bis 30-3 beinhaltet eine Kommunikationssteuereinheit 31, eine Positionierungsbefehlspeichereinheit 32, eine Beschleunigungs-/Verlangsamungsbefehls-Erzeugungseinheit 33 und eine Befehlsnachfolgesteuereinheit 34. Die Kommunikationssteuereinheit 31 führt Senden und Empfangen von Daten mit der Steuervorrichtung oberen Niveaus 10 und der anderen mit dem Netzwerk 40 verbundenen Elektromotor-Steuervorrichtung 30 durch.
-
Die Positionierungsbefehlspeichereinheit 32 speichert den aus der Steuervorrichtung oberen Niveaus 10 empfangenen Positionierungsbefehl. Die Positionierungsbefehlspeichereinheit 32 hat eine hinreichend große Kapazität zum Speichern einer Mehrzahl von Positionierungsbefehlen, nicht nur eines Positionierungsbefehl. Beispielsweise speichert die Positionierungsbefehlspeichereinheit 32 eine Punkttabelle, in der eine Mehrzahl von Positionierungsbefehlen sequentiell angeordnet sind. 3 ist ein Beispiel der Punkttabelle. In diesem Beispiel ist die Punkttabelle konfiguriert, 255 Positionierungsbefehlen zu speichern. Die Punkttabelle beinhaltet Felder der Identifikationsnummer jedes Positionierungsbefehls, der Bewegungsdistanz, der Geschwindigkeit, der Beschleunigungszeit, der Verlangsamungszeit, der Stoppzeit und der Fortsetzungsinformation. In 3 zeigt ”1” der Fortsetzungsinformation ”Fortsetzen” an und zeigt ”0” ”Nicht Fortsetzen” an. In dieser Punkttabelle werden die Positionierungsbefehle in der Reihenfolge ab dem Anfang der Tabelle gespeichert und wenn die letzte Zeile der Tabelle erreicht wird, kehrt die Speicherreihenfolge wieder nach oben zurück, so dass die Positionierungsbefehle gespeichert werden, um die alten Daten zu überschreiben. Weiterhin wird in dieser Punkttabelle ein Positionierungsbefehl vorab gespeichert, bevor ein Betriebsprozess der Elektromotorsteuervorrichtungen 30-1 bis 30-3 oder eine Positionierung, die nachfolgend einem Positionierungsbefehl, der aktuell ausgeführt wird, durchgeführt, wenn der Betriebsprozess der Elektromotorsteuervorrichtungen 30-1 bis 30-3 durchgeführt wird. 3 stellt einen Fall dar, wenn ein Positionierungsbefehl der Identifikationsnummer Nr. 2 während der Ausführung eines Positionierungsbefehls der Identifikationsnummer Nr. 102 aktualisiert wird.
-
Die Beschleunigungs-/Verlangsamungsbefehls-Erzeugungseinheit 33 erzeugt einen Positionsbefehl, der ein sequentieller Befehl für jeden Steuerzyklus (ein Abtastzeitraum) ist, aus der Bewegungsdistanz, der Geschwindigkeit und der Beschleunigungs-/Verlangsamungszeit, die im Positionierungsbefehl in der durch den Startbefehl aus der Steuervorrichtung oberen Niveaus 10 spezifizierten Positionierungsbefehlspeichereinheit 32 enthalten ist, und gibt den Positionsbefehl an die Befehlsnachfolgesteuereinheit 34 aus. Der Positionsbefehl beinhaltet Informationen, die durch einen Bewegungsbetrag oder eine Koordinatenposition in einem Sequentiellbefehlssteuerabschnitt angezeigt sind, der durch weiteres Unterteilen eines Abschnitts, der durch den Positionierungsbefehl definiert ist, erhalten wird. Wenn ein Positionierungsbefehl in der Punkttabelle abgeschlossen ist, bezieht sich die Beschleunigungs-/Verlangsamungsbefehls-Erzeugungseinheit 33 auf die Fortsetzungsinformation im entsprechenden Positionierungsbefehl in der Positionierungsbefehlspeichereinheit 32, um zu überprüfen, ob die Fortsetzungsinformation auf ”Fortsetzen” eingestellt ist. Wenn die Fortsetzungsinformation auf ”Fortsetzen” eingestellt ist, erzeugt die Beschleunigungs-/Verlangsamungsbefehls-Erzeugungseinheit 33 kontinuierlich einen Positionsbefehl für jeden Steuerzyklus für den nächsten Positionierungsbefehl in der Punkttabelle. Wenn die Fortsetzung nicht auf ”Fortsetzen” eingestellt ist, stoppt die Beschleunigungs-/Verlangsamungsbefehls-Erzeugungseinheit 33 den Prozess bei dem Positionierungsbefehl, der aktuell ausgeführt wird, und gibt eine Anweisung an die Elektromotoren 20-1 bis 20-3 aus, eine Zeit lang zu warten, welche durch die Wartezeit spezifiziert ist.
-
Die Befehlsnachfolgesteuereinheit 34 führt eine Zufuhrvorwärtssteuerung und eine Rückzufuhrsteuerung basierend auf dem durch die Beschleunigungs-/Verlangsamungsbefehls-Erzeugungseinheit 33 erzeugten Positionierungsbefehl aus, um die Elektromotoren 20-1 bis 20-3 zu steuern.
-
Ein Positionierungsbefehlseinstellprozess und ein Positionierungsbefehlsausführprozess im Elektromotorsteuersystem werden als Nächstes erläutert. 4 ist ein Flussdiagramm eines Beispiels einer Prozedur des Positionierungsbefehlseinstellprozesses des Elektromotorsteuersystems gemäß der ersten Ausführungsform. Zuerst, wenn die, die Positionsinformationen und die Geschwindigkeitsinformationen beinhaltenden Befehlserzeugungsinformationen an der Steuervorrichtung oberen Niveaus 10 über die Befehlseingabeeinheit 11 eingegeben werden (Schritt S11), erzeugt die Beschleunigungs-/Verlangsamungs-Zeitjustiereinheit 12 den Positionierungsbefehl, in welchem die Beschleunigung auf solche Weise justiert ist, dass die Beschleunigungs-/Verlangsamungszeiten der Mehrzahl von Elektromotoren 20-1 bis 20-3, die zu synchronisieren sind, zueinander passen, für jeden der Elektromotoren 20-1 bis 20-3 (Schritt S12). Die Beschleunigungs-/Verlangsamungs-Zeitjustiereinheit 12 sendet dann den Positionierungsbefehl an die Elektromotorsteuervorrichtungen 30-1 bis 30-3 (Schritt S13). Wenn der Positionierungsbefehl empfangen wird (Schritt S14), speichert jede der Elektromotorsteuervorrichtungen 30-1 bis 30-3 sequentiell empfangene Positionierungsbefehle in der Positionierungsbefehlspeichereinheit 32 (Schritt S15). Mit diesen Operationen ist der Positionierungsbefehlseinstellprozess abgeschlossen.
-
5 ist ein Flussdiagramm eines Beispiels einer Prozedur des Positionierungsbefehlsausführprozesses des Elektromotorsteuersystems gemäß der ersten Ausführungsform.
-
Zuerst sendet die Startbefehlserzeugungseinheit 13 der Steuervorrichtung oberen Niveaus 10 den Startbefehl an die Elektromotorsteuervorrichtungen 30-1 bis 30-3 (Schritt S31). Der Startbefehl beinhaltet Informationen wie etwa Identifikationsnummern zum Identifizieren des Positionierungsbefehls, mit dem der Prozess durchgeführt wird, und dergleichen. Der Startbefehl wird an alle Elektromotorsteuervorrichtungen 30-1 bis 30-3 gesendet.
-
Wenn der Startbefehl empfangen wird (Schritt S32), ruft jede der Elektromotorsteuervorrichtungen 30-1 bis 30-3 den Positionierungsbefehl auf, welcher der in dem Startbefehl enthaltenen Identifikationsnummer entspricht (Schritt S33) und der Positionierungsbefehl wird an die Beschleunigungs-/Verlangsamungsbefehls-Erzeugungseinheit 33 gesendet. Die Beschleunigungs-/Verlangsamungsbefehls-Erzeugungseinheit 33 erzeugt den Positionierungsbefehl für jeden Steuerzyklus, basierend auf dem Positionierungsbefehl (Schritt S34) und gibt den Positionierungsbefehl an die Elektromotoren 20-1 bis 20-3 aus, um die Elektromotoren 20-1 bis 20-3 anzutreiben (Schritt S35).
-
Danach bestimmt die Beschleunigungs-/Verlangsamungsbefehls-Erzeugungseinheit 33, ob alle Positionsbefehle für einen Positionierungsbefehl in der Positionierungsbefehlspeichereinheit 32 erzeugt sind (Schritt S36). Dies kann beispielsweise durch Unterteilen eines durch den Positionierungsbefehl definierten Abschnitts in Sequentiellbefehlssteuerabschnitte, die in einem Steuerzyklus zu prozessieren sind, und Bestimmen, ob der Positionierungsbefehl für alle Sequentiellbefehlssteuerabschnitte erzeugt wird, bestimmt werden. Wenn festgestellt wird, dass nicht alle Positionsbefehle erzeugt werden (NEIN in Schritt S36), kehrt die Prozesssteuerung zu Schritt S34 zurück. Wenn andererseits festgestellt wird, dass alle Positionsbefehle erzeugt werden (JA in Schritt S36), bestimmt die Beschleunigungs-/Verlangsamungsbefehls-Erzeugungseinheit 33, ob die Fortsetzungsinformation des Positionierungsbefehls, der aktuell prozessiert wird, ”Fortsetzen” ist (Schritt S37).
-
Wenn festgestellt wird, dass die Fortsetzungsinformation ”Fortsetzen” ist (JA in Schritt S37), ermittelt die Beschleunigungs-/Verlangsamungsbefehls-Erzeugungseinheit 33 den in der nächsten Punkttabelle des Positionierungsbefehls, der aktuell ausgeführt wird, gespeicherten Positionierungsbefehl (Schritt S38) und kehrt zu Schritt S34 zurück, um den Positionsbefehl für den nächsten Positionierungsbefehl zu erzeugen. Durch diese Operation kann der nächste Positionierungsbefehl ohne den Startbefehl für den nächsten Positionierungsbefehl aus der Steuervorrichtung oberen Niveaus 10 ausgeführt werden. Wenn andererseits festgestellt wird, dass die Fortsetzungsinformation nicht ”Fortsetzen” ist (NEIN in Schritt S37), ermittelt die Beschleunigungs-/Verlangsamungsbefehls-Erzeugungseinheit 33 die Stoppzeit des Positionierungsbefehl, der aktuell ausgeführt wird, und der Positionierungsbefehlsausführprozess wird abgeschlossen, nachdem die Stoppzeit verstrichen ist.
-
Der in 4 gezeigte Positionierungsbefehlseinstellprozess kann vorab durchgeführt werden, vor dem in 5 gezeigten Positionierungsbefehlsausführprozess oder während des in 5 gezeigten Positionierungsbefehlsausführprozesses (ein Steuerprozess durch die Elektromotorsteuervorrichtungen 30-1 bis 30-3).
-
Der Positionierungsbefehlseinstellprozess und der Positionierungsbefehlsausführprozess werden unten mit Beispielen erläutert. 6 ist ein Beispiel einer Befehlsposition eines Antriebszielobjekts. In 6 werden drei sukzessive lineare Interpolationen zwischen zwei Achsen einschließlich einer X-Achse und einer Y-Achse als ein Beispiel gezeigt. Das heißt, dass dieses Beispiel einen Fall repräsentiert, in dem das Antriebszielobjekt auf drei sukzessiven geraden Linien angetrieben wird, während der Elektromotor 20-1, der das Antriebszielobjekt in X-Achsen-Richtung bewegt, mit dem Elektromotor 20-2, der das Antriebszielobjekt in der Y-Achsen-Richtung, die rechtwinklig zur X-Achsen-Richtung ist, bewegt, synchronisiert wird.
-
In 6 wird angenommen, dass das Antriebszielobjekt bewegt wird, um eine an einem Punkt P0 (X0, V0) startende und sich linear zu einem Punkt P1 (X1, Y1), einem Punkt P2 (X2, Y2) und dem Punkt P0 bewegende Trajektorie aufzutragen. Ein Abschnitt zwischen dem Punkt P0 und dem Punkt P1 wird als ein erster Abschnitt definiert, ein Abschnitt zwischen dem Punkt P1 und dem Punkt P2 wird als ein zweiter Abschnitt definiert, ein Abschnitt zwischen dem Punkt P2 und dem Punkt P0 wird als ein dritter Abschnitt definiert und Geschwindigkeiten (zusammengesetzte Geschwindigkeiten) der Abschnitte werden jeweils als V1, V2 und V3 definiert.
-
Die Beschleunigungs-/Verlangsamungs-Zeitjustiereinheit 12 der Steuervorrichtung oberen Niveaus 10 erzeugt den Positionierungsbefehl aus der Befehlserzeugungsinformation, welche die Positionsinformation und die Geschwindigkeitsinformation enthält, wie in 6 gezeigt. Beispielsweise wird in dem in 6 gezeigten ersten Abschnitt die Beschleunigung/Verlangsamung auf solche Weise justiert, dass eine Zeit lang, die das Antriebszielobjekt in der X-Achsen-Richtung durch eine Bewegungsdistanz LX (= X1 – X0) bewegt wird, und eine Zeit lang, die das Antriebszielobjekt in der Y-Achsen-Richtung um eine Bewegungsdistanz LY (= Y1 – V0) bewegt wird, zueinander gleich sind und die Beschleunigungs-/Verlangsamungszeiten der zu synchronisierenden Elektromotoren 20-1 und 20-2 zueinander passen. Die Beschleunigung/Verlangsamung wird in derselben Weise in dem zweiten Abschnitt und dem dritten Abschnitt justiert.
-
7 sind Beispiele einer Beziehung zwischen einer Geschwindigkeit und einer Zeit mit in jedem der in 6 gezeigten Abschnitte justierten Beschleunigungs-/Verlangsamungszeiten, wobei 7(a) die Geschwindigkeit in der X-Achsen-Richtung anzeigt und 7(b) die Geschwindigkeit in der Y-Achsen-Richtung anzeigt. In den Zeichnungen repräsentiert die horizontale Achse die Zeit und repräsentiert die vertikale Achse die Geschwindigkeit. Wie in 7 gezeigt, wird eine Justierung auf solche Weise durchgeführt, dass die Beschleunigungs-/Verlangsamungszeiten in der X-Achsen-Richtung und der Y-Achsen-Richtung zueinander passen. Das heißt, dass die Beschleunigungs-/Verlangsamungszeit im ersten Abschnitt Tal, im zweiten Abschnitt Ta2 und im dritten Ta3 ist.
-
Die Beschleunigungs-/Verlangsamungs-Zeitjustiereinheit 12 der Steuervorrichtung oberen Niveaus 10 erzeugt die Beziehung zwischen der Geschwindigkeit mit der Zeit in jedem der in 7 gezeigten Abschnitte als den Positionierungsbefehl. 8 sind Beispiele eines Positionierungsbefehls, wobei 8(a) den Positionierungsbefehl in der X-Achsen-Richtung anzeigt und 8(b) den Positionierungsbefehl in der Y-Achsen-Richtung anzeigt. In 8 entsprechen die Identifikationsnummern Nr. 1, 2 und 3 dem Positionierungsbefehl im ersten Abschnitt, dem zweiten Abschnitt bzw. dem dritten Abschnitt. Weiterhin, weil ein Fall, bei dem die ersten bis dritten Abschnitte kontinuierlich verarbeitet werden, als ein Beispiel gezeigt ist, ist die Fortsetzungsinformation ”Fortgesetzt” in den Identifikationsnummern Nr. 1 und 2 und ist die Fortsetzungsinformation ”Abgeschlossen” bei der Identifikationsnummer Nr. 3. Der auf diese Weise erzeugte Positionierungsbefehl wird an eine entsprechende der Elektromotorsteuervorrichtungen 30-1 bis 30-3 gesendet.
-
Jede der Elektromotorsteuervorrichtungen 30-1 und 30-2 speichert die Positionierungsbefehle Nr. 1, Nr. 2 und Nr. 3, die aus der Steuervorrichtung oberen Niveaus 10 empfangen werden, in der Positionierungsbefehlspeichereinheit 32. Danach wird ein die Identifikationsnummer Nr. 1 des Positionierungsbefehls enthaltender auszuführender Startbefehl aus der Steuervorrichtung oberen Niveaus 10 an jede der Elektromotorsteuervorrichtungen 30-1 und 30-2 gesendet. Die Beschleunigungs-/Verlangsamungsbefehls-Erzeugungseinheit 33 jeder der Elektromotorsteuervorrichtungen 30-1 und 30-2 berechnet die Bewegungsdistanz für jeden Abtastzeitraum ΔT mit der nachfolgenden Prozedur aus dem Positionierungsbefehl, der zur in dem Startbefehl enthaltenen Identifikationsnummer gehört. In den nachfolgenden Beschreibungen wird die Bewegungsdistanz für jeden Abtastzeitraum ΔT in der X-Achsen-Richtung im ersten Abschnitt erläutert.
-
Zuerst wird die Anzahl von Abtastwerten n1, welche für die Bewegung erforderlich sind, unter Verwendung von Gleichung (1) berechnet. n1 = cei1{LX1/(VX1 × ΔT}) (1)
-
Dies definiert eine Bewegungsdistanz FΔT_X1 für jeden Abtastzeitraum als Gleichung (2). FΔT_X1 = LX1/n1 (2)
-
Beispielsweise wird die Beschleunigung/Verlangsamung unter Verwendung eines Gleitdurchschnitts-Filters justiert. In diesem Fall wird die Anzahl von Stufen NA1 des Bewegungsdurchschnittsfilters als Gleichung (3) definiert. NA1 = cei1(Ta1/ΔT) (3)
-
Unter Verwendung des Gleitdurchschnitts-Filters mit der Anzahl von Stufen NA1, wie in der obigen Weise ermittelt), wird die Bewegungsdistanz FΔT_X (ein sequentieller Befehl) jedes Abtastzeitraums mit der justierten Beschleunigung/Verlangsamung erhalten. Die Bewegungsdistanz FΔT_X, die in der obigen Weise erhalten wird, wird dann aus der Beschleunigungs-/Verlangsamungsbefehls-Erzeugungseinheit 33 an die Befehlsnachfolgesteuereinheit 34 gesendet und die Befehlsnachfolgesteuereinheit 34 führt eine Zufuhrvorwärtssteuerung und eine Rückführsteuerung aus, um die Elektromotoren 20-1 bis 20-3 anzutreiben, wodurch das Antriebszielobjekt anhand des Positionsbefehls angetrieben wird.
-
Im oben beschriebenen Beispiel werden die drei sukzessiven linearen Interpolationen zwischen den zwei Achsen, welche die X-Achse und die Y-Achse beinhalten, die in 6 gezeigt sind, als Beispiel verwendet. Jedoch können sukzessive Trajektorienbefehle einer komplizierten Form ausgeführt werden, ohne durch eine Grenze der Anzahl von in der Punkttabelle gespeicherten Positionierungsbefehlen beeinträchtigt zu sein, indem ein dem Positionierungsbefehl, der aktuell während des Betriebs des Elektromotors 20 ausgeführt wird, vorhergehender Positionierungsbefehl aus der Steuervorrichtung oberen Niveaus 10 an die Elektromotor-Steuervorrichtung 30 gesendet wird und die Punkttabelle der Positionierungsbefehlspeichereinheit 32 mit dem gesendeten Positionierungsbefehl aktualisiert wird. 9 ist ein Beispiel einer Befehlsposition eines Antriebszielobjekts. In 9 ist eine Bewegungs-Trajektorie des Antriebszielobjektes durch eine gekrümmte Linie definiert, die eine kompliziertere Form als die in 6 gezeigte aufweist. Selbst in einem solchen Fall kann das Antriebszielobjekt durch Durchführen einer Quasi-Kurvenlinien-Interpolationssteuerung (einer einfachen Trajektorien-Steuerung) zum Approximieren der gekrümmten Linie durch beispielsweise sukzessive Liniensegmente, die alle zwischen schwarzen Kreisen verbinden, angetrieben werden. Zu dieser Zeit entspricht ein die schwarzen Kreise verbindendes Liniensegment einem in dem obigen Beispiel beschriebenen Positionierungsbefehl und kann durch Erzeugen einer Mehrzahl von Positionierungsbefehlen längs der gekrümmten Linie dieselbe Steuerung wie oben durchgeführt werden.
-
In der ersten Ausführungsform ist in der, die Steuervorrichtung oberen Niveaus 10, die Elektromotor-Steuervorrichtung 30 und den Elektromotor 20, die über das Netzwerk 40 verbunden sind, enthaltenden Elektromotorsteuersystem die Steuervorrichtung oberen Niveaus 10 dafür konfiguriert, ein einen in der nächsten Steuerung zu verwendender Positionierungsbefehl vorhergehender Positionierungsbefehl an die Elektromotor-Steuervorrichtung 30 zu senden. Bei dieser Konfiguration, selbst wenn die Befehlskommunikation aufgrund von Rauschen oder dergleichen scheiterte, so dass eine Wiederübertragung des Befehls durchgeführt wird, ist es möglich, zu verhindern, dass ein Trajektorienfehler oder eine Verzögerung erzeugt wird, ohne eine Befehlsoperation, die aktuell durchgeführt wird, zu beeinträchtigen.
-
Die Steuervorrichtung oberen Niveaus 10 ist weiter dafür konfiguriert, die Fortsetzungsinformationen, die anzeigen, ob der nächste Positionierungsbefehl kontinuierlich auszuführen ist, an die Elektromotor-Steuervorrichtung 30 zu senden und die Elektromotor-Steuervorrichtung 30 ist konfiguriert, eine Mehrzahl von Positionierungsbefehlen in der Positionierungsbefehlspeichereinheit 32 zu speichern. In dieser Konfiguration kann die Elektromotor-Steuervorrichtung 30 eine Mehrzahl von sukzessiven Positionierungsbefehlen nur mit einem einzelnen Startbefehl ausführen, die aus der Steuervorrichtung oberen Niveaus 10 an die Elektromotor-Steuervorrichtung 30 gesendet wird.
-
Weiterhin, weil ein neu empfangener Positionierungsbefehl konfiguriert ist, einen ausgeführten Positionierungsbefehlsbereich der Positionierungsbefehlspeichereinheit 32 zu überschreiben, ist es, selbst wenn es eine Grenze bei der Speicherkapazität der Positionierungsbefehlspeichereinheit 32 der Elektromotor-Steuervorrichtung 30 gibt, möglich, eine Operation einer sukzessiven langen Sequenz von Positionierungsbefehlen durchzuführen.
-
Die Steuervorrichtung oberen Niveaus 10 ist konfiguriert, die Beschleunigungs-/Verlangsamungs-Zeitjustiereinheit 12 zu beinhalten, welche den Positionierungsbefehl erzeugt, und die Elektromotor-Steuervorrichtung 30 ist konfiguriert, die Beschleunigungs-/Verlangsamungsbefehls-Erzeugungseinheit 33 zu enthalten, welche den Positionsbefehl aus dem Positionierungsbefehl erzeugt. Mit dieser Konfiguration muss die Steuervorrichtung oberen Niveaus 10 keinen Positionsbefehl für den Elektromotor 20 erzeugen und als Ergebnis ist es möglich, eine Synchronisierungssteuerung einer Mehrzahl von Elektromotoren 20 zu erzielen, ohne eine Berechnungslast der Steuervorrichtung oberen Niveaus 10 zu vergrößern.
-
Weiterhin ist es möglich, den Positionierungsbefehl, der eine große Größe aufweist, unter Verwendung einer Zeit, bevor ein Operationsprozess, der einen Wiederversuch gestattet, zu senden und wenn nur der Startbefehl gesendet wird, der eine kleine Größe aufweist, vor einem Operationsprozess, zu verhindern, dass ein Ausfall aufgrund von Rauschen erzeugt wird.
-
Zweite Ausführungsform
-
10 ist schematisch ein Blockdiagramm eines Beispiels einer Konfiguration eines Elektromotorsteuersystems gemäß einer zweiten Ausführungsform der vorliegenden Erfindung. Im Elektromotorsteuersystem sind eine Steuervorrichtung oberen Niveaus 10A, die einen sequentiellen Befehl (einen Positionsbefehl) zum Steuern der Elektromotoren 20-1 bis 20-3, die Elektromotoren 20-1 bis 20-3, die Steuerzielobjekte sind, und Elektromotorsteuervorrichtungen 30A-1 bis 30A-3, die jeweils Positionierungssteuerungen der Elektromotoren 20-1 bis 20-3 durchführen, basierend auf dem sequentiellen Befehl aus der Steuervorrichtung oberen Niveaus 10A, über das Netzwerk 40 verbunden. In diesem Beispiel sind in derselben Weise wie in der ersten Ausführungsform die drei Elektromotorsteuervorrichtungen 30A-1 bis 30A-3 mit der Steuervorrichtung oberen Niveaus 10A verbunden und sind die Elektromotoren 20-1 bis 20-3 jeweils mit den Elektromotorsteuervorrichtungen 30A-1 bis 30A-3 verbunden. Weil die Elektromotoren 20-1 bis 20-3 identisch mit jenen der ersten Ausführungsformen sind, wird der Erläuterung weggelassen.
-
Die Steuervorrichtung oberen Niveaus 10A beinhaltet eine Befehlseingabeeinheit 11, eine Beschleunigungs-/Verlangsamungsbefehls-Erzeugungseinheit 15 und die Kommunikationssteuereinheit 14. Die Befehlseingabeeinheit 11 gibt Befehlserzeugungsinformationen einschließlich Positionsinformationen, die eine Position anzeigen, an der das Antriebszielobjekt (eine Referenzlokation desselben) zu einer gewissen Zeit existiert, anzeigt, Geschwindigkeitsinformationen, die eine Geschwindigkeit im Prozess des Ankommens an der Position anzeigen, Beschleunigungs-/Verlangsamungsinformation wie etwa eine Beschleunigungs-/Verlangsamungszeit, beinhalten. Beispielsweise werden die Positionsinformationen und die Geschwindigkeitsinformationen durch einen Bediener des Elektromotorsteuersystems eingegeben.
-
Die Beschleunigungs-/Verlangsamungsbefehls-Erzeugungseinheit 15 erzeugt einen sequentiellen Befehl, der ein Positionsbefehl ist, in welchem die Beschleunigung für jeden Kommunikationszyklus des Netzwerks 40 justiert ist, aus beispielsweise der Befehlserzeugungsinformation, welche die Positionsinformationen, die Geschwindigkeitsinformationen und die Beschleunigungs-/Verlangsamungsinformationen enthält, die durch die Befehlseingabeeinheit 11 eingegeben sind. Der sequentielle Befehl wird für jeden der Elektromotoren 20-1 bis 20-3 erzeugt. 11 ist ein Beispiel des sequentiellen Befehls. Der sequentielle Befehl beinhaltet beispielsweise eine Befehlsnummer zum Identifizieren des sequentiellen Befehls und einen Positionsbefehl, der eine Position anzeigt, zu welcher ein Verarbeitungszielobjekt in einem Abtastzeitraum bewegt wird (ein Kommunikationszyklus).
-
Die Kommunikationssteuereinheit 14 sendet den durch die Beschleunigungs-/Verlangsamungsbefehls-Erzeugungseinheit 15 erzeugten sequentiellen Befehl in einem vorgegebenen Kommunikationszyklus an die Elektromotorsteuervorrichtungen 30A-1 bis 30A-3 über das Netzwerk 40. Die Kommunikationssteuereinheit 14 sendet weiter, wenn sie den sequentiellen Befehl sendet, nicht nur den sequentiellen Befehl der nächsten Abtastperiode, sondern auch weitere sequentielle Befehle entsprechend einer Mehrzahl von Abtastperioden, die sich nach der nächsten Abtastperiode in einer simultanen Weise fortsetzen.
-
Jede der Elektromotorsteuervorrichtungen 30A-1 bis 30A-3 enthält die Kommunikationssteuereinheit 31, eine Sequentiellbefehls-Speichereinheit 35, eine Befehlsreihenfolgen-Steuereinheit 36 und die Befehlsnachfolgesteuereinheit 34. Die Kommunikationssteuereinheit 31 beinhaltet eine Funktion des Durchführens von Senden und Empfangen von Daten mit der Steuervorrichtung oberen Niveaus 10A und der anderen der Elektromotorsteuervorrichtungen 30A-1 bis 30A-3, die mit dem Netzwerk 40 verbunden sind. In diesem Beispiel, wenn es keinen während des Empfangs des sequentiellen Befehls aus der Steuervorrichtung oberen Niveaus 10A erzeugten Fehler gibt, ist die Kommunikationssteuereinheit 31 konfiguriert, den empfangenen sequentiellen Befehl in der Sequentiellbefehls-Speichereinheit 35 in einer Reihenfolge der Befehlsnummer zu speichern und wenn es einen während des Empfangs des sequentiellen Befehls erzeugten Fehler gibt, den sequentiellen Befehl nicht in der Sequentiellbefehls-Speichereinheit 35 zu speichern.
-
Die Sequentiellbefehls-Speichereinheit 35 speichert den aus der Steuervorrichtung oberen Niveaus 10A empfangenen sequentiellen Befehl. Die Sequentiellbefehls-Speichereinheit 35 hat eine ausreichend große Kapazität zum Speichern einer Mehrzahl von sequentiellen Befehlen, nicht nur eines sequentiellen Befehls. Beispielsweise speichert die Sequentiellbefehls-Speichereinheit 35 eine sequentielle Befehlstabelle, in der eine Mehrzahl sequentieller Befehle sequentiell angeordnet sind. 12 ist ein Beispiel der sequentiellen Befehlstabelle. In diesem Beispiel ist die sequentielle Befehlstabelle konfiguriert, zehn sequentielle Befehle zu speichern. Die sequentielle Befehlstabelle beinhaltet Felder einer Befehlsnummer und eines Positionsbefehls, wie auch des sequentiellen Befehls. In dieser sequentiellen Befehlstabelle sind die sequentiellen Befehle in der Reihenfolge ab dem Anfang der Tabelle gespeichert und wenn die letzte Zeile der Tabelle erreicht ist, kehrt die Spreicherreihenfolge wieder zum Anfang zurück, so dass die sequentiellen Befehle gespeichert werden, die alten Daten zu überschreiben. Weiterhin sind in dieser sequentiellen Befehlstabelle sequentielle Befehle ab dem nächsten des sequentiellen Befehls, der derzeit ausgeführt wird, bis nach einem vorgegebenen Kommunikationszyklus während einer Steuerung der Elektromotoren 20-1 bis 20-3 gespeichert.
-
Wenn der sequentielle Befehl aus der Steuervorrichtung oberen Niveaus 10A empfangen wird, liest die Befehlsreihenfolgen-Steuereinheit 36 einen nächsten sequentiellen Befehl zum sequentiellen Befehl, der aktuell ausgeführt wird, aus der Sequentiellbefehls-Speichereinheit 35 (der sequentiellen Befehlstabelle) aus und gibt den gelesenen sequentiellen Befehl an die Befehlsnachfolgesteuereinheit 34 aus. Die Befehlsreihenfolgen-Steuereinheit 36 speichert Informationen, die anzeigen, dass der sequentielle Befehl gelesen worden ist, in einem Bereich, wo der Positionsbefehl in der gelesenen sequentiellen Befehlstabelle gespeichert worden ist. Im in 12 gezeigten Beispiel wird ”9999999” im Feld des ”Positionsbefehl” des gelesenen sequentiellen Befehls gespeichert, um ihn von einem ungelesenen sequentiellen Befehl zu unterscheiden.
-
Die Befehlsnachfolgesteuereinheit 34 führt eine Zufuhrvorwärtssteuerung und eine Rückfuhrsteuerung basierend auf dem aus der Befehlsreihenfolgen-Steuereinheit 36 gesendeten sequentiellen Befehl aus, um die Elektromotoren 20-1 bis 20-3 zu steuern.
-
Eine Prozessprozedur für eine Positionierungssteuerung im Elektromotorsteuersystem wird als Nächstes erläutert. 13 ist ein Flussdiagramm eines Beispiels einer Prozedur eines Positionierungsprozesses des Elektromotorsteuersystems gemäß der zweiten Ausführungsform. Zuerst, wenn die, die Zielposition, die Geschwindigkeit und die Beschleunigungs-/Verlangsamungszeit enthaltenden Befehlserzeugungsinformationen an der Steuervorrichtung oberen Niveaus 10A über die Befehlseingabeeinheit 11 eingegeben werden (Schritt S71), erzeugt die Beschleunigungs-/Verlangsamungsbefehls-Erzeugungseinheit 15 den sequentiellen Befehl mit der für jeden der Elektromotoren 20-1 bis 20-3 justierten Beschleunigung für jeden Kommunikationszyklus des Netzwerks 40 (Schritt S72). Der sequentielle Befehl, der zu erzeugen ist, kann einen sequentiellen Befehl beinhalten, der als Nächstes zu erzeugen ist, oder sequentielle Befehle einer Mehrzahl von sukzessiven Kommunikationszyklen (Abtastzeiträumen). Weiterhin kann er so konfiguriert sein, dass sequentielle Befehle aller Kommunikationszyklen (Abtastzeiträume) vorab basierend auf den eingegebenen Befehlserzeugungsinformationen erzeugt werden.
-
Die Kommunikationssteuereinheit 14 der Steuervorrichtung oberen Niveaus 10A bestimmt dann, ob es ein Übertragungs-Timing ist (Schritt S73), und wenn festgestellt wird, dass es kein Übertragungs-Timing ist (NEIN in Schritt S73), wartet sie, bis das Übertragungs-Timing erreicht wird. Wenn das Übertragungs-Timing erreicht ist (JA in Schritt S73), sendet die Kommunikationssteuereinheit 14 der Steuervorrichtung oberen Niveaus 10A den erzeugten sequentiellen Befehl an jede der Elektromotorsteuervorrichtungen 30A-1 bis 30A-3 (Schritt S74).
-
Die Anzahl von Abtastzeiträumen zum Senden des aus der Steuervorrichtung oberen Niveaus 10A vorab an die Elektromotorsteuervorrichtungen 30A-1 bis 30A-3 gesendeten sequentiellen Befehls wird anhand einer Rauschumgebung zur Zeit des Baus des Systems erhöht oder gesenkt. Beispielsweise kann die Anzahl von vorhergehenden sequentiellen Befehlen (nachfolgend ”Anzahl vorhergehender Befehle”) nach dem nächsten sequentiellen Befehl basierend auf der Anzahl von Kommunikationsfehlern innerhalb einer vorgegebenen Zeit bestimmt werden. In diesem Fall, falls die Anzahl von Kommunikationsfehlern innerhalb der vorgegebenen Zeit Null ist, ist die Anzahl von vorhergehenden Befehlen unnötig (Null). Das heißt, nur ein sequentieller Befehl (des nächsten Abtastzeitraums) wird für jeden Kommunikationszyklus gesendet. Falls andererseits die Anzahl von Kommunikationsfehlern innerhalb der vorgegebenen Zeit fünf ist, wird die Anzahl von vorhergehenden Befehlen auf fünf eingestellt und werden der sequentielle Befehl für den nächsten Abtastzeitraum und sequentielle Befehle für fünf sukzessive Abtastzeiträume danach für jeden Kommunikationszyklus gesendet. Wenn eine Mehrzahl sequentiellen Befehle gesendet werden, wird angenommen, dass die zu sendenden sequentiellen Befehle durch die Beschleunigungs-/Verlangsamungsbefehls-Erzeugungseinheit 15 durch eine Übertragungszeit erzeugt werden.
-
Danach bestimmt die Kommunikationssteuereinheit 14 der Steuervorrichtung oberen Niveaus 10A, ob der gesendete sequentielle Befehl eine Endanweisung ist (Schritt S75), und wenn festgestellt wird, dass der gesendete sequentielle Befehl keine Endanweisung ist (NEIN in Schritt S75), kehrt sie zu Schritt S73 zurück. Wenn andererseits festgestellt wird, dass der gesendete sequentielle Befehl eine Endanweisung ist (JA in Schritt S75), wird der Prozess beendet.
-
Wenn der sequentielle Befehl aus der Steuervorrichtung oberen Niveaus 10A empfangen wird (Schritt S76), bestimmt die Kommunikationssteuereinheit 31 jeder der Elektromotorsteuervorrichtungen 30A-1 bis 30A-3, ob ein Kommunikationsfehler erzeugt ist (Schritt S77). Die Erzeugung des Kommunikationsfehlers kann durch Einstellen von CRC(Cyclic Redundancy check)-Informationen, Check-Summeninformationen oder dergleichen in einem Rahmen für die Kommunikation von Daten detektiert werden. Wenn festgestellt wird, dass es keine erzeugten Kommunikationsdaten gibt (NEIN in Schritt S77), speichert die Kommunikationssteuereinheit 31 dem empfangenen sequentiellen Befehl in der Sequentiellbefehls-Speichereinheit 35 (Schritt S78). Spezifisch aktualisiert die Kommunikationssteuereinheit 31 einen Anteil der entsprechenden Befehlsnummer in der sequentiellen Befehlstabelle durch den empfangenen sequentiellen Befehl.
-
Wenn beispielsweise eingestellt ist, drei sequentielle Befehle in einem Kommunikationszyklus zu senden und eine Nachfolgesteuerung zu einem Positionsbefehl (= 70) einer in 12 gezeigten Befehlsnummer 5 ausgeführt wird, werden sequentielle Befehle der Befehlsnummer 6, 7 und 8 aus der Steuervorrichtung oberen Niveaus 10A gesendet und in der sequentiellen Befehlstabelle gespeichert. Weiterhin, wenn die Nachfolgesteuerung zum Positionsbefehl der Befehlsnummer 5 abgeschlossen ist und eine Nachfolgesteuerung zu einem Positionsbefehl (= 90) der nächsten Befehlsnummer 6 ausgeführt wird, werden sequentielle Befehle der Befehlsnummern 7, 8 und 9 aus der Steuervorrichtung oberen Niveaus 10A gesendet und in einer sequentiellen Befehlstabelle gespeichert.
-
Danach liest die Befehlsreihenfolgen-Steuereinheit 36 einen sequentiellen Befehl, der die nächste Befehlsnummer aufweist, des Positionsbefehls, der aktuell ausgeführt wird, aus der Sequentiellbefehls-Speichereinheit 35 gemäß einem Empfang des sequentiellen Befehls (Schritt S79).
-
Wenn andererseits ein Kommunikationsfehler erzeugt ist (JA in Schritt S77), speichert die Kommunikationssteuereinheit 31 den empfangenen sequentiellen Befehl nicht in der Sequentiellbefehls-Speichereinheit 35 (Schritt S80). Danach liest die Befehlsreihenfolgen-Steuereinheit 36 einen sequentiellen Befehl mit der nächsten Befehlsnummer des Positionsbefehls, der aktuell ausgeführt wird, aus der Sequentiellbefehls-Speichereinheit 35 anhand eines Empfangs des sequentiellen Befehls (Schritt S81) und bestimmt, ob der gelesene sequentielle Befehl ein normaler sequentieller Befehl ist (Schritt S82).
-
Wenn festgestellt wird, dass der gelesene sequentielle Befehl ein normaler sequentieller Befehl ist (JA in Schritt S82) und nach Schritt S79, stellt die Befehlsreihenfolgen-Steuereinheit 36 fest, ob der sequentielle Befehl eine Endanweisung ist (Schritt S83). Wenn festgestellt wird, dass der sequentielle Befehl keine Endanweisung ist (NEIN in Schritt S83), sendet die Befehlsreihenfolgen-Steuereinheit 36 den gelesenen Positionsbefehl an die Befehlsnachfolgesteuereinheit 34 und die Befehlsnachfolgesteuereinheit 34 führt die Nachfolgesteuerung aus (Schritt S84), um die Elektromotoren 20-1 bis 20-3 anzutreiben. Die Befehlsreihenfolgen-Steuereinheit 36 speichert dann Informationen, die anzeigen, dass das Lesen des sequentiellen Befehls abgeschlossen ist, in der Sequentiellbefehls-Speichereinheit 35 (Schritt S85). Im in 12 gezeigten Beispiel wird ein Wert ”9999999” der anzeigt, dass das Lesen abgeschlossen ist, im Positionsbefehl, für den das Lesen des sequentiellen Befehls abgeschlossen ist, gespeichert. Die Prozesssteuerung kehrt dann zu Schritt S76 zurück.
-
Wenn andererseits festgestellt wird, dass der gelesene sequentielle Befehl nicht ein normaler sequentieller Befehl ist (NEIN in Schritt S82), beispielsweise wenn nicht alle sequentiellen Befehle aufgrund einer sukzessiven Erzeugung von Kommunikationsfehlern von einer größeren als einer angenommenen Anzahl aktualisiert werden, wird ein Fehlerhandhabungsprozess durchgeführt (Schritt S86). Wenn beispielsweise der Positionsbefehl ”9999999” ist, was anzeigt, dass das Lesen abgeschlossen ist, ist es möglich, festzustellen, dass der gelesene sequentielle Befehl nicht ein normaler sequentieller Befehl ist. Als Fehlerhandhabungsprozess ist es möglich, einen voreingestellten Prozess wie etwa Ausgeben eines Alarms und Stoppen des Elektromotorsteuersystems oder Verwenden des letzten Positionsbefehls so wie er vorliegt, durchzuführen. In diesem Flussdiagramm ist die Prozesssteuerung konfiguriert, nach dem Fehlerhandhabungsprozess zum Schritt S76 zurückzukehren; jedoch kann sie konfiguriert sein, stattdessen den Positionierungssteuerprozess zu beenden.
-
Wenn andererseits der sequentielle Befehl eine Endanweisung ist (JA in Schritt S83), wird der Positionierungssteuerprozess beendet.
-
In der zweiten Ausführungsform werden im Elektromotorsteuersystem, das die über das Netzwerk 40 verbundene Steuervorrichtung oberen Niveaus 10A, Elektromotorsteuervorrichtungen 30A-1 bis 30A-3 und die Elektromotoren 20A-1 bis 20A-3 beinhaltet, im Falle eines sequentiellen Befehlssystems, in dem jede der Elektromotorsteuervorrichtungen 30A-1 bis 30A-3 den sequentiellen Befehl aus der Steuervorrichtung oberen Niveaus 10A für jeden Steuerzyklus empfängt, sequentielle Befehle für eine vorgegebene Anzahl von Zyklen in jeder der Elektromotorsteuervorrichtungen 30A-1 bis 30A-3 gespeichert und jede der Elektromotorsteuervorrichtungen 30A-1 bis 30A-3 ist konfiguriert, den sequentiellen Befehl nach der vorgegebenen Anzahl von Zyklen aus der Steuervorrichtung oberen Niveaus 10A während eines Steuerbetriebs zu empfangen. Bei dieser Konfiguration ist es möglich, eine komplizierte Synchronisationssteuerung zwischen der Mehrzahl Elektromotoren 20-1 bis 20-3 wie etwa einer gekrümmten Linien-/gekrümmten Ebenen-Interpolation auszuführen.
-
Weil die sequentiellen Befehle nach der vorgegebenen Anzahl von Zyklen ab dem sequentiellen Befehl, der aktuell ausgeführt wird, gespeichert werden, ist es, selbst wenn ein Kommunikationsversagen aufgrund von Rauschen oder dergleichen erzeugt wird, möglich, zu verhindern, dass ein Trajektorien-Fehler oder eine Betriebsverzögerung erzeugt wird.
-
Weiterhin ist die Anzahl von Zyklen des in der Sequentiellbefehls-Speichereinheit 35 in jeder der Elektromotorsteuervorrichtungen 30A-1 bis 30A-3 gespeicherten sequentiellen Befehls konfiguriert, anhand eines Kommunikationsstatus des Netzwerks 40 erhöht oder abgesenkt zu werden. Wenn beispielsweise die Umgebung rauschbehaftet ist, so dass der Kommunikationsstatus nicht gut ist, kann ein Wiederversuch durch die Anzahl sequentieller Befehle, die vorab gesendet worden sind, vorgenommen werden, durch Erhöhen der Anzahl von Zyklen des für jeden Kommunikationszyklus zu sendenden sequentiellen Befehls und als Ergebnis kann derselbe Effekt erzielt werden wie Erhöhen der Anzahl von Malen, welche eine Wiederversuchskommunikation gestattet wäre. Wenn andererseits die Umgebung nicht rauschbehaftet ist, so dass der Kommunikationsstatus gut ist, ist es möglich, eine Kommunikationslast durch Senken der Anzahl von Zyklen des sequentiellen Befehls, der vorab zu senden ist, für jeden Kommunikationszyklus zu reduzieren.
-
Industrielle Anwendbarkeit
-
Wie oben beschrieben, ist das Elektromotorsteuersystem gemäß der vorliegenden Erfindung als ein System nützlich, in welchem Kommunikation eines Befehls aus einer Steuervorrichtung oberen Niveaus zu einer Elektromotorsteuervorrichtung durchgeführt wird, wodurch ein Elektromotor gesteuert wird.
-
Bezugszeichenliste
-
- 10, 10A
- Steuervorrichtung oberen Niveaus
- 11
- Befehlseingabeeinheit
- 12
- Beschleunigungs-/Verlangsamungs-Zeitjustiereinheit
- 13
- Startbefehlserzeugungseinheit
- 14, 31
- Kommunikationssteuereinheit
- 15
- Beschleunigungs-/Verlangsamungsbefehls-Erzeugungseinheit
- 20-1 bis 20-3
- Elektromotor
- 30, 30-1 bis 30-3, 30A-1 bis 30A-3
- Elektromotorsteuervorrichtung
- 32
- Positionierungsbefehlspeichereinheit
- 33
- Beschleunigungs-/Verlangsamungsbefehls-Erzeugungseinheit
- 34
- Befehlsnachfolgesteuereinheit
- 35
- Sequentiellbefehls-Speichereinheit
- 36
- Befehlsreihenfolgen-Steuereinheit
- 40
- Netzwerk