DE112011103308B4 - Verfahren, System und Programm - Google Patents

Verfahren, System und Programm Download PDF

Info

Publication number
DE112011103308B4
DE112011103308B4 DE112011103308.7T DE112011103308T DE112011103308B4 DE 112011103308 B4 DE112011103308 B4 DE 112011103308B4 DE 112011103308 T DE112011103308 T DE 112011103308T DE 112011103308 B4 DE112011103308 B4 DE 112011103308B4
Authority
DE
Germany
Prior art keywords
update
user
information
controller
determining
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.)
Active
Application number
DE112011103308.7T
Other languages
English (en)
Other versions
DE112011103308T5 (de
Inventor
Noriyasu Fukatsu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE112011103308T5 publication Critical patent/DE112011103308T5/de
Application granted granted Critical
Publication of DE112011103308B4 publication Critical patent/DE112011103308B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)

Abstract

Verfahren zum Aktualisieren einer Ausführungsumgebung einer speicherprogrammierbaren Steuereinrichtung (2), wobei das Verfahren umfasst: einen Schritt zum Lesen eines Steuereinrichtungstyps (700) der Steuereinrichtung (2) und einer Versionsinformation (33, 701) eines Betriebssystems der Steuereinrichtung (2); einen Schritt zum Lesen einer Aktualisierungsinformation (53), die dem Steuereinrichtungstyp (700) und der Versionsinformation (33, 701) entspricht; einen Schritt zum Bestimmen eines zu aktualisierenden Teils der Ausführungsumgebung auf Grundlage der Aktualisierungsinformation (53); und einen Schritt zum Aktualisieren des bestimmten Teils der Ausführungsumgebung, wobei die Aktualisierungsinformation (53) Information über die Notwendigkeit einer Hardwareänderung (702), Information darüber, ob ein Defekt zu korrigieren ist, eine Aufrüstungsfunktionsliste (705-1) und eine Aufrüstungsanweisungsliste (705-2) umfasst, wobei das Verfahren ferner umfasst: einen Schritt zum Benachrichtigen eines Benutzers darüber, dass, basierend auf der Aktualisierungsinformation (53), eine Notwendigkeit zur Änderung der Steuereinrichtung (2) besteht, wenn bestimmt wird, dass die Hardware geändert werden muss, und wobei der Schritt des Bestimmens umfasst: einen Schritt zum Bestimmen, dass es eine primäre Notwendigkeit für eine Aktualisierung gibt, wenn basierend auf der Aktualisierungsinformation (53) bestimmt wird, dass ein Defekt zu korrigieren ist, einen Schritt zum Bestimmen, dass es eine sekundäre Notwendigkeit für eine Aktualisierung gibt, wenn basierend auf der Aktualisierungsinformation (53) bestimmt wird, dass es eine Überlappung zwischen der Aufrüstungsfunktionsliste (705-1) und von dem Benutzer verwendeten Funktionen gibt, einen Schritt zum Bestimmen, dass es eine tertiäre ...

Description

  • 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

Claims (12)

  1. Verfahren zum Aktualisieren einer Ausführungsumgebung einer speicherprogrammierbaren Steuereinrichtung (2), wobei das Verfahren umfasst: einen Schritt zum Lesen eines Steuereinrichtungstyps (700) der Steuereinrichtung (2) und einer Versionsinformation (33, 701) eines Betriebssystems der Steuereinrichtung (2); einen Schritt zum Lesen einer Aktualisierungsinformation (53), die dem Steuereinrichtungstyp (700) und der Versionsinformation (33, 701) entspricht; einen Schritt zum Bestimmen eines zu aktualisierenden Teils der Ausführungsumgebung auf Grundlage der Aktualisierungsinformation (53); und einen Schritt zum Aktualisieren des bestimmten Teils der Ausführungsumgebung, wobei die Aktualisierungsinformation (53) Information über die Notwendigkeit einer Hardwareänderung (702), Information darüber, ob ein Defekt zu korrigieren ist, eine Aufrüstungsfunktionsliste (705-1) und eine Aufrüstungsanweisungsliste (705-2) umfasst, wobei das Verfahren ferner umfasst: einen Schritt zum Benachrichtigen eines Benutzers darüber, dass, basierend auf der Aktualisierungsinformation (53), eine Notwendigkeit zur Änderung der Steuereinrichtung (2) besteht, wenn bestimmt wird, dass die Hardware geändert werden muss, und wobei der Schritt des Bestimmens umfasst: einen Schritt zum Bestimmen, dass es eine primäre Notwendigkeit für eine Aktualisierung gibt, wenn basierend auf der Aktualisierungsinformation (53) bestimmt wird, dass ein Defekt zu korrigieren ist, einen Schritt zum Bestimmen, dass es eine sekundäre Notwendigkeit für eine Aktualisierung gibt, wenn basierend auf der Aktualisierungsinformation (53) bestimmt wird, dass es eine Überlappung zwischen der Aufrüstungsfunktionsliste (705-1) und von dem Benutzer verwendeten Funktionen gibt, einen Schritt zum Bestimmen, dass es eine tertiäre Notwendigkeit für eine Aktualisierung gibt, wenn basierend auf der Aktualisierungsinformation (53) bestimmt wird, dass es eine Überlappung zwischen der Aufrüstungsanweisungsliste (705-2) und einer von dem Benutzer verwendeten Anweisung gibt, und einen Schritt zum Bestimmen, dass ein Teil, das die primäre Notwendigkeit und die sekundäre Notwendigkeit oder die tertiäre Notwendigkeit aufweist, ein zu aktualisierendes Teil ist.
  2. Verfahren nach Anspruch 1, ferner umfassend: einen Schritt zum Bestimmen, ob die in der Ausführungsumgebung enthaltenen Funktionen von einem Benutzer der Steuereinrichtung (2) verwendet werden, mittels Lesen eines Betriebssystem-Ausführungsparameters (31) der Steuereinrichtung (2); und einen Schritt zum Anwenden einer Aktualisierung auf nur diese Funktionen der Ausführungsumgebung, die von dem Benutzer in der Ausführungsumgebung verwendet werden.
  3. Verfahren nach Anspruch 1, ferner umfassend: einen Schritt zum Bereitstellen einer Option für den Benutzer hinsichtlich eines Aktualisierens einer Funktion aus der Aufrüstungsfunktionsliste (705-1); und einen Schritt zum Aktualisieren nur von Funktionen, die von dem Benutzer mittels Verwendung der Option ausgewählt worden sind.
  4. Verfahren nach Anspruch 1, ferner umfassend: einen Schritt zum Bestimmen, ob ein Benutzeranwendungsprogramm (34) eine Anweisung der Vielzahl von Anweisungen verwendet; und einen Schritt zum Aktualisieren des Benutzeranwendungsprogramms (34), falls bestimmt worden ist, dass das Benutzeranwendungsprogramm (34) wenigstens eine der Vielzahl von Anweisungen verwendet.
  5. System zum Durchführen einer Softwarewartung einer speicherprogrammierbaren Steuereinrichtung (2), wobei das System umfasst: ein Programmierwerkzeug (1); und eine Steuereinrichtung (2), wobei das Programmierwerkzeug (1) betriebsfähig ist zum Aktualisieren einer Ausführungsumgebung der Steuereinrichtung (2), und das Programmierwerkzeug (1) enthält eine Steuereinrichtungstyp-Bestimmungseinheit (901) zum Lesen eines Steuereinrichtungstyps (700) der Steuereinrichtung (2) und einer Versionsinformation (33, 701) eines Betriebssystems der Steuereinrichtung (2), eine Aktualisierungsinformations-Bestimmungseinheit (902) zum Lesen einer Aktualisierungsinformation (53), die dem Steuereinrichtungstyp (700) und der Versionsinformation (33, 701) entspricht; eine Aktualisierungsbereich-Bestimmungseinheit (903) zum Bestimmen eines zu aktualisierenden Teils der Ausführungsumgebung auf Grundlage der Aktualisierungsinformation (53); und eine Aktualisierungseinheit (904) zum Aktualisieren des bestimmten Teils der Ausführungsumgebung, wobei die Aktualisierungsinformation (53) Information über die Notwendigkeit einer Hardwareänderung (702), Information darüber, ob ein Defekt zu korrigieren ist, eine Aufrüstungsfunktionsliste (705-1) und eine Aufrüstungsanweisungsliste (705-2) umfasst, wobei das System ferner umfasst: eine Einheit, welche einen Benutzer darüber benachrichtigt, dass, basierend auf der Aktualisierungsinformation (53), eine Notwendigkeit zur Änderung der Steuereinrichtung (2) besteht, wenn bestimmt wird, dass die Hardware geändert werden muss, und wobei die Aktualisierungsbereich-Bestimmungseinheit (903) umfasst: eine Einheit, welche bestimmt, dass es eine primäre Notwendigkeit für eine Aktualisierung gibt, wenn basierend auf der Aktualisierungsinformation (53) bestimmt wird, dass ein Defekt zu korrigieren ist, eine Einheit, welche bestimmt, dass es eine sekundäre Notwendigkeit für eine Aktualisierung gibt, wenn basierend auf der Aktualisierungsinformation (53) bestimmt wird, dass es eine Überlappung zwischen der Aufrüstungsfunktionsliste (705-1) und von dem Benutzer verwendeten Funktionen gibt, eine Einheit, welche bestimmt, dass es eine tertiäre Notwendigkeit für eine Aktualisierung gibt, wenn basierend auf der Aktualisierungsinformation (53) bestimmt wird, dass es eine Überlappung zwischen der Aufrüstungsanweisungsliste (705-2) und einer von dem Benutzer verwendeten Anweisung gibt, und eine Einheit, welche bestimmt, dass ein Teil, das die primäre Notwendigkeit und die sekundäre Notwendigkeit oder die tertiäre Notwendigkeit aufweist, ein zu aktualisierendes Teil ist.
  6. System nach Anspruch 5, wobei die Aktualisierungsbereich-Bestimmungseinheit (903) bestimmt, ob die in der Ausführungsumgebung enthaltenen Funktionen von einem Benutzer der Steuereinrichtung (2) verwendet werden, mittels Lesen eines Betriebssystem-Ausführungsparameters (31) der Steuereinrichtung (2); und die Aktualisierungseinheit (904) eine Aktualisierung auf nur diese Funktionen der Ausführungsumgebung anwendet, die von dem Benutzer in der Ausführungsumgebung verwendet werden.
  7. System nach Anspruch 5, wobei in dem System dem Benutzer eine Option bereitstellt wird zum Auswählen hinsichtlich einer Aktualisierung einer Funktion aus der Aufrüstungsfunktionsliste (705-1); und die Aktualisierungseinheit (904) nur diese Funktionen aktualisiert, die von dem Benutzer ausgewählt worden sind.
  8. System nach Anspruch 5, wobei die Aktualisierungsbereich-Bestimmungseinheit (903) bestimmt, ob ein Benutzeranwendungsprogramm eine Anweisung der Vielzahl von Anweisungen verwendet; und die Aktualisierungseinheit (904) das Benutzeranwendungsprogramm (34) aktualisiert, falls bestimmt wird, dass das Benutzeranwendungsprogramm (34) wenigstens eine der Vielzahl von Anweisungen verwendet.
  9. Programm zum Veranlassen eines Computers, ein Verfahren zum Aktualisieren einer Ausführungsumgebung einer speicherprogrammierbaren Steuereinrichtung (2) auszuführen, wobei das Programm den Computer veranlasst zum Ausführen von: einem Schritt zum Lesen eines Steuereinrichtungstyps (700) der Steuereinrichtung (2) und einer Versionsinformation (33, 701) eines Betriebssystems; einem Schritt zum Lesen einer Aktualisierungsinformation (53), die dem Steuereinrichtungstyp (700) und der Versionsinformation (33, 701) entspricht; einen Schritt zum Bestimmen eines zu aktualisierenden Teils der Ausführungsumgebung auf Grundlage der Aktualisierungsinformation (53); und einen Schritt zum Aktualisieren des bestimmten Teils der Ausführungsumgebung, wobei die Aktualisierungsinformation (53) Information über die Notwendigkeit einer Hardwareänderung (702), Information darüber, ob ein Defekt zu korrigieren ist, eine Aufrüstungsfunktionsliste (705-1) und eine Aufrüstungsanweisungsliste (705-2) umfasst, wobei das Programm den Computer ferner veranlasst auszuführen: einen Schritt zum Benachrichtigen eines Benutzers darüber, dass, basierend auf der Aktualisierungsinformation (53), eine Notwendigkeit zur Änderung der Steuereinrichtung (2) besteht, wenn bestimmt wird, dass die Hardware geändert werden muss, und wobei der Schritt des Bestimmens umfasst: einen Schritt zum Bestimmen, dass es eine primäre Notwendigkeit für eine Aktualisierung gibt, wenn basierend auf der Aktualisierungsinformation (53) bestimmt wird, dass ein Defekt zu korrigieren ist, einen Schritt zum Bestimmen, dass es eine sekundäre Notwendigkeit für eine Aktualisierung gibt, wenn basierend auf der Aktualisierungsinformation (53) bestimmt wird, dass es eine Überlappung zwischen der Aufrüstungsfunktionsliste (705-1) und von dem Benutzer verwendeten Funktionen gibt, einen Schritt zum Bestimmen, dass es eine tertiäre Notwendigkeit für eine Aktualisierung gibt, wenn basierend auf der Aktualisierungsinformation (53) bestimmt wird, dass es eine Überlappung zwischen der Aufrüstungsanweisungsliste (705-2) und einer von dem Benutzer verwendeten Anweisung gibt, und einen Schritt zum Bestimmen, dass ein Teil, das die primäre Notwendigkeit und die sekundäre Notwendigkeit oder die tertiäre Notwendigkeit aufweist, ein zu aktualisierendes Teil ist.
  10. Programm nach Anspruch 9, das den Computer ferner veranlasst zum Ausführen von: einem Schritt zum Bestimmen, ob die in der Ausführungsumgebung enthaltenen Funktionen von einem Benutzer der Steuereinrichtung (2) verwendet werden, mittels Lesen eines Betriebssystem-Ausführungsparameters (31) der Steuereinrichtung (2); und einem Schritt zum Anwenden einer Aktualisierung auf nur diese Funktionen der Ausführungsumgebung, die von dem Benutzer in der Ausführungsumgebung verwendet werden.
  11. Programm nach Anspruch 9, das den Computer ferner veranlasst zum Ausführen von: einem Schritt zum Bereitstellen einer Option für den Benutzer zum Auswählen hinsichtlich eines Aktualisierens einer Funktion in der Aufrüstungsfunktionsliste (705-1); und einem Schritt zum Aktualisieren nur dieser Funktionen, die von dem Benutzer ausgewählt worden sind.
  12. Programm nach Anspruch 9, das den Computer ferner veranlasst zum Ausführen von: einem Schritt zum Bestimmen, ob ein Benutzeranwendungsprogramm (34) eine Anweisung der Vielzahl von Anweisungen verwendet; und einem Schritt zum Aktualisieren des Benutzeranwendungsprogramms (34), falls bestimmt worden ist, dass das Benutzeranwendungsprogramm (34) wenigstens eine der Vielzahl von Anweisungen verwendet.
DE112011103308.7T 2010-09-29 2011-07-06 Verfahren, System und Programm Active DE112011103308B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/893,914 US8806470B2 (en) 2010-09-29 2010-09-29 System, method, and apparatus for software maintenance of sensor and control systems
US12/893,914 2010-09-29
PCT/JP2011/065522 WO2012043008A1 (ja) 2010-09-29 2011-07-06 プログラマブル・ロジック・コントローラの実行環境をバージョンアップする方法、システム、およびプログラム

Publications (2)

Publication Number Publication Date
DE112011103308T5 DE112011103308T5 (de) 2013-08-29
DE112011103308B4 true DE112011103308B4 (de) 2018-02-01

Family

ID=45872020

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112011103308.7T Active DE112011103308B4 (de) 2010-09-29 2011-07-06 Verfahren, System und Programm

Country Status (6)

Country Link
US (1) US8806470B2 (de)
JP (1) JP4987169B2 (de)
KR (1) KR101493628B1 (de)
CN (1) CN103124938B (de)
DE (1) DE112011103308B4 (de)
WO (1) WO2012043008A1 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9229771B2 (en) * 2012-03-08 2016-01-05 Microsoft Technology Licensing, Llc Cloud bursting and management of cloud-bursted applications
EP2711797A1 (de) * 2012-09-21 2014-03-26 ABB Research Ltd. Betrieb eines programmierbaren logischen Steuergerätes
US9444896B2 (en) 2012-12-05 2016-09-13 Microsoft Technology Licensing, Llc Application migration between clouds
CN104216725B (zh) * 2013-06-04 2019-04-19 Sap欧洲公司 用于软件解决方案托管的存储库层策略调整
KR101707266B1 (ko) 2013-08-29 2017-02-15 엘에스산전 주식회사 Plc에서의 os의 업데이트 장치 및 방법
JP5937637B2 (ja) * 2014-04-30 2016-06-22 ファナック株式会社 シーケンスプログラムの切り替え時に、切り替え予告信号を出力する制御装置
CN104035799A (zh) * 2014-06-19 2014-09-10 浪潮电子信息产业股份有限公司 一种软件可定制升级的方法
JP2016218932A (ja) * 2015-05-26 2016-12-22 京セラ株式会社 ソフトウェア更新装置およびソフトウェア更新システム
CN106293851A (zh) * 2016-08-19 2017-01-04 联想(北京)有限公司 一种固件升级方法及设备
JP6696383B2 (ja) * 2016-09-27 2020-05-20 ブラザー工業株式会社 数値制御装置
US10496398B2 (en) * 2017-07-25 2019-12-03 Aurora Labs Ltd. Hot updates to ECU software using tool chain
EP3462262A1 (de) * 2017-09-29 2019-04-03 Siemens Aktiengesellschaft Automatisiertes zuordnen von messdaten zur cloudbasierten überwachung mechanischer assets
EP3742240A1 (de) * 2019-05-22 2020-11-25 Siemens Aktiengesellschaft Verfahren und engineering-system zur änderung eines programms einer industriellen automatisierungskomponente
JP7028361B1 (ja) * 2020-07-31 2022-03-02 三菱電機株式会社 更新管理プログラム、情報処理装置、および、更新管理方法
CN115421820B (zh) * 2022-11-03 2023-02-21 深圳市江元智造科技有限公司 一种基于安卓应用的自动清理方法、系统和可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10161321A1 (de) * 2001-12-13 2003-06-26 Siemens Ag Verfahren zur Aktualisierung von elektronisch modifizierbaren Komponenten eines Automatisierungsgerätes
US6711738B1 (en) * 2000-11-27 2004-03-23 Siemens Aktiengesellschaft Method for replacing technologically aging sub-systems in a system
US20070078956A1 (en) * 2005-09-30 2007-04-05 Rockwell Automation Technologies, Inc. Embedding controllers and devices with data to facilitate up-to-date control and configuration information

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5805898A (en) * 1995-02-24 1998-09-08 International Business Machines Corporation Method and apparatus for estimating installation time in a data processing system
JP3444737B2 (ja) 1996-12-26 2003-09-08 東京瓦斯株式会社 燃焼機器修理支援装置
JP3635903B2 (ja) 1997-12-15 2005-04-06 三菱電機株式会社 プログラマブルコントローラ
US6360363B1 (en) * 1997-12-31 2002-03-19 Eternal Systems, Inc. Live upgrade process for object-oriented programs
US7080371B1 (en) * 1998-03-03 2006-07-18 Siebel Systems, Inc. Method, system, apparatus and program product for distribution and instantiation of software upgrades
JP2002222005A (ja) 2001-01-24 2002-08-09 Yaskawa Electric Corp 数値制御装置システム
US6763517B2 (en) * 2001-02-12 2004-07-13 Sun Microsystems, Inc. Automated analysis of kernel and user core files including searching, ranking, and recommending patch files
JP2002297388A (ja) 2001-03-29 2002-10-11 Yaskawa Electric Corp システムパートプログラムのダウンロード方法、それに用いるシステムメモリおよびシステムパートプログラム
US7093244B2 (en) * 2001-04-18 2006-08-15 Domosys Corporation Method of remotely upgrading firmware in field-deployed devices
US7051327B1 (en) * 2001-05-08 2006-05-23 Gateway Inc. System for providing data backup and restore with updated version by creating data package based upon configuration data application data and user response to suggestion
JP2003015879A (ja) 2001-06-29 2003-01-17 Sharp Corp ファーム格納方法
JP2003022233A (ja) 2001-07-06 2003-01-24 Toshiba Corp 入出力モジュール装置、制御装置及びプログラミング装置
JP2003216430A (ja) 2002-01-18 2003-07-31 Nec Corp ソフトウェア自動更新システムおよび端末
US20040031029A1 (en) * 2002-08-06 2004-02-12 Kyu-Woong Lee Methods and systems for automatically updating software components in a network
JP4085930B2 (ja) * 2002-11-08 2008-05-14 コニカミノルタホールディングス株式会社 画像処理装置
JP4305740B2 (ja) 2003-07-16 2009-07-29 オムロン株式会社 プログラマブルコントローラシステムおよび接続保証方法
US7454745B2 (en) * 2003-07-31 2008-11-18 International Business Machines Corporation Automated semantic-based updates to modified code base
US20060080656A1 (en) * 2004-10-12 2006-04-13 Microsoft Corporation Methods and instructions for patch management
US20060106920A1 (en) * 2004-11-15 2006-05-18 Microsoft Corporation Method and apparatus for dynamically activating/deactivating an operating system
JP2006227871A (ja) 2005-02-17 2006-08-31 Fujitsu Ten Ltd アップデートシステム、情報処理装置、情報配信装置、及びアップデート方法
US20070016432A1 (en) * 2005-07-15 2007-01-18 Piggott Bryan N Performance and cost analysis system and method
JP5025562B2 (ja) 2008-05-26 2012-09-12 三菱電機株式会社 プログラマブルコントローラシステム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6711738B1 (en) * 2000-11-27 2004-03-23 Siemens Aktiengesellschaft Method for replacing technologically aging sub-systems in a system
DE10161321A1 (de) * 2001-12-13 2003-06-26 Siemens Ag Verfahren zur Aktualisierung von elektronisch modifizierbaren Komponenten eines Automatisierungsgerätes
US20070078956A1 (en) * 2005-09-30 2007-04-05 Rockwell Automation Technologies, Inc. Embedding controllers and devices with data to facilitate up-to-date control and configuration information

Also Published As

Publication number Publication date
KR20130095763A (ko) 2013-08-28
US20120079470A1 (en) 2012-03-29
DE112011103308T5 (de) 2013-08-29
JP4987169B2 (ja) 2012-07-25
US8806470B2 (en) 2014-08-12
JPWO2012043008A1 (ja) 2014-02-06
CN103124938B (zh) 2015-05-13
WO2012043008A1 (ja) 2012-04-05
CN103124938A (zh) 2013-05-29
KR101493628B1 (ko) 2015-02-23

Similar Documents

Publication Publication Date Title
DE112011103308B4 (de) Verfahren, System und Programm
DE112004001775T5 (de) Verfahren und Vorrichtung zur Bereitstellung von automatischen Software-Updates
EP2325708B1 (de) Echtzeit-Laufzeitsystem und Funktionsmodul für ein solches Laufzeitsystem
DE102007026678A1 (de) Verfahren zum Austausch eines defekten Feldgerätes gegen ein neues Feldgerät in einem über digitalen Feldbus kommunizierenden System, insbesondere Automatisierungssystem
EP2062105A1 (de) System und verfahren zur bedarfsgerechten funktionalisierung von steuer- / regeleinrichtungen
DE102007041240A1 (de) Verfahren zum Verbessern einer Diagnosefunktion eines Feldgerätes
EP3001310B1 (de) Verfahren und Einrichtung zur Aktualisierung von Firmware für Komponenten einer industriellen Automatisierungsanordnung
EP3444682A1 (de) Verfahren zum rechnergestützten koppeln eines verarbeitungsmoduls in ein modulares technisches system und modulares technisches system
DE102007062395B4 (de) Verfahren zum Parametrieren eines Feldgerätes der Prozessautomatisierungstechnik
DE10208530A1 (de) Betriebseinheit, Peripheriegerät und Verfahren zum Betrieb eines Peripheriegeräts
EP4136513A1 (de) Konfigurationsvorrichtung, aktualisierungsserver und verfahren für eine softwareaktualisierung einer technischen anlage
DE102010038458A1 (de) System zur Bedienung von Feldgeräten in einer Prozessanlage
EP3699704B1 (de) System und verfahren zum überprüfen von systemanforderungen von cyber-physikalischen systemen
DE102023118342A1 (de) System und verfahren zum drahtlosen durchführen von softwarebasierten aufgaben an fahrzeugen
DE60226276T2 (de) Verfahren und anordnung zum modifizieren des inhalts eines korrekturidentifikationsregisters
DE112019002894T5 (de) Kommunikationseinrichtung und Steuerverfahren
EP1248168A2 (de) Verfahren und Vorrichtung zur Gewinnung von Diagnoseinformationen
EP2224340B1 (de) Verfahren und Managementsystem zum Konfigurieren eines dynamischen Informationssystems sowie Computerprogrammprodukt
DE102021109507A1 (de) Universelle industrielle E/A-Schnittstellenbrücke
DE102021114191A1 (de) Verteiltes System
WO2021094101A1 (de) Steuern und/oder überwachen einer maschinenanordnung
EP1454199B1 (de) Verfahren zur aktualisierung von elektronisch modifizierbaren komponenten eines automatisierungsgerätes
DE102008004923B4 (de) Verfahren zur Aktualisierung eines Steuerungsablaufes einer Maschinensteuerung sowie Vorrichtung zur Durchführung des Verfahrens
EP1967920A1 (de) Verfahren zur Durchführung von Softwareupdates in FPGA-basierte Automatisierungsgeräte
EP3118739B1 (de) Verfahren zur durchführung eines betriebssystem-updates

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: PATENT- UND RECHTSANWAELTE DIEHL & PARTNER GBR, DE

R084 Declaration of willingness to licence
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final