DE112021000418T5 - Softwareaktualisierungssystem und Softwareaktualisierungsverfahren für Arbeitsmaschinenkomponente - Google Patents

Softwareaktualisierungssystem und Softwareaktualisierungsverfahren für Arbeitsmaschinenkomponente Download PDF

Info

Publication number
DE112021000418T5
DE112021000418T5 DE112021000418.2T DE112021000418T DE112021000418T5 DE 112021000418 T5 DE112021000418 T5 DE 112021000418T5 DE 112021000418 T DE112021000418 T DE 112021000418T DE 112021000418 T5 DE112021000418 T5 DE 112021000418T5
Authority
DE
Germany
Prior art keywords
software
component
work machine
substrate
item number
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.)
Pending
Application number
DE112021000418.2T
Other languages
English (en)
Inventor
Jun Yamane
Youhei Chimura
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.)
Komatsu Ltd
Original Assignee
Komatsu Ltd
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 Komatsu Ltd filed Critical Komatsu Ltd
Publication of DE112021000418T5 publication Critical patent/DE112021000418T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • 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/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • 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

Landscapes

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

Abstract

Ein Softwareaktualisierungssystem (1) gemäß der vorliegenden Offenbarung aktualisiert Software einer ersten Komponente (12) einer Arbeitsmaschine (10). Das Softwareaktualisierungssystem (1) enthält eine Empfangseinheit (211), die Unterschiedsdaten zum Aktualisieren der ersten Komponente (12), die über ein internes Netzwerk der Arbeitsmaschine (10) verbunden ist, über ein externes Netzwerk empfängt; eine Softwareerfassungseinheit (214), die erste Software, die von die erste Komponente (12) gespeichert und ausgeführt wird, von der ersten Komponente (12) erfasst; eine Softwareerzeugungseinheit (215), die zweite Software erzeugt, indem die Unterschiedsdaten auf die erste Software angewendet werden; und eine Softwareausgabeeinheit (112, 214), die die erzeugt zweite Software an die erste Komponente (12) ausgibt.

Description

  • [Technisches Gebiet]
  • Die vorliegende Offenbarung betrifft ein Softwareaktualisierungssystem und ein Softwareaktualisierungsverfahren für Komponenten, die an Arbeitsmaschinen angebracht sind.
  • Es wird die Priorität der Japanischen Patentanmeldung Nr. 2020-031851 , eingereicht am 27. Februar 2020, beansprucht, deren Inhalt hierin durch Bezug aufgenommen ist.
  • [Hintergrund]
  • Arbeitsmaschinen sind mit Komponenten zur Steuerung der Arbeitsmaschine und Überwachung des Zustands der Arbeitsmaschinen ausgestattet. Diese Komponenten sind zusammengesetzt aus Mikrocomputern oder dergleichen und weisen die Funktionen davon auf, indem Software ausgeführt wird. Aus diesem Grund kann die Software der Komponenten aktualisiert werden, um die Funktionen der Komponenten zu erweitern.
  • Patentdokument 1 offenbart eine Technik, bei der die Unterschiedsdaten von Software angewendet werden, um die Software einer Komponente einer Arbeitsmaschine zu aktualisieren.
  • [Zitationsliste]
  • [Patentdokument]
  • [Patentdokument 1] Japanische Ungeprüfte Patentanmeldung, Erste Veröffentlichung Nr. 2014-177816
  • [Zusammenfassung der Erfindung]
  • [Technische Aufgabe]
  • Inzwischen besteht die Möglichkeit, dass die Komponenten der Arbeitsmaschinen nicht genügend Berechnungsressourcen für die Anwendungsberechnung des Unterschieds aufweisen.
  • Ein Ziel der vorliegenden Offenbarung ist es, ein Softwareaktualisierungssystem und ein Softwareaktualisierungsverfahren für Komponenten einer Arbeitsmaschine bereitzustellen, die fähig sind, die Software einer Komponente einer Arbeitsmaschine zu aktualisieren, indem Unterschiedsdaten verwendet werden.
  • [Lösung der Aufgabe]
  • Gemäß dem ersten Aspekt der Erfindung enthält ein Softwareaktualisierungssystem, das Software einer ersten Komponente der Arbeitsmaschine aktualisiert, eine Empfangseinheit, die eingerichtet ist, Unterschiedsdaten zum Aktualisieren der ersten Komponente, die über ein internes Netzwerk der Arbeitsmaschine verbunden ist, über ein externes Netzwerk zu empfangen; eine Softwareerfassungseinheit, die eingerichtet ist, erste Software, die von der ersten Komponente gespeichert und ausgeführt wird, von der ersten Komponente zu erfassen; eine Softwareerzeugungseinheit, die eingerichtet ist, zweite Software zu erzeugen, indem die Unterschiedsdaten auf die erste Software angewendet werden; und eine Softwareausgabeeinheit, die eingerichtet ist, die erzeugte zweite Software an die erste Komponente auszugeben.
  • [Wirkungen der Erfindung]
  • Gemäß dem obigen Aspekt kann die Software der Komponente der Arbeitsmaschine aktualisiert werden, indem die Unterschiedsdaten verwendet werden.
  • Figurenliste
    • 1 ist eine Konfigurationsansicht eines Softwareaktualisierungssystems gemäß der ersten Ausführungsform.
    • 2 ist eine perspektivische Ansicht, die das Erscheinungsbild einer Arbeitsmaschine zeigt.
    • 3 ist ein Blockdiagramm, das eine Konfiguration eines Steuersystems der Arbeitsmaschine zeigt.
    • 4 ist ein Blockdiagramm, das eine Konfiguration eines Komponentenverwaltungsservers gemäß der ersten Ausführungsform zeigt.
    • 5 ist ein Blockdiagramm, das eine Konfiguration eines Softwareverwaltungsservers gemäß der ersten Ausführungsform zeigt.
    • 6 ist ein Beispiel einer Softwaretabelle gemäß der ersten Ausführungsform.
    • 7 ist ein Ablaufdiagramm, das ein Verfahren der Aktualisierung der Software einer Komponente in dem Softwareaktualisierungssystem gemäß der ersten Ausführungsform zeigt.
    • 8 ist ein Flussdiagramm, das eine Artikelnummer-Bestätigungsverarbeitung einer Gatewayvorrichtung gemäß der ersten Ausführungsform zeigt.
    • 9 ist ein Flussdiagramm, das eine Softwareaktualisierungsverarbeitung der Gatewayvorrichtung gemäß der ersten Ausführungsform zeigt.
    • 10 ist ein schematisches Blockdiagramm, das eine Konfiguration einer Gatewayvorrichtung gemäß einer zweiten Ausführungsform zeigt.
    • 11 ist ein schematisches Blockdiagramm, das eine Konfiguration einer Gatewayvorrichtung gemäß einer dritten Ausführungsform zeigt.
    • 12 ist ein schematisches Blockdiagramm, das eine Konfiguration einer Gatewayvorrichtung gemäß einer vierten Ausführungsform zeigt.
  • [Beschreibung von Ausführungsformen]
  • <Erste Ausführungsform>
  • 1 ist eine Konfigurationsansicht eines Softwareaktualisierungssystems 1 gemäß der ersten Ausführungsform.
  • Das Softwareaktualisierungssystem 1 verwaltet eine Artikelnummer einer Software einer Komponente 12, die in jeder einer Mehrzahl an Arbeitsmaschinen 10 enthalten ist. Das Softwareaktualisierungssystem 1 enthält die Mehrzahl an Arbeitsmaschinen 10, einen Komponentenverwaltungsserver 30, einen Softwareverwaltungsserver 50, und ein Entwicklerendgerät 70. Bei der Software handelt es sich um Daten, die verwendet werden, um die Funktionen der Hardware zu realisieren. Die Software kann Programme und Einstellungsdaten enthalten. Zudem ist die Artikelnummer der Software eine eindeutige Kennung zum Identifizieren der Software. Die Artikelnummer der Software wird zum Beispiel durch eine Mehrzahl an Nummern oder einer Kombination von Buchstaben ausgedrückt.
  • Jede Arbeitsmaschine 10 enthält eine Gatewayvorrichtung 11 und zwei oder mehr Komponenten 12. Zudem ist die Gatewayvorrichtung 11 auch ein Beispiel der Komponente 12.
  • Die Gatewayvorrichtung 11 ist mit einem internen Netzwerk und einem externen Netzwerk der Arbeitsmaschine 10 verbunden. Das interne Netzwerk ist ein Netzwerk, das interne Komponenten 12 innerhalb der Arbeitsmaschine 10 miteinander verbindet. Das externe Netzwerk ist ein Weitverkehrsnetz (Englisch: wide area network; d.h., WAN), das die Arbeitsmaschine 10 und eine Vorrichtung außerhalb der Arbeitsmaschine miteinander verbindet. Jede Komponente weist eine Funktion zur Steuerung der Arbeitsmaschine 10 oder zur Überwachung des Zustands der Arbeitsmaschine 10 auf. Jede Komponente 12 und die Gatewayvorrichtung 11 sind miteinander über das interne Netzwerk der Arbeitsmaschine 10 verbunden. In 1 ist ein hydraulischer Bagger als die Arbeitsmaschine 10 gezeigt. Allerdings kann die Arbeitsmaschine 10 eine andere Arbeitsmaschine, wie zum Beispiel eine Planierraupe, ein Kipplaster, oder ein Radlader, sein.
  • Der Komponentenverwaltungsserver 30 speichert die Artikelnummern der Hardware und Software der Komponenten 12, die in der Mehrzahl an Arbeitsmaschinen 10 enthalten sind, und liefert der Arbeitsmaschine 10 Daten zum Aktualisieren der Software der Komponenten 12. Insbesondere liefert der Komponentenverwaltungsserver 30 der Arbeitsmaschine 10 die Unterschiedsdaten zwischen der Software vor der Aktualisierung und der aktualisierten Software in der Komponente 12 über das externe Netzwerk.
  • Der Softwareverwaltungsserver 50 speichert, in Zuordnung zu der Artikelnummer der Hardware der Komponente 12, eine Mehrzahl an Arten von Software, die verschiedene Artikelnummern aufweisen und auf die Komponente 12 anwendbar sind, in Bezug auf die Artikelnummer. Zudem erzeugt der Softwareverwaltungsserver 50 Unterschiedsdaten zum Aktualisieren der Software und überträgt die Unterschiedsdaten an den Komponentenverwaltungsserver 30. Zudem ist die Artikelnummer der Hardware eine eindeutige Kennung zum Identifizieren der Komponente 12. Die Artikelnummer der Hardware wird zum Beispiel durch eine Mehrzahl an Nummern oder eine Kombination von Buchstaben ausgedrückt.
  • Das Entwicklerendgerät 70 ist ein Endgerät, das von einem Entwickler der Software betrieben wird. Der Entwickler entwickelt Software, indem das Entwicklerendgerät 70 verwendet wird, und überträgt die entwickelte Software von dem Entwicklerendgerät 70 an den Softwareverwaltungsserver 50.
  • «Konfiguration der Arbeitsmaschine 10»
  • 2 ist eine perspektivische Ansicht, die das Erscheinungsbild der Arbeitsmaschine 10 zeigt.
  • Die Arbeitsmaschine 10, die eine Arbeitsmaschine ist, enthält ein Stück Arbeitsausrüstung 1100, das hydraulisch aktiviert wird, einen Schwenkkörper 1200, der die Arbeitsausrüstung 1100 trägt, und ein Fahrgestell 1300, das den Schwenkkörper 1200 trägt.
  • «Arbeitsausrüstung 1100»
  • Die Arbeitsausrüstung 1100 enthält einen Ausleger 1110, einen Arm 1120, einen Löffel 1130, einen Auslegerzylinder 1140, einen Armzylinder 1150, und einen Löffelzylinder 1160.
  • Der Ausleger 1110 ist eine Strebe, die den Arm 1120 und den Löffel 1130 trägt. Ein naher Endteil des Auslegers 1110 ist an einem vorderen Teil des Schwenkkörpers 1200 über einen Bolzen angebracht.
  • Der Arm 1120 koppelt den Ausleger 1110 mit dem Löffel 1130. Der nahe Endteil des Arms 1120 ist an einem fernen Endteil des Ausleger 1110 über einen Bolzen angebracht.
  • Der Löffel 1130 ist ein Behälter, der eine Schneide zum Ausheben von Erde oder dergleichen aufweist. Ein nahes Endteil des Löffels 1130 ist an einem fernen Endteil des Arms 1120 über einen Bolzen angebracht.
  • Der Auslegerzylinder 1140 ist ein hydraulischer Zylinder zum Inbetriebsetzen des Auslegers 1100. Ein naher Endteil des Auslegerzylinders 1140 ist an dem Schwenkkörper 1200 angebracht. Ein ferner Endteil des Auslegerzylinders 1140 ist an dem Ausleger 1110 angebracht.
  • Der Armzylinder 1150 ist ein hydraulischer Zylinder zum Antreiben des Arms 1120. Der nahe Endteil des Armzylinders 1150 ist an dem Ausleger 1110 angebracht. Ein ferner Endteil des Armzylinders 1150 ist an dem Arm 1120 angebracht.
  • Der Löffelzylinder 1160 ist ein hydraulischer Zylinder zum Antreiben des Löffels 1130. Ein naher Endteil des Löffelzylinders 1160 ist an dem Arm 1120 angebracht. Ein ferner Endteil des Löffelzylinders 1160 ist an dem Löffel 1130 angebracht.
  • «Schwenkkörper 1200»
  • Der Schwenkkörper 1200 ist mit einer Kabine 1210, in die ein Bediener einsteigt, ausgestattet. Die Kabine 1210 ist vor dem Schwenkkörper 1200 und auf der linken Seite der Arbeitsausrüstung 1100 bereitgestellt.
  • Eine Bedienungsvorrichtung 1211 zum Bedienen der Arbeitsausrüstung 1100 ist in der Kabine 1210 bereitgestellt. Hydraulisches Öl wird dem Auslegerzylinder 1140, dem Armzylinder 1150, und dem Löffelzylinder 1160 zugeführt, abhängig von dem Bedienungsbetrag der Bedienungsvorrichtung 1211, und die Arbeitsausrüstung 1100 wird angetrieben. Zudem wird das hydraulische Öl einem Schwenkmotor, der nicht gezeigt ist), zugeführt, abhängig von dem Bedienungsbetrag der Bedienungsvorrichtung 1211, und der Schwenkkörper 1200 schenkt.
  • «Komponente 12»
  • Die Arbeitsmaschine 10 enthält einen Positions- und Azimutrichtungs-Berechner 12a und einen Neigungsdetektor 12b. Der Positions- und Azimutrichtungs-Berechner 12a und der Neigungsdetektor 12b sind Beispiele der Komponenten 12. Zudem enthält die Arbeitsmaschine 10 die Gatewayvorrichtung 11 zum Verbinden des internen Netzwerks, das die jeweiligen Komponenten miteinander verbindet, mit dem externen Netzwerk. Die Gatewayvorrichtung 11 ist in der Kabine 1210 bereitgestellt. Eine andere Komponente 12 kann in ähnlicher Weise in der Kabine 1210 bereitgestellt sein, zum Beispiel, kann außerhalb der Kabine 1210 auf dem Schwenkkörper 1200 bereitgestellt sein.
  • Der Positions- und Azimutrichtungs-Berechner 12a berechnet die Position des Schwenkkörpers 1200 und die Azimutrichtung, in die der Schwenkkörper 1200 gerichtet ist. Der Positions- und Azimutrichtungs-Berechner 12a enthält einen ersten Empfänger 12a1 und einen zweiten Empfänger 12a2, die Positionierungssignale von einem künstlichen Satelliten empfangen, der ein globales Navigationssatellitensystem (Englisch: global navigation satellite system; d.h., GNSS) bildet. Jeder des ersten Empfängers 12a1 und des zweiten Empfängers 12a2 ist an unterschiedlichen Positionen auf dem Schwenkkörper 1200 installiert. Der Positions- und Azimutrichtungs-Berechner 12a erkennt die Position eines repräsentativen Punkts O (d.h., den Ursprung eines Karosserie-Koordinatensystems) des Schwenkkörpers 1200 in einem Feld-Koordinatensystem (das nicht gezeigt ist), auf Grundlage eines Positionierungssignals, das von dem ersten Empfänger 12a1 empfangen wird. Zum Beispiel erkennt der Positions- und Azimutrichtungs-Berechner 12a die Position des ersten Empfängers 12a1 auf der Grundlage des vom ersten Empfänger 12a1 empfangenen Positionierungssignals, und bewegt die Position des ersten Empfängers 12a1 horizontal auf der Grundlage der relativen Position des repräsentativen Punkts O mit Bezug auf den ersten Empfänger 12a1, die im Voraus gespeichert ist, wodurch die Position des repräsentativen Punkts O erkannt wird.
  • Der Positions- und Azimutrichtungs-Berechner 12a berechnet die Azimutrichtung des Schwenkkörpers 1200 als eine Beziehung der Installationsposition des zweiten Empfängers 12a2 in Bezug auf die erkannte Installationsposition des ersten Empfängers 12a1, unter Verwendung des Positionierungssignals, das von dem ersten Empfänger 12a1 empfangen wird, und dem Positionierungssignal, das von dem zweiten Empfänger 12a2 empfangen wird.
  • Der Neigungsdetektor 12b misst die Beschleunigung und Winkelgeschwindigkeit des Schwenkkörpers 1200 und erkennt die Neigung (zum Beispiel Rollwinkel und Nickwinkel) des Schwenkkörpers 1200 auf der Grundlage des Messergebnisses. Der Neigungsdetektor 12b ist zum Beispiel an einer unteren Oberfläche der Kabine 1210 installiert. Als der Neigungsdetektor 12b kann, zum Beispiel, eine inertiale Messeinheit (Englisch: inertial measurement unit; d.h., IMU), bei der es sich um eine inertiale Messvorrichtung handelt, verwendet werden.
  • 3 ist ein Blockdiagramm, das eine Konfiguration eines Steuersystems der Arbeitsmaschine 10 zeigt.
  • Die Gatewayvorrichtung 11 enthält ein erstes Substrat 100 und ein zweites Substrat 200, die physisch getrennt sind.
  • Das erste Substrat 100 enthält einen ersten Prozessor 110, einen ersten Hauptspeicher 130, einen ersten Speicher 150, und eine erste Schnittstelle 170. Der erste Prozessor 110 liest ein Programm aus dem ersten Speicher 150 aus, entwickelt das Programm in den ersten Hauptspeicher 130, und führt vorbestimmte Verarbeitung entsprechend dem Programm aus. Zudem speichert der erste Speicher 150 zwei Systeme der gleichen Software, die das Programm enthält, als Hauptsystemsoftware und Reservesystemsoftware. Die Hauptsystemsoftware ist Software, die verwendet wird, um die Funktionen der Software zu normalen Zeiten aufzuweisen. Die Reservesystemsoftware ist Software, die verwendet wird, um die Hauptsystemsoftware wiederherzustellen, wenn die Hauptsystemsoftware abnormal ist. Das heißt, das erste Substrat 100 führt die Hauptsystemsoftware aus, um die Funktionen davon aufzuweisen. Zudem stellt, zum Beispiel, in einem Fall, in dem eine Abnormalität auf Grund eines Aktualisierungsfehlers oder dergleichen der Software auftritt und die Hauptsystemsoftware nicht ausgeführt werden kann, das erste Substrat 100 die Hauptsystemsoftware wieder her, indem die Reservesystemsoftware auf die Hauptsystemsoftware kopiert wird und die wiederhergestellte Hauptsystemsoftware ausgeführt wird. Das erste Substrat 100 ist ein Beispiel der Komponente 12.
  • Die erste Schnittstelle 170 ist mit einer Mehrzahl der Komponenten 12 zur Steuerung der Arbeitsmaschine 10 über ein erstes Netzwerk N1, bei dem es sich um das interne Netzwerk handelt, verbunden. Beispiele der Komponenten 12, die mit dem ersten Substrat 100 verbunden sind, enthalten eine Motorsteuerkomponente, die verschiedene Daten eines Motors mit einem Sensor erfasst und den Betrieb des Motors steuert, eine hydraulische Drucksteuerkomponente, die verschiedene hydraulikausrüstungsbezogene Daten zur Steuerung des Betriebs der Arbeitsausrüstung 1100 mit einem Sensor erfasst und die hydraulische Ausrüstung steuert, eine Monitorsteuerkomponente, die Daten von verschiedenen Sensoren der Arbeitsmaschine 10 erfasst und die Anzeigesteuerung eines Monitors (der nicht gezeigt ist) durchführt, und dergleichen. Grundlegende Betriebssteuerung in Bezug auf den Betrieb der Arbeitsmaschine 10 wird durch die Komponenten 12 durchgeführt, die mit dem ersten Netzwerk N1 verbunden sind.
  • Das zweite Substrat 200 enthält einen zweiten Prozessor 210, einen zweiten Hauptspeicher 230, einen zweiten Speicher 250, und eine zweite Schnittstelle 270. Der zweite Prozessor 210 liest ein Programm aus dem zweiten Speicher 250 aus, entwickelt das Programm in einen zweiten Hauptspeicher 230, und führt vorbestimmte Verarbeitung entsprechend dem Programm aus. Die zweite Schnittstelle 270 ist mit der Mehrzahl an Komponenten 12 zum Erweitern der Funktionen der Arbeitsmaschine 10 über das zweite Netzwerk N2, bei dem es sich um das interne Netzwerk handelt, verbunden. Beispiele der Komponenten 12, die mit dem zweiten Substrat 200 verbunden sind, enthalten eine Bildanzeigekomponente, die vorbestimmte Bildverarbeitung eines durch eine Kamera aufgenommenen Bilds durchführt und die Anzeige davon steuert, eine Maschinenführungskomponente, die dem Bediener einen Führungsmonitor anzeigt und steuert, um eine Positionsbeziehung oder dergleichen zwischen der Gestaltungsoberfläche einer Baustelle und der Arbeitsmaschine 10 zu führen, eine Nutzlastkomponente zum Messen der Menge an Erdreich, die von der Arbeitsausrüstung 1100 ausgehoben wird, eine Kommunikationskomponente, die Kommunikationsausrüstung zur Kommunikation mit einem externen Server steuert und Daten von verschiedenen Sensoren der Arbeitsmaschine erfasst, und dergleichen. Die Bereitstellung erweiterter Information, so wie Verbessern der Funktionen der Arbeitsmaschine, an die Arbeitsmaschine 10 und den Bediener wird durch die Komponenten 12 durchgeführt, die mit dem zweiten Netzwerk N2 verbunden sin. Das zweite Substrat 200 kann ein Beispiel der Komponenten der Arbeitsmaschine sein.
  • Die erste Schnittstelle 170 und die zweite Schnittstelle 270 sind kommunikativ miteinander verbunden. Zudem speichert das erste Substrat 100 und das zweite Substrate 200 Routeninformation, die eine Route zu jeder Komponente 12 anzeigt, die in der Arbeitsmaschine 10 enthalten ist. Die Verbindungsinformation kann zum Beispiel eine Routingtabelle sein. Die Verbindungsinformation wird aktualisiert, indem Information zwischen dem ersten Substrat 100 und dem zweiten Substrat 200 ausgetauscht wird, wann immer die Komponente 12 an die Arbeitsmaschine 10 angebracht oder von dieser entfernt wird.
  • Zudem kann, in anderen Ausführungsformen, das erste Substrate 100 oder das zweite Substrat 200 eine benutzerspezifische großskalige integrierte Schaltung (Englisch: large scale integrated circuit; d.h., LSI), so wie eine programmierbare Logikvorrichtung (Englisch: programmable logic device; d.h., PLD), sein, zusätzlich zu oder anstelle der obigen Konfiguration. Beispiele von PLDs enthalten eine programmierbare Arraylogik (Englisch: programmable array logic; d.h. PAL), eine generische Arraylogik (Englisch: generic array logic; d.h., GAL), eine komplexe programmierbare Logikvorrichtung (Englisch: complex programmable logic device; d.h., CPLD), und ein feldprogrammierbares Gatearray (Englisch: field programmable gate array; d.h., FPGA). In diesem Fall können einige oder alle der Funktionen, die von dem ersten Substrat 100 oder dem zweiten Substrat 200 realisiert werden, durch die integrierte Schaltung realisiert sein.
  • Beispiele des ersten Speichers 150 und des zweiten Speichers 250 enthalten magnetische Scheiben, magneto-optische Scheiben, optische Scheiben, Halbleiterspeicher, oder dergleichen. Der erste Speicher 150 und der zweite Speicher 250 können interne Medien, die direkt mit einer Busleitung verbunden sind, oder externe Medien, die mit der Gatewayvorrichtung 11 über die erste Schnittstelle 170 oder eine Kommunikationsleitung verbunden sind, sein. In mindestens einer Ausführungsform sind der erste Speicher 150 und der zweite Speicher 250 nichtflüchtige materielle Speichermedien.
  • Zudem ist die Berechnungsressource des zweiten Substrats 200 größer als die Berechnungsressource mindestens einer Komponente 12. Zudem ist es vorzugswürdig, dass die Berechnungsressource des zweiten Substrats 200 größer ist als die Berechnungsressource des ersten Substrats 100. Die Berechnungsressourcen sind Ressourcen, die zur Berechnung in Computern verwendet werden. Die Berechnungsressourcen sind Ressourcen, die die Berechnungszeit oder Speicherkapazität eines Computers bereitstellen. Beispiele der Berechnungsressourcen enthalten CPUs, Hauptspeicher, Speicher, oder dergleichen. Zudem ist es vorzugswürdig, dass die Kapazität des zweiten Hauptspeichers 230 größer ist als die Kapazität des ersten Hauptspeichers 130. Zudem ist es vorzugswürdig, dass die Kapazität des zweiten Speichers 250 größer ist als die Kapazität des ersten Speichers 150.
  • Der erste Prozessor 110 dient als eine Eingabeeinheit 111, eine Zugriffseinheit 112, eine Aktualisierungseinheit 113, und eine Ausgabeeinheit 114, indem ein Programm ausgeführt wird, das in dem ersten Speicher 150 gespeichert ist.
  • Die Eingabeeinheit 111 empfängt die Eingabe einer Erfassungsanweisung der Software der der Komponente 12 von dem zweiten Substrat 200. Zudem empfängt die Eingabeeinheit 111 die Eingabe einer Aktualisierungsanweisung der Software der Komponente 12 von dem zweiten Substrat 200.
  • Die Zugriffseinheit 112 erfasst die momentane Software von der Komponente 12 entsprechend der Erfassungsanweisung der Software, die von dem zweiten Substrat 200 empfangen wird. Die momentane Software bezeichnet Software, die von der Komponente 12 gespeichert und ausgeführt wird, um eine Funktion aufzuweisen, wenn durch die Zugriffseinheit 112 zugegriffen wird. Die momentane Software ist ein Beispiel einer ersten Software. Zudem gibt die Zugriffseinheit 112 die Software an die Komponente 12 entsprechend der Aktualisierungsanweisung der Software, die von dem zweiten Substrat 200 empfangen wird, aus. Die Komponente 12, die die Software empfangen hat, überschreibt die Software. Die Zugriffseinheit 112 ist ein Beispiel einer Softwareerfassungseinheit, die die momentane Software der Komponente 12 erfasst, und einer Softwareausgabeeinheit, die die erzeugte Software an die Komponente 12 ausgibt.
  • Die Aktualisierungseinheit 113 liest die Hauptsystemsoftware aus dem ersten Speicher 150 entsprechend der Aktualisierungsanweisung der Software, die von dem zweiten Substrat 200 empfangen wird, aus. Die Hauptsystemsoftware ist ein Beispiel der momentanen Software. Zudem überschreibt die Aktualisierungseinheit 113 die Reservesystemsoftware und die Hauptsystemsoftware entsprechend der Aktualisierungsanweisung der Software, die von dem zweiten Substrat 200 empfangen wird.
  • Die Ausgabeeinheit 114 gibt die von der Zugriffseinheit 112 oder der Aktualisierungseinheit 113 erfasste Software an das zweite Substrat 200 aus.
  • Der zweite Prozessor 210 dient als eine Empfangseinheit 211, eine Ausgabeeinheit 212, eine Eingabeeinheit 213, eine Zugriffseinheit 214, eine Softwareerzeugungseinheit 215, und eine Übertragungseinheit 216, indem ein Programm, das in dem zweiten Speicher 250 gespeichert ist, ausgeführt wird. Zudem ist ein Speicherbereich einer Reservesystemsoftware-Speichereinheit 251 in dem zweiten Speicher 250 gesichert.
  • Die Empfangseinheit 211 empfängt die Aktualisierungsanweisung für die Software der Komponente zusammen mit den Unterschiedsdaten der Software der Komponente 12 von dem Komponentenverwaltungsserver 30. Zudem empfängt die Empfangseinheit 211 eine Bestätigungsanweisung der Artikelnummer für die Software der Komponente.
  • Die Ausgabeeinheit 212 gibt die Erfassungsanweisung für die Software an das erste Substrat 100 aus, in einem Fall, in dem eine Komponente 12, bei des es sich um ein Aktualisierungsziel handelt, mit dem ersten Substrat 100 verbunden ist, oder in einem Fall, in dem die Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, das erste Substrat 100 ist. Zudem gibt die Ausgabeeinheit 212 die Aktualisierungsanweisung der Software an das erste Substrat 100 aus.
  • Die Eingabeeinheit 213 empfängt die Eingabe der Software der Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, von dem ersten Substrat 100.
  • In einem Fall, in dem die Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, mit dem zweiten Substrat 200 verbunden ist, erfasst die Zugriffseinheit 214 Software von der Komponente 12. Zudem gibt die Zugriffseinheit 214 die von der Softwareerzeugungseinheit 215 erzeugte Software an die Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, aus. Die Komponente 12, die die Software erhalten hat, überschreibt die Software. Die Zugriffseinheit 214 ist ein Beispiel der Softwareerfassungseinheit, die die momentane Software von der Komponente 12 erfasst, und der Softwareausgabeeinheit, die die erzeugte Software an die Komponente 12 ausgibt.
  • Die Softwareerzeugungseinheit 215 erzeugt die aktualisierte Software, indem die Unterschiedsdaten, die von der Empfangseinheit 211 empfangen werden, auf die momentane Software, die zu der Eingabeeinheit 213 eingegeben wird, oder die momentane Software, die von der Zugriffseinheit 214 erfasst wird, angewendet werden. Die aktualisierte Software ist ein Beispiel zweiter Software. Zum Beispiel halten die Unterschiedsdaten eine Kombination eines Offsets, bei dem es sich um die Anzahl an Bits von dem Kopfteil einer Datei handelt, und eines geänderten Werts für jede geänderte Stelle. In diesem Fall identifiziert die Softwareerzeugungseinheit 215 den entsprechenden Abschnitt der momentanen Software auf der Grundlage des Offsets der Unterschiedsdaten und überschreibt den Wert vor einer Änderung, der durch die Unterschiedsdaten in dem entsprechenden Abschnitt angezeigt wird, mit dem geänderten Wert. Dementsprechend kann die Softwareerzeugungseinheit 215 die aktualisierte Software aus der momentanen Software und den Unterschiedsdaten erzeugen.
  • Die Übertragungseinheit 216 überträgt eine Antwort auf eine Anfrage, die durch die Empfangseinheit 211 empfangen wird, an den Komponentenverwaltungsserver 30.
  • «Konfiguration des Komponentenverwaltungsservers 30»
  • 4 ist ein Blockdiagramm, das eine Konfiguration des Komponentenverwaltungsservers 30 gemäß der ersten Ausführungsform zeigt.
  • Der Komponentenverwaltungsserver 30 enthält einen Prozessor 310, einen Hauptspeicher 330, einen Speicher 350, und eine Schnittstelle 370. Der Prozessor 310 liest ein Programm aus dem Speicher 350 aus, entwickelt das Programm in den Hauptspeicher 330, und führt vorbestimmte Verarbeitung entsprechend dem Programm aus. Die Schnittstelle 370 ist kommunikativ mit dem zweiten Substrat 200 der Gatewayvorrichtung 11 und dem Softwareverwaltungsserver 50 verbunden.
  • Das in dem Speicher 350 gespeicherten Programm kann zum Realisieren einiger der Funktionen dienen, die der Komponentenverwaltungsserver 30 aufweist. Zudem kann, in einer anderen Ausführungsform, der Komponentenverwaltungsserver 30 einen benutzerdefinierten LSI wie eine PLD zusätzlich oder anstelle der obigen Konfiguration enthalten. In diesem Fall können einige oder alle der durch den Komponentenverwaltungsserver 30 realisierten Funktionen durch die integrierte Schaltung realisiert sein.
  • Beispiele des Speichers 350 enthalten magnetische Scheiben, magneto-optische Scheiben, optische Scheiben, und dergleichen. Der Speicher 350 kann ein internes Medium sein, das direkt mit einer Busleitung verbunden ist, oder kann ein externes Medium sein, das mit dem Komponentenverwaltungsserver 30 über die Schnittstelle 370 oder eine Kommunikationsleitung verbunden ist. Zudem muss das Programm nicht in dem Speicher 350 gespeichert sein, und kann zu dem Komponentenverwaltungsserver 30 durch eine Kommunikationsleitung verteilt werden, oder der Prozessor 310 kann das Programm ausführen. In mindestens einer Ausführungsform ist der Speicher 350 ein nicht-flüchtiges materielles Speichermedium.
  • Der Prozessor 310 enthält eine Unterschiedsdaten-Empfangseinheit 311, eine Aktualisierungsziel-Identifikationseinheit 312, eine Artikelnummer-Bestätigungseinheit 313, eine Aktualisierungsanweisungs-Übertragungseinheit 314, und eine Tabellenaktualisierungseinheit 315, indem Programme, die in dem Speicher 350 gespeichert sind, ausgeführt werden. Zudem ist ein Speicherbereich einer Komponententabelle 351 in dem Speicher 350 gesichert.
  • Die Komponententabelle 351 speichert die Artikelnummern der Hardware und der Software der Komponente 12, die in jeder der Mehrzahl an Arbeitsmaschinen 10 enthalten ist. Das heißt, die Komponententabelle 351 speichert die Maschinen-ID der Arbeitsmaschine 10, die Hardwareartikelnummer der Komponente, und die Softwareartikelnummer in Zuordnung zueinander.
  • Die Unterschiedsdaten-Empfangseinheit 311 empfängt die Unterschiedsdaten der Software und die Softwareartikelnummer, die ein Anwendungsziel der Unterschiedsdaten ist, von dem Softwareverwaltungsserver 50.
  • Die Aktualisierungsziel-Identifikationseinheit 312 bezieht sich auf die Komponententabelle 351 und identifiziert die Komponente 12 in Bezug auf die Softwareartikelnummer, die von der Unterschiedsdaten-Empfangseinheit 311 empfangen wird, und die Arbeitsmaschine 10, die die Komponente 12 enthält.
  • Die Artikelnummer-Bestätigungseinheit 313 überträgt eine Bestätigungsanfrage für die Softwareartikelnummer der Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, an die von der Aktualisierungsziel-Identifikationseinheit 312 identifizierte Arbeitsmaschine 10. Die Artikelnummer-Bestätigungseinheit 313 empfängt ein Bestätigungsergebnis der Softwareartikelnummer von der Arbeitsmaschine 10. Die Artikelnummer-Bestätigungseinheit 313 ist ein Beispiel einer Artikelnummer-Erfassungseinheit, die eine Artikelnummer der momentanen Software der Komponente 12 von der Komponente 12 empfängt.
  • Die Aktualisierungsanweisungs-Übertragungseinheit 314 überträgt die Aktualisierungsanweisung der Software zu der Arbeitsmaschine 10 in einem Fall, in dem das Bestätigungsergebnis, das von der Arbeitsmaschine 10 durch die Artikelnummer-Bestätigungseinheit 313 empfangen wird, mit der Softwareartikelnummer, die von dem Softwareverwaltungsserver 50 durch die Unterschiedsdaten-Empfangseinheit 311 empfangen wird, übereinstimmt. Die Aktualisierungsanweisung der Software enthält die Unterschiedsdaten, die durch die Unterschiedsdaten-Empfangseinheit 311 empfangen werden, ein Gatewayskript zur Ausführung durch die Gatewayvorrichtung 11, und ein Komponentenskript zur Ausführung durch die Komponente 12, bei der es sich um ein Aktualisierungsziel handelt. Das Gatewayskript beschreibt ein Vorgehen, in dem das Gateway 11 die Unterschiedsdaten, die in der Aktualisierungsanweisung enthalten sind, verarbeitet. Das Komponentenskript beschreibt ein Vorgehen zum Installieren eines aktualisierten Programms. Zudem, in einem Fall, in dem die Komponente 12 eine Funktion des Installierens des aktualisierten Programms enthält, muss die Aktualisierungsanweisung das Gatewayskript nicht enthalten.
  • Die Tabellenaktualisierungseinheit 315 bestimmt, ob die Software aktualisiert wurde oder nicht, auf der Grundlage des Bestätigungsergebnisses, das von der Arbeitsmaschine 10 durch die Artikelnummer-Bestätigungseinheit 313 empfangen wird, nachdem die Aktualisierungsanweisung für die Software empfangen wurde. Die Tabellenaktualisierungseinheit 315 aktualisiert die Komponententabelle 315 in einem Fall, in dem bestimmt wurde, dass die Software aktualisiert wurde. Die Tabellenaktualisierungseinheit 315 ist ein Beispiel einer Aktualisierungsbestimmungseinheit, die bestimmt, ob die momentane Software der Komponente 12 aktualisiert wurde oder nicht, auf der Grundlage der Artikelnummer, die von der Komponente 12 erfasst wird.
  • «Konfiguration des Softwareverwaltungsservers 50»
  • 5 ist ein Blockdiagramm, das eine Konfiguration des Softwareverwaltungsservers 50 gemäß der ersten Ausführungsform zeigt.
  • Der Softwareverwaltungsserver 50 enthält einen Prozessor 510, einen Hauptspeicher 530, einen Speicher 550, und eine Schnittstelle 570. Der Prozessor 510 liest ein Programm aus dem Speicher 550 aus, entwickelt das Programm in den Hauptspeicher 530, und führt vorbestimmte Verarbeitung entsprechend dem Programm aus. Die Schnittstelle 570 ist kommunikativ mit dem Komponentenverwaltungsserver 30 verbunden.
  • Das in dem Speicher 530 gespeicherte Programm kann zum Realisieren einiger der Funktionen dienen, die der Softwareverwaltungsserver 50 aufweist. Zudem kann, in einer anderen Ausführungsform, der Softwareverwaltungsserver 50 eine benutzerdefinierte LSI wie eine PLD zusätzlich zu oder anstelle der obigen Konfiguration enthalten. In diesem Fall können einige oder alle der durch den Softwareverwaltungsserver 50 realisierten Funktionen durch die integrierte Schaltung realisiert sein.
  • Beispiele des Speichers 550 enthalten magnetische Scheiben, magneto-optische Scheiben, optische Scheiben, Halbleiterspeicher, und dergleichen. Der Speicher 550 kann ein interner Speicher, der direkt mit einer Busleitung verbunden ist, oder ein externes Medium, das mit dem Softwareverwaltungsserver 50 über die Schnittstelle 570 oder einer Kommunikationsleitung verbunden ist, sein. Zudem kann dieses Programm an den Softwareverwaltungsserver 50 über eine Kommunikationsleitung verteilt werden, und der Prozessor 510 kann das Programm ausführen. In mindestens einer Ausführungsform ist der Speicher 550 ein nicht-flüchtiges materielles Speichermedium.
  • Der Prozessor 510 enthält eine Softwareaufzeichnungseinheit 511, eine Unterschiedsdaten-Erzeugungseinheit 512, und eine Unterschiedsdaten-Übertragungseinheit 513, indem Programme ausgeführt werden, die in dem Speicher 550 gespeichert sind. Zudem ist ein Speicherbereich der Softwaretabelle 511 in dem Speicher 550 gesichert.
  • Die Softwaretabelle 551 speichert, in Zuordnung zu der Hardwareartikelnummer der Komponente 12, eine Mehrzahl an Arten von Software, die verschiedene Artikelnummern aufweisen und auf die Komponente 12 in Bezug auf die Artikelnummer anwendbar sind. Das heißt, die Softwaretabelle 551 speichert die Hardwareartikelnummer der Komponente, die Instanz der Software, und die Softwareartikelnummer der Software in Zuordnung zueinander. 6 ist ein Beispiel einer Softwaretabelle gemäß der ersten Ausführungsform. Die Softwaretabelle 551 speichert eine Hardwareartikelnummer, die die Bildanzeigekomponente anzeigt, eine Softwareartikelnummer, die eine Bildanzeigekomponenten-Anwendung anzeigt, und die Instanz der Software in Zuordnung zueinander. Zudem sind eine Bildanzeigekomponenten-Anwendung 1, eine Bildanzeigekomponenten-Anwendung 2, und eine Bildanzeigekomponenten-Anwendung 3 Beispiele der Instanzen der Software. Zudem speichert, in dem in 6 gezeigten Beispiel, die Softwaretabelle 551 eine Hardwareartikelnummer, die die Maschinenführungskomponente anzeigt, eine Softwareartikelnummer, die eine Maschinenführungskomponenten-Anwendung anzeigt, und die Instanz der Software in Zuordnung zueinander. Zudem sind eine Maschinenführungskomponenten-Anwendung 1 und eine Maschinenführungskomponenten-Anwendung 2 Beispiele der Instanz der Software.
  • Die Software-Aufzeichnungseinheit 511 empfängt die Eingabe der Instanz der Software, die Artikelnummer der Software, und die Hardwareartikelnummer der Komponente 12, bei der es sich um ein Anwendungsziel der Software handelt, von einem Administrator eines Servers oder dem Entwickler der Software und zeichnet diese Eingabe in der Softwaretabelle 551 auf. Der Administrator oder der Entwickler bedient das Entwicklerendgerät 70, um die Instanz der Software, die Artikelnummer der Software, und die Hardware-Artikelnummer der Komponente 12, die ein Anwendungsziel der Software ist, an den Softwareverwaltungsserver 50 zu übertragen.
  • Die Unterschiedsdaten-Erzeugungseinheit 512 erzeugt Unterschiedsdaten zwischen der neu in der Softwaretabelle 551 aufgezeichneten Software und der Software einer anderen Artikelnummer, die auf die Hardware angewendet werden, die ein Anwendungsziel der Software ist.
  • Die Unterschiedsdaten-Übertragungseinheit 513 ordnet die von der Unterschiedsdaten-Erzeugungseinheit 512 erzeugten Unterschiedsdaten der Softwareartikelnummer, bei der es sich um ein Anwendungsziel der Unterschiedsdaten handelt, zu und überträgt die Unterschiedsdaten an den Komponentenverwaltungsserver 30.
  • «Verfahren zur Softwareaktualisierung»
  • 7 ist ein Ablaufdiagramm, das ein Verfahren zum Aktualisieren der Software der Komponente 12 in dem Softwareaktualisierungssystem 1 gemäß der ersten Ausführungsform zeigt.
  • Wenn der Entwickler die Software der Komponente 12 aktualisiert, bedient der Entwickler das Entwicklerendgerät 70 und ordnet die Instanz der Software, die Artikelnummer der Software, und die Hardwareartikelnummer der Komponente 12, bei der es sich um ein Anwendungsziel der Software handelt, einander zu, um die zugeordneten Daten an den Softwareverwaltungsserver 50 zu übertragen. Die Softwareaufzeichnungseinheit 511 des Softwareverwaltungsservers 50 zeichnet die empfangene Softwareinstanz, Softwareartikelnummer, und Hardwareartikelnummer in Zuordnung zueinander in der Softwaretabelle 511 auf (Schritt S1). Zudem ist die Softwareartikelnummer, die durch die Softwareaufzeichnungseinheit 511 empfangen wird, eine aktualisierte Artikelnummer, bei der es sich um eine aktualisierte Softwareartikelnummer handelt.
  • Die Unterschiedsdaten-Erzeugungseinheit 512 erfasst die Instanz der Software und die Softwareartikelnummer, die der Hardwareartikelnummer, die in Schritt S1 empfangen wird, zugeordnet ist, aus der Softwaretabelle 551 (Schritt S2). Die Unterschiedsdaten-Erzeugungseinheit 512 erzeugt Unterschiedsdaten für jede Softwareartikelnummer, indem der Unterschied zwischen der in Schritt S1 empfangenen Software und jeder in Schritt S2 ausgelesenen Software berechnet wird (Schritt S3). Zudem, in einem Fall, in dem die in der Komponente 12 gespeicherte Software immer die neueste ist, können die Unterschiedsdaten nur für die neueste Software in der in Schritt S2 ausgelesenen Software erzeugt werden. Die Unterschiedsdaten-Übertragungseinheit 513 ordnet die in Schritt S3 erzeugten Unterschiedsdaten der in Schritt S1 empfangenen Hardwareartikelnummer, der in Schritt S1 empfangenen aktualisierten Artikelnummer, und einer Zielartikelnummer, bei der es sich um die in Schritt S2 ausgelesene Softwareartikelnummer handelt, einander zu und überträgt die zugeordneten Daten an den Komponentenverwaltungsserver 30 (Schritt S4).
  • Die Unterschiedsdaten-Empfangseinheit 311 des Komponentenverwaltungsservers 30 empfängt die Unterschiedsdaten, die Softwareartikelnummer, und die Hardwareartikelnummer von dem Softwareverwaltungsserver 50. Die Aktualisierungsziel-Identifikationseinheit 312 nimmt Bezug auf die Komponententabelle 351 und identifiziert die Arbeitsmaschine 10, die die Komponente 12 in Bezug auf die empfangene Hardwareartikelnummer enthält (Schritt S5). Zudem kann eine Mehrzahl an Arbeitsmaschinen 10, die die Komponente 12 entsprechend der Hardwareartikelnummer enthalten, identifiziert werden. Dann überträgt die Artikelnummer-Bestätigungseinheit 313 eine Bestätigungsanfrage für die Softwareartikelnummer der Komponente, bei der es sich um ein Aktualisierungsziel handelt, an die Gatewayvorrichtung 11 der identifizierten Arbeitsmaschine 10 (Schritt S6). Das heißt, die Hardwareartikelnummer der Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, ist in der Bestätigungsanfrage für die Softwareartikelnummer enthalten.
  • Die Gatewayvorrichtung 11 empfängt die Bestätigungsanfrage für die Softwareartikelnummer von dem Komponentenverwaltungsserver 30 (Schritt S6). Die Gatewayvorrichtung 11 führt Artikelnummer-Bestätigungsverarbeitung der Komponente 12 aus und überträgt die identifizierte Softwareartikelnummer an den Komponentenverwaltungsserver 30 (Schritt S7). Die Softwareartikelnummer ist als eine Konstante in der Instanz der Software geschrieben, und wird zum Beispiel identifiziert, indem ein Artikelnummer-Bestätigungsbefehl ausgeführt wird, den die Software aufweist. Die Details der Artikelnummer-Bestätigungsverarbeitung durch die Gatewayvorrichtung 11 wird unten beschrieben werden.
  • Die Artikelnummer-Bestätigungseinheit 313 des Komponentenverwaltungsservers 30 empfängt die Softwareartikelnummer von der Arbeitsmaschine 10 (Schritt S7). In einem Fall, in dem die in Schritt S7 empfangene Softwareartikelnummer und die in Schritt S4 empfangene Zielartikelnummer miteinander übereinstimmen, weist die Aktualisierungsanweisungs-Übertragungseinheit 314 die Gatewayvorrichtung 11 der Arbeitsmaschine 10 an, die Aktualisierungsanweisung der Software der Komponente, bei der es sich um ein Aktualisierungsziel handelt, zu übertragen (Schritt S8). Die Aktualisierungsanweisung der Software enthält die in Schritt S4 empfangenen Unterschiedsdaten, das Gatewayskript zur Ausführung durch die Gatewayvorrichtung 11, und das Komponentenskript zur Ausführung durch die Komponente 12, bei der es sich um ein Aktualisierungsziel handelt. Das Gatewayskript enthält die Hardwareartikelnummer der Komponente, auf die die Unterschiedsdaten angewendet werden.
  • Die Gatewayvorrichtung 11 empfängt die Aktualisierungsanweisung der Software von dem Komponentenverwaltungsserver 30 (Schritt S8). Die Gatewayvorrichtung 11 führt die Softwareaktualisierungsverarbeitung der Komponente 12 entsprechend dem Gatewayskript aus, das in der Aktualisierungsanweisung enthalten ist (Schritt S9). Das Gatewayskript kann beschreiben, dass nach dem Schlüssel-Aus der Arbeitsmaschine 10 die individuelle Komponente 12 durch eine Funktion eines Wake-on-LAN oder dergleichen aufgeweckt wird, um die Softwareaktualisierungsverarbeitung auszuführen. Dies dient zum Verhindern, dass die Komponente 12 auf Grund einer Aktualisierung, während die Arbeitsmaschine 10 in Betrieb ist, ausfällt. Zudem kann Ausführen der Softwareaktualisierungsverarbeitung beschrieben sein, wenn der Betrieb der Arbeitsmaschine 10 durch einen Verriegelungshebel (d.h., ein Hebel, der die Flusswege aller hydraulischen Schaltungen für die Arbeitsausrüstung, Schwenken und Fahren unterbricht) der Arbeitsmaschine 10 (der nicht gezeigt ist) nach einen Schlüssel-An gesperrt ist. Die Details der Softwareaktualisierungsverarbeitung durch die Gatewayvorrichtung 11 wird unten beschrieben werden.
  • Nach einer vorbestimmten Zeit, wenn die Unterschiedsdaten-Empfangseinheit 311 des Komponentenverwaltungsservers 30 die Aktualisierungsanweisung in Schritt S9 übertragen hat, überträgt die Artikelnummer-Bestätigungseinheit 313 eine Bestätigungsanfrage für die Softwareartikelnummer der Komponente, bei der es sich um ein Aktualisierungsziel handelt, an die Gatewayvorrichtung 11 der Arbeitsmaschine 10, zu der die Aktualisierungsanweisung übertragen wird (Schritt S10). Die vorbestimmte Zeit ist ausreichend länger als die benötigte Berechnungszeit für die Verarbeitung des Anwendens der Unterschiedsdaten auf die Software. Zudem kann, in einer anderen Ausführungsform, die Gatewayvorrichtung 11 der Arbeitsmaschine 10 nach der Beendigung der Aktualisierung eine Beendigungsbenachrichtigung an den Komponentenverwaltungsserver 30 übermitteln, und die Artikelnummer-Bestätigungseinheit 313 überträgt eine Bestätigungsanfrage für die Softwareartikelnummer der Komponente, bei der es sich um ein Aktualisierungsziel handelt, an die Gatewayvorrichtung 11 der Arbeitsmaschine 10, an die die Beendigungsbenachrichtigung übertragen wurde.
  • Die Gatewayvorrichtung 11 empfängt die Bestätigungsanfrage für die Softwareartikelnummer von dem Komponentenverwaltungsserver 30. Die Gatewayvorrichtung 11 führt Artikelnummer-Bestätigungsverarbeitung der Komponente 12 aus und überträgt die identifizierte Softwareartikelnummer an den Komponentenverwaltungsserver 30 (Schritt S11). Zudem, da die Softwareartikelnummer als eine Konstante in der Instanz der Software geschrieben ist, wird die Softwareartikelnummer auch aktualisiert, wenn die Softwareaktualisierungsverarbeitung in Schritt S9 normal beendet ist.
  • Die Artikelnummer-Bestätigungseinheit 313 des Komponentenverwaltungsservers 30 empfängt die Softwareartikelnummer von der Arbeitsmaschine 10 (Schritt S11). In einem Fall, in dem die in Schritt S11 empfangene Softwareartikelnummer und die in Schritt S4 empfangene aktualisierte Artikelnummer miteinander übereinstimmen, aktualisiert die Tabellenaktualisierungseinheit 315 die Artikelnummer der Komponente 12, die in der Komponententabelle 351 gespeichert ist, auf die in Schritt S11 empfangene Softwareartikelnummer. (Schritt S12).
  • Zudem zeigt ein in 7 gezeigtes Ablaufdiagramm ein Beispiel der Verarbeitung und verhindert nicht, dass die Software durch andere Verarbeitung aktualisiert wird. Zum Beispiel kann das Softwareaktualisierungssystem gemäß einer anderen Ausführungsform die Verarbeitung des Schritts S6, des Schritts S7, des Schritts S10, des Schritts S11, und des Schritts S12 nicht durchführen. Zudem kann, in einer anderen Ausführungsform, die Softwareartikelnummer in dem Hauptspeicher oder Speicher (der nicht gezeigt ist) der Komponente 12 gespeichert sein. In diesem Fall überträgt die Gatewayvorrichtung 11 die Artikelnummer-Bestätigungsanfrage der Komponente 12 an die Komponente 12 in Schritten S7 und S11, und die Komponente 12 kann die in dem Hauptspeicher oder dem Speicher gespeicherte Softwareartikelnummer auslesen und überträgt die ausgelesene Softwareartikelnummer an die Gatewayvorrichtung 11.
  • «Artikelnummer-Bestätigungsverarbeitung der Gatewayvorrichtung 11»
  • Hier wird der Betrieb der Gatewayvorrichtung 11 in der Softwareaktualisierungsverarbeitung beschrieben werden. Wenn die Empfangseinheit 211 des zweiten Substrats 200 der Gatewayvorrichtung 11 die Softwareartikelnummer-Bestätigungsanfrage von dem Komponentenverwaltungsserver 30 in Schritt S6 oder Schritt S10 empfängt, führt die Gatewayvorrichtung 11 die Artikelnummer-Bestätigungsverarbeitung aus.
  • 8 ist ein Flussdiagramm, das die Artikelnummer-Bestätigungsverarbeitung der Gatewayvorrichtung 11 gemäß der ersten Ausführungsform zeigt.
  • Die Empfangseinheit 211 bestimmt, ob die Komponente 12, bei der es sich um ein Bestätigungsziel der Softwareartikelnummer handelt, das heißt, die Komponente 12 in Bezug auf die in der Bestätigungsanfrage enthaltene Hardwareartikelnummer, mit dem zweiten Substrat 200 verbunden ist oder nicht (Schritt S31). In einem Fall, in dem die Komponente 12, bei der es sich um ein Bestätigungsziel handelt, mit dem zweiten Substrat 200 verbunden ist (Schritt S31: JA), erfasst die Zugriffseinheit 214 die Softwareartikelnummer von der Komponente 12, bei der es sich um ein Bestätigungsziel handelt, über das zweite Netzwerk N2 (Schritt S32).
  • Andererseits, in einem Fall, in dem die Komponente 12, bei der es sich um ein Bestätigungsziel handelt, nicht mit dem zweiten Substrat 200 verbunden ist (Schritt S31: NEIN), gibt die Ausgabeeinheit 212 die Bestätigungsanfrage für die Softwareartikelnummer an das erste Substrat 100 aus (Schritt S33).
  • Die Eingabeeinheit 111 des ersten Substrats 100 empfängt die Eingabe der Bestätigungsanfrage für die Softwareartikelnummer von dem zweiten Substrat 200 (Schritt S34). Dann erfasst die Zugriffseinheit 112 die Softwareartikelnummer von der Komponente 12, bei der es sich um ein Bestätigungsziel handelt, über das erste Netzwerk N1 (Schritt S35). Die Ausgabeeinheit 114 gibt die ausgelesene Softwareartikelnummer an das zweite Substrat 200 aus (Schritt S36).
  • Die Eingabeeinheit 213 des zweiten Substrats 200 empfängt die Eingabe der Softwareartikelnummer von der Komponente 12, bei der es sich um ein Bestätigungsziel handelt, von dem ersten Substrat 100 (Schritt S37).
  • Die Übertragungseinheit 216 des zweiten Substrats 200 überträgt die in Schritt S32 oder Schritt S27 identifizierte Softwareartikelnummer von der Komponente 12, bei der es sich um ein Bestätigungsziel handelt, an den Komponentenverwaltungsserver 30 (Schritt S38).
  • Dementsprechend kann die Gatewayvorrichtung 11 eine Benachrichtigung der Softwareartikelnummer der Komponente 12 in Erwiderung auf die Betätigungsanfrage des Komponentenverwaltungsservers 30 bereitstellen.
  • Zudem zeigt das in 8 gezeigte Flussdiagramm ein Beispiel der Verarbeitung und verhindert nicht, dass die Artikelnummer durch andere Verarbeitung bestätigt wird. Zudem kann die Gatewayvorrichtung 11 gemäß einer anderen Ausführungsform die Artikelnummer-Bestätigungsverarbeitung nicht durchführen. Zudem kann, in einer anderen Ausführungsform, die Softwareartikelnummer in dem Hauptspeicher oder Speicher (der nicht gezeigt ist) der Komponente 12 gespeichert sein. In diesem Fall kann das zweite Substrat 200 die Artikelnummer-Bestätigungsanfrage der Komponente 12 in Schritten S32 und S37 an die Komponente 12 übertragen, und die Komponente 12 kann die Softwareartikelnummer, die in dem Hauptspeicher oder dem Speicher gespeichert ist, auslesen und überträgt die ausgelesene Softwareartikelnummer an das zweite Substrat.
  • «Softwareaktualisierungsverarbeitung der Gatewayvorrichtung 11»
  • Wenn die Empfangseinheit 211 des zweiten Substrats 200 der Gatewayvorrichtung 11 die Aktualisierungsanweisung der Software von dem Komponentenverwaltungsserver 30 in Schritt S8 empfängt, führt die Gatewayvorrichtung 11 das in der Aktualisierungsanweisung enthaltene Gatewayskript aus, wodurch die Softwareaktualisierungsverarbeitung ausgeführt wird.
  • 9 ist ein Flussdiagramm, das die Softwareaktualisierungsverarbeitung der Gatewayvorrichtung 11 gemäß der ersten Ausführungsform zeigt.
  • Um mit der Komponente 12, bei der es sich um ein Aktualisierungsziel der Software handelt, das heißt, der Komponente 12 in Bezug auf die in dem Gatewayskript beschriebene Hardwareartikelnummer, zu kommunizieren, nimmt die Empfangseinheit 211 Bezug auf die Verbindungsinformation und bestimmt, ob die Komponente 12 mit dem zweiten Substrat 200 verbunden ist oder nicht (Schritt S61). In einem Fall, in dem die Bestätigungszielkomponente 12 mit dem zweiten Substrat 200 verbunden ist (Schritt S61: JA), erfasst die Zugriffseinheit 214 die momentane Software von der Komponente 12, bei der es sich um ein Bestätigungsziel handelt, über das zweite Netzwerk N2 (Schritt S62).
  • Andererseits, in einem Fall, in dem die Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, mit dem ersten Substrat 100 verbunden ist, oder in einem Fall, in dem die Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, das erste Substrat 100 ist (Schritt S61: NEIN), gibt die Ausgabeeinheit 212 eine Erfassungsanweisung der Software an das erste Substrat 100 aus (Schritt S63).
  • Die Eingabeeinheit 111 des ersten Substrats 100 empfängt die Eingabe der Erfassungsanweisung der Software von dem zweiten Substrat 200 (Schritt S64). Die Aktualisierungseinheit 113 bestimmt, ob die Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, das erste Substrat 100 selbst ist oder nicht (Schritt S65). In einem Fall, in dem die Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, das erste Substrat 100 selbst ist (Schritt S65: JA), liest die Aktualisierungseinheit 113 die Hauptsystemsoftware aus dem ersten Speicher 150 aus (Schritt S66). Andererseits, in einem Fall, in dem die Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, nicht das erste Substrat 1000 selbst ist (Schritt S65: NEIN), erfasst die Zugriffseinheit 112 die momentane Software von der Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, über das erste Netzwerk N1 (Schritt S67). Zudem kann die Komponente 12 die Information der momentanen Software auf mehrere Male an das erste Substrat übertragen. Dementsprechend kann, selbst in der Komponente 12, die eine kleine Berechnungsressource aufweist, die die Information der momentanen Software nicht an das erste Substrat durch eine Übertragung übertragen kann, die Information der momentanen Software an das erste Substrat übertragen werden, indem die Information der momentanen Software auf mehrere Male übertragen wird.
  • Die Ausgabeeinheit 114 gibt die in Schritt S66 oder Schritt S67 ausgelesene Software an das zweite Substrat 200 aus (Schritt S68).
  • Die Eingabeeinheit 213 des zweiten Substrats 200 empfängt die Eingabe der Software der Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, von dem ersten Substrat 100 (Schritt S69).
  • Dann erzeugt die Softwareerzeugungseinheit 215 die aktualisierte Software, indem die Unterschiedsdaten, die in der von dem Komponentenverwaltungsserver 30 empfangenen Aktualisierungsanweisung enthalten sind, auf die in Schritt S62 oder Schritt S69 erfasste Software entsprechend dem Gatewayskript angewendet wird. (Schritt S70). Die Softwareerzeugungseinheit 215 ordnet die erzeugte Software der Hardwareartikelnummer der Komponente 12 zu und zeichnet die zugeordneten Daten in der Reservesystemsoftware-Speichereinheit auf (Schritt S71).
  • Um die erzeugte Software an die Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, zu übertragen, nimmt die Softwareerzeugungseinheit 215 Bezug auf die Verbindungsinformation und bestimmt, ob die Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, mit dem zweiten Substrat 200 verbunden ist oder nicht (Schritt S72). Die Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, ist ein Beispiel einer ersten Komponente. Beispiele der Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, enthalten die mit dem ersten Netzwerk N1 verbundene Komponente 12, die mit dem zweiten Netzwerk N2 verbundene Komponente 12, das erste Substrat 100, und das zweite Substrat 200. Zudem ist das zweite Substrat 200, das die Softwareerzeugungseinheit 215 enthält, ein Beispiel einer zweiten Komponente. Zudem kann, in einer anderen Ausführungsform, eine andere Komponente als das zweite Substrat 200 die zweite Komponente sein. Das heißt, in einer anderen Ausführungsform können andere Komponenten als das zweite Substrat 200 die Softwareerzeugungseinheit 215 enthalten.
  • In einem Fall, in dem die Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, mit dem zweiten Substrat 200 verbunden ist (Schritt S72: JA), gibt die Zugriffseinheit 214 die in Schritt S70 erzeugte Software und das Komponentenskript, das in der Aktualisierungsanweisung enthalten ist, an die Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, über das zweite Netzwerk N2 aus. Dementsprechend überschreibt die Komponente 12 die zu speichernde Software mit der in Schritt S70 erzeugten Software, indem das Komponentenskript ausgeführt wird (Schritt S73). Auf diese Weise ist, zum Beispiel, die Komponente 12, bei der es sich um ein Aktualisierungsziel der Software handelt, ein Beispiel der ersten Komponente. Zudem ist, zum Beispiel, das zweite Substrat 200 ein Beispiel der zweiten Komponente, die sich von der Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, unterscheidet.
  • Andererseits, in einem Fall, in dem die Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, mit dem ersten Substrat 100 verbunden ist, oder in einem Fall, in dem die Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, die erste Komponente 100 ist (Schritt S72: NEIN), gibt die Ausgabeeinheit 212 eine Aktualisierungsanweisung der Software an das erste Substrat 100 aus (Schritt S74). Die in Schritt S70 erzeugte Software und das in der Aktualisierungsanweisung enthaltene Komponentenskript sind in der Aktualisierungsanweisung der Software enthalten.
  • Die Eingabeeinheit 111 des ersten Substrats 100 empfängt die Eingabe der Aktualisierungsanweisung der Software von dem zweiten Substrat 200 (Schritt S75). Die Aktualisierungseinheit 113 bestimmt, ob die Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, das erste Substrat 100 selbst ist oder nicht (Schritt S76). In einem Fall, in dem die Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, das erste Substrat 100 selbst ist (Schritt S76: JA), überschreibt die Aktualisierungseinheit 113 die in dem ersten Speicher 150 gespeicherte Reservesystemsoftware mit der in der Aktualisierungsanweisung enthaltenen Software (Schritt S77). Auf diese Weise ist, zum Beispiel, das erste Substrat 100, bei dem es sich um ein Aktualisierungsziel der Software handelt, ein Beispiel der ersten Komponente. Zudem ist, zum Beispiel, das zweite Substrat 200, das sich von der ersten Komponente unterscheidet, ein Beispiel der zweiten Komponente. In einem Fall, in dem das Überschreiben der Reservesystemsoftware beendet ist, überschreibt die Aktualisierungseinheit 113 die Hauptsystemsoftware, die in dem ersten Speicher 150 gespeichert ist, mit der in der Aktualisierungsanweisung enthaltenen Software (Schritt S78).
  • Andererseits, in einem Fall, in dem die Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, nicht das erste Substrat 100 selbst ist (Schritt S76: NEIN), gibt die Zugriffseinheit 112 die Software und das Komponentenskript, die in der Aktualisierungsanweisung enthalten sind, an die Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, über das erste Netzwerk N1 aus. Dementsprechend überschreibt die Komponente 12 die zu speichernde Software mit der in der Aktualisierungsanweisung enthaltenen Software, indem das Komponentenskript ausgeführt wird (Schritt S79). Auf diese Weise ist, zum Beispiel, die Komponente 12, bei der es sich um ein Aktualisierungsziel der Software handelt, ein Beispiel einer ersten Komponente. Zudem ist, zum Beispiel, das zweite Substrat 200, das sich von der ersten Komponente unterscheidet, ein Beispiel der zweiten Komponente. Zudem ist das erste Substrat 100, das mit der Komponente 12, bei der es sich um ein Aktualisierungsziel der Software handelt, verbunden ist, ein Beispiel der anderen Komponente.
  • Dementsprechend kann die Gatewayvorrichtung 11 die Software der Komponente 12 auf der Grundlage der Unterschiedsdaten aktualisieren.
  • Zudem zeigt ein in 9 gezeigtes Flussdiagramm ein Beispiel der Verarbeitung und verhindert nicht, dass die Software durch andere Verarbeitung aktualisiert wird. Zum Beispiel kann die Gatewayvorrichtung 11 gemäß einer anderen Ausführungsform die Verarbeitung des Schritts S71 und die Verarbeitung des Schritts S77 nicht durchführen. Zudem kann, in einer anderen Ausführungsform, irgendeine des ersten Substrats 100, der mit dem ersten Substrat 100 verbundenen Komponente 12, und der mit dem zweiten Substrat 200 verbundenen Komponente 12, aktualisiert werden. Zudem kann, in einem Fall, in dem die Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, das Komponentenskript speichert, das Komponentenskript nicht in der Aktualisierungsanweisung enthalten sein.
  • «Vorgehen und Wirkung»
  • Auf diese Weise empfängt, gemäß der ersten Ausführungsform, die Gatewayvorrichtung 11 die Unterschiedsdaten zum Aktualisieren der Komponente 12 der Arbeitsmaschine 10 über das externe Netzwerk und wendet die Unterschiedsdaten auf die momentane Software der Komponente, die über das interne Netzwerk verbunden ist, an. Dann gibt die Gatewayvorrichtung 11 die erzeugte Software an die Komponente 12 aus. Dementsprechend kann die Gatewayvorrichtung 11 die Software der Komponente 12 aktualisieren, unabhängig von der Größenordnung (d.h., Größe) der Berechnungsressource der Komponente 12. Zudem kann die Gatewayvorrichtung 11 die Kommunikationsmenge des externen Netzwerks unterdrücken, indem die Software durch Verwendung der Unterschiedsdaten aktualisiert wird.
  • Zudem erzeugt die Gatewayvorrichtung 11 gemäß der ersten Ausführungsform die Software unter Verwendung der Unterschiedsdaten in dem zweiten Substrat 200, das eine größere Speicherkapazität als das erste Substrat 100 aufweist. Dementsprechend kann die Gatewayvorrichtung 11 gemäß der ersten Ausführungsform eine große Menge der Berechnungsressource des ersten Substrats 100 der Steuerung der Arbeitsmaschine 10 zuweisen.
  • Zudem aktualisiert das zweite Substrat 200 die Software der Komponente 12, die mit dem ersten Substrat 100 verbunden ist.
  • Zudem speichert die Gatewayvorrichtung 11 gemäß der ersten Ausführungsform die erzeugte Software der Komponente 12 in der Reservesystemsoftware-Speichereinheit 251. Dementsprechend kann, selbst in einem Fall, in dem die Software auf Grund eines Stromausfalls während der Überschreibungsverarbeitung der Software in Schritt S73 oder Schritt S79 beschädigt ist, die Software der Komponente 12 unter Verwendung der in der Reservesystemsoftware-Speichereinheit 251 gespeicherten Software erzeugt werden. Zudem zeichnet das erste Substrat 100 die aktualisierte Software in Reihenfolge als die Reservesystemsoftware und die Hauptsystemsoftware des ersten Speichers 150 auf. Dementsprechend kann, selbst in einem Fall, in dem die Hauptsystemsoftware auf Grund der Beendigung des Aufzeichnens der Reservesystemsoftware und der Unterbrechung der Verarbeitung während dem Aufzeichnen der Hauptsystemsoftware beschädigt ist, die Hauptsystemsoftware unter Verwendung der Reservesystemsoftware, für die das Aufzeichnen beendet wurde, wiederhergestellt werden.
  • Zudem kann die beschädigte Software durch eine automatische Tätigkeit der Gatewayvorrichtung 11 oder durch eine manuelle Bedienung einer Serviceperson oder eines Betreibers wiederhergestellt werden.
  • <Zweite Ausführungsform>
  • Die Gatewayvorrichtung 11 gemäß der erste Ausführungsform erzeugt Software für alle der Komponenten 12 der Arbeitsmaschine 10 in dem zweiten Substrat 200, das auf der Arbeitsmaschine 10 angebracht ist. Andererseits sind einige Komponenten 12, die ausreichende Berechnungsressourcen aufweisen, vorhanden. In der zweiten Ausführungsform aktualisieren die einigen Komponenten 12 ihre eigene Software autonom.
  • 10 ist ein schematisches Blockdiagramm, das eine Konfiguration einer Gatewayvorrichtung 11 gemäß einer zweiten Ausführungsform zeigt.
  • Wie in 10 gezeigt enthält das zweite Substrat 200 ferner eine Bestimmungseinheit 217 zusätzlich zu der Konfiguration der ersten Ausführungsform. Zudem ist der zweite Speicher 250 ferner mit einem Speicherbereich einer Komponentenspeichereinheit 252 ausgestattet.
  • Die Komponentenspeichereinheit 252 speichert im Voraus die Softwareartikelnummer der Komponente 12, die die Funktion des Anwendens der Unterschiedsdaten aufweist. Die in der Komponentenspeichereinheit 252 gespeicherte Information wird durch eine Serviceperson oder dergleichen aktualisiert, wenn die Komponente 12 ersetzt wird.
  • Die Bestimmungseinheit 217 nimmt Bezug auf die Komponentenspeichereinheit 252 und bestimmt, ob die Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, die Funktion des Anwendens der Unterschiedsdaten aufweist oder nicht.
  • Wenn die Gatewayvorrichtung 11 gemäß der zweiten Ausführungsform die Softwareaktualisierungsverarbeitung ausführt, nimmt die Bestimmungseinheit 217 zuerst Bezug auf die Komponentenspeichereinheit 252 und bestimmt, ob die Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, die Funktion des Anwendens der Unterschiedsdaten aufweist oder nicht. In einem Fall, in dem die Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, die Funktion des Anwendens der Unterschiedsdaten aufweist, überträgt die Zugriffseinheit 112 die Aktualisierungsanweisung, die von dem Komponentenverwaltungsserver 30 empfangen wird, an die Komponente 12, bei der es sich um ein Aktualisierungsziel handelt. Dementsprechend aktualisiert die Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, die Software, indem die Unterschiedsdaten, die in der Aktualisierungsanweisung enthalten sind, verwendet werden.
  • Andererseits, in einem Fall, in dem die Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, die Funktion des Anwendens der Unterschiedsdaten nicht aufweist, aktualisiert die Gatewayvorrichtung 11 die Software der Komponente 12, indem die Verarbeitung der Schritte S61 bis S79 gemäß der ersten Ausführungsform ausgeführt wird.
  • <Dritte Ausführungsform>
  • Die Gatewayvorrichtung 11 gemäß der ersten Ausführungsform enthält das erste Substrat 100 und das zweite Substrat 200, die physisch voneinander getrennt sind. Im Gegensatz dazu ist die Gatewayvorrichtung 11 gemäß der dritten Ausführungsform auf einem Substrat angebracht.
  • 11 ist ein schematisches Blockdiagramm, das eine Konfiguration einer Gatewayvorrichtung 11 gemäß einer dritten Ausführungsform zeigt. Das heißt, die Gatewayvorrichtung 11 gemäß der dritten Ausführungsform enthält einen Prozessor 210a, einen Hauptspeicher 230a, einen Speicher 250a, und eine Schnittstelle 270a. Jeder des Prozessors 210a, des Hauptspeichers 230a, des Speichers 250a, und der Schnittstelle 270a weist die gleiche Berechnungsressource auf wie jeder des ersten Prozessors 210, des zweiten Hauptspeichers 230, des zweiten Speichers 250, und der zweiten Schnittstelle 270 des zweiten Substrats gemäß der ersten Ausführungsform.
  • Da die Gatewayvorrichtung 11 gemäß der dritten Ausführungsform nicht mit einem anderen Substrat kommunizieren muss, kann die Gatewayvorrichtung 11 eine Funktion entsprechend der Ausgabeeinheit 212 und der Eingabeeinheit 213 der Gatewayvorrichtung 11 gemäß der ersten Ausführungsform nicht aufweisen.
  • Zudem kann die Gatewayvorrichtung 11 gemäß der dritten Ausführungsform die Bestimmung des Schritts S31, die Verarbeitung von Schritt S33 bis S37, die Bestimmung von Schritt S61, die Verarbeitung von Schritt S63 bis Schritt S69, die Bestimmung von Schritt S72, und die Verarbeitung von Schritt S74 bis S79, gemäß der ersten Ausführungsform, nicht durchführen.
  • <Vierte Ausführungsform>
  • In der Gatewayvorrichtung 11 gemäß der ersten Ausführungsform enthalten das erste Substrat 100 und das zweite Substrat 200 jeweils einen Prozessor. Im Gegensatz dazu enthält, in der Gatewayvorrichtung 11 gemäß der vierten Ausführungsform, ein Substrat zwei Prozessoren.
  • 12 ist ein schematisches Blockdiagramm, das eine Konfiguration einer Gatewayvorrichtung 11 gemäß einer vierten Ausführungsform zeigt. Das heißt, die Gatewayvorrichtung 11 gemäß der vierten Ausführungsform enthält den ersten Prozessor 110, den ersten Hauptspeicher 130, den ersten Speicher 150, die erste Schnittstelle 170, den zweiten Prozessor 210, und den zweiten Hauptspeicher 230, den zweiten Speicher 250, und die zweite Schnittstelle 270 auf einem Substrat.
  • Zudem können der erste Prozessor 110 und der zweite Prozessor 210 durch entsprechende Kerne einer Mehrkern-CPU realisiert sein. Zudem können der erste Prozessor 110 und der zweite Prozessor 210 zwei virtuelle Prozessoren sein, die von einem physischen Prozessor durch eine Virtualisierungstechnik virtualisiert sind. Zudem können der erste Hauptspeicher 130 und der zweite Hauptspeicher 230, und der erste Speicher 150 und der zweite Speicher 250 auch durch einen Hauptspeicher und Speicher realisiert sein. In diesem Fall sind verfügbare Speicherbereiche des Hauptspeichers und des Speichers im Voraus für jeden Prozessor zugewiesen. Zudem können die erste Schnittstelle 170 und die zweite Schnittstelle 270 durch eine Schnittstelle realisiert sein. In diesem Fall können das erste Netzwerk N1 und das zweite Netzwerk N2 virtuell durch Software getrennt sein.
  • Die Gatewayvorrichtung 11 gemäß der vierten Ausführungsform kann die Software der Komponente 12 durch die gleiche Verarbeitung wie die der ersten Ausführungsform aktualisieren.
  • Obwohl eine Ausführungsform im Detail mit Bezug auf die Zeichnungen beschrieben wurde, ist die spezifische Konfiguration nicht auf die eine oben beschriebene beschränkt, und verschiedene Designänderungen und dergleichen können durchgeführt werden.
  • Zum Beispiel kann, in einer anderen Ausführungsform, die Gatewayvorrichtung 11 drei oder mehr Substrate enthalten. Zudem können, in einer anderen Ausführungsform, die Funktionen der Mehrzahl an Substraten, die in der Gatewayvorrichtung 11 enthalten sind, sich von denen in den oben beschriebenen Ausführungsformen unterscheiden.
  • Zudem können, in einer anderen Ausführungsform, der Softwareverwaltungsserver 50 und der Komponentenverwaltungsserver 30 durch eine Vorrichtung realisiert sein, anstatt dass sie getrennte Vorrichtungen sind.
  • Zudem bestimmt, in der zweiten Ausführungsform, die Gatewayvorrichtung 11, ob die Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, die Funktion des Anwendens der Unterschiedsdaten aufweist oder nicht, jedoch ist die vorliegende Erfindung nicht darauf beschränkt. Zum Beispiel ist bekannt, dass die Komponente 12, die mit dem zweiten Substrat 200 verbunden ist, immer die Funktion des Anwendens der Unterschiedsdaten aufweist, und die Komponente 12, die mit dem ersten Substrat 100 verbunden ist, die Funktion des Anwendens der Unterschiedsdaten nicht immer aufweist. In diesem Fall kann die Bestimmungseinheit 217 bestimmen, ob die Unterschiedsdaten angewendet werden sollen oder nicht, indem bestimmt wird, mit welchem Substrat die Komponente 12, bei der es sich um ein Aktualisierungsziel handelt, verbunden ist.
  • [Industrielle Anwendbarkeit]
  • Gemäß der vorliegenden Offenbarung kann die Software der Komponenten der Arbeitsmaschine aktualisiert werden, indem die Unterschiedsdaten verwendet werden.
  • Bezugszeichenliste
  • 1
    Softwareaktualisierungssystem
    10
    Arbeitsmaschine
    11
    Gatewayvorrichtung
    12
    Komponente
    30
    Komponentenverwaltungsserver
    50
    Softwareverwaltungsserver
    100
    Erstes Substrat
    111
    Eingabeeinheit
    112
    Zugriffseinheit
    113
    Aktualisierungseinheit
    114
    Ausgabeeinheit
    200
    Zweites Substrat
    211
    Empfangseinheit
    212
    Ausgabeeinheit
    213
    Eingabeeinheit
    214
    Zugriffseinheit
    215
    Softwareerzeugungseinheit
    216
    Übertragungseinheit
    311
    Unterschiedsdaten-Empfangseinheit
    312
    Aktualisierungsziel-Identifikationseinheit
    313
    Artikelnummer-Bestätigungseinheit
    314
    Aktualisierungsanweisungs-Übertragungseinheit
    315
    Tabellenaktualisierungseinheit
    511
    Softwareaufzeichnungseinheit
    512
    Unterschiedsdaten-Erzeugungseinheit
    513
    Unterschiedsdaten-Übertragungseinheit
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2020031851 [0002]

Claims (6)

  1. Softwareaktualisierungssystem für Komponenten einer Arbeitsmaschine, das Software einer ersten Komponente einer Arbeitsmaschine aktualisiert, wobei das Softwareaktualisierungssystem umfasst: eine Empfangseinheit, die eingerichtet ist, Unterschiedsdaten zum Aktualisieren der ersten Komponente, die über ein internes Netzwerk der Arbeitsmaschine verbunden ist, über ein externes Netzwerk zu empfangen; eine Softwareerfassungseinheit, die eingerichtet ist, erste Software, die von der ersten Komponente gespeichert und ausgeführt wird, von der ersten Komponente zu erfassen; eine Softwareerzeugungseinheit, die eingerichtet ist, zweite Software zu erzeugen, indem die Unterschiedsdaten auf die erste Software angewendet werden; und eine Softwareausgabeeinheit, die eingerichtet ist, die erzeugte zweite Software an die erste Komponente auszugeben.
  2. Softwareaktualisierungssystem für Komponenten einer Arbeitsmaschine nach Anspruch 1, wobei die Softwareerzeugungseinheit an einer zweiten Komponente, die sich von der ersten Komponente unterscheidet, angebracht ist.
  3. Softwareaktualisierungssystem für Komponenten einer Arbeitsmaschine nach Anspruch 1 oder 2, ferner umfassend: einen ersten Prozessor und einen zweiten Prozessor, die miteinander so verbunden sind, dass sie miteinander kommunizieren können, wobei der erste Prozessor mit der ersten Komponente zum Steuern der Arbeitsmaschine verbunden ist, der zweite Prozessor mit der ersten Komponente zum Erweitern einer Funktion der Arbeitsmaschine verbunden ist, und der zweite Prozessor eingerichtet ist, als die Softwareerzeugungseinheit zu dienen.
  4. Softwareaktualisierungssystem für die Komponenten einer Arbeitsmaschine nach Anspruch 3, wobei die Softwareerzeugungseinheit die zweite Software in Bezug auf die erste Komponente, die mit dem ersten Prozessor verbunden ist, erzeugt.
  5. Softwareaktualisierungssystem für Komponenten einer Arbeitsmaschine nach einem der Ansprüche 1 bis 4, ferner umfassend: eine Artikelnummer-Erfassungseinheit, die eingerichtet ist, eine Artikelnummer der ersten Software der ersten Komponente von der ersten Komponente zu erfassen, nachdem die erzeugte zweite Software an die erste Komponente ausgegeben wird; und eine Aktualisierungsbestimmungseinheit, die eingerichtet ist, zu bestimmen, ob die erste Software der ersten Komponente aktualisiert wurde oder nicht, auf der Grundlage der erfassten Artikelnummer.
  6. Verfahren der Aktualisierung von Software für Komponenten einer Arbeitsmaschine, das Software einer ersten Komponente einer Arbeitsmaschine aktualisiert, wobei das Verfahren umfasst: einen Schritt des Empfangens von Unterschiedsdaten zur Aktualisierung der ersten Komponente, die über ein erstes Netzwerk der Arbeitsmaschine verbunden ist, über ein externes Netzwerk; einen Schritt des Erfassens von erster Software, die durch die erste Komponente gespeichert und ausgeführt wird, von der ersten Komponente; einen Schritt des Erzeugens von zweiter Software, indem die Unterschiedsdaten auf die erste Software angewendet werden; und einen Schritt des Ausgebens der erzeugten zweiten Software an die erste Komponente.
DE112021000418.2T 2020-02-27 2021-02-26 Softwareaktualisierungssystem und Softwareaktualisierungsverfahren für Arbeitsmaschinenkomponente Pending DE112021000418T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2020031851A JP2021135777A (ja) 2020-02-27 2020-02-27 作業機械のコンポーネントのソフトウェア更新システムおよびソフトウェア更新方法
JP2020-031851 2020-02-27
PCT/JP2021/007406 WO2021172526A1 (ja) 2020-02-27 2021-02-26 作業機械のコンポーネントのソフトウェア更新システムおよびソフトウェア更新方法

Publications (1)

Publication Number Publication Date
DE112021000418T5 true DE112021000418T5 (de) 2022-10-27

Family

ID=77491223

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021000418.2T Pending DE112021000418T5 (de) 2020-02-27 2021-02-26 Softwareaktualisierungssystem und Softwareaktualisierungsverfahren für Arbeitsmaschinenkomponente

Country Status (6)

Country Link
US (1) US20230082152A1 (de)
JP (1) JP2021135777A (de)
KR (1) KR20220127324A (de)
CN (1) CN115176228A (de)
DE (1) DE112021000418T5 (de)
WO (1) WO2021172526A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020031851A (ja) 2018-08-29 2020-03-05 株式会社高尾 弾球遊技機

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003076554A (ja) * 2001-09-05 2003-03-14 Sharp Corp ソフトウェア更新システム、それに用いられる携帯情報端末およびサーバ装置、並びにソフトウェア更新方法、そのコンピュータ・プログラムおよびそのプログラムを記録した記録媒体
US7676804B2 (en) * 2004-05-20 2010-03-09 Caterpillar Inc. Systems and method for remotely modifying software on a work machine
US7487499B2 (en) * 2004-10-29 2009-02-03 Caterpillar Inc. Location based software flashing system
AT501688B1 (de) * 2005-04-08 2008-02-15 Keba Ag Verfahren sowie vorrichtung zur sicheren, verwechslungsfreien und ausschliesslichen zuordnung der befehlsgewalt einer bedienperson zu einer steuerbaren technischen einrichtung
EP2207312B1 (de) * 2009-01-07 2012-04-18 ABB Research Ltd. IED für und Verfahren zum Erstellen eines SA-Systems
JP5554856B1 (ja) 2013-03-14 2014-07-23 株式会社小松製作所 作業機械
US20150074749A1 (en) * 2013-09-10 2015-03-12 Rockwell Automation Technologies, Inc. Remote asset management services for industrial assets
JP2016170669A (ja) * 2015-03-13 2016-09-23 富士通株式会社 負荷分散機能配備方法、負荷分散機能配備装置および負荷分散機能配備プログラム
US11874716B2 (en) * 2015-08-05 2024-01-16 Suunto Oy Embedded computing device management
EP3358465B1 (de) * 2015-09-29 2024-04-17 Hitachi Astemo, Ltd. Fahrzeuginterne steuerungsvorrichtung, programmaktualisierungssystem und programmaktualisierungssoftware
JP2017156937A (ja) * 2016-03-01 2017-09-07 ヤンマー株式会社 端末装置およびソフトウェア書き換えプログラム
JP2018055615A (ja) * 2016-09-30 2018-04-05 株式会社デンソーテン 情報処理装置、情報処理システム、及び、情報処理方法
US10594555B2 (en) * 2016-12-16 2020-03-17 Intelligent Platforms, Llc Cloud-enabled testing of control systems
JP7262199B2 (ja) * 2018-09-28 2023-04-21 株式会社小松製作所 作業機械のデータ収集装置、作業機械のデータ提供システム及び作業機械のデータ収集方法
JP6902722B2 (ja) * 2019-03-07 2021-07-14 パナソニックIpマネジメント株式会社 プログラム更新システム、制御システム、移動体、プログラム更新方法及びプログラム
US20200311601A1 (en) * 2019-03-29 2020-10-01 Optum, Inc. Hybrid rule-based and machine learning predictions

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020031851A (ja) 2018-08-29 2020-03-05 株式会社高尾 弾球遊技機

Also Published As

Publication number Publication date
JP2021135777A (ja) 2021-09-13
CN115176228A (zh) 2022-10-11
US20230082152A1 (en) 2023-03-16
KR20220127324A (ko) 2022-09-19
WO2021172526A1 (ja) 2021-09-02

Similar Documents

Publication Publication Date Title
DE112015000068B4 (de) Baumaschinensteuersystem und Baumaschinensteuerverfahren
DE102019214032A1 (de) Steuerung einer arbeitsmaschine auf der grundlage erfasster variablen
DE102021100324A1 (de) Steuern der Bewegung einer Maschine unter Verwendung von Sensorfusion
DE112016003771T5 (de) Bauverwaltungssystem, Bauverwaltungsverfahren und Verwaltungsvorrichtung
DE112009001466B4 (de) Neigungsmesser-Messsystem und Verfahren zur Korrektur von bewegungsinduzierten Beschleunigungsfehlern
DE112015000055B4 (de) Steuersystem einer Arbeitsmaschine und Arbeitsmaschine
DE112016003502B4 (de) Bauverwaltungssystem und Formmessverfahren
DE112014000075B4 (de) Steuersystem für Erdbewegungsmaschine und Erdbewegungsmaschine
DE112016003630T5 (de) Bauverwaltungssystem und bauverwaltungsverfahren
DE112019006544T5 (de) Steuersystem für baumaschinen, baumaschine und steuerverfahren für baumaschinen
DE112018001834T5 (de) Bau-Leitungs-Vorrichtung und Bau-Leitungs-Verfahren
DE112016000254B4 (de) Arbeitsausrüstungs-Steuerungsvorrichtung und Arbeitsmaschine
DE102019202577A1 (de) Umwandlung mobiler maschinen in hochpräzise roboter
DE102017109939A1 (de) Identifikation des Betriebs einer Arbeitsmaschine
DE112017002047T5 (de) Verwaltungssystem
DE112017000244T5 (de) Endgerät-vorrichtung, steuerungs-vorrichtung, vorrichtung zum integrieren von daten, arbeitsfahrzeug, bildaufnahme-system, bildaufnahme-verfahren
DE112019000116T5 (de) Bauverwaltungsvorrichtung, anzeigevorrichtung und bauverwaltungsverfahren
DE112019003688T5 (de) Datenerfassungsvorrichtung für baumaschinen, datenbereitstellungssystem für baumaschinen und datenerfassungsverfahren für baumaschinen
DE112019003809T5 (de) Datenerfassungsvorrichtung für eine Baumaschine, Datenbereitstellungssystem für eine Baumaschine und Datenerfassungsverfahren für eine Baumaschine
DE102019220557A1 (de) Verfahren und Messanordnung zum Lokalisieren von mindestens einer Komponente einer Maschine
DE112021000418T5 (de) Softwareaktualisierungssystem und Softwareaktualisierungsverfahren für Arbeitsmaschinenkomponente
DE102021205025A1 (de) Bagger mit verbesserter bewegungserfassung
DE112018003615T5 (de) Arbeitsmaschinensystem und Steuerungsverfahren
DE112018003291T5 (de) Fahrzeugsteuergerät
DE112019001094T5 (de) Vorrichtung zum bestimmen von abmessungen und verfahren zum bestimmen von abmessungen

Legal Events

Date Code Title Description
R012 Request for examination validly filed