DE112020005770T5 - Steuerungssystem, Programmierungsunterstützungsgerät, Programmierungsunterstützungsverfahren und Programmierungsunterstützungsprogramm - Google Patents

Steuerungssystem, Programmierungsunterstützungsgerät, Programmierungsunterstützungsverfahren und Programmierungsunterstützungsprogramm Download PDF

Info

Publication number
DE112020005770T5
DE112020005770T5 DE112020005770.4T DE112020005770T DE112020005770T5 DE 112020005770 T5 DE112020005770 T5 DE 112020005770T5 DE 112020005770 T DE112020005770 T DE 112020005770T DE 112020005770 T5 DE112020005770 T5 DE 112020005770T5
Authority
DE
Germany
Prior art keywords
main body
execution
code
test
program
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
DE112020005770.4T
Other languages
English (en)
Inventor
Kazuhisa Suzuki
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE112020005770T5 publication Critical patent/DE112020005770T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4434Reducing the memory space required by the program code
    • G06F8/4435Detection or removal of dead or redundant code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Programmable Controllers (AREA)

Abstract

Ein Steuerungssystem (1A) umfasst eine Steuerung (30) und ein Programmierungsunterstützungsgerät (10), welches eine Erzeugung eines Programms unterstützt, welches durch die Steuerung (30) zum Steuern eines Gerätes verwendet wird, wobei das Programm ein Steuerungsprogramm, welches eine Hauptsteuerung an dem Gerät durchführt, und ein Testprogramm, welches eine Testverarbeitung an dem Gerät steuert, umfasst, wobei das Programmierungsunterstützungsgerät (10) umfasst: eine Hauptkörperausführungscode-Erzeugungseinheit (13), welche einen Hauptkörperausführungscode als einen ausführbaren Code des Steuerungsprogramms erzeugt; eine Testausführungscode-Erzeugungseinheit (23), welche einen Testausführungscode als einen ausführbaren Code des Testprogramms, welches eine Test/Anpassung-Verarbeitung an dem Gerät steuert, erzeugt; und eine Testausführungsbedingung-Festlegungseinheit (22), welche eine Testausführungsbedingung als eine Bedingung zum Ausführen des Testausführungscodes erzeugt, wobei das Programmierungsunterstützungsgerät den Hauptkörperausführungscode und den Testausführungscode separat erzeugt, und die Steuerung (30) das Gerät unter Verwendung des Hauptkörperausführungscodes, des Testausführungscodes und der Testausführungsbedingung steuert.

Description

  • Bereich
  • Die vorliegende Offenbarung betrifft ein Steuerungssystem, ein Programmierungsunterstützungsgerät, ein Programmierungsunterstützungsverfahren und ein Programmierungsunterstützungsprogramm, welche eine Erzeugung eines Steuerungsprogramms unterstützen.
  • Hintergrund
  • Herkömmlicherweise, wenn geprüft wird, ob eine Steuerung, welche einen Antrieb, wie beispielsweise einen Servomotor, steuert, eine gewünschte Steuerungsoperation durchführen kann oder nicht, wird an einem Steuerungsprogramm zum Steuern der Operation des Antriebs ein Test oder dergleichen durchgeführt. Wenn der Test oder dergleichen durchgeführt wird, sind ein Quellcode eines Hauptkörpers zum Steuern des Antriebs und ein Quellcode eines Zusatzteils zum Durchführen einer Zusatzverarbeitung, wie beispielsweise einem Test, miteinander integriert, und aus dem integrierten Quellcode wird ein ausführbarer Code erzeugt. Dann wird der erzeugte ausführbare Code in die Steuerung geschrieben, und die Steuerung führt den ausführbaren Code aus, um hierdurch den Test oder dergleichen durchzuführen.
  • Ein Steuerungsunterstützungsgerät, welches in Patentliteratur 1 beschrieben ist, führt eine Simulation eines Steuerungsprogramms unter Verwendung eines in dem Steuerungsprogramm enthaltenen Fehlersuchprogramm durch. D. h., beim Durchführen einer Zusatzverarbeitung führt das in Patentliteratur 1 beschriebene Steuerungsunterstützungsgerät eine Zusatzverarbeitung des Steuerungsprogramms unter Verwendung eines Programms eines in dem Steuerungsprogramm enthaltenen Zusatzteils aus. Wenn bei diesem Steuerungsunterstützungsgerät beispielsweise eine Testbedingung geändert werden muss, wird ein Quellcode des Zusatzteils entsprechend der geänderten Testbedingung bearbeitet und ein ausführbarer Code wird aus einem Quellcode neu erzeugt, welcher aus einem Quellcode des Hauptkörpers und dem in dem Quellcode des Hauptkörpers integrierten, bearbeiteten Quellcode des Zusatzteils gebildet ist. Dann führt eine Steuerung den neu erzeugten ausführbaren Code aus, um hierdurch einen neuen Test oder dergleichen durchzuführen.
  • Zitierungsliste
  • Patentliteratur
  • Patentliteratur 1: japanisches Patent, Nummer 5246186
  • Kurzbeschreibung
  • Technisches Problem
  • Bei dem Steuerungsunterstützungsgerät der obigen Patentliteratur 1 sollte der ausführbare Code des Zusatzteils, welcher unnötig geworden ist, aus dem Steuerungsprogramm entfernt werden, nachdem der Test oder dergleichen des Steuerungsprogramms abgeschlossen ist. Wenn ein solcher unnötiger ausführbarer Code des Zusatzteils nicht entfernt wird, kann der ausführbare Code des Zusatzteils unglücklicherweise irrtümlich ausgeführt werden, wenn es gewünscht ist, nur den ausführbaren Code des Hauptkörpers des Steuerungsprogramms auszuführen. Es erfordert auch viel Zeit und Aufwand, um den ausführbaren Code des Zusatzteils aus dem Steuerungsprogramm sauber zu entfernen.
  • Die vorliegende Offenbarung wurde in Anbetracht des Obigen gemacht, und ihr Ziel ist es, ein Steuerungssystem bereitzustellen, welches einfach verhindern kann, dass ein ausführbarer Code eines Zusatzteils irrtümlicherweise ausgeführt wird, wenn ein ausführbarer Code eines Hauptkörpers ausgeführt wird.
  • Lösung des Problems
  • Um das obige Problem zu lösen und das Ziel zu erreichen, umfasst ein Steuerungssystem der vorliegenden Offenbarung: eine Steuerung, welche ein Gerät steuert; und ein Programmierungsunterstützungsgerät, welches eine Erzeugung eines Programms unterstützt, welches durch die Steuerung zum Steuern des Gerätes verwendet wird. Das Programm enthält ein Steuerungsprogramm, welches eine Hauptsteuerung an dem Gerät durchführt, und ein Zusatzprogramm, welches eine Zusatzverarbeitung an dem Gerät steuert. Das Programmierungsunterstützungsgerät umfasst: eine Hauptkörperausführungscode-Erzeugungseinheit, welche einen Hauptkörperausführungscode erzeugt, welcher ein ausführbarer Code des Steuerungsprogramms ist; eine Zusatzausführungscode-Erzeugungseinheit, welche einen Zusatzausführungscode erzeugt, welcher ein ausführbarer Code des Zusatzprogramms ist; und eine Zusatzausführungsbedingung-Erzeugungseinheit, welche eine Zusatzausführungsbedingung erzeugt, welche eine Bedingung zum Ausführen des Zusatzausführungscodes ist. Zudem erzeugt das Programmierungsunterstützungsgerät den Hauptkörperausführungscode und den Zusatzausführungscode separat. Die Steuerung steuert das Gerät unter Verwendung des Hauptkörperausführungscodes, des Zusatzausführungscodes und der Zusatzausführungsbedingung.
  • Vorteilhafte Wirkungen der Erfindung
  • Das Steuerungssystem gemäß der vorliegenden Offenbarung hat die Wirkung, dass es fähig ist, einfach zu verhindern, dass der ausführbare Code des Zusatzteils irrtümlich ausgeführt wird, wenn der ausführbare Code des Hauptkörpers ausgeführt wird.
  • Figurenliste
    • 1 ist ein Diagramm, welches eine Konfiguration eines Steuerungssystems gemäß einer ersten Ausführungsform zeigt.
    • 2 ist ein Ablaufdiagramm, welches eine Prozedur einer Steuerungsverarbeitung durch das Steuerungssystem gemäß der ersten Ausführungsform zeigt.
    • 3 ist ein Sequenzdiagramm, welches eine Prozedur einer Datenerzeugungsverarbeitung durch ein Programmierungsunterstützungsgerät gemäß der ersten Ausführungsform zeigt.
    • 4 ist ein Sequenzdiagramm, welches eine Prozedur einer Datenübertragungsverarbeitung und einer Datenspeicherverarbeitung durch das Steuerungssystem gemäß der ersten Ausführungsform zeigt.
    • 5 ist ein Sequenzdiagramm, welches eine Prozedur einer Ausführungsverarbeitung eines Steuerungsprogramms durch das Steuerungssystem gemäß der ersten Ausführungsform zeigt.
    • 6 ist ein Diagramm, welches eine Konfiguration eines Steuerungssystems gemäß einer zweiten Ausführungsform zeigt.
    • 7 ist ein Diagramm zum Erklären einer mechanischen Einheit, welche mit einem Motor verbunden ist, welcher durch das Steuerungssystem gemäß der zweiten Ausführungsform gesteuert wird.
    • 8 ist eine Tabelle, welche ein erstes Beispiel eines Steuerungsparameters zeigt, welcher für das Steuerungssystem gemäß der zweiten Ausführungsform eingestellt ist.
    • 9 ist ein Graph, welcher ein erstes Beispiel eines Operationsschemas zeigt, welches durch das Steuerungssystem gemäß der zweiten Ausführungsform verwendet wird.
    • 10 ist eine Tabelle, welche ein zweites Beispiel des Steuerungsparameters zeigt, welcher für das Steuerungssystem gemäß der zweiten Ausführungsform eingestellt ist.
    • 11 ist ein Graph, welcher ein zweites Beispiel des Betriebsschemas zeigt, welches durch das Steuerungssystem gemäß der zweiten Ausführungsform verwendet wird.
    • 12 ist ein Diagramm, welches ein Beispiel einer Hardwarekonfiguration zum Implementieren des Programmierungsunterstützungsgeräts gemäß der ersten und zweiten Ausführungsform zeigt.
  • Beschreibung von Ausführungsformen
  • Nachfolgend werden ein Steuerungssystem, ein Programmierungsunterstützungsgerät, ein Programmierungsunterstützungsverfahren und ein Programmierungsunterstützungsprogramm gemäß Ausführungsformen der vorliegenden Offenbarung im Detail mit Bezug zu den Zeichnungen beschrieben. Es ist zu beachten, dass die vorliegende Offenbarung nicht auf diese Ausführungsformen begrenzt ist.
  • Erste Ausführungsform.
  • 1 ist ein Diagramm, welches eine Konfiguration eines Steuerungssystems gemäß einer ersten Ausführungsform zeigt. Ein Steuerungssystem 1A umfasst ein Programmierungsunterstützungsgerät 10 und eine Steuerung 30. Das Programmierungsunterstützungsgerät 10 ist mit einem Anzeigegerät 3 verbunden, und die Steuerung 30 ist über einen Verstärker 4 mit einem Motor 2 verbunden.
  • Die Steuerung 30 ist ein Computer, welcher den Motor 2 als einen Antrieb steuert. Das Programmierungsunterstützungsgerät 10 ist ein Computer, welcher ein Steuerungsprogramm erzeugt, welches verwendet wird, wenn die Steuerung 30 den Motor 2 steuert.
  • Das Programmierungsunterstützungsgerät 10 erzeugt das Steuerungsprogramm entsprechend einer Anweisung von einem Nutzer. Entsprechend einer Anweisung von einem Nutzer erzeugt das Programmierungsunterstützungsgerät 10 auch Ausführungsbedingungen, welche Bedingungen zum Ausführen des Steuerungsprogramms sind. Beispielsweise kann das Steuerungsprogramm Steuerungsprogramme PA, PB und PC enthalten. In diesem Fall gibt es Fälle, in denen gewünscht ist: nur das Steuerungsprogramm PA auszuführen; das Steuerungsprogramm PB zu überspringen; und das Steuerungsprogramm PC eine spezifische Anzahl mal (beispielsweise 10-mal) auszuführen, und dergleichen. Bedingungen zum Ausführen dieser Verarbeitungen sind die Ausführungsbedingungen. In einem Fall, in welchem die Ausführungsbedingung beispielsweise spezifiziert, dass „das Steuerungsprogramm PA übersprungen wird, wenn das Steuerungsprogramm PA existiert“, überspringt die Steuerung 30 das Steuerungsprogramm PA, wenn das Steuerungsprogramm PA existiert.
  • Das Programmierungsunterstützungsgerät 10 der vorliegenden Ausführungsform erzeugt separat einen Quellcode eines Hauptkörpers, welcher zum Steuern des Motors 2 verwendet wird, und einen Quellcode eines von dem Hauptkörper verschiedenen Teils und kompiliert diese Quellcodes separat, um hierdurch separate ausführbare Codes zu erzeugen. Der Quellcode des von dem Hauptkörper verschiedenen Teils ist ein Quellcode zum Steuern einer Zusatzverarbeitung. Ein Beispiel des Quellcodes zum Steuern der Zusatzverarbeitung ist ein Quellcode zum Durchführen eines Tests und einer Anpassung (hierin nachfolgend als Test/Anpassung bezeichnet) des Hauptkörpers. Es ist zu beachten, dass die Anpassung des Hauptkörpers abhängig von einem Ergebnis des Tests des Hauptkörpers weggelassen werden kann.
  • Das Programmierungsunterstützungsgerät 10 erzeugt den ausführbaren Code des Hauptkörpers aus dem Quellcode des Hauptkörpers und erzeugt den ausführbaren Code für Test/Anpassung aus dem Quellcode für Test/Anpassung. In der folgenden Beschreibung wird der Quellcode des Hauptkörpers als ein Hauptkörperquellcode bezeichnet, und der Quellcode für Test/Anpassung wird als ein Testquellcode bezeichnet. Ferner wird der ausführbare Code des Hauptkörpers als ein Hauptkörperausführungscode bezeichnet, und der ausführbare Code für Test/Anpassung wird als ein Testausführungscode bezeichnet.
  • Das Programmierungsunterstützungsgerät 10 kompiliert den Hauptkörperquellcode des Steuerungsprogramms, um hierdurch den Hauptkörperausführungscode des Steuerungsprogramms zu erzeugen. Das Programmierungsunterstützungsgerät 10 kompiliert den Testquellcode des Steuerungsprogramms, um hierdurch den Testausführungscode des Steuerungsprogramms zu erzeugen.
  • Wie oben beschrieben ist, enthält das durch das Programmierungsunterstützungsgerät 10 erzeugte Steuerungsprogramm zwei Programme: ein Steuerungsprogramm (Hauptkörperausführungscode), welches als der Hauptkörper dient; und ein Steuerungsprogramm für Test/Anpassung (Testausführungscode). Das als der Hauptkörper dienende Steuerungsprogramm ist ein Steuerungsprogramm, welches als ein tatsächliches Produkt läuft.
  • Das als der Hauptkörper dienende Steuerungsprogramm führt eine Verarbeitung durch, welche in der Steuerung eines den Motor 2 umfassenden Gerätes direkt involviert ist. Mit anderen Worten ist das als der Hauptkörper dienende Steuerungsprogramm ein Programm zum Durchführen einer Hauptsteuerung an dem den Motor 2 umfassenden Gerät.
  • Das Steuerungsprogramm für Test/Anpassung ist ein Zusatzprogramm zum Steuern der Zusatzverarbeitung. Das Steuerungsprogramm für Test/Anpassung ist für einen Test/eine Anpassung nötig, wird jedoch unnötig, nachdem der Test/die Anpassung abgeschlossen ist.
  • Es ist zu beachten, dass in der folgenden Beschreibung das als der Hauptkörper dienende Steuerungsprogramm einfach als ein Hauptkörperprogramm bezeichnet wird, und das Steuerungsprogramm für Test/Anpassung als ein Testprogramm bezeichnet wird. Wenn sowohl das Hauptkörperprogramm als auch das Testprogramm gemeint sind, werden diese als die Steuerungsprogramme bezeichnet. Das Hauptkörperprogramm kann ein Bewegungssteuerungsprogramm enthalten; in diesem Fall führt das Testprogramm einen Test/eine Anpassung an dem Bewegungssteuerungsprogramm und dergleichen durch.
  • Zudem erzeugt das Programmierungsunterstützungsgerät 10 separat die Ausführungsbedingung, welche verwendet wird, wenn der Hauptkörperausführungscode ausgeführt wird, und die Ausführungsbedingung, welche verwendet wird, wenn der als ein Zusatzausführungscode dienende Testausführungscode ausgeführt wird. In der folgenden Beschreibung wird die Ausführungsbedingung für den Hauptkörper, d. h., eine Bedingung zum Ausführen des Hauptkörperprogramms, als eine Hauptkörperausführungsbedingung bezeichnet, und die Ausführungsbedingung für Test/Anpassung, d. h., eine Bedingung zum Ausführen des Testprogramms, wird als eine Testausführungsbedingung bezeichnet.
  • Die Hauptkörperausführungsbedingung spezifiziert beispielsweise, dass ein spezifisches Hauptkörperprogramm übersprungen wird, wenn das spezifische Hauptkörperprogramm existiert. Die Testausführungsbedingung als eine Zusatzausführungsbedingung spezifiziert beispielsweise, dass ein vor dem Hauptkörperprogramm auszuführendes Testprogramm ausgeführt wird, wenn ein solches Testprogramm existiert. Des Weiteren können die Hauptkörperausführungsbedingung und die Testausführungsbedingung beispielsweise spezifizieren, dass eine spezifische Verarbeitung auszuführen ist, wenn eine spezifische Variable einen spezifischen Wert annimmt.
  • Das Programmierungsunterstützungsgerät 10 überträgt den Hauptkörperausführungscode, den Testausführungscode, die Hauptkörperausführungsbedingung und die Testausführungsbedingung an die Steuerung 30.
  • Beim Test/bei der Anpassung steuert die Steuerung 30 die Operation des Motors 2 unter Verwendung des Hauptkörperausführungscodes, der Hauptkörperausführungsbedingung, des Testausführungscodes und der Testausführungsbedingung. Nachdem der Test/die Anpassung abgeschlossen ist, steuert die Steuerung 30 die Operation des Motors 2 unter Verwendung des Hauptkörperausführungscodes und der Hauptkörperausführungsbedingung. Die Steuerung 30 verwaltet den Hauptkörperausführungscode und den Testausführungscode separat. Zudem verwaltet die Steuerung 30 die Hauptkörperausführungsbedingung und die Testausführungsbedingung separat.
  • Das Programmierungsunterstützungsgerät 10 umfasst eine Hauptkörperquellcode-Bearbeitungseinheit 11, eine Hauptkörperausführungsbedingung-Festlegungseinheit 12 und eine Hauptkörperausführungscode-Erzeugungseinheit 13. Das Programmierungsunterstützungsgerät 10 umfasst ferner eine Testquellcode-Bearbeitungseinheit 21, eine Testausführungsbedingung-Festlegungseinheit 22, eine Testausführungscode-Erzeugungseinheit 23, welche eine Zusatzausführungscode-Erzeugungseinheit ist, eine Kommunikationseinheit 71 und eine Eingabeeinheit 72. Die Testquellcode-Bearbeitungseinheit 21 ist eine Zusatzquellcode-Bearbeitungseinheit. Die Testausführungscode-Erzeugungseinheit 23 ist eine Zusatzausführungscode-Erzeugungseinheit.
  • Die Kommunikationseinheit 71 umfasst eine Hauptkörper-Übertragungseinheit 14, eine Hauptkörper-Empfangseinheit 15, eine Test-Übertragungseinheit 24 und eine Test-Empfangseinheit 25.
  • Die Steuerung 30 umfasst eine Kommunikationseinheit 81, eine Hauptkörperausführungscode-Speichereinheit 33, eine Testausführungscode-Speichereinheit 43, eine Steuerungseinheit 82 und eine Ausgabeeinheit 83. Die Kommunikationseinheit 81 kann mit der Kommunikationseinheit 71 kommunizieren. Die Kommunikationseinheit 81 und die Kommunikationseinheit 71 können durch drahtlose Kommunikation oder drahtgebundene Kommunikation verbunden sein.
  • Die Kommunikationseinheit 81 umfasst eine Hauptkörper-Empfangseinheit 31, eine Hauptkörper-Übertragungseinheit 32, eine Test-Empfangseinheit 41 und eine Test-Übertragungseinheit 42. Die Steuerungseinheit 82 umfasst eine Hauptkörperausführung-Steuerungseinheit 34, eine Hauptkörperausführungsbedingung-Bestimmungseinheit 35, eine Testausführung-Steuerungseinheit 44 und eine Testausführungsbedingung-Bestimmungseinheit 45.
  • Nun werden die Komponenten des Programmierungsunterstützungsgeräts 10 und der Steuerung 30 beschrieben. Die Eingabeeinheit 72 des Programmierungsunterstützungsgeräts 10 empfängt eine Anweisung von einem Nutzer. Die Anweisung, welche die Eingabeeinheit 72 von dem Nutzer empfängt, umfasst eine Anweisung zum Bearbeiten des Hauptkörperquellcodes, eine Anweisung zum Erzeugen des Hauptkörperausführungscodes, eine Anweisung zum Festlegen der Hauptkörperausführungsbedingung, eine Anweisung zum Bearbeiten des Testquellcodes, welcher der Zusatzquellcode ist, eine Anweisung zum Erzeugen des Testausführungscodes, eine Anweisung zum Festlegen der Testausführungsbedingung und dergleichen.
  • Die Anweisung, welche die Eingabeeinheit 72 von dem Nutzer empfängt, umfasst auch eine Anweisung zum Übertragen des Steuerungsprogramms an die Steuerung 30, eine Anweisung zum Übertragen der Ausführungsbedingung an die Steuerung 30, eine Anweisung zum Veranlassen der Steuerung 30 zum Ausführen des Steuerungsprogramms (hierin nachfolgend in einigen Fällen als eine Programmausführungsanweisung bezeichnet) und dergleichen. Die Anweisung zum Übertragen des Steuerungsprogramms an die Steuerung 30 umfasst eine Anweisung zum Übertragen des Hauptkörperprogramms (hierin nachfolgend in einigen Fällen als eine Hauptkörperprogramm-Übertragungsanweisung bezeichnet) und eine Anweisung zum Übertragen des Testprogramms (hierin nachfolgend in einigen Fällen als eine Testprogramm-Übertragungsanweisung bezeichnet).
  • Wenn die Anweisung zum Bearbeiten des Hauptkörperquellcodes empfangen wird, überträgt die Eingabeeinheit 72 diese Anweisung an die Hauptkörperquellcode-Bearbeitungseinheit 11. Wenn die Anweisung zum Bearbeiten des Testquellcodes empfangen wird, überträgt die Eingabeeinheit 72 diese Anweisung an die Testquellcode-Bearbeitungseinheit 21.
  • Wenn die Anweisung zum Erzeugen des Hauptkörperausführungscodes empfangen wird, überträgt die Eingabeeinheit 72 diese Anweisung über die Hauptkörperquellcode-Bearbeitungseinheit 11 an die Hauptkörperausführungscode-Erzeugungseinheit 13. Wenn die Anweisung zum Erzeugen des Testausführungscodes empfangen wird, überträgt die Eingabeeinheit 72 diese Anweisung über die Testquellcode-Bearbeitungseinheit 21 an die Testausführungscode-Erzeugungseinheit 23.
  • Wenn die Anweisung zum Festlegen der Hauptkörperausführungsbedingung empfangen wird, überträgt die Eingabeeinheit 72 diese Anweisung über die Hauptkörperquellcode-Bearbeitungseinheit 11 an die Hauptkörperausführungsbedingung-Festlegungseinheit 12. Wenn die Anweisung zum Festlegen der Testausführungsbedingung empfangen wird, überträgt die Eingabeeinheit 72 diese Anweisung über die Testquellcode-Bearbeitungseinheit 21 an die Testausführungsbedingung-Festlegungseinheit 22.
  • Es ist zu beachten, dass die Eingabeeinheit 72 die Anweisung zum Festlegen der Hauptkörperausführungsbedingung direkt an die Hauptkörperausführungsbedingung-Festlegungseinheit 12 übertragen kann. Zudem kann die Eingabeeinheit 72 die Anweisung zum Festlegen der Testausführungsbedingung direkt an die Testausführungsbedingung-Festlegungseinheit 22 übertragen.
  • Wenn die Hauptkörperprogramm-Übertragungsanweisung empfangen wird, überträgt die Eingabeeinheit 72 diese Anweisung an die Kommunikationseinheit 71. Wenn die Testprogramm-Übertragungsanweisung empfangen wird, überträgt die Eingabeeinheit 72 diese Anweisung an die Kommunikationseinheit 71. Wenn die Programmausführungsanweisung empfangen wird, überträgt die Eingabeeinheit 72 diese Anweisung über die Kommunikationseinheit 71 an die Kommunikationseinheit 81 der Steuerung 30.
  • Die Hauptkörperquellcode-Bearbeitungseinheit 11 veranlasst das Anzeigegerät 3, wie beispielsweise einen Flüssigkristallmonitor, dazu, einen zu bearbeitenden Quellcode anzuzeigen. Die Hauptkörperquellcode-Bearbeitungseinheit 11 empfängt die Anweisung zum Bearbeiten des Hauptkörperquellcodes durch eine auf dem Anzeigegerät 3 angezeigte Information. Die Hauptkörperquellcode-Bearbeitungseinheit 11 bearbeitet den Hauptkörperquellcode entsprechend der Anweisung zum Bearbeiten des Hauptkörperquellcodes. Wenn die Anweisung zum Erzeugen des Hauptkörperausführungscodes empfangen wird, überträgt die Hauptkörperquellcode-Bearbeitungseinheit 11 den Hauptkörperquellcode an die Hauptkörperausführungscode-Erzeugungseinheit 13.
  • Wenn die Anweisung zum Erzeugen des Hauptkörperausführungscodes empfangen wird, erzeugt die Hauptkörperausführungscode-Erzeugungseinheit 13 den Hauptkörperausführungscode durch Kompilieren des Hauptkörperquellcodes. Die Hauptkörperausführungscode-Erzeugungseinheit 13 überträgt den erzeugten Hauptkörperausführungscode an die Kommunikationseinheit 71.
  • Die Hauptkörperausführungsbedingung-Festlegungseinheit 12 erzeugt die Hauptkörperausführungsbedingung entsprechend der Anweisung zum Festlegen der Hauptkörperausführungsbedingung. Die Hauptkörperausführungsbedingung-Festlegungseinheit 12 überträgt die erzeugte Hauptkörperausführungsbedingung an die Kommunikationseinheit 71.
  • Wenn die Hauptkörperprogramm-Übertragungsanweisung empfangen wird, überträgt die Hauptkörper-Übertragungseinheit 14 der Kommunikationseinheit 71 den Hauptkörperausführungscode und die Hauptkörperausführungsbedingung an die Kommunikationseinheit 81 der Steuerung 30. Zudem, wenn die Programmausführungsanweisung empfangen wird, überträgt die Hauptkörper-Übertragungseinheit 14 die Programmausführungsanweisung an die Kommunikationseinheit 81 der Steuerung 30.
  • Die Hauptkörper-Empfangseinheit 15 der Kommunikationseinheit 71 empfängt Daten, welche ein Ergebnis eines Tests/einer Anpassung angeben, den Hauptkörperausführungscode und dergleichen von der Steuerung 30 und überträgt diese Daten, diesen Hauptkörperausführungscode und dergleichen an die Hauptkörperquellcode-Bearbeitungseinheit 11.
  • Die Testquellcode-Bearbeitungseinheit 21 veranlasst das Anzeigegerät 3 dazu, einen zu bearbeitenden Quellcode anzuzeigen. Die Testquellcode-Bearbeitungseinheit 21 empfängt die Anweisung zum Bearbeiten des Testquellcodes durch eine auf dem Anzeigegerät 3 angezeigte Information. Die Testquellcode-Bearbeitungseinheit 21 bearbeitet den Testquellcode entsprechend der Anweisung zum Bearbeiten des Testquellcodes. Wenn die Anweisung zum Erzeugen des Testausführungscodes empfangen wird, überträgt die Testquellcode-Bearbeitungseinheit 21 den Testquellcode an die Testausführungscode-Erzeugungseinheit 23.
  • Wenn die Anweisung zum Erzeugen des Testausführungscodes empfangen wird, erzeugt die Testausführungscode-Erzeugungseinheit 23 den Testausführungscode durch Kompilieren des Testquellcodes. Die Testausführungscode-Erzeugungseinheit 23 überträgt den erzeugten Testausführungscode an die Kommunikationseinheit 71.
  • Die Testausführungsbedingung-Festlegungseinheit 22 erzeugt die Testausführungsbedingung entsprechend der Anweisung zum Festlegen der Testausführungsbedingung. Die Testausführungsbedingung-Festlegungseinheit 22 überträgt die erzeugte Testausführungsbedingung an die Kommunikationseinheit 71.
  • Wenn die Testprogramm-Übertragungsanweisung empfangen wird, überträgt die Test-Übertragungseinheit 24 der Kommunikationseinheit 71 den Testausführungscode und die Testausführungsbedingung an die Kommunikationseinheit 81 der Steuerung 30.
  • Die Test-Empfangseinheit 25 der Kommunikationseinheit 71 empfängt Daten, welche ein Ergebnis eines Tests/einer Anpassung angeben, den Testausführungscode und dergleichen von der Steuerung 30 und überträgt diese Daten, diesen Testausführungscode und dergleichen an die Testquellcode-Bearbeitungseinheit 21.
  • Wenn von der Hauptkörper-Übertragungseinheit 14 Information empfangen wird, speichert die Hauptkörper-Empfangseinheit 31 der Kommunikationseinheit 81 der Steuerung 30 die empfangene Information in der Hauptkörperausführungscode-Speichereinheit 33. Die Information, welche die Hauptkörper-Empfangseinheit 31 von der Hauptkörper-Übertragungseinheit 14 empfängt, umfasst den Hauptkörperausführungscode, die Hauptkörperausführungsbedingung, die Programmausführungsanweisung oder dergleichen.
  • Die Hauptkörper-Übertragungseinheit 32 liest aus der Hauptkörperausführungscode-Speichereinheit 33 eine durch das Programmierungsunterstützungsgerät 10 angeforderte Information und überträgt diese Information an die Kommunikationseinheit 71 des Programmierungsunterstützungsgeräts 10.
  • Die Hauptkörperausführungscode-Speichereinheit 33 ist ein Speicher oder dergleichen, welcher von der Kommunikationseinheit 81 übertragene Information und von der Steuerungseinheit 82 übertragene Information speichert. Die von der Kommunikationseinheit 81 an die Hauptkörperausführungscode-Speichereinheit 33 übertragene Information umfasst den Hauptkörperausführungscode, die Hauptkörperausführungsbedingung, die Programmausführungsanweisung oder dergleichen, und die von der Steuerungseinheit 82 übertragene Information umfasst die Daten, welche ein Ergebnis eines Tests/einer Anpassung angeben, oder dergleichen.
  • Wenn von der Test-Übertragungseinheit 24 eine Information empfangen wird, speichert die Test-Empfangseinheit 41 der Kommunikationseinheit 81 der Steuerung 30 die empfangene Information in der Testausführungscode-Speichereinheit 43. Die Information, welche die Test-Empfangseinheit 41 von der Test-Übertragungseinheit 24 empfängt, umfasst den Testausführungscode, die Testausführungsbedingung oder dergleichen.
  • Die Test-Übertragungseinheit 42 liest aus der Testausführungscode-Speichereinheit 43 eine durch das Programmierungsunterstützungsgerät 10 angeforderte Information und überträgt diese Information an die Kommunikationseinheit 71 des Programmierungsunterstützungsgeräts 10.
  • Die Testausführungscode-Speichereinheit 43 ist ein Speicher oder dergleichen, welcher eine von der Kommunikationseinheit 81 übertragene Information speichert. Die von der Kommunikationseinheit 81 an die Testausführungscode-Speichereinheit 43 übertragene Information umfasst den Testausführungscode, die Testausführungsbedingung oder dergleichen.
  • In der Steuerungseinheit 82 sind die Hauptkörperausführungsbedingung-Bestimmungseinheit 35, die Hauptkörperausführung-Steuerungseinheit 34, die Testausführung-Steuerungseinheit 44 und die Testausführungsbedingung-Bestimmungseinheit 45 miteinander verbunden. In der Steuerungseinheit 82 arbeiten die Hauptkörperausführung-Steuerungseinheit 34, die Hauptkörperausführungsbedingung-Bestimmungseinheit 35, die Testausführung-Steuerungseinheit 44 und die Testausführungsbedingung-Bestimmungseinheit 45 und teilen dabei Information untereinander. Es ist zu beachten, dass die Komponenten der Steuerungseinheit 82 miteinander direkt oder über die anderen Komponenten kommunizieren können.
  • Wenn die Hauptkörperausführungscode-Speichereinheit 33 die Programmausführungsanweisung speichert, liest die Hauptkörperausführung-Steuerungseinheit 34 die Programmausführungsanweisung. Es ist zu beachten, dass die Programmausführungsanweisung von der Hauptkörper-Empfangseinheit 31 direkt an die Hauptkörperausführung-Steuerungseinheit 34 übertragen werden kann.
  • Wenn die Programmausführungsanweisung gelesen wird, liest die Hauptkörperausführung-Steuerungseinheit 34 den Hauptkörperausführungscode, der in der Hauptkörperausführungscode-Speichereinheit 33 gespeichert ist, und überträgt eine Anweisung zum Lesen des Testausführungscodes an die Testausführung-Steuerungseinheit 44.
  • Die Hauptkörperausführung-Steuerungseinheit 34 überträgt an die Hauptkörperausführungsbedingung-Bestimmungseinheit 35 eine Anweisung zum Bestimmen, ob die Hauptkörperausführungsbedingung erfüllt ist oder nicht. Die Hauptkörperausführung-Steuerungseinheit 34 führt den Hauptkörperausführungscode aus, wenn die Hauptkörperausführungsbedingung erfüllt ist, oder führt den Hauptkörperausführungscode nicht aus (d. h. überspringt diesen), wenn die Hauptkörperausführungsbedingung nicht erfüllt ist.
  • Die Hauptkörperausführungsbedingung-Bestimmungseinheit 35 bestimmt, ob die Hauptkörperausführungsbedingung erfüllt ist oder nicht, und überträgt ein Ergebnis der Bestimmung an die Hauptkörperausführung-Steuerungseinheit 34. Wenn die Hauptkörperausführungsbedingung erfüllt ist, überträgt die Hauptkörperausführungsbedingung-Bestimmungseinheit 35 an die Testausführungsbedingung-Bestimmungseinheit 45 eine Anweisung zum Bestimmen, ob die Testausführungsbedingung erfüllt ist oder nicht.
  • Die Testausführung-Steuerungseinheit 44 überträgt an die Testausführungsbedingung-Bestimmungseinheit 45 eine Anweisung zum Bestimmen, ob die Testausführungsbedingung erfüllt ist oder nicht. Die Testausführung-Steuerungseinheit 44 führt den Testausführungscode aus, wenn die Testausführungsbedingung erfüllt ist, oder führt den Testausführungscode nicht aus, wenn die Testausführungsbedingung nicht erfüllt ist.
  • Die Testausführungsbedingung-Bestimmungseinheit 45 bestimmt, ob die Testausführungsbedingung erfüllt ist oder nicht, und überträgt ein Ergebnis der Bestimmung an die Testausführung-Steuerungseinheit 44.
  • Wenn die Anzahl der Hauptkörperprogramme „N“ ist (wobei „N“ eine natürliche Zahl ist), führt die Steuerungseinheit 82 eine Schleifenverarbeitung an den „N“ Hauptkörperprogrammen aus.
  • Die Ausgabeeinheit 83 gibt einen von der Hauptkörperausführung-Steuerungseinheit 34 übertragenen Operationsbefehl an den Motor 2 über den Verstärker 4 aus, welcher ein Signal verstärkt, und gibt einen von der Testausführung-Steuerungseinheit 44 übertragenen Operationsbefehl an den Motor 2 über den Verstärker 4 aus. Der Motor 2 operiert entsprechend dem über den Verstärker 4 übertragenen Operationsbefehl.
  • Wie oben beschrieben ist, kann das Programmierungsunterstützungsgerät 10 den Hauptkörperquellcode und den Testquellcode des Steuerungsprogramms einzeln erzeugen, ohne den Testquellcode in den Hauptkörperquellcode zu mischen.
  • Zudem kann das Programmierungsunterstützungsgerät 10 Details eines Tests oder Details einer Anpassung durch Ändern des Testquellcodes des Testprogramms ändern, ohne den Hauptkörperquellcode des Hauptkörperprogramms zu ändern.
  • Ferner, weil die Steuerung 30 den Hauptkörperausführungscode des Hauptkörperprogramms und den Testausführungscode des Testprogramms in dem jeweils zugeordneten Speicherbereich von Speicherbereichen speichert, kann das Programmierungsunterstützungsgerät 10 eine Änderung, wie beispielsweise eine Hinzufügung oder Löschung des Testausführungscodes, einfach durchführen, ohne den Hauptkörperausführungscode zu ändern.
  • Ferner kann das Programmierungsunterstützungsgerät 10, nachdem ein Test/eine Anpassung des Motors 2 abgeschlossen ist, den Testausführungscode des Testprogramms einfach entfernen, ohne den Hauptkörperausführungscode des Hauptkörperprogramms zu ändern.
  • 2 ist ein Ablaufdiagramm, welches eine Prozedur einer Steuerungsverarbeitung durch das Steuerungssystem gemäß der ersten Ausführungsform zeigt. In der Steuerung 30 des Steuerungssystems 1A führt die Steuerungseinheit 82 eine Initialisierungsverarbeitung (Schritt S110) aus, wenn die Hauptkörperausführung-Steuerungseinheit 34 eine Programmausführungsanweisung liest. Nach Abschluss der Initialisierungsverarbeitung liest die Steuerungseinheit 82 ein Hauptkörperprogramm, welches in der Hauptkörperausführungscode-Speichereinheit 33 gespeichert ist, und startet eine iterative Verarbeitung des gelesenen Hauptkörperprogramms. Vorliegend erfolgt eine Beschreibung hinsichtlich des Hauptkörperprogramms, welches in der spezifischen Reihenfolge eines Hauptkörperprogramms P1 und eines Hauptkörperprogramms P2 verarbeitet wird.
  • Die Hauptkörperausführungsbedingung-Bestimmungseinheit 35 bestimmt, ob eine Hauptkörperausführungsbedingung für das Hauptkörperprogramm P1 erfüllt ist oder nicht. Die vorliegend beschriebene Hauptkörperausführungsbedingung spezifiziert, dass „Ausführung des Hauptkörperprogramms P1 übersprungen wird, wenn die Hauptkörperausführungsbedingung erfüllt ist“. In diesem Fall bestimmt die Hauptkörperausführungsbedingung-Bestimmungseinheit 35, ob eine Ausführung des Hauptkörperprogramms P1 zu überspringen ist oder nicht, durch Bestimmen, ob die Hauptkörperausführungsbedingung erfüllt ist oder nicht (Schritt S120).
  • Wenn die Bedingung zum Überspringen der Ausführung des Hauptkörperprogramms P 1 nicht erfüllt ist (NEIN in Schritt S 120), bestimmt die Testausführungsbedingung-Bestimmungseinheit 45, ob eine Testausführungsbedingung erfüllt ist oder nicht. Die vorliegend beschriebene Testausführungsbedingung spezifiziert, dass, „wenn ein vor Ausführung des Hauptkörperprogramms P1 auszuführendes Testprogramm Q1 existiert, das Testprogramm Q1 vor der Ausführung des Hauptkörperprogramms P1 ausgeführt wird“. In diesem Fall bestimmt die Testausführungsbedingung-Bestimmungseinheit 45, ob das vor der Ausführung des Hauptkörperprogramms P1 auszuführende Testprogramm Q1 existiert oder nicht (Schritt S130).
  • Wenn das vor der Ausführung des Hauptkörperprogramms P1 auszuführende Testprogramm Q1 existiert (JA in Schritt S130), bestimmt die Testausführungsbedingung-Bestimmungseinheit 45, dass die Testausführungsbedingung vor der Ausführung des Hauptkörperprogramms P1 erfüllt ist. In diesem Fall führt die Testausführung-Steuerungseinheit 44 das Testprogramm Q1 des Hauptkörperprogramms P1 aus (Schritt S140). Danach führt die Hauptkörperausführung-Steuerungseinheit 34 das Hauptkörperprogramm P1 aus (Schritt S150).
  • Andererseits, wenn das vor der Ausführung des Hauptkörperprogramms P1 auszuführende Testprogramm Q1 nicht existiert (NEIN in Schritt S130), bestimmt die Testausführungsbedingung-Bestimmungseinheit 45, dass die Testausführungsbedingung vor der Ausführung des Hauptkörperprogramms P1 nicht erfüllt ist. In diesem Fall führt die Testausführung-Steuerungseinheit 44 das Testprogramm Q1 nicht aus, und die Hauptkörperausführung-Steuerungseinheit 34 führt das Hauptkörperprogramm P1 aus (Schritt S150).
  • Wenn die Ausführung des Hauptkörperprogramms P1 abgeschlossen ist, bestimmt die Testausführungsbedingung-Bestimmungseinheit 45, ob eine Testausführungsbedingung nach der Ausführung des Hauptkörperprogramms P1 erfüllt ist oder nicht. Die hierin beschriebene Testausführungsbedingung spezifiziert, dass, „wenn ein nach der Ausführung des Hauptkörperprogramms P1 auszuführendes Testprogramm Q2 existiert, das Testprogramm Q2 nach der Ausführung des Hauptkörperprogramms P1 ausgeführt wird“. In diesem Fall bestimmt die Testausführungsbedingung-Bestimmungseinheit 45, ob das nach der Ausführung des Hauptkörperprogramms P1 auszuführende Testprogramm Q2 existiert oder nicht (Schritt S160).
  • Wenn das nach der Ausführung des Hauptkörperprogramms P1 auszuführende Testprogramm Q2 existiert (JA in Schritt S160), bestimmt die Testausführungsbedingung-Bestimmungseinheit 45, dass die Testausführungsbedingung nach der Ausführung des Hauptkörperprogramms P1 erfüllt ist. In diesem Fall führt die Testausführung-Steuerungseinheit 44 das Testprogramm Q2 des Hauptkörperprogramms P1 aus (Schritt S170).
  • Danach bestimmt die Hauptkörperausführungsbedingung-Bestimmungseinheit 35, ob eine Hauptkörperausführungsbedingung für das Hauptkörperprogramm P2 erfüllt ist oder nicht. Vorliegend wird ein Fall beschrieben, in welchem die Hauptkörperausführungsbedingung spezifiziert, dass „Ausführung des Hauptkörperprogramms P2 übersprungen wird, wenn die Hauptkörperausführungsbedingung erfüllt ist“. In diesem Fall bestimmt die Hauptkörperausführungsbedingung-Bestimmungseinheit 35, ob die Ausführung des Hauptkörperprogramms P2 zu überspringen ist oder nicht, durch Bestimmen, ob die Hauptkörperbedingung erfüllt ist oder nicht (Schritt S180).
  • Andererseits, wenn das nach der Ausführung des Hauptkörperprogramms P1 auszuführende Testprogramm Q2 nicht existiert (NEIN in Schritt S160), bestimmt die Testausführungsbedingung-Bestimmungseinheit 45, dass die Testausführungsbedingung nicht erfüllt ist. In diesem Fall führt die Testausführung-Steuerungseinheit 44 das Testprogramm Q2 nicht aus, und die Hauptkörperausführungsbedingung-Bestimmungseinheit 35 bestimmt, ob die Ausführung des Hauptkörperprogramms P2 zu überspringen ist oder nicht (Schritt S180).
  • In Schritt S120, wenn die Bedingung zum Überspringen der Ausführung des Hauptkörperprogramms P1 erfüllt ist (JA in Schritt S120), überspringt die Hauptkörperausführung-Steuerungseinheit 34 die Ausführung des Hauptkörperprogramms P1. In diesem Fall bestimmt die Hauptkörperausführungsbedingung-Bestimmungseinheit 35, ob die Ausführung des Hauptkörperprogramms P2 zu überspringen ist oder nicht (Schritt S180).
  • Wenn die Bedingung zum Überspringen der Ausführung des Hauptkörperprogramms P2 nicht erfüllt ist (NEIN in Schritt S180), bestimmt die Testausführungsbedingung-Bestimmungseinheit 45, ob eine Testausführungsbedingung erfüllt ist oder nicht. Die vorliegend beschriebene Testausführungsbedingung spezifiziert, dass, „wenn ein vor Ausführung des Hauptkörperprogramms P2 auszuführendes Testprogramm Q3 existiert, das Testprogramm Q3 vor der Ausführung des Hauptkörperprogramms P2 ausgeführt wird“. In diesem Fall bestimmt die Testausführungsbedingung-Bestimmungseinheit 45, ob das vor der Ausführung des Hauptkörperprogramms P2 auszuführende Testprogramm Q3 existiert oder nicht (Schritt S190).
  • Wenn das vor der Ausführung des Hauptkörperprogramms P2 auszuführende Testprogramm Q3 existiert (JA in Schritt S190), bestimmt die Testausführungsbedingung-Bestimmungseinheit 45, dass die Testausführungsbedingung vor der Ausführung des Hauptkörperprogramms P2 erfüllt ist. In diesem Fall führt die Testausführung-Steuerungseinheit 44 das Testprogramm Q3 des Hauptkörperprogramms P2 aus (Schritt S200). Danach führt die Hauptkörperausführung-Steuerungseinheit 34 das Hauptkörperprogramm P2 aus (Schritt S210).
  • Andererseits, wenn das vor der Ausführung des Hauptkörperprogramms P2 auszuführende Testprogramm Q3 nicht existiert (NEIN in Schritt S190), bestimmt die Testausführungsbedingung-Bestimmungseinheit 45, dass die Testausführungsbedingung vor der Ausführung des Hauptkörperprogramms P2 nicht erfüllt ist. In diesem Fall führt die Testausführung-Steuerungseinheit 44 das Testprogramm Q3 nicht aus, und die Hauptkörperausführung-Steuerungseinheit 34 führt das Hauptkörperprogramm P2 aus (Schritt S210).
  • Wenn die Ausführung des Hauptkörperprogramms P2 abgeschlossen ist, bestimmt die Testausführungsbedingung-Bestimmungseinheit 45, ob eine Testausführungsbedingung nach der Ausführung des Hauptkörperprogramms P2 erfüllt ist oder nicht. Die hierin beschriebene Testausführungsbedingung spezifiziert, dass, „wenn ein nach der Ausführung des Hauptkörperprogramms P2 auszuführendes Testprogramm Q4 existiert, das Testprogramm Q4 nach der Ausführung des Hauptkörperprogramms P2 ausgeführt wird“. In diesem Fall bestimmt die Testausführungsbedingung-Bestimmungseinheit 45, ob das nach der Ausführung des Hauptkörperprogramms P2 auszuführende Testprogramm Q4 existiert oder nicht (Schritt S220).
  • Wenn das nach der Ausführung des Hauptkörperprogramms P2 auszuführende Testprogramm Q4 existiert (JA in Schritt S220), bestimmt die Testausführungsbedingung-Bestimmungseinheit 45, dass die Testausführungsbedingung nach der Ausführung des Hauptkörperprogramms P2 erfüllt ist. In diesem Fall führt die Testausführung-Steuerungseinheit 44 das Testprogramm Q4 des Hauptkörperprogramms P2 aus (Schritt S230).
  • Andererseits, wenn das nach der Ausführung des Hauptkörperprogramms P2 auszuführende Testprogramm Q4 nicht existiert (NEIN in Schritt S220), bestimmt die Testausführungsbedingung-Bestimmungseinheit 45, dass die Testausführungsbedingung nicht erfüllt ist. In diesem Fall führt die Testausführung-Steuerungseinheit 44 das Testprogramm Q4 nicht aus.
  • In Schritt S180, wenn die Bedingung zum Überspringen der Ausführung des Hauptkörperprogramms P2 erfüllt ist (JA in Schritt S180), überspringt die Hauptkörperausführung-Steuerungseinheit 34 die Ausführung des Hauptkörperprogramms P2. Die Steuerungseinheit 82 beendet daher die iterative Verarbeitung des aus der Hauptkörperausführungscode-Speichereinheit 33 gelesenen Hauptkörperprogramms.
  • Es ist zu beachten, dass die iterative Verarbeitung durch die Steuerung 30 nicht auf das mit Bezug zu 2 beschriebene Verfahren begrenzt ist. Beispielsweise kann die Steuerung 30 die iterative Verarbeitung von Schritt S120 bis Schritt S230 mit einem durch einen Nutzer voreingestellten Zeitintervall periodisch ausführen. Die Steuerung 30 kann die iterative Verarbeitung auch als Reaktion auf eine Eingabe eines spezifischen externen Signals ausführen (beispielsweise ein Signal, welches in die Steuerung 30 eingegeben wird, wenn das Drücken eines Notstoppschalters detektiert wird).
  • Bei einem Test/bei der Anpassung existieren die Testprogramme Q1 bis Q4 in dem Steuerungssystem 1A, und daher wird die Verarbeitung der Schritte S140, S170, S200 und S230 ausgeführt. Andererseits sind bei praxismäßiger Operation die Testprogramme Q1 bis Q4 in dem Steuerungssystem 1A in der Steuerung 30 deaktiviert oder gelöscht, und daher wird die Verarbeitung der Schritte S140, S170, S200 und S230 nicht ausgeführt.
  • Es ist zu beachten, dass das Steuerungssystem 1A die Hauptkörperausführungsbedingung nicht verwenden muss. In diesem Fall muss das Programmierungsunterstützungsgerät 10 die Hauptkörperausführungsbedingung-Festlegungseinheit 12 nicht umfassen. Weiter muss die Steuerung 30 die Hauptkörperausführungsbedingung-Bestimmungseinheit 35 nicht umfassen. Daher wird die Verarbeitung der Schritte S120 und S180 in 2 weggelassen.
  • In dem Steuerungssystem 1A kann die Testausführungsbedingung-Festlegungseinheit 22 eine „Vorbedingung“ entsprechend einer Anweisung von einem Nutzer festlegen, wobei die Vorbedingung eine Bedingung zum Ausführen eines Testausführungscodes vor der Ausführung des Hauptkörperprogramms ist. In dem Steuerungssystem 1A kann die Testausführungsbedingung-Festlegungseinheit 22 auch eine „Nachbedingung“ entsprechend einer Anweisung von einem Nutzer festlegen, wobei die Nachbedingung eine Bedingung zum Ausführen eines Testausführungscodes nach der Ausführung des Hauptkörperprogramms ist.
  • Die Testausführungsbedingung-Bestimmungseinheit 45 kann den Testausführungscode des Testprogramms entsprechend der eingestellten Vorbedingung und Nachbedingung ausführen und kann daher das Testprogramm ausführen, ohne das Hauptkörperprogramm zu ändern. Ein Beispiel des Testausführungscodes, welcher ausgeführt wird, wenn die Vorbedingung erfüllt ist, ist eine Initialisierung des Hauptkörperprogramms. Ein Beispiel des Testausführungscodes, welcher ausgeführt wird, wenn die Nachbedingung erfüllt ist, ist eine arithmetische Verarbeitung unter Verwendung eines Ergebnisses der Ausführung des Hauptkörperprogramms.
  • Weil der Testausführungscode einfach deaktiviert oder gelöscht werden kann, nachdem ein Test/eine Anpassung abgeschlossen ist, ist es in dem Steuerungssystem 1A zudem möglich, einfach zu verhindern, dass der Testausführungscode irrtümlich ausgeführt wird, wenn der Hauptkörperausführungscode ausgeführt wird.
  • 3 ist ein Sequenzdiagramm, welches eine Prozedur einer Datenerzeugungsverarbeitung durch das Programmierungsunterstützungsgerät gemäß der ersten Ausführungsform zeigt. Eine vorliegend mit Bezug zu 3 beschriebene Verarbeitung umfasst den Prozess vom Bearbeiten des Quellcodes bis zur Festlegung der Ausführungsbedingung. Durch das Programmierungsunterstützungsgerät 10 erzeugte Daten umfassen den Hauptkörperquellcode, den Hauptkörperausführungscode, die Hauptkörperausführungsbedingung, den Testquellcode, den Testausführungscode, die Testausführungsbedingung und dergleichen. Eine Komponentengruppe 51, welche die Hauptkörperquellcode-Bearbeitungseinheit 11, die Testquellcode-Bearbeitungseinheit 21, die Hauptkörperausführungscode-Erzeugungseinheit 13, die Testausführungscode-Erzeugungseinheit 23, die Hauptkörperausführungsbedingung-Festlegungseinheit 12 und die Testausführungsbedingung-Festlegungseinheit 22 umfasst, welche in 3 gezeigt sind, ist in dem Programmierungsunterstützungsgerät 10 angeordnet.
  • Wenn ein Nutzer in die Eingabeeinheit 72 einen Befehl zum Bearbeiten des Hauptkörperquellcodes eingibt, wird diese Bearbeitungsanweisung an die Hauptkörperquellcode-Bearbeitungseinheit 11 gesendet (st1) und die Hauptkörperquellcode-Bearbeitungseinheit 11 bearbeitet den Hauptkörperquellcode entsprechend der Bearbeitungsanweisung.
  • Ferner, wenn ein Nutzer in die Eingabeeinheit 72 eine Anweisung zum Bearbeiten des Testquellcodes eingibt, wird diese Bearbeitungsanweisung an die Testquellcode-Bearbeitungseinheit 21 gesendet (st2) und die Testquellcode-Bearbeitungseinheit 21 bearbeitet den Testquellcode gemäß der Bearbeitungsanweisung. Es ist zu beachten, dass sowohl die Verarbeitung von st1 als auch die Verarbeitung von st2 zuerst ausgeführt werden kann.
  • Wenn ein Nutzer nach der Verarbeitung von st1 in die Eingabeeinheit 72 eine Anweisung zum Erzeugen des Hauptkörperausführungscodes eingibt, wird diese Erzeugungsanweisung an die Hauptkörperquellcode-Bearbeitungseinheit 11 gesendet (st3). Hierdurch überträgt die Hauptkörperquellcode-Bearbeitungseinheit 11 an die Hauptkörperausführungscode-Erzeugungseinheit 13 eine Anweisung zum Erzeugen des Hauptkörperausführungscodes (st4) und die Hauptkörperausführungscode-Erzeugungseinheit 13 erzeugt den Hauptkörperausführungscode.
  • Wenn ein Nutzer nach der Verarbeitung von st2 in die Eingabeeinheit 72 eine Anweisung zum Erzeugen des Testausführungscodes eingibt, wird diese Erzeugungsanweisung an die Testquellcode-Bearbeitungseinheit 21 gesendet (st5). Hierdurch überträgt die Testquellcode-Bearbeitungseinheit 21 an die Testausführungscode-Erzeugungseinheit 23 eine Anweisung zum Erzeugen des Testausführungscodes (st6) und die Testausführungscode-Erzeugungseinheit 23 erzeugt den Testausführungscode. Es ist zu beachten, dass sowohl die Verarbeitung von st3 als auch die Verarbeitung von st5 zuerst ausgeführt werden kann.
  • Eine Verarbeitung von st7 bis st9 wird unten unter der Annahme beschrieben, dass das Hauptkörperprogramm das mit Bezug zu 2 beschriebene Hauptkörperprogramm P1 ist.
  • Wenn eine Anweisung zum Festlegen der Hauptkörperausführungsbedingung für das Hauptkörperprogramm P1 durch einen Nutzer in die Eingabeeinheit 72 eingegeben wird, wird diese Festlegungsanweisung an die Hauptkörperausführungsbedingung-Festlegungseinheit 12 gesendet (st7). Hierdurch erzeugt die Hauptkörperausführungsbedingung-Festlegungseinheit 12 die Hauptkörperausführungsbedingung für das Hauptkörperprogramm P1 entsprechend der Anweisung durch den Nutzer. Die Hauptkörperausführungsbedingung ist die Hauptkörperausführungsbedingung, welche in Schritt S120 von 2 verwendet wird.
  • Ferner, wenn eine Anweisung zum Festlegen der Vorbedingung vor der Ausführung des Hauptkörperprogramms P1 durch einen Nutzer in die Eingabeeinheit 72 eingegeben wird, wird diese Festlegungsanweisung an die Testausführungsbedingung-Festlegungseinheit 22 gesendet (st8). Hierdurch erzeugt die Testausführungsbedingung-Festlegungseinheit 22 die Vorbedingung für das Hauptkörperprogramm P1 entsprechend der Anweisung durch den Nutzer. Die Vorbedingung ist die Testausführungsbedingung, welche in Schritt S130 von 2 verwendet wird.
  • Ferner, wenn eine Anweisung zum Festlegen der Nachbedingung nach der Ausführung des Hauptkörperprogramms P1 durch einen Nutzer in die Eingabeeinheit 72 eingegeben wird, wird diese Festlegungsanweisung an die Testausführungsbedingung-Festlegungseinheit 22 gesendet (st9). Hierdurch erzeugt die Testausführungsbedingung-Festlegungseinheit 22 die Nachbedingung für das Hauptkörperprogramm P1 entsprechend der Anweisung durch den Nutzer. Die Nachbedingung ist vorliegend die Testausführungsbedingung, welche in Schritt S160 von 2 verwendet wird.
  • Es ist zu beachten, dass jede der Verarbeitungen von st7 bis st9 zuerst ausgeführt werden kann. D. h., die Hauptkörperausführungsbedingung, die Vorbedingung und die Nachbedingung können in einer beliebigen Reihenfolge erzeugt werden. Zudem kann die Verarbeitung von st7 bis st9 vor der Verarbeitung von jedem von st1 bis st6 ausgeführt werden. Ferner kann die Eingabeeinheit 72 die Anweisung, welche die Hauptkörperausführungsbedingung festlegt, an die Hauptkörperausführungsbedingung-Festlegungseinheit 12 über die Hauptkörperquellcode-Bearbeitungseinheit 11 senden. Die Eingabeeinheit 72 kann auch die Anweisung, welche die Vorbedingung festlegt, und die Anweisung, welche die Nachbedingung festlegt, an die Testausführungsbedingung-Festlegungseinheit 22 über die Testquellcode-Bearbeitungseinheit 21 senden.
  • Wie oben beschrieben ist, kann das Programmierungsunterstützungsgerät 10 das Testprogramm, welches vor dem Ausführen des Hauptkörperprogramms auszuführen ist, als die Vorbedingung einstellen, wie in der Verarbeitung von st10. D. h., in dem Steuerungssystem 1A kann der Testausführungscode des Testprogramms, welches auszuführen ist, bevor eine Ausführung des Hauptkörperausführungscodes beginnt, wie beispielsweise eine Vorbereitung von Testdaten zum Prüfen und Anpassen der Operation des Hauptkörperausführungscodes des Hauptkörperprogramms, entsprechend der Anweisung durch den Nutzer als die Vorbedingung festgelegt werden.
  • Ferner kann das Programmierungsunterstützungsgerät 10 das Testprogramm, welches nach dem Ausführen des Hauptkörperprogramms auszuführen ist, als die Nachbedingung einstellen, wie in der Verarbeitung von st9. D. h., in dem Steuerungssystem 1A kann der Testausführungscode des Testprogramms, welches auszuführen ist, nachdem eine Ausführung des Hauptkörperausführungscodes abgeschlossen ist, wie beispielsweise ein Bestimmen, ob ein Ergebnis einer Ausführung des Hauptkörperausführungscodes des Hauptkörperprogramms ein gewünschtes Ergebnis ist oder nicht, oder Aufzeichnen des Ergebnisses der Ausführung, entsprechend der Anweisung durch den Nutzer als die Nachbedingung festgelegt werden.
  • 4 ist ein Sequenzdiagramm, welches eine Prozedur einer Datenübertragungsverarbeitung und einer Datenspeicherverarbeitung durch das Steuerungssystem gemäß der ersten Ausführungsform zeigt. Eine vorliegend mit Bezug zu 4 beschriebene Verarbeitung umfasst den Prozess von einer Übertragung des Ausführungscodes bis zur Speicherung des Ausführungscodes. Von dem Programmierungsunterstützungsgerät 10 an die Steuerung 30 übertragene Daten umfassen den Hauptkörperausführungscode und den Testausführungscode. Eine Komponentengruppe 52, welche die Kommunikationseinheit 71, die Hauptkörper-Übertragungseinheit 14 und die Test-Übertragungseinheit 24 umfasst, welche in 4 gezeigt sind, ist in dem Programmierungsunterstützungsgerät 10 angeordnet. Zudem ist eine Komponentengruppe 61, welche die Kommunikationseinheit 81, die Hauptkörper-Empfangseinheit 31, die Test-Empfangseinheit 41, die Hauptkörperausführungscode-Speichereinheit 33 und die Testausführungscode-Speichereinheit 43 umfasst, welche in 4 gezeigt sind, in der Steuerung 30 angeordnet.
  • Wenn ein Nutzer in die Eingabeeinheit 72 des Programmierungsunterstützungsgeräts 10 eine Anweisung zum Übertragen des Ausführungscodes an die Steuerung 30 eingibt, wird diese Übertragungsanweisung an die Kommunikationseinheit 71 gesendet (st11).
  • Die Kommunikationseinheit 71 überträgt eine Hauptkörper-Übertragungsanweisung, welche eine Anweisung zum Übertragen des Hauptkörperausführungscodes an die Steuerung 30 ist, an die Hauptkörper-Übertragungseinheit 14 (st12). Hierdurch führt die Hauptkörper-Übertragungseinheit 14 eine Hauptkörper-Übertragungsverarbeitung aus, welche eine Verarbeitung des Übertragens des Hauptkörperausführungscodes an die Kommunikationseinheit 81 der Steuerung 30 ist (st13).
  • Wenn die Kommunikationseinheit 81 den Hauptkörperausführungscode empfängt, überträgt die Steuerung 30 an die Hauptkörper-Empfangseinheit 31 eine Hauptkörper-Empfangsinformation, welche angibt, dass der Hauptkörperausführungscode empfangen wurde (st14). Auf das Empfangen der Hauptkörper-Empfangsinformation hin überträgt die Hauptkörper-Empfangseinheit 31 an die Hauptkörperausführungscode-Speichereinheit 33 eine Anweisung zum Speichern des Hauptkörperausführungscodes (st15). Die Hauptkörperausführungscode-Speichereinheit 33 speichert den Hauptkörperausführungscode.
  • Ferner, wenn von dem Nutzer die Anweisung zum Übertragen des Ausführungscodes empfangen wird, überträgt die Kommunikationseinheit 71 eine Test-Übertragungsanweisung, welche eine Anweisung zum Übertragen des Testausführungscodes an die Steuerung 30 ist, an die Test-Übertragungseinheit 24 (st16). Hierdurch führt die Test-Übertragungseinheit 24 eine Test-Übertragungsverarbeitung aus, welche eine Verarbeitung des Übertragens des Testausführungscodes an die Kommunikationseinheit 81 der Steuerung 30 ist (st17).
  • Wenn die Kommunikationseinheit 81 den Testausführungscode empfängt, überträgt die Steuerung 30 an die Test-Empfangseinheit 41 eine Test-Empfangsinformation, welche angibt, dass der Testausführungscode empfangen wurde (st18). Auf das Empfangen der Test-Empfangsinformation hin überträgt die Test-Empfangseinheit 41 an die Testausführungscode-Speichereinheit 43 eine Anweisung zum Speichern des Testausführungscodes (st19). Die Testausführungscode-Speichereinheit 43 speichert den Testausführungscode.
  • Der in der Verarbeitung von st15 gespeicherte Hauptkörperausführungscode entspricht den Hauptkörperprogrammen P1 und P2, welche in Schritt S150 und Schritt S210 von 2 verwendet werden. Der in der Verarbeitung von st19 gespeicherte Testausführungscode entspricht den Testprogrammen Q1 bis Q4, welche in Schritten S140, S170, S200 und S230 von 2 verwendet werden.
  • Obwohl in 4 nicht gezeigt, ist zu beachten, dass die Hauptkörperausführungsbedingung durch eine Verarbeitung, die der von st11 bis st15 gleich ist, ebenfalls übertragen und gespeichert wird. Die Hauptkörperausführungsbedingung, welche durch eine solche Verarbeitung gespeichert wird, wird in Schritten S120 und S180 von 2 verwendet.
  • Gleichfalls wird die Testausführungsbedingung durch eine Verarbeitung, welche der von st11 und st16 bis st19 gleich ist, übertragen und gespeichert. Die Testausführungsbedingung, welche durch eine solche Verarbeitung gespeichert wird, wird in Schritten S130, S160, S190 und S220 von 2 verwendet.
  • Weil der Hauptkörperausführungscode des Hauptkörperprogramms und der Testausführungscode des Testprogramms separat erzeugt werden, wie oben beschrieben ist, kann die Steuerung 30 den Hauptkörperausführungscode des Hauptkörperprogramms und den Testausführungscode des Testprogramms in separate Speichereinheiten speichern. Hierdurch kann das Steuerungssystem 1A den Hauptkörperausführungscode und den Testausführungscode einfach verwalten.
  • 5 ist ein Sequenzdiagramm, welches eine Prozedur einer Ausführungsverarbeitung des Steuerungsprogramms durch das Steuerungssystem gemäß der ersten Ausführungsform zeigt. Die Ausführungsverarbeitung des Hauptkörperprogramms und des Testprogramms wird beschrieben. Eine Komponentengruppe 62, welche die Kommunikationseinheit 81, die Hauptkörperausführung-Steuerungseinheit 34, die Hauptkörperausführungsbedingung-Bestimmungseinheit 35, die Testausführung-Steuerungseinheit 44, die Testausführungsbedingung-Bestimmungseinheit 45, die Hauptkörperausführungscode-Speichereinheit 33 und die Testausführungscode-Speichereinheit 43 umfasst, welche in 5 gezeigt sind, ist in der Steuerung 30 angeordnet.
  • Wenn ein Nutzer in das Programmierungsunterstützungsgerät 10 eine Anweisung zum Ausführen des Steuerungsprogramms eingibt, wird diese Ausführungsanweisung an die Kommunikationseinheit 81 der Steuerung 30 übertragen (st21). Die Kommunikationseinheit 81 überträgt an die Hauptkörperausführung-Steuerungseinheit 34 eine Anweisung zum Ausführen des Steuerungsprogramms (st22).
  • Die Hauptkörperausführung-Steuerungseinheit 34 führt eine Verarbeitung des Lesens des Hauptkörperprogramms aus (st23). Insbesondere liest die Hauptkörperausführung-Steuerungseinheit 34 das Hauptkörperprogramm aus der Hauptkörperausführungscode-Speichereinheit 33.
  • Des Weiteren überträgt die Hauptkörperausführung-Steuerungseinheit 34 an die Testausführung-Steuerungseinheit 44 eine Anweisung zum Lesen des Testprogramms (st24). Die Testausführung-Steuerungseinheit 44 führt eine Verarbeitung des Lesens des Testprogramms aus (st24). Insbesondere liest die Testausführung-Steuerungseinheit 44 das Testprogramm aus der Testausführungscode-Speichereinheit 43.
  • Danach führt die Steuerung 30 eine Schleifenverarbeitung entsprechend der Anzahl der Hauptkörperprogramme aus. Die Steuerung 30 führt eine Verarbeitung 101 an dem ersten Hauptkörperprogramm aus. In der Verarbeitung 101 überträgt die Hauptkörperausführung-Steuerungseinheit 34 an die Hauptkörperausführungsbedingung-Bestimmungseinheit 35 eine Anweisung zum Vornehmen einer Bestimmung über die Hauptkörperausführungsbedingung (st26).
  • Eine Verarbeitung 201, welche in der Verarbeitung 101 enthalten ist, ist eine Verarbeitung in einem Fall, in welchem die Hauptkörperausführungsbedingung erfüllt ist, und eine Verarbeitung 202, welche in der Verarbeitung 101 enthalten ist, ist eine Verarbeitung in einem Fall, in welchem die Hauptkörperausführungsbedingung nicht erfüllt ist.
  • Zuerst wird die Verarbeitung 201 in dem Fall beschrieben, in welchem die Hauptkörperausführungsbedingung erfüllt ist. In der Verarbeitung 201 überträgt die Hauptkörperausführungsbedingung-Bestimmungseinheit 35 an die Testausführung-Steuerungseinheit 44 eine Anweisung zum Vornehmen einer Bestimmung über die Vorbedingung (st27).
  • Eine Verarbeitung 301, welche in der Verarbeitung 201 enthalten ist, ist eine Verarbeitung in einem Fall, in welchen die Vorbedingung erfüllt ist, und eine Verarbeitung 302, welche in der Verarbeitung 201 enthalten ist, ist eine Verarbeitung in einem Fall, in welchen die Vorbedingung nicht erfüllt ist. In der Verarbeitung 301 in dem Fall, in welchem die Vorbedingung erfüllt ist, überträgt die Testausführung-Steuerungseinheit 44 an die Testausführungsbedingung-Bestimmungseinheit 45 eine Anweisung zum Vornehmen einer Bestimmung über die Vorbedingung (st28). Vorliegend bestimmt die Testausführungsbedingung-Bestimmungseinheit 45, dass die Vorbedingung erfüllt ist. Dann überträgt die Testausführungsbedingung-Bestimmungseinheit 45 an die Testausführung-Steuerungseinheit 44 ein Ergebnis der Bestimmung, d. h. eine Anweisung zum Ausführen des Testprogramms, welches der Vorbedingung entspricht (st29). Hierdurch führt die Testausführung-Steuerungseinheit 44 das Testprogramm in dem Fall aus, in welchem die Vorbedingung erfüllt ist (st30). Es ist zu beachten, dass die Hauptkörperausführungsbedingung-Bestimmungseinheit 35 die Anweisung zum Vornehmen einer Bestimmung über die Vorbedingung direkt an die Testausführungsbedingung-Bestimmungseinheit 45 übertragen kann, ohne die Anweisung durch die Testausführung-Steuerungseinheit 44 passieren zu lassen.
  • Die Testausführung-Steuerungseinheit 44 überträgt an die Hauptkörperausführungsbedingung-Bestimmungseinheit 35 ein Ergebnis der Bestimmung über die Vorbedingung, d. h. ein Bestimmungsergebnis („ausgeführt“), welches angibt, dass das Testprogramm ausgeführt wurde (st31). Die Verarbeitung von st31 ist eine Reaktion auf st27.
  • Die Verarbeitung 302 in dem Fall, in welchem die Vorbedingung nicht erfüllt ist, umfasst auch die Ausführung der Verarbeitung von st28 und st29, welche oben beschrieben ist. Die Testausführungsbedingung-Bestimmungseinheit 45 bestimmt in diesem Fall, dass die Vorbedingung nicht erfüllt ist, und überträgt an die Testausführung-Steuerungseinheit 44 ein Ergebnis der Bestimmung, d. h. eine Anweisung zum nicht Ausführen des Testprogramms, welches der Vorbedingung entspricht. Die Testausführung-Steuerungseinheit 44 überträgt an die Hauptkörperausführungsbedingung-Bestimmungseinheit 35 ein Ergebnis der Bestimmung über die Vorbedingung, ein Bestimmungsergebnis („nicht ausgeführt“), welches angibt, dass das Testprogramm nicht ausgeführt wurde (st32). Die Verarbeitung von st32 ist eine Reaktion auf st27.
  • Nachdem die Verarbeitung 301 oder die Verarbeitung 302 abgeschlossen ist, überträgt die Hauptkörperausführungsbedingung-Bestimmungseinheit 35 an die Hauptkörperausführung-Steuerungseinheit 34 das Ergebnis der Bestimmung als Reaktion auf st27. D. h., die Hauptkörperausführungsbedingung-Bestimmungseinheit 35 überträgt an die Hauptkörperausführung-Steuerungseinheit 34 eine Reaktion auf st27, d. h. ein Bestimmungsergebnis („ausgeführt“), welches angibt, dass die Verarbeitung 301 oder die Verarbeitung 302 ausgeführt wurde (st33).
  • Nach der Verarbeitung von st33 führt die Hauptkörperausführung-Steuerungseinheit 34 das erste Hauptkörperprogramm aus (st34). Dann überträgt die Hauptkörperausführung-Steuerungseinheit 34 an die Hauptkörperausführungsbedingung-Bestimmungseinheit 35 eine Anweisung zum Vornehmen einer Bestimmung über die Nachbedingung (st35). Die Hauptkörperausführungsbedingung-Bestimmungseinheit 35 überträgt an die Testausführung-Steuerungseinheit 44 eine Anweisung zum Vornehmen einer Bestimmung über die Nachbedingung (st36).
  • Eine Verarbeitung 401, welche in der Verarbeitung 201 enthalten ist, ist eine Verarbeitung in einem Fall, in welchem die Nachbedingung erfüllt ist, und eine Verarbeitung 402, welche in der Verarbeitung 201 enthalten ist, ist eine Verarbeitung in einem Fall, in welchem die Nachbedingung nicht erfüllt ist. In der Verarbeitung 401 in dem Fall, in welchem die Nachbedingung erfüllt ist, überträgt die Testausführung-Steuerungseinheit 44 eine Anweisung zum Vornehmen einer Bestimmung über die Nachbedingung an die Testausführungsbedingung-Bestimmungseinheit 45 (st37). Vorliegend bestimmt die Testausführungsbedingung-Bestimmungseinheit 45, dass die Nachbedingung erfüllt ist. Dann überträgt die Testausführungsbedingung-Bestimmungseinheit 45 an die Testausführung-Steuerungseinheit 44 ein Ergebnis der Bestimmung, d. h. eine Anweisung zum Ausführen des Testprogramms, welches der Nachbedingung entspricht (st38). Hierdurch führt die Testausführung-Steuerungseinheit 44 das Testprogramm in dem Fall aus, in welchem die Nachbedingung erfüllt ist (st39). Es ist zu beachten, dass die Hauptkörperausführungsbedingung-Bestimmungseinheit 35 die Anweisung zum Vornehmen einer Bestimmung über die Nachbedingung direkt an die Testausführungsbedingung-Bestimmungseinheit 45 übertragen kann, ohne die Anweisung durch die Testausführung-Steuerungseinheit 44 passieren zu lassen.
  • Die Testausführung-Steuerungseinheit 44 überträgt an die Hauptkörperausführungsbedingung-Bestimmungseinheit 35 ein Ergebnis der Bestimmung über die Nachbedingung, d. h. ein Bestimmungsergebnis („ausgeführt“), welches angibt, dass das Testprogramm ausgeführt wurde (st40). Die Verarbeitung von st40 ist eine Reaktion auf st36.
  • Die Verarbeitung 402 in dem Fall, in welchem die Nachbedingung nicht erfüllt ist, umfasst auch die Ausführung der Verarbeitung von st37 und st38, welche oben beschrieben ist. Die Testausführungsbedingung-Bestimmungseinheit 45 bestimmt in diesem Fall, dass die Nachbedingung nicht erfüllt ist, und überträgt an die Testausführung-Steuerungseinheit 44 ein Ergebnis der Bestimmung, d. h. eine Anweisung zum Nichtausführen des Testprogramms, welches der Nachbedingung entspricht. Die Testausführung-Steuerungseinheit 44 überträgt an die Hauptkörperausführungsbedingung-Bestimmungseinheit 35 ein Ergebnis der Bestimmung über die Nachbedingung, d. h. ein Bestimmungsergebnis („nicht ausgeführt“), welches angibt, dass das Testprogramm nicht ausgeführt wurde (st41). Die Verarbeitung von st41 ist eine Reaktion auf st36.
  • Als Nächstes wird die Verarbeitung 202 in dem Fall, in welchem die Hauptkörperausführungsbedingung nicht erfüllt ist, beschrieben. In der Verarbeitung 202 überträgt die Hauptkörperausführungsbedingung-Bestimmungseinheit 35 an die Hauptkörperausführung-Steuerungseinheit 34 ein Ergebnis der Bestimmung über die Hauptkörperausführungsbedingung, ein Bestimmungsergebnis („nicht ausgeführt“), welches angibt, dass das Hauptkörperprogramm nicht ausgeführt wurde (st42). Die Verarbeitung von st42 ist eine Reaktion auf st26.
  • Ein ausführbarer Code eines Vergleichsbeispiels (ein Steuerungsprogramm eines Vergleichsbeispiels) wird beschrieben. Der ausführbare Code des Vergleichsbeispiels ist ein ausführbarer Code, welcher aus einem Quellcode erzeugt wird, in welchem ein Quellcode eines Hauptkörpers und ein Quellcode eines Test/Anpassung-Teils integriert sind. Der Quellcode des Test/Anpassung-Teils ist ein Quellcode, welcher einem ausführbaren Code für eine Testausführung entspricht.
  • Es wird eine Prozedur einer Testverarbeitung in dem Fall beschrieben, in welchem das Steuerungsprogramm des Vergleichsbeispiels verwendet wird. In einer iterativen Verarbeitung für das Steuerungsprogramm in diesem Fall wird das Steuerungsprogramm in der Reihenfolge eines ersten Steuerungsprogramms und eines zweiten Steuerungsprogramms ausgeführt.
  • Wenn das erste Steuerungsprogramm ausgeführt wird, werden ein Hauptkörper und ein Testprüfungsteil ausgeführt, welche in dem ersten Steuerungsprogramm enthalten sind. Dann, wenn das zweite Steuerungsprogramm ausgeführt wird, werden ein Hauptkörper und ein Testprüfungsteil ausgeführt, welche in dem zweiten Steuerungsprogramm enthalten sind. Nachdem die Testprüfung abgeschlossen ist, wird der Testprüfungsteil aus dem Quellcode des ersten Steuerungsprogramms gelöscht, und der Testprüfungsteil wird aus dem Quellcode des zweiten Steuerungsprogramms gelöscht. In einem solchen Steuerungsprogramm des Vergleichsbeispiels kann der ausführbare Code zum Durchführen eines Tests/einer Anpassung diverse logische Summen verwenden, und daher ist es schwierig, den ausführbaren Code zum Durchführen eines Tests/einer Anpassung zu löschen, nachdem der Test/die Anpassung abgeschlossen ist.
  • Für den Komfort einer Nutzerbedienung ist in einigen Fällen eine Änderung des ausführbaren Codes, dessen Operationsprüfung abgeschlossen ist, verboten. In diesem Fall verbleibt der ausführbare Code zum Durchführen eines Tests/einer Anpassung in dem Steuerungsprogramm des Vergleichsbeispiels auch in dem Speicherbereich der Steuerung. Der Speicherbereich wird daher verschwenderisch verbraucht.
  • Selbst in einem Fall, in welchem eine Änderung des ausführbaren Codes, dessen Operationsprüfung abgeschlossen ist, nicht verboten ist, wird der ausführbare Code des Vergleichsbeispiels aufgrund des Entfernens des ausführbaren Codes für einen Test/eine Anpassung aus dem Steuerungsprogramm nach dem Abschluss des Tests/der Anpassung des Steuerungsprogramms einer Änderung unterzogen. In dem Fall des ausführbaren Codes des Vergleichsbeispiels ist es daher nötig, wieder zu prüfen, ob der geänderte ausführbare Code eine gewünschte Operation durchführt oder nicht.
  • Im Gegensatz dazu sind in dem Steuerungssystem 1A der vorliegenden Ausführungsform der Testausführungscode und der Hauptkörperausführungscode separat gespeichert, und daher kann der Testausführungscode einzeln einfach deaktiviert oder gelöscht werden, ohne den Hauptkörperausführungscode zu ändern. Hierdurch ist es möglich, zu verhindern, dass der Speicherbereich der Steuerung 30, deren Test/Anpassung abgeschlossen ist, durch den Testausführungscode verschwenderisch verbraucht wird.
  • Zudem wird in dem Steuerungssystem 1A der vorliegenden Ausführungsform der Hauptkörperausführungscode selbst dann nicht geändert, wenn der Testausführungscode gelöscht wird, sodass es nicht nötig ist, wieder zu prüfen, ob der Hauptkörperausführungscode eine gewünschte Operation durchführt oder nicht.
  • Wie oben beschrieben ist, werden gemäß der ersten Ausführungsform der Hauptkörperausführungscode und der Testausführungscode separat erzeugt, wodurch es möglich ist, einfach zu verhindern, dass der Testausführungscode irrtümlich ausgeführt wird, wenn der Hauptkörperausführungscode ausgeführt wird.
  • Zudem separiert das Steuerungssystem 1A den Testausführungscode zum Ausführen des Tests/der Anpassung von dem Hauptkörperausführungscode und ermöglicht, dass der Testausführungscode und der Hauptkörperausführungscode voneinander unabhängig bearbeitet, ausgeführt, entfernt, etc. werden. Hierdurch kann das Steuerungssystem 1A das Testprogramm einfach ausführen, bearbeiten, entfernen, etc.
  • Zweite Ausführungsform.
  • Als Nächstes wird eine zweite Ausführungsform mit Bezug zu 6 bis 9 beschrieben. In der zweiten Ausführungsform wird ein Testquellcode basierend auf Daten zur Berechnung eines Befehlswerts (beispielsweise eines Referenzwinkels, welcher später beschrieben wird) in einer Bewegungssteuerung automatisch erzeugt.
  • 6 ist ein Diagramm, welches eine Konfiguration eines Steuerungssystems gemäß der zweiten Ausführungsform zeigt. Komponenten in 6, welche die gleichen Funktionen erreichen wie die in 1 Gezeigten des Steuersystems 1A der ersten Ausführungsform, sind durch die gleichen Bezugszeichen wie die in 1 gekennzeichnet, und daher wird eine redundante Beschreibung weggelassen.
  • Ein Steuerungssystem 1B umfasst zusätzlich zu den Komponenten des Steuerungssystems 1A eine Testquellcode-Erzeugungseinheit 20 als eine Zusatzquellcode-Erzeugungseinheit in dem
    Programmierungsunterstützungsgerät 10. Die Testquellcode-Erzeugungseinheit 20 ist mit der Testquellcode-Bearbeitungseinheit 21 verbunden.
  • Die Testquellcode-Erzeugungseinheit 20 erzeugt automatisch basierend auf den Daten zur Berechnung eines Befehlswerts in einer Bewegungssteuerung einen Testquellcode, welcher zum Test/zur Anpassung des Motors 2 verwendet wird. Der Befehl in einer Bewegungssteuerung ist ein Ausgabewert, welcher von der Steuerung 30 an den Verstärker 4 ausgegeben wird. Der Befehl in der Bewegungssteuerung ist beispielsweise ein Zielwert einer Größe einer Verschiebung, Geschwindigkeit, Drehmoments oder dergleichen.
  • Die Testquellcode-Erzeugungseinheit 20 erzeugt einen Quellcode eines Testprogramms zum Bestimmen, ob ein Hauptkörperausführungscode eines Hauptkörperprogramms, welches von der Steuerung 30 ausgeführt wird, eine gewünschte Berechnung für den Befehlswert in der Bewegungssteuerung ausführt oder nicht. Das Programmierungsunterstützungsgerät 10 kann daher die Arbeitszeit eines Nutzers reduzieren, welche zum Erzeugen des Testprogramms benötigt wird.
  • Als Nächstes wird ein Beispiel einer Verarbeitung, welche den Testquellcode erzeugt, durch die Testquellcode-Erzeugungseinheit 20 beschrieben. 7 ist ein Diagramm zum Erklären einer mechanischen Einheit, welche mit dem Motor verbunden ist, welcher durch das Steuerungssystem gemäß der zweiten Ausführungsform gesteuert wird. 8 ist eine Tabelle, welche ein erstes Beispiel eines Steuerungsparameters zeigt, welcher für das Steuerungssystem gemäß der zweiten Ausführungsform eingestellt ist. 9 ist ein Graph, welcher ein erstes Beispiel eines Operationsschemas zeigt, welches durch das Steuerungssystem gemäß der zweiten Ausführungsform verwendet wird.
  • Das Programmierungsunterstützungsgerät 10 erzeugt das in 9 gezeigte Operationsschema basierend auf dem in 8 gezeigten Steuerungsparameter. Es ist zu beachten, dass 7 die Darstellung des Programmierungsunterstützungsgeräts 10 weglässt.
  • Ein Werkstückbeförderungsgerät, welches zum Bewegen eines Werkstücks an eine vorbestimmte Position und dergleichen verwendet wird, umfasst den Motor 2, welcher eine Motorachse (hierin nachfolgend als eine Steuerungsachse 6 bezeichnet) umfasst, und einen mechanischen Teil (hierin nachfolgend als eine mechanische Einheit 5 bezeichnet), welche mit der Steuerungsachse 6 verbunden ist. Die Steuerung 30 steuert die Position der mechanischen Einheit 5 durch Antreiben der Steuerungsachse 6 eines Steuerungsziels, welches der Motor 2 ist. Ein Operationsschema, welches die Position der mechanischen Einheit 5 dabei angibt, ist das in 9 gezeigte Operationsschema.
  • In einem Fall, in welchem eine Bewegungssteuerung durchgeführt wird, gibt die Steuerung 30 beispielsweise an den Verstärker 4 einen Befehl, beispielsweise durch Geben von Zielpositionen der mechanischen Einheit 5 für Rotationspositionen (Referenzwinkel) einer Rotationsachse als eine Steuerungsreferenz und eines Interpolationsverfahrens eines Abschnitts zwischen den Zielpositionen, wie in
    8 gezeigt ist. Die Rotationsachse als die Steuerungsreferenz kann eine andere Motorachse (in 7 nicht gezeigt) sein, welche von der Steuerungsachse 6 verschieden ist. Alternativ kann die Rotationsachse als die Steuerungsreferenz eine virtuelle Motorachse sein, welche durch die Steuerung 30 simuliert wird.
  • Wenn der Steuerungsparameter wie in 8 gezeigt eingestellt ist, berechnet das Programmierungsunterstützungsgerät 10 das in 9 gezeigte Operationsschema (Wellenformen 71A und 72A) basierend auf dem Steuerungsparameter. Dieses Betriebsschema (Wellenformen 71A und 72A) stimmen mit dem Befehlswert überein, welcher als ein Berechnungsergebnis des von der Steuerung 30 ausgeführten Steuerungsprogramms berechnet wird, und dient als Eingabedaten für die Testquellcode-Erzeugungseinheit 20.
  • Die horizontale Achse des in 9 gezeigten Graphen repräsentiert den Referenzwinkel der Steuerungsachse 6, und die vertikale Achse repräsentiert die Zielposition der mechanischen Einheit 5, welche mit der Steuerungsachse 6 verbunden ist. Die Wellenform 71A ist eine Wellenform der Zielposition der mechanischen Einheit 5, und die Wellenform 72A repräsentiert eine Zielgeschwindigkeit der mechanischen Einheit 5. Die Testquellcode-Erzeugungseinheit 20 erzeugt den Testquellcode basierend auf den in 9 gezeigten Wellenformen 71A und 72A. Der Testquellcode ist ein Quellcode zum Bestimmen, ob eine Differenz zwischen der Zielposition der mechanischen Einheit 5 und ihrer tatsächlichen Position innerhalb eines erlaubten Bereichs ist oder nicht.
  • 9 gibt an, dass beispielsweise die Zielposition der mechanischen Einheit 5 bei einem Referenzwinkel von 90 Grad eine Mittelposition (0 mm) ist, und die Zielposition der mechanischen Einheit 5 bei dem Referenzwinkel von 210 Grad eine Position ist, welche von der Mittelposition 100 mm in einer Vorwärtsrichtung entfernt ist.
  • Basierend auf dem Referenzwinkel und der Zielposition berechnet die Steuerung 30 Befehlswerte einer Rotationsrichtung und einer Rotationsgeschwindigkeit des Motors 2 so, dass die mechanische Einheit 5 an die Zielposition bewegt werden kann, und gibt die Befehlswerte als ein Berechnungsergebnis an den Verstärker 4 aus.
  • Der Hauptkörperquellcode des Hauptkörperprogramms, welches durch einen Nutzer unter Verwendung des Programmierungsunterstützungsgeräts 10 erzeugt ist, empfängt als Eingabe den Steuerungsparameter, welcher einen Satz aus dem Referenzwinkel und der Zielposition umfasst. Dieser Hauptkörperquellcode empfängt den Steuerungsparameter als Eingabe und führt eine Verarbeitung des Berechnens und Erhaltens festgelegter Werte aus, welche das Antreiben des Motors 2 steuern, wie beispielsweise die Rotationsrichtung und die Rotationsgeschwindigkeit des Motors 2.
  • Der Steuerungsparameter umfasst eine beliebige Anzahl der Zielpositionen, welche so festgelegt sein können, dass ein Steuerungsziel (die mechanische Einheit 5, welche sich in dem Beispiel von 7 in der Vorwärtsrichtung oder einer Rückwärtsrichtung linear bewegt) eine gewünschte Operation erreichen kann. Das in 9 gezeigte Beispiel zeigt einen Fall, in welchem drei Zielpositionen (A), (B) und (C) durch einen Nutzer festgelegt sind.
  • In dem in 8 gezeigten Beispiel hat ein Abschnitt A-B einen Anfangspunkt, welcher auf 0 Grad eingestellt ist, und einen Endpunkt, welcher auf 90 Grad eingestellt ist. Die Zielposition im Abschnitt A-B ist 0 mm, und der Abschnitt A-B ist Spline-interpoliert. Zudem hat ein Abschnitt B-C einen Anfangspunkt, welcher auf 90 Grad eingestellt ist, und einen Endpunkt, welcher auf 210 Grad eingestellt ist. Die Zielposition im Abschnitt B-C ist 100 mm, und der Abschnitt B-C ist Spline-interpoliert. Zudem hat ein Abschnitt C-A einen Anfangspunkt, welcher auf 210 Grad eingestellt ist, und einen Endpunkt, welcher auf 360 Grad eingestellt ist. Die Zielposition im Abschnitt C-A ist 0 mm, und der Abschnitt C-A ist Spline-interpoliert. Es ist zu beachten, dass die Zielposition durch einen Nutzer hinzugefügt wird, um eine Beschleunigung/Bremsung der mechanischen Einheit 5 anzupassen.
  • 10 ist eine Tabelle, welche ein zweites Beispiel des Steuerungsparameters zeigt, welcher für das Steuerungssystem gemäß der zweiten Ausführungsform eingestellt ist. 11 ist ein Graph, welcher ein zweites Beispiel des Operationsschemas zeigt, welches durch das Steuerungssystem gemäß der zweiten Ausführungsform verwendet wird. Der in 10 gezeigte Steuerungsparameter repräsentiert ein Beispiel des Operationsschemas in einem Fall, in welchem zu dem in 8 gezeigten Steuerungsparameter eine neue Zielposition hinzugefügt ist.
  • Das Programmierungsunterstützungsgerät 10 erzeugt das in 11 gezeigte Operationsschema basierend auf dem in 10 gezeigten Steuerungsparameter. Es wird angenommen, dass zwei Zielpositionen (D) und (E), welche in 11 gezeigt sind, hinzugefügt werden, um eine Beschleunigung/Bremsung der mechanischen Einheit 5 zwischen den Zielpositionen (B) bis (C), welche in 9 gezeigt sind, anzupassen. Eine Wellenform 71B ist eine Wellenform der Zielposition der mechanischen Einheit 5, und eine Wellenform 72B repräsentiert die Zielgeschwindigkeit der mechanischen Einheit 5.
  • In dem in 10 gezeigten Beispiel sind ein Abschnitt A-B und ein Abschnitt C-A so, wie mit Bezug zu 8 beschrieben. In dem in 10 gezeigten Beispiel hat ein Abschnitt B-D einen Anfangspunkt, welcher auf 90 Grad eingestellt ist, und einen Endpunkt, welcher auf 120 Grad eingestellt ist. Die Zielposition im Abschnitt B-D ist 10 mm, und der Abschnitt B-D ist Spline-interpoliert. Zudem hat ein Abschnitt D-E einen Anfangspunkt, welcher auf 120 Grad eingestellt ist, und einen Endpunkt, welcher auf 180 Grad eingestellt ist. Die Zielposition im Abschnitt D-E ist 90 mm, und der Abschnitt D-E ist Spline-interpoliert. Zudem hat ein Abschnitt E-C einen Anfangspunkt, welcher auf 180 Grad eingestellt ist, und einen Endpunkt, welcher auf 210 Grad eingestellt ist. Die Zielposition im Abschnitt E-C ist 100 mm, und der Abschnitt E-C ist Spline-interpoliert.
  • Das Programmierungsunterstützungsgerät 10 prüft, ob das Steuerungsziel eine gewünschte Operation durch das Hauptkörperprogramm erreicht oder nicht, welches durch einen Nutzer und den Steuerungsparameter erzeugt ist. Um zu prüfen, ob das Steuerungsziel die gewünschte Operation erreicht oder nicht, muss das Programmierungsunterstützungsgerät 10 nur verifizieren, dass eine Differenz zwischen der Zielposition der mechanischen Einheit 5 und einer tatsächlichen Position der mechanischen Einheit 5 in einem tatsächlichen Gerät bei einem bestimmten Referenzwinkel innerhalb eines in einem tatsächlichen Gerät erlaubten Bereich ist. Das tatsächliche Gerät ist beispielsweise ein Werkstückbeförderungsgerät, welches die mechanische Einheit 5 und den Motor 2 umfasst.
  • Der bestimmte Referenzwinkel bezeichnet beispielsweise einen willkürlichen Referenzwinkel ω (0 Grad ≤ ω ≤ 360 Grad) in einem der Abschnitte A-B, B-C und C-A, die in dem Graph von 9 oder 11 gezeigt sind, zusätzlich zu dem Wert (den Referenzwinkeln an den fünf Punkten (A), (B), (C), (D) und (E) in 11), welcher durch einen Nutzer unter Verwendung des Programmierungsunterstützungsgeräts 10 festgelegt ist. Es ist zu beachten, dass das in 11 gezeigte Beispiel einen Fall zeigt, in welchem der Maximalwert des Referenzwinkels 360 Grad ist, jedoch kann ein Wert, der größer als 360 Grad ist, als der Maximalwert des Referenzwinkels eingestellt sein.
  • Hinsichtlich der Zielposition der mechanischen Einheit 5 für den willkürlichen Referenzwinkel ω in jedem Abschnitt kann die Testquellcode-Erzeugungseinheit 20 den Zielwert durch Berechnung erhalten, weil ein Nutzer in dem Beispiel der 9 oder 11 als das Interpolationsverfahren der Zielposition „Spline-Interpolation“ festlegt.
  • Die Testquellcode-Erzeugungseinheit 20 erzeugt als den Testquellcode des Testprogramms eine Verarbeitung des Bestimmens, ob die Differenz zwischen der Zielposition der mechanischen Einheit 5 für den willkürlichen Referenzwinkel ω, der durch Berechnung erhalten werden kann, und der tatsächlichen Position der mechanischen Einheit 5 in dem tatsächlichen Gerät innerhalb des Bereichs, der in dem tatsächlichen Gerät erlaubt ist, ist oder nicht. Wenn ein Einstellungswert des Steuerungsparameters hinzugefügt, geändert oder gelöscht wird, muss ein Nutzer daher den Testquellcode nicht mehr erzeugen oder korrigieren, um zu prüfen, ob das tatsächliche Gerät eine gewünschte Operation erreicht oder nicht.
  • Es ist zu beachten, dass die Hauptkörperausführungscode-Speichereinheit 33 und die Testausführungscode-Speichereinheit 43 körperlich verschiedene Speichergeräte sein können. Dies macht es möglich, einen Test/eine Anpassung des Hauptkörperprogramms auszuführen und dabei den Testausführungscode temporär in die Speicherung 30 zu schreiben, ohne die Speicherkapazität des Speichergeräts zu beanspruchen, welches den Hauptkörperausführungscode speichert. Es ist auch möglich, eine Nutzerhandlung zum Deaktivieren oder Entfernen des von dem Hauptkörper des Steuerungsprogramms verschiedenen Testausführungscodes zu vereinfachen, nachdem ein Test/eine Anpassung abgeschlossen ist.
  • In einem Fall, in welchem die Hauptkörperausführungscode-Speichereinheit 33 und die Testausführungscode-Speichereinheit 43 körperlich verschiedene, separate Speichergeräte sind, dient die Hauptkörperausführungscode-Speichereinheit 33 als ein Hauptkörperausführungscode-Speichergerät und die Testausführungscode-Speichereinheit 43 dient als ein Testausführungscode-Speichergerät, d. h. als ein Zusatzausführungscode-Speichergerät.
  • Zudem können die Hauptkörperausführungscode-Speichereinheit 33 und die Testausführungscode-Speichereinheit 43 körperlich verschiedene Speichergeräte sein, und das Speichergerät, welches als die Testausführungscode-Speichereinheit 43 dient, kann ein Speichergerät sein, welches von der Steuerung 30 abnehmbar ist (wie beispielsweise ein tragbares externes Speichergerät). Dies macht es möglich, den Testausführungscode von der Steuerung 30 zu entfernen, indem lediglich das Speichergerät, welches als die Testausführungscode-Speichereinheit 43 dient, von der Steuerung 30 abgenommen wird.
  • Zudem kann die Steuerungseinheit 82 einen Zugriff des Testausführungscodes auf einen Cache-Speicher deaktivieren. Der Cache-Speicher speichert daher den Testausführungscode nicht, sondern speichert den Hauptkörperausführungscode. Selbst wenn der Testausführungscode ausgeführt wird, ist es daher möglich, eine Verringerung einer Trefferquote des Hauptkörperausführungscodes in den Cache-Speicher (Cache-Leistungsfähigkeit) zu verhindern. D. h., die Wahrscheinlichkeit, dass der Hauptkörperausführungscode aus dem Cache-Speicher bei Anwesenheit des Testausführungscodes gelesen werden kann, kann gleich der Wahrscheinlichkeit sein, dass der Hauptkörperausführungscode aus dem Cache-Speicher bei Abwesenheit des Testausführungscodes gelesen werden kann. Die Steuerungseinheit 82 kann daher einen Test/eine Anpassung des Hauptkörperprogramms ausführen und ermöglicht dabei, dass der Hauptkörperausführungscode mit derselben Trefferquote des Cache-Speichers ausgeführt werden kann wie bei einer tatsächlichen Operation.
  • Wie oben beschrieben ist, erzeugt die Testquellcode-Erzeugungseinheit 20 in der zweiten Ausführungsform den Testquellcode automatisch basierend auf den Daten zur Berechnung des Befehlswerts einer Bewegungssteuerung. Wenn ein Einstellungswert des Steuerungsparameters hinzugefügt, geändert oder gelöscht wird, muss ein Nutzer daher den Testquellcode nicht mehr erzeugen oder korrigieren, um zu prüfen, ob das tatsächliche Gerät eine gewünschte Operation erreicht oder nicht.
  • Eine Hardwarekonfiguration des in der ersten und zweiten Ausführungsform beschriebenen Programmierungsunterstützungsgeräts 10 wird beschrieben. 12 ist ein Diagramm, welches ein Beispiel der Hardwarekonfiguration zum Implementieren des Programmierungsunterstützungsgeräts gemäß der ersten und zweiten Ausführungsform zeigt.
  • Das Programmierungsunterstützungsgerät 10 kann durch ein Eingabegerät 151, einen Prozessor 152, einen Speicher 153, ein Kommunikationsgerät 155 und ein Ausgabegerät 154 implementiert sein, welche in 12 gezeigt sind. Der Prozessor 152 ist beispielsweise eine zentrale Verarbeitungseinheit (CPU) oder ein hochintegriertes System (LSI), wobei die CPU auch als ein zentraler Prozessor, eine Verarbeitungseinheit, eine Arithmetikeinheit, ein Mikroprozessor, ein Mikrocomputer, ein Prozessor oder digitaler Signalprozessor (DSP) bezeichnet wird. Der Speicher 153 ist beispielsweise ein Direktzugriffsspeicher (RAM) oder ein nur lesbarer Speicher (ROM).
  • Das Programmierungsunterstützungsgerät 10 wird durch den Prozessor 152 implementiert, welcher ein computerausführbares Programmierungsunterstützungsprogramm liest und ausführt, welches in dem Speicher 153 gespeichert ist, um die Operation des Programmierungsunterstützungsgeräts 10 auszuführen. Man kann auch sagen, dass das Programmierungsunterstützungsprogramm als das Programm zum Ausführen der Operation des Programmierungsunterstützungsgeräts 10 den Computer dazu veranlasst, eine Prozedur oder ein Verfahren betreffend das Programmierungsunterstützungsgerät 10 auszuführen.
  • Das Programmierungsunterstützungsprogramm, welches durch das Programmierungsunterstützungsgerät 10 ausgeführt wird, hat eine modulare Konfiguration, welche die Hauptkörperquellcode-Bearbeitungseinheit 11, die Hauptkörperausführungsbedingung-Festlegungseinheit 12, die Hauptkörperausführungscode-Erzeugungseinheit 13, die Testquellcode-Bearbeitungseinheit 21, die Testausführungsbedingung-Festlegungseinheit 22 und die Testausführungscode-Erzeugungseinheit 23 umfasst, welche in ein Hauptspeichergerät geladen und auf dem Hauptspeichergerät erzeugt werden.
  • Der Speicher 153 wird als temporärer Speicher verwendet, wenn der Prozessor 152 diverse Verarbeitungen ausführt. Der Speicher 153 speichert beispielsweise das Programmierungsunterstützungsprogramm, den Hauptkörperausführungscode, den Testausführungscode, den Hauptkörperquellcode, den Testquellcode, die Hauptkörperausführungsbedingung, die Vorbedingung, die Nachbedingung und dergleichen.
  • Das Eingabegerät 151 hat eine Funktion der Eingabeeinheit 72. Das Eingabegerät 151 ist ein Schnittstellengerät, welches durch einen Nutzer eingegebene Information empfängt und die empfangene Information an den Prozessor 152 sendet. Das Ausgabegerät 154 gibt durch den Prozessor 152 erzeugte Bildschirmdaten an ein externes Gerät, wie beispielsweise dem Anzeigegerät 3, aus. Das Kommunikationsgerät 155 hat eine Funktion der Kommunikationseinheit 71. Das Kommunikationsgerät 155 führt eine Kommunikation mit der Steuerung 30 aus.
  • Das Programmierungsunterstützungsprogramm, welches eine Erzeugung des Steuerungsprogramms unterstützt, kann in einem computerlesbaren Speichermedium in einer Datei mit einem installierbaren Format oder einem ausführbaren Format gespeichert sein und als ein Computerprogrammprodukt bereitgestellt werden. Das Programmierungsunterstützungsprogramm kann auch dem Programmierungsunterstützungsgerät 10 über ein Netzwerk, wie beispielsweise dem Internet, bereitgestellt werden.
  • Es ist zu beachten, dass die Funktionen des Programmierungsunterstützungsgeräts 10 teilweise durch dedizierte Hardware, wie beispielsweise einer dedizierten Schaltung, und teilweise durch Software oder Firmware implementiert sein können.
  • Die Steuerung 30 hat eine Hardwarekonfiguration, die der des Programmierungsunterstützungsgeräts 10 gleich ist. Die Funktionen der Steuerung 30 können teilweise durch dedizierte Hardware, wie beispielsweise einer dedizierten Schaltung, und teilweise durch Software oder Firmware implementiert sein.
  • Die in den obigen Ausführungsformen gezeigten Konfigurationen illustrieren lediglich ein Beispiel, sodass eine andere bekannte Technik kombiniert werden kann, die Ausführungsformen können miteinander kombiniert werden, oder die Konfigurationen können teilweise weggelassen und/oder modifiziert werden, ohne von dem Umfang der vorliegenden Offenbarung abzuweichen.
  • Bezugszeichenliste
  • 1A, 1B
    Steuerungssystem;
    2
    Motor;
    3
    Anzeigegerät;
    4
    Verstärker;
    5
    mechanische Einheit;
    6
    Steuerungsachse;
    10
    Programmierungsunterstützungsgerät;
    11
    Hauptkörperquellcode-Bearbeitungseinheit;
    12
    Hauptkörperausführungsbedingung-Festlegungseinheit;
    13
    Hauptkörperausführungscode-Erzeugungseinheit;
    14, 32
    Hauptkörper-Übertragungseinheit;
    15, 31
    Hauptkörper-Empfangseinheit;
    20
    Testquellcode-Erzeugungseinheit;
    21
    Testquellcode-Bearbeitungseinheit;
    22
    Testausführungsbedingung-Festlegungseinheit;
    23
    Testausführungscode-Erzeugungseinheit;
    24, 42
    Test-Übertragungseinheit;
    25, 41
    Test-Empfangseinheit;
    30
    Steuerung;
    33
    Hauptkörperausführungscode-Speichereinheit;
    34
    Hauptkörperausführung-Steuerungseinheit;
    35
    Hauptkörperausführungsbedingung-Bestimmungseinheit;
    43
    Testausführungscode-Speichereinheit;
    44
    Testausführung-Steuerungseinheit;
    45
    Testausführungsbedingung-Bestimmungseinheit;
    71, 81
    Kommunikationseinheit;
    72
    Eingabeeinheit;
    82
    Steuerungseinheit;
    83
    Ausgabeeinheit;
    151
    Eingabegerät;
    152
    Prozessor;
    153
    Speicher;
    154
    Ausgabegerät;
    155
    Kommunikationsgerät.
  • 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 5246186 [0004]

Claims (9)

  1. Steuerungssystem, umfassend: eine Steuerung, welche ein Gerät steuert; und ein Programmierungsunterstützungsgerät, welches eine Erzeugung eines Programms unterstützt, welches durch die Steuerung zum Steuern des Geräts verwendet wird, wobei das Programm ein Steuerungsprogramm, welches eine Hauptsteuerung an dem Gerät durchführt, und ein Zusatzprogramm, welches eine Zusatzverarbeitung an dem Gerät steuert, enthält, das Programmierungsunterstützungsgerät umfasst: eine Hauptkörperausführungscode-Erzeugungseinheit, welche einen Hauptkörperausführungscode erzeugt, welcher ein ausführbarer Code des Steuerungsprogramms ist; eine Zusatzausführungscode-Erzeugungseinheit, welche einen Zusatzausführungscode erzeugt, welcher ein ausführbarer Code des Zusatzprogramms ist; und eine Zusatzausführungsbedingung-Erzeugungseinheit, welche eine Zusatzausführungsbedingung erzeugt, welche eine Bedingung zum Ausführen des Zusatzausführungscodes ist, das Programmierungsunterstützungsgerät den Hauptkörperausführungscode und den Zusatzausführungscode separat erzeugt, und die Steuerung das Gerät unter Verwendung des Hauptkörperausführungscodes, des Zusatzausführungscodes und der Zusatzausführungsbedingung steuert.
  2. Steuerungssystem gemäß Anspruch 1, wobei die Steuerung umfasst: ein Hauptkörperausführungscode-Speichergerät, welches den Hauptkörperausführungscode speichert; und ein Zusatzausführungscode-Speichergerät, welches den Zusatzausführungscode speichert, und das Hauptkörperausführungscode-Speichergerät und das Zusatzausführungscode-Speichergerät Speichergeräte von separater Struktur sind.
  3. Steuerungssystem gemäß Anspruch 2, wobei das Zusatzausführungscode-Speichergerät ein Speichergerät ist, welches von der Steuerung abnehmbar ist.
  4. Programmierungsunterstützungsgerät, umfassend: eine Hauptkörperausführungscode-Erzeugungseinheit, welche einen Hauptkörperausführungscode erzeugt, welcher ein ausführbarer Code eines Steuerungsprogramms ist, welches eine Hauptsteuerung an einem Gerät durchführt; eine Zusatzausführungscode-Erzeugungseinheit, welche einen Zusatzausführungscode erzeugt, welcher ein ausführbarer Code eines Zusatzprogramms ist, welches eine Zusatzverarbeitung an dem Gerät steuert; und eine Zusatzausführungsbedingung-Erzeugungseinheit, welche eine Zusatzausführungsbedingung erzeugt, welche eine Bedingung zum Ausführen des Zusatzausführungscodes ist, wobei der Hauptkörperausführungscode und der Zusatzausführungscode separat erzeugt werden.
  5. Programmierungsunterstützungsgerät gemäß Anspruch 4, ferner umfassend eine Hauptkörperausführungsbedingung-Erzeugungseinheit, welche eine Hauptkörperausführungsbedingung erzeugt, welche eine Bedingung zum Ausführen des Hauptkörperausführungscodes ist.
  6. Programmierungsunterstützungsgerät gemäß Anspruch 4 oder 5, ferner umfassend: eine Hauptkörperquellcode-Bearbeitungseinheit, welche einen Hauptkörperquellcode bearbeitet, welcher ein Quellcode des Steuerungsprogramms ist; und eine Zusatzquellcode-Bearbeitungseinheit, welche einen Zusatzquellcode bearbeitet, welcher ein Quellcode des Zusatzprogramms ist, wobei die Hauptkörperausführungscode-Erzeugungseinheit den Hauptkörperausführungscode aus dem Hauptkörperquellcode erzeugt, und die Zusatzausführungscode-Erzeugungseinheit den Zusatzausführungscode aus dem Zusatzquellcode erzeugt.
  7. Programmierungsunterstützungsgerät gemäß Anspruch 6, ferner umfassend eine Zusatzquellcode-Erzeugungseinheit, welche den Zusatzquellcode basierend auf Daten zur Berechnung eines Befehlswertes einer in dem Steuerungsprogramm enthaltenen Bewegungssteuerung erzeugt.
  8. Programmierungsunterstützungsverfahren, umfassend: einen Hauptkörperausführungscode-Erzeugungsschritt des Erzeugens eines Hauptkörperausführungscodes, welcher ein ausführbarer Code eines Steuerungsprogramms ist, welches eine Hauptsteuerung an einem Gerät durchführt; einen Zusatzausführungscode-Erzeugungsschritt des Erzeugens eines Zusatzausführungscodes, welcher ein ausführbarer Code eines Zusatzprogramms ist, welches eine Zusatzverarbeitung an dem Gerät steuert; und einen Zusatzausführungsbedingung-Erzeugungsschritt des Erzeugens einer Zusatzausführungsbedingung, welche eine Bedingung zum Ausführen des Zusatzausführungscodes ist, wobei der Hauptkörperausführungscode und der Zusatzausführungscode separat erzeugt werden.
  9. Programmierungsunterstützungsprogramm, welches einen Computer veranlasst auszuführen: einen Hauptkörperausführungscode-Erzeugungsschritt des Erzeugens eines Hauptkörperausführungscodes, welcher ein ausführbarer Code eines Steuerungsprogramms ist, welches eine Hauptsteuerung an einem Gerät durchführt; einen Zusatzausführungscode-Erzeugungsschritt des Erzeugens eines Zusatzausführungscodes, welcher ein ausführbarer Code eines Zusatzprogramms ist, welches eine Zusatzverarbeitung an dem Gerät steuert; und einen Zusatzausführungsbedingung-Erzeugungsschritt des Erzeugens einer Zusatzausführungsbedingung, welche eine Bedingung zum Ausführen des Zusatzausführungscodes ist, wobei der Hauptkörperausführungscode und der Zusatzausführungscode separat erzeugt werden.
DE112020005770.4T 2020-02-14 2020-02-14 Steuerungssystem, Programmierungsunterstützungsgerät, Programmierungsunterstützungsverfahren und Programmierungsunterstützungsprogramm Pending DE112020005770T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/005829 WO2021161518A1 (ja) 2020-02-14 2020-02-14 制御システム、プログラム作成支援装置、プログラム作成支援方法、およびプログラム作成支援プログラム

Publications (1)

Publication Number Publication Date
DE112020005770T5 true DE112020005770T5 (de) 2022-09-15

Family

ID=73993004

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020005770.4T Pending DE112020005770T5 (de) 2020-02-14 2020-02-14 Steuerungssystem, Programmierungsunterstützungsgerät, Programmierungsunterstützungsverfahren und Programmierungsunterstützungsprogramm

Country Status (4)

Country Link
JP (1) JP6808102B1 (de)
CN (1) CN115066676B (de)
DE (1) DE112020005770T5 (de)
WO (1) WO2021161518A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5246186B2 (de) 1973-03-14 1977-11-22

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09179752A (ja) * 1995-12-25 1997-07-11 Hudson Soft Co Ltd Romカートリッジ用デバッグ方法および装置
JP5762154B2 (ja) * 2011-06-08 2015-08-12 三菱電機株式会社 情報処理装置及び情報処理方法及びプログラム
CN104204975B (zh) * 2012-03-26 2016-10-12 三菱电机株式会社 定序程序调试辅助装置
JP5900143B2 (ja) * 2012-05-15 2016-04-06 富士電機株式会社 制御システム、制御装置及びプログラム実行制御方法
JP6340886B2 (ja) * 2014-04-10 2018-06-13 株式会社ジェイテクト プログラマブルロジックコントローラ用プログラムの作成支援装置及びプログラマブルロジックコントローラ用プログラムの作成支援方法
CN105408823B (zh) * 2014-05-08 2017-07-18 三菱电机株式会社 工程设计工具、程序编辑装置以及程序编辑系统
US10935950B2 (en) * 2018-03-28 2021-03-02 Mitsubishi Electric Corporation Programming supporting apparatus, programming supporting method, and recording medium

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5246186B2 (de) 1973-03-14 1977-11-22

Also Published As

Publication number Publication date
JPWO2021161518A1 (de) 2021-08-19
JP6808102B1 (ja) 2021-01-06
WO2021161518A1 (ja) 2021-08-19
CN115066676B (zh) 2023-06-09
CN115066676A (zh) 2022-09-16

Similar Documents

Publication Publication Date Title
DE102018202654B4 (de) Vorrichtung für maschinelles Lernen, Servoregeleinrichtung, Servoregelsystem und Verfahren für maschinelles Lernen
DE68927394T2 (de) Paritätsprüfgerät
DE102005026040B4 (de) Parametrierung eines Simulations-Arbeitsmodells
DE68927434T2 (de) Lese-Ändern-Schreiben Funktion
DE19642737A1 (de) Bordsteuersystem zum Steuern von Einrichtungen, die in einem Motorfahrzeug installiert sind, und Verfahren zum Neuschreiben eines Steuerprogramms und von Variablen dafür
DE69031782T2 (de) Verfahren zum Ersetzen von Speichermodulen in einem Computersystem und Computersystem zur Durchführung des Verfahrens
DE2517302C2 (de) Mehrprogramm-Datenverarbeitungsgerät
DE102017120016A1 (de) Verfahren zur Konfiguration eines zum Testen eines elektronischen Steuergeräts eingerichteten Testgeräts sowie Konfigurationssystem
DE102018110020A1 (de) Verfahren zum Erzeugen eines auf einem Testgerät ausführbaren Modells eines technischen Systems und Testgerät
DE102020112335A1 (de) Vorrichtung und verfahren zum steuern eines autonomen fahrens
DE19739513B4 (de) Reserve-Redunanzsystem
EP0170924A1 (de) Verfahren zur Regleroptimierung für Antriebe
EP2870726B1 (de) Verfahren zur inbetriebnahme zumindest eines funktionsgeräts und schienenfahrzeugsverband
EP1982243B1 (de) Verfahren zum abspeichern eines datenbausteins mit daten zum steuern eines technischen prozesses sowie steuervorrichtung
DE112020005770T5 (de) Steuerungssystem, Programmierungsunterstützungsgerät, Programmierungsunterstützungsverfahren und Programmierungsunterstützungsprogramm
DE102008018962A1 (de) Verfahren zur Steuerung eines Roboters
DE69031361T2 (de) Taktsignalgeneratorsystem
DE112019000179T5 (de) Fahrzeugsteuervorrichtung und programmaktualisierungssystem
DE68925771T2 (de) Emulatorsystem für eine Anzeige
DE19883000B4 (de) Servosystem-Steuereinrichtung
DE102019108602A1 (de) Verfahren und Vorrichtung zur Verwaltung von Softwaremodulen und von Objekten
DE102022110251A1 (de) Ota-master, center, system, verfahren, nicht-transitorisches speichermedium und fahrzeug
EP2963541A1 (de) Implementierung einer Konstanten in FPGA-Code
DE102016100999A1 (de) Vorrichtung einer rekonfigurierbaren Softwaremodusverwaltung unter Verwendung einer Laufzeitausführungsmaschine
DE102007045602A1 (de) Programmiersystem

Legal Events

Date Code Title Description
R012 Request for examination validly filed