DE102014210529A1 - Method for operating a control unit - Google Patents

Method for operating a control unit Download PDF

Info

Publication number
DE102014210529A1
DE102014210529A1 DE102014210529.3A DE102014210529A DE102014210529A1 DE 102014210529 A1 DE102014210529 A1 DE 102014210529A1 DE 102014210529 A DE102014210529 A DE 102014210529A DE 102014210529 A1 DE102014210529 A1 DE 102014210529A1
Authority
DE
Germany
Prior art keywords
processor cores
processor
control unit
real
operated
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
DE102014210529.3A
Other languages
German (de)
Inventor
Kevin Mueller
Frank Mueller
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 DE102014210529.3A priority Critical patent/DE102014210529A1/en
Publication of DE102014210529A1 publication Critical patent/DE102014210529A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

Die Erfindung betrifft ein Verfahren zum Betreiben einer Steuereinheit (100) zum Steuern einer Maschine (130) und/oder Anlage mit einem Multicore-Prozessor (101) mit wenigstens zwei Prozessorkernen (102), wobei eine erste Anzahl (110) von Prozessorkernen (102) des Multicore-Prozessors (101) einem oder mehreren echtzeitfähigen ersten Betriebssystemen zugeordnet ist, wobei eine zweite Anzahl (120) von Prozessorkernen (102) des Multicore-Prozessors (101) einem oder mehreren zweiten Betriebssystemen zugeordnet ist, wobei einzelne der Prozessorkerne der zweiten Anzahl (120) von Prozessorkernen (101) bei Bedarf in einem Energiesparmodus betrieben werden und wobei sämtliche Prozessorkerne der ersten Anzahl (110) von Prozessorkernen stets aktiv betrieben werden und nicht in einem Energiesparmodus betrieben werden.The invention relates to a method for operating a control unit (100) for controlling a machine (130) and / or installation having a multicore processor (101) with at least two processor cores (102), wherein a first number (110) of processor cores (102 ) of the multicore processor (101) is associated with one or more real time capable first operating systems, wherein a second number (120) of processor cores (102) of the multicore processor (101) is associated with one or more second operating systems, wherein individual ones of the processor cores of the second Number (120) of processor cores (101) are operated in a power-saving mode as needed and wherein all processor cores of the first number (110) of processor cores are always actively operated and are not operated in a power-saving mode.

Description

Die vorliegende Erfindung betrifft ein Verfahren zum Betreiben einer Steuereinheit zum Steuern einer Maschine und/oder Anlage sowie eine entsprechende Steuereinheit. The present invention relates to a method for operating a control unit for controlling a machine and / or system as well as a corresponding control unit.

Stand der Technik State of the art

Moderne Steuereinheiten bzw. Steuergeräte wie eine Computerized Numerical Control (CNC), Motion Control (MC) Logic oder Speicherprogrammierbare Steuerung (SPS) umfassen zumeist eine Prozessoreinheit. Eine derartige Prozessoreinheit kann einen zweckmäßigen Prozessor bzw. Prozessorkern (Core) oder einen Multicore-Prozessor umfassen. Multicore-Prozessoren umfassen mehrere (wenigstens zwei) Prozessorkerne. Ein Prozessorkern umfasst eine arithmetisch-logische Einheit (ALU), welche das eigentliche elektronische Rechenwerk zur Ausführung von Rechenoperationen (z.B. Prozesse, Tasks, Anwendungen, Programme, etc.) darstellt, und weiterhin einen lokalen Speicher. Ein derartiger lokaler Speicher ist insbesondere als ein Registersatz aus einem oder mehreren Registern ausgebildet. Modern control units or control devices such as a computerized numerical control (CNC), motion control (MC) logic or programmable logic controller (PLC) usually comprise a processor unit. Such a processor unit may comprise a suitable processor core or a multi-core processor. Multicore processors include multiple (at least two) processor cores. A processor core comprises an arithmetic logic unit (ALU), which represents the actual electronic arithmetic unit for performing arithmetic operations (e.g., processes, tasks, applications, programs, etc.), and also a local memory. Such a local memory is designed in particular as a register set of one or more registers.

Moderne Multicore-Prozessoren können in einem sogenannten Hypervisor-Modus betrieben werden. Dabei können durch einen Hypervisor mehrere voneinander getrennte Betriebssysteme in einem Multicore-Prozessor eingerichtet und ausgeführt werden. Einzelne Kerne dieses Multicore-Prozessors können jeweils einzelnen der Betriebssysteme zugeordnet werden. Ein jeweiliges Betriebssystem kann auf den ihm zugeordneten Prozessorkernen unterschiedliche Rechenoperation ausführen. Modern multicore processors can be operated in a so-called hypervisor mode. It can be set up and executed by a hypervisor several separate operating systems in a multicore processor. Individual cores of this multicore processor can be assigned to each of the operating systems. A respective operating system can execute different arithmetic operations on the processor cores assigned to it.

Steuereinheiten wie CNC, MC oder SPS mit derartigen Mulitcore-Prozessoren finden immer größere Bedeutung in der Automatisierungstechnik, beispielsweise zur Fabrikautomatisierung und zur Prozessautomatisierung, und können zum Steuern von Maschinen oder Anlagen, wie beispielsweise Werkzeugmaschinen, Druckmaschinen oder ähnlichem, verwendet werden. Control units such as CNC, MC or PLC with such multi-core processors are becoming increasingly important in automation technology, such as factory automation and process automation, and may be used to control machinery or equipment such as machine tools, printing machines or the like.

Derartige Steuereinheiten zum Steuern von Maschinen oder Anlagen sind zumeist Echtzeitsysteme. Echtzeitsysteme zeichnen sich dadurch aus, dass Rechenoperationen derart ausgeführt werden, dass eine Echtzeitbedingung erfüllt ist, d.h. dass ein Ergebnis einer Rechenoperation innerhalb eines definierten Zeitintervalls garantiert berechnet ist, also vor einer bestimmten Zeitschranke vorliegt. Auf einem Multicore-Prozessor eines derartigen Echtzeitsystems werden zumeist ein oder mehrere Echtzeitbetriebssysteme ausgeführt. Ein derartiges Echtzeitbetriebssystem regelt die unterschiedlichen Rechenoperationen und führt diese in Echtzeit aus. Such control units for controlling machines or systems are usually real-time systems. Real-time systems are characterized by performing computational operations such that a real-time condition is satisfied, i. E. that a result of an arithmetic operation is guaranteed calculated within a defined time interval, ie before a certain time limit exists. On a multicore processor of such a real-time system, one or more real-time operating systems are usually executed. Such a real-time operating system controls the different arithmetic operations and executes them in real time.

In einem herkömmlichen Multicore-Prozessor, welcher nicht in ein Echtzeitsystem implementiert ist, kann ein Energiemanagement implementiert werden, damit der Multicore-Prozessor energiesparend betrieben werden kann. Einzelne der Prozessorkerne des Multicore-Prozessors können dabei deaktiviert und zu einem späteren Zeitpunkt wieder reaktiviert werden. In a conventional multicore processor, which is not implemented in a real-time system, power management can be implemented to power the multicore processor. Individual processor cores of the multicore processor can be deactivated and reactivated at a later time.

Ein derartiges Energiemanagement bietet sich jedoch nicht für einen Multicore-Prozessor in einem Echtzeitsystem an. Wenn einzelne der Prozessorkerne im Zuge eines derartigen Energiemanagements deaktiviert werden, kann nicht mehr garantiert werden, dass bei der Ausführung von Rechenoperationen eine Echtzeitbedingung erfüllt ist. Ein Abschalten von Prozessorkernen im Zuge eines derartigen Energiemanagements kann zu Fehlern, Beschädigungen oder Ausfall der Industriemaschinen bzw. Anlage führen. Weiterhin werden ein Sicherheitsrisiko und eine Gefährdung sowohl für die Industriemaschinen bzw. Anlage als auch für Benutzer bzw. Arbeiter erheblich erhöht. However, such energy management does not lend itself to a multicore processor in a real-time system. If individual processor cores are deactivated as part of such energy management, it is no longer possible to guarantee that a real-time condition is fulfilled when performing arithmetic operations. Switching off processor cores in the course of such an energy management can lead to errors, damage or failure of the industrial machinery or plant. Furthermore, a security risk and a risk for both the industrial machinery or plant as well as for users or workers are considerably increased.

Es ist daher wünschenswert, eine Möglichkeit bereitzustellen, um einen Multicore-Prozessor einer Steuereinheit zum Steuern von Maschinen oder Anlagen energiesparend betreiben zu können und dennoch ein sicheres Steuern der Maschinen bzw. Anlagen zu gewährleisten. It is therefore desirable to provide a way to operate a multi-core processor of a control unit for controlling machinery or equipment energy-saving and yet to ensure safe control of the machinery or equipment.

Offenbarung der Erfindung Disclosure of the invention

Erfindungsgemäß werden ein Verfahren zum Betreiben einer Steuereinheit zum Steuern einer Maschine und/oder Anlage sowie eine entsprechende Steuereinheit mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung. According to the invention, a method for operating a control unit for controlling a machine and / or installation and a corresponding control unit with the features of the independent claims are proposed. Advantageous embodiments are the subject of the dependent claims and the following description.

Die Steuereinheit umfasst einen Multicore-Prozessor mit wenigstens zwei Prozessorkernen. In der Steuereinheit sind wenigstens zwei unterschiedliche Betriebssysteme eingerichtet und werden ausgeführt. Ein erstes Betriebssystem ist ein echtzeitfähiges Betriebssystem bzw. ein Echtzeitbetriebssystem (real-time operating system, RTOS). Ein zweites Betriebssystem ist insbesondere ein Allzweck-Betriebssystem (general purpose operating system, GPOS). Dieses zweite Betriebssystem ist insbesondere nicht echtzeitfähig im Sinne der Automatisierungstechnik. The control unit comprises a multicore processor with at least two processor cores. At least two different operating systems are set up in the control unit and are executed. A first operating system is a real-time operating system or a real-time operating system (RTOS). In particular, a second operating system is a general purpose operating system (GPOS). This second operating system is in particular not real-time capable in terms of automation technology.

Von dem echtzeitfähigen Betriebssystem können Rechenoperation (z.B. Prozess, Tasks, Anwendungen, usw.) derart ausgeführt werden, dass eine Echtzeitbedingung erfüllt ist. Diese Rechenoperationen werden von dem echtzeitfähigen Betriebssystem garantiert innerhalb eines vorgegebenen, definierten Zeitintervalls vollständig ausgeführt. Ein Ergebnis dieser Rechenoperation wird innerhalb dieses definierten Zeitintervalls garantiert berechnet und liegt demgemäß vor einer bestimmten Zeitschranke vor. Weiterhin ist ein Determinismus bzw. eine Vorhersagbarkeit der Rechenoperationen gegeben. From the real-time operating system, arithmetic operation (eg, process, tasks, applications, etc.) may be performed such that a real-time condition is met. These arithmetic operations are guaranteed to be completed by the real-time capable operating system within a predetermined, defined time interval. One The result of this calculation operation is guaranteed to be calculated within this defined time interval and is therefore present before a certain time limit. Furthermore, a determinism or predictability of the arithmetic operations is given.

Insbesondere erfüllt das echtzeitfähige Betriebssystem die nach der Norm DIN 44300 definierte Echtzeitbedingung. Demgemäß sind insbesondere Programme zur Verarbeitung anfallender Daten ständig betriebsbereit, derart, dass die Ergebnisse dieser Verarbeitungen innerhalb einer vorgegebenen Zeitspanne verfügbar sind. Die Daten können je nach Anwendungsfall nach einer zeitlich zufälligen Verteilung oder zu vorherbestimmten Zeitpunkten anfallen. In particular, the real-time operating system complies with the Standard DIN 44300 defined real-time condition. Accordingly, in particular, programs for processing accumulating data are always operational, such that the results of these processes are available within a predetermined period of time. Depending on the application, the data may be generated randomly or at predetermined times.

Die Prozessorkerne des Multicore-Prozessors sind in wenigstens zwei Gruppen eingeteilt. Eine erste Gruppe umfasst eine erste Anzahl von Prozessorkernen, eine zweite Gruppe umfasst eine zweite Anzahl von Prozessorkernen. Jede dieser beiden Gruppen umfasst wenigstens einen Prozessorkern. Diese erste Anzahl von Prozessorkernen ist dem echtzeitfähigen Betriebssystem zugeordnet. Das echtzeitfähige Betriebssystem kann auf dieser ersten Anzahl von Prozessorkernen Rechenoperationen in Echtzeit ausführen. Die zweite Anzahl von Prozessorkernen ist dem zweiten Betriebssystem zugeordnet. The processor cores of the multicore processor are divided into at least two groups. A first group comprises a first number of processor cores, a second group comprises a second number of processor cores. Each of these two groups includes at least one processor core. This first number of processor cores is associated with the real-time operating system. The real-time capable operating system can execute arithmetic operations in real time on this first number of processor cores. The second number of processor cores is associated with the second operating system.

Erfindungsgemäß werden einzelne der Prozessorkerne der zweiten Anzahl von Prozessorkernen bei Bedarf in einem Energiesparmodus betrieben. Im Zuge eines derartigen Energiesparmodus wird der entsprechende Prozessorkern insbesondere ausgeschaltet oder in einen energiesparenden Betriebsmodus versetzt und ist weiter insbesondere deaktiviert bzw. inaktiv. Der entsprechende Prozessorkern führt in dem Energiesparmodus keine Rechenoperationen aus und wird insbesondere nicht oder nur reduziert mit Energie versorgt. Wenn nötig, werden Prozessorkerne aus dem Energiesparmodus wieder reaktiviert und wieder normal betrieben. Sämtliche Prozessorkerne der ersten Anzahl von Prozessorkernen hingegen werden erfindungsgemäß stets aktiv betrieben und zu keiner Zeit in einem Energiesparmodus betrieben. Insbesondere werden diese Prozessorkerne stets betrieben, wenn die Steuereinheit betrieben wird. According to the invention, individual ones of the processor cores of the second number of processor cores are operated in an energy-saving mode as needed. In the course of such an energy-saving mode, the corresponding processor core is in particular switched off or put into an energy-saving operating mode and is furthermore in particular deactivated or inactive. The corresponding processor core does not execute any arithmetic operations in the energy-saving mode and in particular is not supplied with energy or only reduced. If necessary, processor cores are re-enabled from sleep mode and run normally again. By contrast, all processor cores of the first number of processor cores are always actively operated and are not operated in an energy-saving mode at any time. In particular, these processor cores are always operated when the control unit is operated.

Unter der Formulierung "bei Bedarf" ist zu verstehen, dass einer oder mehrere der Prozessorkerne in den Energiesparmodus überführt und in diesem betrieben werden, wenn von diesen Prozessorkernen keine oder kaum Rechenoperationen ausgeführt werden und/oder wenn diese Prozessorkerne nicht zum Ausführen sämtlicher von dem zweiten Betriebssystem durchzuführender Rechenoperationen benötigt werden. Insbesondere können dabei Rechenoperationen, die einem speziellen Prozessorkern zugewiesen sind, einem anderen Prozessorkern zugewiesen und von diesem ausgeführt werden und dieser spezielle Prozessorkern kann in den Energiesparmodus überführt werden. By "on-demand" as used herein is meant that one or more of the processor cores are transitioned to and operating in the power-saving mode when little or no computational operations are performed by those processor cores and / or when those processor cores are not executing all of the second Operating system to be performed arithmetic operations. In particular, arithmetic operations assigned to a particular processor core may be assigned to and executed by another processor core, and that particular processor core may be put into power saving mode.

Neben dem ersten echtzeitfähigen Betriebssystem können insbesondere auch noch weitere echtzeitfähige Betriebssysteme in der Steuereinheit ausgeführt werden und neben dem zweiten Betriebssystem können insbesondere auch noch weitere nicht echtzeitfähige Betriebssysteme ausgeführt werden. Die Prozessorkerne werden in diesem Fall insbesondere in mehrere Gruppen mit einer jeweiligen Anzahl von Prozessorkernen unterteilt. Den einzelnen Betriebssystemen ist jeweils eine entsprechende zweckmäßige Anzahl von Prozessorkernen zugeordnet. In addition to the first real-time-capable operating system, other real-time-capable operating systems in particular can also be executed in the control unit and, in addition to the second operating system, it is also possible to execute further non-real-time operating systems. In particular, the processor cores are subdivided into multiple groups with a respective number of processor cores. Each operating system is assigned a corresponding appropriate number of processor cores.

Die Steuereinheit ist ein Echtzeitsystem und eignet sich insbesondere, um sicherheitskritische Anwendungen der Maschine bzw. Anlage zu steuern oder zu regeln, da durch das Echtzeitsysteme garantiert ist, dass ein Ergebnis einer Rechenoperation innerhalb eines definierten Zeitintervalls berechnet ist bzw. ein Prozess innerhalb des definierten Zeitintervalls ausgeführt wird. Insbesondere werden Rechenoperationen, welche an dem sicheren Betrieb der Maschine bzw. Anlage beteiligt sind, im Zuge des erfindungsgemäßen Verfahrens von dem echtzeitfähigen Betriebssystem auf der ersten Anzahl von Prozessorkernen ausgeführt. The control unit is a real-time system and is particularly suitable for controlling or regulating safety-critical applications of the machine or system, since it is guaranteed by the real-time systems that a result of an arithmetic operation is calculated within a defined time interval or a process within the defined time interval is performed. In particular, arithmetic operations which are involved in the secure operation of the machine or system are executed in the course of the method according to the invention by the real-time-capable operating system on the first number of processor cores.

Vorteile der Erfindung Advantages of the invention

Durch die Erfindung kann ein energiesparender Betrieb der Steuereinheit ermöglicht werden und dennoch kann gewährleistet werden, dass die Steuereinheit ein Echtzeitsystem darstellt und Rechenoperationen in Echtzeit ausführen kann. Durch die Erfindung wird die zum Betreiben der Steuereinheit benötigte Energie reduziert. Somit können Kosten für den Betrieb der Steuereinheit und für den Betrieb der Anlage bzw. Maschine reduziert werden. Ein energiearmer, umweltschonender Betrieb der Steuereinheit wird ermöglicht. Dennoch ist die Echtzeitfähigkeit der Steuereinheit gewährleistet. Somit wird gewährleistet, dass die Maschine bzw. Anlage sicher und bestmöglich durch die Steuereinheit gesteuert wird. By the invention, an energy-saving operation of the control unit can be made possible and yet it can be ensured that the control unit is a real-time system and can perform arithmetic operations in real time. The invention reduces the energy required to operate the control unit. Thus, costs for the operation of the control unit and for the operation of the plant or machine can be reduced. A low-energy, environmentally friendly operation of the control unit is made possible. Nevertheless, the real-time capability of the control unit is ensured. This ensures that the machine or system is safely and optimally controlled by the control unit.

Weiterhin wird durch die Erfindung eine für die Steuereinheit benötigte Anzahl von Bauteilen reduziert. Insbesondere werden durch die Erfindung weniger oder zumindest kleinere Kühlmechanismen (z.B. Kühlkörper, Lüfter, usw.) für die Steuereinheit benötigt. Für die Steuereinheit werden weniger wartungsintensive, bewegliche Bauteile benötigt. Ein Gehäuse der Steuereinheit kann reduziert bzw. verkleinert werden. Ein Platzbedarf der Steuereinheit, insbesondere ein Schaltschrankplatzbedarf, wird somit reduziert. Weiterhin werden somit auch die Herstellungskosten für die Steuereinheit reduziert. Wartungsintervalle können vergrößert werden und eine Lebenszeit der Steuereinheit sowie der gesamten Maschine bzw. Anlage wird erhöht. Furthermore, the invention reduces a number of components required for the control unit. In particular, the invention requires fewer or at least smaller cooling mechanisms (eg heat sinks, fans, etc.) for the control unit. For the control unit less maintenance-intensive, moving components are needed. A housing of the control unit can be reduced or reduced. A space requirement of the control unit, in particular a cabinet space requirement, is thus reduced. Furthermore, thus also the Reduced manufacturing costs for the control unit. Maintenance intervals can be increased and a lifetime of the control unit and the entire machine or system is increased.

Die erste Gruppe und somit die erste Anzahl von Prozessorkernen sind insbesondere für Rechenoperationen reserviert, welche in Echtzeit ausgeführt werden müssen. Die erste Anzahl von Prozessorkernen wird zu diesem Zweck permanent aktiv betrieben und gewährleistet daher eine Echtzeitfähigkeit der Steuereinheit. Die zweite Gruppe und somit die zweite Anzahl von Prozessorkernen wird insbesondere für sämtliche Rechenoperationen verwendet, welche nicht in Echtzeit ausgeführt werden müssen. Somit besteht keine Gefährdung für die Maschine bzw. Anlage, wenn diese Prozessorkerne in dem Energiesparmodus betrieben werden. The first group and thus the first number of processor cores are reserved in particular for arithmetic operations which have to be performed in real time. The first number of processor cores is operated permanently active for this purpose and therefore ensures a real-time capability of the control unit. The second group, and thus the second number of processor cores, is used in particular for all arithmetic operations which need not be performed in real time. Thus, there is no danger to the machine or system when operating these processor cores in the power saving mode.

Ressourcen der dem zweiten Betriebssystems zugeordneten Prozessorkerne werden möglichst energieeffizient genutzt. Insbesondere ist in das zweite Betriebssystem ein Energiemanagement implementiert. Im Zuge dieses Energiemanagements wird bestimmt, welche der Prozessorkerne zu welchen Zeitpunkten in den Energiesparmodus überführt und wieder aus diesem reaktiviert werden. Dabei wird insbesondere ein Energieverbrauch des zweiten Betriebssystems bzw. der von dem zweiten Betriebssystem durchzuführenden Rechenoperationen bestimmt. Weiter insbesondere wird ein zukünftiger Energieverbrauch extrapoliert. In Abhängigkeit von diesem bestimmten bzw. extrapolierten Energieverbrauch wird bestimmt, welche Prozessorkerne in dem Energiesparmodus betrieben werden. Resources of the processor cores associated with the second operating system are used as energy efficiently as possible. In particular, an energy management is implemented in the second operating system. In the course of this energy management, it is determined which of the processor cores are transferred to the energy-saving mode at which times and reactivated again therefrom. In particular, an energy consumption of the second operating system or of the arithmetic operations to be carried out by the second operating system is determined. In particular, future energy consumption is extrapolated. Depending on this particular extrapolated power consumption, it is determined which processor cores are operated in the power saving mode.

Durch die Erfindung müssen nicht sämtliche Prozessorkerne des Multicore-Prozessors permanent betrieben werden. Einzelne Prozessorkerne können in dem Energiesparmodus betrieben werden, ohne dass es zu Fehlern, Beschädigungen oder Ausfall der Maschine bzw. Anlage kommt. Somit kann in der Steuereinheit ein Energiemanagement realisiert werden, ohne dass dadurch ein Sicherheitsrisiko und eine Gefährdung für die Maschine bzw. Anlage oder für Benutzer bzw. Arbeiter besteht. Not all the processor cores of the multicore processor need to be permanently operated by the invention. Individual processor cores can be operated in the energy-saving mode without causing any errors, damage or failure of the machine or system. Thus, an energy management can be realized in the control unit, without there being a safety risk and a threat to the machine or plant or for users or workers.

Die entsprechenden Prozessorkerne können insbesondere manuell, beispielsweise durch einen Benutzer bzw. entsprechende Benutzereingaben, in den Energiesparmodus überführt und wieder aus diesem reaktiviert werden. Alternativ oder zusätzlich kann dies insbesondere auch automatisch erfolgen. Insbesondere kann dabei automatisch bestimmt werden, welche Prozessorkerne zu welchen Zeitpunkten deaktiviert bzw. reaktiviert werden, um auf bestmögliche effizienteste Weise die Ressourcen des Multicore-Prozessors zu verwalten und möglichst viel Energie einzusparen. In particular, the corresponding processor cores can be manually transferred, for example by a user or corresponding user inputs, into the energy-saving mode and reactivated again therefrom. Alternatively or additionally, this can also be done automatically in particular. In particular, it can be automatically determined which processor cores are deactivated or reactivated at which times in order to manage the resources of the multicore processor in the best possible most efficient manner and to save as much energy as possible.

Die Steuereinheit ist bevorzugt als eine Computerized Numerical Control (CNC), Motion Control (MC) Logic bzw. Steuerung oder Speicherprogrammierbare Steuerung (SPS) ausgebildet. Weiter bevorzugt wird die Steuereinheit im Zuge einer Automatisierungstechnik, Fabrikautomatisierung, Prozessautomatisierung und/oder Medizintechnik verwendet. Bevorzugt ist die von der Steuereinheit gesteuerte Maschine bzw. Anlage als eine Werkzeugmaschine oder eine Druck-, Verpackungs- oder Fräsmaschine ausgebildet. The control unit is preferably designed as a computerized numerical control (CNC), motion control (MC) logic or programmable logic controller (PLC). More preferably, the control unit is used in the course of automation technology, factory automation, process automation and / or medical technology. Preferably, the controlled by the control unit machine or system is designed as a machine tool or a printing, packaging or milling machine.

Die Steuereinheit wird bevorzugt zum Steuern eines Kraftfahrzeugs verwendet werden. Beispielsweise kann die Steuereinheit eine Brennkraftmaschine, ein Antiblockiersystem oder einen Airbag des Kraftfahrzeugs steuern. Das definierte Zeitintervall, innerhalb welchem Rechenoperationen in Echtzeit ausgeführt werden, kann beispielsweise für das Antiblockiersystem durch eine Zeit definiert werden, in welcher Bremsen geöffnet werden müssen, damit das Rad nicht blockiert. Für eine Steuerung des Airbags kann die Steuereinheit innerhalb des definierten Zeitintervalls Messwerte von Sensoren verarbeiten und entscheiden, ob und wie stark der Airbag ausgelöst wird. Für die Motorsteuerung werden beispielsweise Einspritzmengen und Einspritzzeitpunkte innerhalb des definierten Zeitintervalls berechnet. The control unit will preferably be used to control a motor vehicle. For example, the control unit may control an internal combustion engine, an antilock brake system or an airbag of the motor vehicle. For example, the defined time interval within which arithmetic operations are performed in real time may be defined for the antilock brake system by a time in which brakes must be opened so that the wheel will not stall. For controlling the airbag, the control unit can process measured values from sensors within the defined time interval and decide whether and how strongly the airbag is triggered. For the engine control, for example, injection quantities and injection times are calculated within the defined time interval.

Bevorzugt wird ein aktiv betriebener Prozessorkern der zweiten Anzahl von Prozessorkernen in den Energiesparmodus überführt und in diesem betrieben, wenn eine Energiesparbedingung erfüllt ist. Eine derartige Energiesparbedingung ist beispielsweise erfüllt, wenn über ein bestimmtes Zeitintervall keine Rechenoperationen durch den entsprechenden Prozessorkern durchgeführt werden. Eine weitere Energiesparbedingung ist beispielsweise, wenn durch den Prozessorkern weniger als eine bestimmte Maximalanzahl an Rechenoperationen ausgeführt werden. Der Prozessorkern wird in diesem Fall in den Energiesparmodus überführt und diese Rechenoperationen werden anderen Prozessorkernen zugewiesen und von diesen weiter ausgeführt. Weiterhin kann als Energiesparbedingung überprüft werden, wie viele der zweiten Anzahl von Prozessorkernen benötigt werden, um sämtliche von dem zweiten Betriebssystem durchzuführe Rechenoperationen auszuführen. Alle Prozessorkerne, welchen nicht benötigt werden, werden in den Energiesparmodus überführt. Preferably, an active-powered processor core of the second number of processor cores is transferred to and operated in the power-saving mode when an energy-saving condition is met. Such an energy-saving condition is fulfilled, for example, if no computing operations are performed by the corresponding processor core over a specific time interval. Another energy saving condition is, for example, when fewer than a certain maximum number of arithmetic operations are performed by the processor core. In this case, the processor core is put into power-saving mode, and these arithmetic operations are assigned to and continued by other processor cores. Furthermore, it can be checked as an energy-saving condition how many of the second number of processor cores are required to execute all the arithmetic operations to be performed by the second operating system. All processor cores that are not needed will be put into energy saving mode.

Weiter bevorzugt wird ein Prozessorkern der zweiten Anzahl von Prozessorkernen, der in dem Energiesparmodus betrieben wird, aus diesem reaktiviert und wieder aktiv betrieben, wenn dieser Prozessorkern eine Reaktivierungsbedingung erfüllt. Ein Prozessorkern wird insbesondere durch einen Wake-up Befehl aus dem Energiesparmodus reaktiviert. Eine derartige Reaktivierungsbedingung ist insbesondere erfüllt, wenn die Rechenleistung der aktiven Prozessorkerne nicht ausreicht, um sämtliche von dem zweiten Betriebssystem durchzuführe Rechenoperationen auszuführen. More preferably, a processor core of the second number of processor cores, which is operated in the energy-saving mode, is reactivated from this again and actively operated when this processor core fulfills a reactivation condition. A processor core is reactivated in particular by a wake-up command from the energy-saving mode. Such a reactivation condition is fulfilled in particular if the computing power of the active Processor cores is not sufficient to perform all of the second operating system to perform arithmetic operations.

Vorteilhafterweise werden das echtzeitfähige Betriebssystem und das zweite Betriebssystem von einem Hypervisor in der Steuereinheit bzw. in dem Multicore-Prozessor eingerichtet und betrieben. Insbesondere werden die Prozessorkerne durch diesen Hypervisor den unterschiedlichen Betriebssystemen zugewiesen. Weiter insbesondere wird durch den Hypervisor das Energiemanagement der Steuereinheit ausgeführt. Der Hypervisor überführt insbesondere entsprechende Prozessorkerne in den Energiesparmodus und reaktiviert Prozessorkerne wieder. Advantageously, the real-time operating system and the second operating system are set up and operated by a hypervisor in the control unit or in the multicore processor. In particular, the processor cores are assigned to the different operating systems by this hypervisor. In particular, the hypervisor performs the power management of the control unit. In particular, the hypervisor transfers corresponding processor cores into the energy-saving mode and reactivates processor cores.

Bevorzugt ist die Steuereinheit dazu eingerichtet, dass einzelne der Prozessorkerne extern, insbesondere durch Benutzereingabe, der ersten und/oder der zweiten Anzahl von Prozessorkernen zugeordnet werden können bzw. dass die erste Anzahl und/oder die zweite Anzahl von Prozessorkernen extern ausgewählt werden können. Insbesondere erfolgt diese Auswahl bzw. Zuordnung durch einen Anwender. Zu diesem Zweck wird bevorzugt eine geeignete Software zur Konfiguration und/oder Visualisierung der Prozessorkerne des Multicore-Prozessors ausgeführt, insbesondere ein geeignetes Konfigurations- und/oder Visualisierungstool. Mit dieser Software können die einzelnen Prozessorkerne einem Anwender auf einem Bildschirm visualisiert werden und der Anwender kann mit der Software die einzelnen Prozessorkerne konfigurieren und/oder überwachen. Die Software kann auf der Steuereinheit oder auf einer mit der Steuereinheit verbundenen Recheneinheit (z.B. PC, Laptop) ausgeführt werden. Insbesondere wird der Hypervisor mit dieser Software konfiguriert und/oder überwacht. Insbesondere werden einzelne der Prozessorkerne mit der Software der ersten bzw. zweiten Anzahl zugeordnet und der Hypervisor wird somit konfiguriert. Der Hypervisor führt daraufhin das Energiemanagement der Steuereinheit aus und überführt insbesondere entsprechende Prozessorkerne in den Energiesparmodus und reaktiviert Prozessorkerne wieder. Diese Vorgänge werden von der Software visualisiert und können von einem Anwender überwacht werden. Preferably, the control unit is set up so that individual ones of the processor cores can be assigned externally, in particular by user input, to the first and / or the second number of processor cores or that the first number and / or the second number of processor cores can be selected externally. In particular, this selection or assignment is performed by a user. For this purpose, a suitable software for configuring and / or visualizing the processor cores of the multicore processor is preferably executed, in particular a suitable configuration and / or visualization tool. With this software, the individual processor cores can be visualized to a user on a screen and the user can use the software to configure and / or monitor the individual processor cores. The software may be executed on the control unit or on a computing unit connected to the control unit (e.g., PC, laptop). In particular, the hypervisor is configured and / or monitored with this software. In particular, individual ones of the processor cores are associated with the software of the first and second numbers, respectively, and the hypervisor is thus configured. The hypervisor then executes the power management of the control unit and, in particular, puts corresponding processor cores into the power saving mode and reactivates processor cores. These processes are visualized by the software and can be monitored by a user.

Vorzugsweise verfügen mehrere der Prozessorkerne der ersten Anzahl von Prozessorkernen über einen gemeinsamen Speicherbereich. Diese Prozessorkerne verwenden eine sogenannte "shared memory" Technologie. Der gemeinsame Speicherbereich ist dabei insbesondere ein Cache-Speicher ("shared cache"). Die einzelnen Prozessorkerne können vergleichsweise schnell auf diesen gemeinsamen Speicherbereich zugreifen. Durch einen derartigen gemeinsamen Speicherbereich wird das Echtzeitverhalten dieser Prozessorkerne bzw. des echtzeitfähigen Betriebssystems weiter verbessert. Preferably, a plurality of the processor cores of the first number of processor cores have a common memory area. These processor cores use a so-called "shared memory" technology. The common memory area is in particular a cache memory ("shared cache"). The individual processor cores can access this common memory area comparatively quickly. Such a shared memory area further improves the real-time behavior of these processor cores or the real-time operating system.

Eine erfindungsgemäße Recheneinheit, z.B. ein Steuereinheit einer Werkzeug-, Druck-, Verpackungs- oder Fräsmaschine, ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen. An arithmetic unit according to the invention, e.g. a control unit of a tool, printing, packaging or milling machine is, in particular programmatically, adapted to carry out a method according to the invention.

Auch die Implementierung der Erfindung in Form von Software ist vorteilhaft, da dies besonders geringe Kosten ermöglicht, insbesondere wenn eine ausführende Recheneinheit noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Geeignete Datenträger zur Bereitstellung des Computerprogramms sind insbesondere Disketten, Festplatten, Flash-Speicher, EEPROMs, CD-ROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich. Also, the implementation of the invention in the form of software is advantageous because this allows very low cost, especially if an executing processing unit is still used for other tasks and therefore already exists. Suitable data carriers for providing the computer program are, in particular, floppy disks, hard disks, flash memories, EEPROMs, CD-ROMs, DVDs and the like. It is also possible to download a program via computer networks (Internet, intranet, etc.).

Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung. Further advantages and embodiments of the invention will become apparent from the description and the accompanying drawings.

Es versteht sich, dass die vorstehend genannten und die nachfolgend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen. It is understood that the features mentioned above and those yet to be explained below can be used not only in the particular combination indicated, but also in other combinations or in isolation, without departing from the scope of the present invention.

Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung ausführlich beschrieben. The invention is illustrated schematically by means of exemplary embodiments in the drawing and will be described in detail below with reference to the drawing.

Figurenbeschreibung figure description

1 zeigt schematisch eine bevorzugte Ausgestaltung einer erfindungsgemäßen Steuereinheit. 1 schematically shows a preferred embodiment of a control unit according to the invention.

2 zeigt eine bevorzugte Ausführungsform eines erfindungsgemäßen Verfahrens schematisch als ein Blockdiagramm. 2 shows a preferred embodiment of a method according to the invention schematically as a block diagram.

Detaillierte Beschreibung der Zeichnung Detailed description of the drawing

In 1 ist eine bevorzugte Ausgestaltung einer erfindungsgemäßen Steuereinheit schematisch dargestellt und mit 100 bezeichnet. Die Steuereinheit 100 steuert in diesem speziellen Beispiel eine Industriemaschine 130, beispielsweise eine Werkzeugmaschine. In 1 a preferred embodiment of a control unit according to the invention is shown schematically and with 100 designated. The control unit 100 controls an industrial machine in this particular example 130 , For example, a machine tool.

Die Steuereinheit 100 ist als eine speicherprogrammierbare Steuerung SPS ausgebildet. Die SPS 100 wird im Zuge einer Automatisierungstechnik, insbesondere Prozessautomatisierung, verwendet. Die SPS 100 steuert die Werkzeugmaschine 130 dabei derart, dass durch die Werkzeugmaschine 130 automatisch Werkstücke bearbeitet werden. The control unit 100 is designed as a programmable logic controller PLC. The PLC 100 is used in the course of automation technology, in particular process automation. The PLC 100 controls the machine tool 130 in such a way that by the machine tool 130 workpieces are machined automatically.

Die SPS 100 umfasst einen Multicore-Prozessor 101. Dieser Multicore-Prozessor 101 umfasst eine Vielzahl von Prozessorkernen 102 (in diesem Beispiel 16 Prozessorkerne). Die Prozessorkerne 102 sind im vorliegenden Beispiel in zwei Gruppen unterteilt. Eine erste Gruppe 110 umfasst eine erste Anzahl von Prozessorkernen 102 (in diesem Beispiel vier Prozessorkerne), eine zweite Gruppe 120 umfasst eine zweite Anzahl von Prozessorkernen 102 (in diesem Beispiel zwölf Prozessorkerne). The PLC 100 includes a multicore processor 101 , This multicore processor 101 includes a variety of processor cores 102 (16 processor cores in this example). The processor cores 102 are divided into two groups in this example. A first group 110 includes a first number of processor cores 102 (four cores in this example), a second group 120 includes a second number of processor cores 102 (in this example, twelve processor cores).

Die SPS 100 ist dazu eingerichtet, eine bevorzugte Ausführungsform eines erfindungsgemäßen Verfahrens durchzuführen, welche schematisch in 2 als ein Blockdiagramm 200 dargestellt ist. The PLC 100 is configured to perform a preferred embodiment of a method according to the invention, which schematically in 2 as a block diagram 200 is shown.

Insbesondere ist in der SPS 100 ein Hypervisor implementiert, welcher dazu eingerichtet ist, das erfindungsgemäße Verfahren auszuführen. Dieser Hypervisor kann als ein separates Hardwareelement, beispielsweise eine zusätzliche Recheneinheit ausgebildet sein, welches mit dem Multicore-Prozessor 101 in Verbindung steht, oder als eine Software, welche von dem Multicore-Prozessor 101 ausgeführt wird. In particular, in the SPS 100 implemented a hypervisor, which is adapted to carry out the method according to the invention. This hypervisor can be designed as a separate hardware element, for example an additional arithmetic unit, which is connected to the multicore processor 101 or as software used by the multicore processor 101 is performed.

Mit der SPS 100 ist weiterhin ein Bildschirm bzw. Monitor 140 verbunden. Im gezeigten Beispiel wird auf der SPS 100 ein Konfigurations- und Visualisierungstool ausgeführt. Mit diesem Konfigurations- und Visualisierungstool kann der Hypervisor durch einen Anwender konfiguriert und überwacht werden. Eine Benutzeroberfläche 141 des Konfigurations- und Visualisierungstool wird auf dem Bildschirm 140 dargestellt. Insbesondere wird über diese Benutzeroberfläche 141 der Multicore-Prozessor 101 mit den Prozessorkernen 102 visualisiert. With the PLC 100 is still a screen or monitor 140 connected. In the example shown is on the PLC 100 a configuration and visualization tool is executed. With this configuration and visualization tool, the hypervisor can be configured and monitored by a user. A user interface 141 the configuration and visualization tool will be on the screen 140 shown. In particular, this interface is about this 141 the multicore processor 101 with the processor cores 102 visualized.

In Schritt 201 teilt der Hypervisor die Prozessorkerne 102 autonom in die zwei Gruppen 110 und 120 ein. Alternativ können die Prozessorkerne 102 auch extern in die zwei Gruppen 110 und 120 eingeteilt werden. Zu diesem Zweck kann ein Anwender diese Einteilung über das Konfigurations- und Visualisierungstool durchführen und den Hypervisor somit konfigurieren. Der Hypervisor richtet in jeder der zwei Gruppen 110 und 120 jeweils ein Betriebssystem ein. Die vier Prozessorkerne der ersten Gruppe 110 werden dabei einem echtzeitfähigen Betriebssystem zugeordnet, die zwölf Prozessorkerne der zweiten Gruppe 120 werden einem nicht-echtzeitfähigen, Allzweck-Betriebssystem zugeordnet. In step 201 the hypervisor shares the processor cores 102 autonomous in the two groups 110 and 120 one. Alternatively, the processor cores 102 also externally in the two groups 110 and 120 to be grouped. For this purpose, a user can perform this classification using the configuration and visualization tool and thus configure the hypervisor. The hypervisor targets in each of the two groups 110 and 120 one operating system each. The four processor cores of the first group 110 are assigned to a real-time capable operating system, the twelve processor cores of the second group 120 are assigned to a non-real-time, general-purpose operating system.

In Schritt 202 wird der Multicore-Prozessor 101 von dem Hypervisor in einem regulären Betriebsmodus betrieben. Dabei sind sämtliche Prozessorkerne 102 des Multicore-Prozessors 101 aktiv. Von dem Allzweck-Betriebssystem können Rechenoperationen auf den zwölf Prozessorkernen der zweiten Gruppe 120 ausgeführt werden. Von dem echtzeitfähigen Betriebssystem werden Rechenoperationen, welche in Echtzeit ausgeführt werden müssen, auf den vier Prozessorkernen der ersten Gruppe 110 ausgeführt. In step 202 becomes the multicore processor 101 operated by the hypervisor in a regular operating mode. There are all processor cores 102 of the multicore processor 101 active. From the general-purpose operating system, arithmetic operations on the twelve processor cores of the second group 120 be executed. From the real-time operating system, arithmetic operations which must be performed in real time are performed on the four processor cores of the first group 110 executed.

In Schritt 203 überprüft der Hypervisor, ob Prozessorkerne der zweiten Gruppe 120 eine Energiesparbedingung erfüllen. Insbesondere überprüft der Hypervisor, ob auf einzelnen der Prozessorkerne der zweiten Gruppe 120 keine Rechenoperationen ausgeführt werden. In step 203 The hypervisor checks to see if processor cores of the second group 120 fulfill an energy saving condition. In particular, the hypervisor checks whether on individual the processor cores of the second group 120 no arithmetic operations are performed.

Ist dies für einen oder mehrere bestimmte Prozessorkerne der zweiten Gruppe 120 der Fall, überführt der Hypervisor diesen Prozessorkern bzw. diese Prozessorkerne in Schritt 204 in einen Energiesparmodus. Der entsprechende Prozessorkern bzw. die entsprechenden Prozessorkerne wird bzw. werden dabei deaktiviert. Die Deaktivierung dieses Prozessorkerns wird auf der Benutzeroberfläche 141 des Konfigurations- und Visualisierungstools entsprechend dargestellt und insbesondere protokolliert. Eine derartige Protokollierung ist insbesondere optional und abschaltbar. Is this for one or more particular processor cores of the second group 120 In this case, the hypervisor moves this processor core or cores in step 204 in a power saving mode. The corresponding processor core or cores will be deactivated. The deactivation of this processor core is on the user interface 141 of the configuration and visualization tool is displayed accordingly and in particular logged. Such logging is particularly optional and can be switched off.

Alternativ oder zusätzlich kann der Hypervisor einzelne Prozessorkerne des Multicore-Prozessors 101 auch derart konfigurieren, dass diese Prozessorkerne der zweiten Gruppe 120 durch prozessorinterne Abläufe autonom in einen Energiesparmodus überführt werden, ohne explizites Eingreifen des Hypervisors. Alternatively or additionally, the hypervisor may have individual processor cores of the multicore processor 101 also configure such that these processor cores of the second group 120 be transferred autonomously into an energy-saving mode by processor-internal processes, without explicit intervention of the hypervisor.

Weiterhin können einzelne Prozessorkerne der zweiten Gruppe 120 auch extern in den Energiesparmodus überführt werden, ohne Eingreifen des Hypervisors. Insbesondere kann ein Anwender über das Konfigurations- und Visualisierungstool auswählen, ob einer der Prozessorkerne der zweiten Gruppe 120 in den Energiesparmodus überführt wird. Furthermore, individual processor cores of the second group 120 can also be transferred externally into energy-saving mode without the intervention of the hypervisor. In particular, a user can select via the configuration and visualization tool whether one of the processor cores of the second group 120 is transferred to the energy-saving mode.

In Schritt 205 überprüft der Hypervisor, ob eine Reaktivierungsbedingung erfüllt ist. Dabei überprüft der Hypervisor insbesondere, ob die Rechenleistung der verbleibenden aktiv betriebenen Prozessorkerne der zweiten Gruppe 120 nicht mehr ausreicht, um sämtliche von dem Allzweck-Betriebssystem auszuführenden Rechenoperationen auszuführen. Alternativ oder zusätzlich kann der Multicore-Prozessors 101 auch autonom überprüfen, ob für entsprechend konfigurierten Prozessorkerne des Multicore-Prozessors 101 eine Reaktivierungsbedingung erfüllt ist. In step 205 the hypervisor checks if a reactivation condition is met. In particular, the hypervisor checks whether the computing power of the remaining actively operated processor cores of the second group 120 is no longer sufficient to execute all the arithmetic operations to be performed by the general-purpose operating system. Alternatively or additionally, the multicore processor 101 Also check autonomously whether for appropriately configured processor cores of the multicore processor 101 a reactivation condition is met.

Ist eine Reaktivierungsbedingung erfüllt, sendet der Hypervisor in Schritt 206 einen Wake-Up Befehl an den Prozessorkern, der in dem Energiesparmodus betrieben wird, und reaktiviert diesen. Für den Fall einer autonomen Reaktivierung durch den entsprechend konfigurierten Multicore-Prozessor 101 wird diese Reaktivierung insbesondere in dem Konfigurations- und Visualisierungstool protokolliert. Die Reaktivierung dieses Prozessorkerns wird auf der Benutzeroberfläche 141 des Konfigurations- und Visualisierungstools entsprechend dargestellt. If a reactivation condition is met, the hypervisor sends in step 206 A wake-up command to the processor core, which is operated in the power saving mode, and reactivated. In the case of an autonomous reactivation by the appropriately configured multicore processor 101 This reactivation is logged in particular in the configuration and visualization tool. The reactivation of this processor core will be on the user interface 141 of the configuration and visualization tool.

Die vier Prozessorkerne der ersten Gruppe 110 hingegen werden stets aktiv betrieben und zu keiner Zeit in dem Energiesparmodus betrieben. Somit wird eine Echtzeitfähigkeit der SPS 100 gewährleistet. The four processor cores of the first group 110 however, are always actively operated and operated at no time in the energy-saving mode. Thus, a real-time capability of the PLC 100 guaranteed.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE 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 has been 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 Nicht-PatentliteraturCited non-patent literature

  • Norm DIN 44300 [0012] Standard DIN 44300 [0012]

Claims (14)

Verfahren zum Betreiben einer Steuereinheit (100) zum Steuern einer Maschine (130) und/oder Anlage mit einem Multicore-Prozessor (101) mit wenigstens zwei Prozessorkernen (102), – wobei eine erste Anzahl (110) von Prozessorkernen (102) des Multicore-Prozessors (101) einem echtzeitfähigen ersten Betriebssystem zugeordnet ist, – wobei eine zweite Anzahl (120) von Prozessorkernen (102) des Multicore-Prozessors (101) einem zweiten Betriebssystem zugeordnet ist, – wobei einzelne der Prozessorkerne der zweiten Anzahl (120) von Prozessorkernen (101) bei Bedarf in einem Energiesparmodus betrieben werden (204) und – wobei sämtliche Prozessorkerne der ersten Anzahl (110) von Prozessorkernen stets aktiv betrieben werden und nicht in einem Energiesparmodus betrieben werden. Method for operating a control unit ( 100 ) for controlling a machine ( 130 ) and / or installation with a multicore processor ( 101 ) with at least two processor cores ( 102 ), - where a first number ( 110 ) of processor cores ( 102 ) of the multicore processor ( 101 ) is assigned to a real-time capable first operating system, - wherein a second number ( 120 ) of processor cores ( 102 ) of the multicore processor ( 101 ) is assigned to a second operating system, - wherein individual of the processor cores of the second number ( 120 ) of processor cores ( 101 ) are operated in a power-saving mode when needed ( 204 ) and - all processor cores of the first number ( 110 ) are always actively operated by processor cores and are not operated in a power saving mode. Verfahren nach Anspruch 1, wobei von dem echtzeitfähigen ersten Betriebssystem in den Prozessorkernen der ersten Anzahl (110) von Prozessorkernen (102) Rechenoperationen in Echtzeit ausgeführt werden. The method of claim 1, wherein of the real-time capable first operating system in the processor cores of the first number ( 110 ) of processor cores ( 102 ) Computing operations are performed in real time. Verfahren nach Anspruch 1 oder 2, wobei ein aktiv betriebener Prozessorkern der zweiten Anzahl (120) von Prozessorkernen (102) in den Energiesparmodus überführt wird, wenn eine Energiesparbedingung erfüllt ist (203). Method according to claim 1 or 2, wherein an actively operated processor core of the second number ( 120 ) of processor cores ( 102 ) is put into the energy saving mode when an energy saving condition is satisfied ( 203 ). Verfahren nach einem der vorstehenden Ansprüche, wobei ein Prozessorkern der zweiten Anzahl (120) von Prozessorkernen (102), der in dem Energiesparmodus betrieben wird, reaktiviert und aktiv betrieben wird, wenn eine Reaktivierungsbedingung erfüllt ist (205). Method according to one of the preceding claims, wherein a processor core of the second number ( 120 ) of processor cores ( 102 ) operated in the energy-saving mode is reactivated and actively operated when a reactivation condition is met ( 205 ). Verfahren nach einem der vorstehenden Ansprüche, wobei das echtzeitfähige erste Betriebssystem und das zweite Betriebssystem von einem Hypervisor betrieben werden.  Method according to one of the preceding claims, wherein the real-time capable first operating system and the second operating system are operated by a hypervisor. Verfahren nach einem der vorstehenden Ansprüche, wobei einzelne der wenigstens zwei Prozessorkerne (102) extern der ersten Anzahl (110) von Prozessorkernen (102) und/oder der zweiten Anzahl (120) von Prozessorkernen (102) zugeordnet werden. Method according to one of the preceding claims, wherein individual ones of the at least two processor cores ( 102 ) external to the first number ( 110 ) of processor cores ( 102 ) and / or the second number ( 120 ) of processor cores ( 102 ) be assigned. Verfahren nach einem der vorstehenden Ansprüche, wobei eine Software zur externen Zuordnung und/oder Visualisierung der wenigstens zwei Prozessorkerne (102) des Multicore-Prozessors (101) ausgeführt wird. Method according to one of the preceding claims, wherein software for external assignment and / or visualization of the at least two processor cores ( 102 ) of the multicore processor ( 101 ) is performed. Verfahren nach einem der vorstehenden Ansprüche, wobei mehrere der Prozessorkerne der ersten Anzahl (110) von Prozessorkernen (102) über einen gemeinsamen Speicherbereich verfügen. Method according to one of the preceding claims, wherein a plurality of the processor cores of the first number ( 110 ) of processor cores ( 102 ) have a shared memory area. Verfahren nach einem der vorstehenden Ansprüche, wobei die Steuereinheit (100) als eine Computerized Numerical Control, Motion Control oder Speicherprogrammierbare Steuerung ausgebildet ist. Method according to one of the preceding claims, wherein the control unit ( 100 ) is designed as a computerized numerical control, motion control or programmable logic controller. Verfahren nach einem der vorstehenden Ansprüche, wobei die Steuereinheit (100) im Zuge einer Automatisierungstechnik, Fabrikautomatisierung, Prozessautomatisierung und/oder Medizintechnik verwendet wird. Method according to one of the preceding claims, wherein the control unit ( 100 ) is used in the course of automation technology, factory automation, process automation and / or medical technology. Verfahren nach einem der vorstehenden Ansprüche, wobei die Steuereinheit (100) zum Steuern einer Werkzeugmaschine (130), einer Druckmaschine, einer Verpackungsmaschine, einer Fräsmaschine, einer Automatisierungssteuerung oder eines Kraftfahrzeugs verwendet wird. Method according to one of the preceding claims, wherein the control unit ( 100 ) for controlling a machine tool ( 130 ), a printing machine, a packaging machine, a milling machine, an automation controller or a motor vehicle is used. Steuereinheit (100) zum Steuern einer Maschine (130) und/oder Anlage, die dazu eingerichtet ist, ein Verfahren nach einem der vorstehenden Ansprüche durchzuführen. Control unit ( 100 ) for controlling a machine ( 130 ) and / or installation adapted to carry out a method according to one of the preceding claims. Computerprogramm, das eine Steuereinheit (130) veranlasst, ein Verfahren nach einem der Ansprüche 1 bis 11 durchzuführen, wenn es auf der Steuereinheit (130) ausgeführt wird. Computer program comprising a control unit ( 130 ) to perform a method according to one of claims 1 to 11, when it on the control unit ( 130 ) is performed. Maschinenlesbares Speichermedium mit einem darauf gespeicherten Computerprogramm nach Anspruch 13.  Machine-readable storage medium with a computer program stored thereon according to claim 13.
DE102014210529.3A 2014-06-04 2014-06-04 Method for operating a control unit Withdrawn DE102014210529A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102014210529.3A DE102014210529A1 (en) 2014-06-04 2014-06-04 Method for operating a control unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102014210529.3A DE102014210529A1 (en) 2014-06-04 2014-06-04 Method for operating a control unit

Publications (1)

Publication Number Publication Date
DE102014210529A1 true DE102014210529A1 (en) 2015-12-17

Family

ID=54706361

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014210529.3A Withdrawn DE102014210529A1 (en) 2014-06-04 2014-06-04 Method for operating a control unit

Country Status (1)

Country Link
DE (1) DE102014210529A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017100118A1 (en) 2017-01-04 2018-07-05 Connaught Electronics Ltd. Scalable control system for a motor vehicle

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Day, R.: Hypervisors Ease the World of Multicore Processors. In: RTC Magazine, June 2010http://www.rtcmagazine.com/articles/view/101663 (recherchiert am 6.2.2015) *
Euiseong Seo et al.: Energy Efficient Scheduling of Real-Time Tasks on Multicore Processors. In: IEEE Transactions on Parallel and Distributed Systems, vol. 18, no. 11, November 2008. pp. 1540 - 1552 *
Norm DIN 44300
Pengliu Tan et al.: A Hybrid Real-Time Scheduling Approach on Multi-Core Architectures. In Journal of Software, vol. 5, no. 9, Septemper 2010. pp 958 - 965 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017100118A1 (en) 2017-01-04 2018-07-05 Connaught Electronics Ltd. Scalable control system for a motor vehicle
WO2018127394A1 (en) 2017-01-04 2018-07-12 Connaught Electronics Ltd. Scalable control system for a motor vehicle

Similar Documents

Publication Publication Date Title
EP2325708B1 (en) Real-time run-time system and functional module for such a run-time system
EP2453326B1 (en) Method and system for operating an automated machine
DE102016014152B4 (en) Numerical control device
EP2506098B1 (en) Assembly and method for operating an industrial automation assembly with a number of programmable automation components and a number of automation programmes
EP2422244B1 (en) Safety-related control unit, and method for controlling an automated system
DE3500804A1 (en) INTERRUPT CONTROL CIRCUIT
EP3273314B1 (en) Programmable logic controller with management system
DE102018003245B4 (en) Numerical control device
DE102015012352A1 (en) Numerical control system
EP3444682A1 (en) Method for the computer-assisted coupling of a processing module into a modular technical system and modular technical system
EP2778915A1 (en) Method for operating an industrial control system and industrial control system
EP2187281B1 (en) Automation device and method of its operation
EP3088976B1 (en) Method for operating an automation device and automation device
DE102015114220B4 (en) Machine tool with function for safe control of peripheral devices
DE102014210529A1 (en) Method for operating a control unit
DE102015100566A1 (en) Method and light mechanism for mixed critical applications
EP3252549A1 (en) Method for operating an automation device and automation device
DE102013202405A1 (en) Method for operating distributed system in motor vehicle, involves providing allocation of modules to operating chains and determining active and inactive operating chains depending on one or more operating modes
EP2159658A1 (en) Method and automation controller for issuing maintenance information for an automation component.
EP3021220A1 (en) Method and computer for accessing a real-time operating system on an AHCI controller
EP1917587B1 (en) Method and device for controlling a computer system
DE102015011749A1 (en) Numerical control device
DE102019208729A1 (en) Procedure for ensuring and maintaining the function of a safety-critical overall system
DE112018002612T5 (en) Vehicle control device
EP1179428B1 (en) Method and device for working through process steps

Legal Events

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