-
Gebiet
-
Die vorliegende Erfindung betrifft ein Verfahren, ein System und ein Programm.
-
Hintergrund
-
In modernen Herstellungsanlagen und im Besonderen in dem Gebiet der Industrieautomation werden automatisierte Prozesse häufig durch eine Automatisierung einer niedrigen Schicht und Prozesssteuerungs- und Überwachungssysteme gesteuert. Automatisierungssysteme einer niedrigen Schicht können dedizierte Robotervorrichtungen oder andere automatisierte Systeme enthalten, die durch speicherprogrammierbare Steuereinrichtungen (PLCs, Programmable Logic Controllers) gesteuert oder überwacht werden. Vielfältige Erfassungsvorrichtungen und Messausrüstungen können zum Überwachen solcher Prozesse verwendet werden, so wie Systeme zum maschinellen Sehen, Barcode-Leser, und vielfältige optische, elektrische, elektromechanische und Temperatursensoren.
-
Typischerweise entwickelt ein Benutzer eine Steuerlogik, so wie ein Leiterprogramm, und die PLC (Steuereinrichtung) führt diese Steuerlogik aus, um den von dem Benutzer erwünschten Herstellungsprozess zu erreichen. Die Steuerlogik wird in dem Speicher der Steuereinrichtung als eine Benutzeranwendungssoftware gespeichert und ist von der Steuereinrichtung lesbar. Die Steuereinrichtung ist versehen mit einer Ausführungsumgebung, in der der Prozessor der Steuereinrichtung die Steuerlogik verarbeiten kann und die Benutzeranwendung ausführen kann. Da diese Ausführungsumgebung (z. B. ganz wie ein Betriebssystem (OS) in einem Personalcomputer) Teil der Steuereinrichtung ist, ist der Steuereinrichtungshersteller verantwortlich für die Wartung der Ausführungsumgebung. Steuereinrichtungshersteller rüsten häufig die Ausführungsumgebung auf, falls es ein Problem oder einen Defekt in der Ausführungsumgebung gibt. Weil die Ausführungsumgebung in einem nicht-flüchtigen Speicher gespeichert ist, ersetzen Hersteller häufig die gesamte Steuereinrichtung, um die Aufrüstung (bzw. das Upgrade) auf die Ausführungsumgebung anzuwenden. Dieses Verfahren führt zu einem Anstieg der Support-Kosten für die Hersteller dieser Steuereinrichtungen. Darüber hinaus muss der Benutzer einen Herstellungsprozess stoppen, wenn er seine Ausführungsumgebung aufrüstet.
-
DE 101 61 321 A1 offenbart ein Verfahren zur Aktualisierung von elektronisch modifizierbaren Komponenten eines Automatisierungsgerätes zur Optimierung des Ablaufs eines Steuerprogramms auf dem Automatisierungsgerät. Es ist ein Aktualisierungsmanager vorgesehen, welcher anhand von Informationen über das Steuerprogramm sowie über Abhängigkeiten zwischen jeder elektronisch modifizierbaren Komponente und einer Hardware des Automatisierungsgerätes sowie zwischen den elektronisch modifizierbaren Komponenten untereinander diejenige Kombination von elektronisch modifizierbaren Komponenten ermittelt, die einen optimalen Ablauf des Steuerprogramms ermöglicht.
-
US 2007/0078956 A1 offenbart ein industrielles Automatisierungssystem mit einem Prozessor mit einer Aktualisierungskomponente, die über ein Netzwerk mit Automatisierungsgeräten gekoppelt ist. Die Aktualisierungskomponente liest Steuerinformationen aus maschinenlesbaren Darstellungen der Geräte und füllt eine Datenstruktur mit den Steuerinformationen. Die Aktualisierungskomponente aktualisiert auch die Konfigurationsinformation eines Geräts aus Daten, die in einem Dateiprojekt und/oder der Datenstruktur gespeichert sind, wobei ferner ermöglicht wird, dass diese Übertragung in eine Vielzahl von Nachrichten fragmentiert wird, wenn die Konfigurationsinformation einen Schwellenwert überschreitet.
-
US 6,711,738 B1 offenbart ein Verfahren zum Ersetzen von technologisch alternden Teilsystemen und Software in einem System, von dem die Teilsysteme Komponenten sind. Dabei wird eine Datenbank von einem Dienstanbieter für jeden Kunden verwaltet. In der Datenbank ist das derzeit am Kunden installierte Teilsystem angegeben. Vor dem Ersetzen eines Teils eines Teilsystems wird die Datenbank abgefragt, um festzustellen, ob abhängig von der Altersklasse des Teilsystems das gesamte Teilsystem ersetzt werden soll. Wenn ja, wird der Ersatz des gesamten Teilsystems durchgeführt und die Datenbank aktualisiert. Ebenso wird vor dem Upgrade der Software für ein Subsystem eines Kunden die Datenbank abgefragt, um festzustellen, ob ein Ersatz des Untersystems erforderlich ist, da die Altersklasse des Teilsystems erforderlich ist. Wenn ja, wird das Untersystem ersetzt und es wird dann Software, die für das ersetzte Subsystem geeignet ist, installiert.
-
Inhaltsangabe
-
Technisches Problem
-
Deshalb gibt es einen Bedarf für ein System und ein Verfahren, die effiziente Aufrüstungen für die Ausführungsumgebung einer Steuereinrichtung ermöglichen würden.
-
Lösung des Problems
-
Beispielhafte Ausführungsformen der vorliegenden Erfindung adressieren wenigstens die obigen Probleme und/oder Nachteile. Außerdem muss die vorliegende Erfindung forderungsgemäß die oben beschriebenen Vorteile nicht überwinden, und eine beispielhafte Ausführungsform der vorliegenden Erfindung kann irgendeinen der obigen Nachteile nicht überwinden.
-
Um das zuvor erwähnte Problem zu lösen, wird ein Verfahren zum Aktualisieren einer Aufrüstungsumgebung einer sprecherprogrammierbaren Steuereinrichtung gemäß einem Aspekt der vorliegenden Erfindung gemäß Anspruch 1 vorgeschlagen.
-
Gemäß einem zweiten Aspekt der vorliegenden Offenbarung ist ein System zum Durchführen einer Softwarewartung einer speicherprogrammierbaren Steuereinrichtung bereitgestellt, welches die Merkmale des Anspruchs 5 aufweist.
-
Die obigen und/oder andere Aspekte der vorliegenden Erfindung werden durch Beschreiben gewisser beispielhafter Ausführungsformen der vorliegenden Erfindung mit Verweis auf die begleitenden Zeichnungen ersichtlicher gemacht werden.
-
Kurze Beschreibung der Zeichnungen
-
1 ist ein Diagramm, das eine beispielhafte Systemausgestaltung beschreibt.
-
2 ist ein Diagramm, das eine beispielhafte Prozedur beschreibt, durch die Aufrüstungen auf eine Ausführungsumgebung (Betriebssystem) einer Steuereinrichtung (Sequenzer) angewendet werden können.
-
3A ist ein Diagramm, das eine beispielhafte Zusammensetzung einer Steuereinrichtung beschreibt.
-
3B ist ein Diagramm, das eine beispielhafte Softwarestruktur einer Steuereinrichtung beschreibt.
-
4A ist ein Diagramm, das ein Beispiel von OS-Ausführungsparametern beschreibt.
-
4B ist ein Diagramm, das ein Beispiel von OS-Ausführungsparametern beschreibt.
-
5 ist ein Diagramm, das die OS-Programme in weiterem Detail beschreibt.
-
6 ist ein Diagramm, das ein beispielhaftes Leiterprogramm beschreibt.
-
7A ist ein Diagramm, das eine Aufrüstungsinformation und eine Aufrüstungssoftware veranschaulicht.
-
7B ist ein Diagramm, das eine Aufrüstungsinformation und eine Aufrüstungssoftware veranschaulicht.
-
8A ist ein Diagramm, das die beispielhafte Prozedur von 2 in weiterem Detail beschreibt.
-
8B ist ein Diagramm, das die beispielhafte Prozedur von 2 in weiterem Detail beschreibt.
-
9 ist ein Diagramm, das eine interne Struktur des Programmierwerkzeugs beschreibt.
-
Beschreibung der Ausführungsformen
-
Gewisse beispielhafte Ausführungsformen der vorliegenden Erfindung werden nun unten in größerem Detail mit Verweis auf die begleitenden Zeichnungen beschrieben werden.
-
In der folgenden Beschreibung werden ähnliche Zeichnungsbezugszeichen für ähnliche Elemente verwendet, sogar in unterschiedlichen Zeichnungen. Die in der Beschreibung definierten Sachen, sowie eine detaillierte Konstruktion und Elemente, sind bereitgestellt, um beim umfassenden Verstehen der Erfindung zu unterstützen. Jedoch kann die vorliegende Erfindung ohne diese spezifisch definierten Sachen angewendet werden. Außerdem sind wohlbekannte Funktionen oder Ausgestaltungen nicht im Detail beschrieben, da sie die Erfindung mit unnötigen Details vernebeln würden.
-
Ausführungsform
-
1 beschreibt eine Systemausgestaltung gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung. Ein Programmierwerkzeug 1 installiert ein von einem Benutzer entwickeltes Programm auf einem Steuerungssequenzer 2. Der Sequenzer 2 ist eine Vorrichtung, die den Herstellungsprozess des Benutzers gesteuert. Der Sequenzer 2 kann eine speicherprogrammierbare Steuereinrichtung (PLC, Programmable Logic Controller) sein. Der Sequenzer 2 und das Programmierwerkzeug 1 können miteinander durch vielfältige Einrichtungen, so wie ein USB (Universal Serial Bus), verbunden sein. Das Programmierwerkzeug 1 kann einen Prozessor enthalten, der separate Logikeinheiten oder Verarbeitungseinheiten haben kann, die unterschiedliche Funktionen ausführen. Jede dieser unterschiedlichen Logikeinheiten könnte in Software realisiert sein, die auf dem Prozessor verkörpert ist. Server 3 ist mit dem Programmierwerkzeug 1 über Internet 4 verbunden und speichert eine Information und Dateien, die notwendig sind zum Warten und Aufrüsten der durch den Sequenzer 2 verwendeten Software. Hier werden im nachfolgenden die Wörter „Sequenzer” und „Steuereinrichtung” untereinander austauschbar verwendet und verweisen auf den Sequenzer 2. Der Server 3 kann ein Computer sein, der durch den Hersteller des Sequenzers 3 oder durch eine andere Wartungsfirma verwaltet wird, die den Sequenzer 2 unterstützt bzw. supported. Der Server 3 ist mit dem Internet 4 verbunden und akzeptiert vorbestimmte Anforderungen auf Grundlage einer vorgeschriebenen URL. Der Server 3 kann eine Festplattenlaufwerkseinheit als eine Speichereinheit haben und kann Aktualisierungssoftware 52 (später beschrieben) und eine Aktualisierungsinformation 53 (später beschrieben) speichern, die für die Wartung und die Erneuerung des Sequenzers 2 vorbereitet worden sind in der Speichereinheit.
-
Als nächstes beschreibt 2 eine Prozedur, durch die Aufrüstungen auf eine Ausführungsumgebung (z. B. Betriebssystem) der Steuereinrichtung 2 angewendet werden können.
-
Im Schritt S201 verbindet ein Kunde das Programmierwerkzeug mit der Zielsteuereinrichtung, die der Kunde warten möchte. Daten (d. h. eine Versionsinformation), die eine OS-(Operating System bzw. Betriebssystem)Version der Zielsteuereinrichtung angeben, und andere Daten werden durch das Programmierwerkzeug in Schritt S202 gelesen. Im Schritt S203 bezieht sich das Programmierwerkzeug auf die auf dem Server 3 gespeicherte OS-Dateninformation für die von der Steuereinrichtung gelesene OS-Version (Versionsinformation). Im Schritt S204 bestimmt das Programmierwerkzeug, ob eine Aufrüstung auf die Ausführungsumgebung (zum Beispiel Betriebssystem) der Steuereinrichtung angewendet werden soll. Das Programmierwerkzeug bestimmt auch die Inhalte der Aufrüstung auf Grundlage der die OS-Version angebenden Daten (d. h. Versionsinformation) und anderer Daten, die das Programmierwerkzeug von der Steuereinrichtung liest. Falls es bestimmt wird, dass eine Aufrüstung nicht angewendet werden sollte (in dem Fall von „Nein” in Schritt S204), beendet das Programmierwerkzeug die Prozedur. Falls es bestimmt wird, dass eine Aufrüstung angewendet werden sollte (in dem Fall von „Ja” in Schritt S204), veranlasst das Programmierwerkzeug die Prozedur, zu Schritt S205 zu schreiten. Im Schritt S205 wendet das Programmierwerkzeug die Aufrüstung auf die Ausführungsumgebung der Steuereinrichtung an. Die obige Prozedur ist eine Beschreibung auf hoher Ebene eines Beispiels der durch diese Erfindung vorgestellten Prozedur. Details der Prozedur werden als nächstes mittels Erläutern der Struktur der Steuereinrichtung im Detail erläutert werden.
-
3A ist ein Diagramm, das die Zusammensetzung des Sequenzers 2 beschreibt. In dem Sequenzer 2 sind externe Einheiten 21 und 22 mit dem Steuereinrichtungsmodul 23 durch Systembus 24 verbunden. Die externen Einheiten 21 und 22 sind Einheiten, die mit einer externen Vorrichtung oder externen Instrumenten verbunden sind, die nicht in der Fig. gezeigt sind, so wie Sensoren, Lampen, Aktuatoren und Servos, und speichern Daten bezüglich der externen Vorrichtung oder der externen Instrumente. Diese externe Vorrichtung oder externen Instrumente führen einen vorbestimmten Herstellungsprozess aus, beispielsweise durch Austauschen einer Information und von Signalen zwischen den externen Einheiten 21 und 22. Die externen Einheiten 21 und 22 können verwendet werden zum Eingeben und Ausgeben einer digitalen Information auf Grundlage von Bits und/oder analogen Signalen.
-
Das Steuereinrichtungsmodul 23 enthält einen Prozessor 231, eine Speichereinheit 232, ein Systembus-I/F (bzw. Systembus-Schnittstelle) 233 und eine Programmierwerkzeug-Verbindungseinheit 234. Das Steuereinrichtungsmodul kommuniziert mit dem Systembus 24 durch das Systembus-I/F 233. Der Prozessor 231 ist eine MPU (Micro-Processing Unit), die die durch den Benutzer entwickelten Programme und auch das Betriebssystem (OS) des Sequenzers 2 ausführt. Hier werden im nachfolgenden die durch den Benutzer entwickelten Programme Anwendungsprogramme genannt. Die Speichereinheit 232 umfasst einen nicht-flüchtigen Speicher 232a und einen flüchtigen Speicher 232b. Der nicht-flüchtige Speicher 232a speichert OS-Ausführungsparameter 31, OS-Programmdateien 32, eine OS-Versionsinformation 33, Benutzerprogramme 34, eine Steuereinrichtungsinformation 35 und dergleichen. Der flüchtige Speicher 232b akquiriert die externe Vorrichtung oder die externen Instrumente betreffende Daten von den externen Einheiten 21 und 22 über den Systembus 24 und speichert diese. Jedoch ist es möglich, dass sämtliche oder ein Teil der auf dem nicht-flüchtigen Speicher 232a gespeicherten Informationen auch auf dem flüchtigen Speicher 232b für einen schnelleren Zugriff gespeichert sind.
-
Die Inhalte der Speichereinheit 232 können durch unterschiedliche Einrichtungen, so wie Trägerwellen, HF-Signale, Ethernet-(eingetragene Marke)Signal, TCP/IP etc., aufgerüstet werden. Eine nicht-erschöpfende Liste des Speichermediums würde die folgenden enthalten: eine elektrische Verbindung mit einem oder mehr Drähten, eine tragbare Computerdiskette, so wie eine Floppy (eingetragene Marke), oder eine flexible Platte, Magnetband oder irgend ein anderes magnetisches Medium, eine Festplatte, ein Schreib-Lese-Speicher (RAM, random access memory), ein Nur-Lese-Speicher (ROM, read-only memory), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), eine Speicherkarte, irgendein anderer Speicherchip oder -kassette, Glasfaser, tragbare CD-ROM (compact disc read-only memory), irgendein anderes optisches Medium, Stempelkarten, Lochstreifen, ein anderes physikalisches Medium mit Lochmustern, oder irgend ein anderes Medium, von dem ein Computer/ Steuereinrichtung lesen kann, oder irgend eine geeignete Kombination der vorherigen.
-
Die Programmierwerkzeug-Verbindungseinheit 234 kann ein Netzwerkschnittstellenmodul 104 enthalten, durch das der Sequenzer 2 mit dem Programmierwerkzeug über das Netzwerkschnittstellenmodul kommunizieren kann. Das Netzwerkschnittstellenmodul 104 kann eine mit einem Datenbus gekoppelte Netzwerkschnittstellenkarte enthalten. Das Netzwerkschnittstellenmodul stellt eine Zweiweg-Datenkommunikationsverbindung zu einer Netzwerkverbindung bereit. Solch eine Zweiweg-Datenkommunikationsverbindung kann mit einem lokalen Netzwerk (LAN, Local Area Network) verbunden sein. Zum Beispiel kann das Netzwerkschnittstellenmodul 104 eine ISDN-Karte (Integrated Services Digital Network) oder ein Modem zum Bereitstellen einer Datenkommunikationsverbindung an einen entsprechenden Typ einer Telefonleitung sein. Als ein anderes Beispiel kann das Netzwerkschnittstellenmodul 104 eine Schnittstellenkarte für ein lokales Netzwerk (LAN NIC) zum Bereitstellen einer Datenkommunikationsverbindung mit einem kompatiblen LAN sein. Drahtlose Verbindungen, so wie das bekannte 802.11a, 802.11b, 802.11g und Bluetooth, können auch zur Netzwerkrealisierung verwendet werden. In irgendsolch einer Realisierung sendet und empfängt das Netzwerkschnittstellenmodul 104 elektrische, elektromagnetische oder optische Signale, die vielfältige Informationstypen darstellende digitale/analoge Datenströme tragen.
-
Die OS-Ausführungsparameter 31 enthalten Betriebsparameter der OS-Programme 32. Zum Beispiel kann eine Watchdog-Timer-(WDT)Einstellung als der OS-Ausführungsparameter 31 enthalten sein. Die OS-Programme 32 Verweisen auf Funktionen, die OS-Ausführungsparameter zum Ausführen gewisser Operationen nutzen. Zum Beispiel kann eine Fehlerbehandlungsroutinenfunktion (so wie eine Funktion, die definiert, was passiert, wenn es eine Division durch Null gibt, oder wenn eine Regel im Benutzercode nicht durch die Steuereinrichtung ausgeführt werden kann) als das OS-Programm 32 identifiziert sein. Die OS-Programme 32 können entworfen sein, so dass ihre Operation sich ändern kann auf Grundlage des Betriebsparameters für jede Funktion. Ein anderes Beispiel des OS-Programms 32 kann ein Programm sein, dass die Watchdog-Timer-(WDT)Einstellung überwacht und eine Ausführung eines aktuell laufenden Programms stoppt, falls die Watchdog-Timer-(WDT)Einstellung einen gewissen Wert (z. B. 200 ms) überschritten hat.
-
Die OS-Programme 32 stellen Programmcode dar, der das gesamte Funktionieren der Ausführungsumgebung der Steuereinrichtung koordiniert. Die OS-Programme 32 sind ähnlich zu dem Kernel-Code eines OS eines Personalcomputers. Genau wie der Kernel-Code eines OS laufen die OS-Programme 32 in einem privilegierten Modus, und Benutzerprogramme, so wie ein Leiterprogramm, können die OS-Programme nicht ändern oder die OS-Programme steuern, wohingegen die OS-Programme die Ausführung der Benutzerprogramme steuern. Ferner sind die OS-Programme 32 verantwortlich für eine optimale Ausführung der Steuereinrichtungshardware, Verwalten und Ausführen von Benutzersequenzprogrammen, Kommunizieren mit dem Programmierwerkzeug, Diagnostizieren von Steuereinrichtungshardware, Berichten des Ergebnisses einer Hardwarediagnose und dergleichen.
-
Die OS-Versionsinformation 33 ist eine zum Identifizieren der Version der gegenwärtigen OS-Programme 32 verwendete Information. Das Benutzerprogramm 34 ist eine Liste von Anweisungen zum Steuern der Steuereinrichtung. In dem Gebiet der Fabrikautomatisierung werden häufig Programme in der Form eines Leiterdiagramms verwendet. Die Steuereinrichtungsinformation 35 entspricht einer Information über den Hersteller der Steuereinrichtung, Modellname, Typ etc.
-
3B beschreibt eine interne Softwarestruktur der Steuereinrichtung. Eine detaillierte Beschreibung von 3B wird nach der Beschreibung von 6 bereitgestellt.
-
4A und 4B beschreiben einige Beispiele der OS-Ausführungsparameter 31 in weiteren Detail. Eine Watchdog-Timer-(WDT)Einstellung 401 ist ein Beispiel des OS-Ausführungsparameters 31. 4A zeigt eine Vielzahl von OS-Ausführungsparametern durch eine grafische Benutzerschnittstelle. Und zwar können die OS-Ausführungsparameter konfiguriert werden mit Verwendung der grafischen Benutzerschnittstelle. 4A zeigt außerdem eine Fehlerprüfung 402, die ein anderes Beispiel des OS-Ausführungsparameters 31 ist. Die OS-Ausführungsparameter können als eine Datenstruktur wie MPU-Register konfiguriert sein, wie in 4B gezeigt. Datenstruktur 403 verweist auf die WDT-Einstellung 401 und enthält eine Vielzahl von Bits, die auf die unterschiedlichen Teile der WDT-Einstellung 401 verweisen. Zum Beispiel spezifiziert Bit 0 der Datenstruktur 403, ob eine Anfangs-Ausführungsüberwachungszeit an- oder ausgeschaltet ist. Bit 1 spezifiziert, ob eine Niedriggeschwindigkeits-Ausführungsüberwachungszeit an- oder ausgeschaltet ist. Die übrigen Bits in der Datenstruktur 403 können den in dem WDT Einstellung-Feld in 4A eingegebenen Wert spezifizieren. Ähnlich spezifiziert die Datenstruktur 404 vielfache Bits mit Bezug zu der Einstellung für die Fehlerprüfung 402 in 4A. Zum Beispiel ist Bit 0 in der Datenstruktur 404 eine „1”, falls eine Batterieprüfung-Ausführen-Einstellung durch den Benutzer in 4A geprüft bzw. abgehakt wird.
-
5 beschreibt nun die OS-Programme 32 in weiterem Detail. Wie in 5 gezeigt, können die OS-Programme 32 weiter in Ausführungsmodule aufgeteilt sein. Zum Beispiel kann ein Ausführungsmodul 32a gewisse Fehlerbehandlungsroutinen realisieren, kann ein anderes Ausführungsmodul 32b den Watchdog-Timer (WDT) realisieren, und kann ein anderes Ausführungsmodul 32c Ausführungscode realisieren, der den in Leiterprogrammen verwendeten Operatoren entspricht. Zum Beispiel kann das Ausführungsmodul 32 Anweisungen, so wie LD, MOV etc., und ihre Definitionen enthalten.
-
6 beschreibt ein in den Benutzerprogrammen 34 gespeichertes beispielhaftes Leiterprogramm. Das Leiterprogramm ist ein Typ eines Benutzeranwendungsprogramms. Jeder Schritt des Leiterprogramms ist zusammengesetzt aus einem Operanden, auf den durch einen Operator agiert wird. Der Operator ist ein Identifizier, der einen Operationstyp beschreibt. Der Operand ist Daten oder eine Variable, auf denen/der der Operator arbeitet. Zum Beispiel ist ein Befehl LD SM400 zusammengesetzt aus der Kombination von SM400 genannten Operanden mit dem LD genannten Operator. Der Operator LD ist eine Anweisung, die den in SM400 gespeicherten Wert in einen Speicher laden kann. Die LD-Anweisung kann auch definiert sein, so dass in einem Speicher gespeicherte Daten in SM400 geladen werden. Diese LD-Anweisung ist nur ein Beispiel und unterschiedliche Ausführungsumgebungen würden LD unterschiedlich definieren.
-
3B veranschaulicht eine interne Softwarestruktur der Steuereinrichtung. Die interne Softwarestruktur der Steuereinrichtung kann in sieben Schichten (sieben Software-Schichten) aufgebrochen werden. Die OS-Programmdateien 32 umfassen fünf der sieben Schichten. 3B veranschaulicht beispielhaft sechs der sieben Schichten.
-
Die Benutzerschicht (bzw. User Layer) 301 enthält OS-Ausführungsparameter (bzw. OS Execution Parameters) und Benutzersequenz-(bzw. User Sequence)Programme und I/O-Daten. Die Benutzerschicht 301 ist nicht enthalten in den Steuerungseinrichtungs-OS-Programmdateien 32 (siehe 3A), aber die Benutzerschicht 301 hat eine enge Beziehung mit den Steuerungseinrichtungs-OS-Programmdateien 32. Die OS-Ausführungsparameter entsprechen den OS-Ausführungsparametern 31 (siehe 3A), und Benutzersequenzprogramme entsprechen den Benutzerprogrammen 34 (siehe 3A). I/O-Daten verweisen auf Eingabedaten und Ausgabedaten, die zur Ausführung von Benutzersequenzprogrammen verwendet werden. Die Steuereinrichtung bekommt Eingabedaten von den externen Einheiten 21 und 22 und führt die Benutzersequenzprogramme aus und gibt Daten an die externen Einheiten 21 und 22 aus.
-
Die Benutzerschnittstellenschicht (bzw. User I/F Layer) 302 ist Teil des Steuereinrichtungs-OS. Genau genommen ist die Benutzerschnittstellenschicht 302 Teil der OS-Programmdateien 32 (siehe 3A). Die Benutzerschnittstellenschicht 302 enthält Funktionen, so wie OS-Ausführungsparameter-Decodieren und Benutzersequenzprogramme-Decodieren. Die OS-Ausführungsparameter-Decodieren-Funktion ist eine Funktion zum Lesen und Decodieren des OS-Ausführungsparameters 31 (siehe 3A). Ähnlich ist die Benutzersequenzprogramme-Decodieren-Funktion eine Funktion zum Lesen und Decodieren von Benutzersequenzprogrammen.
-
Die Anwendungsschicht (bzw. Application Layer) 303 ist ein Teil der OS-Programmdateien 32 (siehe 3A) und ist verantwortlich für das Ausführen von einem Benutzersequenzprogramm. Genauer genommen enthält die Anwendungsschicht 303 eine Benutzersequenzprogramm-Anweisungsausführung und Kommunikationsfunktion. Die Benutzersequenzprogramm-Anweisungsausführung ist eine Funktion zum Ausführen von Anweisungen, die durch die Benutzersequenzprogramme-Decodieren-Funktion decodiert worden sind, in der Benutzerschnittstellenschicht 302. Die Kommunikationsfunktion ist eine Funktion zum Handhaben einer Kommunikation zwischen der Steuereinrichtung und dem Programmierwerkzeug.
-
Die Diagnoseschicht (bzw. Diagnosis Layer) 304 ist auch Teil der OS-Programmdateien 32 (siehe 3A) und ist verantwortlich für ein Prüfen und Diagnostizieren der Steuereinrichtung selbst. Die Diagnoseschicht 304 enthält eine Diagnoseergebnisverwaltung, eine Systembusdiagnose, eine Moduldiagnose und eine Batteriediagnose. Die Diagnoseergebnisverwaltung speichert die Diagnoseergebnisse von den unterschiedlichen Diagnosefunktionen, so wie die Systembus-Diagnosefunktionen, die Moduldiagnosefunktion und die Batteriediagnosefunktion. Die Systembusdiagnose ist eine Funktion, die verantwortlich ist für ein Prüfen des Status des Systembusses. Die Moduldiagnose ist eine Funktion, die verantwortlich ist für ein Prüfen des Status des Steuereinrichtungsmoduls selbst und externer Einheiten. Die Batteriediagnose ist eine Funktion, die verantwortlich ist für ein Prüfen des Batteriestatus.
-
Die Abstraktionsschicht (bzw. Abstraction Layer) 305 enthält Funktionen zum Dateizugriff (bzw. File Access), Vorrichtungsspeicherzugriff (bzw. Device Memory Access), Modulzugriff (bzw. Module Access), Kommunikationsdatenpuffer (bzw. Communication Data buffer) und Betriebsverwaltung (bzw. Operation Management). Die Abstraktionsschicht 305 ist auch Teil der OS-Programmdateien 32 (siehe 3A). Die Dateizugriff-Funktion steuert (zum Beispiel erlaubt oder sperrt) einen Zugriff auf die Dateien der OS-Ausführungsparameter 31 (siehe 3A) oder die Dateien des Benutzersequenzprogramms (Benutzerprogramme 34) bezüglich anderer Softwareschichten. Der Vorrichtungsspeicherzugriff (Device Memory Access) steuert (zum Beispiel erlaubt oder sperrt) einen Zugriff auf den Vorrichtungsspeicher (bzw. Device Memory) bezüglich anderer Schichten. Die Vorrichtungen (bzw. Devices) enthalten beispielsweise virtuelle Elemente zum Programmieren in der CPU der Steuereinrichtung, als auch die Komponenten (so wie Kontakte und Spulen), die ein Programm bilden. Virtuelle Elemente können Teil der Programmiersprache sein, die durch die CPU der Steuereinrichtung verwendet wird. Diese virtuellen Elemente können eines enthalten, dass Grundbausteine darstellt, die eine gewisse Funktionalität spezifizieren und die in einem Benutzerprogramm verwendet werden. Beispielsweise kann ein virtuelles Element (Vorrichtung) eines enthalten, das einen Schalter darstellt. Ein Benutzer kann einen Schalter in seinem Programm durch Aufnehmen eines dem Schalter entsprechenden virtuellen Elementes aufnehmen. Der Vorrichtungsspeicher (bzw. Device Memory) befindet sich in einem flüchtigen Speicher. Der Modulzugriff (bzw. Module Access) steuert (zum Beispiel erlaubt oder sperrt) die vielfältigen Softwareschichten, abstrakt auf einige. der externen Einheiten (bzw. External Units) zu zugreifen. Der Kommunikationsdatenpuffer steuert (zum Beispiel erlaubt oder sperrt) die Softwareschichten, mit den verbundenen Vorrichtungen zu kommunizieren, ohne eine Verwendung von Kommunikationsprotokollen zu erfordern. Die Betriebsverwaltung enthält LED, Schalter (bzw. Switch) und Batterie (bzw. Battery). Die Betriebsverwaltungen steuert (zum Beispiel erlaubt oder sperrt) die Softwareschichten, abstrakt auf LED, Schalter (bzw. Switches) und Batterien (Batteries) zuzugreifen.
-
Die letzte Schicht ist eine H/W I/F(Hardwareinterface bzw. Hardwareschnittstelle)Schlicht 306. Die H/W-I/F-Schicht 306 ist auch Teil der Programmdateien 32 (siehe 3A) und enthält Treiberprogramme, die einen Prozess zur Bildung einer Schnittstelle mit Hardwareressourcen durchführen. Die H/W-I/F-Schicht 306 enthält den Sequenzanweisungsausführungs-Maschinentreiber (bzw. Sequence Instruction Execution Engine driver), der die Steuerung unterschiedlicher Module auf Grundlage der Ausführung von Sequenzanweisungen handhabt. Die H/W-I/F-Schicht 306 enthält auch einen Flash-ROM-Treiber, der ein Treiber für nicht-flüchtigen Speicher ist, den Systembus-Kommunikationstreiber, der ein Treiber für den Systembus ist, und einen Kommunikationstreiber, der den Kommunikationsport (Communication Port) handhabt.
-
Als nächstes wird eine detaillierte Beschreibung der Aktualisierungsinformation 53 bezüglich 7A und 7B bereitgestellt werden. Die Aktualisierungsinformation 53 und die für die Aktualisierungsinformationen 53 beschriebene bestimmte Struktur sind wichtige Merkmale dieser Erfindung, die die erfindungsgemäße einmalige Flexibilität beim Aufrüsten der Software der Steuereinrichtung bereitstellen. Die Aktualisierungsinformation 53 ist in dem Server 3 (siehe 1) gespeichert und wird von dem Server 3 an das Programmierwerkzeug 1 über Internet 4 transferiert. Es sollte beachtet werden, dass irgendein Netzwerktyp verwendet werden kann zum Transferieren der Aufrüstungsinformation von dem Server 3 an das Programmierwerkzeug 1. Die Aktualisierungssoftware 52 wird in dem Sequenzer 2 durch das Programmierwerkzeug 1 auf Grundlage der Inhalte der Aktualisierungsinformation 53 installiert werden. Die Aktualisierungssoftware 52 ersetzt die OS-Programme 32 (siehe 3A) vollständig mit einem neuen oder ersetzt Teile des OS-Programms 32 mit einem neuen, auf Grundlage der Aktualisierungsinformation 53.
-
Die Aktualisierungsinformation 53 ist in 7A und in 7B in einer Baumstruktur gezeigt, wo der höchste Eintrag „Steuereinrichtungstyp” ist, wie in dieser Figur gezeigt. Steuereinrichtungstyp 700 ist eine Information, die das Modell der Steuereinrichtung identifiziert, auf die die Aktualisierungssoftware 52 abzielt. Die für jedes Modell unterschiedliche Aktualisierungssoftware 52 kann vorbereitet sein, wenn es zwei oder mehr Modelle der Steuereinrichtung gibt, und zwei oder mehr Aktualisierungsinformationen 53 können auch entsprechend jeder Aktualisierungssoftware 52 vorbereitet sein.
-
Sobald der Steuereinrichtungstyp 700 einmal spezifiziert ist, ist eine OS-Version 701 für die Aktualisierungssoftware 52 spezifiziert. Die Aktualisierungsinformation 53 enthält auch eine Notwendigkeit einer Hardwareänderung 702. Die Notwendigkeit einer Hardwareänderung 702 gibt an, ob die Steuereinrichtung ein defektes Hardwaredesign enthält, oder falls eine Hardwareänderung erforderlich ist. Falls die Notwendigkeit einer Hardwareänderung 702 1 (wahr) ist, kann eine Nachricht dem Benutzer der Steuereinrichtung angezeigt werden, dass die Hardware geändert werden muss. Die Nachricht kann durch das Programmierwerkzeug 1 angezeigt werden.
-
Als nächstes enthält Aufrüstungsfaktor (bzw. Upgrade Factor) 703 eine Größere-Aufrüstung-Information, eine Kleinere-Aufrüstung-Information und eine Defekt-Information. Der Aufrüstungsfaktor 703 enthält auch eine Information, die die Ernsthaftigkeit, d. h. Dringlichkeit, der Wartung identifiziert. Größere Aufrüstung ist „1 (wahr)”, wenn die Aktualisierungssoftware 52 neue Funktionen enthält, die nicht bereits in der Steuereinrichtung existieren. Zum Beispiel kann eine neue Funktion in dem OS (Ausführungsumgebung) der Steuereinrichtung zum Kommunizieren über das Internet enthalten sein. Die Kleinere-Aufrüstung-Information gibt an, dass gewisse Funktionen, die bereits Teil eines Steuereinrichtung-OS sind, verbessert werden müssen, und die Aktualisierungssoftware 52 die Verbesserung enthält. Zum Beispiel kann die Aktualisierungssoftware 52 eine erweiterte WDT-Funktion realisieren. Es sollte beachtet werden, dass, falls das Kleinere-Aufrüstung-Feld „1 (wahr)” ist, dann die Ernsthaftigkeit der Aufrüstung niedrig ist. Falls die Ernsthaftigkeit „niedrig” ist, kann einem Benutzer eine Option bereitgestellt werden, und der Benutzer kann zu seinem Ermessen die Aktualisierungssoftware 52 installieren durch Verwendung dieser Option.
-
Das Defekt-Feld (Defekt-Information) in dem Aufrüstungsfaktor 703 gibt an, ob es einen Defekt in der Ausführungsumgebung der Steuereinrichtung gibt. Genauer genommen kann das Defekt-Feld „1 (wahr)” sein, wenn es einen Defekt in den OS-Programmen 32 gibt. Zum Beispiel kann das Defekt-Feld „1 (wahr)” sein, wenn die WDT-Funktion nicht arbeitet oder die WDT-Funktion den Parameter von der WDT-Datenstruktur 403 falsch holt. Falls das Defekt-Feld „1 (wahr)” ist, ist die Ernsthaftigkeit der Aufrüstung hoch. Falls die Ernsthaftigkeit „hoch” ist, kann die Aktualisierungssoftware 52 unmittelbar zwangsweise auf die Steuereinrichtung (Sequenzer 2) angewendet werden, weil die Aktualisierungssoftware 52 zur Korrektur eines wesentlichen Problems vorbereitet ist. Jedoch kann es sein, dass der Benutzer der Steuereinrichtung (Sequenzer 2) die Funktion nicht verwendet, die den Defekt enthält. In diesem Fall kann einem Benutzer eine Option bereitgestellt werden, und der Benutzer kann wählen, das Anwenden der Aufrüstung auf das Steuereinrichtung-OS zu überspringen.
-
Ferner kann der OS-Aufrüstungsteil 704 die OS-Schicht spezifizieren, auf die sich die Aufrüstung auswirkt. Zum Beispiel kann die Aktualisierungssoftware 52 sich nur auf die Diagnoseschicht auswirken oder kann sich auf die Diagnose- und die Abstraktionsschichten der OS-Programme 32 auswirken.
-
Aufrüstungsinformation 705 ist eine Information, die Teile der OS-Programme 32 identifiziert, die durch die Aktualisierungssoftware 52 betroffen sind. Dieser Eintrag hat untergeordnete Einträge. Beispielsweise kann ein erster untergeordneter Eintrag eine Aufrüstungsfunktionsliste 705-1 sein. Die Aufrüstungsfunktionsliste 705-1 spezifiziert in den OS-Programmen 32 enthaltene Funktionen. Falls z. B. die WDT-Funktion betroffen ist, dann wird die Aufrüstungsfunktionsliste 705-1 ein „1 (wahr)” in dem Aktualisierungseintrag neben Funktion 1 spezifizieren. Falls die Aktualisierungssoftware 52 sich auf andere OS-Funktionen auswirkt, so wie Anfangsausführungsüberwachung, Ausführungsüberwachung niedriger Geschwindigkeit etc., kann ähnlich ein Aktualisierungseintrag für jede dieser Funktionen spezifiziert sein. Die Aufrüstungsinformation 705 kann auch eine Aufrüstungsfunktionsliste 705-2 als einen anderen untergeordneten Eintrag enthalten. Die Aufrüstungsfunktionsliste 705-2 spezifiziert, ob eine Aufrüstung auf die unterschiedlichen Anweisungen, so wie LD, MOV etc., angewendet wird.
-
7B veranschaulicht grafisch die Aktualisierungssoftware 52. Die Aktualisierungssoftware 52 enthält Binärdaten, die dann als eine Aufrüstung auf die Ausführungsumgebung (OS) der Steuereinrichtung angewendet werden. Gemäß einer beispielhaften Realisierung, falls irgend eine der in 3B beschriebenen Softwareschichten aufgerüstet werden soll, wird die Aktualisierungssoftware 52 Binärdaten für die bestimmte Funktion in dieser Schicht enthalten. Falls eine der Schichten nicht aufgerüstet werden muss, werden deshalb die OS-Daten 706 nicht die Binärdaten zum Aufrüsten dieser Schicht enthalten. Ferner kann die Aktualisierungssoftware 52 eine Prüfsumme 707 für die OS-Daten 706 enthalten.
-
Als nächstes wird die in 2 gezeigte Prozedur in größeren Detail bezüglich 8A und 8B erläutert. Im Schritt S801 verbindet der Benutzer das Programmierwerkzeug mit der Zielsteuereinrichtung, um eine Wartung auf der Zielsteuereinrichtung durchzuführen. Im Schritt S802-1 liest das Programmierwerkzeug eine Steuereinrichtungstyp-Information von der Zielsteuereinrichtung. Im Schritt S802-2 liest das Programmierwerkzeug eine OS-Versionsinformation von der Zielsteuereinrichtung. Im Schritt S803-1 verbindet das Programmierwerkzeug die Zielsteuereinrichtung mit dem Internet. Im Schritt S803-2 greift das Programmierwerkzeug auf den Server 3 zu, um eine Aufrüstungsinformation von dem Server zu lesen. Der Server kann eine Aufrüstungsinformation für mehr als eine Steuereinrichtung speichern. Deshalb bestimmt im Schritt S804 das Programmierwerkzeug, ob es eine der Zielsteuereinrichtung entsprechende Information gibt. Wenn es keine gibt, beendet das Programmierwerkzeug die Prozedur, oder der Benutzer kann entscheiden, eine Wartung auf einer nächsten Steuereinrichtung durchzuführen. 8A zeigt beispielhaft einen Fall, wo das Programmierwerkzeug die Prozedur beendet. Es sollte beachtet werden, dass jeder der oben angegebenen Schritte durch Logikeinheiten in dem Programmierwerkzeug 1 durchgeführt werden kann. Und zwar kann das Programmierwerkzeug eine erste Logikeinheit haben, die Daten von dem Server liest, und eine zweite Logikeinheit, die den OS-Versionstyp liest.
-
Im Schritt S804, falls es bestimmt wird, dass eine der Zielsteuereinrichtung entsprechende Aufrüstungsinformation existiert in der von dem Server gelesenen Aktualisierungsinformation, veranlasst das Programmierwerkzeug die Prozedur, zu Schritt S806-1 zu schreiten. Im Schritt S806-1 wird die OS-Aktualisierungsinformation (zum Beispiel Aktualisierungsinformation 53, wie in 7A gezeigt) für die entsprechende Zielsteuereinrichtung gelesen. In manchen Fällen muss das Programmierwerkzeug durch die Aufrüstungsinformation parsen, um die der Zielsteuereinrichtung entsprechende Aktualisierungsinformation 53 zu finden.
-
Sobald die Aktualisierungsinformation im Schritt S806-1 bestimmt wird, d. h. die der Zielsteuereinrichtung entsprechende Aktualisierungsinformation 53 gefunden wird, prüft im Schritt S806-2 das Programmierwerkzeug die Notwendigkeit einer Hardwareänderung 702 in der Aktualisierungsinformation 53. Im Schritt S807 prüft das Programmierwerkzeug, ob die Notwendigkeit einer Hardwareänderung 702 „1 (wahr)” in der Aktualisierungsinformation 53 ist. Falls sie „1 (wahr)” ist (in dem Fall von „Ja” im Schritt S807), veranlasst das Programmierwerkzeug die Prozedur, zu Schritt S808 zu schreiten. Im Schritt S808 benachrichtigt das Programmierwerkzeug den Administrator, dass eine Hardwareänderung für die PLC gemacht werden muss. Zum Beispiel meldet das Programmierwerkzeug, dass die Steuereinrichtung geändert werden muss. Falls sie „0 (falsch)” ist im Schritt S807 (in dem Fall von „Nein” im Schritt S807), veranlasst das Programmierwerkzeug die Prozedur, zu Schritt S809-1 zu schreiten. Im Schritt S809-1 prüft das Programmierwerkzeug den Aktualisierungsfaktor 703 in der Aktualisierungsinformation 53. Im Schritt S809-2 bestimmt das Programmierwerkzeug, ob es irgendwelche durch diese Aktualisierung zu korrigierenden Defekte gibt. Dies wird bestimmt mittels Prüfens, ob „Defekte”-Information „1 (wahr)” ist unter dem Aktualisierungsfaktor 703 in der Aktualisierungsinformation 53. Falls die Defekte-Information „1 (wahr)” ist (in dem Fall von „Ja” in Schritt S809-2), ist die Ernsthaftigkeit der „Aufrüstung” hoch, deshalb veranlasst das Programmierwerkzeug die Prozedur, zum Schritt S810-1 zu schreiten. Falls die Defekt-Information „0 (falsch)” ist (in dem Fall von „Nein” in Schritt S809-2), beendet das Programmierwerkzeug die Prozedur.
-
Im Schritt S810-1 prüft das Programmierwerkzeug den OS-Aufrüstungsteil 704 in der Aktualisierungsinformation 53. Im Schritt S810-2 prüft das Programmierwerkzeug, ob die Aufrüstung/Aktualisierung sich auf die Grundteile des OS-Programms 32 der Steuereinrichtung auswirkt. Falls irgendeine der Diagnoseschicht, Abstraktionsschicht, H/W-I/F-Schicht „1 (wahr)” ist unter dem OS-Aufrüstungsteil 704, bestimmt nämlich das Programmierwerkzeug, dass die Aufrüstung sich auf die Grundteile der Steuereinrichtungs-OS-Programmdateien auswirkt. Falls das Programmierwerkzeug bestimmt, dass die Aufrüstung sich auf die Grundteile des OS-Programms 32 der Steuereinrichtung auswirkt (in dem Fall von „Ja” in Schritt S810-2), veranlasst das Programmierwerkzeug die Prozedur, direkt zu Schritt S814-1 zu schreiten. Im Schritt S814-1 greift das Programmierwerkzeug auf die Support-Site über das Internet zu und liest OS-Daten von der Support-Site. Im Schritt S814-2 ersetzt das Programmierwerkzeug die entsprechenden Teilstücke der unterschiedlichen Schichten in den Grundteilen des OS-Programms 32 der Steuereinrichtung durch Verwendung der Aktualisierungssoftware 52. Falls zum Beispiel die Abstraktionsschicht 305 einen Defekt hat, ersetzt das Programmierwerkzeug die Abstraktionsschicht 305 in dem OS-Programm 32 durch Verwendung der Aktualisierungssoftware 52.
-
Falls andererseits das Programmierwerkzeug bestimmt, dass die Aufrüstung sich nicht auf die Grundteile der Steuereinrichtungs-OS-Programmdateien 32 auswirkt (in dem Fall von „Nein” in Schritt S810), veranlasst das Programmierwerkzeug die Prozedur, zu Schritt S811-1 zu schreiten. Im Schritt S811-1 liest das Programmierwerkzeug den OS-Ausführungsparameter 31 und das OS-Programm 32 von der Zielsteuereinrichtung. Im Schritt S812-1 und Schritt S812-2 bestimmt das Programmierwerkzeug Teile des OS-Ausführungsparameters und OS-Programms, die durch das Aktualisierungssoftware 52 betroffen sind, durch Referenzieren der Aktualisierungsinformation 53. Zum Beispiel identifiziert das Programmierwerkzeug im Schritt S812-1 durch Lesen des OS-Ausführungsparameters 31, welche OS-Funktion der Benutzer verwendet. Falls zum Beispiel eines der Bits in der Datenstruktur 403 (siehe 4B) gesetzt ist, kann das angeben kann, dass eine WDT-Funktion die WDT-Einstellung verwendet. Weiterhin kann es Funktionen geben, die nicht durch den Benutzer verwendet werden, aber auf die sich die Aktualisierungssoftware 52 auswirkt. Im Schritt S812-2 prüft das Programmierwerkzeug deshalb die Aufrüstungsfunktionsliste 705-1 in der Aktualisierungsinformation 53. Die Aufrüstungsfunktionsliste 705-1 stellt die Liste der Funktionen bereit, auf die sich die Aktualisierungssoftware 52 auswirkt.
-
Das Programmierwerkzeug kann dem Benutzer eine Option bereitstellen hinsichtlich des Aktualisierens dieser Funktionen auf Grundlage der von dem Benutzer verwendeten Anweisungen.
-
Weiterhin ist es möglich, dass, falls es keine Überlappung zwischen der Aufrüstungsfunktionsliste und den von dem Benutzer verwendeten Funktionen gibt, dann eine Aktualisierung nicht auf die OS-Programme 32 angewendet wird. Dies kann auftreten, wenn wenige Funktionen, die in der Aufrüstungsfunktionsliste spezifiziert sind, Defekte haben, aber diese wenigen Funktionen nicht von dem Benutzer verwendet werden. Deshalb kann es nicht erforderlich sein, eine Aktualisierung auf diese Funktionen in den OS-Programmen 32 anzuwenden. Im Schritt S810-3 führt somit das Programmierwerkzeug das nächste Prüfen zum Prüfen einer sekundären Notwendigkeit einer Aktualisierung durch. Das Programmierwerkzeug prüft, ob es eine Überlappung zwischen der Aufrüstungsfunktionsliste und den von dem Benutzer verwendeten Funktionen gibt, d. h. ob Defekten entsprechende OS-Daten auf die von dem Benutzer verwendeten Funktionen abzielen. Falls die Defekten entsprechenden OS-Daten auf die von dem Benutzer verwendeten Funktionen abzielen (in dem Fall von „Ja” in Schritt S810-3), veranlasst das Programmierwerkzeug die Prozedur, zu Schritt S814-1 zu schreiten. Falls die Defekten entsprechenden OS-Daten nicht auf die von dem Benutzer verwendeten Funktionen abzielen (in dem Fall von „Nein” in Schritt S810-3), veranlasst das Programmierwerkzeug die Prozedur, zu Schritt S811-2 zu schreiten.
-
Wenn dem Benutzer eine Option im Schritt S812-2 bereitgestellt wird, entspricht der Fall, in dem der Benutzer eine Option auswählt, für die die Aktualisierung durchgeführt werden sollte, dem Fall von „Ja” im Schritt S810-3, und der Fall, in dem der Benutzer eine Option auswählt, für die die Aktualisierung nicht durchgeführt werden sollte, entspricht dem Fall von „Nein” im Schritt S810-3.
-
Ferner kann das Programmierwerkzeug auch die Anweisungen/Operatoren extrahieren, die von dem Benutzer verwendet sind, in dem Leiterprogramm oder Anwendungsprogrammen. Das Programmierwerkzeug kann dann die extrahierten Anweisungen mit den Anweisungen in der Aufrüstungsanweisungsliste 705-2 vergleichen und eine Aktualisierung demgemäß auf das Leiterprogramm anwenden. Somit liest das Programmierwerkzeug den OS-Ausführungsparameter 31 und das OS-Programm 32 von der Zielsteuereinrichtung im Schritt S811-2. Im Schritt S812-3 und Schritt S812-4 bestimmt das Programmierwerkzeug Teile des OS-Ausführungsparameters und OS-Programms, auf die sich die Aktualisierungssoftware 52 auswirkt, durch Referenzieren der Aktualisierungsinformation 53. Zum Beispiel identifiziert im Schritt S812-3 durch Lesen des OS-Ausführungsparameters 31 das Programmierwerkzeug, welche Anweisung der Benutzer verwendet. Weiterhin kann es Anweisungen geben, die nicht von dem Benutzer verwendet werden, aber auf die sich die Aktualisierungssoftware 52 auswirkt. Im Schritt S812-4 prüft deshalb das Programmierwerkzeug die Aufrüstungsanweisungsliste 705-2 in der Aktualisierungsinformation 53. Die Aufrüstungsanweisungsliste 705-2 stellt die Liste der Anweisungen bereit, auf die sich die Aktualisierungssoftware 52 auswirkt.
-
Das Programmierwerkzeug kann dem Benutzer eine Option bereitstellen hinsichtlich des Aktualisierens dieser Anweisungen auf Grundlage der von dem Benutzer verwendeten Anweisungen.
-
Weiterhin ist es möglich, dass, falls es keine Überlappung zwischen der Aufrüstungsanweisungsliste und den von dem Benutzer verwendeten Funktionen gibt, dann eine Aktualisierung nicht auf die OS-Programme 32 angewendet wird. Dies kann auftreten, wenn wenige Anweisungen, die in der Aufrüstungsanweisungsliste spezifiziert sind, Defekte haben, aber diese wenigen Anweisungen nicht von dem Benutzer verwendet werden. Deshalb kann es nicht erforderlich sein, eine Aktualisierung auf diese Anweisungen in den OS-Programmen 32 anzuwenden. Im Schritt S810-4 führt somit das Programmierwerkzeug das nächste Prüfen zum Prüfen einer tertiären Notwendigkeit einer Aktualisierung durch. Das Programmierwerkzeug prüft, ob es eine Überlappung zwischen der Aufrüstungsanweisungsliste und den von dem Benutzer verwendeten Anweisungen gibt, d. h. ob Defekten entsprechende OS-Daten auf die von dem Benutzer verwendeten Anweisungen abzielen. Falls die Defekten entsprechenden OS-Daten auf die von dem Benutzer verwendeten Funktionen abzielen (in dem Fall von „Ja” in Schritt S810-4), veranlasst das Programmierwerkzeug die Prozedur, zu Schritt S814-1 zu schreiten. Falls die Defekten entsprechenden OS-Daten nicht auf die von dem Benutzer verwendeten Funktionen abzielen (in dem Fall von „Nein” in Schritt S810-4), beendet das Programmierwerkzeug die Prozedur.
-
Wenn dem Benutzer eine Option im Schritt S812-4 bereitgestellt wird, entspricht der Fall, in dem der Benutzer eine Option auswählt, für die die Aktualisierung durchgeführt werden sollte, dem Fall von „Ja” im Schritt S810-4, und der Fall, in dem der Benutzer eine Option auswählt, für die die Aktualisierung nicht durchgeführt werden sollte, entspricht dem Fall von „Nein” im Schritt S810-4.
-
Durch die oben beschriebene Prozedur kann einem Benutzer mehr Steuerung über die Aktualisierungsprozedur des Steuereinrichtungs-Betriebssystems bereitgestellt werden. Falls der Benutzer nicht gewisse Funktionen oder Programme verwendet, auf die sich die Aufrüstung auswirkt, ist es möglich, die Steuerung zu realisieren, in der die Aufrüstung nicht auf die Steuereinrichtung angewendet wird.
-
Als nächstes wird die interne Struktur des Programmierwerkzeug in weiteren Detail mit Verweis auf 9 beschrieben. Das Programmierwerkzeug 1 enthält eine Steuereinrichtungstyp-Bestimmungseinheit 901 zum Lesen eines Steuereinrichtungstyps der Steuereinrichtung und einer Versionsinformation des Betriebssystems der Steuereinrichtung, eine Aktualisierungsinformations-Bestimmungseinheit 902 zum Lesen einer Aktualisierungsinformation, die dem Steuereinrichtungstyp und der Version entspricht, eine Aktualisierungsbereich-Bestimmungseinheit 903 zum Bestimmen eines zu aktualisierenden Teils des Betriebssystems auf Grundlage der Aktualisierungsinformation und eine Aktualisierungseinheit 904 zum Aktualisieren des bestimmten Teils des Betriebssystems.
-
Die Aktualisierungsinformation enthält eine Information, die einen zu aktualisierenden Teil des Betriebssystems spezifiziert. Wie früher beschrieben, enthält die Aktualisierungsinformation eine Information, die eine Aufrüstungsfunktionsliste spezifiziert. Die Aufrüstungsfunktionsliste enthält Informationen über Funktionen, die in dem Betriebssystem enthalten sind, die aktualisiert werden sollen. Die Aktualisierungsbereich-Bestimmungseinheit 903 kann bestimmen, ob in dem Betriebssystem enthaltene Funktionen von einem Benutzer der Steuereinrichtung verwendet werden, durch Lesen eines Betriebssystem-Ausführungsparameters. Die Aktualisierungseinheit 904 kann eine Aktualisierung nur auf diese Funktionen anwenden, die von dem Benutzer verwendet werden unter den Funktionen des Betriebssystems.
-
Darüber hinaus kann das Programmierwerkzeug dem Benutzer eine Option zum Auswählen hinsichtlich des Aktualisierens einer Funktion aus der Aufrüstungsfunktionsliste bereitstellen. Die Aktualisierungseinheit 904 aktualisiert nur diese Funktionen, die durch den Benutzer durch Verwendung der Option ausgewählt worden sind.
-
Die Aktualisierungsbereich-Bestimmungseinheit 903 kann auch bestimmen, ob ein Benutzeranwendungsprogramm eine Anweisung verwendet von der Vielzahl von Anweisungen, die in der Aktualisierungsinformation 53 spezifiziert worden sind, und die Aktualisierungseinheit 904 kann das Benutzeranwendungsprogramm aktualisierens, falls es bestimmt wird, dass das Benutzeranwendungsprogramm wenigstens eine der Vielzahl von Anweisungen verwendet.
-
Es wird verstanden werden, dass jeder Block der Flussdiagramm-Veranschaulichungen und/oder Blockdiagramme, und Kombinationen von Blöcken in den Flussdiagramm-Veranschaulichungen und/oder Blockdiagrammen durch Computerprogrammanweisungen realisiert werden können. Diese Computerprogrammanweisungen können einem Prozessor eines Mehrzweckcomputers, Spezialzweckcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung zum Produzieren einer Maschine bereitgestellt werden, so dass die Anweisungen, die über den Prozessor des Computers oder eine andere programmierbare Datenverarbeitungsvorrichtung laufen, Einrichtungen zum Implementieren der Funktionen/Handlungen erschaffen, die in dem Flussdiagramm und/oder Blockdiagrammblock oder -blöcken spezifiziert worden sind. Weiterhin kann jeder der Blöcke in 9 durch einen Prozessor, so wie ein FPGA, ASIC etc., realisiert sein.
-
Diese Computerprogrammanweisungen können auch gespeichert sein in einem computerlesbaren Medium oder genauer genommen in einem computerlesbaren Speichermedium, das einen Computer oder eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Vorrichtungen anweisen kann, auf eine bestimmte Weise zu agieren, so dass die in dem computerlesbaren Medium gespeicherten Anweisungen einen Herstellungsartikel mit Anweisungen produzieren, die die Funktion/Handlung realisieren, die in dem Flussdiagramm und oder Blockdiagrammblock oder -blöcken spezifiziert worden ist.
-
Bezugszeichenliste
-
- 1
- Programmierwerkzeug
- 2
- Sequenzer
- 3
- Server
- 4
- Internet
- 52
- Aktualisierungssoftware
- 53
- Aktualisierungsinformation