-
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]