WO2019214802A1 - Method for simulating the operation of an electronic control unit - Google Patents

Method for simulating the operation of an electronic control unit Download PDF

Info

Publication number
WO2019214802A1
WO2019214802A1 PCT/EP2018/061679 EP2018061679W WO2019214802A1 WO 2019214802 A1 WO2019214802 A1 WO 2019214802A1 EP 2018061679 W EP2018061679 W EP 2018061679W WO 2019214802 A1 WO2019214802 A1 WO 2019214802A1
Authority
WO
WIPO (PCT)
Prior art keywords
simulation
control unit
program
cut1
cut3
Prior art date
Application number
PCT/EP2018/061679
Other languages
French (fr)
Inventor
Rene Ermler
Philipp PUNTEL SCHMIDT
Original Assignee
Siemens Industry Software Nv
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Industry Software Nv filed Critical Siemens Industry Software Nv
Priority to PCT/EP2018/061679 priority Critical patent/WO2019214802A1/en
Publication of WO2019214802A1 publication Critical patent/WO2019214802A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric

Definitions

  • Fig . 2 a schematic diagram illustrating components of a processing unit for simulating the operation of an electronic control unit according to the invention

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention describes a method for simulating the operation of an electronic control unit for running a control program for controlling a technical system. The invention comprises the step of providing a first simulation program (SP1) for simulating the operation of the electronic control unit by executing a number of control unit tasks (CUT1,…, CUT3), each control unit task (CUT1,…, CUT3) being executed uninterrupted and outputting a calculation result (CR1,…, CR3), the calculation time, expressed in a number of simulation steps, being dependent from the type of the executed control unit task (CUT1,…, CUT3). Furthermore a second simulation program (SP2) for simulating the technical system by executing a number of system tasks (ST1, ST2) is provided, at least one of them using a calculation result (CR1,…, CR3) of a control unit task (CUT1,…, CUT3) as an input and at least one of them outputting a system result (SR1) to be processed by a control unit task (CUT1,…, CUT3). Finally, the invention comprises the step of providing a simulation controller (SC) for control- ling the first and the second simulation program (SP2), the simulation controller (SC) being adapted for synchronizing the simulation steps of the first simulation program (SP1) and a processing schedule of the second simulation program (SP2).

Description

Description
Method for simulating the operation of an electronic control unit
The invention relates to a method and a processing unit for simulating the operation of an electronic control unit for running a control program for controlling a technical system.
The simulation of the operation of an electronic control unit for running a control program for controlling a technical system, such as an industrial system, requires coupling of process simulations of discrete and continuous production processes .
Production processes are represented by differential equa tions that are being solved by specific solvers, such as DASSL, Euler, etc. The calculations of the production pro cesses are time-continuous. This implies that differential equations can be calculated for any point in time.
In contrast, the behavior of a programmable logic controller is substituted by a simulation that contains and executes a user program. The user program includes specific control al gorithms as well as processing logic. The behavior of a simu lated programmable logic controller is not comparable with solver-based simulation technologies. The user program in programmable logic controllers represents parallel calcula tions that produce a variety of signals.
If no emulation of the programmable logical controller is used, the simulation of a programmable logical controller has the characteristic that there is no possibility to interrupt parallel calculation processes at any point in time and re sume it at a later time at the same point in time. Once the calculation of a certain time-step started, the simulation is running until the next consistent state is reached. As a re- suit, all parallel calculations are finished. The resulting state includes necessarily the result of all calculations.
In a real programmable logical controller, these calculations would be complex and finished at different points in time. As a consequence, the simulation run provides a wrong state, in dependent how fine a simulation step is chosen. As a further consequence, the timing behavior of the overall simulation of the operation of the electronic control unit for controlling the technical system is wrong. Errors in the real environment might be not simulated or not be able to be simulated. Addi tionally, the simulated behavior might differ from the real environment .
Hence, there is a need for an improved method for simulating the operation of an electronic control unit, such as the aforementioned programmable logical controller, for running a control program for controlling a technical system allowing the consideration of the temporal sequence of different pro cesses in the electronic control unit and the technical sys tem.
Scientific approaches focus on ensuring synchronization by serializing as well as parallelizing of simulations given the homogenization of step sizes as well as numerical optimiza tion of used solvers, model reduction and so on. However, these solutions are not feasible for the aforementioned co simulation scenario.
It is therefore an object of the present invention to provide an improved method for co-simulating the operation of an electronic control unit for running a control program for controlling a technical system, such as an industrial plant.
This object is solved by a method according to the features of claim 1 and a processing unit according to the features of claim 13. In addition, the object is solved by a computer program according to the features of claim 12. Preferred em bodiments are set out in the dependent claims.
According to a first aspect, a method for simulating the op eration of an electronic control unit, such as a programmable logical controller, for running a control program for con trolling a technical system, such as an industrial plant, is suggested .
The method comprises the step of providing a first simulation program for simulating the operation of the electronic con trol unit by executing a number of control unit tasks, each control unit task being executed uninterrupted and outputting a calculation result, the calculation time, expressed in a number of simulation steps, being dependent from the type of the executed control unit task. The number of control unit tasks may be executed in parallel.
The method comprises the step of providing a second simula tion program for simulating the technical system by executing a number of system tasks, at least one of them using a calcu lation result of a control unit task as an input and at least one of them outputting a system result to be processed by a control unit task. The second simulation program may be rep resented by differential equations that are being solved by specific solvers. Since the calculations for controlling the technical system are time-continuous, the differential equa tions can be calculated for any point in time.
The method comprises the step of providing a simulation con troller for controlling the first and a second simulation program. The simulation controller is adapted for synchroniz ing the simulation steps of the first simulation program and a processing schedule of the second simulation program.
The method allows a cycle-exact synchronization of individual simulation steps in a co-simulation scenario where time- independent systems are coupled. The electronic control unit and the technical system, repre sented by the first and the second simulation program, re spectively, do not have to be changed regarding to their in ner structure or the solver regarding process simulations.
The method allows to synchronous couple different simulation tools. The consistency of the exchanged information can be ensured .
The suggested method enables synchronization and information exchange between the first and the second simulation program at well-defined points in time. The points in time can be de termined by technical parameters like a bus cycle time. As a result, inherent securing of the consistency of the exchanged information is given. Furthermore, there exists the possibil ity to trace signals and subsequent information evaluation.
According to a preferred embodiment of the invention, the simulation controller is adapted to command the start of a new simulation stop to the first and the second simulation program for executing a control unit task and a system task. As a result, the co-simulation method is able to synchronize the first and the second program and to exchange information at well-defined points in time.
According to a further preferred embodiment, the simulation controller is adapted to receive a calculation result from the first simulation program and to forward it to the second simulation program. Correspondingly, the simulation control ler is adapted to receive a system result from the second simulation program and to forward it to the first simulation program. According to the invention, an information exchange is made under the control of the simulation controller which is adapted to forward necessary information at well-defined points in time to ensure synchronization.
According to a further preferred embodiment, the simulation controller is adapted to extend the calculation result by adding a time information. By adding a time information, such as a timestamp, to a calculation result, synchronization and information exchange at well-defined points in time can be ensured .
According to a further preferred embodiment, the simulation controller is adapted to extend the calculation result, for receiving a time assigned calculation result, by adding the time information about the simulation step when the calcula tion result would be available if the control program would be run on the real electronic control unit. The time infor mation will be added to the calculation result, for example in the form of a timestamp. The calculation result including the time information is called time assigned calculation re sult. The time information represents that actual time of the calculation result if the control program would be run on a real electronic control unit. In other words, the simulation of the operation of the electronic control unit might result in a faster calculation of the calculation result. However, at that time the calculation result would not be executed by the electronic control unit or the technical system. Hence, the actual time, when the calculation result would be availa ble if the control program would be run on a real electronic control unit, is added as time information to the calculation result. This enables the synchronization and information ex change at well-defined points in time.
According to a further preferred embodiment, the simulation controller is adapted to add, as the time information, the simulation step succeeding that simulation step when the cal culation result would be available if the control program would be run on the real electronic control unit.
According to a further preferred embodiment, the simulation controller is adapted to extend the calculation result by adding the time information upon receiving it from the first simulation program. In other words, adding the time infor mation to the calculation result is made immediately after the information of the calculation result is available. The time of combining the calculation result and the time infor mation is therefore independent from the fact, at what time the time information is in the future.
According to a further preferred embodiment, the simulation controller is adapted to store the time assigned calculation result in a buffer, the buffer having memory cells for stor ing one or more time assigned calculation results, each of the memory cells being assigned to a simulation step. Provid ing a buffer having memory cells enables an easy storage of the time assigned calculation results. In addition, it allows a timeslot-based procedure for buffer storage of the simula tion results. This enables an inherent securing of the con sistency of exchanged information.
In addition, the simulation controller is adapted to store the time assigned calculation result in that memory cell of the buffer, such that the time information about the simula tion step corresponds to the simulation step assigned to the memory cell. This embodiment enables a timeslot-based proce dure for buffer storage of simulation results enabling inher ent securing of the consistency of exchanged information.
According to a further preferred embodiment, the simulation controller is adapted to consecutively retrieve the time as signed calculation result from the memory cells of the buffer to forward respective calculation results to the second simu lation program according to the current executed simulation step. As an advantage, synchronization and information ex change at well-defined points in time may be done by merely retrieving the time assigned calculation result from the memory cell of the buffer which corresponds to the time in formation .
According to a second aspect, a processing unit for simulat ing the operation of an electronic control unit for running a control program for controlling a technical system is provid ed .
The processing unit comprises a first means for executing a first simulation program for simulating the operation of the electronic control unit by executing a number of control unit tasks, each control unit task being executed uninterrupted and outputting a calculation result, the calculation time, expressed in a number of simulation steps, being dependent from the type of the executed control unit task.
The processing unit comprises a second means for executing a second simulation program for simulating the technical system by executing a number of system tasks, at least one of them using a calculation result of a control unit task as an input and at least one of them outputting a system result to be processed by a control unit task.
Last, the processing unit comprises a third means for execut ing a simulation controller for controlling the first and a second simulation program, the simulation controller being adapted for synchronizing the simulation steps of the first simulation program and a processing schedule of the second simulation program.
According to a further preferred embodiment, a computer pro gram product directly loadable into the internal memory of a digital computer, comprising software code portions for per forming the steps of the method according to the description when said product is run on a computer is suggested.
Further embodiments, features, and advantages of the present invention will become apparent from the subsequent descrip tion and dependent claims, taken in conjunction with the ac companying drawings of which show:
Fig. 1: a graph illustrating the behavior of different con trol unit tasks of a first simulation program for simulating the operation of an electronic control unit ;
Fig . 2 a schematic diagram illustrating components of a processing unit for simulating the operation of an electronic control unit according to the invention;
Fig . 3 a schematic diagram illustrating a preferred embod iment of a structure of a processing unit for simu lating the operation of an electronic control unit;
Fig. 4 a timeline illustrating different calculation times of different types of control unit tasks as well as their calculation result according to a behavior as it would be if the control program for controlling a technical system would be run on a real electron ic control unit; and
Fig , a schematic representation of a buffer having
memory cells for storing time assigned calculation results according to the invention.
In the examples described below, it is referred to a first simulation program for simulating the operation of an elec tronic control unit, such as a programmable logical control ler, and a second simulation program for simulating a tech nical system, such as a component of an industrial plant. However, the method described can be used as well for a plu rality of second simulation programs, each simulating a spe cific component of a technical system.
The first simulation program for simulating the operation of an electronic control unit (not shown) contains and executes a user program including specific control algorithms as well as processing logic. Such user program, representing a con trol program for controlling a technical system, consists of parallel calculations that produce a variety of signals. In the first simulation program, there is no possibility to interrupt the parallel calculation processes of the simulated control program at any point in time and resume it at a later time at the same point in time. That means, once the calcula¬ tion of a certain time-step started, the first simulation program is running until the next consistent state is
reached. As a result, all parallel calculations are finished. The resulting state includes necessarily the result of all calculations .
In a real electronic control unit (i.e. a programmable logi¬ cal controller) these calculations can be complex and fin¬ ished at different points in time. As a consequence, if the time behavior is not considered, a simulation run would pro¬ vide wrong states, independent how fine a simulation step is chosen. This leads to the situation that errors in a real en¬ vironment, consisting of the electronic control unit and the technical system, might be not simulated or even be not be able to be simulated. Additionally, the simulated behavior might differ from the real environment.
Fig. 1 illustrates the behavior of different types of control unit tasks CUT1,..., CUT3 executed by a real programmable logi¬ cal controller. The x-axis represents the time t, either the current simulation time or a virtual simulation time. The time axis is divided, by way of example only, in four simula¬ tion steps SIS1,..., SIS4 of the same length. The behavior of the three different types of control unit tasks CUT1,..., CUT3 is illustrated over each other.
The control unit task CUT1 may be of the type "program cy¬ cle". The calculation start CS1 of a specific program cycle starts in simulation step SIS1. The calculation start CS 1 is illustrated by a circle. According to a needed calculation time CT1 (represented by an arrow) which may be varying ac¬ cording to assigned computation resources and/or the kind of computation to be made, the program cycle ends, by way of ex¬ ample only, in simulation step SIS4. Hence, for executing the control unit task CUT1, four simulation steps would be neces¬ sary. As a result, a calculation result CR1 is outputted by the control unit task CUT1, indicated by an "X".
The control unit task CUT2 may be of the type "cyclic event". A control unit task of this type has, compared to the calcu¬ lation time CT1 of the controlled unit task CUT1, a shorter calculation time CT2. The task is carried out regularly, for example to retrieve an information about a rotating speed of a motor or generator, a fill level of a container, and so on. By way of example only, three consecutive control unit tasks CUT2 are illustrated in Fig. 1. The first of them has a cal¬ culation start CS1 in the first simulation step SIS1. A cal¬ culation result CR2 outputted after a calculation time CT2 is available in simulation step SIS2. After a short time, for example, because of no available computational resources, the control unit task CUT2 starts again and finishes in simula¬ tion step SIS3. The third control unit task CUT2, starting in simulation step SIS3 and being finished in simulation step SIS4 has a longer calculation time, for example because of reduced computational resources which are assigned to this control unit task.
The control unit task CUT3 may be of the type "PID (high fre¬ quency)". Such a control unit task is used, for example, for controlling a drive system, a high frequency counter, and so on. As can be easily seen, the calculation time CT3 of the control unit task CUT3 is shorter than the calculation times CT2 and CT1 of the control unit tasks CUT2 and CUT1. In Fig. 1, the first of a number of control unit tasks CUT1 is indi¬ cated with a calculation start CS3 and a calculation result CR3, after execution of the control unit task CUT3 has fin¬ ished. Both, start and end of this cycle of the control unit task CUT3 lie within the simulation step SIS1.
For simulation, the width of the simulation step SIS1,..., SIS4 might be been chosen such that two cycles of control unit task CUT3 can be carried out within one simulation step. In the present example, the first of the two cycles of the con¬ trol unit task CUT3 starts with the beginning of each of the possible simulation steps SIS1,..., SIS4. A short break between each two adjacent cycles of the control unit tasks CUT3 is a result of processing time for the outputted calculation re¬ sult (s) CR3 and assigned computational resources.
As can be easily seen, the control program for controlling the technical system which will be simulated by the first simulation program SP1 consists of a plurality of parallel calculation processes. As soon as one cycle of a control unit task CUT1, CUT2 or CUT3 has started, it cannot be interrupted until the calculation result CR1, CR2 and CR3 has been calcu¬ lated .
The below described method allows a cycle-exact synchroniza¬ tion of individual simulation steps in a co-simulation sce nario where time-independent systems are (to be) coupled. As an advantage, events of different granularity that are calcu¬ lated in a single step can be handled at well-defined points in time and calculation results can be distributed to differ¬ ent points in time that lay, from a simulation point of view, in the future .
The basic concept is illustrated in Fig. 2. It consists of the already mentioned first simulation program SP1 for simu¬ lating the operation of the electronic control unit by exe¬ cuting a number of control unit tasks CUT1,..., CUT3. As ex¬ plained above, each control unit task CUT1,..., CUT3 is execut¬ ed uninterrupted and outputs a calculation result CR1,..., CR3. The calculation time CT1,..., CT3 is dependent from the type of the executed control unit task CUT1,..., CUT3 and may be ex¬ pressed in a number of simulation steps SISi (where i is a positive number) .
Furthermore, a second simulation program SP2 for simulating the technical system is provided. The second simulation pro¬ gram SP2 is adapted to execute a number of system tasks. By way of example only, two system tasks ST1, ST2 are illustrat¬ ed. The second simulation program SP2 is represented by dif¬ ferential equations that can be solved by specific solvers. Calculations of the second simulation program SP2 are time- continuous. This implies that differential equations can be calculated for any point in time.
When executing a system task ST1, ST2, a calculation result CR1,..., CR3 of a control unit task CUT1,..., CUT3 of the first simulation program SP1 is used as input information. At the end of an execution of a system task, a system result SRI is outputted which is to be processed by a control unit task CUT1,..., CUT3.
In the present example, control unit task CUT1 outputs calcu¬ lation results CR1 which is forwarded to system task ST2. Af ter system task ST2 is executed, system task ST1 is executed. As an output, the system task ST1 provides a system result SRI which is provided to control unit task CUT2.
It is to be understood that in a real electronic control unit the exchange of data between different control unit tasks and a system task might be more complicated.
In addition, a simulation controller SC is provided for con trolling the first and a second simulation program SP2. The simulation controller SC is adapted to the start of a new simulation step to the first and the second simulation pro¬ gram SP1, SP2 for executing their respective control unit task(s) CUT1,..., CUT3 and system task(s) ST1, ST2, respective¬ ly. The adaption of the start of a new simulation step is in¬ dicated by the arrows labeled by APT1, APT2 on the left hand side of Figs. 2 and 3.
The main objective of the simulation controller is to syn chronize the simulations steps of the first simulation pro¬ gram SP1 and the processing schedule of the second simulation program SP2 to ensure that an information exchange of calcu- lation results and system results between the first and the second simulation program SP1, SP2 is carried out at well- defined points in time.
The simulation controller SC is further adapted to receive a calculation result CR1,..., CR3 from the first simulation pro¬ gram SP1 and to forward it to the second simulation program SP2. This is indicated, for the present example, by the arrow labeled with CR1 going through the simulation controller SC. Correspondingly, the simulation controller SC is adapted to receive a system result SRI, SR2 from the second simulation program SP2 and to forward it to the first simulation program SP1. This is indicated, for the present example, by the arrow labeled with SRI and going through the simulation controller SC.
The simulation controller SC releases the calculation result CR1,..., CR3 and the system results SRI, SR2 of different time- slices of the two simulation programs SP1 and SP2, either parallel or serialized. If all calculations are finished, the results are distributed over all included systems depending on the connection configuration which was explained by the arrows labeled with CR1 and SRI .
This basic system is extended by a buffer B as outlined in Fig. 3. The buffer B is adapted to store "modified" calcula¬ tion results (and system results, if necessary) . The buffer B consists of a plurality of memory cells MC (Fig. 5) where each of the memory cells MC is assigned to a simulation step. The buffer B can be implemented as a ring buffer.
As described above, the first simulation program SP1 calcu¬ lates results in a parallel manner. These results CR1,..., CR3 will be assigned to future points in time. Therefore, the calculation results CR1,..., CR3 are modified by adding or at¬ taching a time information (so-called timestamp of validity) to the calculated results CR1,..., CR3. A calculated result containing an added time information is called a time as¬ signed calculation result.
Modifying calculation results CR1,..., CR3 is done by the simu¬ lation controller SC. The simulation controller SC is there fore adapted to modify a calculation result CR1,..., CR3 for receiving the time assigned calculation result, by adding the time information (timestamp) about the simulation step when the calculation result would be available if the control pro¬ gram would be run on a real electronic control unit. In simu¬ lation programs whose calculation is based on mathematical formulas, the timestamp is always known and can be provided to the simulation controller SC. Therefore, typically no changes need to be made to system results SRI, SR2, as their time behavior is predictable.
After all calculations are finished, the simulation control¬ ler SC demands the results of all calculations of the first simulation program SP1 as well as the specific timestamps and arrange the results into the buffer B. The buffer B itself is composed of memory cells MC in which the results and the ap¬ propriate timestamps are stored. Therefore, each of the memory cells MC is assigned to a specific simulation step.
The simulation controller SC is adapted to store the time as¬ signed calculation results in that memory cell MC of the buffer B, such that a time information about the simulation step corresponds to the simulation step assigned to the memory cell MC . For future calculations, the simulation con¬ troller SC releases the results that have been recognized as valid, depending on the compared timestamp.
Figs. 4 and 5, taken in conjunction, illustrate this princi¬ ple .
Fig. 4 illustrates a schematic diagram consisting of a number of simulation steps SIS1,..., SIS4 along a current or virtual simulation time t together with the execution of a control unit task CUT1 of the type program cycle (PC) and a control unit task 3 of the typ bus event (BE) . At time t which is the beginning of the simulation step SIS1, two calculations are executed. One calculation CT1 for control unit task CUT1 and one for the control unit task CUT3. Both calculations are ex ecuted in parallel. Results CR1 and CR3 are generated immedi ately. The values of the input signals used for the calcula tions of the control unit task CUT1 and CUT3 are valid at time t, where the input value at calculation start CS1 of the control unit task CUT1 is A and the value of calculation start CS3 of the control unit task CUT3 is A, as well.
The calculation of the control unit task CUT3 results in a calculation result CR3 of the value B with a timestamp in virtual time which lies between time t and time t+1. With re gard to the program cycle of the control unit task CUT1 the calculation result CR3 has the value E with the timestamp (in virtual time) that lies between time t+2 and t+3.
The calculated output signals (B and E) are stored in the buffer B. The calculated output signals B and E are stored in that memory cell MC that is reserved for the related time slice, i.e. t+1 for the value B and t+3 for the value E. Sig nals are communicated to external simulation tools as well as to the simulation controller SC according to the timestamp that is actual regarding to the beginning of the calcula tions. As a result, the buffer B consists of different calcu lation values together with an information at what time slot they are needed.
In the example of Fig. 5, the memory cell MC assigned to the time t contains the value A which is used as input value for the control unit tasks CUT1 and CUT3. The memory cell MC as signed to the timestamp t+1 consists of the value B resulting from the fact that B as calculation result CR3 receives the timestamp t+1. In a similar manner, calculation result with a value T is assigned to the memory cell having the timestamp t+2 and in addition to the value E the calculation result value D is assigned to the memory cell having the timestamp t+3.
The values A to E stored in the buffer B can be retrieved successively from the simulation controller SC at that point of time when they would be available if the values would have been generated by a real programmable logical controller.
The simulation program SP1, SP2 and the simulation controller SC3 may be realized as software components.
According to the foregoing, it is possible to synchronous couple different simulation programs that currently cannot be coupled in a synchronous way. The consistency of the infor mation exchanged is ensured.
The proposed solution can be adapted to other coupling sce narios, e.g. a co-simulation in automotive applications or "pure" simulations of manufacturing processes.
List of reference signs
SP1 first simulation program CUT1 CUT3 control unit task
CS1, CS3 calculation start
CR1 , CR3 calculation result
A,..., E calculation result
CT1, CT3 calculation time
SIS simulation step
SP2 second simulation program
ST1, ST2 system task
SRI, SR2 system result
APT1, APT2 allocation of processing time B buffer
MC memory cell

Claims

Patent Claims
1. A method for simulating the operation of an electronic control unit for running a control program for controlling a technical system, comprising the steps of:
providing a first simulation program (SP1) for simulat ing the operation of the electronic control unit by exe¬ cuting a number of control unit tasks (CUT1,..., CUT3) , each control unit task (CUT1,..., CUT3) being executed un¬ interrupted and outputting a calculation result (CR1,..., CR3) , the calculation time, expressed in a number of simulation steps, being dependent from the type of the executed control unit task (CUT1,..., CUT3) ;
providing a second simulation program (SP2) for simulat ing the technical system by executing a number of system tasks (ST1, ST2), at least one of them using a calcula¬ tion result (CR1,..., CR3) of a control unit task (CUT1,..., CUT3) as an input and at least one of them outputting a system result (SRI) to be processed by a control unit task (CUT1,..., CUT3 ) ;
providing a simulation controller (SC) for controlling the first and the second simulation program (SP2), the simulation controller (SC) being adapted for synchroniz ing the simulation steps of the first simulation program (SP1) and a processing schedule of the second simulation program ( SP2 ) .
2. The method according to claim 1, wherein the simulation controller (SC) is adapted to command the start of a new sim¬ ulation step to the first and the second simulation program (SP1, SP2) for executing a control unit task (CUT1,..., CUT3) and a system task (ST1, ST2) .
3. The method according to claim 1 or 2, wherein the simula tion controller (SC) is adapted to receive a calculation re¬ sult (CR1,..., CR3) from the first simulation program (SP1) and to forward it to the second simulation program (SP2) .
4. The method according to one of the preceding claims, wherein the simulation controller (SC) is adapted to receive a system result (SRI) from the second simulation program (SP2) and to forward it to the first simulation program
(SP1) .
5. The method according to one of the preceding claims, wherein the simulation controller (SC) is adapted to extend the calculation result (CR1,..., CR3) , by adding a time infor¬ mation .
6. The method according to one of the preceding claims, wherein the simulation controller (SC) is adapted to extend the calculation result (CR1,..., CR3) , for receiving a time as¬ signed calculation result (CR1,..., CR3) , by adding the time information about the simulation step when the calculation result (CR1,..., CR3) would be available if the control program would be run on the real electronic control unit.
7. The method according to claim 6, wherein the simulation controller (SC) is adapted to add, as the time information, the simulation step succeeding that simulation step when the calculation result (CR1,..., CR3) would be available if the control program would be run on the real electronic control unit .
8. The method according to claim 6 or 7, wherein the simula¬ tion controller (SC) is adapted to extend the calculation re¬ sult (CR1,..., CR3) by adding the time information upon receiv¬ ing it from the first simulation program (SP1) .
9. The method according to one or the preceding claims 6 to 8, wherein the simulation controller (SC) is adapted to store the time assigned calculation result (CR1,..., CR3) in a buffer (B) , the buffer (B) having memory cells (MC) for storing one or more time assigned calculation results (CR1,..., CR3) , each of the memory cells (MC) being assigned to a simulation step.
10. The method according to claim 9, wherein the simulation controller (SC) is adapted to store the time assigned calcu¬ lation result (CR1,..., CR3) in that memory cell (MC) of the buffer (B) , such that the time information about the simula¬ tion step corresponds to the simulation step assigned to the memory cell (MC) .
11. The method according to claim 9 or 10, wherein the simu lation controller (SC) is adapted to consecutively retrieve the time assigned calculation result (CR1,..., CR3) from the memory cells (MC) of the buffer (B) to forward respective calculation result (CR1,..., CR3) to the second simulation pro¬ gram (SP2) according to the current executed simulation step.
12. Computer program product directly loadable into the in¬ ternal memory of a digital computer, comprising software code portions for performing the steps of one of the preceding claims when said product is run on a computer.
13. A processing unit for simulating the operation of an electronic control unit for running a control program for controlling a technical system, comprising:
a first means for executing a first simulation program (SP1) for simulating the operation of the electronic control unit by executing a number of control unit tasks (CUT1,..., CUT3) , each control unit task (CUT1,..., CUT3) being executed uninterrupted and outputting a calcula¬ tion result (CR1,..., CR3) , the calculation time, ex¬ pressed in a number of simulation steps, being dependent from the type of the executed control unit task (CUT1,..., CUT3) ;
a second means for executing a second simulation program (SP2) for simulating the technical system by executing a number of system tasks (ST1, ST2), at least one of them using a calculation result (CR1,..., CR3) of a control unit task (CUT1,..., CUT3) as an input and at least one of them outputting a system result (SRI) to be processed by a control unit task (CUT1,..., CUT3) ; a third means for executing a simulation controller (SC) for controlling the first and the second simulation pro gram (SP2), the simulation controller (SC) being adapted for synchronizing the simulation steps of the first sim ulation program (SP1) and a processing schedule of the second simulation program (SP2).
PCT/EP2018/061679 2018-05-07 2018-05-07 Method for simulating the operation of an electronic control unit WO2019214802A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2018/061679 WO2019214802A1 (en) 2018-05-07 2018-05-07 Method for simulating the operation of an electronic control unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2018/061679 WO2019214802A1 (en) 2018-05-07 2018-05-07 Method for simulating the operation of an electronic control unit

Publications (1)

Publication Number Publication Date
WO2019214802A1 true WO2019214802A1 (en) 2019-11-14

Family

ID=62245218

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2018/061679 WO2019214802A1 (en) 2018-05-07 2018-05-07 Method for simulating the operation of an electronic control unit

Country Status (1)

Country Link
WO (1) WO2019214802A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2407886A1 (en) * 2009-03-12 2012-01-18 International Business Machines Corporation Simulation method, system, and program
US20150066469A1 (en) * 2010-10-01 2015-03-05 Rockwell Automation Technologies, Inc. Dynamically selecting master clock to manage non-linear simulation clocks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2407886A1 (en) * 2009-03-12 2012-01-18 International Business Machines Corporation Simulation method, system, and program
US20150066469A1 (en) * 2010-10-01 2015-03-05 Rockwell Automation Technologies, Inc. Dynamically selecting master clock to manage non-linear simulation clocks

Similar Documents

Publication Publication Date Title
CN103098032B (en) Emulation mode and system
KR102471141B1 (en) Programmable logic circuits, associated control devices and methods for controlling electrical facilities, in particular nuclear facilities
CN106062648A (en) Controller
CN107220107B (en) Multi-clock multi-task parallel real-time simulation system and method
CN106453127A (en) Token processing method and device
CN111767995B (en) Operation method, device and related product
CN104731651A (en) Power automation task scheduling and triggering method, system and processor
US9513969B2 (en) Method for the management of task execution in a computer system
WO2019214802A1 (en) Method for simulating the operation of an electronic control unit
CN112465281B (en) Stability control strategy prejudging method under real-time power system scene
CN116107728B (en) Task execution method and device, storage medium and electronic equipment
US20220300322A1 (en) Cascading of Graph Streaming Processors
CN115879543A (en) Model training method, device, equipment, medium and system
US20190005167A1 (en) Method for Synchronizing a Plurality of Simulations
JP2007536659A (en) Method and apparatus for simulation of automated systems
CN114675954A (en) Task scheduling method and device
CN109408157B (en) Method and device for determining multi-robot cooperative task
CN111240829B (en) Multi-core task scheduling method and device based on time slices, storage medium and electronic equipment
CN111767999B (en) Data processing method and device and related products
JP2017016250A (en) Barrier synchronization device, barrier synchronization method, and program
Xu et al. Safety-Aware Implementation of Control Tasks via Scheduling with Period Boosting and Compressing
JP2590179B2 (en) Parallel logic simulation control method
Munawar et al. On-time data exchange in fully-parallelized co-simulation with conservative synchronization
CN104077127B (en) Execute the method that the security software being interlaced with one another is applied and non-secure software is applied
CN113495781B (en) Task scheduling method, device, equipment and readable storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18727159

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18727159

Country of ref document: EP

Kind code of ref document: A1