DE112007003298T5 - Periphere Vorrichtung einer programmierbaren Steuerung, Verfahren zur Variablensubstitution und Computerprogrammprodukt dafür - Google Patents

Periphere Vorrichtung einer programmierbaren Steuerung, Verfahren zur Variablensubstitution und Computerprogrammprodukt dafür Download PDF

Info

Publication number
DE112007003298T5
DE112007003298T5 DE112007003298T DE112007003298T DE112007003298T5 DE 112007003298 T5 DE112007003298 T5 DE 112007003298T5 DE 112007003298 T DE112007003298 T DE 112007003298T DE 112007003298 T DE112007003298 T DE 112007003298T DE 112007003298 T5 DE112007003298 T5 DE 112007003298T5
Authority
DE
Germany
Prior art keywords
variables
variable
program
address
existing
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.)
Withdrawn
Application number
DE112007003298T
Other languages
English (en)
Inventor
Masanobu Nagoya Sumiya
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 DE112007003298T5 publication Critical patent/DE112007003298T5/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13152Modification of program

Abstract

Periphere Vorrichtung einer programmierbaren Steuerung zum Umwandeln eines existierenden Programms in ein Programm mit darin substituierten Variablen, wobei die periphere Vorrichtung einer programmierbaren Steuerung folgendes aufweist:
eine Variableninformations-Erzeugungseinheit, die eine Adresse aus dem existierenden Programm extrahiert, eine eindeutige Variable zu der Adresse zuordnet und Variablenentsprechungsinformation über eine Entsprechung zwischen der Adresse und der Variablen erzeugt; und
eine Substitutionseinheit, die die Adresse basierend auf der Variablenentsprechungsinformation mit der Variablen substituiert, so dass das existierende Programm in das Programm mit darin substituierten Variablen umgewandelt wird.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft allgemein eine periphere Vorrichtung einer programmierbaren Steuerung, ein Verfahren zur Variablensubstitution und ein Computerprogrammprodukt dafür. Die vorliegende Erfindung betrifft insbesondere eine periphere Vorrichtung einer programmierbaren Steuerung, ein Verfahren zur Variablensubstitution und ein Computerprogrammprodukt dafür, die ein Erzeugen und Editieren eines Ablauffolgeprogramms einer programmierbaren Logiksteuerung (die hierin nachfolgend manchmal PLC genannt wird) vereinfachen.
  • STAND DER TECHNIK
  • Adressen eines internen Speichers einer PLC sind in den Codes eines Ablauffolgeprogramms definiert worden, das in einer peripheren Vorrichtung der PLC erzeugt oder editiert ist.
  • Jedoch wird in letzter Zeit ein Ablauffolgeprogramm unter Verwendung von Variablen anstelle von Adressen eines internen Speichers einer PLC erzeugt. Das bedeutet, dass anstelle eines direkten Definierens von Adressen eines internen Speichers der PLC ein Ablauffolgeprogramm durch Definieren von Variablen erzeugt wird, die die Adressen des internen Speichers ersetzen bzw. substituieren. Ein durch ein solches Verfahren erzeugtes Ablauffolgeprogramm enthält einen Code, bei welchem z. B. ”LD (Variable)” anstelle einer Adresse des internen Speichers ”LD X0” definiert ist.
    • Patentdokument 1: offengelegte japanische Patentanmeldung Nr. 2000-242313
  • OFFENBARUNG DER ERFINDUNG
  • DURCH DIE ERFINDUNG ZU LÖSENDES PROBLEM
  • Allgemein wird zum Vereinfachen einer Erzeugung eines neuen Abfolgeprogramms ein in der Vergangenheit erzeugtes existierendes Ablauffolgeprogramm wiederverwendet.
  • Ein Ablauffolgeprogramm muss vor einem Verwenden von ihm in einer PLC kompiliert werden. Wenn ein neues Ablauffolgeprogramm durch Wiederverwenden eines existierenden Ablauffolgeprogramms erzeugt wird, ist es nötig, während eines Kompilierens alte Adressen im existierenden Ablauffolgeprogramm durch neue Adressen in der PLC zu ersetzen.
  • Wenn ein Projekt, das ein Ablauffolgeprogramm mit Variablen, wie sie beispielsweise oben darin substituiert sind, enthält, durch Wiederverwenden eines existierenden Ablauffolgeprogramms ohne Variablen erzeugt wird, ist es zuerst nötig, das existierende Ablauffolgeprogramm zu kopieren und dann Variablen für Vorrichtungen in dem kopierten Ablauffolgeprogramm durch Deklarieren von Eingabe/Ausgabe-Adressen (Eingabe/Ausgabe-Vorrichtungen) als globale Variablen und von Adressen des internen Speichers (internen Vorrichtungen) als lokale Variablen zu substituieren.
  • Eine globale Variable kann in allen Programmen in einem spezifischen Projekt verwendet werden und ist unabhängig von irgendeinem einzelnen Programm im Projekt. Somit ist es durch Deklarieren einer globalen Variablen möglich, ihren Wert in allen Programmen im Projekt gemeinsam zu nutzen. Andererseits kann eine lokale Variable nur in einem Programm verwendet werden, in welchem sie definiert ist. Das bedeutet, dass jede lokale Variable zu dem Programm gehört, in welchem sie definiert ist. Somit wird eine lokale Variable dann verwendet, wenn es nicht nötig ist, ihren Wert mit anderen Programmen im Projekt gemeinsam zu nutzen. Somit kann durch Verwenden von globalen Variablen und lokalen Variablen ein Programm selbst durch eine Vielzahl von Leuten effizient editiert werden.
  • Herkömmlich muss ein Programmierer Variablen für Adressen manuell ersetzen bzw. substituieren, während er sicherstellt, dass es keine Duplizierung von Adressen gibt. Dies macht das Ersetzen bzw. die Substitution zu einer komplizierten und zeitaufwändigen Aufgabe. Darüber hinaus ist es schwierig, ein existierendes Ablauffolgeprogramm ohne Variablen effizient wiederzuverwenden.
  • Es ist eine herkömmliche Technologie zum automatischen Substituieren globaler Variablen und lokaler Variablen für Speicheradressen offenbart (siehe Patentdokument 1). Jedoch berücksichtigt eine solche herkömmliche Technologie kein Wiederverwenden eines existierenden Ablauffolgeprogramms ohne Variablen.
  • Die vorliegende Erfindung ist erreicht worden, um die obigen Probleme in der herkömmlichen Technologie zu lösen, und es ist eine Aufgabe der vorliegenden Erfindung, eine periphere Vorrichtung einer programmierbaren Steuerung, ein Verfahren zur Variablensubstitution und ein Computerprogrammprodukt dafür zur Verfügung zu stellen, die ermöglichen, ein existierendes Ablauffolgeprogramm ohne Variablen automatisch und effizient in ein Ablauffolgeprogramm mit darin substituierten Variablen umzuwandeln.
  • MITTEL ZUM LÖSEN DES PROBLEMS
  • Um die Probleme zu lösen und die oben angegebene Aufgabe zu erreichen, wird gemäß einem Aspekt der vorliegenden Erfindung eine periphere Vorrichtung einer programmierbaren Steuerung zum Umwandeln eines existierenden Programms in ein Programm mit darin substituierten Variablen zur Verfügung gestellt. Die periphere Vorrichtung einer programmierbaren Steuerung enthält eine Variableninformations-Erzeugungseinheit, die eine Adresse aus dem existierenden Programm extrahiert, eine eindeutige Variable zu der Adresse zuordnet und Variablenentsprechungsinformation bzw. Variablenkorrespondenzinformation über eine Entsprechung bzw. Korrespondenz zwischen der Adresse und der Variablen erzeugt; und eine Substitutionseinheit, die die Adresse basierend auf der Variablenentsprechungsinformation mit der Variablen substituiert, um das existierende Programm in das Programm mit darin substituierten Variablen umzuwandeln.
  • EFFEKT DER ERFINDUNG
  • Wie es gerade beschrieben ist, wird mit der peripheren Vorrichtung einer programmierbaren Steuerung der vorliegenden Erfindung eine Adresse aus einem existierenden Programm extrahiert und wird eine eindeutige Variable zu der Adresse zugeordnet. Die Adresse wird mit der Variablen assoziiert bzw. verbunden, um dadurch automatisch Variablenentsprechungsinformation über eine Entsprechung zwischen der Adresse und der Variablen zu erzeugen. Basierend auf der Variablenentsprechungsinformation wird die Adresse automatisch mit der Variablen substituiert, so dass das existierende Programm in ein Programm mit darin substituierten Variablen umgewandelt werden kann. Somit ist es möglich, ein existierendes Ablauffolgeprogramm automatisch und effizient in ein Ablauffolgeprogramm mit darin substituierten Variablen umzuwandeln.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist eine beispielhafte Konfiguration eines Programmerzeugungssystems gemäß einem Ausführungsbeispiel der vorliegenden Erfindung.
  • 2 ist ein Beispiel eines existierenden Ablauffolgeprogramms in Daten eines existierenden Projekts.
  • 3 ist ein Beispiel eines Vorrichtungskommentars in Daten eines existierenden Projekts.
  • 4 ist ein funktionelles Blockdiagramm einer Programmerzeugungsvorrichtung einer Programmerzeugungsvorrichtung gemäß dem Ausführungsbeispiel der vorliegenden Erfindung.
  • 5 ist ein Beispiel einer Adressenklassifikationstabelle in der Programmerzeugungsvorrichtung gemäß dem Ausführungsbeispiel der vorliegenden Erfindung.
  • 6 ist ein Beispiel einer Tabelle für Variablen in der Programmerzeugungsvorrichtung gemäß dem Ausführungsbeispiel der vorliegenden Erfindung.
  • 7 ist ein Beispiel einer Tabelle für globale Variablen in der Programmerzeugungsvorrichtung gemäß dem Ausführungsbeispiel der vorliegenden Erfindung.
  • 8 ist ein Beispiel einer Tabelle für lokale Variablen in der Programmerzeugungsvorrichtung gemäß dem Ausführungsbeispiel der vorliegenden Erfindung.
  • 9 ist ein Beispiel eines Ablauffolgeprogramms mit darin substituierten Variablen, das aus dem existierenden Ablauffolgeprogramm umgewandelt ist.
  • 10 ist ein Blockdiagramm einer Speichereinheit der Programmerzeugungsvorrichtung gemäß dem Ausführungsbeispiel der vorliegenden Erfindung.
  • 11 ist ein Ablaufdiagramm eines Prozesses zum Erzeugen einer Tabelle für Variablen in der Programmerzeugungsvorrichtung gemäß dem Ausführungsbeispiel der vorliegenden Erfindung.
  • 12 ist ein Diagramm zum Erklären der Erzeugung der Tabelle für Variablen in der Programmerzeugungsvorrichtung gemäß dem Ausführungsbeispiel der vorliegenden Erfindung.
  • 13 ist ein Ablaufdiagramm eines Prozesses einer Variablensubstitution in der Programmerzeugungsvorrichtung gemäß dem Ausführungsbeispiel der vorliegenden Erfindung.
  • 14 ist ein Diagramm zum Erklären einer Variablensubstitution in einem Ablauffolgeprogramm in der Programmerzeugungsvorrichtung gemäß dem Ausführungsbeispiel der vorliegenden Erfindung.
  • 15 ist ein Ablaufdiagramm zum Erklären einer Deklaration von globalen Variablen in der Programmerzeugungsvorrichtung gemäß dem Ausführungsbeispiel der vorliegenden Erfindung.
  • 16 ist ein Diagramm zum Erklären einer Erzeugung einer Tabelle für globale Variablen in der Programmerzeugungsvorrichtung gemäß dem Ausführungsbeispiel der vorliegenden Erfindung.
  • 17 ist ein Ablaufdiagramm zum Erklären einer Deklaration von lokalen Variablen in der Programmerzeugungsvorrichtung gemäß dem Ausführungsbeispiel der vorliegenden Erfindung.
  • 18 ist ein Diagramm zum Erklären einer Erzeugung einer Tabelle für lokale Variablen in der Programmerzeugungsvorrichtung gemäß dem Ausführungsbeispiel der vorliegenden Erfindung.
  • 19 ist ein Diagramm zum Erklären einer Funktionalität der Programmerzeugungsvorrichtung gemäß dem Ausführungsbeispiel der vorliegenden Erfindung.
  • 20 ist ein Diagramm zum Erklären einer Funktionalität der Programmerzeugungsvorrichtung gemäß dem Ausführungsbeispiel der vorliegenden Erfindung.
  • 21 ist ein Blockdiagramm eines Beispiels eines Computers, der ein Programm zum Implementieren eines Variablensubstitutionsverfahrens zum Erzeugen eines Programms gemäß dem Ausführungsbeispiel der vorliegenden Erfindung ausführt.
  • BESTE ART(EN) ZUM AUSFÜHREN DER ERFINDUNG
  • Beispielhafte Ausführungsbeispiele einer peripheren Vorrichtung einer programmierbaren Logiksteuerung (PLC), ein Verfahren für eine Variablensubstitution und ein Computerprogrammprodukt dafür gemäß der vorliegenden Erfindung werden nachfolgend unter Bezugnahme auf die beigefügten Zeichnungen detailliert beschrieben. Die vorliegende Erfindung ist nicht auf die nachfolgend beschriebenen Ausführungsbeispiele beschränkt und kann auf verschiedene Weisen modifiziert werden, ohne von ihrem Schutzumfang abzuweichen.
  • Ausführungsbeispiel
  • 1 ist eine beispielhafte Konfiguration eines Programmerzeugungssystems, das Merkmale einer peripheren Vorrichtung einer PLC hat, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Wie es in 1 gezeigt ist, enthält das Programmerzeugungssystem eine Programmerzeugungsvorrichtung 1, die als periphere Vorrichtung der PLC fungiert, eine Eingabevorrichtung 3, eine Anzeigevorrichtung 5 und eine externe Speichervorrichtung 7.
  • In einer herkömmlichen Programmerzeugungsvorrichtung wird zum Erzeugen eines neuen Projekts eines Ablauffolgeprogramms mit darin substituierten Variablen durch Wiederverwenden eines existierenden Ablauffolgeprogramms ohne Variablen das existierende Ablauffolgeprogramm zuerst zu dem neuen Projekt kopiert. Die Eingabe/Ausgabe-Adressen (Eingabe/Ausgabe-Vorrichtungen) in dem kopierten Ablauffolgeprogramm werden dann als globale Variablen deklariert, während Adressen des internen Speichers (interne Vorrichtungen) als lokale Variablen deklariert werden, so dass die Vorrichtungen in dem kopierten Ablauffolgeprogramm durch Variablen substituiert werden.
  • Bei einer herkömmlichen Technologie muss ein Programmierer Variablen für Adressen manuell substituieren, während er sicherstellt, dass es keine Duplizierung gibt. Dies führt dazu, dass der Programmierer mit der Substitutionsaufgabe überlastet wird. Darüber hinaus ist es schwierig, ein existierendes Ablauffolgeprogramm ohne Variablen effizient wiederzuverwenden.
  • Ungleich der herkömmlichen Technologie ist es möglich, die Substitutionsaufgabe durch Verwenden der Programmerzeugungsvorrichtung 1 des Ausführungsbeispiels automatisch durchzuführen. Somit kann, ohne den Programmierer für eine manuelle Substitution von Variablen zu stören, ein neues Projekt eines Ablauffolgeprogramms durch Wiederverwenden eines existierenden Ablauffolgeprogramms ohne Variablen effizient erzeugt werden. Wie es in 1 gezeigt ist, enthält die Programmerzeugungsvorrichtung 1 eine Programmerzeugungseinheit 11, eine Speichereinheit 13, eine Kommunikationseinheit 15 und eine Steuereinheit 17.
  • Die Eingabevorrichtung 3 wird zum Eingeben von Betriebsanweisungen in Bezug auf die Programmerzeugungsvorrichtung 1 verwendet. Die Anzeigevorrichtung 5 zeigt Information, wie beispielsweise das Ablauffolgeprogramm oder Verarbeitungsdaten, in der Programmerzeugungsvorrichtung 1 an.
  • Die externe Speichervorrichtung 7 speichert darin in der Vergangenheit erzeugte Daten für ein existierendes Projekt 71. Die in der externen Speichervorrichtung 7 gespeicherten Daten für ein existierendes Projekt 71 enthalten ein existierendes Ablauffolgeprogramm 72 ohne Variablen und einen Vorrichtungskommentar 73, der dem existierenden Ablauffolgeprogramm 72 beigeordnet ist. Der Vorrichtungskommentar 73 enthält einen erklärenden Kommentar in Bezug auf jede Adresse (Vorrichtung), die in dem existierenden Ablauffolgeprogramm 72 definiert ist.
  • 2 ist ein Beispiel des existierenden Ablauffolgeprogramms 72 in den Daten für ein existierendes Projekt 71. Das existierende Ablauffolgeprogramm 72 wird wiederverwendet, um ein neues Ablauffolgeprogramm zu erzeugen, wie es nachfolgend beschrieben wird. Wie es in 2 gezeigt ist, sind eine Vielzahl von Programmschritten und ein Code jedes Programmschritts in dem existierenden Ablauffolgeprogramm 72 definiert. Beispielsweise ist ein Code ”LD X0” in einem Programmschritt ”Schritt 0” definiert, während ein Code ”SET M1” in einem Programmschritt ”Schritt 1” definiert ist. Das bedeutet, dass das existierende Ablauffolgeprogramm 72 ein Programm ist, in welchem tatsächliche Adressen definiert sind, anstelle eines Substituierens von Variablen für sie.
  • 3 ist ein Beispiel des Vorrichtungskommentars 73 in den Daten für ein existierendes Projekt 71. Der Vorrichtungskommentar 73 wird verwendet, wenn ein neues Ablauffolgeprogramm durch Wiederverwenden des existierenden Ablauffolgeprogramms 72 erzeugt wird, wie es nachfolgend beschrieben wird. Wie es in 3 gezeigt ist, enthält der Vorrichtungskommentar 73 eine Vielzahl von Adressen, die im existierenden Ablauffolgeprogramm 72 definiert sind, und einen Kommentar in Bezug auf jede Adresse. Beispielsweise ist ein Kommentar ”Schalter aktivieren” definiert, um Inhalte einer Adresse ”Adresse X0” zu erklären, während ein Kommentar ”Lampe aktivieren” definiert ist, um Inhalte einer Adresse ”Adresse Y1” zu erklären.
  • 4 ist ein funktionelles Blockdiagramm der Programmerzeugungseinheit 11. Wie es in 4 gezeigt ist, enthält die Programmerzeugungseinheit 11 eine Erzeugungseinheit für eine Tabelle für Variablen 111, eine Erzeugungseinheit für eine Tabelle für globale Variablen 112, eine Erzeugungseinheit für eine Tabelle für lokale Variablen 113, eine Substitutionseinheit 114 und einen Programmerzeuger 115.
  • Um ein neues Projekt eines Ablauffolgeprogramms mit darin substituierten Variablen durch Wiederverwenden eines existierenden Ablauffolgeprogramms ohne Variablen zu erzeugen, kopiert die Erzeugungseinheit für eine Tabelle für Variablen 111 in der Programmerzeugungseinheit 11 das existierende Ablauffolgeprogramm 72 und den Vorrichtungskommentar 73 von der externen Speichervorrichtung 7 und speichert sie in der Speichereinheit 13.
  • Die Erzeugungseinheit für eine Tabelle für Variablen 111 klassifiziert dann Adressen, die in den Codes des kopierten existierenden Ablauffolgeprogramms 72 vorhanden sind, durch ein Durchsuchen einer Adressenklassifikationstabelle (von Adressenklassifikationsinformation), wie es in 5 gezeigt ist, die im Voraus in der Speichereinheit 13 gespeichert ist.
  • 5 ist ein Beispiel einer Adressenklassifikationstabelle. Jede Adresse ist in eine globale Adresse oder eine lokale Adresse klassifiziert. In einem Ablauffolgeprogramm verwendete Adressen werden in der Adressenklassifikationstabelle zusammen mit ihrer entsprechenden Klassifizierung (global oder lokal) gespeichert.
  • Die Erzeugungseinheit für eine Tabelle für Variablen 111 erzeugt dann eine Tabelle für Variablen (Variableninformation), wie es in 6 gezeigt ist, basierend auf den Adressen, die in den Codes des existierenden Ablauffolgeprogramms 72 vorhanden sind, der Klassifizierung der Adressen (global oder lokal) und dem Vorrichtungskommentar 73 und speichert die Tabelle für Variablen in die Speichereinheit 13. 6 ist ein Beispiel einer Tabelle für Variablen. Wie es in 6 gezeigt ist, wird ein Kommentar, der in dem Vorrichtungskommentar 73 enthalten ist, in Bezug auf jede Adresse als Variable in der Tabelle für Variablen verwendet.
  • Die Erzeugungseinheit für eine Tabelle für globale Variablen 112 extrahiert die Variablen mit der Klassifizierung als global und die entsprechenden Adressen aus der in 6 gezeigten Tabelle für Variablen. Die Erzeugungseinheit für eine Tabelle für globale Variablen 112 deklariert dann globale Variablen durch Speichern der extrahierten Variablen und der entsprechenden Adressen in eine Tabelle für globale Variablen (Information über globale Variablen), wie es in 7 gezeigt ist. 7 ist ein Beispiel einer Tabelle für globale Variablen. Wie es in 7 gezeigt ist, speichert die Tabelle für globale Variablen darin die Adressen mit der Klassifizierung als global und die entsprechenden Variablen. Die Tabelle für globale Variablen wird verwendet, während ein neues Ablauffolgeprogramm kompiliert wird, das durch Substituieren von Variablen für Adressen (Vorrichtungen) in einem existierenden Ablauffolgeprogramm erzeugt wird, oder ein neueres Ablauffolgeprogramm, das durch Verwenden des neuen Ablauffolgeprogramms erzeugt wird.
  • Die Erzeugungseinheit für eine Tabelle für lokale Variablen 113 extrahiert die Variable mit der Klassifizierung als lokal und die entsprechenden Adressen aus der in 6 gezeigten Tabelle für Variablen. Die Erzeugungseinheit für eine Tabelle für lokale Variablen 113 deklariert dann lokale Variablen durch Speichern der extrahierten Variablen und der entsprechenden Adressen in eine Tabelle für lokale Variablen (Information über lokale Variablen), wie es in 8 gezeigt ist. 8 ist ein Beispiel einer Tabelle für lokale Variablen. Wie es in 8 gezeigt ist, speichert die Tabelle für lokale Variablen darin die Adressen mit der Klassifizierung als lokal und die entsprechenden Variablen. Die Tabelle für lokale Variablen wird verwendet, während ein neues Ablauffolgeprogramm kompiliert wird, das durch Substituieren von Variablen für Adressen (Vorrichtungen) in einem existierenden Ablauffolgeprogramm erzeugt wird, oder ein neueres Ablauffolgeprogramm, das durch Verwenden des neuen Ablauffolgeprogramms erzeugt wird.
  • Die Substitutionseinheit 114 substituiert eine Variable für jede Adresse, die in dem Code des existierenden Ablauffolgeprogramms 72 vorhanden ist, basierend auf der Tabelle für Variablen, die in 6 gezeigt und in der Erzeugungseinheit für eine Tabelle für Variablen 111 erzeugt ist. Somit wandelt die Substitutionseinheit 114 das existierende Ablauffolgeprogramm 72 in ein Ablauffolgeprogramm mit darin substituierten Variablen um. 9 ist ein Beispiel eines Ablauffolgeprogramms mit darin substituierten Variablen, das aus dem in 2 gezeigten existierenden Ablauffolgeprogramm 72 umgewandelt ist.
  • Wenn eine Variable für jede Adresse substituiert wird, die im Code des existierenden Ablauffolgeprogramms 72 vorhanden ist, verwendet die Substitutionseinheit 114 einen Kommentar, der in dem in 3 gezeigten Vorrichtungskommentar 73 enthalten ist, und zwar in Bezug auf jede Adresse als Variable. Wenn es keinen Kommentar in Bezug auf eine Adresse in dem Vorrichtungskommentar 73 gibt, verwendet die Substitutionseinheit 114 feste Zeichen, die im Voraus zugeordnet oder auf einer Basis von Fall zu Fall zugeordnet sind, als die für die Adresse ohne Kommentar zu substituierende Variable.
  • Der Programmerzeuger 115 verwendet das Ablauffolgeprogramm mit darin substituierten Variablen zum Erzeugen eines neuen Abfolgeprogramms.
  • Die Speichereinheit 13 speichert darin verschiedene Typen von Programmen, die zum Verarbeiten in der Programmerzeugungsvorrichtung 1 nötig sind, oder Ablauffolgeprogramme und Daten, die während der Verarbeitung erzeugt sind. 10 ist ein Blockdiagramm der Speichereinheit 13. Wie es in 10 gezeigt ist, enthält die Speichereinheit 13 einen Programmspeicher 131, der darin verschiedene Typen von Programmen speichert, die zum Verarbeiten in der Programmerzeugungsvorrichtung 1 nötig sind, einen Datenspeicher 132, der darin Daten speichert, die während der Verarbeitung in der Programmerzeugungsvorrichtung 1 erzeugt sind, und einen Speicher für ein neues Projekt 133, der darin ein Projekt von Ablauffolgeprogrammen speichert, die in der Programmerzeugungsvorrichtung 1 durch Wiederverwenden von existierenden Ablauffolgeprogrammen neu erzeugt oder editiert sind.
  • Der Speicher für neue Projekte 133 speichert darin Daten für ein neues Projekt 139, in welchem z. B. eine Tabelle für globale Variablen 134, ein Ablauffolgeprogramm A 135A, das neu erzeugt oder durch Wiederverwenden des existierenden Ablauffolgeprogramms 72 editiert ist, eine Tabelle für lokale Variablen A 136A entsprechend dem Ablauffolgeprogramm A 135A, ein Ablauffolgeprogramm B 135B, das neu erzeugt oder durch Wiederverwenden des existierenden Ablauffolgeprogramms 72 editiert ist, eine Tabelle für lokale Variablen B 136B entsprechend dem Ablauffolgeprogramm B 135B, eine Adressenklassifikationstabelle 137 und eine Tabelle für Variablen 138 gespeichert sind. Die Speichereinheit 13 kopiert das existierende Ablauffolgeprogramm 72 und den Vorrichtungskommentar 73 von der externen Speichervorrichtung 7 und speichert sie im Datenspeicher 132.
  • Die Kommunikationseinheit 15 fungiert als Informations-Eingabe/Ausgabe-Einheit zum Kommunizieren von Information zwischen der Programmerzeugungsvorrichtung 1 und der externen Speichervorrichtung 7, die extern an die Programmerzeugungsvorrichtung 1 angeschlossen ist. Die Steuereinheit 17 steuert die Programmerzeugungsvorrichtung 1 in ihrer Gesamtheit.
  • Nachfolgend ist die Beschreibung eines Prozesses zum Erzeugen eines neuen Ablauffolgeprogramms durch Wiederverwenden eines in der Vergangenheit erzeugten existierenden Ablauffolgeprogramms durch Implementieren des Programmerzeugungssystems des Ausführungsbeispiels angegeben. Zuerst wird ein Prozess zum Erzeugen einer Tabelle für Variablen unter Bezugnahme auf 11 beschrieben. 11 ist ein Ablaufdiagramm des Prozesses zum Erzeugen einer Tabelle für Variablen in der Programmerzeugungsvorrichtung 1 gemäß dem Ausführungsbeispiel.
  • Um eine Tabelle für Variablen zu erzeugen, kopiert die Erzeugungseinheit für eine Tabelle für Variablen 111 zuerst das existierende Ablauffolgeprogramm 72 und den Vorrichtungskommentar 73 von der externen Speichervorrichtung 7 und speichert sie in dem Datenspeicher 132 der Speichereinheit 13 (Schritt S101). Die Erzeugungseinheit für eine Tabelle für Variablen 111 beginnt dann ein Suchen nach Adressen (Vorrichtungen) ab dem Anfang der Codes des existierenden Ablauffolgeprogramms 72 und extrahiert die Adressen (Vorrichtungen) (Schritt S102).
  • Die Erzeugungseinheit für eine Tabelle für Variablen 111 bezieht sich auf eine Tabelle für Variablen, um zu bestimmen, ob die extrahierten Adressen (Vorrichtungen) bereits in der Tabelle für Variablen registriert worden sind (Schritt S103). Wenn die extrahierten Adressen (Vorrichtungen) noch nicht in der Tabelle für Variablen registriert sind (NEIN beim Schritt S103), registriert die Erzeugungseinheit für eine Tabelle für Variablen 111 die extrahierten Adressen (Vorrichtungen) in der Tabelle für Variablen (Schritt S104). Die Erzeugungseinheit für eine Tabelle für Variablen 111 klassifiziert die Adressen (Vorrichtungen) (global oder lokal) durch Durchsuchen der im Voraus in der Speichereinheit 13 gespeicherten Adressenklassifikationstabelle 137 nach den Adressen und registriert die Klassifizierung der Adressen (global oder lokal) in der Tabelle für Variablen (Schritt S105).
  • Die Erzeugungseinheit für eine Tabelle für Variablen 111 sucht dann den kopierten Vorrichtungskommentar 73, um zu bestimmen, ob es einen Kommentar in Bezug auf jede Adresse gibt (Schritt S106). Wenn es einen Kommentar in Bezug auf eine Adresse gibt (JA beim Schritt S106), registriert die Erzeugungseinheit für eine Tabelle für Variablen 111 den Kommentar als die Variable der entsprechenden Adresse in der Tabelle für Variablen (Schritt S107). Wenn es andererseits keinen Kommentar in Bezug auf eine Adresse gibt (NEIN beim Schritt S106), registriert die Erzeugungseinheit für eine Tabelle für Variablen 111 feste Zeichen, die im Voraus zugeordnet oder auf einer Basis Fall für Fall zugeordnet sind, als die Variable der entsprechenden Adresse in der Tabelle für Variablen (Schritt S108).
  • Nach einem Registrieren der Variablen bestimmt die Erzeugungseinheit für eine Tabelle für Variablen 111, ob alle Adressen (Vorrichtungen) in den Codes des existierenden Ablauffolgeprogramms 72 extrahiert und in der Tabelle für Variablen registriert sind (Schritt S109). Wenn noch nicht alle Adressen (Vorrichtungen) in den Codes des existierenden Ablauffolgeprogramms 72 in der Tabelle für Variablen registriert sind (NEIN beim Schritt S109), springt der Prozess zurück zum Schritt S102 zum Extrahieren von übrigen Adressen in den Codes des existierenden Ablauffolgeprogramms 72. Wenn alle Adressen (Vorrichtungen) in den Codes des existierenden Ablauffolgeprogramms 72 in der Tabelle für Variablen registriert sind (JA beim Schritt S109), ist der Prozess zum Erzeugen der Tabelle für Variablen beendet bzw. fertig.
  • Zwischenzeitlich springt beim Schritt S103, wenn bestimmt wird, dass die extrahierten Adressen (Vorrichtungen) in der Tabelle für Variablen registriert sind (JA beim Schritt S103), der Prozess zum Schritt S109. Die Erzeugungseinheit für eine Tabelle für Variablen 111 bestimmt dann, ob alle Adressen (Vorrichtungen) in den Codes des existierenden Ablauffolgeprogramms 72 extrahiert und in der Tabelle für Variablen registriert sind (Schritt S109).
  • Wenn noch nicht alle Adressen (Vorrichtungen) in den Codes des existierenden Ablauffolgeprogramms 72 in der Tabelle für Variablen registriert sind (NEIN beim Schritt S109), springt der Prozess zurück zum Schritt S102 zum Extrahieren von übrigen Adressen in den Codes des existierenden Ablauffolgeprogramms 72. Wenn alle Adressen (Vorrichtungen) in den Codes des existierenden Ablauffolgeprogramms 72 in der Tabelle für Variablen registriert sind (JA beim Schritt S109), ist der Prozess zum Erzeugen der Tabelle für Variablen beendet bzw. fertig.
  • Durch Durchführen des oben angegebenen Prozesses kann die Tabelle für Variablen 138 in der Programmerzeugungsvorrichtung 1 des Ausführungsbeispiels basierend auf dem existierenden Ablauffolgeprogramm 72 und dem Vorrichtungskommentar 73 in den Daten für ein existierendes Projekt 71 erzeugt werden, wie es in 12 gezeigt ist. 12 ist ein Diagramm zum Erklären der Erzeugung der Tabelle für Variablen 138 in der Programmerzeugungsvorrichtung 1.
  • Nachfolgend ist unter Bezugnahme auf 13 die Beschreibung eines Prozesses zum Substituieren der Adresse in den Codes des existierenden Ablauffolgeprogramms 72 basierend auf der Tabelle für Variablen 138 angegeben, die erzeugt ist, wie es oben beschrieben ist. 13 ist ein Ablaufdiagramm des Prozesses einer Variablensubstitution in der Programmerzeugungsvorrichtung 1 gemäß dem Ausführungsbeispiel.
  • Um eine Variablensubstitution in der Programmerzeugungsvorrichtung 1 durchzuführen, beginnt die Substitutionseinheit 114 in der Programmerzeugungseinheit 11 ein Suchen nach Adressen (Vorrichtungen) ab dem Anfang der Codes des existierenden Ablauffolgeprogramms 72, das in die Speichereinheit 13 kopiert ist, und extrahiert die Adressen (Vorrichtungen) (Schritt S201). Das Substitutionseinheit 114 sucht dann nach Variablen entsprechend den extrahierten Adressen und extrahiert diese Variablen (Schritt S202).
  • Die Substitutionseinheit 114 substituiert die Adressen in dem existierenden Ablauffolgeprogramm 72 durch die entsprechenden Variablen und speichert das Ablauffolgeprogramm nach einer Substitution in dem Speicher für ein neues Projekt 133 als das Ablauffolgeprogramm A 135A (Schritt S203). Nachdem die Substitution beendet ist, bestimmt die Substitutionseinheit 114, ob alle Adressen (Vorrichtungen) im existierenden Ablauffolgeprogramm 72 durch die entsprechenden Variablen substituiert sind (Schritt S204).
  • Wenn noch nicht alle Adressen (Vorrichtungen) im existierenden Ablauffolgeprogramm 72 durch die entsprechenden Variablen substituiert sind (NEIN beim Schritt S204), springt der Prozess zurück zum Schritt S201. Wenn andererseits alle Adressen (Vorrichtungen) im existierenden Ablauffolgeprogramm 72 durch die entsprechenden Variablen substituiert sind (JA beim Schritt S204), ist der Prozess einer variablen Substitution beendet.
  • Damit können gemäß dem Ausführungsbeispiel basierend auf dem existierenden Ablauffolgeprogramm 72 in den Daten für ein existierendes Projekt 71 und der Tabelle für Variablen 138 die Adressen (Vorrichtungen) im existierenden Ablauffolgeprogramm 72 automatisch durch Variablen in der Programmerzeugungsvorrichtung 1 substituiert werden, wie es in 14 gezeigt ist. Somit können die Daten für ein existierendes Projekt 71 in ein Ablauffolgeprogramm mit darin substituierten Variablen umgewandelt werden. Das bedeutet, dass ein existierendes Ablauffolgeprogramm ohne Variablen automatisch in ein neues Ablauffolgeprogramm mit darin substituierten Variablen umgewandelt werden kann. 14 ist ein Diagramm zum Erklären einer Variablensubstitution in der Programmerzeugungsvorrichtung 1.
  • Nachfolgend ist unter Bezugnahme auf 15 die Beschreibung eines Prozesses zum Erzeugen einer Tabelle für globale Variablen und zum Deklarieren von globalen Variablen basierend auf der Tabelle für Variablen 138 angegeben, die erzeugt ist, wie es oben beschrieben ist. 15 ist ein Ablaufdiagramm zum Erklären der Deklaration globaler Variablen in der Programmerzeugungsvorrichtung 1 gemäß dem Ausführungsbeispiel.
  • Um globale Variablen in der Programmerzeugungsvorrichtung 1 zu deklarieren, extrahiert die Erzeugungseinheit für eine Tabelle für globale Variablen 112 in der Programmerzeugungseinheit 11 von der Tabelle für Variablen 138 Variablen mit der Klassifizierung als global und die entsprechenden Adressen (Vorrichtungen) (Schritt S301). Die Erzeugungseinheit für eine Tabelle für globale Variablen 112 registriert dann die extrahierten globalen Variablen und die entsprechenden Adressen (Vorrichtungen) in der Tabelle für globale Variablen 134 (Schritt S302).
  • Nach einem Registrieren der extrahierten globalen Variablen und der entsprechenden Adressen (Vorrichtungen) bestimmt die Erzeugungseinheit für eine Tabelle für globale Variablen 112, ob alle globalen Variablen und die entsprechenden Adressen (Vorrichtungen) in der Tabelle für Variablen 138 in der Tabelle für globale Variablen 134 registriert sind (Schritt S303).
  • Wenn noch nicht alle globalen Variablen und die entsprechenden Adressen (Vorrichtungen) in der Tabelle für Variablen 138 in der Tabelle für globale Variablen 134 registriert sind (NEIN beim Schritt S303), springt der Prozess zurück zum Schritt S301. Wenn andrerseits alle globalen Variablen und die entsprechenden Adressen (Vorrichtungen) in der Tabelle für Variablen 138 in der Tabelle für globale Variablen 134 registriert sind (JA beim Schritt S303), ist der Prozess zum Deklarieren der globalen Variablen beendet.
  • Durch den oben angegebenen Prozess kann basierend auf der Tabelle für Variablen 138 die Tabelle für globale Variablen 134 automatisch zum Deklarieren der globalen Variablen erzeugt werden, wie es in 16 gezeigt ist. Darüber hinaus kann eine neue Variable durch Hinzufügen von ihr und einer entsprechenden Adresse (Vorrichtung) in der Tabelle für globale Variablen 134 deklariert werden. 16 ist ein Diagramm zum Erklären der Erzeugung der Tabelle für globale Variablen 134 in der Programmerzeugungsvorrichtung 1.
  • Nachfolgend ist unter Bezugnahme auf 17 die Beschreibung eines Prozesses zum Erzeugen einer Tabelle für lokale Variablen und zum Deklarieren von lokalen Variablen basierend auf der Tabelle für Variablen 138 angegeben, die erzeugt ist, wie es oben angegeben ist. 17 ist ein Ablaufdiagramm zum Erklären der Deklaration von lokalen Variablen in der Programmerzeugungsvorrichtung 1 gemäß dem Ausführungsbeispiel.
  • Um lokale Variablen in der Programmerzeugungsvorrichtung 1 zu deklarieren, extrahiert die Erzeugungseinheit für eine Tabelle für lokale Variablen 113 in der Programmerzeugungseinheit 11 aus der Tabelle für Variablen 138 Variablen mit der Klassifizierung als lokal und die entsprechenden Adressen (Vorrichtungen) (Schritt S401). Die Erzeugungseinheit für eine Tabelle für globale Variablen 113 registriert dann die extrahierten lokalen Variablen und die entsprechenden Adressen (Vorrichtungen) in der Tabelle für lokale Variablen A 136A (Schritt S402).
  • Nach einem Registrieren der extrahierten lokalen Variablen und der entsprechenden Adressen (Vorrichtungen) bestimmt die Erzeugungseinheit für eine Tabelle für lokale Variablen 113, ob alle lokalen Variablen und die entsprechenden Adressen (Vorrichtungen) in der Tabelle für Variablen 138 in der Tabelle für lokale Variablen A 136A registriert sind (Schritt S403).
  • Wenn noch nicht alle lokalen Variablen und die entsprechenden Adressen (Vorrichtungen) in der Tabelle für Variablen 138 in der Tabelle für lokale Variablen A 136A registriert sind (NEIN beim Schritt S403), springt der Prozess zum Schritt S401. Wenn andererseits alle lokalen Variablen und die entsprechenden Adressen (Vorrichtungen) in der Tabelle für Variablen 138 in der Tabelle für lokale Variablen A 136A registriert sind (JA beim Schritt S403), ist der Prozess zum Deklarieren der lokalen Variablen beendet.
  • Durch den oben angegebenen Prozess kann basierend auf der Tabelle für Variablen 138 die Tabelle für lokale Variablen A 136A entsprechend dem Ablauffolgeprogramm A 135A automatisch zum Deklarieren der lokalen Variablen erzeugt werden, wie es in 18 gezeigt ist. 18 ist ein Diagramm zum Erklären der Erzeugung der Tabelle für lokale Variablen A 136A in der Programmerzeugungsvorrichtung 1.
  • Der Programmerzeuger 115 in der Programmerzeugungsvorrichtung 1 kann das Ablauffolgeprogramm A 135A mit darin substituierten Variablen wiederverwenden, um z. B. das Ablauffolgeprogramm B 135B neu zu erzeugen und es in dem Speicher für neue Projekte 133 zu speichern. Zu dieser Zeit ist es möglich, eine neue globale Variable durch Hinzufügen von ihr und einer entsprechenden Adresse (Vorrichtung) in der Tabelle für globale Variablen 134 zu deklarieren, wie es oben beschrieben ist. Darüber hinaus ist es, wie es oben beschrieben ist, auch möglich, die Tabelle für lokale Variablen B 136B entsprechend dem Ablauffolgeprogramm B 135B zum Deklarieren lokaler Variablen zu erzeugen.
  • Somit kann das Ablauffolgeprogramm A 135A mit darin substituierten Variablen wiederverwendet werden, um das Ablauffolgeprogramm B 135B neu zu erzeugen, wie es in 19 gezeigt ist. 19 ist ein Diagramm zum Erklären der Funktionalität der Programmerzeugungsvorrichtung 1 gemäß dem Ausführungsbeispiel.
  • Zum Zusammenfassen können, wie es in 20 gezeigt ist, mit der Programmerzeugungsvorrichtung 1 das Ablauffolgeprogramm A 135A, die Tabelle für lokale Variablen A 136A und die Tabelle für globale Variablen 134 in den Daten für ein neues Projekt 139 basierend auf dem existierenden Ablauffolgeprogramm 72 und dem Vorrichtungskommentar 73 in den Daten für ein existierendes Projekt 71 und der Tabelle für Variablen 138 automatisch erzeugt und modifiziert werden.
  • Darüber hinaus können das Abfolgeprogramm B 135B, die Tabelle für lokale Variablen B 136B und die Tabelle für globale Variablen 134 in den Daten für ein neues Projekt 139 basierend auf dem Abfolgeprogramm A 135A, der Tabelle für lokale Variablen A 136A, der Tabelle für globale Variablen 134 und der Tabelle für Variablen 138 in den Daten für ein neues Projekt 139 erzeugt und modifiziert werden. 20 ist ein Diagramm zum Erklären der Funktionalität der Programmerzeugungsvorrichtung 1.
  • Wie es oben beschrieben ist, ist die Programmerzeugungsvorrichtung 1 eine periphere Vorrichtung einer PLC zum Erzeugen und Editieren eines Ablauffolgeprogramms der PLC. Durch Verwenden der Programmerzeugungsvorrichtung 1 ist es möglich, ein Ablauffolgeprogramm zu erzeugen, in welchem Adressen (Vorrichtungen), wie beispielsweise Eingabe/Ausgabe-Adressen (Eingabe/Ausgabe-Vorrichtungen) oder Adressen des internen Speichers (interne Vorrichtungen) der PLC, durch Variablen substituiert werden. Das bedeutet, dass ein Ablauffolgeprogramm durch Substituieren von Variablen für Adressen erzeugt wird, anstelle eines direkten Definierens der Adressen.
  • Darüber hinaus ist es möglich, ein in der Vergangenheit erzeugtes existierendes Ablauffolgeprogramm wiederzuverwenden, um ein neues Ablauffolgeprogramm in der Programmerzeugungsvorrichtung 1 zu erzeugen. Ein neues Ablauffolgeprogramm mit darin substituierten Variablen kann durch Wiederverwenden eines existierenden Ablauffolgeprogramms auch mit darin substituierten Variablen erzeugt werden. Darüber hinaus kann auch ein neues Ablauffolgeprogramm mit darin substituierten Variablen durch Wiederverwenden eines existierenden Ablauffolgeprogramms ohne Variablen erzeugt werden.
  • In diesem Fall werden Adressen (Vorrichtungen) in dem existierenden Ablauffolgeprogramm ohne Variablen automatisch durch Variablen in der Programmerzeugungsvorrichtung 1 substituiert, um das neue Ablauffolgeprogramm mit darin substituierten Variablen zu erzeugen.
  • Obwohl eine Eingabevorrichtung und eine Anzeigevorrichtung extern zu einer Programmerzeugungsvorrichtung angeordnet sind, wie es in oben beschrieben ist, ist es auch möglich, eine Programmerzeugungsvorrichtung derart zu konfigurieren, dass sie die Eingabevorrichtung und die Anzeigevorrichtung enthält. Darüber hinaus ist es, obwohl eine externe Speichervorrichtung direkt an die Programmerzeugungsvorrichtung angeschlossen ist, wie es oben beschrieben ist, auch möglich, die Verbindung zwischen der Programmerzeugungsvorrichtung und der externen Speichervorrichtung durch ein Netzwerk herzustellen. Darüber hinaus ist es, obwohl die existierenden Projektdaten 71 in der externen Speichervorrichtung 7 gespeichert sind, wie es oben beschrieben ist, auch möglich, die Daten für ein existierendes Projekt 71 in der in der Programmerzeugungsvorrichtung 1 enthaltenen Speichereinheit 13 zu speichern.
  • Die oben angegebenen Prozesse einer Variablensubstitution und einer Programmerzeugung können programmiert und auf einem Computer (einer peripheren Vorrichtung einer programmierbaren Steuerung) ausgeführt werden, der eine CPU enthält, und eine Speichervorrichtung, wie es in 21 gezeigt ist.
  • 21 ist ein Blockdiagramm eines Beispiels eines Computers, der ein Programm zum Implementieren des oben angegebenen Variablensubstitutionsverfahrens zum Erzeugen eines Programms ausführt. Der Computer enthält eine Eingabevorrichtung 201, eine Anzeigevorrichtung 202, eine CPU (zentrale Verarbeitungseinheit) 203, einen Speicher 204, eine Speichervorrichtung 205, ein Speichermedium-Laufwerk 206, eine Netzwerkschnittstelle 207 und einen Bus 208.
  • Die Eingabevorrichtung 201 enthält eine Tastatur, eine Maus, eine Berührungstafel bzw. ein Berührungspult, einen Scanner, etc. und wird zum Eingeben von Information verwendet. Die Anzeigevorrichtung 202 zeigt ausgegebene Information oder die von der Eingabevorrichtung 201 eingegebene Information an. Die CPU 203 führt verschiedene Programme aus. Der Speicher 204 speichert darin temporäre Information, die dann erzeugt ist, wenn Programme in der CPU 203 gebildet und ausgeführt werden. Die Speichervorrichtung 205 speichert darin Programme und die temporäre Information, die dann erzeugt ist, wenn die Programme ausgeführt werden. Das Speichermedium-Laufwerk 206 lädt darin ein Speichermedium, liest Programme oder Daten aus dem Speichermedium und speichert diese Information in dem Speicher 204 oder in der Speichervorrichtung 205. Die Netzwerkschnittstelle 207 verbindet den Computer mit einem Netzwerk. Der Bus 208 verbindet alle oben angegebenen Einheiten des Computers miteinander.
  • Obwohl die obige Beschreibung einen beispielhaften Fall einer Ablauffolgeprogrammerzeugung einer PLC betrachtet, ist die vorliegende Erfindung nicht auf eine Ablauffolgeprogrammerzeugung von nur einer PLC beschränkt, sondern kann in einem allgemeinen Fall einer Ablauffolgeprogrammerzeugung implementiert werden.
  • INDUSTRIELLE ANWENDBARKEIT
  • Eine periphere Vorrichtung einer programmierbaren Steuerung gemäß der vorliegenden Erfindung ist zum Erzeugen eines neuen Ablauffolgeprogramms durch Wiederverwenden eines existierenden Ablauffolgeprogramms ohne Variablen geeignet.
  • ZUSAMMENFASSUNG
  • Um eine periphere Vorrichtung einer programmierbaren Steuerung zum Umwandeln eines existierenden Programms in ein Programm mit darin substituierten Variablen zur Verfügung zu stellen, enthält die periphere Vorrichtung eine Variableninformations-Erzeugungseinheit, die eine Vielzahl von Adressen extrahiert, die in dem existierenden Programm definiert sind, eine eindeutige Variable zu jeder von extrahierten Adressen zuordnet und Variablenentsprechungsinformation über eine Entsprechung zwischen jeder der extrahierten Adressen und einer zugeordneten Variablen erzeugt; und eine Substitutionseinheit, die die zugeordnete Variable für jede der extrahierten Adresse substituiert, so dass das existierende Programm in das Programm mit darin substituierten Variablen umgewandelt wird.
  • 1
    Programmerzeugungsvorrichtung
    3
    Eingabevorrichtung
    5
    Anzeigevorrichtung
    7
    externe Speichervorrichtung
    11
    Programmerzeugungseinheit
    13
    Speichereinheit
    15
    Kommunikationseinheit
    17
    Steuereinheit
    71
    Daten für existierendes Projekt
    72
    existierendes Ablauffolgeprogramm
    73
    Vorrichtungskommentar
    111
    Erzeugungseinheit für Tabelle für Variablen
    112
    Erzeugungseinheit für Tabelle für globale Variablen
    113
    Erzeugungseinheit für Tabelle für lokale Variablen
    114
    Substitutionseinheit
    115
    Programmerzeuger
    131
    Programmspeicher
    132
    Datenspeicher
    133
    Speicher für neues Projekt
    134
    Tabelle für globale Variablen
    135A
    Ablauffolgeprogramm A
    135B
    Ablauffolgeprogramm B
    136A
    Tabelle A für lokale Variablen
    136B
    Tabelle B für lokale Variablen
    137
    Adressenklassifikationstabelle
    138
    Tabelle für Variablen
    139
    Daten für neues Projekt
    201
    Eingabevorrichtung
    202
    Anzeigevorrichtung
    203
    CPU
    204
    Speicher
    205
    Speichervorrichtung
    206
    Speichermedium-Laufwerk
    207
    Netzwerkschnittstelle
    208
    Bus
  • 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 2000-242313 [0003]

Claims (7)

  1. Periphere Vorrichtung einer programmierbaren Steuerung zum Umwandeln eines existierenden Programms in ein Programm mit darin substituierten Variablen, wobei die periphere Vorrichtung einer programmierbaren Steuerung folgendes aufweist: eine Variableninformations-Erzeugungseinheit, die eine Adresse aus dem existierenden Programm extrahiert, eine eindeutige Variable zu der Adresse zuordnet und Variablenentsprechungsinformation über eine Entsprechung zwischen der Adresse und der Variablen erzeugt; und eine Substitutionseinheit, die die Adresse basierend auf der Variablenentsprechungsinformation mit der Variablen substituiert, so dass das existierende Programm in das Programm mit darin substituierten Variablen umgewandelt wird.
  2. Periphere Vorrichtung einer programmierbaren Steuerung nach Anspruch 1, wobei ein erklärender Kommentar in Bezug auf die Adresse als die Variable zugeordnet wird.
  3. Periphere Vorrichtung einer programmierbaren Steuerung nach Anspruch 1, wobei basierend auf einer Adressenklassifikationsinformation über eine Entsprechung zwischen jeder von Adressen, die in dem existierenden Programm beschrieben sind, und einer Klassifikation der Adresse die Variableninformations-Erzeugungseinheit die Variablenentsprechungsinformation über eine Entsprechung zwischen der Adresse, der Variablen und einer entsprechenden Klassifikation erzeugt.
  4. Periphere Vorrichtung einer programmierbaren Steuerung nach Anspruch 3, wobei die Klassifikation der Adresse irgendeine einer globalen Adresse und einer lokalen Adresse ist, wobei die periphere Vorrichtung einer programmierbaren Steuerung weiterhin folgendes aufweist: eine Erzeugungseinheit für Information für globale Variablen, die eine globale Adresse und eine entsprechende Variable aus der Variablenentsprechungsinformation extrahiert und Information für globale Variablen über eine Entsprechung zwischen der globalen Adresse und der entsprechenden Variablen erzeugt.
  5. Periphere Vorrichtung einer programmierbaren Steuerung nach Anspruch 3, wobei die Klassifikation der Adresse irgendeine einer globalen Adresse und einer lokalen Adresse ist, wobei die periphere Vorrichtung einer programmierbaren Steuerung weiterhin folgendes aufweist: eine Erzeugungseinheit für Information für lokale Variablen, die eine lokale Adresse und eine entsprechende Variable aus der Variablenentsprechungsinformation extrahiert und Information für lokale Variablen über eine Entsprechung zwischen der lokalen Adresse und der entsprechenden Variablen erzeugt.
  6. Verfahren zur Variablensubstitution zum Umwandeln eines existierenden Programms in ein Programm mit darin substituierten Variablen, wobei das Verfahren folgendes aufweist: einen Erzeugungsschritt zum Extrahieren einer Adresse aus dem existierenden Programm, zum Zuordnen einer eindeutigen Variablen zu der Adresse und zum Erzeugen von Variablenentsprechungsinformation über eine Entsprechung zwischen der Adresse und der Variablen; und einen Substitutionsschritt zum Substituieren der Adresse mit der Variablen basierend auf der Variablenentsprechungsinformation, so dass das existierende Programm in das Programm mit darin substituierten Variablen umgewandelt wird.
  7. Programm, das das Verfahren zur Variablensubstitution nach Anspruch 6 auf einer peripheren Vorrichtung einer programmierbaren Steuerung implementiert.
DE112007003298T 2007-02-19 2007-02-19 Periphere Vorrichtung einer programmierbaren Steuerung, Verfahren zur Variablensubstitution und Computerprogrammprodukt dafür Withdrawn DE112007003298T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/052982 WO2008102426A1 (ja) 2007-02-19 2007-02-19 プログラマブルコントローラの周辺装置、置換方法およびプログラム

Publications (1)

Publication Number Publication Date
DE112007003298T5 true DE112007003298T5 (de) 2009-11-19

Family

ID=39709711

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112007003298T Withdrawn DE112007003298T5 (de) 2007-02-19 2007-02-19 Periphere Vorrichtung einer programmierbaren Steuerung, Verfahren zur Variablensubstitution und Computerprogrammprodukt dafür

Country Status (6)

Country Link
US (1) US20100161085A1 (de)
JP (1) JP4541418B2 (de)
KR (1) KR100967761B1 (de)
CN (1) CN101365994B (de)
DE (1) DE112007003298T5 (de)
WO (1) WO2008102426A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9582910B2 (en) 2011-12-28 2017-02-28 Mitsubishi Electric Corporation Display-screen-data editing apparatus

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5262765B2 (ja) * 2009-01-29 2013-08-14 株式会社明電舎 Plcのプログラム変換ツール
KR101592974B1 (ko) * 2009-03-27 2016-02-12 삼성전자주식회사 복수의 프로세서들을 포함하는 시스템 장치 및 그 변수 선언 및 사용 방법
CN103180789B (zh) * 2010-10-27 2016-03-02 三菱电机株式会社 日志设定装置、日志设定方法
JP2012141853A (ja) * 2011-01-04 2012-07-26 Mitsubishi Electric Corp プログラマブルコントローラ及びプログラマブルコントローラシステム
US9772617B2 (en) * 2011-06-30 2017-09-26 General Electric Company Systems and methods for function block instantiation
JP5968186B2 (ja) * 2012-10-15 2016-08-10 三菱電機株式会社 プログラム作成支援装置及びプログラム
TWI489232B (zh) * 2012-11-14 2015-06-21 Inst Information Industry 遠端監控系統及方法及其記錄媒體
CN105144003B (zh) * 2013-03-04 2017-04-05 三菱电机株式会社 程序开发辅助装置及其方法
US9626160B2 (en) * 2013-03-29 2017-04-18 Mitsubishi Electric Corporation Sequence-program-component creation program and sequence-program-component creation device
JP6375666B2 (ja) * 2014-03-31 2018-08-22 株式会社ジェイテクト Plcおよびplc用のプログラミングツール
JP5937637B2 (ja) * 2014-04-30 2016-06-22 ファナック株式会社 シーケンスプログラムの切り替え時に、切り替え予告信号を出力する制御装置
US10739746B2 (en) 2014-10-30 2020-08-11 Siemens Aktiengesellschaft Using soft-sensors in a programmable logic controller
JP6483507B2 (ja) * 2015-04-07 2019-03-13 株式会社東芝 制御プログラム作成装置、及び制御プログラムのデバッグ方法
DE112018000198T5 (de) 2018-05-11 2019-12-24 Mitsubishi Electric Corporation Compiler und Programmierungsunterstützungsgerät
CN112084013B (zh) * 2019-06-13 2024-04-05 武汉杰开科技有限公司 一种程序调用方法、芯片及计算机存储介质
CN113268042B (zh) * 2021-05-13 2022-06-24 矿冶科技集团有限公司 一种上位机程序处理方法、装置以及电子设备
CN113848815A (zh) * 2021-08-27 2021-12-28 苏州谷夫道自动化科技有限公司 多通道数控系统plc程序共用的方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000242313A (ja) 1999-02-18 2000-09-08 Omron Corp アドレス自動割付方法および装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2593007B2 (ja) * 1991-03-25 1997-03-19 東北リコー株式会社 プログラム組込型機器
JPH11338732A (ja) * 1998-05-27 1999-12-10 Fuji Electric Co Ltd プログラマブルコントローラ支援装置および記録媒体
WO2001027701A1 (fr) * 1999-10-15 2001-04-19 Omron Corporation Systeme de reseau, procede de commande, dispositif de commande et multiprocesseur
JP2001229015A (ja) * 2000-02-18 2001-08-24 Mitsubishi Electric Corp 制御装置
FR2820222B1 (fr) * 2001-01-26 2003-03-21 Schneider Automation Procede de programmation d'une application d'automatisme
CN100397268C (zh) * 2002-12-23 2008-06-25 西门子能量及自动化公司 利用plc的存储设备的方法和结构
JP2005129026A (ja) * 2003-10-02 2005-05-19 Omron Corp プログラマブルコントローラおよび通信ユニットならびにコントローラシステムおよびデータ処理方法ならびに変数解決方法およびデータ受渡方法
JP4513806B2 (ja) * 2004-04-15 2010-07-28 三菱電機株式会社 プログラマブルロジックコントローラの周辺装置及びそのプログラム作成方法
JP4485326B2 (ja) * 2004-11-05 2010-06-23 株式会社デジタル プログラマブル表示器、表示制御プログラムおよびそのプログラムを記録した記録媒体

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000242313A (ja) 1999-02-18 2000-09-08 Omron Corp アドレス自動割付方法および装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9582910B2 (en) 2011-12-28 2017-02-28 Mitsubishi Electric Corporation Display-screen-data editing apparatus

Also Published As

Publication number Publication date
KR100967761B1 (ko) 2010-07-05
JP4541418B2 (ja) 2010-09-08
CN101365994B (zh) 2013-08-21
KR20090010942A (ko) 2009-01-30
CN101365994A (zh) 2009-02-11
JPWO2008102426A1 (ja) 2010-05-27
US20100161085A1 (en) 2010-06-24
WO2008102426A1 (ja) 2008-08-28

Similar Documents

Publication Publication Date Title
DE112007003298T5 (de) Periphere Vorrichtung einer programmierbaren Steuerung, Verfahren zur Variablensubstitution und Computerprogrammprodukt dafür
DE3416939C2 (de)
DE112012006107B4 (de) Sequenzprogramm-Fehlerbehebungs-Hilfsvorrichtung
DE69532307T2 (de) Ausdrucks-Propagierung für hierarchisches Netzlisten
EP2069920A1 (de) Verfahren zur rechnergestützten bewertung von softwarequellcode
DE112011105895T5 (de) Projektdatenerzeugungsvorrichtung und programmierbare Anzeigevorrichtung
EP1561180A2 (de) Vorrichtung und verfahren zur erzeugung eines abarbeitungs-werkzeugs
DE102016011020A1 (de) Kontaktplan-Überwachungsvorrichtung mit der Fähigkeit, zusätzlich eine Betriebssituation einer CNC in einem Kommentar anzuzeigen
DE112014003082B4 (de) Programmierbares Steuerungssystem, programmierbare Steuerung, Programmanzeigevorrichtung und Programmanzeigeverfahren
DE4417393A1 (de) Eine Methode zur Herstellung spezifischer Programm-Systeme und Sammlungen von Unterstützungsprogrammen (Tools) zur Erleichterung von Programmsystem-Herstellungsarbeiten
DE10256990A1 (de) Programmcodegenerator und Programm
EP1383061A2 (de) Verfahren und Konfigurator zur Erstellung eines Anlagenkonzepts aus einer Anzahl von Anlagenkomponenten
WO2000054188A2 (de) Verfahren zur automatischen wiedergewinnung von engineeringdaten aus anlagen
DE102021003647A1 (de) Informationsverarbeitungsvorrichtung, Kontaktplanprogramm-Erzeugungsvorrichtung, Informationsverarbeitungsverfahren, Kontaktplanprogrammerzeugungsverfahren, Verfahren zum Herstellen eines Produkts, Programm und Aufzeichnungsmedium
DE10211953A1 (de) System und Verfahren zur Projektierung mit Objektbaum aus hierarchisch stufbaren Objekten
EP1387260A1 (de) Verfahren und Vorrichtung zur Erzeugung von Software
DE102020202723A1 (de) Automatische-Codeerzeugung-Verfahren und computerlesbares Speichermedium, das ein Automatische-Codeerzeugung-Programm speichert
DE102015209715A1 (de) Verfahren und System zur rechnergestützten Überführung eines Architektur-Konzepts eines technischen Systems in eine Architekturspezifikation
DE112016007465T5 (de) Programmentwicklungsunterstützungsvorrichtung und Verfahren zur Verwaltung von Programmkomponenten
DE10233971A1 (de) Verfahren und Vorrichtung zur Erzeugung von Software
EP2093663A1 (de) Engineering-System für die Entwicklung eines Projektes und Verfahren
WO2014131430A1 (de) Verfahren zur modellbasierten softwareentwicklung von programmen mit datenbankzugriff
DE102020125947A1 (de) Parametereinstellvorrichtung und parametereinstellsystem für eine werkzeugmaschine
EP1610194A2 (de) Verfahren und System zur kontextsensitiven Bereitstellung von Produktinformationen
DE102022125524A1 (de) Verfahren zum Entwerfen von Maschinensystemen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R016 Response to examination communication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20140902