A method for generating a state machine from simulated technology components in a block-based simulation model in a computer-implemented manner

By discretizing and converting the variables in the simulation model and generating a state machine, the problem of not being able to convert the simulation model into a state machine in the prior art is solved, and the saving of computing resources and the application of state machine in control theory is realized.

CN114402329BActive Publication Date: 2025-08-22SIEMENS AG
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN201980100509.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2019-09-17
Publication Date
2025-08-22
Estimated Expiration
2039-09-17

AI Technical Summary

Technical Problem

There is no mechanism in the prior art that can convert simulated technical components in block-based simulation models into state machines.

Method used

The state machine is generated by discretizing the variables in the simulation model, and removing redundant transformations through pre-qualified rules and user input.

Benefits of technology

It realizes automatic conversion from simulation model to state machine, reduces the demand for computing resources, and the generated state mechanism can be used in the fields of control theory and other fields.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114402329B_ABST
    Figure CN114402329B_ABST
Patent Text Reader

Abstract

The invention relates to a method for generating a state machine from a simulated technical component (CO) in a block-based simulation model (SM) in a computer-implemented manner, wherein the simulated technical component (CO) comprises a plurality of variables (SP, TR, CU, VO, HF, TE), each variable (SP, TR, CU, VO, HF, TE) having a value range of variable values, which can be assigned to the respective variable (SP, TR, CU, VO, HF, TE). The method comprises the following steps: a) selecting one or more variables (SP, TR, VO) from a plurality of variables (SP, TR, CU, VO, HF, TE); b) generating a plurality of discrete states (S0, S1, V0, V1, T0, T1) for each selected variable (SP, TR, VO); c) generating an automaton (A1, A2, A3) for each selected variable (SP, VO, TR); d) generating a first product automaton (PA) from the automatons (A1, A2, A3) of all selected variables (SP, TR, VO); e) removing redundant vector transitions (VT') from the first product automaton (PA) based on predefined rules (RU) applied to a simulation model (SM), wherein the first product automaton (PA) not including the removed redundant vector transitions (VT') is a second product automaton (PA'), which is the generated state machine.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a method and a device for computer-implemented generation of a state machine from simulated technical components in a block-based simulation model. The present invention also relates to a corresponding computer program product and a corresponding computer program. Background Art

[0002] Block-based simulation models are known from the prior art. These models can simulate the corresponding technical components modeled by the simulation model. The technical components simulated by the simulation model are described by blocks within the simulation model, wherein blocks can be coupled to other blocks related to other simulated technical components. In the following text, the term technical component will be interpreted broadly and can refer to components of any size that can have subcomponents. For example, a technical component can be a technical system consisting of multiple subcomponents.

[0003] From H.FU ET AL: "Hybrid automata of an integrated motor-transmissionpowertrain for automatic gear shift" (2011AMERICAN CONTROL CONFERENCE (ACC), 2011, pp. 4604-4609, XP055701308, ISSN: 0743-1619, DOI: 10.1109 / ACC.2011.5991137), a hybrid modeling scheme for an integrated motor-transmission system is known.

[0004] The behavior of technology components can also be described using automata, also known as state machines. An automaton for a technology component represents its states and the transitions between these states. The description of technology components using automata enables the application of specific analysis methods. In particular, the behavior of technology components described by automata can be formally verified. This is particularly useful for verifying action sequences based on the functionality of the technology component described by the automata.

[0005] So far, there is no mechanism that can convert the simulated technological components described by the simulation model into automata using a computer.

[0006] It is therefore an object of the present invention to provide a computer-implemented method for generating a state machine (ie, an automaton) from simulated technology components in a block-based simulation model.

[0007] This object is achieved by the independent patent claims. Preferred embodiments of the invention are defined in the dependent claims. Summary of the Invention

[0008] The method of the present invention enables computer-implemented generation of a state machine from a simulated technical component in a block-based simulation model, wherein the simulated technical component is a block in the simulation model and includes a plurality of variables. Each variable has a value range, and when a simulation of the technical component is executed based on the simulation model, the variable value can be assigned to the corresponding variable. Preferably, the variable is a continuous variable with a continuously varying range. However, one or more variables can also be variables assuming discrete values. The simulated technical component can be any technical component, such as a component and / or an electric motor in an industrial automation system.

[0009] In the method of the present invention, the following steps a) to e) are performed: In step a), one or more variables are selected from a plurality of variables. This can be performed automatically or semi-automatically, as described below.

[0010] In step b), a plurality of discrete states are generated for each selected variable, each state comprising a subset of values ​​from the value range of the corresponding selected variable. If the selected variable has a continuous value range, a region associated with the corresponding discrete state is defined within the corresponding value range. Similarly, if the variable has discrete values, one or more discrete variable values ​​can be associated with a discrete state. To generate an automaton describing the state transitions, discretization according to step b) is required, as described below.

[0011] In step c), an automaton is generated for each selected variable, where the automaton is represented by the state of the selected variable generated in step b) and one or more transitions from one state of the selected variable to another state of the selected variable. Each transition is referenced by a label and is associated with a trigger condition that defines the change in the selected variable that causes the transition. In other words, the trigger condition defines that when the value of the selected variable changes, the transition is triggered, such that the change corresponds to a change between the states represented by the transition.

[0012] In step d), a first production automaton is generated from the automata for all selected variables. This first production automaton includes a plurality of vector states representing all combinations of states for all selected variables and a plurality of vector transitions representing all transitions for the individual variables generated in step c). Specifically, each vector transition corresponds to a transition of the individual variable defined in step c) from one state to another within the corresponding vector state, while the states of the other variables within the corresponding vector state remain unchanged. In this first production automaton, the labels and trigger conditions of the corresponding vector transitions correspond to the labels and trigger conditions of the transitions corresponding to the corresponding vector transitions.

[0013] In step e), redundant vector transformations are removed from the first production automaton generated in step d). This removal is based on predefined rules applied to the simulation model. In particular, these predefined rules describe the physics and / or logic behind the behavior of the simulated technical components. Removal of the redundant vector transformations results in a second production automaton that is the first production automaton without the removed redundant vector transformations. This second production automaton is the state machine generated by the method of the present invention. By eliminating the redundant vector transformations, the size of the production automaton is reduced, thereby reducing the computing resources required to process the production automaton.

[0014] The method according to the present invention enables the computer-implemented generation of automata based on simulation models of technical components. This is achieved by appropriately discretizing the variables in the technical components and creating product automata based on the discrete states of the technical system. Consequently, the simulated technical components can be influenced by the methods used to process the automata. For example, the automata generated by the method according to the present invention can be used in implementation schemes based on control theory.

[0015] In a preferred embodiment of the present invention, step a) is performed at least partially automatically based on a predefined selection of at least one variable. That is, the variables that are important for the behavior of the generated state machine are predefined. Alternatively or additionally, step a) is performed at least partially semi-automatically in response to user input via a user interface, the user input specifying at least one variable to be selected.

[0016] In another preferred embodiment of the invention, step b) is performed at least partially automatically based on a predefined subset of values ​​from the value range of the one or more selected variables. Alternatively or additionally, step b) is performed at least partially semi-automatically in response to one or more user inputs defining the subset of values ​​from the value range of the one or more selected variables via a user interface.

[0017] Similar to steps a) and b), step c) can also be performed at least partially automatically for at least one selected variable to generate an automaton for the at least one selected variable. For example, the automaton can be automatically generated when the values ​​of the corresponding variables have a defined order of adjacency. This is the case, for example, when the variables are numbers. For variables with an order, transitions between adjacent regions of values ​​corresponding to states can be defined up and down according to the order.

[0018] Additionally or alternatively, step c) can also be performed at least partially semi-automatically for the at least one selected variable in response to one or more user inputs via a user interface to generate an automaton for the at least one selected variable, the one or more user inputs specifying a transformation of the at least one selected variable. This semi-automatic generation of an automaton is preferably used for variables with non-ordered values.

[0019] In another preferred embodiment, a verification step is automatically performed between step d) and step e), wherein the verification step tests whether the first production robot generates outputs corresponding to the outputs of the simulation model when running a simulation of the technical component based on the simulation model, wherein, in case of successful verification, the method proceeds with step e), whereas (i.e., in case of failure of the verification), the method provides input options on the user interface such that one or more user inputs can modify the first production robot, and then repeats step d) based on the modified first production robot.

[0020] Here and below, successful verification refers to a scenario where the outputs of the simulation model correspond to the outputs of the production automaton, while failed verification refers to a scenario where at least one output of the simulated product does not correspond to the corresponding output of the production automaton. In the above verification steps, the production automaton is the first production automaton. In the verification steps defined below, the production automaton is the second or third production automaton. The above verification steps, as well as the verification steps described below, test whether the production automaton corresponds to the simulated technical component in the simulation model. If not, a method is provided for the user to modify the automaton.

[0021] In another preferred embodiment, a verification step is automatically performed after step e), wherein the verification step tests whether the second production robot generates outputs corresponding to the outputs of the simulation model when a simulation of the technical component is run based on the simulation model, wherein in the event of a successful verification, the method is terminated or continued with another step without enabling manual modification of the second production robot. Conversely, i.e., in the event of a verification failure, the method provides an input option on the user interface enabling one or more user inputs to modify the second production robot, and then repeats step e) based on the modified second production robot.

[0022] In another preferred embodiment, the second product automaton is further processed after step e) by step f) comprising one or more merge operations, wherein, in a respective merge operation, multiple vector states of the second product automaton having different values ​​of a single variable are merged into a common vector state to replace the merged vector state, and vector transformations involving the merged vector state are applied to vector transformations involving the common vector state, thereby generating a third product automaton. This step has the advantage of reducing the size of the second product automaton.

[0023] Depending on the circumstances, at least one merge operation is performed automatically based on predefined rules and / or semi-automatically in response to one or more user inputs via a user interface, the one or more user inputs specifying vector states to be merged.

[0024] In a particularly preferred embodiment, the vector transitions of the merged vector states are applied to vector transitions involving common states as follows:

[0025] i) if the vector transition refers to a vector transition from one merged vector state to another merged vector state, generating a self-loop transition from a common vector state to a common vector state having a new label and the same triggering condition as the vector transition from the merged vector state to the other merged vector state;

[0026] ii) if there are multiple vector transitions from non-merged vector states to different merged vector states, generating a single vector transition with a new label, the trigger condition of which is the OR concatenation of the trigger conditions of the multiple vector transitions;

[0027] iii) If there are multiple vector transitions from different merged vector states to different non-merged vector states referenced by the same label and trigger condition, each of the multiple vector transitions receives a different label and trigger condition that distinguishes between the different merged vector states.

[0028] In another embodiment of the present invention, a verification step is automatically performed after the above-mentioned step f), wherein, when a simulation of the technical component is run based on the simulation model, the verification step tests whether the third product robot generates outputs corresponding to the outputs of the simulation model, wherein, in the case of successful verification, the method is terminated, otherwise (in the case of verification failure), the method provides input options on the user interface, enabling one or more user inputs to modify the third product robot, and then repeating step f) based on the modified second product robot.

[0029] In addition to the above-described method, the present invention also relates to an apparatus suitable for performing the computer-implemented method of the present invention or one or more preferred embodiments of the method. In other words, the apparatus comprises one or more processors configured to perform steps a) to e) of the method according to the present invention and optionally to perform the steps of the preferred embodiments of the present invention.

[0030] Furthermore, the invention relates to a computer program product with a program code stored on a non-transitory machine-readable carrier for performing the method according to the invention or one or more preferred embodiments of the method, when the program code is executed on a computer.

[0031] Furthermore, the invention relates to a computer program having a program code for performing the method according to the invention or one or more preferred embodiments of the method, when the program code is executed on a computer. BRIEF DESCRIPTION OF THE DRAWINGS

[0032] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, in which

[0033] Figure 1 The following is a diagram showing a simulated technical component, based on which a variant of the present invention will be described;

[0034] Figure 2 A flow chart illustrating the steps of an embodiment of the present invention is shown;

[0035] Figure 3 Shown in Figure 2 A diagram of the automaton generated in step S3;

[0036] Figure 4 Shown in Figure 2 a diagram of the first product automaton generated in step S4;

[0037] Figure 5 Shown in Figure 2 a diagram of the second product robot generated in step S5; and

[0038] Figure 6 Shown in Figure 2 FIG. 1 is a diagram of the third product robot generated in step S6 . DETAILED DESCRIPTION

[0039] In the following, we will refer to Figure 1 The simulated technical component CO is shown to illustrate an embodiment of the present invention. This component is an electric motor in a block-based simulation model, with corresponding blocks formed in the model. The block-based simulation model is the well-known Amesim model for DC motors. However, other known simulation models for simulating such motors or other technical components can be used to implement the present invention, for example, simulation models such as SysML or Simulink.

[0040] During the simulation of the Amesim model, Figure 1 The operation of the motor in FIG is described by the values ​​of the variables at ports P1, P2, and P3. Port P1 provides a variable speed SP and a variable torque TR. Speed ​​refers to the rotational speed of the motor CO, while torque refers to the torque provided by the motor. Port P2 provides variable current CU and voltage VO, which are the current and voltage flowing through the DC motor. Port P3 provides heat flow rate HF and temperature TE, which are the heat flow rate and temperature of the motor.

[0041] like Figure 2 As shown, a simulation model SM of a simulated electric machine CO is used as input for the method described below. Figure 2 The method converts the motor described by the simulation model SM into a state machine having the same behavior as the motor in the simulation model. Such a state machine (also called an automaton) can then be used for different purposes, such as implementation in control theory or other fields where automata are commonly used.

[0042] exist Figure 2 In step S1, some variables among the variables SP, TR, CU, VO, HF and TC are selected. These variables are related to the aspects modeled in the state machine. The selection can be predefined. Additionally or alternatively, some selected variables can be defined based on input IN on the user interface UI. In other words, the selection is based on Figure 1 The method handles user input IN.

[0043] In the embodiment described herein, three variables SP, TR, and VO are selected as relevant variables. Each of the selected variables SP, TR, and VO is characterized by a continuous range of values ​​that can be assumed by the corresponding variable. However, in order to use these variables for a state machine, it is necessary to generate discrete states for these variables. This discretization is done in Figure 1 Executed in step S2.

[0044] In step S2, each variable is divided into two regions, namely, the region where the value of the variable is 0 and the region where the value of the variable is greater than 0. Each region forms a corresponding state. For the variable speed SP, the speed equal to 0 is represented as state S0 (SP=0), and the state where the speed is greater than 0 is represented as state S1 (SP>0). For the variable torque TR, the state of zero torque is represented as state T0 (TR=0), and the state where the torque is greater than 0 is represented as state T1 (TR>0). For the variable voltage VO, the state with zero voltage is represented as state V0 (VO=0), and the state with voltage greater than 0 is represented as state V1 (VO>0). The above states are as follows Figures 3 to 6 As shown, it will be described later.

[0045] As a result of step S2, the above-defined states S0, S1, V0, V1, T0 and T1 are provided for defining automata in step S3, as described below. In step S3, automata A1 is generated for variable SP, automata A2 is generated for variable VO, and automata A3 is generated for variable TR. These automata are as follows: Figure 3 Each automaton is characterized by the states that its variables can assume, and the possible transitions between states (e.g. Figure 3 ).

[0046] from Figure 3As can be seen, there are six transitions TS1 to TS6. Each transition is specified by a label and a trigger condition that defines the change in the corresponding variable that causes the transition. Figure 3 Variable SP of automaton A1 has a transition TS1 from state S0 to S1, associated with label L1 and trigger condition CO1 defined by SP>0. Furthermore, variable SP has a transition TS2 from state S1 to S0, associated with label L2 and trigger condition CO2 defined by SP=0. Variable VO of automaton A2 has a transition TS3 from state V0 to state V1, associated with label L3 and trigger condition CO3 defined by VO>0. Furthermore, variable VO has a transition TS4 from state V1 to state V0, associated with label L4 and trigger condition CO4 defined by VO=0. Furthermore, variable TR of automaton A3 has a transition TS5 from state T0 to state T1, associated with label L5 and trigger condition CO5 defined by T>0. Furthermore, variable TR has a transition TS6 from state T1 to state T0, associated with label L6 and trigger condition CO6 defined by TR=0.

[0047] In the embodiment described herein, an automaton is automatically generated. This is because there is an ordered set of state variables based on adjacent value ranges of the variable. Therefore, transitions between adjacent ranges can be defined as corresponding state transitions. However, if the variable has unordered ranges, step S3 can also be performed semi-automatically. In this case, a graphical representation of the ranges is generated on the user interface UI. Based on this graphical representation, the user can define corresponding transitions between the ranges through user input IN, thereby generating the corresponding automaton.

[0048] Based on the automata A1, A2, A3 generated in step S3, a first production automata PA is created in step S4, which contains the labels and trigger conditions defined for the individual automata A1 to A3. Figure 4 The product automaton is based on a vector state consisting of the states of the three variables and a vector transition that refers to the change of the state of a single variable while leaving the other variables unchanged. Figure 4 as well as Figure 5 and Figure 6 The vector transitions in are indicated by arrows VT (only partially indicated by this reference numeral) between vector states, ie combinations of states of the variables SP, TR and VO.

[0049] The corresponding vector conversion VT receives and Figure 3 The transitions of individual variables within the corresponding automaton have the same labels and triggering conditions. Figure 4, the vector transitions for the variable SP from state S0 to state S1 are shown in FIG. In other words, the transitions from vector state S0T0V0 to vector state S1T0V0, the transitions from vector state S0T0V1 to vector state S1T0V1, the transitions from vector state S0T1V0 to vector state S1T1V0, and the transitions from vector state S0T1V1 to vector state S1T1V1 receive label L1 and trigger condition CO1 (SP>0), as shown in FIG. Figure 3 is defined for automaton A1. In the same way, Figure 4 The other vector transformations in are based on Figure 3 It is limited by the conversion above.

[0050] like Figure 2 As shown, the first production automaton PA generated by step S4 is subsequently subjected to a verification step VS1, wherein the verification step tests whether the first production automaton PA generates outputs corresponding to the outputs of the simulation model SM when a simulation of the motor CO is run based on the simulation model SM. In the event of success of the verification step VS1 (branch SU from the verification step VS1), the method continues with step S5 described below. In the event of failure of the verification step VS1 (branch FA from the verification step VS1), the first production automaton PA can be modified in a modification step MO1. This modification is performed by the user based on user input IN on the user interface UI. After the modification step MO1, the verification step VS1 is repeated for the modified production automaton. As mentioned above, a successful verification is a result in which the outputs of the simulation model and the corresponding production automaton are consistent, while a failed verification occurs when at least one output of the simulation model differs from the corresponding output of the automaton.

[0051] After the verification step VS1 is successful, in step S5 redundant vector transitions in the first production automaton PA are removed based on predefined rules RU applied to the simulation model SM. These rules refer to Figure 1 The physical behavior of the motor CO in . Removal of this redundant vector transformation yields Figure 4 The second product automaton PO' is shown. The removed redundant vector transitions are indicated by the dashed arrows VT'. The removal of the vector transitions VT is based on the following physical laws reflected by the predefined rules RU:

[0052] - If the voltage is at state V0, then the transition of the variable TR from T0 to T1 is not possible (no voltage no torque).

[0053] - If the voltage is in the V0 state, then the transition of the variable SP from S0 to S1 is not possible (no voltage no speed).

[0054] - If the voltage is in the V1 state, then the transition of the variable TR from T1 to T0 is not possible (if voltage and torque exist, then the torque remains unchanged).

[0055] like Figure 2 As shown, the second production automation machine PA' undergoes another verification step VS2, in which it is tested whether the second production automation machine PA' generates outputs corresponding to the outputs of the simulation model SM when a simulation of the motor CO is run based on the simulation model SM. In the event of failure in the verification step VS2 (branch FA from step VS2), the second production automation machine is modified in a modification step M02 based on the user input IN on the user interface UI. Thereafter, step S5 is repeated based on the modified second production automation machine.

[0056] If verification step VS2 is successful (branch SU from step VS2), the method proceeds to step S6. Step S6 and the subsequent verification and modification steps VS3 and M03 are optional, and the second product automaton generated in step S5 can be the result of the present invention, i.e., the generated state machine. This automaton exhibits the same behavior as the simulation model SM of the motor CO and can be used in various applications, particularly in control theory.

[0057] exist Figure 2 In step S6, the multiple states of the second automaton PO' are merged. This merging can be done automatically, for example, states with common variable regions or region intersections can be combined into a single state. Alternatively or optionally, the merging can be performed semi-automatically in case a user input IN on the user interface UI specifies the states to be merged. The merging of states results in transitions starting or ending from a common vector state representing the multiple merged states, thereby resulting in adaptation of these transitions. This will be referred to Figure 6 To describe, Figure 6 shows that by merging two states from Figure 5 The second automaton PA' generates the third automaton PA". Figure 6 In the scene, Figure 5 The vector states S0T0V0 and S0T1V0 shown in are combined into a common vector state S0T*V0 because in the no-speed and no-voltage case, torque is irrelevant.

[0058] Therefore, the transitions from the merged state S0T0V0 to the merged state S0T1V0 and from the merged state S0T1V0 to the merged state S0T0V0 need to be represented by new transitions in the form of self-loop transitions. These self-loop transitions are in Figure 6Indicated by two arrows in the figure, they begin and end in the common vector state S0T*V0. Each of these self-loop transitions receives a different label and trigger condition relative to the original transition between the merged states. In other words, one self-loop transition has a label SL and a trigger condition SCO defined by TR=0 (reflecting the transition from the merged state S0T1V0 to the merged state S0T0V0), while the other self-loop transition has a label SL' and a trigger condition SCO' defined by TR>0 (reflecting the transition from the merged state S0T0V0 to the merged state S0T1V0).

[0059] Due to the generation of the common vector state S0T*V0, there are now two vector transitions from this common state to different non-merged states, namely to S0T0V1 and to S0T1V1. In order to make this non-deterministic behavior deterministic, different labels and trigger conditions are used for these transitions. In other words, the transition from the common vector state S0T*V0 to the vector state S0T1V1 receives the trigger condition CO' defined by the label L' and VO>0 and TR>0. This corresponds to Figure 5 In addition, the transition from the common vector state S0T*V0 to the non-merged vector state S0T0V1 is represented by a different label L' and a trigger condition CO' defined by VO>0 and TR=0. This corresponds to Figure 5 The vector transition from state S0T0V0 to state S0T0V1 in .

[0060] In the process of Figure 6 After the merger shown, the resulting third product, Automata PA, again undergoes Figure 2 A verification step VS3 is shown. In this verification step, when a simulation of the electric machine CO is run based on the simulation model SM, it is tested whether the third product automaton PA" generates outputs corresponding to the outputs of the simulation model SM. If the verification is successful (branch SU from step VS3), the method ends END with the successfully verified third product automaton. In case of failure of the verification step VS3 (branch FA from step VS3), the third product automaton is modified in a modification step MO3 based on the user input IN on the user interface UI. After the modification step MO3, the merging according to step S6 is repeated based on the modified third product automaton.

[0061] The present invention as described above has several advantages. In particular, an automaton is generated, which associates the automaton state with the state space of the block-based simulation model, making it possible to verify the state changes between the simulation and the automaton and to interpret the simulation changes as state changes of the automaton. The transition in the automaton refers to the physically possible state changes of the variables of the corresponding technical components. The triggering conditions of the transition have a physical interpretation in the state space. The ports and interfaces of the block-based simulation model can be mapped to the transitions and labels of the automaton, allowing the combination of the automaton to be consistent with the combination of the simulation model. Due to the coupling of the simulation model and the automaton, the automaton can theoretically be used for verification. In addition, the automaton helps to interpret the simulation trace based on the state changes of the relevant system state without having to understand the underlying simulation model. The automaton generated by the present invention can be used for automatic analysis and error recovery of erroneous behaviors in the simulated technical components (such as machines and mechanical equipment).

Claims

1. A method for generating a state machine from a simulated electric motor (CO) in a block-based simulation model (SM) in a computer-implemented manner, wherein: A state machine includes a motor (CO), wherein the motor (CO) being simulated is a block in the simulation model (SM), and the motor includes a plurality of variables, the plurality of variables including a variable speed (SP), a variable torque (TR), a variable current (CU), a variable voltage (VO), a heat flow rate (HF), and a temperature (TE), each of the variable speed (SP), the variable torque (TR), the variable current (CU), the variable voltage (VO), the heat flow rate (HF), and the temperature (TE) having a value range of a variable value, and when a simulation of the motor (CO) is run based on the simulation model (SM), the variable value can be assigned to a corresponding variable among the variable speed (SP), the variable torque (TR), the variable current (CU), the variable voltage (VO), the heat flow rate (HF), and the temperature (TE), and the method includes the following steps: a) selecting one or more variables (SP, TR, VO) from the variable speed (SP), the variable torque (TR), the variable current (CU), the variable voltage (VO), the heat flow rate (HF) and the temperature (TE); b) generating a plurality of discrete states (S0, S1, V0, V1, T0, T1) for each selected variable (SP, TR, VO), each state (S0, S1, V0, V1, T0, T1) comprising a subset of values ​​from the value range of the corresponding selected variable (SP, TR, VO); c) generating an automaton (A1, A2, A3) for each selected variable (SP, VO, TR), the respective automaton (A1, A2, A3) being represented by a state (S0, S1, V0, V1, T0, T1) of the respective selected variable (SP, TR, VO) and one or more transitions (TS1, TS2, ..., TS6) of the respective selected variable (SP, TR, VO) from one state to another, the respective transitions (TS1, TS2, ..., TS6) being referenced by labels (L1, L2, ..., L6) and being associated with trigger conditions (CO1, CO2, ..., CO6) defining a change of the respective selected variable (SP, TR, VO) that causes the respective transition (TS1, TS2, ..., TS6); d) generating a first product automaton (PA) from said automata (A1, A2, A3) of all selected variables (SP, TR, VO), said first product automaton (PA) comprising a plurality of vector states (S0T0P0, S1T0V0, ..., S1T1V1), said vector states representing all combinations of states (S0, S1, V0, V1, T0, T1) of the selected variables (SP, VO, TR), said first product automaton further comprising a plurality of vector transitions (VT) for all transitions (TS1, TS2, ..., TS6) of the individual variables among said variable speed (SP), said variable torque (TR), said variable current (CU), said variable voltage (VO), said heat flow rate (HF) and said temperature (TE) generated in step c), each vector transition (VT) corresponding to a value in a corresponding a transition (TS1, TS2, ..., TS6) of a single variable (SP, VO, TR) in the vector state (S0T0P0, S1T0V0, ..., S1T1V1) from one state to another, wherein the states (S0, S1, V0, V1, T0, T1) of other variables (SP, VO, TR) in the corresponding vector state (S0T0P0, S1T0V0, ..., S1T1V1) remain unchanged, wherein the labels (L1, L2, ..., L6) and trigger conditions (CO1, CO2, ..., CO6) of the corresponding vector transition (VT) correspond to the labels (LA1, LA2, ..., LA6) and trigger conditions (CO1, CO2, ..., CO6) of the transitions (TS1, TS2, ..., TS6) corresponding to the corresponding vector transition (VT); e) removing redundant vector transitions (VT') from said first production automaton (PA) based on predefined rules (RU) applied to said simulation model (SM), said first production automaton (PA) not including the removed redundant vector transitions (VT') being a second production automaton (PA'), said second production automaton being a generated state machine, wherein the size of the first product automation (PA) is reduced compared to the simulation model (SM) so that less computing resources are required when processing the first product automation (PA), Each variable among the variable speed (SP), the variable torque (TR), the variable current (CU), the variable voltage (VO), the heat flow rate (HF) and the temperature (TE) is divided into two regions, the two regions including a region where the value of the variable is 0 and a region where the value of the variable is greater than 0, and each region forms a corresponding state.

2. The method according to claim 1, wherein Step a) is performed at least partly automatically based on a predefined selection of at least one variable (SP, TR, VO), and / or wherein step a) is performed at least partly semi-automatically in response to one or more user inputs (IN) via a user interface (UI), the one or more user inputs (IN) specifying at least one variable (SP, TR, VO) to be selected.

3. The method according to claim 1 or 2, wherein: Step b) is performed at least partially automatically based on a predefined subset of values ​​from a range of values ​​of one or more selected variables (SP, TR, VO), and / or wherein step b) is performed at least partially semi-automatically in response to a user input (IN) via a user interface (UI) defining a subset of values ​​from a range of values ​​of one or more selected variables (SP, TR, VO).

4. The method according to claim 1 or 2, wherein: Step c) is performed at least partially automatically for at least one selected variable in order to generate an automaton (A1, A2, A3) for at least one selected variable (SP, TR, VO), and / or wherein step c) is performed at least partially semi-automatically for at least one selected variable (SP, TR, VO) in response to one or more user inputs (IN) via a user interface (UI) in order to generate an automaton (A1, A2, A3) for at least one selected variable (SP, VO, TR), the one or more user inputs (IN) specifying a transition (TS1, TS2, ..., TS6) of the at least one selected variable (SP, TR, VO).

5. The method according to claim 1 or 2, wherein: A verification step (VS1) is automatically performed between steps d) and e), wherein the verification step (VS1) tests whether the first production automation (PA) generates outputs corresponding to the outputs of the simulation model (SM) when running a simulation of the electric motor (CO) based on the simulation model (SM), wherein in case of successful verification the method proceeds with step e), otherwise the method provides input options on a user interface (UI) enabling one or more user inputs (IN) to modify the first production automation (PA), and then repeats step d) based on the modified first production automation (PA).

6. The method according to claim 1 or 2, wherein: After step e), a verification step (VS2) is automatically performed, wherein the verification step (VS2) tests whether the second production automation (PA') generates outputs corresponding to the outputs of the simulation model (SM) when running a simulation of the electric motor (CO) based on the simulation model (SM), wherein in case of successful verification the method terminates or continues with another step without enabling manual modification of the second production automation (PA'), whereas the method provides input options on a user interface (UI) enabling one or more user inputs (IN) to modify the second production automation (PA'), and then repeats step e) based on the modified second production automation (PA').

7. The method according to claim 1 or 2, wherein: The second product automaton (PA') is further processed after step e) by step f) including one or more merging operations, wherein in the corresponding merging operations, multiple vector states (S0T0V0, S0T1V0) of the second product automaton (PA') having different values ​​of individual variables among the variable speed (SP), the variable torque (TR), the variable current (CU), the variable voltage (VO), the heat flow rate (HF) and the temperature (TE) are merged into a common vector state (S0T*V0) to replace the merged vector state (S0T0V0, S0T1V0), and the vector transformation (VT) involving the merged vector state (S0T0V0, S0T1V0) is applied to the vector transformation involving the common vector state, thereby generating a third product automaton (PA'').

8. The method according to claim 7, wherein: The at least one merge operation is automatically performed based on predefined rules, and / or wherein the at least one merge operation is semi-automatically performed in response to one or more user inputs (IN) via a user interface (UI), the one or more user inputs (IN) specifying vector states (S0T0V0, S1T1V0) to be merged.

9. The method according to claim 7, wherein: The vector transformation (VT) of the merged vector state (S0T0V0, S1T1V0) is applicable to the vector transformation (VT) involving the common state (S0T*V0) as follows: i) if a vector transition (VT) refers to a vector transition from one merged vector state (S0T0V0, S1T1V0) to another merged vector state (S0T0V0, S0T1V0), a self-loop transition is generated from a common vector state (S0T*V0) to a common vector state (S0T*V0), the common vector state (S0T*V0) having a new label (SL, SL') and the same trigger condition (SCO, SCO') as the vector transition from the merged vector state (S0T0V0, S0T1V0) to the other merged vector state (S0T0V0, S0T1V0); ii) if there are multiple vector transitions (VT) from non-merged vector states to different merged vector states (S0T0V0, S0T1V0), a single vector transition (VT) with a new label is generated, and the trigger condition is the "OR" concatenation of the trigger conditions of the multiple vector transitions (VT); iii) if there are multiple vector transitions (VTs) from different merged vector states to different non-merged vector states referenced by the same label and trigger condition, each of the multiple vector transitions (VTs) receives a different label (L', L'') and trigger condition (CO', CO'') that distinguishes between the different merged vector states.

10. The method according to claim 7, wherein: After step f), a verification step (VS3) is automatically performed, wherein the verification step tests whether a third production automation (PA'') generates outputs corresponding to the outputs of the simulation model (SM) when a simulation of the electric motor (CO) is run based on the simulation model (SM), wherein in case of successful verification the method is terminated, otherwise the method provides an input option on a user interface (UI) enabling one or more user inputs (IN) to modify the third production automation (PA''), and then repeating step f) based on the modified third production automation (PA'').

11. An apparatus for generating a state machine in a computer-implemented manner from a simulated electric motor (CO) in a block-based simulation model (SM), wherein: A state machine includes a motor (CO), wherein the motor (CO) being simulated is a block in the simulation model (SM) and the motor includes a plurality of variables, the plurality of variables including a variable speed (SP), a variable torque (TR), a variable current (CU), a variable voltage (VO), a heat flow rate (HF), and a temperature (TE), each of the variable speed (SP), the variable torque (TR), the variable current (CU), the variable voltage (VO), the heat flow rate (HF), and the temperature (TE) having a value range of variable values, and when a simulation of the motor (CO) is run based on the simulation model (SM), the variable values ​​can be assigned to corresponding variables of the variable speed (SP), the variable torque (TR), the variable current (CU), the variable voltage (VO), the heat flow rate (HF), and the temperature (TE), wherein the apparatus is configured to perform a method comprising the following steps: a) selecting one or more variables (SP, TR, VO) from the variable speed (SP), the variable torque (TR), the variable current (CU), the variable voltage (VO), the heat flow rate (HF) and the temperature (TE); b) generating a plurality of discrete states (S0, S1, V0, V1, T0, T1) for each selected variable (SP, TR, VO), each state (S0, S1, V0, V1, T0, T1) comprising a subset of values ​​from the value range of the corresponding selected variable (SP, TR, VO); c) generating an automaton (A1, A2, A3) for each selected variable (SP, VO, TR), the respective automaton (A1, A2, A3) being represented by a state (S0, S1, V0, V1, T0, T1) of the respective selected variable (SP, TR, VO) and one or more transitions (TS1, TS2, ..., TS6) of the respective selected variable (SP, TR, VO) from one state to another, the respective transitions (TS1, TS2, ..., TS6) being referenced by labels (L1, L2, ..., L6) and the respective transitions being associated with trigger conditions (CO1, CO2, ..., CO6) defining a change of the respective selected variable (SP, TR, VO) that causes the respective transition (TS1, TS2, ..., TS6); d) generating a first product automaton (PA) from said automata (A1, A2, A3) of all selected variables (SP, TR, VO), said first product automaton (PA) comprising a plurality of vector states (S0T0P0, S1T0V0, ..., S1T1V1), said vector states representing all combinations of states (S0, S1, V0, V1, T0, T1) of the selected variables (SP, VO, TR), said first product automaton further comprising a plurality of vector transitions (VT) for all transitions (TS1, TS2, ..., TS6) of the individual variables among said variable speed (SP), said variable torque (TR), said variable current (CU), said variable voltage (VO), said heat flow rate (HF) and said temperature (TE) generated in step c), each vector transition (VT) corresponding to a value in a corresponding a transition (TS1, TS2, ..., TS6) of a single variable (SP, VO, TR) from one state to another state in a vector state (S0T0P0, S1T0V0, ..., S1T1V1), wherein the states (S0, S1, V0, V1, T0, T1) of other variables (SP, VO, TR) in the corresponding vector state (S0T0P0, S1T0V0, ..., S1T1V1) remain unchanged, wherein the labels (L1, L2, ..., L6) and trigger conditions (CO1, CO2, ..., CO6) of the corresponding vector transition (VT) correspond to the labels (LA1, LA2, ..., LA6) and trigger conditions (CO1, CO2, ..., CO6) of the corresponding vector transition (VT); e) removing redundant vector transitions (VT') from said first production automaton (PA) based on predefined rules (RU) applied to said simulation model (SM), said first production automaton (PA) not including the removed redundant vector transitions (VT') being a second production automaton (PA'), said second production automaton being a generated state machine, wherein the size of the first product automation (PA) is reduced compared to the simulation model (SM) so that less computing resources are required when processing the first product automation (PA), Each variable among the variable speed (SP), the variable torque (TR), the variable current (CU), the variable voltage (VO), the heat flow rate (HF) and the temperature (TE) is divided into two regions, the two regions including a region where the value of the variable is 0 and a region where the value of the variable is greater than 0, and each region forms a corresponding state.

12. The device according to claim 11, wherein The apparatus is configured to perform the method according to any one of claims 2 to 10.

13. A computer program product having a program code stored on a non-transitory machine-readable carrier for performing the method according to any one of claims 1 to 10 when the program code is executed on a computer.

Citation Information

Patent Citations

  • Method and apparatus for analyzing state based system model

    CN1295686A

  • Method of reducing finite controlling automata and corresponding computer-readable medium

    EP1202141A1