DE102015209341A1 - Agent zur Koordination einer von mindestens einer Applikationsverteilereinrichtung ausgehenden Verteilung von wenigstens einer Softwareeinheit und zugehöriges Betriebsverfahren - Google Patents

Agent zur Koordination einer von mindestens einer Applikationsverteilereinrichtung ausgehenden Verteilung von wenigstens einer Softwareeinheit und zugehöriges Betriebsverfahren Download PDF

Info

Publication number
DE102015209341A1
DE102015209341A1 DE102015209341.7A DE102015209341A DE102015209341A1 DE 102015209341 A1 DE102015209341 A1 DE 102015209341A1 DE 102015209341 A DE102015209341 A DE 102015209341A DE 102015209341 A1 DE102015209341 A1 DE 102015209341A1
Authority
DE
Germany
Prior art keywords
software unit
information
agent
component
distributed
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.)
Withdrawn
Application number
DE102015209341.7A
Other languages
English (en)
Inventor
Sebastian Lange
Andreas Scholz
Andreas Schönberger
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE102015209341.7A priority Critical patent/DE102015209341A1/de
Priority to PCT/EP2016/060614 priority patent/WO2016184763A1/de
Publication of DE102015209341A1 publication Critical patent/DE102015209341A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41845Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by system universality, reconfigurability, modularity
    • 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
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/12Plc mp multi processor system
    • G05B2219/1207Download programcode to node, I-O and execute programcode
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25232DCS, distributed control system, decentralised control unit
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31161Java programcode or simular active agents, programs, applets
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

Die Erfindung betrifft einen Agent (DM) zur Koordination einer von mindestens einer Applikationsverteilereinrichtung (AS) ausgehenden Verteilung von wenigstens einer Softwareeinheit für eine vorzugsweise technische Anlage mit mindestens einer Komponente oder mehreren Komponenten (A, B, C, D) ausgebildet und zugehöriges Betriebsverfahren sowie Computerprogramm(-produkt). Der Agent weist dabei auf: – zumindest eine Empfangseinheit zum Erhalt von Informationen zu der mindestens einen zu verteilenden Softwareeinheit, – zumindest eine Empfangseinheit zum Erhalt von Informationen hinsichtlich mindestens einer beteiligten Komponente (A, B, C, D), die von der Verteilung von der wenigstens einen Softwareeinheit betroffen ist, – Transfermittel, die zumindest ein Transfer zur Installation der wenigstens einen zu verteilenden Softwareeinheit auf die mindestens eine beteiligte Komponente (A, B, C, D) und/oder zur Aktualisierung und/oder zur Deinstallation von wenigstens einer bereits vorhandenen Softwareeinheit auf/von derselben und/oder mindestens einer anderen beteiligten Komponente abhängig von den genannten Informationen zu jeweils einem vorgebbaren Zeitpunkt initiieren können.

Description

  • Die Erfindung betrifft einen Agent zur Koordination einer von mindestens einer Applikationsverteilereinrichtung ausgehenden Verteilung von wenigstens einer Softwareeinheit für eine vorzugsweise technische Anlage mit mindestens einer Komponente oder mehreren Komponenten ausgebildet und zugehöriges Betriebsverfahren sowie Computerprogramm(-produkt).
  • Hintergrund der Erfindung
  • Eine technische Anlage kann eine industrielle Anlage bzw. Industrieanlage sein. Ausprägungen einer technischen Anlage können eine (Gebäude-)Automatisierungsanlage, Produktions- bzw. Fertigungsanlage unter anderem auch in der Chemiebranche sein. Es ist als technische Anlage auch ein Energienetz bzw. ein Lastverteilnetz möglich. Es ist als technische Anlage auch ein Kraftwerk oder auch ein Leitsystem für die Produktion (sog. MES = Manufacturing Execution System) oder ein Leitsystem für Züge möglich. Eine solche technische Anlage weist oft Komponenten wie z.B. Sensoren, Aktuatoren, ein oder mehrere (Automatisierungs-)Rechner und/oder ein oder mehrere (Produktions)maschinen an einer Industriestätte auf. Als Produktionsablauf ist ein Teil eines Produktionsprozesses zu verstehen. Damit kann als Produktionsablauf im weiteren Sinne jeder Teilprozess verstanden werden, der für die Produktion eines Produkts relevant ist.
  • Produktionsmaschinen können zur (teil-)automatisierten Herstellung von Produkten z.B. bei der Werkstättenfertigung und zur (teil-)automatisierten Durchführung von (Produktions-)Prozessen verwendet werden. Sie setzen sich, abhängig von den Anforderungen an die Anlage, aus sehr vielen kleinen und großen Komponenten zusammen. In diesen Komponenten werden die unterschiedlichsten Funktionalitäten, beispielsweise das Messen, Steuern, Regeln, die Bedienung der Komponenten über Schnittstellen und die Kommunikation zwischen den Komponenten und den Schnittstellen realisiert. Bei den Komponenten kann es sich des Weiteren um einzelne Maschinen, Fördereinheiten oder ganze Fertigungszellen mit innerer Struktur handeln. Zwischen diesen Komponenten bestehen Abhängigkeiten, die beispielsweise vorschreiben, dass eine bestimmte Komponente erst ein- oder abgeschaltet werden kann, wenn eine oder mehrere andere Komponenten sich in einem definierten Betriebszustand befinden. Solche Betriebszustände können das Hochlaufen, einen Wartezustand, Bearbeitungszustand oder Abschaltvorgang einer oder mehrere Komponenten umfassen.
  • Komponenten können auch z.B. mikroprozessorgesteuerte Geräte, Module, speicherprogrammierbare Steuerungen (abgekürzt SPS oder engl. PLC) oder dgl. der industriellen Automatisierungs- und Antriebstechnik oder auch Sensoren und/oder Aktuatoren umfassen, die regelmäßig ein Betriebssystem und Softwareeinheiten aufweisen, welche zusammengefasst als eine Applikation bzw. Anwendung installiert sein können. Aufgabe der Softwareeinheiten ist die Steuerung der spezifischen Hardware der jeweiligen Komponente und das Zusammenwirken der Komponenten in einem Automatisierungsverbund. Solche Softwareeinheiten können im Kontext von Supervisory Control and Data Acquisition (SCADA) und/oder sog. Distributed Control Systems (DCS) eine Rolle spielen. Unter verteiltem Überwachungssystem wie SCADA oder DCS für eine diskrete bzw. batchbasierte Fertigung versteht man das Überwachen und Steuern technischer Prozesse mittels eines Computer-Systems. Verteilte Überwachungssysteme wie SCADA oder DCS werden beispielsweise im Bereich von Automobilfertigung, Bäckerei- und Süßwarenfabrikation oder Chemieanlagen eingesetzt.
  • Im Zuge der zunehmenden Dezentralisierung und Modularisierung in der Fertigung bzw. Automatisierung spielen Mobilegeräte bzw. mobile Einheiten, die z.B. an Werkstücken angebracht werden, oder mobile Betriebssysteme, die auf den oben genannten Komponenten zum Einsatz kommen können, eine immer größere Rolle. Auf solchen Mobilgeräte bzw. Komponenten können mit dem mobilen Betriebssystem Windows 8, Blackberry OS, IOS, Android bzw. Firefox OS o.ä. ausgestattet sein.
  • Softwareeinheiten können in Form von sogenannten Apps installiert werden bzw. sein. Auch bei den in der Industrie herkömmlich eingesetzten Betriebssystemen können solche Apps installiert bzw. betrieben werden. Werkstücke können mit „intelligenter“ Software, d.h. mit mindestens einer solchen Softwareeinheit ausgestattet sein, die den Bearbeitungsprozess an ihnen selbst steuert.
  • Diese Apps werden von einem App-Anbieter auf einem Online-Server, im Folgenden auch allgemein als Applikationsverteilereinrichtung bezeichnet, zum Herunterladen (Download) unentgeltlich oder gegen Zahlung einer Gebühr zur Verfügung gestellt. Nach dem Download einer App wird diese auf dem Mobilgerät bzw. der Komponente installiert oder auch aktualisiert. Die Apps können auch wieder deinstalliert werden. Es gibt auch Apps, die miteinander zusammenarbeiten. Insbesondere bei diesen ist es wichtig, konsistente Installationen zu haben, da die Zusammenarbeit sonst nicht funktioniert. Bisher können solche Apps nur unsynchronisiert auf einzelnen Geräten installiert, aktualisiert bzw. deinstalliert werden.
  • Wenn beispielsweise die Versionen der Apps nicht zusammenpassen, können Inkompatibilitäten nicht nur zwischen Geräten sondern auch zwischen Apps auftreten. Insbesondere könnte es sein, dass eine Maschine nicht mehr funktioniert, weil zwei kooperierende Apps auf ihr nicht korrekt installiert wurden oder versionsinkompatibel sind – z.B. eine App die eine Datenanalyse vornimmt und auf einer anderen App basiert, welche eine Datenbank bereitstellt, welche als Quelle der Daten dient. Falls diese Datenquelle abhängig von der App Version unterschiedliche Daten speichert, ist eine Datenanalyse auf Grund fehlender Daten nicht möglich.
  • Wenn die gleiche App ggf. auf mehreren gleichen Komponenten laufen soll, sollte diese jeweils in der gleichen Version installiert werden, damit das Gesamtsystem funktioniert.
  • Zum Beispiel könnte eine App (bzw. mehrere Instanzen davon) bestimmte Sensordaten an einen Zentralserver senden. Diese Sensordaten könnten an vielen Stellen in der Anlage mit separaten Sensoren (und angeschlossenen App-Instanzen) erhoben werden. Dann ist es wichtig, dass von allen Messstellen ein einheitliches Verfahren und Format zur Erfassung und Repräsentation der Daten verwendet wird.
  • Im industriellen Umfeld werden in der Regel eher proprietäre Schnittstellen bzw. nur in der Industrie standardisierte Verfahren zur Interaktion bzw. Nachrichtenaustausch zwischen den Komponenten verwendet.
  • Ein sogenannter Rollout zur Installation, Aktualisierung bzw. Deinstallation von Apps auf mehreren Mobilgeräten bzw. mehreren Komponenten kann dabei normalerweise nicht auf Standardprozeduren zurückgreifen wie sie beispielsweise in der IT-Branche möglich sind. Eine solche Installation, Aktualisierung bzw. Deinstallation kann z.T. nur teilautomatisiert bzw. nur manuell durchgeführt werden. Oft muss zusätzlich manuell nachgebessert werden. Dies ist fehlerträchtig, führt zu Inkonsistenzen und kann zu Inkompatibilitäten zwischen zusammenwirkenden Geräten und Komponenten in der Anlage führen.
  • Auch ist es möglich, dass die Softwareeinheiten beispielsweise in Form von Apps von einer oder mehrere Applikationsverteileinrichtung(en) von demselben Anbieter bzw. von jeweils unterschiedlichen Anbietern angeboten bzw. verteilt werden. Ein Rollout-Konzept in dem genannten Umfeld, das eine konsistente inkrementelle (in mehreren Schritten durchgeführte) und/oder Gesamtinstallation, Aktualisierung bzw. Deinstallation von einer oder mehrere Softwareeinheiten, die von einem oder mehreren Applikationsverteileinrichtungen ausgehen, auf einer oder mehreren Kompomenten gewährleistet, ist nicht bekannt.
  • Ausgehend von diesem Stand der Technik ist es Aufgabe der Erfindung, ein verbessertes Verteilersystem von Softwareeinheiten für eine technische Anlage beispielhaft der oben genannten Art zu schaffen.
  • Darstellung der Erfindung
  • Diese Aufgabe wird durch die unabhängigen Ansprüche gelöst. Vorteilhafte Weiterbildungen sind Gegenstand der abhängigen Ansprüche. Die Erfindung beansprucht einen Agenten zur Koordination bzw. zur Überwachung einer von mindestens einer Applikationsverteilereinrichtung ausgehenden Verteilung von wenigstens einer Softwareeinheit für eine mindestens eine Komponente umfassende Anlage aufweisend:
    • – Zumindest eine Empfangseinheit bzw. mehrere zusammenwirkende Empfangseinheiten zum Erhalt von Informationen zu der mindestens einen zu verteilenden Softwareeinheit,
    • – zumindest eine Empfangseinheit bzw. mehrere zusammenwirkende Empfangseinheiten zum Erhalt von Informationen hinsichtlich mindestens einer beteiligten Komponente, die von der Verteilung von der wenigstens einen Softwareeinheit (gegebenenfalls direkt und/oder indirekt) betroffen ist,
    • – Transfermittel, die zumindest ein Transfer zur Installation der wenigstens einen zu verteilenden Softwareeinheit auf die mindestens eine beteiligte Komponente und/oder zur Aktualisierung und/oder zur Deinstallation von wenigstens einer bereits vorhandenen Softwareeinheit auf/von derselben und/oder mindestens einer anderen beteiligten Komponente abhängig von den genannten Informationen zu jeweils einem vorgebbaren Zeitpunkt veranlassen bzw. initiieren können.
  • Die Anlage ist vorzugsweise technisch ausgebildet und kann dabei ein oder mehrere Komponenten z.B. der eingangs erwähnten Art umfassen. Der Agent kann in einer solchen Anlage verwendet bzw. eingesetzt werden. Er kann auch für eine solche Anlage eingesetzt werden, z.B. in dem er sich außerhalb der Industriestätte befindet und mit einer sogenannten abgesetzten (remote) Kommunikationsverbindung die Anlage steuert bzw. mit dieser Nachrichten austauscht. Als Kommunikationsverbindung sind alle gängigen und zukünftigen kabelgebundenen Verbindungen bzw. kabellosen Funkverbindungen wie z.B. GSM, UMTS, LTE etc. möglich.
  • Ein sogenannter Agent besteht in der Regel aus Hardware- und/oder Softwareeinheiten, die den Agenten zu einem gewissen eigenständigen und eigendynamischen (autonomen) Verhalten befähigen. Das bedeutet, dass abhängig von verschiedenen Zuständen (Status) ein bestimmter Verarbeitungsvorgang abläuft, ohne dass von außen ein weiteres Startsignal gegeben wird oder während des Vorgangs ein äußerer Steuerungseingriff erfolgt.
  • Ein solcher Agent kann mit ein oder mehreren Komponenten verbunden sein und rein hardwaremäßig ausgestaltet sein. Er kann jedoch auch eine Kombination aus Hardware und Software aufweisen. Somit ist ein Agent ohne bzw. nur mit geringen Anpassungen in bestehende Anlagen integrierbar. Der Agent kann auch als Server ausgestaltet sein, der mit der Anlage Nachrichten bzw. Informationen austauschen kann. Eine Komponente der Anlage kann als Mobilgerät ausgestaltet bzw. ein Betriebssystem z.B. der eingangs genannten Art aufweisen.
  • Die Informationen zu der mindestens einen zu verteilenden Softwareeinheit bzw. die Informationen hinsichtlich der mindestens einen beteiligten Komponente umfassen vor allem die relevanten in Beziehung stehenden Apps und Komponenten. Es ist nicht unbedingt die gesamte Information zu einer anderen App notwendig. Es ist sinnvoll, wenn die Information wenigstens eine Versionsinformation zur App und ggf. eine Information, ob die Softwareeinheit vollständig installiert wurde, enthält. Zusätzlich sollte die Information die Beziehung der Apps untereinander bzw. die Beziehung der beteiligten Komponenten repräsentieren. Die Softwareeinheit selbst muss zur ihrer Interaktion mit anderen Softwareeinheiten nicht die gesamte Anlage „kennen“ (= eine Information über die gesamte Anlagen vorliegt). Es genügt, wenn die Softwareeinheit ihre Interaktions- bzw. Kommunikationspartner und die daran beteiligten Komponenten kennt.
  • Das Transfermittel kann zumindest einen Transfer bzw. eine Übertragung zur Installation der wenigstens einen zu verteilenden Softwareeinheit auf die mindestens eine beteiligte Komponente und/oder zur Aktualisierung und/oder zur Deinstallation von wenigstens einer bereits vorhandenen Softwareeinheit auf/von derselben und/oder mindestens einer anderen beteiligten Komponente abhängig von den genannten Informationen zu jeweils einem vorgebbaren Zeitpunkt veranlassen bzw. initiieren.
  • Demnach installiert/aktualisiert bzw. deinstalliert nicht der Agent die Softwareeinheit selbst, sondern initiiert bzw. benachrichtigt das eine oder mehrere Applikationsverteilereinrichtungen, damit dieser die Installation/Aktualisierung/Deinstallation der einen oder mehreren Softwareeinheiten von den jeweiligen beteiligten Komponenten einleitet.
  • Der Informationsaustausch kann mittels eines standardisierten Übertragungsprotokolls bzw. mittels standardisierter Datenformate erfolgen und ist somit plattform- und anwendungsneutral.
  • Die erhaltenen Informationen mit anderen solchen Agenten und/oder Komponenten der Anlage sind austauschbar, um eine konsistente Verteilung der wenigstens einen Softwareeinheit zu bewirken.
  • Die Informationen zu der mindestens einen zu verteilenden Softwareeinheit kann zumindest die Art und Anzahl der zu verteilenden Softwareeinheit umfassen. Ein Transfer im erfindungsgemäßen Kontext zeichnet sich vor allem durch folgende Eigenschaften aus:
    • • Ein Transfer im erfindungsgemäßen Kontext zeichnet sich vor allem durch folgende Eigenschaften aus: Atomarität (Atomicity): Ein Transfer wird entweder ganz oder gar nicht ausgeführt. Transfer kann also „unteilbar“ sein. Wenn ein atomarer Transfer abgebrochen wird, ist das System – vorliegenden die Anlage – unverändert.
    • • Konsistenz (Consistency): Nach Ausführung des Transfers sollte der Datenbestand in einer konsistenten Form sein, wenn er es bereits zu Beginn des Transfer war.
  • Durch diesen Vorgang ergeben sich zwei Möglichkeiten, einen Transfer zu beenden:
    • • Commit (abschließen, Abk. c): Der Transfer wurde erfolgreich und ohne Probleme beendet, die Auswirkungen des Transfer auf den Datenbestand werden dauerhaft gespeichert. Oft werden die Begriffe „commit“ und „end of transfer “ synonym verwendet.
    • • Abort (abbrechen, Abk. a): Bei der Ausführung des Transfer sind Probleme aufgetreten, ihre Ausführung wird nicht fortgesetzt. Die Bedingung der Atomarität fordert zusätzlich, dass sämtliche Auswirkungen des Transfers auf den Datenbestand rückgängig gemacht werden müssen.
  • Das Rückgängigmachen der Effekte eines Transfers wird als Rollback (Zurücksetzen) bezeichnet. Es kann dabei vorkommen, dass das Zurücksetzen eines Transfers das Zurücksetzen eines anderen Transfers notwendig macht, was zur Bildung regelrechter Ketten von Zurücksetzungen führen kann.
  • Ein Transfer kann zumindest eine Aktion und zumindest eine dazugehörige Rücksetzaktion umfassen. Nach jedem Schritt einer Installation, Aktualisierung bzw. Deinstallation wird überprüft, ob dieser Schritt erfolgreich durchgeführt werden konnte oder dieser Schritt misslang. Für den Fall des Misslingens wird zu jeder Aktion in einem durchzuführenden Schritt eine Rücksetzaktion beispielsweise wie folgt definiert:
    • 1. Aktion: Installation zumindest einer Softwareeinheit -> Rücksetzaktion: Deinstallation derselben Softwareeinheit(en),
    • 2. Aktion: Setzen eines Konfigurationsfeldes auf einen neuen Wert -> Rücksetzaktion: Rücksetzen des Konfigurationsfeldes auf den Vorgänger-Wert,
    • 3. Aktion: Öffnen eines Kommunikationskanals -> Rücksetzaktion: Schließen desselben Kommunikationskanals.
  • Demnach bietet der Agent durch den Transfer von einer oder mehreren Softwareeinheiten für eine oder mehrere Komponenten z.B. einer Anlage eine Art transaktionsbezogene Verteilung. Der Agent gewährleistet, dass die Softwareeinheiten entweder vollständig oder gar nicht installiert, aktualisiert bzw. deinstalliert werden.
  • Eine Weiterbildung der Erfindung sieht vor, dass die Informationen hinsichtlich der mindestens einer beteiligten Komponente Kompatibilitätsinformationen zu bereits vorhandener zu aktualisierender Softwareeinheiten und/oder Plattforminformationen zu den beteiligten Komponenten umfassen. Die Plattforminformation kann betriebssystembezogenen und/oder hardwarebezogenen Informationen umfassen. Die Kompatibilitätsinformationen umfassen dabei in der Regel den Versionsstand der Softwareeinheiten bzw. des Betriebssystems sowie das Alter derselben und ggf. eine Gerätenummer bzw. Herstellerinformation zur Hardware.
  • Der vorgebbare Zeitpunkt bestimmt, wann eine Installation auf einer bestimmten Komponente stattfinden soll. Das erlaubt, dass die Installation mit geringster Unterbrechung oder Konflikten mit anderen Operationen in der Anlage z.B. in der Nacht durchgeführt werden kann. Es ist auch möglich dadurch, Installationen auf Komponenten solange zu verzögern oder in einem sogenannten Schlafmodus zuhalten, bis diese Komponenten in einem Kommunikationsnetzwerk wieder erreichbar sind. Damit werden manuelle Eingaben von solchen Installationszeitpunkten vermieden.
  • Ein weiterer Aspekt der Erfindung ist eine technische Anlage, die mit mindestens einem Agenten der oben beschriebenen Art ausgebildet ist.
  • Ein weiterer Aspekt der Erfindung ist ein Betriebsverfahren für einen solchen Agenten, das entsprechend ausgebildet ist.
  • Das Betriebsverfahren ist geeignet zur Ausführung und/oder Koordination bzw. Überwachung einer von mindestens einer Applikationsverteilereinrichtung ausgehenden Verteilung von wenigstens einer Softwareeinheit für eine mindestens eine Komponente, d.h. eine oder mehrere Komponenten, umfassende Anlage, wobei folgende Schritte ausgeführt werden:
    • – Empfangen von Informationen zu der mindestens einen zu verteilenden Softwareeinheit,
    • – Empfangen von Informationen hinsichtlich mindestens einer beteiligten Komponente, die von der Verteilung von der wenigstens einen Softwareeinheit betroffen ist,
    • – Initiieren zumindest eines Transfer zur Installation der wenigstens einen zu verteilenden Softwareeinheit auf die mindestens eine beteiligte Komponente und/oder zur Aktualisierung und/oder zur Deinstallation von wenigstens einer bereits vorhandenen Softwareeinheit auf/von derselben und/oder mindestens einer anderen beteiligten Komponente abhängig von den genannten Informationen zu jeweils einem vorgebbaren Zeitpunkt.
  • Das Betriebsverfahren kann wie der oben beschriebene Agent entsprechend weitergebildet werden.
  • Ein weiterer Aspekt der Erfindung ist ein Computerprogram bzw. eine Computerprogrammprodukt mit Mitteln zur Durchführung des vorstehend genannten Betriebsverfahrens und dessen Ausführungsformen, wenn das Computerprogramm(-produkt) in einem Agenten der vorstehend genannten Art zur Ausführung gebracht wird.
  • Ein bzw. mehrere Ausführungsbeispiele der Erfindung
  • Weitere Vorteile, Einzelheiten und Weiterbildungen der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen in Verbindung mit den Zeichnungen.
  • Es zeigen
  • 1 und 2 beispielhaft zwei Szenarien innerhalb der oben beschriebenen dezentralen Systemarchitektur.
  • Die dezentrale Systemarchitektur kann sich auf eine Produktionsanlage beziehen, die aus ein oder mehreren Komponenten A, B, C, D besteht, die alle beispielsweise zur Erzeugung eines bestimmten Produkts erforderlich sind. Es ist eine Applikationsverteilereinrichtung AS z.B. in Form eines App-Stores vorgesehen, der mit einem Agenten DM z.B. der oben erwähnten Art kommuniziert. Die durchgezogenen Doppelpfeile repräsentieren Aktionen z.B. der oben bereits erwähnten Art. Die gestrichelten Doppelpfeile repräsentieren die zu den genannten Aktionen definierten Rücksetzaktionen. Die in der 2 angedeuteten Zeitangaben an den Doppelpfeilen repräsentieren jeweils einen vorgebaren Zeitpunkt, zu den eine Aktion bzw. mehrere Aktionen gestartet bzw. durchgeführt werden.
  • In 1 wird schematisch ein Szenario eines sogenannten Rollouts einer einzelnen Softwareeinheit bzw. Applikation in Form einer App an mehrere Komponenten z.B. A, B, C. Der Agent DM erhält von der Applikationsverteilereinrichtung AS Informationen zur zu verteilenden App z.B. in Form einer Installationsaufgabe. Die Applikationsverteilereinrichtung zerlegt die Installationsaufgabe in eine Sequenz mehrerer Aktionsschritte. Wenn der Agent DM die in der Figur angedeuteten Schritte 1 und 2 für die Ziel-Komponenten A und B ausführt, dann aber der Aktionsschritt 3 zur Ziel-Komponenten C fehlschlägt, dann müssen die Änderungen hervorgerufen durch die bereits ausgeführten Schritte 1 und 2 mit Hilfe von Rücksetzaktionen 4 und 5 zurückgesetzt werden. Die Abfolge bzw. Sequenz der auszuführenden Aktionen und Rücksetzaktionen kann auch unterschiedlich sein, so dass im Beispiel die Rücksetzaktion 5 die Änderung aus Schritt 1 und die Rücksetzaktion 4 die Änderung aus Schritt 2 ungeschehen macht.
  • In 2 wird schematisch ein Szenario eines sogenannten Rollouts einer einzelnen Applikation bzw. Softwareeinheit in Form einer App an mehrere Komponenten z.B. A, B, C und D. Der Agent DM erhält von der Applikationsverteilereinrichtung AS Informationen zur zu verteilenden App z.B. in Form einer Installationsaufgabe. Die Applikationsverteilereinrichtung zerlegt die Installationsaufgabe in eine Sequenz mehrerer Aktionsschritte, die zu unterschiedlichen Zeitpunkten z.B. 15:30, 15:35 und 15:40 durchgeführt werden sollen, um das Kommunikationsnetzwerk nicht mit zu vielen gleichzeitig stattfindenden Downloads zu belasten. Im Beispiel ist die Komponente D nicht online und daher nicht erreichbar. Der Agent DM entdeckt, dass Komponenten D für den Download der App nicht erreichbar ist und legt den Zeitpunkt zur Installation fest, wenn die Komponente D wieder im Kommunikationsnetz erreichbar ist.
  • Ein typisches Beispiel für solch eine zu installierenden App ist eine Kotrollschleife, bei der mehrere Sensoren bzw. Aktoren bzw. ein Gerät mit der Applikationslogik mitwirken.
  • Die App muss auf all diesen Komponenten korrekt konfiguriert sein, d.h. wenn Daten in der richtigen Frequenz gemessen, korrekt gefiltert und zum Gerät mit der Applikationslogik gesendet werden, sollten die von der App hervorgerufenen Kontrollsignale an die richtigen Sensoren bzw. Aktuatoren gesendet werden.
  • Ein weiteres Beispiel ist eine App, die in verschiedene Funktionsblöcke zerlegt ist und an verschiedene Komponenten geschickt werden soll. So können die verschiedenen Funktionsblöcke auf mehrere PLC oder Feldkomponenten verteilt werden. Es muss demnach sichergestellt werden, dass der richtige Funktionsblock auf der dazugehörigen Komponente landet und passende Kommunikationskanäle zwischen den Komponenten etabliert werden.
  • Ein weiteres Beispiel ist eine App, die Feldkomponenten, PLC und Cloud-basierte Services beeinflusst. Beispielsweise kann eine vorhersagende Verwaltungsapp eine Cloud-basierte Datenanalyse einwirken. Demnach wird die App auf der Komponente installiert und zugleich werden Ressourcen in der Cloud über korrespondierende Verwaltungsschnittstellen allokiert. So wird ein Datenkanal zwischen der App und dem Cloud-Service einrichtet, wobei auch Netzwerkpfade, Proxyserver und Firewalls korrekt konfiguriert werden sollen.
  • Eine weitere Anwendung ist ein sogenannter “Massenrollout” derselben Softwareeinheit zu mehreren Komponenten. Beispielsweise kann eine sogenannte „Inventar“-App auf allen Motoren einer Fabrik installiert werden, um Seriennummern, Arbeitsstunden und ähnliche Metriken zu sammeln und zu berichten.
  • Optional ist es möglich, dass ein Agent verschiedene Überwachungsschnittstellen an sogenannte Operators zur Verfügung stellt, um Installationsprozesse und Anpassungen bzw. Aktualisierungen durch Hinzufügen und Entfernen von Komponenten nachzuverfolgen.
  • Obwohl die Erfindung im Detail durch das bevorzugte Ausführungsbeispiel näher illustriert und beschrieben wurde, so ist die Erfindung nicht durch die offenbarten Beispiele eingeschränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen.

Claims (15)

  1. Agent (DM) zur Koordination einer von mindestens einer Applikationsverteilereinrichtung (AS) ausgehenden Verteilung von wenigstens einer Softwareeinheit für eine oder mehrere Komponenten (A, B, C, D) umfassende technische Anlage aufweisend: – zumindest eine Empfangseinheit zum Erhalt von Informationen zu der mindestens einen zu verteilenden Softwareeinheit, – zumindest eine Empfangseinheit zum Erhalt von Informationen hinsichtlich mindestens einer beteiligten Komponente (A, B, C, D), die von der Verteilung von der wenigstens einen Softwareeinheit betroffen ist, – Transfermittel, die zumindest ein Transfer zur Installation der wenigstens einen zu verteilenden Softwareeinheit auf die mindestens eine beteiligte Komponente (A, B, C, D) und/oder zur Aktualisierung und/oder zur Deinstallation von wenigstens einer bereits vorhandenen Softwareeinheit auf/von derselben und/oder mindestens einer anderen beteiligten Komponente abhängig von den genannten Informationen zu jeweils einem vorgebbaren Zeitpunkt initiieren können.
  2. Agent (DM) nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass die erhaltenen Informationen mit anderen solchen Agenten und/oder Komponenten (A, B, C, D) der Anlage austauschbar sind, um eine konsistente Verteilung der wenigstens einen Softwareeinheit zu bewirken.
  3. Agent (DM) nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Informationen zu der mindestens einen zu verteilenden Softwareeinheit zumindest die Art und Anzahl der zu verteilenden Softwareeinheit umfassen.
  4. Agent (DM) nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Informationen hinsichtlich der mindestens einen beteiligten Komponente (A, B, C, D) Kompatibilitätsinformationen zu bereits vorhandenen, zu aktualisierenden Softwareeinheiten und/oder Plattforminformationen zu den beteiligten Komponenten umfassen.
  5. Agent (DM) nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die wenigstens eine Softwareeinheit als eine sogenannte App ausgestaltet ist.
  6. Agent (DM) nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein Transfer zumindest eine Aktion und zumindest eine dazugehörige Rücksetzaktion umfasst.
  7. Betriebsverfahren für einen Agenten (DM) nach einem der vorhergehenden Ansprüche, geeignet zur Koordination einer von mindestens einer Applikationsverteilereinrichtung (AS) ausgehenden Verteilung von wenigstens einer Softwareeinheit für eine mindestens eine Komponente (A, B, C, D) umfassende technische Anlage, wobei folgende Schritte ausgeführt werden: – Empfangen von Informationen zu der mindestens einen zu verteilenden Softwareeinheit, – Empfangen von Informationen hinsichtlich mindestens einer beteiligten Komponente (A, B, C, D), die von der Verteilung von der wenigstens einen Softwareeinheit betroffen ist, – Initiieren zumindest eines Transfer zur Installation der wenigstens einen zu verteilenden Softwareeinheit auf die mindestens eine beteiligte Komponente und/oder zur Aktualisierung und/oder zur Deinstallation von wenigstens einer bereits vorhandenen Softwareeinheit auf/von derselben und/oder mindestens einer anderen beteiligten Komponente abhängig von den genannten Informationen zu jeweils einem vorgebbaren Zeitpunkt.
  8. Betriebsverfahren nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass die empfangenen Informationen mit anderen solchen Agenten (DM) und/oder Komponenten (A, B, C, D) der Anlage ausgetauscht werden, um eine konsistente Verteilung der wenigstens einen Softwareeinheit zu bewirken.
  9. Betriebsverfahren nach einem der vorhergehenden Verfahrensansprüche, dadurch gekennzeichnet, dass die Informationen zu der mindestens einen zu verteilenden Softwareeinheit zumindest die Art und Anzahl der zu verteilenden Softwareeinheit umfassen.
  10. Betriebsverfahren nach einem der vorhergehenden Verfahrensansprüche, dadurch gekennzeichnet, dass die Informationen hinsichtlich der mindestens einer beteiligten Komponente Kompatibilitätsinformationen zu bereits vorhandener zu aktualisierender Softwareeinheiten und/oder Plattforminformationen zu den beteiligten Komponenten (A, B, C, D) umfassen.
  11. Betriebsverfahren nach einem der vorhergehenden Verfahrensansprüche, dadurch gekennzeichnet, dass die wenigstens eine Softwareeinheit eine sogenannte App repräsentiert.
  12. Betriebsverfahren nach einem der vorhergehenden Verfahrensansprüche, dadurch gekennzeichnet, dass für den Betrieb der mindestens einen Komponente der Anlage ein mobiles Betriebssystem eingesetzt wird.
  13. Betriebsverfahren nach einem der vorhergehenden Verfahrensansprüche, dadurch gekennzeichnet, dass ein Transfer zumindest eine Aktion und zumindest eine dazugehörige Rücksetzaktion umfasst.
  14. Computerprogrammprodukt mit Mitteln zur Durchführung des Betriebsverfahrens nach einem der vorgenannten Verfahrensansprüche, wenn das Computerprogrammprodukt auf einem Agenten, insbesondere nach einem der vorgenannten Vorrichtungsansprüche 1 bis 7, zur Ausführung gebracht wird.
  15. Anlage ausgebildet mit mindestens einem Agenten (DM) nach einem der vorherigen Vorrichtungsansprüche 1 bis 6.
DE102015209341.7A 2015-05-21 2015-05-21 Agent zur Koordination einer von mindestens einer Applikationsverteilereinrichtung ausgehenden Verteilung von wenigstens einer Softwareeinheit und zugehöriges Betriebsverfahren Withdrawn DE102015209341A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102015209341.7A DE102015209341A1 (de) 2015-05-21 2015-05-21 Agent zur Koordination einer von mindestens einer Applikationsverteilereinrichtung ausgehenden Verteilung von wenigstens einer Softwareeinheit und zugehöriges Betriebsverfahren
PCT/EP2016/060614 WO2016184763A1 (de) 2015-05-21 2016-05-12 Agent zur koordination einer von mindestens einer applikationsverteilereinrichtung ausgehenden verteilung von wenigstens einer softwareeinheit und zugehöriges betriebsverfahren

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102015209341.7A DE102015209341A1 (de) 2015-05-21 2015-05-21 Agent zur Koordination einer von mindestens einer Applikationsverteilereinrichtung ausgehenden Verteilung von wenigstens einer Softwareeinheit und zugehöriges Betriebsverfahren

Publications (1)

Publication Number Publication Date
DE102015209341A1 true DE102015209341A1 (de) 2016-11-24

Family

ID=56014986

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015209341.7A Withdrawn DE102015209341A1 (de) 2015-05-21 2015-05-21 Agent zur Koordination einer von mindestens einer Applikationsverteilereinrichtung ausgehenden Verteilung von wenigstens einer Softwareeinheit und zugehöriges Betriebsverfahren

Country Status (2)

Country Link
DE (1) DE102015209341A1 (de)
WO (1) WO2016184763A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3582034A1 (de) 2018-06-15 2019-12-18 Siemens Aktiengesellschaft Verfahren und vorrichtung, im bereich der automatisierungstechnik, zur aktualisierung von verarbeitungsdaten

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060294047A1 (en) * 2005-06-27 2006-12-28 Johnston David A Method and apparatus for communicating transactions between an industrial controller and a programming interface
US20100169879A1 (en) * 2008-12-25 2010-07-01 Fujitsu Limited Resource distribution system and method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1966660A1 (de) * 2005-12-26 2008-09-10 Siemens Aktiengesellschaft Verarbeitungseinheit und verfahren zum konfigurieren eines vernetzten automatisierungssystems
DE102010004473A1 (de) * 2010-01-13 2011-07-14 KUKA Laboratories GmbH, 86165 System aus Entwicklungsumgebungen und Maschinensteuerungen

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060294047A1 (en) * 2005-06-27 2006-12-28 Johnston David A Method and apparatus for communicating transactions between an industrial controller and a programming interface
US20100169879A1 (en) * 2008-12-25 2010-07-01 Fujitsu Limited Resource distribution system and method

Also Published As

Publication number Publication date
WO2016184763A1 (de) 2016-11-24

Similar Documents

Publication Publication Date Title
EP3612900B1 (de) Verfahren zum überwachen einer anlage der automatisierungstechnik
DE112011103308B4 (de) Verfahren, System und Programm
EP3523703B1 (de) Verfahren zur softwareaktualisierung bei cloud-gateways, computerprogramm mit einer implementation des verfahrens und verarbeitungseinheit zur ausführung des verfahrens
EP2527936A1 (de) Verfahren zum Zugriff auf ein Automatisierungssystem sowie nach dem Verfahren arbeitendes System
DE102007041240A1 (de) Verfahren zum Verbessern einer Diagnosefunktion eines Feldgerätes
DE102010026494A1 (de) Verfahren zur Konfigurierung einer Steuerungseinrichtung
DE102006005365A1 (de) Verfahren zum Aktualisieren der Firmware von Feldgeräten
EP3001310B1 (de) Verfahren und Einrichtung zur Aktualisierung von Firmware für Komponenten einer industriellen Automatisierungsanordnung
EP2718773A1 (de) Simulationssystem, verfahren zur durchführung einer simulation, leitsystem und computerprogrammprodukt
EP2770382B1 (de) Verfahren zur Inbetriebnahme eines Automatisierungssystems
DE112013003240B4 (de) Verfahren zur Steuerung eines Kraftfahrzeuggetriebes
DE102015209341A1 (de) Agent zur Koordination einer von mindestens einer Applikationsverteilereinrichtung ausgehenden Verteilung von wenigstens einer Softwareeinheit und zugehöriges Betriebsverfahren
WO2014161986A1 (de) Steuer- und datenübertragungsanlage zur redundanten prozesssteuerung und verfahren zur firmware-aktualisierung
EP3603010B1 (de) Verfahren und korrespondierendes system zur datenübertragung von einem gerät an ein datenverwaltungsmittel
DE102012006872A1 (de) Verfahren und Vorrichtung zur Integration von technischen Systemen
DE10117459A1 (de) Verfahren und Vorrichtung zur Gewinnung von Diagnoseinformationen
WO2016079091A1 (de) Verfahren zum betreiben eines ersten und zumindest eines zweiten feldgerätes
EP3285162A1 (de) Verfahren zum projektieren eines projektes sowie anordnung zur durchführung des verfahrens
DE102009047974B4 (de) Verfahren zur Programmierung eines Steuergeräts
DE102020111806A1 (de) Verfahren zum Instandhalten einer Anlage der Automatisierungstechnik
DE102009045384A1 (de) Verfahren zum Betreiben eines Feldbus-Interface
EP2109020B1 (de) Automatisierungssystem und Verfahren zur Diagnose, Anpassung oder Optimierung eines Automatisierungsgeräts
DE102014118042A1 (de) Verfahren zur nachverfolgbaren Programmierung und Konfigurierung eines Geräts
EP2741451A1 (de) Verfahren zum Anbinden eines Hardwaremoduls an einen Feldbus
DE102018200390A1 (de) Einrichtung und Verfahren zum Überprüfen eines von einer Softwareverteileinrichtung stammenden Softwareinstallationspakets

Legal Events

Date Code Title Description
R163 Identified publications notified
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee