IP Library › Granted Patent US 8,515,564
Granted Patent B2
US 8,515,564 · App. 13/043,233 · Granted Aug 20, 2013

Method for operating an automation system

Inventor: Markus Graf (Rülzheim, DE)
Assignee: Siemens Aktiengesellschaft
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,515,564
App. No.
13/043,233
Granted
Aug 20, 2013
Kind
B2
Abstract

A method for operating an automation system which executes, as an automation solution, a control program having a plurality of software modules, where the method comprises replacing at least one software module comprising an old software module at the runtime of the control program with a new software module wherein the new software module is loaded into a memory of the automation system, an old data area associated with the old software module is compared with a new data area associated with the new software module, program code instructions for converting data for or from the old data area into data for or from the new data area is generated, and a program code instruction for invoking the old software module is replaced with program code instructions for invoking the generated program code instructions for data conversion and for invoking the new software module.

Claims (36)

1. A method for operating an automation system having a memory in which a control program is stored as an automation solution and executed by a processing unit incorporated in the automation system, said control program comprising a plurality of software modules invoked during execution of the control program by a runtime group module incorporated in the control program, wherein to replace at least one software module comprising an old software module with a new software module at runtime of the control program, the method comprising:

comparing an old data area associated with the old software module with a new data area associated with the new software module;

generating program code instructions for one of converting data for the old data area and converting data from the old data area into one of data for the old data area and data from the new data area;

loading the new software module and the new data area; and

replacing a program code instruction for invoking the old software module in the runtime group module with program code instructions for invoking the generated program code instructions for data conversion and for invoking the new software module to replace at least one software module comprising the old software module with the new software module at runtime of the control program.

2. The method as claimed in claim 1 , further comprising:

searching the control program for program code instructions related to the old data area, and

modifying program code instructions located in the search so that they relate to the new data area.

3. The method as claimed in claim 2 , further comprising:

assigning a reference to the new software module which previously designated the old software module.

4. The method as claimed in claim 3 , further comprising:

re-removing the program code instructions which were initially replaced in the runtime group module; and

inserting a program code instruction for invoking the new software module under a previous reference of the old software module in the runtime group module in place of the initially replaced program code instructions.

5. The method as claimed in claim 4 , further comprising:

releasing memory areas occupied by the old software module and by the old data area in the memory.

6. The method as claimed in claim 2 , further comprising:

copying the located program code instructions related to the old data area and which are not automatically changeable into program code instructions relating to the new data area into a task list.

7. The method as claimed in claim 6 , wherein the task list is available for manual processing and modification of the located program code instructions relating to the old data area, and the new software module cannot be invoked in place of the old software module until the task list has been emptied.

8. The method as claimed in claim 1 , wherein when a plurality of new software modules are substituted for a corresponding plurality of old software modules, each new software module from the plurality of new software modules is substituted in succession for a corresponding old software module, and wherein a replacement sequence within the plurality of new software modules is chosen in accordance with a respective call hierarchy for invocation of a respective old or new software module.

9. An automation system, comprising:

a memory; and

a processing unit configured to execute a control program which is loadable into the memory, the processor being configured to replace at least one software module comprising the old software module at runtime of the control program by:

comparing an old data area associated with the old software module with a new data area associated with the new software module;

generating program code instructions for one of converting data for the old data area and converting data from the old data area into one of data for the old data area and data from the new data area;

loading the new software module and the new data area; and

replacing a program code instruction for invoking the old software module in the runtime group module with program code instructions for invoking the generated program code instructions for data conversion and for invoking the new software module.

10. A process in which a computer executes instructions set forth in a computer program executing on a processor which, when used on the computer, causes a new software module to replace at least one software module comprising an old software module at runtime of a control program with a new software module, the computer program comprising:

program code for comparing an old data area associated with the old software module with a new data area associated with the new software module;

program code for generating program code instructions for one of converting data for the old data area and converting data from the old data area into one of data for the old data area and data from the new data area;

program code for loading the new software module and the new data area; and

program code for replacing a program code instruction for invoking the old software module in the runtime group module with program code instructions for invoking the generated program code instructions for data conversion and for invoking the new software module to replace at least one software module comprising the old software module at the runtime of the control program with the new software module to replace at least one software module comprising the old software module at the runtime of the control module with the new software module.

11. A non-transitory computer-readable storage medium encoded with a computer program that causes a new software module to replace at least one software module comprising an old software module at runtime of a control program with a new software module, wherein to replace at least one software module comprising the old software module at the runtime of the control program with a new software module, the computer program comprising:

program code for comparing an old data area associated with the old software module with a new data area associated with the new software module;

program code for generating program code instructions for one of converting data for the old data area and converting data from the old data area into one of data for the old data area and data from the new data area;

program code for loading the new software module and the new data area; and

program code for replacing a program code instruction for invoking the old software module in the runtime group module with program code instructions for invoking the generated program code instructions for data conversion and for invoking the new software module to replace at least one software module comprising the old software module at the runtime of the control program with the new software module.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2011
From: GRAF, MARKUS
To: SIEMENS AKTIENGESELLSCHAFT
Reel/Frame 026317/0058 →
Priority Claims (1)
EP 10155875 · Mar 9, 2010 · regional
Continuity (1)
Related Publication 20110224809A1 · Sep 15, 2011