JP7126637B1 - プログラミング支援プログラム、プログラミング支援方法及びプログラミング支援装置 - Google Patents
プログラミング支援プログラム、プログラミング支援方法及びプログラミング支援装置 Download PDFInfo
- Publication number
- JP7126637B1 JP7126637B1 JP2022535791A JP2022535791A JP7126637B1 JP 7126637 B1 JP7126637 B1 JP 7126637B1 JP 2022535791 A JP2022535791 A JP 2022535791A JP 2022535791 A JP2022535791 A JP 2022535791A JP 7126637 B1 JP7126637 B1 JP 7126637B1
- Authority
- JP
- Japan
- Prior art keywords
- source code
- function
- function block
- instance
- program
- 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
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/40—Transformation of program code
- G06F8/51—Source to source
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Abstract
Description
本実施の形態に係るプログラミング支援装置10は、ソースコードを編集するためのエンジニアリングツールとして機能するソフトウェアを実行可能な産業用PC(Personal Computer)又はネットワーク上のサーバ装置である。プログラミング支援装置10は、図1に示されるように、記憶装置200に格納されるプロジェクトデータ20のうちの第1ソースコード21を読み出し、読み出した第1ソースコード21に基づいて第2ソースコード22を生成して、生成した第2ソースコード22をプロジェクトデータ20内に書き込む。
を有する。
続いて、実施の形態2について、上述の実施の形態1との相違点を中心に説明する。なお、上記実施の形態1と同一又は同等の構成については、同等の符号を用いるとともに、その説明を省略又は簡略する。本実施の形態は、FBを定義する記述の置換に代えて、FBに基づいて宣言されたインスタンスに関する記述を置換する点で、上記実施の形態1とは異なる。
を有する。
の記述を含む。変数411~413は、「Aユニット」に関する変数であって、変数414~416は、「Bユニット」に関する変数である。
を有する。
続いて、実施の形態3について、上述の実施の形態1,2との相違点を中心に説明する。なお、上記実施の形態1,2と同一又は同等の構成については、同等の符号を用いるとともに、その説明を省略又は簡略する。本実施の形態は、実施の形態1,2を組み合わせた上で、置換対象を選択するためのユーザ操作を省いて、プログラミング支援装置10が第1ソースコード41から第2ソースコード42を生成する点で、上記実施の形態1とは異なる。
Claims (13)
- プログラマブルコントローラを動作させるための動作プログラムの作成を支援するコンピュータを、
前記動作プログラムの第1ソースコードを取得する取得手段、
サブルーチンであるファンクションブロックの機能が、当該ファンクションブロックに含まれる一又は複数のメソッドとは異なる形式にて前記第1ソースコードにおいて記述された第1ファンクションブロックを、前記機能が前記メソッドとして記述される第2ファンクションブロックに置換することで、前記動作プログラムの第2ソースコードを生成する生成手段、
前記第1ソースコードを構成するファンクションブロックから前記第1ファンクションブロックの選択を受け付ける受付手段、
として機能させ、
前記生成手段は、前記第1ソースコードから選択された複数の前記第1ファンクションブロックを、前記第1ファンクションブロックそれぞれに対応するメソッドを複数含む一の前記第2ファンクションブロックに置換することで、前記第2ソースコードを生成する、
プログラミング支援プログラム。 - 前記生成手段は、複数の前記第1ファンクションブロックを、前記第1ファンクションブロックにそれぞれ含まれる異なる変数に対応する共通化変数を含む前記第2ファンクションブロックに置換する、
請求項1に記載のプログラミング支援プログラム。 - プログラマブルコントローラを動作させるための動作プログラムの作成を支援するコンピュータを、
前記動作プログラムの第1ソースコードを取得する取得手段、
前記第1ソースコードのうちの、サブルーチンであるファンクションブロックの機能が、当該ファンクションブロックに含まれる一又は複数のメソッドとは異なる形式にて前記第1ソースコードにおいて記述された第1ファンクションブロックに基づいて宣言された第1インスタンスに関する記述を、前記機能が前記メソッドとして記述される第2ファンクションブロックに基づいて宣言される第2インスタンスに関する記述に置換することで、前記動作プログラムの第2ソースコードを生成する生成手段、
として機能させるためのプログラミング支援プログラム。 - 前記コンピュータを、前記第1インスタンスの選択を受け付ける受付手段、としてさらに機能させ、
前記取得手段は、前記第1ファンクションブロックの機能と、該機能をメソッドとして含む前記第2ファンクションブロックと、が関連付けられた関連情報を取得し、
前記受付手段は、前記第1ソースコードに記述された前記第2インスタンスの指定を受け付けて、指定された前記第2インスタンスのメソッドと前記関連情報において関連付けられた機能を有する前記第1ファンクションブロックの前記第1インスタンスの選択を受け付け、
前記生成手段は、選択された前記第1インスタンスに関する記述を、前記第2インスタンスに関する記述に置換する、
請求項3に記載のプログラミング支援プログラム。 - 前記生成手段は、前記第1ソースコードにおける前記第1ファンクションブロックの機能を呼び出すための記述を、前記第2ファンクションブロックのメソッドを呼び出すための記述に置換する、
請求項4に記載のプログラミング支援プログラム。 - 前記生成手段は、前記第1ソースコードにおける前記第1ファンクションブロックの機能を呼び出すための記述が、前記第2ファンクションブロックのメソッドを呼び出すための記述に置換された置換コードに従う前記プログラマブルコントローラの動作が、前記第1ソースコードに従う前記プログラマブルコントローラの動作と異なる場合に、置換により動作が変化する旨を報知する、
請求項5に記載のプログラミング支援プログラム。 - 前記生成手段は、前記第1ソースコードにおける前記第1ファンクションブロックに含まれる変数の記述を、前記第2ファンクションブロックに含まれる変数の記述に置換する、
請求項4から6のいずれか一項に記載のプログラミング支援プログラム。 - 前記関連情報は、前記第1ファンクションブロックに含まれる変数と、前記第2ファンクションブロックに含まれる変数と、を関連付ける情報であって、
前記生成手段は、前記第1インスタンスの前記第1ファンクションブロックに含まれる変数が、前記第2ファンクションブロックに含まれるメソッドの変数と前記関連情報において関連付けられる場合に、変数が置換されない旨を報知する、
請求項4から7のいずれか一項に記載のプログラミング支援プログラム。 - 前記取得手段は、前記第1ファンクションブロックの機能と、該機能をメソッドとして含む前記第2ファンクションブロックと、が関連付けられた関連情報を取得し、
前記生成手段は、前記第1ソースコードに記述された複数の前記第1インスタンスをグループに分類し、グループそれぞれに属する前記第1インスタンスに関する記述を、該グループに対応する前記第2インスタンスであって、前記関連情報において前記第1インスタンスの前記第1ファンクションブロックに関連付けられたメソッドを有する前記第2ファンクションブロックの前記第2インスタンスに関する記述に置換することで、前記第2ソースコードを生成する、
請求項3に記載のプログラミング支援プログラム。 - プログラマブルコントローラを動作させるための動作プログラムの作成を支援するプログラミング支援方法であって、
取得手段が、前記動作プログラムの第1ソースコードを取得するステップと、
生成手段が、サブルーチンであるファンクションブロックの機能が、当該ファンクションブロックに含まれる一又は複数のメソッドとは異なる形式にて前記第1ソースコードにおいて記述された第1ファンクションブロックを、前記機能が前記メソッドとして記述される第2ファンクションブロックに置換することで、前記動作プログラムの第2ソースコードを生成するステップと、
受付手段が、前記第1ソースコードを構成するファンクションブロックから前記第1ファンクションブロックの選択を受け付けるステップと、
を含み、
前記生成手段は、前記第1ソースコードから選択された複数の前記第1ファンクションブロックを、前記第1ファンクションブロックそれぞれに対応するメソッドを複数含む一の前記第2ファンクションブロックに置換することで、前記第2ソースコードを生成する、
プログラミング支援方法。 - プログラマブルコントローラを動作させるための動作プログラムの作成を支援するプログラミング支援方法であって、
取得手段が、前記動作プログラムの第1ソースコードを取得するステップと、
生成手段が、前記第1ソースコードのうちの、サブルーチンであるファンクションブロックの機能が、当該ファンクションブロックに含まれる一又は複数のメソッドとは異なる形式にて前記第1ソースコードにおいて記述された第1ファンクションブロックに基づいて宣言された第1インスタンスに関する記述を、前記機能が前記メソッドとして記述される第2ファンクションブロックに基づいて宣言される第2インスタンスに関する記述に置換することで、前記動作プログラムの第2ソースコードを生成するステップと、
を含むプログラミング支援方法。 - プログラマブルコントローラを動作させるための動作プログラムの作成を支援するプログラミング支援装置であって、
前記動作プログラムの第1ソースコードを取得する取得手段と、
サブルーチンであるファンクションブロックの機能が、当該ファンクションブロックに含まれる一又は複数のメソッドとは異なる形式にて前記第1ソースコードにおいて記述された第1ファンクションブロックを、前記機能が前記メソッドとして記述される第2ファンクションブロックに置換することで、前記動作プログラムの第2ソースコードを生成する生成手段と、
前記第1ソースコードを構成するファンクションブロックから前記第1ファンクションブロックの選択を受け付ける受付手段と、
を備え、
前記生成手段は、前記第1ソースコードから選択された複数の前記第1ファンクションブロックを、前記第1ファンクションブロックそれぞれに対応するメソッドを複数含む一の前記第2ファンクションブロックに置換することで、前記第2ソースコードを生成する、
プログラミング支援装置。 - プログラマブルコントローラを動作させるための動作プログラムの作成を支援するプログラミング支援装置であって、
前記動作プログラムの第1ソースコードを取得する取得手段と、
前記第1ソースコードのうちの、サブルーチンであるファンクションブロックの機能が、当該ファンクションブロックに含まれる一又は複数のメソッドとは異なる形式にて前記第1ソースコードにおいて記述された第1ファンクションブロックに基づいて宣言された第1インスタンスに関する記述を、前記機能が前記メソッドとして記述される第2ファンクションブロックに基づいて宣言される第2インスタンスに関する記述に置換することで、前記動作プログラムの第2ソースコードを生成する生成手段と、
を備えるプログラミング支援装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/001083 WO2023135735A1 (ja) | 2022-01-14 | 2022-01-14 | プログラミング支援プログラム、プログラミング支援方法及びプログラミング支援装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP7126637B1 true JP7126637B1 (ja) | 2022-08-26 |
JPWO2023135735A1 JPWO2023135735A1 (ja) | 2023-07-20 |
JPWO2023135735A5 JPWO2023135735A5 (ja) | 2023-12-12 |
Family
ID=83047411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022535791A Active JP7126637B1 (ja) | 2022-01-14 | 2022-01-14 | プログラミング支援プログラム、プログラミング支援方法及びプログラミング支援装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7126637B1 (ja) |
WO (1) | WO2023135735A1 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11237984A (ja) * | 1998-02-19 | 1999-08-31 | Nec Corp | オブジェクト指向プログラム設計支援装置、方法および記録媒体 |
JP2009009462A (ja) * | 2007-06-29 | 2009-01-15 | Fanuc Ltd | シーケンスプログラム編集装置 |
JP2014191738A (ja) * | 2013-03-28 | 2014-10-06 | Value:Kk | ソースプログラムのプログラミング言語変換装置 |
-
2022
- 2022-01-14 WO PCT/JP2022/001083 patent/WO2023135735A1/ja active Application Filing
- 2022-01-14 JP JP2022535791A patent/JP7126637B1/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11237984A (ja) * | 1998-02-19 | 1999-08-31 | Nec Corp | オブジェクト指向プログラム設計支援装置、方法および記録媒体 |
JP2009009462A (ja) * | 2007-06-29 | 2009-01-15 | Fanuc Ltd | シーケンスプログラム編集装置 |
JP2014191738A (ja) * | 2013-03-28 | 2014-10-06 | Value:Kk | ソースプログラムのプログラミング言語変換装置 |
Non-Patent Citations (2)
Title |
---|
宮澤 以鋼 ほか,「PLCプログラミング言語規格の動向と関連ソフトウェア技術の方向性」,電気学会研究会資料,一般社団法人電気学会,2013年03月01日,pp.19-24(CT-13-5) |
宮澤 以鋼 ほか: "「PLCプログラミング言語規格の動向と関連ソフトウェア技術の方向性」", 電気学会研究会資料, JPN6022012386, 1 March 2013 (2013-03-01), pages 19 - 24, ISSN: 0004828446 * |
Also Published As
Publication number | Publication date |
---|---|
JPWO2023135735A1 (ja) | 2023-07-20 |
WO2023135735A1 (ja) | 2023-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7090657B2 (ja) | アプリケーションをアップグレードするための方法、装置、デバイスならびに記憶媒体 | |
US7971201B2 (en) | Multiple operating device version software generating system and multiple operating device version software generation support program and method | |
US7627851B2 (en) | Modification method for modifying a source code | |
US20050144608A1 (en) | Operating system allowing running of real-time application programs, control method therefor, and method of loading dynamic link libraries | |
US20050039193A1 (en) | Method and apparatus for generating device driver and user interface screen | |
JP2010134643A (ja) | テストケースの選択方法及び選択システム | |
CN116755713A (zh) | 应用程序的生成方法、装置、设备及存储介质 | |
US20030074656A1 (en) | Program execution apparatus and method, computer program for performing the program execution method, image forming system, and address solution method | |
CN113254089B (zh) | 系统引导方式修正方法、装置、设备及存储介质 | |
JP7126637B1 (ja) | プログラミング支援プログラム、プログラミング支援方法及びプログラミング支援装置 | |
CN110806891B (zh) | 嵌入式设备软件版本的生成方法及装置 | |
CN112685040A (zh) | 安卓系统中界面文件的生成方法、装置、设备及存储介质 | |
JP4328328B2 (ja) | ソフトウエア開発ツールプログラム | |
JP5720531B2 (ja) | ヘルプ作成支援装置、ヘルプ作成支援プログラムおよびヘルプ作成支援方法 | |
CN114356783A (zh) | 单元测试代码自动生成方法、装置、存储介质及设备 | |
JP7318704B2 (ja) | テスト装置、テスト方法及びプログラム | |
JP2016146022A (ja) | モデルベース開発支援装置、モデルベース開発支援方法、およびモデルベース開発支援プログラム | |
JP2017054217A (ja) | テスト支援装置、テスト支援方法およびテスト支援プログラム | |
JP2005025543A (ja) | 整合性チェックシステム及び整合性チェック方法及び整合性チェックプログラム及び管理情報作成システム | |
JP2019046001A (ja) | アプリケーション移植支援装置、アプリケーション移植支援プログラムおよびアプリケーション移植方法 | |
JP7403732B1 (ja) | 翻訳プログラム、翻訳装置及び翻訳方法 | |
CN114866451B (zh) | iOS端路由通信改进方法、装置、存储介质和设备 | |
CN113286090B (zh) | 摄像头多驱动动态配置方法、加载方法及相关装置 | |
US20230280994A1 (en) | Information processing device and installation support method | |
JP3996114B2 (ja) | プログラムの配置方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220610 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220610 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20220610 |
|
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: 20220719 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220816 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7126637 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |