EP2051150A1 - Method for automatic modification of a program and automation system - Google Patents
Method for automatic modification of a program and automation system Download PDFInfo
- Publication number
- EP2051150A1 EP2051150A1 EP07020255A EP07020255A EP2051150A1 EP 2051150 A1 EP2051150 A1 EP 2051150A1 EP 07020255 A EP07020255 A EP 07020255A EP 07020255 A EP07020255 A EP 07020255A EP 2051150 A1 EP2051150 A1 EP 2051150A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- program
- automation system
- date
- program code
- code object
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000004048 modification Effects 0.000 title claims description 25
- 238000012986 modification Methods 0.000 title claims description 25
- 230000010354 integration Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 3
- 238000004519 manufacturing process Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000001771 impaired effect Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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/23324—Separate update program onboard
Definitions
- the invention relates to a method for automatically modifying a program of an automation system. It further relates to an automation system with an automatically modifiable program and to a computer program with program code instructions for implementing a method for automatic modification of the program of the automation system and a computer program product with such a computer program.
- Automation system encompasses all devices or devices, in addition to e.g. Controllers such as programmable logic controllers, process computers, (industrial) computers and the like also drive controllers, frequency converters and the like, as used to control, regulate and / or monitor technological processes e.g. be used or be used for forming or transporting material, energy or information, etc., in particular by means of suitable technical devices, such. Sensors or actuators, energy is spent or converted.
- Controllers such as programmable logic controllers, process computers, (industrial) computers and the like also drive controllers, frequency converters and the like, as used to control, regulate and / or monitor technological processes e.g. be used or be used for forming or transporting material, energy or information, etc., in particular by means of suitable technical devices, such.
- Sensors or actuators energy is spent or converted.
- a user of the automation system is usually active.
- the user uses a hardware or software "tool", by means of which he transmits a firmware and / or a program of the automation system in the automation system, in particular the firmware and / or software.
- an installation necessary between the previous and the updated software / firmware, so z.
- an application located on a server remote from the automation system establishes a communicative connection to the automation system.
- the application checks the firmware and / or software of the automation system and, if necessary, transmits a more up-to-date firmware and / or software to the automation system. This is activated after the transfer from the application to the automation system.
- a disadvantage of this well-known method is that an activity "from the outside" is necessary for the modification, so for example, a user must be active or an application on the remote server.
- the automation system or its firmware and / or software is dependent on a user or a specific server.
- an automation system e.g. B. a firmware components comprehensive program, in particular control program and the like
- a method for automatically modifying a program of the automation system as defined in the independent claim 1.
- a program component which, for.
- a non-volatile memory e.g. B. an EPROM, EEPROM, buffered RAM, a memory card, hard disk and the like deposited or stored
- a selection means for example a software and / or hardware selection means, such.
- a selection program As a selection program, a selection routine, a subroutine or the like, on the basis of the first date in at least one database deposited or storable data object, in particular a data object with program code data - hereinafter referred to as program code object - selected and the program of the automation system by means of the program code object at least partially modified by integrating the program code object into the program. This ensures that the modification is automatically initiated and performed by the automation system itself.
- the identification means can be realized for example as software.
- Another object is to provide a particularly suitable for carrying out the method automation system. This object is achieved with an automation system as defined in independent claim 11.
- the program comprises at least firmware components, wherein by means of an identification means assigned to the automation system a to a firmware component as Program component related first date is determined and wherein the program is at least partially modified by means of the program code object by the program code object is integrated as a firmware component in the program.
- This ensures a simple modification and / or updating of the program, in particular by means of the firmware component.
- the database is assigned to at least one server, wherein the server can be located remotely from the automation system or can be an integral part of the automation system or of another automation system.
- z. B. simplifies the storage of program code objects.
- the database can be easily extended, supplemented, enlarged, moved and the like; also a modular structure of the database of exchangeable subdatabases is possible.
- the database can be an integral part of the server or it can be communicatively connected to this wired or wireless. In this case refers to line here and below z. B. on a cable, a conductor and / or the like and without a lead z. B. on a radio link, a wireless LAN, Bluetooth, infrared, laser, wireless firewire and the like.
- the server and the automation system can also be communicatively connected or connectable with each other by line or line.
- server and automation system for example, directly or indirectly, for. B. by means of the Internet, be connected.
- multiple automation systems may access a server, such as forming a network in a star configuration, or may be provided with a ring configuration, a line configuration, or a combination of star, ring, and / or line configuration, including maintenance and / or updating The like simplifies and thus contributes to a cost reduction.
- the selection means, the identification means or the selection and the identification means are executed as program components, that is to say as components of the program of the automation system, which may need to be updated.
- program components that is to say as components of the program of the automation system, which may need to be updated.
- at least one of these means can be implemented as at least one external component, that is to say not the program-associated component, which has access to the program or at least to components of the program.
- selection means and / or identification means may be implemented as hardware.
- At least one on the program component ie z.
- the firmware component, related second date and at least one based on the selected program code object third date compared, for example by means of a comparator, and the program depending on a result of the comparison, at least partially modified.
- This z. B. second and third date a version number, a creation date, a modification date, a reference number, a combination of these and / or the like. This ensures that the selected program code object ensures an update, enhancement, extension, change, or other desired modification of the program.
- a program component in particular a firmware component, as which the program code object is integrated into the program, is more current than a corresponding program component already present in the automation system, that is, e.g. an update / upgrade or downgrade is performed.
- the second date can be removed or determined from the program.
- the third date may be off the program code object can be removed or determined.
- the second, third, or both data may be a version number, a creation date, a modification date, a reference number, a program name, a lot size, a lot identification, or the like, or a combination thereof.
- Removable means here and below that, for example, at least one date from the program (second date) or the program code object (third date) is directly usable or z. B. based on an algorithm or the like from the program or from at least part of the program can be determined.
- At least one date can be stored externally, ie not in the program, or can be stored, and used directly as the second or third date or indirectly as the input value for the algorithm. This ensures a good changeability of the second and / or third date, which results in an improved adaptability of the method to a further development of the automation system or the automation technology.
- the first date may include a version number, a creation date, a modification date, a reference number, a program name, a lot identification (eg, a lot name or the like), a lot size, a hardware identification such as a board id (identification), a processor Id and / or a MAC address (Media Access Control), and / or the like, and further, the first date corresponding to the second date, so the second date, for example, from the first date can be determined or identical with this.
- the method by means of an initialization agent, which z. B. may be executed as a software and / or hardware component, in connection with an initialization of the program, a program completion, a program interruption, a program break or the like called and / or executed.
- an initialization of the program is here, for example, an activation of the Program, z.
- the initialization means can check whether the method for automatic change can be carried out, that is, whether the program code object can be integrated into the program. Alternatively, such a check can be initiated and / or controlled by the initialization means.
- the program can only in a non-volatile memory, so z.
- a non-volatile memory so z.
- EEPROM electrically erasable programmable read-only memory
- buffered RAM a memory card, hard disk or the like
- firmware components include.
- z a simple, comfortable and cost changeability, z.
- the program in particular the firmware and / or the firmware components guaranteed.
- the automation system and the server comprise at least one well-known interface for the communicative connection of the automation system to the server.
- At least one program code object can be stored or stored in the database so that one or more than one stored program code object is selected on the basis of the first date and transmitted to the automation system, where it is then activated in a timely or decoupled manner from the transmission (be activated).
- the or each program code object in the first database can, for.
- one or more additional (s) program code object (s) be assigned, which, for example, for a correct executability of the program code object after its integration into the program or for executability of the program altogether necessary or desired, or which additional functions for the program code object to be integrated.
- the selection means and / or identification means may, for. B. in a second database, which is assigned to the automation system or an integral part of the automation system, be deposited or stored. This ensures easy changeability or exchangeability of selection means and / or identification means by replacing the second database with another second database.
- the second date and the third date may for example be compared by a hardware or software comparison means. This can generate a signal depending on the result of the comparison, which enables the modification of the program.
- the modification can also be decoupled in time from the activation.
- the first date and / or the second date from the program and / or the third date from the program code object by means of at least one first determination component of the program, ie z. B. a subroutine of the program, from the program itself or from data stored for the program, and / or determined.
- the advantage of the invention and its embodiments is thus in particular that an activity with respect to the automatic modification, z. B. an initiation and / or execution of the automatic modification of a program to be updated in an automation system (in particular of the at least one firmware component comprising program) from the automation system or the program itself. It is therefore in particular no activity "from the outside", ie z. B. from a user and / or an external server with an application software needed.
- the application software of the server would be necessary here for establishing a connection to the automation system, starting from the server. It would accomplish a check of the timeliness of the firmware component, the program and the like and, for example, transmit a more up-to-date firmware component or a more up-to-date program to the programmable controller.
- the application software of the server would activate the transmitted firmware or the transmitted program in the automation system.
- Program code objects which z.
- As required for production data include, for example, automatically or by the user in connection with a time at which this production is to take place on the server (and / or in the server associated database) deposited.
- the automation system "searches" permanently or at intervals for "suitable” program code objects and automatically loads them from the server or from the database. These program code objects can then be activated automatically.
- At least one data object stored in the database can represent a datum or related dataset related to a production process or, in its embodiment, can comprise such data as a program code object.
- the date or the record describes, for example, a lot size, lot identification, an identification of a program to be processed, a tool identification, temperature, speed and the like.
- production-process-relevant data can be stored in a "central location" for an automation system or a group of automation systems in a simple and cost-effective manner, where they are available to the automation system (s) for "retrieval".
- the automation system Since the automation system checks permanently or at intervals as to whether data or data records are stored for it, the automation system quickly has the data to be used in each case, which provides high flexibility in production control and rapid adaptability to changed production conditions, educts, products, to be produced quantities, tools, production processes and the like. For example, it may be that a production step is carried out at a temperature T1 by means of the automation system. However, if it turns out that its efficiency can be increased by performing it at a changed temperature T2, then a data or program code object comprising this temperature (T2) can easily and quickly be stored in the database associated with the server. This is "found" by the automation system there on the basis of a check carried out by the automation system to check the data / data records stored in the database, and integrated into the program so that the production step is now carried out at the changed temperature T2.
- the automation device comprises the program which sets up a communication connection to the server associated with the first database or initiates or controls the setup, it is not necessary, for example B. unlock an electronic protective measure, such. B. a firewall, which protects the automation device against unauthorized access.
- B. a firewall
- z. As an authentication and / or authorization "outside” accessing users, application software in the server, a software or hardware "tool” not necessary, which u, a. increased ease of use of the automation system.
- FIG. 1 schematically shows an automation system 10 with an automatically modifiable program 12.
- the program 12 includes at least one firmware component 14a.
- further firmware components 14b and / or at least one program component 16a may be included.
- a first date 18a, 18b is related to the firmware component 14a, 14b and / or may, for. B. for the firmware component 14a, 14b stored in a database, not shown.
- An identification means 20 assigned to the automation system 10 determines a first date 18a, 18b associated with the firmware component 14a, 14b.
- the automation system 10 and a remotely located from this server 22 communicate while wired or wirelessly via a communication link 23, z. B. using known per se interfaces 24a, 24b.
- a database 26 is accessed, in which program code objects 28a, 28b are stored.
- This access is provided by a, the automation system 10 associated selection means 30, which as hardware or software or a combination thereof.
- a program code object 28a, 28b, 28c is selected by the selection means 30.
- the program code object 28a, 28b, 28c selected by the selection means 30 is transmitted to the automation system 10.
- An integration means 34 of the automation system 10 integrates the selected program code object 28a, 28b, 28c into the program 12.
- the selected program code object 28a, 28b, 28c is integrated in the program 12, in particular as a firmware component 14a, 14b.
- Other program code objects 28a, 28b, 28c may also be integrated into the program 12 as a program component 16a, 16b.
- the integration of the program code object 28a, 28b, 28c into the program 12 serves to modify the program 12 and can take place, for example, during the transmission of the program code object 28a, 28b, 28c into the automation system 10 or following the transfer.
- the integration can be carried out, for example, in connection with an initialization, a termination, an interruption, a pause, a sequence of the program 12 or the like.
- the integration means 34 checks whether the automatic modification can be carried out without affecting a program sequence.
- the integration means 34 z Example by means of the program 12, the automation system 10 or by means of a signal (not shown) which is generated by an associated with the program 12 or the automation system initialization means 34 a, are controlled, ie z. B. triggered, interrupted, stopped and the like.
- Identification means 20, selection means 30 and / or integration means 34 may be software and / or hardware be executed and z.
- B. be an integral part of the automation system 10, here, for example, in particular the program 12 associated components such.
- FIG. 2 1 shows a schematic representation of the method according to the invention for the automatic modification of the program 12.
- the first date 18a which is related to the firmware component 14a, 14b and / or stored for it, is first determined by the identification means 20.
- a data base 26 (see FIG FIG. 1 ) stored program code object 28a by means of the selection means 30.
- a determined from the program 12 and / or deposited for this program 12 second date 36 is compared with a determined from the program code object 28a and / or stored for this third date 38, z.
- Example by means of a comparator 40 which may be designed as soft and / or hardware.
- the second date 36 for example, be identical to the first date 18a or be determinable from this, z. B. by means of an algorithm. If the comparison shows that a selection criterion 42 for the program code object 28a is satisfied, ie z.
- the program code object 28a is more current than the firmware component 14a, 14b (in FIG FIG. 1 shown)
- the integration of the program code object 28a takes place in the program 12.
- the program code object 28a is first transferred to the automation system 10. Together with the transmission to the automation system 10, the modification of the program 12, which is carried out, for example, by means of the integration means 34 (as in FIG FIG. 1 shown) accomplished.
- FIG. 3 shows a schematic representation of a communication network 44 together with the method as in FIG. 2 shown.
- the first date 18a is determined.
- the automation system 10 establishes a communicative connection 23 with the server 22.
- selection means 30 in FIG. 1 is shown
- Program code object 28b selected from a number of program code objects 28a, 28b, 28c and transmitted to the automation system 10 via the server 22 and the communicative connection 23, here communication network 44.
- it is checked whether the program code object 28b is more current than the program component 16a, 16b.
- the program code object 28b is used, in particular, as a firmware component 14a, 14b (in FIG FIG. 1 shown) integrated.
- the program 12 can be modified during, before or after a runtime.
- it can be ensured by means of the initialization means 34a that the program 12, parts of the program 12 or a sequence thereof at an integration time of the program code object 28a, 28b, 28c into the program 12 is not impaired, so that for example one from the automation system 10 or components the automation system 10 executed automation process is not disturbed and / or canceled.
- a method for automatic modification of a program 12 of an automation system 10 is specified, wherein a first data item 18a, 18b determined by means of an identification means 20 assigned to the automation system 10 is determined on a program component 16a, 16b of the program 12 in which a program code object 28a, 28b, 28c deposited in at least one database 26 is selected by means of a selection means 30 on the basis of the first date 18a, 18b, and wherein the program 12 is at least partially modified by means of the program code object 28a, 28b, 28c, in that the program code object 28a, 28b, 28c is integrated into the program 12, as well as an automation system 10 comprising in particular at least firmware components 14a, 14b, automatically after the Method modifiable program 12, with an associated identification means 20 for determining a program component 16a, 16b, in particular a firmware component 14a, 14b, related first date 18a, 18b, with a selection means 30 for selecting a stored in at least one database 26 or deposited program code object
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
Die Erfindung betrifft ein Verfahren zur automatischen Modifikation eines Programms eines Automatisierungssystems. Sie bezieht sich weiterhin auf ein Automatisierungssystem mit einem automatisch modifizierbaren Programm sowie auf ein Computerprogramm mit Programmcodeanweisungen zur Implementierung eines Verfahrens zur automatischen Modifikation des Programms des Automatisierungssystems und ein Computerprogrammprodukt mit einem solchen Computerprogramm.The invention relates to a method for automatically modifying a program of an automation system. It further relates to an automation system with an automatically modifiable program and to a computer program with program code instructions for implementing a method for automatic modification of the program of the automation system and a computer program product with such a computer program.
Verfahren zur Modifikation von Firmware und/oder Software von Automatisierungssystemen sind allgemein bekannt. Der Begriff Automatisierungssystem umfasst dabei sämtliche Geräte oder Einrichtungen, also neben z.B. Steuerungen, wie speicherprogrammierbaren Steuerungen, Prozessrechnern, (Industrie-) Computern und dergleichen auch Antriebssteuerungen, Frequenzumrichter und Ähnliches, wie sie zur Steuerung, Regelung und/oder Überwachung technologischer Prozesse z.B. zum Umformen oder Transportieren von Material, Energie oder Information etc. eingesetzt werden oder einsetzbar sind, wobei insbesondere über geeignete technische Einrichtungen, wie z.B. Sensoren oder Aktoren, Energie aufgewandt oder gewandelt wird.Methods for modifying firmware and / or software of automation systems are well known. The term automation system encompasses all devices or devices, in addition to e.g. Controllers such as programmable logic controllers, process computers, (industrial) computers and the like also drive controllers, frequency converters and the like, as used to control, regulate and / or monitor technological processes e.g. be used or be used for forming or transporting material, energy or information, etc., in particular by means of suitable technical devices, such. Sensors or actuators, energy is spent or converted.
Bei einer Initiation einer solchen Modifikation, also z. B. einem Update oder Upgrade, wird in der Regel ein Anwender des Automatisierungssystems aktiv. Der Anwender bedient sich dabei eines Hardware- oder Software-"Werkzeuges", mittels welchem er eine Firmware und/oder ein Programm des Automatisierungssystems in das Automatisierungssystem, insbesondere die Firmware und/oder Software, überträgt. Zusätzlich ist eine wiederum durch den Anwender ausgelöste Wirksamschaltung zwischen der bisherigen und der aktualisierten Soft-/Firmware, also z. B. eine Installation, notwendig. zwischen der bisherigen und der aktualisierten Soft-/Firmware, also z. B. eine Installation, notwendig.In an initiation of such a modification, ie z. As an update or upgrade, a user of the automation system is usually active. The user uses a hardware or software "tool", by means of which he transmits a firmware and / or a program of the automation system in the automation system, in particular the firmware and / or software. In addition, an activated by the user effective circuit between the previous and the updated software / firmware, so z. As an installation necessary. between the previous and the updated software / firmware, so z. As an installation necessary.
Bei einer automatisierten Alternative zu einer solchen Modifikation stellt eine sich auf einem entfernt von dem Automatisierungssystem angeordneten Server befindende Anwendung eine kommunikative Verbindung zum Automatisierungssystem her. Die Anwendung überprüft die Firmware und/oder Software des Automatisierungssystems und überträgt gegebenenfalls eine aktuellere Firm- und/oder Software in das Automatisierungssystem. Diese wird nach der Übertragung von der Anwendung auf dem Automatisierungssystem wirksam geschaltet.In an automated alternative to such a modification, an application located on a server remote from the automation system establishes a communicative connection to the automation system. The application checks the firmware and / or software of the automation system and, if necessary, transmits a more up-to-date firmware and / or software to the automation system. This is activated after the transfer from the application to the automation system.
Nachteilig bei diesem allgemein bekannten Verfahren ist jedoch, dass eine Aktivität "von außen" für die Modifikation notwendig ist, also beispielsweise ein Anwender tätig werden muss oder eine Anwendung auf dem entfernt angeordneten Server. Dabei ist also das Automatisierungssystem bzw. dessen Firm- und/oder Software von einem Nutzer bzw. von einem spezifischen Server abhängig.A disadvantage of this well-known method, however, is that an activity "from the outside" is necessary for the modification, so for example, a user must be active or an application on the remote server. Thus, the automation system or its firmware and / or software is dependent on a user or a specific server.
Eine Aufgabe der Erfindung besteht somit darin, ein verbessertes Verfahren zur automatischen Modifikation eines Programms eines Automatisierungssystems, z. B. eines Firmwarekomponenten umfassenden Programms, insbesondere Steuerungsprogramms und dergleichen, anzugeben, bei welchem das Automatisierungssystem unabhängig von einer Anwendung auf einem Server und/oder einer Nutzeraktion ist. Eine weitere Aufgabe besteht darin zu ermöglichen, dass das Programm des Automatisierungssystems während seiner Laufzeit modifiziert wird.It is therefore an object of the invention to provide an improved method for automatically modifying a program of an automation system, e.g. B. a firmware components comprehensive program, in particular control program and the like, specify, in which the automation system is independent of an application on a server and / or a user action. Another object is to allow the program of the automation system to be modified during its runtime.
Diese Aufgabe wird erfindungsgemäß gelöst durch ein Verfahren zur automatischen Modifikation eines Programms des Automatisierungssystems, wie es in dem unabhängigen Anspruch 1 definiert ist. Dazu ist vorgesehen, dass mittels eines dem Automatisierungssystem zugeordneten Identifikationsmittels ein auf eine Programmkomponente, welche z. B. in einem nichtflüchtigen Speicher, z. B. einem EPROM, EEPROM, gepufferten RAM, einer Speicherkarte, Festplatte und dergleichen hinterlegt oder hinterlegbar ist, bezogenes erstes Datum ermittelt wird. Mittels eines Auswahlmittels, beispielsweise eines Software- und/oder Hardware-Auswahlmittels, wie z. B. eines Auswahlprogramms, einer Auswahlroutine, einer Subroutine oder dergleichen, wird auf Basis des ersten Datums ein in zumindest einer Datenbasis hinterlegtes oder hinterlegbares Datenobjekt, insbesondere ein Datenobjekt mit Programmcodedaten - im Folgenden als Programmcodeobjekt bezeichnet - ausgewählt und das Programm des Automatisierungssystems mittels des Programmcodeobjekts zumindest teilweise modifiziert, indem das Programmcodeobjekt in das Programm integriert wird. Hierdurch wird gewährleistet, dass die Modifikation automatisch vom Automatisierungssystem selbst initiiert und durchgeführt wird. Das Identifikationsmittel kann beispielsweise als Software realisiert sein.This object is achieved by a method for automatically modifying a program of the automation system, as defined in the independent claim 1. For this purpose, it is provided that by means of an automation system associated with the identification means on a program component, which, for. In a non-volatile memory, e.g. B. an EPROM, EEPROM, buffered RAM, a memory card, hard disk and the like deposited or stored, referred first date is determined. By means of a selection means, for example a software and / or hardware selection means, such. As a selection program, a selection routine, a subroutine or the like, on the basis of the first date in at least one database deposited or storable data object, in particular a data object with program code data - hereinafter referred to as program code object - selected and the program of the automation system by means of the program code object at least partially modified by integrating the program code object into the program. This ensures that the modification is automatically initiated and performed by the automation system itself. The identification means can be realized for example as software.
Eine weitere Aufgabe ist ein zur Durchführung des Verfahrens besonders geeignetes Automatisierungssystem anzugeben. Diese Aufgabe wird mit einem Automatisierungssystem gelöst, wie es im unabhängigen Anspruch 11 definiert ist.Another object is to provide a particularly suitable for carrying out the method automation system. This object is achieved with an automation system as defined in independent claim 11.
Vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand der Unteransprüche. Dabei verwendete Rückbeziehungen weisen auf die weitere Ausbildung des Gegenstandes des Hauptanspruches durch die Merkmale des jeweiligen Unteranspruches hin; sie sind nicht als ein Verzicht auf die Erzielung eines selbständigen, gegenständlichen Schutzes für die Merkmalskombinationen der rückbezogenen Unteransprüche zu verstehen. Des Weiteren ist im Hinblick auf eine Auslegung der Ansprüche bei einer näheren Konkretisierung eines Merkmals in einem nachgeordneten Anspruch davon auszugehen, dass eine derartige Beschränkung in den jeweils vorangehenden Ansprüchen nicht vorhanden ist.Advantageous embodiments of the invention are the subject of the dependent claims. This used backlinks point to the further development of the subject matter of the main claim by the features of the respective subclaim; they should not be construed as a waiver of obtaining independent, objective protection for the feature combinations of the dependent claims. Furthermore, with a view to an interpretation of the claims in a closer specification of a feature in a subordinate claim, it is to be assumed that such a restriction does not exist in the respective preceding claims.
Bevorzugt umfasst das Programm zumindest Firmwarekomponenten, wobei mittels eines dem Automatisierungssystem zugeordneten Identifikationsmittels ein auf eine Firmwarekomponente als Programmkomponente bezogenes erstes Datum ermittelt wird und wobei das Programm mittels des Programmcodeobjekts zumindest teilweise modifiziert wird, indem das Programmcodeobjekt als Firmwarekomponente in das Programm integriert wird. Hierdurch wird eine einfache Modifizierung und/oder Aktualisierung des Programms, insbesondere mittels der Firmwarekomponente, gewährleistet.Preferably, the program comprises at least firmware components, wherein by means of an identification means assigned to the automation system a to a firmware component as Program component related first date is determined and wherein the program is at least partially modified by means of the program code object by the program code object is integrated as a firmware component in the program. This ensures a simple modification and / or updating of the program, in particular by means of the firmware component.
In einer bevorzugten Ausführungsform ist die Datenbasis zumindest einem Server zugeordnet, wobei der Server entfernt vom Automatisierungssystem angeordnet oder ein integraler Bestandteil des Automatisierungssystems oder eines weiteren Automatisierungssystems sein kann.In a preferred embodiment, the database is assigned to at least one server, wherein the server can be located remotely from the automation system or can be an integral part of the automation system or of another automation system.
Bei einem entfernt vom Automatisierungssystem angeordneten Server ist z. B. ein Hinterlegen von Programmcodeobjekten vereinfacht. Zudem kann die Datenbasis auf einfache Art erweitert, ergänzt, vergrößert, verschoben und dergleichen werden; auch ein modularer Aufbau der Datenbasis aus austauschbaren Subdatenbasen ist möglich. Die Datenbasis kann dabei integraler Bestandteil des Servers sein oder sie kann mit diesem leitungsgebunden oder leitungslos kommunikativ verbunden sein. Dabei bezieht sich leitungsgebunden hier und im Folgenden z. B. auf ein Kabel, einen Leiter und/oder dergleichen und leitungslos z. B. auf eine Richtfunkstrecke, ein W-LAN (wireless lan), Bluetooth, Infrarot, Laser, wireless Firewire und dergleichen. Der Server und das Automatisierungssystem können dabei ebenfalls leitungsgebunden oder leitungslos kommunikativ miteinander verbunden oder verbindbar sein. Zudem können Server und Automatisierungssystem beispielsweise direkt oder indirekt, z. B. mittels des Internets, verbunden sein. Zudem können mehrere Automatisierungssysteme auf einen Server zugreifen und so beispielsweise ein Netzwerk in einer Sternkonfiguration bilden oder es kann eine Ringkonfiguration, eine Linienkonfiguration oder eine Kombination aus Stern-, Ring- und/oder Linienkonfiguration vorgesehen sein, was eine Wartung und/oder Aktualisierung oder dergleichen vereinfacht und somit zu einer Kostenreduktion beiträgt.In a remote from the automation system server is z. B. simplifies the storage of program code objects. In addition, the database can be easily extended, supplemented, enlarged, moved and the like; also a modular structure of the database of exchangeable subdatabases is possible. The database can be an integral part of the server or it can be communicatively connected to this wired or wireless. In this case refers to line here and below z. B. on a cable, a conductor and / or the like and without a lead z. B. on a radio link, a wireless LAN, Bluetooth, infrared, laser, wireless firewire and the like. In this case, the server and the automation system can also be communicatively connected or connectable with each other by line or line. In addition, server and automation system, for example, directly or indirectly, for. B. by means of the Internet, be connected. In addition, multiple automation systems may access a server, such as forming a network in a star configuration, or may be provided with a ring configuration, a line configuration, or a combination of star, ring, and / or line configuration, including maintenance and / or updating The like simplifies and thus contributes to a cost reduction.
Besonders bevorzugt sind das Auswahlmittel, das Identifikationsmittel oder das Auswahl- und das Identifikationsmittel als Programmkomponenten, also als Bestandteile des gegebenenfalls zu aktualisierenden Programms des Automatisierungssystems, ausgeführt. Hierdurch wird eine hohe Flexibilität z. B. durch eine einfache Änderbarkeit, z. B. Update- und/oder Upgradefähigkeit, gewährleistet. Alternativ kann zumindest eines dieser Mittel als zumindest eine externe, also nicht dem Programm zugeordnete Komponente ausgeführt sein, welche Zugriff auf das Programm oder zumindest auf Komponenten des Programms hat. Zudem oder alternativ können Auswahlmittel und/oder Identifikationsmittel als Hardware ausgeführt sein.Particularly preferably, the selection means, the identification means or the selection and the identification means are executed as program components, that is to say as components of the program of the automation system, which may need to be updated. As a result, a high flexibility z. B. by a simple changeability, z. B. update and / or upgrade capability guaranteed. Alternatively, at least one of these means can be implemented as at least one external component, that is to say not the program-associated component, which has access to the program or at least to components of the program. Additionally or alternatively, selection means and / or identification means may be implemented as hardware.
Bevorzugt werden zumindest ein auf die Programmkomponente, also z. B. die Firmwarekomponente, bezogenes zweites Datum und zumindest ein auf das ausgewählte Programmcodeobjekt bezogenes drittes Datum verglichen, beispielsweise mittels eines Vergleichers, und das Programm in Abhängigkeit von einem Ergebnis des Vergleichs zumindest teilweise modifiziert. Dabei können z. B. zweites und drittes Datum eine Versionsnummer, ein Erstellungsdatum, ein Änderungsdatum, eine Referenznummer, eine Kombination aus diesen und/oder dergleichen sein. Hierdurch wird sichergestellt, dass das ausgewählte Programmcodeobjekt eine Aktualisierung, eine Verbesserung, eine Erweiterung, eine Änderung oder eine sonstige gewünschte Modifikation des Programms gewährleistet. Somit kann gewährleistet werden, dass eine Programmkomponente, insbesondere eine Firmwarekomponente, als welche das Programmcodeobjekt in das Programm integriert wird, aktueller ist als eine bereits im Automatisierungssystem vorhandene, korrespondierende Programmkomponente, dass also z.B. ein Update/Upgrade oder Downgrade ausgeführt wird.At least one on the program component, ie z. Example, the firmware component, related second date and at least one based on the selected program code object third date compared, for example by means of a comparator, and the program depending on a result of the comparison, at least partially modified. This z. B. second and third date a version number, a creation date, a modification date, a reference number, a combination of these and / or the like. This ensures that the selected program code object ensures an update, enhancement, extension, change, or other desired modification of the program. Thus, it can be ensured that a program component, in particular a firmware component, as which the program code object is integrated into the program, is more current than a corresponding program component already present in the automation system, that is, e.g. an update / upgrade or downgrade is performed.
Besonders bevorzugt ist das zweite Datum aus dem Programm entnehmbar oder ermittelbar. Zudem kann das dritte Datum aus dem Programmcodeobjekt entnehmbar oder ermittelbar sein. Bei dem zweiten, dem dritten, oder beiden Daten kann es sich dabei um eine Versionsnummer, ein Erstellungsdatum, ein Änderungsdatum, eine Referenznummer, einen Programmnamen, eine Losgröße, eine Losidentifikation oder dergleichen oder eine Kombination daraus handeln. Entnehmbar meint hier und im Folgenden, dass beispielsweise zumindest ein Datum aus dem Programm (zweites Datum) oder dem Programmcodeobjekt (drittes Datum) direkt verwendbar ist oder z. B. auf Basis eines Algorithmus oder dergleichen aus dem Programm oder aus zumindest einem Teil des Programms ermittelbar ist. Zudem oder alternativ kann zumindest ein Datum extern, also nicht im Programm, hinterlegt oder hinterlegbar sein, und direkt als zweites oder drittes Datum oder indirekt als Eingangswert für den Algorithmus Verwendung finden. Hierdurch wird eine gute Änderbarkeit von zweitem und/oder drittem Datum gewährleistet, woraus sich eine verbesserte Adaptierbarkeit des Verfahrens an eine Weiterentwicklung des Automatisierungssystems oder der Automatisierungstechnologie ergibt.Particularly preferably, the second date can be removed or determined from the program. In addition, the third date may be off the program code object can be removed or determined. The second, third, or both data may be a version number, a creation date, a modification date, a reference number, a program name, a lot size, a lot identification, or the like, or a combination thereof. Removable means here and below that, for example, at least one date from the program (second date) or the program code object (third date) is directly usable or z. B. based on an algorithm or the like from the program or from at least part of the program can be determined. In addition or alternatively, at least one date can be stored externally, ie not in the program, or can be stored, and used directly as the second or third date or indirectly as the input value for the algorithm. This ensures a good changeability of the second and / or third date, which results in an improved adaptability of the method to a further development of the automation system or the automation technology.
Zudem oder alternativ kann das erste Datum eine Versionsnummer, ein Erstellungsdatum, ein Änderungsdatum, eine Referenznummer, ein Programmname, eine Losidentifikation (z. B. ein Losname oder dergleichen), eine Losgröße, eine Hardwareidentifikation, wie beispielsweise eine Board Id (Identification), eine Prozessor Id und/oder eine MAC Adresse (Media Access Control), und/oder dergleichen sein, und weiterhin kann das erste Datum mit dem zweiten Datum korrespondieren, also das zweite Datum beispielsweise aus dem ersten Datum ermittelbar oder mit diesem identisch sein.Additionally or alternatively, the first date may include a version number, a creation date, a modification date, a reference number, a program name, a lot identification (eg, a lot name or the like), a lot size, a hardware identification such as a board id (identification), a processor Id and / or a MAC address (Media Access Control), and / or the like, and further, the first date corresponding to the second date, so the second date, for example, from the first date can be determined or identical with this.
Bevorzugt wird das Verfahren mittels eines Initialisierungsmittels, welches z. B. als eine Software- und/oder Hardwarekomponente ausgeführt sein kann, im Zusammenhang mit einer Initialisierung des Programms, einem Programmabschluss, einer Programmunterbrechung, einer Programmpause oder dergleichen aufgerufen und/oder ausgeführt. Als Initialisierung des Programms wird hier beispielsweise eine Aktivierung des Programms, z. B. während eines "Hochfahrens" des Automatisierungssystems oder dergleichen, bezeichnet. Zudem kann das Initialisierungsmittel dabei prüfen, ob das Verfahren zur automatischen Änderung durchgeführt werden kann, also ob das Programmcodeobjekt in das Programm integriert werden kann. Alternativ kann eine solche Prüfung durch das Initialisierungsmittel initiierbar und/oder steuerbar sein. Somit wird sichergestellt, dass beispielsweise während einer Laufzeit des Programms nur solche Programmkomponenten, insbesondere Firmwarekomponenten, geändert werden, durch deren Austausch ein durch das Programm gesteuerter Automatisierungsprozess nicht gestört, gehindert, unterbrochen oder sonst wie beeinträchtigt wird. Eine Wirksamschaltung aktualisierter Programmkomponenten, insbesondere Firmwarekomponenten, durch deren Integration in das Programm kann zeitlich von der Einspielung, also der Übertragung, entkoppelt sein. Dabei kann das Programmcodeobjekt in einer Datenbasis vorgehalten werden, bis die Prüfung mittels des Initialisierungsmittels ergeben hat, dass die Wirksamschaltung durchgeführt werden kann, ohne den Betrieb des Automatisierungssystems zu beeinträchtigen.Preferably, the method by means of an initialization agent, which z. B. may be executed as a software and / or hardware component, in connection with an initialization of the program, a program completion, a program interruption, a program break or the like called and / or executed. As an initialization of the program is here, for example, an activation of the Program, z. During a "boot up" of the automation system or the like. In addition, the initialization means can check whether the method for automatic change can be carried out, that is, whether the program code object can be integrated into the program. Alternatively, such a check can be initiated and / or controlled by the initialization means. This ensures that, for example, during a runtime of the program, only those program components, in particular firmware components, are changed, by the exchange of which an automation process controlled by the program is not disturbed, hindered, interrupted or otherwise impaired. An effective circuit of updated program components, in particular firmware components, by their integration into the program can be temporally decoupled from the recording, so the transmission. In this case, the program code object can be kept in a database until the check by means of the initialization means has shown that the activation circuit can be carried out without impairing the operation of the automation system.
Das Programm kann ausschließlich in einem nicht flüchtigen Speicher, also z. B. einem EPROM, EEPROM, gepufferten RAM, einer Speicherkarte, Festplatte oder dergleichen hinterlegte oder hinterlegbare Firmwarekomponenten umfassen. Hierdurch wird eine einfache, komfortable und kostengünstige Änderbarkeit, z. B. ein Update oder Upgrade, des Programms, insbesondere der Firmware und/oder der Firmwarekomponenten, gewährleistet.The program can only in a non-volatile memory, so z. As an EPROM, EEPROM, buffered RAM, a memory card, hard disk or the like deposited or stored firmware components include. As a result, a simple, comfortable and cost changeability, z. As an update or upgrade, the program, in particular the firmware and / or the firmware components guaranteed.
Bezüglich des Automatisierungssystems ist bevorzugt vorgesehen, dass das Automatisierungssystem und der Server zumindest eine allgemein bekannte Schnittstelle zur kommunikativen Verbindung des Automatisierungssystems mit dem Server umfassen.With regard to the automation system, it is preferably provided that the automation system and the server comprise at least one well-known interface for the communicative connection of the automation system to the server.
Für das oder jedes erste Datum kann in der Datenbasis zumindest ein Programmcodeobjekt hinterlegt oder hinterlegbar sein, so dass auf Basis des ersten Datums ein oder mehr als ein hinterlegtes Programmcodeobjekt ausgewählt und in das Automatisierungssystem übertragen werden, wo sie dann zeitnah oder von der Übertragung entkoppelt wirksamgeschaltet (aktivgeschaltet) werden.For the or each first date, at least one program code object can be stored or stored in the database so that one or more than one stored program code object is selected on the basis of the first date and transmitted to the automation system, where it is then activated in a timely or decoupled manner from the transmission (be activated).
Dem oder jedem Programmcodeobjekt in der ersten Datenbasis können dabei, z. B. in einer Referenztabelle, ein oder mehrere zusätzliche(s) Programmcodeobjekt(e) zugeordnet sein, welche beispielsweise für eine korrekte Ausführbarkeit des Programmcodeobjekts nach dessen Integration in das Programm oder für eine Ausführbarkeit des Programms insgesamt notwendig oder gewünscht sind, oder welche zusätzliche Funktionen für das zu integrierende Programmcodeobjekt umfassen. Hierdurch wird beispielsweise erreicht, dass bei einer Integration von Programmcodeobjekten, die zusätzliche Funktionalität erfordern, diese von dem Integrationsvorgang gleich mit erfasst werden.The or each program code object in the first database can, for. For example, in a reference table, one or more additional (s) program code object (s) be assigned, which, for example, for a correct executability of the program code object after its integration into the program or for executability of the program altogether necessary or desired, or which additional functions for the program code object to be integrated. As a result, it is achieved, for example, that with the integration of program code objects which require additional functionality, they are also included in the integration process.
Das Auswahlmittel und/oder Identifikationsmittel kann z. B. in einer zweiten Datenbasis, welche dem Automatisierungssystem zugeordnet oder ein integraler Bestandteil des Automatisierungssystems ist, hinterlegt oder hinterlegbar sein. Hierdurch wird eine einfache Änderbarkeit oder Austauschbarkeit von Auswahlmittel und/oder Identifikationsmittel durch ein Ersetzen der zweiten Datenbasis durch eine andere zweite Datenbasis gewährleistet.The selection means and / or identification means may, for. B. in a second database, which is assigned to the automation system or an integral part of the automation system, be deposited or stored. This ensures easy changeability or exchangeability of selection means and / or identification means by replacing the second database with another second database.
Das zweite Datum und das dritte Datum können beispielsweise von einem in Hard- oder Software ausgeführten Vergleichsmittel verglichen werden. Dieses kann in Abhängigkeit vom Ergebnis des Vergleichs ein Signal erzeugen, welches die Modifikation des Programms freischaltet. Dabei kann die Modifikation auch zeitlich von der Freischaltung entkoppelt sein. Beispielsweise kann das erste Datum und/oder das zweite Datum aus dem Programm und/oder das dritte Datum aus dem Programmcodeobjekt mittels zumindest einer ersten Bestimmungskomponente des Programms, also z. B. einem Unterprogramm des Programms, aus dem Programm selber oder aus für das Programm hinterlegten Daten, entnommen und/oder ermittelt werden.The second date and the third date may for example be compared by a hardware or software comparison means. This can generate a signal depending on the result of the comparison, which enables the modification of the program. The modification can also be decoupled in time from the activation. For example, the first date and / or the second date from the program and / or the third date from the program code object by means of at least one first determination component of the program, ie z. B. a subroutine of the program, from the program itself or from data stored for the program, and / or determined.
Der Vorteil der Erfindung und ihrer Ausgestaltungen besteht somit insbesondere darin, dass eine Aktivität bezüglich der automatischen Modifikation, z. B. eine Initiation und/oder Ausführung der automatischen Modifikation, eines in einem Automatisierungssystem zu aktualisierenden Programms (insbesondere des zumindest eine Firmwarekomponente umfassenden Programms) von dem Automatisierungssystem oder dem Programm selbst ausgeht. Es ist somit insbesondere keine Aktivität "von außen", also z. B. von einem Benutzer und/oder einem externen Server mit einer Anwendungssoftware, nötig. Die Anwendungssoftware des Servers wäre hier für einen Aufbau einer Verbindung zum Automatisierungssystem, ausgehend vom Server, nötig. Sie würde eine Prüfung einer Aktualität der Firmwarekomponente, des Programms und dergleichen bewerkstelligen und beispielsweise eine aktuellere Firmwarekomponente oder ein aktuelleres Programm in das Automatisierungsgerät übertragen. Zudem würde die Anwendungssoftware des Servers die übertragene Firmware oder das übertragene Programm im Automatisierungssystem wirksam schalten.The advantage of the invention and its embodiments is thus in particular that an activity with respect to the automatic modification, z. B. an initiation and / or execution of the automatic modification of a program to be updated in an automation system (in particular of the at least one firmware component comprising program) from the automation system or the program itself. It is therefore in particular no activity "from the outside", ie z. B. from a user and / or an external server with an application software needed. The application software of the server would be necessary here for establishing a connection to the automation system, starting from the server. It would accomplish a check of the timeliness of the firmware component, the program and the like and, for example, transmit a more up-to-date firmware component or a more up-to-date program to the programmable controller. In addition, the application software of the server would activate the transmitted firmware or the transmitted program in the automation system.
Ein weiterer Vorteil der Erfindung und ihrer Ausgestaltungen ist zudem, dass beispielsweise verschiedenartige Produktionen durch eine Maschine mit einem oder mehreren Automatisierungssystemen möglich sind. Programmcodeobjekte, welche z. B. zur Produktion erforderliche Daten umfassen, werden dabei beispielsweise automatisch oder durch den Anwender im Zusammenhang mit einem Zeitpunkt, zu dem diese Produktion stattfinden soll, auf dem Server (und/oder in der dem Server zugeordneten Datenbasis) hinterlegt. Das Automatisierungssystem "sucht" permanent oder in zeitlichen Abständen nach "passenden" Programmcodeobjekten und lädt diese automatisch von dem Server oder aus der Datenbasis. Diese Programmcodeobjekte können dann zudem automatisch aktiviert werden.Another advantage of the invention and its embodiments is also that, for example, different types of productions are possible by a machine with one or more automation systems. Program code objects, which z. As required for production data include, for example, automatically or by the user in connection with a time at which this production is to take place on the server (and / or in the server associated database) deposited. The automation system "searches" permanently or at intervals for "suitable" program code objects and automatically loads them from the server or from the database. These program code objects can then be activated automatically.
Dabei kann zumindest ein in der Datenbasis hinterlegtes Datenobjekt ein auf einen Produktionsvorgang bezogenes Datum oder bezogenen Datensatz darstellen oder in seiner Ausprägung als Programmcodeobjekt solche Daten umfassen. Das Datum oder der Datensatz beschreibt dabei beispielsweise eine Losgröße, Losidentifikation, eine Identifikation eines abzuarbeitenden Programms, eine Werkzeugidentifikation, Temperatur, Geschwindigkeit und dergleichen. Somit können an einer "zentralen Stelle" für ein Automatisierungssystem oder eine Gruppe von Automatisierungssystemen produktionsprozess-relevante Daten auf einfache und kostengünstige Art und Weise hinterlegt werden, wo sie dem oder den Automatisierungssystem(en) zum "Abruf" bereitstehen. Da das Automatisierungssystem permanent oder in zeitlichen Abständen überprüft, ob Daten oder Datensätze für es hinterlegt sind, stehen dem Automatisierungssystem schnell die jeweils zu verwendenden Daten zur Verfügung, was eine hohe Flexibilität bei einer Produktionssteuerung und eine schnelle Anpassbarkeit an veränderte Produktionsbedingungen, Edukte, Produkte, zu produzierende Mengen, Werkzeuge, Produktionsabläufe und dergleichen bedingt. So kann es beispielsweise sein, dass ein Produktionsschritt bei einer Temperatur T1 mittels des Automatisierungssystems durchgeführt wird. Wenn sich jedoch herausstellt, dass dessen Effizienz dadurch steigerbar ist, dass dieser bei einer geänderten Temperatur T2 durchgeführt wird, so kann einfach und schnell ein diese Temperatur (T2) umfassendes Daten- oder Programmcodeobjekt in der dem Server zugeordneten Datenbank hinterlegt werden. Dieses wird dort vom Automatisierungssystem aufgrund einer vom Automatisierungssystem durchgeführten Überprüfung der in der Datenbasis hinterlegten Daten/Datensätze "gefunden", heruntergeladen und in das Programm integriert, so dass der Produktionsschritt nun bei der veränderten Temperatur T2 durchgeführt wird.In this case, at least one data object stored in the database can represent a datum or related dataset related to a production process or, in its embodiment, can comprise such data as a program code object. The date or the record describes, for example, a lot size, lot identification, an identification of a program to be processed, a tool identification, temperature, speed and the like. Thus, production-process-relevant data can be stored in a "central location" for an automation system or a group of automation systems in a simple and cost-effective manner, where they are available to the automation system (s) for "retrieval". Since the automation system checks permanently or at intervals as to whether data or data records are stored for it, the automation system quickly has the data to be used in each case, which provides high flexibility in production control and rapid adaptability to changed production conditions, educts, products, to be produced quantities, tools, production processes and the like. For example, it may be that a production step is carried out at a temperature T1 by means of the automation system. However, if it turns out that its efficiency can be increased by performing it at a changed temperature T2, then a data or program code object comprising this temperature (T2) can easily and quickly be stored in the database associated with the server. This is "found" by the automation system there on the basis of a check carried out by the automation system to check the data / data records stored in the database, and integrated into the program so that the production step is now carried out at the changed temperature T2.
Des Weiteren wird durch die Erfindung und ihre Ausgestaltungen zudem ein einfaches Einspielen einer anderen Version, z. B. einer Firmware/von Firmwarekomponenten, Projekt(en), Programm(en) und dergleichen ermöglicht. Zudem kann beispielsweise zwischen zwei Produktionskonfigurationen zumindest eine Wartungskonfiguration einspielbar und aktivierbar sein.Furthermore, by the invention and its embodiments also a simple importing another version, for. Firmware / firmware components, project (s), Program (s) and the like allows. In addition, for example, at least one maintenance configuration can be insertable and activatable between two production configurations.
Da in der vorliegenden Erfindung das Automatisierungsgerät das Programm umfasst, welches eine Kommunikationsverbindung zu dem mit der ersten Datenbasis assoziierten Server aufbaut oder den Aufbau initiiert oder steuert, ist es nicht nötig z. B. eine elektronische Schutzmaßnahme freizuschalten, wie z. B. eine Firewall, welche das Automatisierungsgerät vor unbefugtem Zugriff schützt. Zudem ist z. B. eine Authentifizierung und/oder Autorisierung "von außen" zugreifender Anwender, Anwendungssoftware im Server, eines Software- oder Hardware-"Werkzeugs" nicht notwendig, wodurch sich u, a. ein Bedienkomfort des Automatisierungssystems erhöht.In the present invention, since the automation device comprises the program which sets up a communication connection to the server associated with the first database or initiates or controls the setup, it is not necessary, for example B. unlock an electronic protective measure, such. B. a firewall, which protects the automation device against unauthorized access. In addition, z. As an authentication and / or authorization "outside" accessing users, application software in the server, a software or hardware "tool" not necessary, which u, a. increased ease of use of the automation system.
Da zudem eine einfache Erweiterung der ersten Datenbasis, z. B. um weitere Speicherkomponenten, einfach und preiswert möglich ist, kann eine große Zahl von Programmcodeobjekten an einer zentralen Stelle vorgehalten werden, was eine weitere Vereinfachung und eine Kostenreduzierung mit sich bringt.In addition, since a simple extension of the first database, z. B. to further memory components, simple and inexpensive, a large number of program code objects can be kept in a central location, which brings a further simplification and cost reduction.
Nachfolgend wird ein Ausführungsbeispiel der Erfindung anhand der Zeichnung näher erläutert. Einander entsprechende Gegenstände oder Elemente sind in allen Figuren mit den gleichen Bezugszeichen versehen.An embodiment of the invention will be explained in more detail with reference to the drawing. Corresponding objects or elements are provided in all figures with the same reference numerals.
Das oder jedes Ausführungsbeispiel ist nicht als Einschränkung der Erfindung zu verstehen. Vielmehr sind im Rahmen der vorliegenden Offenbarung zahlreiche Abänderungen und Modifikationen möglich, insbesondere solche Varianten und Kombinationen, die zum Beispiel durch Kombination oder Abwandlung von einzelnen in Verbindung mit den im allgemeinen oder speziellen Beschreibungsteil beschriebenen sowie in den Ansprüchen und/oder der Zeichnung enthaltenen Merkmalen bzw. Elementen oder Verfahrensschritten für den Fachmann im Hinblick auf die Lösung der Aufgabe entnehmbar sind und durch kombinierbare Merkmale zu einem neuen Gegenstand oder zu neuen Verfahrensschritten bzw. Verfahrensschrittfolgen führen.The or each embodiment is not to be understood as limiting the invention. Rather, numerous modifications and variations are possible within the scope of the present disclosure, in particular those variants and combinations, for example, by combination or modification of individual features described in the general or specific description part as well as in the claims and / or the drawing Elements or method steps for the expert with regard to the solution of the problem can be removed and by combinable features lead to a new object or to new process steps or process steps.
Darin zeigen
- FIG 1
- eine schematische Darstellung eines erfindungsgemäßen Automatisierungssystems mit einem automatisch modifizierbaren Programm,
- FIG 2
- eine schematische Darstellung eines erfindungsgemäßen Verfahrens zur automatischen Modifikation eines Programms eines Automatisierungssystems und
- FIG 3
- eine schematische Darstellung eines Kommunikationsnetzes zusammen mit dem Verfahren wie in
FIG 2 dargestellt, mit Auswahl, Übertragung und Wirksamschaltung eines Programmcodeobjekts.
- FIG. 1
- a schematic representation of an automation system according to the invention with an automatically modifiable program,
- FIG. 2
- a schematic representation of a method according to the invention for the automatic modification of a program of an automation system and
- FIG. 3
- a schematic representation of a communication network together with the method as in
FIG. 2 represented with selection, transmission and activation of a program code object.
Identifikationsmittel 20, Auswahlmittel 30 und/oder Integrationsmittel 34 können als Software und/oder als Hardware ausgeführt sein und z. B. ein integraler Bestandteil des Automatisierungssystems 10 sein, hier beispielsweise insbesondere dem Programm 12 zugeordnete Bestandteile, wie z. B. Unterprogramme, Programmkomponenten und dergleichen.Identification means 20, selection means 30 and / or integration means 34 may be software and / or hardware be executed and z. B. be an integral part of the
Damit lässt sich die Erfindung kurz wie folgt darstellen: Angegeben wird ein Verfahren zur automatischen Modifikation eines Programms 12 eines Automatisierungssystems 10, wobei mittels eines dem Automatisierungssystem 10 zugeordneten Identifikationsmittels 20 ein auf eine Programmkomponente 16a, 16b des Programms 12 bezogenes erstes Datum 18ä, 18b ermittelt wird, wobei mittels eines Auswahlmittels 30 auf Basis des ersten Datums 18a, 18b ein in zumindest einer Datenbasis 26 hinterlegtes oder hinterlegbares Programmcodeobjekt 28a, 28b, 28c ausgewählt wird und wobei das Programm 12 mittels des Programmcodeobjekts 28a, 28b, 28c zumindest teilweise modifiziert wird, indem das Programmcodeobjekt 28a, 28b, 28c in das Programm 12 integriert wird, sowie ein Automatisierungssystem 10 mit einem insbesondere zumindest Firmwarekomponenten 14a, 14b umfassenden, automatisch nach dem Verfahren modifizierbaren Programm 12, mit einem zugeordneten Identifikationsmittel 20 zur Ermittlung eines auf eine Programmkomponente 16a, 16b, insbesondere eine Firmwarekomponente 14a, 14b, bezogenen ersten Datums 18a, 18b, mit einem Auswahlmittel 30 zur Auswahl eines in zumindest einer Datenbasis 26 hinterlegten oder hinterlegbaren Programmcodeobjekts 28a, 28b, 28c auf Basis des ersten Datums 18a, 18b und einem Integrationsmittel 34 zur Integration des Programmcodeobjekts 28a, 28b, 28c, insbesondere als Firmwarekomponente 14a, 14b, in das Programm 12 und schließlich ein Computerprogramm mit durch einen Computer ausführbaren Programmcodeanweisungen zur Implementierung eines solchen Verfahrens und ein Computerprogrammprodukt, insbesondere Speichermedium, mit einem solchen Computerprogramm.The invention is described briefly as follows: A method for automatic modification of a program 12 of an automation system 10 is specified, wherein a first data item 18a, 18b determined by means of an identification means 20 assigned to the automation system 10 is determined on a program component 16a, 16b of the program 12 in which a program code object 28a, 28b, 28c deposited in at least one database 26 is selected by means of a selection means 30 on the basis of the first date 18a, 18b, and wherein the program 12 is at least partially modified by means of the program code object 28a, 28b, 28c, in that the program code object 28a, 28b, 28c is integrated into the program 12, as well as an automation system 10 comprising in particular at least firmware components 14a, 14b, automatically after the Method modifiable program 12, with an associated identification means 20 for determining a program component 16a, 16b, in particular a firmware component 14a, 14b, related first date 18a, 18b, with a selection means 30 for selecting a stored in at least one database 26 or deposited program code object 28a, 28b, 28c on the basis of the first date 18a, 18b and an integration means 34 for integration of the program code object 28a, 28b, 28c, in particular as a firmware component 14a, 14b, in the program 12 and finally a computer program with computer executable program code instructions for implementation of such a method and a computer program product, in particular storage medium, with such a computer program.
Claims (13)
wobei mittels eines dem Automatisierungssystem (10) zugeordneten Identifikationsmittels (20) ein auf eine Programmkomponente (16a, 16b) des Programms (12) bezogenes erstes Datum (18a, 18b) ermittelt wird,
wobei mittels eines Auswahlmittels (30) auf Basis des ersten Datums (18a, 18b) ein in zumindest einer Datenbasis (26) hinterlegtes oder hinterlegbares Programmcodeobjekt (28a, 28b, 28c) ausgewählt wird und
wobei das Programm (12) mittels des Programmcodeobjekts (28a, 28b, 28c) zumindest teilweise modifiziert wird, indem das Programmcodeobjekt (28a, 28b, 28c) in das Programm (12) integriert wird.Method for automatically modifying a program (12) of an automation system (10),
wherein a first datum (18a, 18b) related to a program component (16a, 16b) of the program (12) is determined by means of an identification means (20) associated with the automation system (10),
wherein by means of a selection means (30) on the basis of the first date (18a, 18b) a in at least one database (26) deposited or storable program code object (28a, 28b, 28c) is selected, and
wherein the program (12) is at least partially modified by the program code object (28a, 28b, 28c) by integrating the program code object (28a, 28b, 28c) into the program (12).
wobei mittels eines dem Automatisierungssystem (10) zugeordneten Identifikationsmittels (20) ein auf eine Firmwarekomponente (14a, 14b) als Programmkomponente (16a, 16b) bezogenes erstes Datum (18a, 18b) ermittelt wird und
wobei das Programm (12) mittels des Programmcodeobjekts (28a, 28b, 28c) zumindest teilweise modifiziert wird, indem das Programmcodeobjekt (28a, 28b, 28c) als Firmwarekomponente (14a, 14b) in das Programm (12) integriert wird.Method according to claim 1, wherein the program comprises at least firmware components (14a, 14b)
wherein a first datum (18a, 18b) related to a firmware component (14a, 14b) as program component (16a, 16b) is determined by means of an identification means (20) associated with the automation system (10), and
wherein the program (12) is at least partially modified by the program code object (28a, 28b, 28c) by integrating the program code object (28a, 28b, 28c) as a firmware component (14a, 14b) into the program (12).
wobei die Datenbasis (26) einem entfernt vom Automatisierungssystem (10) angeordneten Server (22) zugeordnet ist.Method according to claim 1 or 2,
wherein the database (26) is associated with a remote from the automation system (10) server (22).
wobei das Auswahlmittel (30) und/oder das Identifikationsmittel (20) Programmkomponenten (16a, 16b) des Programms (12) sind bzw. ist.Method according to one of the preceding claims,
wherein the selection means (30) and / or the identification means (20) are program components (16a, 16b) of the program (12).
wobei zumindest ein auf die Programmkomponente (16a, 16b) des Programms (12) bezogenes zweites Datum (36) und zumindest ein auf das ausgewählte Programmcodeobjekt (28a, 28b, 28c) bezogenes drittes Datum (38) verglichen werden und das Programm (12) in Abhängigkeit von einem Ergebnis des Vergleichs zumindest teilweise modifiziert wird.Method according to one of the preceding claims,
wherein at least one second datum (36) related to the program component (16a, 16b) of the program (12) and at least one third datum (38) related to the selected program code object (28a, 28b, 28c) are compared and the program (12) is at least partially modified depending on a result of the comparison.
wobei das zweite Datum (36) aus dem Programm (12) und/oder das dritte Datum (38) aus dem Programmcodeobjekt (28a, 28b, 28c) entnehmbar oder ermittelbar sind bzw. ist.Method according to claim 5,
wherein the second date (36) from the program (12) and / or the third date (38) from the program code object (28a, 28b, 28c) is or can be determined.
wobei das zweite und/oder das dritte Datum (36, 38) eine Versionsnummer, ein Erstellungsdatum, ein Änderungsdatum und/oder eine Referenznummer sind bzw. ist.Method according to claim 5 or 6,
wherein the second and / or the third date (36, 38) is a version number, a creation date, a modification date and / or a reference number.
wobei das erste Datum (18a, 18b) eine Versionsnummer, ein Erstellungsdatum, ein Änderungsdatum, eine Referenznummer und/oder eine Hardwareidentifikation sind bzw. ist.Method according to one of the preceding claims,
wherein the first date (18a, 18b) is a version number, a creation date, a modification date, a reference number, and / or a hardware identification.
wobei mittels eines Initialisierungsmittels (34a) die automatische Änderung im Zusammenhang mit einer Initialisierung des Programms (12), einem Programmabschluss, einer Programmunterbrechung und/oder einer Programmpause aufgerufen wird und/oder wobei das Initialisierungsmittel (34a) prüft, ob die automatische Modifikation durchgeführt werden kann.Method according to one of the preceding claims,
wherein by means of an initialization means (34a) the automatic change in connection with an initialization of the program (12), a program termination, a program interruption and / or a program pause is called and / or wherein the initialization means (34a) checks whether the automatic modification is performed can.
wobei das Programm (12) ausschließlich in einem nichtflüchtigen Speicher hinterlegte oder hinterlegbare Firmwarekomponenten (14a, 14b) umfasst.Method according to one of the preceding claims,
wherein the program (12) exclusively comprises firmware components (14a, 14b) stored or storable in a non-volatile memory.
mit einem dem Automatisierungssystem (10) zugeordneten Identifikationsmittel (20) zur Ermittlung eines auf eine Programmkomponente (12), insbesondere eine Firmwarekomponente (14a, 14b), bezogenen ersten Datums (18a, 18b),
mit einem Auswahlmittel (30) zur Auswahl eines in zumindest einer Datenbasis (26) hinterlegten oder hinterlegbaren Programmcodeobjekts (28a, 28b, 28c) auf Basis des ersten Datums (18a, 18b), und einem Integrationsmittel (34) zur Integration des Programmcodeobjekts (28a, 28b, 28c) in das Programm (12), insbesondere als Firmwarekomponente (14a, 14b), zur Modifikation des Programms.Automation system (10) comprising in particular a program (12) which can be modified automatically, in particular at least firmware components (14a, 14b), according to one of claims 1 to 10,
with an identification means (20) assigned to the automation system (10) for determining a first date (18a, 18b) relating to a program component (12), in particular a firmware component (14a, 14b),
with selection means (30) for selecting a program code object (28a, 28b, 28c) stored in at least one database (26) on the basis of the first date (18a, 18b), and integration means (34) for integrating the program code object (28a , 28b, 28c) in the program (12), in particular as a firmware component (14a, 14b), for modifying the program.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE502007006736T DE502007006736D1 (en) | 2007-10-16 | 2007-10-16 | Method for automatically modifying a program |
EP07020255A EP2051150B1 (en) | 2007-10-16 | 2007-10-16 | Method for automatic modification of a program |
US12/287,483 US8245215B2 (en) | 2007-10-16 | 2008-10-09 | Method for automatically modifying a program and automation system |
JP2008265393A JP2009099150A (en) | 2007-10-16 | 2008-10-14 | Automatic system and automatic modification method for program |
CNA2008101679279A CN101414160A (en) | 2007-10-16 | 2008-10-16 | Method for automatic modification of a program and automation system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP07020255A EP2051150B1 (en) | 2007-10-16 | 2007-10-16 | Method for automatic modification of a program |
Publications (2)
Publication Number | Publication Date |
---|---|
EP2051150A1 true EP2051150A1 (en) | 2009-04-22 |
EP2051150B1 EP2051150B1 (en) | 2011-03-16 |
Family
ID=40334221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP07020255A Active EP2051150B1 (en) | 2007-10-16 | 2007-10-16 | Method for automatic modification of a program |
Country Status (5)
Country | Link |
---|---|
US (1) | US8245215B2 (en) |
EP (1) | EP2051150B1 (en) |
JP (1) | JP2009099150A (en) |
CN (1) | CN101414160A (en) |
DE (1) | DE502007006736D1 (en) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9129231B2 (en) | 2009-04-24 | 2015-09-08 | Rockwell Automation Technologies, Inc. | Real time energy consumption analysis and reporting |
US10013666B2 (en) | 2009-04-24 | 2018-07-03 | Rockwell Automation Technologies, Inc. | Product lifecycle sustainability score tracking and indicia |
US9406036B2 (en) | 2009-04-24 | 2016-08-02 | Rockwell Automation Technologies, Inc. | Discrete energy assignments for manufacturing specifications |
US8892540B2 (en) | 2009-04-24 | 2014-11-18 | Rockwell Automation Technologies, Inc. | Dynamic sustainability search engine |
US8321187B2 (en) | 2009-04-24 | 2012-11-27 | Rockwell Automation Technologies, Inc. | Process simulation utilizing component-specific consumption data |
US10223167B2 (en) * | 2009-04-24 | 2019-03-05 | Rockwell Automation Technologies, Inc. | Discrete resource management |
US20100312922A1 (en) * | 2009-06-09 | 2010-12-09 | Quantum Corporation | System and method for identifying physical location of ethernet-connected media drives in a media library assembly |
US8589302B2 (en) * | 2009-11-30 | 2013-11-19 | Intel Corporation | Automated modular and secure boot firmware update |
US9274518B2 (en) | 2010-01-08 | 2016-03-01 | Rockwell Automation Technologies, Inc. | Industrial control energy object |
US8738190B2 (en) * | 2010-01-08 | 2014-05-27 | Rockwell Automation Technologies, Inc. | Industrial control energy object |
US10733540B2 (en) | 2010-05-26 | 2020-08-04 | Automation Anywhere, Inc. | Artificial intelligence and knowledge based automation enhancement |
US10129213B2 (en) * | 2010-05-26 | 2018-11-13 | Automation Anywhere, Inc. | System and method for compliance based automation |
US10430180B2 (en) | 2010-05-26 | 2019-10-01 | Automation Anywhere, Inc. | System and method for resilient automation upgrade |
US8554797B2 (en) * | 2010-12-17 | 2013-10-08 | Sap Ag | System and method for modular business applications |
US20130116804A1 (en) * | 2011-11-09 | 2013-05-09 | Johannes Extra | Method for automatically transferring a configuration of an automation device during replacement of an automation device |
US8767348B1 (en) * | 2013-03-07 | 2014-07-01 | Tdk Corporation | Thermally-assisted magnetic recording head including first and second cladding sections having different characteristics |
US9842372B2 (en) | 2013-03-15 | 2017-12-12 | Rockwell Automation Technologies, Inc. | Systems and methods for controlling assets using energy information determined with an organizational model of an industrial automation system |
US9501804B2 (en) | 2013-03-15 | 2016-11-22 | Rockwell Automation Technologies, Inc. | Multi-core processor for performing energy-related operations in an industrial automation system using energy information determined with an organizational model of the industrial automation system |
US9423848B2 (en) | 2013-03-15 | 2016-08-23 | Rockwell Automation Technologies, Inc. | Extensible energy management architecture |
US9911163B2 (en) | 2013-03-15 | 2018-03-06 | Rockwell Automation Technologies, Inc. | Systems and methods for determining energy information using an organizational model of an industrial automation system |
US9798343B2 (en) | 2014-11-25 | 2017-10-24 | Rockwell Automation Technologies, Inc. | Quantifying operating strategy energy usage |
US9798306B2 (en) | 2014-11-25 | 2017-10-24 | Rockwell Automation Technologies, Inc. | Energy usage auto-baseline for diagnostics and prognostics |
US9785126B2 (en) | 2014-11-25 | 2017-10-10 | Rockwell Automation Technologies, Inc. | Inferred energy usage and multiple levels of energy usage |
US10467202B2 (en) | 2017-07-21 | 2019-11-05 | Bank Of America Corporation | System for multi-release and parallel development of a database |
US11775814B1 (en) | 2019-07-31 | 2023-10-03 | Automation Anywhere, Inc. | Automated detection of controls in computer applications with region based detectors |
US11693923B1 (en) | 2018-05-13 | 2023-07-04 | Automation Anywhere, Inc. | Robotic process automation system with hybrid workflows |
US11556362B2 (en) | 2019-03-31 | 2023-01-17 | Automation Anywhere, Inc. | Robotic process automation system with device user impersonation |
US11243803B2 (en) | 2019-04-30 | 2022-02-08 | Automation Anywhere, Inc. | Platform agnostic robotic process automation |
US11113095B2 (en) | 2019-04-30 | 2021-09-07 | Automation Anywhere, Inc. | Robotic process automation system with separate platform, bot and command class loaders |
US11614731B2 (en) | 2019-04-30 | 2023-03-28 | Automation Anywhere, Inc. | Zero footprint robotic process automation system |
US11301224B1 (en) | 2019-04-30 | 2022-04-12 | Automation Anywhere, Inc. | Robotic process automation system with a command action logic independent execution environment |
US11481304B1 (en) | 2019-12-22 | 2022-10-25 | Automation Anywhere, Inc. | User action generated process discovery |
US10911546B1 (en) | 2019-12-30 | 2021-02-02 | Automation Anywhere, Inc. | Robotic process automation with automated user login for multiple terminal server hosted user sessions |
US11348353B2 (en) | 2020-01-31 | 2022-05-31 | Automation Anywhere, Inc. | Document spatial layout feature extraction to simplify template classification |
US11514154B1 (en) | 2020-01-31 | 2022-11-29 | Automation Anywhere, Inc. | Automation of workloads involving applications employing multi-factor authentication |
US11086614B1 (en) | 2020-01-31 | 2021-08-10 | Automation Anywhere, Inc. | Robotic process automation system with distributed download |
US11182178B1 (en) | 2020-02-21 | 2021-11-23 | Automation Anywhere, Inc. | Detection of user interface controls via invariance guided sub-control learning |
US11449028B2 (en) | 2020-09-03 | 2022-09-20 | Rockwell Automation Technologies, Inc. | Industrial automation asset and control project analysis |
US11294360B2 (en) | 2020-09-09 | 2022-04-05 | Rockwell Automation Technologies, Inc. | Industrial automation project code development guidance and analysis |
US11561517B2 (en) | 2020-09-09 | 2023-01-24 | Rockwell Automation Technologies, Inc. | Industrial development hub vault and design tools |
US11415969B2 (en) | 2020-09-21 | 2022-08-16 | Rockwell Automation Technologies, Inc. | Connectivity to an industrial information hub |
US11796983B2 (en) | 2020-09-25 | 2023-10-24 | Rockwell Automation Technologies, Inc. | Data modeling and asset management using an industrial information hub |
US11734061B2 (en) | 2020-11-12 | 2023-08-22 | Automation Anywhere, Inc. | Automated software robot creation for robotic process automation |
US11782734B2 (en) | 2020-12-22 | 2023-10-10 | Automation Anywhere, Inc. | Method and system for text extraction from an application window for robotic process automation |
US11968182B2 (en) | 2021-07-29 | 2024-04-23 | Automation Anywhere, Inc. | Authentication of software robots with gateway proxy for access to cloud-based services |
US11820020B2 (en) | 2021-07-29 | 2023-11-21 | Automation Anywhere, Inc. | Robotic process automation supporting hierarchical representation of recordings |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000017749A1 (en) * | 1998-09-24 | 2000-03-30 | Ericsson Inc. | Remote firmware upgrade |
US20020067504A1 (en) * | 2000-12-06 | 2002-06-06 | Xerox Corporation | Method and apparatus for automatic upgrade of a product's printer driver |
US20030041127A1 (en) * | 2001-08-27 | 2003-02-27 | Turnbull Paul F. | System and methods for the automatic discovery, notification and installation of firmware upgrades |
US20040015952A1 (en) * | 2001-04-18 | 2004-01-22 | Domosys Corporation | Method of remotely upgrading firmware in field-deployed devices |
DE10234304A1 (en) * | 2002-07-26 | 2004-02-19 | Endress + Hauser Gmbh + Co. Kg | Process for updating device descriptions for field devices in process automation technology |
US6930785B1 (en) * | 2000-03-17 | 2005-08-16 | Hewlett-Packard Development Company, L.P. | Automatic remote firmware upgrade |
WO2006063616A1 (en) | 2004-12-14 | 2006-06-22 | Endress+Hauser Process Solutions Ag | Method for updating a device driver of an operator's station for a field device used in process automation technology |
DE102006005365A1 (en) * | 2006-02-07 | 2007-08-16 | Sick Ag | Updating method for firmware of field devices e.g. measuring devices, involves connecting field devices to control unit by common data bus, where firmware is transmitted between all connected field devices by connecting one field device |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5485601A (en) * | 1992-05-14 | 1996-01-16 | Ching; Hugh | Completely automated and self-generating software system |
US5956513A (en) * | 1997-08-07 | 1999-09-21 | Mci Communications Corporation | System and method for automated software build control |
US6725260B1 (en) * | 1998-09-11 | 2004-04-20 | L.V. Partners, L.P. | Method and apparatus for configuring configurable equipment with configuration information received from a remote location |
US6601233B1 (en) * | 1999-07-30 | 2003-07-29 | Accenture Llp | Business components framework |
US6493871B1 (en) * | 1999-09-16 | 2002-12-10 | Microsoft Corporation | Method and system for downloading updates for software installation |
US6826581B2 (en) * | 2000-12-06 | 2004-11-30 | Intel Corporation | Upgrading a device over a network by downloading results of command execution from script file |
WO2003009136A1 (en) * | 2001-07-16 | 2003-01-30 | Yuqing Ren | Embedded software update system |
JP2003108380A (en) * | 2001-09-27 | 2003-04-11 | Murata Mach Ltd | Terminal device and program thereof |
US7631299B2 (en) * | 2002-01-24 | 2009-12-08 | Computer Sciences Corporation | System for modifying software using reusable software components |
US7673297B1 (en) * | 2003-09-03 | 2010-03-02 | The Directv Group, Inc. | Automatic software update detection and flexible installer for set-top boxes |
US20060095903A1 (en) * | 2004-09-25 | 2006-05-04 | Cheam Chee P | Upgrading a software component |
US20070016900A1 (en) * | 2005-07-12 | 2007-01-18 | Caterpillar Inc. | Service tool with separately updateable data file |
US7818736B2 (en) * | 2005-09-14 | 2010-10-19 | International Business Machines Corporation | Dynamic update mechanisms in operating systems |
US8930684B2 (en) * | 2005-10-26 | 2015-01-06 | Hewlett-Packard Development Company, L.P. | Adding a runtime service for firmware-based images for a device not known to an operating system |
US8561048B2 (en) * | 2005-12-29 | 2013-10-15 | Sap Ag | Late and dynamic binding of pattern components |
US7661025B2 (en) * | 2006-01-19 | 2010-02-09 | Cisco Technoloy, Inc. | Method of ensuring consistent configuration between processors running different versions of software |
US20110023014A1 (en) * | 2009-07-24 | 2011-01-27 | Ensequence, Inc. | Method and apparatus for modifying an executable application using in-memory object representation |
-
2007
- 2007-10-16 EP EP07020255A patent/EP2051150B1/en active Active
- 2007-10-16 DE DE502007006736T patent/DE502007006736D1/en active Active
-
2008
- 2008-10-09 US US12/287,483 patent/US8245215B2/en active Active
- 2008-10-14 JP JP2008265393A patent/JP2009099150A/en active Pending
- 2008-10-16 CN CNA2008101679279A patent/CN101414160A/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000017749A1 (en) * | 1998-09-24 | 2000-03-30 | Ericsson Inc. | Remote firmware upgrade |
US6930785B1 (en) * | 2000-03-17 | 2005-08-16 | Hewlett-Packard Development Company, L.P. | Automatic remote firmware upgrade |
US20020067504A1 (en) * | 2000-12-06 | 2002-06-06 | Xerox Corporation | Method and apparatus for automatic upgrade of a product's printer driver |
US20040015952A1 (en) * | 2001-04-18 | 2004-01-22 | Domosys Corporation | Method of remotely upgrading firmware in field-deployed devices |
US20030041127A1 (en) * | 2001-08-27 | 2003-02-27 | Turnbull Paul F. | System and methods for the automatic discovery, notification and installation of firmware upgrades |
DE10234304A1 (en) * | 2002-07-26 | 2004-02-19 | Endress + Hauser Gmbh + Co. Kg | Process for updating device descriptions for field devices in process automation technology |
WO2006063616A1 (en) | 2004-12-14 | 2006-06-22 | Endress+Hauser Process Solutions Ag | Method for updating a device driver of an operator's station for a field device used in process automation technology |
DE102006005365A1 (en) * | 2006-02-07 | 2007-08-16 | Sick Ag | Updating method for firmware of field devices e.g. measuring devices, involves connecting field devices to control unit by common data bus, where firmware is transmitted between all connected field devices by connecting one field device |
Also Published As
Publication number | Publication date |
---|---|
EP2051150B1 (en) | 2011-03-16 |
DE502007006736D1 (en) | 2011-04-28 |
US20090100159A1 (en) | 2009-04-16 |
JP2009099150A (en) | 2009-05-07 |
US8245215B2 (en) | 2012-08-14 |
CN101414160A (en) | 2009-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2051150B1 (en) | Method for automatic modification of a program | |
EP1430369B1 (en) | Dynamic access to automation resources | |
EP1714197B1 (en) | Driver for field devices used in process automation technology | |
EP3692424B1 (en) | Method for processing a software project | |
DE102007026602A1 (en) | Device and method for checking the current software installation of field devices of a distributed system, in particular an automation system | |
EP2098928A1 (en) | Method and device for programming and/or configuring a safety controller | |
EP3021179B1 (en) | Method for connecting an embedded device to a control unit | |
WO2003058361A2 (en) | Method for maintaining a production installation | |
EP3420426B1 (en) | Device and method for adapting a numerical control system to a machine to be controlled | |
EP1643679B1 (en) | Configuration of modules in automation systems | |
EP3623884A1 (en) | Production or machine tool and method of operating a production or machine tool | |
EP3732608B1 (en) | Method for the computer-aided parameterisation of a technical system | |
EP2367084A1 (en) | Method for the configuration of a control device of an industrial automation device and components for an industrial automation device | |
DE102016123599A1 (en) | Robot controller with function for communication with a programmable logic controller and communication system | |
EP2133763A1 (en) | Method for operating an automation system | |
DE102008023873A1 (en) | Drive system operating method, involves using buffer for exchanging data between drive component and drive regulation unit, initializing buffer by drive regulation unit, and temporizing initialization of buffer by control unit | |
WO2008077358A1 (en) | Network of devices with an automation device and an operating device, and method for operating such a network of devices | |
DE102009005902A1 (en) | Method for operating electrical device e.g. programming device, of communication system for processing electronic data, involves assigning data region to configuration data set through interface for processing by electrical device | |
EP3552063B1 (en) | Method for automatically configuring functional units of an automation system | |
EP2965157B1 (en) | Method and apparatus for operating a process and/or production installation | |
EP1524566B1 (en) | Control method for production machine | |
EP3285162A1 (en) | Method for projecting a project and arrangement for carrying out said method | |
EP3774268B1 (en) | Method for providing an operating system of a machine controller | |
EP3724729B1 (en) | Method for operating a machine tool by adapting a precompiled data model | |
EP1947540B1 (en) | Method for backing up and restoring a state in an automation device |
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 HU IE IS IT LI LT LU LV MC MT NL PL PT RO SE SI SK TR |
|
AX | Request for extension of the european patent |
Extension state: AL BA HR MK RS |
|
17P | Request for examination filed |
Effective date: 20091005 |
|
17Q | First examination report despatched |
Effective date: 20091029 |
|
AKX | Designation fees paid |
Designated state(s): DE |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
RTI1 | Title (correction) |
Free format text: METHOD FOR AUTOMATIC MODIFICATION OF A PROGRAM |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): DE |
|
REF | Corresponds to: |
Ref document number: 502007006736 Country of ref document: DE Date of ref document: 20110428 Kind code of ref document: P |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R096 Ref document number: 502007006736 Country of ref document: DE Effective date: 20110428 |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
26N | No opposition filed |
Effective date: 20111219 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R097 Ref document number: 502007006736 Country of ref document: DE Effective date: 20111219 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20230808 Year of fee payment: 17 |