DE112021008018T5 - Steuervorrichtung - Google Patents

Steuervorrichtung Download PDF

Info

Publication number
DE112021008018T5
DE112021008018T5 DE112021008018.0T DE112021008018T DE112021008018T5 DE 112021008018 T5 DE112021008018 T5 DE 112021008018T5 DE 112021008018 T DE112021008018 T DE 112021008018T DE 112021008018 T5 DE112021008018 T5 DE 112021008018T5
Authority
DE
Germany
Prior art keywords
processing
processing data
program
control device
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112021008018.0T
Other languages
English (en)
Inventor
Dongseok Kim
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of DE112021008018T5 publication Critical patent/DE112021008018T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • G05B23/0264Control of logging system, e.g. decision on which data to store; time-stamping measurements

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Abstract

Die vorliegende Erfindung ermöglicht eine flexible Untersuchung der Ursache eines Fehlers, der in einer vor Ort installierten Maschine aufgetreten ist. Es wird eine Steuervorrichtung bereitgestellt, die einen oder mehrere Prozessoren und einen oder mehrere Speicher enthält, die von den Prozessoren auszuführende Anweisungen und/oder von den Prozessoren zu verarbeitende Daten speichern und eine Industriemaschine steuert, wobei die Steuervorrichtung umfasst eine Aufzeichnungsbedingungs-Speichereinheit, die eine oder mehrere Aufzeichnungsbedingungen speichert, die sich auf die Aufzeichnung der Anweisungen und/oder der Daten beziehen; eine VerarbeitungsdatenspezifizierungsInformations-Speichereinheit, die für jede Aufzeichnungsbedingung Verarbeitungsdatenspezifizierungs-Information speichert, die Verarbeitungsdatenspezifizierungs-Information, die zu den Anweisungen und/oder den Daten gehören und in einer Verarbeitungsdatenspeichereinheit zu speichern sind; und eine Aufzeichnungsverarbeitungseinheit, die, wenn die Aufzeichnungsbedingung erfüllt ist, die durch die Verarbeitungsdatenspezifizierungs-Information spezifizierten Verarbeitungsdaten entsprechend der Aufzeichnungsbedingung in der Verarbeitungsdatenspeichereinheit aufzeichnet.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung bezieht sich auf eine Steuervorrichtung.
  • STAND DER TECHNIK
  • Um beispielsweise die Ursache eines Fehlers in einer Industriemaschine, wie einer Werkzeugmaschine oder einem Roboter, zu untersuchen, wenn ein solcher Fehler auftritt, ist eine Technik zur Aufzeichnung von Protokollinformationen, wie z. B. einer Tastenbetätigungshistorie, einer Alarmausgabehistorie und einer spezifischen Signalzustandshistorie bekannt, um die Ursache des Fehlers für eine Steuervorrichtung zu analysieren, die die Industriemaschine steuert. Siehe zum Beispiel die Patentdokumente 1 und 2.
  • In diesem Fall, wenn ein Problem beim Betrieb der Industriemaschine auftritt und eine Ursache für ein solches Problem untersucht wird, erfasst ein Mitarbeiter die Protokollinformationen bis zum Auftreten des Fehlers, um verschiedene Verläufe in chronologischer Reihenfolge zu analysieren. Auf diese Weise wird die Ursache des Fehlers aus dem Betrieb, einem Signalzustand und einem Alarmausgangszustand beim Auftreten des Fehlers geschätzt.
  • Zitierliste
  • Patentdokument
    • Patentdokument 1: Unbeanstandete japanische Patentanmeldung, Veröffentlichung Nr. 2005-4270
    • Patentdokument 2: Unbeanstandete japanische Patentanmeldung, Veröffentlichung Nr. 2007-272545
  • OFFENBARUNG DER ERFINDUNG
  • Durch die Erfindung zu lösende Probleme
  • Steuervorrichtungen, die die Industriemaschinen steuern, werden zusammen mit Eingabe/Ausgabe-Geräten (E/A-Geräte), einem Industrie-PC (IPC), einem Motor usw. von einem Maschinenbauer in die Industriemaschinen (z. B. eine Werkzeugmaschine) eingebaut. Die Industriemaschinen sind Produktionsgüter und müssen daher bei einem Ausfall sofort wiederhergestellt werden. Da Industriemaschinen jedoch immer multifunktionaler und anspruchsvoller werden, werden sie auch immer komplexer, und es besteht die Tendenz zum Auftreten von Fehlern, deren Ursache nur schwer zu ermitteln ist. Zu den auftretenden Fehlern gehören beispielsweise ein Fehler mit geringer Reproduzierbarkeit und ein Fehler mit geringer Häufigkeit des Auftretens. Zu den Fehlern mit geringer Reproduzierbarkeit gehören z. B. ein Fehler, der vom Anschlusszustand der E/A- Geräten, des IPC, des Motors usw. abhängt, und ein Fehler (z. B. ein Fehler, der während der eigentlichen Bearbeitung verursacht wird), der nur in einem Installationszustand an einem Produktionsstandort reproduziert wird. Darüber hinaus umfasst der Fehler mit der geringen Häufigkeit des Auftretens zum Beispiel einen Fehler (z.B. einen Fehler, der in Abhängigkeit von der Zeit/zwischen mehreren Aufgaben verursacht wird) und einen Fehler, der nur dann verursacht wird, wenn eine komplizierte interne Bedingung erfüllt ist.
  • Es ist schwierig, das Phänomen eines solchen Ausfalls zu reproduzieren, und aus diesem Grund kann eine Untersuchung an einer bestehenden Maschine vor Ort erforderlich sein, um die Maschine umgehend wiederherzustellen.
  • Um beispielsweise die Prüfung an der vorhandenen Maschine vor Ort durchzuführen, wird die Prüfsoftware in einer Entwicklungsbasis, z. B. in einem Labor eines Maschinenbauers, erstellt, und ein Mitarbeiter besucht eine Baustelle, um die Prüfsoftware in die vorhandene Maschine zu laden und dort auszuführen. In diesem Fall kann der Mitarbeiter jedoch selbst dann, wenn die Prüfungssoftware erneut erstellt werden muss, nicht flexibel mit dieser Situation umgehen, da die Entwicklungsbasis und der Standort räumlich voneinander getrennt sind. Außerdem ist es in manchen Fällen sehr zeitaufwändig, die Prüfung vor Ort durchzuführen. Dies kann eine rasche Wiederherstellung beeinträchtigen.
  • Wird die Prüfung beispielsweise an der vorhandenen Maschine vor Ort mit einer universell einsetzbaren Vorrichtung zur Fehlersuche durchgeführt, muss der Arbeiter die Vorrichtung zur Fehlersuche zusätzlich an die bereits in die vorhandene Maschine eingebaute Steuervorrichtung anschließen. Dies führt zu dem Problem, dass die Wartbarkeit schlecht ist. Wenn die Umgebung der vorhandenen Maschine ungünstig ist, z. B. durch hohe Temperaturen oder Nebel, kann die Vorrichtung zur Fehlersuche einer solchen Umgebung nicht standhalten. Darüber hinaus hat die Vorrichtung zur Fehlersuche Einschränkungen bei der Datenerfassung, wie z. B. die Einschränkung, dass die Probenahme nur unter einfachen Bedingungen durchgeführt werden kann, und die Einschränkung, dass der Betrieb bei der Probenahme nicht geändert werden kann.
  • Aus diesen Gründen ist es wünschenswert, die Ursache von Ausfällen an bestehenden Maschinen vor Ort flexibel untersuchen zu können.
  • Mittel zur Lösung der Probleme
  • Ein Aspekt einer Steuervorrichtung der vorliegenden Offenbarung ist eine Steuervorrichtung, die einen oder mehrere Prozessoren und einen oder mehrere Speicher zum Speichern einer Anweisung, die von dem einen oder den mehreren Prozessoren ausgeführt werden soll, und/oder von Daten, die von dem einen oder den mehreren Prozessoren verarbeitet werden sollen, enthält und eine Industriemaschine steuert. Die Steuervorrichtung umfasst eine Aufzeichnungsbedingungs-Speichereinheit, die so konfiguriert ist, dass sie eine oder mehrere Aufzeichnungsbedingungen in Bezug auf die Aufzeichnung der Anweisung und/oder der Daten speichert, eine Verarbeitungsdatenspezifizierungsinformation-Speichereinheit, die so konfiguriert ist, dass sie für jede der einen oder mehreren Aufzeichnungsbedingungen Verarbeitungsdatenspezifizierungsinformationen zum Spezifizieren von Verarbeitungsdaten speichert, die in einer Verarbeitungsdatenspeichereinheit aus der Anweisung und/oder den Daten zu speichern sind, und eine Aufzeichnungsverarbeitungseinheit, die so konfiguriert ist, dass sie, wenn die eine oder mehreren Aufzeichnungsbedingungen erfüllt sind, die Verarbeitungsdaten aufzeichnet, die durch die Verarbeitungsdatenspezifizierungsinformationen spezifiziert werden, die den einen oder mehreren Aufzeichnungsbedingungen in der Verarbeitungsdatenspeichereinheit entsprechen.
  • Auswirkungen der Erfindung
  • Nach einem Aspekt kann eine Fehlerursache an einer bestehenden Maschine vor Ort flexibel untersucht werden.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
    • 1 ist ein funktionelles Blockdiagramm, das ein Beispiel für die funktionelle Konfiguration eines Prüfungssystems gemäß einer Ausführungsform zeigt;
    • 2 ist ein Diagramm, das ein Beispiel für die Dekomprimierung in einem lokalen Speicher zeigt;
    • 3 ist ein Diagramm, das ein Beispiel für die Konfiguration einer Speichereinheit zeigt;
    • 4 ist ein Flussdiagramm zur Beschreibung der Verarbeitung von Datenerfassungsprozessen einer numerischen Steuervorrichtung;
    • 5 ist ein Flussdiagramm zur Beschreibung des Ablaufs der Ausführung des Untersuchungsprogramms in Schritt S7 in einem Fall, in dem eine Probenahme nur dann durchgeführt wird, wenn eine Bedingung basierend auf mehreren Daten erfüllt ist (Einstellung einer komplizierten Bedingung);
    • 6 ist ein Flussdiagramm zur Beschreibung des Ablaufs der Ausführung des Untersuchungsprogramms von Schritt S7 in einem Fall der Verfolgung eines aktuellen Aufgabenstapels und der Erfassung einer Aufruferadresse (fortgeschrittene Datenerfassung); und
    • 7 ist ein Flussdiagramm zur Beschreibung des Ablaufs der Ausführung des Untersuchungsprogramms von Schritt S7 in einem Fall, in dem man sich bereithält, bis eine Anweisung von außen gegeben wird (Anpassungsvorgang bei der Probenahme zum vorübergehenden Stopp).
  • BEVORZUGTE AUSFÜHRUNGSFORM DER ERFINDUNG
  • Als Beispiel für eine Steuervorrichtung wird eine numerische Steuervorrichtung unter Bezugnahme auf eine bestimmte Ausführungsform der Steuervorrichtung beschrieben. Es ist zu beachten, dass die vorliegende Erfindung nicht auf die numerische Steuervorrichtung beschränkt ist und beispielsweise auch auf eine Steuervorrichtung für einen Roboter anwendbar ist, die einen Industrieroboter steuert und einen oder mehrere Prozessoren umfasst. Darüber hinaus ist die vorliegende Erfindung auch auf eine Steuervorrichtung anwendbar, die eine beliebige Industriemaschine steuert und einen oder mehrere Prozessoren umfasst. Hier umfasst der Industrieroboter beispielsweise verschiedene Maschinen wie eine Werkzeugmaschine, einen Industrieroboter, einen Serviceroboter, eine Schmiedewalzmaschine und eine Spritzgießmaschine.
  • <Eine Ausführungsform>
  • 1 ist ein funktionelles Blockdiagramm, das ein Beispiel für die funktionelle Konfiguration eines Prüfungssystems gemäß einer Ausführungsform zeigt.
  • Wie in 1 dargestellt, verfügt ein Prüfungssystem 1 über eine numerische Steuervorrichtung 10 und eine Informationsverarbeitungsvorrichtung 20 als externe Ausrüstung.
  • Die numerische Steuervorrichtung 10 und die Informationsverarbeitungsvorrichtung 20 können über ein nicht dargestelltes Netzwerk, wie z. B. ein lokales Netzwerk (LAN) oder das Internet, miteinander verbunden sein. In diesem Fall enthalten die numerische Steuervorrichtung 10 und die Informationsverarbeitungsvorrichtung 20 nicht dargestellte Kommunikationseinheiten, um über eine solche Verbindung miteinander zu kommunizieren. Alternativ können die numerische Steuervorrichtung 10 und die Informationsverarbeitungsvorrichtung 20 über eine nicht dargestellte Verbindungsschnittstelle direkt miteinander verbunden sein.
  • Es ist zu beachten, dass die numerische Steuervorrichtung 10 mit einer Informationsverarbeitungsvorrichtung 20 verbunden ist, aber auch mit einer Vielzahl von Informationsverarbeitungsvorrichtungen 20 verbunden sein kann, wie später beschrieben.
  • <Informationsverarbeitungsvorrichtung 20>
  • Die Informationsverarbeitungsvorrichtung 20 ist z.B. ein Computer oder ein Tablet-Terminal und prüft eine Fehlerursache in der numerischen Steuervorrichtung 10, wie später beschrieben.
  • Konkret erzeugt die Informationsverarbeitungsvorrichtung 20 beispielsweise eine später beschriebene Aufzeichnungsbedingung bezüglich der Aufzeichnung von Daten auf der numerischen Steuervorrichtung 10 für die Untersuchung der Fehlerursache basierend auf der Eingabeoperation des Benutzers über eine in der Informationsverarbeitungsvorrichtung 20 enthaltene Eingabevorrichtung (nicht gezeigt), wie z.B. eine Tastatur oder ein Touchpanel, und gibt die erzeugte Aufzeichnungsbedingung an die numerische Steuervorrichtung 10 weiter. Darüber hinaus erzeugt die Informationsverarbeitungsvorrichtung 20 später beschriebene Verarbeitungsdatenspezifizierungsinformationen zum Spezifizieren von Daten auf der numerischen Steuervorrichtung 10 spezifizieren, die gemäß der Aufzeichnungsbedingung aufzuzeichnen sind, basierend auf der Eingabeoperation des Benutzers über die Eingabevorrichtung (nicht gezeigt) der Informationsverarbeitungsvorrichtung 20, und setzt die erzeugten Verarbeitungsdatenspezifizierungsinformationen an die numerische Steuervorrichtung 10. Ferner erzeugt und kompiliert die Informationsverarbeitungsvorrichtung 20 basierend auf der Eingabeoperation des Benutzers über die Eingabevorrichtung (nicht gezeigt) der Informationsverarbeitungsvorrichtung 20 ein Untersuchungsprogramm zum Erfassen der durch die Verarbeitungsdatenspezifizierungsinformationen von der numerischen Steuervorrichtung 10 spezifizierten Daten, wenn die Aufzeichnungsbedingung erfüllt ist, und lädt das ausführbare Untersuchungsprogramm in die später beschriebene numerische Steuervorrichtung 10.
  • <Numerische Steuervorrichtung 10>
  • Bei der numerischen Steuervorrichtung 10 handelt es sich um eine dem Fachmann bekannte numerische Steuervorrichtung, die beispielsweise eine Anweisung basierend auf einem von einer nicht dargestellten CAD/CAM-Vorrichtung erhaltenen Bearbeitungsprogramm erzeugt und die erzeugte Anweisung an eine (nicht dargestellte) Werkzeugmaschine überträgt. Auf diese Weise steuert die numerische Steuervorrichtung 10 den Betrieb der nicht gezeigten Werkzeugmaschine. Wenn es sich bei der nicht dargestellten Werkzeugmaschine beispielsweise um einen Roboter handelt, kann die numerische Steuervorrichtung 10 eine Vorrichtung zur Robotersteuervorrichtung sein.
  • Die numerische Steuervorrichtung 10 weist, wie in 1 dargestellt, ein Steuermodul 110 und n Prozessormodule 120-1 bis 120-n auf. Das Steuermodul 110 und die Prozessormodule 120-1 bis 120-n sind über einen Bus 140 kommunikativ miteinander verbunden.
  • Das Steuermodul 110 hat eine CPU 111 und einen lokalen Speicher 112. Die CPU 111 hat eine Aufzeichnungsbedingungs-Einstellungsschnittstellen-Einheit (IF) 1111, eine Verarbeitungsdatenspezifizierungsinformation-Einstellungsschnittstellen-Einheit (IF) 1112, eine Aufzeichnungsverarbeitungseinheit 1113, eine Unterbrechungsverarbeitungseinheit 1114 und eine Programmausführungseinheit 1115. Jedes der Prozessormodule 120-1 bis 120-n hat eine CPU 121 und einen lokalen Speicher 122.
  • In den Fällen, in denen die Prozessormodule 120-1 bis 120-n nicht voneinander unterschieden werden müssen, werden diese Module im Folgenden auch gemeinsam als „Prozessormodul(e) 120“ bezeichnet.
  • <Prozessormodul 120>
  • Das Prozessormodul 120 besteht aus der CPU 121, dem lokalen Speicher 122 und einer Einheit 123.
  • Bei der Ausführung eines Anwendungsprogramms zur Achsensteuerung kann die CPU 121 beispielsweise eine Hauptachse einer Werkzeugmaschine (nicht dargestellt) und drei Achsen einer X-Achse, einer Y-Achse und einer Z-Achse oder fünf Achsen einer X-Achse, einer Y-Achse, einer Z-Achse, einer A-Achse und einer B-Achse steuern, um die Position und Neigung eines Tisches zu ändern. Das heißt, das Prozessormodul 120 arbeitet als Achsensteuerungsmodul.
  • Bei der Ausführung eines Anwendungsprogramms zur Durchführung einer Anzeigesteuerung kann die CPU 121 eine Anzeige auf einer Vorrichtung der numerischen Steuervorrichtung 10 steuern. Das heißt, das Prozessormodul 120 arbeitet als Anzeigesteuermodul. Bei der Ausführung eines Anwendungsprogramms zur Steuerung von Peripheriegeräten kann die CPU 121 Peripheriegeräte steuern, die an der Peripherie einer Werkzeugmaschine (nicht dargestellt) angeordnet sind. Das heißt, das Prozessormodul 120 arbeitet als Peripheriesteuerungsmodul.
  • Bei dem lokalen Speicher 122 handelt es sich beispielsweise um einen Direktzugriffsspeicher (RAM), und das von der CPU 121 auszuführende Anwendungsprogramm wird in den lokalen Speicher 122 geladen.
  • Die Speichereinheit 123 ist z.B. ein Festwertspeicher (ROM), und das von der CPU 121 auszuführende Anwendungsprogramm für die Achsensteuerung usw., die von der CPU 121 zu verarbeitenden Daten usw. werden in der Speichereinheit 123 gespeichert.
  • <Steuermodul 110>
  • Das Steuermodul 110 ist ein Modul, das die Gesamtheit der numerischen Steuervorrichtung 10 steuert, und verfügt über die CPU 111, den lokalen Speicher 112 und eine Einheit 113.
  • <Lokaler Speicher 112>
  • Der lokale Speicher 112 ist beispielsweise ein RAM. Wie später beschrieben, wird in einem Fall, in dem die CPU 111 das Anwendungsprogramm liest, das eine Gruppe einer Vielzahl von Programmen ist, die in der Speichereinheit 113 gespeichert sind, das Anwendungsprogramm in den lokalen Speicher 112 lädt und das Anwendungsprogramm darin ausführt, die Vielzahl von Programmen in Programmspeicherbereiche 1 bis m1 im lokalen Speicher 112 dekomprimiert, wie in 2 gezeigt. Darüber hinaus werden im lokalen Speicher 112 in den Datenspeicherbereichen 1 bis m2 jeweils eine Anweisung der Vielzahl von Programmen, zu verarbeitende Daten usw. gespeichert. Man beachte, dass m1 und m2 ganze Zahlen von 2 oder mehr sind.
  • <Speichereinheit 113>
  • Die Speichereinheit 113 ist ein Speicher wie z. B. ein ROM. Die Speichereinheit 113 kann eine von der CPU 111 auszuführende Anweisung, von der CPU 111 zu verarbeitende Daten usw. zusammen mit einem Systemprogramm und dem Anwendungsprogramm speichern.
  • Wie in 3 gezeigt, enthält die Speichereinheit 113 eine Verarbeitungsdatenspeichereinheit 131, eine Aufzeichnungsbedingungsinformation-Speichereinheit 132, eine Verarbeitungsdatenspezifizierungsinformation-Speichereinheit 133 und eine Untersuchungsprogramm-Speichereinheit 134.
  • Wenn beispielsweise, wie später beschrieben, eine der in der Aufzeichnungsbedingungs-Speichereinheit 132 gespeicherten Aufzeichnungsbedingungen erfüllt ist, speichert die Verarbeitungsdatenspeichereinheit 131 mindestens ein Stück Verarbeitungsdaten, die durch die Verarbeitungsdatenspezifizierungsinformation spezifiziert sind, die der erfüllten Aufzeichnungsbedingung entspricht und in der Verarbeitungsdatenspezifizierungsinformation-Speichereinheit 133 gespeichert ist, wie interne Informationen über die CPU 111 und die CPU 121 des Prozessormoduls 120, im lokalen Speicher 112 und im lokalen Speicher 122 des Prozessormoduls 120 gespeicherte Daten, Anweisungen, die von der CPU 111 und der CPU 121 des Prozessormoduls 120 auszuführen sind, oder Adressen, an denen diese Anweisungen gespeichert sind.
  • Die Aufzeichnungsbedingungs-Speichereinheit 132 empfängt von der Informationsverarbeitungsvorrichtung 20 eine oder mehrere Aufzeichnungsbedingungen bezüglich der Aufzeichnung der von der CPU 111 und der CPU 121 des Prozessormoduls 120 auszuführenden Anweisungen und/oder der in dem lokalen Speicher 112 und dem lokalen Speicher 122 des Prozessormoduls 120 gespeicherten Daten in die Verarbeitungsdatenspeichereinheit 131 und speichert diese Aufzeichnungsbedingungen. Zu beachten ist, dass die Aufzeichnungsbedingung basierend auf der Eingabeoperation des Benutzers über die in der numerischen Steuervorrichtung 10 enthaltene Eingabevorrichtung (nicht dargestellt), wie z. B. eine Tastatur oder ein Berührungsfeld, erzeugt und in der Aufzeichnungsbedingungs-Speichereinheit 132 gespeichert werden kann.
  • Die Verarbeitungsdatenspezifizierungsinformation-Speichereinheit 133 empfängt von der Informationsverarbeitungsvorrichtung 20 die Verarbeitungsdatenspezifizierungsinformation zum Einstellen der Verarbeitungsdaten, die in der Verarbeitungsdatenspeichereinheit 131 für jede Aufzeichnungsbedingung zu speichern sind, und speichert diese Information. Zu beachten ist, dass die Verarbeitungsdatenspezifizierungsinformation basierend auf der Eingabeoperation des Benutzers über die Eingabevorrichtung (nicht gezeigt) der numerischen Steuervorrichtung 10 erzeugt und in der Verarbeitungsdatenspezifizierungsinformation-Speichereinheit 133 gespeichert werden kann. Die Untersuchungsprogramm-Speichereinheit 134 empfängt von der Informationsverarbeitungsvorrichtung 20 das ausführbare Untersuchungsprogramm, das zur Untersuchung der Ursache des Fehlers in der numerischen Steuervorrichtung 10 ausgeführt werden soll, wenn die Aufzeichnungsbedingung erfüllt ist, und speichert ein solches Programm. Es ist zu beachten, dass das Untersuchungsprogramm basierend auf der Eingabeoperation des Benutzers über die (nicht dargestellte) Vorrichtung der numerischen Steuervorrichtung 10 erzeugt und kompiliert werden kann und in der Untersuchungsprogramm-Speichereinheit 134 gespeichert werden kann.
  • <CPU 111>
  • Die CPU 111 ist ein Prozessor, der die numerische Steuervorrichtung 10 als Ganzes steuert. Die CPU 111 lädt das Systemprogramm und das Anwendungsprogramm, die in der Einheit 113 gespeichert sind, in den lokalen Speicher 112 und steuert die Gesamtheit der numerischen Steuervorrichtung 10 entsprechend dem Systemprogramm und dem Anwendungsprogramm. Auf diese Weise, wie in 1 gezeigt, ist die CPU 111 so konfiguriert, dass sie die Funktionen der Aufzeichnungsbedingungseinstellungs-IF-Einheit 1111, der Verarbeitungsdatenspezifizierungsinformationeinstellungs-IF-Einheit 1112, der Aufzeichnungsverarbeitungseinheit 1113, der Unterbrechungsverarbeitungseinheit 1114 und der Programmausführungseinheit 1115 implementiert.
  • In einem Fall, in dem das Anwendungsprogramm eine Gruppe von Programmen ist, die ein Softwaresystem bilden, das z.B. ein Programm (z.B. einen Quellcode-Namen „safty_function.src“) enthält, das für eine Sicherheitsfunktion der numerischen Steuervorrichtung 10 verantwortlich ist, lädt die CPU 111 in den lokalen Speicher 112 ein Anwendungsprogramm (eine Gruppe von Programmen), das durch Kompilieren in eine ausführbare Anweisung umgewandelt wird, z.B. aus, safty_function.src, in den lokalen Speicher 112, und dementsprechend werden diese Programme in den Programmspeicherbereichen 1 bis m1 des lokalen Speichers 112 durch das Systemprogramm dekomprimiert. So kann beispielsweise die aus dem Quellcode von safty_function.src erzeugte ausführbare Anweisung im Programmspeicherbereich 1 des lokalen Speichers 112 dekomprimiert werden. Eine ausführbare Anweisung, die aus einem anderen in der Programmgruppe enthaltenen Quellcode erzeugt wurde, kann in den Programmspeicherbereich i (i ist eine ganze Zahl von 2 bis m 1) des lokalen Speichers 112 dekomprimiert werden.
  • Auf diese Weise kann die CPU 111 gleichzeitig die Anweisungen ausführen, die jeweils in den Programmspeicherbereichen 1 bis m1 des lokalen Speichers 112 gespeichert sind. Zum Beispiel zeigt die Aufzeichnungsbedingungseinstellungs-IF-Einheit 1111 eine Aufzeichnungsbedingungseinstellungsschnittstelle (IF) zum Einstellen der Aufzeichnungsbedingung, die in der Aufzeichnungsbedingungs-Speichereinheit 132 auf einer Anzeigevorrichtung (nicht gezeigt), die in der Informationsverarbeitungsvorrichtung 20 enthalten ist, wie einer Flüssigkristallanzeige (LCD), gespeichert werden soll. Über die Aufzeichnungsbedingungseinstellungs-IF-Einheit 1111, die basierend auf der Eingabeoperation des Benutzers angezeigt wird, stellt die Aufzeichnungsbedingungseinstellungs-IF-Einheit 1111 als die Aufzeichnungsbedingung eine Bedingung zum Einstellen eines Zustands ein, um zu bestimmen, ob die oben beschriebenen Verarbeitungsdaten aufgezeichnet werden sollen, wenn irgendein Zustand in der numerischen Steuervorrichtung 10 auftritt. Die Aufzeichnungsbedingungseinstellungs-IF-Einheit 1111 speichert in der Aufzeichnungsbedingungs-Speichereinheit 132 die Aufzeichnungsbedingung, die von der Informationsverarbeitungsvorrichtung 20 eingestellt wurde.
  • Als Aufzeichnungsbedingung kann beispielsweise eine Bedingung wie „wenn eine in einer Adresse ‚0x0100 0000‘ des lokalen Speichers 112 des Steuermoduls 110 (oder des lokalen Speichers 122 des Prozessormoduls 120) gespeicherte Anweisung ausgeführt wird“, „wenn die CPU 111 des Steuermoduls 110 (oder die CPU 121 des Prozessormoduls 120) eine Verzweigungsanweisung ausführt“ oder „wenn in einer Adresse ‚0x0200 0000‘ des lokalen Speichers 112 des Steuermoduls 110 (oder des lokalen Speichers 122 des Prozessormoduls 120) gespeicherte Daten gelesen werden“ festgelegt werden.
  • Die Verarbeitungsdatenspezifizierungsinformation-Einstellungs-IF-Einheit 1112 zeigt zum Beispiel auf der Anzeigevorrichtung (nicht gezeigt) der Informationsverarbeitungsvorrichtung 20 eine Verarbeitungsdatenspezifizierungsinformation-Schnittstelle (IF) zum Einstellen der Verarbeitungsdatenspezifizierungsinformation zum Spezifizieren der Verarbeitungsdaten (z.B., CPU-Allzweckregister, CPU-interne Informationen wie z.B. ein CPU-Zeitgeberwert, der Wert von Daten, auf die zugegriffen wird, Speicherdaten wie z.B. der Wert von Daten, die an einer bestimmten Adresse gespeichert sind, binäre Daten über eine ausgeführte Anweisung oder eine Adresse, an der eine solche Anweisung gespeichert ist), die in der Verarbeitungsdatenspeichereinheit 131 für jede Aufzeichnungsbedingung zu speichern sind. Die Verarbeitungsdatenspezifizierungsinformations-Einstellungs-IF-Einheit 1112 stellt über die Verarbeitungsdatenspezifizierungsinformations-Einstellungs-IF-Einheit, die basierend auf der Eingabeoperation des Benutzers angezeigt wird, die Verarbeitungsdatenspezifizierungsinformationen zum Spezifizieren der Verarbeitungsdaten ein, die in der oben beschriebenen Verarbeitungsdatenspezifizierungsinformation-Speichereinheit 133 gespeichert werden sollen, wenn die oben beschriebene Aufzeichnungsbedingung während der Verarbeitung in der numerischen Steuervorrichtung 10 erfüllt ist. Die Verarbeitungsdatenspezifizierungsinformation-Einstellungs-IF-Einheit 1112 speichert in der Verarbeitungsdatenspezifizierungsinformation-Speichereinheit 133 die Verarbeitungsdatenspezifizierungsinformation, die die von der Informationsverarbeitungsvorrichtung 20 eingestellten werden.
  • Im Falle der oben beschriebenen Aufzeichnungsbedingung „wenn die an der Adresse ‚0x0100 0000‘ des lokalen Speichers 112 des Steuermoduls 110 (oder des lokalen Speichers 122 des Prozessormoduls 120) gespeicherte Anweisung ausgeführt wird“, kann beispielsweise „das Erfassen von Daten (CPU-interne Informationen) aus dem ‚0‘-ten bis ‚31‘-ten Mehrzweckregister der CPU 111 des Steuermoduls 110 (oder der CPU 121 des Prozessormoduls 120)“ als die Verarbeitungsdatenspezifizierungsinformation festgelegt werden. Im Falle der Aufzeichnungsbedingung „wenn die CPU 111 des Steuermoduls 110 (oder die CPU 121 des Prozessormoduls 120) die Verzweigungsanweisung ausführt“, kann „das Erfassen einer Adresse (Programmzähler), an der die ausgeführte Anweisung als Speicherbereich für ausgeführte Anweisungen gespeichert wurde, und das Erfassen eines Zeitgeberwerts (CPU-interne Information) in der CPU“ als die Verarbeitungsdatenspezifizierungsinformation eingestellt werden. Im Falle der Aufzeichnungsbedingung „wenn die an der Adresse ‚0x0200 0000‘ des lokalen Speichers 112 des Steuermoduls 110 (oder des lokalen Speichers 122 des Prozessormoduls 120) gespeicherten Daten gelesen werden“, kann „das Erfassen eines Zeitgeberwerts (CPU-interne Informationen) in der CPU 111 (oder der CPU 121) und das Erfassen von Daten von 0x10 Bytes von der Adresse ‚0x0200 0000‘ des lokalen Speichers 112 (oder des lokalen Speichers 122)“ als die Verarbeitungsdatenspezifizierungsinformation eingestellt werden. Wenn beispielsweise eine der in der Aufzeichnungsbedingungs-Speichereinheit 132 gespeicherten Aufzeichnungsbedingungen erfüllt ist, zeichnet die Aufzeichnungsverarbeitungseinheit 1113 in der Verarbeitungsdatenspeichereinheit 131 die Verarbeitungsdaten auf, die durch die der erfüllten Aufzeichnungsbedingung entsprechenden Verarbeitungsdatenspezifizierungsinformationen spezifiziert sind.
  • Beispielsweise führt die Unterbrechungsverarbeitungseinheit 1114 eine Unterbrechungsverarbeitung aus, wenn die Aufzeichnungsbedingung erfüllt ist, und unterbricht die vor der Ausführung der Unterbrechungsverarbeitung ausgeführte Verarbeitung, um einen Kontextwechsel durchzuführen, z. B. um ein Register zu speichern und einen Stapelzeiger zu setzen. Danach beendet die Unterbrechungsverarbeitungseinheit 1114 in einem Fall, in dem die Unterbrechungsverarbeitungseinheit 1114 eine Meldung über den Abschluss der Datenaufzeichnung empfängt, die den Abschluss der Aufzeichnung der Verarbeitungsdaten durch die Aufzeichnungsverarbeitungseinheit 1113 anzeigt, die Unterbrechungsverarbeitung, indem sie eine Kontextwechsel durchführt, z.B. um das Register und den Stapelzeiger wiederherzustellen. Nach Abschluss der Unterbrechungsverarbeitung nimmt die Unterbrechungsverarbeitungseinheit 1114 die ursprüngliche Verarbeitung wieder auf, die vor der Ausführung der Unterbrechungsverarbeitung ausgeführt wurde. Wenn beispielsweise die Aufzeichnungsbedingung erfüllt ist, wenn die Aufzeichnungsbedingung erfüllt ist, führt die Programmausführungseinheit 1115 das in die Untersuchungsprogramm-Speichereinheit 134 geladene Untersuchungsprogramm aus, um in der Verarbeitungsdatenspeichereinheit 131 die Verarbeitungsdaten aufzuzeichnen, die durch die einer solchen Aufzeichnungsbedingung entsprechenden Verarbeitungsdatenspezifizierungsinformationen spezifiziert sind. Auf diese Weise kann die Programmausführungseinheit 1115 (a) eine Abtastung nur dann durchführen, wenn eine Bedingung basierend auf mehreren Daten erfüllt ist (eine komplizierte Bedingung einstellen), (b) einen aktuellen Aufgabenstapel verfolgen und eine Aufruferadresse sammeln (erweiterte Datenerfassung), oder (c) bereitstehen, bis eine Anweisung von außen gegeben wird (den Betrieb bei der Abtastung an einen vorübergehenden Stopp anpassen).
  • Zu beachten ist, dass die Vorgänge (a) bis (c) der Programmausführungseinheit 1115 basierend auf dem Untersuchungsprogramm später als Untersuchungsprogramm-Ausführungsverarbeitung beschrieben werden. <Verarbeitung der Datenerfassung Verarbeitung der numerischen Steuervorrichtung 10> Als nächstes wird der Ablauf der Verarbeitung der Datenerfassung der numerischen Steuervorrichtung 10 anhand von 4 beschrieben.
  • 4 ist ein Flussdiagramm zur Beschreibung der Verarbeitung der Datenerfassung der numerischen Steuervorrichtung 10. Der hier beschriebene Ablauf wird wiederholt ausgeführt, während die CPU 111 (oder die CPU 121 des Prozessormoduls 120) eine Anweisung ausführt.
  • In Schritt S1 führt die CPU 111 (oder die CPU 121 des Prozessormoduls 120) eine aktuell (zuvor) ausgeführte Anweisung zu Ende.
  • In Schritt S2 bestimmt die Aufzeichnungsverarbeitungseinheit 1113, ob eine Anweisung, die im Anschluss an die in Schritt S1 abgeschlossene Anweisung ausgeführt werden soll, eine der in der Aufzeichnungsbedingungs-Speichereinheit 132 gespeicherten Aufzeichnungsbedingungen erfüllt oder nicht. Erfüllt die als nächstes auszuführende Anweisung die Aufzeichnungsbedingung, fährt die Verarbeitung mit Schritt S3 fort. Erfüllt hingegen die als nächstes auszuführende Anweisung die Aufzeichnungsbedingung nicht, wird mit Schritt S10 fortgefahren.
  • In Schritt S3 führt die Unterbrechungsverarbeitungseinheit 1114 die Unterbrechungsverarbeitung aus und unterbricht die aktuell ausgeführte Verarbeitung, um einen Kontextwechsel durchzuführen, z. B. um ein Register zu speichern und einen Stapelzeiger zu setzen.
  • In Schritt S4 springt die Aufzeichnungsverarbeitungseinheit 1113 zur Aufzeichnungsverarbeitung der Verarbeitungsdaten.
  • In Schritt S5 bezieht sich die Aufzeichnungsverarbeitungseinheit 1113 auf die Verarbeitungsdatenspezifizierungsinformation, die der Aufzeichnungsbedingung entsprechen.
  • In Schritt S6 zeichnet die Aufzeichnungsverarbeitungseinheit 1113 in der Verarbeitungsdatenspeichereinheit 131 die Verarbeitungsdaten auf, die durch die Verarbeitungsdatenspezifizierungsinformationen spezifiziert werden.
  • In Schritt S7 führt die Programmausführungseinheit 1115 das in die Untersuchungsprogramm-Speichereinheit 134 geladene Untersuchungsprogramm aus, um die Verarbeitung der Ausführung des Untersuchungsprogramms durchzuführen. Ein detaillierter Ablauf der Ausführung des Untersuchungsprogramms wird später beschrieben. In Schritt S8 gibt die Aufzeichnungsverarbeitungseinheit 1113 eine Meldung über den Abschluss der Aufzeichnung von Verarbeitungsdaten aus, wenn die Aufzeichnung der Verarbeitungsdaten abgeschlossen ist.
  • In Schritt S9 führt die Unterbrechungsverarbeitungseinheit 1114 in einem Fall, in dem die Unterbrechungsverarbeitungseinheit 1114 die in Schritt S8 ausgegebene Benachrichtigung über den Abschluss der Datenaufzeichnung erhalten hat, einen Kontextwechsel durch, z.B. zur Wiederherstellung des Registers und des Stapelzeigers, und schließt die Unterbrechungsverarbeitung ab. Nach Abschluss der Unterbrechungsverarbeitung nimmt die Unterbrechungsverarbeitungseinheit 1114 die ursprüngliche Verarbeitung wieder auf, die vor der Ausführung der Unterbrechungsverarbeitung ausgeführt wurde.
  • In Schritt S10 führt die CPU 111 (oder die CPU 121 des Prozessormoduls 120) eine nächste Anweisung aus. Danach kehrt die numerische Steuervorrichtung 10 zu Schritt S1 zurück. Als nächstes wird der Ablauf der Ausführung des Untersuchungsprogramms in Schritt S7 von 4 in jedem der oben beschriebenen Vorgänge (a) bis (c) beschrieben.
  • In der folgenden Beschreibung wird ein Fall beschrieben, in dem die CPU 111 des Steuermoduls 110 eine Anweisung ausführt. Ein Fall, in dem die CPU 121 des Prozessormoduls 120 eine Anweisung ausführt, ist jedoch ähnlich wie der Fall der CPU 111 des Steuermoduls 110.
  • (a) Fall, in dem eine Stichprobe nur dann durchgeführt wird, wenn die Bedingung basierend auf mehreren Daten erfüllt ist (Festlegung einer komplizierten Bedingung)
  • Insbesondere wird beispielsweise ein Fall, in dem eine Fehlerursache, bei dem die Verarbeitung im Programmspeicherbereich 1, der das für die Sicherheitsfunktion der numerischen Steuervorrichtung 10 verantwortliche Programm speichert, erheblich verzögert ist, die Echtzeitsteuerung nicht rechtzeitig durchgeführt werden kann und das System angehalten wird, als Untersuchungsprogramm-Ausführungsverarbeitung beschrieben. Es ist zu beachten, dass die numerische Steuervorrichtung 10 die Untersuchungsprogramm-Ausführungsverarbeitung zur Abtastung (Untersuchung) einer Fehlerursache in einem anderen Fall als dem Fall ausführen kann, in dem die Verarbeitung im Programmspeicherbereich 1, in dem das für die Sicherheitsfunktion zuständige Programm gespeichert ist, erheblich verzögert ist. In diesem Fall kann das Untersuchungsprogramm vorzugsweise von der Vorrichtung 20 für die Informationsverarbeitung erstellt werden, um die Ursache eines solchen Fehlers zu prüfen (zu untersuchen).
  • In einem Fall, in dem die Verarbeitung im Programmspeicherbereich 1 erheblich verzögert ist, muss geprüft werden, wie viel Zeit die Verarbeitung im Programmspeicherbereich 1, in dem das für die Sicherheitsfunktion verantwortliche Programm gespeichert ist, benötigt, und es muss geprüft werden, welcher Teil der Verarbeitung im Programmspeicherbereich 1 im Vergleich zu einem normalen Fall besonders verzögert ist. So wird das Untersuchungsprogramm in der Informationsverarbeitungsvorrichtung 20 erstellt und in die Untersuchungsprogramm-Speichereinheit 134 geladen, so dass eine Abtastung (Untersuchung) durchgeführt wird, um (1) eine Uhrzeit zu erfassen, wenn die Anweisungsausführung durch die CPU 111 des Steuermoduls 110 in eine Anweisung (Funktion) verzweigt, die im Programmspeicherbereich 1 aus dem Programmspeicherbereich i (i # 1) enthalten ist, und die Adresse der Anweisung des Verzweigungsziels, (2) Aufzeichnung einer Uhrzeit, wenn jede Verzweigungsanweisung durch die CPU 111 des Steuermoduls 110 im Programmspeicherbereich 1 ausgeführt wird, und der Adresse der Anweisung des Verzweigungsziels, und (3) Aufzeichnung einer Uhrzeit, wenn die Anweisungsausführung durch die CPU 111 des Steuermoduls 110 von der Anweisung (Funktion) im Programmspeicherbereich 1 zu einem anderen Programmspeicherbereich i übergeht, und der Adresse der Anweisung des Verzweigungsziels (Übergangsziel).
  • Auf diese Weise wird das Untersuchungsprogramm bei der Ausführung des Untersuchungsprogramms so ausgeführt, dass die Gesamtzeit der Ausführung der Anweisung (des Programms) im Programmspeicherbereich 1 durch die CPU 111 des Steuermoduls 110 anhand der in (1) aufgezeichneten Uhrzeit und der in (3) aufgezeichneten Uhrzeit gemessen werden kann. Darüber hinaus kann bei der Verarbeitung der Ausführung des Untersuchungsprogramms der Fluss jeder Art von Verarbeitung, die im Programmspeicherbereich 1 durch die CPU 111 ausgeführt wird, und die Verarbeitungszeit davon basierend auf der Uhrzeit und der in (2) aufgezeichneten Adresse erfasst werden. Dann kann bei der Verarbeitung der Ausführung des Untersuchungsprogramms festgestellt werden, ob sich die gemessene Gesamtzeit der Ausführung im Programmspeicherbereich 1 im Vergleich zum Normalfall signifikant erhöht hat oder nicht. Darüber hinaus kann bei der Verarbeitung des Untersuchungsprogramms, zum Beispiel in einem Fall, in dem festgestellt wurde, dass die Querprüfungsverarbeitung, die die Sicherheitsfunktion im Programmspeicherbereich 1 ist, häufig aufgerufen wird und erheblich viel Zeit in Anspruch nimmt, eine solche Querprüfungsverarbeitung als Ursache des Fehlers basierend auf dem erfassten Fluss jeder Art von Verarbeitung und der erfassten Verarbeitungszeit davon identifiziert werden.
  • Zu beachten ist, dass die Fälle der Programmspeicherbereiche 2 bis m1 dem Fall des Programmspeicherbereichs 1 ähnlich sind, und daher wird die Beschreibung dieser Fälle weggelassen.
  • 5 ist ein Flussdiagramm zur Beschreibung des Ablaufs der Ausführung des Untersuchungsprogramms in Schritt S7 für den Fall, dass die Probenahme nur dann durchgeführt wird, wenn die Bedingung basierend auf den mehreren Daten erfüllt ist (Einstellung der komplizierten Bedingung).
  • In diesem Fall wird die Aufzeichnungsbedingung durch die Aufzeichnungsbedingungseinstellungs-IF-Einheit 1111 basierend auf der Eingabeoperation des Benutzers an der Informationsverarbeitungsvorrichtung 20 auf „Ausführung einer Verzweigungsanweisung“ gesetzt. Das heißt, die als nächstes auszuführende Anweisung in Schritt S2 von 4 ist die Verzweigungsanweisung. Darüber hinaus werden die Verarbeitungsdatenspezifizierungsinformation, durch die Verarbeitungsdatenspezifizierungsinformationseinstellungs-IF-Einheit 1112 basierend auf der Eingabeoperation des Benutzers an der Informationsverarbeitungsvorrichtung 20 auf „eine Uhrzeit (Timerzählerwert in der CPU), wenn die Verzweigungsanweisung ausgeführt wird, und die Adresse der Anweisung des Verzweigungsziels“ gesetzt.
  • Es ist zu beachten, dass die Anweisung zur Verzweigung häufig gegeben wird. Wenn die Verarbeitungsdaten jedes Mal aufgezeichnet werden, wenn die oben beschriebene Aufzeichnungsbedingung erfüllt ist, ist die Anzahl der aufzuzeichnenden Verarbeitungsdaten groß. Daher ist für die Speicherung der Verarbeitungsdaten eine große Speicherkapazität erforderlich, und die Verarbeitung verzögert sich, weil die Verarbeitungsdaten bei jeder Verzweigungsanweisung aufgezeichnet werden. Dies führt dazu, dass die Verarbeitung in einem anderen Fluss als beim Auftreten des Fehlers ausgeführt wird. Infolgedessen besteht das Problem, dass ein solcher Fehler nicht reproduziert werden kann.
  • Um ein solches Problem zu vermeiden, führt die Programmausführungseinheit 1115 das Untersuchungsprogramm aus, wenn die Aufzeichnungsbedingung erfüllt ist, und führt die Untersuchungsprogramm-Ausführungsverarbeitung von 5 durch.
  • In Schritt S701 prüft die Programmausführungseinheit 1115 basierend auf dem Untersuchungsprogramm Daten, die beim Auftreten des Fehlers gesetzt werden (z.B. das Vorhandensein oder Fehlen der Ausgabe eines Alarms und des Anhaltens eines Betriebssystems), und bestimmt, ob der Fehler verursacht wird oder nicht. Um die Verarbeitungsdaten bis unmittelbar vor dem Auftreten des Fehlers aufzuzeichnen, beendet die Programmausführungseinheit 1115 in einem Fall, in dem der Fehler verursacht wird, die Verarbeitung der Ausführung des Untersuchungsprogramms und überspringt die Verarbeitung der Verarbeitungsdatenaufzeichnung. Dann wird die Verarbeitung mit Schritt S8 von 4 fortgesetzt. Dann, in Schritt S9 von 4, beendet die Unterbrechungsverarbeitungseinheit 1114 die Unterbrechungsverarbeitung, und die Verarbeitung kehrt zur ursprünglichen Verarbeitung zurück.
  • Mit dieser Konfiguration kann die numerische Steuervorrichtung 10 das Sammeln zusätzlicher Informationen nach Auftreten des Fehlers vermeiden, und der für die Probenahme (Prüfung) vorgesehene Fehler kann reproduziert werden, ohne dass die Verarbeitungsdatenspeichereinheit 131 mit großer Kapazität vorbereitet werden muss. Tritt der Fehler hingegen nicht auf, fährt die Verarbeitung mit Schritt S702 fort.
  • In Schritt S702 prüft die Programmausführungseinheit 1115 basierend auf dem Untersuchungsprogramm die Adresse, an der die als nächstes auszuführende Anweisung in Schritt S2 von 4 gespeichert wurde, und bestimmt, ob eine solche Anweisung eine Anweisung (Verzweigungsanweisung) im Programmspeicherbereich 1 ist oder nicht. Wenn es sich bei der Anweisung um eine Anweisung (Verzweigungsanweisung) im Programmspeicherbereich 1 handelt, fährt die Verarbeitung mit Schritt S707 fort. Ist die Anweisung hingegen nicht die Anweisung (Verzweigungsanweisung) im Programmspeicherbereich 1, geht die Verarbeitung zu Schritt S703 über.
  • In Schritt S703 zerlegt die Programmausführungseinheit 1115 die als nächstes auszuführende Anweisung (Verzweigungsanweisung) in Schritt S2 von 4 basierend auf dem Untersuchungsprogramm.
  • In Schritt S704 berechnet die Programmausführungseinheit 1115 basierend auf dem Untersuchungsprogramm die Adresse des Verzweigungsziels der als nächstes auszuführenden Anweisung (Verzweigungsanweisung) in Schritt S2 von 4. Es ist zu beachten, dass die Adresse des Verzweigungsziels mit Hilfe einer bekannten Technik berechnet werden kann (z.B. kann das Verzweigungsziel von einem CPU-Verbindungsregister in einem Fall einer Verzweigungsanweisung unter Verwendung des Verbindungsregisters erfasst werden, oder die Adresse des Verzweigungsziels kann von einem spezifischen Bit der Anweisung extrahiert werden (als ein Beispiel werden die 16. bis 32. Bits einer 32-Bit-Anweisung überprüft) in einem Fall, in dem die Adresse des Verzweigungsziels in den binären Daten der Anweisung beschrieben ist).
  • In Schritt S705 bestimmt die Programmausführungseinheit 1115 basierend auf dem Untersuchungsprogramm, ob die in Schritt S704 berechnete Adresse des Verzweigungsziels ein Speicherbereich ist, der die Anweisung im Programmspeicherbereich 1 speichert oder nicht. Wenn die Adresse der Speicherbereich ist, in dem die Anweisung im Programmspeicherbereich 1 gespeichert ist, fährt die Verarbeitung mit Schritt S706 fort. Handelt es sich bei der Adresse hingegen nicht um den Speicherbereich, in dem die Anweisung im Programmspeicherbereich 1 gespeichert ist, beendet die Programmausführungseinheit 1115 die Verarbeitung der Ausführung des Untersuchungsprogramms und überspringt die Verarbeitung der Verarbeitungsdaten. Die Verarbeitung wird mit Schritt S8 von 4 fortgesetzt. Dann, in Schritt S9 von 4, beendet die Unterbrechungsverarbeitungseinheit 1114 die Unterbrechungsverarbeitung, und die Verarbeitung kehrt zur ursprünglichen Verarbeitung zurück.
  • In Schritt S706 zeichnet die Aufzeichnungsverarbeitungseinheit 1113 in der Verarbeitungsdatenspeichereinheit 131 die Verarbeitungsdaten (d.h. die Uhrzeit der Verzweigung in die Verarbeitung im Programmspeicherbereich 1 und die Adresse der Anweisung des Verzweigungsziels) auf, die durch die Verarbeitungsdatenspezifizierungsinformationen angegeben sind. Dann beendet die Programmausführungseinheit 1115 die Verarbeitung des Untersuchungsprogramms, und die Verarbeitung kehrt zu Schritt S8 von 4 zurück. In Schritt S9 von 4 beendet die Unterbrechungsverarbeitungseinheit 1114 die Unterbrechungsverarbeitung, und die Verarbeitung kehrt zur ursprünglichen Verarbeitung zurück.
  • In Schritt S707 zerlegt die Programmausführungseinheit 1115 basierend auf dem Untersuchungsprogramm die als nächstes auszuführende Anweisung (Verzweigungsanweisung) in Schritt S2 der 4.
  • Im Schritt S708 berechnet die Programmausführungseinheit 1115 basierend auf dem Untersuchungsprogramm die Adresse des Verzweigungsziels der als nächstes auszuführenden Anweisung (Verzweigungsanweisung) im Schritt S2 der 4.
  • In Schritt S709 zeichnet die Aufzeichnungsverarbeitungseinheit 1113 in der Verarbeitungsdatenspeichereinheit 131 die Verarbeitungsdaten auf (d.h. die Uhrzeit jeder Verzweigung im Programmspeicherbereich 1, die Adresse der Anweisung des Verzweigungsziels, die Uhrzeit des Übergangs von der Anweisung im Programmspeicherbereich 1 zu einem anderen Programmspeicherbereich i und die Adresse der Anweisung des Verzweigungsziels), die durch die Verarbeitungsdatenspezifizierungsinformationen spezifiziert werden. Dann beendet die Programmausführungseinheit 1115 die Verarbeitung des Untersuchungsprogramms, und die Verarbeitung kehrt zu Schritt S8 von 4 zurück. In Schritt S9 von 4 beendet die Unterbrechungsverarbeitungseinheit 1114 die Unterbrechungsverarbeitung, und die Verarbeitung kehrt zur ursprünglichen Verarbeitung zurück.
  • (b) Fall der Verfolgung des aktuellen Aufgabenstapels und Erfassung der Aufruferadresse (erweiterte Datenerfassung)
  • Konkret wird beispielsweise ein Fall, in dem die Verarbeitung im Programmspeicherbereich 1, in dem das für die Sicherheitsfunktion der numerischen Steuervorrichtung 10 verantwortliche Programm gespeichert ist, erheblich verzögert ist, die Echtzeitverarbeitung nicht rechtzeitig durchgeführt werden kann und das System angehalten wird, als die Verarbeitung der verzögerten Datenüberprüfung beschrieben, da die Sicherheitsfunktion besonders detailliert abgetastet (untersucht) wird, als die Verarbeitung der Untersuchungsprogrammausführung.
  • Um beispielsweise den Ablauf der Verarbeitung zu erfassen, kann der Aufrufer einer Funktion, die eine Anweisung enthält, auf die hin die Verarbeitungsdaten erfasst wurden, überprüft werden. Das heißt, dass zum Beispiel in einem Fall, in dem die Verarbeitungsdaten als Reaktion auf eine Anweisung erfasst werden, die in einer Funktion enthalten ist, die von einer Vielzahl von Funktionen aus aufgerufen wird, eine Stichprobe (Prüfung) nur in dem Fall durchgeführt wird, in dem eine Anweisung von einer gewünschten Funktion aus aufgerufen wird, und ein Aufrufer sequentiell verfolgt wird. Auf diese Weise kann der Ablauf der Verarbeitung bis zur Ausführung der Anweisung nachvollzogen werden. Anhand dieser Informationen kann geprüft werden, wie die Verarbeitung, die den Fehler verursacht hat, ausgeführt werden kann, und die Ursache des Fehlers kann ermittelt werden.
  • 6 ist ein Flussdiagramm zur Beschreibung des Ablaufs der Ausführung des Untersuchungsprogramms von Schritt S7 im Falle der Verfolgung des aktuellen Aufgabenstapels und der Erfassung der Aufruferadresse (erweiterte Datenerfassung).
  • In diesem Fall wird die Aufzeichnungsbedingung basierend auf der Eingabeoperation des Benutzers an der Informationsverarbeitungsvorrichtung 20 durch die Aufzeichnungsbedingungs-Speichereinheit 1111 auf „Ausführung einer Anweisung, die in einer Funktion zur Durchführung der Daten-Cross-Check-Verarbeitung als Sicherheitsfunktion im Programmspeicherbereich 1 enthalten ist“ gesetzt. Darüber hinaus werden die Verarbeitungsdatenspezifizierungsinformation, basierend auf der Eingabeoperation des Benutzers an der Informationsverarbeitungsvorrichtung 20, durch die Verarbeitungsdatenspezifizierungsinformationseinstellungs-IF-Einheit 1112 auf „die Adresse der ausgeführten Anweisung, eine Uhrzeit (Zeitzählerwert in der CPU), wenn die Anweisung ausgeführt wird, und Informationen über ein Argument, wenn die Funktion zum Durchführen der Quercheck-Verarbeitung aufgerufen wird“ gesetzt. Zu beachten ist, dass die Argumentinformationen z. B. aus Daten im Allzweckregister der CPU 111 des Steuermoduls 110 und aus im lokalen Speicher 112 gespeicherten Stapelinformationen gewonnen werden können.
  • So erstellt die Informationsverarbeitungsvorrichtung 20 ein Untersuchungsprogramm zum Sammeln einer im Stapel gespeicherten Rücksprungadresse, um den aktuellen Aufgabenstapel zu verfolgen und die Aufruferadresse zu sammeln (erweiterte Datenerfassung). Die Informationsverarbeitungsvorrichtung 20 kompiliert das erstellte Untersuchungsprogramm und lädt das ausführbare Untersuchungsprogramm in die Untersuchungsprogramm-Speichereinheit 134 der numerischen Steuervorrichtung 10. Die Programmausführungseinheit 1115 führt das Untersuchungsprogramm aus, wenn die Aufzeichnungsbedingung erfüllt ist, und führt damit die Verarbeitung der Ausführung des Untersuchungsprogramms aus 6 durch.
  • In Schritt S711 zerlegt die Programmausführungseinheit 1115 basierend auf dem Untersuchungsprogramm eine Anweisung zum Erweitern eines Anfangsstapels einer Funktion einschließlich der als nächstes auszuführenden Anweisung in Schritt S2 von 4. In Schritt S712 erfasst die Programmausführungseinheit 1115 basierend auf dem Untersuchungsprogramm die Anzahl der Bytes des erweiterten Stapels (z. B. m Bytes) (m ist eine ganze Zahl von 1 oder mehr). Es ist zu beachten, dass die Anzahl der Bytes des erweiterten Stapels z.B. durch Extraktion aus einem bestimmten Bit der Anweisung zur Erweiterung des Stapels (z.B. durch Überprüfung des 16. bis 32. Bits einer 32-Bit-Anweisung) ermittelt werden kann.
  • In Schritt S713 erfasst die Programmausführungseinheit 1115 basierend auf dem Untersuchungsprogramm einen Stapelzeiger, der den Beginn eines Stapelrahmens anzeigt, der gerade verarbeitet wird. Es ist zu beachten, dass der Stapelzeiger, der den Beginn des aktuell verarbeiteten Stapelrahmens anzeigt, z. B. aus dem Register der CPU 111 des Steuermoduls 110 bei der ersten Ausführung von Schritt S713 und aus dem später beschriebenen Schritt S721 bei der zweiten und nachfolgenden Ausführungen von Schritt S713 erfasst werden kann.
  • In Schritt S714 berechnet die Programmausführungseinheit 1115 basierend auf dem Untersuchungsprogramm einen Stapelpunkt, der den Anfang eines Stapelrahmens eines Aufrufers anzeigt, der durch Zurückspulen des Stapelzeigers, der den Anfang des Stapelrahmens anzeigt, der gerade verarbeitet wird, um die Anzahl der in Schritt S712 erfassten Bytes erhalten wird.
  • In Schritt S715 berechnet die Programmausführungseinheit 1115 basierend auf dem Untersuchungsprogramm eine Adresse, an der eine Rücksprungadresse gespeichert wurde, aus dem Stapelzeiger, der den Anfang des Stapelrahmens des Aufrufers angibt, der in Schritt S714 berechnet wurde. Es ist zu beachten, dass die Adresse, unter der die Rücksprungadresse gespeichert wurde, beispielsweise aus dem Stapelzeiger berechnet werden kann, der den Beginn des Stapelrahmens des Aufrufers anzeigt (als ein Beispiel wird die Adresse durch Addieren des Offsets p Bytes der Rücksprungadressen-Speicheradresse zu der durch den Stapelzeiger des Beginns des Stapelrahmens des Aufrufers angezeigten Adresse berechnet).
  • In Schritt S716 berechnet die Programmausführungseinheit 1115 basierend auf dem Untersuchungsprogramm die Rücksprungadresse aus der in Schritt S715 berechneten Adresse und berechnet die Adresse der Anweisung des Aufrufers. Beachten Sie, dass die Adresse der Anweisung des Aufrufers z.B. durch Berechnung einer Anweisungsadresse vor der Rücksprungadresse gewonnen werden kann (als ein Beispiel wird in einem Fall, in dem die Längen aller von der CPU 111 des Steuermoduls 110 auszuführenden Anweisungen auf 32 Bits festgelegt sind, die Adresse durch Subtraktion von 4 Bytes (32 Bits) von der Rücksprungadresse berechnet).
  • In Schritt S717 bestimmt die Programmausführungseinheit 1115 basierend auf dem Untersuchungsprogramm, ob die Verarbeitung bis zu den letzten Daten des Stapels wiederholt wurde oder nicht. Wenn die Verarbeitung bis zu den letzten Daten des Stapels wiederholt wurde, wird die Verarbeitung mit Schritt S718 fortgesetzt. In einem Fall, in dem die Verarbeitung nicht bis zu den letzten Daten des Stapels wiederholt wurde, fährt die Verarbeitung hingegen mit Schritt S719 fort.
  • In Schritt S718 speichert die Aufzeichnungsverarbeitungseinheit 1113 in der Verarbeitungsdatenspeichereinheit 131 die in Schritt S719 berechnete Adresse der Anweisung des Aufrufers zusammen mit den durch die Verarbeitungsdatenspezifizierungsinformationen spezifizierten Verarbeitungsdaten. Dann beendet die Programmausführungseinheit 1115 die Verarbeitung der Ausführung des Untersuchungsprogramms, und die Verarbeitung kehrt zu Schritt S8 von 4 zurück. In Schritt S9 von 4 beendet die Unterbrechungsverarbeitungseinheit 1114 die Unterbrechungsverarbeitung, und die Verarbeitung kehrt zur ursprünglichen Verarbeitung zurück.
  • In Schritt S719 sucht die Programmausführungseinheit 1115 basierend auf dem Untersuchungsprogramm eine Anfangsanweisung einer Funktion einschließlich der in Schritt S716 berechneten Anweisung des Aufrufers aus der Adresse einer solchen Anweisung.
  • In Schritt S720 zerlegt die Programmausführungseinheit 1115 basierend auf dem Untersuchungsprogramm die Anweisung zur Erweiterung des Stacks der Funktion einschließlich der Anweisung des Aufrufers.
  • In Schritt S721 setzt die Programmausführungseinheit 1115 als den Stapelrahmen, der gerade verarbeitet wird, den Stapelrahmen, der durch den Stapelzeiger des Anfangs des Stapelrahmens des Aufrufers angezeigt wird, der in dem zuvor ausgeführten Schritt S714 berechnet wurde. Außerdem wird ein Stapelzeiger, der durch den neu eingestellten und gerade verarbeiteten Stapelrahmen angezeigt wird, gehalten. Dann kehrt die Verarbeitung zum Schritt S712 zurück.
  • Wenn der Stack selbst gespeichert wird, ist eine Kapazität von mehreren hundert bis mehreren tausend Bytes erforderlich. Mit der oben beschriebenen Konfiguration kann die numerische Steuervorrichtung 10 jedoch wichtige Informationen mit weniger Datenkapazität aufzeichnen, da die numerische Steuervorrichtung 10 nur die Adresse der Anweisung des Aufrufers speichert.
  • Die Art und Weise, wie der Stack erweitert wird, der Speicherbereich für die Rücksprungadresse im Stack usw. hängen vom Compiler bzw. der Hardware ab. In einem Fall, in dem die Hardware oder der Compiler geändert wurde, wird nur das Untersuchungsprogramm entsprechend der geänderten Hardware oder dem Compiler geändert, so dass der Aufrufer unabhängig von der Hardware oder dem Compiler untersucht werden kann. Somit kann die numerische Steuervorrichtung 10 kontinuierlich die gleiche Wartungsfunktion nur durch Vorbereitung einer Funktion zur Ausführung des Untersuchungsprogramms bereitstellen, selbst wenn die Hardware oder der Compiler geändert wurde.
  • (c) Bereitschaft bis zur Anweisung von außen (Anpassungsvorgang bei der Probenahme bis zum vorübergehenden Stillstand)
  • Konkret wird zum Beispiel ein Fall, in dem die Verarbeitung im Programmspeicherbereich 1, in dem das für die Sicherheitsfunktion der numerischen Steuervorrichtung 10 verantwortliche Programm gespeichert wird, erheblich verzögert ist, die Echtzeitsteuerung nicht rechtzeitig durchgeführt werden kann und das System angehalten wird, die Verarbeitung der Ersetzung eines unzulässigen Arguments in der Verarbeitung einer Funktion, die eine Anweisung eines Aufrufers in der Daten-Cross-Check-Verarbeitung als Sicherheitsfunktion enthält, als die Verarbeitung der Ausführung des Untersuchungsprogramms beschrieben.
  • In diesem Fall hält die numerische Steuervorrichtung 10 beispielsweise die Ausführung des Untersuchungsprogramms zum Zeitpunkt der Ersetzung des unzulässigen Arguments in der Verarbeitung der Funktion einschließlich der Anweisung des Aufrufers vorübergehend an und prüft die gespeicherten Daten wie die internen Informationen im lokalen Speicher und in der CPU an dieser Stelle. Mit dieser Konfiguration kann die numerische Steuervorrichtung 10 z.B. genauer untersuchen, aus welchen Daten das unzulässige Argument berechnet wurde.
  • 7 ist ein Flussdiagramm zur Beschreibung des Ablaufs der Ausführung des Untersuchungsprogramms von Schritt S7 im Falle der Bereitschaft, bis die Anweisung von außen gegeben wird (Anpassungsvorgang bei der Probenahme zum vorübergehenden Stopp).
  • In diesem Fall wird basierend auf der Eingabeoperation des Benutzers an der Informationsverarbeitungsvorrichtung 20 die Aufzeichnungsbedingung durch die Aufzeichnungsbedingungseinstellungs-IF-Einheit 1111 auf „Ausführen der Verarbeitung des Ersetzens des unzulässigen Arguments“ gesetzt. Darüber hinaus werden basierend auf der Eingabeoperation des Benutzers an der Informationsverarbeitungsvorrichtung 20 die Verarbeitungsdatenspezifizierungsinformation durch die Verarbeitungsdatenspezifizierungsinformationseinstellungs-IF-Einheit 1112 auf „nicht spezifiziert“ gesetzt.
  • Dann führt die Programmausführungseinheit 1115 das Untersuchungsprogramm aus, wenn die Aufzeichnungsbedingung erfüllt ist, und führt die Verarbeitung der Ausführung des Untersuchungsprogramms gemäß 7 durch.
  • In Schritt S731 hält die Programmausführungseinheit 1115 das Untersuchungsprogramm vorübergehend an, da die Aufzeichnungsbedingung in Schritt S2 von 4 erfüllt wurde.
  • In Schritt S732 benachrichtigt die Programmausführungseinheit 1115 die informationsverarbeitende Vorrichtung 20 über die vorübergehende Beendigung des Untersuchungsprogramms. Die Informationsverarbeitungsvorrichtung 20 zeigt die erhaltene Benachrichtigung beispielsweise auf der in der Informationsverarbeitungsvorrichtung 20 enthaltenen Anzeigevorrichtung (nicht dargestellt) an, beispielsweise auf einem LCD.
  • In Schritt S733 stellt die Programmausführungseinheit 1115 fest, ob Daten zur Anweisung der Wiederaufnahme der Ausführung des Untersuchungsprogramms in einer Steuervariablen in einem von der Informationsverarbeitungsvorrichtung 20, wie der Speichereinheit 113 oder dem lokalen Speicher 112, einstellbaren Speicherbereich gespeichert sind oder nicht. Wenn die Daten für die Anweisung zur Wiederaufnahme der Ausführung des Untersuchungsprogramms gespeichert werden, wird die Verarbeitung mit Schritt S734 fortgesetzt. Andererseits wird in einem Fall, in dem die Daten zur Anweisung der Wiederaufnahme der Ausführung des Untersuchungsprogramms nicht gespeichert sind, die Verarbeitung mit Schritt S735 fortgesetzt.
  • In Schritt S734 nimmt die Programmausführungseinheit 1115 das Untersuchungsprogramm unter Verwendung der Steuervariablen wieder auf. Anschließend meldet die Programmausführungseinheit 1115 die Wiederaufnahme des Untersuchungsprogramms an die Vorrichtung 20 zur Informationsverarbeitung. Die Programmausführungseinheit 1115 beendet die Verarbeitung der Ausführung des Untersuchungsprogramms, und die Verarbeitung kehrt zu Schritt S8 von 4 zurück. In Schritt S9 von 4 beendet die Unterbrechungsverarbeitungseinheit 1114 die Unterbrechungsverarbeitung, und die Verarbeitung kehrt zur ursprünglichen Verarbeitung zurück.
  • In Schritt S735 erstellt die Programmausführungseinheit 1115 in einem Fall, in dem die Steuervariable die Ausgabe der Verarbeitungsdatenspezifizierungsinformationen und der Verarbeitungsdaten anweist, eine Kopie der durch die Verarbeitungsdatenspezifizierungsinformationen spezifizierten Verarbeitungsdaten und speichert die Kopie in dem Speicherbereich, auf den von der Informationsverarbeitungsvorrichtung 20 aus verwiesen werden kann, wie z.B. der Speichereinheit 113 oder dem lokalen Speicher 112. Dann kehrt die Verarbeitung zum Schritt S733 zurück.
  • Bei dieser Konfiguration setzt die Informationsverarbeitungsvorrichtung 20 selbst in einem Fall, in dem das Untersuchungsprogramm vorübergehend angehalten wird, weil die Aufzeichnungsbedingung erfüllt ist, basierend auf der Eingabeoperation des Benutzers die Daten zur Anweisung der Wiederaufnahme der Ausführung des Untersuchungsprogramms auf die Steuervariable der numerischen Steuervorrichtung 10, so dass das Untersuchungsprogramm wiederaufgenommen werden kann.
  • Darüber hinaus stellt die Informationsverarbeitungsvorrichtung 20 selbst in einem Fall, in dem das Untersuchungsprogramm vorübergehend angehalten wird, basierend auf der Eingabeoperation des Benutzers die Ausgabe der Verarbeitungsdatenspezifizierungsinformation und der Verarbeitungsdaten an die Steuervariable der numerischen Steuervorrichtung 10 ein, so dass die gewünschten Verarbeitungsdaten erfasst werden können und die Untersuchung detaillierter durchgeführt werden kann.
  • In der Untersuchungsprogramm-Ausführungsverarbeitung von 7 kann die Programmausführungseinheit 1115 in einem Fall, in dem eine Anforderung zur Ausführung einer Echtzeitverarbeitung (z.B. eine Verarbeitung, die in bestimmten Steuerungszyklen ausgeführt werden muss) gegeben ist, eine Aufgabe A, in der das Untersuchungsprogramm ausgeführt wird, vorübergehend unterbrechen, um das Untersuchungsprogramm vorübergehend anzuhalten, und die Aufgabe A veranlassen, zu einer Aufgabe B zur Ausführung der Echtzeitverarbeitung überzugehen. Nach Beendigung der Aufgabe B kehrt die Programmausführungseinheit 1115 dann zur Aufgabe A zurück, so dass die Untersuchung kontinuierlich durchgeführt werden kann.
  • Bei der oben beschriebenen Konfiguration stellt die Informationsverarbeitungsvorrichtung 20 die Aufzeichnungsbedingung und die Verarbeitungsdatenspezifizierungsinformation entsprechend dem Untersuchungsinhalt ein, und das Untersuchungsprogramm, das dem Untersuchungsinhalt entspricht, wird von der Informationsverarbeitungsvorrichtung 20 geladen. Dementsprechend kann die numerische Steuervorrichtung 10 einer Ausführungsform flexibel die Fehlerursache an einer vorhandenen Maschine vor Ort untersuchen.
  • Außerdem kann die numerische Steuervorrichtung 10 die vorhandene Maschine aus der Ferne untersuchen und die internen Informationen der CPU bzw. die ausgeführten Anweisungen erfassen. So kann ein Fehler auf Quellcodeebene untersucht werden, während die Vertraulichkeit des Quellcodes gewahrt bleibt.
  • Außerdem kann die numerische Steuervorrichtung 10 eine Fehlersuche allein durch die numerische Steuervorrichtung durchführen, ohne dass die Wartungsfreundlichkeit/Umweltbeständigkeit beeinträchtigt wird.
  • Darüber hinaus kann die numerische Steuervorrichtung 10 eine komplizierte Probenahmebedingung/einen komplizierten Betrieb einstellen, indem sie das Untersuchungsprogramm ausführt, und kann eine erweiterte Fehlerprüfung ohne Hardware durchführen.
  • Eine Ausführungsform wurde oben beschrieben, aber die numerische Steuervorrichtung 10 ist nicht auf die oben beschriebene Ausführungsform beschränkt und umfasst Änderungen, Modifikationen usw. innerhalb eines Bereichs, in dem das Ziel erreicht werden kann.
  • <Änderung 1 >
  • In einer Ausführungsform tastet (untersucht) die numerische Steuervorrichtung 10 als Untersuchungsprogramm-Ausführungsverarbeitung die Fehlerursache in einem Fall ab, in dem die Verarbeitung in dem Programmspeicherbereich 1, in dem das für die Sicherheitsfunktion der numerischen Steuervorrichtung 10 verantwortliche Programm gespeichert ist, erheblich verzögert ist, aber die vorliegende Erfindung ist darauf nicht beschränkt. Zum Beispiel kann die numerische Steuervorrichtung 10 ausführen Untersuchungsprogramm Ausführung Verarbeitung der Probenahme (Untersuchung) eine Ursache eines Fehlers andere als der Fall, in dem die Verarbeitung in der ProgrammSpeicherbereich 1 Speichern des Programms für die Sicherheitsfunktion verantwortlich ist erheblich verzögert.
  • <Änderung 2>
  • In der oben beschriebenen Ausführungsform sammelt beispielsweise die CPU 111 des Steuermoduls 110 die von der CPU 111 des Steuermoduls 110 und der CPU 121 des Prozessormoduls 120 auszuführenden Anweisungen und die dadurch zu verarbeitenden Daten, aber die vorliegende Erfindung ist darauf nicht beschränkt. Beispielsweise kann die CPU 121 des Prozessormoduls 120-i die von der CPU 111 des Steuermoduls 110 und der CPU 121 des Prozessormoduls 120 auszuführenden Anweisungen und die damit zu verarbeitenden Daten sammeln.
  • In diesem Fall kann die CPU 121 des Prozessormoduls 120-i so konfiguriert sein, dass sie das Betriebssystem und das in der Speichereinheit 123 gespeicherte Anwendungsprogramm liest, das Betriebssystem und das Anwendungsprogramm in den lokalen Speicher 122 lädt und die Funktionen der Aufzeichnungsbedingungseinstellungs-IF-Einheit 1111, der Verarbeitungsdatenspezifizierungsinformation-Einstellungs-IF-Einheit 1112, der Aufzeichnungsverarbeitungseinheit 1113, der Unterbrechungsverarbeitungseinheit 1114 und der Programmausführungseinheit 1115 entsprechend dem Betriebssystem und dem Anwendungsprogramm ausführt. In einem Fall, in dem die CPU 121 das Anwendungsprogramm liest, das die Gruppe der Vielzahl von Programmen ist, die in der Speichereinheit 123 gespeichert sind, das Anwendungsprogramm in den lokalen Speicher 122 lädt und das Anwendungsprogramm darin ausführt, kann die Vielzahl von Programmen in den Programmspeicherbereichen 1 bis m1 in dem lokalen Speicher 122 des Prozessormoduls 120-i dekomprimiert werden, wie in 2 gezeigt.
  • Bei dieser Konfiguration kann die CPU 121 des Prozessormoduls 120-i die Verarbeitungsdaten aus einem Programmspeicherbereich k sammeln, in dem ein Programm gespeichert ist, das für die Achssteuerungsverarbeitung oder die Bildanzeigeverarbeitung verantwortlich ist, die den Fehler verursacht.
  • <Änderung 3>
  • Beispielsweise sind in der oben beschriebenen Ausführungsform die Verarbeitungsdatenspeichereinheit 131, die Aufzeichnungsbedingungs-Speichereinheit 132, die Verarbeitungsdatenspezifizierungsinformation-Speichereinheit 133 und die Untersuchungsprogramm-Speichereinheit 134 in der Speichereinheit 113 des Steuermoduls 110 angeordnet, aber die vorliegende Erfindung ist darauf nicht beschränkt. Beispielsweise können die Verarbeitungsdatenspeichereinheit 131, die Aufzeichnungsbedingungs-Speichereinheit 132, die Verarbeitungsdatenspezifizierungsinformation-Speichereinheit 133 und die Untersuchungsprogramm-Speichereinheit 134 in einer über den Bus 140 angeschlossenen Vorrichtung angeordnet sein, die von dem Steuermodul 110 und dem Prozessormodul 120 verschieden ist. Alternativ können die Verarbeitungsdatenspeichereinheit 131, die Aufzeichnungsbedingungs-Speichereinheit 132, die Verarbeitungsdatenspezifizierungsinformation-Speichereinheit 133 und die Untersuchungsprogramm-Speichereinheit 134 z.B. in einem Datenserver angeordnet sein, der über ein Netzwerk mit der numerischen Steuervorrichtung 10 verbunden ist.
  • Alternativ können in einem Fall, in dem die CPU 111 des Steuermoduls 110 (und die CPU 121 des Prozessormoduls 120) eine Multi-Core-CPU ist, die Verarbeitungsdatenspeichereinheit 131, die Aufzeichnungsbedingungs-Speichereinheit 132, die Verarbeitungsdatenspezifizierungsinformation-Speichereinheit 133 und die Untersuchungsprogramm-Speichereinheit 134 für jeden Kern angeordnet werden.
  • Bei dieser Konfiguration können für jeden Kern in einer CPU 111 (oder der CPU 121) unterschiedliche Bedingungen/ Verarbeitungsdatenspezifizierungsinformation eingestellt werden, und die Einheit 113 kann die Verarbeitungsdaten unabhängig voneinander sammeln.
  • Zu beachten ist, dass jede Funktion der numerischen Steuervorrichtung 10 gemäß einer Ausführungsform durch Hardware, Software oder eine Kombination davon implementiert werden kann. Hier bedeutet die Implementierung durch Software die Implementierung durch Lesen und Ausführen eines Programms durch einen Computer.
  • Das Programm kann auf verschiedenen Arten von nicht-übertragbaren computerlesbaren Medien gespeichert und dem Computer zugeführt werden. Zu den nicht transitorischen, computerlesbaren Medien gehören verschiedene Arten von materiellen Speichermedien. Beispiele für nicht transitorische computerlesbare Medien sind magnetische Aufzeichnungsmedien (z. B. eine flexible Platte, ein Magnetband und ein Festplattenlaufwerk), magnetisch-optische Aufzeichnungsmedien (z. B. eine magnetisch-optische Platte), ein Nur-Lese-Speicher (CD-ROM), eine CD-R, eine CD-R/W und Halbleiterspeicher (z. B. ein Mask-ROM, ein programmierbares ROM (PROM), ein löschbares PROM (EPROM), ein Flash-ROM und ein RAM). Das Programm kann dem Computer mit Hilfe verschiedener Arten von transitorischen computerlesbaren Medien zugeführt werden. Beispiele für transitorische computerlesbare Medien sind ein elektrisches Signal, ein optisches Signal und eine elektromagnetische Welle. Das transitorische computerlesbare Medium kann dem Computer das Programm über einen verdrahteten Kommunikationsweg wie ein elektrisches Kabel oder eine optische Faser oder einen drahtlosen Kommunikationsweg zuführen.
  • Es ist zu beachten, dass die Schritte zur Beschreibung des auf dem Aufzeichnungsmedium aufgezeichneten Programms nicht nur die in chronologischer Reihenfolge durchgeführte Verarbeitung umfassen, sondern auch die parallel oder getrennt ausgeführte Verarbeitung. Mit anderen Worten, die Steuervorrichtung der vorliegenden Offenbarung kann verschiedene Ausführungsformen mit den folgenden Konfigurationen umfassen.
    • (1) Die numerische Steuervorrichtung 10 der vorliegenden Offenbarung ist eine Steuervorrichtung mit einer oder mehreren CPUs 111, 121 und einem oder mehreren lokalen Speichern 112, 122 zum Speichern einer von den CPUs 111, 121 auszuführenden Anweisung und/oder von den CPUs 111, 121 zu verarbeitenden Daten und zum Steuern einer Industriemaschine. Die Steuervorrichtung umfasst eine Aufzeichnungsbedingungs-Speichereinheit 132, die so konfiguriert ist, dass sie eine oder mehrere Aufzeichnungsbedingungen in Bezug auf die Aufzeichnung der Anweisung und/oder der Daten speichert, eine Verarbeitungsdatenspezifizierungsinformation-Speichereinheit 133, die so konfiguriert ist, dass sie für jede der einen oder mehreren Aufzeichnungsbedingungen Verarbeitungsdatenspezifizierungsinformationen zum Spezifizieren von Verarbeitungsdaten speichert, die in einer Verarbeitungsdatenspeichereinheit 131 aus der Anweisung und/oder den Daten zu speichern sind, und eine Aufzeichnungsverarbeitungseinheit 1113, die so konfiguriert ist, dass sie, wenn die eine oder mehreren Aufzeichnungsbedingungen erfüllt sind, die Verarbeitungsdaten aufzeichnet, die durch die Verarbeitungsdatenspezifizierungsinformationen spezifiziert sind, die den einen oder mehreren Aufzeichnungsbedingungen in der Verarbeitungsdatenspeichereinheit 131 entsprechen. Mit der numerischen Steuervorrichtung 10 kann eine Fehlerursache an einer bestehenden Maschine vor Ort flexibel untersucht werden.
    • (2) In der numerischen Steuervorrichtung 10 gemäß (2) können die Verarbeitungsdaten mindestens eine der internen Informationen über die CPUs 111, 121, die in einem oder mehreren lokalen Speichern 112, 122 gespeicherten Daten, die Anweisung oder einen Anweisungsspeicherbereich der Anweisung umfassen. Mit dieser Konfiguration kann die numerische Steuervorrichtung 10 den Fehler mit günstiger Genauigkeit untersuchen.
    • (3) Die numerische Steuervorrichtung 10 gemäß (1) oder (2) kann ferner eine Aufzeichnungsbedingungseinstellungs-Schnittstelleneinheit 1111 enthalten, diese konfiguriert ist, dass sie die eine oder mehrere Aufzeichnungsbedingungen einstellt. Mit dieser Konfiguration kann die numerische Steuervorrichtung 10 die Einstellung der einen oder mehreren Aufzeichnungsbedingungen nach Bedarf ändern und den Fehler flexibler untersuchen.
    • (4) Die numerische Steuervorrichtung 10 gemäß einem der Punkte (1) bis (3) kann ferner eine Verarbeitungsdatenspezifizierungsinformation-Schnittstelleneinheit 1112 enthalten, die so konfiguriert ist, dass sie die Verarbeitungsdatenspezifizierungsinformation einstellt. Mit dieser Konfiguration kann die numerische Steuervorrichtung 10 nur die erforderlichen Daten angeben und speichern und wichtige Informationen mit geringerer Datenkapazität und Verarbeitungslast erfassen.
    • (5) Die numerische Steuervorrichtung 10 gemäß einem der Punkte (1) bis (4) kann ferner eine Untersuchungsprogramm-Speichereinheit 134, die so konfiguriert ist, dass sie ein ausführbares Untersuchungsprogramm speichert, das auszuführen ist, wenn die eine oder mehrere Aufzeichnungsbedingungen erfüllt sind, und eine Programmausführungseinheit 1115 enthalten, die so konfiguriert ist, dass sie das Untersuchungsprogramm ausführt, wenn die eine oder mehrere Aufzeichnungsbedingungen erfüllt sind. Mit dieser Konfiguration kann die numerische Steuervorrichtung 10 den Fehler genauer untersuchen.
    • (6) In der numerischen Steuervorrichtung 10 nach einem der Punkte (1) bis (4) können die eine oder mehrere Aufzeichnungsbedingungen und/oder die Verarbeitungsdatenspezifizierungsinformation von einer Informationsverarbeitungsvorrichtung 20 aus einstellbar und/oder referenzierbar sein. Mit dieser Konfiguration kann die numerische Steuervorrichtung 10 den Fehler flexibler untersuchen.
    • (7) In der numerischen Steuervorrichtung 10 gemäß (5) kann mindestens eine der einen oder mehreren Aufzeichnungsbedingungen, der Verarbeitungsdatenspezifizierungsinformation oder des Untersuchungsprogramms von einer Informationsverarbeitungsvorrichtung 20 aus einstellbar und/oder referenzierbar sein. Mit dieser Konfiguration kann die numerische Steuervorrichtung 10 vorteilhafte Effekte ähnlich denen von (6) erzielen.
    • (8) In der numerischen Steuervorrichtung 10 nach einem der Punkte (1) bis (7) können die Verarbeitungsdaten von der Informationsverarbeitungsvorrichtung 20 stammen. Mit dieser Konfiguration kann ein Benutzer den Fehler genauer untersuchen.
    • (9) In der numerischen Steuervorrichtung 10 nach einem der Punkte (1) bis (8) können die Verarbeitungsdaten an die Informationsverarbeitungsvorrichtung 20 ausgegeben werden. Mit dieser Konfiguration kann die numerische Steuervorrichtung 10 vorteilhafte Effekte ähnlich denen von (8) erzielen.
    • (10) Die numerische Steuervorrichtung 10 gemäß einem der Punkte (1) bis (9) kann ferner eine Unterbrechungsverarbeitungseinheit 1114 enthalten, die so konfiguriert ist, dass sie eine Unterbrechungsverarbeitung ausführt, wenn die eine oder die mehreren Aufzeichnungsbedingungen erfüllt sind, und nach Abschluss der Unterbrechungsverarbeitung die ursprüngliche Verarbeitung wieder aufnimmt, die vor der Ausführung der Unterbrechungsverarbeitung ausgeführt wurde.
  • Mit dieser Konfiguration kann die numerische Steuervorrichtung 10 die Verarbeitungsdaten in dem Zustand aufzeichnen, in dem sie sich zum Zeitpunkt des Auftretens der Störung befinden.
  • ERLÄUTERUNG DER BEZUGSZIFFERN
  • 1
    Prüfungssystem
    10
    Numerische Steuervorrichtung
    110
    Steuermodul
    111
    CPU
    1111
    Aufzeichnungsbedingungseinstellungs-IF-Einheit
    1112
    Verarbeitungsdatenspezifizierungsinformationeinstellungs-IF-Einheit
    1113
    Aufzeichnungsverarbeitungseinheit
    1114
    Unterbrechungsverarbeitungseinheit
    1115
    Programmausführungseinheit
    112
    Lokaler Speicher
    113
    Speichereinheit
    131
    Verarbeitungsdatenspeichereinheit
    132
    Aufzeichnungsbedingungs-Speichereinheit
    133
    Verarbeitungsdatenspezifizierungsinformation-Speichereinheit
    134
    Untersuchungsprogramm-Speichereinheit
    120-1 bis 120-n
    Prozessormodul
    121
    CPU
    122
    Lokaler Speicher
    123
    Speichereinheit
    140
    Bus
    20
    Informationsverarbeitungsvorrichtung
  • 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
    • JP 20054270 [0003]
    • JP 2007272545 [0003]

Claims (10)

  1. Steuervorrichtung, die einen oder mehrere Prozessoren und einen oder mehrere Speicher zum Speichern einer von dem einen oder den mehreren Prozessoren auszuführenden Anweisung und/oder von dem einen oder den mehreren Prozessoren zu verarbeitenden Daten enthält und eine Industriemaschine steuert, umfassend: eine Aufzeichnungsbedingungs-Speichereinheit, die so konfiguriert ist, dass sie eine oder mehrere Aufzeichnungsbedingungen bezüglich der Aufzeichnung der Anweisung und/oder der Daten speichert; eine Verarbeitungsdatenspezifizierungsinformation-Speichereinheit, die so konfiguriert ist, dass sie für jede der einen oder mehreren Aufzeichnungsbedingungen, Verarbeitungsdatenspezifizierungsinformationen zum Spezifizieren von Verarbeitungsdaten speichert, die in einer Verarbeitungsdatenspeichereinheit aus der Anweisung und/oder den Daten zu speichern sind; und eine Aufzeichnungsverarbeitungseinheit, die so konfiguriert ist, dass sie, wenn die eine oder mehreren Aufzeichnungsbedingungen erfüllt sind, die Verarbeitungsdaten, die durch die Verarbeitungsdatenspezifizierungsinformationen spezifiziert sind, die den einen oder mehreren Aufzeichnungsbedingungen entsprechen, in der Verarbeitungsdatenspeichereinheit aufzeichnet.
  2. Steuervorrichtung nach Anspruch 1, wobei die Verarbeitungsdaten mindestens eine der folgenden Informationen umfassen: interne Informationen über den einen oder die mehreren Prozessoren, die in dem einen oder den mehreren Speichern gespeicherten Daten, die Anweisung oder einen Anweisungsspeicherbereich der Anweisung.
  3. Die Steuervorrichtung nach Anspruch 1 oder 2 umfasst ferner eine Aufzeichnungsbedingungseinstellungs-Schnittstelleneinheit, die so konfiguriert ist, dass sie die eine oder mehrere Aufzeichnungsbedingungen einstellt.
  4. Steuervorrichtung nach einem der Ansprüche 1 bis 3, ferner mit einer Verarbeitungsdatenspezifizierungsinformation-Schnittstelleneinheit, die zum Einstellen der Verarbeitungsdatenspezifizierungsinformation konfiguriert ist.
  5. Steuervorrichtung nach einem der Ansprüche 1 bis 4, ferner umfassend: eine Untersuchungsprogramm-Speichereinheit, die so konfiguriert ist, dass sie ein ausführbares Untersuchungsprogramm speichert, das ausgeführt wird, wenn die eine oder mehrere Aufzeichnungsbedingungen erfüllt sind; und eine Programmausführungseinheit, die so konfiguriert ist, dass sie das Untersuchungsprogramm ausführt, wenn die eine oder mehrere Aufzeichnungsbedingungen erfüllt sind.
  6. Steuervorrichtung nach einem der Ansprüche 1 bis 4, wobei die eine oder die mehreren Aufzeichnungsbedingungen und/oder die Verarbeitungsdatenspezifizierungsinformation, von einem externen Gerät aus einstellbar und/oder referenzierbar sind.
  7. Steuervorrichtung nach Anspruch 5, wobei mindestens eine der Aufzeichnungsbedingungen, der Verarbeitungsdatenspezifizierungsinformation, oder des Untersuchungsprogramms von einem externen Gerät aus einstellbar und/oder referenzierbar ist.
  8. Steuervorrichtung nach einem der Ansprüche 1 bis 7, wobei die Verarbeitungsdaten von einem externen Gerät bezogen werden können.
  9. Steuervorrichtung nach einem der Ansprüche 1 bis 8, wobei die Verarbeitungsdaten an ein externes Gerät ausgegeben werden.
  10. Steuervorrichtung nach einem der Ansprüche 1 bis 9, ferner umfassend: eine Unterbrechungsverarbeitungseinheit, die so konfiguriert ist, dass sie eine Unterbrechungsverarbeitung ausführt, wenn die eine oder mehrere Aufzeichnungsbedingungen erfüllt sind, und nach Abschluss der Unterbrechungsverarbeitung die ursprüngliche Verarbeitung wiederaufnimmt, die vor der Ausführung der Unterbrechungsverarbeitung ausgeführt wurde.
DE112021008018.0T 2021-10-01 2021-10-01 Steuervorrichtung Pending DE112021008018T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/036507 WO2023053457A1 (ja) 2021-10-01 2021-10-01 制御装置

Publications (1)

Publication Number Publication Date
DE112021008018T5 true DE112021008018T5 (de) 2024-05-16

Family

ID=85782122

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021008018.0T Pending DE112021008018T5 (de) 2021-10-01 2021-10-01 Steuervorrichtung

Country Status (3)

Country Link
CN (1) CN117980842A (de)
DE (1) DE112021008018T5 (de)
WO (1) WO2023053457A1 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007272545A (ja) 2006-03-31 2007-10-18 Brother Ind Ltd 数値制御装置及び数値制御装置による異常処理方法
JP2020054270A (ja) 2018-10-01 2020-04-09 有限会社ウィングヤマグチ 鳥害対策装置、及び、それに用いられる配線装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4863091B2 (ja) * 2008-03-26 2012-01-25 アイシン・エィ・ダブリュ株式会社 不具合データ記録装置及び不具合データ記録プログラム
JP5835372B2 (ja) * 2010-01-07 2015-12-24 株式会社デンソー 車両診断システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007272545A (ja) 2006-03-31 2007-10-18 Brother Ind Ltd 数値制御装置及び数値制御装置による異常処理方法
JP2020054270A (ja) 2018-10-01 2020-04-09 有限会社ウィングヤマグチ 鳥害対策装置、及び、それに用いられる配線装置

Also Published As

Publication number Publication date
CN117980842A (zh) 2024-05-03
WO2023053457A1 (ja) 2023-04-06

Similar Documents

Publication Publication Date Title
DE102019103825A1 (de) Fehlerdiagnosevorrichtung und maschinelle lernvorrichtung
DE2244402A1 (de) Datenverarbeitungsanlage
DE3607889A1 (de) Verfahren zum steuern von unterbrechungen in einem virtuellen maschinensystem und virtuelles maschinensystem zur durchfuehrung des verfahrens
DE69114905T2 (de) Verfahren und System zum Optimieren des Abschaltens in Systemen aus programmierbaren Vorrichtungen.
DE102018006550B4 (de) Abnormalitätserkennungsvorrichtung
US11537100B2 (en) Machining error correction system and method based on key dimensional associations
DE102010006219A1 (de) Gerät und Verfahren zur Fehleranalyse
US11556107B2 (en) Machining apparatus error correction system and method using safe, correction and alarm intervals
DE112017005957T5 (de) Informationsverarbeitungssystem und Informationsverarbeitungsverfahren
DE112017007606T5 (de) Instabilitätsdetektionvorrichtung, instabilitätsdetektionssystem und instabilitätsdetektionsverfahren
DE102019106728A1 (de) Wärmeverschiebungskorrektursystem und computer
DE2350229A1 (de) Datenverarbeitungsanlage, insbesondere als steuereinrichtung fuer fernsprechvermittlungsanlagen
DE112021008018T5 (de) Steuervorrichtung
EP3855259B1 (de) Verfahren zur kompatibilitätsprüfung von funktionsmodulen
EP0978039B1 (de) Aufdatverfahren
DE102019220468A1 (de) Industrielles-internet-der-dinge-system und informationsverarbeitungsvorrichtung desselben
DE102019132679A1 (de) Überwachungsverfahren für cpu-nutzungsmenge im betrieb von fahrzeug-ecu und überwachungseinheit
DE112016006839B4 (de) Längenmessungskontrollvorrichtung, Fertigungssystem, Längenmessungskontrollverfahren und Längenmessungskontrollprogramm
DE102009058518A1 (de) Verfahren und Vorrichtung zum Überwachen eines Produktion-Steuerrechners
EP3961333A1 (de) System und verfahren zur bestimmung einer ursache einer betriebsanomalie einer maschine sowie computerprogramm und elektronisch lesbarer datenträger
DE102020132001A1 (de) Steuervorrichtung und steuerverfahren
EP3144751B1 (de) Steuerungssystem sowie verfahren zum betrieb eines steuerungssystems mit einer realen und einer virtuellen steuerung zur prozessüberwachung
CN114245895A (zh) 为至少两个日志文件生成一致表示的方法
EP3647801A1 (de) Verfahren zur überprüfung eines fpga-programms
DE102019201868A1 (de) Steuerung und Steuersystem