Method, apparatus and program for testing control program
31 claims: 10 independent, 21 dependent
- 1制御要求仕様が要求仕様記述言語にて記述された制御モデルから所定のプログラム言語にて記述された制御プログラムを自動生成する自動コード生成手段を用いて該所定のプログラム言語にて記述された制御プログラムを検査する制御プログラムの検査方法において、 前記制御モデルの挙動をシミュレーションするシミュレーション手段の動作結果と前記制御プログラムを実行するプログラム実行手段の動作結果とのそれぞれ対応する動作結果毎にこれらを関連付けして出力して、前記制御モデル及び前記制御プログラムの少なくとも一方の異常の有無を検査する ことを特徴とする制御プログラムの検査方法。
- 2前記関連付けが、前記自動コード生成手段による制御プログラムの自動生成に際して取得される前記制御モデルと該制御モデルから生成される制御プログラムとの対応関係を表す対応情報に基づいて行われる 請求項1記載の制御プログラムの検査方法。
- 3前記関連付けが、前記制御モデル及び前記制御プログラムのいずれか一方に対して動作の停止箇所を指定するブレークポイントが設定されることに基づき、他方に対しても前記対応情報に基づきその対応するブレークポイントが設定されることによって行われる 請求項2記載の制御プログラムの検査方法。
- 4前記ブレークポイントが、前記制御モデルを構成する各機能ブロック毎に設定可能とされる 請求項3記載の制御プログラムの検査方法。
- 5前記各動作結果についてのそれぞれ関連付けされた動作結果の出力が、前記プログラム実行手段により前記制御プログラムを1行ずつ実行及び停止させることによって行われる 請求項2記載の制御プログラムの検査方法。
- 6請求項2~5のいずれかに記載の制御プログラムの検査方法において、 前記異常の有無の検査が、前記関連付けされた前記シミュレーション手段の動作結果と前記プログラム実行手段の動作結果とを逐次比較する比較手段によって行われる ことを特徴とする制御プログラムの検査方法。
- 7前記比較手段によるシミュレーション手段の動作結果と前記プログラム実行手段の動作結果との逐次比較が、前記対応情報に基づく前記制御モデルのシミュレーション順序と前記制御プログラムの実行順序との比較として行われる 請求項6記載の制御プログラムの検査方法。
- 8前記比較手段によるシミュレーション手段の動作結果と前記プログラム実行手段の動作結果との逐次比較が、前記対応情報に基づき前記制御モデルのシミュレーションによって演算される変数値と前記制御プログラムの実行によって演算される変数値との比較として行われる 請求項6又は7記載の制御プログラムの検査方法。
- 9前記対応情報に基づく前記制御モデルのシミュレーションによって演算される変数値と前記制御プログラムの実行によって演算される変数値との比較による異常の有無の検査が、前記制御モデルのシミュレーションによって演算される変数値と前記制御プログラムの実行によって演算される変数値との差が許容範囲内にないか否かによって行われる 請求項8記載の制御プログラムの検査方法。
- 10請求項6~9のいずれかに記載の制御プログラムの検査方法において、 前記比較手段により異常がある旨の判断がなされたとき、その時点での前記制御モデルのシミュレーション箇所と前記制御プログラムの実行箇所とを前記検査の結果として出力する ことを特徴とする制御プログラムの検査方法。
- 11請求項1~10のいずれかに記載の制御プログラムの検査方法において、 前記検査に伴って前記制御モデルのシミュレーション及び前記制御プログラムの実行が停止されるとき、前記制御モデルのシミュレーションによって演算される変数値の停止箇所において保持されている値及び前記制御プログラムの実行によって演算される変数値の停止箇所において保持されている値の少なくとも一方を変更可能とする ことを特徴とする制御プログラムの検査方法。
- 12請求項1~11のいずれかに記載の制御プログラムの検査方法において、 少なくとも前記制御モデルの挙動をシミュレーションするシミュレーション手段の動作結果と前記制御プログラムを実行するプログラム実行手段の動作結果とを表示手段に出力して可視表示させる ことを特徴とする制御プログラムの検査方法。
- 13制御要求仕様が要求仕様記述言語にて記述された制御モデルから所定のプログラム言語にて記述された制御プログラムを自動生成する自動コード生成手段を用いて該所定のプログラム言語にて記述された制御プログラムを検査する制御プログラムの検査装置において、 前記制御モデルの挙動をシミュレーションするシミュレーション手段の動作結果と前記制御プログラムを実行するプログラム実行手段の動作結果とのそれぞれ対応する動作結果毎にこれらを関連付けして出力する同期手段を備え、これら出力される動作結果に基づいて前記制御モデル及び前記制御プログラムの少なくとも一方の異常の有無を検査する ことを特徴とする制御プログラムの検査装置。
- 14前記同期手段は、前記自動コード生成手段による制御プログラムの自動生成に際して取得される前記制御モデルと該制御モデルから生成される制御プログラムとの対応関係を表す対応情報に基づいて前記関連付けを行う 請求項13記載の制御プログラムの検査装置。
- 15前記同期手段は、前記制御モデル及び前記制御プログラムのいずれか一方に対して動作の停止箇所を指定するブレークポイントが設定されることに基づき、他方に対しても前記対応情報に基づきその対応するブレークポイントを設定することによって前記関連付けを行う 請求項14記載の制御プログラムの検査装置。
- 16前記ブレークポイントが、前記制御モデルを構成する各機能ブロック毎に設定可能とされる 請求項15記載の制御プログラムの検査装置。
- 17前記同期手段による各動作結果の出力が、前記プログラム実行手段により前記制御プログラムを1行ずつ実行及び停止させることによって行われる 請求項14記載の制御プログラムの検査装置。
- 18請求項14~17のいずれかに記載の制御プログラムの検査装置において、 前記同期手段により関連付けされる前記シミュレーション手段の動作結果と前記プログラム実行手段の動作結果とを逐次比較することで前記異常の有無の検査を行う比較手段をさらに備える ことを特徴とする制御プログラムの検査装置。
- 19前記比較手段によるシミュレーション手段の動作結果と前記プログラム実行手段の動作結果との逐次比較が、前記対応情報に基づく前記制御モデルのシミュレーション順序と前記制御プログラムの実行順序との比較として行われる 請求項18記載の制御プログラムの検査装置。
- 20前記比較手段によるシミュレーション手段の動作結果と前記プログラム実行手段の動作結果との逐次比較が、前記対応情報に基づき前記制御モデルのシミュレーションによって演算される変数値と前記制御プログラムの実行によって演算される変数値との比較として行われる 請求項18又は19記載の制御プログラムの検査装置。
- 21前記対応情報に基づく前記制御モデルのシミュレーションによって演算される変数値と前記制御プログラムの実行によって演算される変数値との比較による異常の有無の検査が、前記制御モデルのシミュレーションによって演算される変数値と前記制御プログラムの実行によって演算される変数値との差が許容範囲内にないか否かによって行われる 請求項20記載の制御プログラムの検査装置。
- 22請求項18~21のいずれかに記載の制御プログラムの検査装置において、 前記比較手段は、異常がある旨の判断がなされたとき、その時点での前記制御モデルのシミュレーション箇所と前記制御プログラムの実行箇所とを前記検査の結果として出力するものである ことを特徴とする制御プログラムの検査装置。
- 23請求項13~22のいずれかに記載の制御プログラムの検査装置において、 前記検査に伴って前記制御モデルのシミュレーション及び前記制御プログラムの実行が停止されるとき、前記制御モデルのシミュレーションによって演算される変数値の停止箇所において保持されている値及び前記制御プログラムの実行によって演算される変数値の停止箇所において保持されている値の少なくとも一方を変更可能とする ことを特徴とする制御プログラムの検査装置。
- 24請求項13~23のいずれかに記載の制御プログラムの検査装置において、 少なくとも前記制御モデルの挙動をシミュレーションするシミュレーション手段の動作結果と前記制御プログラムを実行するプログラム実行手段の動作結果とを可視表示する表示手段をさらに備える ことを特徴とする制御プログラムの検査装置。
- 25制御要求仕様が要求仕様記述言語にて記述された制御モデルから所定のプログラム言語にて記述された制御プログラムを自動生成する自動コード生成手段を用いて該所定のプログラム言語にて記述された制御プログラムを検査する際に用いられる検査プログラムであって、 前記制御モデル及び前記制御プログラムの少なくとも一方の異常の有無を検査すべくコンピュータを通じて実行する手段として、a.前記制御プログラムを自動生成する際に取得される情報から前記制御モデルと前記制御プログラムとの対応関係を表す対応情報を生成し、前記制御モデルをシミュレーションするシミュレーション手段と前記制御プログラムを実行するプログラム実行手段との双方の動作の停止箇所を前記対応情報に基づき関連付けする手段、b.前記シミュレーション手段と前記プログラム実行手段との双方に対してシミュレーション及びプログラムの実行を指示する手段、c.前記シミュレーション及びプログラムの実行の後、前記シミュレーション手段及び前記プログラム実行手段の双方の停止を検出する手段、d.前記双方の停止を検出したとき、前記制御モデルのシミュレーションの結果と前記制御プログラムの実行の結果とを比較し、その比較結果に基づいて前記異常の有無を検査する手段、 を含むことを特徴とする制御プログラムの検査プログラム。
- 26前記対応情報は、前記制御モデルと前記制御プログラムとの互いに対応する位置の関係を表す情報である実行位置対応情報を含み、 前記対応情報に基づき停止箇所を関連付けする手段は、前記シミュレーション手段及び前記プログラム実行手段のいずれか一方においてその動作の停止箇所を指定するブレークポイントが設定されることによって前記実行位置対応情報に基づき他方の対応する箇所を指定するブレークポイントを設定するものである 請求項25記載の制御プログラムの検査プログラム。
- 27前記比較結果に基づいて異常の有無を検査する手段は、少なくとも前記制御モデルのシミュレーションの停止位置と前記制御プログラムの実行の停止位置とを前記実行位置対応情報に基づき比較することによって前記異常の有無を検査する 請求項26記載の制御プログラムの検査プログラム。
- 28前記対応情報は、前記制御モデルの処理にかかる変数値と前記制御プログラムの処理にかかる変数値との対応関係を表す変数対応情報を含み、 前記比較結果に基づいて異常の有無を検査する手段は、少なくとも前記制御モデルのシミュレーションによって演算される変数値と前記制御プログラムの実行によって演算される変数値とを前記変数対応情報に基づき比較することによって前記異常の有無を検査する 請求項25~27のいずれかに記載の制御プログラムの検査プログラム。
- 29制御要求仕様が要求仕様記述言語にて記述された制御モデルから所定のプログラム言語にて記述された制御プログラムを自動生成する自動コード生成手段を用いて該所定のプログラム言語にて記述された制御プログラムを検査する際に用いられる検査プログラムであって、 前記制御モデル及び前記制御プログラムの少なくとも一方の異常の有無を検査すべくコンピュータを通じて実行する手段として、a.前記制御プログラムを自動生成する際に取得される情報から前記制御モデルと前記制御プログラムとの対応関係を表す対応情報を生成し、前記制御モデルをシミュレーションするシミュレーション手段と前記制御プログラムを実行するプログラム実行手段との双方の動作の停止箇所を前記対応情報に基づき関連付けする手段、b.前記シミュレーション手段と前記プログラム実行手段との双方に対してシミュレーション及びプログラムの実行を指示する手段、c.前記シミュレーション及びプログラムの実行の後、前記シミュレーション手段及び前記プログラム実行手段の双方の停止を検出する手段、d.前記双方の停止を検出した後、前記シミュレーション手段によるシミュレーション結果及び前記プログラム実行手段による実行結果を出力する手段、 を含むことを特徴とする制御プログラムの検査プログラム。
- 30前記シミュレーション手段によるシミュレーション結果及びプログラム実行手段による実行結果を出力する手段は、それら各動作結果を表示手段に出力して可視表示させるものである 請求項29記載の制御プログラムの検査プログラム。
- 31前記対応情報は、前記制御モデルと前記制御プログラムとの互いに対応する位置の関係を表す情報である実行位置対応情報を含み、 前記対応情報に基づき停止箇所を関連付けする手段は、前記シミュレーション手段及び前記プログラム実行手段のいずれか一方においてその動作の停止箇所を指定するブレークポイントが設定されることによって前記実行位置対応情報に基づき他方の対応する箇所を指定するブレークポイントを設定するものである 請求項29又は30記載の制御プログラムの検査プログラム。
Independent claims31
78 paragraphs, as filed
The present invention relates to an inspection method of a control program used for controlling a controlled object, and an inspection device and an inspection program used when inspecting the control program.
For example, in developing a control program that controls an in-vehicle engine, etc., it is usually used. (A) Design (control) The process of creating (coding) a control program based on specifications (control model). (B) A process of inspecting and correcting (debugging) the presence or absence of abnormalities in the created control program. (C) A process of debugging and conforming (checking the actual vehicle) in an actual vehicle using the debugged control program. (D) The process of further modifying the control program based on the actual vehicle check result. And so on.
Further, in recent years, in the development of such a control program, a model-based development having a process of automatically generating a control program described in a program language from a control model describing the required specifications has also been performed. In this model-based development, the validity of the operation of the control model is verified by simulating the control model with existing software on a computer. Since the control program automatically generated from the control model that has been verified has a high degree of perfection, it is possible to reduce the modification of the control program in the step (d) above. Moreover, the construction of the control model itself can be performed more easily than the creation of the control program. Therefore, by adopting such model-based development, it is possible to improve the efficiency of control program development.
<p> By the way, in the above-mentioned automatically generated control program, the execution order that is not necessarily determined in the control model may be newly specified in the automatically generated control program for each process specified in the control model. ..</p><p> Therefore, when the above model-based development is adopted, the debugging work of the control program automatically generated from the control model and whether or not the above control model is appropriate for automatically generating the control program are inspected and corrected. On the contrary, the debugging work to be done becomes difficult. This is because the execution order of the control model and the control program is not necessarily the same as described above, and when any problem is found in the debugging work of one of the control model and the control program, the problem is found. It becomes extremely difficult to identify the position of the other that corresponds to the position of.</p><p> The present invention has been made in view of these circumstances, and an object of the present invention is to provide a control program that can easily inspect the control program and the presence or absence of abnormalities in the control model in the case of model-based development. It is an object of the present invention to provide an inspection method, and an inspection apparatus and an inspection program used for inspecting the control program.</p>
<p> In order to achieve such an object, the control program inspection method according to claim 1 or the control program inspection device according to claim 13 executes the operation result of the simulation means for simulating the behavior of the control model and the control program. Each of the operation results corresponding to the operation results of the program execution means is associated with each other and output, and the presence or absence of abnormality in at least one of the control model and the control program is inspected.</p><p> In this way, when inspecting the presence or absence of an abnormality by executing the control program by the program execution means, the execution result of the control program and the simulation result of the control model are associated with each other and output. Therefore, it becomes possible to easily inspect the presence or absence of abnormalities in these control programs and control models.</p><p> Further, in the inspection method of the control program according to claim 2 or the inspection device for the control program according to claim 14, the association is acquired when the control program is automatically generated by the automatic code generation means, and the control model and the control. It is now performed based on the correspondence information that shows the correspondence with the control program generated from the model.</p><p> The automatic code generation means for automatically generating a control program from the control model has correspondence information indicating the correspondence between the control model and the control program at the time of the automatic generation. Then, by using this correspondence information, it is possible to appropriately associate the execution position of the simulation of the control model by the simulation means with the execution position of the control program by the program execution means.</p><p> Further, in the control program inspection method according to claim 3 or the control program inspection device according to claim 15, the association specifies a stop point of operation for either the control model or the control program. Based on the fact that a breakpoint is set, the other is also set by setting the corresponding breakpoint based on the corresponding information.</p><p> The simulation means and the program execution means stop the execution of the simulation and the execution of the control program at each breakpoint. Therefore, by setting breakpoints at the respective corresponding execution positions based on the correspondence between the control model and the control program grasped from the correspondence information, the above-mentioned execution positions of the control model and the control program are related to each other. It becomes the position. Therefore, the execution and stop of these simulation means and the program execution means can be easily synchronized (associated) with each other by using the existing functions (breakpoints).</p><p> Further, when a breakpoint is set in either one of the control model and the control program as described above, the breakpoint is automatically set in the other. Therefore, for example, the user can arbitrarily select one of the control model and the control program from the outside and set a breakpoint, so that the breakpoint can be set at an appropriate position on both sides.</p><p> Further, in the inspection method of the control program according to claim 4 or the inspection device of the control program according to claim 16, the breakpoint can be set for each functional block constituting the control model.</p><p> The control program automatically generated from the control model may newly define an execution order that is not specified in the control model for the processing corresponding to each functional block of the control model. Therefore, when inspecting the automatically generated control program, it is desirable to inspect for any abnormalities in the execution order newly defined. In this regard, by making it possible to set breakpoints in each functional block, even if the execution order is newly defined, it is possible to easily inspect the presence or absence of the abnormality while associating it with the control model. Become.</p><p> Further, in the inspection method of the control program according to claim 5 or the inspection device for the control program according to claim 17, the output of the operation result associated with each operation result is the control program generated by the program execution means. It is done by executing and stopping line by line.</p><p> By executing and stopping the control program line by line in this way, it is possible to easily set the stop location and perform a more detailed inspection. Further, in the inspection method of the control program according to claim 6 or the inspection device for the control program according to claim 18, the inspection for the presence or absence of the abnormality is performed by the operation result of the associated simulation means and the operation of the program execution means. It was made to be done by a comparison means that sequentially compares the results.</p><p> In this way, it is necessary for the user to confirm the correspondence between the simulation result of these control models and the execution result of the control program by using the comparison means for sequentially comparing the simulation result of the control model and the execution result of the control program. There is no such thing, and it can be detected automatically. Therefore, the inspection for the presence or absence of the above abnormality can be automatically performed. Further, by using the method according to claim 5 and the configuration according to claim 17 together, it is possible to compare the execution positions in more detail and perform a detailed inspection.</p><p> Further, in the control program inspection method according to claim 7 or the control program inspection apparatus according to claim 19, the sequential comparison between the operation result of the simulation means by the comparison means and the operation result of the program execution means corresponds to the above-mentioned correspondence. The simulation order of the control model based on the information is compared with the execution order of the control program.</p><p> The automatically generated control program may newly define an execution order that the control model does not have for processing the control model. Therefore, the control program and the control model may have different processing execution orders. In this regard, by comparing the simulation order of the control model with the execution order of the control program by the comparison means as described above, it becomes possible to automatically detect an abnormality related to the mismatch of the execution order.</p><p> Further, in the control program inspection method according to claim 8 or the control program inspection apparatus according to claim 20, the sequential comparison between the operation result of the simulation means by the comparison means and the operation result of the program execution means corresponds to the above-mentioned correspondence. Based on the information, the variable value calculated by the simulation of the control model is compared with the variable value calculated by the execution of the control program.</p><p> If the automatically generated control program is not appropriate, the variable values calculated by executing the control program may differ from the variable values calculated by the corresponding processing of the control model. In this regard, by comparing the variable values calculated by the simulation of the control model with the variable values calculated by the execution of the control program by the comparison means as described above, the anomalies related to these discrepancies are automatically detected. You will be able to do it.</p><p> The inspection for the presence or absence of an abnormality by comparing the variable values is a variable calculated by the simulation of the control model, as in the inspection method of the control program according to claim 9 or the inspection device of the control program according to claim 21. It may be performed depending on whether or not the difference between the value and the variable value calculated by executing the control program is within the permissible range. Depending on the calculation accuracy of the simulation means for simulating the control model and the program execution means for executing the control program, the calculated variable values may not match slightly. However, in such a case, both the control model and the control program are normal, and even if the variable values do not match, it should be judged as normal. In such a case, it is advisable to inspect for abnormalities depending on whether or not the deviation of the variable value is within the permissible range. This makes it possible to more appropriately inspect for the presence or absence of abnormalities.</p><p> Further, in the inspection method of the control program according to claim 10 or the inspection device of the control program according to claim 22, when it is determined by the comparison means that there is an abnormality, the simulation location of the control model at that time. And the execution location of the control program are output as the result of the inspection.</p><p> In this way, by detecting the simulation location of the control model and the execution location of the control program and outputting it as the result of the inspection, it is possible to easily grasp the location where an external user or the like is determined to have an abnormality. Will be.</p><p> Further, in the control program inspection method according to claim 11 or the control program inspection device according to claim 23, when the simulation of the control model and the execution of the control program are stopped in association with the inspection, the control model At least one of the value held at the stop point of the variable value calculated by the simulation of the above and the value held at the stop point of the variable value calculated by the execution of the control program can be changed.</p><p> For example, when the simulation of the control model or the execution of the control program is stopped due to the above-mentioned breakpoint or judgment of some abnormality, the variable value held at the simulation stop point of the control model and the execution stop point of the control program are held. By making it possible to change at least one of the variable values to be performed, the simulation condition of the control model and the execution condition of the control program can be made equal again even if it is determined that there is an abnormality. Therefore, it is possible to restart the inspection for the presence or absence of the abnormality from the place where it is determined that there is an abnormality.</p><p> Further, in the inspection method of the control program according to claim 12 or the inspection device for the control program according to claim 24, at least the operation result of the simulation means for simulating the behavior of the control model and the program execution means for executing the control program. The operation result is output to the display means and displayed visually.</p><p> In this way, by outputting the operation result of the simulation means and the operation result of the program execution means to the display means and displaying them visually, the user himself / herself can easily grasp each operation result.</p><p> Further, in the inspection program of the control program according to claim 25, as a means to be executed through a computer to inspect the presence or absence of abnormality in at least one of the control model and the control program, a. When the control program is automatically generated. Correspondence information representing the correspondence relationship between the control model and the control program is generated from the acquired information, and the operation stop points of both the simulation means for simulating the control model and the program execution means for executing the control program. B. Means for instructing both the simulation means and the program execution means to execute the simulation and the program, c. After the simulation and the execution of the program, the simulation means And the means for detecting the stoppage of both of the program execution means, d. When both stops are detected, the simulation result of the control model is compared with the execution result of the control program, and based on the comparison result. The means for inspecting the presence or absence of the abnormality are included.</p><p> By associating the stop points of both the simulation means and the program execution means in this way, the simulation means and the program execution means can be synchronized. Then, by instructing each of these simulation means and the program execution means to execute, and comparing the result of the simulation with the result of execution of the control program when both stops are detected, the stop positions of both are stopped. It will be possible to accurately inspect the presence or absence of abnormalities in.</p><p> Further, in the inspection program of the control program according to claim 26, the correspondence information includes execution position correspondence information which is information representing the relationship between the control model and the control program at positions corresponding to each other, and is included in the correspondence information. The means for associating the stop location based on the execution position correspondence information is based on the execution position correspondence information by setting a breakpoint that specifies the stop location of the operation in either the simulation means or the program execution means. It is assumed that a breakpoint is set to specify.</p><p> According to such an inspection program, breakpoints are automatically set at appropriate points on both sides based on an external user arbitrarily selecting one of the control model and the control program to set a breakpoint. Will be set.</p><p> Further, in the inspection program of the control program according to claim 27, the means for inspecting the presence or absence of an abnormality based on the comparison result is defined as at least the stop position of the simulation of the control model and the stop position of the execution of the control program. The presence or absence of the above abnormality was inspected by comparing based on the execution position correspondence information.</p><p> The automatically generated control program may newly define an execution order for the processing of the control model, which the control model does not have. Therefore, the control program created by using the same control model and the control model may have different processing execution orders. In this regard, by comparing the execution order of the control model with the execution order of the control program as described above, it becomes possible to appropriately detect an abnormality related to the mismatch of the execution order.</p><p> Further, in the control program inspection program according to claim 28, the correspondence information includes variable correspondence information indicating a correspondence relationship between the variable value related to the processing of the control model and the variable value related to the processing of the control program. A means for inspecting the presence or absence of an abnormality based on the comparison result is to compare at least the variable value calculated by the simulation of the control model and the variable value calculated by the execution of the control program based on the variable correspondence information. The presence or absence of the above abnormality was inspected.</p><p> If the automatically generated control program is not appropriate, the variable values calculated by executing the control program may differ from the variable values calculated by the corresponding processing of the control model. In this regard, by comparing the variable values calculated by the simulation of the control model with the variable values calculated by executing the control program, it is possible to accurately detect anomalies related to the mismatch of these variable values. Will be.</p><p> Further, in the inspection program of the control program according to claim 29, as a means to be executed through a computer to inspect the presence or absence of abnormality in at least one of the control model and the control program, a. When the control program is automatically generated. Correspondence information representing the correspondence relationship between the control model and the control program is generated from the acquired information, and the operation stop points of both the simulation means for simulating the control model and the program execution means for executing the control program. B. Means for instructing both the simulation means and the program execution means to execute the simulation and the program, c. After the simulation and the execution of the program, the simulation means And a means for detecting the stoppage of both of the program execution means, d. A means for outputting the simulation result by the simulation means and the execution result by the program execution means to the display means after detecting the stoppage of both of the program execution means. I made it.</p><p> In this way, by associating the stop points of both the simulation means and the program execution means, it becomes possible to synchronize the operation results of the simulation means and the program execution means. Then, by instructing each of these simulation means and the program execution means to execute, and after detecting the stoppage of both, the simulation result of the simulation means and the execution result of the program execution means are output to obtain the control model. It becomes possible to easily grasp the operation and the operation of the control program.</p><p> Further, in this case, like the inspection program of the control program according to claim 30, the means for outputting the simulation result by the simulation means and the execution result by the program execution means are output to the display means and visually displayed. By making it possible, the user himself / herself can compare the operation results and inspect whether or not there is an abnormality in the control program or control model.</p><p> Further, in the inspection program of the control program according to claim 31, the correspondence information includes execution position correspondence information which is information representing the relationship between the control model and the control program at positions corresponding to each other, and is included in the correspondence information. As a means for associating a stop location based on the execution position correspondence information, a breakpoint is set in either the simulation means or the program execution means to specify the stop location of the operation, so that the other corresponding location is based on the execution position correspondence information. It was decided to set a breakpoint to specify.</p><p> According to such an inspection program, breakpoints are automatically set at appropriate points on both sides based on an external user arbitrarily selecting one of the control model and the control program to set a breakpoint. Will be set.</p>
Hereinafter, an embodiment in which the control program inspection method and the inspection device according to the present invention are applied to the inspection of the vehicle control program will be described with reference to the drawings. FIG. 1 is a flowchart showing an outline of a control program creation and inspection procedure according to the present embodiment.
In step S1 shown in FIG. 1, first, for the target control program, a control model for describing the required specifications is constructed using the required specification description language. Next, by simulating the control model constructed in this way, it is verified whether or not the control model has a valid function and a reasonable performance. Then, based on this verification result, the control model is modified as appropriate.
Next, in step S2, a control program written in, for example, C language is automatically generated from the control model. In this control program, the execution order that is not specified by the control model is newly specified for the processing specified by the control model.
In step S3, the control model is simulated and the control program is executed to inspect the control model and the control program for abnormalities while maintaining the mutual correspondence. Then, when it is determined that the control program has an abnormality, the control program is modified. If it is determined that the control model is not valid as a result of verifying the control program, the process may return to step S1 and modify the control model.
When the debugging of the control program is completed in this way, in step S4, the electronic control device equipped with the control program performs debugging and adaptation in the actual vehicle. Then, if there is an invalid part in the control program based on the debug result in the actual vehicle, the process returns to step S1, the control model is modified, and the processes of steps S1 to S4 are repeated. This series of processing is performed until the control program is determined to be appropriate.
Hereinafter, the control program debugging work, which is the process of step S3, will be described in detail. FIG. 2 is a diagram showing an overall configuration of a system (inspection device) used for generating and debugging a control program.
In this system, the model storage unit 10 stores the control model constructed and verified in step S1 of FIG. Figure 3 schematically shows an example of such a control model.
The control model shown in FIG. 3 is a model that calculates the fuel injection amount of the in-vehicle engine and the injection timing. The block B1 is a block that triggers the blocks B2 and B6 when the crank angle of an engine (not shown) matches a predetermined crank angle. The block B2 is a block that calculates the basic injection amount by using the predetermined crank angle as a trigger. The block B3 is a block instructing the block B4 to write the basic injection amount calculated by the block B2. Block B4 is a block that stores the basic injection amount. Block B5 is a block that reads out the stored basic injection amount. The block B6 is a block that calculates a correction amount with respect to the basic fuel injection amount using the predetermined crank angle as a trigger. The block B7 is a block that calculates the injection timing based on the correction amount and the read-out basic injection amount.
Incidentally, the arrows shown by solid lines in FIG. 3 define the order of processing and indicate the flow of data to which each processing has been performed. That is, for example, the processing order of the block B7 is defined so that the processing of the block B7 is performed after the processing of the blocks B5 and the block B6. However, regarding the processing of block B2 and block B6, the order of which one is executed first is not specified. Similarly, regarding the processing order of the blocks B3 and the block B5, the order of writing the basic injection amount to the memory and reading from the memory is not specified. In other words, it is possible to process block B5 first and block B3 later in this model.
On the other hand, in the system shown in FIG. 2, the automatic code generation unit (automatic code generation means) 12 inputs this control model, generates a control program written in the above C language from the control model, and generates a program storage unit 14 This is the part to be stored in. In this way, the control program generated by the automatic code generation unit 12 is stored in the program storage unit 14.
FIG. 4 illustrates a control program automatically generated from the control model shown in FIG. 3 above. As shown in FIG. 4, although the processing of block B3 in the control model shown in FIG. 3 above needs to be performed prior to the processing of block B5, this control program corresponds to block B5. After the processing, the processing corresponding to the block B3 is performed. This is because the execution order of the processes indicated by each functional block is not necessarily defined in the control model, and this execution order is newly defined by the automatic code generation unit 12. That is, as described above, since the processing order of the blocks B5 and the block B3 is not specified in the control model, it is appropriate when the execution order of these processes is newly specified by the automatic code generator 12. Figure 4 shows the case where this is not the case.
Further, in the system shown in FIG. 2, when the automatic code generation unit 12 generates a control program, the correspondence information creation unit 16 corresponds between the control model and the control program based on the information possessed by the automatic code generation unit 12. This is a part that creates correspondence information representing a relationship and stores it in the correspondence information storage unit 18. This correspondence information is stored in the execution position correspondence information indicating the correspondence between the block of the control model and the execution point of the control program, and the block connection (variable represented by the connection between blocks) and storage (block B4, etc.) of the control model. It has variable correspondence information indicating the correspondence between such a block) and the variables of the control program.
FIG. 5 exemplifies the correspondence information including the execution position correspondence information and the variable correspondence information. In FIG. 5, the blocks of the control model and the labels L1 to L5 of the control program are associated with each other as the execution position correspondence information. Further, as the variable correspondence information, the block connection / storage of the control model and the variable of the control program are associated with each other. These correspondence information will be stored in the correspondence information storage unit 18 shown in FIG.
Further, in the system shown in FIG. 2, the simulation unit (simulation means) 20 is a part that inputs a control model from the model storage unit 10 and simulates its operation.
On the other hand, in the system shown in FIG. 2, the program execution unit (program execution means) 22 is a part that inputs a control program from the program storage unit 14 and executes the control program. In this embodiment, a compiler with a debugger function is used as the program execution unit 22.
Further, in the same system, the breakpoint setting unit 24 instructs the simulation unit 20 and the program execution unit 22 to set a breakpoint that specifies a stop point of operation in either the control model or the control program based on an external input. It is the part to do. This breakpoint can be set for each block of the control model. Further, this breakpoint can be set at each execution point specified by using the labels L1 to L5 of the control program, for example.
Further, in the system shown in FIG. 2, in the synchronization unit (synchronization means) 26, a breakpoint is set in either the control model or the control program through the breakpoint setting unit 24 to specify a stop point of the operation. When, it is a part having a function of setting a breakpoint for designating a stop point of the corresponding operation with respect to the other based on the above correspondence information. That is, here, the execution position correspondence information in the above correspondence information is used to search the execution point of the corresponding control program from the block of the control model, or the block of the control model is searched from the execution point of the control program. By doing so, a breakpoint is set.
Further, the synchronization unit 26 is a comparison unit (comparison) that compares the operation results of the simulation unit 20 and the program execution unit 22 when the operations of both the simulation unit 20 and the program execution unit 22 are temporarily stopped at a breakpoint. Means).
Further, in the system shown in FIG. 2, the display unit (display means) 28 detects a discrepancy based on the comparison result by the comparison unit, including the normal operation guidance display, and there is a problem in either the control model or the control program. This is the part that visually displays this at certain times. Further, the result storage unit 30 stores the comparison result by the comparison unit.
Incidentally, the model storage unit 10, the program storage unit 14, the correspondence information storage unit 18, and the result storage unit 30 in the system shown in FIG. 2 are composed of a storage device such as a hard disk device, for example. In addition, the automatic code generation unit 12, the corresponding information creation unit 16, the simulation unit 20, the program execution unit 22, the breakpoint setting unit 24, and the synchronization unit 26 store, for example, a hard disk device, a ROM, or the like in which a program related to a processing procedure is recorded. It consists of a device and a computer.
Hereinafter, the processing related to the inspection and debugging of the control program executed through the system (inspection apparatus) having such a configuration will be described in detail. In the present embodiment, the operation results of the simulation unit 20 that simulates the control model stored in the model storage unit 10 and the program execution unit 22 that executes the control program stored in the program storage unit 14 are synchronized through the synchronization unit 26. (Associate). Then, when the operations of the simulation unit 20 and the program execution unit 22 stop at the above-mentioned breakpoint, the comparison unit compares the simulation result with the program execution result to cause an abnormality in the control model or the control program. Inspect for the presence of. Then, as a result of this inspection, when there is a problem with the control program, or when the control model cannot generate a valid control program, the control program or the control model is modified.
In this way, by associating and comparing the execution result of the control program with the simulation result of the control model, the execution order that the control model does not have may be newly defined for each process specified by the control model. It becomes possible to easily grasp the correspondence between the program and the control model. Therefore, in the case of model-based development, it becomes possible to easily inspect the control program and the control model for abnormalities.
Here, first, the processing related to the setting of the breakpoint by the breakpoint setting unit 24 and the synchronization unit 26 will be described with reference to FIG. Note that FIG. 6 is a flowchart showing a processing procedure for setting a breakpoint by the synchronization unit 26.
In this series of processes, in step S301 and step S302, it is determined whether or not a breakpoint has been set by either the simulation unit 20 or the program execution unit 22 through the breakpoint setting unit 24. That is, the synchronization unit 26 determines whether or not a breakpoint has been set by accessing the simulation unit 20 and the program execution unit 22.
Then, when it is determined that the breakpoint has been set in step S301, the process proceeds to step S303. In step S303, the position on the control program corresponding to the breakpoint set on the control model is determined based on the execution position correspondence information, and the determined position is set on the control program as a breakpoint. Instruct the program execution unit 22.
Further, when it is determined that the breakpoint has been set in step S302, the process proceeds to step S304. In this step S304, the position on the control model corresponding to the breakpoint set on the control program is determined based on the execution position correspondence information, and the determined position is set on the control model as a breakpoint. Instruct the simulation unit 20.
Then, when the processing of steps S303 and S304 is completed or when it is determined that the breakpoint has not been set in step S302, this series of processing is terminated. It is more desirable that the simulation unit 20 takes in the control model and the program execution unit 22 takes in the control program as a trigger instead of repeatedly executing this series of processes at a predetermined cycle. ..
Incidentally, in the control model shown in FIG. 3 above, this breakpoint may be provided in, for example, block B3 and block B5, respectively. Further, it may be provided only in the block B7 which is the final output.
Next, the process of simulating the control model by the simulation unit 20 will be described with reference to FIG. 7. Note that FIG. 7 is a flowchart showing a processing procedure related to the simulation of the control model.
In this series of processing, first, in step S311, the control model stored in the model storage unit 10 is fetched. Next, in steps S312 and S313, breakpoints are set at predetermined positions in the control model. That is, in steps S312 and S313, either the breakpoint is set by the instruction of the breakpoint setting unit 24 or the breakpoint is set by the instruction of the synchronization unit 26 in the process shown in FIG. Perform the processing.
In the following step S314, it is determined whether or not the synchronization unit 26 has instructed the execution of the simulation. Then, when it is determined in step S314 that the execution instruction has been given, the control model simulation is executed in step S315. This simulation is performed so that the simulation unit 20 is given pseudo data corresponding to, for example, a sensor signal, and the simulation unit 20 is made to process the data based on the control model.
Further, this simulation is performed until all executions of the control model are completed (step S316) or until a breakpoint is detected (step S317). Then, when a breakpoint is detected in step S317, the simulation is stopped, and in step S318, the simulation is stopped externally through an output device such as a display provided by the display unit 28 or the simulation unit 20 itself. Notify that you are.
When the simulation is stopped at the breakpoint in this way, it waits for a new execution instruction (step S314) from the synchronization unit 26 or an abnormality notification (step S319) from the synchronization unit 26. Then, when a new execution instruction is given, the simulation of the control model is restarted by performing the processing after step S315.
On the other hand, when an abnormality notification is received from the synchronization unit 26 in step S319, this series of processing is terminated. At this time, since the simulation unit 20 has information on the stop position when an abnormality is notified, this is transmitted to the outside through an output device such as a display provided by the display unit 28 or the simulation unit 20 itself. It is desirable to output. Further, when an abnormality notification is received from the synchronization unit 26, the abnormality information is stored in the result storage unit 30 (FIG. 2), and in step S314, the synchronization unit 26 waits for an execution instruction. It may be configured (see dashed line in Figure 7). Further, when this abnormality notification is an abnormality notification about a variable, the variable value calculated by the simulation may be changed. That is, in order to make the simulation condition of the control model equal to the execution condition of the control program again, the variable value calculated by the simulation may be changed and wait in step S314.
If it is determined in step S316 that all the simulations have been completed, it is determined in step S320 that the simulation has been completed externally through an output device such as a display provided by the display unit 28 or the simulation unit 20 itself. Notify and end this series of processing.
Next, the process of executing the control program by the program execution unit 22 will be described with reference to FIG. Note that FIG. 8 is a flowchart showing a processing procedure for executing the control program.
In this series of processing, first, in step S331, the control program stored in the program storage unit 14 is taken in. Next, in steps S332 and S333, breakpoints are set at predetermined locations in the control program. That is, in steps S332 and S333, either the breakpoint is set by the instruction of the breakpoint setting unit 24 or the breakpoint is set by the instruction of the synchronization unit 26 in the process shown in FIG. Perform the processing.
In the following step S334, it is determined whether or not the synchronization unit 26 has instructed the execution of the control program. Then, when it is determined that the execution instruction has been given in step S334, the control program is executed in step S335. The execution of this control program is also performed by giving pseudo data corresponding to, for example, a sensor signal, to the program execution unit 22, and causing the program execution unit 22 to process the data based on the control program.
Further, the execution of this program is performed until all of the control programs are executed (step S336) or until a breakpoint is detected (step S337). When a breakpoint is detected in step S337, the execution of the control program is stopped, and in step S338, the control program is externally controlled through an output device such as a display provided by the display unit 28 or the program execution unit 22 itself. Notifies that the execution of is stopped.
When the execution of the control program is stopped at the breakpoint in this way, it waits for a new execution instruction (step S334) from the synchronization unit 26 or an abnormality notification (step S339) from the synchronization unit 26. .. Then, when a new execution instruction is given, the execution of the control program is restarted by performing the processing after step S335.
On the other hand, when an abnormality notification is received from the synchronization unit 26 in step S339, this series of processing is terminated. At this time, since the program execution unit 22 has information on the stop position when an abnormality notification is given, this is transmitted through an output device such as a display provided by the display unit 28 or the program execution unit 22 itself. It is desirable to output to the outside. Further, when an abnormality notification is received from the synchronization unit 26, the abnormality information is stored in the result storage unit 30 (FIG. 2), and in step S334, the synchronization unit 26 is configured to stand by in preparation for an execution instruction. May be done (see dashed line in Figure 8). Further, when the abnormality notification is an abnormality notification about a variable, the variable value calculated by the execution of the control program may be changed. That is, in order to make the simulation condition of the control model equal to the execution condition of the control program again, the variable value calculated by the execution of the control program may be changed and wait in step S334.
If it is determined in step S336 that the execution of all the control programs has been completed, the control program is externally controlled in step S340 through an output device such as a display provided by the display unit 28 or the program execution unit 22 itself. Notifies that the execution of is completed, and ends this series of processing.
Next, the process of inspecting the control model and the control program for abnormalities performed by the synchronization unit 26 will be described with reference to FIG. Note that FIG. 9 is a flowchart showing the procedure of the process related to this inspection. This process is performed on the premise that the process shown in FIG. 6 has been completed, in other words, on the premise that a breakpoint has been set in both the control model and the control program.
In this series of processes, first, in step S351, the simulation unit 20 is instructed to execute the simulation of the control model, and the program execution unit 22 is instructed to execute the control program. The simulation of these control models and the execution of the control program are performed until the control model is stopped by the simulation unit 20 and the control program is stopped by the program execution unit 22. At this time, in order to perform the simulation of the control model and the execution of the control program under the same conditions, the input data (initial value) to the control model and the control program are the same data.
Then, in step S352, if it is determined that both the control model and the control program are stopped, and in step S353, it is determined that both the control model and the control program have not been executed. In the process, the control model and the control program are inspected for abnormalities.
That is, in step S354, it is confirmed whether or not the stop position of the control model and the stop position of the control program correspond to each other based on the execution position correspondence information. Then, when it is determined that the positions do not correspond to each other (step S355), the stop positions of the control model and the control program do not match each other through the display unit 28 in step S356 (stop position abnormality). indicate.
On the other hand, if it is determined in step S355 that the stop positions match, the process proceeds to step S357. In this step S357, based on the above variable correspondence information, the block connection and storage value (variable value) of the stop point on the control model side and the variable value held at the stop point on the control program side correspond to each other. Determine if it is something to do. If it is determined that they do not correspond to each other (step S358), the block connection of the control model or the storage and the variable value of the control program do not correspond to each other through the display unit 28 in step S359 (variable value). "Abnormal") is displayed.
By the way, whether or not the block connection and storage values of the above control model and the variable values of the control program correspond to each other is determined by predetermining the allowable range as the difference between these two values. Make a judgment based on whether or not it is in. For example, when the block connection or storage value of the control model and the variable value of the control program are integer-operated values, only the match between the two is allowed. Further, for example, when the block connection or storage value of the control model and the variable value of the control program are floating-point type values, the absolute value of the difference between the two is allowed to be equal to or less than a predetermined value. ..
Then, when it is determined in step S358 that the variable value is within the permissible range, the process returns to step S351, and the simulation of the control model and the execution of the control program are restarted. Further, in step S353, when it is determined that all the control model and the control program have been executed, that fact (all execution completed) is displayed through the display unit 28 in step S360.
On the other hand, when each of the processes of steps S356, S359, and S360 is completed, this series of processes is completed. When it is determined that the control model and the control program have all been executed in step S353, the process of step S357 or the like may be performed before the process shifts to the process of step S360.
As described above, in the present embodiment, the synchronization unit 26 (comparison unit) determines whether or not the stop position of the control model and the stop position of the control program correspond to each other. As a result, when the execution order is newly defined in the control program generated by the automatic code generation unit 12 for the plurality of processes specified by the control model, if this is not appropriate, it can be detected.
If there is an error in the processing order or the generated control program itself, the difference in variable values can be detected by the processing shown in FIG. As described above, in the present embodiment, when a problem is detected in the debugging work of the control program, the position of the control model and the processing state (block connection and storage) in the control model are automatically associated with each other. it can.
Then, as a result of debugging the control program corresponding to the work described above, that is, the process of step S3 shown in FIG. 1, if it is determined that the control program is appropriate, then the control program is stored in, for example, ROM. It will be burned (stored) in (Read Only Memory) or the like and mounted on the electronic control device. After that, the process of step S4 (Fig. 1), that is, the electronic control device equipped with the control program performs debugging and adaptation in the actual vehicle, and when it is determined that the control program is abnormal, the control program or control is performed. As mentioned above, we will consider modifying the model.
As described in detail above, according to the present embodiment, the following effects can be obtained. (1) When the control program is executed by the program execution unit 22 to check for the presence or absence of the abnormality, by synchronizing this with the simulation of the control model, the simulation status of these control models and the control program You will be able to easily compare the execution status.
(2) By using the correspondence information created by the correspondence information creation unit 16, the execution position of the simulation of the control model by the simulation unit 20 and the execution position of the control program by the program execution unit 22 can be appropriately associated with each other.
(3) When a breakpoint is set in either the control model or the control program, the synchronization unit 26 automatically sets the breakpoint in the other. Therefore, for example, the synchronization process can be performed by the user from the outside arbitrarily selecting one of the control model and the control program and setting a breakpoint.
(4) By making it possible to set breakpoints for each functional block of the control model, even if the execution order is newly specified in the generated control program, the presence or absence of the abnormality is made to correspond to the control model. However, it will be possible to easily inspect.
(5) By comparing the simulation order of the control model with the program execution order of the control program, it becomes possible to automatically detect an abnormality related to this mismatch in the execution order.
(6) By comparing the value generated by the simulation of the control model with the variable value related to the execution of the control program by the comparison unit, it becomes possible to automatically detect the abnormality related to these discrepancies.
(7) When an abnormality is notified about a variable, if at least one of the variable values can be changed in step S319 of FIG. 7 and step S339 of FIG. 8, the following effect is also obtained. That is, even if it is determined that there is a variable abnormality, the simulation condition of the control model and the execution condition of the control program can be made equal again, and by extension, the presence or absence of abnormality is inspected from the part where it is determined that there is an abnormality. Can be restarted.
(8) When the comparison results by the comparison unit do not match, by outputting this to the display unit 28 and displaying it visually, the user can easily grasp the part where it is determined that there is an abnormality. ..
The above embodiment may be modified as follows. -The stop points of the operations of the simulation unit 20 and the program execution unit 22 are not limited to those described above. For example, the simulation unit 20 may be synchronized with the control program while the program execution unit 22 executes and stops the control program line by line. This may be done, for example, by setting breakpoints line by line on the control program side and setting breakpoints in the control model by the process shown in FIG. 6 above.
-The simulation unit 20 and the program execution unit 22 are not necessarily limited to those that execute the simulation and the program by giving input data to the control model or the control program. For example, the control target of the control program and the environment surrounding the control program may be inspected while the control model and the control program are inspected while being simulated on a computer.
-Regarding the function of the breakpoint setting unit 24 This may be provided in the simulation unit 20 itself. Further, the same function may be provided in the program execution unit 22 itself.
-In the above embodiment, the permissible range used for checking for abnormalities is changed according to the data type of the variable value, but the method of setting the permissible range is arbitrary. Further, it is not always necessary to set an allowable range, and only the agreement between the two may be used as a criterion for determining the presence or absence of an abnormality.
-In the above embodiment, it is also considered that at least one of the variable values can be changed in step S319 of FIG. 7 and step S339 of FIG. 8 when there is an abnormality notification about the variable. Instead of this, for example, the control program may be inspected by intentionally inputting abnormal data as the above variable value at the time of normal operation.
-The control program automatically generated from the control model is not limited to the one described in C language, and may be a control program described in an appropriate program language. If this control program may newly specify an execution order that is not specified in the control model for the processing specified by the control model, it is particularly important to synchronize this control program with the control model for inspection. It is valid.
-In the above embodiment, the synchronization unit 26 includes a comparison unit that compares the simulation result of the control model with the execution result of the control program, and outputs this to the display unit 28 when the comparison results do not match. Instead of this, the synchronization unit 26 may be configured to receive the simulation result of the control model and the execution result of the control program and output them to the display unit 28 as they are without comparing them. Further, the output to the display unit 28 may be directly displayed on the display unit 28 from the simulation unit 20 and the program execution unit 22 without passing through the synchronization unit 26. Further, each operation result output via or without passing through the synchronization unit 26 may be stored in an appropriate storage device as a data file or the like.
-Instead of configuring the corresponding information creation unit 16 and the synchronization unit 26 and the like with a computer and software, it may be configured with dedicated hardware. -As the control program inspection process, model-based development may be used, and changes may be made as appropriate within the range of inspecting the presence or absence of these abnormalities while synchronizing the simulation of the control model and the execution of the control program.
-The application of the present invention is effective not only when creating a control program for an in-vehicle engine but also when creating a control program by adopting model-based development.
<figref num="1">The flowchart which shows the creation and inspection procedure of the control program which concerns on this Embodiment.</figref><figref num="2">The block diagram which shows the structure of the system which generates and inspects the control program which concerns on this embodiment.</figref><figref num="3">A block diagram illustrating a control model.</figref><figref num="4">The figure which illustrates the control program which is automatically generated.</figref><figref num="5">The figure which illustrates the correspondence information which shows the correspondence relationship between the control model and the control program which concerns on the said embodiment.</figref><figref num="6">The flowchart which shows the procedure of the process which concerns on setting a breakpoint in the same embodiment.</figref><figref num="7">The flowchart which shows the procedure of the processing by the simulation part concerning this embodiment.</figref><figref num="8">The flowchart which shows the procedure of the process by the program execution part which concerns on the same embodiment.</figref><figref num="9">The flowchart which shows the procedure of the process by the synchronization part which concerns on the same embodiment.</figref>
Code description
10 ... model storage, 12 ... automatic code generation, 14 ... program storage, 16 ... correspondence information creation, 18 ... correspondence information storage, 20 ... simulation, 22 ... Program execution section, 24 ... Breakpoint setting section, 26 ... Synchronization section (comparison section), 28 ... Display section, 30 ... Result storage section.
9 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9
Every citation, both ways
| Document | Relation | Office |
|---|---|---|
| JP6314193A | Cites | Japan |
| JP4178727A | Cites | Japan |
| JP8287123A | Cites | Japan |
| JP10111794A | Cites | Japan |
| JP11224211A | Cites | Japan |
| JP2000284991A | Cites | Japan |
| JP5181651A | Cites | Japan |
| JP2151927A | Cites | Japan |
6 members in 3 offices
Priority claims7
| Document | Office | Kind | Date |
|---|---|---|---|
| 2003054082 | Japan | A | |
| 2003054082 | Japan | A | |
| 2003054082 | Japan | – | |
| 2003423583 | Japan | A | |
| 2003200354082 | – | – | – |
| JP20030054082 | – | – | – |
| JP20030423583 | – | – | – |
Members6
| Document | Office | Kind | |
|---|---|---|---|
| EP1452969A2 | European Patent Office (EPO) | A2 | |
| US2004181781A1 | United States of America | A1 | |
| JP2004280786A | Japan | A | |
| US7441235B2 | United States of America | B2 | |
| JP4403794B2This record | Japan | B2 | |
| EP1452969A3 | European Patent Office (EPO) | A3 |
17 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Cancellation because of no payment of annual feesLAPS | LAPS | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Written notification of patent or utility model registrationJAPANESE INTERMEDIATE CODE: R151R151 | R151 | |
| First payment of annual fees (during grant procedure)JAPANESE INTERMEDIATE CODE: A61A61 | A61 | |
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 | |
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 | |
| Decision of grant or rejection writtenTRDD | TRDD | |
| Written request for application examinationJAPANESE INTERMEDIATE CODE: A621A621 | A621 |
Numbers
- Publication
- 4403794
- Publication, DOCDB
- 4403794
- Publication, EPODOC
- JP4403794B
- Application
- 423583
- Application, DOCDB
- 2003423583
- Application, EPODOC
- JP20030423583
Titles2
- Japanese
- 制御プログラムの検査方法及び検査装置及び検査プログラム
- English
- Control program inspection method and inspection equipment and inspection program
Classification
- CPC, 8
- G06F11/3698
- G05B19/0426
- G05B2219/23446
- G05B2219/23456
- G05B2219/2637
- G06F11/3632
- G06F11/3692
- G06F11/3696
- IPC, 4
- G05B23 02
- G05B19 05
- G06F11 28
- G06F11 26
