EP2175331A1 - Controllable device with a control program and method for controlling the device - Google Patents
Controllable device with a control program and method for controlling the device Download PDFInfo
- Publication number
- EP2175331A1 EP2175331A1 EP09167996A EP09167996A EP2175331A1 EP 2175331 A1 EP2175331 A1 EP 2175331A1 EP 09167996 A EP09167996 A EP 09167996A EP 09167996 A EP09167996 A EP 09167996A EP 2175331 A1 EP2175331 A1 EP 2175331A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- control program
- configuration
- type
- type identifier
- tables
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0426—Programming the control sequence
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23427—Selection out of several programs, parameters
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25074—Check system, change failing element, compare with stored configuration
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25092—Customized control features, configuration
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25109—Eeprom loaded from external device with configuration data
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25115—Card, board with configuration switches
Definitions
- the invention relates to a controllable device with a control program, a method for creating a control program for controlling a device and a method for controlling a device.
- Controllable electronic devices such as automotive infotainment systems, include hardware and software components.
- the software portions include a control program that is responsible for controlling the hardware portions of the controllable device.
- Such controllable devices are often developed according to a component or platform model. There are a number of hardware components available from which components are selected and combined to develop a specific device. As a rule, an adaptation of the control program to the hardware components used is necessary. There are several methods in the art for this purpose.
- a first known method consists in providing a static configurability of the control program at the time of creation of the control program by taking appropriate precautions. At the time of translation of the control program, a particular configuration is selected. The translated control program is then optimally tailored to a specific controllable device, but only suitable for this particular controllable device. In a platform model with a large number of hardware components and combination possibilities, this method requires a large logistic and time spent generating and managing a variety of custom tax programs.
- a second known method consists of storing in the controllable device a human-readable configuration file in text format, which is evaluated by the control program at runtime.
- This method has the advantage that only one version has to be created and managed instead of a large number of versions of the control program.
- a separate configuration file must be created and managed for each specific controllable device.
- the evaluation of the stored in text format configuration file at runtime of the control program requires a large time and computational effort.
- the configuration file present in text format unnecessarily consumes much space in the controllable device.
- the configuration options provided by the configuration file are limited to textual key value pairs.
- the object of the invention is to provide an improved controllable device with a control program. This object is achieved by a controllable device with a control program according to claim 1. It is another object of the invention to provide a method of creating a control program for controlling a device. This object is achieved by a method according to claim 6. Another object of the invention is to provide a method of controlling a device. This object is achieved by a method according to claim 11. Preferred developments are specified in the dependent claims.
- the invention makes it possible to control devices composed of different components of a device platform of different types of devices by means of the same control program. Configuring and customizing the control program at runtime using a type identifier and built-in configuration tables in the control program avoids misconfiguration through manually mis-assigned control program detections.
- the control program only has to be generated once for all device types. Using the same control program on devices of different device types increases the test depth of the control program.
- FIG. 1 shows a schematic representation of a first device 100 of a first type of device and a second device 200 of a second type of device.
- the first device 100 and the second device 200 may be, for example, infotainment systems from the automotive sector.
- the first device 100 and the second device 200 have been developed according to a platform model and each contain one or more device components from a platform portfolio with a plurality of components that can be integrated into the devices 100, 200.
- Im in FIG. 1 Example shown include both the first device 100 as well as the second device 200 depending on a radio 110.
- the second device 200 additionally includes a screen 120. In the first device 100 has been dispensed on a screen.
- the first device 100 and the second device 200 could optionally have additional device components provided in the platform portfolio, such as navigation devices or CD players.
- additional device components provided in the platform portfolio, such as navigation devices or CD players.
- the platform portfolio for example, various screens of different sizes could be provided, from which one is selected in the compilation of a specific device.
- a unique composition of specific device components is referred to as a device type.
- the platform model offers the advantage that the device components provided in the platform portfolio can be combined into a large number of different device types, which are each adapted to the specific needs of the customer.
- the use of uniform device components from the platform portfolio reduces the development costs of the specific customer-specific device type.
- the first device 100 and the second device 200 each have a type identifier.
- the first device 100 has a first type identifier 410.
- the first type identifier 410 provides information about the device components integrated in the first device 100. All devices that contain the same device components as the first device 100 have the same first type identifier 410 as the first device 100. Devices incorporating other device components from the platform portfolio have a different type identifier.
- the second device 200 has a second type identifier 420. Each type identifier identifies a unique set of device components.
- the first type identifier 410 and the second type identifier 420 may be stored, for example, in nonvolatile data memories of the first device 100 and the second device 200.
- the nonvolatile data stores may be read only memory, for example.
- the first type identifier 410 and the second type identifier 420 may also be passed through into the first device 100 and the second device 200 may be encoded in integrated resistor networks.
- the respective resistor network is equipped with resistors corresponding to the type identifier 410, 420 to be coded. This has the advantage that the storage of the respective type identifier 410, 420 in the devices 100, 200 takes place at the same time as the assembly of the devices 100, 200 with device components 110, 120, which increases the risk of storing a wrong type code in the respective device 100 , 200 reduced.
- Each of the devices 100, 200 has a number of additional components 170.
- the additional components 170 may comprise an operating unit of the respective apparatus, sensors of the respective apparatus, a processor, a data memory and other components.
- the processor of each device 100, 200 is configured to execute a control program stored in the data memory of the respective device 100, 200.
- a control program 350 is stored in a binary machine format. Both devices 100, 200 have the same control program 350. This has the advantage that in the production of the devices 100, 200 can not be accidentally deposited a wrong control program. The use of the unified control program 350 also reduces the development cost of the devices 100, 200.
- the control program 350 is suitable for controlling all device components of the platform portfolio that can be integrated into the devices 100, 200.
- the control program 350 is designed to read out the respective type identifier 410, 420 of the devices 100, 200 and, using the read-out type identifier 410, 420, to determine which device components are integrated in the respective device 100, 200.
- the control program 350 is configured to suitably configure itself according to the type identifier read in order to control the device components integrated in a device with this type identifier.
- the control program 350 for each possible Type ID a configuration table containing configuration data needed to control the respective device components.
- FIG. 2 schematically illustrates the creation process and structure of the control program 350.
- a programmer authorizes a control program as source code 300 in a programming language.
- the programming language may be any programming language, such as the C programming language.
- the source code 300 of the control program is provided as a human readable text file.
- the programming language can also be, for example, a graphical programming language, for example the programming language G.
- the source code 300 of the control program is in the source format of the selected programming language.
- This example first source table 310 states that devices of the first device type with the first type identifier 410 have a radio 110 but no screen 120.
- the first Source table 310 uses the language resource array provided by the C programming language .
- This second source table 320 indicates that devices of the second device type with the second type identifier 420 have both a radio 110 and a screen 120.
- the source code 300 of the control program comprises a further source table for each further possible type identifier. Im in FIG. 2 As shown, only a first source table 310 and a second source table 320 are provided.
- the source indexes 340 shown indicate that the first source table 310 and the second source table 320 each have two configuration data, the first of which provides information about the presence of a radio 110 and the second information about the presence of a screen 120.
- the source code 300 of the control program is translated into the executable control program 350 by means of a known translation program.
- the control program 350 is in an executable machine format after translation and is generally not human readable.
- the translated control program 350 comprises a general part 355 representing a translation of the source text 305 of the general part of the source code 300 of the control program.
- the translated control program 350 further includes a first configuration table 360 formed by translation of the first source table 310, a second configuration table 370 created by translation of the second source table 320, and table indexes 390 created by translation of the source indexes 340.
- the general part 355, the first configuration table 360, the second configuration table 370, and the table indexes 390 are included in the control program 350 in binary machine format.
- FIG. 3 shows a section of the general part 355 of the control program 350 using a schematic flow chart FIG. 3
- the part of the control program 350 shown in FIG. 1 is executed at runtime of the control program 350 by the processor of the respective device 100, 200 and serves to recognize the device type of the respective device 100, 200.
- the program portion shown begins at a first entry point 610.
- the control program 350 reads out the type identifier of the device on which the control program 350 is executing.
- a second step 630 compares the control program 350 determines whether the read type identifier corresponds to the first type identifier 410. If so, in a third step 640, the first configuration table 360 is selected as the configuration table to use.
- the comparison in the second step 630 has shown that the read type identifier does not correspond to the first type identifier 410, then in a fourth step 650 it is compared whether the read type identifier corresponds to the second type identifier 420. If so, in a fifth step 660, the second configuration table 370 is selected as the configuration table to use.
- the comparison in the fourth step 650 reveals that the read type identifier also does not correspond to the second type identifier 420, further comparisons with other permissible type identifiers may possibly be made. If the read type identifier corresponds to another permissible type identifier, the configuration table associated with this type identifier is selected. If the read type identifier does not correspond to any of the permissible type identifiers, the presence of an error is detected in a sixth step 670.
- FIG. 3 2 shows a section of the general part 355 of the control program 350 at a first end point 680.
- FIG. 4 Fig. 12 shows by way of example a further section of the general part 355 of the control program 350, which illustrates the use of the configuration table selected based on the read type identifier.
- the program section shown starts at a second starting point 710.
- a seventh step 720 the configuration date pertaining to the presence of a radio 110 is selected from the one to be used Configuration table read out.
- the general part 355 of the control program 350 uses the table indexes 390.
- the table indexes 390 indicate that the configuration date relating to the presence of a radio 110 is stored at the respectively first position of the configuration tables 360, 370.
- the control program 350 thus reads the first configuration date of the selected configuration table to be used.
- the control program 350 compares whether the configuration date read in the previous step corresponds to the value "DEVICE_HAS_RADIO", ie whether a radio 110 is present in the present device. If so, the program flow proceeds to a tenth step 750 in which the radio 110 of the present device is controlled. Otherwise, the program flow proceeds to a ninth step 740, in which the use of the radio 110 is dispensed with. In both cases, the illustrated program excerpt of the control program 350 ends at a second endpoint 760.
- the control program 350 may have further program sections in which, based on the selected configuration table to be used, it is detected whether a specific device component exists in the present device. Depending on the presence of the device component, this device component is subsequently controlled by the control program 350 or a control of the device component is dispensed with.
- a further type of device which has an alternative screen instead of the screen 120, the size of which differs from that of the screen 120.
- the control program 350 checks which screen is present in the present device based on the selected configuration table to be used.
- the control program fits 350 displays any screen output to the size of the actual screen.
- One advantage of the present invention is that the configuration data of the first configuration table 360 and the second configuration table 370 are stored in binary program format in the control program 350.
- the control program 350 does not have to translate the configuration data at runtime from a text format into the machine format, which has a favorable effect on the runtime behavior of the control program 350.
- the binary format configuration tables 360, 370 consume less storage space than configuration tables provided in a textual format.
- the control program 350 can address the individual configuration data of the configuration tables 360, 370 by means of the table indexes 390, thereby obviating the need for a complex search for key-value pairs. This also has a positive effect on the runtime behavior of the control program 350.
- configuration tables 360, 370 are created as source tables 310, 320 with language resources provided by the selected programming language, complex configuration options result. For example, individual configuration data can not only be stored as key-value pairs in the source tables 310, 320, but also more complex data structures of the respective programming language can be used.
- a configuration data can be assigned a specific data type. Assigning an integer data type to a configuration date, for example, precludes accidental configuration with a rational number because the translator 500 would fail in this case.
- control program 350 can be used in a variety of devices of different types. This increases the test depth of the control program 350 and simplifies compliance with time, quality and cost objectives.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
Abstract
Description
Die Erfindung betrifft ein steuerbares Gerät mit einem Steuerprogramm, ein Verfahren zum Erstellen eines Steuerprogramms zum Steuern eines Geräts und ein Verfahren zum Steuern eines Geräts.The invention relates to a controllable device with a control program, a method for creating a control program for controlling a device and a method for controlling a device.
Steuerbare elektronische Geräte, beispielsweise Infotainmentsysteme im Automobilbereich, weisen Hardwareanteile und Softwareanteile auf. Die Softwareanteile beinhalten ein Steuerprogramm, das für die Steuerung der Hardwareanteile des steuerbaren Geräts zuständig ist. Derartige steuerbare Geräte werden häufig nach einem Komponenten- oder Plattformmodell entwickelt. Dabei stehen eine Anzahl von Hardwarekomponenten zur Verfügung, aus denen zur Entwicklung eines konkreten Geräts Komponenten ausgewählt und miteinander kombiniert werden. In der Regel ist auch eine Anpassung des Steuerprogramms an die verwendeten Hardwarekomponenten notwendig. Hierfür gibt es im Stand der Technik mehrere Methoden.Controllable electronic devices, such as automotive infotainment systems, include hardware and software components. The software portions include a control program that is responsible for controlling the hardware portions of the controllable device. Such controllable devices are often developed according to a component or platform model. There are a number of hardware components available from which components are selected and combined to develop a specific device. As a rule, an adaptation of the control program to the hardware components used is necessary. There are several methods in the art for this purpose.
Eine erste bekannte Methode besteht darin, zum Erstellzeitpunkt des Steuerprogramms durch entsprechende Vorkehrungen eine statische Konfigurierbarkeit des Steuerprogramms vorzusehen. Zum Übersetzungszeitpunkt des Steuerprogramms wird eine bestimmte Konfiguration ausgewählt. Das übersetzte Steuerprogramm ist dann optimal auf ein spezielles steuerbares Gerät zugeschnitten, jedoch lediglich für dieses spezielle steuerbare Gerät geeignet. Bei einem Plattformmodell mit einer großen Zahl von Hardwarekomponenten und Kombinationsmöglichkeiten erfordert diese Methode einen großen logistischen und zeitlichen Aufwand zur Erzeugung und Verwaltung einer Vielzahl speziell zugeschnittener Steuerprogramme.A first known method consists in providing a static configurability of the control program at the time of creation of the control program by taking appropriate precautions. At the time of translation of the control program, a particular configuration is selected. The translated control program is then optimally tailored to a specific controllable device, but only suitable for this particular controllable device. In a platform model with a large number of hardware components and combination possibilities, this method requires a large logistic and time spent generating and managing a variety of custom tax programs.
Eine zweite bekannte Methode besteht darin, im steuerbaren Gerät eine in einem Textformat vorliegende, von Menschen lesbare Konfigurationsdatei zu hinterlegen, die zur Laufzeit durch das Steuerprogramm ausgewertet wird. Diese Methode bietet den Vorteil, dass nur eine Fassung anstatt einer Vielzahl von Fassungen des Steuerprogramms erzeugt und verwaltet werden muss. Allerdings muss für jedes konkrete steuerbare Gerät eine eigene Konfigurationsdatei erstellt und verwaltet werden. Außerdem erfordert die Auswertung der im Textformat hinterlegten Konfigurationsdatei zur Laufzeit des Steuerprogramms einen großen zeitlichen und rechnerischen Aufwand. Zudem verbraucht die im Textformat vorliegende Konfigurationsdatei unnötig viel Speicherplatz im steuerbaren Gerät. Zusätzlich sind die durch die Konfigurationsdatei bereit gestellten Konfigurationsmöglichkeiten auf textuelle Schüssel-Wertepaare limitiert.A second known method consists of storing in the controllable device a human-readable configuration file in text format, which is evaluated by the control program at runtime. This method has the advantage that only one version has to be created and managed instead of a large number of versions of the control program. However, a separate configuration file must be created and managed for each specific controllable device. In addition, the evaluation of the stored in text format configuration file at runtime of the control program requires a large time and computational effort. In addition, the configuration file present in text format unnecessarily consumes much space in the controllable device. In addition, the configuration options provided by the configuration file are limited to textual key value pairs.
Die Aufgabe der Erfindung besteht darin, ein verbessertes steuerbares Gerät mit einem Steuerprogramm bereitzustellen. Diese Aufgabe wird durch ein steuerbares Gerät mit einem Steuerprogramm gemäß Anspruch 1 gelöst. Außerdem ist es Aufgabe der Erfindung, ein Verfahren zum Erstellen eines Steuerprogramms zum Steuern eines Geräts bereitzustellen. Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 6 gelöst. Eine weitere Aufgabe der Erfindung besteht darin, ein Verfahren zum Steuern eines Geräts bereitzustellen. Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 11 gelöst. Bevorzugte Weiterbildungen sind in den abhängigen Ansprüchen angegeben.The object of the invention is to provide an improved controllable device with a control program. This object is achieved by a controllable device with a control program according to claim 1. It is another object of the invention to provide a method of creating a control program for controlling a device. This object is achieved by a method according to claim 6. Another object of the invention is to provide a method of controlling a device. This object is achieved by a method according to claim 11. Preferred developments are specified in the dependent claims.
Die Erfindung gestattet es, aus unterschiedlichen Komponenten einer Geräteplattform zusammengesetzte Geräte unterschiedlicher Gerätetypen mittels des selben Steuerprogramms zu steuern. Durch eine Konfiguration und Anpassung des Steuerprogramms zur Laufzeit des Steuerprogramms anhand einer Typenkennung und im Steuerprogramm integrierter Konfigurationstabellen wird eine Fehlkonfiguration durch manuell falsch zugewiesene Steuerprogrammfassungen vermieden. Das Steuerprogramm muss nur einmal für alle Gerätetypen erzeugt werden. Durch Verwendung desselben Steuerprogramms auf Geräten unterschiedlicher Gerätetypen wird die Testtiefe des Steuerprogramms erhöht.The invention makes it possible to control devices composed of different components of a device platform of different types of devices by means of the same control program. Configuring and customizing the control program at runtime using a type identifier and built-in configuration tables in the control program avoids misconfiguration through manually mis-assigned control program detections. The control program only has to be generated once for all device types. Using the same control program on devices of different device types increases the test depth of the control program.
-
Figur 1 zeigt eine schematische Darstellung zweier steuerbarer Geräte unterschiedlicher Gerätetypen;FIG. 1 shows a schematic representation of two controllable devices of different types of devices; -
Figur 2 zeigt eine schematische Darstellung eines Übersetzungsvorgangs, der aus dem Quelltext eines Steuerprogramms ein Steuerprogramm erzeugt;FIG. 2 shows a schematic representation of a translation process that generates a control program from the source code of a control program; -
Figur 3 zeigt in einem Flussdiagramm schematisch einen Ausschnitt aus einem Steuerprogramm;FIG. 3 schematically shows a section of a control program in a flowchart; -
Figur 4 zeigt in einem Flussdiagramm schematisch einen Ausschnitt eines Steuerprogramms.FIG. 4 schematically shows a section of a control program in a flow chart.
Das erste Gerät 100 und das zweite Gerät 200 weisen jeweils eine Typenkennung auf. Das erste Gerät 100 weist eine erste Typenkennung 410 auf. Die erste Typenkennung 410 gibt Auskunft über die im ersten Gerät 100 integrierten Gerätekomponenten. Alle Geräte, die die gleichen Gerätekomponenten wie das erste Gerät 100 enthalten, weisen die gleiche erste Typenkennung 410 wie das erste Gerät 100 auf. Geräte, in denen andere Gerätekomponenten aus dem Plattformportfolio integriert sind, weisen eine andere Typenkennung auf. Beispielsweise weist das zweite Gerät 200 eine zweite Typenkennung 420 auf. Jede mögliche Typenkennung kennzeichnet also eine eindeutige Zusammenstellung von Gerätekomponenten. Die erste Typenkennung 410 und die zweite Typenkennung 420 können beispielsweise in nichtflüchtigen Datenspeichern des ersten Geräts 100 und des zweiten Geräts 200 abgelegt sein. Die nichtflüchtigen Datenspeicher können beispielsweise Nur-LeseSpeicher sein. Die erste Typenkennung 410 und die zweite Typenkennung 420 können aber auch durch in das erste Gerät 100 und das zweite Gerät 200 integrierte Widerstandsnetzwerke kodiert sein. Das jeweilige Widerstandsnetzwerk wird dabei während des Zusammenbaus des jeweiligen Geräts 100, 200 entsprechend der zu kodierenden Typenkennung 410, 420 mit Widerständen bestückt. Dies hat den Vorteil, dass die Hinterlegung der jeweiligen Typenkennung 410, 420 in den Geräten 100, 200 zur gleichen Zeit wie die Bestückung der Geräte 100, 200 mit Gerätekomponenten 110, 120 erfolgt, was die Gefahr einer Hinterlegung einer falschen Typenkennung im jeweiligen Gerät 100, 200 reduziert.The
Jedes der Geräte 100, 200 weist eine Anzahl zusätzlicher Bauteile 170 auf. Die zusätzlichen Bauteile 170 können eine Bedieneinheit des jeweiligen Geräts, Sensoren des jeweiligen Geräts, einen Prozessor, einen Datenspeicher und andere Bauteile umfassen. Der Prozessor jedes Geräts 100, 200 ist dazu ausgebildet, ein im Datenspeicher des jeweiligen Geräts 100, 200 hinterlegtes Steuerprogramm auszuführen.Each of the
Im Datenspeicher beider Geräte 100, 200 ist ein Steuerprogramm 350 in einem binären Maschinenformat hinterlegt. Beide Geräte 100, 200 weisen dasselbe Steuerprogramm 350 auf. Dies hat den Vorteil, dass bei der Herstellung der Geräte 100, 200 nicht versehentlich ein falsches Steuerprogramm hinterlegt werden kann. Durch die Verwendung des einheitlichen Steuerprogramms 350 werden außerdem die Entwicklungskosten der Geräte 100, 200 reduziert. Das Steuerprogramm 350 ist zur Steuerung aller in die Geräte 100, 200 integrierbarer Gerätekomponenten des Plattformportfolios geeignet. Das Steuerprogramm 350 ist dazu ausgebildet, die jeweilige Typenkennung 410, 420 der Geräte 100, 200 auszulesen und anhand der ausgelesenen Typenkennung 410, 420 festzustellen, welche Gerätekomponenten in das jeweilige Gerät 100, 200 integriert sind. Das Steuerprogramm 350 ist dazu ausgebildet, sich je nach gelesener Typenkennung geeignet zu konfigurieren, um die in ein Gerät mit dieser Typenkennung integrierten Gerätekomponenten zu steuern. Hierfür weist das Steuerprogramm 350 für jede mögliche Typenkennung eine Konfigurationstabelle auf, die Konfigurationsdaten enthält, die für die Steuerung der jeweiligen Gerätekomponenten benötigt werden.In the data memory of both
Der Quelltext 300 des Steuerprogramms umfasst einen Quelltext 305 eines allgemeinen Teils des Steuerprogramms. Der allgemeine Teil des Steuerprogramms enthält die eigentliche Programmlogik des Steuerprogramms. Weiter enthält der Quelltext 300 des Steuerprogramms eine erste Quelltabelle 310. Die erste Quelltabelle 310 enthält Konfigurationsdaten für solche Geräte, die die erste Typenkennung 410 aufweisen. Die erste Quelltabelle 310 ist mit den von der gewählten Programmiersprache bereitgestellten Sprachmitteln verfasst. In der Programmiersprache C kann die erste Quelltabelle beispielsweise so aussehen:
configuration_data_device1[] = { {DEVICE _HAS_ RADIO}, / * ENTRY _RADIO_ CONFIGURATION * / {DEVICE_HAS_NO_DISPLAY}, / * ENTRY_DISPLAY_CONFIGURATION * / };The
configuration_data_device1 [] = { {DEVICE _HAS_ RADIO}, / * ENTRY _RADIO_ CONFIGURATION * / {DEVICE_HAS_NO_DISPLAY}, / * ENTRY_DISPLAY_CONFIGURATION * / };
Diese beispielhafte erste Quelltabelle 310 besagt, dass Geräte des ersten Gerätetyps mit der ersten Typenkennung 410 ein Radio 110, aber keinen Bildschirm 120 aufweisen. Die erste Quelltabelle 310 verwendet das durch die Programmiersprache C bereitgestellte Sprachmittel Array. This example first source table 310 states that devices of the first device type with the
Der Quelltext 300 des Steuerprogramms umfasst weiter eine zweite Quelltabelle 320 mit Konfigurationsdaten für solche Geräte, die die zweite Typenkennung 420 aufweisen. In der Programmiersprache C kann die zweite Quelltabelle 320 beispielsweise so aussehen:
configuration_data_device2[] = { {DEVICE_HAS_ RADIO}, / * ENTRY_ RADIO_ CONFIGURATION * / {DEVICE_HAS_DISPLAY}, / * ENTRY_DISPLAY_CONFIGURATION * / };The
configuration_data_device2 [] = { {DEVICE_HAS_ RADIO}, / * ENTRY_ RADIO_ CONFIGURATION * / {DEVICE_HAS_DISPLAY}, / * ENTRY_DISPLAY_CONFIGURATION * / };
Diese zweite Quelltabelle 320 besagt, dass Geräte des zweiten Gerätetyps mit der zweiten Typenkennung 420 sowohl ein Radio 110 als auch einen Bildschirm 120 aufweisen.This second source table 320 indicates that devices of the second device type with the
Falls das zu erstellende Steuerprogramm 350 zur Steuerung weiterer Gerätetypen mit weiteren Typenkennungen vorgesehen ist, so umfasst der Quelltext 300 des Steuerprogramms für jede weitere mögliche Typenkennung eine weitere Quelltabelle. Im in
Der Quelltext 300 des Steuerprogramms umfasst weiter Quellindizes 340. Die Quellindizes 340 sind ebenfalls mit von der gewählten Programmiersprache bereitgestellten Sprachmitteln erstellt. Die Quellindizes 340 beschreiben den Aufbau der Quelltabellen 310, 320. In der Programmiersprache C können die Quellindizes 340 beispielsweise so aussehen:
enum { ENTRY_RADIO_CONFIGURATION = 0, ENTRY_DISPLAY_CONFIGURATION, } config_entry;The
enum { ENTRY_RADIO_CONFIGURATION = 0, ENTRY_DISPLAY_CONFIGURATION, } config_entry;
Die gezeigten Quellindizes 340 besagen, dass die erste Quelltabelle 310 und die zweite Quelltabelle 320 jeweils zwei Konfigurationsdaten aufweisen, deren erster Auskunft über das Vorhandensein eines Radios 110 und deren zweiter Auskunft über das Vorhandensein eines Bildschirms 120 gibt.The
Nachdem der Quelltext 300 des Steuerprogramms durch einen Programmierer erstellt worden ist, wird der Quelltext 300 des Steuerprogramms mittels eines bekannten Übersetzungsprogramms in das ausführbare Steuerprogramm 350 übersetzt. Das Steuerprogramm 350 liegt nach der Übersetzung in einem ausführbaren Maschinenformat vor und ist im allgemeinen nicht menschenlesbar. Das übersetzte Steuerprogramm 350 umfasst einen allgemeinen Teil 355, der eine Übersetzung des Quelltextes 305 des allgemeinen Teils des Quelltextes 300 des Steuerprogramms darstellt. Das übersetzte Steuerprogramm 350 umfasst weiter eine erste Konfigurationstabelle 360, die durch Übersetzung der ersten Quelltabelle 310 entstanden ist, eine zweite Konfigurationstabelle 370, die durch Übersetzung der zweiten Quelltabelle 320 entstanden ist und Tabellenindizes 390, die durch Übersetzung der Quellindizes 340 entstanden sind. Der allgemeine Teil 355, die erste Konfigurationstabelle 360, die zweite Konfigurationstabelle 370 und die Tabellenindizes 390 sind in binärem Maschinenformat im Steuerprogramm 350 enthalten.After the
Falls der Vergleich im zweiten Schritt 630 ergeben hat, dass die gelesene Typenkennung nicht der ersten Typenkennung 410 entspricht, so wird in einem vierten Schritt 650 verglichen, ob die gelesene Typenkennung der zweiten Typenkennung 420 entspricht. Ist dies der Fall, so wird in einem fünften Schritt 660 die zweiten Konfigurationstabelle 370 als zu verwendende Konfigurationstabelle ausgewählt.If the comparison in the
Ergibt der Vergleich im vierten Schritt 650, dass die gelesene Typenkennung auch nicht der zweiten Typenkennung 420 entspricht, so können gegebenenfalls weitere Vergleiche mit weiteren zulässigen Typenkennungen erfolgen. Falls die gelesene Typenkennung einer weiteren zulässigen Typenkennung entspricht, so wird die dieser Typenkennung zugeordnete Konfigurationstabelle ausgewählt. Entspricht die gelesene Typenkennung keiner der zulässigen Typenkennungen, so wird in einem sechsten Schritt 670 das Vorliegen eines Fehlers erkannt.If the comparison in the
Nachdem im dritten Schritt 640 oder im fünften Schritt 660 eine zu verwendende Konfigurationstabelle ausgewählt wurde, endet der in
In einem achten Schritt 730 vergleicht das Steuerprogramm 350, ob das im vorhergehenden Schritt gelesene Konfigurationsdatum dem Wert "DEVICE_HAS_RADIO" entspricht, ob bei vorliegendem Gerät also ein Radio 110 vorhanden ist. Falls dies zutrifft, so wird der Programmablauf mit einem zehnten Schritt 750 fortgesetzt, in welchem das Radio 110 des vorliegenden Geräts gesteuert wird. Andernfalls wird der Programmablauf mit einem neunten Schritt 740 fortgesetzt, in dem auf die Verwendung des Radios 110 verzichtet wird. In beiden Fällen endet der dargestellte Programmausschnitt des Steuerprogramms 350 an einem zweiten Endpunkt 760.In an
Das Steuerprogramm 350 kann weitere Programmausschnitte aufweisen, in denen anhand der ausgewählten zu verwendenden Konfigurationstabelle erkannt wird, ob in vorliegendem Gerät eine bestimmte Gerätekomponente vorhanden ist. Je nach Vorhandensein der Gerätekomponente wird diese Gerätekomponente anschließend durch das Steuerprogramm 350 gesteuert oder auf eine Steuerung der Gerätekomponente verzichtet.The
In einer anderen Ausführungsform der Erfindung ist ein weiterer Gerätetyp vorgesehen, der anstatt des Bildschirms 120 einen alternativen Bildschirm aufweist, dessen Größe sich von der des Bildschirms 120 unterscheidet. In diesem Fall prüft das Steuerprogramm 350 anhand der ausgewählten zu verwendenden Konfigurationstabelle, welcher Bildschirm im vorliegenden Gerät vorhanden ist. Im weiteren Verlauf passt das Steuerprogramm 350 eventuelle Bildschirmausgaben an die Größe des tatsächlich vorhandenen Bildschirms an.In another embodiment of the invention, a further type of device is provided which has an alternative screen instead of the
Ein Vorteil der vorliegenden Erfindung ist, dass die Konfigurationsdaten der ersten Konfigurationstabelle 360 und der zweiten Konfigurationstabelle 370 in binärem Maschinenformat im Steuerprogramm 350 hinterlegt sind. Dadurch muss das Steuerprogramm 350 die Konfigurationsdaten zur Laufzeit nicht erst aus einem Textformat in das Maschinenformat übersetzen, was sich günstig auf das Laufzeitverhalten des Steuerprogramms 350 auswirkt. Außerdem verbrauchen die im binären Format vorliegenden Konfigurationstabellen 360, 370 weniger Speicherplatz als in einem Textformat vorliegende Konfigurationstabellen. Ein weiterer Vorteil ist, dass das Steuerprogramm 350 die einzelnen Konfigurationsdaten der Konfigurationstabellen 360, 370 mittels der Tabellenindizes 390 ansprechen kann, wodurch die Notwendigkeit einer aufwendigen Suche nach Schlüssel-Wertepaaren entfällt. Dies wirkt sich ebenfalls positiv auf das Laufzeitverhalten des Steuerprogramms 350 aus.One advantage of the present invention is that the configuration data of the first configuration table 360 and the second configuration table 370 are stored in binary program format in the
Da die Konfigurationstabellen 360, 370 als Quelltabellen 310, 320 mit von der gewählten Programmiersprache bereitgestellten Sprachmitteln erstellt werden, ergeben sich komplexe Konfigurationsmöglichkeiten. Beispielsweise können einzelne Konfigurationsdaten nicht lediglich als Schlüssel-Wertepaare in den Quelltabellen 310, 320 abgelegt werden, sondern es können auch komplexere Datenstrukturen der jeweiligen Programmiersprache verwendet werden. Durch die Übersetzung der Quelltabellen 310, 320 in die Konfigurationstabellen 360, 370 mittels des Übersetzers 500 kann außerdem eine Typsicherheit der Konfigurationsdaten sichergestellt werden. Beispielsweise kann einem Konfigurationsdatum ein bestimmter Datentyp zugewiesen werden. Wird einem Konfigurationsdatum etwa ein ganzzahliger Datentyp zugewiesen, so ist eine versehentliche Konfiguration mit einer rationalen Zahl ausgeschlossen, da der Übersetzer 500 in diesem Fall einen Fehler liefern würde.Since the configuration tables 360, 370 are created as source tables 310, 320 with language resources provided by the selected programming language, complex configuration options result. For example, individual configuration data can not only be stored as key-value pairs in the source tables 310, 320, but also more complex data structures of the respective programming language can be used. By translating the source tables 310, 320 into the configuration tables 360, 370 by means of the
Dies trägt zu einer Qualitätsverbesserung des Steuerprogramms 350 bei.This contributes to a quality improvement of the
Ein weiterer Vorteil der Erfindung ist, dass dasselbe Steuerprogramm 350 in einer Vielzahl von Geräten unterschiedlicher Gerätetypen eingesetzt werden kann. Hierdurch wird die Testtiefe des Steuerprogramms 350 erhöht und die Einhaltung von Zeit-, Qualitäts- und Kostenzielen vereinfacht.Another advantage of the invention is that the
Claims (12)
das Gerät (100, 200) einem von mindestens zwei unterschiedlichen Gerätetypen angehört,
das Steuerprogramm (350) zur Steuerung von Geräten (100, 200) geeignet ist, die einem der mindestens zwei unterschiedlichen Gerätetypen angehören,
das Steuerprogramm (350) für die unterschiedlichen Gerätetypen je eine Konfigurationstabelle (360, 370) vorhält, jede Konfigurationstabelle (360, 370) eine Anzahl von Konfigurationsdaten umfasst,
und das Steuerprogramm (350) dazu ausgebildet ist,
den Gerätetyp des Geräts (100, 200) anhand einer von dem Gerät (100, 200) bereitgestellten Typenkennung (410, 420) zu ermitteln,
die zum Gerätetyp des Geräts (100, 200) passende Konfigurationstabelle (360, 370) auszuwählen,
die in der ausgewählten Konfigurationstabelle (360, 370) enthaltenen Konfigurationsdaten zu lesen und
das Geräts (100, 200) in Abhängigkeit von den gelesenen Konfigurationsdaten zu steuern.Controllable device (100, 200) with a control program (350), characterized in that
the device (100, 200) belongs to one of at least two different types of devices,
the control program (350) is suitable for controlling devices (100, 200) belonging to one of the at least two different types of devices,
the control program (350) maintains a configuration table (360, 370) for the different device types, each configuration table (360, 370) comprises a number of configuration data,
and the control program (350) is designed to
determine the device type of the device (100, 200) on the basis of a type identifier (410, 420) provided by the device (100, 200),
select the configuration table (360, 370) appropriate to the device type of the device (100, 200),
to read the configuration data contained in the selected configuration table (360, 370) and
to control the device (100, 200) in dependence on the read configuration data.
wobei die Typenkennung (410, 420) in einem nichtflüchtigen Datenspeicher des Geräts (100, 200) vorgehalten wird.Controllable device (100, 200) according to claim 1,
wherein the type identifier (410, 420) is maintained in a nonvolatile data memory of the device (100, 200).
wobei die Typenkennung (410, 420) in einem Widerstandsnetzwerk des Geräts (100, 200) kodiert ist.Controllable device (100, 200) according to claim 1,
wherein the type identifier (410, 420) is encoded in a resistor network of the device (100, 200).
wobei die Typenkennung (410, 420) nicht durch das Steuerprogramm (350) veränderlich ist.Controllable device (100, 200) according to one of the preceding claims,
wherein the type identifier (410, 420) is not variable by the control program (350).
wobei die Konfigurationstabellen (360, 370) in einer binären Repräsentation im Steuerprogramm (350) vorgehalten werden.Controllable device (100, 200) according to one of the preceding claims,
wherein the configuration tables (360, 370) are held in a binary representation in the control program (350).
das Steuerprogramm (350) zur Steuerung eines Geräts (100, 200) geeignet ist, das einem von mindestens zwei unterschiedlichen Gerätetypen angehört,
das Steuerprogramm (350) für die unterschiedlichen Gerätetypen je eine Konfigurationstabelle (360, 370) vorhält, jede Konfigurationstabelle (360, 370) eine Anzahl von Konfigurationsdaten umfasst,
und das Steuerprogramm (350) dazu ausgebildet wird,
den Gerätetyp des Geräts (100, 200) anhand einer von dem Gerät (100, 200) bereitgestellten Typenkennung (410, 420) zu ermitteln,
die zum Gerätetyp des Geräts (100, 200) passende Konfigurationstabelle (360, 370) auszuwählen,
die in der ausgewählten Konfigurationstabelle (360, 370) enthaltenen Konfigurationsdaten zu lesen und
das Geräts (100, 200) in Abhängigkeit von den gelesenen Konfigurationsdaten zu steuern.A method of creating a control program (350) for controlling a device (100, 200), characterized in that
the control program (350) is suitable for controlling a device (100, 200) belonging to one of at least two different types of devices,
the control program (350) maintains a configuration table (360, 370) for the different device types, each configuration table (360, 370) comprises a number of configuration data,
and the control program (350) is designed to
determine the device type of the device (100, 200) on the basis of a type identifier (410, 420) provided by the device (100, 200),
select the configuration table (360, 370) appropriate to the device type of the device (100, 200),
to read the configuration data contained in the selected configuration table (360, 370) and
to control the device (100, 200) in dependence on the read configuration data.
wobei die Konfigurationstabellen (360, 370) in einer binären Repräsentation im Steuerprogramm (350) hinterlegt werden.Method according to one of the preceding claims,
wherein the configuration tables (360, 370) are stored in a binary representation in the control program (350).
wobei die Konfigurationstabellen (360, 370) aus Quelltabellen (310, 320) erzeugt werden,
wobei die Quelltabellen (310, 320) in einer Programmiersprache mit durch die Programmiersprache bereitgestellten Datenstrukturen definiert sind.Method according to one of the preceding claims,
wherein the configuration tables (360, 370) are generated from source tables (310, 320),
wherein the source tables (310, 320) are in a programming language are defined with data structures provided by the programming language.
wobei die Konfigurationstabellen (360, 370) mittels eines Übersetzerprogramms (500) aus den Quelltabellen (310, 320) erzeugt werden.Method according to claim 8,
wherein the configuration tables (360, 370) are generated by means of a translator program (500) from the source tables (310, 320).
wobei die in den Quelltabellen (310, 320) enthaltenen Konfigurationsdaten während eines Übersetzungsvorgangs auf Korrektheit geprüft werden.Method according to claim 9,
wherein the configuration data contained in the source tables (310, 320) are checked for correctness during a translation process.
wobei die Konfigurationstabellen (360, 370) in einer binären Repräsentation im Steuerprogramm (350) hinterlegt sind.Method according to claim 12,
wherein the configuration tables (360, 370) are stored in a binary representation in the control program (350).
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200810042744 DE102008042744A1 (en) | 2008-10-10 | 2008-10-10 | Controllable device with a control program |
Publications (1)
Publication Number | Publication Date |
---|---|
EP2175331A1 true EP2175331A1 (en) | 2010-04-14 |
Family
ID=41346018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP09167996A Ceased EP2175331A1 (en) | 2008-10-10 | 2009-08-17 | Controllable device with a control program and method for controlling the device |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP2175331A1 (en) |
DE (1) | DE102008042744A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407541A (en) * | 2021-06-23 | 2021-09-17 | 中移(杭州)信息技术有限公司 | Data acquisition method, data acquisition equipment, storage medium and device |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4326327A1 (en) * | 1993-08-05 | 1994-09-29 | Daimler Benz Ag | Electronic control device for a motor vehicle |
DE19638166A1 (en) * | 1996-09-18 | 1998-03-26 | Siemens Ag | Determining and monitoring configuration state of controller for motor vehicle |
DE19749853A1 (en) * | 1997-11-11 | 1999-05-20 | Siemens Ag | Method for activating various functions from number of stored programs e.g. for control of motor vehicle passive safety devices such as airbags and belt tensioners |
DE19964013A1 (en) * | 1999-12-30 | 2001-07-12 | Bosch Gmbh Robert | Method and device for controlling operations in a vehicle |
DE10101311A1 (en) * | 2001-01-12 | 2002-08-01 | Bosch Gmbh Robert | Vehicle control unit and control method |
WO2006015926A1 (en) * | 2004-08-04 | 2006-02-16 | Siemens Aktiengesellschaft | Method for parameterizing an electric field device and parameterizable electric field device |
DE102006033181A1 (en) * | 2006-07-18 | 2008-01-24 | Robert Bosch Gmbh | Engine controller driving program controlling method, involves selecting code word according to driving program from code word memory and code word is evaluated by using preprocessor and non activated options are filtered in preprocessors |
DE102007045563A1 (en) * | 2006-09-25 | 2008-04-03 | Robert Bosch Gmbh | Computer-based tool and method for extracting the function code of control units |
-
2008
- 2008-10-10 DE DE200810042744 patent/DE102008042744A1/en not_active Withdrawn
-
2009
- 2009-08-17 EP EP09167996A patent/EP2175331A1/en not_active Ceased
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4326327A1 (en) * | 1993-08-05 | 1994-09-29 | Daimler Benz Ag | Electronic control device for a motor vehicle |
DE19638166A1 (en) * | 1996-09-18 | 1998-03-26 | Siemens Ag | Determining and monitoring configuration state of controller for motor vehicle |
DE19749853A1 (en) * | 1997-11-11 | 1999-05-20 | Siemens Ag | Method for activating various functions from number of stored programs e.g. for control of motor vehicle passive safety devices such as airbags and belt tensioners |
DE19964013A1 (en) * | 1999-12-30 | 2001-07-12 | Bosch Gmbh Robert | Method and device for controlling operations in a vehicle |
DE10101311A1 (en) * | 2001-01-12 | 2002-08-01 | Bosch Gmbh Robert | Vehicle control unit and control method |
WO2006015926A1 (en) * | 2004-08-04 | 2006-02-16 | Siemens Aktiengesellschaft | Method for parameterizing an electric field device and parameterizable electric field device |
DE102006033181A1 (en) * | 2006-07-18 | 2008-01-24 | Robert Bosch Gmbh | Engine controller driving program controlling method, involves selecting code word according to driving program from code word memory and code word is evaluated by using preprocessor and non activated options are filtered in preprocessors |
DE102007045563A1 (en) * | 2006-09-25 | 2008-04-03 | Robert Bosch Gmbh | Computer-based tool and method for extracting the function code of control units |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407541A (en) * | 2021-06-23 | 2021-09-17 | 中移(杭州)信息技术有限公司 | Data acquisition method, data acquisition equipment, storage medium and device |
Also Published As
Publication number | Publication date |
---|---|
DE102008042744A1 (en) | 2010-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1723513B1 (en) | Method for configuring a computer program | |
EP1904923A1 (en) | Method and software system for the configuration of a modular system | |
DE112005001790B4 (en) | A programmer for a programmable controller, a programmer for a programmable controller, and a recording medium having a program recorded thereon | |
DE10393235T5 (en) | Firmware architecture that supports secure updates and multiple processor types | |
DE19960050A1 (en) | Test code generation method for automatic testing procedure for computer system using visual representation for selection of test object and test object options | |
EP3128383B1 (en) | Field device | |
DE10243781A1 (en) | Electronic device for a bus system | |
EP3217236B1 (en) | Method and system for generating a control program in the form of a mobile application which runs on a mobile device | |
DE102005018074A1 (en) | Test sequencer and method for managing and executing sequence elements | |
DE10256990A1 (en) | Program code generator and program | |
DE10064025B4 (en) | A method for booting a microprocessor and microprocessor with a conditional deterministic reset vector | |
DE3210616A1 (en) | COMPUTER | |
EP2175331A1 (en) | Controllable device with a control program and method for controlling the device | |
WO2004088549A2 (en) | Method and array for changing software or source code | |
DE102020119853B3 (en) | Method for controlling an automation system with visualization of program objects of a control program of the automation system and automation system | |
DE102009033967A1 (en) | Method for programming a programmable logic controller with resistant data storage | |
EP4099163A1 (en) | Method and system for detecting and eliminating vulnerabilities in individual file system layers of a container image | |
WO2007107394A2 (en) | Method and management system for configuring an information system | |
EP2977894B1 (en) | Creating an FPGA code with automatically inserted influencing structure | |
DE102004006308B4 (en) | Method for modifying program code of a portable data carrier by means of patch data | |
DE112016007465T5 (en) | Program development support apparatus and method for managing program components | |
EP1621945B1 (en) | Ensuring data consistency in an automation system | |
DE102021113585A1 (en) | Providing device-specific firmware for embedded devices | |
DE10129425C1 (en) | Computer system operating method selects between two alternate versions of operating system dependent on result of performed check on base operating system and main operating system | |
DE102011003836A1 (en) | Method for performing compatibility check during accessing selected program part, involves checking compatibility information of selected part of program, where access takes place by interface of selected program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: AL BA RS |
|
17P | Request for examination filed |
Effective date: 20101014 |
|
17Q | First examination report despatched |
Effective date: 20101109 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED |
|
18R | Application refused |
Effective date: 20111223 |