DE102019217044A1 - System for controlling a machine - Google Patents
System for controlling a machine Download PDFInfo
- 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
Links
- 230000010354 integration Effects 0.000 claims abstract description 7
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000000034 method Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- BUHVIAUBTBOHAG-FOYDDCNASA-N (2r,3r,4s,5r)-2-[6-[[2-(3,5-dimethoxyphenyl)-2-(2-methylphenyl)ethyl]amino]purin-9-yl]-5-(hydroxymethyl)oxolane-3,4-diol Chemical compound COC1=CC(OC)=CC(C(CNC=2C=3N=CN(C=3N=CN=2)[C@H]2[C@@H]([C@H](O)[C@@H](CO)O2)O)C=2C(=CC=CC=2)C)=C1 BUHVIAUBTBOHAG-FOYDDCNASA-N 0.000 description 1
- 241000196324 Embryophyta Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000003337 fertilizer Substances 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols 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.
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.
- 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 (
Die beschriebene Softwarearchitektur ermöglicht die Service-basierte Kommunikation im Wesentlichen durch eine Abstraktionsschicht (
Diese Steuerprogramme (
Der Nachrichtenbroker (
Wie erwähnt dient den Steuerprogrammen (
Diese Services stellen die einzige Möglichkeit der Kommunikation der Steuerprogramme (
Ein Steuerprogramm (
Die Abstraktionsschicht (
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 (
Die Softwarearchitektur ermöglicht es somit, das System (
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)
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)
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 |
-
2019
- 2019-11-06 DE DE102019217044.7A patent/DE102019217044A1/en not_active Withdrawn
-
2020
- 2020-10-13 WO PCT/EP2020/078747 patent/WO2021089279A1/en active Application Filing
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 |