-
[Technisches Gebiet]
-
Die offenbarte Ausführungsform betrifft ein Softwareverwaltungssystem, eine Softwareupdatevorrichtung, ein Softwareupdateverfahren und ein Softwareupdateprogramm.
-
[Hintergrundtechnologie]
-
In der Patentliteratur 1 ist ein Wartungsgerät offenbart, das eine Software, die in einem Controller gespeichert ist, der in einer Anwenderwerkstatt aufgestellte Maschinen und Geräte steuert, mit einer über das Internet von einer Verwaltungsvorrichtung auf der Seite des Verkäufers empfangenen Nachbesserungssoftware updatet.
-
[Literatur des Standes der Technik]
-
[Patentliteratur]
-
[Patentliteratur 1]
JP Offenlegungsschrift Nr. 2003-029819
-
[Überblick über die Erfindung]
-
[Durch die Erfindung zu lösende Aufgabe]
-
In den letzten Jahren ist jedoch aus Sorge um die Sicherheit vielerorts ein direkter Anschluss ans Internet innerhalb der Werkstatt verboten, sodass eine Software nicht wie bei der vorstehenden herkömmlichen Technologie von einer externen Verwaltungsvorrichtung über ein Wartungsgerät innerhalb der Werkstatt direkt auf den jeweiligen Controller heruntergeladen und upgedated werden kann.
-
Die vorliegende Erfindung berücksichtigt diesen Problempunkt und beabsichtigt die Bereitstellung eines Softwareverwaltungssystems, einer Softwareupdatevorrichtung, eines Softwareupdateverfahrens und Softwareupdateprogramms, durch die auch bei einem nicht mit außen verbundenen Steuersystem eine Steuerungssoftware sicher und einfach upgedated werden kann.
-
[Mittel zum Lösen der Aufgabe]
-
Um diese Aufgabe zu lösen, wird gemäß einem Aspekt der vorliegenden Erfindung ein Softwareverwaltungssystem verwendet, das ein mit einem ersten Netzwerk verbundenes Steuersystem mit einer Steuervorrichtung oder einem Sensor, welche mittels der Verarbeitung einer updatefähigen Steuerungssoftware steuerbar sind, eine Softwaredistributionsvorrichtung, in der die Steuerungssoftware abgelegt ist und die ausgestaltet ist, über ein zweites Netzwerk die Steuerungssoftware zu senden, und eine Softwareupdatevorrichtung aufweist, die ausgestaltet ist, im mit dem zweiten Netzwerk verbundenen Zustand die Steuerungssoftware von der Softwaredistributionsvorrichtung zu empfangen und abzulegen, und im mit dem ersten Netzwerk verbundenen Zustand die abgelegte Steuerungssoftware an die Steuervorrichtung oder den Sensor zu senden und ein Update erfolgen zu lassen.
-
Ferner wird gemäß einem anderen Aspekt der vorliegenden Erfindung eine Softwareupdatevorrichtung verwendet, die ausgestaltet ist, eine auf bestimmten Schlüsseldaten basierend codierte Steuerungssoftware und die entsprechenden Schlüsseldaten zu empfangen und die Steuervorrichtung oder den Sensor zu veranlassen, die basierend auf den Schlüsseldaten decodierte Steuerungssoftware upzudaten.
-
Ferner wird gemäß einem anderen Aspekt der vorliegenden Erfindung ein Softwareupdateverfahren verwendet, bei dem es sich um ein bei einer Softwareupdatevorrichtung ausgeführtes Softwareupdateverfahren handelt, durch das ausgeführt wird, dass eine auf bestimmten Schlüsseldaten basierend codierte Steuerungssoftware und die entsprechenden Schlüsseldaten empfangen, die empfangenen Schlüsseldaten ausgegeben und die Schlüsseldaten eingegeben werden, und basierend auf den eingegebenen Schlüsseldaten die empfangene Steuerungssoftware decodiert und die Steuervorrichtung oder der Sensor veranlasst wird, die basierend auf den Schlüsseldaten decodierte Steuerungssoftware upzudaten.
-
Ferner wird gemäß einem anderen Aspekt der vorliegenden Erfindung ein Softwareupdateprogramm verwendet, bei dem es sich um ein durch eine Rechenvorrichtung, die eine Softwareupdatevorrichtung aufweist, ausgeführtes Softwareupdateprogramm handelt, durch dessen Ausführung eine codierte Steuerungssoftware und die entsprechenden Schlüsseldaten empfangen, die empfangenen Schlüsseldaten ausgegeben und die Schlüsseldaten eingegeben werden, und basierend auf den eingegebenen Schlüsseldaten die empfangene Steuerungssoftware decodiert und die Steuervorrichtung oder der Sensor veranlasst wird, die basierend auf den Schlüsseldaten decodierte Steuerungssoftware upzudaten.
-
[Wirkungen der Erfindung]
-
Erfindungsgemäß kann auch bei einem nicht mit außen verbundenen Steuersystem eine Steuerungssoftware sicher und einfach upgedated werden.
-
Figurenliste
-
- 1 ist ein Funktionsblockbild, das den schematischen Aufbau des Softwareverwaltungssystems gemäß der Ausführungsform darstellt.
- 2 ist ein Systemblockbild, das den internen Aufbau eines Cloud-Servers darstellt.
- 3 ist ein Systemblockbild, das den internen Aufbau der Updatevorrichtung darstellt.
- 4 ist ein Sequenzdiagramm der Verarbeitungsschritte beim Downloaden der Steuerungssoftware.
- 5 ist ein Sequenzdiagramm der Verarbeitungsschritte beim Updaten der Steuerungssoftware.
- 6 ist ein Sequenzdiagramm der Verarbeitungsschritte beim Uploaden der Softwareupdateinformationen für mit einem Datenfeldnetzwerk verbundene Steuergeräte auf einen Cloud-Server.
- 7 ist eine Darstellung, die ein Beispiel des Registrierungsinhalts einer Login-Historien-Datenbank und dessen Anzeige zeigt.
- 8 ist ein Funktionsblockbild, das den schematischen Aufbau des Softwareverwaltungssystems gemäß eines abgewandelten Beispiels darstellt.
-
[Ausführungsformen der Erfindung]
-
Im Folgenden werden Ausführungsformen der vorliegenden Erfindung mit Referenz auf die Figuren erläutert.
-
<Schematischer Aufbau des Softwareverwaltungssystems>
-
1 ist ein Funktionsblockbild, das den schematischen Aufbau des Softwareverwaltungssystems darstellt, bei dem es sich um eine Ausführungsform der vorliegenden Erfindung handelt.
-
Bei dem Softwareverwaltungssystem der vorliegenden Ausführungsform handelt es sich um ein System, das eine Updateverwaltung derart durchführt, dass es für eine Steuerungssoftware der jeweiligen Steuergeräte, mit denen eine Maschinenanlage in einer Produktionswerkstatt ausgerüstet ist, eine höhere Version (mit einer neuen Versionszahl) von einem Cloud-Server über das Internet verteilt.
-
In 1 weist ein Softwareverwaltungssystem 1 eine Maschinenanlage 2, einen Cloud-Server 3 und eine Updatevorrichtung 4 auf. In 1 ist die Verbindung der Signalleitungen zum Senden und Empfangen der Informationssignale zwischen den vorstehenden jeweiligen Strukturelementen dargestellt, wobei deren jeweiliger innerer Aufbau im Folgenden erläutert wird. Im Folgenden werden die vorstehenden einzelnen Strukturelemente kurz erläutert.
-
Bei der Maschinenanlage 2 (dem Steuersystem) handelt es sich bei dem dargestellten Beispiel z. B. um eine mittels mehrerer Motoren antriebsgesteuerte Produktionsmaschine, die eine übergeordnete Steuervorrichtung 21, mehrere Motorsteuervorrichtungen 22, mit den einzelnen Motorsteuervorrichtungen 22 jeweils verbundene Motoren 23 und Encoder 24 und mehrere externe Sensoren 25 (in der Figur als „Sensor“ bezeichnet) aufweist, die mit einem die einzelnen Motorsteuervorrichtungen 22 und die einzelnen Encoder 23 verbindenden, im Folgenden erläuterten Feldnetzwerk ferner seriell geschaltet sind.
-
Damit die mehreren Motoren 23, die die betreffende Maschinenanlage 2 aufweist, koordiniert gesteuert werden, weist die übergeordnete Steuervorrichtung 21 die Funktion auf, während sie von den einzelnen Motorsteuervorrichtungen 22 verschiedene Zustandsinformationen empfängt, auf der Basis dieser Zustandsinformationen an die einzelnen Motorsteuervorrichtungen 22 individuelle Steuerbefehle zu senden. Die übergeordnete Steuervorrichtung 21 ist über ein auf die Maschinensteuerung spezialisiertes sogenanntes Feldnetzwerk 26a (erstes Netzwerk; z. B. MECHATROLINK®) mit den einzelnen Motorsteuervorrichtungen 22 derart verbunden, dass Informationen gesendet und empfangen werden können. Ferner wird ein Senden und Empfangen von Informationen dadurch möglich, dass die übergeordnete Steuervorrichtung 21 mit der im Folgenden erwähnten Updatevorrichtung 4 über ein Kabel (bei dem dargestellten Beispiel ein USB-Kabel 27) verbunden ist.
-
Die Motorsteuervorrichtung 22 weist die Funktion auf, während sie von dem Encoder 24 und dem externen Sensor 25 verschiedene Zustandsinformationen empfängt, auf der Basis dieser Zustandsinformationen und von der übergeordneten Steuervorrichtung 21 empfangener Steuerbefehle eine elektrische Antriebsleistung zum Steuern des Motors 23 zuzuführen. Ferner sendet die Motorsteuervorrichtung 22 die empfangenen Zustandsinformationen auch an die übergeordnete Steuervorrichtung 21. Die Motorsteuervorrichtung 22 ist über ein auf das Senden und Empfangen von Zustandsinformationen spezialisiertes sogenanntes Feldnetzwerk 26b (erstes Netzwerk; bei dem dargestellten Beispiel Σ-LINK®) derart verbunden, dass von dem Encoder 24 und dem externen Sensor 25 Informationen gesendet und empfangen werden können. Übrigens entsprechen die vorstehende übergeordnete Steuervorrichtung 21 und die Motorsteuervorrichtung 22 der in den jeweiligen Ansprüchen angegebenen Steuervorrichtung und der Encoder 24 und der externe Sensor 25 dem in den jeweiligen Ansprüchen angegebenen Sensor. Ferner wird ein Senden und Empfangen von Informationen dadurch möglich, dass die Motorsteuervorrichtung 22 mit der im Folgenden erwähnten Updatevorrichtung 4 über ein Kabel (z. B. ein USB-Kabel) verbunden ist (nicht speziell dargestellt).
-
Bei dem Cloud-Server 3 (der Softwaredistributionsvorrichtung) handelt es sich um einen auf der Seite des Herstellers der verschiedenen Arten von Steuergeräten wie der von der Maschinenanlage 2 umfassten übergeordneten Steuervorrichtung 21, den Motorsteuervorrichtungen 23, den Encodern 24 und den externen Sensoren 25 vorgesehenen Server, der über ein weiträumiges Netzwerk (zweites Netzwerk) wie z. B. ein Internet 5 derart verbunden ist, dass ein Senden und Empfangen von Informationen an die/von der Produktionswerkstatt 6 möglich ist. Der Cloud-Server 3 speichert eine höhere verbesserte Version der Steuerungssoftware (in der Figur kurz als „Software“ bezeichnet), die in den vorstehenden jeweiligen Steuergeräten abgelegt ist und die Steuerung durchführt, und weist die Funktion auf, diese zu verteilen (im Folgenden als Downloaden bezeichnet) und z. B. die Updateinformationen zu verwalten. Übrigens wird der innere Aufbau des Cloud-Servers 3 im Folgenden konkret beschrieben (vgl. die im Folgenden beschriebene 2).
-
Die Updatevorrichtung 4 (Softwareupdatevorrichtung) besteht in dem dargestellten Beispiel aus einem leicht zu transportierenden und bewegenden Mehrzweck-Personal Computer eines Notebookformats (im Folgenden als Notebook bezeichnet), und weist die Funktion auf, mittels einer auf seinem OS (Operationssystem) laufenden Tool Application (Softwareupdateprogramm) verschiedene Verarbeitungen bezüglich der Steuerungssoftware und der Geräteinformationen auszuführen. Die Updatevorrichtung 4 ist über das USB-Kabel 27 mit der übergeordneten Steuervorrichtung 21, über das USB-Kabel mit den Motorsteuervorrichtungen 22 (nicht dargestellt) und über das Internet 5 mit dem Cloud-Server 3 verbindbar. Übrigens wird der Verarbeitungsaufbau der auf der Updatevorrichtung 4 laufenden Tool Application im Folgenden konkret beschrieben (vgl. die im Folgenden beschriebene 3).
-
<Merkmale der vorliegenden Ausführungsform>
-
Maschinenanlagen 2 bei einer solchen Fabrikautomatisierung sind häufig als Steuersystem aufgebaut, bei dem mittels sogenannter Feldnetzwerke 26, 26a und 26b verbundene verschiedene Steuervorrichtungen (einschließlich der übergeordneten Steuervorrichtung 21 und der Motorsteuervorrichtungen 22) und verschiedene Sensoren koordiniert agieren. Diese Steuervorrichtungen und Sensoren werden jeweils durch eine Verarbeitung der abgelegten Steuerungssoftware gesteuert, wobei bezüglich der jeweiligen Steuerungssoftware außerdem eine verbesserte höhere Version über das Feldnetzwerk 26 empfangen und upgedatet werden kann. Dann wird in den letzten Jahren auf dem auf der Seite der Hersteller der jeweiligen Steuervorrichtungen und Sensoren bereitgestellten Cloud-Server 3 die Steuerungssoftware einer höheren Version abgelegt, sodass ein Benutzer diese über das Internet 5 downloaden kann.
-
Andererseits wird unter Berücksichtigung der Sicherheit, d. h. um ein Durchsickern geheimer Informationen zu verhindern und als Maßnahme gegen eine Cyber-Attacke häufig ein direkter Anschluss des Feldnetzwerks 26 an das Internet 5 verboten und ein dauerhafter Isolierungszustand beibehalten, wobei in einem solchen Fall ein direktes Downloaden und Updaten der Steuerungssoftware von dem Cloud-Server 3 auf die einzelnen Steuervorrichtungen und Sensoren nicht möglich ist.
-
Demgegenüber ist bei der vorliegenden Ausführungsform die Updatevorrichtung 4 vorgesehen, die in einem mit dem Internet 5 verbundenen Zustand von dem Cloud-Server 3 die Steuerungssoftware empfängt und ablegt, und in einem mit dem Feldnetzwerk 26 verbundenen Zustand die abgelegte Steuerungssoftware an die Steuervorrichtungen oder die Sensoren sendet und updatet. Besteht die Updatevorrichtung 4 aus einem transportier- und bewegbaren Informationsendgerät wie z. B. dem vorstehenden Notebook, wird im mit dem Internet 5 verbundenen Zustand die erforderliche höhere Version der Steuerungssoftware von dem Cloud-Server 3 heruntergeladen. Anschließend wird die Verbindung der Updatevorrichtung 4 mit dem Internet 5 getrennt und in einem umgeschalteten Verbindungszustand mit dem Feldnetzwerk 26 über das separate USB-Kabel 27 und die übergeordnete Steuervorrichtung 21 oder das USB-Kabel und die Motorsteuervorrichtung 22 (nicht dargestellt) wird die Steuerungssoftware an die einzelnen Steuervorrichtungen und Sensoren gesendet und upgedated. Auf diese Weise kann durch die Umschaltungsverbindung der Updatevorrichtung 4 mit dem Internet 5 und dem Feldnetzwerk 26, während ein dauerhafter physikalischer Isolierungszustand zwischen den beiden Netzwerken aufrechterhalten wird, mittels einer heruntergeladenen Steuerungssoftware upgedatet werden. Der für die vorstehende Softwareverwaltung erforderliche Aufbau und deren Abfolge wird im Folgenden der Reihe nach erläutert.
-
<Konkreter Aufbau des Cloud-Servers>
-
2 zeigt ein Systemblockbild, das den internen Aufbau des vorstehenden Cloud-Servers 3 darstellt. In 2 weist der Cloud-Server 3 eine mit dem Internet 5 verbundene Verarbeitungskomponente 31, Softwarespeicherkomponenten 32, in denen verschiedene Steuerungssoftware abgelegt wird, und eine Login-Historien-Datenbank 33 auf, die Login-Historien speichert.
-
Die Verarbeitungskomponente 31 weist die Funktion auf, entsprechend der Bedienung eines in den betreffenden Cloud-Server 3 eingeloggten Bedieners eine Verarbeitung, durch die eine in den vorstehenden Softwarespeicherkomponenten 32 abgelegte Steuerungssoftware codiert und heruntergeladen wird, und eine Verarbeitung, durch die während des Einloggens gesendete und empfangene Informationen in der Login-Historien-Datenbank 33 registriert werden, auszuführen. Die Verarbeitungskomponente 31 weist eine Login-Authentifizierungskomponente 34, eine Login-Historien-Verwaltungskomponente 35, eine Software-Verwaltungskomponente 36, eine Lizenzschlüssel-Ausstellungskomponente 37, eine Codierungskomponente 38 und eine Serverinformationen-Sende-/Empfangskomponente 39 auf.
-
Die Login-Authentifizierungskomponente 34 weist die Funktion auf, einem über das Internet 5 zugreifenden externen Endgerät (in diesem Beispiel die Updatevorrichtung 4) mittels einer Abgleichbeurteilung der von dort empfangenen Account-Informationen (z. B. dem Account-Namen, einem Passwort usw.) die Erlaubnis zum Einloggen zu authentifizieren.
-
Die Login-Historien-Verwaltungskomponente 35 funktioniert derart, dass sie entsprechend des durch die Login-Authentifizierungskomponente 34 zum Einloggen authentifizierten Login-Accounts die Historie des Datums und der Uhrzeit des betreffenden Einloggens, den Inhalt der währenddessen erfolgten Bedienung und die gesendeten und empfangenen Informationen in der Login-Historien-Datenbank 33 registriert und verwaltet.
-
Die Software-Verwaltungskomponente 36 funktioniert derart, dass sie für die Softwarespeicherkomponente 32 das Ablegen und Erwerben der Steuerungssoftware verwaltet. Konkret führt sie eine Verarbeitung zum Erwerben der Steuerungssoftware aus, die der Downloadanforderung von dem zum Einloggen authentifizierten externen Endgerät entspricht. Ferner führt die Software-Verwaltungskomponente 36 auch eine Verarbeitung zum Ablegen einer von einem Betreiber des betreffenden Cloud-Servers 3 (Verwalter auf der Seite des Herstellers; nicht speziell dargestellt) hochgeladenen Steuerungssoftware in der Software-Speicherkomponente 32 aus. Die zu diesem Zeitpunkt abgelegte Steuerungssoftware ist nicht codiert, und als Versionszahl kann entweder nur die aktuellste Version, oder es können auch mehrere verschiedene Versionszahlen individuell ablegt werden.
-
Die Lizenzschlüssel-Ausstellungskomponente 37 funktioniert derart, dass sie jedes Mal, wenn sie von einem externen Endgerät eine Downloadanforderung empfängt, einen individuellen Lizenzschlüssel (Schlüsseldaten) ausstellt. Der Lizenzschlüssel wird z. B. mit einer bestimmten Anzahl von Zeichen (bei dem im Folgenden in 7 dargestellten Beispiel sind es acht Zeichen) zufällig ausgewählter Großbuchstaben und Kleinbuchstaben umfassender alphanumerischer Textdaten automatisch generiert.
-
Die Codierungskomponente 38 funktioniert derart, dass sie eine von der Software-Verwaltungskomponente 36 entsprechend der Downloadanforderung von einem externen Endgerät erworbene Steuerungssoftware mit dem von der Lizenzschlüssel-Ausstellungskomponente 37 ausgestellten Lizenzschlüssel als Codierungsschlüssel (Schlüsseldaten) codiert. Bei der Codierungsverarbeitung kann bezüglich des Lizenzschlüssels einfach ein Passwort genutzt werden, das zum Zeitpunkt der Decodierung angefordert wird, es kann jedoch auch eine den Dateninhalt des Lizenzschlüssels widerspiegelnde Codierungsverarbeitung durchgeführt werden.
-
Die Serverinformationen-Sende-/Empfangskomponente 39 funktioniert derart, dass sie einerseits auf einem Protokoll der internetkommunikation beruhend über das Internet 5 die Account-Informationen, die Bedienungsinformationen während des Einloggens und das später erwähnte Softwareupdate (die Geräteinformationen) von dem externen Endgerät empfängt, und andererseits die codierte Steuerungssoftware, den Lizenzschlüssel usw. über das Internet 5 an das zum Einloggen authentifizierte externe Endgerät sendet.
-
Übrigens werden die konkreten Verarbeitungsschritte der die vorstehenden jeweiligen Funktionskomponenten nutzenden Verarbeitungskomponente 31 im Folgenden genau beschrieben (vgl. die im Folgenden beschriebene 4 und 6).
-
<Konkreter Aufbau der Updatevorrichtung>
-
3 zeigt ein Systemblockbild, das den internen Aufbau der vorstehenden Updatevorrichtung 4 darstellt. In dem in 3 dargestellten Beispiel besteht die Updatevorrichtung 4 aus einem wie vorstehend erwähnten Mehrzweck-Notebook, das mittels einer auf seinem OS laufenden Tool Application 41 verschiedene Verarbeitungen bezüglich der Steuerungssoftware und der Gerätinformationen ausführt. Die auf der Updatevorrichtung 4 laufende Tool Application 41 weist jeweilige Softwareblöcke einer Internetinformationen-Sende-/Empfangskomponente 42, einer Login-Antragskomponente 43, einer Lizenzschlüsselanzeigekomponente 44, einer Lizenzschlüsseleingabekomponente 45, einer Decodierungskomponente 46 und einer USB-Informationen-Sende-/Empfangskomponente 47 auf.
-
Die Internetinformationen-Sende-/Empfangskomponente 42 (Empfängerkomponente) funktioniert derart, dass sie einerseits auf einem Protokoll der Internetkommunikation beruhend über das Internet 5 die Account-Informationen, die Bedienungsinformationen während des Einloggens, die später erwähnten Softwareupdateinformationen usw. an den Cloud-Server 3 sendet, und andererseits die codierte Steuerungssoftware, den Lizenzschlüssel usw. über das Internet 5 von dem eingeloggten Cloud-Server 3 empfängt. Bei dem Beispiel der vorliegenden Ausführungsform löscht im Übrigen die Internetinformationen-Sende-/Empfangskomponente 42 nach dem Senden der den Lizenzschlüssel umfassenden später beschriebenen Softwareupdateinformationen an den Cloud-Server 3 die betreffenden Softwareupdateinformationen mitsamt des Lizenzschlüssels von den verschiedenen Speichervorrichtungen (Speicher, HDD (Hard Disk Drive), externe Speichervorrichtung usw.; nicht speziell dargestellt).
-
Die Login-Antragskomponente 43 funktioniert derart, dass sie für den über das Internet 5 zugreifenden Cloud-Server 3 Account-Informationen sendet und die Erlaubnis zum Einloggen beantragt.
-
Die Lizenzschlüsselanzeigekomponente 44 (Ausgabekomponente) funktioniert derart, dass sie einerseits die codierte Steuerungssoftware und andererseits den von dem Cloud-Server 3 heruntergeladenen Lizenzschlüssel auf einer Anzeigevorrichtung wie einem Display usw. (nicht speziell dargestellt) anzeigt. Bei der vorliegenden Ausführungsform zeigt die Lizenzschlüsselanzeigekomponente 44 im Übrigen den Lizenzschlüssel nur während des Einloggens an, bei dem der Lizenzschlüssel heruntergeladen wurde und sie löscht den Lizenzschlüssel nach dem Beenden des Einloggens von den verschiedenen Speichervorrichtungen.
-
Ferner funktionieren bei dem Beispiel der vorliegenden Ausführungsform die Internetinformationen-Sende-/Empfangskomponente 42, die Login-Antragskomponente 43 und die Lizenzschlüsselanzeigekomponente 44 nur dann, wenn die betreffende Updatevorrichtung 4 nicht über das USB-Kabel 27 mit anderen Steuergeräten verbunden ist, und außerdem während sie mit dem Internet 5 verbunden sind.
-
Die Lizenzschlüsseleingabekomponente 45 (Eingabekomponente) funktioniert derart, dass sie über eine Eingabevorrichtung wie eine Tastatur usw. (nicht speziell dargestellt) die Eingabe des Lizenzschlüssels von einem Benutzer annimmt.
-
Die Decodierungskomponente 46 funktioniert derart, dass sie die im codierten Zustand von der Internetinformationen-Sende-/Empfangskomponente 42 empfangene Steuerungssoftware auf der Basis des Lizenzschlüssels, dessen Eingabe die Lizenzschlüsseleingabekomponente 45 angenommen hat, decodiert. Bei der Decodierungsverarbeitung erfolgt in Übereinstimmung mit dem gleichen Codierungsalgorithmus wie die Codierungskomponente 38 des Cloud-Servers 3, eine Decodierungsverarbeitung mittels des Lizenzschlüssels.
-
Die USB-Informationen-Sende-/Empfangskomponente 47 (Updatekomponente) funktioniert einerseits derart, dass sie beruhend auf dem Protokoll der USB-Kommunikation die Steuerungssoftware im decodierten Zustand und deren Sendeadresseninformationen (z. B. die ID der upzudatenden Maschine) über das USB-Kabel 27 an die übergeordnete Steuervorrichtung 21 sendet, und andererseits die Maschineninformationen der jeweiligen Steuergeräte, die mit dem Feldnetzwerk 26 verbunden sind, über das USB-Kabel 27 von der übergeordneten Steuervorrichtung 21 empfängt. Auch wenn dies nicht speziell dargestellt ist, funktioniert die USB-Informationen-Sende-/Empfangskomponente 47 (Updatekomponente) einerseits derart, dass sie beruhend auf dem Protokoll der USB-Kommunikation die Steuerungssoftware im decodierten Zustand und deren Sendeadresseninformationen (z. B. die ID der upzudatenden Maschine) über das USB-Kabel an die Motorsteuervorrichtung 22 sendet, und andererseits die Maschineninformationen der jeweiligen Steuergeräte, die mit dem Feldnetzwerk 26 verbunden sind, über das USB-Kabel von der Motorsteuervorrichtung 22 empfängt. Bei dem Beispiel der vorliegenden Ausführungsform löscht im Übrigen die USB-Informationen-Sende-/Empfangskomponente 47 nach dem Senden der Steuerungssoftware im decodierten Zustand die Steuerungssoftware aus den verschiedenen Speichervorrichtungen.
-
Ferner funktionieren bei dem Beispiel der vorliegenden Ausführungsform die Lizenzschlüsseleingabekomponente 45, die Decodierungskomponente 46 und die USB-Informationen-Sende-/Empfangskomponente 47 nur dann, wenn die betreffende Updatevorrichtung 4 nicht mit dem Internet 5 verbunden ist, und außerdem während sie über das USB-Kabel 27 mit der übergeordneten Steuervorrichtung 21 (oder der Motorsteuervorrichtung 22) verbunden ist.
-
Übrigens werden die konkreten Verarbeitungsschritte der die vorstehenden jeweiligen Funktionskomponenten nutzenden Tool Application 41 im Folgenden genau beschrieben (vgl. die im Folgenden beschriebene 4, 5 und 6).
-
Bezüglich der übergeordneten Steuervorrichtung 21 kann ferner, auch wenn dies nicht speziell dargestellt ist, von den mit dem Feldnetzwerk 26 (z. B. MECHATROLlNK® oder Σ-LINK®) verbundenen sämtlichen Steuergeräten (Motorsteuervorrichtung 22 einschließlich der übergeordneten Steuervorrichtung 21, Encoder 24 und externer Sensor 25) an ein bestimmtes Gerät die Steuerungssoftware gesendet und die Updatesequenz ausgeführt werden. Ferner kann die übergeordnete Steuervorrichtung 21 von den mit dem Feldnetzwerk 26 verbundenen sämtlichen Steuergeräten für ein bestimmtes Gerät jeweils die Geräteinformationen anfordern und empfangen. Als diese Geräteinformationen gibt es z. B. den Gerätetyp oder die Seriennummer des Steuergeräts.
-
Ferner kann bezüglich der Motorsteuervorrichtung 22, auch wenn dies nicht speziell dargestellt ist, von den mit dem Feldnetzwerk 26b (bei dem in der vorstehenden 1 dargestellten Beispiel Σ-LINK®) verbundenen sämtlichen Steuergeräten (Encoder 24 einschließlich der Motorsteuervorrichtung 22 und externer Sensor 25) an ein bestimmtes Gerät die Steuerungssoftware gesendet und die Updatesequenz ausgeführt werden. Ferner kann die Motorsteuervorrichtung 22 von den mit dem Feldnetzwerk 26b verbundenen sämtlichen Steuergeräten für ein bestimmtes Gerät jeweils die Geräteinformationen anfordern und empfangen. Als diese Geräteinformationen fungieren z. B. der Gerätetyp oder die Seriennummer des Steuergeräts.
-
<Downloadsequenz der Steuerungssoftware>
-
4 stellt ein Sequenzdiagramm der Verarbeitungsschritte beim Downloaden der Steuerungssoftware bei dem Softwareverwaltungssystem 1 der vorliegenden Ausführungsform dar. Bei der in 4 dargestellten Downloadsequenz wird mit der Ausführung begonnen, wenn die Updatevorrichtung 4 mit dem Internet 5 verbunden und außerdem mit der übergeordneten Steuervorrichtung 21 (oder der Motorsteuervorrichtung 22) nicht verbunden ist. Im Übrigen werden die jeweiligen Verarbeitungen, die in der Figur von dem Cloud-Server 3 und der Updatevorrichtung 4 ausgeführt werden, durch die CPU (Rechenvorrichtung), die diese jeweils aufweisen, derart gesteuert, dass sie die jeweiligen Funktionskomponenten der Verarbeitungskomponente 31 oder der Tool Application 41 softwaremäßig ausführen (ebenso im Folgenden in 5 und 6).
-
Zunächst wird in Schritt S1 bestätigt, dass die Updatevorrichtung 4 zu diesem Zeitpunkt in einem mit dem Internet 5 verbundenen und außerdem nicht über das USB-Kabel 27 mit der übergeordneten Steuervorrichtung 21 (oder der Motorsteuervorrichtung 22) verbundenen Zustand ist. Ist im Übrigen zu diesem Zeitpunkt die Updatevorrichtung 4 nicht mit dem Internet 5 verbunden, oder ist sie mit der übergeordneten Steuervorrichtung 21 (oder der Motorsteuervorrichtung 22) verbunden, erfolgt eine Fehlermeldung an den Benutzer und die Verarbeitung der Tool Application 41 wird beendet (nicht speziell dargestellt).
-
Als Nächstes greift in Schritt S2 die Updatevorrichtung 4 mittels der Internetinformationen-Sende-/Empfangskomponente 42 und der Login-Antragskomponente 43 über das Internet 5 auf den Cloud-Server 3 zu, sendet die Account-Informationen und beantragt das Einloggen.
-
Als Nächstes gleicht in Schritt S3 der Cloud-Server 3 mittels der Serverinformationen-Sende-/Empfangskomponente 39 und der Login-Authentifizierungskomponente 34 die empfangenen Account-Informationen ab und sendet bei der Erlaubnis des Einloggens eine Login-Authentifizierung an die Updatevorrichtung 4. Im Übrigen wird für den Fall, dass zu diesem Zeitpunkt ein Einloggen nicht erlaubt werden kann, an die Updatevorrichtung 4 ein Loginfehler gesendet (nicht speziell dargestellt).
-
Als Nächstes sendet in Schritt S4 die Updatevorrichtung 4 mittels der Internetinformationen-Sende-/Empfangskomponente 42 aufgrund einer Bedienung durch den Benutzer die Download-Anforderung der gewünschten Steuerungssoftware an den Cloud-Server 3.
-
Als Nächstes erwirbt in Schritt S5 der Cloud-Server 3 mittels der Software-Verwaltungskomponente 36 die angeforderte Steuerungssoftware von der Softwareablagekomponente 32.
-
Als Nächstes gibt in Schritt S6 der Cloud-Server 3 mittels der Lizenzschlüsselausstellungskomponente 37 einen Lizenzschlüssel aus.
-
Als Nächstes codiert in Schritt S7 der Cloud-Server 3 mittels der Codierungskomponente 38 die in Schritt S5 erworbene Steuerungssoftware auf der Basis des in Schritt S6 ausgegebenen Lizenzschlüssels.
-
Als Nächstes sendet in Schritt S8 der Cloud-Server 3 mittels der Serverinformationen-Sende-/Empfangskomponente 39 die in Schritt S7 codierte Steuerungssoftware und den in Schritt S6 ausgegebenen Lizenzschlüssel an die Updatevorrichtung 4 (Download).
-
Als Nächstes legt in Schritt S9 die Updatevorrichtung 4 mittels der Internetinformationen-Sende-/Empfangskomponente 42 die empfangene Steuerungssoftware im codierten Zustand in der Speichervorrichtung ab.
-
Als Nächstes zeigt in Schritt S10 die Updatevorrichtung 4 mittels der Lizenzschlüsselanzeigekomponente 44 den empfangenen Lizenzschlüssel auf z.B. dem Display an. Zu diesem Zeitpunkt überträgt der Benutzer der Updatevorrichtung 4 den angezeigten Lizenzschlüssel handschriftlich z. B. auf einem separaten Notizzettel 7 (vgl. die vorstehende 1 und 3).
-
Als Nächstes sendet in Schritt S11 die Updatevorrichtung 4 mittels der Internetinformationen-Sende-/Empfangskomponente 42 an den Cloud-Server 3 das Beenden des Einloggens.
-
Als Nächstes registriert in Schritt S12 der Cloud-Server 3, nachdem das Einloggen beendet ist, mittels der Login-Historien-Verwaltungskomponente 35 die Historie der bisherigen das Einloggen betreffenden Account-Informationen, des Bedienungsinhalts und der gesendeten/empfangenen Informationen usw. in der Login-Historien-Datenbank 33.
-
Als Nächstes löscht in Schritt S13 die Updatevorrichtung 4 mittels der Lizenzschlüsselanzeigekomponente 44 den Lizenzschlüssel von der Speichervorrichtung. Damit wird die Downloadsequenz beendet.
-
<Updatesequenz der Steuerungssoftware>
-
Als Nächstes ist in 5 ein Sequenzdiagramm der Verarbeitungsschritte beim Updaten der Steuerungssoftware bei dem Softwareverwaltungssystem 1 der vorliegenden Ausführungsform dargestellt. Bei der in 5 dargestellten Updatesequenz wird mit der Ausführung begonnen, wenn die Updatevorrichtung 4 mit dem Internet 5 nicht verbunden und außerdem mit der übergeordneten Steuervorrichtung 21 (oder der Motorsteuervorrichtung 22) über das USB-Kabel 27 verbunden ist. Bei der vorliegenden Ausführungsform wird im Übrigen die Sequenz in der Annahme erläutert, dass die Updatevorrichtung 4 mit der übergeordneten Steuervorrichtung 21 verbunden ist (im Folgenden ebenso bei 6).
-
Zunächst wird in Schritt S101 bestätigt, dass sich die Updatevorrichtung 4 zu diesem Zeitpunkt in einem über das USB-Kabel 27 mit der übergeordneten Steuervorrichtung 21 verbundenen und außerdem mit dem Internet 5 nicht verbundenen Zustand befindet. Ist im Übrigen zu diesem Zeitpunkt die Updatevorrichtung 4 nicht über das USB-Kabel 27 mit der übergeordneten Steuervorrichtung 21 verbunden oder aber mit dem Internet 5 verbunden, erfolgt eine Fehlermeldung an den Benutzer und die Verarbeitung der Tool Application 41 wird beendet (nicht speziell dargestellt).
-
Als Nächstes nimmt in Schritt S102 die Updatevorrichtung 4 mittels der Lizenzschlüsseleingabekomponente 45 über eine Tastatur usw. die Eingabe des Lizenzschlüssels von einem Benutzer an. Zu diesem Zeitpunkt gibt der Benutzer der Updatevorrichtung 4 den mit Referenz auf den Notizzettel 7 usw. in Schritt S10 der Downloadsequenz handschriftlich übertragenen Lizenzschlüssel ein (vgl. 1 und 3).
-
Als Nächstes decodiert in Schritt S103 die Updatevorrichtung 4 mittels der Decodierungskomponente 46 die in Schritt S9 der Downloadsequenz abgelegte Steuerungssoftware im codierten Zustand auf der Basis des in Schritt S102 eingegebenen Lizenzschlüssels. Ist dabei der Lizenzschlüssel nicht kompatibel mit der codierten Software (d. h. wenn ein Decodieren nicht möglich ist), wird nachdem eine bestimmte Fehlermitteilungsverarbeitung durchgeführt wurde, in Schritt S102 eine Neueingabe des Lizenzschlüssels angefordert.
-
Als Nächstes sendet in Schritt S104 die Updatevorrichtung 4 mittels der USB-Informationen-Sende-/Empfangskomponente 47 die in Schritt S103 decodierte Steuerungssoftware über das USB-Kabel 27 an die übergeordnete Steuervorrichtung 21. Im Zusammenhang damit wird eines der mit dem Feldnetzwerk 26 verbundenen Steuergeräte als Updateadresse der Steuerungssoftware bestimmt.
-
Als Nächstes sendet in Schritt S105 die übergeordnete Steuervorrichtung 21 an das als Updateadresse bestimmte Steuergerät die in Schritt S104 empfangene Steuerungssoftware über das Feldnetzwerk 26 und lässt die Updatesequenz (Updateverarbeitung bei dem Steuergerät) ausführen.
-
Als Nächstes fordert in Schritt S106 die Updatevorrichtung 4 mittels der USB-Informationen-Sende-/Empfangskomponente 47 bei der übergeordneten Steuervorrichtung 21 das Senden der Geräteinformationen der jeweiligen Steuergeräte an.
-
Als Nächstes sendet in Schritt S107 die übergeordnete Steuervorrichtung 21 von den zu diesem Zeitpunkt mit dem Feldnetzwerk 26 verbundenen jeweiligen Steuergeräten die jeweiligen Geräteinformationen.
-
Als Nächstes legt in Schritt S108 die Updatevorrichtung 4 die gesamten Informationen aus den in Schritt S107 empfangenen Geräteinformationen, dem aus der Updatehistorie der Steuerungssoftware (einschließlich der Updatedetails der Versionszahl und deren Updatezeitpunkt) bestehenden Software-Update-Ergebnis und dem Lizenzschlüssel als Software-Update-Informationen in einer Speichervorrichtung ab. Im Übrigen werden die Software-Update-Informationen für jedes einzelne Steuergerät erzeugt, wobei von diesen der Lizenzschlüssel abgelegt wird, der der in den einzelnen Steuergeräten abgelegten Steuerungssoftware entspricht.
-
Als Nächstes löscht in Schritt S109 die Updatevorrichtung 4 mittels der USB-Informationen-Sende-/Empfangskomponente 47 die Steuerungssoftware im decodierten Zustand aus der Speichervorrichtung (der Lizenzschlüssel behält den abgelegten Zustand in der in den Software-Update-Informationen umfassten Form bei). Damit wird die Updatesequenz beendet.
-
Im Übrigen kann für den Fall, dass in der Downloadsequenz mehrere Steuerungssoftware im codierten Zustand abgelegt sind, beim Löschen in Schritt S109 nur die Steuerungssoftware im decodierten Zustand gelöscht wird, die unmittelbar zuvor upgedated wurde, während die übrige, noch nicht upgedatete Steuerungssoftware im decodierten Zustand im abgelegten Zustand bleibt. Andererseits können auch nach der Fertigstellung des Updates der gesamten Steuerungssoftware im decodierten Zustand alle auf einmal gelöscht werden, oder beim Beenden der betreffenden Tool Application die gesamte Steuerungssoftware im decodierten Zustand gelöscht werden.
-
<Uploadsequenz der Software-Update-Informationen>
-
Dann stellt 6 bei dem Software-Verwaltungssystem 1 der vorliegenden Ausführungsform ein Sequenzdiagramm der Verarbeitungsschritte beim Uploaden der Software-Update-Informationen der mit dem Datenfeldnetzwerk 26 verbundenen Steuergeräte auf den Cloud-Server 3 dar. Bei der in 6 dargestellten Uploadsequenz beginnt die Ausführung in dem abgelegten Zustand der aus der in 5 dargestellten Updatesequenz resultierenden Software-Update-Informationen, und wenn außerdem die Updatevorrichtung 4 nicht mit dem Internet 5 verbunden ist und sie über das USB-Kabel 27 mit der übergeordneten Steuervorrichtung 21 verbunden ist.
-
Zunächst wird in Schritt S201 bestätigt, dass sich die Updatevorrichtung 4 zu diesem Zeitpunkt in einem mit dem Internet 5 verbundenen und außerdem nicht über das USB-Kabel 27 mit der übergeordneten Steuervorrichtung 21 verbundenen Zustand befindet. Ist im Übrigen zu diesem Zeitpunkt die Updatevorrichtung 4 nicht mit dem Internet 5 verbunden, oder ist sie mit der übergeordneten Steuervorrichtung 21 verbunden, erfolgt eine Fehlermeldung an den Benutzer und die Verarbeitung der Tool Application 41 wird beendet (nicht speziell dargestellt).
-
Als Nächstes greift in Schritt S202 die Updatevorrichtung 4 mittels der Internetinformationen-Sende-/Empfangskomponente 42 und der Login-Antragskomponente 43 über das Internet 5 auf den Cloud-Server 3 zu, sendet die Account-Informationen und beantragt das Einloggen.
-
Als Nächstes gleicht in Schritt S203 der Cloud-Server 3 mittels der Serverinformationen-Sende-/Empfangskomponente 39 und der Login-Authentifizierungskomponente 34 die empfangenen Account-Informationen ab und sendet bei der Erlaubnis des Einloggens eine Login-Authentifizierung an die Updatevorrichtung 4. Im Übrigen wird für den Fall, dass zu diesem Zeitpunkt ein Einloggen nicht erlaubt werden kann, an die Updatevorrichtung 4 ein Loginfehler gesendet (nicht speziell dargestellt).
-
Als Nächstes sendet in Schritt S204 die Updatevorrichtung 4 mittels der Internetinformationen-Sende-/Empfangskomponente 42 die in Schritt S108 der Updatesequenz abgelegten Software-Update-Informationen an den Cloud-Server 3 (Upload).
-
Als Nächstes bringt in Schritt S205 der Cloud-Server 3 mittels der Serverinformationen-Sende-/Empfangskomponente 39 und der Login-Historien-Verwaltungskomponente 35 die empfangenen Software-Update-Informationen in Entsprechung mit den Account-Informationen des Einloggens und führt eine Registrierung in der Login-Historien-Datenbank 33 durch (vgl. die im Folgenden beschriebene 7).
-
Als Nächstes löscht in Schritt S206 die Updatevorrichtung 4 mittels der Internetinformationen-Sende-/Empfangskomponente 42 die Software-Update-Informationen aus der Speichervorrichtung.
-
Als Nächstes sendet in Schritt S207 die Updatevorrichtung 4 mittels der Internetinformationen-Sende-/Empfangskomponente 42 an den Cloud-Server 3 das Beenden des Einloggens. Damit wird die Uploadsequenz beendet.
-
<Beispiel des Registrierungsinhalts einer Login-Historien-Datenbank>
-
In 7 ist abstrakt ein Beispiel des in Schritt S12 der Downloadsequenz und in Schritt S205 der Uploadsequenz registrierten Registrierungsinhalts der Login-Historien-Datenbank 33 und deren Anzeige dargestellt. Bei dem in 7 dargestellten Beispiel, handelt es sich um die Erstellung eines Registrierungsinhalts, der insgesamt je einer Produktionswerkstatt 6 (vgl. 1) entspricht, wobei nur als mit der Produktionswerkstatt 6 in Beziehung stehende Personen anerkannte Login-Benutzer zu diesem Registrierungsinhalt Zugriff haben, ihn prüfen und updaten können. Im Hinblick auf die Anzeige des Registrierungsinhalts dieses Beispiels sind die einzelnen Informationsposten, das „Logindatum“, der „Loginbenutzer“, der „Gerätetyp“, die „Softwareversion (Versionsnummer)“, der „Lizenzschlüssel“, das „Downloaddatum“ und das „Updatedatum“, jeweils entsprechend der „Nr.“ registriert, die die zeitliche Reihenfolge der bisherigen Loginbedienungen ausdrückt.
-
Dadurch, dass in der Login-Historien-Datenbank 33 zusammen mit den Informationen bezüglich des Einloggens in den Cloudserver 3 auch z. B. Informationen bezüglich der vom Benutzer verwendeten Maschinenanlage 2 und deren Steuerungssoftware registriert werden, können die Informationen des Registrierungsinhalts als sogenannte rückverfolgbare Informationen bezüglich der Historie der Maschinenanlage 2 verwendet werden. Auch wenn dies nicht speziell dargestellt ist, kann der Benutzer der Updatevorrichtung 4, sofern er in den Cloud-Server 3 eingeloggt ist, die rückverfolgbaren Informationen zu einem beliebigen Zeitpunkt in einem eingestellten Bereich (die gesamte Produktionswerkstatt 6 oder einzelne Maschinenanlagen) prüfen, den Updatezustand der einzelnen Steuergeräte feststellen und einen neuen Lizenzschlüssel erwerben.
-
Bei dem dargestellten Beispiel der Login-Historien-Datenbank 33 können sich mehrere unterschiedliche Benutzer jeweils mit individuell erteilten Login-Accounts einloggen, wobei die Anzeige des Registrierungsinhalts mit dem diesem Account entsprechenden Login-Bedienungsstandard erfolgt, wobei jedoch keine Beschränkung hierauf besteht. Ferner kann auch je nach Einstellung der Login-Historien-Verwaltungskomponente 35 eine Registrierung oder Anzeige entsprechend den einzelnen Benutzern, oder eine Registrierung und Anzeige im Tabellenformat erfolgen, sodass sämtliche Typen von Steuergeräten überblickt werden können.
-
<Wirkungen der vorliegenden Ausführungsform>
-
Wie vorstehend erläutert, ist bei dem Softwareverwaltungssystem 1 der vorliegenden Ausführungsform eine Updatevorrichtung 4 vorgesehen, die in einem mit dem Internet 5 verbundenen Zustand von dem Cloud-Server 3 die Steuerungssoftware empfängt und ablegt, und in einem mit dem Feldnetzwerk 26 verbundenen Zustand die abgelegte Steuerungssoftware an die Steuergeräte oder die Sensoren sendet und updated. Bei der vorliegenden Ausführungsform besteht die Updatevorrichtung 4 aus einem transportier- und bewegbaren Notebook, und lädt im mit dem Internet 5 verbundenen Zustand die erforderliche höhere Version der Steuerungssoftware von dem Cloud-Server 3 herunter. Anschließend sendet die Updatevorrichtung 4 in einem mit dem Feldnetzwerk 26 über das separate USB-Kabel 27 und die übergeordnete Steuervorrichtung 21 oder das USB-Kabel und die Motorsteuervorrichtung 22 (nicht dargestellt) indirekt umgeschalteten Verbindungszustand die Steuerungssoftware an die Steuergeräte, sodass sie upgedated werden. Auf diese Weise kann durch die jeweilige Umschaltungsverbindung der Updatevorrichtung 4 mit dem Feldnetzwerk 26 und dem Internet 5, während ein dauerhafter physikalischer Isolierungszustand zwischen den beiden Netzwerken aufrechterhalten wird, mittels der heruntergeladenen Steuerungssoftware upgedatet werden. Dadurch kann auch bei der Maschinenanlage 2 als einem nicht mit außen verbundenen Steuersystem eine Steuerungssoftware sicher und einfach upgedated werden.
-
Im Übrigen erfolgt bei dem in 1 dargestellten Beispiel der vorliegenden Ausführungsform im direkten Verbindungszustand der Updatevorrichtung 4 mit der übergeordneten Steuervorrichtung 21 über das USB-Kabel 27 die Updatesequenz der Steuerungssoftware, wobei hierauf jedoch keine Beschränkung besteht. Des Weiteren kann die Updatevorrichtung 4 auch im über ein separates USB-Kabel mit der Motorsteuervorrichtung 22 direkt verbundenen Zustand diese Updatesequenz ausführen. In diesem Fall wird, ohne dass eine Updatesequenz für die übergeordnete Steuervorrichtung 21 erfolgt, nur die Updatesequenz für die untergeordneten Steuergeräte (Encoder 24, externer Sensor 25) ab der Motorsteuervorrichtung 22 durchgeführt.
-
Ferner führt bei der vorliegenden Ausführungsform insbesondere die Updatevorrichtung 4 die Verarbeitung der Tool Application 41 nur im entweder mit dem Feldnetzwerk 26 oder mit dem Internet 5 verbundenen Zustand aus. Dadurch funktioniert die Updatevorrichtung 4 nur bei einer separaten Verbindung, während bei einer gleichzeitigen Verbindung mit dem Feldnetzwerk 26 und dem Internet 5 die Verarbeitung nicht ausgeführt wird, sodass der Isolierungszustand zwischen den zwei Netzwerken zuverlässig aufrechterhalten und die Sicherheitsfunktion des Feldnetzwerks 26 der Maschinenanlage 2 verbessert werden kann. In diesem Fall sollte die Updatevorrichtung 4 ein mobiles Informationsendgerät sein, bei dem beides, sowohl eine USB-Verbindung als auch eine Internetverbindung möglich ist und das leicht transportier- und bewegbar ist, wobei diese abgesehen von einem Mehrzweck-Notebook wie bei der vorliegenden Ausführungsform auch z. B. ein Aufbau als Engineering-Tool usw. möglich ist.
-
Aufgrund des Sensors kann es sich ferner um eine Anordnung handeln, bei der ein Zugang ohne Demontage der Maschinenanlage 2 nicht möglich ist, sodass selbst wenn es sich bei der Updatevorrichtung 4 um ein leicht transportier- und bewegbares Informationsendgerät handelt, die Handhabung einer direkten Verbindung mit einem derart angeordneten Sensor kompliziert werden kann. Andererseits kann die übergeordnete Steuervorrichtung 21 über das allgemeine Feldnetzwerk 26 ein Senden und Empfangen von Informationen mit anderen Steuergeräten durchführen und ist häufig an einer leicht zugänglichen Position angeordnet. Bei der vorliegenden Ausführungsform ist dabei insbesondere die Updatevorrichtung 4 z. B. über die mit dem USB-Kabel 27 (kein Netzwerk) direkt verbundene übergeordnete Steuervorrichtung 21 indirekt mit dem Feldnetzwerk 26 verbunden. Dadurch kann die Updatevorrichtung 4 einerseits bei der übergeordneten Steuervorrichtung 21 direkt die Steuerungssoftware updaten, und auch bei den Steuergeräten der Motorsteuervorrichtung 22, des Encoders 24 und dem externen Sensor 25 an einer beliebigen Position innerhalb der Maschinenanlage 2 über die übergeordnete Steuervorrichtung 21 und das Feldnetzwerk 26 indirekt die Steuerungssoftware senden und updaten, wodurch der Updatevorgang in den einzelnen Stufen erleichtert wird.
-
Ferner umfasst die Steuerungssoftware häufig technische Informationen, die der Geheimhaltung unterliegen, sodass es zur Verhinderung eines Durchsickerns erforderlich ist, dass nur der Benutzer das Updaten der Steuerungssoftware durchführt, der das Downloaden vorgenommen hat. Bei der vorliegenden Ausführungsform sendet dabei insbesondere der Cloud-Server 3 die auf der Basis eines bestimmten Lizenzschlüssels codierte Steuerungssoftware und den Lizenzschlüssel über das Internet 5 an die Updatevorrichtung 4. Die dies mittels der Internetinformationen-Sende-/Empfangskomponente 42 empfangene Updatevorrichtung 4 zeigt den empfangenen Lizenzschlüssel auf der Lizenzschlüssel-Anzeigekomponente 44 an.
-
Dadurch kann der Benutzer, der das Downloaden vorgenommen hat, den mittels der Anzeige bestätigten Lizenzschlüssel z. B. auf einem separaten Notizzettel 7 aufschreiben, sodass ein Decodieren der Steuerungssoftware nur durch diesen Benutzer möglich ist. Das heißt, selbst wenn die Steuerungssoftware im codierten Zustand nach dem Downloaden z. B. durch einen Dritten widerrechtlich kopiert wird, ist durch keinen anderen als den Benutzer, der das Downloaden vorgenommen hat, eine Decodierung, Verwendung und Analyse möglich, sodass die Geheimhaltung von technischen Informationen und ein widerrechtliches Updaten verhindert werden kann. Im Übrigen ist die Ausgabe des Lizenzschlüssels nicht auf eine Anzeigeausgabe auf z. B. ein Display begrenzt, sondern es kann sich auch um eine Druckausgabe durch z. B. einen Drucker oder eine Sprachausgabe durch ein künstliche Sprachausgabekomponente handeln (nicht speziell dargestellt).
-
Ferner zeigt bei der vorliegenden Ausführungsform insbesondere die Lizenzschlüssel-Anzeigekomponente 44 der Updatevorrichtung 4 den Lizenzschlüssel nur während des Einloggens an, bei dem die Steuerungssoftware und der Lizenzschlüssel empfangen wurde und löscht den Lizenzschlüssel nach Beendigung des Einloggens von der Speichervorrichtung der Updatevorrichtung 4. Daher kann ein Dritter, selbst wenn er nach Beenden des Einloggens unrechtmäßig auf die Updatevorrichtung 4 zugreift, den Lizenzschlüssel nicht auslesen, sodass nur der Benutzer, der die Loginbedienung durchgeführt hat, den Lizenzschlüssel auf dem handgeschriebenen Notizzettel 7 usw. hält und die Geheimhaltung sichergestellt werden kann. Im Übrigen ist es auch möglich, mittels z. B. der OS-Einstellung der Updatevorrichtung 4 den Lizenzschlüssel in Form einer nur für den eingeloggten Benutzer sichtbaren versteckten Datei aufzubewahren.
-
Ferner weist bei der vorliegenden Ausführungsform insbesondere die Updatevorrichtung 4 die Lizenzschlüsseleingabevorrichtung 45 zum Eingeben des Lizenzschlüssels, die Decodierungskomponente 46 zum Decodieren der empfangenen Steuerungssoftware auf der Basis des eingegebenen Lizenzschlüssels und die USB-Informationen-Sende-/Empfangskomponente 47 auf, die die decodierte Steuerungssoftware über das Feldnetzwerk 26 an die Steuergeräte sendet und updatet. Dadurch kann auch ein Benutzer, der den Codierungsalgorithmus nicht kennt, einfach durch das Eingeben des entsprechenden Lizenzschlüssels die Steuerungssoftware automatisch decodieren, und außerdem das Senden an die einzelnen Steuergeräte und Updaten automatisch durchführen.
-
Ferner löscht bei der vorliegenden Ausführungsform insbesondere die USB-Informationen-Sende-/Empfangskomponente 47 der Updatevorrichtung 4 nach dem Updaten die Steuerungssoftware im decodierten Zustand aus der Speichervorrichtung. Dadurch kann, selbst wenn ein Dritter nach der Ausführung des Updatens auf die Updatevorrichtung 4 widerrechtlich zugreift, die Steuerungssoftware im decodierten Zustand nicht ausgelesen werden, sodass die Geheimhaltung der in der Steuerungssoftware enthaltenen technischen Informationen aufrechterhalten und ein unrechtmäßiges Updaten verhindert werden kann. Im Übrigen ist es auch möglich, mittels z. B. der OS-Einstellung der Updatevorrichtung 4 die decodierte Steuerungssoftware in Form einer nur für den eingeloggten Benutzer sichtbaren und bedienbaren versteckten Datei aufzubewahren.
-
Ferner erzeugt bei der vorliegenden Ausführungsform insbesondere der Cloud-Server 3 bei jedem Empfang einer Downloadanforderung der Steuerungssoftware einen neuen Lizenzschlüssel, codiert die Steuerungssoftware auf der Basis dieses Lizenzschlüssels und sendet sie. Dadurch wird ein der jeweiligen Downloadbedienung für die unterschiedliche Steuerungssoftware entsprechender Lizenzschlüssel ausgegeben, sodass selbst z. B. bei der Steuerungssoftware desselben Steuergeräts bei der Decodierung und dem Updaten die Unabhängigkeit der Verwaltung nach Benutzer unterteilt sichergestellt werden kann. Ferner kann ein derartiger Lizenzschlüssel auch als ID für die Identifizierung verwendet werden, mit der bezüglich der heruntergeladenen Datei der Steuerungssoftware nach Login-Account, Benutzer und Downloadbedienung spezifiziert wird. Bei der vorliegenden Ausführungsform erfolgt die Ausgabe eines Lizenzschlüssels pro Downloadbedienung, wobei hierauf jedoch keine Beschränkung besteht. Es ist z. B. auch möglich, dass bei der gleichzeitigen Anforderung eines Downloads unterschiedlicher Steuerungssoftware für die jeweilige Steuerungssoftware jeweils ein Lizenzschlüssel ausgegeben und individuell codiert wird.
-
Ferner sendet bei der vorliegenden Ausführungsform insbesondere der Cloud-Server 3 nur eine Steuerungssoftware für die eingeloggte Updatevorrichtung 4. Dadurch wird ermöglicht, dass nur an die Updatevorrichtung 4 des durch das Einloggen authentifizierten Benutzers die Steuerungssoftware gesendet wird, sodass die Geheimhaltung von technischen Informationen sichergestellt und ein unrechtmäßiges Update verhindert werden kann.
-
Ferner bringt bei der vorliegenden Ausführungsform insbesondere die Login-Historien-Verwaltungskomponente 35 des Cloud-Servers 3 die Softwareinformationen wie den Lizenzschlüssel, den Gerätetyp und die Versionszahl bezüglich der gesendeten Steuerungssoftware in Entsprechung mit dem eingeloggten Benutzer und führt eine Registrierung in der Login-Historien-Datenbank 33 durch. Dadurch können die Softwareinformationen einschließlich des Lizenzschlüssels der heruntergeladenen Steuerungssoftware nach Login-Account, Benutzer und Downloadbedienung getrennt entsprechend verwaltet werden.
-
Ferner erwirbt bei der vorliegenden Ausführungsform insbesondere die Updatevorrichtung 4 die Gerätinformationen wie den Gerätetyp, die Update-Historie usw. bezüglich des Steuergeräts und sendet sie an den Cloud-Server 3, und die Login-Historien-Verwaltungskomponente 35 registriert die empfangenen Geräteinformationen in der Login-Historien-Datenbank 33. Dadurch können die Geräteinformationen bezüglich der einzelnen Steuergeräte auf der Seite der Maschinenanlage 2 in der Login-Historien-Datenbank 33 registriert und diese als Datenbank einzelner rückverfolgbarer Informationen verwaltet werden.
-
Ferner sendet bei der vorliegenden Ausführungsform insbesondere der Cloud-Server 3 an die Updatevorrichtung 4 eines eingeloggten Benutzers die dem Login-Account entsprechende Login-Historie. Dadurch kann spezifiziert werden, welcher andere Benutzer welche Steuerungssoftware heruntergeladen und upgedated hat, sodass eine unrechtmäßige Bedienung usw. erkannt werden kann.
-
<Abgewandelte Beispiele>
-
Im Übrigen sind bei der vorstehend erläuterten Ausführungsform in einem von dem Zweck und der technischen Idee nicht abweichenden Rahmen verschiedene Abwandlungen möglich.
-
<Abgewandeltes Beispiel 1: Individuelle Verbindung von zwei Updatevorrichtungen mit jeweiligen Netzwerken>
-
Bei der vorstehenden Ausführungsform handelt es sich um den Aufbau einer Umschaltverbindung zwischen zwei Netzwerken und einer Updatevorrichtung 4, wobei hierauf jedoch keine Beschränkung besteht. Es ist weiterhin möglich, dass wie in 8 dargestellt, zwei unabhängige Universal-Computer jeweils als Updatevorrichtungen 4A, 4B mit den jeweiligen Netzwerken individuell verbunden sind. In diesem Fall führt die mit dem Internet 5 verbundene erste Updatevorrichtung 4A (erste Software-Updatevorrichtung) die Downloadsequenz der Steuerungssoftware im codierten Zustand und des Lizenzschlüssels von dem Cloud-Server 3 aus, zeichnet die Steuerungssoftware auf einem Wechselmedium 8 (Aufzeichnungsmedium) wie z. B. einem USB-Speicher, einem USB-Anschluss-HDD, einer CD-R, einer DVD-R usw. auf, führt eine Anzeigenausgabe des Lizenzschlüssels aus und veranlasst den Benutzer, diesen auf z. B. einem Notizzettel 7 aufzuschreiben. Dann wird in die über die übergeordnete Steuervorrichtung 21 usw. mit dem Feldnetzwerk 26 verbundene zweite Updatevorrichtung 4B (zweite Software-Updatevorrichtung) die Steuerungssoftware über das Wechselmedium 8 eingelesen und der Benutzer zur Eingabe des Lizenzschlüssels mit Referenz auf den Notizzettel 7 veranlasst.
-
Wie vorstehend erläutert, ist bei einem Softwareverwaltungssystem 1A der vorliegenden Abwandlung die Updatevorrichtung mit dem Internet 5 ständig verbunden und weist die erste Updatevorrichtung 4A, die die von dem Cloud-Server 3 empfangene Steuerungssoftware auf dem bestimmten Wechselmedium 8 aufzeichnet, und die zweite Updatevorrichtung 4B auf, die mit dem Feldnetzwerk 26B ständig verbunden ist und die von dem bestimmten Wechselmedium 8 ausgelesene Steuerungssoftware an die Steuergeräte sendet und updatet. Dadurch kann zwischen der ersten Updatevorrichtung 4A und der zweiten Updatevorrichtung 4B einer getrennten Form, bei der diese jeweils mit einem von zwei Netzwerken ständig verbunden sind, unter Aufrechterhaltung eines dauerhaften physikalischen Isolierungszustandes ein Senden und Empfangen der heruntergeladenen Steuerungssoftware über das Aufzeichnungsmedium einfach weitergegeben werden. In diesem Fall ist es ferner nicht erforderlich, dass die erste Updatevorrichtung 4A oder die zweite Updatevorrichtung 4B transportier- und bewegbar ist, sodass der Aufbau z. B. eines stationären Desktop-PC's möglich ist (nicht speziell dargestellt).
-
<Abgewandeltes Beispiel 2: Sonstiges>
-
Bei der vorstehenden Ausführungsform und dem abgewandelten Beispiel wurde beispielhaft ein Aufbau erläutert, bei dem eine übergeordnete Vorrichtung 21 für eine durch mehrere Motoren 23 angetriebene Maschinenanlage 2 vorgesehen ist und den Antrieb steuert, wobei jedoch hierauf keine Beschränkung besteht. Die vorstehende Ausführungsform und das abgewandelte Beispiel können auch auf einen Aufbau, bei dem die Maschinenanlage 2 nur einen Motor 23 aufweist oder eine übergeordnete Steuervorrichtung 21 für mehrere Maschinenanlagen 2 den Antrieb steuert, angewendet werden.
-
Ferner ist es auch effektiv, wenn die Lizenzschlüssel-Ausstellungskomponente 37 bei der Verarbeitungskomponente 31 des Cloud-Servers 3 in Entsprechung mit dem Login-Account zum Zeitpunkt des Einloggens des Benutzers den Lizenzschlüssels ausstellt. In diesem Fall wird beim Updaten der Steuerungssoftware im decodierten Zustand bei dem Steuergerät der entsprechende Lizenzschlüssel zusammen in dem betreffenden Steuergerät abgelegt. Beim Erwerben der Geräteinformationen wird dann der abgelegte Lizenzschlüssel zusammen erworben. Dadurch kann der Cloud-Server 3 beim Uploaden der Geräteinformationen (Software-Update-Informationen) auf den Cloud-Server 3 den in den Geräteinformationen enthaltenen Lizenzschlüssel mit dem Login-Account usw. abgleichen, sodass der tatsächliche Benutzer, der die Steuerungssoftware der Steuergeräte upgedated hat, spezifiziert werden kann und ein unrechtmäßiger Erwerb der Steuerungssoftware sowie ein unrechtmäßiges Updaten beurteilt werden können.
-
Im Übrigen erfolgte bei der vorstehenden Ausführungsform und den abgewandelten Beispielen die Erläuterung unter der Voraussetzung, dass für ein Feldnetzwerk innerhalb einer bestimmten Einrichtung wie einer Werkstatt eine direkte Verbindung mit einem weiträumigen Netzwerk wie dem Internet selbst ein Sicherheitsproblem darstellt. Demgegenüber kann in Erwiderung auf diese Voraussetzung das Sicherheitsproblem bei einem weiträumigen Netzwerk ausgeräumt werden. Ferner ist auch eine dauerhafte Verbindung zwischen dem Feldnetzwerk und dem Cloud-Server über das weiträumige Netzwerk und ein Senden und Empfangen der Informationen möglich, wenn eindeutig sichergestellt ist, dass auch die Verbindungsadresse des Cloud-Servers kein Sicherheitsproblem darstellt. Um sämtliche Sicherheitsprobleme dieser Art auszuräumen und die Sicherheit eindeutig sicherzustellen, müssen spezifische technische Probleme gelöst werden, und solange diese nicht gelöst sind und Sorgen bezüglich der Sicherheit bestehen bleiben, ist die Anwendung der vorstehenden Ausführungsform und der abgewandelten Beispiele effektiv.
-
Im Übrigen handelt es sich bei der vorstehenden Erläuterung bei Angaben wie „vertikal“, „parallel“, „Ebene“ usw. nicht um Angaben im strengen Sinne. Das heißt, „vertikal“, „parallel“, „Ebene“ bedeutet hier „substantiell vertikal“, „substantiell parallel“, „substantielle Ebene“, wobei konstruktionsmäßige Toleranzen und Abweichungen zulässig sind.
-
Ferner handelt es sich bei der vorstehenden Erläuterung bei der Angabe, dass die äußere Abmessung, Größe, Form, Position usw. „gleichzeitig“, „identisch“, „gleich“, „gleich wie“, „verschieden“ usw. ist, nicht um Angaben im strengen Sinne. Das heißt, „identisch“, „gleich wie“, „verschieden“ usw. bedeutet hier „substantiell gleichzeitig“, „substantiell identisch“, „substantiell gleich“ „substantiell gleich wie“, „substantiell verschieden“ usw., wobei konstruktionsbedingte Toleranzen und Abweichungen zulässig sind.
-
Ferner können abgesehen von dem Vorstehenden Methoden mittels der vorstehenden Ausführungsform und der jeweiligen abgewandelten Beispiele auch geeignet kombiniert genutzt werden. Darüber hinaus können bei der vorstehenden Ausführungsform und den abgewandelten Beispielen auch, selbst wenn dies nicht im Detail anhand von Beispielen dargestellt wurde, in einem vom Zweck nicht abweichenden Umfang verschiedene Änderungen zusätzlich durchgeführt werden.
-
Bezugszeichenliste
-
- 1, 1A
- Softwareverwaltungssystem
- 2
- Maschinenanlage (Steuersystem)
- 3
- Cloud-Server (Softwaredistributionsvorrichtung)
- 4
- Updatevorrichtung (Softwareupdatevorrichtung)
- 4A
- Erste Updatevorrichtung (erste Softwareupdatevorrichtung)
- 4B
- Zweite Updatevorrichtung (zweite Softwareupdatevorrichtung)
- 5
- Internet (zweites Netzwerk)
- 6
- Produktionswerkstatt
- 7
- Notizzettel
- 8
- Wechselmedium (Aufzeichnungsmedium)
- 21
- übergeordnete Steuervorrichtung (Steuervorrichtung)
- 22
- Motorsteuervorrichtung (Steuervorrichtung)
- 23
- Motor
- 24
- Encoder (Sensor)
- 25
- externer Sensor (Sensor)
- 26
- Feldnetzwerk (erstes Netzwerk)
- 27
- USB-Kabel
- 31
- Verarbeitungskomponente
- 32
- Softwarespeicherkomponente
- 33
- Login-Historien-Datenbank
- 34
- Login-Authentifizierungskomponente
- 35
- Login-Historien-Verwaltungskomponente
- 36
- Softwareverwaltungskomponente
- 37
- Lizenzschlüssel-Ausstellungskomponente
- 38
- Codierungskomponente
- 39
- Serverinformationen-Sende-/Empfangskomponente
- 41
- Tool Application
- 42
- Internetinformationen-Sende-/Empfangskomponente
- 43
- Login-Antragskomponente
- 44
- Lizenzschlüssel-Anzeigekomponente (Ausgabekomponente)
- 45
- Lizenzschlüssel-Eingabekomponente (Eingabekomponente)
- 46
- Decodierungskomponente
- 47
- USB-Informationen-Sende-/Empfangskomponente (Updatekomponente)
-
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
-