DE112006003770T5 - Programmierungsunterstützungsvorrichtung, Programmierungsunterstützungsverfahren, Programm zum Veranlassen eines Computers, das Verfahren zu Implementieren, und Aufzeichnungsmedium, das das Programm enthält - Google Patents

Programmierungsunterstützungsvorrichtung, Programmierungsunterstützungsverfahren, Programm zum Veranlassen eines Computers, das Verfahren zu Implementieren, und Aufzeichnungsmedium, das das Programm enthält Download PDF

Info

Publication number
DE112006003770T5
DE112006003770T5 DE112006003770T DE112006003770T DE112006003770T5 DE 112006003770 T5 DE112006003770 T5 DE 112006003770T5 DE 112006003770 T DE112006003770 T DE 112006003770T DE 112006003770 T DE112006003770 T DE 112006003770T DE 112006003770 T5 DE112006003770 T5 DE 112006003770T5
Authority
DE
Germany
Prior art keywords
label
shared
labels
control
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.)
Withdrawn
Application number
DE112006003770T
Other languages
English (en)
Inventor
Yuzuru Tone
Satoru Nakai
Masayuki Ueno
Tetsuji Honnami
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 DE112006003770T5 publication Critical patent/DE112006003770T5/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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/052Linking several PLC's
    • 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/12Plc mp multi processor system
    • G05B2219/1209Exchange control, I-O data to other plc, individually, without host
    • 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/15Plc structure of the system
    • G05B2219/15118Shared memory

Abstract

Eine Programmierungsunterstützungsvorrichtung, die Erstellung eines Steuerprogramms unterstützt, das ein Label verwendet, womit jede einer Vielzahl von Steuervorrichtungen, die in einem Steuersystem vorgesehen sind, ein Objekt steuert, das zu steuern ist, die Programmierungsunterstützungsvorrichtung umfassend:
eine Extraktionseinheit eines geteilten Labels, die ein geteiltes Label extrahiert, das mit einer Einrichtung in Verbindung zu bringen ist entsprechend einem Speicher, der durch die Steuervorrichtungen geteilt wird, von Steuerprogrammen für die jeweiligen Steuervorrichtungen;
eine Schreib-/Leseinformationsgenerierungseinheit eines geteilten Labels, die bestimmt, welche der Steuervorrichtungen Daten für das geteilte Label schreibt und welche der Steuervorrichtungen Daten für das geteilte Label liest, durch Verweisen auf die Steuerprogramme, und Schreib-/Leseinformation eines geteilten Labels generiert; und
eine Einrichtungsstapelzuweisungs-/Assoziierungseinheit, die geteilte Label, die durch die Steuervorrichtungen zu schreiben sind, für jede der Steuervorrichtungen sortiert, die die Schreib-/Leseinformation eines geteilten Labels verwendet, und das geteilte Label mit einer Adresse der Einrichtung für jede Sortierung in Verbindung bringt.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung bezieht sich auf eine Programmierungsunterstützungsvorrichtung, die Erstellung eines Steuerprogramms für jede einer Vielzahl von Steuervorrichtungen unterstützt, die in einem Steuersystem vorgesehen sind, und bezieht sich auch auf ein Programmierungsunterstützungsverfahren, ein Programm, das einen Computer veranlasst, das Verfahren zu implementieren, und ein Aufzeichnungsmedium, das darin das Programm speichert.
  • STAND DER TECHNIK
  • Eine programmierbare Steuervorrichtung (hierin nachstehend "PLC"), eine Bewegungssteuervorrichtung (hierin nachstehend "MC") und eine HMI (Mensch-Maschinen-Schnittstelle: Anzeige und SCADA (Supervisory Control And Data Acquisition) wurden herkömmlich verwendet, um Maschinen, wie etwa Verarbeitungsmaschinen und Montagemaschinen, zu steuern. Seit kurzem wird ein Steuersystem, das eine Vielzahl von PLCs verwendet, häufig für einen Fall aufgebaut, wo eine Herstellungslinie mit einer Vielzahl von Einrichtungen gebildet wird, zusätzlich zu einem Fall, wo eine einzelne Einrichtung gesteuert wird. Das Steuersystem, das durch Verwenden der PLCs aufgebaut wird, hat zwei Systeme, (1) ein Verknüpfungssteuersystem, in dem eine Vielzahl von PLCs, von denen jede eine CPU-(zentrale Verarbeitungseinheit) Einheit und eine Netzeinheit enthält, über ein Netz miteinander verbunden ist, und (2) ein Multi-CPU-Steuersystem, in dem eine Vielzahl von CPU-Einheiten an einer Basiseinheit montiert ist und die jeweiligen CPU-Einheiten miteinander über einen Bus verbunden sind, um eine PLC zu bilden.
  • (1) Verknüpfungssteuersystem
  • Das Verknüpfungssteuersystem erfordert Datenaustausch zwischen den PLCs, wie oben erläutert, und um dies zu realisieren, sind die PLCs miteinander über ein FA-(Fabrikautomatisierung) Netz verbunden, um Daten auszutauschen. In diesem Verknüpfungssteuersystem werden Daten zwischen den PLCs über Verknüpfungseinrichtungen ausgetauscht. 1-1 ist ein Schema eines Beispiels der Konfiguration des Verknüpfungssteuersystems und der Verknüpfungseinrichtungen. 1-2 ist ein Schema eines Beispiels des Inhalts der Verknüpfungseinrichtung in der PLC des Steuersystems, das in 1-1 gezeigt wird. Ein Steuersystem 500 ist so konfiguriert, dass PLCs 501-1 bis 501-4, von denen jede eine CPU-Einheit 502 und eine Netzeinheit 503 hat, über ein FA-Netz 504 gegenseitig miteinander verbunden sind. Jede der PLCs wird eine "Station" genannt, und somit werden die PLCs 501-1 bis 501-4 jeweils "Station 1 bis Station 4" genannt. Die CPU-Einheit 502 enthält eine Verknüpfungseinrichtung, und Daten werden zwischen den PLCs 501-1 bis 501-4 über jede Verknüpfungseinrichtung ausgetauscht. Einrichtungswerte von anderen Stationen werden periodisch in der Verknüpfungseinrichtung ihrer eigenen Einrichtung kopiert, und die Verknüpfungseinrichtung hat eine Funktion entsprechend dem, was als ein geteilter Speicher unter den PLCs 501-1 bis 501-4 gehandhabt wird, die mit dem FA-Netz 504 verbunden sind.
  • Wie in 1-2 gezeigt, ist ein Typ einer Zuweisung in der Verknüpfungseinrichtung 510 durch das Netz vorgesehen, und die gleiche Einstellung der Zuweisung wird in jeder CPU 502 der Stationen verwendet. Wenn jedoch die Zuweisung in der Verknüpfungseinrichtung 510 vorzusehen ist, werden Bereiche in der Verknüpfungseinrichtung 510, um durch eine der Stationen geschrieben zu werden, kontinuierlich in einem Standort gesammelt. Dies ist so, da wenn Einrichtungswerte von anderen Stationen in die Verknüpfungseinrichtung 510 der eigenen Station periodisch kopiert werden, eine Vielzahl von Daten zwischen den Stationen durch gemeinsames Übertragen der Vielzahl von Daten (Einrichtungswerte, die in dem einen Standort gemeinsam gespeichert sind) in einer Übertragung effizient transferiert werden (siehe z. B. Patentliteraturstelle 1).
  • Z. B. werden in der Verknüpfungseinrichtung 510 jeder der Stationen Einrichtungswerte der Station 1 in Bereichen von Adressen "B00 bis B0F" (hierin nachstehend "Block 1") geschrieben, Einrichtungswerte der Station 2 werden in Bereichen von Adressen "b10 bis B1F" (hierin nachstehend "Block 2") geschrieben, Einrichtungswerte der Station 3 werden in Bereichen von Adressen "B20 bis B2F" (hierin nachstehend "Block 3") geschrieben, und Adresswerte der Station 4 werden in Bereichen von Adressen "330 bis B3F" (hierin nachstehend "Block 4") geschrieben. Die eigene Station kann jedoch nur Daten in den Bereichen der Station entsprechend einer Schreibstation schreiben, kann aber die Bereiche der anderen Stationen nur referenzieren. Z. B. ist in der Verknüpfungseinrichtung 510 der Station 1 der Block 1 der, wo die Station 1 selbst Einrichtungswerte schreiben kann, während der Block 2 der ist, wo die Station 2 Einrichtungswerte schreibt und somit die Station 1 nur die Einrichtungswerte in der Station 2 referenzieren kann. Des weiteren sind die Blöcke 3 und 4 die, wo die Stationen 3 und 4 jeweils Einrichtungswerte schreiben, und somit kann die Station 1 die Einrichtungswerte darin nur referenzieren. Die Station 1 speichert gemeinsam die Einrichtungswerte der eigenen Station in dem Block 1, und überträgt somit periodisch und gemeinsam diese Einrichtungswerte zu den anderen Stationen.
  • (2) Multi-CPU-Steuersystem
  • Nachstehend wird das Multi-CPU-Steuersystem erläutert. Wenn eine Vielzahl von PLCs verwendet wird, um eine einzelne Einrichtung zu steuern, ist eine CPU allgemein in jeder der PLCs vorgesehen. Eine PLC wird jedoch häufig stattdessen mit vielen CPUs gebildet, und eine Einrichtung kann durch die eine PLC gemeinsam gesteuert werden. Wenn die Herstellungslinie mit einer Vielzahl von Einrichtungen gebildet wird, ist ähnlich eine CPU allgemein in jeder der PLCs vorgesehen, und eine Vielzahl dieser PLCs wird verwendet, um die Linie zu steuern. Eine PLC ist jedoch stattdessen mit vielen CPUs gebildet, und eine Vielzahl von Einrichtungen kann auch durch die eine PLC gemeinsam gesteuert werden (siehe z. B. Nicht-Patentliteraturstelle 1). Das Steuersystem mit der PLC, die mit einer derartigen Multi-CPU-Konfiguration wie oben gebildet ist, wird in dieser Spezifikation "Multi-CPU-Steuersystem" genannt.
  • 2 ist ein Schema der Konfiguration des Multi-CPU-Steuersystems. Ein Multi-CPU-Steuersystem 600 enthält CPU-Einheiten 602-1 bis 602-4, die an einer Basiseinheit 601 montiert sind. Vorgesehen in der Basisstation 601 ist ein Bus 603, der zwischen den CPU-Einheiten 602-1 bis 602-4 verbindet. In dem Multi-CPU-Steuersystem 600 werden Daten zwischen den CPU-Einheiten 602-1 bis 602-4 über jede geteilte Auffrischungseinrichtung gegenseitig ausgetauscht.
  • 3-1 ist ein Schema jeder geteilten Auffrischungseinrichtung des Multi-CPU-Steuersystems, und 3-2 ist ein Schema eines Beispiels einer Einstellung für die geteilte Auffrischungseinrichtung in jeder PLC des Steuersystems von 3-1. Diese Figur zeigt, dass das Multi-CPU-Steuersystem mit den zwei CPU-Einheiten 602-1 und 602-2 gebildet wird. Jede der CPU-Einheiten 602-1 und 602-2 enthält die geteilte Auffrischungseinrichtung. Einrichtungswerte der anderen CPUs werden in die geteilte Auffrischungseinrichtung der eigenen CPU periodisch kopiert. Die geteilte Auffrischungseinrichtung hat eine Funktion entsprechend dem, was als ein geteilter Speicher zwischen den CPU-Einheiten 602-1 und 602-2 gehandhabt wird, die miteinander über den Bus 603 verbunden sind. Es wird vermerkt, dass die Funktion zum periodischen Kopieren der Einrichtungswerte von anderen CPU-Einheiten in die Einrichtung der eigenen CPU-Einheit "Multi-CPU-Auto-Auffrischungsfunktion" genannt wird.
  • Wie in Einstellung 610 der geteilten Auffrischungseinrichtung von 3-2 gezeigt, wird, wenn eine Auffrischungsquellen-CPU die CPU-Einheit 602-1 ist, eine Kopfadresse, in der ein Einrichtungswert der CPU-Einheit 602-1 geschrieben ist, auf "D00" als die Multi-CPU-Auto-Auffrischungsfunktion gesetzt, und eine Kopfadresse, in der ein Einrichtungswert der CPU-Einheit 602-2 geschrieben ist, wird auf "D10" als die gleiche Funktion gesetzt. Wenn die Auffrischungsquellen-CPU die CPU-Einheit 602-2 ist, wird eine Kopfadresse, in der der Einrichtungswert der CPU-Einheit 602-1 geschrieben ist, auf "D10" als die Multi-CPU-Auto-Auffrischungsfunktion gesetzt, und eine Kopfadresse, in der der Einrichtungswert der CPU-Einheit 602-2 geschrieben ist, wird auf "D00" als die gleiche Funktion gesetzt. Die Zahl von Punkten des Einrichtungswertes in diesem Zeitpunkt ist 16.
  • Wie in 3-1 gezeigt, sind durch Setzen der Multi-CPU-Auto-Auffrischungsfunktion auf die obige Art und Weise Adressen "D00 bis D0F" der CPU-Einheit 602-1 ein Bereich, der durch die CPU-Einheit 602-1 selbst geschrieben wird, und Adressen "D10 bis D1F" der CPU-Einheit 602-1 sind ein Bereich, wo Einrichtungswerte in Adressen "D00 bis D0F" der CPU-Einheit 602-2 geschrieben sind. Hier kann die CPU-Einheit 602-1 nur die Einrichtungswerte referenzieren, die durch die CPU-Einheit 602-2 geschrieben werden. Gleichermaßen sind die Adressen "D00 bis D0F" der CPU-Einheit 602-2 ein Bereich, der durch die CPU-Einheit 602-2 selbst geschrieben wird, und die Adressen "D10 bis D1F" der CPU-Einheit 602-2 sind ein Bereich, wo die Einrichtungswerte in den Adressen "D00 bis D0F" der CPU-Einheit 602-1 geschrieben sind. Hier kann die CPU-Einheit 602-2 nur die Einrichtungswerte referenzieren, die durch die CPU-Einheit 602-1 geschrieben werden.
  • Wie in 3-1 und 3-2 gezeigt, ist, wenn die Zuweisung in der geteilten Auffrischungseinrichtung vorgesehen ist, die Multi-CPU-Auto-Auffrischungsfunktion konfiguriert, die Einrichtungswerte kontinuierlich zu sammeln, die durch eine CPU in einem Standort geschrieben werden. Dies ist so, da wenn die Einrichtungswerte der anderen CPU-Einheiten in die geteilte Auffrischungseinrichtung der eigenen CPU-Einheit periodisch kopiert werden, eine Vielzahl von Elementen von Daten zwischen CPU-Einheiten durch gemeinsames Übertragen der Elemente von Daten (Einrichtungswerte, die gemeinsam in einem Standort gespeichert sind) in einer Kommunikation effizient transferiert wird.
  • Die Erläuterung so weit zeigt je einen Überblick über das Verknüpfungssteuersystem und das Multi-CPU-Steuersystem an. Allgemein wurden herkömmlich ein Steuerprogramm für eine PLC oder MC, die verwendet wird, um Maschinen, wie etwa Verarbeitungsmaschinen und Montagemaschinen zu steuern, und ein Bild schirmprogramm für eine HMI durch Verwenden von Adressen von Einrichtungen beschrieben. 4 ist ein Schema eines Beispiels eines herkömmlichen Steuerprogramms. Diese Figur zeigt ein Steuerprogramm 701, das in einem Leiterprogramm beschrieben ist, und eine Einrichtungstabelle 702, in der Einrichtungsdaten, die für das Steuerprogramm verwendet werden, geschrieben sind. Wie in dem Steuerprogramm 701 gezeigt, wird das Leiterprogramm durch ein Kontaktsymbol 711 und ein Spulensymbol 712 beschrieben. Wenn z. B. das Steuerprogramm für das Verknüpfungssteuersystem zu beschreiben ist, wird ein Programm für einen Abschnitt bezogen auf einen Datenaustausch zwischen PLCs durch Verwenden von "B0" beschrieben, was eine Verknüpfungseinrichtung anzeigt. Und wenn das Steuerprogramm für das Multi-CPU-Steuersystem zu beschreiben ist, wird ein Programm für einen Abschnitt bezogen auf einen Datenaustausch zwischen CPUs durch Verwenden von "D0" beschrieben, was eine geteilte Referenzeinrichtung anzeigt.
  • Herkömmlich ist es üblich, dass das System zum Beschreiben des Programms durch Verwenden von Adressen von Einrichtungen, wie in 4 gezeigt, für das Steuerprogramm und das Bildschirmprogramm verwendet wurde. Seit kurzem wird jedoch ein System verallgemeinert, in dem das Programm durch Verwenden von Labelnamen beschrieben wird, und jeder Labelname getrennt mit einer Adresse jeder Einrichtung in Verbindung steht. 5 ist ein Schema eines Beispiels eines Steuerprogramms, das Label verwendet. Das Steuerprogramm 701, die Einrichtungstabelle 702 und eine Label-zu-Einrichtung-Assoziierungstabelle 703, die eine Einrichtung mit einem Label in Verbindung bringt (assoziiert), werden in einem Entwicklungswerkzeug dargestellt, das auf der linken Seite von 5 gezeigt wird. Genauer wird das Steuerprogramm 701 durch Verwenden von Labeln beschrieben, und Einrichtungen und Label, die verwendet werden können, werden vorher in der Label-zu-Einrichtung-Assoziierungstabelle 703 miteinander in Verbindung gebracht.
  • Und die Label werden jeweils zu entsprechenden Einrichtungen beim Kompilieren gewandelt. Nach der Wandlung wird das Steuerprogramm 701 durch Verwenden der Einrichtungen beschrieben, wie auf der rechten Seite von 5 gezeigt.
  • Ein Labelname hat einen Datentyp, wie etwa BOOL und WORD. Wenn ein Labelname mit einer Einrichtung in Verbindung zu bringen ist, wird einfach ein Labelname vom BOOL-Typ mit einer Einrichtung vom BOOL-Typ in Verbindung gebracht, und somit gibt es keine Einschränkung in der Assoziation zwischen einem Label und einer Adresse einer Einrichtung. Außerdem kann ein beliebiger Name dem Labelnamen gegeben werden, sodass der Inhalt der Daten durch ihren Namen identifiziert werden kann, und somit wird Lesbarkeit des Steuerprogramms im Vergleich mit dem Fall verbessert, wo das Steuerprogramm durch Verwenden von Einrichtungen beschrieben wird. Im Sinne dieser Punkte kann Erstellung des Steuerprogramms durch Verwenden von Labelnamen im Vergleich mit dem herkömmlichen Fall effizienter sein, wo das Steuerprogramm durch Verwenden von Einrichtungsadressen erstellt wird.
  • In dem Verknüpfungssteuersystem 500, welches Daten zwischen den PLCs 501 über die Verknüpfungseinrichtungen gegenseitig austauscht, ist es, wenn jedes Programm für die PLCs 501 durch Verwenden von Labelnamen beschrieben wird, wünschenswert, einen gleichen Labelnamen für Daten zu verwenden, die zwischen den PLCs 501 auszutauschen sind. Das gleiche trifft auf das Multi-CPU-Steuersystem 600 zu, das Daten zwischen den CPU-Einheiten 602 über die geteilten Auffrischungseinrichtungen austauscht.
  • Die Labelnamen werden durch jede PLC 501 in dem Verknüpfungssteuersystem 500 einzeln gemanagt. Falls der gleiche Labelname für die Daten zu verwenden ist, die zwischen den PLCs 501 ausgetauscht werden, müssen Personen, die für eine Er stellung jedes Steuerprogramms für die PLCs 501 verantwortlich sind, im voraus "übereinstimmen", das gleiche Label zu verwenden. Das gleiche trifft auf das Multi-CPU-Steuersystem 600 zu, das Daten zwischen den CPU-Einheiten 602 über die geteilten Auffrischungseinrichtungen austauscht.
  • Um den gleichen Labelnamen in einer Vielzahl von PLCs 501 zuverlässig zu verwenden, kann nur die Absprache zwischen den verantwortlichen Personen Auftreten eines beliebigen Fehlschlags wegen einem Kommunikationsfehler zwischen den Personen oder dergleichen verhindern. Um dieses Problem zu lösen, wird z. B., als eine Technologie zum Verwenden des gleichen Labelnamen zwischen den PLCs 501, eine Technologie zum Teilen des Labelnamen zwischen Werkzeugen zum Erstellen von Programmen für die PLCs 501 vorgeschlagen (siehe z. B. Patentliteraturstelle 2).
    • Patentliteraturstelle 1: offengelegte japanische Patentanmeldung Nr. H6-311202
    • Patentliteraturstelle 2: internationale Veröffentlichung Nr. 02/042853 , Broschüre
    • Patentliteraturstelle 3: offengelegte japanische Patentanmeldung Nr. 2003-15705
    • Nicht-Patentliteraturstelle 1: Q Corresponding MELSECNET/H Network System: Mitsubishi General-Purpose Sequencer MELSAC-Q, [online], Mitsubishi Electric Corp., Dezember 2005, [gesucht am 20. Januar 2006], Internet <URL: http://wwwf3.mitsubishielectric.co.jp/members/o manual/plc/sh 080026/sh080026k.pdf>
  • OFFENBARUNG DER ERFINDUNG
  • PROBLEM, DAS DURCH DIE ERFINDUNG ZU LÖSEN IST
  • Falls jedoch die gleichen Label verwendet werden für Daten, die zwischen PLCs ausgetauscht werden, und Daten, die zwischen CPUs ausgetauscht werden, müssen diese Label mit den Verknüpfungseinrichtungen des Verknüpfungssteuersystems und mit den geteilten Auffrischungseinrichtungen des Multi-CPU-Steuersystems in Verbindung gebracht werden, und ein Problem, das dadurch entsteht, besteht darin, dass die Assoziation kompliziert wird.
  • Das Problem in dem Verknüpfungssteuersystem wird nachstehend speziell erläutert. Ein Typ einer Zuweisung wird in der Verknüpfungseinrichtung durch das Netz bereitgestellt, und die gleiche Zuweisungseinstellung wird in den PLCs der Stationen verwendet. Zu dieser Zeit müssen Bereiche in der Verknüpfungseinrichtung, die durch eine Station geschrieben werden, in einem Standort kontinuierlich gesammelt werden. Wenn Label mit einer Verknüpfungseinrichtung in Verbindung zu bringen sind, ist es deshalb notwendig, jedes Label mit der Verknüpfungseinrichtung durch Betrachten dessen in Verbindung zu bringen, welche der Stationen Daten für das Label schreibt. Z. B. kann in 1-1 das Label, das als Daten verwendet wird, die durch die Station 1 zu schreiben sind, nur mit der Verknüpfungseinrichtung in Verbindung gebracht werden, die durch die Station 1 geschrieben wird. Zusätzlich dazu ist es, wenn die Zuweisung in der Verknüpfungseinrichtung bereitgestellt wird, notwendig, alle Punkte der Label hoch zu zählen, die als Daten verwendet werden, die durch die Station 1 zu schreiben sind, diese Punkte kontinuierlich in einem Standort zu sammeln und sie der Verknüpfungseinrichtung zuzuweisen. Ungeachtet dessen, dass die Programmierung durch Verwenden der Label effizient gemacht wird, kann mit anderen Worten eine übergreifende Effizienz im Vergleich mit dem herkömmlichen Fall nicht so viel verbessert werden, wo die Programmie rung unter Verwendung der Einrichtungen durchgeführt wird, da eine Notwendigkeit für eine Assoziierung des Labels mit der Verknüpfungseinrichtung durch Betrachtung von Zuweisung in der Verknüpfungseinrichtung und eine Notwendigkeit für die Zuweisung in der Verknüpfungseinrichtung durch Betrachtung aller Punkte der Label neu entstehen.
  • 6 ist ein Schema eines Beispiels einer Zuweisung in Labeln und einer Zuweisung der Label zu der Verknüpfungseinrichtung in dem Verknüpfungssteuersystem. In dem Beispiel von 6 sind die Label, die als Daten verwendet werden, die durch die Station 1 zu schreiben sind, "ProcStart", das eine Startinstruktion anzeigt, und "EmStop", das einen Notfallstopp anzeigt. Wenn die Zuweisung in der Verknüpfungseinrichtung bereitzustellen ist, müssen mindestens Bereiche für zwei Punkte sichergestellt werden als die Verknüpfungseinrichtung, die durch die Station 1 geschrieben wird. Die Label, die als Daten verwendet werden, die durch die Station 2 geschrieben werden, sind "StartAck", das eine Startbestätigung anzeigt, "complete", was einen Prozessabschluss anzeigt, und "Error", was Auftritt eines Fehlers anzeigt. Wenn die Zuweisung in der Verknüpfungseinrichtung bereitzustellen ist, müssen mindestens Bereiche für drei Punkte sichergestellt werden als die Verknüpfungseinrichtung, die durch die Station 2 geschrieben wird. Es ist notwendig, die Zuweisung in der Verknüpfungseinrichtung bereitzustellen, durch Betrachten dieser Bedingungen.
  • Die Label "ProcStart" und "EmStop", die als die Daten verwendet werden, die durch die Station 1 zu schreiben sind, müssen mit den Adressen "B00 bis B0F" gemeinsam in Verbindung gebracht werden, die zugewiesen werden als die Verknüpfungseinrichtung, die durch die Station 1 geschrieben wird. Die Label "StartAck", "complete" und "Error", die als die Daten verwendet werden, die durch die Station 2 zu schreiben sind, müssen mit den Adressen "B10 bis B1F" gemeinsam in Verbindung gebracht werden, die zugewiesen werden als die Verknüpfungseinrichtung, die durch die Station 2 geschrieben wird. Die Assoziierung der Label mit der Verknüpfungseinrichtung muss zu der Zeit einer Assoziierung der jeweiligen Label der Station 1 und der Station 2 mit Einrichtungen durch Betrachten dieser Bedingungen durchgeführt werden.
  • Als Nächstes wird das Problem in dem Multi-CPU-Steuersystem speziell erläutert. Wenn Zuweisung in einer geteilten Auffrischungseinrichtung bereitzustellen ist, müssen Bereiche in einer geteilten Auffrischungseinrichtung, die durch eine CPU geschrieben werden, in einem Standort kontinuierlich gesammelt werden. Wenn Label mit einer geteilten Auffrischungseinrichtung in Verbindung zu bringen sind, müssen deshalb die Label mit der geteilten Auffrischungseinrichtung durch Betrachten dessen in Verbindung gebracht werden, welche der CPUs jedes der Label schreibt. Bezug nehmend z. B. auf 3-1 kann das Label, das als Daten verwendet wird, die durch die CPU-Einheit 602-1 zu schreiben sind, nur mit der geteilten Auffrischungseinrichtung in Verbindung gebracht werden, die durch die CPU-Einheit 602-1 geschrieben wird. Zusätzlich dazu ist es, wenn die Zuweisung in der geteilten Auffrischungseinrichtung bereitgestellt wird, notwendig, alle Punkte der Label hoch zu zählen, die als Daten verwendet werden, die durch die CPU-Einheit 602-1 zu schreiben sind, diese Punkte in einem Standort gemeinsam zu sammeln und sie der geteilten Auffrischungseinrichtung zuzuweisen. Ungeachtet dessen, dass die Programmierung durch Verwenden der Label effizient gemacht wird, kann mit anderen Worten übergreifende Effizienz im Vergleich mit dem herkömmlichen Fall nicht viel verbessert werden, wo die Programmierung durch Verwenden der Einrichtungen durchgeführt wird, da eine Notwendigkeit für eine Assoziierung des Labels mit der geteilten Auffrischungseinrichtung durch Betrachten einer Zuweisung in der geteilten Auffri schungseinrichtung und eine Notwendigkeit für die Zuweisung in der geteilten Auffrischungseinrichtung durch Betrachten aller Punkte der Label neu entstehen.
  • 7 ist ein Schema eines Beispiels einer Zuweisung in Labeln und einer Zuweisung der Label zu der geteilten Auffrischungseinrichtung in dem Multi-CPU-Steuersystem. In dem Beispiel von 7 sind die Label, die als Daten verwendet werden, die durch die CPU-Einheit 602-1 zu schreiben sind, "ProcReady", was eine Bereitinstruktion anzeigt, und "ProcStart", was eine Startinstruktion anzeigt. Wenn die Zuweisung in der geteilten Auffrischungseinrichtung bereitzustellen ist, müssen mindestens Bereiche für zwei Punkte sichergestellt werden als die geteilte Auffrischungseinrichtung, die durch die CPU-Einheit 602-1 geschrieben wird. Die Label, die als Daten verwendet werden, die durch die CPU-Einheit 602-2 zu schreiben sind, sind "ReadyOK", was anzeigt, dass die Operation bereit ist, "StartAck", was eine Startbestätigung anzeigt, und "complete", was einen Prozessabschluss anzeigt. Wenn die Zuweisung in der geteilten Auffrischungseinrichtung bereitzustellen ist, müssen mindestens Bereiche für drei Punkte sichergestellt werden als die geteilte Auffrischungseinrichtung, die durch die CPU-Einheit 602-2 geschrieben wird. Die Zuweisung in der geteilten Auffrischungseinrichtung muss durch Betrachten dieser Bedingungen bereitgestellt werden.
  • In der Assoziierung des Labels mit der Einrichtung in der CPU-Einheit 602-1 müssen die Label "ProcReady" und "ProcStart", die als die Daten verwendet werden, die durch die CPU-Einheit 602-1 zu schreiben sind, mit den Adressen "D00 bis D0F" in Verbindung gebracht werden, die zugewiesen werden als die geteilte Auffrischungseinrichtung, die durch die CPU-Einheit 602-1 geschrieben wird. Die Label "ReadyOK", "StartAck" und "complete", die als die Daten verwendet wer den, die durch die CPU-Einheit 602-2 zu schreiben sind, müssen mit den Adressen "D10 bis D1F" in Verbindung gebracht werden, die zugewiesen sind als die geteilte Auffrischungseinrichtung, die durch die CPU-Einheit 602-2 geschrieben wird. In der Assoziierung des Labels mit der Einrichtung in der CPU-Einheit 602-2 müssen des weiteren die Label "Proc-Ready" und "ProcStart", die als die Daten verwendet werden, die durch die CPU-Einheit 602-1 zu schreiben sind, mit den Adressen "D10 bis D1F" in Verbindung gebracht werden, die zugewiesen sind als die geteilte Auffrischungseinrichtung, die durch die CPU-Einheit 602-1 geschrieben wird, und die Label "ReadyOK", "StartAck" und "complete", die als die Daten verwendet werden, die durch die CPU-Einheit 602-2 zu schreiben sind, müssen mit den Adressen "D00 bis D0F" in Verbindung gebracht werden, die zugewiesen sind als die geteilte Auffrischungseinrichtung, die durch die CPU-Einheit 602-2 geschrieben wird. Die Assoziierung der Label mit der geteilten Auffrischungseinrichtung muss zu der Zeit einer Assoziierung der jeweiligen Label der CPU-Einheit 602-1 und der CPU-Einheit 602-2 mit Einrichtungen durch Betrachten dieser Bedingungen durchgeführt werden.
  • Als eine Technologie, um eine derartige Komplikation zu lösen, wie oben erläutert, wird eine Technologie vorgeschlagen, in der eine Einrichtung eine Einheit enthält, die lokale Speicher in jeweiligen PLCs mit Labeln, die Daten hinzugefügt werden, die zwischen den PLCs ausgetauscht werden, in Verbindung bringt und die die lokalen Speicher über ein Netz ausgleicht (siehe z. B. Patentliteraturstelle 3).
  • In der Patentliteraturstelle 3 wird jedoch die Ausgleichseinheit verwendet, Ausgleich durch Übertragen einer Wertleseanforderung für alle Daten, die auszugleichen sind, Empfangen von Antwortdaten und Schreiben der Antwortdaten ohne Verwenden des Verknüpfungssteuersystems und des Multi-CPU-Steuer systems implementiert. Deshalb werden Kommunikationen für einen Ausgleich eine Engstelle, und die Periode des Ausgleichs wird dadurch verzögert. Genauer gibt es nicht viel Unterschied zwischen einer Verarbeitungszeit, die erforderlich ist, um einen Punkt von Daten zwischen PLCs zu transferieren, und einer Verarbeitungszeit, die erforderlich ist, um zehn Punkte von Daten zwischen PLCs gemeinsam zu transferieren. Einzelner Transfer der zehn Punkte von Daten zehnmal zwischen PLCs bedeutet deshalb, dass die Verarbeitungszeit zehnmal im Vergleich mit der des Falls erfordert, wo die zehn Punkte von Daten zwischen PLCs gemeinsam übertragen werden.
  • Die Funktionen, wie etwa die Verknüpfungseinrichtung und die geteilte Auffrischungseinrichtung, werden als Systeme von Datenaustausch zwischen PLCs in dem Verknüpfungssteuersystem und von Datenaustausch zwischen CPU-Einheiten in dem Multi-CPU-Steuersystem vorbereitet. Dies ist so, da das Problem in der Patentliteraturstelle 3 derart, dass "Kommunikationen die Engstelle werden und die Periode des Ausgleichs dadurch verzögert wird", vermieden wird. Somit wird so konfiguriert, um Einrichtungen, die durch eine Station oder eine CPU in einem Standort geschrieben werden, gemeinsam zu sammeln und sie der Verknüpfungseinrichtung oder der geteilten Auffrischungseinrichtung zuzuweisen.
  • Die vorliegende Erfindung wurde erreicht, um die herkömmlichen Probleme zu lösen. Und es ist ein Ziel der vorliegenden Erfindung, die Programmierungsunterstützungsvorrichtung, das Programmierungsunterstützungsverfahren, das Programm, das einen Computer veranlasst, das Verfahren zu implementieren, und das Aufzeichnungsmedium, das darin das Programm speichert, zu erhalten, die fähig sind zum Erstellen des Programms, das die gleichen Label zwischen PLCs verwendet, basierend auf der Funktion der Verknüpfungseinrichtung, in der Daten bei hoher Geschwindigkeit zwischen PLCs in dem Verknüpfungssteuersystem ausgetauscht werden, oder die gleichen Label zwischen vielen CPUs verwendet basierend auf der Funktion der geteilten Auffrischungseinrichtung, in der Daten bei einer hohen Geschwindigkeit zwischen vielen CPUs in dem Multi-CPU-Steuersystem ausgetauscht werden, und fähig sind zum Vereinfachen der Zuweisung in der Verknüpfungseinrichtung oder der Zuweisung in der geteilten Auffrischungseinrichtung und zum Vereinfachen der Assoziierung von Labeln mit der Verknüpfungseinrichtung oder mit der geteilten Auffrischungseinrichtung.
  • MITTEL ZUM LÖSEN DES PROBLEMS
  • Um das obige Ziel zu erreichen, unterstützt eine Programmierungsunterstützungsvorrichtung gemäß der vorliegenden Erfindung Erstellung eines Steuerprogramms, das ein Label verwendet, mit dem jede einer Vielzahl von Steuervorrichtungen, die in einem Steuersystem vorgesehen sind, ein Objekt steuert, das zu steuern ist. Die Programmierungsunterstützungsvorrichtung enthält eine Extraktionseinheit eines geteilten Labels, die ein geteiltes Label extrahiert, das mit einer Einrichtung entsprechend einem Speicher in Verbindung zu bringen ist, der durch die Steuervorrichtungen geteilt wird, von Steuerprogrammen für die jeweiligen Steuervorrichtungen; eine Schreib-/Lese-Informationsgenerierungseinheit eines geteilten Labels, die bestimmt, welche der Steuervorrichtungen Daten für das geteilte Label schreibt und welche der Steuervorrichtungen Daten für das geteilte Label liest, durch Verweisen auf die Steuerprogramme, und Schreib-/Leseinformation eines geteilten Labels generiert; und eine Einrichtungsstapelzuweisungs-/Assoziierungseinheit, die geteilte Label, die durch die Steuervorrichtungen zu schreiben sind, für jede der Steuervorrichtungen, die die Schreib-/Leseinformation eines geteilten Labels verwendet, sortiert, und das geteilte Label mit einer Adresse der Einrichtung für jede Sortierung in Verbindung bringt.
  • EFFEKT DER ERFINDUNG
  • Gemäß der vorliegenden Erfindung kann das Programm, das den gleichen Labelnamen für einen Datenaustausch zwischen den Steuervorrichtungen verwendet, erstellt werden, und die Assoziierung des Labels mit der Einrichtung und die Zuweisung in der Einrichtung werden automatisch durchgeführt. Somit kann die Effizienz von Einrichtungsentwicklung durch Erstellen des Programms, das das gleiche Label zwischen den Steuervorrichtungen verwendet, verbessert werden. Außerdem kann die Entwicklung des Steuersystems, in dem Daten bei einer hohen Geschwindigkeit zwischen den Steuervorrichtungen ausgetauscht werden wegen der Funktion der Verknüpfungseinrichtung realisiert werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1-1 ist ein Schema eines Beispiels der Konfiguration des Verknüpfungssteuersystems und Verknüpfungseinrichtungen des Systems.
  • 1-2 ist ein Schema eines Beispiels des Inhalts der Verknüpfungseinrichtung in der PLC des in 1-1 gezeigten Steuersystems.
  • 2 ist ein Schema der Konfiguration des Multi-CPU-Steuersystems.
  • 3-1 ist ein Schema jeder geteilten Auffrischungseinrichtung des Multi-CPU-Steuersystems.
  • 3-2 ist ein Schema eines Beispiels einer Einstellung für die geteilte Auffrischungseinrichtung in jeder PLC des Steuersystems von 3-1.
  • 4 ist ein Schema eines Beispiels des herkömmlichen Steuerprogramms.
  • 5 ist ein Schema eines Beispiels eines Steuerprogramms, das Label verwendet.
  • 6 ist ein Schema eines Beispiels einer Zuweisung in Labeln und Zuweisung der Label zu der Verknüpfungseinrichtung in dem Verknüpfungssteuersystem.
  • 7 ist ein Schema eines Beispiels einer Zuweisung in Labeln und Zuweisung der Label zu der geteilten Auffrischungseinrichtung in dem Multi-CPU-Steuersystem.
  • 8 ist ein schematisches Blockdiagramm der funktionalen Konfiguration der Programmierungsunterstützungsvorrichtung.
  • 9 ist ein Schema der Konfiguration in einem Anzeigeschirm eines Entwicklungswerkzeugs, das die Programmierungsunterstützungsvorrichtung realisiert.
  • 10 ist ein Flussdiagramm eines Beispiels einer Programmierungsprozedur.
  • 11-1 ist ein Schema dafür, wie ein Label mit einer realen Einrichtung in Verbindung gebracht wird, die ein Labelaufbereitungswerkzeug verwendet.
  • 11-2 ist ein Schema dafür, wie ein Label mit einer realen Einrichtung in Verbindung gebracht wird, die ein anderes Werkzeug verwendet.
  • 12 ist ein Schema eines Beispiels der Konfiguration in einem Anzeigeschirm des Entwicklungswerkzeugs, worin die Systemkonfiguration eingestellt wird.
  • 13 ist ein Schema eines Beispiels einer erstellten Labeltabelle.
  • 14 ist ein Schema von Beispielen von erstellten Leiterprogrammen.
  • 15 ist ein Flussdiagramm eines Beispiels einer Prozedur zum Assoziieren des Labels mit der realen Einrichtung.
  • 16 ist ein Flussdiagramm einer Prozedur für einen Bestimmungsprozess A.
  • 17 ist ein Schema von Beispielen einer geteilten Labeltabelle und einer nicht-geteilten Labeltabelle.
  • 18 ist ein Flussdiagramm einer Prozedur für einen Bestimmungsprozess B.
  • 19 ist ein Schema eines Beispiels von Schreib-/Leseinformation eines geteilten Labels.
  • 20 ist ein Schema von Beispielen einer Verknüpfungseinrichtungs-Assoziierungslabeltabelle und einer Assoziierungslabeltabelle einer geteilten Auffrischungseinrichtung.
  • 21 ist ein Flussdiagramm einer Prozedur für einen Netzstapelzuweisungs-/Assoziierungsprozess D.
  • 22 ist ein Schema einer spezifischen Prozedur für den Netzstapelzuweisungs-/Assoziierungsprozess D.
  • 23 ist ein Schema eines Beispiels der Konfiguration in einem Anzeigeschirm des Entwicklungswerkzeugs, worin die Systemkonfiguration eingestellt wird.
  • 24 ist ein Schema einer spezifischen Prozedur für einen Stapelzuweisungs-/Assoziierungsprozess geteilter Label in dem Multi-CPU-Steuersystem.
  • 25 ist ein Flussdiagramm einer Prozedur für einen Multi-CPU-Stapelzuweisungs-/Assoziierungsprozess E.
  • 26 ist ein Schema einer spezifischen Prozedur für den Multi-CPU-Stapelzuweisungs-/Assoziierungsprozess E.
  • 27 ist ein Schema eines Beispiels der Konfiguration gemäß einer dritten Ausführungsform des Steuersystems.
  • 28-1 ist ein Schema eines Beispiels von Parametern jedes mechanischen Elementes in 27.
  • 28-2 ist ein Schema eines Beispiels von Parametern jedes mechanischen Elementes in 27.
  • 28-3 ist ein Schema eines Beispiels von Parametern jedes mechanischen Elementes in 27.
  • 28-4 ist ein Schema eines Beispiels von Parametern jedes mechanischen Elementes in 27.
  • 28-5 ist ein Schema eines Beispiels von Parametern jedes mechanischen Elementes in 27.
  • 29 ist ein Schema eines Beispiels von Attributinformation eines mechanischen Elementes für die mechanischen Elemente in 28-1 bis 28-5.
  • 30 ist ein Schema eines Beispiels eines Labelmanagementverfahrens in einem Managementwerkzeug.
  • 31 ist ein Schema eines anderen Beispiels des Labelmanagementverfahrens in dem Managementwerkzeug.
  • 32 ist ein Schema eines Beispiels von Schreib-/Leseinformation eines geteilten Labels gemäß einer fünften Ausführungsform.
  • BESTER MODUS/BESTE MODI ZUM AUSFÜHREN DER ERFINDUNG
  • Nachstehend werden beispielhafte Ausführungsformen der Programmierungsunterstützungsvorrichtung, des Programmierungsunterstützungsverfahrens, des Programms, das einen Computer veranlasst, das Verfahren zu implementieren, und des Aufzeichnungsmediums, das darin das Programm speichert, gemäß der vorliegenden Erfindung mit Bezug auf die begleitenden Zeichnungen detailliert erläutert. Es wird vermerkt, dass die vorliegende Erfindung nicht durch diese Ausführungsformen begrenzt ist.
  • Zuerst werden die Konfiguration der Programmierungsunterstützungsvorrichtung (hierin nachstehend auch "Entwicklungswerkzeug" genannt), die in der vorliegenden Erfindung verwendet wird, und der Überblick über eine Prozedur zum Erstellen des Programms in der Programmierungsunterstützungsvorrichtung erläutert, und dann werden die Ausführungsformen der vorliegenden Erfindung basierend auf der Programmierungsunterstützungsvorrichtung erläutert.
  • 8 ist ein schematisches Blockdiagramm der funktionalen Konfiguration der Programmierungsunterstützungsvorrichtung, und 9 ist ein Schema der Konfiguration in einem Anzeigeschirm eines Entwicklungswerkzeugs, das die Programmierungsunterstützungsvorrichtung realisiert.
  • Eine Programmierungsunterstützungsvorrichtung 10 enthält eine Anzeigeeinheit 11, die einem Benutzer Information anzeigt, eine Eingabeeinheit 12, durch die vorbestimmte Information, die zur Programmierung erforderlich ist, durch den Benutzer eingegeben wird, eine Systemkonfigurationseinstellungseinheit 13, die eine Systemkonfiguration basierend auf der Information einstellt, die durch die Eingabeeinheit 12 eingegeben wird, eine Labeleinstellungseinheit 14, die ein Label basie rend auf der Information einstellt, die durch die Eingabeeinheit 12 eingegeben wird, eine Programmeinstellungseinheit 15, die ein Programm basierend auf der Information einstellt, die durch die Eingabeeinheit 12 eingegeben wird, einen Label-zu-Einrichtung-Assoziierungsprozessor 16, der das Label, das durch die Labeleinstellungseinheit 14 eingestellt wird, mit einer realen Einrichtung in Verbindung bringt, einen Kompilierungsprozessor 17, der ein erstelltes Programm kompiliert, einen Anzeigeprozessor 18, der einen Anzeigeprozess so durchführt, um einen Anzeigeschirm einer Systemkonfiguration, einen Einstellungsschirm eines Labels, einen Einstellungsschirm eines Programms und einen Label-zu-realer-Einrichtung-Assoziierungsschirm auf der Anzeigeeinheit 11 anzuzeigen, und auch eine Steuervorrichtung 19 enthält, die diese Prozessoren steuert.
  • Ein Entwicklungswerkzeug 10A enthält eine Baumansicht 21, die in der Programmierungsunterstützungsvorrichtung 10 angezeigt wird, und die Komponenten, die aufbereitet werden können, darauf anzeigt, und ein Aufbereitungswerkzeug, das eine Komponente aufbereitet, die in der Baumansicht 21 ausgewählt ist. Wie in 9 gezeigt, zeigt die Baumansicht 21 die Komponenten, die für eine Programmierung der PLC und der MC verwendet werden. Die Baumansicht 21 enthält eine Systemkonfiguration 22, ein Label 23 und ein Programm 24. Die Baumansicht 21 wird in der Anzeigeeinheit 11 durch den Anzeigeprozessor 18 angezeigt. Wenn die Systemkonfiguration 22, das Label 23 oder das Programm 24 durch die Eingabeeinheit durch doppeltes Klicken darauf oder dergleichen ausgewählt wird, wird eine entsprechende der Systemkonfigurationseinstellungseinheit 13, der Labeleinstellungseinheit 14 und der Programmeinstellungseinheit 15 gestartet.
  • Die Systemkonfigurationseinstellungseinheit 13 stellt die Konfiguration jedes Hardwaresystems der PLC und der MC, wie etwa einer E/A-(Eingabe/Ausgabe) Einheit und eines Netzes, basierend auf dem Inhalt ein, der durch den Benutzer eingegeben wird. Wenn z. B. die Systemkonfiguration 22 in der Baumansicht 21 von 9 ausgewählt ist, startet die Systemkonfigurationseinstellungseinheit 13 Fenster, Dialog, Editor und Werkzeug (hierin nachstehend "Systemkonfigurationsaufbereitungswerkzeug") 22A, das verwendet wird, um die Systemkonfiguration aufzubereiten (zu editieren), und stellt die Systemkonfiguration unter Verwendung des dazu eingegebenen Inhalts ein.
  • Die Labeleinstellungseinheit 14 stellt ein Label, an Stelle einer Einrichtungsadresse, das zu beschreiben ist bei Beschreibung eines Steuerprogramms ein. Wenn z. B. das Label 23 in der Baumansicht 22 von 9 ausgewählt ist, startet die Labeleinstellungseinheit 14 Fenster, Dialog, Editor und Werkzeug (hierin nachstehend "Labelaufbereitungswerkzeug") 23A, das verwendet wird, um das Label aufzubereiten, und stellt das Label unter Verwendung des dazu eingegebenen Inhalts ein.
  • Die Programmeinstellungseinheit 15 stellt ein Steuerprogramm (z. B. Leiterprogramm) ein, das die PLC und MC zu einer Verarbeitung veranlasst. Wenn z. B. das Programm 24 in der Baumansicht 21 von 9 ausgewählt ist, startet die Programmeinstellungseinheit 15 Fenster, Dialog, Editor und Werkzeug (hierin nachstehend "Programmaufbereitungswerkzeug") 24A, das verwendet wird, um das Programm aufzubereiten, und stellt das Programm unter Verwendung des dazu eingegebenen Inhalts ein.
  • Der Label-zu-Einrichtung-Assoziierungsprozessor 16 bringt jedes Label, das in einem Programm verwendet wird (eingestellt nämlich durch die Labeleinstellungseinheit 14), mit jeder Einrichtung in einer realen PLC und MC in Verbindung, um das Programm, das durch die Programmeinstellungseinheit 15 eingestellt wird, in der realen PLC und MC zu betreiben.
  • 10 ist ein Flussdiagramm eines Beispiels einer Programmierungsprozedur. Bei einer Programmierung der PLC wird zuerst die Systemkonfiguration aufbereitet (Schritt S11). Wenn die Systemkonfiguration 22 von der Baumansicht 21 in dem Entwicklungswerkzeug 10A von 9 ausgewählt ist, wird das Systemkonfigurationsaufbereitungswerkzeug 22A gestartet. Der Benutzer gibt jede Konfiguration der Hardwaresysteme der PLC und der MC, wie etwa die E/A-Einheit und das Netz, durch die Eingabeeinheit 12 in dem Systemkonfigurationsaufbereitungswerkzeug 22A ein, und die Systemkonfiguration wird basierend auf dem eingegebenen Inhalt eingestellt.
  • Als Nächstes wird das Label aufbereitet (Schritt S12). Wenn das Label 23 aus der Baumansicht 21 in dem Entwicklungswerkzeug 10A von 9 ausgewählt ist, wird das Labelaufbereitungswerkzeug 23A gestartet. Der Benutzer gibt ein Label, das für das Programm verwendet wird, durch die Eingabeeinheit 12 in dem Labelaufbereitungswerkzeug 23A ein, und das Label wird basierend auf dem eingegebenen Inhalt eingestellt.
  • Als Nächstes wird das Programm aufbereitet (Schritt S13). Wenn das Programm aus der Baumansicht 21 in dem Entwicklungswerkzeug 10A von 9 ausgewählt ist, wird das Programmaufbereitungswerkzeug 24A gestartet. Der Benutzer spezifiziert, welche der PLCs oder der CPUs in der Systemkonfiguration veranlasst wird, ein Programm auszuführen, das zu beschreiben ist, durch die Eingabeeinheit 12 in dem Programmaufbereitungswerkzeug 24A, und beschreibt dann das Programm. Das Programm wird basierend auf dem eingegebenen Inhalt eingestellt.
  • Wenn das Programm in Schritt S13 beschrieben wird, kann hier das Label, das in Schritt S12 eingestellt wird, verwendet werden. Falls ein neues Label während Aufbereitung des Programms in Schritt S13 eingestellt werden muss, kann das Label jedes Mal aufbereitet werden, wenn die Einstellung benötigt wird. Mit anderen Worten kann Aufbereitung des Labels in Schritt S12 mitten in der Aufbereitung des Programms in Schritt S13 durchgeführt werden.
  • Nachdem die Programmierung des Steuerprogramms, das durch die PLC oder die CPU zu verarbeiten ist, abgeschlossen ist, wird das Label mit einer realen Einrichtung in Verbindung gebracht (Schritt S14). 11-1 bis 11-2 sind Schemata von Konfigurationen in den jeweiligen Anzeigeschirmen des Entwicklungswerkzeugs, wenn das Label mit der realen Einrichtung in Verbindung gebracht wird. 11-1 ist ein Schema dafür, wie ein Label mit einer realen Einrichtung unter Verwendung des Labelaufbereitungswerkzeugs in Verbindung gebracht wird, und 11-2 ist ein Schema dafür, wie ein Label mit einer realen Einrichtung unter Verwendung eines anderen Werkzeugs in Verbindung gebracht wird. Die Assoziierung des Labels mit der realen Einrichtung enthält zwei Fälle. Einer der Fälle, wie in 11-1 gezeigt, ist derart, dass die Operation durch ein Labelaufbereitungs- und Einrichtungsassoziierungswerkzeug 23A ausgeführt wird, worin eine Einrichtungsassoziierungsfunktion einem Aufbereitungswerkzeug gegeben wird, das mit dem Label 23 in der Baumansicht 21 in Verbindung steht. Der andere Fall, wie in 11-2 gezeigt, ist derart, dass ein Label mit einer realen Einrichtung durch Bereitstellen eines dedizierten Fensters, Dialogs, Editors und Werkzeugs (hierin nachstehend "Label-zu-Einrichtung-Assoziierungswerkzeug") 26A in Verbindung gebracht wird, das getrennt von dem Labelaufbereitungswerkzeug 23A bereitgestellt wird. In dem Fall von 11-2 werden Komponenten, wie etwa eine Hardwarekonfiguration 25 und eine Labelassoziierung 26, unterhalb der Systemkonfiguration 22 in der Baumansicht 21 bereitgestellt. Wenn die Hardwarekonfiguration 25 ausgewählt ist, wird das Systemkonfigurationsaufbereitungswerkzeug 22A gestartet, während wenn die Labelassoziierung 26 ausgewählt ist, dann das Label-zu-Einrichtung-Assoziierungswerkzeug 26A gestartet wird. Beide von ihnen können als das Entwicklungswerkzeug 10A verwendet werden.
  • Zuletzt wird das erstellte Programm kompiliert, um zu einer realen Maschine heruntergeladen zu werden (Schritt S15), und der Programmierungsprozess des Programms, das in die PLC oder die MC einzubeziehen ist, wird beendet.
  • Die Programmierung für die PLC oder die CPU wird einfach auf die obige Art und Weise durchgeführt. Wenn das Entwicklungswerkzeug 10A verwendet wird, kann jedoch ein Programm für das Verknüpfungssteuersystem, worin eine Vielzahl von PLCs miteinander durch das FA-Netz verbunden sind, oder für das Multi-CPU-Steuersystem, das mit der PLC und der MC gebildet wird, jede mit der Multi-CPU-Konfiguration, entwickelt werden, wie in den folgenden Ausführungsformen erläutert wird.
  • Erste Ausführungsform
  • In der ersten Ausführungsform wird nachstehend eine Programmierungsunterstützungsvorrichtung erläutert, die zum Assoziieren eines Labels eines Steuerprogramms für eine Vielzahl von PLCs, die das Verknüpfungssteuersystem bilden, mit einer realen Einrichtung fähig ist. In dem Folgenden wird ein Steuersystem mit zwei PLCs, die miteinander über das Netz verbunden sind, beispielhaft als das Verknüpfungssteuersystem dargestellt.
  • Die Prozedur zur Programmierung des Steuerprogramms für PLCs, die das Verknüpfungssteuersystem bilden, wird nachstehend erläutert. Wie in Schritt S11 in dem Flussdiagramm von 10 gezeigt, wird zuerst die Systemkonfiguration eingestellt.
  • 12 ist ein Schema eines Beispiels der Konfiguration in einem Anzeigeschirm des Entwicklungswerkzeugs, worin die Systemkonfiguration eingestellt wird. Wie oben erläutert, wird die Systemkonfiguration derart, dass zwei PLCs über das Netz miteinander verbunden sind, in dem Systemkonfigurationsaufbereitungswerkzeug 22A eingestellt.
  • In Schritt S12 wird das Label aufbereitet. Das Label enthält ein Label, das nur in einem Steuerprogramm für PLC1 verwendet wird (hierin nachstehend "Programm PLC1"), ein Label, das nur in einem Steuerprogramm für PLC2 verwendet wird (hierin nachstehend "Programm PLC2"), und ein Label für Daten, die zwischen der PLC1 und der PLC2 ausgetauscht werden, und diese Label werden durch die gleichen Labelaufbereitung erstellt. Zur gleichen Zeit wird eine Labeltabelle erstellt. 13 ist ein Schema eines Beispiels der erstellten Labeltabelle. Eine Labeltabelle 110 enthält erstellte acht Label von "Label1A" bis "LabelH".
  • Des weiteren wird in Schritt S13 das Programm aufbereitet. Zur gleichen Zeit werden das Programm PLC1, das in der PLC1 läuft, und das Programm PLC2, das in der PLC2 läuft, jeweils erstellt. Zu dieser Zeit wird eine der PLCs, die das Programm ausführt, von der Systemkonfiguration spezifiziert, die durch das Systemkonfigurationsaufbereitungswerkzeug 22A erstellt wird, und das Programm wird erstellt. Genauer werden die PLCs so spezifiziert, dass das Programm PLC1 durch die PLC1 in der Systemkonfiguration ausgeführt wird, die durch das Systemkonfigurationsaufbereitungswerkzeug 22A erstellt wird, und das Programm PLC2 durch die PLC2 in der Systemkonfiguration ausgeführt wird, die durch das Systemkonfigurationsaufbereitungswerkzeug 22A erstellt wird. Die gleiche Labeltabelle, die in Schritt S12 erstellt wird, wird bei Beschreibung des Programms PLC1 und auch bei Beschreibung des Programms PLC2 referenziert. Entsprechend kann das Label für Daten, die zwi schen der PLC1 und der PLC2 auszutauschen sind, durch Verwenden des gleichen Labelnamen gehandhabt werden. 14 ist ein Schema von Beispielen von erstellten Leiterprogrammen. Wie in dieser Figur gezeigt, werden die Label in der Labeltabelle von 13, die in Schritt S12 erstellt wird, verwendet, um zwei Leiterprogramme für die PLC1 und die PLC2 zu erstellen.
  • Jede Programmierung der Steuerprogramme, um die jeweiligen PLCs zu steuern, die das Steuersystem bilden, ist abgeschlossen, und dann wird das Label mit der realen Einrichtung in Schritt S14 in Verbindung gebracht. Das Programmierungsunterstützungsverfahren, was der Prozess einer Assoziierung des Labels mit der realen Einrichtung ist, wird nachstehend detailliert erläutert.
  • 15 ist ein Flussdiagramm eines Beispiels einer Prozedur zum Assoziieren des Labels mit der realen Einrichtung. Der Prozess zum Assoziieren des Labels mit der realen Einrichtung wird durch den Label-zu-Einrichtung-Assoziierungsprozessor 16 von 8 ausgeführt.
  • Zuerst führt der Label-zu-Einrichtung-Assoziierungsprozessor 16 einen Bestimmungsprozess A zum Bestimmen, dass ein Label für eine Programmierung verwendet wird, und zum weiteren Bestimmen, ob Label ein geteiltes Label ist, das mit einer Einrichtung in Verbindung zu bringen ist, die durch eine Vielzahl von PLCs geteilt wird (oder durch eine Vielzahl von CPUs, wenn in einer zweiten Ausführungsform erläutert), oder ob das Label ein Label ist, das mit einer beliebigen anderen Einrichtung in Verbindung zu bringen ist, durch (Schritt S31). Der Prozessor, der diesen Bestimmungsprozess durchführt, ist als "Extraktionseinheit eines geteilten Labels" in den Ansprüchen beschrieben.
  • Wenn in Schritt S31 bestimmt wird, dass das Label ein geteiltes Label ist, führt als Nächstes der Label-zu-Einrichtung-Assoziierungsprozessor 16 einen Bestimmungsprozess B zum Bestimmen, welche der PLCs (CPUs) das geteilte Label schreibt, und welche der PLCs (CPUs) das geteilte Label liest, durch (Schritt S32). Der Prozessor, der diesen Bestimmungsprozess durchführt, wird in den Ansprüchen als "Schreib-/Leseinformationsgenerierungseinheit eines geteilten Labels" beschrieben.
  • Danach führt der Label-zu-Einrichtung-Assoziierungsprozessor 16 einen Bestimmungsprozess C zum Bestimmen, aus der Systemkonfiguration, durch, ob die PLCs (CPUs) bezogen auf das geteilte Label eine Netzkonfiguration oder eine Multi-CPU-Konfiguration haben, worin die CPUs in einer Basiseinheit miteinander verbunden sind (Schritt S33). Der Prozessor, der diesen Bestimmungsprozess durchführt, wird in den Ansprüchen als "Systemkonfigurationsbestimmungseinheit "beschrieben.
  • Wenn in Schritt S33 bestimmt wird, dass die PLCs die Netzkonfiguration haben, führt der Label-zu-Einrichtung-Assoziierungsprozessor 16 einen Netzstapelzuweisungs-/Assoziierungsprozess D, worin Zuweisung in einer Verknüpfungseinrichtung und Assoziierung jedes geteilten Labels mit der Verknüpfungseinrichtung in einem Zeitpunkt durchgeführt werden (Schritt S34), durch, und der Label-zu-Einrichtung-Assoziierungsprozess ist beendet. Der Prozessor, der den Label-zu-Einrichtung-Assoziierungsprozess durchführt, wird in den Ansprüchen als "Einrichtungsstapelzuweisungs-/Assoziierungseinheit" beschrieben.
  • Wenn in Schritt S33 bestimmt ist, dass die CPUs die Multi-CPU-Konfiguration haben, führt der Label-zu-Einrichtung-Assoziierungsprozessor 16 einen Multi-CPU-Stapelzuweisungs-/Assoziierungsprozess E durch, worin Zuweisung in einer ge teilten Auffrischungseinrichtung und Assoziierung jedes geteilten Labels mit der geteilten Auffrischungseinrichtung in einem Zeitpunkt durchgeführt werden (Schritt S35), und der Label-zu-Einrichtung-Assoziierungsprozess ist beendet. Es wird vermerkt, dass der Multi-CPU-Stapelzuweisungs-/Assoziierungsprozess E, der in Schritt S35 durchgeführt wird, später in der zweiten Ausführungsform erläutert wird.
  • Wenn in Schritt S31 bestimmt ist, dass das Label nicht das geteilte Label ist, führt der Label-zu-Einrichtung-Assoziierungsprozessor 16 einen Labelassoziierungsprozess F durch, worin das Label mit einer Adresse einer Einrichtung in Verbindung gebracht wird (Schritt S36), und der Label-zu-Einrichtung-Assoziierungsprozess ist beendet.
  • Die Prozesse A bis F werden nachstehend weiter detailliert erläutert.
  • (Bestimmungsprozess A)
  • Der Bestimmungsprozess A zum Bestimmen, ob das Label das geteilte Label ist, wird nachstehend mit Verweis auf das Flussdiagramm von 16 durchgeführt. Zuerst extrahiert der Label-zu-Einrichtung-Assoziierungsprozessor 16 ein Label aus der Labeltabelle, die in Schritt S12 erstellt wird (Schritt S101). Dann wird bestimmt, ob das extrahierte Label in einer Vielzahl von Programmen verwendet wird, durch Verweisen auf die erstellten Programme (Schritt S102). Wenn das Label in den Programmen verwendet wird (Ja in Schritt S102), wird weiter bestimmt, ob das Label durch eine Vielzahl von PLCs (CPUs) ausgeführt wird (Schritt S103).
  • Wenn das Label durch die PLCs (CPUs) ausgeführt wird (Ja in Schritt S103), wird dann bestimmt, dass das Label das geteilte Label ist (Schritt S104). Das Label, das als das ge teilte Label bestimmt wird, wird in einer Tabelle eines geteilten Labels gespeichert. Wenn andererseits in Schritt S102 bestimmt wird, dass das Label nicht in den Programmen verwendet wird (Nein in Schritt S102), oder wenn in Schritt S103 bestimmt wird, dass das Label nicht in den PLCs (CPUs) verwendet wird (Nein in Schritt S103), dann wird bestimmt, dass das Label nicht das geteilte Label ist (Schritt S105). Die Tabelle, die bestimmt wird, nicht das geteilte Label zu sein, wird in einer Tabelle eines nicht-geteilten Labels gespeichert.
  • Danach bestimmt der Label-zu-Einrichtung-Assoziierungsprozessor 16, ob die Bestimmung in allen Labeln in der Labeltabelle durchgeführt ist (Schritt S106). Wenn nicht alle Label bestimmt sind (Nein in Schritt S106), kehrt der Prozess zum Schritt S101 zurück, wo der Prozess ähnlich für die anderen Label in der Labeltabelle ausgeführt wird. Wenn die Bestimmung in allen Labeln durchgeführt ist (Ja in Schritt S106), dann ist der Bestimmungsprozess A beendet, und der Prozess kehrt zu 15 zurück. Die Tabelle eines geteilten Labels und die Tabelle eines nicht-geteilten Labels werden durch den Bestimmungsprozess A erstellt.
  • Das spezifische Beispiel wird nachstehend mit Bezug auf die Labeltabelle 110 von 13 und die Programme von 14 erläutert. Z. B. wird zuerst "LabelA" aus der Labeltabelle 110 von 13 extrahiert, und es wird aus den Programmen von 14 bestimmt, ob das LabelA in dem Programm PLC1 und dem Programm PLC2 verwendet wird. Es wird hier bestimmt, dass das LabelA in dem Programm PLC1 und dem Programm PLC2 verwendet wird, und somit wird ferner bestimmt, ob das LabelA durch eine Vielzahl von PLCs ausgeführt wird. Bezug nehmend auf 14 ist klar, dass das Programm PLC1 durch die PLC1 ausgeführt wird, und das Programm PLC2 durch die PLC2 ausgeführt wird, und somit wird "LabelA" als das geteilte Label definiert.
  • Als Nächstes wird ein anderes Label "LabelB" aus der Labeltabelle 110 von 13 extrahiert, und es wird aus den Programmen von 14 bestimmt, ob das LabelB in dem Programm PLC1 und dem Programm PLC2 verwendet wird. Es wird hier bestimmt, dass das LabelB nur in dem Programm PLC1 verwendet wird, und somit wird bestimmt, dass "LabelB" nicht das geteilte Label ist. Der Rest der Label LabelC bis LabelH in der Labeltabelle 110 von 13 wird auf die obige Art und Weise bestimmt. Als ein Ergebnis werden eine Tabelle eines geteilten Labels 111 und eine Tabelle eines nicht-geteilten Labels 112 erstellt, wie in 17 gezeigt.
  • (Bestimmungsprozess B)
  • Der Bestimmungsprozess B zum Bestimmen, welche der PLCs (CPUs) das Label schreibt und welche der PLCs (CPUs) das Label liest, wird nachstehend mit Verweis auf das Flussdiagramm von 18 erläutert. Zuerst extrahiert der Label-zu-Einrichtung-Assoziierungsprozessor 16 ein Label aus der Tabelle eines geteilten Labels, die in dem Bestimmungsprozess A erstellt wird (Schritt S121). Dann wird bestimmt, welche der PLCs (CPUs) das Label schreibt und welche der PLCs (CPUs) das Label liest, durch Verweisen auf den beschriebenen Inhalt der Programme (Schritt S122). Es wird dann bestimmt, ob die Bestimmung in allen Labeln in der Tabelle eines geteilten Labels durchgeführt ist (Schritt S123). Wenn nicht alle Label bestimmt sind (Nein in Schritt S123), kehrt der Prozess zu Schritt S121 zurück, und die Prozesse werden für alle Label in der Tabelle eines geteilten Labels wiederholt ausgeführt. Wenn andererseits alle Label bestimmt sind (Ja in Schritt S123), ist der Bestimmungsprozess B beendet, und der Prozess kehrt zu 15 zurück. Schreib-/Leseinformation eines geteilten Labels wird durch den Bestimmungsprozess B erstellt.
  • Das spezifische Beispiel wird nachstehend mit Bezug auf die Programme von 14 und die Tabelle eines geteilten Labels 111 von 17 erläutert. Z. B. wird zuerst das LabelA in der Tabelle eines geteilten Labels 111 von 17 in dem Steuerprogramm als Spulendaten in dem Programm PLC1 beschrieben. Die Spule wird als "Schreiben" in dem Steuerprogramm (Leiterprogramm) bestimmt. Mit anderen Worten wird das LabelA als "Schreiben" in dem Programm PLC1 bestimmt. Ferner wird das LabelA in dem Steuerprogramm als Kontaktdaten in dem Programm PLC2 beschrieben. Der Kontakt wird als "Lesen" in dem Steuerprogramm (Leiterprogramm) bestimmt. Mit anderen Worten wird das LabelA als "Lesen" in dem Programm PLC2 bestimmt. Mit diesen Schritten wird bestimmt, dass das LabelA das Label ist, das durch die PLC1 zu schreiben ist, und auch das Label ist, das durch die PLC2 zu lesen ist. Die anderen Label D, F und G in der Tabelle eines geteilten Labels werden auf die gleiche Art und Weise wie oben verarbeitet. Als ein Ergebnis wird Schreib-/Leseinformation eines geteilten Labels 113 erstellt, wie in 19 gezeigt.
  • (Bestimmungsprozess C)
  • In dem Bestimmungsprozess C zum Bestimmen der Systemkonfiguration wird, durch Verweisen auf die Systemkonfiguration, die in Schritt S11 von 10 erstellt wird, bestimmt, dass das Label das geteilte Label ist, das mit der Verknüpfungseinrichtung in Verbindung zu bringen ist, wenn die PLCs vernetzt werden, und dass das Steuersystem, das dieses Label verwendet, das Verknüpfungssteuersystem ist. Wenn die CPUs in einer Basiseinheit miteinander verbunden werden, ist das Label des weiteren das geteilte Label, das mit der geteilten Auffrischungseinrichtung in Verbindung zu bringen ist, und dass das Steuersystem, das dieses Label verwendet, das Multi-CPU-Steuersystem ist. Als ein Ergebnis werden die geteilten Label in eine Verknüpfungseinrichtungsassoziierungslabeltabelle und eine Assoziierungslabeltabelle einer geteilten Auffrischungseinrichtung klassifiziert.
  • Das spezifische Beispiel wird nachstehend mit Bezug auf die Systemkonfiguration, die durch Verwenden des Systemkonfigurationsaufbereitungswerkzeugs 22A von 12 und der Schreib-/Leseinformation eines geteilten Labels von 19 erstellt wird, erläutert. Das LabelA, das das erste Label in der Schreib-/Leseinformation eines geteilten Labels von 19 ist, wird als das Label bestimmt, das mit der Verknüpfungseinrichtung in Verbindung zu bringen ist, da die PLC1 und die PLC2, von denen beide das Label A verwenden, in der Systemkonfiguration in dem Systemkonfigurationsaufbereitungswerkzeug 22A von 12 vernetzt werden. Wie in 20 gezeigt, wird deshalb das LabelA in eine Verknüpfungseinrichtungsassoziierungslabeltabelle 114 klassifiziert. Die anderen Label in der Schreib-/Leseinformation eines geteilten Labels 113 werden auf die gleiche Art und Weise wie oben verarbeitet. Es wird hier vermerkt, dass alle Label in die Verknüpfungseinrichtungsassoziierungslabeltabelle 114 klassifiziert werden, während keine Label in die Assoziierungslabeltabelle einer geteilten Auffrischungseinrichtung 115 klassifiziert werden.
  • (Netzstapelzuweisungs-/Assoziierungsprozess D)
  • Der Netzstapelzuweisungs-/Assoziierungsprozess D zum gleichzeitigen und gemeinsamen Assoziieren von Labeln, die mit einer Verknüpfungseinrichtung in Verbindung stehen, mit Einrichtungen wird nachstehend mit Bezug auf das Flussdiagramm von 21 erläutert. Zuerst werden Label, in der Verknüpfungseinrichtungsassoziierungslabeltabelle, die durch die PLCs zu schreiben sind, gesammelt und sortiert für jede PLC (Schritt S141). Eine PLC-Schreiblabel-Klassifizierungstabelle wird aus der Verknüpfungseinrichtungsassoziierungslabeltabelle durch Sortieren der Label erstellt. Wenn das Steuersystem mit sowohl der PLC1 als auch der PLC2 gebildet wird, werden die Label, die durch die PLC1 zu schreiben sind, gesammelt und sortiert, und dann werden die Label, die durch die PLC2 zu schreiben sind, auch gesammelt und sortiert.
  • Als Nächstes wird die erstellte PLC-Schreiblabel-Klassifizierungstabelle verwendet, um eine Zuweisung in der Verknüpfungseinrichtung von jeder Zahl von Labeln, die durch die jeweiligen PLCs zu schreiben sind, zu entscheiden (Schritt S142). Wenn zwei PLCs eingestellt sind, wird die Zuweisung in der Verknüpfungseinrichtung aus der Zahl von Labeln, die durch die PLC1 zu schreiben sind, und der Zahl von Labeln, die durch die PLC2 zu schreiben sind, entschieden.
  • Danach wird der Kopf der Label, die durch jede PLC zu schreiben sind, mit dem Kopf der Verknüpfungseinrichtung, die durch die PLC zu schreiben ist, die in Schritt S142 zugewiesen wird, in Verbindung gebracht, und hierin nachstehend wird jedes Label mit einer entsprechenden Verknüpfungseinrichtung in der Reihenfolge der Label in Verbindung gebracht, die in Schritt S141 sortiert werden (Schritt S143). Wenn zwei PLCs eingestellt sind, wird der Kopf der Label, die durch die PLC1 zu schreiben sind, mit dem Kopf der Verknüpfungseinrichtung, die durch die PLC1 zu schreiben ist, die in Schritt S142 zugewiesen wird, in Verbindung gebracht, und hierin nachstehend wird jedes Label mit einer entsprechenden Verknüpfungseinrichtung in der Reihenfolge der Label, die in Schritt S141 sortiert werden, in Verbindung gebracht. Das gleiche trifft auf die Label zu, die durch die PLC2 zu schreiben sind. Mit diesen Schritten ist der Netzstapelzuweisungs-/Assoziierungsprozess D beendet, und der Prozess kehrt zu 15 zurück.
  • 22 ist ein Schema einer spezifischen Prozedur für den Netzstapelzuweisungs-/Assoziierungsprozess D. In 22 wird die Schrittzahl einer Position entsprechend jedem der Schritte in 21 gegeben. Zuerst wird, basierend auf der Verknüpfungseinrichtungsassoziierungslabeltabelle 114, die in 20 gezeigt wird, eine PLC-Schreiblabel-Klassifizierungstabelle 116, in der die Label, die durch die PLCs zu schreiben sind, für jede PLC gesammelt und sortiert sind, als ein Vorprozess, der erforderlich ist, um eine Zuweisung in der Verknüpfungseinrichtung durchzuführen und das geteilte Label mit der Verknüpfungseinrichtung in Verbindung zu bringen, erstellt. Wie in 22 gezeigt, werden die Label, die durch die PLC1 zu schreiben sind, und die Label, die durch die PLC2 zu schreiben sind, klassifiziert (Schritt S141).
  • Als Nächstes werden, durch Verwenden des Ergebnisses einer Sortierung der Label in der Reihenfolge der PLCs in der PLC-Schreiblabel-Klassifizierungstabelle 116, Daten dafür, wie viele Punkte von Daten zu schreiben sind, für jede PLC extrahiert, und die Verknüpfungseinrichtung wird den extrahierten Punkten von Daten zugewiesen. Die PLC1 schreibt zwei Punkte von Daten, und somit erfordert die PLC1 zwei Punkte in der Verknüpfungseinrichtung. Die Verknüpfungseinrichtung hat jedoch eine Systembeschränkung in ihrer Zuweisung durch eine Einheit von 16 Punkten, und somit werden die Punkte auf 16 Punkte aufgerundet. Folglich werden die 16 Punkte B00 bis B0F als die Verknüpfungseinrichtung zugewiesen, die durch die PLC1 zu schreiben ist. Die PLC2 schreibt auch zwei Punkte von Daten, und somit werden die Punkte auf 16 Punkte auf die gleiche Art und Weise wie oben aufgerundet, und dann werden, als die Verknüpfungseinrichtung, die durch die PLC2 zu schreiben ist, die 16 Punkte B10 bis B1F beginnend von der Adresse anschließend zu der der Verknüpfungseinrichtung, die durch die PLC1 geschrieben wird, zugewiesen (Schritt S142).
  • Danach wird die Kopfadresse B00 der Verknüpfungseinrichtung, die durch die PLC1 geschrieben wird, was das Ergebnis der Zuweisung ist, mit dem Kopflabel "LabelA" in Verbindung gebracht, das durch die PLC1 geschrieben wird als das Ergebnis einer Sortierung der Label in der PLC-Schreiblabel-Klassifizierungstabelle. Und dann wird die Adresse B01 der Verknüpfungseinrichtung mit dem Label "Labe1G" in Verbindung gebracht. Des weiteren wird die Kopfadresse B10 der Verknüpfungseinrichtung, die durch die PLC2 geschrieben wird, die in Schritt S142 zugewiesen wird, mit dem Kopflabel "LabelD" in Verbindung gebracht, das durch die PLC2 in der PLC-Schreiblabel-Klassifizierungstabelle geschrieben wird. Und dann wird die Adresse B11 der Verknüpfungseinrichtung mit dem Label "LabelF" in Verbindung gebracht.
  • Bezüglich der Einstellung der Zuweisung in der Verknüpfungseinrichtung wird die gleiche Einstellung für die PLCs verwendet, die in dem Steuersystem verwendet wird. Somit wird die Einstellung der Zuweisung in der Verknüpfungseinrichtung zum Kompilieren in den PLCs gemeinsam verwendet.
  • (Labelassoziierungsprozess F)
  • Der Labelassoziierungsprozess F ist die Assoziierung zwischen dem Labelnamen und der Einrichtungsadresse, was im Stand der Technik erläutert wird, und die Assoziierung zwischen dem Labelnamen und der Einrichtungsadresse wird in jedem Label außer dem geteilten Label durch Verwenden des gleichen Verfahrens wie das herkömmliche durchgeführt. Die Assoziierung wird einfach in einer beliebigen Einrichtung außer den Einrichtungen, die mit den Labeln in dem Netzstapelzuweisungs-/Assoziierungsprozess D in Verbindung gebracht wurden, durchgeführt.
  • Mit diesen Schritten wird der Prozess zum Assoziieren aller Label mit den realen Einrichtungen abgeschlossen, was es möglich macht, den Kompilierungsprozess in Schritt S15 von 10 durchzuführen, der erforderlich ist, um sowohl das Programm PLC1 als auch das Programm PLC2 in die realen Maschinen PLC1 bzw. PLC2 herunterzuladen. Obwohl das Beispiel, wo zwei PLCs mit dem FA-Netz verbunden sind, oben erläutert wird, wird die Zahl von PLCs nicht durch diese Zahl begrenzt, und somit ist die vorliegende Erfindung auch auf den Fall anwendbar, wo eine Vielzahl von PLCs über das FA-Netz miteinander verbunden sind.
  • Gemäß der ersten Ausführungsform kann das Programm, das den gleichen Labelnamen für einen Datenaustausch zwischen PLCs verwendet, erstellt werden, und die Assoziierung des Labels mit der Verknüpfungseinrichtung und die Zuweisung in der Verknüpfungseinrichtung können automatisch durchgeführt werden. Deshalb erlaubt die Erstellung des Programms, das den gleichen Labelnamen zwischen PLCs verwendet, effiziente Einrichtungsentwicklung. Es ist auch möglich, Entwicklung des Steuersystems zu realisieren, worin Daten zwischen den PLCs bei einer hohen Geschwindigkeit ausgetauscht werden unter Verwendung der Funktion der Verknüpfungseinrichtung.
  • Zweite Ausführungsform
  • In der ersten Ausführungsform wird oben der Fall des Stapelassoziierungsprozesses des geteilten Labels für eine Programmierung der Steuerprogramme für PLCs in dem Verknüpfungssteuersystem erläutert, während in der zweiten Ausführungsform nachstehend der Fall des Stapelassoziierungsprozesses des geteilten Labels für eine Programmierung der Steuerprogramme für CPUs in dem Multi-CPU-Steuersystem erläutert wird.
  • Die Programmierung wird auch hier gemäß der in 10 gezeigten Prozedur durchgeführt. Zuerst wird, wie in Schritt S11 in dem Flussdiagramm von 10 gezeigt, die Systemkonfiguration eingestellt. 23 ist ein Schema eines Beispiels der Konfiguration in einem Anzeigeschirm des Entwicklungswerkzeugs, worin die Systemkonfiguration eingestellt wird. In dieser Figur wird die Systemkonfiguration, in der zwei CPU-Einheiten miteinander in der Basiseinheit verbunden sind, in dem Systemkonfigurationsaufbereitungswerkzeug 22A eingestellt.
  • 24 ist ein Schema einer spezifischen Prozedur für einen Stapelzuweisungs-/Assoziierungsprozess von geteilten Labeln in dem Multi-CPU-Steuersystem. Der Stapelzuweisungs-/Assoziierungsprozess der geteilten Label wird nachstehend mit Bezug auf 24 erläutert. Die Systemkonfiguration wird eingestellt, wie in 23 gezeigt, und dann wird das Label in Schritt S12 von 10 aufbereitet. Das Label enthält ein Label, das nur in einem Steuerprogramm für eine CPU1 (hierin nachstehend "Programm CPU1") verwendet wird, ein Label, das nur in einem Steuerprogramm für eine CPU2 (hierin nachstehend "Programm CPU2") verwendet wird, und ein Label für Daten, die zwischen der CPU1 und der CPU2 auszutauschen sind, und diese Label werden durch die gleiche Labelaufbereitung erstellt. Entsprechend ist es möglich, das Label der Daten, die zwischen der CPU1 und der CPU2 auszutauschen sind, unter Verwendung des gleichen Labelnamen zu handhaben. Zur gleichen Zeit wird eine Labeltabelle erstellt. Wie in der Labeltabelle 110 von 24 gezeigt, werden die acht Label von "LabelA" bis "LabelH" erstellt.
  • Des weiteren wird das Programm in Schritt S13 von 10 aufbereitet. Zu dieser Zeit werden ein Programm, das in der CPU1 läuft, und ein Programm, das in der CPU2 läuft, einzeln erstellt. Bei Erstellung wird spezifiziert, welche der CPUs in der Systemkonfiguration jedes Programm ausführt, und das Programm erstellt. Genauer werden die CPUs spezifiziert, sodass das Programm CPU1 durch die CPU1 in der Systemkonfiguration ausgeführt wird, und das Programm CPU2 durch die CPU2 darin ausgeführt wird. Es wird die gleiche Labeltabelle in beiden Fällen referenziert, wo das Programm CPU1 beschrieben wird und wo das Programm CPU2 beschrieben wird. Entsprechend kann das Label für Daten, die zwischen der CPU1 und der CPU2 auszutauschen sind, unter Verwendung des gleichen Labelnamen gehandhabt werden. 24 zeigt Beispiele von erstellten Leiterprogrammen. Wie in dieser Figur gezeigt, werden die Label, die in Schritt S12 erstellt werden, verwendet, um zwei Leiterprogramme für die CPU1 und die CPU2 (Programm CPU1 und Programm CPU2) zu erstellen.
  • Jede Programmierung der Steuerprogramme, um die jeweiligen CPUs zu steuern, die das Steuersystem bilden, wird abgeschlossen, und dann wird das Label mit der realen Einrichtung in Schritt S14 von 10 in Verbindung gebracht. Der Prozess zum Assoziieren des Labels mit der realen Einrichtung ist fast der gleiche wie der, der mit Bezug auf 15 gemäß der ersten Ausführungsform erläutert wird. Da jedoch die geteilte Auffrischungseinrichtung in der zweiten Ausführungsform verwendet wird, wird der Multi-CPU-Stapelzuweisungs-/Assoziierungsprozess E in Schritt S35 an Stelle des Netzstapelzuweisungs-/Assoziierungsprozesses D in Schritt S34 ausgeführt. Deshalb wird eine Erläuterung der Abschnitte entsprechend denen der ersten Ausführungsform vereinfacht, während Abschnitte, die sich von denen der ersten Ausführungsform unterscheiden, nachstehend detailliert erläutert werden.
  • Zuerst bestimmt der Label-zu-Einrichtung-Assoziierungsprozessor 16, dass ein Label für eine Programmierung verwendet wird, und bestimmt ferner, ob das Label ein geteiltes Label ist, das mit einer Einrichtung in Verbindung zu bringen ist, die unter einer Vielzahl von CPUs geteilt wird. Als ein Ergebnis wird, wenn das Label ein geteiltes Label ist, bestimmt, welche der CPUs das geteilte Label schreibt und welche der CPUs das geteilte Label liest. Das Ergebnis wird in der Schreib-/Leseinformation eines geteilten Labels 113 von 24 gezeigt. Danach wird aus der Systemkonfiguration bestimmt, ob eine Vielzahl von CPUs bezogen auf die geteilten Label eine Netzkonfiguration oder eine Multi-CPU-Konfiguration hat, worin die CPUs in einer Basiseinheit miteinander verbunden sind, und die geteilten Label werden in die Verknüpfungseinrichtungsassoziierungslabeltabelle 114 oder in die Assoziierungslabeltabelle einer geteilten Auffrischungseinrichtung 115 klassifiziert. Es wird in diesem Fall vermerkt, dass alle Label in die Assoziierungslabeltabelle einer geteilten Auffrischungseinrichtung 115 klassifiziert werden, während keine Label in die Verknüpfungseinrichtungsassoziierungslabeltabelle 114 klassifiziert werden (Schritte S31 bis S33 von 15).
  • (Multi-CPU-Stapelzuweisungs-/Assoziierungsprozess E)
  • In Schritt S33 von 15 wird das geteilte Label in die Assoziierungslabeltabelle einer geteilten Auffrischungseinrichtung klassifiziert, und danach wird der Multi-CPU-Stapelzuweisungs-/Assoziierungsprozess E in Schritt S35 ausgeführt. Der Multi-CPU-Stapelzuweisungs-/Assoziierungsprozess E zum gleichzeitigen und gemeinsamen Assoziieren von Labeln, die mit einer geteilten Auffrischungseinrichtung in Verbindung stehen, mit Einrichtungen wird nachstehend mit Verweis auf das Flussdiagramm von 25 erläutert. Zuerst werden Label, in der Assoziierungslabeltabelle einer geteilten Auffrischungseinrichtung, die durch die CPU-Einheiten zu schreiben sind, gesammelt und sortiert nach jeder CPU-Einheit (Schritt S201). Eine CPU-Schreiblabel-Klassifizierungstabelle wird aus der Assoziierungslabeltabelle einer geteilten Auffrischungs einrichtung durch Sortieren der Label darin erstellt. Wenn das Steuersystem mit sowohl der CPU1 als auch der CPU2 gebildet wird, werden die Label, die durch die CPU1 zu schreiben sind, gesammelt und sortiert, oder die Label, die durch die CPU2 zu schreiben sind, werden auch gesammelt und sortiert.
  • Als Nächstes wird die erstellte CPU-Schreiblabel-Klassifizierungstabelle verwendet, um eine Zuweisung in der geteilten Auffrischungseinrichtung aus der Zahl von Labeln zu entscheiden, die durch die jeweiligen CPUs zu schreiben sind (Schritt S202). Wenn zwei CPUs eingestellt sind, wird die Zuweisung in der geteilten Auffrischungseinrichtung aus der Zahl von Labeln, die durch die CPU1 zu schreiben sind, und der Zahl von Labeln, die durch die CPU2 zu schreiben sind, entschieden.
  • Danach wird der Kopf der Label, die durch jede CPU-Einheit zu schreiben sind, mit dem Kopf der geteilten Auffrischungseinrichtung in Verbindung gebracht, die durch die CPU-Einheit zu schreiben ist, die in Schritt S202 zugewiesen wird, und hiernach wird jedes Label mit einer entsprechenden geteilten Auffrischungseinrichtung in der Reihenfolge der Label in Verbindung gebracht, die in Schritt S201 sortiert werden (Schritt S203). Wenn zwei CPUs eingestellt sind, wird der Kopf der Label, die durch die CPU1 zu schreiben sind, mit dem Kopf der geteilten Auffrischungseinrichtung in Verbindung gebracht, die durch die CPU1 zu schreiben ist, die in Schritt S202 zugewiesen wird, und hiernach wird jedes Label mit einer entsprechenden geteilten Auffrischungseinrichtung in der Reihenfolge der Label in Verbindung gebracht, die in Schritt S201 sortiert werden. Das gleiche trifft auf die Label zu, die durch die CPU2 zu schreiben sind. Mit diesen Schritten wird der Multi-CPU-Stapelzuweisungs-/Assoziierungsprozess E beendet, und der Prozess kehrt zu 15 zurück. Es wird vermerkt, dass der Prozessor, der den Multi-CPU-Stapelzuweisungs-/Assoziierungsprozess E durchführt, in den Ansprüchen als "Einrichtungsstapelzuweisungs-/Assoziierungseinheit" beschrieben ist.
  • 26 ist ein Schema einer spezifischen Prozedur für den Multi-CPU-Stapelzuweisungs-/Assoziierungsprozess E. In 26 wird die Schrittzahl einer Position entsprechend jedem der Schritte in 25 gegeben. Zuerst wird, basierend auf der Assoziierungslabeltabelle einer geteilten Auffrischungseinrichtung 115, eine CPU-Schreiblabel-Klassifizierungstabelle 117, in der die Label, die durch die CPUs zu schreiben sind, gesammelt und sortiert werden, als ein Vorprozess erstellt, der erforderlich ist, um eine Zuweisung in der geteilten Auffrischungseinrichtung durchzuführen und das geteilte Label mit der geteilten Auffrischungseinrichtung in Verbindung zu bringen. Wie in 26 gezeigt, werden die Label, die durch die CPU1 zu schreiben sind, und die Label, die durch die CPU2 zu schreiben sind, klassifiziert (Schritt S201).
  • Durch Verwenden des Ergebnisses einer Sortierung der Label in der Reihenfolge der CPUs in der CPU-Schreiblabel-Klassifizierungstabelle 117, werden als Nächstes Daten dafür, wie viele Punkte von Daten zu schreiben sind, für jede CPU extrahiert, und die geteilte Auffrischungseinrichtung wird den extrahierten Punkten von Daten in jeder CPU zugewiesen. Die CPU1 schreibt zwei Punkte von Daten, und somit sind zwei Punkte als die geteilte Auffrischungseinrichtung erforderlich. Die geteilte Auffrischungseinrichtung hat jedoch eine Systembeschränkung in einer Zuweisung davon durch eine Einheit von 16 Punkten, und somit werden die Punkte auf 16 Punkte aufgerundet. Folglich werden die 16 Punkte M00 bis M0F in der CPU1 als die geteilte Auffrischungseinrichtung, die durch die CPU1 zu schreiben ist, zugewiesen. Die CPU2 schreibt zwei Punkte von Daten, und somit werden die Punkte auf 16 Punkte auf die gleiche Art und Weise wie oben aufgerundet, und dann werden, als die geteilte Auffrischungseinrichtung, die durch die CPU2 zu schreiben ist, die 16 Punkte M10 bis M1F beginnend von der Adresse anschließend zu der der geteilten Auffrischungseinrichtung, die durch die CPU1 geschrieben wird, zugewiesen.
  • In der CPU2 wird auch die gleiche Zahl von Punkten wie die zugewiesenen Punkte in der CPU1 verwendet, um eine Zuweisung in der geteilten Auffrischungseinrichtung durchzuführen. Eine Zuweisungsadresse kann jedoch die gleiche wie die der CPU1 sein, oder kann sich davon unterscheiden. In der CPU2 dieses Beispiels werden die 16 Punkte M20 bis M2F als die geteilte Einrichtung zugewiesen, die durch die CPU1 zu schreiben ist, und als die geteilte Auffrischungseinrichtung, die durch die CPU2 zu schreiben ist, werden die 16 Punkte M30 bis M3F beginnend von der Adresse anschließend zu der der geteilten Auffrischungseinrichtung, die durch die CPU1 geschrieben wird, zugewiesen (Schritt S202).
  • Es wird vermerkt, dass der Labelassoziierungsprozess F durchgeführt wird, nachdem der Multi-CPU-Stapelzuweisungs-/Assoziierungsprozess E durchgeführt ist. Deshalb wird, falls die Kopfadresse, die als die geteilte Auffrischungseinrichtung zuzuweisen ist, nicht besonders spezifiziert wird, automatische Zuweisung einfach von der gleichen Adresse M00 in sowohl der CPU1 als auch der CPU2 gestartet, und das Label muss nur mit einer Adresse außer M00 in dem Labelassoziierungsprozess F in Verbindung gebracht werden.
  • Soweit wurde der Fall erläutert, wo es die Systembeschränkung in einer Zuweisung in der geteilten Auffrischungseinrichtung durch eine Einheit von 16 Punkten gibt. Falls es jedoch eine Systembeschränkung in einer Zuweisung in der geteilten Auffrischungseinrichtung durch eine Einheit von 32 Punkten gibt und falls Daten, die durch die CPU zu schreiben sind, weniger als 32 Punkte sind, dann werden die Daten auf 32 Punkte aufgerundet. Es wird auch der gleiche Prozess durchgeführt, wenn durch eine Einheit von beliebigen anderen Punkten zugewiesen wird.
  • Danach wird in der CPU1 die Kopfadresse M00 der geteilten Auffrischungseinrichtung, die durch die CPU1 geschrieben wird, was das Ergebnis einer Zuweisung ist, mit dem Kopflabel LabelA, das durch die CPU1 geschrieben wird als das Ergebnis einer Sortierung der Label in der CPU-Schreiblabel-Klassifizierungstabelle 117 in Verbindung gebracht. Und dann wird die Adresse M01 der geteilten Auffrischungseinrichtung mit dem Label LabelG in Verbindung gebracht. Des weiteren wird die Kopfadresse M10 der geteilten Auffrischungseinrichtung, die durch die CPU2 geschrieben wird, die in Schritt S202 zugewiesen wird, mit dem Kopflabel LabelD, das durch die CPU2 geschrieben wird, in der CPU-Schreiblabel-Klassifizierungstabelle 117 in Verbindung gebracht. Und dann wird die Adresse M11 der geteilten Auffrischungseinrichtung mit dem Label LabelF in Verbindung gebracht. In der CPU2 wird die Assoziierung auch durch den gleichen Prozess wie oben durchgeführt. Genauer wird die Kopfadresse M20 der geteilten Auffrischungseinrichtung, die durch die CPU1 geschrieben wird, was das Ergebnis einer Zuweisung in Schritt S202 ist, mit dem Kopflabel LabelA, das durch die CPU1 geschrieben wird als das Ergebnis einer Sortierung der Label in der CPU-Schreiblabel-Klassifizierungstabelle 117 in Verbindung gebracht. Und dann wird die Adresse M21 der geteilten Auffrischungseinrichtung mit dem Label LabelG in Verbindung gebracht. Des weiteren wird die Kopfadresse M30 der geteilten Auffrischungseinrichtung, die durch die CPU2 geschrieben wird, die in Schritt S202 zugewiesen wird, mit dem Kopflabel LabelD, das durch die CPU2 geschrieben wird, in der CPU-Schreiblabel-Klassifizierungstabelle 117 in Verbindung gebracht. Und dann wird die Adresse M31 der geteilten Auffrischungseinrichtung mit dem Label LabelF in Verbindung gebracht.
  • Als die Einstellung einer Zuweisung in der geteilten Auffrischungseinrichtung, muss eine Einstellung der gleichen Zahl von Punkten in den CPUs verwendet werden. Eine Zuweisungsadresse wird jedoch einfach in jeder CPU eingestellt, und somit wird die Einstellung einer Zuweisung in der geteilten Auffrischungseinrichtung, die durch den obigen Prozess eingestellt wird, zum Kompilieren in jeder CPU verwendet.
  • Der anschließende Labelassoziierungsprozess F ist die Assoziierung zwischen dem Labelnamen und der Einrichtungsadresse, was im Stand der Technik erläutert wird, und Assoziierung zwischen dem Labelnamen und der Einrichtungsadresse wird für jedes Label außer dem geteilten Label durch Verwenden des gleichen Verfahrens wie das herkömmliche durchgeführt. Die Assoziierung wird einfach in einer beliebigen Einrichtung außer den Einrichtungen, die mit den Labeln in dem Multi-CPU-Stapelzuweisungs-/Assoziierungsprozess E in Verbindung gebracht wurden, durchgeführt.
  • Mit diesen Schritten wird der Prozess zum Assoziieren aller Label mit den realen Einrichtung abgeschlossen, was es möglich macht, den Kompilierungsprozess in Schritt S15 von 10 durchzuführen, der erforderlich ist, um sowohl das Programm CPU1 als auch das Programm CPU2 in die realen Maschinen CPU1 bzw. CPU2 herunterzuladen. Obwohl oben das Beispiel, wo die zwei CPU-Einheiten an der Basiseinheit montiert sind, erläutert wird, ist die Zahl von CPU-Einheiten nicht durch diese Zahl begrenzt, und somit ist die vorliegende Erfindung auch auf dem Fall anwendbar, wo eine Vielzahl von CPU-Einheiten an der Basiseinheit montiert ist.
  • Gemäß der zweiten Ausführungsform kann das Programm, das den gleichen Labelnamen für einen Datenaustausch zwischen vielen CPUs verwendet, erstellt werden, und die Assoziierung des Labels mit der geteilten Auffrischungseinrichtung und die Zu weisung in der geteilten Auffrischungseinrichtung können automatisch durchgeführt werden. Somit erlaubt die Erstellung des Programms, das den gleichen Labelnamen zwischen vielen CPUs verwendet, effizientere Einrichtungsentwicklung. Es ist auch möglich, Entwicklung der Einrichtung zu realisieren, die Daten zwischen den CPUs bei einer hohen Geschwindigkeit unter Verwendung der Funktion der geteilten Auffrischungseinrichtung austauscht.
  • Dritte Ausführungsform
  • In der dritten Ausführungsform wird nachstehend der Bestimmungsprozess B in dem Flussdiagramm von 15 in dem Fall, wo das Multi-CPU-Steuersystem, das zwei CPUs enthält, aufgebaut ist und eine der CPUs eine Bewegungs-CPU ist, erläutert. Falls eine Programmbeschreibungssprache nicht eine Leitersprache, sondern eine bewegungsspezifische mechanische Sprache ist, dann ist es unmöglich zu entscheiden, welche von PLCs (CPUs) Daten schreiben und welche von PLCs (CPUs) Daten lesen, anders als in der Leitersprache. Es ist deshalb unnötig, vorher Elemente einzustellen um zu spezifizieren, welche von Werten zu referenzieren sind, für jedes Element der mechanische Sprache, und eine Einrichtungsadresse oder ein Label wird darin eingestellt.
  • 27 ist ein Schema eines Beispiels der Konfiguration gemäß der dritten Ausführungsform des Steuersystems, und 28-1 bis 28-5 sind Schemata von Beispielen von Parametern jedes mechanischen Elementes in 27. Wie in 27 gezeigt, enthält das Steuersystem ein Getriebe, einen virtuellen Servomotor, eine Kupplung, einen Drehtisch und eine Kugelrollspindel, und 28-1 bis 28-5 zeigen die Parameter der jeweiligen Elemente.
  • In dem Fall z. B. des Getriebes von 28-1 können "Zahl von Getrieben in der Eingangsachse" und "Zahl von Getrieben in der Ausgangsachse" als "Getriebeübersetzung" durch Verweisen auf das Label eingestellt werden, und sein Attribut wird als Lesedaten eingestellt. In dem Fall des virtuellen Servomotors von 28-2 gibt es keinen Parameter, mit dem eine Einrichtung spezifiziert werden kann. In dem Fall der Kupplung von 28-3 kann "Kupplung EIN/AUS" durch Verweisen auf das Label eingestellt werden, und ihr Attribut wird als Lesedaten eingestellt. In dem Fall des Drehtischs von 28-4 kann "virtuelle Achse einer innerhalb-einer-Umdrehung-Stromwertspeichereinrichtung" durch Verweisen auf das Label eingestellt werden, und sein Attribut wird als Schreibdaten eingestellt. In dem Fall der Kugelrollspindel von 28-5 kann "Drehmomentgrenze" durch Verweisen auf das Label eingestellt werden, und ihr Attribut wird als Lesedaten eingestellt.
  • 29 ist ein Schema eines Beispiels von Attributinformation eines mechanischen Elementes in der Listenform von Schreibdaten und Lesedaten für Parameter der mechanischen Elemente in 28-1 bis 28-5. Wie in der Attributinformation eines mechanischen Elementes gezeigt, werden ein Element, das eingestellt werden kann durch Verweisen auf ein entsprechendes Label für jedes mechanische Element, und sein Attribut, das spezifiziert, ob das Element Schreiben oder Lesen ist, darin als eine Liste gespeichert. 29 beschreibt den Inhalt, der mit Verweis auf 28-1 bis 28-5 erläutert wird.
  • In dem Bestimmungsprozess B gemäß den ersten und zweiten Ausführungsformen wird, wenn das Steuerprogramm in der Leitersprache beschrieben wird, eine Bestimmung ohne Ausnahme auf eine derartige Art und Weise durchgeführt, dass das Kontaktsymbol Schreiben anzeigt und das Spulensymbol Lesen anzeigt. Wenn jedoch in der mechanischen Sprache beschrieben, wird die Bestimmung durch Verweisen auf die Attributinformation eines mechanischen Elementes durchgeführt, wie in 29 gezeigt.
  • Wenn z. B. das Label in dem EIN-/AUS-Parameter der Kupplung verwendet wird, wird durch Verweisen auf die Attributinformation eines mechanischen Elementes von 29 herausgefunden, dass das Label Lesen in der mechanischen Sprache ist. Wenn das Label in dem innerhalb-einer-Umdrehung-Stromwert des Drehtischs verwendet wird, wird herausgefunden, dass das Label Schreiben in der mechanischen Sprache ist, was auf die gleiche Art und Weise wie oben erhalten wird. Auf diese Art und Weise ist es durch vorheriges Spezifizieren der Attributinformation eines mechanischen Elementes, wie in 29 gezeigt, worin Schreiben oder Lesen durch Verweisen auf ein entsprechendes Label für jedes mechanische Element spezifiziert wird, möglich zu bestimmen, ob das Label Schreibdaten oder Lesedaten ist, basierend auf der Attributinformation eines mechanischen Elementes.
  • Es wird vermerkt, dass der Rest der Prozesse der gleiche wie die ist, die in den ersten und zweiten Ausführungsformen erläutert werden, und somit eine Erläuterung davon weggelassen wird.
  • Gemäß der dritten Ausführungsform wird, durch Verwenden der Attributinformation eines mechanischen Elementes, die darin Elemente speichert, die durch Verweisen auf jeweilige Label und Attribute bezüglich dessen, ob jedes Label Schreiben oder Lesen ist, eingestellt werden können, bestimmt, welche von CPUs das Label schreibt und welche von CPUs das Label liest. Selbst wenn das Steuerprogramm in einer bewegungsspezifischen mechanischen Sprache beschrieben wird, können deshalb die Assoziierung des Labels mit der geteilten Auffrischungseinrichtung und die Zuweisung in der geteilten Auffrischungseinrichtung automatisch durchgeführt werden. Als ein Ergebnis ist es möglich, effizientere Einrichtungsentwicklung durch Erstellen des Programms unter Verwendung des gleichen Labelnamen zwischen vielen CPUs zu realisieren. Es ist auch möglich, Entwicklung der Einrichtung, die Daten zwischen den CPUs bei einer hohen Geschwindigkeit unter Verwendung der geteilten Auffrischungseinrichtung austauscht, zu realisieren.
  • Vierte Ausführungsform
  • In der vierten Ausführungsform wird der Fall erläutert, wo Steuerprogramme für zwei PLCs zu entwickeln sind, wenn ein Steuersystem durch Verwenden von zwei PLCs aufgebaut ist, die vernetzt sind. Besonders wird nachstehend der Fall erläutert, wo Labeltabellen für geteilte Label und andere Label (nicht-geteilte Label) getrennt gemanagt werden.
  • 30 ist ein Schema eines Beispiels eines Labelmanagementverfahrens in dem Managementwerkzeug. In diesem Beispiel managt die Baumansicht 21 des Entwicklungswerkzeugs 10A Label in der Form einer Systemkonfiguration, eines geteilten Labels und Programmen, und jedes der Programme managt ein Label, das nur in dem Programm verwendet wird, und auch ein Programm.
  • Wie in der Figur gezeigt, werden, wenn z. B. zwei PLC1 und PLC2 über das Netz miteinander verbunden sind, um das Steuersystem zu bilden, ein Steuerprogramm, das in der PLC1 läuft (hierin nachstehend "Programm PLC1"), und ein Steuerprogramm, das in der PLC2 läuft (hierin nachstehend "Programm PLC2"), als die Programme erstellt. Es wird spezifiziert, welche der PLCs in der Systemkonfiguration jedes dieser Programme ausführt. Genauer wird so spezifiziert, dass das Programm PLC1 durch die PLC1 in der Systemkonfiguration ausgeführt wird, und es wird so spezifiziert, dass das Programm PLC2 durch die PLC2 in der Systemkonfiguration ausgeführt wird.
  • Das Label enthält ein Label, das nur in dem Programm PLC1 verwendet wird, ein Label, das nur in dem Programm PLC2 verwendet wird, und ein geteiltes Label für Daten, die zwischen der PLC1 und PLC2 ausgetauscht werden, und diese Label werden durch Verwenden jeweils unterschiedlicher Labeltabellen erstellt. In dem Beispiel von 29 werden die Labeltabellen für Label außer den geteilten Labeln gemanagt, indem sie mit den jeweiligen Programmen in Verbindung gebracht werden. In diesem Fall wird spezifiziert, welche der PLCs jedes der Programme ausführt, und somit wird eindeutig entschieden, welche der PLCs mit jeder Labeltabelle in Verbindung steht.
  • 31 ist ein Schema eines anderen Beispiels des Labelmanagementverfahrens in dem Managementwerkzeug. In diesem Beispiel managt die Baumansicht 21 des Entwicklungswerkzeugs 10A Label in der Form von Systemkonfiguration, eines Labels und eines Programms. Ferner existieren ein geteiltes Label und Label, die in den jeweiligen PLCs (CPUs) verwendet werden in dem unteren Teil des Labels, und sie werden durch Speichern ihrer Attribute in jeder Labeltabelle gemanagt.
  • Wenn das Steuersystem mit den zwei PLC1 und PLC2 gebildet wird, die über das Netz auf die obige Art und Weise miteinander verbunden sind, wird spezifiziert, als ein Attribut für jede Labeltabelle, ob jede Labeltabelle das geteilte Label anzeigt oder mit welcher der PLC1 und PLC2 jede Labeltabelle in Verbindung steht.
  • Wenn das Programm PLC1, das das Steuerprogramm für die PLC1 ist, zu beschreiben ist, werden die Labeltabelle, die nur in dem Programm PLC1 verwendet wird, und geteilte Label für Daten, die zwischen den PLCs ausgetauscht werden, referenziert. Wenn das Programm PLC2, das das Steuerprogramm für die PLC2 ist, zu beschreiben ist, werden die Labeltabelle, die nur in dem Programm PLC2 verwendet wird, und geteilte Label für Da ten, die zwischen den PLCs ausgetauscht werden, referenziert. Folglich ist es möglich, Label für Daten, die zwischen der PLC1 und der PLC2 ausgetauscht werden unter Verwendung des gleichen Labelnamen zu handhaben, und es ist auch möglich, das Label, das nur in dem Programm PLC1 verwendet wird, und das Label, das nur in dem Programm PLC2 verwendet wird, als unterschiedliche zu handhaben, selbst wenn die Label den gleichen Labelnamen haben.
  • Wie oben erläutert, wird die Programmierung für die PLCs, wenn die Labeltabelle für die geteilten Label und die für die anderen Label (nicht-geteilte Label) getrennt gemanagt werden, abgeschlossen, und jedes Label wird mit jeder realen Einrichtung in Verbindung gebracht. Wenn das geteilte Label und das nicht-geteilte Label auf die obige Art und Weise im voraus getrennt erstellt werden, wird das Label in der geteilten Labeltabelle als das geteilte Label basierend auf dem Flussdiagramm von 15 gemäß der ersten Ausführungsform bestimmt, und somit wird der Bestimmungsprozess A nicht mehr benötigt. Als ein Ergebnis ist es notwendig aus dem Programmdesign zu klären, ob das Label das geteilte Label ist. Der Bestimmungsprozess B und der folgende Prozess/die folgenden Prozesse werden jedoch durchgeführt, und der Stapelzuweisungs-/Assoziierungsprozess wird durchgeführt, was den Kompilierungsprozess schneller macht. Obwohl das Verknüpfungssteuersystem oben erläutert wird, kann das Multi-CPU-Steuersystem auch auf die gleiche Art und Weise wie oben verarbeitet werden.
  • Gemäß der vierten Ausführungsform wird, zusätzlich zu den Effekten der ersten bis dritten Ausführungsformen, das geteilte Label derart, dass das Label zwischen PLCs für Datenaustausch zwischen PLCs verwendet wird, oder zwischen CPUs für Datenaustausch zwischen vielen CPUs verwendet wird, vorher von dem nicht-geteilten Label getrennt, das nur in jeder PLC oder in jeder CPU verwendet wird. Deshalb können die Assoziierung des Labels mit der Verknüpfungseinrichtung und die Zuweisung in der Verknüpfungseinrichtung, oder die Assoziierung des Labels mit der geteilten Auffrischungseinrichtung und die Zuweisung in der geteilten Auffrischungseinrichtung in einer kürzeren Zeit im Vergleich mit denen der ersten bis dritten Ausführungsformen durchgeführt werden.
  • Fünfte Ausführungsform
  • In der fünften Ausführungsform wird nachstehend der Fall wie folgt erläutert, wobei der Fall derart ist, dass wenn ein Steuersystem durch Verwenden von zwei PLCs aufgebaut ist, die vernetzt sind, und Steuerprogramme für die zwei PLCs zu entwickeln sind, die Labeltabellen für geteilte Label und nicht-geteilte Label getrennt gemanagt werden, und spezifiziert wird, welche der PLCs jedes Label schreibt und welche der PLCs jedes Label liest, und dann wird der Prozess von Stapelzuweisung/Assoziierung von Labeln zu Einrichtungen durchgeführt.
  • In der vierten Ausführungsform werden die geteilten Label und die nicht-geteilten Label im voraus getrennt gemanagt, während in der fünften Ausführungsform die Schreib-/Leseinformation eines geteilte Labels, die verwendet wird, um das geteilte Label aufzubereiten, ferner im voraus erstellt wird, wobei die Information derart ist, dass spezifiziert wird, welche der PLCs jedes Label schreibt und welche der PLCs jedes Label liest. 32 ist ein Schema eines Beispiels der Schreib-/Leseinformation eines geteilten Labels gemäß der fünften Ausführungsform.
  • Wie oben erläutert, wird Programmierung für die PLCs in dem folgenden Fall abgeschlossen, wobei der Fall derart ist, dass die Labeltabellen für die geteilten Label und die nicht-ge teilten Label getrennt sind und die Schreib-/Leseinformation eines geteilten Labels, worin spezifiziert wird, welche der PLCs jedes Label der geteilten Label schreibt, und welche der PLCs jedes Label der geteilten Label liest, ferner vorbereitet ist. Die Programmierung in dem obigen Fall wird abgeschlossen, und jedes Label wird mit jeder realen Einrichtung in Verbindung gebracht. In diesem Fall wird das Label in der Tabelle eines geteilten Labels als das geteilte Label in dem Flussdiagramm von 15 gemäß der dritten Ausführungsform bestimmt, und somit wird der Bestimmungsprozess A nicht mehr benötigt. Des weiteren wird spezifiziert, welche der PLCs (CPUs) jedes Label in der Tabelle eines geteilten Labels schreibt und welche der PLCs (CPUs) jedes Label darin liest, und somit wird der Bestimmungsprozess B nicht mehr benötigt. Als ein Ergebnis ist es notwendig, aus dem Programmdesign zu klären, welche der PLCs (CPUs) das geteilte Label schreibt. Es werden jedoch nur der Bestimmungsprozess C und der folgende Prozess durchgeführt, und der Stapelzuweisungs-/Assoziierungsprozess wird durchgeführt, was den Kompilierungsprozess schneller macht.
  • Gemäß der fünften Ausführungsform werden, zusätzlich zu den Effekten der vierten Ausführungsform, die Label der geteilten Label durch Spezifizieren, welche der PLCs (CPUs) das Label schreibt und welche der PLCs (CPUs) das Label liest, gemanagt. Deshalb können die Assoziierung des Labels mit der Verknüpfungseinrichtung und die Zuweisung in der Verknüpfungseinrichtung, oder die Assoziierung des Labels mit der geteilten Auffrischungseinrichtung und die Zuweisung in der geteilten Auffrischungseinrichtung in einer kürzeren Zeit im Vergleich mit denen der ersten bis vierten Ausführungsformen durchgeführt werden.
  • Das Programmierungsunterstützungsverfahren kann realisiert werden, indem ein Computer, wie etwa ein Personalcomputer oder eine Arbeitsstation, mit einer CPU (zentrale Verarbeitungseinheit) veranlasst wird, Programme mit der Prozedur, die darin geschrieben ist, auszuführen. In diesem Fall führt die CPU (Steuervorrichtung) des Computers jeden Schritt des Programmierungsunterstützungsverfahrens gemäß den Programmen aus. Diese Programme werden ausgeführt, indem sie in einem computerlesbaren Aufzeichnungsmedium gespeichert sind, wie etwa einer Festplatte, einer Floppy-(Warenzeichen) Platte, einem CD-(kompakte Disk) ROM (Nur-Lesespeicher), MO (magneto-optische Platte) und DVD (Digital Versatile Disk oder Digital Video Disk), und durch den Computer von dem Aufzeichnungsmedium gelesen werden. Diese Programme können auch über ein Netz (Kommunikationsleitung), wie etwa das Internet, verteilt werden.
  • INDUSTRIELLE ANWENDUNG
  • Wie oben erläutert, ist die Programmierungsunterstützungsvorrichtung gemäß der vorliegenden Erfindung zur Erstellung des Steuerprogramms nützlich, wenn Steuervorrichtungen, wie etwa eine Vielzahl von PLCs oder CPUs, ein Steuersystem bilden.
  • ZUSAMMENFASSUNG
  • Um eine Programmierungsunterstützungsvorrichtung zu erhalten, die zum Erstellen eines Programms fähig ist, das ein gleiches Label zwischen PLCs oder zwischen vielen CPUs in einem Steuersystem verwendet, und zum Vereinfachen von Operationen einer Zuweisung in einer Einrichtung und Assoziierung des Labels mit der Einrichtung fähig ist. Die Programmierungsunterstützungsvorrichtung enthält einen Label-zu-Einrichtung-Assoziierungsprozessor, der ein geteilte Label, das mit der Einrichtung in Verbindung zu bringen ist entsprechend einem Speicher, der durch eine Vielzahl von Steuervorrichtungen geteilt wird, von Steuerprogrammen für die jeweiligen Steuervorrichtungen extrahiert, bestimmt, welche der Steuervorrichtungen Daten für das geteilte Label schreibt und welche der Steuervorrichtungen Daten für das geteilte Label liest, durch Verweisen auf die Steuerprogramme, um Schreib-/Leseinformation eines geteilten Labels zu generieren, geteilte Label sortiert, die durch die Steuervorrichtungen zu schreiben sind, für jede der Steuervorrichtungen, und das geteilte Label mit einer Adresse der Einrichtung für jede Sortierung in Verbindung bringt.
  • 10
    Programmierungsunterstützungsvorrichtung
    10A
    Entwicklungswerkzeug
    11
    Anzeigeeinheit
    12
    Eingabeeinheit
    13
    Systemkonfigurationseinstellungseinheit
    14
    Labeleinstellungseinheit
    15
    Programmeinstellungseinheit
    16
    Label-zu-Einrichtung-Assoziierungsprozessor
    17
    Kompilierungsprozessor
    18
    Anzeigeprozessor
    19
    Steuervorrichtung
    21
    Baumansicht
    22
    Systemkonfiguration
    22A
    Systemkonfigurationsaufbereitungswerkzeug
    23
    Label
    23A, 23B
    Labelaufbereitungswerkzeug
    24
    Programm
    24A
    Programmaufbereitungswerkzeug
    25
    Hardwarekonfiguration
    26
    Labelassoziierung
    26A
    Label-zu-Einrichtung-Assoziierungswerkzeug
  • 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 6-311202 [0018]
    • - WO 02-042853 [0018]
    • - JP 2003-15705 [0018]
  • Zitierte Nicht-Patentliteratur
    • - Q Corresponding MELSECNET/H Network System: Mitsubishi General-Purpose Sequencer MELSAC-Q, [online], Mitsubishi Electric Corp., Dezember 2005, [gesucht am 20. Januar 2006], Internet <URL: http://wwwf3.mitsubishielectric.co.jp/members/o manual/plc/sh 080026/sh080026k.pdf> [0018]

Claims (16)

  1. Eine Programmierungsunterstützungsvorrichtung, die Erstellung eines Steuerprogramms unterstützt, das ein Label verwendet, womit jede einer Vielzahl von Steuervorrichtungen, die in einem Steuersystem vorgesehen sind, ein Objekt steuert, das zu steuern ist, die Programmierungsunterstützungsvorrichtung umfassend: eine Extraktionseinheit eines geteilten Labels, die ein geteiltes Label extrahiert, das mit einer Einrichtung in Verbindung zu bringen ist entsprechend einem Speicher, der durch die Steuervorrichtungen geteilt wird, von Steuerprogrammen für die jeweiligen Steuervorrichtungen; eine Schreib-/Leseinformationsgenerierungseinheit eines geteilten Labels, die bestimmt, welche der Steuervorrichtungen Daten für das geteilte Label schreibt und welche der Steuervorrichtungen Daten für das geteilte Label liest, durch Verweisen auf die Steuerprogramme, und Schreib-/Leseinformation eines geteilten Labels generiert; und eine Einrichtungsstapelzuweisungs-/Assoziierungseinheit, die geteilte Label, die durch die Steuervorrichtungen zu schreiben sind, für jede der Steuervorrichtungen sortiert, die die Schreib-/Leseinformation eines geteilten Labels verwendet, und das geteilte Label mit einer Adresse der Einrichtung für jede Sortierung in Verbindung bringt.
  2. Die Programmierungsunterstützungsvorrichtung nach Anspruch 1, wobei die Einrichtungsstapelzuweisungs-/Assoziierungseinheit enthält eine Einheit zum Sortieren von geteilten Labeln, die durch jede Steuervorrichtung zu schreiben sind, die die Schreib-/Leseinformation eines geteilten Labels verwendet, eine Einheit zum Entscheiden einer Zuweisung in der Einrichtung aus der Zahl von sortierten Labeln, die durch jede der Steuervorrichtungen zu schreiben sind, und eine Einheit zum Assoziieren des geteilten Labels, das durch die Steuervorrichtung zu schreiben ist, mit einer Adresse der Einrichtung, in der Einrichtung, die für die Steuervorrichtung zugewiesen ist.
  3. Die Programmierungsunterstützungsvorrichtung nach Anspruch 1, wobei das Steuersystem programmiert ist, eine Vielzahl von programmierbaren Steuervorrichtungen (hierin nachstehend "PLCs") zu haben, die über ein Netz miteinander verbunden sind, die Einrichtung einer Verknüpfungseinrichtung ist, die in jeder der PLCs vorgesehen ist, und die Einrichtungsstapelzuweisungs-/Assoziierungseinheit geteilte Label, die durch die PLCs zu schreiben sind, für jede der PLCs sortiert, die die Schreib-/Leseinformation eines geteilten Labels verwendet, und das geteilte Label mit einer Adresse der Verknüpfungseinrichtung für jede Sortierung in Verbindung bringt.
  4. Die Programmierungsunterstützungsvorrichtung nach Anspruch 1, wobei das Steuersystem eine Multi-CPU-Konfiguration hat, in der eine Vielzahl von CPU-Einheiten an einer Basiseinheit montiert ist, die Einrichtung eine geteilte Auffrischungseinrichtung ist, die in jeder der CPU-Einheiten vorgesehen ist, und die Einrichtungsstapelzuweisungs-/Assoziierungseinheit geteilte Label, die durch die CPU-Einheiten zu schreiben sind, für jede der CPU-Einheiten sortiert, die die Schreib-/Leseinformation eines geteilten Labels verwendet, und das geteilte Label mit einer Adresse der geteilten Auffrischungseinrichtung für jede Sortierung in Verbindung bringt.
  5. Die Programmierungsunterstützungsvorrichtung nach Anspruch 1, ferner umfassend eine Systemkonfigurationsbestimmungseinheit, die bestimmt, ob das Steuersystem eine Verknüpfungskonfiguration hat, in der eine Vielzahl von programmierbaren Steuervorrichtungen (hierin nachstehend "PLCs") über ein Netz miteinander verbunden ist oder eine Multi-CPU-Konfiguration hat, in der eine Vielzahl von CPU-Einheiten an einer Basiseinheit montiert ist, basierend auf Systemkonfigurationsinformation, die die Konfiguration des Steuersystems anzeigt, wobei die Einrichtungsstapelzuweisungs-/Assoziierungseinheit die Verknüpfungseinrichtung, die in der PLC vorgesehen ist, mit ihrer Adresse und einem geteilten Label in Verbindung bringt, wenn das Steuersystem die Verknüpfungskonfiguration hat, und die geteilte Auffrischungseinrich tung, die in der CPU-Einheit vorgesehen ist, mit ihrer Adresse und einem geteilten Label in Verbindung bringt, wenn das Steuersystem die Multi-CPU-Konfiguration hat.
  6. Die Programmierungsunterstützungsvorrichtung nach Anspruch 1, wobei wenn die Steuervorrichtung eine Motorsteuervorrichtung ist, die Schreib-/Leseinformationsgenerierungseinheit eines geteilten Labels bestimmt, welche der Steuervorrichtungen Daten für das geteilte Label schreibt und welche der Steuervorrichtungen Daten für das geteilte Label liest, durch Verweisen, zusätzlich zu den Steuerprogrammen, auf ein Element, das als ein Label für jedes Objekt eingestellt werden kann, das zu steuern ist, und auch Verweisen auf Attributinformation eines mechanischen Elementes, die ein Attribut anzeigt, das spezifiziert, ob die Steuervorrichtung das Label schreibt oder das Label liest, und die Schreib-/Leseinformation eines geteilten Labels generiert.
  7. Eine Programmierungsunterstützungsvorrichtung, die Erstellung eines Steuerprogramms unterstützt, das ein Labels verwendet, mit dem jede einer Vielzahl von Steuervorrichtungen, die in einem Steuersystem vorgesehen sind, ein Objekt steuert, das zu steuern ist, die Programmierungsunterstützungsvorrichtung umfassend: eine Schreib-/Leseinformationsgenerierungseinheit eines geteilten Labels, die bestimmt, welche der Steuervorrichtungen Daten für ein geteiltes Label schreibt, das mit einer Einrichtung in Verbindung steht entsprechend einem Speicher, der durch die Steuervorrichtungen geteilt wird, und welche der Steuervorrichtungen Daten für das geteilte Label liest, durch Verweisen auf Steuerprogramme, und Schreib-/Leseinformation eines geteilten Labels generiert; und eine Einrichtungsstapelzuweisungs-/Assoziierungseinheit, die geteilte Label, die durch die Steuervorrichtungen zu schreiben sind, für jede der Steuervorrichtungen sortiert, die die Schreib-/Leseinformation eines geteilten Labels verwenden, und das geteilte Label mit einer Adresse der Einrichtung für jede Sortierung in Verbindung bringt.
  8. Eine Programmierungsunterstützungsvorrichtung, die Erstellung eines Steuerprogramms unterstützt, das ein Label verwendet, mit dem jede einer Vielzahl von Steuervorrichtungen, die in einem Steuersystem vorgesehen sind, ein Objekt steuert, das zu steuern ist, wobei geteilte Label in der Schreib-/Leseinformation eines geteilten Labels enthalten sind, die spezifiziert, welche der Steuervorrichtungen jedes geteilte Label der geteilten Label schreibt, die mit einer Einrichtung in Verbindung zu bringen sind entsprechend einem Speicher, der durch die Steuervorrichtungen geteilt wird, und welche der Steuervorrichtungen jedes geteilte Label der geteilten Label liest, und die geteilten Label, die durch die Steuervorrichtungen zu schreiben sind, für jede der Steuervorrichtungen sortiert werden, um das geteilte Label mit einer Adresse der Einrichtung für jede Sortierung in Verbindung zu bringen.
  9. Ein Programmierungsunterstützungsverfahren zum Unterstützen einer Erstellung eines Steuerprogramms, das ein Label verwendet, mit dem jede einer Vielzahl von Steuervorrichtungen, die in einem Steuersystem vorgesehen sind, ein Objekt steuert, das zu steuern ist, das Programmierungsunterstützungsverfahren umfassend: einen Extraktionsschritt eines geteilten Labels zum Extrahieren eines geteilten Labels, das mit einer Einrichtung in Verbindung zu bringen ist entsprechend einem Speicher, der durch die Steuervorrichtungen geteilt wird, von Steuerprogrammen für die jeweiligen Steuervorrichtungen; einen Schreib-/Leseinformationsgenerierungsschritt eines geteilten Labels, der enthält Bestimmen, welche der Steuervorrichtungen Daten für das geteilte Label schreibt und welche der Steuervorrichtungen Daten für das geteilte Label liest, durch Verweisen auf die Steuerprogramme, und Generieren von Schreib-/Leseinformation eines geteilten Labels; und einen Einrichtungsstapelzuweisungs-/Assoziierungsschritt, der enthält Sortieren von geteilten Labeln, die durch die Steuervorrichtungen zu schreiben sind, für jede der Steuervorrichtungen, die die Schreib-/Leseinformation eines geteilten Labels verwendet, und Assoziieren des geteilten Labels mit einer Adresse der Einrichtung für jede Sortierung.
  10. Das Programmierungsunterstützungsverfahren nach Anspruch 9, wobei der Einrichtungsstapelzuweisungs-/Assoziierungsschritt enthält einen Schritt zum Sortieren von geteilten Labeln, die durch jede Steuervorrichtung zu schreiben sind, für jede der Steuervorrichtungen, die die Schreib-/Leseinformation eines geteilten Labels verwendet, einen Schritt zum Entscheiden einer Zuweisung in der Einrichtung von der Zahl von sortierten geteilten Labeln, die durch jede der Steuervorrichtungen zu schreiben sind, und einen Schritt zum Assoziieren des geteilten Labels, das durch die Steuervorrichtung zu schreiben ist, mit einer Adresse der Einrichtung, in der Einrichtung, die für die Steuervorrichtung zugewiesen ist.
  11. Das Programmierungsunterstützungsverfahren nach Anspruch 9, wobei in dem Einrichtungsstapelzuweisungs-/Assoziierungsschritt, das Steuersystem konfiguriert ist, eine Vielzahl von programmierbaren Steuervorrichtungen (hierin nachstehend "PLCs") zu haben, die über ein Netz miteinander verbunden sind, und wenn die Einrichtung einer Verknüpfungseinrichtung ist, die in jeder der PLCs vorgesehen ist, geteilte Label, die durch die PLCs zu schreiben sind, für jede der PLCs sortiert werden, die die Schreib-/Leseinformation eines geteilten Labels verwendet, und das geteilte Label mit einer Adresse der Verknüpfungseinrichtung für jede Sortierung in Verbindung gebracht wird.
  12. Das Programmierungsunterstützungsverfahren nach Anspruch 9, wobei in dem Einrichtungsstapelzuweisungs-/Assoziierungsschritt, das Steuersystem eine Multi-CPU-Konfiguration hat, in der eine Vielzahl von CPU-Einheiten an einer Basiseinheit montiert ist, und wenn die Einrichtung eine geteilte Auffrischungseinrichtung ist, die in jeder der CPU-Einheiten vorgesehen ist, geteilte Label, die durch die CPU-Einheiten zu schreiben sind, für jede der CPU-Einheiten sortiert werden, die die Schreib-/Leseinformation eines geteilten Labels verwendet, und das geteilte Label mit einer Adresse der geteilten Auffrischungseinrichtung für jede Sortierung in Verbindung gebracht wird.
  13. Das Programmierungsunterstützungsverfahren nach Anspruch 9, ferner umfassend einen Systemkonfigurationsbestimmungsschritt zum Bestimmen, ob das Steuersystem eine Verknüpfungskonfiguration hat, in der eine Vielzahl von programmierbaren Steuervorrichtungen (hierin nachstehend "PLCs") über ein Netz miteinander verbunden ist, oder eine Multi-CPU-Konfiguration hat, in der eine Vielzahl von CPU-Einheiten an einer Basiseinheit montiert ist, basierend auf Systemkonfigurationsinformation, die die Konfiguration des Steuersystems anzeigt, wobei der Systemkonfigurationsbestimmungsschritt nach dem Schreib-/Leseinformationsgenerierungsschritt eines geteilten Labels ausgeführt wird, wobei in einem Einrichtungsstapelzuweisungs-/Assoziierungsschritt die Verknüpfungseinrichtung, die in der PLC vorgesehen ist, mit ihrer Adresse und einem geteilten Label in Verbindung gebracht wird, wenn das Steuersystem die Verknüpfungskonfiguration hat, und die geteilte Auffrischungseinrichtung, die in der CPU-Einheit vorgesehen ist, mit ihrer Adresse und einem geteilten Label in Ver bindung gebracht wird, wenn das Steuersystem die Multi-CPU-Konfiguration hat.
  14. Das Programmierungsunterstützungsverfahren nach Anspruch 9, wobei in dem Schreib-/Leseinformationsgenerierungsschritt eines geteilten Labels, wenn die Steuervorrichtung eine Motorsteuervorrichtung ist, bestimmt wird, welche der Steuervorrichtungen Daten für das geteilte Label schreibt und welche der Steuervorrichtungen Daten für das geteilte Label liest, durch Verweisen, zusätzlich zu den Steuerprogrammen, auf ein Element, das als ein Label für jedes Objekt eingestellt werden kann, das zu steuern ist, und auch Verweisen auf Attributinformation eines mechanischen Elementes, die ein Attribut anzeigt, das spezifiziert, ob die Steuervorrichtung das Label schreibt oder das Label liest, und die Schreib-/Leseinformation eines geteilten Labels generiert wird.
  15. Ein Computerprogramm, das einen Computer veranlasst, das Verfahren nach einem beliebigen von Ansprüchen 9 bis 14 auszuführen.
  16. Ein computerlesbares Aufzeichnungsmedium, das darin ein Computerprogramm speichert, das einen Computer veranlasst, das Verfahren nach einem beliebigen von Ansprüchen 9 bis 14 auszuführen.
DE112006003770T 2006-03-29 2006-03-29 Programmierungsunterstützungsvorrichtung, Programmierungsunterstützungsverfahren, Programm zum Veranlassen eines Computers, das Verfahren zu Implementieren, und Aufzeichnungsmedium, das das Programm enthält Withdrawn DE112006003770T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2006/306516 WO2007110953A1 (ja) 2006-03-29 2006-03-29 プログラム作成支援装置、プログラム作成支援方法とその方法をコンピュータに実行させるプログラムおよびそれを記録した記録媒体

Publications (1)

Publication Number Publication Date
DE112006003770T5 true DE112006003770T5 (de) 2009-04-23

Family

ID=38540893

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112006003770T Withdrawn DE112006003770T5 (de) 2006-03-29 2006-03-29 Programmierungsunterstützungsvorrichtung, Programmierungsunterstützungsverfahren, Programm zum Veranlassen eines Computers, das Verfahren zu Implementieren, und Aufzeichnungsmedium, das das Programm enthält

Country Status (7)

Country Link
US (1) US8499277B2 (de)
JP (1) JP4541437B2 (de)
KR (1) KR100929948B1 (de)
CN (1) CN101292204B (de)
DE (1) DE112006003770T5 (de)
TW (1) TWI332130B (de)
WO (1) WO2007110953A1 (de)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4850556B2 (ja) * 2006-03-29 2012-01-11 三菱電機株式会社 プログラム作成支援装置およびその方法
US8583771B2 (en) * 2008-07-01 2013-11-12 Cisco Technology, Inc. Mapping human-meaningful parameters to network-meaningful parameters to permit user to establish traffic importance in home network
US20100011356A1 (en) * 2008-07-10 2010-01-14 Electrowave Usa, Inc. Intelligent distributed controller
ATE540343T1 (de) 2009-10-23 2012-01-15 Sick Ag Sicherheitssteuerung
US20130238104A1 (en) * 2010-11-24 2013-09-12 Mitsubishi Electric Corporation System design device
WO2012114444A1 (ja) 2011-02-21 2012-08-30 三菱電機株式会社 エンジニアリング装置
JP5627506B2 (ja) * 2011-02-24 2014-11-19 三菱電機株式会社 データ処理装置
JP5611158B2 (ja) * 2011-09-05 2014-10-22 三菱電機株式会社 データ中継制御装置、リンク間転送設定支援装置およびリンク間転送設定方法
DE112012005821B4 (de) * 2012-03-02 2018-11-08 Mitsubishi Electric Corporation Bearbeitungsprogramm-Erzeugungsvorrichtung, Bearbeitungsprogramm-Erzeugungsverfahren und Bearbeitungsprogramm-Erzeugungsprogramm
JP5116906B1 (ja) * 2012-04-04 2013-01-09 三菱電機株式会社 Plc設計装置
WO2013186889A1 (ja) * 2012-06-14 2013-12-19 三菱電機株式会社 I/oデバイス、プログラマブルロジックコントローラ及び演算方法
CN105122157B (zh) * 2013-04-08 2018-01-19 三菱电机株式会社 程序编辑装置以及程序编辑方法
DE112013006918T5 (de) * 2013-04-08 2015-12-24 Mitsubishi Electric Corporation Programmgraphen-Anzeigevorrichtung, Programmgraphen-Anzeigeverfahren und Programmgraphen-Anzeigeprogramm
JP5893216B2 (ja) * 2013-05-09 2016-03-23 三菱電機株式会社 Faネットワーク用lsiおよび通信装置
JP6119452B2 (ja) * 2013-06-21 2017-04-26 富士電機株式会社 プログラマブルコントローラシステム、その支援装置、プログラマブルコントローラ、プログラム
KR101589009B1 (ko) * 2014-01-31 2016-01-27 미쓰비시덴키 가부시키가이샤 감시 제어 시스템 및 제어장치
CN105159656A (zh) * 2014-06-16 2015-12-16 上海宝信软件股份有限公司 Plc软件编程辅助设计方法
US10203850B2 (en) * 2015-02-27 2019-02-12 Mitsubishi Electric Corporation Data editing apparatus, data editing method, and data editing program
JP6356726B2 (ja) * 2016-05-19 2018-07-11 ファナック株式会社 ラダープログラム解析装置
EP3267271B1 (de) * 2016-07-05 2018-12-26 Siemens Aktiengesellschaft Automatisierungssystem und verfahren zum betrieb
JP6821497B2 (ja) * 2017-04-27 2021-01-27 株式会社日立産機システム 産業用コントローラのプログラム開発システム及び産業用コントローラのプログラム開発システムにおけるデータ共有方法
JP6922583B2 (ja) * 2017-09-15 2021-08-18 オムロン株式会社 情報処理装置、情報処理方法、および、情報処理プログラム
DE112020007116T5 (de) * 2020-04-24 2023-03-09 Mitsubishi Electric Corporation Kommunikationsgerät, Kommunikationssystem, Kommunikationsverfahren und Programm
JP7413169B2 (ja) 2020-07-06 2024-01-15 株式会社日立産機システム コントロール装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06311202A (ja) 1993-04-23 1994-11-04 Mitsubishi Electric Corp リンクデバイスの拡張方法およびその転送方法
WO2002042853A1 (en) 2000-11-24 2002-05-30 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for programming
JP2003015705A (ja) 2001-07-02 2003-01-17 Mitsubishi Electric Corp ネットワークシステム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2096243A1 (en) 1991-09-13 1993-03-14 Ajith K. Kumar Minimization of gto gate driver losses when antiparallel diode conduct
JP2633161B2 (ja) 1992-11-18 1997-07-23 日本モトローラ株式会社 ファジイ推論のmin−max 演算回路
US5452201A (en) 1993-08-24 1995-09-19 Allen-Bradley Company, Inc. Industrial controller with highly distributed processing
US5530643A (en) * 1993-08-24 1996-06-25 Allen-Bradley Company, Inc. Method of programming industrial controllers with highly distributed processing
US5659707A (en) * 1994-10-07 1997-08-19 Industrial Technology Research Institute Transfer labeling mechanism for multiple outstanding read requests on a split transaction bus
JP3512910B2 (ja) 1995-07-06 2004-03-31 株式会社東芝 分散計算機システムにおける記憶空間管理方法、計算機及びデータ転送方法
JP3368370B2 (ja) 1995-09-26 2003-01-20 オムロン株式会社 負荷分散装置および方法
JPH1023047A (ja) 1996-07-04 1998-01-23 Suzuki Motor Corp ネットワークノード間におけるデータ送信制御方式
CN100368987C (zh) * 1999-08-31 2008-02-13 迪吉多电子股份有限公司 编辑装置
WO2001027701A1 (fr) * 1999-10-15 2001-04-19 Omron Corporation Systeme de reseau, procede de commande, dispositif de commande et multiprocesseur
JP2001195257A (ja) 2000-01-11 2001-07-19 Fujitsu Ltd プログラムをローディングする装置
US7139901B2 (en) * 2000-02-08 2006-11-21 Mips Technologies, Inc. Extended instruction set for packet processing applications
JP2002055816A (ja) 2000-08-08 2002-02-20 Sharp Corp プログラム管理装置及び方法並びにこれに利用される記憶媒体
JP2002091514A (ja) * 2000-09-12 2002-03-29 Digital Electronics Corp 制御システム、および、そのプログラムが記録された記録媒体
US6625700B2 (en) * 2001-05-31 2003-09-23 Sun Microsystems, Inc. Arbitration and select logic for accessing a shared memory
US7162476B1 (en) * 2003-09-11 2007-01-09 Cisco Technology, Inc System and method for sharing global data within distributed computing systems
JP3805776B2 (ja) 2004-02-26 2006-08-09 三菱電機株式会社 グラフィカルプログラミング装置及びプログラマブル表示器
US7665077B2 (en) * 2004-10-18 2010-02-16 Microsoft Corporation System and method for sharing objects between applications in a virtual runtime environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06311202A (ja) 1993-04-23 1994-11-04 Mitsubishi Electric Corp リンクデバイスの拡張方法およびその転送方法
WO2002042853A1 (en) 2000-11-24 2002-05-30 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for programming
JP2003015705A (ja) 2001-07-02 2003-01-17 Mitsubishi Electric Corp ネットワークシステム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Q Corresponding MELSECNET/H Network System: Mitsubishi General-Purpose Sequencer MELSAC-Q, [online], Mitsubishi Electric Corp., Dezember 2005, [gesucht am 20. Januar 2006], Internet <URL: http://wwwf3.mitsubishielectric.co.jp/members/o manual/plc/sh 080026/sh080026k.pdf>

Also Published As

Publication number Publication date
WO2007110953A1 (ja) 2007-10-04
TWI332130B (en) 2010-10-21
CN101292204A (zh) 2008-10-22
TW200736869A (en) 2007-10-01
JP4541437B2 (ja) 2010-09-08
KR20080043308A (ko) 2008-05-16
US20090276059A1 (en) 2009-11-05
JPWO2007110953A1 (ja) 2009-08-06
CN101292204B (zh) 2011-02-16
US8499277B2 (en) 2013-07-30
KR100929948B1 (ko) 2009-12-04

Similar Documents

Publication Publication Date Title
DE112006003770T5 (de) Programmierungsunterstützungsvorrichtung, Programmierungsunterstützungsverfahren, Programm zum Veranlassen eines Computers, das Verfahren zu Implementieren, und Aufzeichnungsmedium, das das Programm enthält
DE60209631T2 (de) Verfahren zur Programmierung einer Automatisierungsapplikation
DE10049049B4 (de) System und Verfahren zur Konfiguration einer Prozeßsteuerung zur Verwendung mit einem Profibus-Einrichtungsnetzwerk
EP1184758A2 (de) Verfahren zum Debuggen von Programmen für industrielle Steuerungen, insbesondere Bewegungssteuerungen, im Kontext der Flow Chart Programmierung
DE112010005023T5 (de) Programmerstellungsunterstützungsvorrichtung
WO2003071455A2 (de) Engineeringverfahren und engineeringsystem für industrielle automatisierungssysteme
EP0902343A2 (de) Verfahren und System zum Erstellen oder Visualisieren von Steuerdatensätzen
DE102011001460A1 (de) Verfahren und Gerät für eine datengesteuerte Schnittstelle basierend auf Relationen zwischen Prozesssteuerungsetiketten
DE102007040823A1 (de) Editier- und Berichts-Tool für Grafische Programmiersprachenobjekte
DE19740974A1 (de) Buchfertigungssystem
DE112015006570T5 (de) Programmerzeugungseinrichtung, Programmerzeugungsverfahren und Programmerzeugungsprogramm
DE112014002981T5 (de) Vorrichtung zur Unterstützung von lnformationsverknüpfung, Programm zur Unterstützung von Informationsverknüpfung
EP2407842B1 (de) Verfahren zur Inbetriebnahme von Maschinen oder Maschinen einer Maschinenserie und Projektierungssystem
DE19807343A1 (de) System und Verfahren zur rechnergestützten Fertigungsplanung, Medium zur Speicherung eines Datenausgabeprogramms und Speichervorrichtung zur Verwendung im System
AT412131B (de) Automatisierungssystem zur lösung einer prozesstechnischen aufgabenstellung und verfahren hierzu
DE112005002185B4 (de) Verfahren zum Betrieb einer Automatisierungseinrichtung bzw. Vorrichtung zur Durchführung des Verfahrens
DE112018007741B4 (de) Maschinenlernvorrichtung und vorrichtung zur erzeugung vonprogrammen für eine numerisch gesteuerte bearbeitung
WO2011023589A1 (de) Verfahren zur unterstützung einer planung einer technischen anlage
DE10327614A1 (de) Vorrichtung und Verfahren zur Programmierung und/oder Ausführung von Programmen für industrielle Automatisierungssysteme
DE102017005674B4 (de) Zellenfertigungssystem mit Fertigungszelle für autonome Fertigung
DE10214553A1 (de) Einrichtung und Verfahren zur automatischen Generierung von Automatisierungssoftware
EP1347376A2 (de) System und Verfahren zur Projektierung mit Objektbaum aus hierarchisch stufbaren Objekten
DE4321631B4 (de) Verfahren zur Erzeugung von NC-Steuerdaten
EP1351109A1 (de) Integriertes Entwurfs-, Programmier- und Dokumentationssystem für Automatisierungsgeräte
EP4270124A1 (de) Verfahren zum betreiben einer fertigungsanlage, computerprogramm und elektronisch lesbarer datenträger

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

Effective date: 20131001