DE102019217044A1 - System for controlling a machine - Google Patents

System for controlling a machine Download PDF

Info

Publication number
DE102019217044A1
DE102019217044A1 DE102019217044.7A DE102019217044A DE102019217044A1 DE 102019217044 A1 DE102019217044 A1 DE 102019217044A1 DE 102019217044 A DE102019217044 A DE 102019217044A DE 102019217044 A1 DE102019217044 A1 DE 102019217044A1
Authority
DE
Germany
Prior art keywords
operating system
message broker
machine
software
hardware
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
DE102019217044.7A
Other languages
German (de)
Inventor
Tobias Krug
Christian Kahr
Joshua-Niclas Oergele
Martin Wiedmann
Micha Muenzenmay
Mouham Tanimou
Udo Schulz
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102019217044.7A priority Critical patent/DE102019217044A1/en
Priority to PCT/EP2020/078747 priority patent/WO2021089279A1/en
Publication of DE102019217044A1 publication Critical patent/DE102019217044A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)

Abstract

System (10) zum Steuern einer Maschine,gekennzeichnet durch folgende Merkmale:- eine Hardware (11),- ein auf der Hardware (11) ausführbares Betriebssystem (12),- ein auf dem Betriebssystem (12) basierendes Integrations-Framework (18),- einen an das Framework (18) angepassten Nachrichtenbroker (13) und- mehrere über den Nachrichtenbroker (13) verbundene Container (14), die jeweils mindestens ein Steuerprogramm (15) für die Maschine umfassen.System (10) for controlling a machine, characterized by the following features: - a hardware (11), - an operating system (12) that can be executed on the hardware (11), - an integration framework (18) based on the operating system (12) - A message broker (13) adapted to the framework (18) and several containers (14) connected via the message broker (13), each of which comprises at least one control program (15) for the machine.

Description

Die vorliegende Erfindung betrifft ein System zum Steuern einer Maschine. Die vorliegende Erfindung betrifft darüber hinaus eine entsprechende Land- oder anderweitige Maschine.The present invention relates to a system for controlling a machine. The present invention also relates to a corresponding agricultural or other machine.

Stand der TechnikState of the art

Hinlänglich bekannt sind Verfahren zum Verteilen oder Aktualisieren von Software (SW) über eine - mitunter als „Luftschnittstelle“ (over the air, OTA) bezeichnete - drahtlose Datenschnittstelle. Gattungsmäßige Verfahren finden Anwendung sowohl auf Anwendungssoftware (SOTA) als auch auf eingebettete Systemsoftware (firmware, FOTA).Methods for distributing or updating software (SW) via a wireless data interface, sometimes referred to as an “over the air” (OTA), are well known. Generic methods are used both in application software (SOTA) and in embedded system software (firmware, FOTA).

Nach dem Stand der Technik werden FOTA und SOTA beispielsweise zur Aktualisierung der Steuergeräte vernetzter Kraftfahrzeuge und Landmaschinen eingesetzt. Zur telematischen Verbindung zwischen dem die Steuergeräte koppelnden Bussystem und dem Internet (der sinnbildlichen „Cloud“) dient hierbei typischerweise eine Fahrzeugverbindungsschnittstelle (vehicle connectivity gateway, VCG).According to the state of the art, FOTA and SOTA are used, for example, to update the control devices of networked motor vehicles and agricultural machinery. A vehicle connection interface (vehicle connectivity gateway, VCG) is typically used for the telematic connection between the bus system coupling the control units and the Internet (the symbolic “cloud”).

Jenseits der Wartung und Fehlerbereinigung bereits installierter Software lässt sich der Funktionsumfang fahrzeuginterner Steuergeräte auf diesem Wege um Leistungsmerkmale (features) erweitern, welche vorhandene Sensoren und Aktoren für neue Anwendungsfälle nutzen. Entsprechende Applikationen können durch Hersteller oder Erstausrüster (original equipment manufacturer, OEM) einer Landmaschine - etwa mittels eines Entwicklungskits (development kit) - erstellt und auf einer digitalen Vertriebsplattform in der Cloud angeboten werden. In addition to the maintenance and troubleshooting of already installed software, the functional scope of vehicle-internal control units can be expanded in this way by features that use existing sensors and actuators for new applications. Corresponding applications can be created by the manufacturer or original equipment manufacturer (OEM) of an agricultural machine - for example using a development kit - and offered on a digital sales platform in the cloud.

Als denkbare Erweiterungen kommen zum Beispiel fortgeschrittene Telemetrie- oder agrartechnische Spezialfunktionen wie die gezielte Unkrautbekämpfung in Betracht.Conceivable expansions include advanced telemetry or special agricultural functions such as targeted weed control.

DE102015203766A1 offenbart ein Teilsystem für ein Fahrzeug mit einem über eine Luftschnittstelle mit einem Gerätemanagement-Server des Backends verbundenen Gerätemanagement-Client zum Austauschen von Geräte-, Fahrzeug- und von Diagnose- sowie Softwareupdateinformationen, einem über die Luftschnittstelle mit einem Download-Server des Backends verbundenen Download-Client zum Herunterladen eines Softwareupdates von dem Backend in das Fahrzeug, mit dem Download-Client verbundenen Softwareupdate-Clients zum Anwenden des Softwareupdates und einen mit dem Download-Client und den Softwareupdate-Clients verbundenen Fahrzeugupdate-Client zum Koordinieren des Softwareupdates. DE102015203766A1 discloses a subsystem for a vehicle with a device management client connected via an air interface to a device management server of the backend for exchanging device, vehicle and diagnostic and software update information, a download connected via the air interface to a download server of the backend Client for downloading a software update from the backend into the vehicle, software update clients connected to the download client for applying the software update and a vehicle update client connected to the download client and the software update clients for coordinating the software update.

Im Zuge einer unabhängigen Entwicklung findet die im Rechenzentrumsbetrieb bereits seit Längerem übliche Container- oder Betriebssystem-Virtualisierung in jüngerer Zeit vermehrt Eingang in die Praxis der eingebetteten Systeme (embedded systems). Diese Methode erlaubt es, mehrere Instanzen eines Betriebssystems als sogenannte Gäste (guests) isoliert voneinander auf einem Wirtssystem (host) zu betreiben. Auf diese Weise kann der Wirt jeder innerhalb eines solchen Containers gekapselten Anwendung (application, app) eine vollständige Laufzeitumgebung zur Verfügung stellen, die beispielsweise dynamische Bibliotheken der vom jeweiligen Entwickler genutzten Programmiersprache wie Java, C oder Python umfassen mag. Im Gegensatz zur Nutzung eines Hypervisors erlegt diese „leichtgewichtige“ Form der Virtualisierung den Gästen zwar einige Einschränkungen auf, birgt jedoch den Vorteil, dass alle Container den Kern des nativen Betriebssystems - typischerweise Linux, BSD, Solaris oder ein anderes Unix-ähnliches System - gemeinsam nutzen. Die Nutzung von Containern schont somit die knappen Betriebsmittel eingebetteter Systeme.In the course of an independent development, the container or operating system virtualization, which has been common in data center operations for a long time, has recently increasingly found its way into the practice of embedded systems. This method makes it possible to operate several instances of an operating system as so-called guests in isolation from one another on a host system. In this way, the host can provide a complete runtime environment to each application encapsulated within such a container, which may include, for example, dynamic libraries of the programming language used by the respective developer, such as Java, C or Python. In contrast to the use of a hypervisor, this "lightweight" form of virtualization imposes some restrictions on the guests, but has the advantage that all containers share the core of the native operating system - typically Linux, BSD, Solaris or another Unix-like system use. The use of containers thus spares the scarce resources of embedded systems.

Offenbarung der ErfindungDisclosure of the invention

Die Erfindung stellt ein System zum Steuern einer Maschine und eine entsprechende Land- oder anderweitige Maschine gemäß den unabhängigen Ansprüchen bereit.The invention provides a system for controlling a machine and a corresponding agricultural or other machine according to the independent claims.

Ein Vorzug dieser Lösung liegt in ihrer Eignung zur Entwicklung von Software für unterschiedliche Fahrzeuge und Arbeitsmaschinen mit geringem Entwicklungsaufwand sowie der eröffneten Möglichkeit, unterschiedliche Programmiersprachen zu verwenden oder die Hardware eines erfindungsgemäßen Systems zur Laufzeit zu verändern und insbesondere zu erweitern.One advantage of this solution is its suitability for developing software for different vehicles and work machines with little development effort and the opened possibility of using different programming languages or changing and in particular expanding the hardware of a system according to the invention at runtime.

Durch die in den abhängigen Ansprüchen aufgeführten Maßnahmen sind vorteilhafte Weiterbildungen und Verbesserungen des im unabhängigen Anspruch angegebenen Grundgedankens möglich. So kann vorgesehen sein, dass die erfindungsgemäß zur Ausführung der Steuerprogramme genutzten Container eine Abstraktionsschicht zum Zugriff auf einen Nachrichtenbroker (message broker) wie MQTT oder DDS aufweisen. Diese Softwarearchitektur erlaubt durch Service-orientierte Schnittstellen und Kommunikation die Ausführung der Anwendungssoftware ohne Anpassung ihres Quellcodes auf unterschiedlichen elektrisch-elektronischen Architekturen. Gemäß einem weiteren Aspekt kann vorgesehen sein, dass die Hardware des Systems einen CAN-Transceiver oder Ethernet-Adapter und sein Betriebssystem einen entsprechenden Protokollstapel umfasst. Die Steuerprogramme sind auf diese Weise auf Steuergeräte mit unterschiedlichster Ein- und Ausgabe (input/output, I/O) portierbar.The measures listed in the dependent claims enable advantageous developments and improvements of the basic idea specified in the independent claim. It can thus be provided that the containers used according to the invention for executing the control programs have an abstraction layer for access to a message broker such as MQTT or DDS. This software architecture, through service-oriented interfaces and communication, allows the application software to be executed on different electrical-electronic architectures without adapting its source code. According to a further aspect it can be provided that the hardware of the system comprises a CAN transceiver or Ethernet adapter and its operating system comprises a corresponding protocol stack. In this way, the control programs can be ported to control units with a wide variety of inputs and outputs (I / O).

FigurenlisteFigure list

Ausführungsbeispiele der Erfindung sind in der Zeichnung dargestellt und in der nachfolgenden Beschreibung näher erläutert.

  • Die einzige Figur zeigt das Blockdiagramm eines Systems gemäß einer Ausführungsform.
Exemplary embodiments of the invention are shown in the drawing and explained in more detail in the description below.
  • The single figure shows the block diagram of a system according to an embodiment.

Ausführungsformen der ErfindungEmbodiments of the invention

Eine Ausführungsform der Erfindung betrifft ein Steuergerät mit dessen nativem Betriebssystem. Das erfindungsgemäße System umfasst Softwareelemente, welche auf diesem Betriebssystem basieren. Ein Beispiel für solch ein Betriebssystem ist ein für Steuergeräte optimiertes Linux-Derivat, das beispielsweise CAN-Treiber, Netzwerkverbindungen, WLAN, USB sowie die Ansteuerung von I/O-Endstufen unterstützt. Zusätzlich kann das Betriebssystem um Virtualisierungslösungen wie Docker oder Linux-Container (LXC) erweitert werden. Darüber hinaus kommuniziert das Steuergerät mit einem oder mehreren Cloud-Backends und enthält Anwendungssoftware, welche dem System ein bestimmtes Leistungsmerkmal verleiht. Diese wird durch Container gekapselt, um andere Funktionen nicht zu beeinflussen, und nutzt eine Programmierschnittstelle (application programming interface, API) der Softwareplattform. In der Regel entspricht das Leistungsmerkmal einer von der Maschine erfüllbaren Anwendungsfunktion.One embodiment of the invention relates to a control device with its native operating system. The system according to the invention comprises software elements which are based on this operating system. An example of such an operating system is a Linux derivative that has been optimized for control units and that supports, for example, CAN drivers, network connections, WLAN, USB and the control of I / O output stages. In addition, the operating system can be expanded to include virtualization solutions such as Docker or Linux containers (LXC). In addition, the control unit communicates with one or more cloud backends and contains application software that gives the system a specific performance feature. This is encapsulated by containers so as not to influence other functions, and uses a programming interface (application programming interface, API) of the software platform. As a rule, the performance characteristic corresponds to an application function that can be fulfilled by the machine.

Diese Service-basierte Architektur besteht aus einzelnen Architektur-Komponenten, die ihrerseits aus Unterelementen bestehen können. Komponenten bezeichnen in diesem Zusammenhang einzelne Softwareelemente in Gestalt ausführbaren Programmcodes und zugehöriger Daten sowie aggregierten Programmcode, welcher der SW-Plattform seine Funktionalitäten als Services anbietet. Dabei kann eine Komponente Teil der SW-Plattform sein oder auf dieser aufbauen. Der Begriff „SW-Plattform“ bezieht sich hierbei auf die Gesamtheit der auf dem Steuergerät betriebenen Software mit Ausnahme des Betriebssystems selbst, welche die nachfolgend beschriebene Service-basierte Kommunikation ermöglicht.This service-based architecture consists of individual architecture components, which in turn can consist of sub-elements. In this context, components refer to individual software elements in the form of executable program codes and associated data as well as aggregated program code, which offers the software platform its functionalities as services. A component can be part of the software platform or build on it. The term "software platform" refers to the entirety of the software operated on the control device with the exception of the operating system itself, which enables the service-based communication described below.

Diese Software umfasst ein Integrations-Framework, den besagten Nachrichtenbroker und eine Schnittstellenbibliothek. Die SW-Plattform entspricht somit der Gesamtheit aller Software-Komponenten ohne die vorstehend erwähnten Leistungsmerkmale.This software comprises an integration framework, said message broker and an interface library. The software platform thus corresponds to the entirety of all software components without the aforementioned performance features.

Ein solches Leistungsmerkmal könnte beispielsweise die GPS-Ortung einer zu steuernden Landmaschine auf einem Feld betreffen. Zur Erfüllung ihres Dienstes (service) braucht die betreffende Komponente keine Annahme über die Umsetzung anderer Komponenten zu treffen.Such a performance feature could, for example, relate to the GPS positioning of an agricultural machine to be controlled in a field. In order to fulfill its service, the component in question does not need to make any assumptions about the implementation of other components.

Die Beziehung dieser Konzepte ist der Abbildung zu entnehmen. Die einzelnen mit dem Nachrichtenbroker (13) verbundenen Container (14) stellen jeweils spezifische Services zur Verfügung. Das Integrations-Framework (18) übernimmt dabei die zentrale Rolle des Lifecycle-Managements und der Überwachung der einzelnen Services.The relationship between these concepts can be seen in the figure. The individual with the news broker ( 13th ) connected container ( 14th ) each provide specific services. The integration framework ( 18th ) takes on the central role of lifecycle management and monitoring of the individual services.

Die beschriebene Softwarearchitektur ermöglicht die Service-basierte Kommunikation im Wesentlichen durch eine Abstraktionsschicht (16) sowie den oben beleuchteten Nachrichtenbroker (13). Einen Kerngedanken des erfindungsgemäßen Ansatzes stellt dabei die Schaffung einer modularen Softwareumgebung dar, welche die abstrahierte Ausführung von in Containern (14) gekapselter Software ermöglicht, um die Features verschiedenster Steuerprogramme (15) auf unterschiedlichen Steuergeräten anbieten zu können.The software architecture described enables service-based communication mainly through an abstraction layer ( 16 ) as well as the news broker highlighted above ( 13th ). A key idea of the approach according to the invention is the creation of a modular software environment that allows the abstract execution of containers ( 14th ) encapsulated software enables the features of various control programs ( 15th ) to be able to offer on different control units.

Diese Steuerprogramme (15) werden voneinander getrennt in ihren jeweiligen Containern (14) ausgeführt und kommunizieren ausschließlich über die definierte API der Abstraktionsschicht (16). Die protokollgemäße Kommunikation mit dem Integrations-Framework (18), Schnittstellenbibliothek (17) und anderen, bedarfsweise nachträglich hinzugefügten Plattformkomponenten obliegt dem Nachrichtenbroker (13). Die Steuerprogramme (15) greifen auf diesen lediglich mittels der Abstraktionsschicht (16) zu.These control programs ( 15th ) are separated from each other in their respective containers ( 14th ) and communicate exclusively via the defined API of the abstraction layer ( 16 ). The protocol-compliant communication with the integration framework ( 18th ), Interface library ( 17th ) and other platform components that may be added at a later date are the responsibility of the news broker ( 13th ). The control programs ( 15th ) access this only by means of the abstraction layer ( 16 ) to.

Der Nachrichtenbroker (13) stellt somit die zentrale Kommunikationsebene der erfindungsgemäßen Architektur dar. Er erfüllt dazu Kommunikationsaufgaben wie das Melden von neuen Informationen und deren Vorhaltung, die für Schnittstellenbibliothek (17), Integrations-Framework (18) und andere Komponenten bedeutsam sind.The news broker ( 13th ) thus represents the central communication level of the architecture according to the invention. To this end, it fulfills communication tasks such as reporting new information and keeping it available that are required for the interface library 17th ), Integration framework ( 18th ) and other components are significant.

Wie erwähnt dient den Steuerprogrammen (15) die Abstraktionsschicht (16) zur Kommunikation mit dem Nachrichtenbroker (13). Jedoch nutzen auch die anderen oben aufgeführten Komponenten die Abstraktionsschicht (16) zur Kommunikation mit dem Nachrichtenbroker (13). Durch Austausch der API kann somit der Nachrichtenbroker (13) ausgetauscht werden. Die Abstraktionsschicht (16) abstrahiert hierzu alle für ein Leistungsmerkmal (15) erforderlichen Services, welche von anderen Plattformkomponenten über API und Nachrichtenbroker (13) bereitgestellt werden.As mentioned, the control programs ( 15th ) the abstraction layer ( 16 ) to communicate with the message broker ( 13th ). However, the other components listed above also use the abstraction layer ( 16 ) to communicate with the message broker ( 13th ). By exchanging the API, the message broker ( 13th ) be replaced. The abstraction layer ( 16 ) abstracts all for a performance feature ( 15th ) required services, which are provided by other platform components via API and message broker ( 13th ) to be provided.

Diese Services stellen die einzige Möglichkeit der Kommunikation der Steuerprogramme (15) mit ihrer Umgebung dar. Im Rahmen dieser Kommunikation sind sowohl Lese- als auch Schreibzugriffe, was auch Parameterzugriffe und/oder Methodenaufrufe und/oder Events einschließt, denkbar. Das jeweilige Steuerprogramm (15) bedient sich dieser Services, um seine Funktion zu erfüllen, indem es beispielsweise eine GPS-Position oder Düsen ein- und ausschaltet.These services are the only way of communicating the control programs ( 15th ) with their environment. In the context of this communication, both read and write access, which also includes parameter accesses and / or method calls and / or events, is conceivable. The respective control program ( 15th ) uses these services to fulfill its function, for example by switching a GPS position or nozzles on and off.

Ein Steuerprogramm (15) kann seinerseits Dienste leisten und anderen Steuerprogrammen (15) Informationen bereitstellen, welche die Daten wiederum dokumentieren oder anderweitig verarbeiten. In Betracht kommt im obigen Beispiel etwa die Position der Spritze und deren Durchflussmenge. Neben derartigen Anwendungsfunktionen können Container (14) auch Middleware-Funktionen wie persistente Speicherung, Kommunikation oder Lifecycle-Management, In- und Außerbetriebnahme und anderweitige Grundfunktionen der Steuergeräte-Hardware (11) und wahlweise derer Ein- und Ausgabeschnittstellen sowie maschinenspezifische Funktionen, etwa die Ansteuerung von Sensoren, erfüllen. Jedes physikalisch oder digital abbildbare Element findet seine Entsprechung als Service des Steuergeräts.A control program ( 15th ) can in turn provide services and other tax programs ( 15th ) Provide information, which in turn documents or otherwise processes the data. In the above example, the position of the syringe and its flow rate come into consideration. In addition to such application functions, containers ( 14th ) also middleware functions such as persistent storage, communication or lifecycle management, commissioning and decommissioning and other basic functions of the control unit hardware ( 11 ) and optionally their input and output interfaces as well as machine-specific functions, such as the control of sensors. Every element that can be physically or digitally mapped finds its equivalent as a service of the control unit.

Die Abstraktionsschicht (16) abstrahiert ferner andere Steuergeräte, Sensorik und Aktorik auf einer abstrakten semantischen - im Gegensatz zur technischen - Ebene. Anstatt die Spannung eines Hydraulikventils zwischen 12 V und 0 V umzuschalten, kann ein Steuerprogramm (15) auf diese Weise zum Beispiel einfache Befehle zum Ein- bzw. Ausschalten des dieses Ventil aufweisenden Düngerstreuers erteilen. Die Abstraktion ist somit hinsichtlich Mechanik, Steuergerät usw. unabhängig von der gewählten Implementierung. Dies birgt den Vorteil, dass das Steuerprogramm (15) ungeachtet technischer Eigenheiten der unterliegenden Hardware (11) in jeder SW-Umgebung lauffähig ist, welche die benötigten Services bereitstellt.The abstraction layer ( 16 ) also abstracts other control devices, sensors and actuators on an abstract semantic - in contrast to the technical - level. Instead of switching the voltage of a hydraulic valve between 12 V and 0 V, a control program ( 15th ) in this way, for example, issue simple commands to switch the fertilizer spreader having this valve on and off. The abstraction is therefore independent of the chosen implementation in terms of mechanics, control unit, etc. This has the advantage that the control program ( 15th ) regardless of the technical characteristics of the underlying hardware ( 11 ) can run in any software environment that provides the required services.

Zudem kann die Implementierung der Services sowie die implementierten Services die von Containern bereitgestellt werden ohne Einfluss auf die geforderten Funktionseigenschaften und Leistungsmerkmale verändert oder ausgetauscht werden, solange die erwarteten Services bereitgestellt werden.In addition, the implementation of the services and the implemented services that are provided by containers can be changed or exchanged without affecting the required functional properties and performance features, as long as the expected services are provided.

Die Services können auch zur Laufzeit ausgetauscht werden. So melden sich z.B. Services ab oder ein anderer Service wird gestartet. Im Falle, dass die Services aus einem Container bereitgestellt werden, können auch die Container ausgetauscht werden. Dadurch, dass dies ohne Neustart des jeweiligen Systems erfolgt, verbessert sich die Verfügbarkeit des Systems (10) im Vergleich zu einer monolithischen SW-Architektur.The services can also be exchanged during runtime. For example, services log off or another service is started. In the event that the services are provided from a container, the containers can also be exchanged. The fact that this is done without restarting the respective system improves the availability of the system ( 10 ) compared to a monolithic SW architecture.

Die Softwarearchitektur ermöglicht es somit, das System (10) dynamisch - etwa durch den Austausch eines Containers (14) oder der Schnittstellenbibliothek (17) - zu verändern, solange nicht etwa Nachrichtenbroker (13), Integrations-Framework (18) oder andere kritische Elemente der SW-Plattform ausfallen oder ausgetauscht werden sollen.The software architecture thus enables the system ( 10 ) dynamically - for example by replacing a container ( 14th ) or the interface library ( 17th ) - to be changed as long as there is no news broker ( 13th ), Integration framework ( 18th ) or other critical elements of the software platform should fail or be replaced.

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN THE DESCRIPTION

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.This list of the documents listed by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturPatent literature cited

  • DE 102015203766 A1 [0006]DE 102015203766 A1 [0006]

Claims (10)

System (10) zum Steuern einer Maschine, gekennzeichnet durch folgende Merkmale: - eine Hardware (11), - ein auf der Hardware (11) ausführbares Betriebssystem (12), - ein auf dem Betriebssystem (12) basierendes Integrations-Framework (18), - einen an das Framework (18) angepassten Nachrichtenbroker (13) und - mehrere über den Nachrichtenbroker (13) verbundene Container (14), die jeweils mindestens ein Steuerprogramm (15) für die Maschine umfassen.System (10) for controlling a machine, characterized by the following features: - a hardware (11), - an operating system (12) that can be executed on the hardware (11), - an integration framework (18) based on the operating system (12) - A message broker (13) adapted to the framework (18) and - several containers (14) connected via the message broker (13), each of which comprises at least one control program (15) for the machine. System (10) nach Anspruch 1, gekennzeichnet durch folgende Merkmale: - die Container (14) weisen eine Abstraktionsschicht (16) auf und - die Steuerprogramme (15) sind dazu eingerichtet, mittels der Abstraktionsschicht (16) auf den Nachrichtenbroker (13) zuzugreifen.System (10) according to Claim 1 , characterized by the following features: - the containers (14) have an abstraction layer (16) and - the control programs (15) are set up to access the message broker (13) by means of the abstraction layer (16). System (10) nach Anspruch 2, gekennzeichnet durch folgende Merkmale: - das System (10) umfasst ferner eine auf dem Betriebssystem (12) basierende Schnittstellenbibliothek (17) und - die Steuerprogramme (15) sind ferner dazu eingerichtet, mittels der Abstraktionsschicht (16) auf die Schnittstellenbibliothek (17) zuzugreifen.System (10) according to Claim 2 , characterized by the following features: - the system (10) furthermore comprises an interface library (17) based on the operating system (12) and - the control programs (15) are also set up to access the interface library (17) by means of the abstraction layer (16) to access. System (10) nach einem der Ansprüche 1 bis 3, gekennzeichnet durch folgendes Merkmal: - der Nachrichtenbroker (13) ist dazu eingerichtet, von den Steuerprogrammen (15) zu verarbeitende Daten zwischen den Containern (14) zu übertragen.System (10) according to one of the Claims 1 to 3 , characterized by the following feature: the message broker (13) is set up to transmit data to be processed by the control programs (15) between the containers (14). System (10) nach einem der Ansprüche 1 bis 3, gekennzeichnet durch folgendes Merkmal: - der Nachrichtenbroker (13) ist ein echtzeitfähiger Datenverteilerdienst.System (10) according to one of the Claims 1 to 3 , characterized by the following feature: the message broker (13) is a real-time capable data distribution service. System (10) nach einem der Ansprüche 1 bis 5, gekennzeichnet durch folgendes Merkmal: - das Betriebssystem (12) ist ein Linux-Betriebssystem (12).System (10) according to one of the Claims 1 to 5 , characterized by the following feature: - the operating system (12) is a Linux operating system (12). System (10) nach Anspruch 6, gekennzeichnet durch folgendes Merkmal: - das System (10) umfasst Docker oder LXC.System (10) according to Claim 6 , characterized by the following feature: - the system (10) comprises Docker or LXC. System (10) nach einem der Ansprüche 1 bis 7, gekennzeichnet durch folgende Merkmale: - die Hardware (11) umfasst einen CAN-Transceiver und - das Betriebssystem (12) umfasst einen CAN-Protokollstapel.System (10) according to one of the Claims 1 to 7th , characterized by the following features: - the hardware (11) comprises a CAN transceiver and - the operating system (12) comprises a CAN protocol stack. System (10) nach einem der Ansprüche 1 bis 8, gekennzeichnet durch folgendes Merkmal: - die Hardware (11) umfasst einen Ethernet-Adapter und - das Betriebssystem (12) umfasst einen Ethernet-Protokollstapel.System (10) according to one of the Claims 1 to 8th , characterized by the following feature: - the hardware (11) comprises an Ethernet adapter and - the operating system (12) comprises an Ethernet protocol stack. Maschine mit einem System (10) nach einem der Ansprüche 1 bis 9.Machine with a system (10) according to one of the Claims 1 to 9 .
DE102019217044.7A 2019-11-06 2019-11-06 System for controlling a machine Withdrawn DE102019217044A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102019217044.7A DE102019217044A1 (en) 2019-11-06 2019-11-06 System for controlling a machine
PCT/EP2020/078747 WO2021089279A1 (en) 2019-11-06 2020-10-13 Method for controlling a machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019217044.7A DE102019217044A1 (en) 2019-11-06 2019-11-06 System for controlling a machine

Publications (1)

Publication Number Publication Date
DE102019217044A1 true DE102019217044A1 (en) 2021-05-06

Family

ID=72885559

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019217044.7A Withdrawn DE102019217044A1 (en) 2019-11-06 2019-11-06 System for controlling a machine

Country Status (2)

Country Link
DE (1) DE102019217044A1 (en)
WO (1) WO2021089279A1 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120311614A1 (en) * 2011-06-02 2012-12-06 Recursion Software, Inc. Architecture for pervasive software platform-based distributed knowledge network (dkn) and intelligent sensor network (isn)
US10069944B2 (en) * 2013-10-03 2018-09-04 Duke Energy Corporation Methods of processing data corresponding to a device that corresponds to a gas, water, or electric grid, and related devices and computer program products

Also Published As

Publication number Publication date
WO2021089279A1 (en) 2021-05-14

Similar Documents

Publication Publication Date Title
EP2425333B1 (en) Method to update software components
EP2527936B1 (en) Method for accessing an automation system and system operating according to the method
DE102015203766A1 (en) Subsystem for a vehicle and corresponding vehicle
WO2006066880A1 (en) System and method for automatically actualising functionalities in a distributed network
EP3977668B1 (en) System for producing cryptographic material
WO2019211122A1 (en) Feature development framework and feature integration framework for implementing physical functional features in a target device
WO2021089296A1 (en) Method for exchanging messages through application software
WO2021089310A1 (en) Method and device for managing the access of multiple software components to software interfaces
DE102016201769A1 (en) Method for updating software of a control unit, preferably for a motor vehicle
DE102019217044A1 (en) System for controlling a machine
EP1665031A2 (en) Method for the installation of a program component
WO2021089297A1 (en) Method for controlling a machine
WO2021089308A1 (en) System for controlling a machine
EP3285162A1 (en) Method for projecting a project and arrangement for carrying out said method
WO2021089295A1 (en) Method and device for managing a software component for a specified system
EP4144003B1 (en) Method for producing a software component for an electronic computing device of a motor vehicle, computer program product, computer-readable storage medium and motor-vehicle-external update system
WO2021089293A1 (en) Method and device for providing application software
DE102012218665B4 (en) Application system for control units
DE102022203325A1 (en) Method for checking the executability of a software application
EP2503515B9 (en) Vehicle diagnosis method for mobile work machines
WO2021104969A1 (en) Method for performing tests with lifts of a lift network
EP2204704A1 (en) Method for operating an industrial automation system comprising multiple networked computing units and industrial automation system
EP2927811B1 (en) Method for controlling an automated process
EP2224296A1 (en) Method for providing functions in an automation system, control program and automation system
DE102007049958A1 (en) Method and system for updating a multi-layered application

Legal Events

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