JP7241988B1 - プログラム生成装置、プログラム生成方法及びプログラム生成プログラム - Google Patents
プログラム生成装置、プログラム生成方法及びプログラム生成プログラム Download PDFInfo
- Publication number
- JP7241988B1 JP7241988B1 JP2022566428A JP2022566428A JP7241988B1 JP 7241988 B1 JP7241988 B1 JP 7241988B1 JP 2022566428 A JP2022566428 A JP 2022566428A JP 2022566428 A JP2022566428 A JP 2022566428A JP 7241988 B1 JP7241988 B1 JP 7241988B1
- Authority
- JP
- Japan
- Prior art keywords
- program
- change
- information
- data
- design
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 59
- 238000013461 design Methods 0.000 claims abstract description 154
- 230000008859 change Effects 0.000 claims abstract description 111
- 238000012545 processing Methods 0.000 claims description 59
- 230000008569 process Effects 0.000 claims description 46
- 230000008929 regeneration Effects 0.000 claims description 16
- 238000011069 regeneration method Methods 0.000 claims description 16
- 238000012217 deletion Methods 0.000 claims description 7
- 230000037430 deletion Effects 0.000 claims description 7
- 230000010354 integration Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 11
- 238000012986 modification Methods 0.000 description 11
- 230000004048 modification Effects 0.000 description 11
- 238000004088 simulation Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 230000018109 developmental process Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
Abstract
Description
ユーザが処理を制御プログラムに追記した後、装置の設計変更等で手戻りが発生することがある。この場合には、変更後の設計データから制御プログラムが再生成され、再生成された制御プログラムにユーザが処理を追記し直す。あるいは、制御プログラムの再生成はされず、ユーザが制御プログラム上の設計変更による影響範囲を特定して制御プログラムを修正する。いずれにしても、多くの手間がかかっている。
変更前の設計データである変更前データと、変更後の設計データである変更後データとの間で、前記変更前データ及び前記変更後データを構成する各設計情報を比較することにより、前記変更前データから生成された制御プログラムに対する変更箇所を特定する変更箇所特定部と、
前記変更箇所特定部によって特定された前記変更箇所について、前記変更後データから生成された新たなプログラム部品を設定して、前記制御プログラムを更新する変更反映部と
を備える。
これにより、設計データにおける変更されていない箇所に対応するプログラム部品への影響を抑えて、制御プログラムを更新することができる。その結果、処理を制御プログラムに追記した後に変更された設計データから制御プログラムを生成する作業を簡便化可能である。
***構成の説明***
図1を参照して、実施の形態1に係るプログラム生成装置10の構成を説明する。
プログラム生成装置10は、コンピュータである。
プログラム生成装置10は、プロセッサ11と、メモリ12と、ストレージ13と、通信インタフェース14とのハードウェアを備える。プロセッサ11は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ストレージ13には、プログラム生成装置10の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ11によりメモリ12に読み込まれ、プロセッサ11によって実行される。これにより、プログラム生成装置10の各機能構成要素の機能が実現される。
図2から図11を参照して、実施の形態1に係るプログラム生成装置10の動作を説明する。
実施の形態1に係るプログラム生成装置10の動作手順は、実施の形態1に係るプログラム生成方法に相当する。また、実施の形態1に係るプログラム生成装置10の動作を実現するプログラムは、実施の形態1に係るプログラム生成プログラムに相当する。
例えば、プログラム生成装置10は、表示装置に初生成処理を示すボタンと再生成処理を示すボタンとを表示する。そして、プログラム生成装置10は、初生成処理を示すボタンが押下されると、初生成処理を実行する。また、プログラム生成装置10は、再生成処理を示すボタンが押下されると、再生成処理を実行する。
図2に示す設計データ41は、次の処理を表す。X0がONになることで、Y10がONされる。X1がONになることで、Y10がOFFされる。そして、X2がONになると処理が終了する。Xで始まる変数は、制御機器への入力信号を表している。Yで始まる変数は、制御機器からの出力信号を表している。
(ステップS11:情報取得処理)
情報取得部21は、制御プログラム51を生成するために必要な情報を設計データ41から抽出する。
具体的には、情報取得部21は、初生成処理ボタンが押下されると、ユーザに入力とする設計データ41を指定させる。情報取得部21は、指定された設計データ41を取得する。情報取得部21は、設計データ41に含まれる各設計情報44を取得する。
プログラム生成部22は、ステップS11で取得された各設計情報44を対象の設計情報44に設定する。プログラム生成部22は、対象の設計情報44を分類して、対応するプログラム部品の雛形31を特定する。例えば、プログラム生成部22は、対象の設計情報44が、条件分岐構造であるか、繰り返し構造であるかといった構造等により分類する。プログラム生成部22は、対象の設計情報44の内容に基づき分類してもよい。プログラム部品の雛形31は、設計情報44に対応するプログラム部品52の元になる。
図4に示すように、追跡情報設定部23は、追跡情報53の一覧を生成する。追跡情報53の一覧には、識別番号毎に、IDと、プログラム部品の雛形31の名称と、追跡情報53とが含まれる。
1つの設計情報44に対して1つのプログラム部品52が生成される場合がある。この場合には、識別番号“1”のレコードのように、追跡情報53には、IDの値がそのまま設定される。複数の設計情報44を一纏めにして1つのプログラム部品52が生成される場合もある。この場合には、識別番号“4”のレコードのように、追跡情報53には、複数の設計情報44に共通する情報が設定される。識別番号“4”のレコードでは、変数“Y10”がID“002”及びID“003”の設計情報44に共通するため、追跡情報53にY10が設定されている。どのような場合に、複数の設計情報44を一纏めにして1つのプログラム部品52が生成されかるは事前に設定される。例えば、複数の設計情報44が特定の構造であり、かつ、同一の変数が用いられている場合には、一纏めにして1つのプログラム部品52が生成されるといったことが考えられる。
追跡情報53に設定される情報は、これに限らない。例えば、追跡情報53に設定される情報は、設計情報44に含まれる情報とプログラム部品の雛形31の名称とを組み合わせる等した情報でもよい。
プログラム生成部22は、ステップS12で生成された追跡情報53の一覧のレコードのうち未処理のレコードを対象のレコードに設定する。プログラム生成部22は、対象のレコードについてのプログラム部品の雛形31に対して、対象のレコードに対応する設計情報44の情報を設定する。具体的には、プログラム生成部22は、プログラム部品の雛形31における変数名に対して、対象の設計情報44における変数名を設定する。これにより、図5に示すように、プログラム生成部22は、対象の設計情報44に対応するプログラム部品52を生成する。図5では、プログラム部品52がラダープログラムの場合と、プログラム部品52がST言語の場合とが示されている。STは、Structured Textの略である。
プログラム生成部22は、全てのプログラム部品52が生成されたか否かを判定する。具体的には、プログラム生成部22は、追跡情報53の一覧における全てのレコードについて処理がされたか否かを判定する。プログラム生成部22は、全てのレコードについて処理がされた場合には、全てのプログラム部品52が生成されたと判定する。
プログラム生成部22は、全てのプログラム部品52が生成された場合には、処理をステップS15に進める。一方、プログラム生成部22は、生成されていないプログラム部品52がある場合には、処理をステップS13に戻す。
図6に示すように、プログラム統合部24は、ステップS13で生成されたプログラム部品52を設計データ41が示す順に並べることにより、制御プログラム51を生成する。
生成元情報設定部25は、ステップS15で生成された制御プログラム51に、生成元になった設計データ41を示す生成元情報54を付加する。例えば、生成元情報設定部25は、プログラム言語におけるコメント機能を利用して、制御プログラム51中に生成元情報54を追記する。生成元情報54は、例えば、設計データ41のファイルパスである。図6では、“source,C:¥A¥B¥設計データ”の文字列が、生成元情報54である。
ここでは、図8に示すように、初生成処理で生成された制御プログラム51に対して、点線で囲われた部分のように、ユーザによって処理が追記されていることを想定する。
また、図9に示すように、変更前データ42が変更後データ43のように変更されていることを想定する。変更前データ42は、図2に示す設計データ41と同じである。
設計データ特定部26は、制御プログラム51から生成元の設計データ41を特定する。
具体的には、設計データ特定部26は、再生成処理ボタンが押下されると、ユーザに入力とする制御プログラム51及び変更後データ43を指定させる。設計データ特定部26は、指定された制御プログラム51及び変更後データ43を取得する。設計データ特定部26は、制御プログラム51に含まれる生成元情報54により、生成元の設計データ41である変更前データ42を特定する。
ここで、変更前データ42は、制御プログラム51が生成された時点の設計データ41である。変更後データ43は、変更前データ42に対して変更が加えられた設計データ41である。変更後データ43は、再生成する制御プログラム51の元になる設計データ41である。
情報取得部21は、変更前データ42及び変更後データ43を対象の設計データ41として、図3のステップS11と同じ処理を行う。
プログラム生成部22は、変更前データ42及び変更後データ43を対象の設計データ41として、図3のステップS12と同じ処理を行う。
変更箇所特定部27は、変更前データ42と変更後データ43とに含まれる各設計情報44を対象の設計情報44に設定する。変更箇所特定部27は、対象の設計情報44について、変更前データ42と変更後データ43との間で比較する。これにより、変更箇所特定部27は、制御プログラム51に対する変更箇所を特定する。
そして、変更箇所特定部27は、更新有情報と削除情報と追加情報とを変更箇所として特定する。
変更箇所特定部27は、対象のレコードについての設計情報44と、対応する設計情報44とを比較する。対応する設計情報44は、対象のレコードが変更前データ42についての追跡情報53の一覧のレコードである場合には、対象のレコードについての設計情報44と同じ追跡情報53が設定された変更後データ43における設計情報44である。対応する設計情報44は、対象のレコードが変更後データ43についての追跡情報53の一覧のレコードである場合には、対象のレコードについての設計情報44と同じ追跡情報53が設定された変更前データ42における設計情報44である。そして、変更箇所特定部27は、対象のレコードについての設計情報44が、更新有情報と、更新無情報と、削除情報と、追加情報とのいずれであるかを特定する。
対象のレコードが変更前データ42についての追跡情報53の一覧のレコードであるとする。この場合に、対象のレコードにおける追跡情報53を有するレコードが変更後データ43について生成された追跡情報53の一覧にあり、かつ、設計情報44に変更があれば更新有情報になる。この場合に、対象のレコードにおける追跡情報53を有するレコードが変更後データ43について生成された追跡情報53の一覧にあり、かつ、設計情報44に変更がなければ更新無情報になる。この場合に、対象のレコードにおける追跡情報53を有するレコードが変更後データ43について生成された追跡情報53の一覧になければ削除情報になる。対象のレコードが変更後データ43についての追跡情報53の一覧のレコードであるとする。この場合に、対象のレコードにおける追跡情報53を有するレコードが変更前データ42について生成された追跡情報53の一覧になければ追加情報になる。
プログラム生成部22は、ステップS24で更新有情報又は追加情報と判定された設計情報44について新たなプログラム部品52を生成する。
具体的には、プログラム生成部22は、変更後データ43について生成された追跡情報53の一覧におけるレコードのうち、更新有情報又は追加情報と判定された未処理のレコードを対象のレコードに設定する。プログラム生成部22は、図3のステップS13と同様に、対象のレコードについてのプログラム部品の雛形31に対して、対象のレコードに対応する設計情報44の情報を設定する。これにより、プログラム生成部22は、対象の設計情報44に対応するプログラム部品52を生成する。この際、更新有情報と判定されたレコードが対象のレコードの場合には、プログラム生成部22は、既存の制御プログラム51が生成された際の内部デバイスを流用して、新たなプログラム部品52を生成してもよい。これにより、内部デバイスの番号が変更されず、プログラム生成装置10によって生成される他のプログラムと、ユーザによって追記されるプログラムとへの影響を抑えることができる。
図3のステップS13と同様に、追跡情報設定部23は、プログラム部品52に対して、対応する追跡情報53を付加する。また、追跡情報設定部23は、プログラム部品52に対して、プログラム生成装置10によって生成されたことを示す情報を付加してもよい。
プログラム生成部22は、更新有情報又は追加情報と判定された全ての設計情報44についてプログラム部品52が生成されたか否かを判定する。
プログラム生成部22は、全てのプログラム部品52が生成された場合には、処理をステップS27に進める。一方、プログラム生成部22は、生成されていないプログラム部品52がある場合には、処理をステップS25に戻す。
変更反映部28は、ステップS23で生成された変更前データ42及び変更後データ43についての生成された追跡情報53の一覧の各レコードを対象のレコードに設定する。なお、変更反映部28は、変更前データ42についての追跡情報53の一覧と、変更後データ43についての追跡情報53の一覧とで、同じIDが設定されたレコードはいずれか一方だけを対象のレコードに設定する。
変更反映部28は、対象のレコードについてステップS24で判定された結果に応じて、以下の処理を行い、制御プログラム51を更新する。
変更反映部28は、対象のレコードにおける追跡情報53を用いて、制御プログラム51における更新有情報に対応するプログラム部品52を特定する。変更反映部28は、特定されたプログラム部品52を、新たなプログラム部品52に置き換える。新たなプログラム部品52は、ステップS25で対象のレコードについて生成されたプログラム部品52である。
変更反映部28は、変更後データ43に基づき追加情報が追加された位置を特定する。変更反映部28は、対象のレコードにおける追跡情報53を用いて、特定された位置に対応する制御プログラム51における位置を特定する。変更反映部28は、新たなプログラム部品52を、制御プログラム51における特定された位置に挿入する。新たなプログラム部品52は、ステップS25で対象のレコードについて生成されたプログラム部品52である。
変更反映部28は、対象のレコードにおける追跡情報53を用いて、制御プログラム51における削除情報に対応するプログラム部品52を特定する。変更反映部28は、特定されたプログラム部品52を、制御プログラム51から削除する。
変更反映部28は、制御プログラム51における更新無情報に対応するプログラム部品52については、変更せずそのままにする。
生成元情報設定部25は、ステップS15で生成された制御プログラム51に、生成元になった変更後データ43を示す生成元情報54を付加する。例えば、生成元情報設定部25は、変更前データ42を示すパスを、変更後データ43を示すパスに更新する。
以上のように、実施の形態1に係るプログラム生成装置10は、変更前データ42と変更後データ43との間で設計情報44について比較して制御プログラム51に対する変更箇所が特定される。そして、変更箇所について変更後データから生成された新たなプログラム部品52が設定されて制御プログラム51が更新される。
これにより、設計データ41が変更された箇所に対応するプログラム部品52だけが更新される。そのため、設計データ41における変更されていない箇所に対応するプログラム部品52への影響を抑えて、制御プログラム51を更新することができる。その結果、処理を制御プログラム51に追記した後に変更された設計データ41から制御プログラム51を生成する作業を簡便化可能である。
これにより、処理を制御プログラムに追記した後に変更された設計データから制御プログラムを生成した場合に、追記された処理を残すことが可能である。
<変形例1>
実施の形態1では、再生成処理において初生成処理で生成された制御プログラム51が更新された。しかし、初生成処理で生成された制御プログラム51と同様の構成の制御プログラム51であれば、別システムによって生成された制御プログラム51であっても再生成処理で更新可能である。
実施の形態1では、各機能構成要素がソフトウェアで実現された。しかし、変形例2として、各機能構成要素はハードウェアで実現されてもよい。この変形例2について、実施の形態1と異なる点を説明する。
各機能構成要素がハードウェアで実現される場合には、プログラム生成装置10は、プロセッサ11とメモリ12とストレージ13とに代えて、電子回路15を備える。電子回路15は、各機能構成要素と、メモリ12と、ストレージ13との機能とを実現する専用の回路である。
各機能構成要素を1つの電子回路15で実現してもよいし、各機能構成要素を複数の電子回路15に分散させて実現してもよい。
変形例3として、一部の各機能構成要素がハードウェアで実現され、他の各機能構成要素がソフトウェアで実現されてもよい。
実施の形態2は、装置開発で用いられる3Dシミュレータに制御プログラム51を適用する場合について説明する。3Dは、three-Dimensionalの略である。実施の形態2では、実施の形態1と異なる点を説明し、同一の点については説明を省略する。
装置の検証を3Dシミュレータで実施するためは、3Dシミュレータ上の機器を制御する必要がある。装置メーカは、開発した制御プログラムを用いて3Dシミュレータ上の機器を制御する。装置メーカは、3Dシミュレータ上の機器を制御するのに特化した制御プログラムを、汎用的なPC等で扱える高級言語により作成して、3Dシミュレータ上の機器を制御する場合もある。PCは、Personal Computerの略である。
図13を参照して、実施の形態2に係るプログラム生成装置10の構成を説明する。
プログラム生成装置10は、機能構成要素として、連携部品生成部29と、シミュレーション部30とを備える点が図1に示すプログラム生成装置10と異なる。連携部品生成部29の機能は、他の機能構成要素と同様にソフトウェア又はハードウェアによって実現される。
図13では、プログラム生成装置10がシミュレーション部30を備え、3Dシミュレータを実現している。しかし、シミュレーション部30の機能は別の装置が備えていてもよい。この場合には、プログラム生成装置10によって生成された制御プログラム51がシミュレーション部30を備える装置に提供される。
図14から図18を参照して、実施の形態2に係るプログラム生成装置10の動作を説明する。
実施の形態2に係るプログラム生成装置10の動作手順は、実施の形態2に係るプログラム生成方法に相当する。また、実施の形態2に係るプログラム生成装置10の動作を実現するプログラムは、実施の形態2に係るプログラム生成プログラムに相当する。
実機を使用して行っていた様々な検証を、3Dシミュレータ上に検証対象の装置を用意して実機なしで検証する。このためには、3Dシミュレータ上の検証対象の装置に対して少なくとも“形状の設定”、“動作の設定”、“動作条件の設定”の3つの設定をする必要がある。図14では、検証対象の装置としてプッシャーが示されている。
後者の場合、3DシミュレータのAPI等を用いてプログラムを作成することで3Dシミュレータとの連係動作が可能になる。APIは、Application Programming Interfaceの略である。後者のプログラムであっても制御プログラム51と同等のプログラムであるため実施の形態1で示した方法と同等の方法で生成可能である。後者のプログラムでは3DシミュレータのAPIを使うことで3Dシミュレータでの計算結果又はシミュレーション時間等を得ることができる。
そのため、得られた情報を出力して検証に利用するために制御を担う部分の他に処理を追記する場合がある。実施の形態1で示した方法では、このようなユーザによって追記された処理が含まれる制御プログラム51であっても、追記された処理を残しながら設計の変更に従った“動作条件の設定”を再生成できる。
動作条件の設定では、図15の点線で囲われている部分で3DシミュレータのAPI等を利用して3Dシミュレータ上のモデル等に設定されている変数を読み書きできるようにする。この点線で囲われている部分を連携部品55と呼ぶ。
例えば、3Dモデル名“プッシャー”と、その3Dモデルに設定されている変数名“Y10”を引数としてAPIが利用される。これにより、動作条件の設定から3Dモデルに設定している変数の値を読み書きできるようになる。図15の制御プログラムの部分でこの変数を読み書きすることで3Dシミュレータ上の装置が制御される。この制御プログラムの部分は、例えば図6のST言語の場合のプログラムと同等なものでもよい。
ステップS33からステップS37の処理は、図3のステップS12からステップS16の処理と同じである。
図3のステップS11と同様に、情報取得部21は、設計データ41から制御プログラム51を生成するために必要な情報を抽出する。
この際、情報取得部21は、制御プログラム51が実装されるシミュレータにおける3Dモデルの変数と、設計データ41における信号との対応関係を示す連携データ45を取得する。具体的には、情報取得部21は、設計データ41と合わせて連携データ45をユーザに指定させる。
連携データ45は、例えば、図17のような3Dモデルの変数名と信号名との対応関係が示されたデータである。3Dモデルの変数名と設計データ41で使用する信号名とを同一にするなどの作成ルールを設けて対応付けてもよい。この場合は、設計データ41で使用している信号名を元に3Dモデル名及び変数名等の必要なデータを3Dシミュレータから特定できる。そのため、連携データ45は取得されなくてもよい。
連携部品生成部29は、連携データ45に基づき、制御プログラム51と3Dシミュレータとを連携させる連携部品55を生成する。この際、連携部品生成部29は、連携部品55に対してプログラム言語のコメント機能等を利用して、連携部品55であることを示す情報を付加してもよい。例えば、“link”等の文字列が連携部品55であることを示す情報として付加される。
ステップS43からステップS49の処理は、図7のステップS22からステップS28の処理と同じである。
図7のステップS21と同様に、設計データ特定部26は、制御プログラム51から生成元の設計データ41を特定する。
この際、図16のステップS31と同様に、設計データ特定部26は、連携データ45を取得する。具体的には、設計データ特定部26は、制御プログラム51等と合わせて連携データ45をユーザに指定させる。
図7のステップS22と同様に、連携部品生成部29は、連携データ45に基づき、連携部品55を生成する。
以上のように、実施の形態2に係るプログラム生成装置10は、装置開発で用いられる3Dシミュレータに制御プログラム51を適用する場合に、動作条件の設定を実現するプログラムを再生成する。この際、実施の形態1で説明した通り、ユーザに追記された処理については、変更がされずそのまま残される。
これにより、処理を制御プログラム51に追記した後に変更された設計データ41から動作条件の設定を実現するプログラムを生成した場合に、追記された処理を残すことが可能である。
Claims (11)
- 変更前の設計データである変更前データと、変更後の設計データである変更後データとの間で、1つのプログラム部品の生成元になる設計情報毎に、前記変更前データ及び前記変更後データを構成する設計情報を比較することにより、前記変更前データから生成された制御プログラムに対する変更箇所を特定する変更箇所特定部と、
前記変更箇所特定部によって特定された前記変更箇所について、前記変更後データから生成された新たなプログラム部品を設定して、前記制御プログラムを更新する変更反映部と
を備えるプログラム生成装置。 - 前記変更箇所特定部は、前記変更前データと前記変更後データとの間で差異がある設計情報である更新有情報と、前記変更後データに存在せず前記変更前データに存在する設計情報である削除情報と、前記変更前データに存在せず前記変更後データに存在する設計情報である追加情報とを前記変更箇所として特定し、
前記変更反映部は、前記変更後データにおける前記更新有情報から生成された新たなプログラム部品と、前記変更後データにおける前記追加情報から生成された新たなプログラム部品とを設定して、前記制御プログラムを更新する
請求項1に記載のプログラム生成装置。 - 前記変更反映部は、前記制御プログラムにおける前記更新有情報に対応するプログラム部品を、前記変更後データにおける前記更新有情報から生成された新たなプログラム部品に置き換えて、前記制御プログラムを更新する
請求項2に記載のプログラム生成装置。 - 前記変更反映部は、前記変更後データにおける前記追加情報から生成された新たなプログラム部品を、前記制御プログラムに挿入して、前記制御プログラムを更新する
請求項2に記載のプログラム生成装置。 - 前記変更反映部は、前記削除情報に対応するプログラム部品を、前記制御プログラムから削除して、前記制御プログラムを更新する
請求項2に記載のプログラム生成装置。 - 前記プログラム生成装置は、さらに、
前記設計情報からプログラム部品を生成するプログラム生成部と、
前記プログラム生成部によって生成されたプログラム部品に対して、生成元になった設計情報を示す追跡情報を設定する追跡情報設定部と
を備え、
前記追跡情報設定部によって設定された前記追跡情報により、プログラム部品に対応する設計情報が特定される
請求項1に記載のプログラム生成装置。 - 前記制御プログラムには、生成元になった設計データを示す生成元情報が設定されており、
前記プログラム生成装置は、さらに、
前記制御プログラムに設定された前記生成元情報に基づき、前記変更前データを特定する設計データ特定部
を備える請求項1に記載のプログラム生成装置。 - 前記プログラム生成装置は、さらに、
前記制御プログラムが実装されるシミュレータにおける変数と、前記設計データにおける信号との対応関係を示す連携データに基づき、前記制御プログラムと前記シミュレータとを連携させる連携部品を生成する連携部品生成部
を備える請求項1に記載のプログラム生成装置。 - 前記プログラム生成装置は、さらに、
初生成処理が指定された場合には、入力とする設計データを取得し、再生成処理が指定された場合には、前記変更前データ及び前記変更後データとを取得する情報取得部と、
前記初生成処理が指定された場合に、前記情報取得部によって取得された前記設計データを構成する設計情報から生成されたプログラム部品により新規に制御プログラムを生成するプログラム統合部と
を備え、
前記変更箇所特定部は、前記再生成処理が指定された場合に、前記変更箇所を特定し、
前記変更反映部は、前記再生成処理が指定された場合に、制御プログラムを更新する
請求項1に記載のプログラム生成装置。 - コンピュータが、変更前の設計データである変更前データと、変更後の設計データである変更後データとの間で、1つのプログラム部品の生成元になる設計情報毎に、前記変更前データ及び前記変更後データを構成する設計情報を比較することにより、前記変更前データから生成された制御プログラムに対する変更箇所を特定し、
コンピュータが、前記変更箇所について、前記変更後データから生成された新たなプログラム部品を設定して、前記制御プログラムを更新するプログラム生成方法。 - 変更前の設計データである変更前データと、変更後の設計データである変更後データとの間で、1つのプログラム部品の生成元になる設計情報毎に、前記変更前データ及び前記変更後データを構成する設計情報を比較することにより、前記変更前データから生成された制御プログラムに対する変更箇所を特定する変更箇所特定処理と、
前記変更箇所特定処理によって特定された前記変更箇所について、前記変更後データから生成された新たなプログラム部品を設定して、前記制御プログラムを更新する変更反映処理と
を行うプログラム生成装置としてコンピュータを機能させるプログラム生成プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/024781 WO2023248364A1 (ja) | 2022-06-21 | 2022-06-21 | プログラム生成装置、プログラム生成方法及びプログラム生成プログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP7241988B1 true JP7241988B1 (ja) | 2023-03-17 |
JPWO2023248364A1 JPWO2023248364A1 (ja) | 2023-12-28 |
JPWO2023248364A5 JPWO2023248364A5 (ja) | 2024-05-28 |
Family
ID=85600314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022566428A Active JP7241988B1 (ja) | 2022-06-21 | 2022-06-21 | プログラム生成装置、プログラム生成方法及びプログラム生成プログラム |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP7241988B1 (ja) |
TW (1) | TW202401181A (ja) |
WO (1) | WO2023248364A1 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07152549A (ja) * | 1993-11-29 | 1995-06-16 | Fuji Electric Co Ltd | プラント用ソフトウエアの開発方法 |
JP2000222195A (ja) * | 1999-01-28 | 2000-08-11 | Fujitsu Ltd | 修正プログラムを継承したプログラムの自動生成方法、プログラム自動生成装置及び修正プログラムを継承したプログラムを自動生成するプログラムを記録した記録媒体 |
JP2001147832A (ja) * | 1999-11-19 | 2001-05-29 | Nec Corp | ソースプログラム対応表示方式 |
JP2014106557A (ja) * | 2012-11-22 | 2014-06-09 | Canon Marketing Japan Inc | 情報処理装置、情報処理方法、及びコンピュータプログラム |
JP7152549B2 (ja) | 2015-09-16 | 2022-10-12 | ディーエフビー ソリア リミテッド ライアビリティ カンパニー | 薬物ナノ粒子の送達およびその使用法 |
-
2022
- 2022-06-21 JP JP2022566428A patent/JP7241988B1/ja active Active
- 2022-06-21 WO PCT/JP2022/024781 patent/WO2023248364A1/ja unknown
- 2022-11-29 TW TW111145605A patent/TW202401181A/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07152549A (ja) * | 1993-11-29 | 1995-06-16 | Fuji Electric Co Ltd | プラント用ソフトウエアの開発方法 |
JP2000222195A (ja) * | 1999-01-28 | 2000-08-11 | Fujitsu Ltd | 修正プログラムを継承したプログラムの自動生成方法、プログラム自動生成装置及び修正プログラムを継承したプログラムを自動生成するプログラムを記録した記録媒体 |
JP2001147832A (ja) * | 1999-11-19 | 2001-05-29 | Nec Corp | ソースプログラム対応表示方式 |
JP2014106557A (ja) * | 2012-11-22 | 2014-06-09 | Canon Marketing Japan Inc | 情報処理装置、情報処理方法、及びコンピュータプログラム |
JP7152549B2 (ja) | 2015-09-16 | 2022-10-12 | ディーエフビー ソリア リミテッド ライアビリティ カンパニー | 薬物ナノ粒子の送達およびその使用法 |
Also Published As
Publication number | Publication date |
---|---|
TW202401181A (zh) | 2024-01-01 |
JPWO2023248364A1 (ja) | 2023-12-28 |
WO2023248364A1 (ja) | 2023-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3027009B2 (ja) | 設計取り込みシステム | |
US10146672B2 (en) | Method and system for automated user interface (UI) testing through model driven techniques | |
JP6289751B2 (ja) | プログラム生成装置、プログラム生成方法及びプログラム生成プログラム | |
KR20070000732A (ko) | 아사달 : 휘처 기반 소프트웨어 제품라인 개발 환경을제공하는 시스템 | |
JP2009169828A (ja) | テストケース生成装置及びテストケース生成プログラム | |
JP7241988B1 (ja) | プログラム生成装置、プログラム生成方法及びプログラム生成プログラム | |
US20110167047A1 (en) | Editing apparatus, method, and storage medium | |
US10990505B2 (en) | Stipulated overrides with violation resolution | |
CN112988880A (zh) | 数据同步方法、装置、电子设备及计算机存储介质 | |
JP6649731B2 (ja) | Fpgaからリードバックするための信号の特定 | |
US20230229638A1 (en) | Delta clone-based database upgrades | |
JP2007264814A (ja) | レプリケーションデータ作成プログラム、レプリケーションデータ反映プログラムおよびデータベース装置 | |
CN114185530A (zh) | 一种通用组件库开发的方法、装置、产品及存储介质 | |
CN106528946A (zh) | 一种批量***AutoCAD图块的方法 | |
JP5120103B2 (ja) | デバッグ方法およびデバッグプログラム | |
JP7008780B2 (ja) | 状態遷移編集装置および状態遷移編集プログラム | |
JP6888336B2 (ja) | スタブ生成装置、方法、及びプログラム | |
WO2024077485A1 (en) | Method for implementing derivative nft, apparatus therefor and computer-readable storage medium | |
JP2005222371A (ja) | 論理回路の機能検証システムおよび方法 | |
CN110851141B (zh) | 一种基于Coq的C++编译器变量作用域形式化方法 | |
JP6807721B2 (ja) | 状態遷移編集装置および状態遷移編集プログラム | |
WO2024023936A1 (ja) | 仮想機械生成装置及び仮想機械生成プログラム | |
KR101636455B1 (ko) | 데이터 기반 프로그래밍 모델을 이용하는 소프트웨어 개발 장치 및 방법 | |
KR20240077347A (ko) | 노드 플로우 방식의 비주얼 코딩 창작 도구가 적용된 메타버스 플랫폼 시스템 | |
JP2014142745A (ja) | アプリケーション・テストシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221031 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221031 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20221031 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230207 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230307 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7241988 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |