JP5785130B2 - プログラム生成装置 - Google Patents
プログラム生成装置 Download PDFInfo
- Publication number
- JP5785130B2 JP5785130B2 JP2012095647A JP2012095647A JP5785130B2 JP 5785130 B2 JP5785130 B2 JP 5785130B2 JP 2012095647 A JP2012095647 A JP 2012095647A JP 2012095647 A JP2012095647 A JP 2012095647A JP 5785130 B2 JP5785130 B2 JP 5785130B2
- Authority
- JP
- Japan
- Prior art keywords
- template
- program
- list
- parts list
- hierarchical structure
- 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
- 230000010076 replication Effects 0.000 claims description 55
- 238000003780 insertion Methods 0.000 claims description 5
- 230000037431 insertion Effects 0.000 claims description 5
- 230000008602 contraction Effects 0.000 claims description 2
- 230000004044 response Effects 0.000 claims description 2
- 230000003247 decreasing effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 35
- 238000000034 method Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 238000005259 measurement Methods 0.000 description 10
- 238000012544 monitoring process Methods 0.000 description 10
- 230000014509 gene expression Effects 0.000 description 5
- 210000000707 wrist Anatomy 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Stored Programmes (AREA)
- Programmable Controllers (AREA)
Description
図1は、この発明の実施の形態1によるプログラム生成装置の構成図である。
図1に示すプログラム生成装置は、テンプレート1、部品リスト2、プログラム生成部3を備えている。テンプレート1は、プログラムの部分記述と、階層構造における子テンプレートの挿入位置を示す記述とからなり、また、プログラムの部分記述として、階層構造中の相対位置で対象を指定するためのパラメタを含むものである。部品リスト2は、プログラムを構成する部品の階層構造を示すものである。プログラム生成部3は、部品リスト2とテンプレート1とを入力とし、テンプレート1のパラメタの対象指定を、そのパラメタが記述されたテンプレート1の階層構造中の位置と、部品リスト2の階層構造中で同じ位置にある部品リスト2を起点とした相対位置で解釈した対象の部品で置換することによりプログラム4を生成するものである。また、この構成は本発明の最小構成であるが、さらに、各種の機能部を備えてもよい。
図示のプログラム生成装置は、テンプレート1を保持するテンプレート保持部5と、部品リスト2を保持する部品リスト保持部6を備えると共に、図1と同様のプログラム生成部3と、テンプレート編集部7、テンプレート表示部8、部品リスト編集部9、部品リスト表示部10、自動生成部11、プログラム編集部12、プログラム表示部13を備えている。
以上、実施の形態1では、図2に示した各機能部を任意の組み合わせで構成することができる。
部品リスト2は部品具体値または部品リストを要素とするリストである。図6に部品リスト2の例を示す。部品リスト2は階層構造を取る。図6の(a)が1階層の例であり、(b)が2階層の例である。部品リストBが部品リストAの要素である時、BはAの子部品リストであり、AはBの親部品リストである。図6の(b)では、601は602の親部品リストであり、602は601の子部品リストである。ユーザがテンプレート1に対し、テンプレート1が必要とする構造の部品リスト2を定義することによりプログラム生成部3はプログラム4を生成する。
テンプレート1はプログラム内容の記述を含む。ラダー言語のテンプレート1の最も単純なものはラダー言語そのものであり、例えば、図5に示した階層構造がテンプレート1の例となる。
プログラム内容の記述にはテンプレート1を含むことができる。含まれるテンプレート1を子テンプレートと呼ぶ。子テンプレートにとって自分を含むテンプレート1は親テンプレートである。図5では、502は501の子テンプレートであり、501は502の親テンプレートである。図7は、テンプレートの例であり、図7(a)が2階層のテンプレート、図7(b)が1階層のテンプレートを示している。
即ち、先ず、現在位置をテンプレート1のトップに設定し(ステップST1)、その後、パラメタ展開など現在位置のテンプレート1の処理を行う(ステップST2)。次に、現在位置のテンプレート1に子があるかを判定し(ステップST3)、子があった場合は最初の子テンプレートに現在位置を移動して(ステップST4)、ステップST2に戻る。一方、ステップST3において、子がなかった場合は、現在位置のテンプレートに次の兄弟があるかを判定し(ステップST5)、兄弟があった場合は、次の兄弟テンプレートに現在位置を移動して(ステップST6)、ステップST2に戻り、なかった場合は親テンプレートがあるかを判定する(ステップST7)。ステップST7において親テンプレートがあった場合は、親テンプレートに現在位置を移動して(ステップST8)、ステップST2に戻り、親テンプレートが無かった場合は終了となる。
テンプレート1が複製指定を持つ場合、プログラム生成部3はテンプレート1を複製する。複製指定は部品リスト2中の要素を複製対象親として指定する。図17の(a)において、テンプレート1701は複製指定1702を持つため、プログラム生成部3は、1701を複製する。複製対象親の指定はパラメタの参照指定と同様に、部品リスト2中の同じ位置を起点として親やある順番の子を指定できる。1702では「$$*」となっており、すぐ上の親、即ち、1703を親として指定している。1703は2つの子を持っているため、1701は2つ複製される。この時、複製された2つのテンプレートでは対応する1703の子が参照指定の起点となる。図17の(b)にこの様子を示す。1701から複製された0番目の子である1705には1703の0番目の子である1704が起点となり、その0番目の子1706の参照の起点は1707である。1706の参照は「$.」つまり同じ位置なので、1706のパラメタはX0で置き換えられる。
テンプレート1は複数の複製指定を持つことができる。プログラム生成部3は、複製指定ごとにテンプレート1を複製する。図18の(a)のテンプレート1は1801と1802の2ヶ所に複製指定を持つ。1801の複製指定は1つ上の親を複製対象親に指定しており、1802の複製指定は2つ上の親を複製対象親に指定しているので、どちらも同じ親1803を指定している。1803は2つの子を持っているので複製の都度2つの子ができ、合計4つに展開され、その都度、1803の対応する子が参照の起点となる(図18の(b)→(c))。結果として図18の(d)に示すプログラム4が生成される。このプログラム4をラダー図で表すと図19に示す回路となる。
実施の形態1におけるこのような構成により、テンプレート1のみならず、同じ構造を要求するテンプレート1に対して部品リスト2も再利用可能であることが示される。
テンプレート編集画面は、テンプレート名入力領域、プログラム編集領域、プログラム要素アイコン表示領域からなる。図34にその一例を示す。
テンプレート名入力領域では作成したテンプレートに名前をつけることができ、プログラム編集部12などでテンプレート保持部5に保存したテンプレート1をテンプレート名を用いて呼び出すことができる。
テンプレート編集領域ではテンプレート1の階層構造を表示している。ノードはテンプレートを表しており、選択することができる。選択したノードに対して、ノードごとに規定された編集が可能である。例えば、接点なら対象指定の編集が可能である。図34では「$$$0」「$$1」などの部分である。
テンプレート1から部品リスト構造を自動生成部11で自動生成した場合は、ノード構造を編集する上記ボタン群を使用できないようにし、ノードへの具体値入力のみ可能にしてもよい。
部品リスト編集部9は、編集中の、あるいは部品リスト保持部6の保持する部品リスト2を表示する部品リスト表示部10を合わせ持っても良い。図35の例では部品リスト編集領域が部品リスト表示部10となっており、編集中の部品リスト2を表示している。
図36にXMLで記述した図6の(b)の部品リスト2を示す。また、図37にS式で記述した図6の(b)の部品リスト2を示す。
テンプレート1中の各パラメタを具体化するためには部品リスト2がその全ての参照先に部品を配置することが必要であるが、自動生成部11がテンプレート1中の参照指定を解析することにより、これに十分な構造の部品リスト2を生成することが可能である。
よって、仕様記述に合致するプログラムを作成するための、プログラム部品の選定およびそれらの組み合わせに関する設計の労力を軽減し、仕様に記述された機能を過不足なく備えるプログラムの作成の量力を大幅に軽減できる。
トップレベルのテンプレートの直下の要素が複製指定を持つ場合、この要素以下から参照される部品リストを1次元にまとめて横方向に並べ、縦方向にこの1次元部品リストを並べると、部品リストが表形式になる。これにより、高度な編集機能を持った表計算ソフトで部品リスト2を作成し、コピーと貼り付けによりプログラム4を生成することができる。また、表形式インタフェースは部品リスト2を縦方向を伸縮させる要素を持ち、これにより複製数を変化させることができる。この際、数字の連続値補完などにより、定型的な入力を簡易化することが考えられる。例えばインターロック回路の場合、スイッチがX0から連続アドレスであり、コイルがY0から連続アドレスであれば、インターロック回路の数が増えた場合にも表形式部品リストを縦に伸縮させるだけで必要な数のインターロック回路が生成できる。スイッチ・コイルの名称に数字の入ったラベル名を用いれば、より一般的にこの手法が利用可能である。実施の形態2では、以上のような機能を部品リスト編集部9で実現している。なお、図面上の構成は実施の形態1における図2の構成と同様であるため、図2を用いて説明する。
Claims (6)
- プログラムを構成する部品の階層構造を示す部品リストと、
前記プログラムの部分記述と、階層構造における子テンプレートの挿入位置を示す記述とからなり、前記プログラムの部分記述として、階層構造中の相対位置で対象を指定するためのパラメタを含むテンプレートとを設けると共に、
前記部品リストと前記テンプレートとを入力とし、前記テンプレートのパラメタの対象指定を、当該パラメタが記述されたテンプレートの階層構造中の位置と、前記部品リストの階層構造中で同じ位置にある要素を起点とした相対位置で解釈した対象の部品で置換することによりプログラムを生成するプログラム生成部を備えたことを特徴とするプログラム生成装置。 - テンプレートは、階層構造中の相対位置で複製対象親を指定するための複製指定を有し、
プログラム生成部は、前記複製指定に基づき、部品リストの階層構造中で同じ位置にある要素を起点とした相対位置で解釈した前記複製対象親の子それぞれに対するテンプレートを複製し、当該複製したテンプレート中のパラメタの対象指定を、前記複製に用いた前記複製対象親の子を起点とした相対位置で解釈した対象部品で置換することによりプログラムを生成することを特徴とする請求項1記載のプログラム生成装置。 - 複製指定は、複製毎に複製を行うか否かの複製制約を有し、プログラム生成部は、当該複製制約を満たす場合のみテンプレートの複製を行うことを特徴とする請求項2記載のプログラム生成装置。
- 複製制約は、異なる階層間の複製指定に基づいて複製された各々のテンプレートが何番目の子に対するものであるかの関係を規定することを特徴とする請求項3記載のプログラム生成装置。
- 全てのパラメタの対象指定となる位置全てを含む部品リストの階層構造を生成する自動生成部を備えたことを特徴とする請求項1から請求項4のうちのいずれか1項記載のプログラム生成装置。
- 特定の要素が複製指定を持つテンプレートに対して、前記特定の要素以下から参照される部品リストを1次元に横方向に並べ、かつ、当該1次元部品リストを縦方向に並べて表形式の部品リストを設けると共に、
前記縦方向への伸縮指示を受けた場合、当該伸縮に応じて所定の数値の補完を行い前記部品リストを増減させる部品リスト編集部を備えたことを特徴とする請求項1から請求項5のうちのいずれか1項記載のプログラム生成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012095647A JP5785130B2 (ja) | 2012-04-19 | 2012-04-19 | プログラム生成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012095647A JP5785130B2 (ja) | 2012-04-19 | 2012-04-19 | プログラム生成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013222439A JP2013222439A (ja) | 2013-10-28 |
JP5785130B2 true JP5785130B2 (ja) | 2015-09-24 |
Family
ID=49593323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012095647A Active JP5785130B2 (ja) | 2012-04-19 | 2012-04-19 | プログラム生成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5785130B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11726453B2 (en) | 2020-12-25 | 2023-08-15 | Kabushiki Kaisha Yaskawa Denki | Program creation device, program creation method, and program |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016181526A1 (ja) * | 2015-05-13 | 2016-11-17 | 三菱電機株式会社 | 制御ロジック図解析装置および制御ロジック図解析方法 |
JP6689362B2 (ja) * | 2016-03-18 | 2020-04-28 | 三菱電機株式会社 | 制御ロジック図作成支援装置 |
JP6632692B1 (ja) * | 2018-11-19 | 2020-01-22 | 日鉄テックスエンジ株式会社 | 制御プログラム作成支援ツール及び制御プログラムの作成方法 |
JP7285283B2 (ja) | 2021-06-11 | 2023-06-01 | 株式会社日立製作所 | 分散トランザクション管理方法、及びシステム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05189012A (ja) * | 1992-01-10 | 1993-07-30 | Yaskawa Electric Corp | プログラマブルコントローラのプログラミング装置 |
US8843885B2 (en) * | 2009-12-28 | 2014-09-23 | Mitsubishi Electric Corporation | Program creation support device |
-
2012
- 2012-04-19 JP JP2012095647A patent/JP5785130B2/ja active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11726453B2 (en) | 2020-12-25 | 2023-08-15 | Kabushiki Kaisha Yaskawa Denki | Program creation device, program creation method, and program |
Also Published As
Publication number | Publication date |
---|---|
JP2013222439A (ja) | 2013-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3798817B1 (en) | User interface logical and execution view navigation and shifting | |
TWI464558B (zh) | 程式作成支援裝置 | |
JP5785130B2 (ja) | プログラム生成装置 | |
EP3798757B1 (en) | System and method for developing industrial applications | |
WO2014064819A1 (ja) | システム構築支援ツール及びシステム | |
CN107766045A (zh) | 为机器视觉***提供可视化程序的装置、***和方法 | |
JP5921765B2 (ja) | プログラムグラフ表示装置、プログラムグラフ表示方法およびプログラムグラフ表示プログラム | |
IL239575A (en) | Automatic control of production facilities | |
JP5498446B2 (ja) | ラダープログラム作成装置およびラダープログラム作成方法 | |
EP3798759A1 (en) | Preferential automation view curation | |
Falkman et al. | Automatic generation: A way of ensuring PLC and HMI standards | |
JP2008140303A (ja) | Cad装置およびcadプログラム | |
JP2008140302A (ja) | Cad装置およびcadプログラム | |
Cao et al. | Automating Feature-Oriented Domain Analysis. | |
JP5425317B2 (ja) | モーションsfcプログラム部品作成装置 | |
WO2020195195A1 (ja) | 開発支援装置、開発支援装置の制御方法、情報処理プログラム、および記録媒体 | |
US20240192655A1 (en) | Development assistance device, control method for development assistance device, and non-transitory computer readable medium | |
JP5483011B2 (ja) | Plcのプログラム開発支援装置及びコンピュータを当該装置として機能させるためのコンピュータプログラム | |
JP2007193425A (ja) | 画面データ作成装置、画面データの編集方法及び画面データ編集プログラム | |
JP4848772B2 (ja) | プログラム生成装置およびプログラム生成プログラム | |
Bee | PLC and HMI Development with Siemens TIA Portal: Develop PLC and HMI programs using standard methods and structured approaches with TIA Portal V17 | |
JP7380376B2 (ja) | 情報処理装置およびラダープログラムを表示するためのプログラム | |
JP6566151B2 (ja) | システム設計支援装置およびシステム設計支援方法 | |
KR102509859B1 (ko) | Plc 래더정보로부터 공용 명령어정보를 추출하는 장치 및 방법 | |
JP2008140301A (ja) | Cad装置およびcadプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141010 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150619 |
|
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: 20150623 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150723 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5785130 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |