Process and working machine with virtual machine management
A virtual environment and management system decouple application programs from hardware changes, enabling flexible and reusable machine configurations with reduced effort and enhanced compatibility.
Patent Information
- Application Number
- DE102010053485
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2010-12-04
- Publication Date
- 2026-01-15
- Estimated Expiration
- 2030-12-04
AI Technical Summary
Current machine configurations require cumbersome and inflexible modifications due to hard-coded connections between application programs and hardware, limiting compatibility and reusability.
A method involving a virtual environment independent of the machine is used to create and modify configurations, with separate virtual machines representing machine parts, managed by a virtual machine management system, allowing transparent hardware mapping and decoupling of application programs from hardware changes.
Enables flexible and reusable machine configurations with reduced modification effort, maintaining compatibility across different hardware configurations, and allowing independent operation of multiple virtual machines on a single hardware platform.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[0001] The present invention relates to a method for operating a machine, as well as to a machine itself. The present invention can be used in particular for packaging machines, printing presses, textile processing machines, textile manufacturing machines, and automation systems. Furthermore, applications are also conceivable for systems with electric, hydraulic, or pneumatic drives.
[0002] Such machines are typically delivered with a specific configuration, such as various machine units. However, it is often necessary to modify this machine configuration later, for example, by adding further components or updating the data processing programs. Such expansions or configuration changes are relatively cumbersome with current technology. The changes usually have to be made separately for each component. Typically, the individual machines are delivered with a program specifically tailored to this purpose. This means that, for example, compatibility with other machines is limited, and the different programs make configuration changes relatively difficult.
[0003] The present invention is therefore based on the objective of creating a generally valid project or program for the machine, wherein this program is also executable on several differently configured or equipped machines.
[0004] In current technology, there is a hard-coded connection between individual application programs and the underlying hardware. Changing the machine configuration or machine hardware components typically requires a complete rewrite of the application program. This results in a high modification effort and also low reusability and maintainability.
[0005] Document US 6,349,237 B1 (D1) discloses a reconfigurable manufacturing system (RMS) and a method for operating it, in which a virtual environment is used to create or modify machine configurations.
[0006] It would be desirable to have a more flexible connection between the application program and the underlying hardware. Furthermore, it would be advantageous if the application program were not affected by changes in the machine configuration or machine hardware components. These aforementioned problems are solved by the subject matter of the independent claims. Advantageous embodiments and further developments are described in the dependent claims.
[0007] In a method according to the invention for operating a machine, this machine comprises at least one machine unit with drive devices, and this machine unit has at least one control device for controlling the machine unit. Furthermore, this control device has a storage device in which programs required for the operation of the respective machine unit are stored. Interfaces for data exchange are assigned to each machine unit(s).
[0008] According to the invention, for the creation or modification of a machine configuration of the working machine, a virtual environment independent of the working machine is provided, and in this virtual environment a configuration is created and subsequently this configuration created in the virtual environment is transferred to the working machine or the control device.
[0009] The method proposed according to the invention achieves a flexible design of machines through the reuse of virtual machine parts designed as separate virtual machines. In particular, the actual machine hardware is assigned to the individual virtual or generally defined devices of the application program – especially via a defined abstraction layer. This is advantageously done transparently for the separate virtual machine itself.
[0010] The proposed approach makes it possible to create a universally valid project, in particular by programming with virtual devices and independently of the final configuration of the machine.
[0011] In the preferred method, the configuration transfer mentioned above is carried out via a so-called hardware mapping. It is possible that this mapping of the devices, or rather to the physical devices, only takes place during the download or the final project configuration.
[0012] Furthermore, it is also possible for multiple virtual machines to run independently of each other on one piece of hardware.
[0013] In the method according to the invention, the virtual environment is divided into environment parts, wherein these environment parts are characteristic of machine parts of the working machine and are designed as separate virtual machines. If, for example, the working machine has several machine parts that interact in a predetermined way for a specific process, each of these machine parts is assigned an environment part in the virtual environment, so that the complete machine can be represented or simulated in the virtual plane. The management of these separate virtual machines is carried out by a virtual machine management system. Thus, the virtual environment parts correspond to the virtual machines.
[0014] Preferably, the configuration in at least one environment component is created independently of the configuration in at least one other environment component. This allows for separate engineering of the individual machine components and, in particular, provides greater freedom in the creation of the overall projects. Each machine component or environment component preferably has its own ideal and abstracted machine configuration. This machine configuration contains only the components relevant to solving its task. This approach achieves strong cohesion.
[0015] This "local" machine configuration is later mapped to the actual machine configuration. This mapping can be transparent to the respective machine part. For example, in a virtual machine part, the drive addresses might be 1, 2, and 3, while in the actual machine configuration they are 5, 12, and 18. Other bus participants may also be present, but these are preferably hidden from the machine part. This can also be done similarly for the main memory, other peripherals, communication interfaces, PLC input and output images, fixed storage, and the like. This means that, advantageously, the machine part in question only sees its familiar environment.
[0016] In a further advantageous method, the configuration for a specific environmental component is limited to those aspects that are decisive for the machine part for which this environmental component is characteristic. In this way, the corresponding environmental component is individually adapted to the respective corresponding machine part, or the respective environmental components are individually programmed according to their tasks or aspects.
[0017] In another advantageous method, at least two environmental components communicate with each other. This allows virtual machines to communicate with each other via these loosely coupled "channels." A specific machine component is automatically executable if its (more abstract) virtualized machine configuration can be mapped to the concrete machine configuration.
[0018] In this way, the machine components can be transferred to an existing machine configuration without modification. Only the minimum requirements need to be met. However, even without meeting the minimum requirements, it would be conceivable to emulate the missing component using the control platform. A single controller or control unit can also serve as a platform for multiple independent machines and machine components.
[0019] In another advantageous method, a framework program is created that can run on different machine configurations. In yet another advantageous method, a virtual machine management system is provided, which manages the aforementioned environment components. In this approach, virtual projects preferably do not access the hardware directly, but rather the interface managed by the virtual machine management system. Such a virtual project advantageously consists of the user program (e.g., PLC code), data such as tables, recipes, or databases, HMIs (input / output screens for control), bus configurations of the peripherals with actuators and sensors (addresses, structure, function), and the like.
[0020] The aforementioned virtual machine management system can provide one or more virtual machine environments.
[0021] The virtual machine management system primarily manages resources of the working machine, such as its computing time, its memory, its inputs / outputs (I / O), connected devices, buses and interfaces.
[0022] In another advantageous method, a real machine is transferred into a virtual environment. This makes it possible, for example, to model the real machine accordingly in this virtual environment.
[0023] The advantage of this virtual machine management is that it is largely transparent to the virtual project itself. As mentioned, hardware mapping effectively assigns the actual hardware and connected peripherals to the configured hardware in the virtual projects.
[0024] In another advantageous method, the virtual machine management is implemented deterministically and / or in real time. Furthermore, the hardware on which the virtual machine management runs advantageously corresponds in structure to the automation system or the machine being worked. The virtual project also advantageously corresponds in structure to an automation system.
[0025] Furthermore, it is advantageous that virtual projects can be started and stopped independently. The hardware mapping mentioned above is advantageously stored as a separate artifact from the virtual project and can be reassigned, particularly without modifying the virtual project itself.
[0026] Furthermore, it is possible for the virtual machines to be completely inaccessible to each other. Additionally, the virtual machine management system allows a security-relevant virtual project to be completely isolated from other virtual projects. This enables isolated editing. It is also possible to protect a virtual project, for example, by encrypting it, and then decrypt and execute it only after it has been processed by the virtual machine management system using valid keys.
[0027] In another advantageous method, a change to the real resources of the machine configuration, such as adding and / or removing further components or machine parts, does not require a change to a virtual machine part, but is preferably hidden from the virtual machine part by the virtual machine management.
[0028] Hiding or changing this information can be done automatically by the virtual machine management system, or through a configuration change within the virtual machine management system itself. For example, the mapping table can be modified.
[0029] The present invention further relates to a machine with at least one working unit, wherein this working unit has at least one drive device and each of these working units is assigned a control device for controlling the working unit. Furthermore, the control devices each have storage devices in which programs required for the operation of the respective working units are stored, and interfaces for data exchange are assigned to each of the machine units.
[0030] Advantageously, the machine has at least two working units and, more preferably, a plurality of working units. These multiple working units can each be assigned different tasks, for example, in a printing press. Advantageously, at least one working unit, and preferably multiple working units, each have multiple drive devices.
[0031] According to the invention, a virtual environment independent of the machine is available for creating or modifying a machine configuration of the working machine, in which a configuration can be generated. Furthermore, a transfer device is provided which transfers this configuration to the working machine. The virtual environment is divided into environment parts, these environment parts being designed as separate virtual machines, and a virtual machine management system is provided which manages the virtual machines and the resources of the working machine.
[0032] The surrounding components can be separate from one another or programmed and processed independently. It is advantageous to select the machine from a group of machines that includes packaging machines, printing presses, textile manufacturing machines, automation systems, combinations thereof, and the like. Further advantages and embodiments can be seen from the attached drawings:
[0033] It shows: Fig. 1: a schematic representation to illustrate a working machine; Fig. 2: a schematic representation to illustrate the state of the art; Fig. 3: a schematic representation to illustrate virtualization; Fig. 4: a schematic flowchart for virtualization; and Fig. 5: Another illustration to demonstrate virtualization.
[0034] Fig. Figure 1 shows a schematic representation illustrating the present invention. A machine, designated as a whole by 1, comprises two machine units 2. Each of these machine units 2 has a plurality of drive devices 22, which can be, for example, servo drives, hydraulic drives, or pneumatic drives. Reference numerals 26 refer to drive amplifiers, which are connected to the respective control units 4 via real-time buses 24. Reference numeral 16 designates a visualization unit that allows or facilitates the user's operation of the system. For example, characteristic data for the respective configuration can be output via this visualization unit 16.
[0035] Commands can be entered by the user via an input / output device 18. This input / output device 18 can be connected to the control unit 4 via a fieldbus 28. The control units 4 each have uniform interfaces 8 through which configuration changes are possible. For this purpose, a control level 20 is provided, on which, for example, individual program modules can be stored.
[0036] In the event of a configuration change, these program modules can be assigned to the individual interfaces 8 and thus also to the individual control units 4. Similarly, it would also be possible for the corresponding intelligence to reside in the respective drive amplifiers 26 and for the program modules to be loaded into these drive amplifiers 26. The program modules can be made available via Ethernet 27 or the Internet 25. The reference numeral 14 designates an engineering module that allows the individual software modules to be edited.
[0037] Fig. Figure 2 shows a rough schematic representation to illustrate the state of the art. In the prior art, a fixed coupling between the control unit 8 and the respective machine units or drive units 22 is typically provided. A control unit usually contains an application program or application data and operates a machine unit. The drives and the I / O are addressed using their known fixed addressing.
[0038] The application program therefore only works if the exact expected machine configuration is physically present. Bus participants cannot be added, as this would shift addresses. Furthermore, control hardware cannot be replaced with a functionally compatible alternative.
[0039] This means that any expansion or change to the machine configuration requires modification of the application program or application data. This can include, for example, a new translation of the PLC project, an adjustment of the bus configuration, data merging, and an extension of the operator interface. Even if the expansion is functionally independent of a basic function or could interact with it via a defined or manageable interface, the modifications mentioned above are still necessary.
[0040] Existing machines, known from the state of the art, can usually be broken down step by step into individual, decoupled machine parts according to the principle of functional decomposition, such as machines for forming, printing, and packaging. From these individual machine parts, various machine types can then be created, such as machines for forming and printing without packaging, or for forming and packaging without printing. This machine variability cannot currently be efficiently represented by engineering tools. These tools always depict the final configuration of the entire machine project.
[0041] Therefore, if the physical configuration of the machine changes, the project must also be adapted. Depending on the final configuration, the peripherals and bus participants have different addresses. Furthermore, the wide variety of machine configurations leads to unnecessary complexity. This means that maintaining and reusing individual machine components across different projects is difficult. Bug fixes must also be implemented manually. Consequently, changes to machine components, due to their tight coupling, can cause unforeseen side effects in the final configuration.
[0042] Fig. Figure 3 illustrates the idea according to the invention. Here, the machine 2 with the operating system 42 is again shown. Reference numeral 30 designates a virtual environment in its entirety, in which three virtual environment parts 32, 34, and 36 are shown. Programming can be carried out in each of these virtual environment parts 32, 34, and 36 and made available as virtual projects with hardware, operating system, and application. Thus, the virtual environment 30 is a virtualized machine environment that serves for the engineering of the respective machine parts. This allows for separate engineering of the individual machine parts in the respective virtualized environments or environment parts 32, 34, and 36.
[0043] Virtualization generally refers to the decoupling of the operating system from the underlying hardware. The primary goal is to provide the user with an abstraction layer that isolates them from the actual hardware – processing power and storage space. A logical layer is introduced between the user and the resource to hide the physical hardware.
[0044] This conveys to each user that they are the sole user of a resource, or several (heterogeneous) hardware resources are combined into a homogeneous environment.
[0045] Fig. Figure 4 shows a flowchart illustrating the engineering process. Reference symbols 32 and 34 refer to virtual environment components that are initially programmed. These virtual projects 32 and 34 are then transferred to a virtual machine management system 40 via an abstracted interface 44. As mentioned above, this virtual machine management system 40 also manages the individual resources of the actual machine 2, as well as any peripherals 46. This allows the machine to be configured within the virtual machine management system and subsequently mapped to the actual hardware via a hardware mapping 48. The corresponding peripherals 46 can also be managed and controlled in this way.
[0046] It is also possible that the aforementioned implementation, by which the actual hardware and connected peripherals are assigned to the configured hardware in the virtual projects, occurs covertly. It is also possible that the actual hardware 2 and peripherals 46, on which the virtual machine management 40 runs, may differ from the expected hardware and peripherals in virtual projects 32 and 34 in terms of scope and configuration. A change to the actual hardware 2 and / or peripherals 46 does not require a change to the virtual project; it may be sufficient to perform a new assignment via hardware mapping 48.
[0047] In the manner shown here, upward scalability is possible, i.e., one control unit for n logical projects or the transfer of a logically related project to multiple controllers, which appear to the virtual machine as a single controller.
[0048] In addition, downward scalability is possible, meaning one project and multiple logical controllers. It is also possible to "freeze" the virtual machine, transfer it to different hardware, and continue working from this "frozen" state (hardware swap). The individual machine component is represented as a unit in engineering project 32, 34. The structure and solution are thus closer to the problem domain and therefore easier to understand and more logically organized.
[0049] Fig.Figure 5 summarizes the procedure according to the invention. The application program is decoupled from the underlying hardware, and programming is performed using virtual devices. Subsequently, a mapping is performed to the physical devices on the actual machine. On the hardware side, control devices 62 and drive devices 22 are shown.
[0050] The method proposed according to the invention relieves the machine project itself of the modification effort required for highly variant series machines and allows for centralized management. Virtual machine management plays a crucial role here, its task being to create a consistent environment for the "virtual" machine project despite external influences and changes. In this way, maintenance, adaptation, and upkeep costs can be avoided.
[0051] In this way, even non-existent real resources can be emulated or replicated through a virtual machine environment.
Claims
[1] Method for operating a working machine, wherein the working machine has at least one machine unit (2) with drive devices (22) and each of these machine units (2) has at least one control device (4) for controlling the machine unit (2) and this control device (4) has a storage device in which programs required for the operation of the respective machine units (2) are stored, and wherein interfaces (8) for data exchange are assigned to each of the machine units (2), wherein, for the creation or modification of a machine configuration of the working machine (1), a virtual environment (30) independent of the working machine (1) is provided, and a configuration is created in this virtual environment (30), and this configuration created in the virtual environment (30) is then transferred to the working machine (1), wherein the virtual environment (30) is split into environment parts (32, 34, 36), wherein these environment parts (32, 34, 36) are characteristic of machine parts of the working machine, characterized by , that the environment parts (32, 34, 36) are designed as separate virtual machines, wherein a virtual machine management (40) is provided which manages the virtual machines and the resources of the working machine. [2] Method according to claim 1, characterized by, that the creation of the configuration in at least one environment part (32, 34, 36) is independent of the creation of the configuration in at least one other environment part. [3] Method according to claim 2, characterized by , that the configuration for a particular environmental part (32, 34, 36) is limited to those aspects which are decisive for the machine part for which this environmental part (32, 34, 36) is characteristic. [4] Method according to claim 3, characterized by , that at least two environmental parts (32, 34, 36) communicate with each other. [5] Method according to at least one of the preceding claims, characterized by , that a framework program is created which can run on different machine configurations. [6] Method according to claim 5, characterized by , that the virtual machine management (40) is executed deterministically and / or in real time. [7] Working machine (1) with at least one working unit (2), wherein this working unit (2) has at least one drive device (22) and each of these working units (2) has a control device (4) for controlling the working unit (2) assigned to it and each of these control devices (4) has storage devices in which programs required for the operation of the respective machine units are stored, and wherein interfaces for data exchange are assigned to the machine units (2), wherein, for the creation or modification of a machine configuration of the working machine (1), a virtual environment (20) independent of the working machine (1) is available in which a configuration can be created and a transmission device is further provided which transfers this configuration to the working machine (1), wherein the virtual environment (30) is split into environment parts (32, 34, 36), wherein these environment parts (32, 34, 36) are characteristic of machine parts of the working machine, characterized by , that the environment components (32, 34, 36) are designed as separate virtual machines and a virtual machine management system (40) is provided which manages the virtual machines and the resources of the working machine. [8] Working machine (1) according to claim 7, characterized by that the machine being worked is selected from a group of machines which includes packaging machines, printing machines, textile manufacturing machines, automation equipment, combinations thereof and the like.
Citation Information
Patent Citations
Reconfigurable manufacturing system having a production capacity method for designing same and method for changing its production capacity
US6349237B1