-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die Erfindung betrifft eine numerische Steuerung und insbesondere eine solche mit einer Funktion für eine sichere Rekonstruktion einer Speicherstruktur.
-
Zum Stand der Technik
-
Die Mehrzahl der Informationsverarbeitungsvorrichtungen, in denen eine eingebettete Software installiert ist, bestimmen in eingeschaltetem Zustand eine Software-Konfiguration, einen Code-Bereich, Umfänge und Adressen eines Arbeitsbereiches entsprechend vorgegebenen Parametern und Optionen. Diese Speicherbereiche werden als Speicherstruktur („Memory Map“) bezeichnet. Es wird angestrebt, die Zuverlässigkeit und Stabilität des Systems zu verbessern durch Fixierung der Speicherstruktur.
-
Ähnlich wie bei obigen Informationsverarbeitungsvorrichtungen wird bei numerischen Steuerungen die Zuverlässigkeit und Stabilität verbessert durch Fixierung, wobei die numerische Steuerung eine industrielle Maschine, wie eine Werkzeugmaschine (nachfolgend der Einfachheit halber als „Maschine“ bezeichnet) steuert und die Speicherstruktur, wie ein Code-Bereich und ein Arbeitsbereich („Work Area“) fixiert werden. Siehe beispielsweise offengelegte
japanische Patentanmeldung 08-137513 . Bei dynamischen Verfahren der Speicherorganisation ohne Fixierung der Speicherstruktur wird beispielsweise größerer Speicherumfang durch eine Funktion gesichert und wenn versucht wird, den Speicher mit einer anderen Funktion zu verwenden, dann kann es zu Störungen beim Speicherzugriff kommen in Abhängigkeit vom Zustand der numerischen Steuerung und dementsprechend kann es zu unerwünschtem Verhalten des Systems kommen. Wird der Betrieb instabil, wird nicht immer dasselbe Ergebnis gewonnen, auch wenn das gleiche Prozessprogramm ausgeführt wird, es wird also die Reproduzierbarkeit beeinträchtigt.
-
Ist aber die Speicherstruktur fixiert, wird es erforderlich, die numerische Steuerung neu zu starten, um die Speicherstruktur jedes Mal dann zu rekonstruieren, wenn ein Parameter oder eine Optionseinstellung beim Betrieb der numerischen Steuerung geändert werden. Da beispielsweise die Einstellung häufig zu ändern ist wenn die Werkzeugmaschine gestartet wird, wird auch die numerische Steuerung wiederholt neu gestartet, was für die Bedienungsperson Aufwand bedeutet. Bei einem Neustart der numerischen Steuerung ist es auch erforderlich, die an die numerische Steuerung oder an die Werkzeugmaschine angeschlossenen peripheren Einrichtungen dabei neu zu starten. Es ist häufig zeitaufwändig, alle peripheren Geräte zu starten.
-
Zur Zeit ist es üblich, bei Einschalten der numerischen Steuerung die Speicherstruktur zu bestimmen; um die oben beschriebenen Probleme zu vermeiden, ist es aber ausreichend, die Änderungen bezüglich der Parameter und Optionen zu berücksichtigen, ohne die numerische Steuerung neu zu starten. Um eine Speicherstruktur beim Betrieb der numerischen Steuerung zu rekonstruieren ist es erforderlich, den Speicherzugang einer CPU zu unterbrechen. Wird eine Speicherstruktur rekonstruiert ohne Unterbrechung des Speicherzuganges durch die CPU, nimmt der Programmzähler (4(a)), auf den sich die CPU bezieht, unmittelbar vor der Neuaufteilung anschließend falsche Werte an (4(b)), was zu Fehlern führen kann.
-
Es ist durchaus zeitaufwändig, den Speicherzugang einer CPU zu unterbrechen und den Prozess in eingeschaltetem Zustand fortzusetzen bei Betrieb der numerischen Steuerung. In dieser Zeitspanne können Prozesse, welche eine Reaktion in Echtzeit erfordern und welche Reaktionen bezüglich angeschlossener Peripheriegeräte erfordern, nicht ausgeführt werden (5). Liegt keine Reaktion seitens der numerischen Steuerung vor, besteht beispielsweise die Möglichkeit, dass die Peripheriegeräte bei der numerischen Steuerung eine Anormalität oder dergleichen erkennen und ihren Betrieb einstellen (6).
-
KURZBESCHREIBUNG DER ERFINDUNG
-
Die Erfindung strebt die Überwindung derartiger Probleme an und hat zum Ziel die Bereitstellung einer numerischen Steuerung mit einer Funktion zur sicheren Rekonstruktion einer Speicherstruktur.
-
Eine numerische Steuerung gemäß einem Ausführungsbeispiel der Erfindung enthält eine Aktivierungseinheit, welche bei Einschalten der numerischen Steuerung eine Speicherstruktur gemäß Einstellungen aufbaut; eine Änderungsdetektionseinheit, welche einen Betrieb detektiert, der eine Rekonstruktion der Speicherstruktur erfordert; eine Task-Steuereinheit, welche dann, wenn ein solcher Betrieb detektiert ist, einen Unterbrechungsprozess bezüglich des ausgeführten Task (Aufgabe) ausführt; und eine Speicherstruktur-Steuereinheit, welche nach Unterbrechung der Task ein Backup (Sicherung) der Speicherstruktur gewinnt, die Speicherstruktur gemäß der Einstellung rekonstruiert und die rekonstruierte Speicherstruktur und die gesicherte Speicherstruktur vergleicht sowie Informationen neu einstellt, die erforderlich sind für eine neue Ausführung der Task (der Aufgabe), wie die Einstellung des Programmzählers.
-
Bei einer numerischen Steuerung gemäß einem Ausführungsbeispiel der Erfindung startet die Task-Steuereinheit die unterbrochene Task (Aufgabe) erneut nach Abschluss des durch die Speicherstruktur-Steuereinheit ausgeführten Prozesses.
-
Die numerische Steuerung gemäß einem Ausführungsbeispiel der Erfindung enthält weiterhin eine Peripheriegerät-Kommunikationseinheit, welche eine Kommunikation mit Peripheriegeräten ausführt, während die Speicherstruktur-Steuereinheit die Speicherstruktur rekonstruiert, wobei die Kommunikation ausgeführt wird durch Anordnung der gesicherten Speicherstruktur in einem Speicherbereich, der verschieden ist von einem Speicherbereich für die rekonstruierte Speicherstruktur, und Weiterentwicklung eines Programms für die Ausführung der Kommunikation.
-
Mit der Erfindung ist es möglich, eine numerische Steuerung bereitzustellen mit einer Funktion zum sicheren Rekonstruieren einer Speicherstruktur.
-
Figurenliste
-
Obige und weitere Ziele und Merkmale der Erfindung werden noch deutlicher aus der nachfolgenden Beschreibung von Ausführungsbeispielen mit Blick auf die Figuren:
- 1 zeigt ein Beispiel für einen Hardware-Aufbau einer numerischen Steuerung;
- 2 zeigt ein Beispiel für eine funktionale Konfiguration der numerischen Steuerung;
- 3 zeigt ein Flussdiagramm für ein Beispiel des Betriebs der numerischen Steuerung;
- 4 erläutert ein Problem beim Stand der Technik;
- 5 erläutert ein Problem beim Stand der Technik; und
- 6 erläutert ein weiteres Problem beim Stand der Technik.
-
BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSBEISPIELE IM EINZELNEN
-
1 zeigt schematisch die Hardware-Konfiguration der hauptsächlichen Komponenten einer numerischen Steuerung 1 gemäß einem ersten Ausführungsbeispiel. Die numerische Steuerung 1 ist eine Vorrichtung, welche eine industrielle Maschine, wie eine Werkzeugmaschine, steuert. Die numerische Steuerung 1 hat eine CPU 11, einen ROM 12, einen RAM 13, einen nicht-flüchtigen Speicher 14, einen Bus 10, eine Achsensteuerschaltung 16, einen Servoverstärker 17, eine Schnittstelle 18 und eine Schnittstelle 19. Ein Servomotor 50, eine Eingabe-/Ausgabe-Einrichtung 60 und ein oder mehrere Peripheriegeräte 70, sind an die numerische Steuerung 1 angeschlossen.
-
Die CPU 11 ist ein Prozessor zur Steuerung der numerischen Steuerung 1 als Ganzes. Die CPU 11 liest über den Bus 10 ein in dem ROM 12 gespeichertes Systemprogramm und steuert die gesamte numerische Steuerung auf Basis des Systemprogramms.
-
Der ROM 12 speichert beispielsweise ein Systemprogramm für die Ausführung verschiedener Steuerungen der Maschine.
-
Der RAM 13 speichert zeitweise Rechendaten und Anzeigedaten, die bei Berechnungen zeitweise auftreten, und Daten sowie Programme, welche durch eine Bedienungsperson über die Eingabe-/Ausgabe-Einrichtung 60 oder dergleichen eingegeben werden.
-
Der nicht-flüchtige Speicher 14 wird beispielsweise durch eine Batterie (nicht dargestellt) gestützt und hält seinen gespeicherten Zustand auch dann, wenn die Stromversorgung der numerischen Steuerung 1 ausgeschaltet wird. Der nicht-flüchtige Speicher 14 speichert Daten, Programme und dergleichen, die über die Eingabe-/Ausgabe-Einrichtung 60 eingegeben werden. Die in dem nicht-flüchtigen Speicher 14 abgelegten Programme und Daten können bei Ausführung und Einsatz in den RAM 13 überführt werden.
-
Die Achsensteuerschaltung 16 steuert den Betrieb der Achsen der Maschine. Die Achsensteuerschaltung 16 empfängt einen Achsenbewegungsbefehl von der CPU 11 und gibt einen Achsenbewegungsbefehl an den Servoverstärker 17.
-
Der Servoverstärker 17 treibt den Servomotor 50 entsprechend dem Achsenbewegungsbefehl, wie von der Achsensteuerschaltung 16 ausgegeben.
-
Der Servomotor 50 wird durch den Servoverstärker 17 angetrieben zur Bewegung der Betriebsachse der Maschine. Der Servomotor 50 hat üblicherweise einen Positions-/Geschwindigkeitsdetektor. Der Positions-/Geschwindigkeitsdetektor gibt eine Rückmeldung bezüglich Position/Geschwindigkeit, welche zur Achsensteuerschaltung 16 zurückgeführt wird, um eine Rückmeldungssteuerung (Regelung) bezüglich Position/Geschwindigkeit auszuführen.
-
Zwar sind in 1 nur eine Achsensteuerschaltung 16, ein Servoverstärker 17 und ein Servomotor 50 gezeigt, jedoch liegen diese Komponenten in einer Anzahl entsprechend der Anzahl der Achsen der zu steuernden Maschine vor.
-
Die Eingabe-/Ausgabe-Einrichtung 60 ist eine solche für Daten und hat eine Anzeige, eine Tastatur oder dergleichen, und es handelt sich üblicherweise um eine MDI oder um ein Eingabefeld. Die Eingabe-/Ausgabe-Einrichtung 60 zeigt die von der CPU 11 über die Schnittstelle 18 empfangenen Informationen auf der Anzeigeeinrichtung an. Die Eingabe-/Ausgabe-Einrichtung 60 gibt Befehle, Daten etc., welche über die Tastatur oder dergleichen eingegeben werden, über die Schnittstelle 18 an die CPU 11.
-
Bei der peripheren Einrichtung 70 kann es sich um eine oder mehrere periphere Geräte handeln, die an die numerische Steuerung angeschlossen sind oder auch an die Werkzeugmaschine und es kann sich dabei beispielsweise um verschiedene Sensoren, Zeitgeber, Roboter oder dergleichen handeln. Die periphere Einrichtung 70 empfängt Informationen von der CPU 11 über die Schnittstelle 19. Von der peripheren Einrichtung 70 abgegebene Informationen werden über die Schnittstelle 19 zur CPU 11 gegeben.
-
2 zeigt mit einem Blockdiagramm den kennzeichnenden funktionalen Aufbau der numerischen Steuerung 1. Die numerische Steuerung 1 hat eine Aktivierungseinheit 101, eine Task-Steuereinheit (Aufgaben-Steuereinheit) 102, eine Änderungsdetektionseinheit 103, eine Peripheriegeräte-Kommunikationseinheit 104 und eine Speicherstruktur-Steuereinheit 105. Eine solche Kombination wird durch die Technik gemäß der Erfindung bereitgestellt.
Der Betrieb einer jeden der Prozessoreinheiten der numerischen Steuerung 1 wird beschrieben gemäß der Sequenz nach dem Flussdiagramm entsprechend 3. Das Flussdiagramm gemäß 3 kann grob eingeteilt werden in einen Prozess im links dargestellten, von einer Strich-punktierten Linie abgegrenzten Bereich, und in einen Prozess, der im rechts dargestellten Rechteck, welches von einer Strich-punktierten Linie umgeben ist, dargestellt ist. Der Prozess im Rechteck auf der rechten Seite betrifft insbesondere das neue Verfahren gemäß der Erfindung.
-
Die Aktivierungseinheit 101 führt die Prozesse aus, die erforderlich sind bei Einschalten der numerischen Steuerung 1 (S101). Beispielsweise werden Parameter und Optionen, die im Voraus in dem nicht-flüchtigen Speicher 14 abgespeichert sind, ausgelesen, es wird Software entsprechend den Einstellungen geladen und es wird eine Speicherstruktur bezüglich des Code-Bereiches und des Arbeitsbereiches erzeugt. Weiterhin erfolgt eine Initialisierung der Tasks (Aufgaben) und eine Initialisierung der Kommunikation zwischen der CPU 11 und den Peripheriegeräten 70. Danach unterrichtet die Aktivierungseinheit 101 die Task-Steuereinheit 102 über den Abschluss des Prozesses, der beim Einschalten (der Steuerung) ausgeführt wird.
-
Nach Abschluss des Prozesses, der beim Einschalten auszuführen ist, führt die Task-Steuereinheit 102 den Prozess zur Aktivierung der Task (S102) aus oder zum Stoppen der Task, entsprechend dem Zyklus und der Priorität der Task. Beim Stoppen der Task ist sicherzustellen, dass die aktive Task gerade keine kritische Verarbeitung ausführt, danach ist sie zu stoppen. Führt eine Task einen kritischen Prozess aus, wird sie gestoppt, nachdem der Prozess der Task abgeschlossen ist (S104 bis S105). Führt die Bedienungsperson einen Betrieb aus, der einen Neustart erfordert (gemäß Detektion und Mitteilung durch die Änderungsdetektionseinheit 103, wie weiter unten näher beschrieben), unterrichtet die Task-Steuereinheit 102 die Speicherstruktur-Steuereinheit 105 darüber, dass alle Tasks gestoppt sind und fordert sodann eine Rekonstruktion der Speicherstruktur.
-
Die Änderungsdetektionseinheit 103 detektiert eine durch die Bedienungsperson ausgeführte Operation, welche einen Neustart erfordert (S103). Eine Operation, die einen Neustart erfordert, erfordert eine Rekonstruktion der Speicherstruktur und enthält beispielsweise eine Software-Installation. Wird eine einen Neustart erfordernde Operation detektiert, fordert die Änderungsdetektionseinheit 103 die Task-Steuereinheit 102 auf, sämtliche in Betrieb befindlichen Tasks zu stoppen. Sind alle in Betrieb befindlichen Tasks gestoppt, wird der Zugang zu dem zu rekonstruierenden Speicherbereich durch die CPU 11 gestoppt und damit wird eine sichere Rekonstruktion der Speicherstruktur ermöglicht.
-
Wenn die Speicherstruktur-Steuereinheit 105 die Speicherstruktur rekonstruiert, das heißt, wenn die CPU 11 den Speicherzugang zu dem Speicherbereich, der zu rekonstruieren ist, stoppt, substituiert die Peripheriegeräte-Kommunikationseinheit 104 die Kommunikation („Handshake“) zwischen der peripheren Einrichtung 70 und der numerischen Steuerung 1 (S106). Beispielsweise liegt ein Prozess der Invalidierung eines Laufzeitüberwachers, welcher den Zustand der numerischen Steuerung 1 überwacht, und ein Prozess der Rückführung einer Reaktion, wenn eine Anforderung oder Rückmeldung von dem Servomotor zur numerischen Steuerung 1 übertragen wird, vor. Im Ergebnis kann die periphere Einrichtung 70 den Betrieb fortsetzen, während die numerische Steuerung 1 die Speicherstruktur rekonstruiert, ohne dass es zu einer falschen Einschätzung kommt, wonach die numerische Steuerung 1 den Betrieb eingestellt hat oder dergleichen.
-
Die Peripheriegerät-Kommunikationseinheit 104 kann diesen Prozess ausführen unter Verwendung eines Speicherbereiches, der verschieden ist von dem gerade rekonstruierten Speicherbereich. Das heißt: die Peripheriegerät-Kommunikationseinheit 104 sichert eine zeitweise Speicherstruktur einschließlich eines Programm- und eines Arbeitsbereiches zum Ausführen eines Handshake-Prozesses mit der Peripherieeinrichtung 70 in einem Bereich, der verschieden ist von dem zu rekonstruierenden Speicherstrukturbereich. Während die Speicherstruktur-Steuereinheit 105 die Speicherstruktur rekonstruiert, führt die Peripheriegerät-Kommunikationseinheit 104 einen Handshake-Prozess mit der Peripherieeinrichtung 70 aus unter Verwendung der vorstehend beschriebenen zeitweisen Speicherstruktur.
-
Die Speicherstruktur-Steuereinheit 105 steuert die Speicherstruktur. Wird durch die Task-Steuereinheit 102 eine Rekonstruktion der Speicherstruktur angefordert, sichert die Speicherstruktur-Steuereinheit 105 die Speicherstruktur vor dem Start der Rekonstruktion der Speicherstruktur (S107). Danach liest die Speicherstruktur-Steuereinheit 105 Parameter und Optionen erneut aus, führt die bekannte Vorprüfung aus (ob die Speicherstruktur nach der Rekonstruktion den einsetzbaren Speicherbereich übertrifft etc.), und lädt sodann Software entsprechend der Einstellung der Parameter und der Optionen zum Rekonstruieren der Speicherstruktur bezüglich des Code-Bereiches und des Arbeitsbereichs (S108).
-
Nach der Rekonstruktion der Speicherstruktur vergleicht die Speicherstruktur-Steuereinheit 105 die gesicherte Speicherstruktur mit der rekonstruierten Speicherstruktur und die Informationen, welche erforderlich sind, damit die Aufgabe ausgeführt wird bzw. die CPU 11 die Aufgabe wieder ausführt, wie beispielsweise eine passende Programmzählung, werden zurückgesetzt (S109). Dies ermöglicht, dass die Task zuverlässig ausgeführt wird. Danach fordert die Speicherstruktur-Steuereinheit 105 die Task-Steuereinheit 102 auf, mit der Task zu beginnen (S102).
-
Mit dem vorliegenden Ausführungsbeispiel kann die Speicherstruktur rekonstruiert werden, auch bei einem Betrieb, welcher einen Neustart der numerischen Steuerung 1 entsprechend dem Stand der Technik ausführt, also ein Betrieb, welcher eine Rekonstruktion der Speicherstruktur erfordert, unter Beibehaltung der Verbindung zu der peripheren Einrichtung 70, ohne das ein Neustart erforderlich wäre. Somit wird die Zeit, die erforderlich ist für einen Neustart einer numerischen Steuerung 1 (einschließlich der Zeit, die erforderlich ist zum Neustarten der peripheren Einrichtungen und dergleichen), reduziert, so dass die Belastung einer Bedienungsperson gemindert wird. Weiterhin ist es möglich, den Energieverbrauch und dergleichen, der mit einem Neustart verbunden ist, zu reduzieren.
-
Weiterhin ist es mit dem vorliegenden Ausführungsbeispiel einfach, Software und Funktionen (wie ein dynamisches Herunterladen) hinzuzufügen bzw. zu entfernen. Da es nicht erforderlich ist, die numerische Steuerung 1 bei einer Fehlerbehandlung, einer Fehlersuche und dergleichen oder bei einem Aktualisieren der Software neu zu starten, wird eine im Vergleich zum Stand der Technik höhere Flexibilität erreicht.
-
Zwar wurde vorstehend ein Ausführungsbeispiel der Erfindung näher beschrieben, jedoch kann die Erfindung auch unter Abwandlungen ausgeführt werden durch Hinzufügung von passenden Änderungen, ohne dass das oben beschriebene Ausführungsbeispiel im einschränkenden Sinn zu verstehen wäre.
-
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
-