Method for Computer-Supported Simulation of Operation of a Machine Working in an Automated Manner
20200409346 ยท 2020-12-31
Inventors
Cpc classification
G05B19/41885
PHYSICS
G05B19/4183
PHYSICS
International classification
Abstract
A method for computer-supported simulation of operation of a machine working in an automated manner, the machine being controllable during real operation via software on a programmable logic controller, wherein simulated control of the machine via software on a simulation computer is performed based on a predefined execution pattern, where the temporal execution sequence of processes executed by the software code and starting time points of processes are defined based on a virtual time and the execution time point of each process is set to zero in the virtual time in the predefined execution pattern, and during the simulation, the next process, which follows an ended process according to the execution sequence, is not started until a process in the real time of the simulation computer has ended, and where the virtual time is set to the starting time point of this next process when the next process is started.
Claims
1.-10. (canceled)
11. A method for computer-aided simulation of operation of a machine working in an automated manner, said machine being controllable during real operation via software code on a programmable logic controller, the method comprising: performing simulated control of the machine via the software code on a simulation computer based on a predefined execution pattern, said predefined execution pattern defining a temporal execution order of processes executed by the software code and starting times of processes based on a virtual time and an execution time of each process in the virtual time being set to zero; and starting, during the simulated control of the machine, a next process, which follows an ended process in the temporal execution order, only after a process in the real time of the simulation computer has ended, the virtual time being set to the starting time of the next process at the start of this next process.
12. The method as claimed in claim 11, wherein the predefined execution pattern is based on a real process execution, in which processes were executed by a real machine working in an automated manner via software code on a real programmable logic controller; and wherein the temporal execution order of the processes and associated starting times in the real process execution correspond to the execution order and the starting times of the processes in the predefined execution pattern.
13. The method as claimed in claim 11, wherein a task executed by a program module of the software code and which is interrupted one or more times by another program module is represented in the predefined execution pattern such that execution sections of the task situated next to interruptions are represented by separate processes having the starting time of the beginning of the execution section and an execution time of zero.
14. The method as claimed in claim 12, wherein a task executed by a program module of the software code and which is interrupted one or more times by another program module is represented in the predefined execution pattern such that execution sections of the task situated next to interruptions are represented by separate processes having the starting time of the beginning of the execution section and an execution time of zero.
15. The method as claimed in claim 11, wherein the predefined execution pattern represents a predefined fault case during at least one of (i) operation of the machine working in an automated manner and (ii) control of the machine working in an automated manner utilizing a programmable logic controller having a predefined computational power.
16. The method as claimed in claim 11, wherein before the processes are executed on the simulation computer in the predefined execution pattern, the method further comprising: checking whether the predefined execution pattern is can be executed on a machine that is really working; and generating a fault state if the predefined execution pattern cannot be executed on the machine that is really working.
17. The method as claimed in claim 11, wherein the operation of the machine working in the automated manner as one of (i) a machine tool, (ii) a production machine and (iii) at least part of a logistics system is simulated.
18. A simulation computer for computer-aided simulation of operation of a machine working in an automated manner, said machine being controllable during real operation via software code on a programmable logic controller, the simulation computer being configured to perform a method in which: simulated control of the machine is performed via the software code on the simulation computer based on a predefined execution pattern of processes, the predefined execution pattern defining a temporal execution order of processes executed by the software code and starting times of the processes based on a virtual time and an execution time of each process in the virtual time being set to zero; wherein, during the simulated control of the machine, a next process, which follows a process in the execution order which has ended, is started only after the process in the real time of the simulation computer has ended; and wherein the virtual time is set to a starting time of the next process at a start of said next process.
19. The simulation computer as claimed in claim 18, wherein the predefined execution pattern is based on a real process execution, in which processes were executed by a real machine working in an automated manner via software code on a real programmable logic controller; wherein the temporal execution order of the processes and associated starting times in the real process execution correspond to the execution order and the starting times of the processes in the predefined execution pattern.
20. A non-transitory computer-readable medium program product encoded with a computer program including program code stored on a machine-readable carrier which, when executed on a computer which corresponds to a simulation computer, causes computer-aided simulation of the operation of a machine working in an automated manner, the computer program comprising: program code for performing simulated control of the machine via the software code on a simulation computer based on a predefined execution pattern, said predefined execution pattern defining a temporal execution order of processes executed by the software code and starting times of processes based on a virtual time and an execution time of each process in the virtual time being set to zero; and program code for starting, during the simulated control of the machine, a next process, which follows an ended process in the temporal execution order, only after a process in the real time of the simulation computer has ended, the virtual time being set to the starting time of the next process at the start of this next process.
21. A computer program containing program code for performing the method as claimed in claim 11 when the program code is executed on the computer which corresponds to the simulation computer.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0023] Exemplary embodiments of the invention are described in detail below with reference to the appended figures, in which:
[0024]
[0025]
[0026]
[0027]
DETAILED DESCRIPTION OF THE EXEMPLARY EMBODIMENTS
[0028] A description is given below of one embodiment of the method in accordance with the invention via which the operation of a machine working in an automated manner, such as a machine tool or a production machine, is simulated for two programmable logic controllers having different computational powers. Execution patterns, which are based in the embodiment described here on the respective process executions EX1 and EX2 in
[0029] The process execution EX1 relates to the performance of processes in a machine M working in an automated manner with a programmable logic controller CO having a high processor power and thus fast computing time, whereas the process execution EX2 was performed with a programmable logic controller CO having a lower processor power and thus lower computing speed. Both programmable logic controllers use the same software code COD, where different process executions EX1 and EX2 are, however, obtained due to the different computational powers of the programmable logic controllers.
[0030] With reference to the diagram in
[0031] The height of the bars represents the priority of the program modules when they are executed. In other words, the higher the bar, the higher the priority of the corresponding program module. In the scenario in
[0032] In accordance with the process execution EX1 of the faster programmable logic controller, the process OB1 is interrupted once by the process OB30 and once more by the process OB90. By contrast, the process OB30 is not interrupted once by the process OB90. In contrast thereto, in the process execution EX2 of the slower programmable logic controller, both the left-hand program module OB30 and the right-hand program module OB30, which is later in time, is interrupted once by a corresponding program module OB90. There are also a relatively large number of interruptions to the program module OB1. The relatively high number of interruptions results from the higher computing time for the execution of the individual program modules, such that interruptions due to higher-priority program modules occur more often.
[0033] In the presently described embodiment of the method in accordance with the invention, an execution pattern is used to simulate the operation of the machine M both based on the fast programmable logic controller corresponding to the process execution EX1 and based on the slower programmable logic controller corresponding to the process execution EX2.
[0034] The execution pattern, which is referred to by SP (SP=Sequence Pattern) in
[0035] The execution pattern may have been calculated in advance and read from its memory. It is likewise possible for the execution pattern to be calculated via the corresponding processes and their starting times in the course of the simulation method from the respective process executions in
[0036]
[0037]
[0038] The execution pattern SP is used to test the software code COD, wherein this pattern, depending on the test that is executed, is based on the process execution EX1 for the faster programmable logic controller or on the process execution EX2 for the slower programmable logic controller. The execution pattern SP contains the execution order of the above-described processes, corresponding to the process execution EX1 or EX2. This execution order is denoted by EO (EO) in
[0039] The virtual execution system VES uses a virtual time VT, via which the time of the process execution on the respective programmable logic controller is represented, for the execution pattern SP. In other words, the starting times ST in the execution pattern SP are indicated in the virtual time VT. One aspect that is essential to the invention is then that the execution time for a respective process PR is set to zero. This thus ensures that the execution order EO is complied with and that there are not able to be any interruptions in the execution of processes, since the respective execution of a process is instantaneously ended.
[0040] The virtual execution system VES furthermore contains a time management unit TM that is based on the virtual time VT, as indicated by the arrow P2. This time management unit executes inter alia time-read commands at particular times in accordance with instructions from the software code COD, this being indicated by the arrow P3. Since the corresponding execution time of the processes is zero, the times t1 and t2 indicated in
[0041] The virtual execution system VES in
[0042] As is apparent from the above description, the system in
[0043]
[0044] By contrast, corresponding separate processes in the process execution EX2 in
[0045] Through the depiction of narrow bars, it is indicated in
[0046] The embodiment described above of the invention has a number of advantages. An execution time of zero can be defined for corresponding processes by using a virtual time in the course of simulating a machine operation. A deterministic time sequence of the process execution can thereby be achieved. Code interruptions furthermore can also be mapped by defining separate processes for corresponding subsections of program modules, and a priority-based behavior is thereby able to be simulated. The processor of the simulation computer may in this case work at full speed and is not delayed by the virtual time. By using a predefined sequence behavior based on a corresponding execution pattern, it is possible to take into consideration programmable logic controllers having different performance classes in the course of the simulation.
[0047]
[0048] Next, during the simulated control of the machine, a next process PR, which follows an ended process PR in the temporal execution order EO, is started only after a process PR in the real time RT of the simulation computer SC has ended, as indicated in step 420. In accordance with the method of the invention, the virtual time VT is set to the starting time ST of the next process PR at the start of this next process PR.
[0049] Thus, while there have been shown, described and pointed out fundamental novel features of the invention as applied to a preferred embodiment thereof, it will be understood that various omissions and substitutions and changes in the form and details of the methods described and the devices illustrated, and in their operation, may be made by those skilled in the art without departing from the spirit of the invention. For example, it is expressly intended that all combinations of those elements and/or method steps which perform substantially the same function in substantially the same way to achieve the same results are within the scope of the invention. Moreover, it should be recognized that structures and/or elements and/or method steps shown and/or described in connection with any disclosed form or embodiment of the invention may be incorporated in any other disclosed or described or suggested form or embodiment as a general matter of design choice. It is the intention, therefore, to be limited only as indicated by the scope of the claims appended hereto.