Method for operating a working machine and working machine

The method of using a basic program with uniform interfaces and a directory service for automatic software distribution addresses the challenge of rigid configurations in work machines, facilitating reusable and cost-effective software updates.

DE102010053486B4Active Publication Date: 2025-10-30ROBERT BOSCH GMBH
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
DE102010053486
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Filing Date
2010-12-04
Publication Date
2025-10-30
Estimated Expiration
2030-12-04

AI Technical Summary

Technical Problem

Existing work machines require cumbersome and rigid software setups for configuration changes, preventing the reuse of project and device configurations, leading to increased production costs and reduced flexibility.

Method used

A method involving a basic program stored on each control device that allows automatic loading and distribution of necessary programs across machine units using uniform interfaces, facilitated by a directory service, enabling modular and scalable software installation and distribution.

Benefits of technology

Enables reusable and flexible machine configurations with simplified software updates and expansions, reducing hardware costs and improving operational efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Method for operating a working machine, wherein the working machine has at least one machine unit (2) with at least one drive device (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, in order to change a machine configuration of the working machine (1), the programs required for changing or commissioning the machine configuration are automatically loaded in all machine units (2) and uniform interfaces (8) are used for this purpose and the programs are provided by a platform (20) independent of the working machine (1), characterized in that When the machine configuration is changed in each machine unit (2), at least one basic program is retained, wherein the programs required to change or commission the machine configuration are loaded from the at least one basic program.
Need to check novelty before this filing date? Find Prior Art

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 in the current state of the art. The change usually has to be made separately for each individual component. The current state of the art primarily considers the ability to load code, such as DLLs, libraries, and the like. The corresponding new machine configuration, the configuration of bus participants, the input elements, and also the linking of actuators and sensors usually have to be followed in individual steps.This results in a rigid software setup configuration, preventing the reloading of software or project modules. A further disadvantage is that certain project and device configurations are not reusable.

[0003] However, such reusability of components is often desired to reduce manufacturing costs. Furthermore, users of such machines demand greater flexibility and cost-effectiveness across a wide range of applications.

[0004] The basic program can also contain various components for operating an automation solution, such as a PLC runtime environment, an interpolator, a peripheral driver, a software oscilloscope, memory management, robot control, communication services, error handling, and the like.

[0005] It is also possible to update the base program. This can be done, for example, by a service technician or directly by a customer who has the base program available on a data carrier. Reasons for updating the base program might include bug fixes, feature enhancements, or the need for a larger or different software package on the device.

[0006] For example, US 6,349,237 B1 describes a reconfigurable manufacturing system with an adjustable structure that can be switched from one desired production capacity to a second. The manufacturing system comprises a variety of workstations with reconfigurable and CNC-controlled machines and a control system with a variety of reconfigurable controllers. The control software of the reconfigurable controllers is reconfigurable using a software tool. This software tool is a visual or graphical programming environment in which control software modules can be assembled into a complete software package, tested in a simulation, and then downloaded to the reconfigurable controller.

[0007] Regarding the respective engineering modules, ease of use, improved collaboration, and joint project work are required. Furthermore, the engineering software should be easy to maintain, for example, through rapid update rollouts or the management of different versions (compatibility). Open interfaces and extensibility through tools from other users are also frequently required.

[0008] These tasks are accomplished by a method and a machine with the features of the independent claims. Advantageous embodiments and further developments are the subject of the dependent claims.

[0009] In a method according to the invention for operating a working machine, the working machine comprises at least one machine unit with at least one drive device, and this machine unit has at least one control device for controlling the machine unit, and this control device has a storage device in which programs required for the operation of the respective machine unit are stored. Furthermore, the machine unit or the control device has an interface for data exchange.

[0010] According to the invention, to change a machine configuration of the working machine, the programs required for changing or commissioning the machine configuration are automatically loaded in all machine units or control devices, and uniform interfaces are used for this purpose, wherein the programs are provided by a platform independent of the working machine.

[0011] This means that a control unit is available for each machine unit; however, it would also be possible for one control unit to control several machine units. In addition to the term control unit, the term automation system is also used in the following. Advantageously, the machine has several machine units. These machine units can operate independently or dependently on one another. Synchronization of the individual working units is also conceivable. The machine units advantageously have several drive units, wherein the movements of machine elements performed by these drive units are at least partially coordinated, and wherein these drive units are particularly preferably controlled by the aforementioned control unit.

[0012] According to the invention, when the machine configuration is changed, at least one basic program is retained in each machine unit or in each control device.

[0013] This base program can be installed on the hardware after manufacturing and is preferably the only software component present on the device upon delivery. All other software components are installed on the device at a later time. This installation is preferably performed by the aforementioned base program. Therefore, the base program preferably includes functionality to search for a directory server on a network in order to authenticate itself with this directory server (preferably using an identification number and an electronic signature procedure). Furthermore, the base program is preferably able to receive the software components listed by the directory server and preferably also to decompress the software components using a data compression method.

[0014] Therefore, a modular and preferably scalable solution for creating and reloading software or project modules is proposed. This allows project and device configurations to be reused, and preferably, the reloadable elements can also be made available via a distribution service over a network infrastructure.

[0015] Standardized interfaces mean, in particular, that a standardized interface description exists, which allows for the subsequent "docking" of various independent or dependent modules. These modules contain all the information necessary for operation, such as the programming system or the runtime system. These modules are automatically distributed, installed, and reloaded on all devices and control units of the machine.

[0016] The advantage of this approach is that a very lean platform framework can be distributed initially, and only the necessary modules need to be loaded subsequently. This allows for simple distribution. Furthermore, existing programs can be extended with new functionalities later on, and automatic distribution to different devices is also possible.

[0017] Preferably, each of the aforementioned software components supports or implements a variety of actions, selected from a group that includes starting the software component, stopping the software component, installing the software component, updating the software component, querying for available interfaces, querying for required interfaces, combinations thereof, and the like. Advantageously, each of the aforementioned software components supports or implements all of these functions.

[0018] Preferably, each of the aforementioned software components has a state machine that describes its current operating mode. The states are selected from a group that includes an installed state, an uninstalled state, a starting state, a stopping state, an active state, an inactive state, an error state, and / or the like. State transitions occur via the actions listed above.

[0019] Within the "Start" state, which is preferably supported by all software components, each software component can then define its specific functionality and make it available during the "Active" state. However, the uniform interface allows the base program to preferably keep all software components consistent with regard to distribution and installation.

[0020] Other possible tasks of the basic program include verifying the validity of the aforementioned software components or checking for modifications by a third party using electronic signature methods, and also installing or updating the software components on the control device, which can be done, for example, on permanent or volatile memory. Finally, the basic program advantageously performs the function of starting the software components in the control device.

[0021] In the current state of the art, the basic programs described above present the problem of becoming increasingly complex and being divided into different components, although not every machine requires the same components on the controller. This, in turn, necessitates a product strategy, price differentiation, different error correction methods, and licensing issues.

[0022] The invention therefore provides a simplified method for supporting different component configurations on a single hardware device and for installing and distributing these configurations on the hardware. A change in configuration includes, in particular, adding or replacing a new unit, exchanging a unit, updating the software of a specific unit, and the like.

[0023] It is advantageous to modify the machine configuration using a directory service. This directory service provides the necessary program components for distribution. Furthermore, this directory service includes a database listing which version of which software component is to be installed on which control unit. The directory service also advantageously includes methods for authentication and electronic signatures, and preferably, methods for transferring software components.

[0024] This directory service is advantageous because it is connected to, or can be connected to, a network infrastructure.

[0025] The previously complex firmware functionality is therefore preferably split into individual, preferably versioned components. In addition, a description file is preferably provided that describes the dependency relationships between the components or modules. Data compression methods can preferably be applied to these components during their distribution to accelerate distribution and installation on the network.

[0026] The control unit is advantageous in manufacturing if it is equipped with only a basic firmware without direct firmware functionality.

[0027] In another advantageous method, several machine units are combined into an automation system. This means that one control device can control several machine units.

[0028] Advantageously, the programs are provided by the platform as program modules, which preferably work together with the base program.

[0029] This allows for the installation and distribution of programs or components without negatively impacting the real-time capability and determinism of the automation hardware. Preferably, distribution and installation occur without user intervention, such as from service technicians, on the device itself. In another advantageous method, the program modules are available on a server, particularly a server located on the internet.

[0030] As mentioned, program functions are installed in the form of modules, and the directory server can be located in a global or local area network (LAN). The directory server mentioned above does not have to be a dedicated server; automation hardware with a corresponding connection to the network infrastructure can also serve as a directory server.

[0031] The directory server(s) can be linked in a hierarchical network, in which case a master directory server manages the components that a slave directory server is authorized to distribute. Ideally, individual components or modules can not only be installed but also uninstalled. It is possible for a control device or automation hardware to act only as a forwarding point to another control device or automation hardware that cannot directly access the directory server. In this case, a conversion to a different protocol or transmission medium (fieldbus to Ethernet) may be necessary.

[0032] A control unit can also be connected to the directory server only indirectly, for example, via another control unit. In this case, software components are preferentially routed through the control unit. The distribution and installation of new software components can occur, for example, at the initiative of the control unit (e.g., upon power-up) or the directory service (through user input).

[0033] Another preferred method involves virtualization. This means that the operating system is decoupled from the underlying hardware. This allows for a more flexible configuration of the machine.

[0034] In another advantageous method, the programs required to change the machine configuration are distributed via the fieldbuses necessary for operating the drive devices. In other words, distribution via the fieldbuses and networks available at the supervisory level for operating the control device or automation hardware is possible.

[0035] In another advantageous method, each control device is assigned a uniquely identifying string. This string is, in particular, an identification number. After this identification number is transmitted, the platform can determine which components need to be installed or transferred. Advantageously, as mentioned above, the components or modules are also protected by electronic signatures, allowing the base firmware to verify the correctness of the components to be installed. Furthermore, it is also advantageously possible to save the current installation state of the control devices and restore it at a later time.

[0036] The present invention further relates to a working machine with at least one working unit, wherein this or each of these working units has at least one drive device and each of these working units is assigned a control device for controlling the working unit and this control device or these control devices each have 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.

[0037] According to the invention, the interfaces are uniformly designed and, in order to change a machine configuration of the working machine, the programs necessary for changing the machine configuration can be automatically supplied to all machine units and the programs are provided by a platform independent of the working machine.

[0038] In an advantageous embodiment, a basic program is stored in each of the control devices, and the programs mentioned above are based on or interact with this basic program. Thus, the programs are modular in structure.

[0039] In a preferred embodiment, the control devices each have locking mechanisms for securing an installation package of the control devices. Advantageously, the control devices communicate with the drive devices of the machine units via real-time buses.

[0040] Furthermore, it is advantageous to select the working machine from a group of working machines which includes packaging machines, printing machines, textile manufacturing machines, automation systems, combinations thereof and the like.

[0041] Further advantageous embodiments can be seen from the accompanying drawings:

[0042] It shows: Fig. 1 a schematic representation to illustrate the method according to the invention; Fig. 2 a schematic representation to illustrate the modularization of the programs; Fig. 3 a further schematic representation to illustrate the method according to the invention; and Fig. 4 A schematic representation to illustrate a platform solution.

[0043] 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.

[0044] 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.

[0045] 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, with the program modules being loaded into these drive amplifiers 26. The program modules can be made available via Ethernet 32 ​​or the Internet 30. The reference numeral 14 designates an engineering module that allows the individual software modules to be edited.

[0046] Fig. Figure 2 shows an example of the modularization of the data processing programs or software. Each example includes a basic program 40 as described above, as well as a multitude of programs or program modules 42 that build upon this basic module 40. These components can be installed or replaced in the individual control units during a configuration change. Each of the aforementioned control units 4 from Fig. 1 has a unique identification number. The control unit or automation hardware can be configured to specify whether and to which directory service the automation hardware should connect when switched on or upon explicit activation.

[0047] After the identification number is transferred, the directory server uses its database to determine the components to be installed and updated and transfers them to the control unit 4. This allows the individual programs 42 to be installed, updated, and started by the base program or base firmware 40.

[0048] Fig. Figure 3 shows another representation of a method according to the invention. Here again, the method already described in Figure 3 is shown. Fig. Figure 2 illustrates an open, modular, and scalable platform solution consisting of the basic program 40 and the programs 42. More precisely, a modularization of the programs or software is implemented here. How to Fig. As 3 recognizes, the project resulting in this way is decoupled from the underlying hardware or engineering environment 46. Individual programs 42 or applications can be downloaded via a variety of web interfaces. For example, a web server 30, in particular Google Chrome 54, can be used for downloading. The reference symbol 48 denotes the transport layer and the reference symbol 52 the runtime.

[0049] The coupling between the individual programs or software modules 42 has also been resolved, which in particular allows the implementation to be changed.

[0050] Fig. Figure 4 illustrates this modular system. The individual modules are grouped into bundles. These bundles have public interfaces for communication. A dynamic process model (runtime dynamics) is also provided for these bundles, allowing them to be installed, started, refreshed, stopped, and uninstalled at runtime. Within the framework of the modularization of the software modules, it is also possible to define the functions to be modularized as well as the size and scope of the individual modules or programs.

[0051] Conversely, it would also be possible, as in Fig. Figure 3 illustrates outsourcing individual programs 42 or software modules to the network 30, so that the customer can decide which modules 42 he needs and then install them in the form of applications.

[0052] The advantage of a browser-based solution, as in Fig. As illustrated in Figure 3, the advantage is that the browser replaces the operating system, allowing documents to be edited directly within the browser. Currently, as mentioned above, Google Chrome provides such a service. This approach reduces hardware costs and allows the use of computers with limited storage capacity and processing power.

[0053] As in Fig.As illustrated in Figure 3, virtualization is also employed. Virtualization generally refers to the decoupling of an operating system from the underlying hardware. This can be achieved by defining an abstraction layer between the hardware and the operating system, which simulates the presence of real hardware to the installed guest systems. Within this framework, it would also be possible to decouple the individual application programs (42) from the underlying hardware. Furthermore, programming can be performed using virtual devices, with mapping to the physical devices occurring only subsequently or upon downloading them. It is also possible to create a universally applicable project or program that can run on multiple differently configured machines.In this context, reference is made to the patent application entitled "Method for operating a working machine and working machine with virtual automation," filed concurrently with the present application. The disclosure content of that application is hereby incorporated by reference into the present application.

[0054] The modularization of the software programs mentioned above makes it possible to configure any empty frame (base program) as desired and to populate it with individual software components. As mentioned above, this configuration can be done, in particular, from the network. Reference symbol list 1 working machine 2 machine units 4 Control unit 8 Interface 14 Engineering Module 16 visualization units 18 Input / Output Device 20 Management level 22 Drive units 24 real-time buses 26 drive amplifiers 28 Fieldbus 30 Internet 32 Ethernet 40 basic program, basic firmware 42 additional programs, software modules 45 individual groups 46 Engineering environment 48 Transport layer 52 runtime 54 Google Chrome

Claims

[1] Method for operating a working machine, wherein the working machine has at least one machine unit (2) with at least one drive device (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, in order to change a machine configuration of the working machine (1), the programs required for changing or commissioning the machine configuration are automatically loaded in all machine units (2), uniform interfaces (8) are used for this purpose, and the programs are provided by a platform (20) independent of the working machine (1),characterized by , that When the machine configuration is changed in each machine unit (2), at least one basic program is retained, wherein the programs required to change or commission the machine configuration are loaded from the at least one basic program. [2] Method according to claim 1, characterized by , that several machine units (2) are combined to form an automation system (12). [3] Method according to any of the preceding claims, characterized by that the programs are provided as program modules by the platform. [4] Method according to claim 3, characterized by that the program modules are available on a server, preferably located on the internet. [5] Method according to any of the preceding claims, characterized by that virtualization takes place during the process. [6] Method according to any of the preceding claims, characterized by , that the programs required to change the machine configuration are distributed via the fieldbuses required for the operation of the drive devices (22). [7] Method according to any of the preceding claims, characterized by that each control device is assigned a uniquely identifying string. [8] Working machine (1) with at least one working unit (2), wherein this or each of these working units (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 (8) for data exchange are assigned to each of the machine units (2), wherein the interfaces (8) are uniformly designed and, in order to change a machine configuration of the working machine (1), the programs required to change the machine configuration can be automatically supplied to all machine units (2) and the programs are provided by a platform (20) independent of the working machine (1), characterized by , that the working machine (1) is configured so that, in the event of a change in the machine configuration, at least one basic program is retained in each machine unit (2), wherein this at least one basic program is configured to load the programs necessary for changing or commissioning the machine configuration. [9] Working machine (1) according to claim 8, characterized by , that a basic program is stored in each of the control devices (4) and the programs are based on this basic program. [10] Working machine (1) according to claim 8 or 9, characterized by , that the control devices (4) each have safeguarding mechanisms to secure an installation package of the control devices (4). [11] Working machine (1) according to any one of claims 8 to 10, characterized by , that the control device (4) communicates with the drive devices (22) of the machine units (2) via real-time buses (24). [12] Working machine (1) according to any one of claims 8 to 11, 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