DE10218816A1 - Programmierbares Steuerungssystem - Google Patents
Programmierbares SteuerungssystemInfo
- Publication number
- DE10218816A1 DE10218816A1 DE10218816A DE10218816A DE10218816A1 DE 10218816 A1 DE10218816 A1 DE 10218816A1 DE 10218816 A DE10218816 A DE 10218816A DE 10218816 A DE10218816 A DE 10218816A DE 10218816 A1 DE10218816 A1 DE 10218816A1
- Authority
- DE
- Germany
- Prior art keywords
- command
- program
- program block
- data
- controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
- 230000004044 response Effects 0.000 claims description 60
- 230000015654 memory Effects 0.000 claims description 49
- 230000006854 communication Effects 0.000 claims description 25
- 238000004891 communication Methods 0.000 claims description 24
- 238000012545 processing Methods 0.000 description 85
- 238000000034 method Methods 0.000 description 54
- 230000008569 process Effects 0.000 description 48
- 230000006870 function Effects 0.000 description 43
- 238000000605 extraction Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 230000003936 working memory Effects 0.000 description 7
- 238000003860 storage Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 101100408464 Caenorhabditis elegans plc-1 gene Proteins 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000001356 surgical procedure Methods 0.000 description 2
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0421—Multiprocessor system
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/22—Pc multi processor system
- G05B2219/2219—Processor starts application program only if it receives predetermined data
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23225—Program system from more than one source
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23237—Program execution by message passing
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Abstract
Ein programmierbares Steuerungssystem enthält wenigstens eine programmierbare Steuerung und eine oder mehrere andere Vorrichtungen, mit denen sie Daten über ein Netzwerk oder einen Bus austauschen kann. Die programmierbare Steuerung speichert einen oder mehrere Programmblöcke und führt diese ausgewählt und individuell durch Umschalten derselben zwischen aktiven und stillgelegten Zuständen aus. Wenigstens eine der anderen Vorrichtungen ist so eingerichtet, dass sie einen Befehl, eine spezifizierte Operation auf einem spezifizierten der Programmblöcke durchführen zu lassen, ausgibt. Mit Empfang dieses Befehls führt die programmierbare Steuerung die spezifizierte Operation auf dem spezifizierten Programmblock aus und sendet das Operationsergebnis zur Vorrichtung zurück, die den Befehl ausgegeben hat. Solche anderen Vorrichtungen können selbst eine programmierbare Steuerung, ein Support Tool oder ein Host-Rechner sein. Der Befehl kann sein, einen spezifizierten Programmblock hinzuzufügen oder zu löschen.
Description
- Diese Erfindung bezieht sich auf ein programmierbares Steuerungssystem, welches eine programmierbare Steuerung zur Ausführung von Programmen in Blockeinheiten sowie andere Vorrichtungen, wie Steuerungen, Support-Tools sowie einen Host- Rechner enthält, die miteinander über einen gemeinsamen Bus oder ein Netzwerk verbunden sind. Insbesondere bezieht sich diese Erfindung auf ein solches programmierbares Steuerungssystem, mit welchem die Schwierigkeit der Änderung von Programmen bei einer Änderung des Vorrichtungsaufbaus minimiert werden kann.
- Es gibt bemerkenswerte Fortschritte bei der Datenübertragungsfähigkeit, einschließlich der Kommunikationsgeschwindigkeit, betreffend programmierbare Steuerungen zur Steuerung von Geräten und Vorrichtungen, die auf die jüngere Weiterentwicklung der Netzwerktechnologie zurückzuführen sind. Da programmierbare Steuerung immer weniger teuer und weniger sperrig werden, wurde es sowohl unter dem Gesichtspunkt der Kosten als auch des erforderlichen Platzes praktisch, Systeme mit einer Anzahl von programmierbaren Steuerungen, die über Kommunikationsleitungen miteinander verbunden sind, aufzubauen, anstelle ein System zu verwenden, welches aus einer einzigen schnellen programmierbaren Steuerung mit großer Kapazität besteht.
- Die Vorteile der Verteilung einer Anzahl programmierbarer Steuerungen eines Steuerungssystems durch Verwendung eines Netzwerks beinhalten die folgenden:
- 1. Da die Mittel zur Strukturierung eines Systems unter dem Gesichtspunkt des Hardware-Aufbaus und der Hardware- Verteilung flexibler werden, können Geräte und Vorrichtungen leichter neu zusammengestellt werden.
- 2. Da sich die Operationen auf eine Anzahl von programmierbaren Steuerungen verteilen, ist das Fähigkeitsniveau, das von einer einzelnen programmierbaren Steuerung verlangt wird, beschränkt, und es wird machbar, billige programmierbare Steuerungen zu benutzen.
- 3. Selbst wenn ein Operationsfehler vorliegt, wird nur ein Teil des Systems betroffen sein, da das System eine Anzahl programmierbarer Steuerungen enthält, weshalb die Zuverlässigkeit des Systems als Ganzes besser wird.
- Da es machbar wird, ein System mit einer Anzahl von programmierbaren Steuerungen zum Zwecke der Verteilung von Lasten und der Optimierung der Leistung aufzubauen, ist zu erwarten, dass dieser Trend zur Verteilung eines Steuerungssystems anhalten und zunehmen wird. Gleichzeitig nimmt, da die Kosten von Halbleiterspeichern niedriger und Hochleistungsmikrocomputerchips verfügbar werden, die Anzahl von Eingabe-/Ausgabe- Punkten, die von einer einzelnen programmierbaren Steuerung steuerbar sind, überwältigend zu. Die Programmkapazität programmierbarer Steuerungen nimmt mit der gleichen Geschwindigkeit ebenfalls zu.
- Das Leistungsniveau von Maschinen und Produktionsgeräten selbst, wird durch den Einbau von programmierbaren Steuerungen ebenfalls verbessert und dies beschleunigt die Zunahme der Programmkapazität.
- In Gegenwart solcher Trends wird damit begonnen, programmierbare Steuerungen mit der Funktion der Erstellung partizionierter und hierarchischer Programme zu versehen, so dass große qualitativ hochwertige Programme wirksam und auch zum Zwecke einer Wiederverwendung und Wartungsüberwachung erstellt werden können. Außerdem werden auch Support-Tools zum Herunterladen und Hinaufladen von Programmdaten, die in für eine programmierbare Steuerung individuelle Blöcke unterteilt sind, entwickelt. Der Anwender kann eine solche Funktion dazu benutzen, in Blöcke unterteilte Programme einzelnen Vorrichtungen zuzuweisen, die durch eine einzelne programmierbare Steuerung gesteuert werden, um so die Produktivität beim Entwerfen eines Programms durch Durchführung des Entwerfens einzelner Vorrichtungen oder Funktionen sequenziell oder durch mehrere Anwender zu verbessern. Auch wo eine einzelne programmierbare Steuerung eine Anzahl von Steuerungsgegenständen steuert, wird also das Programm in Blöcke für jedes der Objekte unterteilt.
- Verteilung eines Systems mittels eines Netzwerks und das Partitionieren eines Programms können kombiniert werden, um die Verteilung noch flexibler zu machen, so dass die Verteilung nun nicht nur in Einheiten von programmierbaren Steuerungen, sondern auch in Einheiten von das Netzwerk überspannenden Programmblöcken durchgeführt werden kann.
- Austausche zwischen einzelnen Programmen auf verteilten programmierbaren Steuerungen werden im Wege eines Datenaustausches über ein Netzwerk durchgeführt. Gegenwärtig gibt es hierfür zwei Formate. Eines ist das sogenannte Message- Service-Format, das über einen Befehl ausgeführt wird, durch welchen eine Anforderung bei einer anderen Partei gemacht wird, und über eine Antwort, die eine Antwort dieser anderen Partei ist. Das andere sogenannte Common-Memory-Format, nach welchem jede programmierbare Steuerung mit einem gemeinsamen Speicher versehen ist, so dass dies ist, als ob eine Anzahl von programmierbaren Steuerungen sich in einen gemeinsamen Speicherbereich auf einer Anzahl von programmierbaren Steuerungen teilt und Daten zwischen den programmierbaren Steuerungen ausgetauscht werden, so dass diese gemeinsamen Speicher die gemeinsamen Daten speichern. Das Basic-Format dient dazu, eine Datenspezifikation zu bestimmen, die als Schnittstelle zwischen programmierbare Steuerungen überspannenden Programmen dienen soll, und sie in dem Programm auszutauschen.
- Wenn programmierbare Steuerungen verteilt sind, ist notwendigerweise das Anwenderprogramm verteilt. Verglichen mit dem herkömmlichen Systemaufbau, der nur eine programmierbare Steuerung verwendet, sind also einige Probleme zu berücksichtigen.
- Erstens wird die Programmierung kompliziert, weil die Operation, die früher als ein einziges Programm programmiert wurde, physisch in eine Anzahl von Programmen unterteilt werden muss und die Schnittstelle zwischen Programmen nur einen einzigen Datenaustausch durchführt.
- Wenn programmierbare Steuerungen physisch getrennt sind, wird es für mehrere Programmierer einfacher zusammenzuarbeiten, wobei jeder an der Programmierung einer anderen programmierbaren Steuerung arbeitet. Andererseits kann es sein, dass eine Änderung in der Programmierlogik oder Adressenzuordnung nicht in einfacher Weise allen Programmierern mitgeteilt werden kann. Als Folge kann ein Konflikt zwischen den Programmen entstehen. Wenn Austausche erfolgen, indem ein Datenspeicherbereich verwendet wird, wo es die Schnittstelle zwischen Programmen einer Anzahl programmierbarer Steuerungen gibt, sind die Änderungen verhältnismäßig häufig. Dies ist eine von größeren Ursachen von Problemen, die auf Konflikte zwischen Programmen zurückzuführen sind.
- Wenn eine Operation innerhalb einer einzelnen programmierbaren Steuerung, aber unter Verwendung von Daten über die Zustände von Vorrichtungen, die mit anderen programmierbaren Steuerungen verbunden sind, oder von intern generierten Daten durchgeführt wird, muss ein einfacher Datenaustausch viele Male wiederholt werden, um externe Daten in die eigene programmierbare Steuerung einzubringen, wenn das Message-Service- Format verwendet wird. Es kommt also zu einer Überlastung des Netzwerks und es kann schwierig werden, Daten abzurufen, die sich häufig ändern, abhängig von der Ansprech-Charakteristik der Kommunikation. Wenn das Common-Memory-Format zur Verbesserung der Datenaustauschfrequenz verwendet wird, erfolgt ein Kommunikationsprozess selbst dann, wenn keine Notwendigkeit für einen Datenaustausch besteht, und ein großer gemeinsamer Speicher kann erforderlich sein, wenn viele Daten auszutauschen sind, was die Systemkosten nachteilig beeinflusst.
- Zweitens wird, selbst wenn eine Programmierungstechnik dahingehend verwendet wird, dass die Verarbeitung durch eine programmierbare Steuerung mit E/A und Daten durchgeführt wird und nur die Ergebnisse durch die eigene programmierbare Steuerung abgerufen werden, die Grenze zwischen einem Logikteil und einer weiteren Logik kompliziert, wenn sich die Vorrichtungsstruktur ändert. Als Folge nimmt die Arbeitsbelastung beim Umschreiben und Transferieren von Programmen erheblich zu, wenn sich die Vorrichtungsstruktur ändert.
- Zusammenfassung der Erfindung
- Es ist daher eine Aufgabe dieser Erfindung im Hinblick auf das Obenstehende, ein programmierbares Steuerungssystem, programmierbare Steuerungen und Support-Tools zu schaffen, mit welchen ein strukturelles Verfahren der Programmierung auch dann verwendet werden kann, wenn Programme auf eine Anzahl von programmierbaren Steuerungen verteilt sind, und die Datenaustauschmittel über ein Netzwerk vereinfacht und indirekt gemacht sind, so dass die Unannehmlichkeit der Umschreibung von Programmen bei Änderung der Vorrichtungsstruktur minimiert werden kann. Andere Aufgaben und Wirkungen der vorliegenden Erfindung werden für den Fachmann nach Studium der nachstehenden Offenbarung deutlich.
- Ein diese Erfindung verkörperndes programmierbares Steuerungssystem, mit welchem die obige und andere Aufgaben gelöst werden können kann gekennzeichnet sein als umfassend wenigstens eine diese Erfindung verkörpernde programmierbare Steuerung, welche einen oder mehr Programmblöcke speichert und so eingerichtet ist, dass sie diese Programmblöcke ausgewählt ausführt und sie individuell zwischen einem aktiven Zustand und einem angehaltenen Zustand umschaltet, sowie eine Vorrichtung, die so eingerichtet ist, dass sie Daten mit der programmierbaren Steuerung über Kommunikationsmittel, wie etwa ein Netzwerk oder ein Bus, austauscht. Die Vorrichtung kann eine weitere programmierbare Steuerung, ein Support-Tool oder ein Host-Rechner sein, Befehlsausgabemittel zur Ausgabe eines Befehls zur Durchführung einer spezifizierten Operation auf einem spezifizierten Programmblock enthaltend. Die programmierbare Steuerung enthält Mittel für den Empfang eines solchen von der Vorrichtung ausgegebenen Befehls über die Kommunikationsmittel und für die Durchführung einer Operation gemäß dem empfangenen Befehl. Mit einem so aufgebauten System kann jeder der Programmblöcke, die in der programmierbaren Steuerung gespeichert sind, geeignet nicht nur intern, sondern auch im Wege eines Befehls von außen durchgeführt werden.
- Fig. 1A und 1B sind Aufbaudarstellungen von diese Erfindung verkörpernden programmierbaren Steuerungssystemen,
- Fig. 2 ist ein Blockdiagramm zur Wiedergabe des Hardware- Aufbaus einer programmierbaren Steuerung,
- Fig. 3 ist ein Blockdiagramm zur Wiedergabe des Hardware- Aufbaus eines Support-Tools,
- Fig. 4 ist ein Flussdiagramm eines in der programmierbaren Steuerung enthaltenen Systemprogramms,
- Fig. 5 ist ein Flussdiagramm einer Programmoperation,
- Fig. 6 ist ein Flussdiagramm einer Netzwerkverarbeitung,
- Fig. 7 und 8 sind Flussdiagramme der Verarbeitung "Programmblockstart- und Resultatgewinnungsbefehl",
- Fig. 9 ist ein Flussdiagramm der Verarbeitung von "Programmblockstartbefehl",
- Fig. 10 ist ein Flussdiagramm der Verarbeitung von "Programmblockausführungsergebnisgewinnungsbefehl",
- Fig. 11 ist ein Flussdiagramm der Verarbeitung von "Programmblockschreibbefehl",
- Fig. 12 ist ein Flussdiagramm der Verarbeitung von "Programmblocklöschbefehl",
- Fig. 13 und 14 sind detaillierte Flussdiagramme der Verarbeitung von "Programmblockstartbefehl",
- Fig. 15 und 16 sind ein Flussdiagramm eines Systemprogramms zur Verwirklichung einer Funktion eines Support-Tools,
- Fig. 17 und 18 sind ein Flussdiagramm eines weiteren Systemprogramms zur Verwirklichung einer Funktion eines Support- Tools,
- Fig. 19 und 20 sind ein Flussdiagramm eines weiteren Systemprogramms zur Verwirklichung einer Funktion eines Support- Tools,
- Fig. 21A und 21B zeigen Blockaufbauten eines Anwenderprogramms in einer programmierbaren Steuerung,
- Fig. 22 zeigt den Aufbau eines Programmblocks,
- Fig. 23 zeigt ein Beispiel von Programmblockdaten,
- Fig. 24 zeigt ein Beispiel einer Anzeige der Programmblockdaten der Fig. 23,
- Fig. 25 und 26 zeigen den Inhalt von Anwenderprogrammdaten vor und nach einer Hinzufügung eines Programmblocks,
- Fig. 27 zeigt ein Beispiel von "Programmblockstatusdaten",
- Fig. 28 zeigt den Inhalt von "Netzwerkadressendaten für Steuerungen",
- Fig. 29 zeigt ein Beispiel von "Angefordertnetzwerkverarbeitung-Daten",
- Fig. 30 zeigt einen Teil eines Programmblocks einer programmierbaren Steuerung,
- Fig. 31-44 sind Beispiele von auf dem Anzeigebildschirm erfolgten Anzeigen.
- Die Erfindung wird als nächstes anhand von Beispielen beschrieben. Fig. 1A und 1B zeigen zwei erfindungsgemäße Systemaufbauten eines programmierbaren Steuerungssystems (nachfolgend als "SPS-System" geschrieben). Der in Fig. 1A gezeigte Systemaufbau ist dadurch gekennzeichnet, dass er wenigstens eine programmierbare Steuerung (nachfolgend als "SPS" geschrieben) 1, ein Support-Tool 2, welches solche SPS unterstützt, und ein Netzwerk 3, welches als diese SPS 1 und das Support-Tool 2 verbindende Kommunikationsmittel dient, aufweist. Der in Fig. 1B gezeigte Systemaufbau ist dadurch gekennzeichnet, dass er wenigstens eine SPS (zwei SPS 1A und 1B sind gezeigt) und ein Netzwerk 3 enthält, welches als diese SPS 1A und 1B verbindende Kommunikationsmittel dient. Das Netzwerk 3 verwendet ein spezifiziertes Protokoll zur Durchführung von serieller Kommunikation.
- Fig. 2 zeigt ein Beispiel der SPS 1, die einen Systemaufbau des Bausteintyps hat, der mit seiner eigenen Hardware versehen ist, welche eine CPU 101, einen Systemprogrammspeicher 102, einen Anwenderprogrammspeicher 103, einen Parameterspeicher 104, einen Arbeitsspeicher 105, einen E/A-Speicher 106, einen Kommunikationsschnittstelle 107 und eine E/A- Schnittstelle 108 enthält, die durch einen Systembus auf einer Grundplatine verbunden sind. Bezugszahl 4 gibt eine Eingabe-/Ausgabe-Einheit für das SPS-System an. Die CPU 101 umfasst einen Mikroprozessor und eine dedizierte periphere Hardware und dient der Durchführung einiger Grundfunktionen als programmierbare Steuerung, indem sie Systemprogrammen folgt, die im Systemprogrammspeicher 102 gespeichert sind. Zu Beispielen der Grundfunktionen gehören der sogenannte E/A-Auffrischprozess, die Ausführung von Anwenderprogrammen und viele Arten von peripheren Dienstprozessen. Der E/A-Auffrischprozess dient der Ersetzung des Inhalts entsprechender Eingabedaten des E/A- Speichers 106 durch Eingabedaten, die über die E/A-Schnittstelle 108 und die Eingabe-/Ausgabe-Vorrichtung 4 hereingenommen wurden, und der Übertragung von Ausgabedaten von dem E/A- Speicher 106 auf einen entsprechenden externen Ausgang über die E/A-Schnittstelle 108 und die Eingabe-/Ausgabe-Vorrichtung 4. Bei der Ausführung eines Anwenderprogramms werden Befehlswörter für die Anwenderprogramme sequenziell abgerufen, und die Inhalte von Eingabe-/Ausgabe-Daten, die für die Operation benötigt werden, durch Bezugnahme auf den E/A-Speicher 106 gewonnen und der spezifizierte Befehl ausgeführt. Die Inhalte der Ausgabedaten im E/A-Speicher 106, die Zählzahl und der Zeitgeberwert werden durch die Ergebnisse der Ausführung ersetzt. Im peripheren Dienstprozess werden Kommunikationsdaten mit dem Support-Tool 2 und anderen SPS über die Kommunikationsschnittstelle 107 und die Kommunikationsmittel (Netzwerk) 3ausgetauscht, wobei Daten mit einer entfernten E/A (nicht gezeigt) oder einem Host-Personal-Computer ausgetauscht werden.
- Der Systemprogrammspeicher 102, der einen ROM umfasst, speichert Systemprogramme, die den durch die CPU 101 auszuführenden Funktionen entsprechen. Der Anwenderprogrammspeicher 103 speichert Benutzerprogramme (bzw. Anwenderprogramme), die in Einheiten von Programmblöcken, wie beispielsweise in Fig. 21 gezeigt, von einem Maschinenlieferanten erstellt oder vom Anwender erstellt und/oder korrigiert werden. Hunderte und Tausende von Programmblöcken können gespeichert werden. Ein Flash-Speicher oder ein batteriegestützer RAM können als Benutzerprogrammspeicher verwendet werden.
- Beispiele von Anwenderprogrammdaten sind in Fig. 25 und 26 gezeigt. In diesen Beispielen werden Anwenderprogrammdaten durch Speicherung von Programmblöcken PB nach einem Datenbereichsidentifizierer am Anfang gebildet. Der Datenbereichsidentifizierer gibt die Struktur von Anwenderprogrammdaten, wie die Speicherposition eines jeden Programmblocks, an. Eine Liste von Programmblöcken, die in jedem Zyklus gestartet werden, ist hier ebenfalls gespeichert. Es ist also möglich, einen speziellen Programmblock ausgewählt auszuführen, auszulesen oder einzuschreiben, indem auf den Datenbereichsidentifizierer am Anfang Bezug genommen wird. Die Daten in einem Programmblock speichern die Befehlswörter, die bei der Durchführung des Programms auszuführen sind, in der Reihenfolge ihrer Ausführung. Die Größe eines Datenbereichs ändert sich abhängig von der Anzahl von Programmblöcken.
- Fig. 22 zeigt den Aufbau eines Programmblocks, der einen "Programmblockidentifizierer", "Eingabeparameter", "Ausgabeparameter" und "Hauptteil" enthält. "Programmblockidentifizierer" ist die ID-Nummer des Programmblocks. Eine einmalige Nummer innerhalb der programmierbaren Steuerung wird als die Programmblock-ID zugeordnet. "Eingabeparameter" bedeutet einen Parameter zur Ausführung des Hauptteils des Programmblocks und enthält Eingabedaten. "Ausgabeparameter" bedeutet einen Parameter, der das Ergebnis der Ausführung des Programmblockhauptteils darstellt und ein Kennzeichen und Ausgabedaten enthält. "Hauptteil" umfasst ein Feld von Programmcodes, das ausgeführt wird, wenn der Programmblock gestartet wird, wie etwa ein Leiterprogramm. Fig. 23 zeigt einen Abschnitt von Fig. 25, der auf PB10 bezogen ist, in größeren Einzelheiten. Wie oben erläutert, werden Daten über den Programmblock gespeichert. Wie gezeigt, wird "PB10" als Programmblockidentifizierer, "DM0000" als Eingabeparameter und "FLG0010", welches ein den Abschluss angebendes Kennzeichen ist, und "DM0001", welches Ausgabedaten darstellt, als Ausgabeparameter gespeichert. Fig. 24 ist ein Beispiel einer auf dem Support-Tool 2 erfolgten Anzeige für PB10. A1 gibt einen Anzeigebereich für Programmblockidentifiziererinformation, A2 einen Anzeigebereich für Eingabeparameter, A3 einen Anzeigebereich für Ausgabeparameter und A4 einen Anzeigebereich für den Hauptteil des Programmblocks, wo ein Leiterprogramm in Leitersprache angezeigt wird, an.
- Ein mit spezifizierten Befehlswörtern angelegtes Programm wird in einem Programmblock gespeichert. Wenn der Programmblock ausgeführt wird, werden diese Befehlswörter sequenziell ausgelesen und Operationen gemäß dem Befehlscode ausgeführt. Jeder Befehl kann eine Logikoperation oder eine Rechenoperation enthalten. Außerdem werden gemäß diesem Beispiel die in Tabelle 1 gezeigten folgenden neuen Befehle vorgesehen. Tabelle 1
- "Operationscode" dient als Identifizierer, der angibt, dass dies ein Befehl zum Starten des Programmblocks ist. "Operand 1" ist ein Identifizierer dafür, dass die programmierbare Steuerung, die den Programmblock speichert, starten soll. "Operand 2" ist ein Identifizierer dafür, dass der Programmblock zu starten ist. "Operand 3" gibt Parameterdaten an, die für die Ausführung des zu startenden Programmblocks notwendig sind. "Operand 4" ist die Speicheradresse der eigenen programmierbaren Steuerung für die Speicherung des Ausführungsergebnisses des zu startenden Programmblocks.
- Wenn ein Befehl gegeben wird, wird der in "Operand 3" spezifizierte Ausführungsparameter an den durch "Operand 1" und "Operand 2" spezifizierten Programmblock gegeben. Das Ergebnis seiner Ausführung wird vom Programmblock empfangen und in der durch "Operand 4" spezifizierten Speicheradresse gespeichert.
- Es kann mehr als nur einer von "Operand 3" und "Operand 4" vorhanden sein, abhängig von der Spezifikation des Programmblocks. "Operand 1" kann weggelassen sein, wenn der Identifizierer für den Programmblock einzig unter allen programmierbaren Steuerungen des Systems ist.
- Unter Bezug erneut auf Fig. 2 dient der Parameterspeicher 104 zur Speicherung unterschiedlicher Arten von Parametern für verschiedene Operationen. "Netzwerkadressendaten für Steuerungen" wird in diesem Parameterspeicher 104 in Verbindung mit der vorliegenden Erfindung, wie in Fig. 28 gezeigt, gespeichert. Dies dient zur Aufzeichnung der Adressen der programmierbaren Steuerungen auf dem Netzwerk, die über das Netzwerk verbunden sind. "Steuerungs-ID" und "Netzwerkadresse" werden in Paaren gespeichert wobei "Steuerungs-ID" den Identifizierer der an das Netzwerk angeschlossenen programmierbaren Steuerung und "Netzwerkadresse" die Adresse der programmierbaren Steuerung auf dem Netzwerk bedeutet.
- Der Arbeitsspeicher 105 umfasst im Allgemeinen einen RAM und dient zur Zwischenspeicherung von Daten, wenn verschiedene Berechnungen und Operation durchgeführt werden. "Programmblockstatusdaten" und "angeforderte Netzwerkverarbeitungsdaten" werden im Arbeitsspeicher 105 gespeichert. Fig. 27 zeigt ein Beispiel für "Programmblockstatusdaten". Gemäß diesem Beispiel werden der ID (Identifizierer) eines jeden Programmblocks sein aktueller Status ("Start" oder "Stop") und ein "Abschlussabwarte"-Kennzeichen ("EIN" oder "AUS") als Gruppe gespeichert. "Programmblockstatusdaten" werden am Beginn der Programmoperationsverarbeitung bei einigen oder allen der Programmblöcke, die als "Start" registriert sind, angelegt. Während der Programmoperation wird die Operation eines jeden Programmblocks gemäß dem Inhalt dieses Bereichs gestartet oder angehalten. Der Eintrag (oder der Status) kann beispielsweise mit einem "Programmblockstartbefehl" oder einem "Programmblockstopbefehl" geändert werden, die im Anwenderprogramm verwendbar sind. Die Operationsbedingung eines jeden Programmblocks, ob er gestartet oder angehalten wird, lässt sich durch Bezugnahme auf "Programmblock-Statusdaten" verstehen.
- Fig. 29 zeigt ein Beispiel für "Angefordertnetzwerkverarbeitung-Daten". Eines von diesen für Befehlsübertragung und ein weiteres für Befehls-/Antwort-Empfang sind für jede der Steuerungen vorgesehen. Diese sind Daten, die von den programmierbaren Steuerungen für die Anforderung der Ausgabe eines Befehls für Netzwerkverarbeitung verwendet werden. "Adressaten-Adresse", "Befehl" und "Parameter" werden als Gruppe gespeichert. Obwohl die Datenstruktur die gleiche ist, bedeutet "Adressaten-Adresse" unterschiedliches für die Befehlsübertragung und Befehls-/Antwort-Empfang. Für Befehlsübertragung bedeutet sie die Netzwerdadresse, wo der Befehl ausgegeben wird. Für Befehls-/Antwort-Empfang bedeutet sie die Netzwerkadresse, wo die Übertragung erfolgt. "Parameter" meint Parameter entsprechend dem Befehlscode. Der Anforderungsinhalt wird im Datenspeicherbereich auf dem Arbeitsspeicher 105 gespeichert. Wenn in diesem Beispiel ein Eintrag erfolgt, wird eine Suche nach einem freien Platz vom Anfang her durchgeführt, und der neue Eintrag folgt nach dem Ende des bereits angeforderten Inhalts. Die Netzwerkverarbeitung schreitet sequenziell von der Spitze des Bereichs fort. Wenn die Befehlsausgabe von einem Übertragungsbereich abgeschlossen ist oder wenn der Antwortempfang oder die Verarbeitung eines Befehls auf dem Befehls-/Antwort-Empfangsbereich abgeschlossen ist, wird der Inhalt der Anforderung gelöscht und die verbleibenden Inhalte werden um einen Schritt zur Spitze hin bewegt.
- Unter Bezugnahme erneut auf Fig. 2 ist der E/A-Speicher 106 mit einem Eingabedatenbereich, einem Ausgabedatenbereich und einem Datenbereich für Zähler und Taktgeber versehen. Auf ihre Inhalte wird Bezug genommen und ihre Inhalte werden umgeschrieben, falls nötig, wenn das Anwenderprogramm ausgeführt wird. Die Kommunikationsschnittstelle 107 und die E/A- Schnittstelle 108 dienen der Durchführung von Prozessen, wenn die Kommunikationsmittel 2 und die Eingabe-/Ausgabe-Vorrichtung 4 verbunden werden. Diese Kommunikationsschnittstelle 107 ist es, die eine Kommunikation durch "Message Service", der später noch zu erläutern ist, mit dem Support-Tool 2, anderen programmierbaren Steuerungen oder einem Host-Personal-Computer möglich macht.
- Die Eingabe-/Ausgabe-Vorrichtung 4 ist mit Eingängen versehen, über welche Signale von externen Sensoren und Schaltern hereingenommen werden, und mit Ausgängen, über welche Signale auf externe Relais, Motoren und Stellglieder ausgegeben werden. Die über diese Eingänge hereingenommenen Signale werden als Eingabedaten auf dem E/A-Speicher 106 eingeschrieben. Die über die Ausgänge nach außen übertragenen Signale werden aus dem E/A-Speicher 106 als Ausgabedaten ausgelesen.
- Das Support-Tool 2 kann ein Personal-Computer mit installierter Support-Tool-Software sein. Fig. 1A zeigt ein Beispiel, bei welchem die Bildanzeigevorrichtung eines Personal- Computer als Programmanzeigevorrichtung eines Support-Tool und die Tastatur und die Maus des Personal-Computer als die Eingabevorrichung des Support-Tool dienen. Der Speicher des Personal-Computer dient als Speicher des Support-Tool zur Speicherung von Anwenderprogrammen. Support-Tool-Software enthält üblicherweise Funktionen der Unterstützung, der Anlegung und Editierung von Anwenderprogrammen, des Transports angelegter und editierter Anwenderprogramme zu der SPS zur Umschreibung des Anwenderprogrammspeichers der SPS gänzlich oder in Einheiten von Programmblöcken, des Auslesens eines Anwenderprogramms aus dem Anwenderprogrammspeicher der SPS entweder insgesamt oder in Einheiten von Programmblöcken zu seiner Speicherung auf einem Speicher und Anzeige auf dem Anzeigebildschirm des Support-Tool.
- Wie in Fig. 3 in größeren Einzelheiten gezeigt, enthält das Support-Tool 2 eine Operationsvorrichtung 210 mit einer Zentraleinheit (CPU) 211, eine Eingabevorrichtung 220 und eine Anzeigevorrichtung 230. Die CPU 211 entspricht derjenigen des Personal-Computer, der das Support-Tool bildet, und dazu dient, die Operationen des Support-Tool 2 zu steuern. Speicherplatz 212 enthält einen Parameterdatenbereich 212A, einen Benutzerprogrammdatenbereich 212B und einen Support-Tool- Programmmodul 212C. Viele Arten von Parametern wie "Angefordertes-Netzwerkverarbeitung-Daten", die oben unter Bezug auf Fig. 29 beschrieben wurden, werden im Parameterdatenbereich 212A gespeichert. Daten wie "Anwenderprogrammdatentabelle", die zu der und von der programmierbaren Steuerung zu übertragen sind, werden im Benutzerprogrammdatenbereich 212B gespeichert. Programme, die von der CPU 211 zur Durchführung der verschiedenen Funktionen des Support-Tool 2 auszuführen sind, sind im Support-Tool-Programmmodul 212C gespeichert.
- Bezugszahl 213 gibt einen Anzeigespeicher zur Speicherung von Daten, die auf die Anzeigevorrichtung 230 auszugeben sind, an. Daten werden auf dem Anzeigespeicher 213 durch das Arbeiten der CPU 211 gespeichert. Bezugszahl 214 gibt einen internen Bus an, der als Schnittstelle für die CPU 211 für den Zugriff auf den Speicherplatz 212, die Eingabevorrichtung 220 und den Anzeigespeicher 213 dient. Bezugszahl 215 gibt eine Kommunikationsschnittstelle zur Kommunikation mit der programmierbaren Steuerung an.
- Die Eingabevorrichtung 220 dient für den Empfang einer Anforderung des Benutzers über eine Schnittstelle (einschließlich GUI). Die Tastatur eines Personal-Computer oder verschiedene Arten von Zeigern können als die Eingabevorrichtung 220 dienen. Die Anzeigevorrichtung 230 dient zur Anzeige von Daten aus dem Anzeigespeicher 213 über eine Schnittstelle. Die Bildröhre des Personal-Computer oder eine LCD kann als Anzeigevorrichtung 230 dienen.
- In diesem Beispiel werden, wie oben erklärt, Daten auf dem Netzwerk zwischen SPS dieses SPS-Systems mittels "Message Service" ausgetauscht, welcher zur Ausgabe verschiedener Anforderungen benutzt wird. "Message Service" wird auch zum Austausch von Daten zwischen dem Support-Tool und der programmierbaren Steuerung verwendet. Nachrichten, die vom "Message Service" verwendet werden, werden durch Hinzufügen der Netzwerkadresse des Netzwerkadressaten zum entsprechenden Befehl gebildet. Der Adressat wird durch diese Netzwerkadresse identifiziert.
- Beispiele für einen Message-Service-Befehl, die auf dem Netzwerk in diesem Beispiel verwendet werden, werden als nächstes erläutert.
- Parameter des übertragenen Befehls sind der Programmblock-ID der programmierbaren Steuerung, die Adressat ist, und ausgeführte Parameterdaten. Die Antwort wird den normalen Beendigungscode und die Ausführungsergebnisdaten enthalten. Wenn die Ausführung nicht normal geendet hat, wird ein Fehlercode ausgegeben.
- Parameter der übertragenen Befehls sind der Programmblock-ID der Steuerung, die Adressat ist, und ausgeführte Parameterdaten. Die Antwort wird den normalen Beendigungscode enthalten. Wenn die Ausführung nicht normal geendet hat, wird ein Fehlercode ausgegeben.
- Der Programmblock-ID der Steuerung, die Adressat ist, ist der Parameter des übertragenen Befehls. Die Antwort wird den normalen Beendigungscode und Ausführungsergebnisdaten oder einen Fehlercode (oder unbeendete Ausführung) enthalten.
- Parameter des übertragenen Befehls sind der Programmblock-ID und die Programmblockdaten. Die Antwort wird der normale Beendigungscode oder ein Fehlercode sein, wenn die Ausführung aus welchem Grunde auch immer nicht normal geendet hat.
- Der Programmblock-ID ist der Parameter des übertragenen Befehls. Die Antwort wird der normale Beendigungscode oder ein Fehlercode sein, wenn die Ausführung aus welchem Grunde auch immer nicht normal geendet hat.
- Als nächstes werden der Inhalt eines Systemprogramms für die programmierbare Steuerung 1 und das Support-Tool 2, wie oben beschrieben, unter Bezugnahme auf das Flussdiagramm der Fig. 4 erläutert. Spannung wird eingeschaltet, um die Verarbeitung zu starten, ein Initialisierungsprozess wird auf verschiedenen Kennzeichen und Registern ausgeführt (Schritt 401). Danach wird auf ein (nicht gezeigtes) Kennzeichen, welches den Operationsstatus des Programms angibt, wiederholt Bezug genommen, bis das Kennzeichen angibt, dass das Programm betreibbar ist (JA in Schritt 403). In der Zwischenzeit (NEIN in Schritt 403) werden verschiedene allgemeine Prozesse (Schritt 402), die E/A-Auffrischung (Schritt 405) und Netzwerkverarbeitung (oder Verarbeitung peripherer Dienste) (Schritt 406) wiederholt. Wenn das Kennzeichen schließlich zeigt, dass das Programm betreibbar ist (JA in Schritt 403), wird die Programmoperation ausgeführt (Schritt 404) zusätzlich zu den gemeinsamen Prozessen (Schritt 402), der E/A-Auffrischung (Schritt 405) und der Netzwerkverarbeitung (Schritt 406).
- Im Obigem sind "gemeinsame Prozesse" Prozesse, die unabhängig davon ausgeführt werden müssen, ob das Programm in Betrieb ist oder nicht. "E/A-Auffrischung" ist der Prozess, wie oben beschrieben, der Aktualisierung des Inhalts der entsprechenden Eingabedaten im E/A-Speicher 106 mit neuen Eingabedaten, die von außen über die E/A-Schnittstelle 108 und die Eingabe-/Ausgabe-Vorrichtung 4 hereingenommen wurden, und der Übertragung der Ausgabedaten aus dem E/A-Speicher 106 über die E/A-Schnittstelle 108 und die Eingabe-/Ausgabe-Vorrichtung 4 auf einen entsprechenden externen Ausgang.
- Eine Einzelheit der Programmoperation wird als nächstes unter Bezugnahme auf das Flussdiagramm der Fig. 5 erläutert. Am Beginn des Programms, nur bei der ersten Operation (JA in Schritt 501), wird ein Prozess der Neuanlegung von "Programmblockstatusdaten" ausgeführt (Schritt 502). In diesem Schritt wird, wie oben erläutert, "Start" als der Status wenigstens einiger der Programmblöcke eingestellt, wie dies in Fig. 27 gezeigt ist.
- Danach werden "Programmblockstatusdaten" sequenziell (Schritt 514) vom ersten Datensatz (Schritt 503) bis zum letzten Datensatz (NEIN im Schritt 515) ausgelesen. Nur wenn "Start" für den Datensatz, welcher ausgelesen worden ist, eingestellt ist (JA in Schritt 504), wird der Eingabeparameter eingelesen (Schritt 507), und die Befehle in den entsprechenden Programmblöcken werden sequenziell ausgelesen und ausgeführt (Schritte 508 und 509). Bis der letzte Befehl ausgelesen und ausgeführt ist (NEIN im Schritt 510), werden ähnliche Schritt für den nächsten Programmblock ausgeführt (Schritte 508 und 509). Das Beendigungskennzeichen wird während der ersten Zeit des Auslesens (JA im Schritt 505) ausgeschaltet (Schritt 506) und eingeschaltet (Schritt 512), wenn der letzte Befehl ausgelesen worden ist (JA im Schritt 510) und seine Ausführung abgeschlossen worden ist (JA im Schritt 511).
- Die Ergebnisse der Ausführung werden danach als Ausgabeparameter ausgeschrieben (Schritt 513), und es wird der nächste Datensatz von "Programmblockstatusdaten" ausgelesen (Schritt 514). Dies wird wiederholt, bis der letzte Datensatz angetroffen wird (JA in Schritt 515).
- "Programmblockstartbefehl" und "Programmblockstopbefehl" werden also innerhalb eines Anwenderprogramms geeignet genutzt, so dass der Status eines jeden Programmblocks als "Start" oder "Stop" eingestellt wird, so dass die Operation eines jeden Programmblocks in Koordination mit der Ausführung des Anwenderprogramms gestartet und gestopt bzw. ausgewählt ausgeführt wird.
- Eine Einzelheit der Netzwerkverarbeitung wird als nächstes unter Bezugnahme auf das Flussdiagramm der Fig. 6 erläutert. Bei dieser Verarbeitung werden die folgenden drei Arten von Prozessen ausgeführt, abhängig von den Befehlen, die vom Support-Tool oder einer anderen programmierbaren Steuerung erhalten werden, sowie den Anforderungen für eine Netzwerkverarbeitung von einem anderen Prozess:
- 1. Verarbeitung gemäß einem Befehl vom Support-Tool oder einer anderen programmierbaren Steuerung;
- 2. Ausgabe eines Befehls gemäß einer Anforderung für eine Netzwerkverarbeitung von einem anderen Prozess; und
- 3. Verarbeitung gemäß einer Antwort auf einen ausgeführten Befehl.
- Befehle und Antworten sollen durch eine Unterbrechung gemacht und in einem Zwischenspeicherbereich auf dem Arbeitsspeicher 105 gespeichert werden.
- Wie in Fig. 6 gezeigt, beginnt die Verarbeitung, indem festgestellt wird, ob ein empfangener Befehl oder eine empfangene Antwort vorliegt (Schritte 600 und 601). Dies geschieht, indem das Vorhandensein oder Fehlen von Angefordertnetzwerkverarbeitung-Daten für den Empfang von Befehlen und Antworten in dem Speicherbereich für Angefordertnetzwerkverarbeitung-Daten festgestellt wird. Wenn ein empfangener Befehl oder eine empfangene Antwort vorhanden ist (JA im Schritt 601) wird er bzw. sie analysiert (Schritt 602) und gesonderte Prozesse werden ausgeführt (Schritte 603-1 bis 603-n).
- Die Verarbeitung der oben beschriebenen fünf Befehle wird als nächstes erläutert.
- Fig. 7 und 8 zeigen ein Flussdiagramm für die Verarbeitung von "Programmblockstart- und Resultatgewinnungsbefehl". Nachdem die Verarbeitung gestartet ist (Schritt 700) wird der Programmblock als im Wartezustand auf die Beendigung der Verarbeitung seiend beschrieben. Dies kann ermittelt werden, indem der "Warte"-Datensatz in der Tabelle von "Programmblockstatusdaten", die in Fig. 27 gezeigt ist, überprüft wird, wo der "Warte"-Datensatz EIN im Zustand des Wartens auf die Beendigung der Verarbeitung und AUS im Zustand des Nichtwartens auf die Beendigung der Verarbeitung ist.
- Wenn geschlossen wird, dass der Programmblock nicht auf die Beendigung der Verarbeitung wartet (NEIN im Schritt 701), wird der Programmblock-ID der Adressensteuerung des Befehlsparameters eingelesen (Schritt 702). Als nächstes wird die spezifizierte Programmblockdatenposition aus der Datenpositionsinformation in "Anwenderprogrammdaten" gewonnen (Schritt 703). Als nächstes wird geprüft, ob ein spezifizierter Programmblock vorhanden ist oder nicht. Wenn ein spezifizierter Programmblock nicht vorhanden ist (NEIN im Schritt 704) wird eine Fehlerantwort an den Ausgeber des Befehls zurückgesandt (Schritt 807 in Fig. 8) und die Verarbeitung beendet. Wenn ein spezifizierter Programmblock vorhanden ist (JA im Schritt 704), wird "Ausführungsparameterdaten" des Befehlsparameters im Eingabeparameter des Programmblocks eingestellt (Schritt 705). Als nächstes wird der Status des entsprechenden Programmblock-ID auf "Start" geändert (Schritt 706) und "Warten" in "Programmblockstatusdaten" registriert (Fig. 27). Die Verarbeitung wird dann vorübergehend unterbrochen.
- Wenn im Schritt 701 festgestellt wird, dass der Programmblock auf die Beendigung der Verarbeitung wartet (JA im Schritt 701) wird das die Beendigung anzeigende Kennzeichen für den Programmblock geprüft (Schritt 801). Vor dem Schritt 801 wird jedoch der Programmblock-ID der Adressatensteuerung des Befehlsparameters eingelesen (Schritt 800-1), spezifizierte Programmblockdaten werden anhand der Datenbereichsinformation von "Anwenderprogrammdaten" gewonnen (Schritt 800-2) und auf den Status des den Abschluss der Verarbeitung angebenden Kennzeichens Bezug genommen (Schritt 800-3). Wenn das Kennzeichen nicht EIN ist (NEIN im Schritt 801) wird der Prozess vorübergehend unterbrochen.
- Wenn das die Beendigung anzeigende Kennzeichen EIN ist (JA im Schritt 801), werden die Ausgabeparameterdaten des entsprechenden Programmblocks ausgelesen und als Antwortdaten für den Befehl gesetzt, oder die Ausführungsergebnisdaten (Schritt 802). Das Kennzeichen für den entsprechenden Programmblock wird abgeschaltet (Schritt 803), der Status des entsprechenden Programmblock-ID wird auf "Stop" geändert (Schritt 804) und "Warten" wird in "Programmblockstatusdaten" freigegeben. Dann werden die Daten mit einer normalen Antwort zurückgesandt (Schritt 806), und der Prozess ist beendet. Durch den unter Bezugnahme auf Fig. 7 und 8 erläuterten Prozess wird ein spezifizierter Programmblock automatisch gestartet, wenn "Programmblockstart- und Ergebnisgewinnungsbefehl" empfangen wird, und Ausführungsergebnisdaten zum Ursprung des Befehls zurückgesandt werden.
- Fig. 9 zeigt ein Flussdiagramm der Verarbeitung von "Programmblockstartbefehl". Um zu starten, wird der Programmblock- ID der Adressatensteuerung im Befehlsparameter eingelesen (Schritt 901). Als nächstes wird die spezifizierte Programmblockposition aus der Datenbereichsinformation in "Anwenderprogrammdaten" gewonnen, und es werden Daten aus der gewonnenen Position ausgelesen (Schritt 902). Als nächstes wird geprüft, ob ein spezifizierter Programmblock vorhanden ist oder nicht. Wenn kein spezifizierter Programmblock vorhanden ist (NEIN in Schritt 903), wird eine Fehlerantwort an den Ausgeber des Befehls zurückgesandt (Schritt 907) und die Verarbeitung beendet. Wenn ein spezifizierter Programmblock vorhanden ist (JA in Schritt 903), werden "Ausführungsparameterdaten" des Befehlsparameters im Eingabeparameter des Programmblocks gesetzt (Schritt 904). Als nächstes wird der Status des entsprechenden Programmblock-ID auf "Start" geändert (Schritt 905). Schließlich wird eine normale Antwort zusammen mit den Daten zurückgesandt und die Verarbeitung beendet. Durch den oben unter Bezug auf Fig. 9 erläuterten Prozess wird ein spezifizierter Programmblock automatisch gestartet, wenn "Programmblockstartbefehl" empfangen wird, und es wird eine Antwort an den Befehlsausgeber dahingehend zurückgesandt, dass das Programm gestartet worden ist.
- Fig. 10 zeigt ein Flussdiagramm von "Programmblockausführungsergebnisgewinnungsbefehl". Um zu starten, wird der Programmblock-ID der Adressatensteuerung im Befehlsparameter eingelesen (Schritt 1001). Als nächstes wird die spezifizierte Programmblockposition aus der Datenbereichsinformation in "Anwenderprogrammdaten" gewonnen, und es werden Daten aus der gewonnenen Position ausgelesen (Schritt 1002). Als nächstes wird geprüft, ob es einen spezifizierten Programmblock gibt oder nicht. Wenn ein spezifizierter Programmblock nicht vorhanden ist (NEIN in Schritt 1003), wird eine Fehlerantwort an den Ausgeber des Befehls zurückgesandt (Schritt 1010) und die Verarbeitung beendet. Wenn der spezifizierte Programmblock vorhanden ist (JA in Schritt 1003) wird auf das die Beendigung anzeigende Kennzeichen für den Programmblock Bezug genommen (Schritt 1004). Vor dem Schritt 1004 werden jedoch spezifizierte Programmdaten aus der Datenbereichsinformation aus dem Anwenderprogramm gewonnen und auf den Status des die Beendigung anzeigenden Kennzeichens des Ausgabeparameters Bezug genommen (Schritt 1003-1). Wenn das Kennzeichen für den entsprechenden Programmblock nicht eingeschaltet ist (NEIN in Schritt 104), wird eine Fehlerantwort Unvollständige Ausführung an den Ausgeber des Befehls zurückgesandt (Schritt 1009) und die Verarbeitung beendet. Wenn das Kennzeichen im Schritt 1004 eingeschaltet wird, werden die Ausgabeparameterdaten des entsprechenden Programmblocks ausgelesen und als die Ausführungsergebnisdaten gesetzt. Als nächstes wird das Kennzeichen des entsprechenden Programmblocks abgeschaltet (Schritt 106) und der Status des entsprechenden Programmblock-ID in "Programmblockstatusdaten" auf "Stop" geändert (Schritt 107). Schließlich wird eine normale Antwort zusammen mit den Daten zurückgesandt (Schritt 108), um die Verarbeitung zu beenden. Durch den oben unter Bezug auf Fig. 10 erläuterten Prozess werden Daten, die dem Programmblockausführungsergebnis entsprechen, an den Ausgeber des Befehls zurückgesandt, wenn ein Programmblockausführungsergebnisgewinnungsbefehl empfangen wird.
- Fig. 11 zeigt ein Flussdiagramm für die Verarbeitung von "Programmblockschreibbefehl". Wenn die Verarbeitung gestartet wird, wird die Position für die Einfügung des Programmblocks aus der Datenbereichsinformation von "Anwenderprogrammdaten" gewonnen (Schritt 1101). Als nächstes wird festgestellt, ob der im Befehlsparameter spezifizierte Programmblock-ID bereits vorhanden ist oder nicht. Wenn er bereits vorhanden ist (JA in Schritt 1102), wird eine Fehlerantwort an den Ausgeber des Befehls zurückgesandt (Schritt 1107) und die Verarbeitung beendet. Wenn festgestellt wird, dass der im Befehlsparameter spezifizierte Programmblock-ID noch nicht vorhanden ist (NEIN in Schritt 1102), werden die Programmblockdaten des Befehlsparameters an der vorgenannten Einfügungsposition als der in dem Befehlsparameter spezifizierte Programmblock-ID eingeschrieben. Als nächstes wird die Datenbereichsinformation von "Anwenderprogrammdaten" aktualisiert (Schritt 1104), der Programmblock-ID, der eingeschrieben worden ist, wird zu "Programmblockstatusdaten" hinzugefügt und der Status wird auf "Schritt" geändert (Schritt 1105). Schließlich wird eine normale Antwort zusammen mit den Daten zurückgesandt (Schritt 1106) und die Verarbeitung wird beendet. Durch den oben unter Bezug auf Fig. 11 erläuterten Prozess wird der durch den Befehlsparameter spezifizierte Programmblock automatisch zu "Anwenderprogrammdaten" hinzugefügt.
- Fig. 12 zeigt ein Flussdiagramm von "Programmblocklöschbefehl". Wenn diese Verarbeitung gestartet wird, wird die Position des im Befehlsparameter spezifizierten Programmblocks aus der Datenbereichsinformation von "Anwenderprogrammdaten" gewonnen (Schritt 1201). Als nächstes wird festgestellt, ob der spezifizierte Programmblock vorhanden ist oder nicht. Wenn festgestellt wird, dass der spezifizierte Programmblock nicht vorhanden ist (NEIN in Schritt 1202), wird eine Fehlerantwort an den Ausgeber des Befehls zurückgesandt (Schritt 1207) und die Verarbeitung beendet. Wenn festgestellt wird, dass der spezifizierte Programmblock vorhanden ist (JA in Schritt 1202), wird dieser Programmblock gelöscht (Schritt 1203). Als nächstes wird die Datenbereichsinformation von "Anwenderprogrammdaten" aktualisiert (Schritt 1204) und der Datensatz des ID des gelöschten Programmblocks aus "Programmblockstatusdaten" entfernt (Schritt 1205). Schließlich wird eine normale Antwort zusammen mit den Daten zurückgesandt (Schritt 1206) und die Verarbeitung beendet. Durch den oben unter Bezug auf Fig. 12 erläuterten Prozess wird ein spezifizierter Programmblock von "Anwenderprogrammdaten" automatisch gelöscht, wenn "Programmblocklöschbefehl" empfangen wird.
- Auf die Fig. 13 und 14 wird als nächstes Bezug genommen, um einen Abschnitt einer Folge von Operationen zu erläutern, die ausgeführt werden, wenn eine Steuerung (Steuerung A) einen Problemblock auf einer anderen Steuerung aktiviert (Steuerung B). Wenn "Programmblockstartbefehl" (RCALLBP-Befehl) ausgeführt wird, während die Steuerung A gerade ein Programm ausführt, werden Daten in "Angefordertnetzwerkverarbeitung-Daten" von Steuerung A gemäß ihren Operandendaten gespeichert, um diesen Befehl auszuführen. Befehle können dann auf die Steuerung B in der Netzwerkverarbeitung durch Steuerung A ausgegeben werden. Fig. 13 und 14 zeigen die Bearbeitung durch Steuerung A, wenn ein solcher RCALLPB-Befehl empfangen wird.
- Am Beginn der Verarbeitung wird festgestellt, ob ein Befehl gerade ausgegeben wird oder nicht. Wenn ein Befehl nicht gerade ausgegeben wird (NEIN in Schritt 1301), wird auf die Netzwerkadresse der Steuerung, die dem Steuerungsidentifizierercode von Operand 1 entspricht, aus "Netzwerkadressendaten für Steuerungen" (wie in Fig. 28 gezeigt) Bezug genommen (Schritt 1302). Die Feststellung, ob ein Befehl gerade ausgegeben wird oder nicht, kann erfolgen, indem ein Speicherbereich auf dem Arbeitsspeicher für jeden Befehl vorgesehen wird, und indem auf solche Speicherbereiche Bezug genommen wird.
- Als nächstes werden diese Adresse und die Daten in Operanden 2 und 3 in dem "Angefordertnetzwerkverarbeitung- Datenspeicherbereich" gesetzt (Schritt 1303). Als nächstes wird festgestellt, ob der spezifizierte Programmblock vorhanden ist oder nicht. Wenn festgestellt wird, dass der spezifzierte Programmblock nicht vorhanden ist (NEIN in Schritt 1304), wird die Verarbeitung unmittelbar beendet. Wenn festgestellt wird, dass der spezifizierte Programmblock vorhanden ist (JA in Schritt 1304), wird "Ausführungsparameterdaten" des Befehlsparameters im Eingabeparameter des Programmblocks gesetzt (Schritt 1305). Als nächstes wird auf dem Arbeitsspeicher von Steuerung A registriert, dass der Befehl gerade ausgegeben wird (Schritt 1306), und die Verarbeitung wird beendet.
- Wenn in Schritt 1301 festgestellt wird, dass ein Befehl gerade ausgegeben wird (JA in Schritt 1301), wird dann festgestellt, ob eine Antwort auf den Befehl vorhanden ist oder nicht. Wenn festgestellt wird, dass keine Antwort auf den Befehl vorhanden ist (NEIN in Schritt 1401), wird die Verarbeitung unmittelbar beendet. Wenn festgestellt wird, dass eine Antwort auf den Befehl vorhanden ist (JA in Schritt 1401), wird festgestellt, ob diese Antwort eine Fehlerantwort ist oder nicht. Wenn festgestellt wird, dass sie eine Fehlerantwort ist (JA in Schritt 1402), wird die Verarbeitung beendet. Wenn festgestellt wird, dass sie keine Fehlerantwort war (NEIN in Schritt 1402), wird "Ausführungsergebnisdaten" aus dem Antwortparameter an der Speicheradresse gesetzt, die durch Operand 4 wiedergegeben wird (Schritt 1403). Schließlich wird die Registrierung, dass ein Befehl gerade ausgeführt wird, entfernt (Schritt 1404) und die Verarbeitung beendet. Zusammenfassend wird, wenn "Programmblockstartbefehl" empfangen wird, der spezifizierte Programmblock automatisch ausgeführt, wie durch das Flussdiagramm in Fig. 13 und 14 gezeigt.
- Unter Bezug erneut auf Fig. 6 werden, wenn kein empfangener Befehl oder keine empfangene Antwort vorliegt (NEIN in Schritt 601), die Schritte 602 und 603 übersprungen. Als nächstes werden angeforderte Netzwerkverarbeitungsdaten aus dem Speicherbereich für Angefordertnetzwerkverarbeitung-Daten im Arbeitsspeicher 105 zur Übertragung von Befehlen ausgelesen (Schritt 604). Wie oben erläutert, können Angefordertnetzwerkverarbeitung-Daten von dem Angefordertnetzwerkverarbeitung- Datenspeicherbereich, wie in Fig. 29 gezeigt, gespeichert werden. Das in Fig. 29 gezeigte Beispiel gibt an, dass die Steuerung A (programmierbare Steuerung) die "Adressatenadresse" ist, der "Befehl" bedeutet einen Programmblock zu starten und Ergebnisse zu gewinnen, und der "Parameter" PB10, Daten und ABCD enthält. Der zweite und nachfolgende Bereich sind leer.
- Im Schritt 605 wird auf den Inhalt des Speicherbereichs für die angeforderten Netzwerkverarbeitungsdaten, wie in Fig. 29 gezeigt, Bezug genommen. Wenn eine Anforderung für eine Verarbeitung vorliegt (JA in Schritt 605), werden die Verarbeitung des Lesens der ersten Anforderung (Schritt 606), die Verarbeitung der Erzeugung und Übertragung eines Befehls (Schritt 607) und die Verarbeitung der Verschiebung um einen Schritt in dem Speicherbereich für Angefordertnetzwerkverarbeitung-Daten (Schritt 608) sequenziell ausgeführt. Durch die Angefordertnetzwerkverarbeitung-Daten spezifizierte verschiedene Befehle werden von dieser programmierbaren Steuerung auf eine andere programmierbare Steuerung oder ein Support-Tool ausgegeben. Wenn festgestellt wird, dass keine Anforderung für eine Verarbeitung vorliegt (NEIN in Schritt 605), werden die Schritte 606, 607 und 608 übersprungen.
- Als nächstes werden Systemprogramme zur Verwirklichung einer Operationsfunktion eines Support-Tool erläutert.
- Fig. 15 und 16 zeigen ein Flussdiagramm eines Systemprogramms (als eines ersten Beispiels) zur Lieferung der Funktion des Startens eines Programmblocks aus einem Support-Tool und der gleichzeitigen Gewinnung von Ergebnissen dieser Operation.
- Wie in Fig. 15 gezeigt, werden verschieden Kennzeichen und Register am Beginn des Programms initialisiert (Schritt 1501). Als nächstes wird ein Funktionsauswahlbildschirm angezeigt (Schritt 1502), der verschiedene Funktionen als auswählbare Bereiche, wie die Funktion der Anlegung eines Programmblocks und die Funktion des Starten eines Programmblocks und der gleichzeitigen Gewinnung von Ergebnissen, wiedergibt. Der Anwender wählt eine der so auf dem Anzeigebildschirm angezeigten Funktionen aus (Schritt 1503). Wenn der Anwender die Funktion der Anlegung eines Programmblocks auswählt (JA in Schritt 1504), wird einer von bekannten Prozessen zur Anlegung eines Programmblocks ausgeführt (Schritt 1505), und verschiedene Unterstützungsfunktionen, die zur Anlegung eines Programmblocks notwendig sind, werden vorgesehen. Wenn der Anwender die Funktion des Startens eines Programmblocks und der gleichzeitigen Gewinnung von Ergebnissen auswählt (JA in dem in Fig. 16 gezeigten Schritt 1601), wird einer von bekannten Prozessen zum Starten eines Programmblocks und zur gleichzeitigen Gewinnung von Ergebnissen ausgeführt (Schritt 1602). Ähnlich können verschiedene andere Funktionen durch den Anwender auswählbar gemacht werden. Das Systemprogramm wird mit einer bekannten Beendigungsprozedur beendet (Schritt 1604), wenn der Anwender die Auswahl einer Funktion beendet hat (JA in Schritt 1603).
- Fig. 17 und 18 zeigen ein Flussdiagramm eines zweiten Beispiels eines Systemprogramms zur Lieferung der Funktion des Startens eines Programmblocks aus einem Support-Tool und der getrennten Gewinnung von Ergebnissen dieser Operation.
- Wie in Fig. 17 gezeigt, werden verschiedene Kennzeichen und Register am Beginn des Programms initialisiert (Schritt 1701). Als nächstes wird ein Funktionsauswahlbildschirm angezeigt (Schritt 1702), damit der Anwender eine Auswahl treffen kann (Schritt 1703). In diesem Beispiel gehören zu auswählbaren Funktionen (als auswählbare Zweige) diejenige der Anlegung eines Programmblocks, diejenige des Starten eines Programmblocks und diejenige der Gewinnung von Ergebnissen der Durchführung eines Programmblocks. Wenn der Anwender die Funktion der Anlegung eines Programmblocks auswählt (JA in Schritt 1704), wird ein bekannter Prozess zur Anlegung eines Programmblocks ausgeführt (Schritt 1705). Wenn der Anwender die Funktion des Startens eines Programmblocks auswählt (JA in Schritt 1706), wird ein Prozess, wie er unter Bezug auf Fig. 9 und 13 erläutert wurde, zum Starten eines Programmblocks ausgeführt (Schritt 1707). Wenn der Benutzer die Funktion der Gewinnung von Ergebnissen des Ablaufs eines Programmblocks auswählt (Schritt 1801 in Fig. 18), wird ein Prozess, wie er unter Bezug auf Fig. 8 und 10 erläutert wurde, zur Gewinnung von Ergebnissen des Ablaufs eines Programmblocks ausgeführt (Schritt 1802). Das Systemprogramm wird mit einem bekannten Beendigungsvorgang beendet (Schritt 1804), wenn der Anwender die Auswahl einer Funktion beendet hat (JA in Schritt 1803).
- Fig. 19 und 20 zeigen ein Flussdiagramm eines dritten Beispiels eines Systemprogramms zur Schaffung der Funktion eines Hinzufügens und Löschens eines Programmblocks aus einem Support-Tool.
- Wie in Fig. 19 gezeigt, werden am Beginn des Programms verschiedene Kennzeichen und Register initialisiert (Schritt 1901). Als nächstes wird ein Funktionsauswahlbildschirm angezeigt (Schritt 1902), damit der Anwender eine Auswahl treffen kann (Schritt 1903). In diesem Beispiel gehören zu auswählbaren Funktionen (als auswählbare Zweige) diejenige der Anlegung eines Programmblocks und diejenige der Übertragung und Ausführung eines Programmblocks. Wenn der Anwender die Funktion der Anlegung eines Programmblocks auswählt (JA in Schritt 1904), wird ein bekannter Prozess zur Anlegung eines Programmblocks ausgeführt (Schritt 1905). Wenn der Anwender die Funktion der Übertragung und Ausführung eines Programms auswählt (JA in Schritt 2001 in Fig. 20), wird die Funktion der Übertragung und Ausführung eines Programms ausgeführt (Schritt 2002). Das Systemprogramm wird mit einem Beendigungsvorgang beendet (Schritt 2004), wenn der Anwender die Auswahl einer Funktion beendet hat (JA in Schritt 2003).
- Schließlich werden vier Beispiele der Anwenderoperationen unter Verwendung einer programmierbaren Steuerung und eines Support-Tool erläutert.
- Es wird ein System ausgebildet, welches eine programmierbare Steuerung (Steuerung A) und ein Support-Tool aufweist, wie in Fig. 1A gezeigt. Die Steuerung A speichert Programmblöcke PB10, PB11 und PB12, partizioniert wie in Fig. 21A gezeigt, als Anwenderprogramm. Anwenderprogrammdaten werden in der Steuerung A, wie in Fig. 25 gezeigt, gespeichert.
- Es sei angenommen, dass PB10 beendet ist, PB11 und PB12 aber in Betrieb sind.
- Der Anwender benutzt die Funktion des Support-Tool zum Starten eines Programmblocks und Gewinnen von Ergebnissen und spezifiziert PB10. Für diesen Zweck erforderliche Parameter werden eingegeben und es erfolgt eine Anforderung, wie in Fig. 31 gezeigt, an die programmierbare Steuerung, den Prozess durchzuführen. In Fig. 31 gibt A1 einen Anzeigebereich für eine Hauptüberschrift an, A5 einen Anzeigebereich für Einzelheiten, Bezugszahl 3101 einen Anzeigebereich für einen Steuerungs-ID, Bezugszahl 3102 einen Anzeigebereich für einen Programmblock, Bezugszahl 3103 einen Anzeigebereich für einen Ausführungsparameter, Bezugszahl 3104 einen OK-Auswahlknopf und Bezugszahl 3105 einen Löschauswahlknopf. In dieser Situation gibt das Support-Tool über das Netzwerk einen Befehl an die Steuerung A zum Starten eines Programmblocks und zur Gewinnung von Ergebnissen aus (Schritte 1503, 1601 und 1602).
- Mit Erhalt dieses Befehls speichert die Steuerung A die aufgerufenen Parameter im Eingabeparameter und startet PB10 (Schritte 705 und 706). Wenn PB10 nicht in der Steuerung A ist, wird eine Fehlerantwort gesendet (Schritt 807). Dies erfolgt als Netzwerkprozess.
- In der nachfolgenden Programmoperation schaltet die Steuerung A das Kennzeichen für PB10 nur während der ersten Operation ab. Das Kennzeichen wird eingeschaltet und die Ergebnisse im Ausgabeparameter gespeichert, wenn der Prozess abgeschlossen ist. Für den Abschluss eines Prozesses können eine Anzahl von Ausführungszyklen erforderlich sein.
- Nach einer Nachprüfung durch Netzwerkverarbeitung, dass das Kennzeichen an ist (Schritt 801), kehrt die Steuerung A zu den Support-Tool-Daten zurück, die als Ausgabeparameter als Antwort auf den empfangenen Befehl, einen Programmblock zu starten und ein Ergebnis zu gewinnen, gespeichert worden sind, womit gleichzeitig PB10 beendet wird (Schritte 802, 803 und 804). Mit Erhalt dieser Antwort von der Steuerung A zeigt das Support-Tool die zurückgesandten Daten als das Ergebnis der Ausführung an, wie in Fig. 32 gezeigt. In Fig. 32 gibt A1 einen Anzeigebereich für eine Hauptüberschrift an, A5 einen Anzeigebereich für Einzelheiten und Bezugszahl 3201 einen OK- Auswahlknopf. Wenn die Antwort eine Fehlerantwort war, wird eine Fehleranzeige, wie in Fig. 33 gezeigt, gemacht. In Fig. 33 gibt A1 einen Anzeigebereich für eine Hauptüberschrift, A5 einen Anzeigebereich für Einzelheiten und Bezugszahl 3301 einen OK-Auswahlknopf an.
- Ein System wird gebildet, welches eine programmierbare Steuerung (Steuerung A) und ein Support-Tool aufweist, wie in Fig. 1A gezeigt. Die Steuerung A speichert Programmblöcke PB10, PB11 und PB12, partizioniert wie in Fig. 21A gezeigt, als Anwenderprogramm. Anwenderprogrammdaten werden in der Steuerung A gespeichert, wie in Fig. 25 gezeigt. Es sei angenommen, dass PB10 beendet ist, dass aber PB11 und PB12 in Betrieb sind.
- Der Anwender benutzt die Funktion des Support-Tool zum Starten eines Programmblocks und spezifiziert PB12. Für diesen Zweck benötigte Parameter werden eingegeben und eine Anforderung, wie in Fig. 34 gezeigt, an die programmierbare Steuerung, den Prozess durchzuführen, gemacht. In Fig. 34 gibt A1 einen Anzeigebereich für eine Hauptüberschrift, A5 einen Anzeigebereich für Einzelheiten, Bezugszahl 3401 einen Anzeigebereich für einen Steuerungs-ID, Bezugszahl 3402 einen Anzeigebereich für einen Programmblock-ID, Bezugszahl 3403 einen Anzeigebereich für einen Ausführungsparameter, Bezugszahl 3404 einen OK-Auswahlknopf und Bezugszahl 3405 einen Löschauswahlknopf an. In dieser Situation gibt das Support-Tool über das Netzwerk einen Befehl an die Steuerung A für das Starten eines Programmblocks aus (Schritte 1703, 1706 und 1707).
- Mit Erhalt dieses Befehls speichert die Steuerung A die empfangenen Parameter im Eingabeparameter und startet PB10 (Schritte 904 und 905). Dies wird als Netzwerkprozess ausgeführt und es wird eine normale Beendigungsantwort an das Support-Tool zurückgesandt (Schritt 906), wenn er beendet ist. Wenn PB10 nicht in der Steuerung A ist, wird eine Fehlerantwort gesendet (Schritt 907).
- In der nachfolgenden Programmoperation schaltet die Steuerung A das Kennzeichen für PB10 nur während der ersten Operation aus. Das Kennzeichen wird eingeschaltet und die Ergebnisse werden im Ausgabeparameter gespeichert, wenn der Prozess abgeschlossen ist. Zum Abschluss eines Prozesses können eine Anzahl von Ausführungszyklen erforderlich sein.
- Wenn die normale Beendigungsantwort zurückgesandt wird, anzeigend, dass PB10 normal gestartet worden ist, zeigt das Support-Tool den Erfolg der Ausführung an und fragt den Anwender ob die Ergebnisse gewonnen werden sollten oder nicht, wie dies in Fig. 35 gezeigt ist. In Fig. 35 gibt A1 einen Anzeigebereich für eine Hauptüberschrift, A5 einen Anzeigebereich für Einzelheiten, Bezugszahl 3501 einen OK-Auswahlknopf und Bezugszahl 3502 einen Löschauswahlknopf an. Der Anwender kann entweder mit der Gewinnung von Ergebnissen fortfahren oder vorübergehend das Arbeiten des Tools beenden, wobei er getrennt die Funktion der Gewinnung von Ergebnissen der Ausführung eines Programmblocks verwendet. Wenn andererseits eine Fehlerantwort zurückgesandt wird, erfolgt auf dem Bildschirm eine Fehleranzeige, wie in Fig. 36 gezeigt (Schritte 1703, 1801 und 1802). In Fig. 36 gibt A1 einen Anzeigebereich für eine Hauptüberschrift, A5 einen Anzeigebereich für Einzelheiten und Bezugszahl 3601 einen OK-Auswahlknopf an.
- Wenn der Anwender einen Befehl zur Gewinnung der Ergebnisse der Verarbeitung eingibt, gibt das Support-Tool einen Befehl an die Steuerung A zur Gewinnung von Ergebnissen der Ausführung durch einen Programmblock durch Angabe von PB10 als Parameter aus. Mit Erhalt dieses Befehls prüft die Steuerung A, ob das Kennzeichen für PB10 ein ist. Wenn das Kennzeichen ein ist, sendet die Steuerung A an das Support-Tool die Daten, die als Ausgabeparameter gespeichert worden sind, als Antwort auf den empfangenen Befehl zurück, womit gleichzeitig PB10 beendet wird. Wenn das Kennzeichen nicht ein ist, wird eine Fehlerantwort einer unvollständigen Ausführung als Antwort auf den Befehl zurückgesandt. Mit Erhalt einer Antwort von der Steuerung A zeigt das Support-Tool das zurückgesandte Ergebnis an, wie in Fig. 37 gezeigt. In Fig. 37 gibt A1 einen Anzeigebereich für eine Hauptüberschrift, A5 einen Anzeigebereich für Einzelheiten und Bezugszahl 3701 einen OK-Auswahlknopf an. Wenn die Antwort eine Fehlerantwort war, erfolgt eine Fehleranzeige und es wird eine weitere Ausführung vorgeschlagen, wie in Fig. 38 gezeigt. In Fig. 38 gibt A1 einen Anzeigebereich für eine Hauptüberschrift, A5 einen Anzeigebereich für Einzelheiten, Bezugszahl 3801 einen OK-Auswahlknopf und Bezugszahl 3802 einen Löschauswahlknopf an.
- Wenn der Anwender entscheidet, die Operation zu beenden, nachdem ein Programmblock gestartet worden ist, und die Ergebnisse der Ausführung des Programmblocks später zu gewinnen, wird der Programmblock erneut spezifiziert, wie in Fig. 39 gezeigt. In Fig. 39 gibt A1 einen Anzeigebereich für eine Hauptüberschrift, A5 einen Anzeigebereich für Einzelheiten, Bezugszahl 3901 einen OK-Auswahlknopf und Bezugszahl 3902 einen Löschauswahlknopf an. Das Support-Tool gibt an die Steuerung A einen Befehl zur Gewinnung von Ergebnissen einer Ausführung durch einen Programmblock durch Angabe von PB10 als Parameter aus (Schritte 1703, 1801 und 1802). Mit Erhalt dieses Befehls, prüft die Steuerung A ob das Kennzeichen für PB10 ein ist oder nicht. Wenn das Kennzeichen ein ist, sendet die Steuerung A an das Support-Tool die Daten, die als Ausgabeparameter gespeichert worden sind, als Antwort auf den empfangenen Befehl zurück, womit gleichzeitig PB10 beendet wird (Schritte 105, 106 und 107). Wenn das Kennzeichen nicht ein ist, wird eine Fehlerantwort einer unvollständigen Ausführung als Antwort auf den Befehl zurückgesandt (Schritt 109). Mit Erhalte einer Antwort von der Steuerung A zeigt das Support- Tool das zurückgesandte Ergebnis an, wie in Fig. 40 gezeigt. In Fig. 40 gibt A1 einen Anzeigebereich für eine Hauptüberschrift, A5 einen Anzeigebereich für Einzelheiten und Bezugszahl 4001 einen OK-Auswahlknopf an. Wenn die Antwort eine Fehlerantwort war, erfolgt eine Fehleranzeige und es wird eine andere Ausführung vorgeschlagen, wie in Fig. 41 gezeigt. In Fig. 41 gibt A1 einen Anzeigebereich für eine Hauptüberschrift, A5 einen Anzeigebereich für Einzelheiten, Bezugszahl 4101 einen OK-Auswahlknopf und Bezugszahl 4102 einen Löschauswahlknopf an.
- Es wird ein System ausgebildet, welches eine programmierbare Steuerung (Steuerung A) und ein Support-Tool umfasst, wie in Fig. 1A gezeigt. Die Steuerung A speichert Programmblöcke PB10, PB11 und PB12, partizioniert wie in Fig. 21A gezeigt, als Anwenderprogramm. Anwenderprogrammdaten werden in der Steuerung A gespeichert, wie in Fig. 25 gezeigt.
- Der Anwender benutzt das Support-Tool um vorab Programmblockdaten für PB20 zu erstellen. Die Funktion der Sendung und Ausführung eines Programmblocks wird zur Spezifizierung von PB20 verwendet, und nachdem Parameter eingegeben sind, wird die Ausführung von der Steuerung A angefordert (Schritte 1903, 2001 und 2002). Zunächst sendet das Support-Tool über das Netzwerk die Programmblockdaten von PB20 an die Steuerung A durch einen "Programmblockeinschreibe"-Befehl. Mit Erhalt dieses Befehls speichert die Steuerung A die Programmblockdaten von PB20 an einer spezifizierten Position (Schritte 1103, 1104 und 1105). Als Ergebnis ist der Inhalt von Anwenderprogrammdaten nun wie in Fig. 26 gezeigt, und der Aufbau des Anwenderprogramms wie in Fig. 21B gezeigt. Dies wird als Netzwerkprozess ausgeführt.
- Mit Erhalt einer normalen Antwort von der Steuerung A gibt das Support-Tool einen Befehl zum Starten eines Programmblocks und Gewinnen von Ergebnissen zusammen mit Ausführungsparameterdaten durch Spezifizieren von PB20 aus. Mit Erhalt dieses Befehls speichert die Steuerung A den mit dem Befehl erhaltenen Parameter im Eingabeparameter und startet PB20. Dies wird als Netzwerkprozess durchgeführt.
- In der nachfolgenden Programmoperation schaltet die Steuerung A das Kennzeichen für PB20 nur während der ersten Operation ab. Das Kennzeichen wird eingeschaltet und die Ergebnisse werden im Ausgabeparameter gespeichert, wenn der Prozess abgeschlossen ist. Zum Abschluss eines Prozesses können eine Anzahl von Ausführungszyklen erforderlich sein.
- Nach einer Nachprüfung durch Netzwerkverarbeitung, dass das Kennzeichen für PB20 ein ist, sendet die Steuerung A die Daten, die als Ausgabeparameter gespeichert worden sind, als Antwort auf den empfangenen Befehl, einen Programmblock zu starten und das Ergebnis zu gewinnen, an das Support-Tool zurück, wobei gleichzeitig PB20 beendet wird. Mit Erhalt dieser Antwort von der Steuerung A zeigt das Support-Tool die zurückgesandten Daten als Ergebnis der Ausführung des Befehls zur Übertragung und Ausführung eines Programmblocks an und gibt einen Befehl an die Steuerung A, die Programmdaten von PB20 zu löschen. Mit Erhalt dieses Befehls löscht die Steuerung A die Daten von PB20 im Anwenderprogramm. Als Ergebnis geht das Anwenderprogramm in den in Fig. 25 gezeigten Zustand zurück, und der Aufbau des Anwenderprogramms sieht nun wie in Fig. 21A gezeigt aus.
- Es wird ein System gebildet, welches zwei programmierbare Steuerungen (Steuerung A und B) umfasst, wie in Fig. 1B gezeigt. Steuerung A speichert partizionierte Programmblöcke, wie in Fig. 21A gezeigt, als Anwenderprogramm. Anwenderprogrammdaten werden in der Steuerung A, wie in Fig. 25 gezeigt, gespeichert. Es sei angenommen, dass PB10 beendet ist, aber PB11 und PB12 in Betrieb sind. Wie in Fig. 30 gezeigt, speichert Steuerung B einen Programmblock, welcher "Programmblockstartbefehl" (gezeigt bei 3001) zum Starten eines Programmblocks der Steuerung A enthält. Der Identifizierercode für die Steuerung A ist in Operand 1 (3001b) von "Programmblockstartbefehlscode" (3001a) programmiert. Der Identifizierercode für PB10, welcher ein in der Steuerung A gespeicherter Programmblock ist, ist in Operand 2 (3001c) programmiert. Parameterdaten zur Ausführung von PB10 sind in Operand 3 (3000d) programmiert. Die Speicheradresse auf der programmierbaren Steuerung zur Speicherung von Ausführungsergebnissen ist in Operand 4 programmiert.
- Wenn der vorgenannte "Programmblockstartbefehl" bei der Ausführung von Programmblöcken von Steuerung B ausgeführt wird, zieht die Steuerung B notwendige Information aus den Operanden heraus. Information aus Operand 1 wird in eine Netzwerkadresse umgewandelt, indem auf "Netzwerkadressendaten für Steuerungen", wie sie in Fig. 28 gezeigt sind, Bezug genommen wird, und, wie in Fig. 29 gezeigt, im Speicherbereich für die Angefordertnetzwerkverarbeitung-Daten zusammen mit Information aus Operanden 2 und 3 gespeichert. Es wird registriert, dass ein Befehl gerade ausgeführt wird, und die Befehle für diesen Zyklus werden ausgeführt.
- In einer Netzwerkverarbeitung durch Steuerung B wird "Programmblockstart- und Ergebnisgewinnungsbefehl" über das Netzwerk an die Steuerung A auf der Grundlage der Information in dem Speicherbereich für die Angefordertnetzwerkverarbeitung-Daten ausgegeben. Mit Erhalt dieses Befehls speichert die Steuerung A die mit dem Befehl erhaltenen Parameter im Eingabeparameter und startet PB10. Dies wird durch Netzwerkverarbeitung durchgeführt.
- In der nachfolgenden Programmoperation schaltet die Steuerung A das Kennzeichen für PB10 nur während der ersten Operation ab. Das Kennzeichen wird eingeschaltet und die Ergebnisse werden im Ausgabeparameter gespeichert, wenn der Prozess abgeschlossen ist. Für den Abschluss eines Prozesses können eine Anzahl von Ausführungszyklen erforderlich sein.
- Nach einer Nachprüfung durch Netzwerkverarbeitung, dass das Kennzeichen ein ist, sendet die Steuerung A die Daten, die als Ausgabeparameter gespeichert worden sind, als Antwort auf den empfangenen Befehl, einen Programmblock zu starten und das Ergebnis zu gewinnen, an das Support-Tool zurück, wobei gleichzeitig PB10 beendet wird. Mit Empfang einer Antwort von der Steuerung A in Netzwerkverarbeitung speichert die Steuerung B die Antwortdaten als Ausführungsergebnis.
- Nach Ausführung von "Programmblockstartbefehl" durch die Steuerung B wird, wenn ein Befehl gerade ausgegeben wird, geprüft, ob eine Antwort von der Steuerung A empfangen worden ist. Wenn keine Antwort zurückgesandt viorden ist, geht sie zur Ausführung eines nächsten Befehls weiter. Wenn eine Antwort empfangen worden ist, werden die Antwortdaten an der in Operand 4 gezeigten Speicheradresse kopiert und die Registrierung, dass ein Befehl gerade ausgegeben wird, wird beseitigt. Das Anwenderprogramm der Steuerung B kann also auf die Ausführungsergebnisse von PB10 der Steuerung A für eine Verwendung der selben in anderen Prozessen Bezug nehmen.
- Im Beispiel 3 können die Übertragung von Programmblockdaten und das Starten eines Programmblocks als getrennte Funktionen behandelt werden. In Beispiel 4 können getrennte Befehle zum Starten eines Programmblocks und Gewinnen von Ausführungsergebnissen, wie in Beispiel 2 geschehen, verwendet werden.
- Zu den Vorteilen der vorliegenden Erfindung gehören die folgenden:
- 1. Da das Abfragen von Daten, die für einen Prozess erforderlich sind, durch eine programmierbare Steuerung durch Ausführen von Programmblöcken durchgeführt wird, ist ein häufiges Abfragen von Daten über das Netzwerk nicht erforderlich, und nur das Ausführungsergebnis kann aufgerufen werden. Die Belastung des Netzwerks wird also geringer.
- 2. Da das Abfragen von Daten, die für einen Prozess erforderlich sind, durch eine programmierbare Steuerung zur Ausführung von Programmblöcken durchgeführt wird, können Daten schnell unabhängig von der Zeit, die für die Übertragung von Daten über das Netzwerk erforderlich ist, abgefragt werden.
- 3. Wenn eine Operationsanforderung von außen erhalten wird, konzentriert sich das Anforderungsverfahren auf Ausführungsparameter und Daten werden nicht gemäß Adressen, die von außen spezifiziert wurden, ausgelesen oder eingeschrieben. Programme müssen also nicht korrigiert oder modifiziert werden, wenn sich die Datenzuordnung ändert.
- 4. Wenn ein Programm für eine programmierbare Steuerung bereits partizioniert ist kann, wenn gewünscht wird, es auf eine Anzahl von programmierbaren Steuerungen zu verteilen, dieses es einfach erfolgen, indem eine Programmlogik zum Herausnehmen derjenigen der Programmblöcke, die zu verteilen sind, hinzugefügt wird, diese in anderen programmierbaren Steuerungen gespeichert werden und sie von außen gestartet werden.
- 5. Neue Programmblöcke können einem in Betrieb befindlichen Programm hinzugefügt werden und können zur Gewinnung von Ergebnissen betrieben werden. Die hinzugefügten Programmblöcke können gelöscht werden, nachdem das Operationsergebnis gewonnen ist. Notwendige Funktionen können nur hinzugefügt werden, wenn sie benötigt werden. Die Belastung von Ressourcen programmierbarer Steuerungen kann also reduziert werden. Fernoperationen auf einer programmierbaren Steuerung werden möglich, beispielsweise zur Wartung und Fehlersuche im Falle eines unerwarteten Fehlers.
Claims (8)
1. Ein programmierbares Steuerungssystem, welches
aufweist:
eine Anzahl von programmierbaren Steuerungen, welche eine erste Steuerung und eine zweite Steuerung enthalten, wobei jede der Anzahl von programmierbaren Steuerungen einen oder mehr Programmblöcke speichert und die Programmblöcke ausgewählt und individuell ausführt, indem zwischen einem aktiven Zustand und einem stillgesetzten Zustand umgeschalten wird; und
Kommunikationsmittel, über welche die programmierbaren Steuerungen Daten zwischen den programmierbaren Steuerungen senden und empfangen;
wobei die erste Steuerung Befehlsausgabemittel zum Ausgeben eines Befehls zur Durchführung einer spezifizierten Operation auf einem spezifizierten Programmblock der zweiten Steuerung aufweist;
wobei die zweite Steuerung Operationsmittel zur Durchführung der spezifizierten Operation ansprechend auf den von der ersten Steuerung erhaltenen Befehl aufweist.
eine Anzahl von programmierbaren Steuerungen, welche eine erste Steuerung und eine zweite Steuerung enthalten, wobei jede der Anzahl von programmierbaren Steuerungen einen oder mehr Programmblöcke speichert und die Programmblöcke ausgewählt und individuell ausführt, indem zwischen einem aktiven Zustand und einem stillgesetzten Zustand umgeschalten wird; und
Kommunikationsmittel, über welche die programmierbaren Steuerungen Daten zwischen den programmierbaren Steuerungen senden und empfangen;
wobei die erste Steuerung Befehlsausgabemittel zum Ausgeben eines Befehls zur Durchführung einer spezifizierten Operation auf einem spezifizierten Programmblock der zweiten Steuerung aufweist;
wobei die zweite Steuerung Operationsmittel zur Durchführung der spezifizierten Operation ansprechend auf den von der ersten Steuerung erhaltenen Befehl aufweist.
2. Die programmierbare Steuerung in Anspruch 1, wobei
der Befehl bewirkt, dass der spezifizierte Programmblock
gestartet und ausgeführt wird, indem Ausführungsparameterdaten
des Befehlsparameters des Befehls im Eingabeparameter des
spezifizierten Programmblocks gesetzt werden, und dass
Ausgabeparameterdaten des spezifizierten Programmblocks ausgelesen und
als Ergebnis der Ausführung des spezifizierten Programmblocks
an den Ausgeber des Befehls zurückgesandt werden.
3. Das programmierbare Steuerungssystem nach Anspruch 1,
wobei der Befehl bewirkt, dass der spezifizierte Programmblock
gestartet und ausgeführt wird, indem Ausführungsparameterdaten
des Befehlsparameters des Befehls im Eingabeparameter des
spezifizierten Programmblocks gesetzt werden.
4. Das programmierbare Steuerungssystem nach Anspruch 1,
wobei der Befehl bewirkt, dass Ausgabeparameterdaten des
spezifizierten Programmblocks ausgelesen und als Ergebnis der
Ausführung des spezifizierten Programmblocks an den Ausgeber
des Befehls zurückgesandt werden.
5. Das programmierbare Steuerungssystem nach Anspruch 1,
wobei der Befehl von einem Programmblock begleitet wird und
bewirkt, dass der begleitende Programmblock in einen
Programmblockspeicherbereich geschrieben wird.
6. Das programmierbare Steuerungssystem nach Anspruch 1,
wobei der Befehl bewirkt, dass der spezifizierte Programmblock
gelöscht wird.
7. Ein programmierbares Steuerungssystem, welches
aufweist:
eine programmierbare Steuerung, welche einen oder mehr Programmblöcke speichert und die Programmblöcke ausgewählt und individuell ausführt, indem zwischen einem aktiven Zustand und einem stillgesetzten Zustand umgeschaltet wird;
Kommunikationsmittel; und
eine oder mehr andere Vorrichtungen, welche Daten über die Kommunikationsmittel mit der programmierbaren Steuerung austauschen;
wobei wenigstens eine der anderen Vorrichtungen Befehlsausgabemittel zur Ausgabe eines Befehls zur Durchführung einer spezifizierten Operation auf einem spezifizierten Programmblock der programmierbaren Steuerung enthält; und
wobei die programmierbare Steuerung Mittel zur Durchführung der spezifizierten Operation ansprechend auf den von der wenigstens einen der anderen Vorrichtungen empfangenen Befehl enthält.
eine programmierbare Steuerung, welche einen oder mehr Programmblöcke speichert und die Programmblöcke ausgewählt und individuell ausführt, indem zwischen einem aktiven Zustand und einem stillgesetzten Zustand umgeschaltet wird;
Kommunikationsmittel; und
eine oder mehr andere Vorrichtungen, welche Daten über die Kommunikationsmittel mit der programmierbaren Steuerung austauschen;
wobei wenigstens eine der anderen Vorrichtungen Befehlsausgabemittel zur Ausgabe eines Befehls zur Durchführung einer spezifizierten Operation auf einem spezifizierten Programmblock der programmierbaren Steuerung enthält; und
wobei die programmierbare Steuerung Mittel zur Durchführung der spezifizierten Operation ansprechend auf den von der wenigstens einen der anderen Vorrichtungen empfangenen Befehl enthält.
8. Eine programmierbare Steuerung, welche einen oder
mehr Programmblöcke speichert, wobei die programmierbare
Steuerung aufweist:
Ausführungsmittel zum Ausführen der Programmblöcke ausgewählt und individuell durch Umschalten zwischen einem aktiven Zustand und einem stillgesetzten Zustand;
Kommunikationsmittel zum Austauschen von Daten mit einer anderen Vorrichtung über mit der programmierbaren Steuerung verbundene Kommunikationsmittel; und
Antwortmittel für den Empfang eines Befehls von der anderen Vorrichtung über die Kommunikationsmittel und die Ausführung einer Operation gemäß dem Befehl.
Ausführungsmittel zum Ausführen der Programmblöcke ausgewählt und individuell durch Umschalten zwischen einem aktiven Zustand und einem stillgesetzten Zustand;
Kommunikationsmittel zum Austauschen von Daten mit einer anderen Vorrichtung über mit der programmierbaren Steuerung verbundene Kommunikationsmittel; und
Antwortmittel für den Empfang eines Befehls von der anderen Vorrichtung über die Kommunikationsmittel und die Ausführung einer Operation gemäß dem Befehl.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001133454 | 2001-04-27 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| DE10218816A1 true DE10218816A1 (de) | 2003-02-27 |
Family
ID=18981313
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE10218816A Ceased DE10218816A1 (de) | 2001-04-27 | 2002-04-26 | Programmierbares Steuerungssystem |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20020198970A1 (de) |
| CN (1) | CN1241078C (de) |
| DE (1) | DE10218816A1 (de) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE10234233A1 (de) * | 2002-07-27 | 2004-02-05 | Kuka Roboter Gmbh | Verfahren zum Austausch von Daten zwischen Steuerungen von Maschinen, insbesondere von Robotern |
| DE102017208831A1 (de) | 2017-05-24 | 2018-11-29 | Wago Verwaltungsgesellschaft Mbh | Verarbeitung von Prozessdaten |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE602005015052D1 (de) * | 2004-03-31 | 2009-08-06 | Omron Tateisi Electronics Co | Vorrichtung zur Entwicklungsunterstützung |
| JP5099251B1 (ja) * | 2011-07-15 | 2012-12-19 | オムロン株式会社 | Plcのcpuユニット、plc用のシステムプログラム、plc用のシステムプログラムを格納した記録媒体、plcシステム、plcサポート装置、plcサポートプログラム、および、plcサポートプログラムを格納した記録媒体 |
| JP5826121B2 (ja) * | 2012-06-18 | 2015-12-02 | 株式会社安川電機 | 機械制御プログラム作成装置、機械制御プログラム作成方法、プログラム及び情報記憶媒体 |
| JP6520545B2 (ja) * | 2015-08-10 | 2019-05-29 | オムロン株式会社 | サポート装置およびサポートプログラム |
| KR102079499B1 (ko) * | 2015-10-20 | 2020-02-21 | 엘에스산전 주식회사 | Plc 위치 결정 시스템의 축별 제어주기 독립 할당 방법 |
| CN110825378B (zh) * | 2019-09-17 | 2023-07-18 | 秦皇岛米格教育科技有限公司 | 基于程序积木的编程系统和控制系统 |
| CN110908662A (zh) * | 2019-12-09 | 2020-03-24 | 苏州精易会信息技术有限公司 | 一种基于积木编程的区域积木块的实现方法及装置 |
| CN111352381B (zh) * | 2019-12-16 | 2024-03-26 | 常州汇邦电子有限公司 | 可编程逻辑控制器编程方法、可编程逻辑控制器及系统 |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6751796B1 (en) * | 1993-06-25 | 2004-06-15 | Microsoft Corporation | Integration of systems management services with an underlying system object model |
| ATE184405T1 (de) * | 1996-01-17 | 1999-09-15 | Siemens Ag | Automatisierungsgerät |
| US6247065B1 (en) * | 1996-12-26 | 2001-06-12 | At&T Corp. | Messaging platform process |
| US6496870B1 (en) * | 1997-01-31 | 2002-12-17 | Sun Microsystems, Inc. | System, method and article of manufacture for collaboration with an application |
| US6484061B2 (en) * | 1997-09-10 | 2002-11-19 | Schneider Automation Inc. | Web interface to a programmable controller |
| US6151700A (en) * | 1997-10-20 | 2000-11-21 | International Business Machines Corporation | Object oriented distributed programming system for computer controlled networks with selective capture of program property data identifying a particular program version |
| US6282697B1 (en) * | 1998-09-18 | 2001-08-28 | Wylci Fables | Computer processing and programming method using autonomous data handlers |
| US6502238B1 (en) * | 1998-12-31 | 2002-12-31 | Honeywell International Inc. | System for constructing and distributing block-based fragments |
| US6711698B1 (en) * | 2000-07-07 | 2004-03-23 | Schneider Automation Inc. | Programmable logic controller with provisions for safety systems |
| US7000220B1 (en) * | 2001-02-15 | 2006-02-14 | Booth Thomas W | Networked software development environment allowing simultaneous clients with combined run mode and design mode |
-
2002
- 2002-04-25 US US10/133,981 patent/US20020198970A1/en not_active Abandoned
- 2002-04-26 DE DE10218816A patent/DE10218816A1/de not_active Ceased
- 2002-04-27 CN CN02140194.2A patent/CN1241078C/zh not_active Expired - Lifetime
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE10234233A1 (de) * | 2002-07-27 | 2004-02-05 | Kuka Roboter Gmbh | Verfahren zum Austausch von Daten zwischen Steuerungen von Maschinen, insbesondere von Robotern |
| DE102017208831A1 (de) | 2017-05-24 | 2018-11-29 | Wago Verwaltungsgesellschaft Mbh | Verarbeitung von Prozessdaten |
| US11233674B2 (en) | 2017-05-24 | 2022-01-25 | Wago Verwaltungsgesellschaft Mbh | Processing of process data |
Also Published As
| Publication number | Publication date |
|---|---|
| US20020198970A1 (en) | 2002-12-26 |
| CN1385770A (zh) | 2002-12-18 |
| CN1241078C (zh) | 2006-02-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE60200210T2 (de) | Über das World-Wide-Web zugängliche, eingebettete Programmier-Software | |
| DE68919631T2 (de) | Verfahren zur Verarbeitung von Programmteilen eines verteilten Anwendungsprogramms durch einen Hauptrechner und einen intelligenten Arbeitsplatz in einer SNA LU 6.2-Netzwerkumgebung. | |
| DE10210675B4 (de) | Steuerungen, Erweiterungsplatten und Kommunikationseinheiten | |
| DE68919975T2 (de) | Verfahren für die simultane Ablaufverwaltung eines verteilten Anwenderprogramms in einem Hostrechner und in einer grossen Anzahl von intelligenten Benutzerstationen in einem SNA-Netzwerk. | |
| DE3587034T2 (de) | Verfahren und einrichtung zur steuerung automatischer geraete. | |
| DE69129645T2 (de) | Verfahren und Anordnung zur Unterstützung der Anzeige und Entfernung von Fenstern | |
| DE69428538T2 (de) | Verfahren zum konfigurieren von mehreren adapterkarten auf einem bus | |
| DE10210280A1 (de) | Steuerungen, Tools und diese umfassende Systeme | |
| DE102018202820B4 (de) | System zur einstellung von daten für einen roboter, verfahren zur einstellung von daten und programm | |
| DE60209631T2 (de) | Verfahren zur Programmierung einer Automatisierungsapplikation | |
| DE602004004605T2 (de) | Vorrichtung und Methode zum Unterstützen der Konfiguration eines Speichersystems | |
| DE2917441A1 (de) | Multiprozessoranlage | |
| DE69323196T2 (de) | Rechnersystem und Verfahren zur Ausführung von mehreren Aufgaben | |
| EP0006164A1 (de) | Multiprozessorsystem mit gemeinsam benutzbaren Speichern | |
| DE112014006838T5 (de) | Anzeigenbetriebssystem | |
| DE10218816A1 (de) | Programmierbares Steuerungssystem | |
| DE2935101C2 (de) | ||
| DE102004012516A1 (de) | Computersystem zur elektronischen Datenverarbeitung | |
| DE60313826T2 (de) | Netzwerksystem | |
| DE4226536A1 (de) | Programmierbare steuerung mit einer benutzernachrichtenfunktion | |
| DE10229887A1 (de) | Programmierbare Steuervorrichtung | |
| DE19621589A1 (de) | FA-Steuerung und zugehöriges Datenverarbeitungsverfahren | |
| DE3938950C2 (de) | ||
| EP2090948B1 (de) | Verfahren zum Betrieb eines Automatisierungssystems | |
| DE112018000092T5 (de) | SPS, Netzwerkeinheit, CPU und Datenübertragungsverfahren |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| OP8 | Request for examination as to paragraph 44 patent law | ||
| 8131 | Rejection |