Abstract:
A method and system simulates a work process on a machine tool using a virtual machine. The virtual machine is set up to simulate the work process on the machine tool using machine data, workpiece data, and tool data as a function of numerical control (NC) control data and programmable logic control (PLC) control data. The work process is simulated on a platform that comprises a plurality of processor cores, wherein the work process is simulated in partial simulations that run in parallel on different processor cores.

Description:
FIELD 
       [0001]    The present disclosure relates to a method and a system for simulating a work process on a machine tool using a virtual machine. 
       BACKGROUND 
       [0002]    Leading machine tool manufacturers and research institutions have been working on the subject of “virtual machine tools” for a number of years. A key aspect of such virtual machines is associated with the manufacturing process, where interaction between the tool and workpiece is simulated and visualized graphically in 3D. Modern systems reproduce all the moving machine kinematics including material removal during the manufacturing process on the workpiece as a result of machining using the tool. 
         [0003]    For example, in EP 1 901 149 B1 the applicant describes a device and a method for simulating a sequence for machining a workpiece in a machine tool, which is designed to reproduce as comprehensively as possible not only all machining operations on the workpiece itself, but also to simulate and reproduce the peripherals of the machine tool including the tool changer, workpiece changer, workspace, etc., in as realistic a holistic depiction as possible. 
         [0004]    In machine tool applications, virtual machines usually consist of components on the control side and components on the system side, where the control-side components include the human machine interface (HMI) in the form of the control desk and monitor, the numerical control core, i.e., the control instructions which are predefined by a numerical control (NC) program, and the programmable logic controller (PLC), i.e., the machine-specific controller that usually controls mechanically regulated circuits including additional attachments such as tool changers, supply of cooling water, etc., and corresponding drive controllers, while system-side components specifically include drive systems including their kinematic and kinetic behavior (resilience, thermal behavior) and associated control assemblies, pneumatic/fluid systems, work and spindle kinematics including their geometric representation, work fixtures and tools, workpieces, and material-removal processes carried out herewith. 
         [0005]    In many virtual machines, only parts of these components are materialized; additional components are shown in a few cases, such as the geometric representation of an external automation unit. 
         [0006]    An important aim of the simulation process to date has been to run through the machining/movement sequences of a real process on the simulation platform in real time in the same steps as in the real application. This made it possible to obtain valuable information concerning the machining sequence, which could actually be expected, e.g., when commissioning a new machine tool or when setting up the machine tool. During this operation, the simulation processing speed may be slowed down to permit more accurate observation or even sped up depending on the performance of the simulation platform. 
         [0007]    The simulation speed and thus the ability to obtain a rapid impression of a specific work process beforehand, e.g., regarding the absence of collisions, is currently substantially limited in existing simulation platforms by the capacity of the hardware used, acceleration only being achievable by increasing the clock frequency and integration of new hardware functions still only being achievable to a limited extent in the meantime. On the other hand, machining and movement operations are becoming increasingly complex with advanced machine tool developments, which thus imposes limits on a holistic approach to a virtual machine. 
         [0008]    Realization of this fundamental problem is the starting point for the present disclosure, the object of which is to provide a method and a system for simulating a work process in a machine tool using a virtual machine that permits a higher simulation speed. 
       SUMMARY 
       [0009]    The present disclosure describes a method for simulating a work process on a machine tool using a virtual machine that is set up to simulate the process for machining a workpiece on the machine tool using machine data, workpiece data, and tool data as a function of NC control data and PLC control data. According to the present disclosure, the work process is simulated on a platform that comprises a plurality of processor cores, the work process being simulated in partial simulations that run in parallel on different processor cores. 
         [0010]    In so doing, the present disclosure ensures a simulation environment that performs better overall in the form of a platform with which the virtual machine can be started several times in parallel. 
         [0011]    This includes being able to install the complete virtual machine on a plurality of different processor cores, which then perform the partial simulations. However, it is also possible for only specific virtual machines with correspondingly reduced functionality to be installed and started on different processor cores. 
         [0012]    The time advantage offered by parallelization works out as follows: Tpar=Tseq/N+Tseq/N, where N=number of NC program sections, C=number of CPU cores or VMs, Tseq=time for sequential processing and Tpar=time for parallel processing, on the assumption that N=C. By way of example, a processing time of Tpar=2/8·Tseq=0.25·Tseq plus overheads is obtained in the case of parallelization on 8 VMs. 
         [0013]    However, the approach according to the present disclosure not only makes it possible to increase the simulation speed for a given work process with a specific degree of complexity, but also establishes a crucial prerequisite for further development of a holistic simulation of all work processes. In this case, it is crucial that the simulation is not subject to any further restrictions with respect to complexity as a result of the solution according to the present disclosure that in principle offers a different route to that of increasing the computing power, inasmuch as, according to the present disclosure, the work process or simulation of the work process is broken down into partial simulations that run on different processor cores. 
         [0014]    In this case, a preferred embodiment of the present disclosure may use what is known as multi-core technology that utilizes a multi-core processor in which several complete processor cores are incorporated in a single chip. 
         [0015]    However, the present disclosure is not restricted to the above and a plurality of processor cores may also be used, these being connected to each other by means of a network, either a local network or via the Internet. This makes it possible to perform the partial calculations at different points at which the data required for the section calculated in each case is available, so corresponding technologies such as grid computing or cloud computing can be used. 
         [0016]    A further significant advantage of the present disclosure, which is not related directly to increasing the simulation speed, also lies in the fact that consideration is given to the problem of the simulation speed being fundamentally dependent on the hardware selected by the user. Due to the complexity of the virtual machine in this case, it is not only difficult to estimate the achievable performance in advance, but the installation effort and the effort required to adapt to a specific configuration (e.g., graphics card used, operating system) are generally very high. The approach according to the present disclosure plays a significant role in reducing the installation and adaptation effort in this situation as the computer load can also be provided in a local or remote network and/or can be installed on several computers. In this case, it is also possible to merely provide the human machine interface (HMI) on the user&#39;s computer. As a result of these measures, the major part of the installation and execution of the overall simulation are not performed on the user&#39;s computer system, thus reducing the dependencies of the system components on the local computer and making the installation considerably easier to handle even in the event of updates. 
         [0017]    In a preferred embodiment of the method according to the present disclosure, a tool/workpiece machining operation in the work process on the machine tool is subdivided into different machining sections. This may entail sequential machining sections for a workpiece from the unmachined part via different semi-finished stages through to the finished part. 
         [0018]    Additionally, or alternatively, the workpiece may be subdivided into different partial volumes. Partial simulations are then performed for the respective machining sections, and these may in turn relate to partial volumes and/or to individual sequential machining sections. 
         [0019]    This subdivision into machining sections may, for example, take place as early as in the CAD/CAM system, by the state of the workpiece being established in the CAM system for the start of each section, in geometric form, for example, this state then being stored in a 3D model file (e.g., VRL, IGES, STEP, etc.). 
         [0020]    The CAM system post-processor may then, for example, be set up to save entry marks in the NC control instructions, i.e., directly in the NC program, in machining sections selected in advance or in each machining section. These may advantageously be cycle or text marks. 
         [0021]    This embodiment also incorporates steps such as transfer of the machining sections using the corresponding entry marks to different processor cores, transfer of the current workpiece geometries corresponding to the respective machining sections of the NC control instructions to the different processor cores and execution of partial simulations by the different processor cores. In other words, the available virtual machines are in each case tasked with simulating a machining section, for which purpose the respective sections of the NC program and the associated current geometry of the semi-finished part are made available to the processor core. 
         [0022]    This embodiment has the advantage that, even in those parts of the process chain that are pre-stored in the virtual machine or in the CAD/CAM system, the user can specify machining sections that then make it possible to allow the virtual machine to operate in parallel on different processor cores by means of the method according to the present disclosure. 
         [0023]    The concept according to the present disclosure of performing partial simulations of correspondingly previously defined machining sections is a simple way of adding to the procedure to perform a collision detection. According to the present disclosure, for example, the workpiece can be subdivided into different partial volumes for this purpose and individual virtual partial simulations are then performed for said partial volumes. Volume intersections can then be formed between these partial volumes, and a collision detection operation subsequently performed in the next simulation run for two linked volumes, for example. In the next step, an additional volume can then be added to the volume intersection and the collision detection can be performed again, etc., until the final machined workpiece is reached. 
         [0024]    In addition, intermediate results for a relevant workpiece can even be produced as part of the CAM analysis and then processed on different virtual machines in the context of corresponding partial simulations with collision detection. The present disclosure also comprises CAM software modified for this purpose which has a corresponding functionality. 
         [0025]    It is also possible to divide the work process on the machine tool according to functional sequences for different system components and accordingly to perform partial simulations of functional sequences for the different system components. 
         [0026]    According to the present disclosure, it is possible in this case to divide the work process efficiently and directly with the aid of the virtual machine tool by temporarily switching off system components and partial simulations. 
         [0027]    An embodiment that follows this approach includes the steps of deactivating all functional sequences with the exception of the system component to simulate the tool paths and the system component to simulate the material-removal model. In this operation, only data relating to the geometry of the unmachined part and the corresponding NC control instructions are made available to the virtual machine in the first instance. 
         [0028]    After this, partial simulations of the system components to simulate the material-removal model and the system components to simulate the tool paths are initially performed on a first processor core as a function of predefined NC control instructions and predefined geometries for the unmachined workpiece. 
         [0029]    These partial simulations are continued, the workpiece geometry achieved in the material-removal model and the associated status of the NC control instructions being stored at a predefined time t 1 , and a further complete simulation of the first machining section already performed on the first processor core from time interval t 0  to t 1  being started on a second processor core, incorporating all system components from the specified virtual machine. 
         [0030]    This procedure can be continued accordingly by starting a complete simulation incorporating all system components of the virtual machine on a third processor core or further processor cores for a second, third to xth machining section whenever a further time t 2  or further times (t 3  to tx) are reached. 
         [0031]    In this case, times t 1  to tx can advantageously be selected such that they correlate to a tool change. 
         [0032]    It is also advantageous to divide automatically into machining sections, the NC control instructions being divided according to the available number of virtual machines N on different processor cores and into N-1 machining sections, where one processor core performs a partial simulation of a specific time interval in each case. 
         [0033]    The present disclosure also provides a system for simulating a work process on a machine tool with a virtual machine that is set up to simulate the work process on the machine tool using machine data, workpiece data, and tool data as a function of NC control data and PLC control data, the system according to the present disclosure being designed as a platform for simulating the work process, which comprises a plurality of processor cores, said processor cores being set up to perform partial simulations of the work process. 
         [0034]    In an advantageous embodiment, the system comprises a multi-core processor in which a plurality of complete processor cores are integrated in a single chip. 
         [0035]    The platform for the system according to the invention may also comprise a plurality of processor cores that are connected to each other via a network. 
         [0036]    In a preferred embodiment, the system according to the present disclosure may comprise a device for subdividing a machining operation of the work process on the machine tool into different sequential machining sections for a workpiece. In this case, this may be a device for subdividing the machining sections into different stages from the unmachined part via different semi-finished part stages up to the finished part. However, the device may also be designed to subdivide the workpiece into different partial volumes. 
         [0037]    In addition, the system may comprise a device for establishing the geometry of the workpiece for the start of each machining section of a predefined NC program and for storing a corresponding workpiece geometry in a 3D model, and a device for saving entry marks at the start of preselected machining sections in preselected NC instructions (i.e., the NC program) for machining the workpiece as part of the machining operation. 
         [0038]    The system according to the present disclosure may also comprise a device for subdividing the work process on the machine tool according to functional sequences for different system components and performing partial simulations of functional sequences for the different system components. 
         [0039]    Non-exhaustive examples of corresponding system components may include a system component for simulating a tool path, a system component for simulating a material-removal model, a system component for simulating an enclosure model, a system component for simulating a workspace model, a system component for simulating a drive system, a system component for simulating pneumatic/fluid systems, a system component for simulating work fixtures, and a system component for simulating tools and/or workpieces, etc. 
         [0040]    In this embodiment, the system may also comprise a device for deactivating all functional sequences with the exception of the system component for simulating the tool paths and/or the system component for simulating the material-removal model. 
         [0041]    The system according to the present disclosure may also include a device for enabling remote access to a system according to the present disclosure that, for example, enables a user to configure, start and/or stop a virtual machine without the simulation environment being permanently installed on the user&#39;s side. This embodiment also has the advantage of providing an easily maintained simulation environment that is solely in the machine manufacturer&#39;s access area, for example. 
     
    
     
       DESCRIPTION OF THE DRAWINGS 
         [0042]    Further advantages and particular embodiments of the present invention are described below with the aid of the figures in which: 
           [0043]      FIG. 1  shows a first embodiment of a system according to the present disclosure for simulating a work process on a machine tool based on a multi-core PC; 
           [0044]      FIG. 2  shows a first embodiment of a system according to the present disclosure for simulating a work process on a machine tool based on individual installations that are linked via a network; 
           [0045]      FIG. 3  shows a first embodiment of the method according to the present disclosure for simulating a work process on a machine tool using a virtual machine; 
           [0046]      FIG. 4  shows a further embodiment of the method according to the present disclosure for simulating a work process on a machine tool using a virtual machine; 
           [0047]      FIG. 5  shows an embodiment of the method according to the present disclosure for simulating a work process on a machine tool using four virtual machines and a plurality of run procedures for collision detection purposes; and 
           [0048]      FIG. 6  shows a further embodiment of the method according to the present disclosure for simulating a work process on a machine tool using four virtual machines, the intermediate results of the machining sections being produced in the CAM program. 
       
    
    
     DETAILED DESCRIPTION 
       [0049]    A first embodiment of a system according to the present disclosure for simulating a work process on a machine tool using a virtual machine is described with reference to  FIG. 1 . 
         [0050]    In this embodiment, the system according to the present disclosure is realized on a multi-core PC having a plurality of independent processors. 
         [0051]    The multi-core PC  1  comprises a human machine interface  2  having a control desk  21  for the user to input commands and a display device  22  to show a three-dimensional simulation of a work process on the machine tool by the virtual machine. 
         [0052]    The system also comprises a memory device  3  having a storage element  31  for storing work machine data, a storage element  32  for storing tool data, and a storage element  33  for storing workpiece data, i.e., the unmachined model prior to machining. The reference numeral  4  refers to a first processor on which are installed a control device  41  comprising an NC control program  411  for describing the paths for removal of the material as part of cutting/machining the unmachined component until the geometry of the finished component is obtained, and a PLC controller  412  for machine-specific commands. A first virtual machine  42  is also installed on the first processor  4 , said machine comprising a kinematic model  421 , a material-removal model  422 , and an enclosure model  423 . 
         [0053]    The embodiment illustrated in  FIG. 1  is a dual-core PC, which comprises a second processor  5 , with a control device  51 , which in turn comprises an NC program  511  and a PLC machine controller  512 . In the present embodiment shown in  FIG. 1 , the controllers  41  and  51  are identical with regard to functionality and are only shown in duplicate in the figure in order to illustrate that they are both installed on processors  4  or  5 , respectively. 
         [0054]    A virtual machine  52  installed on the second processor core  5  also comprises a kinematic model  521  and a material-removal model  522 , which correspond to the kinematic model  421  and the material-removal model  422 , as the same NC program, the same unmachined part geometry and the same machine configuration were used, as this is the same machining operation. However, the second virtual machine  52  comprises a workspace model  523  instead of the enclosure model  423 , which allows the workspace to be simulated, including work fixtures, table, and booth. 
         [0055]      FIG. 2  shows a further embodiment of a system according to the present disclosure for simulating a work process on a machine tool using a plurality of virtual machines that are connected to each other by a network in this embodiment. The embodiment comprises systems  25  and  26  which are connected to each other via a network  27 . In this case, the configuration of the two systems  25  and  26  corresponds to the configuration illustrated in  FIG. 1 , identical reference numerals referring to identical components. 
         [0056]    The network  27  in this embodiment is the Internet, with the result that a physical distance is also possible between the two systems  25  and  26  in the implementation of the system and method according to the present disclosure. 
         [0057]    In addition, the embodiment in  FIG. 2  shows an installation  28  on the user&#39;s side with a remote desktop  29  that makes it possible to access the two systems  25  and  26  by remote access. A user can configure, stop, and start simulation sequences via the remote desktop  29 , but the simulation environment installation remains under the control of the machine tool manufacturer, which makes it significantly more simple to connect to the hardware and incorporate upgrades as part of the maintenance process. Access to the simulation environment via the remote desktop  29  is of course not restricted to the embodiment shown in  FIG. 2 , but is merely illustrated by way of example in this case. Remote access of this kind can also be achieved in the embodiment shown in  FIG. 1  or other embodiments. 
         [0058]      FIG. 3  shows a first embodiment of the method according to the present disclosure for simulating a work process on a machine tool using a multiple installation of a virtual machine. 
         [0059]    The state of the workpiece is first established in step S 31  in a CAM system for the start of each machining section and this is then stored in a 3D model file in step S 32  (for example, in VRML, IGES, STEP format). 
         [0060]    The start of each machining section is identified by the post-processor of the CAM system in step S 33  by saving an entry mark in the NC program. Corresponding text marks are inserted in this process in the present embodiment. 
         [0061]    In step S 34 , correspondingly identified machining sections are transferred to different processor cores, as illustrated in  FIG. 1  or  FIG. 2 , for example, using the corresponding saved entry mark. The current intermediate part geometries of the workpiece are transferred to the processor cores in step S 35  in accordance with the respective machining section of the NC program, and partial simulations are performed on different processor cores by the virtual machines, which are installed on different processor cores in steps S 36  or S 37 , by referring back to the transferred NT machining sections and the respective current geometry of the semi-finished part. 
         [0062]    The embodiment of the method according to the present disclosure illustrated in  FIG. 3  thus represents an example of subdividing the machining operation of the work process and the machine tool into different sequential machining sections for a workpiece from the unmachined part via different semi-finished part stages up to the machined part, the consecutive machining sections then being simulated on different processor cores at the same time in order to increase the simulation speed in this manner. 
         [0063]    In contrast,  FIG. 4  shows a further embodiment of a method according to the present disclosure for simulating a work process on a machine tool using a virtual machine, in which the work process on the machine tool is subdivided according to functional sequences for different system components and partial simulations of functional sequences for different system components are then performed. 
         [0064]    The unmachined part geometry and the NC program are made available to the virtual machine in step S 41 . All functional sequences with the exception of the system component for simulating the tool path and the system component for simulating the material-removal model are deactivated in step S 42 , i.e., system components  423  and  523  are deactivated in the virtual machines illustrated in  FIG. 1 , for example. 
         [0065]    A partial simulation is now started on a first processor core in step S 43 , with the aim of simulating the tool paths, and a simulation of the material-removal model is started in step S 44  as a function of the predefined NC program and the predefined geometry of the unmachined part of the workpiece. 
         [0066]    These simulations are continued in step S 45  up to a predefined time t 1 , which is specified by the user, and in step S 46  the geometry of the workpiece in the material-removal model reached at predefined time t 1  is stored along with the associated status of the NC program, in this case with the corresponding line number of the NC program, with the partial simulations started in steps S 43  and S 44  continuing to run. 
         [0067]    In step S 47 , a second virtual machine is then started that calculates a simulation with full complexity, i.e., with all the system components associated with the virtual machine, for the first machining section from t 0  to t 1 . In the embodiment illustrated in  FIG. 1 , these may, for example, include the additional system component  423  for simulating the machine cabinet or the component  523  for simulating the workspace, although the present disclosure is of course not restricted to these additional system components, but may also, as a general rule, include all system components that form part of the corresponding virtual machines. 
         [0068]    In step S 48 , a third virtual machine is started when a further time t 2  is reached, said machine performing the complete calculation of the second machining section from t 1  to t 2 . 
         [0069]    In step S 49 , a fourth virtual machine is started when a further time t 3  is reached, said machine performing the complete calculation of a third machining section from t 2  to t 3 . 
         [0070]    In the embodiment illustrated in  FIG. 4 , times t 1  to t 3  each coincide with a tool change, thus making it easier to start simulating the relevant machining section. According to the present disclosure, the user is able to define the entry points himself in accordance with the specific application. A first run can, for example, be automated by dividing the NC program into N-1 sections according to the available virtual machines N, as a virtual machine is required for the pre-calculating reduced simulation. 
         [0071]    The embodiments in  FIGS. 5 and 6  illustrate two basic options for integrating collision detection as part of the present disclosure concept for the parallel virtual machine when carrying out partial simulations on different processor cores. 
         [0072]      FIG. 5  shows an embodiment for machining a workpiece  60  by means of four different virtual machines  61 - 64 , which each operate on different processor cores (not illustrated) using corresponding NC sections  601 - 604 . The illustration shows that corresponding partial volumes  611 - 614  are processed by the respective NC sections  601 - 604 . In this embodiment, collision detection  620  is carried out merely by the virtual machine  61  in the first run. 
         [0073]    In the second run  621 - 624 , corresponding volume intersections are formed from volumes  611 - 614 , and a second run is performed in the respective virtual machine  62 ,  63 ,  64  (until virtual machine  61 ) while performing a collision detection  621 - 624 . The finished workpiece  630  machined in the simulation can then be compared with the CAD template. 
         [0074]    The advantage of this embodiment is that, for example, a user can first transfer a complete NC program and corresponding workpiece information to, for example, a management server with virtual machines, in a virtual machine cloud, for example (e.g., via the Internet), and this management server then transfers the workpiece and a respective NC section to corresponding virtual machines  61 - 64  in order to guarantee appropriate load balancing with regard to computing power in this manner. After running the simulation, the corresponding virtual machines  61 - 64  report back to the management server in the last step with the machined workpiece  630  including any collisions or defects. One advantage of this embodiment is that no specially developed CAD/CAM software needs to be used in the virtual machine sequence, which means that no modifications in this respect are required on the user&#39;s side. 
         [0075]    The embodiment in  FIG. 6  shows one such example using modified CAD/CAM software. In this embodiment, the intermediate results for the machining sections are produced directly by the CAM program and the (intermediate) results are processed for collision detection purposes on four virtual machines  71 - 74  using NC sections  701 - 704  in steps  721 - 724 , resulting in the finished workpiece  630 . 
         [0076]    In relation to the computer architecture for implementing this parallelization of the virtual machine in this embodiment, the intermediate results for the workpiece are first produced in the CAM program and these can then be sent along with the original workpiece  60  to a management server, for example, which divides the workpiece or the intermediate results and associated NC sections  701 - 704  between corresponding virtual machines  71 - 74 . These virtual machines  71 - 74  then process the relevant workpiece volumes with collision detection and pass the results back to the management server, for example, thus resulting in a finished workpiece  630 , which can in turn be compared with the CAD template. 
         [0077]    The present disclosure is not restricted to the embodiments illustrated above; indeed the described features can be combined to form additional embodiments in order to create an optimized embodiment for a specific application based on the knowledge of persons skilled in the art.